: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-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:2px 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-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 ul,.lab-diagnosis select{margin:0}.lab-hints ul{margin-bottom:8px;padding-left:20px}.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}.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-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:460px;max-width:92vw;padding:20px;display:flex}.wizard-title{margin:0}.wizard-body{grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:16px;display:grid}.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-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-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-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}}
