:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8fafc;--surface:#fff;--surface-soft:#f8fafc;--surface-muted:#f1f5f9;--text:#111827;--text-muted:#64748b;--text-soft:#475569;--border:#dbe3eb;--border-soft:#e2e8f0;--input-border:#cbd5e1;--primary:#0f6b99;--primary-contrast:#fff;--primary-soft:#e0f2fe;--primary-border:#bae6fd;--success-soft:#ecfdf5;--success:#047857;--warning-soft:#fff7ed;--warning:#8a4b22;--orange-soft:#ffedd5;--orange:#ea8f65;--shadow:#0f172a29;--overlay:#0f172a9e;--student-bg:radial-gradient(circle at 15% 0,#e0f2fe,transparent 34%),radial-gradient(circle at 90% 12%,#ecfdf5,transparent 34%),#f8fafc;--voice-bg:radial-gradient(circle at top left,#e0f2fe,#f8fafc 45%,#ecfdf5);--hero-bg:linear-gradient(135deg,#e0f2fe,#ecfdf5);--login-bg:linear-gradient(145deg,#dff0fb,#ecfdf5)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--surface:#111827;--surface-soft:#172033;--surface-muted:#1f2a3d;--text:#f8fafc;--text-muted:#b6c2d2;--text-soft:#d7e0ea;--border:#334155;--border-soft:#263448;--input-border:#475569;--primary:#38bdf8;--primary-contrast:#06121f;--primary-soft:#0b2a3d;--primary-border:#155e75;--success-soft:#063522;--success:#86efac;--warning-soft:#3b2414;--warning:#fbbf24;--orange-soft:#3b2414;--orange:#fdba74;--shadow:#0000006b;--overlay:#020617c7;--student-bg:radial-gradient(circle at 15% 0,#0b2a3d,transparent 34%),radial-gradient(circle at 90% 12%,#063522,transparent 34%),#0b1220;--voice-bg:radial-gradient(circle at top left,#0b2a3d,#0b1220 45%,#063522);--hero-bg:linear-gradient(135deg,#0b2a3d,#063522);--login-bg:linear-gradient(145deg,#0b2a3d,#063522)}*{box-sizing:border-box}body{color:#111827;background:#f8fafc;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.splash{color:#64748b;place-items:center;min-height:100vh;display:grid}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #dbe3eb;height:100vh;padding:22px 14px;position:sticky;top:0;overflow:auto}.brand{color:#111827;text-align:left;background:0 0;border:0;align-items:center;gap:10px;margin-bottom:28px;display:flex}.brand span{color:#fff;background:#0f6b99;border-radius:14px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.brand strong{font-size:18px;display:grid}.brand small{text-transform:uppercase;color:#64748b;letter-spacing:.08em;font-size:11px}.brand.large{margin-bottom:180px}.nav{color:#334155;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;margin:3px 0;padding:11px 12px;display:flex}.nav.active{color:#0f6b99;background:#dff0fb;font-weight:700}.main{min-width:0}.topbar{z-index:10;background:#fff;border-bottom:1px solid #dbe3eb;justify-content:space-between;align-items:center;height:70px;padding:0 28px;display:flex;position:sticky;top:0}.topbar>div:first-child{color:#64748b;align-items:center;gap:10px;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar select,.form input,.form select,.form textarea{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:10px 12px}.page{max-width:1500px;padding:44px 56px 120px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-block}.page h1{margin:12px 0 8px;font-size:34px;line-height:1.1}.subtitle{color:#64748b;margin:0 0 28px;font-size:18px}.panel{background:#fff;border:1px solid #dbe3eb;border-radius:18px;margin-top:20px;padding:20px}.panel h2{margin:0 0 12px;font-size:19px}.metric-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:20px 0;display:grid}.metric,.info{background:#fff;border:1px solid #dbe3eb;border-radius:16px;margin:0;padding:16px}.metric span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.metric strong{font-size:24px}.bar{background:#e2e8f0;border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.bar i{background:#0f6b99;border-radius:999px;height:100%;display:block}.grid{gap:14px;display:grid}.grid.two{grid-template-columns:1fr 1fr}.grid.four{grid-template-columns:repeat(4,1fr)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:11px}th{color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.primary{color:#fff!important;background:#0f6b99!important;border-color:#0f6b99!important}.small{padding:8px 12px;font-size:13px}.big{padding:12px 18px;font-size:16px}.wide{justify-content:center;width:100%}.muted{color:#64748b}.student-hero{background:#fff;border:1px solid #dbe3eb;border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:24px;display:grid}.avatar{font-size:42px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips span{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:7px 10px;font-size:13px}.upload-band{background:#fff;border:1px solid #dbe3eb;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:20px;display:grid}.group-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.roster-item{border-top:1px solid #e2e8f0;padding:10px 0;display:grid}.roster-item small{color:#64748b}.ops-dock{z-index:30;gap:8px;display:grid;position:fixed;bottom:138px;right:18px}.ops-dock button,.ops-dock a,.chat{color:#0f6b99;background:#fff;border:1px solid #cbd5e1;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 12px 30px #0f172a29}.chat{color:#fff;background:#0f6b99;position:fixed;bottom:28px;right:18px}.modal-backdrop{z-index:100;background:#0f172a9e;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:#fff;border:1px solid #dbe3eb;border-radius:20px;width:min(760px,100vw - 32px);max-height:88vh;padding:22px;overflow:auto;box-shadow:0 30px 90px #0f172a4d}.form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form label{color:#475569;gap:6px;font-size:13px;font-weight:700;display:grid}.form textarea,.form .actions{grid-column:1/-1}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions.right{justify-content:flex-end;margin-top:14px}button,a{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;text-decoration:none;display:inline-flex}.link{color:#0f6b99;background:0 0;border:0;padding:0}.toast{color:#fff;z-index:200;background:#111827;border-radius:999px;padding:10px 14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.login-page{grid-template-columns:1.2fr 1fr;min-height:100vh;display:grid}.login-page>section:first-child{background:linear-gradient(145deg,#dff0fb,#ecfdf5);flex-direction:column;justify-content:center;padding:70px 52px;display:flex}.login-page h1{font-size:42px;line-height:1.15}.login-page p{color:#64748b;font-size:18px}.login-card{text-align:center;background:#fff;border:1px solid #dbe3eb;border-radius:22px;place-self:center;width:min(520px,100vw - 32px);padding:24px}.role-grid{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.voice-overlay{z-index:120;background:radial-gradient(circle at 0 0,#e0f2fe,#f8fafc 45%,#ecfdf5);place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.voice-card,.complete-card{background:#ffffffe6;border:1px solid #dbe3eb;border-radius:30px;grid-template-rows:auto 1fr auto;gap:18px;width:min(980px,100vw - 32px);min-height:min(700px,100vh - 48px);padding:30px;display:grid;box-shadow:0 30px 90px #0f172a2e}.voice-card header,.voice-card footer,.complete-hero{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.timer{text-align:right;font-size:24px;font-weight:800}.timer small{color:#64748b;font-size:12px;display:block}.voice-card main{text-align:center;place-items:center;display:grid}.voice-card main p{color:#475569;max-width:680px;font-size:20px}.orb{background:radial-gradient(circle,#0ea5e9,#0f6b99);border-radius:50%;width:160px;height:160px;transition:all .2s;box-shadow:0 0 0 18px #0ea5e91f,0 0 70px #0ea5e980}.orb.speaking{background:radial-gradient(circle,#34d399,#0f6b99);animation:1s infinite pulse}.complete-card{max-height:calc(100vh - 48px);display:block;overflow:auto}.complete-hero{border-bottom:1px solid #e2e8f0;padding-bottom:20px}.success{color:#047857;font-weight:800}.ok{color:#047857;background:#dcfce7;border-radius:50%;place-items:center;width:72px;height:72px;font-weight:900;display:grid;box-shadow:0 0 0 14px #22c55e1f}.workflow{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.workflow div{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px;font-weight:700}.cert a{margin-top:8px}@keyframes pulse{50%{transform:scale(1.06);box-shadow:0 0 0 28px #34d3992e,0 0 90px #34d39999}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.topbar{position:relative}.page{padding:28px 18px 110px}.grid.two,.grid.four,.metric-grid,.group-grid,.student-hero,.upload-band,.workflow,.login-page,.form{grid-template-columns:1fr}.voice-card header,.voice-card footer,.complete-hero{display:grid}.login-page>section:first-child{padding:34px 22px}.brand.large{margin-bottom:30px}}.voice-telemetry{color:#64748b;gap:10px;width:min(520px,100%);margin-top:12px;font-size:13px;display:grid}.volume-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.volume-grid label{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:8px 10px;font-weight:700;display:grid}.volume-grid i{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.volume-grid b{background:#0f6b99;border-radius:999px;height:100%;transition:width .15s;display:block}.volume-grid label:last-child b{background:#34d399}.chat-panel{z-index:80;background:#fff;border:1px solid #cbd5e1;border-radius:20px;grid-template-rows:auto 1fr auto;width:min(430px,100vw - 32px);max-height:min(690px,100vh - 120px);display:grid;position:fixed;bottom:88px;right:18px;overflow:hidden;box-shadow:0 28px 80px #0f172a38}.chat-panel header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.chat-panel header span{color:#64748b;margin-top:2px;font-size:12px;display:block}.chat-panel header button{padding:6px 10px;font-size:12px}.chat-messages{gap:10px;padding:14px;display:grid;overflow:auto}.chat-message{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px}.chat-message.user{background:#e0f2fe;border-color:#bae6fd;margin-left:34px}.chat-message.assistant{margin-right:22px}.chat-message p{color:#334155;margin:0;line-height:1.4}.chat-route{border-top:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.chat-route span{color:#475569;margin-right:auto;font-size:13px}.chat-form{border-top:1px solid #e2e8f0;grid-template-columns:1fr auto;gap:8px;padding:12px;display:grid}.chat-form input{border:1px solid #cbd5e1;border-radius:999px;min-width:0;padding:10px 12px}.mini-chart{gap:8px;margin-top:10px;display:grid}.mini-chart label{color:#475569;grid-template-columns:minmax(90px,1fr) 1.5fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.mini-chart i{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.mini-chart b{background:#0f6b99;border-radius:999px;height:100%;display:block}.mini-chart em{color:#111827;font-style:normal;font-weight:800}.viz-grid{gap:16px;margin-top:20px;display:grid}.viz-grid.two{grid-template-columns:1fr 1fr}.viz-panel{background:#fff;border:1px solid #dbe3eb;border-radius:18px;min-width:0;margin-top:20px;padding:18px}.viz-panel header{justify-content:space-between;gap:14px;margin-bottom:6px;display:flex}.viz-panel h2{margin:0 0 6px;font-size:18px}.viz-panel p{color:#64748b;margin:0;line-height:1.4}.viz-canvas{width:100%;overflow:hidden}.viz-canvas svg{width:100%;height:auto;min-height:260px;display:block}.drilldown{color:#334155;border-top:1px solid #e2e8f0;gap:6px;margin-top:12px;padding-top:12px;display:grid}.drilldown strong{font-size:15px}.drilldown span{color:#64748b;font-size:13px}.drilldown ul{color:#475569;margin:4px 0 0 18px;padding:0}.drilldown li{margin:3px 0}.viz-panel .domain,.viz-panel .tick line{stroke:#cbd5e1}.viz-panel text{fill:#334155}@media (max-width:900px){.viz-grid.two{grid-template-columns:1fr}.chat-panel{width:calc(100vw - 24px);bottom:84px;right:12px}}.chat-starter-chips{border-top:1px solid var(--border-soft);background:var(--surface-soft);flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex}.chat-starter-chips button{white-space:normal;text-align:left;max-width:100%;font-size:12px}.student-home-hero{background:linear-gradient(135deg,#e0f2fe,#ecfdf5);border:1px solid #c7ddea;border-radius:28px;grid-template-columns:1fr 240px;align-items:stretch;gap:24px;padding:28px;display:grid;box-shadow:0 24px 70px #0f172a14}.student-hero-copy h2{margin:12px 0;font-size:38px;line-height:1.05}.student-hero-copy p{color:#475569;max-width:760px;font-size:18px}.student-hero-copy .actions{margin-top:18px}.countdown-card{background:#fff;border:1px solid #dbe3eb;border-radius:24px;align-content:center;place-items:start;gap:8px;padding:22px;display:grid;box-shadow:0 18px 50px #0f172a14}.countdown-card span,.countdown-card small{color:#64748b;font-weight:700}.countdown-card strong{font-size:38px}.student-journey-card,.student-card,.student-footer-note{background:#fff;border:1px solid #dbe3eb;border-radius:22px;margin-top:20px;padding:22px}.journey-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.journey-header h2,.student-card h2{margin:0 0 6px}.journey-header p,.student-card p{color:#64748b;margin:0}.journey-header strong{color:#0f6b99;font-size:26px}.student-progress-bar{background:#e2e8f0;border-radius:999px;height:12px;margin:18px 0;overflow:hidden}.student-progress-bar i{background:linear-gradient(90deg,#0f6b99,#34d399);border-radius:999px;height:100%;display:block}.checkpoint-rail{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:10px;padding-bottom:6px;display:grid;overflow:auto}.checkpoint{text-align:left;background:#f8fafc;border-radius:18px;justify-items:start;gap:5px;padding:12px;display:grid}.checkpoint span{background:#e2e8f0;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.checkpoint.done{background:#ecfdf5;border-color:#86efac}.checkpoint.done span{color:#fff;background:#22c55e}.checkpoint.current{background:#e0f2fe;border-color:#7dd3fc}.checkpoint.current span{color:#fff;background:#0f6b99}.checkpoint.future{opacity:.82}.checkpoint small{color:#64748b;white-space:nowrap;font-size:14px;line-height:1.25}.sample-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;align-items:flex-start;gap:12px;margin-top:14px;padding:14px;display:flex}.sample-panel p{color:#64748b;margin:4px 0 0}.student-home-grid{grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:16px;display:grid}.goal-ring{background:radial-gradient(circle,#fff 50%,transparent 51%),conic-gradient(#0f6b99 0 45%,#dbe3eb 45% 100%);border-radius:50%;place-items:center;width:150px;height:150px;margin:18px auto;display:grid;box-shadow:0 18px 50px #0f172a14}.goal-ring span{color:#0f6b99;font-size:42px;font-weight:900}.goal-ring small{color:#64748b;margin-top:-34px;font-weight:800}.badge-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.student-badge{border:1px solid #e2e8f0;border-radius:16px;gap:6px;min-height:118px;padding:12px;display:grid}.student-badge.earned{background:#fff7ed;border-color:#fed7aa}.student-badge.earned svg{color:#d97706}.student-badge.locked{color:#64748b;background:#f8fafc}.student-badge small{color:#64748b}.student-insight-details{margin-top:20px}.student-insight-details summary{cursor:pointer;background:#fff;border:1px solid #dbe3eb;border-radius:18px;padding:16px;font-weight:800}.student-footer-note{color:#475569;align-items:center;gap:10px;display:flex}.program-settings{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;display:grid}.program-settings label{color:#475569;gap:6px;font-size:13px;font-weight:800;display:grid}.program-settings input,.program-settings select{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px}.settings-summary{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-column:span 2;padding:12px;display:grid}.settings-summary strong{color:#111827}@media (max-width:1100px){.checkpoint-rail{grid-template-columns:repeat(4,minmax(158px,1fr))}.program-settings{grid-template-columns:1fr 1fr}.student-home-grid,.student-home-hero{grid-template-columns:1fr}.badge-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.checkpoint-rail,.badge-grid,.program-settings{grid-template-columns:1fr}.settings-summary{grid-column:auto}.student-hero-copy h2{font-size:30px}}.journey-pocket-tab{z-index:140;color:#0f6b99;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:8px;padding:10px 13px;display:flex;position:fixed;top:92px;right:22px;box-shadow:0 16px 40px #0f172a24}.journey-pocket-tab strong{background:#e0f2fe;border-radius:999px;padding:3px 7px}.journey-pocket{background:#fff;border:1px solid #dbe3eb;border-radius:18px;margin:14px 0;padding:14px;box-shadow:0 16px 45px #0f172a14}.voice-overlay>.journey-pocket{z-index:140;width:min(390px,100vw - 44px);margin:0;position:fixed;top:92px;right:22px}.journey-pocket header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.journey-pocket header div{gap:3px;display:grid}.journey-pocket header span{color:#64748b;font-size:13px}.journey-pocket header button{padding:6px 10px;font-size:12px}.student-progress-bar.compact{height:9px;margin:12px 0}.journey-pocket-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.journey-pocket-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:3px;padding:10px;display:grid}.journey-pocket-grid span,.journey-pocket-grid small{color:#64748b;font-size:12px;font-weight:700}.journey-pocket-grid strong{font-size:16px}.mini-checkpoints{grid-template-columns:repeat(auto-fit,minmax(30px,1fr));gap:6px;margin-top:10px;display:grid}.mini-checkpoints button{background:#f8fafc;border-radius:999px;place-items:center;width:auto;height:30px;padding:0;font-weight:900;display:grid}.mini-checkpoints .done{color:#047857;background:#dcfce7;border-color:#86efac}.mini-checkpoints .current{color:#0f6b99;background:#e0f2fe;border-color:#7dd3fc}.mini-checkpoints .future{color:#64748b}@media (max-width:700px){.voice-overlay>.journey-pocket{width:auto;top:76px;left:12px;right:12px}.journey-pocket-tab{top:76px;right:12px}.journey-pocket-grid{grid-template-columns:1fr}.mini-checkpoints{grid-template-columns:repeat(4,1fr)}}.student-standalone{background:radial-gradient(circle at 15% 0,#e0f2fe,#0000 34%),radial-gradient(circle at 90% 12%,#ecfdf5,#0000 34%),#f8fafc;min-height:100vh;padding:24px 28px 80px}.student-home-top{justify-content:space-between;align-items:center;gap:16px;max-width:1240px;margin:0 auto 24px;display:flex}.student-brand{margin:0}.student-home-top>button{background:#fff;box-shadow:0 14px 36px #0f172a1a}.student-primary{max-width:1240px;margin:0 auto}.student-primary .student-home-hero{margin-top:0}.student-primary-hero{grid-template-columns:1fr 280px}.student-primary-hero h1{margin:12px 0 2px;font-size:42px;line-height:1.05}.student-profile-strip{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:18px 0;display:grid}.student-profile-strip span{color:#111827;background:#ffffffc7;border:1px solid #dbe3eb;border-radius:16px;gap:3px;padding:12px;display:grid}.student-profile-strip strong{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:11px}@media (max-width:900px){.student-standalone{padding:18px 14px 70px}.student-home-top,.student-primary-hero{grid-template-columns:1fr}.student-home-top{align-items:flex-start}.student-profile-strip{grid-template-columns:1fr 1fr}.student-primary-hero h1{font-size:34px}}@media (max-width:560px){.student-profile-strip{grid-template-columns:1fr}.student-home-top{display:grid}.student-home-top>button{justify-content:center}}.student-primary-hero.level-test-mode{background:linear-gradient(135deg,#fef3c7,#e0f2fe 52%,#ecfdf5);border-color:#f59e0b;box-shadow:0 24px 80px #f59e0b29}.student-primary-hero.level-test-mode .eyebrow{color:#9a3412;background:#fff7ed;border-color:#fdba74}.student-primary-hero.level-test-mode .countdown-card{border-color:#fdba74;box-shadow:0 18px 50px #f59e0b24}.student-primary-hero.level-test-mode .primary{background:#b45309!important;border-color:#b45309!important}.reading-pane{text-align:left;background:#fff;border:1px solid #c7ddea;border-radius:22px;width:min(760px,100%);margin:12px auto 0;padding:18px;box-shadow:0 22px 60px #0f172a1f}.reading-pane-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.reading-pane-title{flex-wrap:wrap;align-items:center;gap:12px;width:100%;display:flex}.reading-pane-header span{text-transform:uppercase;letter-spacing:.08em;color:#0f6b99;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.reading-pane-header strong{font-size:18px}.reading-pane-toggle,.reading-pane-reveal{border:1px solid var(--input-border);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 11px;font-size:13px;font-weight:800}.reading-pane-toggle{white-space:nowrap;margin-left:auto}.reading-pane-reveal{text-align:center;gap:2px;margin:12px auto 0;display:grid}.reading-pane-reveal small{color:var(--text-muted);font-size:12px;font-weight:700;display:block}.reading-text{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:18px;color:#111827!important;max-width:none!important;margin:0 0 12px!important;font-size:24px!important;line-height:1.45!important}.reading-question-list{gap:8px;width:100%;display:grid}.reading-question{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:16px;gap:4px;padding:14px;display:grid}.reading-question span{text-transform:uppercase;letter-spacing:.06em;color:#047857;font-size:12px;font-weight:900}.reading-question strong{font-size:18px;display:block}.reading-pane footer{color:#64748b;gap:4px;margin-top:12px;font-size:13px;display:grid}.reading-pane footer small{color:#475569}@media (max-width:700px){.reading-text{font-size:19px!important}.reading-pane-header{display:grid}.reading-pane-toggle{width:max-content;margin-left:0}.voice-card{padding:20px}}.rewards-card.reward-theme-younger .student-badge{background:#f0fdf4;border-radius:22px}.rewards-card.reward-theme-younger .student-badge.earned{background:#fff7ed;border-color:#fb923c}.rewards-card.reward-theme-teen .student-badge{background:#f8fafc;border-radius:12px}.rewards-card.reward-theme-teen .student-badge.earned{background:#eef2ff;border-color:#818cf8}.rewards-card.reward-theme-adult .student-badge{background:#fff;border-radius:8px}.rewards-card.reward-theme-adult .student-badge.earned{background:#f8fafc;border-color:#94a3b8}.sidebar{flex-direction:column;display:flex}.sidebar nav{flex:none}.sidebar-internal{margin-top:auto;padding-top:22px}.sidebar-internal>span{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0 2px 8px;font-size:11px;font-weight:800;display:block}.nav.internal-active{color:#ea8f65;background:#ffedd5}.sidebar-status-pills{gap:6px;margin-top:16px;display:grid}.sidebar-status-pills span{color:#64748b;text-transform:uppercase;letter-spacing:.04em;background:#e2e8f0;border-radius:999px;width:max-content;max-width:100%;padding:5px 9px;font-size:10px;font-weight:900}.sidebar-status-pills span:last-child{color:#9a3412;background:#ffedd5}.setup-notice{color:#8a4b22;z-index:12;background:#fff7ed;border-bottom:1px solid #fed7aa;align-items:center;gap:10px;height:36px;padding:0 24px;font-size:13px;font-weight:700;display:flex;position:sticky;top:0}.setup-notice span{margin-right:auto}.setup-notice .link{color:#8a4b22;font-weight:800;text-decoration:underline}.icon-button.subtle{color:#8a4b22;background:0 0;border:0;padding:4px}.account-menu-wrap{position:relative}.avatar-button{border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-weight:900;display:grid;color:#fff!important;background:#0f6b99!important;border-color:#0f6b99!important}.account-menu{z-index:70;background:#fff;border:1px solid #dbe3eb;border-radius:18px;width:340px;position:absolute;top:54px;right:0;overflow:hidden;box-shadow:0 28px 70px #0f172a3d}.account-head{background:linear-gradient(135deg,#e0f2fe,#ecfdf5);align-items:center;gap:12px;padding:16px;display:flex}.account-head>span{color:#fff;background:#0f6b99;border-radius:50%;place-items:center;width:52px;height:52px;font-weight:900;display:grid}.account-head strong,.account-head small{display:block}.account-head small,.account-meta span,.account-section small{color:#64748b}.account-meta{background:linear-gradient(135deg,#e0f2fe,#ecfdf5);gap:6px;padding:0 16px 14px;display:grid}.account-meta span{align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.account-meta b{color:#c2410c;text-transform:uppercase;background:#fed7aa;border-radius:999px;padding:3px 6px;font-size:10px}.account-section{border-top:1px solid #e2e8f0;padding:10px 0}.account-section small{text-transform:uppercase;letter-spacing:.08em;padding:6px 16px;font-size:11px;font-weight:900;display:block}.account-section button{text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:auto 1fr auto;width:100%;padding:10px 16px;display:grid}.account-section button:hover{background:#f1f5f9}.backoffice-shell{grid-template-columns:250px 1fr;min-height:calc(100vh - 70px);display:grid}.backoffice-nav{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;min-height:calc(100vh - 106px);padding:18px 10px;display:flex}.backoffice-title{align-items:center;gap:10px;padding:0 8px 16px;display:flex}.backoffice-title>span{color:#ea8f65;background:#fed7aa;border-radius:14px;place-items:center;width:38px;height:38px;display:grid}.backoffice-title strong{display:grid}.backoffice-title small{text-transform:uppercase;color:#64748b;letter-spacing:.08em;font-size:11px}.backoffice-nav p{color:#64748b;align-items:center;gap:6px;margin:0 8px 24px;font-size:12px;display:flex}.backoffice-nav nav{gap:6px;display:grid}.backoffice-nav button{color:#334155;text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;width:100%;padding:11px 12px;display:grid}.backoffice-nav button.active{color:#ea8f65;background:#ffedd5;font-weight:800}.backoffice-nav button:focus{outline:2px solid #2563eb}.backoffice-nav b{color:#fff;background:#f4b190;border-radius:999px;padding:2px 7px;font-size:11px}.pilot-pill{color:#0f6b99;text-transform:uppercase;letter-spacing:.05em;background:#dff0fb;border-radius:999px;width:max-content;margin-top:auto;padding:6px 10px;font-size:11px;font-weight:900}.backoffice-content{max-width:1520px;padding:40px 34px 110px}.backoffice-gate{text-align:center;color:#111827;align-content:center;place-items:center;gap:14px;min-height:calc(100vh - 140px);display:grid}.backoffice-gate h1{margin:0;font-size:24px}.backoffice-gate p{color:#64748b;max-width:470px;margin:0}.gate-icon{color:#ea8f65;background:#ffedd5;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.gate-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.bo-page-header{margin-bottom:24px}.bo-page-header h1{align-items:center;gap:8px;margin:0 0 6px;font-size:28px;display:flex}.bo-page-header h1 span,.csv-head h2 span{color:#0f6b99;text-transform:uppercase;letter-spacing:.05em;background:#dff0fb;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.bo-page-header p{color:#64748b;margin:0;font-size:16px}.bo-stat-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:22px;display:grid}.bo-stat{background:#fff;border:1px solid #dbe3eb;border-radius:18px;gap:8px;padding:20px;display:grid}.bo-stat>span{border-radius:14px;place-items:center;width:38px;height:38px;display:grid}.bo-stat .blue{color:#0f6b99;background:#e0f2fe}.bo-stat .orange{color:#ea8f65;background:#ffedd5}.bo-stat .green{color:#047857;background:#dcfce7}.bo-stat strong{font-size:30px}.bo-stat small,.bo-section-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:900}.bo-two{grid-template-columns:1fr 1fr;gap:18px;display:grid}.bo-card,.bo-request-card,.bo-form-card,.bo-table,.csv-drop,.audit-list,.bo-note{background:#fff;border:1px solid #dbe3eb;border-radius:18px}.bo-card{padding:20px}.bo-card.compact{margin-bottom:22px}.bo-card h2,.bo-card h3,.bo-request-card h2{margin:0}.bo-card p{color:#64748b}.bo-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.bo-list-row{border-top:1px solid #e2e8f0;grid-template-columns:1fr auto;gap:6px;padding:12px 0;display:grid}.bo-list-row:first-of-type{border-top:0}.bo-list-row small,.bo-table small{color:#64748b;display:block}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;width:max-content;margin:2px 4px 2px 0;padding:4px 9px;font-size:11px;font-weight:900;display:inline-flex}.status-badge.green{color:#047857;background:#dcfce7}.status-badge.mint{color:#047857;background:#d1fae5}.status-badge.orange{color:#c2410c;background:#ffedd5}.status-badge.gray{color:#64748b;background:#e2e8f0}.status-badge.blue{color:#0f6b99;background:#dff0fb}.bo-tools{justify-content:flex-end;gap:10px;margin-top:-54px;margin-bottom:22px;display:flex}.bo-tools input,.bo-tools select,.bo-select-label select,.bo-form-card input,.bo-form-card select,.bo-form-card textarea,.bo-request-card select{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px}.bo-tools input{width:210px}.bo-tools select{width:180px}.bo-table{overflow:auto}.bo-table table{font-size:14px}.bo-actions{flex-wrap:wrap;gap:6px;display:flex}.bo-actions button{padding:8px 10px;font-size:12px}.bo-actions .danger{color:#dc2626;border-color:#fecaca}.bo-request-card{margin-bottom:14px;padding:20px}.bo-request-top{justify-content:space-between;gap:16px;display:flex}.bo-request-top p{color:#64748b;margin:4px 0 0}.bo-request-grid{grid-template-columns:1fr 1fr;gap:8px 80px;margin:18px 0;display:grid}.info-line{grid-template-columns:130px 1fr;gap:10px;display:grid}.info-line span{color:#64748b;font-weight:800}.bo-form-card{grid-template-columns:1fr 1fr;gap:12px;width:min(720px,100%);padding:20px;display:grid}.bo-form-card.wide-form{grid-template-columns:1fr 1fr;width:100%}.bo-form-card label{color:#64748b;gap:6px;font-size:13px;font-weight:800;display:grid}.bo-form-card .full,.wide-form .full{grid-column:1/-1}.bo-form-card textarea{min-height:92px}.role-pills{flex-wrap:wrap;gap:8px;display:flex}.bo-plan-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.bo-plan{background:#fff;border:1px solid #dbe3eb;border-radius:18px;flex-direction:column;gap:8px;padding:22px;display:flex;position:relative}.bo-plan.recommended{background:#f0f9ff;border-color:#7dd3fc}.bo-plan>span{text-transform:uppercase;color:#64748b;letter-spacing:.08em;font-size:12px;font-weight:900}.bo-plan>b{color:#fff;text-transform:uppercase;background:#0f6b99;border-radius:999px;padding:4px 9px;font-size:10px;position:absolute;top:18px;right:18px}.bo-plan h2{margin:0}.bo-plan small,.bo-plan p{color:#64748b}.bo-plan a{color:#0f6b99;border:0;padding:0}.bo-plan ul{color:#475569;margin:0 0 12px;padding:0;line-height:1.55;list-style:none}.bo-plan button{justify-content:center;margin-top:auto}.bo-note{color:#64748b;margin-top:16px;padding:14px}.bo-note p{margin:6px 0 0}.bo-select-label{color:#64748b;gap:6px;width:min(420px,100%);margin-bottom:16px;font-size:13px;font-weight:800;display:grid}.csv-head h2{align-items:center;gap:8px;margin:0;display:flex}.csv-head p{color:#64748b;margin:6px 0 0}.csv-drop{color:#64748b;border-style:dashed;align-content:center;place-items:center;gap:6px;min-height:126px;display:grid}.csv-drop strong{color:#111827}.audit-list{width:min(820px,100%);overflow:hidden}.audit-list div{border-top:1px solid #e2e8f0;justify-content:space-between;gap:16px;padding:14px 18px;display:flex}.audit-list div:first-child{border-top:0}.audit-list strong,.audit-list span{display:grid}.audit-list small{color:#64748b}.getting-started{max-width:760px;margin:0 auto;padding:44px 0 120px}.getting-started>span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.getting-started h1{margin:10px 0 6px;font-size:34px}.getting-started>p{color:#64748b;margin-bottom:28px;font-size:16px}.setup-steps{gap:12px;display:grid}.setup-steps>div{background:#fff;border:1px solid #dbe3eb;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;display:grid}.setup-steps>div.done{background:#ecfdf5;border-color:#bbf7d0}.setup-steps small{color:#64748b;font-weight:900;display:block}.setup-steps small b{text-transform:uppercase;letter-spacing:.05em;background:#e2e8f0;border-radius:999px;margin-left:8px;padding:4px 7px;font-size:10px}.setup-steps strong{display:block}.setup-steps p{color:#64748b;margin:4px 0 0}@media (max-width:1100px){.backoffice-shell{grid-template-columns:1fr}.backoffice-nav{min-height:auto}.bo-stat-grid,.bo-two,.bo-plan-grid{grid-template-columns:1fr 1fr}.bo-tools{justify-content:flex-start;margin-top:0}.bo-request-grid{grid-template-columns:1fr;gap:8px}.bo-form-card,.bo-form-card.wide-form{grid-template-columns:1fr}.bo-form-card .full,.wide-form .full{grid-column:auto}}@media (max-width:700px){.bo-stat-grid,.bo-two,.bo-plan-grid{grid-template-columns:1fr}.backoffice-content{padding:24px 14px 100px}.setup-notice{flex-wrap:wrap;height:auto;padding:8px 14px}.account-menu{width:calc(100vw - 24px);right:-8px}.bo-tools{display:grid}.bo-tools input,.bo-tools select{width:100%}.bo-request-top,.audit-list div,.setup-steps>div{display:grid}.info-line{grid-template-columns:1fr}.getting-started{padding:28px 14px 100px}}.blank-state-card{background:#fff;border:1px solid #dbe3eb;border-radius:22px;gap:14px;max-width:760px;padding:28px;display:grid}.blank-state-icon{color:#0f6b99;background:#e0f2fe;border-radius:18px;place-items:center;width:54px;height:54px;display:grid}.blank-state-card span{text-transform:uppercase;letter-spacing:.08em;color:#0f6b99;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;width:max-content;padding:5px 9px;font-size:11px;font-weight:900}.blank-state-card h2{margin:0;font-size:26px}.blank-state-card p{color:#64748b;margin:0;line-height:1.5}.blank-state-card .expected{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px}.blank-state-card .actions{margin-top:4px}.environment-control{background:linear-gradient(135deg,#fff,#f8fafc);grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:22px;display:grid}.environment-control span{text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-size:11px;font-weight:900}.environment-control h2{margin:4px 0 6px;font-size:20px}.environment-control p{margin:0}.environment-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.environment-policy{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-column:1/-1;padding:12px;color:#475569!important}@media (max-width:700px){.environment-control{grid-template-columns:1fr}.environment-buttons{justify-content:flex-start}}.button-like{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-weight:800;text-decoration:none;display:inline-flex}.csv-import-grid{grid-template-columns:minmax(360px,1fr) minmax(320px,1fr);gap:16px;display:grid}.csv-textarea{color:#64748b;gap:8px;font-size:13px;font-weight:800;display:grid}.csv-textarea textarea{min-height:210px;font:inherit;color:#111827;resize:vertical;border:1px solid #cbd5e1;border-radius:18px;padding:14px}.csv-drop{text-align:center;min-height:210px}.csv-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.csv-result{margin-top:18px}.csv-result ul{color:#b45309}@media (max-width:1100px){.csv-import-grid{grid-template-columns:1fr}}@media (max-width:700px){.csv-import-grid{grid-template-columns:1fr}}.theme-toggle{border-color:var(--input-border);background:var(--surface);color:var(--text);box-shadow:0 8px 24px var(--shadow);min-height:40px;font-weight:800}.theme-toggle.compact{min-height:36px;padding:8px 10px}.standalone-theme-control{z-index:40;position:fixed;top:20px;right:20px}.student-home-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}:root[data-theme=dark] body,:root[data-theme=dark] .main,:root[data-theme=dark] .student-standalone{background:var(--bg);color:var(--text)}:root[data-theme=dark] .student-standalone{background:var(--student-bg)}:root[data-theme=dark] .voice-overlay{background:var(--voice-bg)}:root[data-theme=dark] .reading-pane{background:#111827;border-color:#3b4a63}:root[data-theme=dark] .reading-text{text-shadow:none;color:#0f172a!important;background:#f8fafc!important;border-color:#cbd5e1!important}:root[data-theme=dark] .reading-pane-header strong,:root[data-theme=dark] .reading-question strong{color:#f8fafc}:root[data-theme=dark] .reading-pane footer,:root[data-theme=dark] .reading-pane footer small{color:#d7e0ea}.voice-overlay .journey-pocket-tab{z-index:125;top:26px;left:50%;right:auto;transform:translate(-50%)}.voice-overlay>.journey-pocket{top:76px;left:50%;right:auto;transform:translate(-50%)}@media (max-width:700px){.voice-overlay .journey-pocket-tab{top:auto;bottom:14px;left:50%;right:auto;transform:translate(-50%)}.voice-overlay>.journey-pocket{width:auto;top:72px;left:12px;right:12px;transform:none}}:root[data-theme=dark] .login-page>section:first-child,:root[data-theme=dark] .account-head,:root[data-theme=dark] .account-meta{background:var(--login-bg)}:root[data-theme=dark] .student-home-hero,:root[data-theme=dark] .student-primary-hero{background:var(--hero-bg);border-color:var(--border);box-shadow:0 24px 70px var(--shadow)}:root[data-theme=dark] .student-primary-hero.level-test-mode{background:linear-gradient(135deg,#3b2414,#0b2a3d 52%,#063522);border-color:#f59e0b}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar,:root[data-theme=dark] .setup-notice,:root[data-theme=dark] .panel,:root[data-theme=dark] .metric,:root[data-theme=dark] .info,:root[data-theme=dark] .modal,:root[data-theme=dark] .login-card,:root[data-theme=dark] .voice-card,:root[data-theme=dark] .complete-card,:root[data-theme=dark] .chat-panel,:root[data-theme=dark] .student-hero,:root[data-theme=dark] .student-journey-card,:root[data-theme=dark] .student-card,:root[data-theme=dark] .student-footer-note,:root[data-theme=dark] .student-profile-strip span,:root[data-theme=dark] .countdown-card,:root[data-theme=dark] .blank-state-card,:root[data-theme=dark] .backoffice-nav,:root[data-theme=dark] .bo-card,:root[data-theme=dark] .bo-request-card,:root[data-theme=dark] .bo-form-card,:root[data-theme=dark] .bo-table,:root[data-theme=dark] .csv-drop,:root[data-theme=dark] .audit-list,:root[data-theme=dark] .bo-note,:root[data-theme=dark] .bo-plan,:root[data-theme=dark] .journey-pocket,:root[data-theme=dark] .reading-pane,:root[data-theme=dark] .account-menu,:root[data-theme=dark] .checkpoint,:root[data-theme=dark] .sample-panel,:root[data-theme=dark] .workflow div,:root[data-theme=dark] .setup-steps>div,:root[data-theme=dark] .button-like,:root[data-theme=dark] .viz-panel,:root[data-theme=dark] .upload-band,:root[data-theme=dark] .environment-control{background:var(--surface);border-color:var(--border);color:var(--text)}:root[data-theme=dark] .voice-card,:root[data-theme=dark] .complete-card{background:#111827f0}:root[data-theme=dark] .brand,:root[data-theme=dark] button,:root[data-theme=dark] a,:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] strong,:root[data-theme=dark] .csv-drop strong,:root[data-theme=dark] .mini-chart em,:root[data-theme=dark] .settings-summary strong,:root[data-theme=dark] .reading-text{color:var(--text)}:root[data-theme=dark] .muted,:root[data-theme=dark] .subtitle,:root[data-theme=dark] p,:root[data-theme=dark] small,:root[data-theme=dark] .brand small,:root[data-theme=dark] .topbar>div:first-child,:root[data-theme=dark] .metric span,:root[data-theme=dark] th,:root[data-theme=dark] .chips span,:root[data-theme=dark] .student-hero-copy p,:root[data-theme=dark] .journey-header p,:root[data-theme=dark] .student-card p,:root[data-theme=dark] .sample-panel p,:root[data-theme=dark] .student-footer-note,:root[data-theme=dark] .countdown-card span,:root[data-theme=dark] .countdown-card small,:root[data-theme=dark] .bo-page-header p,:root[data-theme=dark] .bo-card p,:root[data-theme=dark] .bo-list-row small,:root[data-theme=dark] .bo-table small,:root[data-theme=dark] .audit-list small,:root[data-theme=dark] .setup-steps p,:root[data-theme=dark] .blank-state-card p,:root[data-theme=dark] .blank-state-card .expected,:root[data-theme=dark] .reading-pane footer{color:var(--text-muted)}:root[data-theme=dark] .nav{color:var(--text-soft)}:root[data-theme=dark] .nav.active,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .blank-state-card span,:root[data-theme=dark] .bo-page-header h1 span,:root[data-theme=dark] .csv-head h2 span{background:var(--primary-soft);border-color:var(--primary-border);color:#7dd3fc}:root[data-theme=dark] .nav.internal-active,:root[data-theme=dark] .backoffice-nav button.active,:root[data-theme=dark] .sidebar-status-pills span:last-child{background:var(--orange-soft);color:var(--orange)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .topbar select,:root[data-theme=dark] .form input,:root[data-theme=dark] .form select,:root[data-theme=dark] .form textarea,:root[data-theme=dark] .bo-tools input,:root[data-theme=dark] .bo-tools select,:root[data-theme=dark] .bo-select-label select,:root[data-theme=dark] .bo-form-card input,:root[data-theme=dark] .bo-form-card select,:root[data-theme=dark] .bo-form-card textarea,:root[data-theme=dark] .bo-request-card select,:root[data-theme=dark] .chat-form input,:root[data-theme=dark] .csv-textarea textarea,:root[data-theme=dark] button:not(.primary):not(.avatar-button):not(.chat),:root[data-theme=dark] .ops-dock button,:root[data-theme=dark] .ops-dock a,:root[data-theme=dark] .student-home-top>button{background:var(--surface-soft);border-color:var(--input-border);color:var(--text)}:root[data-theme=dark] .link{color:#7dd3fc;background:0 0}:root[data-theme=dark] .chat,:root[data-theme=dark] .avatar-button,:root[data-theme=dark] .primary{color:#fff!important;background:#0f6b99!important;border-color:#38bdf8!important}:root[data-theme=dark] .modal-backdrop{background:var(--overlay)}:root[data-theme=dark] .bar,:root[data-theme=dark] .student-progress-bar,:root[data-theme=dark] .volume-grid i,:root[data-theme=dark] .mini-chart i{background:var(--surface-muted)}:root[data-theme=dark] .chips span,:root[data-theme=dark] .voice-telemetry label,:root[data-theme=dark] .chat-message,:root[data-theme=dark] .drilldown,:root[data-theme=dark] .mini-checkpoints button,:root[data-theme=dark] .journey-pocket-grid div,:root[data-theme=dark] .environment-policy,:root[data-theme=dark] .reading-text{background:var(--surface-soft);border-color:var(--border-soft)}:root[data-theme=dark] .chat-message.user,:root[data-theme=dark] .checkpoint.current{background:var(--primary-soft);border-color:var(--primary-border)}:root[data-theme=dark] .checkpoint.done,:root[data-theme=dark] .student-badge.earned,:root[data-theme=dark] .rewards-card.reward-theme-younger .student-badge.earned,:root[data-theme=dark] .rewards-card.reward-theme-teen .student-badge.earned,:root[data-theme=dark] .rewards-card.reward-theme-adult .student-badge.earned,:root[data-theme=dark] .reading-question,:root[data-theme=dark] .setup-steps>div.done{background:var(--success-soft);border-color:#166534}:root[data-theme=dark] .student-badge.locked,:root[data-theme=dark] .rewards-card.reward-theme-younger .student-badge,:root[data-theme=dark] .rewards-card.reward-theme-teen .student-badge,:root[data-theme=dark] .rewards-card.reward-theme-adult .student-badge{background:var(--surface-soft);border-color:var(--border)}:root[data-theme=dark] .ok{background:var(--success-soft);color:var(--success);box-shadow:0 0 0 14px #86efac1a}:root[data-theme=dark] table td,:root[data-theme=dark] table th,:root[data-theme=dark] .chat-panel header,:root[data-theme=dark] .chat-form,:root[data-theme=dark] .bo-list-row,:root[data-theme=dark] .audit-list div,:root[data-theme=dark] .account-section,:root[data-theme=dark] .complete-hero{border-color:var(--border-soft)}:root[data-theme=dark] .viz-panel text{fill:var(--text-soft)}:root[data-theme=dark] .viz-panel .domain,:root[data-theme=dark] .viz-panel .tick line{stroke:var(--border)}:root[data-theme=dark] ::placeholder{color:#94a3b8}.bo-context-label{color:#64748b;grid-column:1/-1;gap:8px;font-size:13px;font-weight:800;display:grid}.bo-context-label select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:min(520px,100%);padding:10px 12px}.bo-context-label small{max-width:760px;font-weight:600}:root[data-theme=dark] .bo-context-label select{background:var(--surface);border-color:var(--border);color:var(--text)}@media (max-width:560px){.standalone-theme-control{position:absolute;top:14px;right:14px}.student-home-actions{justify-content:flex-start}.theme-toggle span{display:none}}:focus-visible{outline-offset:3px;outline:3px solid #2563eb}:root[data-theme=dark] :focus-visible{outline-color:#7dd3fc}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.profile-tabs{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.profile-tabs button{border-radius:8px}.profile-tabs button.active{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary);font-weight:800}.public-site{color:#20313a;min-height:100vh;font-family:var(--fs-font-ui,Inter,ui-sans-serif,system-ui,sans-serif);background:#fcfaf5}.public-site button,.public-site a{border-radius:8px}.public-site .primary{color:#f8f3e8!important;background:#20313a!important;border-color:#20313a!important}.public-nav{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fcfaf5f0;border-bottom:1px solid #d7e5e5;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:72px;padding:14px 40px;display:grid;position:sticky;top:0}.public-brand{background:0 0!important;border:0!important;padding:0!important}.public-brand img{width:190px;max-width:42vw;height:auto;display:block}.public-nav nav{justify-content:center;gap:18px;display:flex}.public-nav nav a,.public-nav-link{font-weight:800;color:#51646d!important;background:0 0!important;border:0!important;padding:6px 2px!important}.public-nav-actions{align-items:center;gap:8px;display:flex}.public-nav-actions button{white-space:nowrap}.public-hero{color:#f8f3e8;background:#14252d;align-items:center;min-height:calc(100vh - 72px);padding:72px 56px;display:grid;position:relative;overflow:hidden}.public-hero-copy{z-index:2;max-width:760px;position:relative}.public-kicker,.public-section-head span{text-transform:uppercase;letter-spacing:.08em;color:#e7a32f;font-size:12px;font-weight:900;display:inline-flex}.public-hero h1{letter-spacing:0;margin:18px 0;font-size:clamp(52px,9vw,120px);line-height:.9}.public-hero p{color:#d7e5e5;max-width:760px;font-size:clamp(20px,2.2vw,30px);line-height:1.35}.public-hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.public-hero-actions button{padding:12px 16px;font-size:16px}.public-signal-board{opacity:.82;position:absolute;top:0;bottom:0;left:0;right:0}.signal-line{transform-origin:0;background:#3e9a93;height:2px;position:absolute}.line-one{width:42%;top:28%;left:48%;transform:rotate(28deg)}.line-two{width:32%;top:62%;left:54%;transform:rotate(-18deg)}.signal-node{color:#f8f3e8;background:#14252dc2;border:1px solid #d7e5e56b;border-radius:8px;padding:12px 14px;font-weight:900;position:absolute;box-shadow:0 16px 44px #00000038}.signal-node.learner{top:22%;right:32%}.signal-node.teacher{top:40%;right:13%}.signal-node.parent{bottom:24%;right:34%}.signal-node.institution{bottom:19%;right:9%}.signal-node.api{color:#20313a;background:#e7a32f;border-color:#e7a32f;top:67%;right:20%}.public-section{border-bottom:1px solid #d7e5e5;padding:72px 56px}.public-section-head{max-width:860px;margin-bottom:28px}.public-section-head h2{color:#20313a;letter-spacing:0;margin:10px 0 12px;font-size:clamp(30px,4vw,54px);line-height:1.05}.public-section-head p{color:#51646d;font-size:18px;line-height:1.55}.public-proof-grid,.public-stakeholder-grid,.public-plan-grid{gap:14px;display:grid}.public-proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-stakeholder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-proof article,.public-stakeholder-grid article,.public-plan-grid article{background:#fff;border:1px solid #d7e5e5;border-radius:8px;padding:20px}.public-proof article strong,.public-stakeholder-grid strong{color:#20313a;font-size:18px}.public-proof article p,.public-stakeholder-grid p{color:#51646d;line-height:1.5}.public-flow{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:16px;display:grid}.public-flow span{color:#20313a;background:#f8f3e8;border:1px solid #d7e5e5;border-radius:8px;place-items:center;min-height:54px;font-weight:900;display:grid}.public-plan-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.public-plan-grid article{flex-direction:column;gap:10px;display:flex}.public-plan-grid article.recommended{border-color:#3e9a93;box-shadow:0 0 0 2px #3e9a931f}.public-plan-grid article>span{text-transform:uppercase;letter-spacing:.08em;color:#51646d;font-size:12px;font-weight:900}.public-plan-grid h3{color:#20313a;margin:0;font-size:28px}.public-plan-grid article>strong{font-size:24px}.public-plan-grid article p{color:#51646d;margin:0}.public-plan-grid ul{color:#51646d;gap:7px;margin:0 0 12px;padding:0;list-style:none;display:grid}.public-plan-grid li:before{content:"";background:#3e9a93;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.public-plan-grid button{justify-content:center;margin-top:auto}.public-api{color:#f8f3e8;background:#20313a}.public-api .public-section-head h2,.public-api .public-section-head p{color:#f8f3e8}.public-api-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0;display:grid}.public-api-grid strong{background:#f8f3e80f;border:1px solid #f8f3e847;border-radius:8px;padding:16px}.public-api-links,.public-info-actions{flex-wrap:wrap;gap:10px;display:flex}.public-info-page .public-section-head h1{color:#20313a;letter-spacing:0;margin:10px 0 12px;font-size:clamp(40px,7vw,86px);line-height:.94}.public-info-hero{background:#f8f3e8}.public-policy-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0;display:grid}.public-policy-meta span,.public-policy-facts{color:#51646d;background:#fff;border:1px solid #d7e5e5;border-radius:8px;padding:16px}.public-policy-meta strong{color:#20313a;margin-bottom:4px;display:block}.public-policy-facts{margin-bottom:18px}.public-policy-facts strong{color:#20313a;margin-bottom:8px;font-size:18px;display:block}.public-policy-facts ul,.public-info-grid ul{color:#51646d;margin:0;padding-left:18px;line-height:1.55}.public-policy-facts li+li,.public-info-grid li+li{margin-top:6px}.public-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.public-info-grid article{background:#fff;border:1px solid #d7e5e5;border-radius:8px;padding:20px}.public-info-grid strong{color:#20313a;margin-bottom:8px;font-size:19px;display:block}.public-info-grid p{color:#51646d;margin:0;line-height:1.55}.public-official-links{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.public-official-links a{color:#20313a;background:#f8f3e8;border-color:#d7e5e5;border-radius:8px}:root[data-theme=dark] .public-site{color:#f8f3e8;background:#14252d}:root[data-theme=dark] .public-nav{background:#14252df0;border-color:#334155}:root[data-theme=dark] .public-nav nav a,:root[data-theme=dark] .public-nav-link,:root[data-theme=dark] .public-section-head p,:root[data-theme=dark] .public-proof article p,:root[data-theme=dark] .public-stakeholder-grid p,:root[data-theme=dark] .public-plan-grid article p,:root[data-theme=dark] .public-plan-grid ul,:root[data-theme=dark] .public-info-grid p{color:#d7e5e5!important}:root[data-theme=dark] .public-section{border-color:#334155}:root[data-theme=dark] .public-section-head h1,:root[data-theme=dark] .public-section-head h2,:root[data-theme=dark] .public-proof article strong,:root[data-theme=dark] .public-stakeholder-grid strong,:root[data-theme=dark] .public-plan-grid h3,:root[data-theme=dark] .public-info-grid strong{color:#f8f3e8}:root[data-theme=dark] .public-proof article,:root[data-theme=dark] .public-stakeholder-grid article,:root[data-theme=dark] .public-plan-grid article,:root[data-theme=dark] .public-info-grid article{background:#20313a;border-color:#334155}:root[data-theme=dark] .public-flow span,:root[data-theme=dark] .public-official-links a{color:#f8f3e8;background:#20313a;border-color:#334155}:root[data-theme=dark] .public-site .primary{color:#14252d!important;background:#3e9a93!important;border-color:#3e9a93!important}:root[data-theme=dark] .public-info-hero{background:#14252d}:root[data-theme=dark] .public-policy-meta span,:root[data-theme=dark] .public-policy-facts{color:#d7e5e5;background:#20313a;border-color:#334155}:root[data-theme=dark] .public-policy-meta strong,:root[data-theme=dark] .public-policy-facts strong{color:#f8f3e8}:root[data-theme=dark] .public-policy-facts ul,:root[data-theme=dark] .public-info-grid ul{color:#d7e5e5}@media (max-width:980px){.public-nav{grid-template-columns:1fr;align-items:start;padding:14px 18px}.public-nav nav{justify-content:flex-start;overflow:auto}.public-nav-actions{flex-wrap:wrap}.public-hero,.public-section{padding:48px 20px}.public-proof-grid,.public-stakeholder-grid,.public-api-grid,.public-info-grid,.public-policy-meta{grid-template-columns:1fr 1fr}.public-flow{grid-template-columns:repeat(3,1fr)}.public-signal-board{opacity:.32}.signal-node{padding:8px;font-size:12px}}@media (max-width:620px){.public-brand img{width:166px}.public-hero{align-items:end;min-height:720px}.public-proof-grid,.public-stakeholder-grid,.public-api-grid,.public-info-grid,.public-policy-meta,.public-flow{grid-template-columns:1fr}.public-hero-actions,.public-nav-actions,.public-api-links,.public-info-actions{display:grid}.signal-node.learner{top:20%;right:36%}.signal-node.teacher{top:35%;right:6%}.signal-node.parent{bottom:34%;right:35%}.signal-node.institution{bottom:25%;right:6%}.signal-node.api{top:57%;right:16%}}.ops-dock{align-items:end;bottom:138px;right:18px}.ops-dock button,.ops-dock a{transition:transform .14s,opacity .14s}.ops-dock.expanded button:not(.ops-dock-toggle),.ops-dock.expanded a{animation:.14s both opsDockIn}.ops-dock-toggle{background:var(--primary)!important;border-color:var(--primary)!important;color:var(--primary-contrast)!important}@keyframes opsDockIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.note-list{background:var(--surface-soft);border:1px solid var(--border-soft);color:var(--text);border-radius:8px;padding:16px}.note-list strong{margin-bottom:8px;display:block}.note-list ul{color:var(--text-muted);margin:0;padding-left:18px}.note-list li+li{margin-top:6px}.cert.cert-ready{border-color:var(--success);background:var(--success-soft)}.cert.cert-blocked{border-color:var(--warning);background:var(--warning-soft)}.disabled-pill{cursor:not-allowed;opacity:.72;background:var(--surface-muted);color:var(--text-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.orb.speaking{animation:none}}.brand span img{width:26px;height:26px;display:block}.required-mark{color:#dc2626;margin-left:3px;font-weight:900}.table-empty{color:var(--text-muted);padding:18px;font-weight:800}.bo-detail-panel{background:var(--surface);border:1px solid var(--border);box-shadow:0 14px 34px var(--shadow);border-radius:18px;margin-top:18px;padding:20px}.bo-detail-panel.bo-form-card{width:100%}.bo-detail-panel .bo-card-head{grid-column:1/-1}.inline-tools{justify-content:flex-start;margin-top:18px}.billing-tools{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,1fr));align-items:center;display:grid}.table-link{text-align:left;font-weight:900}.plan-trial{font-weight:850;color:var(--primary)!important}.bo-plan-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.billing-history{margin-top:16px}:root[data-theme=dark] .bo-detail-panel{background:var(--surface);border-color:var(--border);color:var(--text)}@media (max-width:900px){.billing-tools,.bo-detail-panel.bo-form-card{grid-template-columns:1fr}}.runtime-auth-pill{color:#334155;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;min-height:34px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}.runtime-auth-pill.configured,.runtime-auth-pill.authenticated{color:#047857;background:#ecfdf5;border-color:#86efac}.runtime-auth-pill.preview_only{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.runtime-auth-pill.error,.runtime-auth-pill.unavailable{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.runtime-auth-card{color:#334155;text-align:left;background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;gap:4px;margin:12px 0;padding:12px;display:grid}.runtime-auth-card strong{font-size:13px}.runtime-auth-card span{font-weight:900}.runtime-auth-card small{color:#64748b;line-height:1.35}.runtime-auth-card.configured,.runtime-auth-card.authenticated{background:#ecfdf5;border-color:#86efac}.runtime-auth-card.preview_only{background:#fff7ed;border-color:#fed7aa}.runtime-auth-card.error,.runtime-auth-card.unavailable{background:#fef2f2;border-color:#fecaca}.data-provider-pill{color:#334155;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;min-height:34px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}.data-provider-pill.demo-environment{color:#075985;background:#e0f2fe;border-color:#7dd3fc}.data-provider-pill.supabase-production{color:#047857;background:#ecfdf5;border-color:#86efac}.data-provider-pill.production-blank-state{color:#854d0e;background:#fef9c3;border-color:#fde68a}.data-provider-pill.preview-local{color:#9a3412;background:#fff7ed;border-color:#fed7aa}:root[data-theme=dark] .runtime-auth-pill,:root[data-theme=dark] .runtime-auth-card{background:var(--surface-soft);border-color:var(--border);color:var(--text)}:root[data-theme=dark] .runtime-auth-pill.configured,:root[data-theme=dark] .runtime-auth-pill.authenticated,:root[data-theme=dark] .runtime-auth-card.configured,:root[data-theme=dark] .runtime-auth-card.authenticated{background:var(--success-soft);color:#86efac;border-color:#166534}:root[data-theme=dark] .runtime-auth-pill.preview_only,:root[data-theme=dark] .runtime-auth-card.preview_only{background:var(--orange-soft);color:#fed7aa;border-color:#9a3412}:root[data-theme=dark] .runtime-auth-pill.error,:root[data-theme=dark] .runtime-auth-pill.unavailable,:root[data-theme=dark] .runtime-auth-card.error,:root[data-theme=dark] .runtime-auth-card.unavailable{color:#fecaca;background:#3b1212;border-color:#7f1d1d}:root[data-theme=dark] .data-provider-pill{background:var(--surface-soft);border-color:var(--border);color:var(--text)}:root[data-theme=dark] .data-provider-pill.demo-environment{background:var(--primary-soft);border-color:var(--primary-border);color:#7dd3fc}:root[data-theme=dark] .data-provider-pill.supabase-production{background:var(--success-soft);color:#86efac;border-color:#166534}:root[data-theme=dark] .data-provider-pill.production-blank-state{color:#fde68a;background:#422006;border-color:#854d0e}:root[data-theme=dark] .data-provider-pill.preview-local{background:var(--orange-soft);color:#fed7aa;border-color:#9a3412}@media (max-width:900px){.page,.main,.panel,.viz-panel,.viz-canvas,.table-wrap,.voice-card,.complete-card,.student-home-shell,.student-home-card,.teacher-workspace,.teacher-review-layout{min-width:0;max-width:100%}.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:70px;padding:12px 18px}.topbar-actions{flex-wrap:wrap;justify-content:flex-start;min-width:0;max-width:100%}.topbar select,.topbar button,.topbar a{max-width:100%}.viz-panel header,.panel-header,.dashboard-header{flex-wrap:wrap;min-width:0;max-width:100%}.viz-canvas svg{max-width:100%;height:auto}.assistant-panel,.assistant-drawer{max-width:calc(100vw - 24px)}}:root[data-theme=dark] .voice-overlay .reading-pane{background:#111827;border-color:#3b4a63}:root[data-theme=dark] .voice-overlay .reading-text{text-shadow:none;color:#0f172a!important;background:#f8fafc!important;border-color:#cbd5e1!important}:root[data-theme=dark] .voice-overlay .reading-pane footer,:root[data-theme=dark] .voice-overlay .reading-pane footer small{color:#d7e0ea}:root[data-theme=dark] .reading-pane-toggle,:root[data-theme=dark] .reading-pane-reveal,:root[data-theme=dark] .voice-overlay .reading-pane-toggle,:root[data-theme=dark] .voice-overlay .reading-pane-reveal{background:var(--surface-soft);border-color:var(--border);color:var(--text)}.reading-question.current{background:#e0f2fe;border-color:#38bdf8;box-shadow:0 0 0 2px #0ea5e91f}.reading-question.answered{background:#f8fafc;border-color:#dbe3eb}.reading-answer-status{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800}.reading-audio-recovery{border:1px solid var(--warning-border,#fbbf24);background:var(--warning-soft,#fffbeb);color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.reading-audio-recovery button{flex:none}:root[data-theme=dark] .voice-overlay .reading-question.current{background:#0b2a3d;border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf829}:root[data-theme=dark] .voice-overlay .reading-question.answered{background:#172033;border-color:#334155}:root[data-theme=dark] .voice-overlay .reading-answer-status{color:#b6c2d2}.conversation-captions{justify-items:center;gap:10px;width:min(720px,100%);margin:4px auto 12px;display:grid}.caption-controls{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.caption-controls button{background:var(--surface);color:var(--text);border-color:var(--border);padding:6px 10px;font-size:12px}.caption-controls button.active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-border);font-weight:800}.caption-stable{background:var(--surface-soft);border:1px solid var(--border-soft);overflow-wrap:anywhere;border-radius:10px;gap:5px;width:100%;min-height:3.4em;padding:10px 14px;display:grid;color:var(--text-soft)!important;margin:0!important;font-size:19px!important;line-height:1.5!important}.caption-sentence{color:var(--text-muted);transition:color .15s,background-color .15s;display:block}.caption-sentence.current{background:var(--primary-soft);border-left:3px solid var(--primary);border-radius:4px;padding:3px 7px;font-weight:750;color:var(--text)!important}.caption-transcript-shell{width:100%;position:relative}.caption-transcript{text-align:left;border:1px solid var(--border);background:var(--surface-soft);scrollbar-gutter:stable;border-radius:10px;width:100%;max-height:180px;padding:10px 14px;overflow:auto}.caption-transcript p{max-width:none!important;margin:5px 0!important;font-size:15px!important;line-height:1.45!important}.caption-turn{border-left:3px solid #0000;grid-template-columns:minmax(88px,auto) 1fr;gap:10px;padding:4px 7px;display:grid}.caption-turn.current{background:var(--primary-soft);border-left-color:var(--primary);border-radius:4px}.caption-transcript strong{color:var(--primary);overflow-wrap:anywhere;display:inline-block}.caption-turn span{overflow-wrap:anywhere;min-width:0}.caption-jump-latest{position:absolute;bottom:10px;right:10px;box-shadow:0 3px 12px #0f172a33;background:var(--primary)!important;color:#fff!important;padding:6px 10px!important;font-size:12px!important}.reading-pane footer{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.reading-pane footer>div{gap:4px;display:grid}.reading-pane footer button{flex:none}.save-state{color:var(--text-muted);align-self:center;font-size:12px}.save-state.temporarily_stored{color:var(--warning);font-weight:800}.voice-overlay .journey-pocket-tab{top:auto;bottom:96px;right:26px}.voice-overlay>.journey-pocket{max-height:calc(100vh - 140px);top:auto;bottom:96px;right:26px;overflow:auto}.reading-question-list{min-height:108px}.reading-question.current{background:var(--success-soft);border-color:#86efac}.voice-card main{align-content:center;padding:4px;overflow:auto}.voice-card{grid-template-rows:auto minmax(0,1fr) auto auto;max-height:calc(100vh - 32px)}.voice-card main{min-height:0}.voice-card>.journey-pocket-tab{width:100%;box-shadow:none;z-index:auto;justify-content:flex-start;position:static;top:auto;bottom:auto;left:auto;right:auto;transform:none}.voice-card>.journey-pocket-tab strong{margin-left:auto}.voice-card>.journey-pocket{width:100%;max-height:min(280px,32vh);box-shadow:none;z-index:auto;margin:0;position:static;top:auto;bottom:auto;left:auto;right:auto;overflow:auto;transform:none}@media (max-width:700px){.conversation-captions{width:100%}.caption-stable{font-size:16px!important}.caption-controls button{padding:7px 9px}.reading-pane footer{display:grid}.voice-overlay .journey-pocket-tab{bottom:82px;right:12px}.voice-overlay>.journey-pocket{width:auto;bottom:82px;left:12px;right:12px}.voice-card{min-height:calc(100vh - 20px);max-height:calc(100vh - 20px);padding:16px}.voice-card main{overflow-y:auto}.reading-pane{border-radius:12px;padding:14px}.reading-text{font-size:18px!important;line-height:1.55!important}.reading-question strong{font-size:17px}}@media (prefers-reduced-motion:reduce){.orb.speaking{animation:none}.orb,.caption-stable{transition:none}}.completion-signal{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);align-items:center;gap:24px;padding:14px 0 18px;display:grid}.completion-signal>div:first-child{gap:4px;display:grid}.completion-signal span,.reading-report>div>span{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:850}.completion-signal strong{color:var(--text);font-size:28px}.completion-signal small,.reading-report small{color:var(--text-muted)}.cefr-signal-scale{grid-template-columns:repeat(7,minmax(48px,1fr));gap:6px;display:grid}.cefr-signal-scale span{border:1px solid var(--border);background:var(--surface-soft);min-height:38px;color:var(--text-muted);border-radius:6px;place-items:center;font-size:13px;font-weight:800;display:grid}.cefr-signal-scale span.active{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.report-notice{color:var(--text-muted);margin:12px 0 16px;font-size:14px}.completion-evidence-grid .info{background:0 0;border-radius:6px}.reading-report{border-top:1px solid var(--border-soft);grid-template-columns:.9fr 1.1fr;gap:24px;margin-top:18px;padding-top:18px;display:grid}.reading-report>div{min-width:0}.reading-report>div>strong{margin:5px 0 8px;display:block}.reading-report>div>p{color:var(--text-soft);line-height:1.55}.reading-report ol{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.reading-report li{border-top:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;display:grid}.reading-report li p{color:var(--text);grid-column:1/-1;margin:0;font-weight:750}.reading-report li span{color:var(--text-soft);overflow-wrap:anywhere}.reading-outcome{color:var(--text-muted);text-align:right;font-size:12px}.reading-outcome.correct{color:var(--success)}.reading-outcome.partial,.reading-outcome.incorrect,.reading-outcome.unclear{color:var(--warning)}@media (max-width:700px){.completion-signal,.reading-report{grid-template-columns:1fr}.cefr-signal-scale{grid-template-columns:repeat(4,1fr)}.completion-evidence-grid{grid-template-columns:1fr!important}.reading-report li{grid-template-columns:1fr}.reading-outcome{text-align:left}}.login-form{text-align:left;gap:12px;margin:18px 0;display:grid}.login-form label{color:#475569;gap:6px;font-size:13px;font-weight:800;display:grid}.login-form input{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:11px 12px}.login-form button:disabled{cursor:not-allowed;opacity:.62}.login-error,.login-status{border-radius:12px;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.35}.login-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.login-status{color:#047857;background:#ecfdf5;border:1px solid #86efac}.login-signout{margin:0 auto 12px}.login-card .role-grid{border-top:1px solid #e2e8f0;padding-top:18px}:root[data-theme=dark] .login-form label{color:var(--text-soft)}:root[data-theme=dark] .login-form input{background:var(--surface-soft);border-color:var(--input-border);color:var(--text)}:root[data-theme=dark] .login-card .role-grid{border-color:var(--border)}.graph-contract{border:1px solid var(--border-soft,#dbe3eb);background:var(--surface-soft,#f8fafc);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:stretch;gap:10px;margin:12px 0 14px;padding:12px;display:grid}.graph-contract div{gap:4px;min-width:0;display:grid}.graph-contract span{color:var(--text-muted,#64748b);text-transform:uppercase;font-size:11px;font-weight:850}.graph-contract strong{color:var(--text,#0f172a);font-size:12px;line-height:1.35}.graph-contract button{white-space:nowrap;justify-content:center;align-self:center;align-items:center;gap:4px;min-height:38px;display:inline-flex}.knowledge-graph-panel .viz-canvas svg{min-height:220px;max-height:360px}.knowledge-graph-panel .drilldown span{color:var(--text-soft,#475569);font-weight:750}@media (max-width:1100px){.graph-contract{grid-template-columns:repeat(2,minmax(0,1fr))}.graph-contract button{grid-column:1/-1;justify-self:start}}@media (max-width:700px){.graph-contract{grid-template-columns:1fr}}.curriculum-form{gap:14px;display:grid}.curriculum-form label{color:var(--text-soft,#475569);gap:6px;font-size:13px;font-weight:800;display:grid}.curriculum-form input,.curriculum-form textarea{border:1px solid var(--input-border,#cbd5e1);background:var(--surface,#fff);width:100%;color:var(--text,#111827);border-radius:12px;padding:10px 12px}.curriculum-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.curriculum-help{border:1px solid var(--border-soft,#e2e8f0);background:var(--surface-soft,#f8fafc);border-radius:8px;grid-template-columns:minmax(140px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.curriculum-help span{color:var(--text-muted,#64748b);font-size:13px;line-height:1.4}.curriculum-preview{border:1px solid var(--primary-border,#bae6fd);background:var(--primary-soft,#e0f2fe);border-radius:10px;gap:12px;padding:14px;display:grid}.curriculum-preview .table-wrap{background:var(--surface,#fff);border:1px solid var(--border-soft,#e2e8f0);border-radius:8px}:root[data-theme=dark] .curriculum-form input,:root[data-theme=dark] .curriculum-form textarea,:root[data-theme=dark] .curriculum-preview .table-wrap{background:var(--surface-soft);border-color:var(--input-border);color:var(--text)}:root[data-theme=dark] .curriculum-help,:root[data-theme=dark] .curriculum-preview{background:var(--surface-soft);border-color:var(--border)}@media (max-width:900px){.curriculum-form-grid,.curriculum-help{grid-template-columns:1fr}}.backoffice-shell,.backoffice-content,.backoffice-nav,.bo-page-header,.bo-tools,.bo-table{min-width:0;max-width:100%}.backoffice-shell{grid-template-columns:250px minmax(0,1fr)}.backoffice-content{width:100%;overflow-x:hidden}.bo-page-header h1,.bo-page-header p{overflow-wrap:anywhere;min-width:0}.bo-table table{min-width:max-content}@media (max-width:1100px){.backoffice-shell{grid-template-columns:1fr}}
