@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;font-size:16px;color-scheme:dark;--bg:#101119;--paper:#191b2a;--panel:#1f2235;--ink:#e1e5fb;--muted:#a9b1d6;--line:#30354e;--blue:#7aa2f7;--accent:#746acb;--soft:#24283b;--yellow:#e0af68;--green:#9ece6a;--red:#f7a1b2;--header:rgba(16,17,25,.96);background:var(--bg);color:var(--ink)}:root[data-theme=light]{color-scheme:light;--bg:#eef2fb;--paper:#fff;--panel:#f3f6ff;--ink:#142344;--muted:#52617b;--line:#ccd6e8;--blue:#3b43cb;--accent:#414be0;--soft:#e5eafb;--green:#08663f;--red:#a3233c;--header:rgba(255,255,255,.96)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{touch-action:manipulation}a{color:var(--blue);text-underline-offset:4px}button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:inherit;padding:12px 16px;text-align:left;transition:border-color .16s,background .16s}button:hover{border-color:var(--blue);background:var(--soft)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}a,button{-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;line-height:1.25}h1{font-size:clamp(30px,3.1vw,48px);font-weight:800;letter-spacing:-1.7px;margin:0 0 22px;max-width:750px}h2{font-size:22px;font-weight:700;letter-spacing:-.5px}h3{font-size:18px}p{line-height:1.75;max-width:75ch}header{height:82px;position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 32px;border-bottom:1px solid var(--line);background:var(--header);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;font:800 21px Manrope,sans-serif;text-decoration:none;white-space:nowrap;color:var(--ink);letter-spacing:-.6px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;background:#7379fa;color:#fff;border-radius:11px;box-shadow:inset 0 1px 1px #c8caff,0 4px 0 #333968;transform:rotate(-7deg);font-size:22px}header nav{display:flex;gap:28px}header nav a{font-size:15px;color:var(--muted);text-decoration:none;padding:14px 0}header nav a:hover{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:12px}.header-actions button{padding:8px 13px}.xp{font-size:14px;font-weight:700;color:var(--yellow);background:#332d28;border:1px solid #5b4931;border-radius:99px;padding:8px 13px;white-space:nowrap}#theme{font-size:23px;line-height:1}#menu{display:none}.layout{max-width:1730px;margin:auto;display:grid;grid-template-columns:264px minmax(0,1fr);min-height:calc(100vh - 82px)}aside{padding:32px 18px 26px;border-right:1px solid var(--line);position:sticky;top:82px;max-height:calc(100vh - 82px);overflow:auto;align-self:start;scrollbar-width:thin}.path-label{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);padding:0 9px}.path-label span{color:var(--ink);font-weight:700}progress{appearance:none;border:0;width:calc(100% - 18px);height:5px;display:block;margin:14px 9px 26px;border-radius:4px;overflow:hidden;background:var(--line)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.chapter{display:flex;align-items:center;gap:12px;width:100%;border:1px solid transparent;text-decoration:none;color:var(--muted);border-radius:11px;padding:12px 9px;margin:3px 0;font-size:14px;font-weight:600;line-height:1.45}.chapter small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}.chapter-icon{font-size:12px;border:1px solid var(--line);border-radius:9px;width:30px;height:34px;display:grid;place-items:center;flex-shrink:0;background:var(--paper)}.chapter.active{color:var(--ink);background:var(--soft);border-color:#4b5288}.chapter.active .chapter-icon{background:var(--accent);border-color:#8f95ff;color:white}.chapter:hover{background:var(--soft);color:var(--ink)}.sidebar-bottom{margin:24px 9px 0;border-top:1px solid var(--line);padding-top:18px}.sidebar-bottom a{display:block;font-size:14px;min-height:44px;text-decoration:none;color:var(--muted);padding:12px 0}.sidebar-bottom p{color:var(--muted);font-size:13px;margin-top:25px}main{padding:32px 42px 25px;min-width:0;outline:none!important}.breadcrumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-bottom:25px}.breadcrumb a{text-decoration:none}.breadcrumb span{opacity:.6}.lesson-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 18px;margin-bottom:26px;scrollbar-width:thin}.lesson-tabs a{font-size:13px;text-decoration:none;min-height:44px;display:flex;align-items:center;white-space:nowrap;padding:10px 13px;border:1px solid var(--line);border-radius:9px;color:var(--muted)}.lesson-tabs .selected{color:var(--ink);border-color:#7278be;background:var(--soft)}.lesson-intro,.lab-intro,.map-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.88fr);align-items:center;gap:38px;margin:12px 0 36px}.lesson-kicker{font-size:14px;color:var(--blue);margin-bottom:20px}.lesson-kicker span{color:var(--muted);display:inline-block;margin-left:15px;font-size:12px}.lead{font-size:18px;line-height:1.8;color:var(--muted);margin:20px 0 27px}.principle{padding:16px 0 16px 18px;border-left:3px solid var(--accent);margin:25px 0}.principle span{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}.principle strong{font-size:16px;line-height:1.65;font-weight:500}.scene{position:relative;border:1px solid #384e74;background:radial-gradient(ellipse at 50% 42%,#283663 0%,#101c37 62%);border-radius:22px;box-shadow:inset 0 1px 0 #50628d,0 22px 45px #050a1628;padding:18px 18px 15px;overflow:hidden;color:#eaf0ff;min-width:0}.scene-top{display:flex;justify-content:space-between;font-size:12px;color:#b1c6eb}.scene-tag{border:1px solid #627eb3;border-radius:5px;font-size:11px;padding:2px 6px;color:#d5e6ff}.viewport{position:relative;width:100%;height:265px}.viewport canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}.viewport canvas:active{cursor:grabbing}.scene-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;pointer-events:none;color:#a9b7d8}.floating-label{position:absolute;transform:translate(-50%,-50%);font-size:12px;color:white;background:#1d3054d9;border:1px solid #89acdd;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;pointer-events:none}.scene-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.scene-meta strong{font-size:15px;font-weight:600}.scene-meta>div{display:flex;gap:6px}.scene-meta button{color:#cbdafa;background:#1c2e4b;border-color:#3d5680;min-height:36px;width:36px;padding:5px;text-align:center;font-size:20px}.scene-help{font-size:12px;margin:7px 0 14px;color:#a8bbdb;line-height:1.5}.node-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}.node-controls button{font-size:12px;line-height:1.35;color:#bdd0eb;background:#152543;border-color:#354a6a;padding:9px 10px;display:flex;align-items:center;gap:8px;min-height:46px}.node-controls button span{font-size:11px;color:#7de1ff;width:16px;flex-shrink:0}.node-controls button[aria-pressed=true]{background:#303e71;color:white;border-color:#8b92ed}.no-webgl .viewport{height:100px}.no-webgl canvas,.no-webgl .floating-label{display:none}.no-webgl .viewport:before{content:'◈   —   ◈   —   ◈   —   ◈';position:absolute;inset:0;display:grid;place-items:center;color:#9dbbf8;font-size:25px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0}.teaching{gap:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}.teaching section{padding:28px}.teaching .example{border-left:1px solid var(--line);background:var(--panel)}.section-icon{width:37px;height:37px;display:grid;place-items:center;font-size:24px;border-radius:10px;color:var(--blue);background:var(--soft)}.teaching h2{font-size:19px}.teaching p{color:var(--muted);font-size:16px;margin-bottom:0}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 6px;margin:26px 0}summary{cursor:pointer;font-size:16px;font-weight:600;min-height:44px;display:flex;align-items:center;gap:12px;list-style:none}summary::-webkit-details-marker{display:none}summary::before{content:'+';font-size:23px;color:var(--blue)}details[open] summary::before{content:'−'}details p{color:var(--muted);padding-left:27px}.challenge{border:1px solid #494f7d;border-radius:18px;padding:28px;background:var(--paper);margin:34px 0}.challenge-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.badge{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:#1b294b;background:#b8baff;border-radius:7px;padding:7px 11px}.challenge h2{font-size:22px;line-height:1.5;margin:23px 0}.choices{display:grid;gap:11px}.choices button{display:flex;align-items:center;gap:15px;padding:16px;font-size:16px;line-height:1.5;background:var(--bg);border-radius:12px}.answer-letter{display:grid;place-items:center;flex-shrink:0;width:29px;height:30px;border-radius:7px;border:1px solid var(--line);color:var(--muted);font-size:13px}.answer-indicator{margin-left:auto}.choices button.correct{border-color:var(--green)}.choices button.incorrect{border-color:var(--red)}.success{color:var(--green)}.failure{color:var(--red)}.feedback{border-left:3px solid currentColor;margin-top:24px;padding:4px 18px}.feedback p{margin:8px 0;color:var(--ink)}.feedback span{font-size:14px;color:var(--muted)}.primary,.secondary,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;border-radius:11px;padding:12px 18px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.4;cursor:pointer}.primary{background:var(--accent);color:#fff;border:1px solid #989dff;box-shadow:0 4px 0 #363e81}.primary:hover{background:#5b62df;color:#fff}.secondary{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.secondary:hover{background:var(--soft)}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0}.lesson-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0 35px}.small{font-size:14px;color:var(--muted);line-height:1.65}.lab-intro h1{margin-top:20px}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:32px 0}.lab-grid form,.lab-output{padding:28px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}.lab-grid h2{margin-top:0}.field{display:flex;flex-direction:column;gap:11px;font-size:15px;line-height:1.5;margin:0 0 22px;font-weight:500}input:not([type=checkbox]):not([type=range]):not([type=file]),select,textarea{border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);padding:12px;width:100%;min-height:48px;font-size:16px}textarea{resize:vertical;line-height:1.65}select{font-size:15px;text-overflow:ellipsis}.check-field{display:flex;gap:12px;align-items:center;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;font-size:15px;line-height:1.5;cursor:pointer}.check-field input{width:21px;height:21px;flex-shrink:0;accent-color:var(--accent)}.range-row{display:flex;align-items:center;gap:15px}.range-row input{flex:1;min-width:0;accent-color:var(--accent);min-height:44px}.range-row output{min-width:35px;text-align:center;background:var(--soft);border-radius:8px;padding:7px;font-weight:700}.lab-grid form>.primary{margin-top:20px;width:100%}.lab-grid form>.secondary{width:100%;margin-top:15px}.empty-symbol{font-size:60px;color:var(--blue);padding:20px 0}.lab-output p{color:var(--muted)}.result-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}.result-heading>span{font-size:28px}.result-heading h3{margin:0}.metrics{display:flex;flex-wrap:wrap;gap:12px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics>div{flex:1;min-width:100px}.metrics strong{display:block;font-family:Manrope,sans-serif;font-size:21px;color:var(--ink);line-height:1.4}.metrics span{font-size:12px;color:var(--muted);display:block;margin-top:7px}.trace{padding-left:24px;font-size:15px;color:var(--muted);line-height:1.8}.trace li{padding:8px 0 8px 6px}.trace li::marker{color:var(--blue);font-weight:600}.result-lesson{font-size:15px;padding:18px;border-radius:10px;background:var(--soft)}.capstone-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.case-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.case{padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:15px}.case p{color:var(--muted);margin-bottom:0}.map-intro h1{font-size:clamp(35px,3.8vw,57px)}.map-stats{display:flex;gap:25px;margin-top:32px;color:var(--muted);font-size:13px}.map-stats strong{display:block;color:var(--ink);font:700 29px Manrope;margin-bottom:6px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:45px 0 18px}.section-heading span{font-size:13px;color:var(--muted)}.chapter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.chapter-card{padding:23px 26px;border:1px solid var(--line);border-radius:15px;background:var(--paper);position:relative}.card-number{color:var(--blue);font-size:14px}.chapter-card h3{font-size:21px;margin:15px 0 5px}.chapter-card p{font-size:15px;color:var(--muted);margin-top:8px}.mini-track{height:4px;background:var(--line);border-radius:4px;margin:25px 0 17px;overflow:hidden}.mini-track i{display:block;background:var(--accent);height:100%}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.card-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.card-bottom span{color:var(--muted)}.glossary{display:grid;grid-template-columns:1fr 1fr;gap:18px}.glossary>div{border-top:1px solid var(--line);padding:20px 0}.glossary dt{font-weight:700;color:var(--blue);font-size:18px;margin-bottom:10px}.glossary dd{margin:0;font-size:16px;line-height:1.8;color:var(--muted)}[hidden]{display:none!important}.progress-stats{display:flex;gap:20px;margin:35px 0 45px;flex-wrap:wrap}.progress-stats>div{flex:1;min-width:150px;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:22px}.progress-stats strong{display:block;font:700 26px Manrope;margin-bottom:12px;color:var(--blue)}.progress-stats span{font-size:14px;color:var(--muted)}.review-list a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:55px;padding:13px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.review-list a span{font-size:13px;color:var(--blue)}.import-label{position:relative;overflow:hidden}.import-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.import-label:focus-within{outline:3px solid var(--yellow);outline-offset:3px}.danger{color:var(--red)}.source-list>div{padding:24px 0;border-bottom:1px solid var(--line)}.source-list p{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:22px 0 0;margin-top:40px;font-size:12px;line-height:1.9;color:var(--muted)}footer a{color:var(--muted)}.skip{position:absolute;top:-80px;padding:12px;background:var(--paper);z-index:30}.skip:focus{top:10px}
@media(min-width:1600px){main{padding:40px 60px}.viewport{height:320px}.lesson-intro{gap:55px}.scene{padding:23px}.lead{font-size:19px}}
@media(max-width:1180px){.layout{grid-template-columns:225px minmax(0,1fr)}main{padding:28px}.lesson-intro,.lab-intro,.map-intro{gap:25px;grid-template-columns:minmax(0,1fr) minmax(270px,.85fr)}.brand{font-size:19px}header nav{gap:20px}header{padding:0 24px}.viewport{height:230px}.scene{padding:15px}.node-controls button{font-size:11px}.chapter{font-size:13px;padding:10px 6px}.chapter-icon{width:27px}.lesson-kicker span{display:block;margin:7px 0 0}.lab-grid{gap:18px}.lab-grid form,.lab-output{padding:22px}}
@media(max-width:980px){header nav{display:none}.lesson-intro,.lab-intro,.map-intro{grid-template-columns:1fr}.scene{max-width:none}.viewport{height:270px}.node-controls{grid-template-columns:repeat(4,1fr)}.node-controls button{font-size:12px}.lesson-intro{gap:18px}.two-col,.lab-grid{grid-template-columns:1fr}.teaching .example{border-left:0;border-top:1px solid var(--line)}.chapter-grid,.capstone-fields,.case-list{grid-template-columns:1fr}.lab-intro .scene{display:block}.section-heading{display:block}.section-heading span{display:block}.glossary{grid-template-columns:1fr}.lesson-kicker span{display:inline;margin-left:12px}.map-intro .scene{order:-1}.map-intro h1{font-size:43px}}
@media(max-width:720px){header{height:72px;padding:0 16px;gap:10px}.brand{font-size:17px;gap:8px}.brand-mark{width:31px;height:32px;font-size:19px;border-radius:8px}.header-actions{gap:7px}.xp{font-size:12px;padding:6px 9px}#theme{padding:7px 8px;font-size:22px}#menu{display:block;font-size:12px;padding:8px 10px}.layout{display:block}aside{display:none;position:relative;top:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:22px}.open{display:block}main{padding:25px 18px}.lesson-tabs{margin-bottom:20px}.lesson-intro{margin-top:0}.lead{font-size:17px;line-height:1.8}.scene{border-radius:17px}.viewport{height:235px}.node-controls{grid-template-columns:1fr 1fr}.node-controls button{font-size:12px}.scene-meta button{min-height:44px;width:44px}.scene-help{font-size:12px}.challenge{padding:21px 16px}.challenge h2{font-size:19px}.challenge-top{align-items:flex-start}.challenge-top .small{font-size:12px;max-width:150px;text-align:right}.choices button{padding:13px 11px;font-size:15px;gap:10px}.teaching section{padding:23px}.two-col{gap:18px}.teaching{gap:0}.lesson-bottom{gap:14px}.lesson-bottom .primary,.lesson-bottom .secondary{font-size:13px;padding:12px}.lesson-bottom .small{font-size:12px}.breadcrumb{font-size:12px;gap:8px}.lesson-kicker{font-size:13px}.lesson-kicker span{font-size:12px}.lab-grid form,.lab-output{padding:21px 17px}.map-stats{gap:20px}.map-stats strong{font-size:26px}.map-stats span{font-size:12px}.map-intro .scene{order:0}.map-intro h1{font-size:37px}.progress-stats{gap:12px}.progress-stats>div{min-width:125px;padding:17px}.progress-stats strong{font-size:22px}.card-bottom{flex-wrap:wrap}.actions .primary,.actions .secondary{font-size:14px}h1{letter-spacing:-.8px}.field{font-size:14px}footer{font-size:12px}}
@media(max-width:390px){.brand{font-size:15px}.xp{display:none}.header-actions{gap:5px}.brand-mark{width:29px}.node-controls button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.scene-meta button{min-height:44px;width:44px}
@media(max-width:980px){.node-controls button{font-size:14px}.viewport{height:290px}}
@media(max-width:720px){.viewport{height:230px}.node-controls button{font-size:13px}}

.brand{min-height:44px}.node-controls button{font-size:14px}.chapter{font-size:14px}button:disabled{cursor:default;opacity:.5}
/* Revision: explicit lesson path, contextual worked examples, meaningful diagram controls. */
.chapter-outline{padding:0;border:0;margin:5px 0;border-radius:10px}.chapter-outline summary{gap:10px;min-height:62px;padding:10px 9px;font-size:14px;font-weight:500;color:var(--muted)}.chapter-outline summary::before{display:none}.chapter-outline summary::after{content:'+';margin-left:auto;color:var(--muted)}.chapter-outline[open] summary::after{content:'−'}.chapter-outline[open]>summary{background:var(--soft);color:var(--ink);border-radius:10px}.chapter-outline summary small{display:block;font-size:12px;line-height:1.6;margin-top:4px;color:var(--muted)}.outline-lessons{border-left:1px solid var(--line);margin:12px 0 15px 24px;padding-left:10px}.outline-lessons a{display:flex;gap:9px;align-items:center;padding:10px 9px;min-height:44px;font-size:13px;line-height:1.45;color:var(--muted);text-decoration:none;border-radius:8px}.outline-lessons a span{font-size:11px;min-width:12px}.outline-lessons .outline-current{background:var(--soft);color:var(--ink)}.lesson-wayfinding{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 35px;padding-bottom:24px;border-bottom:1px solid var(--line)}.lesson-wayfinding>span{font-size:14px;line-height:1.7;color:var(--muted);max-width:390px}.lesson-wayfinding strong{display:block;font-weight:600;color:var(--ink);margin-bottom:5px}.lesson-wayfinding label{font-size:12px;color:var(--muted);max-width:300px}.lesson-wayfinding select{display:block;max-width:300px;margin-top:6px;font-size:13px}.lesson-intro{align-items:start;grid-template-columns:minmax(0,.85fr) minmax(390px,1.15fr);gap:35px}.lesson-intro h1{font-size:clamp(30px,2.8vw,44px)}.analogy-inline{padding:20px 23px;background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-top:30px}.analogy-inline h2{font-size:17px;margin:0 0 12px}.analogy-inline p{font-size:16px;color:var(--muted);margin:0}.scene-instruction{font-size:14px;color:#bdcce5;line-height:1.6;margin:12px 0 0}.scene .viewport{height:270px}.scene-top{font-size:15px;color:#ebf1ff;font-weight:600}.scene-tag{font-weight:400;font-size:11px}.view-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:-10px;margin-bottom:15px}.view-tools>span{font-size:12px;color:#a7bddf}.view-tools>div{display:flex;gap:7px}.view-tools button{min-height:44px;width:44px;text-align:center;padding:8px;font-size:21px;background:#1c2e4b;color:#dce9ff;border-color:#3d5680}.floating-label.active{background:#dde5ff;color:#182747;border-color:white;box-shadow:0 0 15px #b5c2ff66}.node-controls{grid-template-columns:1fr 1fr}.node-controls button{font-size:13px}.step-reading{background:#0b172c;border-left:3px solid #9e9dff;border-radius:5px;margin-top:18px;padding:16px 17px;min-height:150px}.step-reading strong{font-size:15px;color:#e5edff;line-height:1.5;display:block}.step-explanation{font-size:15px;line-height:1.75;color:#bdcde9;margin:9px 0 0}.step-next{background:transparent;border:0;border-radius:0;display:flex;align-items:center;justify-content:space-between;width:100%;color:#c5c8ff;font-size:14px;padding:14px 1px}.step-next:hover{background:transparent;color:white}.experiment-control{padding-top:15px;border-top:1px solid #3a4e70}.experiment-control>span{display:block;font-size:12px;color:#b2c6e4;margin-bottom:10px}.experiment-control button{font-size:14px;width:100%;text-align:center;background:#2e243d;border-color:#6b5278;color:#f4cce1}.experiment-control button[aria-pressed=true]{background:#442436;border-color:#ed8fa1;color:#ffe5eb}.experiment-result{padding:15px 17px;background:#111b2f;border-radius:10px;margin-top:12px;font-size:14px}.experiment-result p{margin:7px 0 0;color:#d3dcef;font-size:14px;line-height:1.7}.experiment-result.success{color:#8aebc1}.experiment-result.failure{color:#ffb0ba}.worked-example,.depth-section,.transfer{margin:30px 0;padding:30px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.worked-example h2,.depth-section h2,.transfer h2{font-size:22px}.worked-example p,.depth-section p,.transfer p{font-size:17px;color:var(--muted)}.walkthrough{padding:20px 22px;background:var(--soft);border-left:3px solid var(--blue);font-size:16px;line-height:1.9;border-radius:5px}.worked-example h3{font-size:17px;margin-top:25px}.depth-section{background:transparent;border-left:0;border-right:0;border-radius:0}.transfer{background:var(--panel);border-color:#465784}.transfer .small,.depth-section .small{font-size:14px}.lab-intro{display:block;max-width:820px}.lab-intro .scene{display:none}.lesson-bottom #next-area{max-width:65%}.lesson-bottom .primary{font-size:14px;max-width:100%;text-align:center}.no-webgl .viewport{height:90px}.no-webgl .scene-loading{display:none}
@media(max-width:1250px){.lesson-intro{grid-template-columns:1fr}.lesson-intro .scene{max-width:800px}.scene .viewport{height:310px}.node-controls{grid-template-columns:repeat(4,1fr)}.step-reading{min-height:110px}.lesson-wayfinding{align-items:flex-start}}
@media(max-width:720px){.lesson-wayfinding{display:block;margin-bottom:25px}.lesson-wayfinding label{display:block;max-width:none;margin-top:17px}.lesson-wayfinding select{max-width:none;width:100%}.lesson-intro{gap:22px}.scene .viewport{height:230px}.node-controls{grid-template-columns:1fr 1fr}.step-reading{min-height:170px}.worked-example,.depth-section,.transfer{padding:22px 18px}.worked-example h2,.depth-section h2,.transfer h2{font-size:20px}.scene{padding:17px}.scene-instruction{font-size:14px}.scene-help{font-size:13px}.lesson-bottom{align-items:flex-start}.lesson-bottom .primary{font-size:13px}.lesson-bottom .secondary{font-size:13px}.lesson-bottom #next-area{max-width:65%}#menu{font-size:12px;max-width:70px;padding:6px 8px}.chapter-outline summary{font-size:15px}.outline-lessons a{font-size:14px}}
/* Tokyo Night: quiet reading surfaces, vivid mechanisms, plain-language help. */
.brand-mark{background:#6d63b5;box-shadow:inset 0 1px 1px #bb9af7,0 4px 0 #302c4c}.primary{background:#7166bf;border-color:#a298e4;box-shadow:0 3px 0 #3d365f}.primary:hover{background:#8175d3}.chapter-outline[open]>summary{background:#26283d}.outline-lessons .outline-current{background:#282a42;border-left:2px solid #bb9af7}.chapter-icon{background:#1b1d2d!important;border-color:#3b3d58!important}.scene{background:radial-gradient(ellipse at 50% 28%,#27243f 0%,#171927 65%);border-color:#46445f;box-shadow:inset 0 1px 0 #64607f,0 24px 55px #0003}.scene .viewport{height:320px}.scene-top{color:#dce3ff}.scene-tag{border-color:#68618c;color:#c4b9f4}.scene-instruction{color:#a9b1d6}.scene-state{position:absolute;top:20px;left:0;font-size:11px;letter-spacing:.02em;color:#9ece6a;padding:5px 9px;background:#182523;border:1px solid #354b3d;border-radius:5px;pointer-events:none}.experiment-broken .scene-state{color:#f7a1b2;background:#34202b;border-color:#643c51}.view-tools>span{font-size:11px;color:#a9b1d6;max-width:230px}.view-tools button{background:#222439;border-color:#45445f;color:#c0caf5}.view-tools button:hover{background:#31334e}.node-controls button{background:#202236;border-color:#44435f;color:#a9b1d6}.node-controls button span{color:#7dcfff}.node-controls button[aria-pressed=true]{background:#37304e;border-color:#bb9af7;color:#eee7ff}.step-reading{background:#11131f;border-color:#bb9af7;min-height:0}.step-count{font-size:11px;color:#9aa5ce;margin-bottom:10px}.step-explanation{color:#bdc5e5}.step-receipt{margin-top:17px;border:1px solid #35394f;border-radius:8px;padding:13px 15px;background:#1c2030}.step-receipt>span{font-size:11px;color:#7dcfff;display:block;margin-bottom:6px}.step-receipt p{font-size:14px;line-height:1.65;margin:0;color:#e0e7ff}.step-next{color:#bb9af7}.diagram-key{margin:0 0 18px;padding:0;border:0;border-bottom:1px solid #3c3b54}.diagram-key summary{font-size:12px;color:#a9b1d6;font-weight:400;min-height:44px;gap:9px}.diagram-key summary::before{font-size:17px;color:#bb9af7}.diagram-key p{font-size:14px;line-height:1.7;color:#bac2e3;padding:0;margin:0 0 12px}.experiment-control{border-color:#3c3b54}.experiment-control button{background:#382837;border-color:#75455c;color:#f4becf}.experiment-control button[aria-pressed=true]{background:#293321;border-color:#687e4d;color:#c7e5a3}.experiment-result{background:#11131f}.reading-hint{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:20px}.reading-hint span{display:block}.reading-hint button,.text-button{display:inline;color:var(--blue);border:0;border-bottom:1px dotted currentColor;border-radius:0;background:none;padding:0;font:inherit;min-height:0}.reading-hint button{padding:8px 0;min-height:36px}.term-link{display:inline;border:0;border-bottom:1px dotted #7aa2f7;border-radius:0;padding:0;background:transparent;color:inherit;font:inherit;line-height:inherit;min-height:0;vertical-align:baseline}.term-link:hover{background:#7aa2f722;color:var(--blue);border-color:var(--blue)}.term-link:focus-visible{outline-offset:2px}.dictionary-launch{font-weight:700;min-width:44px;min-height:44px;color:#c0caf5}.menu-icon{display:none}.dictionary-example{background:var(--soft);padding:15px 17px;border-radius:9px;margin-top:15px}.dictionary-example strong{font-size:12px;color:var(--blue);font-weight:500}.dictionary-example p{font-size:15px;line-height:1.7;color:var(--muted);margin:6px 0 0}.glossary dd>.dictionary-example{font-size:15px}.transfer .field{margin-top:22px}.transfer textarea{background:var(--bg)}
#dictionary-dialog{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:490px;max-width:100vw;padding:30px;border:0;border-left:1px solid var(--line);background:var(--bg);color:var(--ink);box-shadow:-20px 0 80px #0006;overflow:auto}dialog::backdrop{background:#05060eb8;backdrop-filter:blur(5px)}.dictionary-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dictionary-head span{font-size:12px;color:var(--muted)}.dictionary-head h2{font-size:26px;margin:8px 0 0}.dictionary-head button{font-size:25px;width:44px;height:44px;flex-shrink:0;padding:0;text-align:center;border-color:var(--line)}.dictionary-intro{font-size:14px;color:var(--muted);line-height:1.7;margin:20px 0 25px}.dictionary-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.dictionary-tools button{font-size:12px;padding:8px 12px;min-height:44px}#dictionary-results{margin-top:16px}.dictionary-entry{padding:24px 0;border-top:1px solid var(--line)}.dictionary-entry h3{font-size:21px;color:var(--ink);margin:0 0 14px}.dictionary-entry>p{font-size:16px;line-height:1.8;margin:0;color:var(--muted)}.dictionary-entry .dictionary-example{margin-bottom:0}
.illustration-dialog{width:min(1150px,96vw);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #55516f;border-radius:18px;background:#171927;color:#c0caf5}.illustration-dialog .scene{border:0;border-radius:0;box-shadow:none;max-width:none!important;padding:24px 35px}.illustration-dialog .viewport{height:min(48vh,490px)}.illustration-dialog .node-controls{grid-template-columns:repeat(4,1fr)}.illustration-dialog .scene-top,.illustration-dialog .scene-instruction{display:none}.illustration-dialog .step-reading{min-height:0}.illustration-dialog .diagram-key{max-width:none}.illustration-dialog .dialog-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 25px;background:#171927;border-bottom:1px solid #38384e}.dialog-toolbar strong{font-size:15px}.dialog-toolbar button{font-size:13px;background:#29253c;color:#d6c7fa;border-color:#5e5179}.floating-label{background:#24283bee;border-color:#7aa2f7;color:#c0caf5}.floating-label.active{background:#bb9af7;color:#171323;box-shadow:0 0 20px #bb9af755}.floating-label .node-title{display:none}.floating-label.active .node-title{display:block;position:absolute;left:50%;bottom:32px;transform:translateX(-50%);width:max-content;max-width:170px;white-space:normal;padding:7px 10px;border-radius:6px;background:#131520ed;color:#e0d6fa;border:1px solid #665985;font-size:11px;text-align:center;line-height:1.4}.no-webgl .scene-state{display:none}
:root[data-theme=light] .chapter-outline[open]>summary,:root[data-theme=light] .outline-lessons .outline-current{background:var(--soft)}:root[data-theme=light] .chapter-icon{background:#e8edfa!important;border-color:#b7c4e2!important}:root[data-theme=light] .dictionary-launch{color:var(--ink)}
@media(min-width:1251px){.lesson-intro{grid-template-columns:minmax(0,.8fr) minmax(430px,1.2fr)}.lesson-intro h1{font-size:clamp(32px,3vw,46px)}}
@media(max-width:720px){.scene .viewport{height:280px}.view-tools{align-items:flex-start}.view-tools>span{max-width:135px;line-height:1.6;padding-top:5px}.view-tools button{min-width:44px;flex-shrink:0}.view-tools>div{gap:5px}.scene-state{top:10px;font-size:10px}.reading-hint button,.text-button,.term-link{min-height:44px}.term-link{line-height:1.6}.menu-label{display:none}.menu-icon{display:inline;font-size:20px}#menu{min-width:44px;min-height:44px;padding:8px}header{gap:8px}.header-actions{gap:6px}.header-actions button{min-width:44px;padding:7px}#theme{min-width:44px}.brand{font-size:15px}.xp{display:none}.dictionary-launch{font-size:16px}.brand-mark{width:29px;height:30px}.step-receipt{padding:12px}.diagram-key summary{font-size:13px}.step-reading{padding:15px}.illustration-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;border-radius:0;border:0}.illustration-dialog .scene{padding:18px}.illustration-dialog .viewport{height:280px}.illustration-dialog .node-controls{grid-template-columns:1fr 1fr}.illustration-dialog .dialog-toolbar{padding:12px 18px}.dialog-toolbar strong{font-size:14px}.dialog-toolbar button{font-size:12px}.floating-label.active .node-title{max-width:130px;font-size:10px}#dictionary-dialog{width:100vw;padding:22px}.dictionary-head h2{font-size:25px}.dictionary-entry>p{font-size:16px}}
.lesson-intro{grid-template-rows:auto 1fr;column-gap:35px;row-gap:0}.lesson-heading{grid-column:1;grid-row:1}.lesson-takeaway{grid-column:1;grid-row:2}.lesson-intro>.scene{grid-column:2;grid-row:1 / span 2}.lesson-takeaway .analogy-inline{margin-top:0}.lesson-heading .lead{margin-bottom:27px}html:has(dialog[open]){overflow:hidden}html{scrollbar-gutter:stable}
@media(max-width:1250px){.lesson-intro{display:flex;flex-direction:column;gap:0}.lesson-intro>.scene{width:100%;max-width:none;margin:0 0 28px}.lesson-heading,.lesson-takeaway{width:100%}.lesson-takeaway{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}.lesson-takeaway .principle{margin:0}.lesson-heading .lead{max-width:70ch}.lesson-takeaway .analogy-inline{padding:20px}}
@media(max-width:720px){.lesson-takeaway{grid-template-columns:1fr;gap:20px}.lesson-takeaway .principle{margin:0 0 7px}.lesson-intro>.scene{margin-bottom:24px}}
/* One idea, one decision, one main action. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.simple-header{height:76px;max-width:1160px;margin:auto;border-bottom:0;padding:0 32px}.simple-header .brand{font-size:18px}.more-menu{position:relative;border:0;padding:0;margin:0}.more-menu>summary{width:44px;height:44px;padding:0;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line);border-radius:12px;list-style:none}.more-menu summary::-webkit-details-marker{display:none}.more-menu nav{display:flex;flex-direction:column;position:absolute;right:0;top:52px;min-width:220px;gap:0;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:0 12px 40px #0005}.more-menu nav a,.more-menu #theme{font-size:14px;line-height:1.5;display:block;min-height:44px;padding:12px;border:0;margin:0;border-radius:8px}.more-menu nav a:hover{background:var(--soft)}.guide-main{max-width:1050px;margin:auto;padding:30px 35px}.guide-main:has(.path-heading){max-width:720px}.guide-main .lab-intro{display:block}.eyebrow{display:block;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}
.path-heading{padding:28px 32px;background:var(--paper);border:1px solid var(--line);border-radius:20px}.path-heading>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:16px}.path-heading .eyebrow{margin:0}.chapter-select select{padding:10px 30px 10px 12px;font-size:12px;min-height:44px;background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:9px}.path-heading h1{font-size:29px;letter-spacing:-.9px;margin:19px 0 8px}.path-heading p{font-size:15px;color:var(--muted);margin:0}.path-status{display:flex;align-items:center;gap:20px;margin-top:23px}.path-status progress{flex:1;width:auto;height:10px;margin:0;border-radius:8px}.path-status span{font-size:12px;white-space:nowrap;color:var(--muted)}.learning-trail{list-style:none;padding:22px 25px 0;margin:0 0 0 26px}.trail-stop{position:relative;display:flex;align-items:center;gap:26px;min-height:124px;padding:17px 0}.trail-stop::before{content:'';position:absolute;left:34px;top:85px;height:69px;width:4px;background:var(--line);border-radius:8px;transform:rotate(-16deg);transform-origin:top}.trail-stop:nth-child(4n+2),.trail-stop:nth-child(4n+3){margin-left:23px}.trail-stop:nth-child(4n+3)::before{transform:rotate(16deg)}.trail-stop:nth-child(4n+2)::before,.trail-stop:nth-child(4n)::before{transform:none}.trail-stop:last-child::before{display:none}.trail-node{position:relative;z-index:1;flex-shrink:0;width:70px;height:64px;display:grid;place-items:center;border:2px solid #454965;border-radius:50%;box-shadow:0 6px 0 #252839;background:#2a2e44;color:#c0c7e4;text-decoration:none;font-size:22px;font-weight:700;transition:transform .15s,box-shadow .15s}.trail-node:hover{transform:translateY(2px);box-shadow:0 4px 0 #252839}.trail-stop.current .trail-node{background:#9c86ed;color:#191425;border-color:#b6a5ff;box-shadow:0 6px 0 #594584,0 0 0 8px #b49afb12}.trail-stop.complete .trail-node{background:#30442b;color:#bbe098;border-color:#526e43;box-shadow:0 6px 0 #1d2c1b}.trail-label{color:var(--muted);font-size:12px;display:block;margin-bottom:7px}.trail-stop.current .trail-label{color:#bb9af7;font-weight:700}.trail-stop h2{font-size:17px;letter-spacing:-.3px;margin:0;line-height:1.45;max-width:320px}.trail-stop p{font-size:13px;color:var(--muted);margin:7px 0 0}.practice-stop .trail-node{border-radius:22px;color:var(--yellow);font-size:30px}.path-next{padding:22px 25px 0 145px}.text-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:14px}.guide-main footer{margin-top:45px}
.lesson-player{min-height:100dvh;display:flex;flex-direction:column}.player-header{position:relative;top:auto;z-index:2;backdrop-filter:none;background:transparent;height:92px;flex-shrink:0;width:min(940px,100%);margin:0 auto;gap:24px;padding:20px 30px;border:0}.player-exit{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;color:var(--muted);font-size:32px;font-weight:400;text-decoration:none;border-radius:10px}.player-exit:hover{background:var(--soft)}.player-progress{flex:1;min-width:0}.player-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:9px}.player-progress progress{width:100%;height:12px;border-radius:10px;margin:0;background:var(--soft)}.player-progress progress::-webkit-progress-value{background:#b09af1;border-radius:10px;box-shadow:inset 0 3px 0 #c9b8f866;transition:width .3s}.player-progress progress::-moz-progress-bar{background:#b09af1}.player-header .dictionary-launch{width:44px;height:44px;flex-shrink:0;font-size:16px;padding:0;text-align:center;color:var(--muted);background:transparent}.player-main{width:100%;max-width:720px;flex:1;margin:0 auto;padding:14px 30px 30px}.player-heading h1{font-size:29px;letter-spacing:-.8px;line-height:1.3;margin:0 0 21px}.player-heading h1:focus{outline:0}.player-situation{display:flex;align-items:flex-start;gap:15px;padding:16px 20px;border:1px solid var(--line);border-radius:17px;background:var(--paper)}.situation-marker{font:700 35px Georgia,serif;line-height:1;color:#bb9af7;flex-shrink:0}.player-situation p{font-size:16px;line-height:1.65;margin:0;color:var(--ink)}.simple-scene{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;margin:6px 0 15px;color:var(--ink);overflow:visible}.simple-scene .viewport{height:214px}.simple-scene .viewport canvas{cursor:default;pointer-events:none}.simple-scene figcaption{text-align:center;margin-top:-15px}.simple-scene .scene-selected{display:block;font-size:12px;font-weight:600;color:#b9aae0}.simple-scene .step-explanation{display:none}.simple-scene .scene-record{font-size:12px;color:var(--muted);line-height:1.5;margin:6px auto 0}.simple-scene .floating-label{width:20px;height:20px;font-size:10px;box-shadow:none}.simple-scene .floating-label .node-title{display:none!important}.learn-copy>p{font-size:17px;line-height:1.85;margin:22px 0;color:var(--ink)}.lesson-detail{margin:22px 0 0;padding:0;border-bottom:0}.lesson-detail summary{font-size:14px;min-height:48px;color:var(--muted);font-weight:500}.lesson-detail summary::before{content:'+';font-size:23px;font-weight:400;width:17px}.lesson-detail[open] summary::before{content:'−'}.lesson-detail>div{padding:3px 0 15px}.lesson-detail h2{font-size:18px;margin:25px 0 10px;letter-spacing:-.3px}.lesson-detail p{font-size:16px;color:var(--muted)}.lesson-detail ol{padding-left:23px}.lesson-detail li{padding:12px 0 8px 10px}.lesson-detail li strong{font-size:15px}.lesson-detail li p{margin:8px 0}.lesson-detail .example-record{background:var(--paper);border-left:2px solid var(--accent);padding:10px 13px;font-size:14px}.book-section{font-size:13px;display:inline-flex;align-items:center;min-height:44px}.player-main .term-link{min-height:0;display:inline;padding:0 1px;font-size:inherit;line-height:inherit}.player-bottom{position:sticky;bottom:0;z-index:3;background:var(--bg);border-top:1px solid var(--line);padding:22px 30px 26px;margin-top:auto}.player-bottom-inner{max-width:820px;margin:auto;display:flex;align-items:center;gap:35px;justify-content:space-between}#answer-feedback{flex:1;min-width:0}.player-hint{margin:0;color:var(--muted);font-size:14px}.player-action{min-width:190px;min-height:51px;flex-shrink:0;border:1px solid #bcabf5;border-radius:13px;background:#a18bec;color:#201931;text-align:center;font-weight:700;font-size:15px;letter-spacing:.1px;box-shadow:0 4px 0 #584576;padding:13px 25px}.player-action:hover:not(:disabled){background:#b39ef9;border-color:#cab9ff}.player-action:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #584576}.player-action:disabled{cursor:default;background:var(--soft);border-color:var(--line);color:#7a819d;box-shadow:0 4px 0 #1b1e2b}
.lesson-player:not([data-stage=learn]) .learn-copy{display:none}.lesson-player:not([data-stage=learn]) .player-heading h1{font-size:19px;margin-bottom:15px;letter-spacing:-.4px}.lesson-player:not([data-stage=learn]) .player-situation{padding:12px 17px}.lesson-player:not([data-stage=learn]) .player-situation p{font-size:14px;line-height:1.55}.lesson-player:not([data-stage=learn]) .simple-scene{margin:2px 0 6px}.lesson-player:not([data-stage=learn]) .simple-scene .viewport{height:150px}.lesson-player:not([data-stage=learn]) .simple-scene figcaption{display:none}#answer-form{margin:0}#answer-form fieldset{border:0;padding:0;margin:0;min-width:0}#answer-form legend{font-family:Manrope,system-ui,sans-serif;font-size:23px;font-weight:700;letter-spacing:-.4px;line-height:1.4;margin-bottom:22px;padding:0}.answer-options{display:grid;gap:11px}.answer-option{position:relative;display:flex;align-items:center;gap:15px;min-height:66px;padding:15px 17px;border:2px solid var(--line);border-radius:13px;box-shadow:0 3px 0 var(--line);font-size:16px;line-height:1.5;cursor:pointer;background:var(--bg)}.answer-option:hover{background:var(--paper)}.answer-option input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.answer-option:has(:focus-visible){outline:3px solid var(--yellow);outline-offset:4px}.answer-option:has(:checked){background:#29263e;border-color:#a38ccf;box-shadow:0 3px 0 #675282;color:#e3d7fb}.option-number{flex-shrink:0;width:28px;height:28px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;font-size:12px;color:var(--muted)}.option-mark{margin-left:auto;font-size:21px}.answer-option:has(:disabled){cursor:default}.answer-result{display:flex;align-items:flex-start;gap:18px}.feedback-icon{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#35482c;color:#bfe89b;font-size:26px}.answer-result strong{display:block;font-family:Manrope,system-ui,sans-serif;font-size:19px;margin-bottom:5px;color:#b7dd96}.answer-result p{font-size:14px;line-height:1.6;margin:0;color:var(--ink)}.earned-xp{display:inline-block;font-size:12px;color:#b9dd91;margin-top:8px;font-weight:700}.lesson-player[data-result=correct] .player-bottom{background:#1a241c;border-color:#405538}.lesson-player[data-result=correct] .player-action{background:#a8d478;border-color:#caed9e;color:#233315;box-shadow:0 4px 0 #55753b}.lesson-player[data-result=correct] .picked{border-color:#83ad5f;box-shadow:0 3px 0 #405538;background:#21301e}.lesson-player[data-result=incorrect] .player-bottom{background:#2a2027;border-color:#654352}.lesson-player[data-result=incorrect] .answer-result strong{color:#f4b4c4}.lesson-player[data-result=incorrect] .feedback-icon{background:#50303f;color:#f4b4c4}.lesson-player[data-result=incorrect] .picked{border-color:#bb6f88;box-shadow:0 3px 0 #654352;background:#362530}.player-storage{font-size:12px;color:var(--yellow)}.simple-scene.no-webgl .viewport{height:140px}.simple-scene.no-webgl .viewport::before{display:none}.scene-fallback{padding:17px;text-align:center;color:var(--muted)}.scene-fallback>span{font-size:30px;color:#bba3e7}.scene-fallback p{font-size:13px;margin:10px auto 0;max-width:38ch}
@keyframes celebrate{0%{transform:scale(.65) rotate(-15deg)}65%{transform:scale(1.13) rotate(8deg)}100%{transform:scale(1) rotate(0)}}.lesson-player[data-result=correct] .feedback-icon{animation:celebrate .4s ease-out}
:root[data-theme=light] .answer-option:has(:checked){background:#ece5fb;color:var(--ink)}:root[data-theme=light] .lesson-player[data-result=correct] .player-bottom{background:#e8f2df}:root[data-theme=light] .lesson-player[data-result=incorrect] .player-bottom{background:#fae8ed}:root[data-theme=light] .lesson-player[data-result=correct] .picked{background:#e4efd9}:root[data-theme=light] .lesson-player[data-result=incorrect] .picked{background:#f8e0e8}:root[data-theme=light] .answer-result strong,:root[data-theme=light] .earned-xp{color:#396319}:root[data-theme=light] .lesson-player[data-result=incorrect] .answer-result strong{color:#9c3f5c}:root[data-theme=light] .player-action:disabled{background:#dfe2ed;box-shadow:0 4px 0 #c5cbde;color:#657085}:root[data-theme=light] .trail-stop.current .trail-label,:root[data-theme=light] .simple-scene .scene-selected{color:#7553a4}
@media(max-width:720px){.simple-header{height:70px;padding:0 18px;gap:10px}.simple-header .brand{font-size:16px}.simple-header .header-actions{gap:8px}.guide-main{padding:22px 20px}.path-heading{padding:20px}.path-heading>div:first-child{gap:8px}.path-heading .eyebrow{font-size:10px}.chapter-select select{font-size:11px;max-width:155px}.path-heading h1{font-size:24px}.path-heading p{font-size:14px}.path-status{gap:12px}.path-status span{font-size:11px}.learning-trail{margin-left:0;padding:15px 3px}.trail-stop{gap:20px;min-height:125px}.trail-stop h2{font-size:15px}.trail-stop p{font-size:12px}.trail-node{width:64px;height:60px}.trail-stop::before{left:31px}.trail-stop:nth-child(4n+2),.trail-stop:nth-child(4n+3){margin-left:17px}.path-next{padding:5px 0 0 86px}.player-header{height:78px;padding:13px 14px;gap:13px}.player-progress>div{font-size:10px;gap:5px}.player-progress progress{height:10px}.player-main{padding:13px 22px 22px}.player-heading h1{font-size:25px;letter-spacing:-.65px;margin-bottom:18px}.player-heading .eyebrow{font-size:11px}.player-situation{padding:14px 16px;gap:10px}.player-situation p{font-size:15px;line-height:1.65}.situation-marker{font-size:30px}.simple-scene .viewport{height:195px}.simple-scene figcaption{margin-top:-8px}.simple-scene .scene-record{font-size:11px;max-width:42ch}.learn-copy>p{font-size:16px;line-height:1.8;margin:23px 0 16px}.lesson-detail summary{font-size:13px}.player-bottom{padding:18px 22px max(22px,env(safe-area-inset-bottom))}.player-bottom-inner{display:block}.player-hint{display:none}.player-action{width:100%;min-height:50px;font-size:15px}.lesson-player:not([data-stage=learn]) .player-heading h1{font-size:17px}.lesson-player:not([data-stage=learn]) .player-situation p{font-size:13px}.lesson-player:not([data-stage=learn]) .simple-scene .viewport{height:125px}.lesson-player:not([data-stage=learn]) .simple-scene{margin:6px 0}#answer-form legend{font-size:20px;line-height:1.4;margin-bottom:19px}.answer-option{font-size:15px;min-height:66px;padding:14px 13px;gap:11px}.option-number{width:24px;height:26px;font-size:11px}.answer-result{gap:12px;margin:0 0 18px}.feedback-icon{width:34px;height:34px;font-size:22px}.answer-result strong{font-size:17px}.answer-result p{font-size:13px;line-height:1.6}.earned-xp{font-size:11px;margin-top:7px}.player-main .term-link{min-height:44px;display:inline-block;vertical-align:baseline}.player-situation .term-link{min-height:0}.simple-scene .floating-label{width:17px;height:17px;font-size:9px}.lesson-detail li{padding-left:3px}}
@media(prefers-reduced-motion:reduce){.feedback-icon,.player-action,.trail-node{animation:none!important;transition:none!important}}
.scene-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:2px 0 15px}.scene-legend li{font-size:11px;line-height:1.5;color:var(--muted);text-align:left;display:flex;gap:7px;align-items:baseline}.scene-legend li>span{color:#bb9af7;font-size:10px;flex-shrink:0}.simple-scene .scene-selected{display:none}@media(max-width:720px){.scene-legend{gap:5px;margin-bottom:12px}.scene-legend li{font-size:10px;gap:4px}}

.more-menu>summary::before{display:none}.scene-legend{padding-top:9px}
/* Facts beside the shapes make the mechanism readable without extra controls. */
.simple-scene figcaption{margin-top:5px;text-align:left}.figure-label{display:block;text-align:center;color:var(--muted);font-size:11px;margin:0 0 13px}.scene-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0}.scene-facts li{padding:12px 11px 13px;border-top:2px solid #526575;background:var(--paper);border-radius:0 0 8px 8px}.scene-facts li:nth-child(2){border-color:#85719f}.scene-facts li:nth-child(3){border-color:#99805a}.scene-facts li:nth-child(4){border-color:#6b8750}.fact-heading{display:flex;gap:7px;align-items:baseline;font-size:11px;line-height:1.5;color:var(--muted);margin-bottom:7px}.fact-heading b{font-size:10px;font-weight:700;color:#7dcfff}.scene-facts li:nth-child(2) b{color:#bb9af7}.scene-facts li:nth-child(3) b{color:#e0af68}.scene-facts li:nth-child(4) b{color:#9ece6a}.scene-facts li>strong{display:block;font-size:12px;font-weight:500;line-height:1.55;color:var(--ink)}.learn-copy .everyday-bridge{font-size:15px;color:var(--muted);line-height:1.75;margin:25px 0 13px;padding-left:14px;border-left:2px solid #75628f}.everyday-bridge>span{display:block;color:#bfabdf;font-size:11px;margin-bottom:5px;font-weight:600}.learn-copy .plain-idea{font-size:16px;line-height:1.8;margin:18px 0}.lesson-player:not([data-stage=learn]) .simple-scene .floating-label{display:none}.lesson-player:not([data-stage=learn]) .simple-scene .viewport{height:130px}:root[data-theme=light] .everyday-bridge>span{color:#71508e}.simple-scene .viewport{height:240px}.lesson-player[data-result=correct] .player-action:hover{background:#b9e28e;border-color:#d1eab6}
@media(max-width:720px){.simple-scene .viewport{height:200px}.scene-facts{grid-template-columns:1fr 1fr;gap:9px}.scene-facts li{padding:11px 12px}.fact-heading{font-size:10px;margin-bottom:6px}.scene-facts li>strong{font-size:12px}.figure-label{font-size:10px}.learn-copy .everyday-bridge{font-size:14px;margin:21px 0 14px}.learn-copy .plain-idea{font-size:15px}.lesson-player:not([data-stage=learn]) .simple-scene .viewport{height:110px}.simple-scene figcaption{margin-top:7px}}
