:root{color-scheme:light;--bg-root: #f4f6f1;--bg-panel: #ffffff;--bg-panel-soft: #f8faf7;--bg-rail: #16211f;--border: #d7ded6;--border-strong: #b8c3bc;--text: #18211f;--muted: #66736d;--faint: #8c9792;--accent: #0f766e;--accent-strong: #0b5f59;--ink: #14213d;--warning: #b45309;--warning-soft-bg: #fff3cd;--warning-soft-border: #f0d899;--warning-soft-text: #856404;--danger: #b42318;--success: #15803d;--focus: rgba(15, 118, 110, .18);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg-root);color:var(--text)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}code{color:var(--accent-strong);font-weight:800}a{color:inherit}.center-screen,.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f8faf7,#eef3ee)}.spinner{width:28px;height:28px;border:3px solid rgba(15,118,110,.16);border-top-color:var(--accent);border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-panel{width:min(440px,100%);background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:32px;box-shadow:0 20px 55px #14213d1f}.state-panel{width:min(380px,100%);background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:28px;box-shadow:0 20px 55px #14213d1a;display:grid;justify-items:start;gap:12px}.state-panel h1,.state-panel p{margin:0}.state-panel h1{font-size:24px}.state-panel p{color:var(--muted);line-height:1.5}.brand-mark{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;background:#16211f;color:#f7faf7;font-weight:900;letter-spacing:0}.brand-mark.small{width:34px;height:34px;font-size:13px}.auth-panel h1,.auth-panel p{margin:0}.auth-panel h1{margin-top:22px;font-size:30px;line-height:1.1}.auth-panel p{margin-top:10px;color:var(--muted);line-height:1.55}.auth-form label,.admin-form label{color:var(--muted);font-size:13px;font-weight:800;display:grid;gap:7px}.auth-form input,.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:11px 12px;outline:none}.admin-form textarea{resize:vertical;min-height:92px}.admin-form input[type=file]{padding:9px 12px}.auth-form input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.auth-form button,.auth-panel>button,.auth-panel .button-row button,.user-card button,.admin-form button,.secondary-button,.ghost-button{border:0;border-radius:8px;background:var(--accent);color:#fff;padding:11px 13px;font-weight:850}.secondary-button,.ghost-button{background:#eef4f2;border:1px solid var(--border);color:var(--text)}.secondary-button.active{border-color:#9ccbc5;background:#e1f0ed}.link-button,.auth-form .link-button{border:0;background:transparent;color:var(--accent-strong);padding:6px 0;font-weight:850}.link-button.inline{margin-bottom:18px}.form-error,.form-success,.status-strip{border-radius:8px;padding:10px 12px;font-size:13px}.form-success{background:#dcfce7;color:var(--success)}.status-strip{margin-bottom:18px;background:#e8f3f1;border:1px solid #b7d8d4;color:var(--accent-strong);font-weight:800}.status-strip.muted{background:#fff7ed;border-color:#fed7aa;color:var(--warning)}.role-list{margin:22px 0;padding:14px;border:1px solid var(--border);border-radius:8px;display:grid;gap:4px}.role-list span{color:var(--muted);font-size:12px}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid #263531;background:var(--bg-rail);color:#eff7f5;display:flex;flex-direction:column;min-height:100vh}.sidebar-brand{padding:24px;border-bottom:1px solid rgba(255,255,255,.12);display:flex;gap:12px;align-items:center}.sidebar-brand .brand-mark{background:#f7faf7;color:#16211f}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{margin-top:2px;color:#aebbb7;font-size:12px}.sidebar nav{padding:18px;display:grid;gap:6px}.sidebar nav button{border:0;background:transparent;color:#bdc9c5;text-align:left;border-radius:8px;padding:12px 13px;font-weight:800}.sidebar nav button.active,.sidebar nav button:hover{background:#ffffff1a;color:#fff}.user-card{margin-top:auto;padding:18px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:8px}.user-card strong,.user-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card span{color:#aebbb7;font-size:12px}.workspace{min-width:0;padding:30px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar h1,.topbar p{margin:0}.topbar h1{font-size:32px;line-height:1}.topbar p{color:var(--muted);margin-top:10px}.topbar-actions{display:flex;gap:10px;align-items:center}.role-chip{border:1px solid #9ccbc5;color:var(--accent-strong);background:#e8f3f1;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;white-space:nowrap}.dashboard-grid{display:grid;gap:18px}.hero-panel,.panel,.metric-card,.track-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px}.hero-panel{min-height:210px;padding:26px;display:flex;justify-content:space-between;gap:32px;align-items:center;border-left:5px solid var(--accent)}.hero-panel h2{max-width:760px;margin:0;font-size:46px;line-height:1.04;letter-spacing:0}.hero-panel p{max-width:680px;margin:16px 0 0;color:var(--muted);font-size:16px;line-height:1.55}.score-ring{width:142px;height:142px;border-radius:999px;border:12px solid #d8ebe8;display:grid;place-items:center;text-align:center;flex:0 0 auto}.score-ring.compact{width:112px;height:112px;border-width:10px}.score-ring span,.score-ring small{display:block}.score-ring span{font-size:30px;font-weight:950}.score-ring small{color:var(--muted);font-size:12px}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.metric-card{padding:20px}.metric-card span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.metric-card strong{display:block;margin-top:10px;font-size:34px}.panel{padding:24px}.panel h2{font-size:24px}.panel h3{font-size:18px}.section-heading{margin-bottom:20px}.section-heading p{color:var(--muted);margin-top:8px;line-height:1.5}.action-list{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.action-card,.admin-track-list button{padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);color:var(--text);text-align:left}.action-card span,.track-card span,.track-card footer,.detail-header span,.year-panel span,.admin-track-list span,.progress-table span{color:var(--muted);font-size:12px;font-weight:800}.action-card strong,.admin-track-list strong{display:block;margin-top:8px}.action-card p{margin-top:8px;color:var(--muted);line-height:1.45}.domain-focus-grid,.domain-performance-list{display:grid;gap:12px}.domain-focus-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.domain-focus-card,.domain-performance-row{border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);color:var(--text)}.domain-focus-card{display:grid;gap:10px;padding:16px;text-align:left}.domain-focus-card>span,.domain-focus-card small,.domain-performance-heading span{color:var(--muted);font-size:12px;font-weight:800}.domain-focus-card strong,.domain-performance-heading strong{line-height:1.25}.domain-focus-card p{color:var(--muted);font-size:13px;line-height:1.45}.domain-focus-meter b,.domain-performance-heading b{color:var(--accent-strong);font-size:13px}.domain-performance-panel{border-top:1px solid var(--border);padding-top:18px}.domain-performance-row{display:grid;gap:10px;padding:14px}.domain-performance-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.domain-performance-heading span{display:block;margin-top:5px}.domain-performance-stats{display:flex;flex-wrap:wrap;gap:8px}.domain-performance-stats span{border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font-size:12px;font-weight:900;padding:5px 9px}.study-queue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.study-queue-column{border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);padding:12px;display:grid;align-content:start;gap:10px}.queue-overflow-note{padding:8px 6px 2px;color:var(--muted)!important;font-size:12px;font-weight:700}.study-queue-item{display:grid;gap:6px;width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);text-align:left;padding:12px}.study-queue-item strong{line-height:1.25}.study-queue-item span,.study-queue-item small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.practice-grid{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}.practice-track-list button{display:grid;gap:6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);color:var(--text);text-align:left;padding:12px}.practice-track-list button.active,.practice-track-list button:hover{border-color:#9ccbc5;background:#eef7f5}.practice-track-list span,.practice-track-list small,.practice-card-heading span{color:var(--muted);font-size:12px;font-weight:800}.practice-track-list strong{line-height:1.25}.practice-card-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.practice-domain-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.practice-domain-filter button{min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:10px 12px;text-align:left;font-weight:850}.practice-domain-filter button.active,.practice-domain-filter button:hover{border-color:#9ccbc5;background:#eef7f5}.practice-domain-filter span{line-height:1.25;overflow-wrap:anywhere}.practice-domain-filter small{min-width:28px;height:28px;display:inline-grid;place-items:center;border-radius:999px;background:#eef4f2;color:var(--accent-strong);font-size:12px;font-weight:900}.practice-filter-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.practice-filter-bar button{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:10px 12px;font-weight:850}.practice-filter-bar button.active,.practice-filter-bar button:hover{border-color:#9ccbc5;background:#eef7f5}.practice-filter-bar small{min-width:24px;height:24px;display:inline-grid;place-items:center;border-radius:999px;background:#eef4f2;color:var(--accent-strong);font-size:12px;font-weight:900}.practice-card{min-height:230px;display:grid;align-content:center;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:26px}.practice-card.flipped{background:#f8fbfa;border-color:#9ccbc5}.practice-card-meta{display:flex;flex-wrap:wrap;gap:8px}.practice-card-meta span{border:1px solid var(--border);border-radius:999px;background:#f4f7f5;padding:5px 8px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.practice-card strong{font-size:24px}.multiple-choice-question{display:grid;gap:18px}.practice-card .multiple-choice-prompt{margin:0;font-weight:750}.multiple-choice-options{display:grid;gap:10px}.multiple-choice-option{width:100%;min-height:48px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);padding:12px 14px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;text-align:left;align-items:start}.multiple-choice-option>span:first-child{color:var(--accent-ink);font-weight:900}.multiple-choice-option:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.multiple-choice-option:disabled{cursor:default;opacity:1}.multiple-choice-option.correct{border-color:color-mix(in srgb,var(--success) 55%,var(--border));background:color-mix(in srgb,var(--success) 10%,var(--surface))}.multiple-choice-option.incorrect{border-color:color-mix(in srgb,var(--danger) 55%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.multiple-choice-feedback{border-left:4px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px;display:grid;gap:6px}.multiple-choice-feedback.correct{border-left-color:var(--success)}.multiple-choice-feedback.incorrect{border-left-color:var(--danger)}.practice-card .multiple-choice-feedback p{margin:0;font-size:15px}.practice-toolbar{display:flex;flex-wrap:wrap;gap:10px}.mock-exam-panel{display:grid;gap:16px}.mock-exam-running-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.mock-exam-running-header span{color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.mock-exam-running-header h2{margin:4px 0 0}.mock-exam-timer{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:28px;font-weight:600;color:var(--text);min-width:5ch;text-align:right}.mock-exam-timer.urgent{color:var(--red, #b42318)}.mock-exam-domain-table{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:12px}.mock-exam-domain-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;align-items:center}.mock-exam-domain-head{color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.track-grid,.admin-role-grid,.year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.track-card,.admin-role-grid article,.year-panel{padding:18px}.track-card{display:grid;gap:12px}.track-card h3{margin:8px 0;font-size:22px}.track-card p,.admin-role-grid p,.year-panel p,.empty-note{color:var(--muted);line-height:1.5}.year-panel{border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft)}.year-panel strong{display:block;margin-top:8px;font-size:22px}.year-panel p{margin-top:8px}.year-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.year-metrics b{border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--accent-strong);padding:5px 9px;font-size:12px}.progress{margin:8px 0 4px;height:8px;border-radius:999px;background:#e4e9e5;overflow:hidden}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#7c3aed)}.track-card footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.track-card footer strong{color:var(--text)}.track-detail{display:grid;gap:18px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.detail-header h2{margin-top:8px}.detail-header p{margin-top:10px;color:var(--muted);line-height:1.55}.lesson-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);padding:12px}.lesson-row.complete{border-color:#9bd5ab;background:#f0fdf4}.lesson-row strong{display:block}.lesson-row p{margin-top:5px;color:var(--muted);line-height:1.45}.check-button{width:42px;height:42px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;color:var(--accent-strong);font-weight:950}.lesson-row.complete .check-button{background:var(--success);color:#fff;border-color:var(--success)}.materials{border-top:1px solid var(--border);padding-top:18px}.material-list{margin-top:12px;display:grid;gap:8px}.material-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.material-year-column{border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);padding:12px;display:grid;align-content:start;gap:10px}.material-column-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--border)}.material-column-heading span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.material-column-heading strong{color:var(--accent-strong)}.material-year-column button,.admin-material-list button{border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);text-align:left;padding:12px}.material-year-column button strong,.admin-material-list button strong{display:block;margin-top:8px}.material-year-column button>span,.admin-material-list button>span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.material-year-column button p,.admin-material-list button p,.material-link p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.material-link{display:grid;gap:3px;text-decoration:none;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-panel-soft)}.material-link.pending{background:#fff}.material-list small{color:var(--muted);overflow-wrap:anywhere}.material-badges{display:flex;flex-wrap:wrap;gap:6px}.material-badges span{border:1px solid var(--border);border-radius:999px;background:#eef4f2;color:var(--accent-strong);padding:3px 7px;font-size:11px;font-weight:900}.material-badges span.ready{background:#dcfce7;border-color:#bbf7d0;color:var(--success)}.material-badges span.archived{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.admin-grid{display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(260px,.85fr);gap:18px;align-items:start}.admin-progress-panel,.assignment-panel,.cohort-panel,.admin-materials-panel{grid-column:1 / -1}.assignment-empty{margin-top:18px}.content-editor{border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);padding:14px;display:grid;gap:12px}.content-editor-heading,.content-row-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.content-editor-heading strong,.content-row-heading span{display:block;color:var(--text);font-weight:900}.content-editor-heading>span{color:var(--muted);font-size:12px;font-weight:850}.content-row-list{display:grid;gap:10px}.content-row{border:1px solid var(--border);border-radius:8px;background:#fff;padding:12px;display:grid;gap:12px}.content-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.content-row-actions button{padding:8px 10px;font-size:12px}.content-row-meta{color:var(--muted);font-size:12px;font-weight:800}.upload-panel{border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);padding:14px;display:grid;gap:12px}.upload-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.upload-heading strong,.upload-heading span,.selected-file{display:block}.upload-heading span,.selected-file{color:var(--muted);font-size:12px;line-height:1.4}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-roster-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,280px);gap:12px;align-items:end}.student-roster-tools label{color:var(--muted);font-size:13px;font-weight:800;display:grid;gap:7px}.student-roster-tools input{width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:11px 12px;outline:none}.student-roster-tools input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.selected-student{border:1px solid #9ccbc5;border-radius:8px;background:#e8f3f1;padding:10px 12px}.selected-student span,.selected-student small{color:var(--muted);display:block;font-size:12px}.selected-student strong{display:block;margin:3px 0}.student-roster-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:14px 0}.student-roster-list button{border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);color:var(--text);padding:12px;text-align:left}.student-roster-list button.active{border-color:#9ccbc5;background:#e8f3f1}.student-roster-list strong,.student-roster-list span,.student-roster-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-roster-list span,.student-roster-list small{color:var(--muted);font-size:12px;margin-top:5px}.assignment-picker{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.assignment-picker label{color:var(--muted);font-size:13px;font-weight:800;display:grid;gap:7px}.assignment-picker input{width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:11px 12px;outline:none}.assignment-picker input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.student-chip-list button{border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);max-width:100%;overflow:hidden;padding:7px 10px;text-overflow:ellipsis;white-space:nowrap}.student-chip-list button.active{border-color:#9ccbc5;background:#e8f3f1;color:var(--accent-strong);font-weight:900}.role-assignment-grid,.track-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:14px 0}.role-assignment-panel{margin-top:16px}.role-assignment-card,.track-assignment-card{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);padding:12px}.role-assignment-card.selected,.track-assignment-card.selected{border-color:#9ccbc5;background:#e8f3f1}.role-assignment-card input,.track-assignment-card input{margin-top:2px}.role-assignment-card small,.track-assignment-card b,.track-assignment-card small{display:block;color:var(--muted);font-size:12px}.role-assignment-card strong,.track-assignment-card strong{display:block;margin:4px 0}.role-assignment-card p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.assignment-panel>.button-row button,.assignment-picker button{border:0;border-radius:8px;background:var(--accent);color:#fff;padding:11px 13px;font-weight:850}.assignment-panel>.button-row .secondary-button,.assignment-picker .secondary-button{background:#eef4f2;border:1px solid var(--border);color:var(--text)}.admin-track-list{display:grid;gap:10px}.admin-track-list small{color:var(--muted);display:block;margin-top:5px}.admin-material-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.report-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.report-toolbar input,.report-toolbar select{width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:10px 11px;font:inherit;font-weight:700;text-transform:none}.report-toolbar button{min-height:42px;white-space:nowrap}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.progress-table article{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(130px,190px) minmax(150px,.8fr) minmax(90px,120px);gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-panel-soft)}.progress-table strong,.progress-table span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-table b{text-align:right;color:var(--accent-strong)}.lesson-row-body{flex:1;display:flex;flex-direction:column;gap:4px}.lesson-title-toggle{background:none;border:none;padding:0;cursor:pointer;text-align:left;display:flex;align-items:center;gap:8px;width:100%}.lesson-title-toggle strong{font-size:inherit}.lesson-expand-icon{font-size:10px;color:var(--muted, #888);margin-left:auto}.lesson-description{margin:0;font-size:.85em;color:var(--muted, #888)}.lesson-body{margin-top:8px;padding:12px;background:var(--bg-panel-soft, #f5f5f5);border-radius:6px}.lesson-body.empty{padding:8px}.lesson-body-markdown{font-size:.92em;line-height:1.7;color:var(--text, #1a1a1a)}.lesson-body-markdown h1,.lesson-body-markdown h2,.lesson-body-markdown h3{font-size:1em;font-weight:700;margin:1em 0 .25em}.lesson-body-markdown p{margin:0 0 .75em}.lesson-body-markdown ul,.lesson-body-markdown ol{margin:0 0 .75em 1.25em;padding:0}.lesson-body-markdown li{margin-bottom:.25em}.lesson-body-markdown strong{font-weight:700}.lesson-body-markdown em{font-style:italic}.lesson-body-markdown code{background:#0000000f;border-radius:3px;color:var(--text, #1a1a1a);font-weight:400;padding:1px 4px;font-size:.88em;font-family:monospace}.lesson-body-markdown pre{background:#0000000f;border-radius:6px;padding:10px 12px;overflow-x:auto;margin:0 0 .75em}.lesson-body-markdown pre code{background:none;padding:0}.lesson-body-markdown blockquote{border-left:3px solid var(--accent, #0057b7);padding-left:10px;margin:0 0 .75em;color:var(--muted, #666)}.lesson-body-markdown hr{border:none;border-top:1px solid var(--border, #e0e0e0);margin:1em 0}.lesson-body-markdown a{color:var(--accent, #0057b7)}.lesson-body-markdown table{border-collapse:collapse;width:100%;margin:0 0 .75em;font-size:.9em}.lesson-body-markdown th,.lesson-body-markdown td{border:1px solid var(--border, #e0e0e0);padding:5px 8px;text-align:left}.lesson-body-markdown th{background:#0000000a;font-weight:600}.ask-widget{margin-top:12px;border-top:1px solid var(--border, #e0e0e0);padding-top:10px}.ask-widget-toggle{font-size:.85em}.ask-widget-body{margin-top:10px;display:flex;flex-direction:column;gap:8px}.ask-form{display:flex;flex-direction:column;gap:6px}.ask-form label{color:var(--muted);display:grid;font-size:.85em;font-weight:800;gap:7px}.ask-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:10px 11px;outline:none;resize:vertical}.ask-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.ask-form button{align-self:flex-start}.ask-answer{background:var(--bg-panel-soft, #f5f5f5);border-radius:6px;padding:10px 12px}.ask-answer strong{display:block;font-size:.8em;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;color:var(--muted, #666)}.ask-answer p{margin:0;font-size:.9em;line-height:1.6}.cohort-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px}@media(max-width:720px){.cohort-grid{grid-template-columns:1fr}}.cohort-card{background:var(--bg-panel-soft, #f5f5f5);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.cohort-card strong{font-size:.95em}.cohort-card small{color:var(--muted, #888);font-size:.8em}.cohort-form{padding:0}button.danger{color:var(--danger, #c0392b)}.daily-queue-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;font-size:.9em}.needs-review-badge{background:var(--warning-soft-bg);color:var(--warning-soft-text);padding:2px 8px;border-radius:4px;font-size:.8em;font-weight:600}@media(max-width:980px){.admin-grid,.cohort-grid,.material-board,.study-queue-grid,.practice-grid,.report-toolbar,.report-summary{grid-template-columns:1fr}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;border-right:0;border-bottom:1px solid #263531}.sidebar nav{grid-auto-flow:column;overflow-x:auto}.practice-track-panel{max-height:240px;overflow-y:auto}.practice-track-list{display:flex;flex-flow:row nowrap;gap:6px;overflow-x:auto;padding-bottom:4px}.practice-track-list button{flex:0 0 160px}.user-card{display:none}.workspace{padding:22px}.hero-panel,.topbar,.detail-header,.practice-card-heading,.content-editor-heading,.content-row-heading{flex-direction:column}.stat-row,.form-row,.practice-domain-filter,.practice-filter-bar,.student-roster-tools,.assignment-picker,.progress-table article{grid-template-columns:1fr}.progress-table b{text-align:left}.ghost-button{display:inline-flex}}@media(max-width:560px){.auth-panel,.panel,.hero-panel{padding:18px}.workspace{padding:16px}.topbar h1{font-size:28px}.score-ring{width:118px;height:118px}}.auth-back-button{align-self:flex-start;margin-bottom:8px}.landing-screen{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-root);color:var(--text)}.landing-header{display:flex;align-items:center;gap:12px;padding:16px 32px;border-bottom:1px solid var(--border);background:#f8faf7f5;position:sticky;top:0;z-index:10}.landing-header strong{flex:1;font-size:1rem}.landing-hero{width:min(1080px,100%);margin:0 auto;padding:56px 32px 42px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.76fr);align-items:center;gap:42px}.landing-hero-copy{display:flex;flex-direction:column;gap:16px}.landing-hero-copy h1{margin:0;font-size:4.75rem;line-height:.95;font-weight:950}.landing-hero-copy p{margin:0;max-width:620px;color:var(--muted);font-size:1.08rem;line-height:1.6}.landing-hero-copy button{align-self:flex-start;padding:12px 24px}.landing-hero-art{display:flex;justify-content:center}.landing-score-display{width:min(100%,360px);min-height:330px;padding:24px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);box-shadow:0 22px 60px #14213d1f;display:grid;align-content:center;justify-items:center;gap:20px}.score-ring.large{width:150px;height:150px;border-width:12px;font-size:1rem}.score-ring.large span{font-size:32px}.landing-preview-list{width:100%;display:grid;gap:8px}.landing-preview-list span{display:block;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-soft);padding:10px 12px;color:var(--muted);font-size:.9rem;font-weight:800}.landing-features{width:min(1080px,100%);margin:0 auto;padding:0 32px 56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.landing-feature-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:8px}.landing-feature-card strong{font-size:.96rem}.landing-feature-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.landing-footer{margin-top:auto;padding:16px 32px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:.88rem}.toast-container{position:fixed;right:20px;bottom:20px;z-index:1000;width:calc(100vw - 40px);max-width:340px;display:flex;flex-direction:column;gap:10px}.toast{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;box-shadow:0 16px 42px #14213d29;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-content{flex:1;display:flex;flex-direction:column;gap:2px}.toast-content strong{font-size:.9rem}.toast-content p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.toast-dismiss{flex:0 0 auto;border:0;background:transparent;color:var(--muted);font-size:1.2rem;line-height:1;padding:0}.toast-dismiss:hover{color:var(--text)}@media(max-width:768px){.sidebar{width:100%;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:8px 12px;position:sticky;top:0;z-index:100}.sidebar-brand{flex:0 0 auto;margin:0;padding:0 8px 0 0;border-right:1px solid rgba(255,255,255,.16);border-bottom:0}.sidebar-brand span{display:none}.sidebar nav{flex:1 1 auto;display:flex;flex-flow:row nowrap;gap:4px;overflow-x:auto;padding:0}.sidebar nav button{flex:0 0 auto;width:auto;padding:8px 10px;text-align:center;white-space:nowrap;font-size:.82rem}.user-card{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin:0;padding:0 0 0 8px;border-top:0;border-left:1px solid rgba(255,255,255,.16)}.user-card span{display:none}.user-card strong{max-width:150px}.user-card button{padding:7px 9px;white-space:nowrap}.workspace{padding:12px}.topbar{align-items:flex-start;gap:8px;padding:0 0 12px;margin-bottom:12px}.topbar h1{font-size:1.45rem}.landing-hero{grid-template-columns:1fr;padding:32px 16px;gap:24px}.landing-hero-copy h1{font-size:3rem}.landing-features{grid-template-columns:1fr;padding:0 16px 32px}.landing-header{padding:12px 16px}.landing-footer{padding:12px 16px;flex-direction:column;text-align:center}}@media(max-width:720px){.study-queue-grid,.material-board,.year-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:8px}}@media(max-width:600px){.track-grid,.dashboard-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-panel{flex-direction:column;gap:12px}.hero-panel h2{font-size:30px}.score-ring{align-self:flex-start}.lesson-row{gap:8px}.check-button{flex:0 0 auto;width:32px;height:32px;font-size:.75rem}.lesson-body-markdown{font-size:.88rem}.ask-widget-toggle{padding:6px 10px;font-size:.8rem}}@media(max-width:480px){.auth-screen{padding:0;place-items:start stretch}.auth-panel{min-width:0;width:100%;min-height:100vh;border-radius:0;padding:20px 16px}.button-row,.practice-toolbar{flex-wrap:wrap;gap:6px}.practice-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.toast-container{right:12px;bottom:12px;left:12px;width:auto;max-width:none}}:root{--navy-900: #08172d;--navy-800: #0d2240;--navy-700: #13294b;--navy-600: #1c3a63;--carolina: #4b9cd3;--carolina-300: #7ebbe3;--carolina-200: #b6dcf2;--carolina-100: #e3f1fb;--carolina-deep: #2f7cb5;--good: #2f8f5b;--good-bg: #e6f4ec;--warn: #b7791f;--warn-bg: #fbf1dc;--danger: #c0392b;--canvas: #f7f9fc;--canvas-grad: #f7f9fc;--surface: #ffffff;--surface-2: #f4f8fc;--surface-inset: #eff5fb;--chrome: #ffffff;--chrome-text: #56657f;--chrome-text-strong: #13294b;--chrome-active: #e3f1fb;--chrome-border: #e8edf5;--text: #1b2a45;--muted: #5f6e88;--faint: #93a0b6;--border: #e6ecf5;--border-strong: #d8e1ee;--hairline: #eef2f8;--accent: #4b9cd3;--accent-ink: #2f7cb5;--accent-soft: #e3f1fb;--accent-soft-border: #d4e9f8;--bg-root: var(--canvas);--bg-panel: var(--surface);--bg-panel-soft: var(--surface-2);--bg-rail: var(--chrome);--accent-strong: var(--accent-ink);--warning: var(--warn);--warning-soft-bg: var(--warn-bg);--warning-soft-border: #f0d899;--warning-soft-text: var(--warn);--success: var(--good);--focus: rgba(75, 156, 211, .2);--radius: 14px;--radius-lg: 20px;--radius-pill: 999px;--shadow: 0 2px 8px rgba(19, 41, 75, .04);--shadow-lg: 0 16px 40px -20px rgba(27, 42, 69, .18);--card-shadow: 0 1px 2px rgba(19, 41, 75, .04), 0 10px 26px -18px rgba(27, 42, 69, .22);--card-shadow-hover: 0 2px 4px rgba(19, 41, 75, .05), 0 22px 42px -22px rgba(27, 42, 69, .32);--card-border: 1px solid var(--border);--gap: 18px;--pad: 26px;--hero-bg: linear-gradient(135deg, #13294b 0%, #2f7cb5 120%);--hero-text: #f3f9fe;color-scheme:light;font-family:Hanken Grotesk,system-ui,sans-serif}html,body{background:var(--canvas)}body{color:var(--text);font-family:Hanken Grotesk,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1,"cv01" 1}button,input,select,textarea,code{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{color:var(--accent-ink)}.learn{min-height:100vh;background:var(--canvas);color:var(--text)}.center-screen,.auth-screen{background:var(--canvas)}.auth-screen:not(.auth-screen-split){display:grid;place-items:center;min-height:100vh;padding:24px}.auth-screen-split{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);place-items:stretch;padding:0}.auth-aside{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:42px 48px;background:var(--hero-bg);color:var(--hero-text)}.auth-aside:after{content:"";position:absolute;right:-110px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(75,156,211,.42),transparent 70%);pointer-events:none}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:40px;height:40px;border-radius:var(--radius);display:grid;place-items:center;flex:0 0 auto;background:var(--carolina);color:var(--navy-900);font-size:15px;font-weight:800;letter-spacing:-.02em}.brand-mark.small{width:40px;height:40px;font-size:15px}.brand-text strong,.sidebar-brand strong{display:block;color:var(--chrome-text-strong);font-size:16px;font-weight:800;letter-spacing:-.01em}.auth-aside .brand-text strong{color:#fff}.brand-text span,.sidebar-brand span{display:block;margin-top:1px;color:var(--chrome-text);font-size:11.5px;letter-spacing:.04em}.auth-aside .brand-text span{color:var(--carolina-200)}.pitch{position:relative;z-index:1;max-width:620px}.pitch h2{margin:0;font-size:42px;line-height:1.05;font-weight:800;letter-spacing:-.02em}.pitch p{margin:16px 0 0;max-width:520px;color:#ffffffd1;font-size:16px;line-height:1.55}.marks{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.marks div{border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:14px;background:#ffffff0f}.marks b,.marks span{display:block}.marks b{color:#fff;font-size:20px;font-weight:800}.marks span{margin-top:4px;color:var(--carolina-200);font-size:12px;font-weight:700}.auth-main{display:grid;place-items:center;padding:32px;background:var(--canvas)}.auth-panel,.state-panel{width:min(400px,100%);border:var(--card-border);border-radius:var(--radius-lg);background:var(--surface);padding:32px;box-shadow:var(--shadow-lg)}.auth-card h1,.auth-panel h1,.state-panel h1{margin:0;color:var(--text);font-size:34px;line-height:1.05;font-weight:800;letter-spacing:-.02em}.auth-card p,.auth-panel p,.state-panel p{color:var(--muted)}.auth-form,.admin-form{display:grid;gap:12px}.auth-form{margin-top:28px}.auth-form label,.admin-form label,.report-toolbar label,.student-roster-tools label,.assignment-picker label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.auth-form input,.admin-form input,.admin-form select,.admin-form textarea,.report-toolbar input,.report-toolbar select,.student-roster-tools input,.assignment-picker input{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:11px 12px;outline:none}.auth-form input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.report-toolbar input:focus,.report-toolbar select:focus,.student-roster-tools input:focus,.assignment-picker input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.auth-form button:not(.link-button),.hero-cta button,.practice-toolbar button:not(.secondary-button),.button-row button:not(.secondary-button),.assignment-panel>.button-row button,.assignment-picker button:not(.secondary-button),.admin-form button:not(.secondary-button),.landing-hero-copy button{border:0;border-radius:var(--radius);background:var(--accent);color:#fff;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:800;white-space:nowrap;box-shadow:0 6px 16px -8px #4b9cd3b3;transition:filter .15s,transform .05s,box-shadow .15s}.auth-form button:not(.link-button):hover,.hero-cta button:hover,.practice-toolbar button:not(.secondary-button):hover,.button-row button:not(.secondary-button):hover,.assignment-panel>.button-row button:hover,.assignment-picker button:not(.secondary-button):hover,.admin-form button:not(.secondary-button):hover,.landing-hero-copy button:hover{filter:brightness(1.06);box-shadow:0 8px 18px -8px #4b9cd3d9}.secondary-button,.ghost-button,.btn-secondary,.hero-cta button.outline,.auth-panel>button.secondary-button,.auth-panel .button-row button.secondary-button,.user-card button,.assignment-panel>.button-row .secondary-button,.assignment-picker .secondary-button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:800;white-space:nowrap;box-shadow:none}.hero-cta button.outline{border-color:#ffffff52;background:transparent;color:#fff}.secondary-button:hover,.btn-secondary:hover,.ghost-button:hover{background:var(--surface-2)}.secondary-button.active{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent-ink)}.link-button,.auth-form .link-button{border:0;background:transparent;color:var(--accent-ink);padding:7px 0;font-weight:800}.link-button:hover{text-decoration:underline}.form-error,.form-success,.status-strip{border-radius:var(--radius);padding:11px 15px;font-size:13px;font-weight:700}.form-error{background:#fee4e2;color:var(--danger)}.form-success{background:var(--good-bg);color:var(--good)}.status-strip{margin-bottom:20px;border:1px solid #f0dcb0;background:var(--warn-bg);color:var(--warn)}.status-strip.muted{border-color:#f0dcb0;background:var(--warn-bg);color:var(--warn)}.role-list{border-color:var(--border);border-radius:var(--radius);background:var(--surface-2)}.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh;height:100vh;overflow:hidden}.sidebar{min-height:0;height:100vh;border-right:1px solid var(--chrome-border);background:var(--chrome);color:var(--chrome-text);display:flex;flex-direction:column}.sidebar-brand{padding:22px 22px 20px;border-bottom:1px solid var(--chrome-border)}.sidebar-brand .brand-mark{background:var(--carolina);color:var(--navy-900)}.nav{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:2px}.sidebar .nav{flex:1 1 auto;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:2px}.nav-section{display:grid;gap:2px}.nav-group{padding:14px 12px 6px;color:var(--chrome-text);font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.62}.nav-btn,.sidebar nav button{width:100%;border:0;border-radius:var(--radius);background:transparent;color:var(--chrome-text);padding:10px 12px;display:flex;align-items:center;gap:11px;text-align:left;font-size:14px;font-weight:700;transition:background .14s,color .14s,box-shadow .14s}.sidebar .nav-btn{width:100%;min-height:40px;border:0;border-radius:var(--radius);padding:10px 12px;display:flex;align-items:center;justify-content:flex-start;gap:11px}.nav-btn .ico{width:17px;height:17px;flex:0 0 auto;opacity:.82}.nav-btn:hover,.sidebar nav button:hover{background:var(--surface-2);color:var(--chrome-text-strong)}.nav-btn.active,.sidebar nav button.active{background:var(--chrome-active);color:var(--navy-700);font-weight:800;box-shadow:inset 3px 0 0 var(--carolina)}.nav-btn.active .ico{color:var(--accent-ink);opacity:1}.nav-item{display:grid;gap:2px}.nav-btn .nav-chevron{margin-left:auto;color:currentcolor;font-size:11px;font-weight:900;opacity:.72}.nav-submenu{display:grid;gap:2px;margin:2px 0 6px 28px;padding-left:10px;border-left:1px solid var(--chrome-border)}.sidebar nav .nav-sub-btn{min-height:34px;padding:8px 10px;border-radius:var(--radius);color:var(--chrome-text);font-size:13px;font-weight:700}.sidebar nav .nav-sub-btn.active{background:var(--chrome-active);color:var(--navy-700);box-shadow:none}.user-card{margin-top:auto;padding:16px;border-top:1px solid var(--chrome-border);display:flex;align-items:center;gap:11px}.avatar{width:36px;height:36px;border-radius:var(--radius-pill);display:grid;place-items:center;flex:0 0 auto;background:var(--carolina);color:var(--navy-900);font-size:13px;font-weight:800}.user-card .who{flex:1 1 auto;min-width:0}.user-card strong,.user-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card strong{color:var(--chrome-text-strong);font-size:13.5px}.user-card span{color:var(--chrome-text);font-size:11.5px}.user-card .signout{border:0;background:transparent;color:var(--chrome-text);padding:4px;font-size:12px;box-shadow:none}.workspace{min-width:0;height:100vh;overflow-y:auto;padding:30px 36px 60px}.topbar{margin-bottom:26px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.topbar>div:first-child{flex:1 1 auto;min-width:0}.topbar .eyebrow{margin-bottom:8px;color:var(--accent-ink);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.topbar h1{margin:0;color:var(--text);font-size:34px;line-height:1.02;font-weight:800;letter-spacing:-.02em}.topbar .sub,.topbar p{margin-top:9px;max-width:560px;color:var(--muted);font-size:14.5px;line-height:1.5}.topbar-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.role-chip{border:1px solid var(--accent-soft-border);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-ink);padding:7px 13px;font-size:12px;font-weight:800;white-space:nowrap}.ghost-button{display:none}.panel,.metric-card,.track-card,.swgsb-course-card,.swgsb-course-workspace-card,.year-panel,.admin-role-grid article{border:var(--card-border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.panel{padding:var(--pad)}.panel h2,.panel h3,.panel p{margin:0}.section-heading,.section-head{margin-bottom:18px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.section-heading>div:first-child,.section-head>div:first-child{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:5px}.section-heading h2,.section-heading h3,.section-head h3{display:flex;align-items:center;gap:10px;color:var(--text);font-size:19px;line-height:1.2;font-weight:800}.section-heading h2:before,.section-heading h3:before,.section-head h3:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--carolina);flex:0 0 auto}.section-heading p,.section-head p{margin-top:0;color:var(--muted);font-size:13.5px;line-height:1.45}.dash,.dashboard-grid{display:grid;gap:var(--gap)}.hero,.hero-panel{position:relative;overflow:hidden;min-height:0;border:0;border-radius:var(--radius-lg);background:var(--hero-bg);color:var(--hero-text);padding:34px 36px;display:flex;align-items:center;justify-content:space-between;gap:36px;box-shadow:var(--shadow-lg)}.hero:after,.hero-panel:after{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(75,156,211,.35),transparent 70%);pointer-events:none}.hero-body,.hero-panel>div:first-child{position:relative;z-index:1;max-width:640px}.hero .eyebrow{color:var(--carolina-200);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hero h2,.hero-panel h2{max-width:680px;margin:12px 0 0;color:#fff;font-size:38px;line-height:1.08;font-weight:800;letter-spacing:-.02em}.hero p,.hero-panel p{margin:14px 0 0;max-width:540px;color:#ffffffd1;font-size:15.5px;line-height:1.55}.hero-cta{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}.hero-cta button:first-child{color:var(--navy-900)}.hero-cta .ico{width:17px;height:17px}.score-ring{--score-deg: 252deg;position:relative;z-index:1;width:150px;height:150px;border:0;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;text-align:center;background:conic-gradient(var(--carolina) var(--score-deg),rgba(255,255,255,.18) var(--score-deg))}.score-ring:before{content:"";position:absolute;top:17px;right:17px;bottom:17px;left:17px;border-radius:50%;background:var(--navy-700)}.score-ring.compact{width:112px;height:112px}.score-ring.compact:before{top:14px;right:14px;bottom:14px;left:14px}.score-ring span,.score-ring small,.score-ring b{position:relative;z-index:1;display:block}.score-ring span,.score-ring b{color:#fff;font-size:34px;line-height:1;font-weight:800}.score-ring.compact span{font-size:26px}.score-ring small{margin-top:5px;color:var(--carolina-200);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.metric-card{padding:20px 22px}.metric-card span{display:block;color:var(--faint);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.metric-card strong{display:block;margin-top:10px;color:var(--text);font-size:36px;line-height:1;font-weight:800;letter-spacing:-.02em}.dash-2col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--gap);align-items:start}.chip,.needs-review-badge,.material-badges span,.domain-performance-stats span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);padding:5px 11px;font-size:12px;font-weight:800}.chip.accent,.needs-review-badge{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent-ink)}.chip.good,.material-badges span.ready{border-color:transparent;background:var(--good-bg);color:var(--good)}.chip.warn{border-color:transparent;background:var(--warn-bg);color:var(--warn)}.progress{height:7px;margin:0;border:1px solid var(--hairline);border-radius:999px;background:var(--surface-inset);overflow:hidden}.progress.mini{margin:0;min-width:120px}.progress span,.progress>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--carolina-deep),var(--carolina))}.daily-queue-meta{margin:0 0 12px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:12px;font-weight:800}.flash,.practice-card.flash{min-height:188px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:24px;display:flex;flex-direction:column;justify-content:center;gap:12px;cursor:pointer;transition:border-color .15s,background .15s}.flash:hover{border-color:var(--accent-soft-border)}.flash.flipped{border-color:var(--accent-soft-border);background:var(--accent-soft)}.flash .q{margin:0;color:var(--text);font-size:17px;line-height:1.5;font-weight:700}.flash-meta,.practice-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.practice-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.study-queue-grid,.queue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}.study-queue-column,.queue-col,.material-year-column{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:14px;display:flex;flex-direction:column;gap:10px}.study-queue-list{display:grid;gap:8px}.study-queue-item,.queue-item,.domain-focus-card,.action-card,.material-year-column button,.admin-material-list button,.admin-track-list button{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:12px;text-align:left;transition:border-color .15s,transform .12s,box-shadow .15s}.domain-focus-card,.action-card{background:var(--surface-2);border-radius:var(--radius-lg);padding:18px}.study-queue-item:hover,.queue-item:hover,.domain-focus-card:hover,.action-card:hover,.material-year-column button:hover,.admin-material-list button:hover,.admin-track-list button:hover{border-color:var(--accent-soft-border);transform:translateY(-2px)}.domain-focus-grid,.domain-performance-list{display:grid;gap:var(--gap)}.domain-focus-card{display:flex;flex-direction:column;gap:11px}.domain-focus-card>span,.domain-focus-card small,.domain-performance-heading span,.study-queue-item span,.study-queue-item small,.action-card span,.track-card span,.track-meta,.year-panel span,.admin-track-list span,.admin-track-list small,.progress-table span{color:var(--muted);font-size:12px;font-weight:800}.domain-focus-card strong,.action-card strong,.admin-track-list strong{color:var(--text);line-height:1.3}.domain-focus-meter{display:grid;grid-template-columns:minmax(80px,1fr) auto;align-items:center;gap:10px}.domain-focus-meter b,.domain-performance-heading b,.progress-table b,.track-meta b{color:var(--accent-ink);font-size:12.5px;font-weight:800}.action-list,.action-grid{margin-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gap)}.track-grid,.swgsb-course-grid,.admin-role-grid,.year-grid,.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap)}.track-card,.swgsb-course-card{border:var(--card-border);padding:22px;display:flex;flex-direction:column;gap:14px;color:var(--text);text-align:left;cursor:pointer;transition:transform .14s,box-shadow .14s,border-color .14s}.track-card:hover,.swgsb-course-card:hover{border-color:var(--accent-soft-border);box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}.track-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.track-card-top>div:first-child{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:5px}.track-card h3{margin:0;color:var(--text);font-size:22px;font-weight:800;letter-spacing:-.01em}.track-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.5}.track-badge{width:46px;height:46px;border-radius:var(--radius);display:grid;place-items:center;flex:0 0 auto;background:var(--accent-soft);color:var(--accent-ink);font-size:13px;font-weight:800}.track-card-foot{margin-top:auto;display:grid;gap:8px}.track-meta{display:flex;justify-content:space-between;gap:12px}.swgsb-course-card{min-height:260px}.swgsb-course-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.swgsb-course-card-head>div{min-width:0;display:grid;gap:5px}.swgsb-course-card-head span{color:var(--accent-ink);font-size:11.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.swgsb-course-card-head h3{margin:0;color:var(--text);font-size:21px;line-height:1.15;font-weight:800}.swgsb-course-card-head b{border:1px solid var(--accent-soft-border);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-ink);padding:6px 9px;flex:0 0 auto;font-size:11.5px;font-weight:900;white-space:nowrap}.swgsb-course-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.swgsb-course-stats span,.swgsb-course-flags span{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);padding:7px 9px;font-size:12px;font-weight:800}.swgsb-course-flags{display:flex;flex-wrap:wrap;gap:8px}.swgsb-course-flags span{border-color:var(--warning-soft-border);background:var(--warning-soft-bg);color:var(--warning-soft-text)}.swgsb-course-flags.ready span{border-color:var(--good);background:var(--good-bg);color:var(--good)}.swgsb-course-workspace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--gap)}.swgsb-course-workspace-card{padding:18px;display:grid;gap:6px}.swgsb-course-workspace-card span{color:var(--accent-ink);font-size:12px;font-weight:900;text-transform:uppercase}.swgsb-course-workspace-card strong{color:var(--text);font-size:28px;line-height:1;font-weight:900}.swgsb-course-workspace-card small{color:var(--muted);font-size:12px;line-height:1.4}.year-panel,.directory-card{padding:22px;text-align:left;cursor:pointer}.year-panel:hover,.directory-card:hover{border-color:var(--accent-soft-border);box-shadow:var(--card-shadow-hover)}.year-panel strong,.directory-card strong{display:block;margin-top:8px;color:var(--text);font-size:22px;font-weight:800}.directory-card p{margin-top:10px;color:var(--muted);font-size:13.5px;line-height:1.5}.year-metrics b{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent-ink)}.practice-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--gap);align-items:start}.practice-track-panel,.practice-card-panel{display:grid;gap:16px}.practice-track-list{display:grid;gap:8px}.practice-track-list button,.practice-domain-filter button,.practice-filter-bar button,.student-roster-list button,.role-assignment-card,.track-assignment-card,.content-row,.content-editor,.upload-panel,.cohort-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text)}.practice-track-list button{padding:12px;display:grid;gap:6px;text-align:left}.practice-track-list button.active,.practice-track-list button:hover,.practice-domain-filter button.active,.practice-domain-filter button:hover,.practice-filter-bar button.active,.practice-filter-bar button:hover,.student-roster-list button.active,.student-roster-list button:hover,.role-assignment-card.selected,.track-assignment-card.selected{border-color:var(--accent-soft-border);background:var(--accent-soft)}.practice-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.practice-card-heading span,.practice-track-list span,.practice-track-list small{color:var(--muted);font-size:12px;font-weight:800}.practice-card-heading h2{margin-top:6px}.practice-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.practice-domain-filter,.practice-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.practice-domain-filter button,.practice-filter-bar button{min-height:56px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-weight:800}.practice-domain-filter small,.practice-filter-bar small{min-width:24px;height:24px;border-radius:999px;display:inline-grid;place-items:center;background:var(--surface);color:var(--accent-ink);font-size:12px;font-weight:900}.practice-queue-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.practice-queue-actions>span{color:var(--muted);font-size:13px;font-weight:800}.practice-card:not(.flash){min-height:280px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:28px;display:grid;align-content:center;gap:14px}.practice-card:not(.flash).flipped{border-color:var(--accent-soft-border);background:var(--accent-soft)}.practice-card-meta span{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);padding:5px 9px;font-size:12px;font-weight:800;text-transform:uppercase}.practice-card strong{color:var(--text);font-size:24px;font-weight:800}.practice-card p{color:var(--text);font-size:18px;line-height:1.5}.track-detail{border:0;background:transparent;box-shadow:none;padding:0;display:grid;gap:var(--gap)}.track-detail>.link-button.inline{justify-self:start;margin:0}.detail-header{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--hero-bg);color:var(--hero-text);padding:30px 34px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.detail-header:after{content:"";position:absolute;right:-50px;top:-50px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(75,156,211,.3),transparent 70%)}.detail-header>div{position:relative;z-index:1}.detail-header span{color:var(--carolina-200);font-size:13px;font-weight:800}.detail-header h2{margin-top:14px;color:#fff;font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.02em}.detail-header p{margin-top:12px;max-width:620px;color:#ffffffd1;line-height:1.55}.domain-performance-panel,.course-quiz-bank,.materials{border:var(--card-border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow);padding:var(--pad)}.lesson-list{display:grid;gap:10px}.lesson-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px}.lesson-row.complete{border-color:#bfe3cd;background:var(--good-bg)}.check-button{width:42px;height:42px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--accent-ink);font-weight:900}.lesson-row.complete .check-button{border-color:var(--good);background:var(--good);color:#fff}.lesson-title-toggle{color:var(--text)}.lesson-description,.lesson-row p,.lesson-body-markdown,.empty-note{color:var(--muted);line-height:1.5}.lesson-body,.ask-answer{border-radius:var(--radius);background:var(--surface-2)}.material-list{margin-top:12px;display:grid;gap:10px}.quiz-preview-list{display:grid;gap:10px;margin:12px 0}.quiz-preview-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px}.quiz-preview-card summary{cursor:pointer;display:grid;gap:5px}.quiz-preview-card summary span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.quiz-preview-card summary strong{color:var(--text);font-size:14px}.quiz-preview-card p{margin-top:10px;color:var(--muted);line-height:1.5}.material-link{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px;display:grid;gap:4px;text-decoration:none;color:var(--text)}.material-link:hover{border-color:var(--accent-soft-border)}.material-list small,.material-link p{color:var(--muted);font-size:13px}.admin-grid{display:grid;grid-template-columns:minmax(340px,1.18fr) minmax(300px,.82fr);gap:var(--gap);align-items:start}.admin-tabs-shell,.admin-tab-stack{display:grid;gap:var(--gap)}.admin-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--border)}.admin-tab{position:relative;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:0;background:transparent;color:var(--muted);padding:12px 4px 14px;box-shadow:none;white-space:nowrap}.admin-tab:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;border-radius:999px 999px 0 0;background:transparent;content:""}.admin-tab b{min-width:24px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);font-size:12px;line-height:1;padding:4px 7px;text-align:center}.admin-tab.active,.admin-tab:hover{background:transparent;color:var(--navy-700);transform:none}.admin-tab.active:after{background:var(--accent)}.admin-tab.active b{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent-ink)}.admin-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.admin-roster-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:16px;display:grid;gap:12px}.admin-roster-top{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center}.admin-roster-top>div:last-child,.admin-roster-card small{min-width:0}.admin-roster-top strong,.admin-roster-top span,.admin-roster-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-roster-top span,.admin-roster-card small{color:var(--muted);font-size:13px}.admin-roster-roles,.admin-roster-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-roster-roles span{border:1px solid var(--accent-soft-border);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:700;padding:5px 9px}.admin-roster-meta{color:var(--muted);font-size:13px}.admin-roster-meta b{margin-left:auto;color:var(--accent-ink);font-size:18px}.assignment-panel,.cohort-panel,.admin-materials-panel,.admin-progress-panel{grid-column:1 / -1}.content-editor,.upload-panel{padding:14px;display:grid;gap:12px}.content-row{padding:12px;display:grid;gap:12px;background:var(--surface)}.content-editor-heading,.content-row-heading,.upload-heading,.material-column-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.button-row{display:flex;flex-wrap:wrap;gap:10px}.form-row,.student-roster-tools,.assignment-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-roster-list,.role-assignment-grid,.track-assignment-grid,.admin-material-list,.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.student-roster-list button{padding:12px;text-align:left}.role-assignment-card,.track-assignment-card{padding:12px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px}.selected-student{border:1px solid var(--accent-soft-border);border-radius:var(--radius);background:var(--accent-soft);padding:10px 12px}.student-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.student-chip-list button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);max-width:100%;overflow:hidden;padding:7px 10px;text-overflow:ellipsis;white-space:nowrap}.student-chip-list button.active{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent-ink)}.report-toolbar{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end;margin-bottom:16px}.report-checkbox{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding-bottom:2px;font-size:.92rem;color:var(--muted)}.report-checkbox input{width:16px;height:16px}.stale-badge{color:var(--warn, #a15c00)}.progress-table{display:grid;gap:10px}.progress-table article{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(130px,190px) minmax(150px,.8fr) minmax(90px,120px);gap:12px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px}.cohort-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--gap)}.cohort-list{display:flex;flex-direction:column;gap:8px}.cohort-card{padding:12px}.landing-screen{min-height:100vh;background:var(--canvas);color:var(--text)}.landing-header{border-bottom:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.landing-hero{width:min(1120px,100%);grid-template-columns:minmax(0,1fr) minmax(320px,.76fr)}.landing-hero-copy h1{color:var(--navy-700);font-size:4.2rem;line-height:.96;letter-spacing:-.03em}.landing-hero-copy p{color:var(--muted)}.landing-score-display,.landing-feature-card,.toast{border:var(--card-border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.landing-preview-list span{border-color:var(--border);border-radius:var(--radius);background:var(--surface-2)}.toast{border-radius:var(--radius)}@media(max-width:1100px){.auth-screen-split{grid-template-columns:1fr}.auth-aside{display:none}.dash-2col,.admin-grid,.cohort-grid,.report-toolbar,.study-queue-grid,.material-board{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.sidebar{min-height:auto;height:auto;border-right:0;border-bottom:1px solid var(--chrome-border)}.sidebar-brand{padding:14px 16px}.nav{display:flex;flex-flow:row nowrap;overflow-x:auto;padding:8px 12px 12px}.nav-section{display:flex;flex-flow:row nowrap;gap:6px}.nav-group{display:none}.nav-btn{width:auto;white-space:nowrap;box-shadow:none}.user-card{display:none}.workspace{height:auto;overflow:visible;padding:22px 18px 44px}.topbar,.hero,.hero-panel,.detail-header,.practice-card-heading,.section-heading,.section-head,.content-editor-heading,.content-row-heading{flex-direction:column;align-items:flex-start}.stat-row,.practice-grid,.practice-domain-filter,.practice-filter-bar,.form-row,.student-roster-tools,.assignment-picker,.progress-table article{grid-template-columns:1fr}.track-grid,.year-grid{grid-template-columns:1fr}.hero h2,.hero-panel h2{font-size:32px}.score-ring{width:126px;height:126px}.score-ring:before{top:14px;right:14px;bottom:14px;left:14px}.ghost-button{display:inline-flex}.progress-table b{text-align:left}}@media(max-width:520px){.auth-main,.workspace{padding:16px}.auth-panel,.state-panel,.panel,.domain-performance-panel,.materials,.hero,.hero-panel,.detail-header{padding:18px}.topbar h1{font-size:28px}.hero h2,.hero-panel h2,.landing-hero-copy h1{font-size:30px}.stat-row,.marks{grid-template-columns:1fr}}:root{--navy-900: #071a2d;--navy-800: #0b233b;--navy-700: #123454;--navy-600: #214a70;--carolina: #5db8e8;--carolina-300: #8fd0f0;--carolina-200: #c9e9f8;--carolina-100: #edf8fd;--carolina-deep: #277fae;--canvas: #f5f5f2;--surface: #ffffff;--surface-2: #f8f9f8;--surface-inset: #eef2f3;--chrome: #0b233b;--chrome-text: #aebdca;--chrome-text-strong: #ffffff;--chrome-active: #173a59;--chrome-border: rgba(255, 255, 255, .1);--text: #12263a;--muted: #627181;--faint: #8b98a4;--border: #e1e6e8;--border-strong: #ccd5da;--hairline: #edf0f1;--accent: #3aa9dc;--accent-ink: #146e98;--accent-soft: #e8f6fc;--accent-soft-border: #c8e8f5;--radius: 12px;--radius-lg: 18px;--shadow-lg: 0 28px 65px -38px rgba(4, 24, 43, .55);--card-shadow: 0 1px 1px rgba(7, 26, 45, .03), 0 12px 28px -24px rgba(7, 26, 45, .35);--card-shadow-hover: 0 20px 42px -28px rgba(7, 26, 45, .42);--hero-bg: #0b233b;--gap: 20px;--pad: 26px}.learn[data-dir=mobbin]{--ink: #17223b;--ink-soft: #59647a;--paper: #f7f5ef;--surface: #ffffff;--line: #dedbd2;--blue: #2f68ff;--blue-dark: #1747cb;--blue-wash: #e9efff;--mint: #d9f5e7;--yellow: #ffd949;--shadow-soft: 0 14px 40px rgba(25, 35, 56, .08);min-height:100vh;background:var(--paper);color:var(--ink)}.learn[data-dir=mobbin] .app-shell{display:block;height:auto;min-height:100vh;overflow:visible;background:var(--paper)}.learn[data-dir=mobbin] .sidebar{position:sticky;inset:0 0 auto;z-index:40;min-height:72px;width:100%;padding:0 32px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;background:#fffffff5;border:0;border-bottom:1px solid var(--line);color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:auto;max-height:none;overflow:visible;flex-direction:row}.learn[data-dir=mobbin] .sidebar-brand{margin:0;min-width:170px;color:var(--ink)}.learn[data-dir=mobbin] .sidebar-brand .brand-mark{background:var(--ink);color:#fff;border:0;border-radius:9px;box-shadow:none}.learn[data-dir=mobbin] .sidebar-brand .brand-text strong{color:var(--ink);font-size:17px}.learn[data-dir=mobbin] .sidebar-brand .brand-text span{display:none}.learn[data-dir=mobbin] .nav{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;flex-direction:row;padding:0}.learn[data-dir=mobbin] .nav::-webkit-scrollbar{display:none}.learn[data-dir=mobbin] .nav-section{display:contents}.learn[data-dir=mobbin] .nav-group{display:none}.learn[data-dir=mobbin] .nav-item{position:relative;flex:0 0 auto}.learn[data-dir=mobbin] .nav-btn{min-height:72px;padding:0 13px;display:flex;gap:7px;align-items:center;background:transparent;border:0;border-radius:0;color:var(--ink-soft);font-size:13px;font-weight:650}.learn[data-dir=mobbin] .nav-btn svg{width:17px;height:17px}.learn[data-dir=mobbin] .nav-btn:hover{background:transparent;color:var(--ink)}.learn[data-dir=mobbin] .nav-btn.active{background:transparent;color:var(--ink);box-shadow:inset 0 -3px var(--blue)}.learn[data-dir=mobbin] .nav-chevron{font-size:10px;opacity:.55}.learn[data-dir=mobbin] .nav-submenu{display:none;position:absolute;top:calc(100% - 1px);left:0;min-width:160px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:var(--shadow-soft)}.learn[data-dir=mobbin] .nav-item.has-children:hover .nav-submenu,.learn[data-dir=mobbin] .nav-item.has-children:focus-within .nav-submenu{display:grid}.learn[data-dir=mobbin] .nav-sub-btn{width:100%;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left}.learn[data-dir=mobbin] .nav-sub-btn:hover,.learn[data-dir=mobbin] .nav-sub-btn.active{background:var(--blue-wash);color:var(--blue-dark)}.learn[data-dir=mobbin] .user-card{margin:0;padding:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink)}.learn[data-dir=mobbin] .user-card .avatar{width:36px;height:36px;background:var(--blue-wash);color:var(--blue-dark);border:0}.learn[data-dir=mobbin] .user-card .who{display:none}.learn[data-dir=mobbin] .user-card .signout{color:var(--ink-soft);font-size:12px}.learn[data-dir=mobbin] .workspace{width:min(1380px,100%);min-height:calc(100vh - 72px);padding:0 48px 80px;background:transparent;margin:0 auto;overflow:visible}.learn[data-dir=mobbin] .topbar{padding:44px 0 28px;background:transparent;border:0;align-items:end}.learn[data-dir=mobbin] .topbar .eyebrow{margin-bottom:10px;color:var(--blue-dark);font-size:11px;letter-spacing:.12em}.learn[data-dir=mobbin] .topbar h1{max-width:760px;margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,4vw,58px);line-height:.98;letter-spacing:-.035em}.learn[data-dir=mobbin] .topbar .sub{max-width:680px;margin-top:14px;color:var(--ink-soft)}.learn[data-dir=mobbin] .topbar-actions .role-chip{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.learn[data-dir=mobbin] .topbar-actions .ghost-button,.learn[data-dir=mobbin][data-view=dashboard] .topbar{display:none}.learn[data-dir=mobbin] button:not(.link-button):not(.signout):not(.nav-btn):not(.nav-sub-btn){border-radius:8px}.learn[data-dir=mobbin] .panel{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:none}.learn[data-dir=mobbin] .daily-command-center{gap:24px;padding-top:54px}.learn[data-dir=mobbin] .today-header{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:0 0 16px}.learn[data-dir=mobbin] .today-header h2{margin:6px 0 10px;max-width:720px;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.04em}.learn[data-dir=mobbin] .today-header p{max-width:630px;margin:0;color:var(--ink-soft);font-size:16px}.learn[data-dir=mobbin] .today-date{display:grid;gap:2px;min-width:170px;padding-bottom:8px}.learn[data-dir=mobbin] .today-date strong{font-size:20px}.learn[data-dir=mobbin] .today-date span{color:var(--ink-soft);font-size:13px}.learn[data-dir=mobbin] .today-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.learn[data-dir=mobbin] .today-plan{padding:0;overflow:hidden}.learn[data-dir=mobbin] .today-plan-heading{padding:24px 26px 18px;border-bottom:1px solid var(--line)}.learn[data-dir=mobbin] .today-plan-heading h3{margin:4px 0 0;font-size:24px}.learn[data-dir=mobbin] .plan-kicker{color:var(--blue-dark);font-size:10px;font-weight:800;letter-spacing:.12em}.learn[data-dir=mobbin] .plan-steps{display:grid}.learn[data-dir=mobbin] .plan-editor{padding:22px 26px 24px;background:#f3f1ea;border-bottom:1px solid var(--line)}.learn[data-dir=mobbin] .plan-editor-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}.learn[data-dir=mobbin] .plan-editor-heading strong{font-size:16px}.learn[data-dir=mobbin] .plan-editor-heading span{color:var(--ink-soft);font-size:11px}.learn[data-dir=mobbin] .plan-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.learn[data-dir=mobbin] .plan-editor label{display:grid;gap:7px;color:var(--ink-soft);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.learn[data-dir=mobbin] .plan-editor select{width:100%;min-height:42px;padding:0 12px;border:1px solid #c9c5bb;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:650;letter-spacing:0;text-transform:none}.learn[data-dir=mobbin] .plan-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.learn[data-dir=mobbin] .plan-editor-actions button{min-width:100px}.learn[data-dir=mobbin] .plan-step{width:100%;min-height:116px;padding:22px 26px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left}.learn[data-dir=mobbin] .plan-step:last-child{border-bottom:0}.learn[data-dir=mobbin] .plan-step:hover{background:#faf9f5;transform:none}.learn[data-dir=mobbin] .plan-step.primary-step{background:var(--blue);color:#fff}.learn[data-dir=mobbin] .plan-step.primary-step:hover{background:var(--blue-dark)}.learn[data-dir=mobbin] .plan-index{font-family:Georgia,serif;font-size:24px;opacity:.55}.learn[data-dir=mobbin] .plan-copy{display:grid;gap:4px}.learn[data-dir=mobbin] .plan-copy small{font-size:9px;font-weight:800;letter-spacing:.12em;opacity:.72}.learn[data-dir=mobbin] .plan-copy strong{font-size:18px;line-height:1.2}.learn[data-dir=mobbin] .plan-copy>span{font-size:13px;opacity:.72}.learn[data-dir=mobbin] .plan-action{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:750}.learn[data-dir=mobbin] .plan-action .ico{width:16px;height:16px;flex:0 0 auto}.learn[data-dir=mobbin] .week-card{padding:24px;display:flex;flex-direction:column;background:var(--ink);color:#fff;border-radius:14px}.learn[data-dir=mobbin] .week-card-top{display:flex;justify-content:space-between;align-items:start}.learn[data-dir=mobbin] .week-card-top>span{color:#c6cde0;font-size:13px}.learn[data-dir=mobbin] .week-card-top strong{font-size:28px}.learn[data-dir=mobbin] .week-card-top small{color:#9da8c0;font-size:11px;font-weight:500}.learn[data-dir=mobbin] .week-days{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:22px}.learn[data-dir=mobbin] .week-days span{aspect-ratio:1;display:grid;place-items:center;border:1px solid #49536b;border-radius:50%;color:#8f9ab3;font-size:10px}.learn[data-dir=mobbin] .week-days span.done{border-color:var(--yellow);background:var(--yellow);color:var(--ink)}.learn[data-dir=mobbin] .week-card-divider{height:1px;margin:24px 0;background:#39445c}.learn[data-dir=mobbin] .week-score{display:flex;align-items:center;justify-content:space-between}.learn[data-dir=mobbin] .week-score>div:first-child{display:grid;gap:3px}.learn[data-dir=mobbin] .week-score small{color:#8f9ab3;font-size:9px;letter-spacing:.12em}.learn[data-dir=mobbin] .week-score strong{font-size:34px}.learn[data-dir=mobbin] .week-ring{width:48px;height:48px;border-radius:50%;background:conic-gradient(var(--yellow) var(--score-deg),#3d4860 0);mask:radial-gradient(circle at center,transparent 58%,#000 60%)}.learn[data-dir=mobbin] .week-card p{margin:auto 0 0;padding-top:18px;color:#aeb7cb;font-size:12px;line-height:1.5}.learn[data-dir=mobbin] .learning-pulse{grid-template-columns:repeat(4,1fr);margin:2px 0 4px}.learn[data-dir=mobbin] .learning-pulse .metric{padding:18px 20px;background:transparent;border:0;border-right:1px solid var(--line);border-radius:0}.learn[data-dir=mobbin] .learning-pulse .metric:last-child{border-right:0}.learn[data-dir=mobbin] .learning-pulse .metric strong{color:var(--ink);font-family:Georgia,serif;font-size:30px}.learn[data-dir=mobbin] .learning-pulse .metric span{color:var(--ink-soft)}.learn[data-dir=mobbin] .dash-2col{gap:18px}.learn[data-dir=mobbin] .dash-2col>.panel{min-height:480px}.learn[data-dir=mobbin] .section-heading h3{color:var(--ink);font-size:22px}.learn[data-dir=mobbin] .action-list{grid-template-columns:repeat(4,minmax(0,1fr))}.learn[data-dir=mobbin] .action-card{min-height:180px;padding:20px;border:1px solid var(--line);background:#fff;color:var(--ink)}.learn[data-dir=mobbin] .action-card:hover{border-color:var(--blue);background:var(--blue-wash);transform:translateY(-2px)}.learn[data-dir=mobbin] .track-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.learn[data-dir=mobbin] .track-card{min-height:280px;padding:24px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.learn[data-dir=mobbin] .track-card:nth-child(3n+1){background:var(--blue-wash)}.learn[data-dir=mobbin] .track-card:nth-child(3n+2){background:#f1ede4}.learn[data-dir=mobbin] .track-card:nth-child(3n){background:var(--mint)}.learn[data-dir=mobbin] .track-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:var(--ink)}.learn[data-dir=mobbin] .track-card h3{margin-top:28px;color:var(--ink);font-family:Georgia,serif;font-size:27px;line-height:1.06}.learn[data-dir=mobbin] .track-card p{color:var(--ink-soft)}.learn[data-dir=mobbin] .track-card-foot{margin-top:auto}.learn[data-dir=mobbin] .track-badge{border-color:#17223b33;background:#ffffff8c;color:var(--ink)}.learn[data-dir=mobbin] .track-open{color:var(--blue-dark)}.learn[data-dir=mobbin] .swgsb-overview-hero{min-height:410px;padding:44px;background:linear-gradient(135deg,#17223b,#203e67);border:0;border-radius:16px;color:#fff}.learn[data-dir=mobbin] .swgsb-overview-hero h2{max-width:760px;color:#fff;font-family:Georgia,serif;font-size:clamp(40px,5vw,66px);line-height:.98}.learn[data-dir=mobbin] .swgsb-overview-hero p{max-width:690px;color:#c5cfdf;font-size:16px}.learn[data-dir=mobbin] .swgsb-overview-hero .eyebrow{color:#9bc7ff}.learn[data-dir=mobbin] .swgsb-overview-hero .score-ring{background:conic-gradient(var(--yellow) var(--score-deg, 0deg),#4d607e 0)}.learn[data-dir=mobbin] .year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.learn[data-dir=mobbin] .year-panel{min-height:290px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left}.learn[data-dir=mobbin] .year-panel:nth-child(1){background:var(--blue-wash)}.learn[data-dir=mobbin] .year-panel:nth-child(2){background:#f1ede4}.learn[data-dir=mobbin] .year-panel:nth-child(3){background:var(--mint)}.learn[data-dir=mobbin] .year-panel>span{color:var(--blue-dark);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.learn[data-dir=mobbin] .year-panel strong{margin-top:28px;color:var(--ink);font-family:Georgia,serif;font-size:31px}.learn[data-dir=mobbin] .year-panel p{color:var(--ink-soft);line-height:1.55}.learn[data-dir=mobbin] .year-panel .year-metrics{margin-top:auto;color:var(--ink)}.learn[data-dir=mobbin] .directory-grid{grid-template-columns:repeat(2,1fr);gap:16px}.learn[data-dir=mobbin] .directory-card{min-height:190px;padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left}.learn[data-dir=mobbin] .directory-card strong{color:var(--ink);font-family:Georgia,serif;font-size:28px}.learn[data-dir=mobbin] .directory-card p{color:var(--ink-soft)}.learn[data-dir=mobbin] .swgsb-year-hero{padding:34px 38px;display:flex;justify-content:space-between;align-items:end;gap:30px;background:var(--ink);color:#fff}.learn[data-dir=mobbin] .swgsb-year-hero h2{margin:8px 0;color:#fff;font-family:Georgia,serif;font-size:52px}.learn[data-dir=mobbin] .swgsb-year-hero p{max-width:650px;margin:0;color:#bec8da}.learn[data-dir=mobbin] .swgsb-year-hero>div>span{color:#8fb7ff;font-size:10px;font-weight:800;letter-spacing:.12em}.learn[data-dir=mobbin] .swgsb-year-progress{min-width:160px;display:grid;gap:3px;text-align:right}.learn[data-dir=mobbin] .swgsb-year-progress strong{color:var(--yellow);font-size:38px}.learn[data-dir=mobbin] .swgsb-year-progress span{color:#aeb9cf;font-size:12px}.learn[data-dir=mobbin] .swgsb-year-nav{display:flex;justify-content:space-between;align-items:center}.learn[data-dir=mobbin] .swgsb-year-nav button{display:inline-flex;align-items:center;gap:8px}.learn[data-dir=mobbin] .swgsb-year-nav .ico{width:16px;height:16px}.learn[data-dir=mobbin] .swgsb-directory-panel{padding:34px}.learn[data-dir=mobbin] .swgsb-directory-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:28px;border-bottom:1px solid var(--line)}.learn[data-dir=mobbin] .swgsb-directory-heading>div>span{color:var(--blue-dark);font-size:10px;font-weight:800;letter-spacing:.12em}.learn[data-dir=mobbin] .swgsb-directory-heading h2{margin:8px 0;font-family:Georgia,serif;font-size:42px}.learn[data-dir=mobbin] .swgsb-directory-heading p{margin:0;color:var(--ink-soft)}.learn[data-dir=mobbin] .swgsb-directory-heading label{min-width:min(360px,45%);display:grid;gap:7px;color:var(--ink-soft);font-size:11px;font-weight:750}.learn[data-dir=mobbin] .swgsb-directory-heading input{min-height:44px;padding:0 14px;border:1px solid #c9c5bb;border-radius:8px;background:#fff;color:var(--ink)}.learn[data-dir=mobbin] .swgsb-directory-count{padding:24px 0 16px;display:flex;align-items:baseline;gap:8px}.learn[data-dir=mobbin] .swgsb-directory-count strong{font-family:Georgia,serif;font-size:32px}.learn[data-dir=mobbin] .swgsb-directory-count span{color:var(--ink-soft);font-size:12px}.learn[data-dir=mobbin] .swgsb-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learn[data-dir=mobbin] .swgsb-directory-grid article{padding:18px;display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fbfaf6}.learn[data-dir=mobbin] .swgsb-directory-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--blue-wash);color:var(--blue-dark);font-size:13px;font-weight:800}.learn[data-dir=mobbin] .swgsb-directory-grid article>div:last-child{min-width:0;display:grid;gap:3px}.learn[data-dir=mobbin] .swgsb-directory-grid article strong{font-size:15px}.learn[data-dir=mobbin] .swgsb-directory-grid article span,.learn[data-dir=mobbin] .swgsb-directory-grid article small{color:var(--ink-soft);font-size:11px}.learn[data-dir=mobbin] .swgsb-directory-grid article a{color:var(--blue-dark);font-size:12px;overflow:hidden;text-overflow:ellipsis}.learn[data-dir=mobbin] .track-detail{padding:0;overflow:hidden;border-radius:16px}.learn[data-dir=mobbin] .track-detail>.link-button.inline{display:block;width:100%;padding:18px 26px;border-bottom:1px solid var(--line);text-align:left}.learn[data-dir=mobbin] .detail-header{padding:34px 36px;background:var(--ink);color:#fff}.learn[data-dir=mobbin] .detail-header h2{max-width:780px;color:#fff;font-family:Georgia,serif;font-size:clamp(34px,4.2vw,58px);line-height:1}.learn[data-dir=mobbin] .detail-header p{color:#bdc6da}.learn[data-dir=mobbin] .detail-header>div>span{color:#94a2c0}.learn[data-dir=mobbin] .detail-header button{background:var(--yellow);color:var(--ink)}.learn[data-dir=mobbin] .detail-header .secondary-button{background:transparent;border-color:#6b7893;color:#fff}.learn[data-dir=mobbin] .detail-header .score-ring{background:conic-gradient(var(--yellow) var(--score-deg),#46516a 0)}.learn[data-dir=mobbin] .detail-progress{height:5px;border-radius:0;background:#e8e5dd}.learn[data-dir=mobbin] .detail-progress span{background:var(--yellow)}.learn[data-dir=mobbin] .track-detail>.domain-performance-panel,.learn[data-dir=mobbin] .track-detail>.swgsb-course-workspace-grid,.learn[data-dir=mobbin] .track-detail>.course-quiz-bank,.learn[data-dir=mobbin] .track-detail>.materials{margin:30px 36px}.learn[data-dir=mobbin] .lesson-list{margin:0;padding:0;border-top:1px solid var(--line)}.learn[data-dir=mobbin] .lesson-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;margin:0;padding:20px 36px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff}.learn[data-dir=mobbin] .lesson-row:has(.lesson-title-toggle[aria-expanded=true]){padding-top:28px;padding-bottom:34px;background:#fbfaf6}.learn[data-dir=mobbin] .check-button{width:34px;height:34px;border:1px solid #c9c5bb;border-radius:50%!important;background:transparent;color:var(--ink)}.learn[data-dir=mobbin] .lesson-row.complete .check-button{background:var(--mint);border-color:#6bc89a;color:#105c3b}.learn[data-dir=mobbin] .lesson-title-toggle strong{color:var(--ink);font-size:17px}.learn[data-dir=mobbin] .lesson-body{margin-top:22px;padding:28px;border:1px solid var(--line);border-radius:10px;background:#fff}.learn[data-dir=mobbin] .practice-grid{grid-template-columns:260px minmax(0,1fr);gap:0;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.learn[data-dir=mobbin] .practice-grid>.panel{border:0;border-radius:0}.learn[data-dir=mobbin] .practice-track-panel{padding:24px 18px;background:#f0eee7;border-right:1px solid var(--line)!important}.learn[data-dir=mobbin] .practice-track-panel .section-heading{padding:0 8px}.learn[data-dir=mobbin] .practice-track-list button{padding:14px;border:1px solid transparent;border-radius:9px!important;background:transparent;color:var(--ink)}.learn[data-dir=mobbin] .practice-track-list button.active{border-color:var(--line);background:#fff;color:var(--ink);box-shadow:0 5px 16px #17223b12}.learn[data-dir=mobbin] .practice-card-panel{min-height:720px;padding:26px 38px 34px;display:flex;flex-direction:column;background:#fff}.learn[data-dir=mobbin] .practice-card-heading{padding-bottom:20px;border-bottom:1px solid var(--line)}.learn[data-dir=mobbin] .practice-card-panel>.practice-card-heading{order:0}.learn[data-dir=mobbin] .practice-card-panel>.practice-card{order:1}.learn[data-dir=mobbin] .practice-card-panel>.practice-toolbar{order:2}.learn[data-dir=mobbin] .practice-card-panel>.form-error{order:3}.learn[data-dir=mobbin] .practice-card-panel>.practice-stats,.learn[data-dir=mobbin] .practice-card-panel>.practice-domain-filter,.learn[data-dir=mobbin] .practice-card-panel>.practice-filter-bar,.learn[data-dir=mobbin] .practice-card-panel>.practice-queue-actions,.learn[data-dir=mobbin] .practice-card-panel>.empty-note{order:4}.learn[data-dir=mobbin] .practice-stats{grid-template-columns:repeat(5,1fr);gap:0;margin:0;border-bottom:1px solid var(--line)}.learn[data-dir=mobbin] .practice-stats .metric{padding:14px 12px;background:transparent;border:0;border-right:1px solid var(--line);border-radius:0}.learn[data-dir=mobbin] .practice-domain-filter,.learn[data-dir=mobbin] .practice-filter-bar{margin-top:18px;padding:4px;gap:4px;border:0;border-radius:10px;background:#f0eee8}.learn[data-dir=mobbin] .practice-domain-filter{display:flex;flex-wrap:nowrap;overflow-x:auto}.learn[data-dir=mobbin] .practice-domain-filter button{min-width:150px;max-width:220px;min-height:58px;padding:10px 12px}.learn[data-dir=mobbin] .practice-domain-filter button span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.2}.learn[data-dir=mobbin] .practice-domain-filter button,.learn[data-dir=mobbin] .practice-filter-bar button{border:0;background:transparent;color:var(--ink-soft)}.learn[data-dir=mobbin] .practice-domain-filter button.active,.learn[data-dir=mobbin] .practice-filter-bar button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #17223b14}.learn[data-dir=mobbin] .practice-queue-actions{color:var(--ink-soft)}.learn[data-dir=mobbin] .practice-card-panel>.practice-card{width:100%;min-height:290px;max-width:780px;margin:32px auto 20px;padding:42px 48px;display:flex;flex-direction:column;justify-content:center;border:1px solid #c9c5bb;border-radius:12px;background:#fbfaf6;color:var(--ink);box-shadow:0 12px 34px #17223b0f}.learn[data-dir=mobbin] .practice-card-panel>.practice-card.flipped{background:var(--mint);border-color:#70c89b}.learn[data-dir=mobbin] .practice-card-panel>.practice-card>strong{color:var(--blue-dark);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.learn[data-dir=mobbin] .practice-card-panel>.practice-card>p{max-width:650px;color:var(--ink);font-family:Georgia,serif;font-size:clamp(25px,3vw,38px);line-height:1.22}.learn[data-dir=mobbin] .practice-card-panel>.practice-toolbar{justify-content:center}@media(max-width:1120px){.learn[data-dir=mobbin] .sidebar{grid-template-columns:auto 1fr auto;padding:0 20px;gap:14px}.learn[data-dir=mobbin] .sidebar-brand{min-width:auto}.learn[data-dir=mobbin] .sidebar-brand .brand-text{display:none}.learn[data-dir=mobbin] .nav-btn{padding-inline:9px}.learn[data-dir=mobbin] .nav-btn span:not(.nav-chevron){display:none}.learn[data-dir=mobbin] .workspace{padding-inline:28px}.learn[data-dir=mobbin] .action-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.learn[data-dir=mobbin]{padding-bottom:72px}.learn[data-dir=mobbin] .sidebar{position:fixed;inset:auto 0 0;min-height:66px;padding:0;grid-template-columns:1fr;border-top:1px solid var(--line);border-bottom:0}.learn[data-dir=mobbin] .sidebar-brand,.learn[data-dir=mobbin] .user-card{display:none}.learn[data-dir=mobbin] .nav{width:100%;justify-content:space-around;overflow:visible}.learn[data-dir=mobbin] .nav-section{display:contents}.learn[data-dir=mobbin] .nav-section:nth-child(3) .nav-item:nth-child(3){display:none}.learn[data-dir=mobbin] .nav-btn{min-height:66px;min-width:58px;padding:8px 6px;flex-direction:column;justify-content:center;gap:3px;font-size:9px}.learn[data-dir=mobbin] .nav-btn span:not(.nav-chevron){display:inline}.learn[data-dir=mobbin] .nav-chevron,.learn[data-dir=mobbin] .nav-submenu{display:none!important}.learn[data-dir=mobbin] .nav-btn.active{box-shadow:inset 0 3px var(--blue)}.learn[data-dir=mobbin] .workspace{padding:0 16px 32px;min-height:auto}.learn[data-dir=mobbin] .topbar{padding-top:28px}.learn[data-dir=mobbin] .topbar h1{font-size:38px}.learn[data-dir=mobbin] .topbar-actions{display:none}.learn[data-dir=mobbin] .daily-command-center{padding-top:30px}.learn[data-dir=mobbin] .today-header{display:block}.learn[data-dir=mobbin] .today-header h2{font-size:44px}.learn[data-dir=mobbin] .today-date{margin-top:20px}.learn[data-dir=mobbin] .today-layout{grid-template-columns:1fr}.learn[data-dir=mobbin] .plan-step{min-height:120px;padding:18px;grid-template-columns:30px 1fr}.learn[data-dir=mobbin] .plan-action{grid-column:2}.learn[data-dir=mobbin] .plan-editor{padding:20px 18px}.learn[data-dir=mobbin] .plan-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learn[data-dir=mobbin] .learning-pulse{grid-template-columns:repeat(2,1fr)}.learn[data-dir=mobbin] .learning-pulse .metric:nth-child(2){border-right:0}.learn[data-dir=mobbin] .dash-2col,.learn[data-dir=mobbin] .action-list,.learn[data-dir=mobbin] .track-grid{grid-template-columns:1fr}.learn[data-dir=mobbin] .detail-header{padding:28px 22px}.learn[data-dir=mobbin] .detail-header h2{font-size:38px}.learn[data-dir=mobbin] .lesson-row{padding:18px 20px}.learn[data-dir=mobbin] .track-detail>.domain-performance-panel,.learn[data-dir=mobbin] .track-detail>.swgsb-course-workspace-grid,.learn[data-dir=mobbin] .track-detail>.course-quiz-bank,.learn[data-dir=mobbin] .track-detail>.materials{margin:22px 20px}.learn[data-dir=mobbin] .practice-grid{grid-template-columns:1fr}.learn[data-dir=mobbin] .practice-track-panel{border-right:0!important;border-bottom:1px solid var(--line)!important}.learn[data-dir=mobbin] .practice-track-list{display:flex;overflow-x:auto}.learn[data-dir=mobbin] .practice-track-list button{min-width:230px}.learn[data-dir=mobbin] .practice-card-panel{min-height:620px;padding:20px 16px}.learn[data-dir=mobbin] .practice-stats{grid-template-columns:repeat(3,1fr);overflow-x:auto}.learn[data-dir=mobbin] .practice-card-panel>.practice-card{margin-top:26px;padding:28px 22px}.learn[data-dir=mobbin] .year-grid,.learn[data-dir=mobbin] .directory-grid,.learn[data-dir=mobbin] .swgsb-directory-grid{grid-template-columns:1fr}.learn[data-dir=mobbin] .swgsb-overview-hero{padding:28px 22px}.learn[data-dir=mobbin] .swgsb-year-hero,.learn[data-dir=mobbin] .swgsb-directory-heading{display:block}.learn[data-dir=mobbin] .swgsb-year-progress{margin-top:24px;text-align:left}.learn[data-dir=mobbin] .swgsb-directory-panel{padding:24px 18px}.learn[data-dir=mobbin] .swgsb-directory-heading label{min-width:0;margin-top:22px}}body{background:radial-gradient(circle at 84% -10%,rgba(93,184,232,.11),transparent 34rem),var(--canvas)}.learn{background:transparent}.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 14px;border-radius:8px;background:#fff;color:var(--navy-900);font-weight:800;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{grid-template-columns:248px minmax(0,1fr)}.sidebar{border-right:0;box-shadow:12px 0 34px -30px #071a2de6}.sidebar-brand{min-height:82px;padding:20px}.sidebar-brand .brand-mark{width:38px;height:38px;border-radius:11px;background:var(--carolina);color:var(--navy-900);box-shadow:0 9px 22px -12px #5db8e8bf}.sidebar-brand .brand-text strong{color:#fff;font-size:16px}.sidebar-brand .brand-text span{color:#8fa5b8;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em}.sidebar .nav{padding:18px 12px;gap:8px}.nav-section{gap:3px}.nav-group{padding:13px 10px 5px;color:#7590a6;opacity:1}.sidebar .nav-btn{min-height:42px;border-radius:10px;padding:10px 11px;color:#aebdca;font-weight:650}.nav-btn:hover,.sidebar nav button:hover{background:#ffffff0f;color:#fff}.nav-btn.active,.sidebar nav button.active{background:var(--chrome-active);color:#fff;box-shadow:inset 3px 0 0 var(--carolina),0 8px 18px -14px #000c}.nav-btn.active .ico{color:var(--carolina)}.nav-submenu{border-left-color:#ffffff1f}.sidebar nav .nav-sub-btn.active{background:#5db8e821;color:#fff}.user-card{margin:12px;padding:13px 8px 4px;border-top-color:var(--chrome-border)}.user-card .avatar{background:#5db8e82e;color:var(--carolina-200)}.workspace{max-width:1540px;margin:0 auto;padding:34px clamp(24px,3.4vw,58px) 72px;scrollbar-gutter:stable}.topbar{margin-bottom:30px;align-items:center}.topbar .eyebrow{margin-bottom:9px;color:var(--accent-ink);font-size:11px;letter-spacing:.12em}.topbar h1{font-size:clamp(31px,3vw,44px);line-height:1;letter-spacing:-.035em}.topbar .sub,.topbar p{max-width:680px;font-size:14px}.role-chip{border-color:var(--border);background:#ffffffb8;color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel,.metric-card,.track-card,.swgsb-course-card,.swgsb-course-workspace-card,.year-panel,.admin-role-grid article{box-shadow:var(--card-shadow)}.dashboard-hero{min-height:330px;padding:clamp(30px,4vw,54px);align-items:stretch;background:radial-gradient(circle at 80% 18%,rgba(93,184,232,.24),transparent 17rem),linear-gradient(125deg,#071a2d,#0d2b47 68%,#123b5c)}.dashboard-hero:after{width:380px;height:380px;right:-120px;top:-180px;border:1px solid rgba(255,255,255,.08);background:transparent}.dashboard-hero .hero-body{flex:1 1 58%;align-self:center}.dashboard-hero h2{max-width:670px;font-size:clamp(36px,4.2vw,58px);line-height:1.02;letter-spacing:-.035em}.dashboard-hero p{margin-top:16px;font-size:15px}.hero-progress{width:min(440px,100%);height:6px;margin-top:18px;overflow:hidden;border-radius:999px;background:#ffffff24}.hero-progress span{display:block;height:100%;min-width:5px;border-radius:inherit;background:var(--carolina)}.dashboard-hero .hero-cta button:first-child{background:var(--carolina);color:var(--navy-900);box-shadow:0 12px 24px -16px #5db8e8e6}.momentum-card{position:relative;z-index:1;width:min(360px,38%);min-width:300px;align-self:center;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:#ffffff13;box-shadow:inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.momentum-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.momentum-card-head span{color:#b8c9d7;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.momentum-card-head strong{color:#fff;font-size:36px;line-height:1}.momentum-bar{height:7px;margin-top:18px;overflow:hidden;border-radius:999px;background:#ffffff1f}.momentum-bar span{display:block;height:100%;min-width:5px;border-radius:inherit;background:var(--carolina)}.momentum-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.momentum-stats div{min-width:0}.momentum-stats strong,.momentum-stats span{display:block}.momentum-stats strong{color:#fff;font-size:21px}.momentum-stats span{margin-top:4px;color:#9fb4c4;font-size:10.5px;line-height:1.25}.stat-row{gap:12px}.metric-card{position:relative;overflow:hidden;padding:18px 20px;border-color:#e1e6e8d1;background:#ffffffc7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.metric-card:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--carolina);opacity:.45}.metric-card strong{font-size:31px}.section-heading,.section-head{align-items:flex-start}.section-heading h2:before,.section-heading h3:before,.section-head h3:before{display:none}.section-heading h2,.section-heading h3,.section-head h3{font-size:21px;letter-spacing:-.018em}.flash,.practice-card.flash{width:100%;border:0;background:linear-gradient(145deg,rgba(93,184,232,.08),transparent 55%),var(--surface-2);color:var(--text);text-align:left;box-shadow:inset 0 0 0 1px var(--border)}.flash:focus-visible{outline-offset:3px}.action-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.action-card,.domain-focus-card{min-height:150px;border-color:var(--border);background:#fff}.track-card,.swgsb-course-card{min-height:280px;padding:24px;border-color:#dae1e5f2}.track-card h3{font-size:24px;line-height:1.1}.track-badge{border-radius:50%;background:var(--navy-900);color:var(--carolina-200)}.track-open{margin-top:8px;display:inline-flex;align-items:center;gap:7px;color:var(--accent-ink)!important;font-size:12px!important;font-weight:800!important}.track-open .ico{width:15px;height:15px}.practice-grid{grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr)}.practice-track-panel{position:sticky;top:24px}.practice-track-list button{min-height:68px;border-color:transparent;background:var(--surface-2)}.practice-track-list button.active{border-color:var(--accent-soft-border);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.practice-card:not(.flash){min-height:300px;border-color:var(--border-strong);border-radius:16px;background:radial-gradient(circle at 100% 0,rgba(93,184,232,.14),transparent 16rem),#fff}.practice-card:not(.flash) strong{font-size:29px}.track-detail{max-width:1120px;margin:0 auto;padding:clamp(24px,4vw,44px)}.track-detail>.link-button.inline{margin-bottom:2px}.detail-header{padding:30px;border-radius:16px;background:var(--navy-900);color:#fff}.detail-header>div:first-child{max-width:760px}.detail-header h2{color:#fff;font-size:clamp(32px,4vw,48px);line-height:1.02;letter-spacing:-.035em}.detail-header>div>span{color:var(--carolina-200);letter-spacing:.08em;text-transform:uppercase}.detail-header p{color:#b8c8d5}.detail-actions{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.detail-actions>button:first-child{border:0;border-radius:var(--radius);background:var(--carolina);color:var(--navy-900);padding:11px 16px;font-weight:800}.detail-actions .secondary-button{border-color:#ffffff40;background:transparent;color:#fff}.completion-badge{border-radius:999px;background:var(--good-bg);color:var(--good)!important;padding:8px 12px;font-size:12px;font-weight:800}.detail-progress{height:8px;margin:-26px 30px 2px;overflow:hidden;border-radius:999px;background:#ffffff38;position:relative;z-index:2}.detail-progress span{display:block;height:100%;min-width:5px;border-radius:inherit;background:var(--carolina)}.detail-header .score-ring{background:conic-gradient(var(--carolina) var(--score-deg, 0deg),rgba(255,255,255,.16) var(--score-deg, 0deg))}.lesson-list{gap:8px}.lesson-row{padding:16px;border-color:var(--border);border-radius:13px;background:#fff}.lesson-row.complete{border-color:#cfe5d8;background:#f7fbf8}.lesson-title-toggle{min-height:38px}.lesson-title-toggle strong{color:var(--text);font-size:16px}.lesson-body{margin-top:12px;padding:clamp(18px,3vw,32px);border:1px solid var(--border);border-radius:12px;background:#fbfcfc}.lesson-body-markdown{max-width:74ch;font-size:15px;line-height:1.75}.landing-screen{background:radial-gradient(circle at 78% 8%,rgba(93,184,232,.2),transparent 28rem),#f6f6f3}.landing-header{border-bottom-color:#d1d9dcbf}.landing-hero-copy h1{color:var(--navy-900);font-size:clamp(3.4rem,7vw,6.2rem);line-height:.9;letter-spacing:-.055em}.landing-score-display{border:0;background:var(--navy-900);box-shadow:var(--shadow-lg)}.landing-score-display .score-ring:before{background:var(--navy-900)}.landing-preview-list span{border-color:#ffffff1f;background:#ffffff12;color:#d3e0e9}.landing-feature-card{min-height:180px;padding:24px;border-color:#dae1e5eb}@media(max-width:1120px){.dashboard-hero{flex-direction:column}.momentum-card{width:100%;min-width:0}}@media(max-width:760px){.landing-header{padding:12px 16px}.landing-header strong{min-width:0;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.landing-header .secondary-button{padding:9px 12px}.landing-hero{grid-template-columns:1fr;padding:42px 20px 34px;gap:32px}.landing-hero-copy h1{font-size:clamp(3.2rem,17vw,4.8rem)}.landing-hero-copy p{max-width:38rem}.landing-hero-art{justify-content:stretch}.landing-score-display{width:100%}.landing-features{grid-template-columns:1fr;padding-inline:20px}.app-shell{grid-template-columns:1fr;width:100%;overflow-x:clip}.sidebar{position:sticky;top:0;z-index:20;width:100%;max-width:100vw;overflow:hidden;box-shadow:0 16px 28px -24px #071a2de6}.sidebar-brand{min-height:62px;padding:11px 16px}.sidebar .nav{width:100%;min-width:0;padding:7px 10px 10px;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.sidebar .nav::-webkit-scrollbar{display:none}.nav-item.has-children .nav-submenu{display:none}.nav-section{flex:0 0 auto}.sidebar .nav-btn{width:auto;min-height:38px;padding:8px 11px;box-shadow:none}.nav-btn.active,.sidebar nav button.active{box-shadow:inset 0 -3px 0 var(--carolina)}.workspace{padding:24px 18px 48px}.topbar{margin-bottom:24px}.dashboard-hero{min-height:0;padding:28px 24px}.dashboard-hero h2{font-size:clamp(32px,10vw,44px)}.momentum-stats{gap:8px}.practice-track-panel{position:static}.detail-header{padding:24px}.detail-progress{margin:-25px 24px 2px}}@media(max-width:520px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:16px}.metric-card strong{font-size:27px}.momentum-card{padding:20px}.track-card,.swgsb-course-card{min-height:0;padding:20px}.track-detail{padding:14px}.detail-header{padding:22px 18px}.detail-progress{margin:-23px 18px 2px}}
