:root{
  color-scheme:light;
  --bg:#f3f6f3;--surface:#fff;--surface-2:#eaf2ef;--ink:#152825;--muted:#60716e;
  --line:#d4e0dc;--brand:#0b5c5a;--brand-2:#147d77;--brand-soft:#dcefeb;
  --gold:#bc7a1d;--gold-soft:#fff1d5;--danger:#9f3b35;--danger-soft:#fde9e5;
  --success:#1d6f4b;--shadow:0 16px 45px rgba(21,53,48,.08);--radius:22px;
  --sidebar:260px;--topbar:72px;
  font-family:"Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;
}
html[data-theme="dark"]{
  color-scheme:dark;--bg:#0c171b;--surface:#14252a;--surface-2:#1a3437;--ink:#edf7f4;
  --muted:#aec2bd;--line:#315056;--brand:#69d5cb;--brand-2:#8be5dc;--brand-soft:#193f3e;
  --gold:#f1bd70;--gold-soft:#3f3322;--danger:#ffaaa1;--danger-soft:#472b2c;
  --success:#83ddb2;--shadow:0 18px 50px rgba(0,0,0,.24)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.55;min-width:300px}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--brand)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip-link{position:fixed;z-index:100;left:16px;top:-80px;background:var(--ink);color:var(--surface);padding:10px 14px;border-radius:10px}.skip-link:focus{top:10px}
.topbar{height:var(--topbar);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,3vw,42px);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;line-height:1.08}.brand strong{display:block;font-size:15px;letter-spacing:.01em}.brand small{display:block;color:var(--muted);margin-top:4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;font:700 26px Georgia,serif;box-shadow:0 7px 20px rgba(11,92,90,.22)}
.top-actions{display:flex;align-items:center;gap:10px}.user-caption{font-size:14px;color:var(--muted)}.icon-button,.text-button{border:0;background:transparent;color:var(--brand);padding:9px 11px;border-radius:10px;font-weight:700}.icon-button{font-size:20px}.icon-button:hover,.text-button:hover{background:var(--surface-2)}
main{min-height:calc(100vh - var(--topbar))}.toast{position:fixed;right:20px;top:86px;z-index:50;max-width:min(430px,calc(100vw - 40px));padding:14px 17px;border-radius:14px;color:var(--ink);background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));box-shadow:var(--shadow)}.toast.ok{background:var(--brand-soft);border-color:var(--brand)}.toast.error{background:var(--danger-soft);border-color:var(--danger)}
h1,h2,h3{line-height:1.14;letter-spacing:-.025em;margin:.25em 0 .55em}h1{font-size:clamp(34px,5vw,64px)}h2{font-size:clamp(25px,3vw,38px)}h3{font-size:20px}p{margin:.55em 0 1em}.eyebrow{margin:0 0 10px;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted)}.form-note{font-size:13px;color:var(--muted)}
.auth-layout{max-width:1240px;margin:auto;padding:clamp(32px,7vw,90px) 24px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.72fr);gap:clamp(35px,7vw,90px);align-items:center;min-height:calc(100vh - var(--topbar))}.auth-intro>p:not(.eyebrow){font-size:clamp(17px,2vw,21px);max-width:720px;color:var(--muted)}
.start-steps{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:16px;max-width:680px}.start-steps li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}.start-steps li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--brand-soft);color:var(--brand);font-weight:900}.start-steps strong,.start-steps small{display:block}.start-steps small{color:var(--muted);margin-top:3px;font-size:14px}
.auth-card,.panel,.card,.task-card,.metric,.course-card,.mission-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-card{padding:clamp(22px,4vw,34px)}.segmented{display:flex;padding:5px;gap:5px;border-radius:14px;background:var(--bg);margin-bottom:26px}.segmented button{flex:1;border:0;background:transparent;color:var(--muted);border-radius:10px;padding:10px}.segmented button.active{background:var(--surface);color:var(--ink);font-weight:800;box-shadow:0 2px 10px rgba(0,0,0,.08)}
form{display:grid;gap:15px}label{display:grid;gap:6px;font-size:14px;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:12px 13px;border-radius:12px}textarea{resize:vertical;min-height:100px}input:hover,select:hover,textarea:hover{border-color:var(--brand)}
.primary,.secondary,.quiet,.danger-button{border-radius:12px;padding:11px 16px;font-weight:800;border:1px solid transparent}.primary{background:var(--brand);color:#fff}.primary:hover{background:var(--brand-2)}.secondary{background:transparent;color:var(--brand);border-color:var(--brand)}.secondary:hover{background:var(--brand-soft)}.quiet{background:var(--surface-2);color:var(--ink)}.danger-button{background:transparent;color:var(--danger);border-color:var(--danger)}.small{padding:8px 11px;font-size:13px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
html[data-theme="dark"] .primary{color:#103332}
.import-form{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);max-width:440px}.import-form label{margin:5px 0;font-size:13px}.import-form input[type="file"]{padding:7px}
.workspace{max-width:1500px;margin:auto;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);gap:0;min-height:calc(100vh - var(--topbar))}.sidebar{position:sticky;top:var(--topbar);height:calc(100vh - var(--topbar));padding:24px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg) 84%,var(--surface))}.identity-card{display:flex;align-items:center;gap:12px;padding:8px 9px 22px}.identity-card strong,.identity-card small{display:block}.identity-card small{color:var(--muted);font-size:12px;margin-top:2px}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:var(--gold-soft);color:var(--gold);font-weight:900}
.main-nav{display:grid;gap:4px}.main-nav button{display:flex;align-items:center;gap:11px;text-align:left;border:0;border-radius:12px;background:transparent;color:var(--muted);font-weight:700;padding:11px 12px}.main-nav button:hover{background:var(--surface-2);color:var(--ink)}.main-nav button.active{background:var(--brand-soft);color:var(--brand)}.nav-icon{width:24px;text-align:center;font-size:17px}.sidebar-note{margin-top:auto;padding:16px;border-radius:16px;background:var(--gold-soft);font-size:13px}.sidebar-note p{margin:5px 0 0;color:var(--muted)}
.stage{min-width:0;padding:clamp(24px,4vw,52px);max-width:1180px;width:100%;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-head h1{font-size:clamp(34px,4vw,52px);margin-bottom:.15em}.page-head p{max-width:660px;color:var(--muted)}.date-chip,.pill{display:inline-flex;align-items:center;gap:6px;border-radius:100px;padding:6px 11px;background:var(--surface-2);color:var(--brand);font-size:12px;font-weight:800}.pill.gold{background:var(--gold-soft);color:var(--gold)}.pill.danger{background:var(--danger-soft);color:var(--danger)}
.hero-panel{position:relative;overflow:hidden;padding:clamp(24px,4vw,42px);border-radius:28px;background:linear-gradient(135deg,var(--brand),#174b52);color:#fff;box-shadow:0 22px 60px rgba(11,92,90,.25);margin-bottom:24px}.hero-panel:after{content:"π";position:absolute;right:3%;bottom:-55px;font:180px Georgia,serif;color:rgba(255,255,255,.08)}.hero-panel h1,.hero-panel h2{max-width:720px}.hero-panel p{max-width:690px;color:rgba(255,255,255,.8)}.hero-panel .primary{background:#fff;color:#124c4b}.hero-panel .secondary{border-color:rgba(255,255,255,.6);color:#fff}.hero-panel .secondary:hover{background:rgba(255,255,255,.1)}
.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.panel{padding:24px;margin-bottom:20px}.panel.flush{padding:0;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:18px}.panel-head h2,.panel-head h3{margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.course-card{padding:22px;display:flex;flex-direction:column;min-height:225px}.course-card .course-icon{font-size:30px}.course-card p{color:var(--muted);flex:1}.course-card button{align-self:flex-start}.subject-math{--subject:#3167a8}.subject-geometry{--subject:#875ca8}.subject-physics{--subject:#b16821}.course-card{border-top:4px solid var(--subject,var(--brand))}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metric{padding:18px;box-shadow:none}.metric strong{display:block;font-size:28px}.metric small{color:var(--muted)}.progress-track{height:10px;border-radius:10px;background:var(--surface-2);overflow:hidden}.progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--gold));min-width:3px}.mission-steps{display:flex;gap:7px;margin:18px 0}.mission-steps span{height:8px;flex:1;border-radius:8px;background:var(--line)}.mission-steps span.done{background:var(--brand)}.mission-steps span.current{background:var(--gold)}.mission-steps span.postponed{background:repeating-linear-gradient(45deg,var(--line),var(--line) 3px,var(--surface) 3px,var(--surface) 6px)}
.mission-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.mission-card{padding:clamp(23px,4vw,36px)}.task-kicker{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.task-question{font-size:clamp(20px,2.5vw,28px);font-weight:750;line-height:1.35}.task-form{margin-top:24px}.feedback{margin-top:18px;padding:18px;border-radius:15px;background:var(--brand-soft);border-left:4px solid var(--brand)}.feedback.partial{background:var(--gold-soft);border-color:var(--gold)}.feedback.not-yet{background:var(--danger-soft);border-color:var(--danger)}.hint-box,.ai-reply{padding:14px 16px;border-radius:14px;background:var(--gold-soft);margin-top:13px}.ai-reply{background:var(--brand-soft)}.ai-reply h4{margin:0 0 6px}.break-card{padding:18px;border-radius:18px;background:var(--gold-soft);position:sticky;top:calc(var(--topbar) + 20px)}.break-card strong{display:block}.task-list{display:grid;gap:8px}.task-list button{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;padding:10px}.task-list button.current{border-color:var(--brand);background:var(--brand-soft)}.task-list button[disabled]{opacity:.7}.task-list small{display:block;color:var(--muted)}
.photo-answer{margin-top:14px;padding:12px 0;border-top:1px solid var(--line)}.photo-answer summary{cursor:pointer;color:var(--brand);font-weight:800}.photo-answer form{margin-top:12px}.history-item .secondary{display:inline-block;text-decoration:none;margin:6px 0}
.diagnostic-shell{max-width:820px;margin:auto}.diagnostic-progress{display:flex;align-items:center;gap:12px;margin-bottom:25px}.diagnostic-progress .progress-track{flex:1}.diagnostic-card{padding:clamp(24px,5vw,44px)}.diagnostic-card .task-question{margin:20px 0}.no-grade{display:flex;gap:10px;align-items:start;padding:13px 15px;border-radius:14px;background:var(--surface-2);color:var(--muted);font-size:14px}
/* A task is the primary workspace. Keep readable type; let exceptional content grow. */
.learning-mode{--sidebar:210px;--topbar:56px;--learning-inset:clamp(12px,2vw,24px)}
.learning-mode .brand-mark{width:34px;height:34px;border-radius:11px;font-size:23px}
.learning-mode .brand small{display:none}.learning-mode .workspace{max-width:none}
.learning-mode .sidebar{padding:14px 12px;height:calc(100dvh - var(--topbar))}
.learning-mode .identity-card{padding:4px 8px 14px}.learning-mode .sidebar-note{padding:12px;font-size:12px}
.learning-mode .stage{padding:var(--learning-inset);max-width:none;margin:0;align-self:start}
.learning-screen{display:grid;gap:12px;width:100%;max-width:1440px;margin:0 auto;min-width:0}
.learning-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.learning-head>div{min-width:0}.learning-head .eyebrow{font-size:10px;margin:0 0 3px}
.learning-head h1{font-size:clamp(23px,2.7vw,34px);line-height:1.15;margin:0}
.learning-description{font-size:14px;line-height:1.4;color:var(--muted);margin:6px 0 0;max-width:800px}
.learning-focus-button{flex-shrink:0}.learning-focus .workspace{grid-template-columns:minmax(0,1fr)}
.learning-menu-button{display:none;flex-shrink:0}
.learning-focus .sidebar{display:none}.learning-focus .learning-screen{max-width:1440px}
.learning-screen .diagnostic-progress{margin:0;gap:12px;font-size:13px;line-height:1.3}
.learning-progress{display:block;flex:1;min-width:0;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;appearance:none;background:var(--surface-2);color:var(--brand)}
.learning-progress::-webkit-progress-bar{background:var(--surface-2);border-radius:8px}
.learning-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--brand),var(--gold));border-radius:8px}
.learning-progress::-moz-progress-bar{background:linear-gradient(90deg,var(--brand),var(--gold));border-radius:8px}
.study-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);align-items:start;gap:clamp(20px,3vw,44px);padding:clamp(18px,2.4vw,30px);margin:0;min-width:0}
.task-prompt,.task-response,.study-answer{min-width:0}.study-card .task-kicker{margin:0 0 14px;gap:8px}
.study-card .task-question{font-size:clamp(20px,2.1vw,28px);line-height:1.35;letter-spacing:-.015em;margin:0;overflow-wrap:anywhere}
.study-card .no-grade{font-size:13px;line-height:1.45;margin:20px 0 0;padding:12px}
.diagnostic-tip{margin-top:16px;font-size:13px}.diagnostic-tip summary{cursor:pointer;color:var(--brand);font-weight:700}.diagnostic-tip .no-grade{margin-top:10px}
.study-answer{gap:12px;margin:0}.study-answer label{font-size:14px;gap:5px}
.study-answer input{min-height:42px;padding:9px 12px}.study-answer textarea{height:clamp(80px,18dvh,160px);min-height:80px;padding:10px 12px;line-height:1.4}
.study-answer .primary,.study-answer .secondary,.study-answer .quiet{min-height:42px;padding:9px 14px}
.study-answer .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.study-answer .actions button{min-width:0;padding:9px 8px;font-size:14px}.study-answer .actions .primary{flex:1}
.task-support{margin-top:20px;border-top:1px solid var(--line);padding-top:12px;font-size:13px}
.task-support>summary,.tutor-help>summary,.mission-overview>summary{cursor:pointer;color:var(--brand);font-weight:700}
.task-support form{margin-top:12px}.task-support .photo-answer{margin-top:10px;padding-top:8px}.tutor-help{margin-top:12px}
.mission-overview{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:10px 14px;font-size:13px}
.mission-overview[open]>summary{margin-bottom:16px}.mission-plan{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.mission-plan .break-card{position:static}.mission-plan .panel{margin:0;padding:18px}.mission-plan .task-list{grid-template-columns:1fr 1fr}
.mission-overview .hero-panel{padding:22px;margin-bottom:0}.hero-panel .eyebrow{color:#cceee9}
.learning-break{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;line-height:1.35;padding:10px 14px;border-radius:12px;background:var(--gold-soft)}
.learning-screen .feedback,.learning-screen .hint-box{font-size:14px;line-height:1.4;padding:12px;margin-top:12px}
.learning-screen .feedback p{margin:6px 0}.learning-screen .feedback .muted{font-size:12px}
.answer-recap{margin:8px 0}.answer-recap summary{cursor:pointer;overflow-wrap:anywhere}.task-response:has(.study-answer[hidden])>.feedback-slot>.feedback{margin-top:0}
@media(min-width:821px) and (max-height:720px){.learning-mode{--learning-inset:12px}.learning-mode .sidebar-note{display:none}.learning-mode .main-nav button{padding:9px 12px}.learning-head h1{font-size:26px}.learning-description{margin-top:4px;font-size:13px}.study-card{padding:20px}.study-answer{gap:10px}.study-answer textarea{height:88px}.learning-screen{gap:10px}}
@media(min-width:821px) and (max-width:1100px){.learning-mode{--sidebar:176px}.learning-focus-button{font-size:12px;max-width:130px}.study-card{gap:20px;padding:18px;grid-template-columns:minmax(0,1fr) minmax(265px,1fr)}.study-card .task-question{font-size:21px}}
@media(min-width:821px) and (max-height:540px){.learning-description{display:none}.learning-head h1{font-size:24px}.study-card{padding:14px}.study-answer textarea{height:72px;min-height:72px}.learning-screen{gap:8px}.mission-overview{padding:8px 12px}}
.path-list{display:grid;gap:14px}.path-node{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.path-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:var(--brand-soft);font-size:24px}.path-node p{margin:4px 0;color:var(--muted)}.mastery{min-width:120px;text-align:right}.mastery strong{display:block}.mastery .progress-track{margin-top:6px}
.lesson-list{display:grid;gap:12px}.lesson-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.lesson-row h3{margin:0}.lesson-row p{margin:4px 0;color:var(--muted)}.breadcrumb{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:14px;margin-bottom:22px}.breadcrumb button{border:0;background:none;color:var(--brand);padding:0}.lesson-player{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px}.lesson-outline{position:sticky;top:calc(var(--topbar) + 20px);align-self:start;display:grid;gap:6px}.lesson-outline button{text-align:left;border:0;border-left:3px solid var(--line);background:transparent;color:var(--muted);padding:9px 12px}.lesson-outline button.active{border-color:var(--brand);color:var(--brand);font-weight:800}.lesson-slide{min-height:360px}.visual-example{padding:22px;border-radius:18px;background:var(--brand-soft);font-size:18px;white-space:pre-wrap}.lesson-footer{display:flex;justify-content:space-between;gap:12px;margin-top:25px}
.history-list{display:grid}.history-item{padding:16px 0;border-top:1px solid var(--line)}.history-item:first-child{border:0}.history-item p{margin:5px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tag-list{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:24px;border-radius:16px;background:var(--surface-2);color:var(--muted)}
.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.achievement{padding:22px;border-radius:20px;border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}.achievement:before{content:"✦";display:grid;place-items:center;width:48px;height:48px;border-radius:17px;background:var(--gold-soft);color:var(--gold);font-size:25px;margin-bottom:15px}.achievement p{color:var(--muted)}
.report-section{break-inside:avoid}.evidence-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:15px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-grid .wide{grid-column:1/-1}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.evidence-row{display:block}.evidence-row summary{cursor:pointer;line-height:1.5}.evidence-row summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.evidence-row p{margin:10px 0}.evidence-row small{color:var(--muted)}
.visual-model{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin:0 0 16px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--brand)}.visual-model>span{font-size:20px;font-weight:750;text-align:center}.visual-model small{font-size:12px;color:var(--muted)}.visual-model b{font-size:20px}.clock-model svg{width:120px;height:120px}.clock-model text{fill:var(--ink);font-size:24px;font-weight:750}.area-grid{display:grid;grid-template-columns:repeat(4,24px);grid-template-rows:repeat(3,24px);border:3px solid var(--brand)}.area-grid i{border:1px solid var(--line);background:var(--brand-soft)}
.loading{display:grid;place-items:center;min-height:300px;color:var(--muted)}.loading span{width:42px;height:42px;border:4px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
dialog{max-width:520px;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--ink);padding:26px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(4,15,17,.55)}
@media(max-width:1050px){.card-grid{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.mission-layout{grid-template-columns:1fr}.break-card{position:static}.lesson-player{grid-template-columns:190px 1fr}.achievement-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){:root{--topbar:64px}.topbar{padding:0 14px}.brand small,.user-caption{display:none}.workspace{display:block;padding-bottom:76px}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:25;width:auto;height:auto;padding:7px max(5px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);background:var(--surface)}.identity-card,.sidebar-note{display:none}.main-nav{display:flex;overflow-x:hidden;justify-content:space-around;gap:2px}.main-nav button{min-width:0;flex:1;display:grid;place-items:center;gap:1px;padding:7px 2px;font-size:10px;white-space:nowrap}.nav-icon{font-size:18px}.stage{padding:24px 16px 42px}.auth-layout{grid-template-columns:1fr;min-height:auto}.auth-intro h1{font-size:40px}.page-head{display:block}.lesson-player{display:block}.lesson-outline{position:static;display:flex;overflow:auto;margin-bottom:15px}.lesson-outline button{white-space:nowrap;border-left:0;border-bottom:3px solid var(--line)}.lesson-outline button.active{border-color:var(--brand)}.split,.admin-grid{grid-template-columns:1fr}.admin-grid .wide{grid-column:auto}}
@media(max-width:560px){.auth-layout{padding:28px 14px}.auth-intro h1{font-size:34px}.auth-intro>p:not(.eyebrow){font-size:16px}.start-steps{margin-top:24px}.start-steps small{font-size:13px}.auth-card{padding:20px}.brand strong{font-size:13px}.stage{padding:20px 12px 36px}.hero-panel{border-radius:22px;padding:24px 20px}.hero-panel:after{display:none}.card-grid,.metrics,.achievement-grid{grid-template-columns:1fr}.course-card{min-height:auto}.panel,.mission-card{padding:19px;border-radius:18px}.mission-card{border-radius:20px}.task-kicker,.lesson-row{align-items:flex-start}.lesson-row{display:grid}.actions>*{flex:1}.actions .quiet,.actions .text-button{flex:0 0 auto}.path-node{grid-template-columns:48px 1fr}.path-symbol{width:45px;height:45px}.mastery{grid-column:2;text-align:left}.evidence-row{grid-template-columns:1fr}.top-actions{gap:2px}}
@media(max-width:820px){.learning-mode{--topbar:52px;--learning-inset:12px}.learning-mode .workspace{padding-bottom:74px}.learning-mode .sidebar{display:flex;height:auto;padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom))}.learning-mode .stage{padding:12px}.learning-mode .main-nav button{padding:5px 2px}.learning-mode .brand-mark{width:30px;height:30px;font-size:21px}.learning-focus-button{display:none}.learning-screen{gap:10px}.learning-head h1{font-size:24px}.learning-description{font-size:13px;margin-top:5px}.study-card{grid-template-columns:minmax(0,1fr);gap:14px;padding:18px}.study-card .task-kicker{margin-bottom:10px}.study-card .task-question{font-size:20px;line-height:1.3}.study-card .no-grade{padding:0;background:none;margin-top:10px;font-size:12px}.study-answer{gap:10px}.study-answer input,.study-answer textarea{font-size:16px}.study-answer textarea{height:80px}.task-support{margin-top:12px;padding-top:10px}.learning-break{align-items:start;flex-direction:column}.mission-plan{grid-template-columns:1fr}.mission-overview{padding:9px 12px}}
@media(max-width:820px) and (max-height:700px){.learning-mode .stage{padding:8px 10px}.learning-screen{gap:8px}.learning-head h1{font-size:22px}.learning-description{font-size:12px}.study-card{padding:14px;gap:10px}.study-card .task-question{font-size:19px}.study-answer textarea{height:72px;min-height:72px}.study-answer label{font-size:13px}.study-answer{gap:8px}}
@media(max-width:820px) and (max-height:700px){.learning-mode .workspace{padding-bottom:0}.learning-mode .sidebar{display:none}.learning-mode.learning-menu-open .sidebar{display:flex;box-shadow:0 -5px 25px rgba(0,0,0,.15)}.learning-mode.learning-menu-open .workspace{padding-bottom:74px}.learning-menu-button{display:block;padding:7px}.learning-head{gap:8px}.diagnostic-tip{margin-top:10px;font-size:12px}}
@media(max-width:820px) and (max-height:600px){.learning-description{display:none}.study-card .task-kicker{margin-bottom:8px}.learning-head h1{font-size:21px}}
@media(max-width:820px) and (max-height:600px){.learning-screen{gap:6px}.study-card{padding:12px;gap:8px}.study-answer{gap:7px}.study-answer textarea{height:64px;min-height:64px}.task-support{margin-top:6px;padding-top:8px}.mission-overview{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.topbar,.sidebar,.toast,.actions,.lesson-outline,.no-print{display:none!important}body{background:#fff;color:#000}.workspace{display:block}.stage{max-width:none;padding:0}.panel,.mission-card,.task-card,.course-card{box-shadow:none;border:1px solid #999;break-inside:avoid}.report-section{break-inside:avoid}.page-head h1{font-size:26pt}.print-key{break-before:page}a{color:#000;text-decoration:none}}
@media print{.learning-focus-button{display:none}.learning-mode .workspace{display:block;padding:0}.learning-mode .stage{padding:0}.study-card{display:block}.learning-screen{display:block}.study-answer{margin-top:20px}}
