:root{--bg:#07111f;--panel:#0c1729;--panel2:#101f36;--text:#eef6ff;--muted:#8fa8c4;--line:#20344f;--accent:#7cf7d4;--accent2:#8ca7ff;--warn:#ffd166;--bad:#ff6b8a;--good:#37e28f;--shadow:0 20px 70px rgba(0,0,0,.35)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#12365d 0,#07111f 38%,#050a12 100%);color:var(--text)}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:280px;background:rgba(8,17,31,.88);border-right:1px solid var(--line);padding:24px;position:sticky;top:0;height:100vh;backdrop-filter:blur(18px)}.brand{display:flex;gap:12px;align-items:center;margin-bottom:34px}.brand span,.student-chip small{display:block;color:var(--muted);font-size:12px}.logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;color:#06111f;font-weight:900}nav{display:grid;gap:8px}.nav,.card button,.secondary,.primary{border:0;border-radius:14px;padding:12px 14px;cursor:pointer}.nav{text-align:left;color:var(--muted);background:transparent}.nav.active,.nav:hover{background:#132743;color:var(--text)}.sidebar-card{margin-top:28px;border:1px solid var(--line);background:rgba(255,255,255,.04);padding:16px;border-radius:18px}.pill{display:inline-flex;border:1px solid var(--line);background:#10243e;color:var(--accent);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.pill.accent{background:rgba(124,247,212,.12);border-color:rgba(124,247,212,.45)}main{flex:1;padding:26px;max-width:1440px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.eyebrow{margin:0;color:var(--accent);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:30px}.student-chip{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line);padding:10px 14px;border-radius:18px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#223b61}.view{display:none}.view.active{display:block}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;padding:30px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,rgba(20,45,78,.9),rgba(8,16,29,.9));box-shadow:var(--shadow);overflow:hidden}.hero h2{font-size:48px;line-height:1.02;margin:16px 0}.hero p{color:var(--muted);font-size:18px;max-width:690px}.hero-actions{display:flex;gap:12px;margin-top:22px}.primary{background:linear-gradient(135deg,var(--accent),#68b7ff);color:#06111f;font-weight:900}.secondary,.card button{background:#162b49;color:var(--text);border:1px solid var(--line)}.orbit-card{position:relative;min-height:280px;border-radius:24px;background:rgba(255,255,255,.04);display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.orbit{position:absolute;inset:50px;border:2px dashed rgba(124,247,212,.45);border-radius:50%;animation:spin 14s linear infinite}.orbit:after{content:"";position:absolute;right:18px;top:18px;width:26px;height:26px;border-radius:50%;background:var(--accent);box-shadow:0 0 25px var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.metric{position:relative;z-index:1;background:rgba(5,10,18,.72);border:1px solid var(--line);border-radius:18px;padding:18px;align-self:end}.metric b{font-size:32px}.metric span{display:block;color:var(--muted)}.grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.card{border:1px solid var(--line);background:rgba(12,23,41,.82);border-radius:22px;padding:20px;box-shadow:0 12px 35px rgba(0,0,0,.18)}.card p{color:var(--muted)}.wide{margin-top:18px}.large-quote{font-size:22px;color:var(--text)!important}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.section-head.compact{margin:0 0 12px}.section-head p{color:var(--muted)}select{background:#10243e;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:10px}.curriculum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}.subject-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(16,31,54,.95),rgba(8,16,29,.95));border-radius:20px;padding:16px}.subject-card .year{color:var(--accent2);font-weight:800}.subject-card ul{padding-left:18px;color:var(--muted)}.subject-card small{color:var(--accent)}.lesson-picker{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:14px}.lesson-picker h2{margin:8px 0 4px}.picker-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.picker-actions select{min-width:320px}.lesson-outline{display:grid;grid-template-columns:1fr 1.6fr 1.6fr 1fr;gap:12px;margin-bottom:16px}.lesson-outline div{background:#07111f;border:1px solid var(--line);border-radius:16px;padding:12px}.lesson-outline span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.lesson-outline b{font-size:14px}.lesson-flow{display:grid;gap:16px}.phase-tabs{display:flex;gap:10px;flex-wrap:wrap;background:rgba(12,23,41,.72);border:1px solid var(--line);border-radius:20px;padding:10px}.phase{background:#0a1525;color:var(--muted);border:1px solid var(--line);border-radius:14px;padding:11px 14px;font-weight:800;cursor:pointer}.phase.active{background:linear-gradient(135deg,rgba(124,247,212,.22),rgba(140,167,255,.16));color:var(--text);border-color:rgba(124,247,212,.45)}.phase-panel{display:none}.phase-panel.active{display:block}.explain-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.concept-card .big{font-size:24px;line-height:1.3;color:var(--text)}.formula-card{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin:18px 0}.formula-card div,.simple-formula{background:#07111f;border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center}.formula-card span{display:block;color:var(--muted);font-size:12px}.formula-card b{font-size:24px;color:var(--accent)}.simple-formula{font-size:24px;font-weight:900;color:var(--accent);margin-bottom:18px}.force-visual{height:260px;border-radius:20px;background:linear-gradient(180deg,#10243e,#07111f);border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}.mini-cart{width:120px;height:70px;border-radius:18px;background:linear-gradient(135deg,#7cf7d4,#8ca7ff);display:grid;place-items:center;color:#06111f;font-weight:900;box-shadow:0 16px 50px rgba(124,247,212,.25)}.arrow{position:absolute;font-size:22px;font-weight:900;padding:12px 16px;border-radius:999px}.forward{left:30px;top:58px;background:rgba(55,226,143,.16);color:#b8ffd9}.backward{right:30px;bottom:58px;background:rgba(255,107,138,.14);color:#ffc2ce}.teaching-steps{color:var(--muted);line-height:1.6}.prediction-card{max-width:760px;margin:0 auto}.prediction-card p{font-size:20px;color:var(--text)}.prediction-options{display:grid;gap:12px;margin:22px 0}.prediction-options button{border:1px solid var(--line);background:#10243e;color:var(--text);padding:16px;border-radius:16px;text-align:left;cursor:pointer}.prediction-options button:hover{border-color:var(--accent)}.feedback{font-weight:900;color:var(--accent)!important}.mini-explainer{background:rgba(124,247,212,.1);border:1px solid rgba(124,247,212,.28);padding:12px 14px;border-radius:16px;color:#d7fff3;margin-bottom:12px}.reflection-card{max-width:760px;margin:0 auto}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.track{height:150px;border-radius:22px;background:linear-gradient(180deg,#17304f,#0a1424);border:1px solid var(--line);position:relative;overflow:hidden;margin:12px 0}.track:before{content:"";position:absolute;left:0;right:0;bottom:32px;height:5px;background:#385475}.cart{position:absolute;left:24px;bottom:38px;width:78px;height:44px;border-radius:12px;background:linear-gradient(135deg,#7cf7d4,#8ca7ff);transition:left .45s cubic-bezier(.2,.8,.2,1)}.cart span:before,.cart span:after{content:"";position:absolute;bottom:-14px;width:18px;height:18px;border-radius:50%;background:#07111f;border:3px solid #dceeff}.cart span:before{left:12px}.cart span:after{right:12px}.finish{position:absolute;right:58px;top:20px;bottom:25px;border-right:4px dashed var(--warn)}canvas{width:100%;height:260px;background:#07111f;border:1px solid var(--line);border-radius:18px}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.controls label{background:#0a1525;border:1px solid var(--line);padding:12px;border-radius:16px;color:var(--muted)}.controls b{float:right;color:var(--text)}input[type=range]{width:100%;accent-color:var(--accent)}.challenge{margin-top:14px;padding:14px;border-radius:16px;background:rgba(255,209,102,.09);border:1px solid rgba(255,209,102,.28);color:#ffe8a7}.status{color:var(--warn);font-weight:900}.coach-log{height:360px;overflow:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.msg{padding:12px;border-radius:16px;background:#0a1525;border:1px solid var(--line);color:var(--muted)}.msg.good{border-color:rgba(55,226,143,.45);color:#c8ffe1}.msg.warn{border-color:rgba(255,209,102,.45);color:#ffe8a7}textarea{width:100%;min-height:110px;background:#07111f;color:var(--text);border:1px solid var(--line);border-radius:16px;padding:12px;resize:vertical}.upload-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}#file-input{display:block;margin:16px 0;color:var(--muted)}.analysis-output{white-space:pre-wrap;line-height:1.5}.muted{color:var(--muted)}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.report-grid div{padding:16px;background:#0a1525;border:1px solid var(--line);border-radius:16px}.report-grid span{display:block;color:var(--muted);font-size:12px}.report-grid b{font-size:18px}@media(max-width:900px){.app-shell{display:block}.sidebar{position:relative;width:auto;height:auto}.topbar,.hero,.lab-layout,.upload-grid{grid-template-columns:1fr;display:grid}.grid.three,.controls,.report-grid{grid-template-columns:1fr}.student-chip{display:none}.hero h2{font-size:36px}}
.activity-area{display:grid;gap:14px}.activity-title{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#07111f;border:1px solid var(--line);border-radius:16px;padding:12px 14px;color:var(--muted)}.activity-title b{color:var(--accent)}.particle-box{height:260px;position:relative;overflow:hidden;background:linear-gradient(180deg,#07111f,#10243e);border:1px solid var(--line);border-radius:18px}.particle-box span{position:absolute;width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px rgba(124,247,212,.6);animation:floaty 2s ease-in-out infinite alternate}@keyframes floaty{to{transform:translate(14px,-10px)}}.activity-result{background:rgba(124,247,212,.09);border:1px solid rgba(124,247,212,.25);border-radius:16px;padding:13px;color:#d8fff4}.cell-grid,.choice-grid,.circuit,.concept-workbench{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.cell-part,.component,.choice-grid button{background:#10243e;color:var(--text);border:1px solid var(--line);border-radius:16px;padding:16px;text-align:left;cursor:pointer}.cell-part.selected,.component[data-on="1"]{border-color:var(--accent);background:rgba(124,247,212,.12)}.balance{display:grid;gap:14px;place-items:start}.balance div:first-child{font-size:32px;background:#07111f;border:1px solid var(--line);border-radius:18px;padding:20px}.balance input{width:80px;background:#10243e;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:8px}.scenario{background:#190f18;border:1px solid rgba(255,107,138,.4);color:#ffd5de;border-radius:18px;padding:18px}.work-card{background:#07111f;border:1px solid var(--line);border-radius:16px;padding:16px}.work-card b{color:var(--accent)}

/* Added Year 7 Science completion templates */
.solution-lab,.ray-stage,.orbit-stage,.arm-model,.ecosystem{background:#07111f;border:1px solid var(--line);border-radius:18px;padding:18px;min-height:170px;position:relative;overflow:hidden}.beaker{height:160px;border:2px solid rgba(124,247,212,.45);border-radius:20px 20px 34px 34px;display:grid;place-items:center;color:#dff;background:linear-gradient(#1c8fd1,#0d426c);transition:.25s}.sorter{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.dropzone{min-height:130px;background:#07111f;border:1px dashed #3d638f;border-radius:16px;padding:12px}.token-bank,.data-row{display:flex;flex-wrap:wrap;gap:10px}.token,.reading,.selected{border-color:var(--accent)!important;background:rgba(124,247,212,.12)!important}.token-copy{display:block;margin-top:8px;padding:7px 9px;border-radius:999px;background:#132743;color:var(--accent)}.builder-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#07111f;border:1px solid var(--line);border-radius:16px;padding:16px}.builder-line input{min-width:160px;background:#10243e;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px}.meter{height:22px;background:#07111f;border:1px solid var(--line);border-radius:999px;overflow:hidden}.meter span{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:.2s}.meter.heat span{background:linear-gradient(90deg,#ff6b8a,#ffd166)}.force-stage{display:flex;align-items:center;justify-content:center;gap:24px;background:#07111f;border:1px solid var(--line);border-radius:18px;padding:25px}.ray-stage svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ray-stage polyline{fill:none;stroke:#ffd166;stroke-width:5;filter:drop-shadow(0 0 8px #ffd166)}.source,.eye,.sun,.earth{display:grid;place-items:center;border-radius:50%;font-weight:800}.source{width:70px;height:70px;background:#ffd166;color:#291800}.eye{position:absolute;right:34px;top:70px;width:70px;height:50px;border-radius:50%;background:#8ca7ff;color:#06111f}.mirror{position:absolute;left:48%;top:62px;width:16px;height:90px;background:#eef6ff;border-radius:8px;transform-origin:center}.sun{position:absolute;left:55px;top:55px;width:90px;height:90px;background:#ffd166;color:#271800}.earth{position:absolute;left:50%;top:80px;width:70px;height:70px;background:#2da8ff;color:white;transform-origin:-120px 35px;transition:.2s}.orbit-stage{height:230px}.ecosystem{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center;text-align:center}.ecosystem>div{background:#10243e;border:1px solid var(--line);border-radius:16px;padding:20px}.arm-model{height:210px}.upper,.forearm{position:absolute;left:42%;top:60px;width:120px;height:28px;background:#8ca7ff;border-radius:14px;transform-origin:left center}.forearm{left:50%;background:#7cf7d4;color:#06111f;transition:.25s}.microscope-view{height:180px;background:radial-gradient(circle,#dff 0,#10243e 45%,#07111f 100%);border:1px solid var(--line);border-radius:18px;display:grid;place-items:center;overflow:hidden}.microscope-view #specimen{width:80px;height:50px;border-radius:50%;background:#7cf7d4;color:#06111f;display:grid;place-items:center;transition:.2s}

/* Year 7 Mathematics interaction styles */
.math-strip{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.math-strip button,.big-number,.percent-box,.coordinate-card{background:#07111f;border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--text);font-weight:800}.big-number,.percent-box,.coordinate-card{font-size:28px;text-align:center}.math-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:8px}.math-grid button{border:1px solid var(--line);background:#10243e;color:var(--text);border-radius:12px;padding:10px}.fraction-bar{height:72px;display:flex;border:2px solid var(--line);border-radius:18px;overflow:hidden;background:#07111f}.fraction-bar span{flex:1;border-right:1px solid var(--line)}.fraction-bar span.fill{background:linear-gradient(180deg,var(--accent),var(--accent2))}.number-line{display:flex;justify-content:space-between;align-items:center;gap:2px;padding:18px;background:#07111f;border:1px solid var(--line);border-radius:16px}.number-line span{position:relative;color:var(--muted)}.number-line span:before{content:'';position:absolute;left:50%;top:-16px;width:2px;height:12px;background:var(--line)}.ratio-cups{display:flex;height:90px;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.ratio-cups div{display:grid;place-items:center;font-weight:800}.ratio-cups div:first-child{background:#7cf7d4;color:#06111f}.ratio-cups div:last-child{background:#8ca7ff;color:#06111f}.rect-model{background:repeating-linear-gradient(90deg,rgba(124,247,212,.25) 0 43px,transparent 43px 45px),repeating-linear-gradient(0deg,rgba(124,247,212,.25) 0 43px,transparent 43px 45px);border:2px solid var(--accent);border-radius:12px;max-width:100%;}.angle-model{height:160px;background:#07111f;border:1px solid var(--line);border-radius:18px;display:flex;align-items:end;justify-content:center;gap:24px;padding:24px}.angle-model span{padding:18px 28px;border-radius:16px;background:#10243e;border:1px solid var(--line);font-weight:900}.operation-card{background:#07111f;border:1px solid var(--line);border-radius:16px;padding:16px}

/* Year 7 Computing interaction styles */
.comp-flow,.network-path{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#07111f;border:1px solid var(--line);border-radius:18px;padding:16px}.comp-flow div,.network-path div,.branch-box,.memory-box,.prompt-card{background:#10243e;border:1px solid var(--line);border-radius:16px;padding:14px;font-weight:800}.comp-flow span,.network-path span{color:var(--accent);font-weight:900}.bit-row{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:12px}.bit-row button{background:#10243e;border:1px solid var(--line);color:var(--text);border-radius:16px;padding:18px;font-weight:900}.bit-row button[data-on="1"]{background:rgba(124,247,212,.18);border-color:var(--accent);color:var(--accent)}.code-blocks,.trace-table,.sheet{display:grid;gap:10px}.code-blocks div,.trace-table div,.sheet div{background:#07111f;border:1px solid var(--line);border-radius:14px;padding:12px}.trace-table div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.trace-table span{background:#10243e;border-radius:999px;padding:7px 10px}.memory-box{display:grid;place-items:center;min-height:140px}.memory-box span{font-size:42px;color:var(--accent)}.code-panel{background:#07111f;border:1px solid var(--line);border-radius:16px;padding:16px;color:#dff;white-space:pre-wrap}.sheet{grid-template-columns:repeat(3,1fr)}.vector-stage{height:190px;position:relative;background:#07111f;border:1px solid var(--line);border-radius:18px;overflow:hidden}.shape{position:absolute;display:grid;place-items:center;font-weight:900;color:#06111f}.shape.s0{left:80px;top:55px;width:110px;height:110px;border-radius:50%;background:#7cf7d4}.shape.s1{left:150px;top:75px;width:150px;height:80px;background:#8ca7ff}.shape.s2{left:255px;top:45px;width:0;height:0;border-left:55px solid transparent;border-right:55px solid transparent;border-bottom:110px solid #ffd166;color:transparent}.prompt-card.bad{border-color:rgba(255,107,138,.6);background:rgba(255,107,138,.12)}.prompt-card.good{border-color:rgba(124,247,212,.6);background:rgba(124,247,212,.12)}

/* Path picker: Year → Subject → Lesson */
.path-picker{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;align-items:end}.path-picker label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.path-picker select{width:100%;background:#07111f;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:11px}.path-picker button{align-self:end}@media(max-width:900px){.path-picker{grid-template-columns:1fr}.lesson-picker{align-items:stretch}}

/* Year 8-9 science extra templates */
.process-flow,.reaction-model,.magnet-stage,.ph-scale{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;background:#07111f;border:1px solid var(--line);border-radius:18px;padding:18px}.process-flow div,.reaction-model div,.magnet-stage div,.ph-scale b{background:#10243e;border:1px solid var(--line);border-radius:16px;padding:14px;font-weight:900}.process-flow span,.reaction-model span{color:var(--accent);font-weight:900}.circuit-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;background:#07111f;border:1px solid var(--line);border-radius:18px;padding:16px}.circuit-board button{background:#10243e;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:14px}.circuit-board button[data-on="1"]{border-color:var(--accent);background:rgba(124,247,212,.12)}.pressure-pad{height:170px;background:#07111f;border:1px solid var(--line);border-radius:18px;display:grid;place-items:end center;padding-bottom:22px}.pressure-pad div{height:60px;background:#ffd166;color:#221700;border-radius:12px;display:grid;place-items:center;font-weight:900}.magnet-stage div:first-child{background:#ff6b8a;color:white}.magnet-stage div:nth-child(2){background:#8ca7ff;color:white}.magnet-stage span{font-size:32px;color:var(--accent)}.punnett{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#07111f;border:1px solid var(--line);border-radius:18px;padding:16px}.punnett div{background:#10243e;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center;font-weight:900}.ph-scale{justify-content:space-between}.ph-scale b{font-size:40px;color:var(--accent)}

/* Clean visible lesson choice cards + dynamic concept model */
.lesson-choice-grid{margin-top:14px;padding:16px}.choice-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.choice-head b{display:block;color:var(--accent);font-size:16px}.choice-head span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.lesson-choice-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;max-height:310px;overflow:auto;padding-right:4px}.lesson-choice{display:flex;gap:10px;align-items:flex-start;text-align:left;background:#07111f;color:var(--text);border:1px solid var(--line);border-radius:16px;padding:12px;cursor:pointer;min-height:82px}.lesson-choice:hover,.lesson-choice.active{border-color:var(--accent);background:rgba(124,247,212,.10)}.lesson-choice>span{flex:0 0 auto;width:30px;height:30px;border-radius:999px;background:#10243e;color:var(--accent);display:grid;place-items:center;font-weight:900}.lesson-choice b{display:block;line-height:1.2;font-size:14px}.lesson-choice small{display:block;color:var(--muted);margin-top:5px;line-height:1.25}.concept-node{background:#10243e;border:1px solid var(--line);border-radius:18px;padding:18px 20px;min-width:130px;text-align:center;color:var(--accent);font-weight:900}.concept-arrow{font-size:26px;color:var(--muted);align-self:center}.force-visual{gap:12px;flex-wrap:wrap}.formula-card{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:center}.formula-card strong{display:grid;place-items:center;color:var(--muted)}/* App-like lesson browser/classroom split */
.hidden{display:none!important}.lesson-browser{display:grid;gap:14px}.path-picker{grid-template-columns:repeat(2,minmax(180px,1fr))}.lesson-picker{display:flex;justify-content:space-between;gap:22px;align-items:flex-end}.lesson-picker>div:first-child{min-width:260px}.classroom-head{align-items:center}.classroom-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.choice-head{align-items:center}.choice-head .primary:disabled{opacity:.45;cursor:not-allowed}.lesson-choice em{display:inline-flex;margin-top:8px;font-style:normal;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 8px}.lesson-choice.passed{border-color:rgba(55,226,143,.55);background:rgba(55,226,143,.07)}.lesson-choice.passed>span{background:rgba(55,226,143,.16);color:var(--good)}.lesson-choice.passed em{color:var(--good);border-color:rgba(55,226,143,.35)}.lesson-outline{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media(max-width:900px){.lesson-picker{display:grid}.classroom-actions{justify-content:stretch}.classroom-actions button{width:100%}.path-picker{grid-template-columns:1fr}}


/* Lesson-specific clarity scaffold */
.lab-brief{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0 14px}.lab-brief div{background:rgba(124,247,212,.07);border:1px solid rgba(124,247,212,.22);border-radius:16px;padding:12px;min-height:96px}.lab-brief span{display:block;color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.lab-brief b{display:block;color:#eaf7ff;font-size:13px;line-height:1.35;font-weight:700}.mini-explainer{line-height:1.45}


/* Clear 4-step lesson map shown on every Year 7 lesson */
.clear-lab-map{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 16px}.clear-title{grid-column:1/-1;color:var(--accent);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.clear-step{background:#07111f;border:1px solid var(--line);border-radius:14px;padding:10px;min-height:116px}.clear-step span{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06111f;font-weight:900;margin-bottom:7px}.clear-step b{display:block;color:#fff;margin-bottom:5px}.clear-step small{display:block;color:var(--muted);line-height:1.3}.lab-brief div:nth-child(2){background:rgba(140,167,255,.08);border-color:rgba(140,167,255,.25)}.lab-brief div:nth-child(5){background:rgba(55,226,143,.08);border-color:rgba(55,226,143,.25)}@media(max-width:1000px){.clear-lab-map{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.clear-lab-map{grid-template-columns:1fr}.clear-step{min-height:auto}}


/* Deep lesson workbench: spec-backed manipulation + evidence trail */
.deep-workbench{border:1px solid rgba(140,167,255,.32);background:linear-gradient(180deg,rgba(140,167,255,.08),rgba(124,247,212,.04));border-radius:18px;padding:14px;margin:12px 0;display:grid;gap:12px}.deep-rep h3{margin:8px 0 6px}.deep-rep p{color:#eaf7ff;margin-bottom:10px}.model-strip{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch}.model-strip div{background:#07111f;border:1px solid var(--line);border-radius:14px;padding:12px;color:#dbefff;line-height:1.35}.model-strip div:last-child{border-color:rgba(255,107,138,.42);background:rgba(255,107,138,.08)}.model-strip strong{display:grid;place-items:center;color:var(--accent)}.deep-actions{display:flex;flex-wrap:wrap;gap:10px}.secondary.danger{border:1px solid rgba(255,107,138,.45);color:#ffd5de;background:rgba(255,107,138,.10)}.evidence-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.evidence-panel div{background:#07111f;border:1px solid var(--line);border-radius:13px;padding:10px}.evidence-panel span{display:block;color:var(--accent);font-size:11px;text-transform:uppercase;font-weight:900;margin-bottom:5px}.evidence-panel b{display:block;color:#eef6ff;font-size:12px;line-height:1.3;font-weight:700}@media(max-width:700px){.model-strip{grid-template-columns:1fr}.model-strip strong{display:none}}


/* Year 8-9 custom manipulatives */
.custom-lab{border:1px solid rgba(124,247,212,.22);border-radius:22px;padding:18px;background:linear-gradient(145deg,rgba(16,32,54,.92),rgba(7,17,31,.94));margin-top:16px}.custom-lab-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.custom-lab-head span{color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.organ-track,.alveoli-stage,.circuit-visual,.plant-stage,.prob-tree{display:flex;align-items:center;justify-content:space-around;gap:12px;padding:16px;border-radius:18px;background:rgba(255,255,255,.04);margin-bottom:12px;flex-wrap:wrap}.organ-track span,.alveolus,.capillary,.circuit-visual span,.prob-tree button,.claim-box{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.05)}.molecule-row,.list-row,.money-stack,.db-table{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.molecule-row span,.list-row button,.money-stack span,.db-table div{border-radius:12px;padding:9px 10px;background:rgba(140,167,255,.14);border:1px solid rgba(140,167,255,.22)}.molecule-row .small{background:rgba(124,247,212,.18)}.molecule-row .absorbed{background:rgba(255,209,102,.2);border-color:rgba(255,209,102,.5)}.circuit-visual span{min-width:86px;text-align:center}.circuit-visual.parallel{border-style:dashed}#lamp-glow,#photo-fill,#prob-fill,#trust-fill{display:block;min-height:14px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--warn));transition:.2s ease}.plant{font-size:54px;transition:.2s ease}.triangle-svg,.trig-box svg{width:100%;max-width:520px;height:260px;background:#07111f;border-radius:18px;border:1px solid rgba(255,255,255,.12)}.triangle-svg polygon,.trig-box polygon{fill:rgba(124,247,212,.12);stroke:var(--accent);stroke-width:4}.triangle-svg rect{fill:rgba(255,209,102,.08);stroke:var(--warn);stroke-width:2}.pixel-board{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-width:260px;padding:10px;border-radius:16px;background:#07111f}.pixel-board span{aspect-ratio:1;border-radius:4px;background:var(--accent)}.cipher-output{font-size:2rem;letter-spacing:.18em;padding:14px;border-radius:16px;background:#07111f;color:var(--warn);margin:12px 0}.db-table{display:grid;gap:8px}.db-table div{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;width:100%}#coil{transition:.2s ease}.list-row button.selected{border-color:var(--accent);background:rgba(124,247,212,.16)}


/* Public landing + auth flow */
.app-shell{display:none}.hidden{display:none!important}.public-landing{min-height:100vh;padding:24px 28px 56px;background:radial-gradient(circle at 18% 12%,rgba(124,247,212,.18),transparent 28%),radial-gradient(circle at 82% 22%,rgba(140,167,255,.20),transparent 30%),#050a12}.landing-nav{max-width:1180px;margin:0 auto 54px;display:flex;justify-content:space-between;align-items:center}.landing-nav .brand{margin:0}.landing-main{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:58px;align-items:center}.landing-hero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:18px 0;color:#f7f8f8;max-width:820px}.landing-hero p{font-size:clamp(17px,2vw,22px);line-height:1.55;color:#a9bbd1;max-width:650px}.landing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.landing-preview{border:1px solid rgba(255,255,255,.09);border-radius:30px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 28px 90px rgba(0,0,0,.36)}.preview-top{display:flex;gap:7px;margin:3px 0 14px 4px}.preview-top span{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.22)}.preview-card{background:#07111f;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:16px}.preview-card small{display:block;color:var(--accent);font-size:12px;font-weight:900;margin-bottom:8px}.preview-card b{display:block;color:#eef6ff}.main-preview{min-height:300px}.robot-preview{height:245px;position:relative;border-radius:18px;background:radial-gradient(circle at 70% 38%,rgba(124,247,212,.16),transparent 25%),linear-gradient(180deg,#0d1b30,#07111f);overflow:hidden}.robot-preview i,.robot-preview b,.robot-preview em{position:absolute;display:block;height:16px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transform-origin:left center}.robot-preview i{width:130px;left:82px;top:143px;transform:rotate(-32deg)}.robot-preview b{width:115px;left:190px;top:80px;transform:rotate(35deg)}.robot-preview em{width:76px;left:284px;top:146px;transform:rotate(-18deg)}.robot-preview:before{content:'';position:absolute;left:54px;bottom:54px;width:64px;height:64px;border-radius:50%;background:#182942;border:1px solid rgba(255,255,255,.11)}.robot-preview strong{position:absolute;right:30px;top:52px;color:#06111f;background:#ffd166;border-radius:999px;padding:8px 12px;font-size:12px}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.preview-grid .preview-card{min-height:98px}.login-gate{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top left,#173d67 0,#07111f 45%,#050a12 100%)}body.authenticated .app-shell{display:flex}body.authenticated .login-gate,body.authenticated .public-landing{display:none!important}body.auth-required{min-height:100vh;overflow:hidden}body.public-mode{overflow:auto}body.authenticated{overflow:auto}.login-card{width:min(480px,100%);border:1px solid rgba(124,247,212,.28);border-radius:28px;padding:30px;background:linear-gradient(160deg,rgba(16,32,54,.96),rgba(7,17,31,.98));box-shadow:var(--shadow)}.brand.mini{margin-bottom:22px}.login-card h1{font-size:32px;margin-bottom:8px}.login-card p{color:var(--muted);line-height:1.45}.login-card label{display:grid;gap:7px;margin:14px 0;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.login-card input{width:100%;background:#07111f;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:13px}.login-card .primary{width:100%;margin-top:8px}.login-error{min-height:22px;color:var(--bad)!important;font-weight:800}.login-card small{display:block;color:#8fa8c4;margin-top:14px;line-height:1.35}.chip-logout{border:1px solid var(--line);background:#07111f;color:var(--muted);border-radius:999px;padding:7px 10px;cursor:pointer;font-size:12px}.chip-logout:hover{color:var(--text);border-color:var(--accent)}@media(max-width:900px){.landing-main{grid-template-columns:1fr}.landing-preview{order:-1}.preview-grid{grid-template-columns:1fr}.landing-nav{margin-bottom:28px}}@media(max-width:700px){.student-chip{gap:8px}.chip-logout{padding:6px 8px}.public-landing{padding:18px}.landing-nav{gap:14px}.landing-hero h1{font-size:42px}.landing-preview{padding:12px}.main-preview{min-height:250px}}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#07111f;border:1px solid var(--line);border-radius:16px;padding:5px;margin-bottom:18px}.auth-tabs button{border:0;border-radius:12px;padding:10px;background:transparent;color:var(--muted);cursor:pointer;font-weight:900}.auth-tabs button.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06111f}.login-card label.hidden{display:none}.login-card input:disabled{opacity:.55}.landing-nav .brand.mini{margin:0}

/* Serious auth: username + verified email */
.auth-note{border:1px solid rgba(124,247,212,.35);background:rgba(124,247,212,.10);color:#dffef6;border-radius:14px;padding:12px 13px;margin:10px 0 14px;line-height:1.4}.login-card label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin:11px 0}.login-card input{width:100%;background:#07111f;color:var(--text);border:1px solid var(--line);border-radius:13px;padding:12px 13px;outline:none}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(124,247,212,.12)}.auth-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:4px 0 14px}.link-button{border:0;background:transparent;color:var(--accent);padding:0;cursor:pointer;font-weight:900}.login-error{min-height:22px;color:var(--bad);font-size:13px;line-height:1.35}.login-error.success{color:var(--good)}.auth-legal{color:var(--muted);font-size:12px;line-height:1.35;margin:12px 0 0}.chip-logout{border:1px solid var(--line);background:#07111f;color:var(--muted);border-radius:999px;padding:7px 10px;cursor:pointer}.google-auth{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:13px 14px;margin:14px 0 12px;background:#f8fbff;color:#06111f;font-weight:900;cursor:pointer}.google-auth:hover{background:#ffffff}.google-auth:disabled{opacity:.72;cursor:wait}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}.auth-divider span{opacity:.9}


/* World-class redesign pass — benchmarked 26 global products, keep old lesson internals intact */
:root{
  --bg:#f7f2e8;--panel:#fffaf0;--panel2:#f2eadf;--text:#172033;--muted:#687385;--line:#e7dccd;
  --accent:#ff7a59;--accent2:#4568f0;--warn:#f6b73c;--bad:#df3b57;--good:#25a96a;--ink:#172033;
  --cream:#fff7e8;--mint:#dff8e8;--sky:#e7efff;--rose:#ffe6dd;--shadow:0 22px 70px rgba(47,31,18,.13)
}
body{background:radial-gradient(circle at 12% 0%,rgba(255,122,89,.18),transparent 30%),radial-gradient(circle at 86% 10%,rgba(69,104,240,.14),transparent 30%),linear-gradient(180deg,#fff8ee,#f3ecdf 62%,#ecdfcf);color:var(--text)}
.app-shell{display:none;background:transparent}.authenticated .app-shell{display:flex}.public-landing{background:radial-gradient(circle at 20% 15%,rgba(255,122,89,.22),transparent 28%),radial-gradient(circle at 76% 16%,rgba(69,104,240,.17),transparent 28%),linear-gradient(180deg,#fff8ef,#f1e7d9)}
.landing-hero h1{color:#172033}.landing-hero p{color:#596272}.landing-preview,.login-card,.card,.subject-card,.lesson-picker,.lesson-choice-grid,.report{background:rgba(255,250,240,.82);border:1px solid rgba(41,32,22,.08);box-shadow:var(--shadow);backdrop-filter:blur(18px);color:var(--text)}
.sidebar{background:rgba(255,250,240,.78);border-right:1px solid rgba(41,32,22,.09);box-shadow:18px 0 60px rgba(47,31,18,.08)}.brand strong{letter-spacing:-.03em}.brand span,.student-chip small{color:var(--muted)}.logo{background:linear-gradient(135deg,#ff7a59,#ffc861);color:#24130d;box-shadow:0 14px 30px rgba(255,122,89,.28)}
.nav{display:grid;gap:2px;color:#687385;border:1px solid transparent;padding:11px 13px}.nav span{font-weight:900;color:inherit}.nav small{font-size:11px;color:#8a93a1}.nav.active,.nav:hover{background:#172033;color:#fff;border-color:#172033;box-shadow:0 12px 28px rgba(23,32,51,.16)}.nav.active small,.nav:hover small{color:#c7d0df}.sidebar-card{background:#172033;color:#fff;border:0}.sidebar-card p{color:#dce4ee}.pill{background:#fff1dd;border-color:#f4d1b8;color:#b5472a}.pill.accent{background:#172033;color:#fff;border-color:#172033}.eyebrow{color:#b5472a}.topbar{position:sticky;top:0;z-index:5;padding:14px 0;background:linear-gradient(180deg,rgba(247,242,232,.96),rgba(247,242,232,.72));backdrop-filter:blur(16px)}.student-chip{background:#fffaf0;border:1px solid rgba(41,32,22,.08);box-shadow:0 12px 34px rgba(47,31,18,.08)}.avatar{background:#172033;color:#fff}.primary,.card button,.mission-card button{background:#172033;color:#fff;border:1px solid #172033;box-shadow:0 14px 32px rgba(23,32,51,.16)}.secondary,.chip-logout{background:#fffaf0;color:#172033;border:1px solid #e1d3c1}.primary:hover,.card button:hover,.secondary:hover{transform:translateY(-1px)}
.world-hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);background:linear-gradient(135deg,#fffaf0 0%,#ffe3d6 50%,#e8efff 100%);border:1px solid rgba(41,32,22,.08);box-shadow:var(--shadow)}.world-hero h2{font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:-.06em;color:#172033}.world-hero p{font-size:18px;color:#596272}.mission-panel{background:#172033;color:#fff;border-radius:28px;padding:22px;box-shadow:0 25px 70px rgba(23,32,51,.28)}.mission-top span{display:block;color:#f7b497;font-size:12px;font-weight:900;text-transform:uppercase}.mission-top b{font-size:20px}.focus-ring{width:190px;height:190px;border-radius:50%;margin:22px auto;display:grid;place-items:center;text-align:center;background:conic-gradient(#ff7a59 0 72%,rgba(255,255,255,.14) 72%);position:relative}.focus-ring:before{content:'';position:absolute;inset:16px;border-radius:inherit;background:#172033}.focus-ring strong,.focus-ring span{position:relative}.focus-ring strong{font-size:42px;letter-spacing:-.05em}.focus-ring span{display:block;color:#d9e2ef;font-size:12px}.mission-steps{display:grid;gap:10px}.mission-steps div{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:10px}.mission-steps b{width:28px;height:28px;border-radius:999px;background:#ff7a59;color:#fff;display:grid;place-items:center}.bento-grid,.mission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:18px 0}.bento-card,.mission-card,.settings-card{border-radius:26px;padding:22px;background:#fffaf0;border:1px solid rgba(41,32,22,.08);box-shadow:0 14px 40px rgba(47,31,18,.08)}.accent-card,.mission-card.hot{background:#172033;color:#fff}.accent-card p,.mission-card.hot p{color:#d8e0ec}.kicker,.mission-card small{display:block;color:#b5472a;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.accent-card .kicker,.mission-card.hot small{color:#ffb395}.benchmark-card{background:#fff3e4}.large-quote{color:#2b3446}.section-head{align-items:flex-start}.search-box{min-width:min(430px,100%);background:#fffaf0;border:1px solid #dfd0bd;border-radius:18px;padding:14px 16px;color:#172033;box-shadow:0 12px 30px rgba(47,31,18,.07)}.stat-row{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.stat-row div{background:#fffaf0;border:1px solid rgba(41,32,22,.08);border-radius:18px;padding:14px 18px;min-width:120px}.stat-row b{display:block;font-size:26px}.stat-row span{color:#687385;font-size:12px;font-weight:800}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.library-card{background:#fffaf0;border:1px solid rgba(41,32,22,.08);border-radius:24px;padding:18px;box-shadow:0 12px 34px rgba(47,31,18,.07)}.library-card span{color:#b5472a;font-size:12px;font-weight:900}.library-card p{color:#5f6875}.library-card small{display:block;min-height:28px;color:#8a6b56;margin:10px 0}.library-card button{border:0;border-radius:14px;padding:11px 13px;cursor:pointer;background:#172033;color:#fff;font-weight:900;box-shadow:0 12px 28px rgba(23,32,51,.14)}.library-card button:hover{transform:translateY(-1px)}.progress-layout,.coach-home,.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.mastery-bars{display:grid;gap:14px}.mastery-bars>div{display:grid;grid-template-columns:1fr minmax(120px,240px) 52px;gap:12px;align-items:center}.mastery-bars small{display:block;color:#687385}.progress-bar{height:12px;background:#eadcca;border-radius:999px;overflow:hidden}.progress-bar span,.progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff7a59,#4568f0);border-radius:inherit}.mistake-list{display:grid;gap:10px}.mistake-list>div{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#fff4e8;border:1px solid rgba(41,32,22,.07);border-radius:18px;padding:13px}.mistake-list span{display:block;color:#687385;font-size:13px}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:18px}.quick-actions button{background:#fff1dd;color:#172033;border:1px solid #edd0b6}.coach-command{background:linear-gradient(135deg,#172033,#26385c);color:#fff}.coach-command p{color:#dbe4ef}.coach-memory li{margin:10px 0;color:#596272}.quest-strip{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.quest-strip span{background:#fff1dd;border-radius:999px;padding:8px 12px;font-weight:900}.settings-card{display:grid;gap:12px}.settings-card label{display:grid;gap:7px;color:#687385;font-size:12px;font-weight:900;text-transform:uppercase}.settings-card input,.settings-card select{background:#fffaf0;border:1px solid #ded0bd;border-radius:14px;padding:12px;color:#172033}.settings-card label:has(input[type="checkbox"]){display:flex;align-items:center;text-transform:none;font-size:14px;color:#172033}.settings-card input[type="checkbox"]{width:auto}.simulation,.coach,.phase-panel .card,.lesson-outline{background:#fffaf0;color:#172033}.activity-title,.work-card,.cell-part,.component,.choice-grid button,.custom-lab,.deep-workbench{background:#fff7ec;color:#172033}.particle-box,.solution-lab,.ray-stage,.orbit-stage,.arm-model,.ecosystem,.process-flow,.reaction-model,.magnet-stage,.ph-scale,.comp-flow,.network-path{background:#fff7ec}.lesson-choice{background:#fffaf0;color:#172033}.lesson-choice:hover,.lesson-choice.active{background:#fff1dd;border-color:#ff7a59}.lesson-choice>span{background:#172033;color:#fff}.choice-head b,.activity-title b,.work-card b{color:#b5472a}.formula-card,.concept-node{background:#fff7ec;color:#172033}.formula-card div,.concept-node{border-color:#e0d2c0}.coach-log .msg{background:#fff1dd;color:#172033}.coach-log .msg.good{background:#ddf6e8}.feedback,.muted{color:#687385}.login-gate{background:linear-gradient(180deg,#fff8ef,#efe2d3)}.login-card input,.auth-tabs{background:#fffaf0;color:#172033;border-color:#e1d3c1}.auth-tabs button.active{background:#172033;color:#fff}.google-auth{border-color:#d8c8b5}.auth-divider:before,.auth-divider:after{background:#e1d3c1}@media(max-width:980px){.app-shell{display:block}.authenticated .app-shell{display:block}.sidebar{position:relative;width:auto;height:auto}.world-hero{grid-template-columns:1fr}.topbar{position:relative}.mastery-bars>div{grid-template-columns:1fr}.landing-main{grid-template-columns:1fr}.landing-preview{display:none}}@media(max-width:720px){main{padding:16px}.bento-grid,.mission-grid,.library-grid,.settings-grid{grid-template-columns:1fr}.hero-actions{display:grid}.student-chip{align-items:flex-start;flex-wrap:wrap}.nav small{display:none}.sidebar nav{grid-template-columns:1fr 1fr}.world-hero h2{font-size:36px}}

/* Form readability + non-overlap fix */
.path-picker{width:min(100%,620px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.path-picker label{min-width:0;color:#4f596b}.path-picker select,#year-filter,.search-box,.settings-card input,.settings-card select,.login-card input,#paste-input,#reflection{background:#fffdf8!important;color:#172033!important;border:1px solid #cdbda9!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 24px rgba(47,31,18,.06)!important;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.path-picker select{height:54px;border-radius:18px!important;padding:0 44px 0 16px!important;font-weight:900;appearance:auto}.lesson-picker{overflow:hidden}.lesson-picker>div:first-child{min-width:0;flex:1}.picker-actions{flex:0 1 620px}.section-head select{max-width:100%}.subject-card h3,.library-card h3,.lesson-choice b{overflow-wrap:anywhere}@media(max-width:980px){.path-picker{width:100%;grid-template-columns:1fr}.picker-actions{flex:1 1 auto}.lesson-picker{align-items:stretch}}

/* Live AI Coach chat surface */
.live-coach-home{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}.live-coach-card{background:linear-gradient(135deg,#172033,#25375a)!important}.coach-command-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.connection-pill{display:inline-flex;white-space:nowrap;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:8px 11px;color:#fff;font-size:12px;font-weight:900}.ai-chat-log{min-height:280px;max-height:420px;overflow:auto;display:grid;gap:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:14px;margin:18px 0}.ai-message{max-width:82%;border-radius:18px;padding:12px 14px;line-height:1.45;white-space:pre-wrap}.ai-message.assistant{justify-self:start;background:#fff7e8;color:#172033}.ai-message.user{justify-self:end;background:#ff7a59;color:#fff}.ai-message.typing,.msg.typing{opacity:.75;font-style:italic;position:relative}.ai-message.typing::after,.msg.typing::after{content:'';display:inline-block;width:1.25em;text-align:left;animation:typingDots 1.05s steps(4,end) infinite}@keyframes typingDots{0%{content:''}25%{content:'.'}50%{content:'..'}75%,100%{content:'...'}}.ai-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.ai-chat-form textarea{resize:vertical;min-height:72px;background:#fffdf8!important;color:#172033!important;border:1px solid #cdbda9!important;border-radius:18px;padding:13px 14px}.ai-chat-form button{height:52px}.connect-note{margin-top:18px;background:#fff4e8;border:1px solid #efd2b8;border-radius:18px;padding:14px}.connect-note p{margin:7px 0 10px}.connect-note a{color:#172033;font-weight:900}.coach-prompts button{text-align:left}@media(max-width:880px){.live-coach-home{grid-template-columns:1fr}.coach-command-head,.ai-chat-form{grid-template-columns:1fr;display:grid}.ai-message{max-width:94%}}

/* System-wide readability/overflow hardening */
.view,.card,.simulation,.coach,.lesson-picker,.lesson-choice-grid,.report,.subject-card,.settings-card,.library-card,.mission-card{min-width:0;overflow-wrap:anywhere}.view *{max-width:100%}p,li,small,span,b,strong,h1,h2,h3,label,button,div{overflow-wrap:anywhere}.topbar{position:static!important;background:#f7f2e8!important;border-bottom:1px solid rgba(41,32,22,.08);padding-bottom:18px}.lesson-flow,.lab-layout,.simulation,.activity-area,.phase-panel,.concept-card,.visual-card{min-width:0}.lab-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}@media(max-width:1180px){.lab-layout{grid-template-columns:1fr}.coach-log{height:auto;min-height:180px;max-height:300px}.sidebar{width:260px}main{padding:22px 18px}}.mini-explainer,.activity-result{background:#eef9f0!important;border-color:#b8dfc5!important;color:#173a2a!important}.challenge{background:#fff4d6!important;border-color:#e2bd57!important;color:#4d3700!important}.challenge b,.mini-explainer b,.activity-result b{color:#172033!important}.lab-brief div{background:#fffdf8!important;border-color:#d9c9b6!important}.lab-brief span{color:#9c3f25!important}.lab-brief b{color:#172033!important}.deep-rep p,.model-strip div,.evidence-panel b{color:#172033!important}.status{color:#8a4b00!important}.msg{background:#fffdf8!important;color:#273244!important;border-color:#d9c9b6!important}.msg.good{background:#e8f8ef!important;color:#114d2f!important;border-color:#9bd4b2!important}.msg.warn{background:#fff4d6!important;color:#4d3700!important;border-color:#e2bd57!important}.clear-step,.activity-title,.work-card,.cell-part,.component,.choice-grid button,.custom-lab,.deep-workbench,.process-flow div,.reaction-model div,.magnet-stage div,.ph-scale b,.comp-flow div,.network-path div,.branch-box,.memory-box,.prompt-card{color:#172033!important}.custom-lab-head span,.comp-flow span,.network-path span,.process-flow span,.reaction-model span{color:#9c3f25!important}.lesson-outline{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.lesson-outline div{background:#fffdf8!important;border-color:#d9c9b6!important}.lesson-outline span{color:#5d6676!important}.lesson-outline b{color:#172033!important}.section-head,.compact{min-width:0;gap:12px}.section-head>div{min-width:0}.force-visual,.builder-line,.math-strip,.token-bank,.data-row,.custom-lab-head{min-width:0;overflow:hidden}.nav span,.nav small{overflow:hidden;text-overflow:ellipsis}.sidebar{overflow:auto}.card button,.primary,.secondary{white-space:normal;line-height:1.2}

/* Deep activity contrast fixes */
.deep-workbench,.custom-lab{background:#fffaf0!important;border-color:#d9c9b6!important}.model-strip div,.evidence-panel div,.dropzone,.sorter .dropzone,.concept-workbench .work-card{background:#fffdf8!important;color:#172033!important;border-color:#d9c9b6!important}.model-strip div:last-child{background:#fff0ef!important;border-color:#f0b7b1!important}.evidence-panel span,.dropzone b,.dropzone span,.deep-workbench span,.custom-lab span{color:#9c3f25!important}.evidence-panel b,.dropzone,.dropzone *,.model-strip div,.model-strip div *{color:#172033!important}.token,.reading,.selected{background:#f0f8f2!important;color:#172033!important;border-color:#90c7a4!important}.secondary.danger{background:#fff0ef!important;color:#8f2331!important;border-color:#ef9fac!important}.deep-actions .secondary,.deep-actions button{color:#fff!important}.deep-actions .secondary.danger{color:#8f2331!important}.sorter{min-width:0}.dropzone{min-height:120px}.dropzone:empty::after{content:'Drop cards here';color:#6b7483}

/* In-lesson coach input + softer phase tabs */
.phase-tabs{background:#f3ebdf!important;border-color:#dcccbc!important;box-shadow:0 12px 34px rgba(47,31,18,.07)}.phase{background:#fffaf0!important;color:#5c6473!important;border-color:#d8c8b5!important;box-shadow:none!important}.phase.active{background:#203047!important;color:#fff!important;border-color:#203047!important}.lesson-coach-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px}.lesson-coach-form textarea{min-height:76px;background:#fffdf8!important;color:#172033!important;border:1px solid #cdbda9!important;border-radius:18px;padding:12px 13px;resize:vertical}.lesson-coach-form button{height:50px;align-self:end}.coach-log{background:#fffaf0;border:1px solid #eadcca;border-radius:18px;padding:10px}@media(max-width:720px){.lesson-coach-form{grid-template-columns:1fr}.lesson-coach-form button{width:100%}}

/* Adaptive school-material source inside subject setup */
.adaptive-source{display:grid;grid-template-columns:minmax(0,.82fr) minmax(280px,1fr);gap:18px;align-items:start}.adaptive-source h3{margin-bottom:6px}.adaptive-source p{color:#596272}.adaptive-inputs{display:grid;gap:10px}.adaptive-inputs input,.adaptive-inputs textarea{width:100%;background:#fffdf8!important;color:#172033!important;border:1px solid #cdbda9!important;border-radius:16px;padding:12px}.adaptive-inputs textarea{min-height:92px;resize:vertical}.adaptive-source .analysis-output{grid-column:1/-1;background:#fff7e8;border:1px solid #ead4bb;border-radius:18px;padding:14px;color:#334155!important;white-space:pre-wrap}.adaptive-source .primary{justify-self:start}@media(max-width:900px){.adaptive-source{grid-template-columns:1fr}}
