:root{--bg:#0f1418;--bg-elevated:#161d24;--bg-card:#1b232b;--border:#2a343d;--text:#e6edf3;--text-muted:#8b98a5;--accent:#4fb3ff;--accent-strong:#2f8fe0;--success:#3fbf7f;--danger:#e0554f;--radius:8px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.app-shell{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);z-index:40;align-items:center;gap:24px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-menu-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:40px;height:40px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0;display:none}.brand{color:var(--text);white-space:nowrap;font-size:1rem;font-weight:700}.brand:hover{color:var(--accent);text-decoration:none}.topbar-nav{flex:1;gap:16px;display:flex}.topbar-current-subject{max-width:300px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.topbar-nav a{color:var(--text-muted)}.topbar-nav a:hover{color:var(--text);text-decoration:none}.topbar-actions{align-items:center;gap:12px;display:flex}.username{color:var(--text-muted);font-size:1rem}.app-workspace{flex:1;min-width:0;display:flex}.learning-sidebar{overscroll-behavior:contain;border-right:1px solid var(--border);background:#11181f;flex:0 0 320px;width:320px;height:calc(100vh - 56px);position:sticky;top:56px;overflow-y:auto}.learning-sidebar-header{z-index:2;border-bottom:1px solid var(--border);background:#11181f;justify-content:space-between;align-items:center;min-height:58px;padding:12px 14px;display:flex;position:sticky;top:0}.learning-sidebar-header>div{align-items:center;gap:10px;display:flex}.learning-sidebar-header strong{font-size:1.05rem}.learning-sidebar-close{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:40px;height:40px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0;display:none}.learning-tree{padding:10px}.learning-group+.learning-group{margin-top:8px}.learning-group-button,.learning-subject-button,.learning-course-button,.learning-lesson-button{width:100%;color:var(--text);text-align:left;cursor:pointer;border:0;font-size:1rem}.learning-group-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:54px;padding:8px 10px;display:grid}.learning-group-button:hover,.learning-group-button:focus-visible{border-color:var(--accent-strong);background:#2f8fe01a}.learning-group-button>span{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.learning-group-button small{color:var(--text-muted);font-size:1rem;font-weight:400}.learning-subjects{border-left:1px solid var(--border);margin-left:12px;padding:6px 0 2px 12px}.learning-subject-switcher{z-index:1;background:#11181f;border-bottom:1px solid #33414e;padding:2px 0 6px;position:sticky;top:58px}.learning-subject-button{border-radius:var(--radius);background:0 0;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:8px;padding:9px 10px;line-height:1.4;display:grid}.learning-subject-button:hover,.learning-subject-button-active{color:var(--accent);background:#2f8fe01f}.learning-subject-button span,.learning-course-button span,.learning-lesson-button span{overflow-wrap:anywhere;min-width:0}.learning-curriculum{border-left:1px solid #33414e;margin:8px 0 10px 8px;padding-left:10px}.learning-track>h2{color:var(--text-muted);margin:14px 8px 5px;font-size:1rem;font-weight:600}.learning-course-button{background:0 0;border-radius:6px;grid-template-columns:16px minmax(0,1fr) 16px;align-items:start;gap:6px;padding:8px;line-height:1.4;display:grid}.learning-course-button:hover,.learning-course-button-active{background:var(--bg-card);color:var(--accent)}.learning-modules{border-left:1px solid var(--border);margin:1px 0 8px 15px;padding-left:8px}.learning-modules h3{color:var(--text-muted);margin:9px 7px 4px;font-size:1rem;font-weight:500}.learning-lesson-button{background:0 0;border-radius:6px;grid-template-columns:14px minmax(0,1fr);align-items:start;gap:7px;padding:7px;line-height:1.4;display:grid}.learning-lesson-button:hover,.learning-lesson-button-active{color:#fff;background:#4fb3ff1c}.learning-lesson-button-active{box-shadow:inset 3px 0 var(--accent)}.learning-tree-status,.learning-tree-error{color:var(--text-muted);margin:8px;font-size:1rem}.learning-tree-error{color:var(--danger)}.learning-sidebar-backdrop{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.version-banner{border:1px solid var(--accent-strong);border-radius:var(--radius);color:var(--text);background:#2f8fe01a;border-left-width:4px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;font-size:1rem;display:flex}.version-banner strong{color:var(--accent)}.version-banner-link{white-space:nowrap;color:var(--accent);font-weight:600;text-decoration:none}.version-banner-link:hover{text-decoration:underline}.subjects-page{flex-direction:column;gap:24px;display:flex}.subjects-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.subjects-heading h1,.subject-group-header h2,.subjects-empty h2{margin:0}.subjects-eyebrow{color:var(--accent);letter-spacing:.08em;margin:0 0 6px;font-size:1rem;font-weight:700}.subjects-count{color:var(--text-muted);white-space:nowrap;margin:0;font-size:1rem}.subjects-page>.lead{max-width:760px;color:var(--text-muted);margin:-8px 0 0;font-size:1rem}.subjects-toolbar{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);gap:14px;padding:18px;display:grid}.subjects-search{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;font-size:1rem;font-weight:600;display:grid}.subjects-search input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);font:inherit;padding:11px 13px;font-size:1rem}.subjects-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.subjects-filters{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.subjects-filter{border:1px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:8px 13px;font-size:1rem}.subjects-filter:hover,.subjects-filter-active{border-color:var(--accent);color:var(--text)}.subjects-filter-active{background:#2f8fe029}.subject-groups{gap:32px;display:grid}.subject-group{gap:14px;display:grid}.subject-group-header{gap:4px;display:grid}.subject-group-header p,.subjects-empty p{color:var(--text-muted);margin:0;font-size:1rem}.subjects-grid{gap:10px;display:grid}.subject-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);grid-template-columns:minmax(0,1fr) minmax(210px,.45fr) auto;align-items:center;gap:18px;min-width:0;padding:18px 20px;display:grid}.subject-card.subject-card-current{border-color:var(--accent-strong);box-shadow:0 0 0 1px var(--accent-strong)}.subject-card-title{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-size:1.125rem;line-height:1.35;display:flex}.subject-card-desc{-webkit-line-clamp:2;color:var(--text-muted);-webkit-box-orient:vertical;margin:0;font-size:1rem;display:-webkit-box;overflow:hidden}.subject-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:1rem;display:flex}.subject-card-progress .progress-bar{margin:8px 0 0}.subject-card>.btn{min-width:112px;font-size:1rem}.subjects-empty{border:1px dashed var(--border);border-radius:var(--radius);justify-items:start;gap:10px;padding:28px;display:grid}.app-main{flex:1;width:100%;min-width:0;max-width:960px;margin:0 auto;padding:32px 24px 64px}.app-main-wide{max-width:none}.app-loading{text-align:center;color:var(--text-muted);padding:48px}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:8px 16px;font-size:.9rem;transition:background-color .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent-strong);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent)}.btn-secondary{border-color:var(--border);color:var(--text);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--accent)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text)}.field{flex-direction:column;gap:6px;margin-bottom:16px;font-size:.9rem;display:flex}.field input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:10px 12px;font-size:.95rem}.field input:focus{border-color:var(--accent);outline:none}.form-error{color:var(--danger);font-size:.85rem}.form-success{color:var(--success);font-size:1rem}.auth-page{justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:360px;padding:32px}.auth-title{margin:0 0 4px;font-size:1.3rem}.auth-subtitle{color:var(--text-muted);margin:0 0 24px;font-size:.85rem}.auth-card .btn{width:100%}.auth-footnote{text-align:center;color:var(--text-muted);margin:16px 0 0;font-size:.85rem}.badge{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;padding:2px 8px;font-size:.75rem;display:inline-flex}.badge-success{border-color:var(--success);color:var(--success)}.progress-bar{align-items:center;gap:10px;margin:10px 0;display:flex}.progress-bar-track{background:var(--border);border-radius:999px;flex:1;height:6px;overflow:hidden}.progress-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.progress-bar-label{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.home-page h1{margin-top:0}.home-page .lead{color:var(--text-muted);max-width:640px;margin-bottom:24px}.home-continue{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:24px;padding:16px 20px;display:flex}.home-continue-label{color:var(--text-muted);margin:0;font-size:.85rem}.home-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;max-width:640px;margin-bottom:28px;display:grid}.home-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:16px;display:flex}.home-tile-value{font-size:1.6rem;font-weight:700}.home-tile-label{color:var(--text-muted);font-size:.8rem}.home-links{gap:12px;display:flex}.me-page h1{margin-top:0}.me-page h2{margin-top:32px;font-size:1.1rem}.me-empty{color:var(--text-muted)}.me-enrollment-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.me-enrollment-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:16px;display:flex}.me-enrollment-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.me-enrollment-head h3{margin:0;font-size:1rem}.me-enrollment-version{color:var(--text-muted);margin:0;font-size:.8rem}.me-enrollment-stats{gap:24px;margin:4px 0 0;display:flex}.me-enrollment-stats dt{color:var(--text-muted);font-size:.75rem}.me-enrollment-stats dd{margin:0;font-weight:600}.me-attempts-table{border-collapse:collapse;width:100%;margin-top:12px}.me-attempts-table th,.me-attempts-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px;font-size:.85rem}.me-attempts-table th{color:var(--text-muted);font-weight:500}.me-result-passed{color:var(--success)}.me-result-failed{color:var(--danger)}.catalog-page h1{margin-top:0;margin-bottom:20px}.catalog-tool-entry{border:1px solid var(--accent-strong);border-radius:var(--radius);background:#2f8fe01a;justify-content:space-between;align-items:center;gap:24px;margin:0 0 20px;padding:20px;display:flex}.catalog-tool-entry h2{margin:3px 0 6px;font-size:1.2rem}.catalog-tool-entry p{color:var(--text-muted);margin:0}.catalog-tool-link{flex:none;text-decoration:none}.track-accordion{border:1px solid var(--border);border-radius:var(--radius);min-width:0;margin-bottom:12px;overflow:hidden}.track-header{background:var(--bg-elevated);width:100%;color:var(--text);cursor:pointer;text-align:left;border:none;align-items:center;gap:12px;padding:14px 16px;font-size:1rem;display:flex}.track-title{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600}.chevron{color:var(--text-muted)}.track-body{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:12px;padding:16px;display:grid}.course-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:0;padding:16px;display:flex}.course-card-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.course-card-head h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1rem;line-height:1.4}.course-desc{min-width:0;color:var(--text-muted);overflow-wrap:anywhere;word-break:normal;margin:0;font-size:.85rem;line-height:1.6}.course-meta{min-width:0;color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}.course-not-enrolled{color:var(--text-muted);margin:4px 0;font-size:.8rem}.course-actions{margin-top:4px}.resource-page-header{margin-bottom:20px}.resource-page-header h1{margin:2px 0 8px}.resource-page-header>p:last-child{max-width:760px;color:var(--text-muted)}.resource-eyebrow,.practice-number{color:var(--accent);letter-spacing:.08em;font-size:.75rem;font-weight:700}.practice-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px;display:grid}.practice-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);flex-direction:column;gap:9px;min-width:0;padding:18px;display:flex}.practice-card h2{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.practice-card>p{color:var(--text-muted);overflow-wrap:anywhere;flex:1;margin:0}.practice-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px 14px;font-size:.82rem;display:flex}.practice-card .btn{align-self:flex-start}.resource-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.resource-tabs button{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-muted);cursor:pointer;padding:8px 13px}.resource-tabs button[aria-selected=true]{border-color:var(--accent-strong);color:var(--text);background:#2f8fe024}.resource-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px;display:grid}.resource-card,.command-resource-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow-wrap:anywhere;min-width:0;padding:16px}.resource-card>span,.command-resource-card>div{color:var(--accent);font-size:.75rem;font-weight:600}.resource-card h2{margin:5px 0 8px;font-size:1rem}.resource-card p{color:var(--text-muted)}.resource-list{margin-top:10px}.resource-list>strong{font-size:.83rem}.resource-list ul{color:var(--text-muted);margin:4px 0 0;padding-left:20px;font-size:.85rem}.resource-search{max-width:520px;color:var(--text-muted);gap:6px;margin-bottom:16px;font-size:.85rem;display:grid}.resource-search input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);min-width:0;color:var(--text);padding:10px 12px}.command-resource-list{flex-direction:column;gap:10px;display:flex}.command-resource-card>div{flex-wrap:wrap;gap:12px;display:flex}.command-resource-card code{color:#ffd1b5;white-space:pre-wrap;overflow-wrap:anywhere;background:#0a0e12;border-radius:4px;margin:8px 0;padding:9px 11px;display:block}.command-resource-card>p{color:var(--text-muted)}.source-resource-list{flex-direction:column;gap:8px;display:flex}.source-resource-list a{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow-wrap:anywhere;justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.source-resource-list span{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.connection-designer-layout{grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);align-items:start;gap:18px;display:grid}.connection-designer-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);grid-template-columns:1fr 1fr;gap:13px;min-width:0;padding:18px;display:grid}.connection-designer-form label{min-width:0;color:var(--text-muted);gap:6px;font-size:.8rem;font-weight:600;display:grid}.connection-designer-form select,.connection-designer-form input[type=range]{width:100%;min-width:0}.connection-designer-form select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:9px}.connection-designer-form .designer-check{flex-direction:row;align-items:center;display:flex}.connection-design-result{border:1px solid var(--accent-strong);border-radius:var(--radius);overflow-wrap:anywhere;background:#2f8fe01a;min-width:0;padding:20px}.connection-design-result.unsupported{border-color:var(--danger);background:#e0554f1a}.connection-design-result h2{margin:4px 0}.connection-design-result h3{margin:16px 0 4px;font-size:.9rem}.connection-design-result ul{color:var(--text-muted);margin:0;padding-left:20px}.course-header{margin-bottom:32px}.course-header h1{margin-top:0;margin-bottom:4px}.course-modules{flex-direction:column;gap:24px;margin-bottom:32px;display:flex}.module-block h2{color:var(--text-muted);margin-bottom:8px;font-size:1rem}.lesson-list,.lab-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lesson-list li a,.lab-list li a{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);align-items:center;gap:8px;padding:10px 12px;display:flex}.lesson-list li a:hover,.lab-list li a:hover{border-color:var(--accent);text-decoration:none}.lesson-state{font-size:.9rem}.course-labs{margin-bottom:32px}.course-labs h2{color:var(--text-muted);margin-bottom:8px;font-size:1rem}.course-final{align-items:center;gap:12px;display:flex}.lesson-page h1{margin-top:0}.lesson-objectives{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:16px 20px}.lesson-objectives h2{color:var(--text-muted);margin:0 0 8px;font-size:.9rem}.lesson-objectives ul{margin:0;padding-left:20px}.markdown-view{line-height:1.7}.markdown-view :is(h1,h2,h3){margin-top:1.6em}.markdown-view code{background:var(--bg-elevated);border-radius:4px;padding:1px 5px;font-size:.9em}.markdown-view pre{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;overflow-x:auto}.markdown-view pre code{background:0 0;padding:0}.markdown-view table{border-collapse:collapse;width:100%}.markdown-view th,.markdown-view td{border:1px solid var(--border);text-align:left;padding:6px 10px}.markdown-figure{margin:20px 0}.markdown-figure img{border:1px solid var(--border);border-radius:var(--radius);background:#f5f7fa;max-width:100%;height:auto;margin:0 auto;padding:16px;display:block}.markdown-video video{border:1px solid var(--border);border-radius:var(--radius);background:#05080a;width:100%;max-width:960px;height:auto;margin:0 auto;display:block}.markdown-figure figcaption{color:var(--text-muted);text-align:center;margin-top:8px;font-size:.85rem;line-height:1.5}.markdown-figure-blocked{border:1px dashed var(--danger);border-radius:var(--radius);color:var(--text-muted);margin:20px 0;padding:10px 14px;font-size:.9rem}.delta-card{background:var(--bg-card);border:1px solid var(--accent-strong);border-radius:var(--radius);margin:16px 0;padding:12px 16px}.delta-card-summary{cursor:pointer;color:var(--accent);font-weight:600}.delta-card-subtitle{color:var(--text-muted);margin:10px 0 4px;font-size:.85rem}.delta-card-body{margin-top:8px}.lesson-complete{margin:24px 0}.lesson-context-line{color:var(--text-muted);margin:0 0 4px;font-size:1rem}.lesson-step-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 28px;display:grid}.lesson-step-link{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);min-width:0;color:var(--text);align-items:center;gap:10px;padding:13px 14px;text-decoration:none;display:flex}.lesson-step-link:hover{border-color:var(--accent-strong);background:#2f8fe01a;text-decoration:none}.lesson-step-link>span{flex-direction:column;flex:1;min-width:0;display:flex}.lesson-step-link small{color:var(--text-muted);font-size:1rem}.lesson-step-link strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.lesson-step-link-next{text-align:right}.lesson-check-quiz{border-top:1px solid var(--border);padding-top:24px}.lesson-check-quiz h2{font-size:1.1rem}.quiz-player{flex-direction:column;gap:20px;display:flex}.quiz-question{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.quiz-question legend{padding:0 4px;font-weight:600}.quiz-hint{color:var(--text-muted);font-size:.85rem;font-weight:400}.quiz-choices{flex-direction:column;gap:6px;margin-top:8px;display:flex}.quiz-choice{border-radius:var(--radius);border:1px solid #0000;align-items:center;gap:8px;padding:8px 10px;display:flex}.quiz-choice-correct{border-color:var(--success);color:var(--success)}.quiz-choice-wrong{border-color:var(--danger);color:var(--danger)}.quiz-explanation{border-radius:var(--radius);background:var(--bg-elevated);margin:10px 0 0;padding:8px 10px;font-size:.85rem}.quiz-explanation.is-correct{color:var(--success)}.quiz-explanation.is-wrong{color:var(--danger)}.quiz-result-banner{align-items:center;gap:16px;display:flex}.quiz-result-passed{color:var(--success);font-weight:600}.quiz-result-failed{color:var(--danger);font-weight:600}.quiz-pass-score{color:var(--text-muted);font-weight:400}.quiz-page-header{margin-bottom:24px}.quiz-page-meta{color:var(--text-muted);font-size:.85rem}.quiz-page-congrats{color:var(--success);margin-bottom:16px;font-weight:600}.lab-page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.lab-page-header h1{margin:0}.lab-story{max-width:780px;color:var(--text-muted);overflow-wrap:anywhere;margin:6px 0 0}.lab-objectives{border:1px solid var(--border);border-left:4px solid var(--accent-strong);border-radius:var(--radius);background:var(--bg-card);margin-bottom:20px;padding:14px 18px}.lab-objectives h2{margin:0 0 8px;font-size:.95rem}.lab-objectives ul{margin:0;padding-left:20px}.lab-page-meta{gap:8px;display:flex}.lab-congrats{color:var(--success);margin-bottom:16px;font-weight:600}.lab-page-body{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.lab-page-vcf .lab-page-body{grid-template-columns:minmax(0,1fr)}.lab-page-vcf .lab-side-panel{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lab-page-vcf .lab-submit-btn,.lab-page-vcf .lab-result-banner,.lab-page-vcf .form-error{grid-column:1/-1}.lab-sim-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.lab-sim-tabs{border-bottom:1px solid var(--border);display:flex}.lab-side-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:20px;padding:16px;display:flex}.lab-side-panel h2{color:var(--text-muted);margin:0 0 8px;font-size:.9rem}.lab-submit-btn{width:100%}.lab-result-banner{border-radius:var(--radius);padding:10px 12px;font-weight:600}.lab-result-passed{color:var(--success);background:#3fbf7f1f}.lab-result-failed{color:var(--danger);background:#e0554f1f}.evidence-lab{color:#dce4f0;background:#0a0e12;min-width:0}.evidence-lab-header{background:#141c28;border-bottom:1px solid #303c50;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.evidence-lab-header>div{flex-direction:column;min-width:0;display:flex}.evidence-lab-header span,.evidence-step-label{color:#9ba9bc;font-size:1rem}.evidence-lab-progress{color:#7ae1ac;border-bottom:1px solid #303c50;justify-content:space-between;gap:12px;padding:9px 16px;display:flex}.evidence-lab-history{min-height:300px;max-height:520px;padding:14px 16px;overflow:auto}.evidence-lab-history>p{color:#9ba9bc}.evidence-entry{min-width:0;margin-bottom:18px}.evidence-command{overflow-wrap:anywhere}.evidence-command span{color:var(--accent)}.evidence-entry pre{color:#e6edf3;white-space:pre-wrap;overflow-wrap:anywhere;background:#101824;border-left:3px solid #44546b;margin:7px 0;padding:10px 12px;overflow-x:auto}.evidence-verdict{color:#ffd1b5;overflow-wrap:anywhere}.evidence-next{background:#101824;border-top:1px solid #303c50;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(240px,.9fr);align-items:center;gap:16px;padding:16px;display:grid}.evidence-next>div{min-width:0}.evidence-next code{color:#ffd1b5;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;display:block}.evidence-next p,.evidence-done p{color:#b7c2d3;overflow-wrap:anywhere;margin:5px 0 0}.evidence-next .evidence-example-note{color:#8fd3ff;font-size:.92rem}.evidence-command-form{gap:8px;min-width:0;display:grid}.evidence-command-form label{color:#dce4f0;font-size:1rem;font-weight:600}.evidence-command-form input{border-radius:var(--radius);color:#e6edf3;width:100%;min-width:0;font:inherit;background:#080c10;border:1px solid #44546b;padding:10px 12px;font-size:1rem}.evidence-command-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.evidence-command-form .form-error{margin:0;font-size:1rem}.evidence-done{background:#3fbf7f1a;border-top:1px solid #303c50;padding:18px}.lab-explanation{color:var(--text);margin-top:6px;font-weight:400}.lab-enrollment-callout{border-radius:var(--radius);background:#2c7ac11f;border:1px solid #46a6ff73;justify-content:space-between;align-items:center;gap:18px;margin:16px 0;padding:16px 18px;display:flex}.lab-enrollment-callout p{color:var(--muted);margin:5px 0 0}.lab-enrollment-callout .btn{flex:none}.lab-hints ol,.lab-diagnosis select{margin:0}.lab-hints ol{margin-bottom:8px;padding:0;list-style:none}.lab-hints li{border-bottom:1px solid var(--border);gap:5px;padding:10px 0;line-height:1.55;display:grid}.lab-hints li strong{color:var(--accent);font-size:.76rem}.lab-reset-btn{width:100%}.lab-diagnosis select{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--text);padding:6px 8px}.goal-checklist ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.goal-item{align-items:flex-start;gap:8px;font-size:.9rem;display:flex}.goal-icon{flex-shrink:0}.goal-item.goal-passed{color:var(--success)}.goal-item.goal-failed{color:var(--danger)}.goal-item.goal-pending{color:var(--text)}.shell-sim{background:#0a0e12;flex-direction:column;height:460px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.85rem;display:flex}.shell-scrollback{flex:1;padding:12px 14px;overflow-y:auto}.shell-hint{color:var(--text-muted);margin:0}.shell-entry{margin-bottom:8px}.shell-prompt{color:var(--accent);margin-right:4px}.shell-line-input{white-space:pre-wrap}.shell-line-output{color:var(--text);white-space:pre-wrap;margin:4px 0 0;font-family:inherit}.shell-input-row{border-top:1px solid var(--border);align-items:center;gap:4px;padding:10px 14px;display:flex}.shell-input{color:var(--text);font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none;flex:1}.vcf-console-shell{--vcf-header:#263f4b;--vcf-header-field:#365666;--vcf-nav:#e7eef2;--vcf-nav-hover:#d7e6ed;--vcf-nav-active:#d1e8f2;--vcf-canvas:#fff;--vcf-panel:#f2f7fa;--vcf-border:#c8d2d8;--vcf-text:#2d414c;--vcf-muted:#617781;--vcf-blue:#007aa5;--vcf-green:#4b8f12;background:var(--vcf-canvas);color:var(--vcf-text);border:1px solid #70828b;font-family:Metropolis,Avenir Next,Arial,sans-serif;container-type:inline-size}.vcf-console-switcher{color:#afbdc5;background:#172229;border-bottom:1px solid #465b66;justify-content:space-between;align-items:center;min-height:38px;padding:0 12px;font-family:Pretendard,Apple SD Gothic Neo,system-ui,sans-serif;font-size:.76rem;display:flex}.vcf-console-switcher>div{align-items:center;gap:5px;display:flex}.vcf-console-switcher button{color:#9dafb8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;min-height:28px;padding:3px 10px;font-size:.76rem}.vcf-console-switcher button:hover,.vcf-console-switcher button:focus-visible{color:#fff;border-color:#57717d}.vcf-console-switcher button.active{color:#fff;background:#203e4c;border-color:#2088af}.vcf-operations-sim{background:var(--vcf-canvas);flex-direction:column;height:650px;display:flex;overflow:hidden}.vcf-ops-header{background:var(--vcf-header);color:#f7fbfd;grid-template-columns:224px minmax(280px,1fr) auto;align-items:center;min-height:48px;display:grid}.vcf-ops-brand{align-items:center;gap:10px;padding:0 14px;font-size:.74rem;line-height:1.15;display:flex}.vcf-ops-logo{color:#fff;letter-spacing:-.04em;background:linear-gradient(160deg,#058aba,#006e9b);border-radius:2px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.71rem;font-weight:700;display:inline-flex}.vcf-ops-search{background:var(--vcf-header-field);color:#bdccd3;align-items:center;gap:9px;min-width:0;min-height:38px;padding:0 14px;font-size:.76rem;display:flex}.vcf-ops-search span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vcf-ops-header-actions{color:#d8e5ea;align-items:center;gap:19px;min-height:48px;padding:0 14px;display:flex}.vcf-operations-body{flex:1;grid-template-columns:224px minmax(0,1fr);min-height:0;display:grid}.vcf-ops-nav{background:var(--vcf-nav);border-right:1px solid #afbdc4;overflow-y:auto}.vcf-nav-collapse{color:#7b8f99;background:0 0;border:0;justify-content:flex-end;align-items:center;width:100%;min-height:32px;padding:0 12px;display:flex}.vcf-nav-item{color:#263d48;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:6px;width:100%;min-height:34px;padding:5px 10px;font-size:.76rem;display:grid}.vcf-nav-item:hover,.vcf-nav-item:focus-visible{background:var(--vcf-nav-hover)}.vcf-nav-item-active{background:var(--vcf-nav-active);color:#142e39;border-left-color:#00a2c7;font-weight:600}.vcf-fleet-subnav{padding:0 0 3px}.vcf-fleet-subnav button{color:#3f5965;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;width:100%;min-height:27px;padding:4px 16px 4px 23px;font-size:.73rem;display:block}.vcf-fleet-subnav button:hover,.vcf-fleet-subnav button.active{color:#163641;background:#d3e7ef}.vcf-fleet-subnav button.active{border-left-color:#00a2c7;font-weight:600}.vcf-operations-main{background:var(--vcf-canvas);min-width:0;overflow:auto}.vcf-inventory-page{grid-template-columns:305px minmax(380px,1fr);min-width:720px;min-height:100%;display:grid}.vcf-inventory-browser{border-right:1px solid var(--vcf-border)}.vcf-pane-title,.vcf-detail-toolbar,.vcf-content-title,.vcf-generic-title{border-bottom:1px solid var(--vcf-border);justify-content:space-between;align-items:center;min-height:45px;padding:0 12px;display:flex}.vcf-pane-title h2,.vcf-detail-toolbar h2,.vcf-content-title h2,.vcf-generic-title h2,.vcf-standalone-table>h2{color:#223c48;align-items:center;gap:6px;margin:0;font-size:1.02rem;font-weight:400;display:flex}.vcf-pane-title button,.vcf-detail-actions button,.vcf-content-title button,.vcf-generic-title button{min-height:28px;color:var(--vcf-blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-size:.68rem;font-weight:600;display:inline-flex}.vcf-inventory-types{border-bottom:1px solid var(--vcf-border);color:#1587b0;grid-template-columns:repeat(5,29px) 1fr 29px;align-items:center;min-height:45px;padding:0 10px;display:grid}.vcf-tree-root,.vcf-tree-row{color:#455c67;text-align:left;background:0 0;border:0;align-items:center;gap:5px;width:100%;min-height:31px;padding:4px 8px;font-size:.76rem;display:flex}.vcf-tree-row{cursor:pointer}.vcf-tree-row:hover,.vcf-tree-row.active{background:#d9e7ed}.vcf-tree-row.depth-1{padding-left:23px}.vcf-tree-row.depth-2{padding-left:43px}.vcf-inventory-detail{min-width:0}.vcf-detail-toolbar{position:relative}.vcf-detail-actions{align-items:center;gap:8px;display:flex}.vcf-add-domain{position:relative}.vcf-add-domain>button{border:1px solid var(--vcf-border);min-height:31px;padding:0 8px}.vcf-actions-popover{z-index:10;background:#fff;border:1px solid #a8b8c0;min-width:145px;padding:4px 0;position:absolute;top:32px;right:0;box-shadow:0 4px 10px #1d343f3d}.vcf-actions-popover button{color:#435c68;text-align:left;width:100%;padding:7px 12px;font-size:.76rem;display:block}.vcf-actions-popover button:hover{background:#e5f1f6}.vcf-detail-tabs,.vcf-lifecycle-tabs{border-bottom:1px solid var(--vcf-border);align-items:flex-end;min-height:42px;padding:0 12px;display:flex;overflow-x:auto}.vcf-detail-tabs button,.vcf-lifecycle-tabs button{color:#526a75;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;min-width:max-content;min-height:36px;padding:7px 11px;font-size:.72rem}.vcf-detail-tabs button[aria-selected=true],.vcf-lifecycle-tabs button.active{color:#173c4b;border-bottom-color:#0096c0}.vcf-tab-badge{color:#fff;background:#d64045;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:5px;padding:0 4px;font-size:.62rem;display:inline-flex}.vcf-activity-table-wrap,.vcf-metric-grid,.vcf-log-view,.vcf-capacity-view{margin:12px}.vcf-activity-table td{vertical-align:top}.vcf-activity-status{color:#425b66;text-transform:capitalize;background:#e8eef1;border-radius:10px;padding:2px 7px;font-size:.65rem;display:inline-block}.vcf-activity-status.success{color:#176a36;background:#dff3e5}.vcf-activity-status.error{color:#a62a2f;background:#fde5e5}.vcf-activity-status.warning{color:#805c00;background:#fff1cf}.vcf-activity-status.running{color:#006b8a;background:#dff1f7}.vcf-empty-state{color:#5d727c;text-align:center;place-items:center;min-height:250px;display:grid}.vcf-empty-state span{color:#2b8c53;border:2px solid #42a56a;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.3rem;display:grid}.vcf-empty-state p{margin:2px 0;font-size:.72rem}.vcf-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.vcf-metric-grid>div,.vcf-capacity-view{border:1px solid var(--vcf-border);background:#f7fafc;padding:16px;position:relative;overflow:hidden}.vcf-metric-grid span{color:#607680;font-size:.72rem;display:block}.vcf-metric-grid strong{color:#263f4a;margin:8px 0;font-size:1.35rem;display:block}.vcf-metric-grid i{background:#0798be;height:4px;display:block}.vcf-log-view{color:#c5e3d4;background:#1b272d;align-content:start;gap:1px;min-height:260px;padding:10px;font-size:.68rem;display:grid}.vcf-capacity-view>div{border-bottom:1px solid var(--vcf-border);justify-content:space-between;padding:10px 0;display:flex}.vcf-summary-block{border:1px solid var(--vcf-border);background:#f7fafc;margin:12px}.vcf-summary-block h3,.vcf-overview-panel>h3{border-bottom:1px solid var(--vcf-border);color:#2c4550;background:#e8f0f4;align-items:center;gap:6px;min-height:31px;margin:0;padding:5px 10px;font-size:.82rem;font-weight:500;display:flex}.vcf-summary-block dl{margin:0;padding:9px 12px;font-size:.72rem}.vcf-summary-block dl>div{grid-template-columns:145px minmax(0,1fr);gap:8px;min-height:24px;display:grid}.vcf-summary-block dt{color:#607680}.vcf-summary-block dd{color:#253f4b;margin:0;font-weight:500}.vcf-section-heading{color:#445b66;margin:16px 12px 7px;font-size:.83rem;font-weight:500}.vcf-consumer-grid{border:1px solid var(--vcf-border);background:#f4f8fa;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 12px;display:grid}.vcf-consumer-grid>div{border-right:1px solid var(--vcf-border);color:#47616d;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;padding:13px;font-size:.72rem;display:grid}.vcf-consumer-grid>div:last-child{border-right:0}.vcf-consumer-grid strong{color:#193d4c;font-size:1rem}.vcf-fleet-layout{grid-template-columns:257px minmax(540px,1fr);min-width:800px;min-height:100%;display:grid}.vcf-scope-pane{border-right:1px solid var(--vcf-border)}.vcf-scope-pane h2{border-bottom:1px solid var(--vcf-border);color:#273f4a;min-height:45px;margin:0;padding:11px 12px;font-size:1rem;font-weight:400}.vcf-scope-pane button{color:#526a75;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;width:100%;min-height:32px;padding:5px 14px;font-size:.74rem;display:flex}.vcf-scope-pane button.active{color:#173d4b;background:#d6edf6}.vcf-fleet-content{min-width:0}.vcf-content-title>div{color:#516a76;align-items:center;gap:11px;font-size:.69rem;display:flex}.vcf-overview-panel{border:1px solid var(--vcf-border);margin:10px}.vcf-ring-row{grid-template-columns:repeat(3,minmax(0,1fr));min-height:180px;display:grid}.vcf-ring-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.vcf-ring-row>div{border-right:1px solid var(--vcf-border);text-align:center;grid-template-rows:auto 1fr;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:8px 18px;padding:8px 20px 16px;display:grid}.vcf-ring-row>div:last-child{border-right:0}.vcf-ring-row h4{color:#36505c;grid-column:1/-1;margin:0;font-size:.95rem;font-weight:400}.vcf-status-ring{border:17px solid var(--vcf-green);color:#17333e;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:112px;height:112px;display:flex}.vcf-status-ring.teal{border-color:#177e8d #1f6d96 #9b28cf #0d5b4b}.vcf-status-ring strong{font-size:1.2rem;font-weight:400}.vcf-status-ring span{max-width:68px;font-size:.64rem;line-height:1.2}.vcf-status-legend{color:#4b645f;font-size:.7rem}.vcf-status-legend:before{content:"";background:var(--vcf-green);border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.vcf-zero{color:#163541;grid-column:1/-1;align-self:end;font-size:1.15rem;font-weight:400}.vcf-zero+span{color:#3f5964;grid-column:1/-1;align-self:start;font-size:.66rem}.vcf-data-workspace{border:1px solid var(--vcf-border);grid-template-columns:240px minmax(480px,1fr);margin:0 10px 10px;display:grid}.vcf-data-workspace>aside{border-right:1px solid var(--vcf-border)}.vcf-data-workspace>aside h3{border-bottom:1px solid var(--vcf-border);color:#3e5661;justify-content:space-between;align-items:center;min-height:34px;margin:0;padding:7px 10px;font-size:.76rem;font-weight:400;display:flex}.vcf-data-workspace>aside button{color:#405963;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:30px;padding:5px 12px;font-size:.7rem;display:flex}.vcf-table-toolbar{align-items:center;gap:4px;min-height:34px;padding:3px 10px;display:flex}.vcf-table-toolbar button{color:#31515f;background:#fff;border:1px solid #aabcc5;min-height:24px;padding:3px 9px;font-size:.62rem}.vcf-data-table,.vcf-backup-settings table,.vcf-generic-table table{border-collapse:collapse;color:#405761;width:100%;font-size:.67rem}.vcf-data-table th,.vcf-data-table td,.vcf-backup-settings th,.vcf-backup-settings td,.vcf-generic-table th,.vcf-generic-table td{border:1px solid var(--vcf-border);text-align:left;white-space:nowrap;height:29px;padding:5px 9px}.vcf-data-table th,.vcf-backup-settings th,.vcf-generic-table th{color:#334b56;background:#edf3f6;font-weight:600}.vcf-radio{border:1px solid #879ca6;border-radius:50%;width:13px;height:13px;display:inline-block}.vcf-ok{color:#4a9416;font-weight:700}.vcf-lifecycle-tabs{padding-left:8px}.vcf-lifecycle-body{grid-template-columns:165px minmax(480px,1fr);min-height:445px;display:grid}.vcf-lifecycle-body>aside{border-right:1px solid var(--vcf-border);background:#e7eff3}.vcf-lifecycle-body>aside h3{color:#2d5362;margin:0;padding:10px 10px 4px;font-size:.65rem}.vcf-lifecycle-body>aside button{color:#526a75;text-align:left;background:0 0;border:0;width:100%;min-height:27px;padding:5px 10px;font-size:.67rem;display:block}.vcf-lifecycle-body>aside button.active{color:#123f50;background:#d3eaf2;box-shadow:inset 3px 0 #00a1c4}.vcf-backup-settings{padding:0 16px}.vcf-backup-settings h3{margin:11px 0 4px;font-size:.88rem;font-weight:400}.vcf-backup-settings p{color:#566d78;margin:0 0 13px;font-size:.7rem}.vcf-generic-page{min-width:760px;padding-bottom:20px}.vcf-generic-summary{border:1px solid var(--vcf-border);grid-template-columns:280px minmax(360px,1fr);margin:14px;display:grid}.vcf-generic-summary>div{border-right:1px solid var(--vcf-border);flex-direction:column;align-items:center;gap:10px;padding:14px;display:flex}.vcf-generic-summary h3,.vcf-generic-table h3{color:#344e5a;align-self:flex-start;margin:0;font-size:.86rem;font-weight:400}.vcf-generic-summary dl{background:var(--vcf-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.vcf-generic-summary dl>div{background:#f6f9fa;padding:18px}.vcf-generic-summary dt{color:#607680;font-size:.7rem}.vcf-generic-summary dd{color:#183b49;margin:3px 0 0;font-size:1.45rem}.vcf-generic-table{border:1px solid var(--vcf-border);margin:14px;padding:12px}.vcf-generic-table h3{margin-bottom:10px}.vcf-standalone-table{min-width:760px;padding:14px}.vcf-standalone-table>h2{margin-bottom:12px}.vcf-standalone-table .vcf-data-workspace{margin:0}.vcf-vsphere-stage .ui-sim{border:0;height:650px}@container (width<=980px){.vcf-ops-header{grid-template-columns:180px minmax(220px,1fr)}.vcf-ops-header-actions{display:none}.vcf-operations-body{grid-template-columns:180px minmax(0,1fr)}.vcf-inventory-page{grid-template-columns:245px minmax(360px,1fr);min-width:620px}.vcf-fleet-layout{grid-template-columns:215px minmax(520px,1fr);min-width:735px}.vcf-consumer-grid>div{grid-template-columns:30px 1fr auto;padding:9px}.vcf-consumer-grid svg{width:27px}}@media (width<=860px){.vcf-console-switcher{flex-direction:column;align-items:flex-start;gap:3px;padding:6px 9px}.vcf-operations-sim,.vcf-vsphere-stage .ui-sim{height:620px}.vcf-ops-header{grid-template-columns:180px minmax(180px,1fr)}.vcf-ops-header-actions{display:none}.vcf-operations-body{grid-template-columns:178px minmax(0,1fr)}.vcf-inventory-page{grid-template-columns:250px minmax(520px,1fr)}.vcf-nav-item{font-size:.7rem}}@media (prefers-reduced-motion:reduce){.vcf-console-shell *,.vcf-console-shell :before,.vcf-console-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.ui-sim{--bg:#fff;--bg-elevated:#f2f2f2;--bg-card:#fff;--border:#ccc;--text:#565656;--text-muted:#737373;--accent:#0079b8;--accent-strong:#006a91;--success:#318700;--danger:#c92100;--radius:2px;background:var(--bg-card);height:620px;color:var(--text);border:1px solid #9a9a9a;flex-direction:column;font-family:Metropolis,Avenir Next,Arial,sans-serif;display:flex}.ui-sim-body{flex:1;grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid}.ui-sim-tree{border-right:1px solid var(--border);background:#fafafa;overflow-y:auto}.ui-sim-detail{flex-direction:column;gap:12px;padding:0 16px 14px;display:flex;overflow-y:auto}.ui-sim-object-toolbar{border-bottom:1px solid #dedede;align-items:center;gap:10px;min-height:48px;display:flex}.ui-sim-object-heading{color:#3d3d3d;align-items:center;gap:7px;min-width:0;font-size:1rem;font-weight:500;display:inline-flex}.ui-sim-object-heading>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-sim-object-toolbar-divider{background:#d7d7d7;width:1px;height:28px}.ui-sim-actions-trigger{color:#0079b8;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:center;gap:2px;min-height:30px;padding:0 4px 0 0;font-size:.76rem;font-weight:500;display:inline-flex}.ui-sim-actions-trigger:hover,.ui-sim-actions-trigger:focus-visible{background:#e6f3f8}.ui-sim-actions-trigger:focus-visible{outline-offset:1px;outline:2px solid #0079b8}.ui-sim-empty{color:var(--text-muted);margin:0;font-size:.85rem}.top-header{color:#fff;background:#314351;border-bottom:0;align-items:center;gap:14px;min-height:52px;padding:0 14px;font-size:.84rem;display:flex}.top-header-brand{color:#fff;white-space:nowrap;font-size:1rem;font-weight:400}.top-header-menu-wrap{position:relative}.top-header-menu-btn{color:#d7e1e8;cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;width:30px;height:32px;padding:0;display:inline-flex}.top-header-menu-btn:hover,.top-header-menu-btn[aria-expanded=true]{background:#ffffff1a}.top-header-menu-backdrop{z-index:90;position:fixed;inset:0}.top-header-menu-list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);z-index:91;min-width:180px;margin:0;padding:4px;list-style:none;position:fixed;box-shadow:0 8px 24px #00000059}.top-header-menu-item{text-align:left;width:100%;color:var(--text);border-radius:var(--radius);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:.82rem;display:block}.top-header-menu-item:hover{background:var(--bg-elevated)}.top-header-menu-item-active{color:var(--accent);font-weight:600}.top-header-search{color:#b9c5cd;border:1px solid #fff3;border-radius:2px;flex:1;align-items:center;gap:8px;max-width:380px;min-height:34px;margin-left:18px;padding:0 10px;display:flex}.top-header-icon,.top-header-user{color:#d7e1e8;align-items:center;gap:6px;display:inline-flex}.top-header-icon{border-left:1px solid #ffffff24;justify-content:center;min-width:34px;min-height:34px}.inv-tabs{background:#fff;border-bottom:1px solid #ccc;grid-template-columns:repeat(2,1fr);display:grid}.inv-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:9px 6px 7px;font-size:.78rem}.inv-tabs .inv-tab{border-right:1px solid var(--border);text-overflow:ellipsis;white-space:normal;flex:none;line-height:1.25;overflow:hidden}.inv-tabs .inv-tab:nth-child(2n){border-right:none}.inv-tabs .inv-tab:nth-child(-n+2){border-bottom-color:var(--border)}.inv-tabs .inv-tab-active{border-bottom-color:var(--accent)}.inv-tab-active{color:var(--text);border-bottom-color:var(--accent)}.inv-list{padding:6px 0}.inv-node{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;min-height:30px;padding:5px 12px;font-size:.85rem;display:flex;position:relative}.inv-node:hover{background:#e8e8e8}.inv-node-selected{color:#fff;background:#21343b}.inv-node-icon{color:var(--text-muted);flex-shrink:0;display:inline-flex;position:relative}.inv-node-selected .inv-node-icon{color:#fff}.inv-status-badge{flex-shrink:0;margin-top:6px;margin-left:-8px;display:inline-flex}.inv-node-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.inv-empty{color:var(--text-muted);margin:0;padding:8px 12px;font-size:.85rem}.inv-badge-connected,.inv-badge-poweredOn{color:var(--success);background:#3fbf7f29}.inv-badge-notResponding,.inv-badge-poweredOff{color:var(--danger);background:#e0554f29}.inv-badge-maintenance{color:var(--accent);background:#4fb3ff29}.object-detail{flex-direction:column;gap:10px;min-width:0;display:flex}.object-detail-title{margin:0;font-weight:600}.object-detail-tabs{background:#fff;border-bottom:1px solid #ccc;flex-wrap:wrap;display:flex}.object-detail-content{overflow-x:auto}.ui-sim-props-table{border-collapse:collapse;width:100%;font-size:.85rem}.ui-sim-props-table th,.ui-sim-props-table td{border:1px solid var(--border);text-align:left;padding:4px 8px}.ui-sim-props-table th{color:var(--text-muted);width:40%;font-weight:400}.configure-pane{grid-template-columns:160px minmax(0,1fr);gap:14px;display:grid}.configure-submenu{border-right:1px solid var(--border);margin:0;padding:0;list-style:none}.configure-submenu-section{color:var(--text-muted);text-transform:uppercase;padding:8px 6px 2px;font-size:.72rem}.configure-submenu-item{text-align:left;width:100%;color:var(--text);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:5px 10px;font-size:.82rem;display:block}.configure-submenu-item:hover{background:var(--bg-elevated)}.configure-submenu-item-active{background:var(--bg-elevated);color:var(--accent)}.configure-pane-content{min-width:0}.configure-pane-heading{margin:0 0 8px;font-size:.85rem;font-weight:600}.snapshot-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.snapshot-toolbar .ui-sim-empty{flex-basis:100%;margin:0}.actions-menu-backdrop{z-index:100;position:fixed;inset:0}.actions-menu{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;padding:4px 0;overflow:visible;box-shadow:0 2px 8px #00000047}.actions-menu-list{margin:0;padding:0;list-style:none}.actions-menu-group{position:relative}.actions-menu-submenu{background:#fff;border:1px solid #ccc;border-radius:2px;min-width:180px;padding:4px 0;display:none;position:absolute;top:-5px;left:calc(100% - 2px);box-shadow:0 2px 8px #0000003d}.actions-menu-open-left .actions-menu-submenu{left:auto;right:calc(100% - 2px)}.actions-menu-group:hover>.actions-menu-submenu,.actions-menu-group:focus-within>.actions-menu-submenu{display:block}.actions-menu-group-label{color:var(--text-muted);text-transform:uppercase;padding:6px 10px 2px;font-size:.72rem;display:block}.actions-menu-legacy-label{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.actions-menu-item{text-align:left;width:100%;color:#3d3d3d;cursor:pointer;background:0 0;border:none;border-radius:0;min-height:32px;padding:6px 14px;font-size:.82rem;display:block}.actions-menu-group-trigger{justify-content:space-between;align-items:center;gap:18px;display:flex}.actions-menu-item:hover:not(:disabled){color:#00567a;background:#e6f3f8}.actions-menu-item:disabled{color:#9a9a9a;cursor:not-allowed}.actions-menu-separator{background:var(--border);height:1px;margin:4px 0}.actions-menu-empty{padding:8px 10px}.wizard-backdrop{z-index:110;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wizard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;width:760px;max-width:92vw;max-height:88vh;padding:20px;display:flex}.wizard-title{margin:0}.wizard-body{grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:16px;min-height:330px;display:grid;overflow:auto}.wizard-steps{color:var(--text-muted);border-right:1px solid var(--border);flex-direction:column;gap:6px;margin:0;padding:0 10px 0 0;font-size:.78rem;list-style:none;display:flex}.wizard-step-current{color:var(--text);font-weight:600}.wizard-step-done{color:var(--success)}.wizard-form{flex-direction:column;gap:10px;min-width:0;display:flex}.wizard-form-title{margin:0;font-size:.85rem;font-weight:600}.wizard-step-description{color:var(--text-muted);margin:-3px 0 4px;font-size:.78rem;line-height:1.45}.wizard-field select,.wizard-field input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--text);padding:6px 8px}.wizard-field small{color:var(--text-muted);margin-top:4px;font-size:.7rem;line-height:1.4;display:block}.wizard-summary{border:1px solid var(--border);background:var(--bg-elevated);max-height:300px;overflow:auto}.wizard-summary h4{border-bottom:1px solid var(--border);margin:0;padding:8px 10px;font-size:.78rem}.wizard-summary dl{margin:0;padding:6px 10px}.wizard-summary dl>div{grid-template-columns:46% 1fr;gap:10px;padding:4px 0;font-size:.72rem;display:grid}.wizard-summary dt{color:var(--text-muted)}.wizard-summary dd{word-break:break-word;margin:0}.wizard-validation{border:1px solid var(--border);background:var(--bg-elevated);padding:8px 10px}.wizard-validation p{margin:3px 0;font-size:.72rem;line-height:1.4}.wizard-validation .error{color:var(--danger)}.wizard-validation .warning{color:#d79400}.wizard-actions{align-items:center;gap:8px;display:flex}.wizard-actions-spacer{flex:1}.recent-tasks-panel{border-top:1px solid var(--border);max-height:160px;padding:8px 16px 12px;overflow-y:auto}.recent-tasks-panel h2{color:var(--text-muted);margin:4px 0 6px;font-size:.8rem}.recent-tasks-table{border-collapse:collapse;width:100%;font-size:.8rem}.recent-tasks-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:3px 8px;font-weight:400}.recent-tasks-table td{border-bottom:1px solid var(--border);padding:3px 8px}.recent-task-status-success{color:var(--success)}.recent-task-status-error{color:var(--danger)}.recent-task-progress{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.recent-task-progress-bar{background:linear-gradient(90deg, var(--accent) 0%, var(--border) 100%);background-size:200% 100%;border-radius:2px;width:40px;height:4px;animation:1s linear infinite recent-task-progress-anim}@keyframes recent-task-progress-anim{0%{background-position:200% 0}to{background-position:0 0}}.admin-forbidden{padding:48px 0}.admin-forbidden h1{color:var(--danger)}.admin-tabs{border-bottom:1px solid var(--border);gap:4px;margin:20px 0 24px;display:flex}.admin-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:1rem}.admin-tab:hover{color:var(--text)}.admin-tab-active{color:var(--text);border-bottom-color:var(--accent)}.admin-tab-badge{background:var(--accent);min-width:24px;min-height:24px;color:var(--bg);border-radius:999px;justify-content:center;align-items:center;margin-left:6px;padding:1px 7px;font-size:1rem;font-weight:600;display:inline-flex}.admin-signup-filters{gap:4px;margin-bottom:16px;display:flex}.admin-totals{flex-wrap:wrap;gap:24px;margin:0 0 20px;display:flex}.admin-totals>div{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-width:140px;padding:12px 16px}.admin-totals dt{color:var(--text-muted);margin-bottom:4px;font-size:1rem}.admin-totals dd{margin:0;font-size:1.2rem;font-weight:600}.admin-table-wrap{width:100%;margin-bottom:24px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:1rem}.admin-table-wrap>.admin-table{min-width:max-content;margin-bottom:0}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:8px 10px}.admin-table td.admin-cell-wrap,.admin-table th.admin-cell-wrap{white-space:normal;min-width:18rem}.admin-table th{color:var(--text-muted);font-size:1rem;font-weight:500}.admin-row-completed{background:#3fbf7f14}.admin-row-warning{background:#e0554f1a}.admin-row-inactive{opacity:.55}.admin-empty-cell{color:var(--text-muted)}.admin-hint{color:var(--text-muted);margin:4px 0 12px;font-size:1rem}.admin-create-form,.admin-resync,.admin-quiz-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:16px 20px}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 16px;display:grid}.admin-edit-form{background:var(--bg-elevated);border-radius:var(--radius);padding:12px}.admin-row-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.admin-cell-sub{color:var(--text-muted);font-size:1rem;display:block}.admin-status-cell{align-items:center;gap:6px;display:flex}.admin-delete-btn{color:var(--danger);font-size:1rem}.admin-user-overview-cell{justify-content:space-between;align-items:center;gap:14px;min-width:230px;display:flex}.admin-inline-record-delete{border-color:var(--danger);color:#ff8c86;background:#e0554f1f;flex:none;font-size:1rem;font-weight:700}.admin-inline-record-delete:hover:not(:disabled){background:#e0554f3d}.admin-resync-result{gap:8px;margin-top:16px;font-size:.85rem;display:grid}.admin-resync-result dt{color:var(--text-muted);display:inline}.admin-resync-result dd{margin:0 0 0 4px;display:inline}.admin-resync-errors{color:var(--danger)}.admin-excel-import{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:16px 20px}.admin-excel-import-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.admin-import-report{margin-top:16px}.admin-import-report-table{margin-top:8px}.admin-blocked-ips{padding-top:4px}.perf-chart{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 20px;padding:12px 14px}.perf-chart-title{align-items:center;gap:10px;margin-bottom:10px;font-weight:600;display:flex}.perf-chart-range{color:var(--text-muted);font-size:.85rem;font-weight:400}.perf-chart-warning{color:var(--danger);background:#e0554f26;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.8rem}.perf-chart-svg{background:var(--bg);border-radius:4px;width:100%;height:180px;display:block}.perf-chart-legend{border-collapse:collapse;width:100%;margin-top:10px;font-size:.85rem}.perf-chart-legend th,.perf-chart-legend td{text-align:right;border-bottom:1px solid var(--border);padding:6px 8px}.perf-chart-legend th:first-child,.perf-chart-legend td:first-child{text-align:left}.perf-chart-legend th{color:var(--text-muted);font-weight:500}.perf-chart-swatch{background:var(--accent);border-radius:2px;width:10px;height:10px;margin-right:8px;display:inline-block}.perf-chart-threshold-note{color:var(--text-muted);margin:8px 0 0;font-size:.8rem}.screen-panel-title{align-items:center;gap:10px;margin:0 0 10px;font-size:.95rem;font-weight:600;display:flex}.screen-props-table{border-collapse:collapse;width:100%;font-size:.88rem}.screen-props-table th,.screen-props-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.screen-props-table th{width:42%;color:var(--text-muted);font-weight:500}.resource-gauge{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:12px 14px}.resource-gauge-row{grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px;display:grid}.resource-gauge-label{color:var(--text-muted);font-size:.85rem}.resource-gauge-track{background:var(--bg);border:1px solid var(--border);border-radius:3px;height:14px;overflow:hidden}.resource-gauge-fill{background:var(--accent);height:100%}.resource-gauge-fill-warn{background:var(--danger)}.resource-gauge-value{color:var(--text-muted);white-space:nowrap;font-size:.82rem}.capacity-bar{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:12px 14px}.capacity-bar-type{color:var(--text-muted);font-size:.85rem;font-weight:400}.capacity-bar-track{background:var(--bg);border:1px solid var(--border);border-radius:3px;height:18px;margin-bottom:12px;position:relative;overflow:hidden}.capacity-bar-used{background:var(--accent);position:absolute;inset:0 auto 0 0}.capacity-bar-provisioned{border-right:2px dashed var(--text-muted);position:absolute;inset:0 auto 0 0}.capacity-bar-overcommit{color:var(--danger);margin-left:8px;font-size:.8rem}.hardware-panel,.alarms-table-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:12px 14px}.alarms-table{border-collapse:collapse;width:100%;font-size:.85rem}.alarms-table th,.alarms-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.alarms-table th{color:var(--text-muted);font-weight:500}.alarms-severity{border-radius:999px;padding:2px 8px;font-size:.78rem}.alarms-severity-normal{color:var(--success);background:#3fbf7f26}.alarms-severity-warning{color:#e0b93f;background:#e0b93f26}.alarms-severity-critical{color:var(--danger);background:#e0554f26}.switch-topology{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:12px 14px}.switch-topology-mtu{color:var(--text-muted);font-size:.85rem;font-weight:400}.switch-topology-grid{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:start;gap:8px;display:grid}.switch-topology-col{min-width:0}.switch-topology-col-title{color:var(--text-muted);margin:0 0 8px;font-size:.8rem}.switch-topology-spine{background:var(--border);place-self:stretch center;width:2px;min-height:60px}.switch-topology-box{background:var(--bg);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:2px;margin-bottom:8px;padding:8px 10px;display:flex}.switch-topology-box-name{font-size:.85rem}.switch-topology-box-meta{color:var(--text-muted);font-size:.78rem}.cluster-service-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:12px 14px}.cluster-service-status{color:var(--text-muted);font-size:.85rem;font-weight:400}.cluster-service-alert{color:var(--danger)}.drs-score{margin-bottom:14px}.drs-score-track{background:var(--bg);border:1px solid var(--border);border-radius:3px;height:16px;margin-bottom:6px;overflow:hidden}.drs-score-fill{background:var(--success);height:100%}.drs-score-fill-low{background:var(--danger)}.drs-score-value{color:var(--text-muted);margin:0;font-size:.85rem}.drs-histogram{margin-bottom:14px}.drs-histogram-title{color:var(--text-muted);margin:0 0 8px;font-size:.8rem}.drs-histogram-bars{align-items:flex-end;gap:6px;height:90px;display:flex}.drs-histogram-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.drs-histogram-bar{background:var(--accent);border-radius:2px 2px 0 0;width:100%;min-height:2px}.drs-histogram-label{color:var(--text-muted);margin-top:4px;font-size:.72rem}@media (width<=860px){.topbar{flex-wrap:wrap;gap:8px 12px;height:auto;min-height:56px;padding:10px 16px}.topbar-menu-button{order:1;display:inline-flex}.brand{order:1}.topbar-current-subject{display:none}.topbar-actions{order:2;gap:4px;min-width:0;margin-left:auto}.topbar-nav{border-top:1px solid var(--border);white-space:nowrap;flex:0 0 100%;order:3;gap:20px;padding-top:8px;overflow-x:auto}.learning-sidebar{z-index:60;width:min(88vw,360px);height:100dvh;transition:transform .18s;position:fixed;top:0;left:0;transform:translate(-102%);box-shadow:12px 0 30px #00000059}.learning-sidebar-mobile-open{transform:translate(0)}.learning-sidebar-close{display:inline-flex}.learning-sidebar-backdrop{z-index:50;background:#0000009e;border:0;display:block;position:fixed;inset:0}.app-workspace{display:block}.subject-badge{gap:6px;min-width:0;padding:4px 5px 4px 8px}.subject-badge-caption,.username{display:none}.subject-badge-label{min-width:0;max-width:110px}.subject-badge-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.subject-badge-switch{padding:7px 8px}.subject-badge-quick-select{width:118px;min-width:0;max-width:118px;padding:7px 24px 7px 8px}.topbar-actions>.btn-ghost{padding:6px 8px}.app-main{padding:24px 16px 48px}.lesson-step-nav,.subjects-grid{grid-template-columns:1fr}.subject-card{grid-template-columns:1fr;align-items:stretch;gap:14px;padding:18px}.subject-card>.btn{width:100%}.subjects-heading{flex-direction:column;align-items:flex-start;gap:8px}.subjects-search{grid-template-columns:1fr;gap:8px}.lab-page-body{grid-template-columns:1fr}.lab-page-header{flex-direction:column;align-items:flex-start}.lab-enrollment-callout{flex-direction:column;align-items:stretch}.lab-enrollment-callout .btn{width:100%}.evidence-next{grid-template-columns:1fr}.source-resource-list a{flex-direction:column}.connection-designer-layout,.connection-designer-form{grid-template-columns:1fr}.catalog-tool-entry{flex-direction:column;align-items:stretch;gap:14px}.catalog-tool-link{text-align:center;width:100%}.ui-sim{height:auto}.ui-sim-body{grid-template-columns:1fr}.ui-sim-tree{border-right:none;border-bottom:1px solid var(--border);max-height:220px}.top-header{gap:8px;padding:0 10px}.top-header-search{max-width:none;margin-left:6px}.top-header-user span,.top-header-refresh{display:none}.ui-sim-detail{min-height:360px}.wizard-body{grid-template-columns:1fr}}
