:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f3f6f2;--surface:#fbfcfa;--ink:#17221d;--muted:#66726c;--line:#d9e0db;--line-strong:#bcc8c0;--blue:#3159e8;--blue-dark:#2445bd;--blue-soft:#e7ecff;--green:#167456;--green-soft:#def2e9;--violet:#7655d9;--violet-soft:#eee9ff;--amber-soft:#fff1c7;--red-soft:#fbe2df;--shadow:0 24px 70px #1c312614;--sans:var(--font-geist-sans), Inter, "SF Pro Display", "Avenir Next", ui-sans-serif, system-ui, sans-serif;--mono:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:radial-gradient(circle at 85% 4%, #7655d914, transparent 24rem), radial-gradient(circle at 4% 88%, #16745612, transparent 30rem), var(--canvas);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit}:focus-visible{outline-offset:3px;outline:3px solid #3159e86b}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfcfae0;border-bottom:1px solid #17221d14;align-items:center;gap:34px;height:76px;padding:0 34px;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.055em;background:0 0;border:0;padding:0;font-size:22px;font-weight:780}.subject-switcher{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.subject-dot{background:var(--green);border-radius:50%;width:8px;height:8px}.top-actions{gap:9px;margin-left:auto;display:flex}.top-actions button span{min-width:20px;color:var(--violet);background:var(--violet-soft);border-radius:999px;margin-left:6px;padding:2px 6px;font-size:11px}.quiet-button,.primary-button,.back-button,.text-button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);border-radius:12px;padding:9px 15px;font-size:13px;font-weight:670}.quiet-button:hover{border-color:var(--line-strong);background:#fff}.primary-button{border-color:var(--blue);color:#fff;background:var(--blue);box-shadow:0 8px 20px #3159e826}.primary-button:hover{border-color:var(--blue-dark);background:var(--blue-dark)}.text-button{min-height:auto;color:var(--muted);background:0 0;border-color:#0000;padding:7px 5px}.text-button:hover{color:var(--ink)}.back-button{color:var(--muted);background:0 0;border:0;padding-left:0}.back-button:hover{color:var(--ink)}.context,.micro-label,.rail-label{color:var(--blue);letter-spacing:.115em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:780}.overview-page{width:min(1450px,100% - 80px);margin:0 auto;padding:72px 0 90px}.overview-hero{grid-template-columns:minmax(0,820px) minmax(260px,430px);align-items:end;gap:80px;margin-bottom:70px;display:grid}.overview-hero .context{grid-column:1/-1;margin-bottom:-55px}.overview-hero h1,.reference-heading h1,.review-heading h1{letter-spacing:-.065em;margin:0;font-size:clamp(48px,5.5vw,82px);font-weight:740;line-height:.96}.overview-hero>p:last-child,.review-heading>div>p:last-child{color:var(--muted);margin:0;font-size:17px;line-height:1.65}.subject-grid{grid-template-columns:minmax(0,1.6fr) minmax(330px,.75fr);gap:24px;display:grid}.section-heading{grid-column:1/-1;justify-content:space-between;align-items:end;margin-bottom:4px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:29px}.section-heading>span{color:var(--muted);font-size:12px}.subject-card,.method-note{background:var(--surface);box-shadow:var(--shadow);border:1px solid #17221d14;border-radius:24px;padding:32px}.subject-card-top{justify-content:space-between;align-items:start;display:flex}.subject-icon{width:62px;height:62px;color:var(--green);background:var(--green-soft);font:760 16px var(--mono);border-radius:18px;place-items:center;display:grid}.status-label{color:var(--green);background:var(--green-soft);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:720}.subject-card h3{letter-spacing:-.04em;margin:28px 0 8px;font-size:31px}.subject-card>p{max-width:720px;color:var(--muted);margin:0;line-height:1.65}.subject-metrics{color:var(--muted);gap:36px;margin:29px 0 17px;font-size:12px;display:flex}.subject-metrics span{gap:2px;display:grid}.subject-metrics strong{color:var(--ink);font-size:18px}.overview-progress{background:#e2e8e3;border-radius:20px;height:6px;overflow:hidden}.overview-progress span{border-radius:inherit;background:var(--green);height:100%;display:block}.subject-actions{gap:9px;margin-top:24px;display:flex}.method-note{box-shadow:none;background:#fbfcfa9e}.method-note ol{counter-reset:method;margin:22px 0 0;padding:0;list-style:none}.method-note li{counter-increment:method;min-height:54px;padding:0 0 18px 37px;position:relative}.method-note li:before{content:counter(method);width:24px;height:24px;color:var(--blue);background:var(--blue-soft);font:11px var(--mono);border-radius:50%;place-items:center;display:grid;position:absolute;top:1px;left:0}.method-note li:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:28px;bottom:3px;left:12px}.method-note strong,.method-note span{display:block}.method-note strong{font-size:13px}.method-note span{color:var(--muted);font-size:12px;line-height:1.45}.learning-layout{grid-template-columns:236px minmax(0,1fr);width:min(1536px,100% - 64px);margin:0 auto;padding:34px 0 70px;display:grid}.lesson-rail{padding:13px 28px 0 0}.lesson-rail .rail-label{color:var(--muted)}.lesson-rail h2{letter-spacing:-.025em;margin:0;font-size:18px;line-height:1.25}.completion{margin:22px 0 28px}.completion-line{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.completion-track{background:#dce3de;border-radius:9px;height:5px;margin-top:9px;overflow:hidden}.completion-track span{border-radius:inherit;background:var(--green);height:100%;display:block}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li{color:var(--muted);padding:0 0 20px 28px;font-size:13px;line-height:1.35;position:relative}.lesson-list li:before{content:"";background:var(--canvas);border:2px solid #b8c2bc;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;left:3px}.lesson-list li:after{content:"";background:#d2dbd5;width:1px;position:absolute;top:19px;bottom:3px;left:7px}.lesson-list li:last-child:after{display:none}.lesson-list li.done:before{border-color:var(--green);background:var(--green);box-shadow:inset 0 0 0 2px var(--canvas)}.lesson-list li.current{color:var(--ink);font-weight:700}.lesson-list button{width:100%;color:inherit;text-align:left;font:inherit;background:0 0;border:0;padding:3px 0}.lesson-list button:hover{color:var(--ink)}.reset{margin-top:12px;font-size:11px}.lesson-main{min-width:0}.lesson-heading{grid-template-columns:minmax(0,1fr) 330px;align-items:end;gap:50px;margin-bottom:27px;display:grid}.lesson-heading h1{letter-spacing:-.058em;max-width:840px;margin:0;font-size:clamp(43px,4.2vw,66px);font-weight:740;line-height:.98}.goal{border-left:2px solid var(--green);color:var(--muted);margin:0;padding:2px 0 2px 17px;font-size:13px}.goal strong{color:var(--ink);margin-bottom:4px;display:block}.learning-loop{grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:18px;display:grid}.loop-step{min-height:46px;color:var(--muted);background:#ffffff75;border-radius:11px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:660;display:flex}.loop-step span{width:20px;height:20px;font:10px var(--mono);border:1px solid #c4cec7;border-radius:50%;place-items:center;display:grid}.loop-step.active{color:var(--ink);background:var(--blue-soft)}.loop-step.active span{color:#fff;border-color:var(--blue);background:var(--blue)}.loop-step.done span{color:#fff;border-color:var(--green);background:var(--green)}.learning-stage{background:var(--surface);min-height:650px;box-shadow:var(--shadow);border:1px solid #17221d14;border-radius:26px;overflow:hidden}.phase-content{min-height:650px;padding:52px 58px}.phase-content h2{letter-spacing:-.045em;max-width:820px;margin:0;font-size:clamp(30px,3vw,45px);line-height:1.08}.large-copy{color:#48544e;max-width:850px;margin:18px 0 32px;font-size:19px;line-height:1.7}.orient-phase{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.prerequisite{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;width:100%;max-width:720px;padding:17px 0;font-size:13px;display:grid}.prerequisite span{color:var(--muted)}.developer-bridge{border-left:2px solid var(--violet);max-width:760px;color:var(--muted);margin:28px 0 38px;padding-left:17px}.developer-bridge strong{color:var(--violet);margin-right:8px}.phase-title{justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px;display:flex}.phase-title>span{color:var(--muted);font-size:12px}.example-note{max-width:900px;color:var(--muted);margin:22px 0;line-height:1.65}.phase-actions{justify-content:space-between;gap:10px;margin-top:30px;display:flex}.state-model{background:#eef2ed;border-radius:20px;grid-template-columns:1fr 120px 1fr;align-items:center;gap:18px;padding:25px;display:grid}.state-panel{background:var(--surface);border-radius:17px;min-height:185px;padding:22px}.state-panel small,.state-panel strong{display:block}.state-panel small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:740}.state-panel strong{letter-spacing:-.045em;margin:8px 0 22px;font-size:35px}.pod-row{flex-wrap:wrap;gap:9px;display:flex}.pod-row span{width:49px;height:49px;color:var(--green);background:var(--green-soft);font:680 10px var(--mono);border:1px solid #c2d4ca;border-radius:14px;place-items:center;display:grid}.pod-row span.missing{color:#99a39d;background:0 0;border-style:dashed}.controller-action{color:var(--blue);text-align:center;place-items:center;display:grid}.controller-action b{border:2px solid var(--blue);background:var(--blue-soft);border-radius:50%;place-items:center;width:64px;height:64px;font-size:28px;display:grid}.controller-action small{color:var(--muted);margin-top:8px;font-size:10px;font-weight:680}.relationship-map{background:#eef2ed;border-radius:20px;grid-template-columns:repeat(4,1fr);align-items:stretch;gap:9px;padding:28px;display:grid}.relationship-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;display:grid}.relationship-item>div{background:var(--surface);border:1px solid #d6dfd8;border-radius:16px;flex-direction:column;justify-content:center;min-height:120px;padding:19px 15px;display:flex}.relationship-item strong,.relationship-item small{display:block}.relationship-item strong{font-size:14px}.relationship-item small{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.35}.relationship-item>span{color:var(--blue);font-size:22px}.health .relationship-item:first-child>div{background:var(--violet-soft)}.health .relationship-item:nth-child(2)>div{background:var(--green-soft)}.health .relationship-item:nth-child(3)>div{background:var(--red-soft)}.yaml-block,.question-yaml{color:#294037;font:12px/1.65 var(--mono);white-space:pre-wrap;background:#f3f7f3;border:1px solid #d6dfd8;border-radius:16px;margin:20px 0 0;padding:20px 22px;overflow-x:auto}.predict-phase{padding-top:34px}.question-progress{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:28px;font-size:12px;display:flex}.question-progress>div{gap:5px;display:flex}.question-progress i{background:var(--line);border-radius:8px;width:24px;height:4px}.question-progress i.filled{background:var(--blue)}.question-block{max-width:920px}.question-kicker{color:var(--violet);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:20px;margin-bottom:12px;font-size:11px;font-weight:780;display:flex}.question-kicker span:last-child{color:var(--muted)}.question-block h2{margin-bottom:25px}.answer-list{border:0;grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:0;display:grid}.answer-option{position:relative}.answer-option input{opacity:0;pointer-events:none;position:absolute}.answer-option>span{border:1px solid var(--line);color:#445049;background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:11px;height:100%;min-height:68px;padding:14px 15px;font-size:13px;line-height:1.35;display:flex}.answer-option>span:before{content:"";border:1.5px solid #9aa79f;border-radius:50%;flex:none;width:15px;height:15px}.answer-option.checkbox>span:before{border-radius:4px}.answer-option input:checked+span{border-color:var(--blue);color:var(--ink);background:var(--blue-soft)}.answer-option input:checked+span:before{border:5px solid var(--blue);background:#fff}.answer-option.checkbox input:checked+span:before{border:3px solid var(--blue);background:var(--blue);box-shadow:inset 0 0 0 2px #fff}.answer-option input:focus-visible+span{outline-offset:2px;outline:3px solid #3159e861}.question-actions{align-items:center;gap:9px;margin-top:18px;display:flex}.feedback{color:#513f18;background:var(--amber-soft);border-radius:14px;gap:6px;max-width:840px;margin-top:16px;padding:15px 17px;font-size:13px;line-height:1.5;display:flex}.feedback.correct{color:#174d3d;background:var(--green-soft)}.feedback.reveal{color:#493b73;background:var(--violet-soft)}.feedback.try{color:#6e332d;background:var(--red-soft)}.continue-question{margin-top:20px}.order-list{max-width:760px;margin:0;padding:0;list-style:none}.order-list li{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:58px;margin-bottom:8px;padding:8px 10px;display:grid}.order-number{width:28px;height:28px;color:var(--blue);background:var(--blue-soft);font:11px var(--mono);border-radius:9px;place-items:center;display:grid}.order-list strong{font-size:13px}.order-actions{gap:5px;display:flex}.order-actions button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:9px}.match-list{gap:9px;max-width:800px;display:grid}.match-list label{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:180px 1fr;align-items:center;gap:18px;padding:11px 13px;display:grid}.match-list strong{font-size:13px}.match-list select,.search-field input{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:10px;padding:8px 11px;font-size:13px}.explain-phase,.recall-phase{flex-direction:column;justify-content:center;display:flex}.explanation-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:32px 0 25px;display:grid}.explanation-grid>div{background:#eef2ed;border-radius:16px;min-height:150px;padding:19px}.explanation-grid span{color:var(--green);font:11px var(--mono)}.explanation-grid p{margin:20px 0 0;font-size:14px;line-height:1.55}.self-explain{border-left:2px solid var(--violet);max-width:780px;color:var(--muted);background:var(--violet-soft);margin:0;padding:16px 18px}.recap-list{max-width:840px;margin:30px 0;padding:0;list-style:none}.recap-list li{border-bottom:1px solid var(--line);padding:17px 0 17px 42px;font-size:16px;position:relative}.recap-list li:first-child{border-top:1px solid var(--line)}.recap-list li:before{content:"✓";width:22px;height:22px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid;position:absolute;top:15px;left:7px}.understanding-note{background:var(--blue-soft);border-radius:15px;grid-template-columns:230px 1fr;gap:20px;max-width:850px;padding:18px;font-size:13px;display:grid}.understanding-note span{color:#4f5c77}.source-links{color:var(--muted);align-items:center;gap:13px;margin-top:24px;font-size:11px;display:flex}.source-links>span{text-transform:uppercase;letter-spacing:.08em;font-weight:700}.source-links a{color:var(--blue)}.review-page,.reference-page{width:min(1180px,100% - 48px);margin:0 auto;padding:46px 0 80px}.review-heading{grid-template-columns:1fr 170px;align-items:end;gap:60px;margin:32px 0 36px;display:grid}.review-heading h1,.reference-heading h1{max-width:880px;font-size:clamp(45px,5vw,72px)}.review-heading>div>p:last-child{max-width:760px;margin-top:20px}.review-summary{min-height:140px;color:var(--blue);background:var(--blue-soft);border-radius:20px;flex-direction:column;justify-content:center;padding:22px;display:flex}.review-summary span{letter-spacing:-.04em;font-size:35px;font-weight:740}.review-summary small{color:var(--muted)}.review-stage{background:var(--surface);min-height:560px;box-shadow:var(--shadow);border:1px solid #17221d14;border-radius:25px;padding:42px 48px}.review-concept{color:var(--muted);gap:8px;margin-bottom:28px;font-size:12px;display:flex}.review-concept strong{color:var(--violet)}.review-finished{background:var(--surface);text-align:center;min-height:500px;box-shadow:var(--shadow);border-radius:25px;flex-direction:column;justify-content:center;align-items:center;padding:50px;display:flex}.review-finished>span{width:62px;height:62px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;font-size:25px;display:grid}.review-finished h2{letter-spacing:-.04em;margin:22px 0 8px;font-size:38px}.review-finished p{max-width:580px;color:var(--muted);margin:0 0 25px}.reference-heading{grid-template-columns:1fr 370px;align-items:end;gap:60px;margin:32px 0 50px;display:grid}.search-field{color:var(--muted);gap:8px;font-size:12px;display:grid}.search-field input{min-height:48px;padding-inline:15px;font-size:14px}.glossary-list{grid-template-columns:repeat(2,1fr);gap:0 36px;margin:0;display:grid}.glossary-list>div{border-top:1px solid var(--line);grid-template-columns:170px 1fr;gap:20px;min-height:100px;padding:22px 0;display:grid}.glossary-list dt{font-weight:720}.glossary-list dd{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.empty-state{color:var(--muted);background:var(--surface);border-radius:16px;padding:30px}.loading-screen{min-height:100vh;color:var(--muted);text-align:center;place-content:center;gap:7px;display:grid}.loading-screen span{color:var(--ink);letter-spacing:-.055em;font-size:28px;font-weight:780}.loading-screen span:first-letter{color:var(--blue)}.loading-screen p{margin:0;font-size:13px}@media (max-width:1120px){.learning-layout{grid-template-columns:210px minmax(0,1fr);width:calc(100% - 40px)}.lesson-heading{grid-template-columns:1fr;gap:17px}.goal{max-width:470px}.phase-content{padding:42px}.overview-hero{grid-template-columns:1fr;gap:28px}.overview-hero .context{grid-column:auto;margin-bottom:-14px}.subject-grid{grid-template-columns:1fr}.method-note{grid-column:auto}.glossary-list{grid-template-columns:1fr}}@media (max-width:820px){.topbar{gap:16px;height:68px;padding:0 18px}.subject-switcher,.review-button{display:none}.learning-layout{width:min(720px,100% - 28px);padding-top:24px;display:block}.lesson-rail{display:none}.lesson-heading h1{font-size:clamp(40px,9vw,60px)}.learning-loop{grid-template-columns:repeat(5,minmax(36px,1fr))}.loop-step{justify-content:center;padding:7px;font-size:0}.loop-step span{flex:none}.phase-content{min-height:auto;padding:30px 24px}.learning-stage{border-radius:20px;min-height:0}.state-model{grid-template-columns:1fr}.controller-action{grid-template-columns:auto 1fr;justify-content:center;gap:9px}.controller-action b{width:48px;height:48px;transform:rotate(90deg)}.controller-action small{margin:0}.relationship-map,.relationship-item{grid-template-columns:1fr}.relationship-item>div{min-height:82px}.relationship-item>span{text-align:center;transform:rotate(90deg)}.answer-list,.explanation-grid{grid-template-columns:1fr}.match-list label{grid-template-columns:1fr;gap:7px}.understanding-note{grid-template-columns:1fr;gap:8px}.source-links{flex-direction:column;align-items:flex-start}.overview-page{width:calc(100% - 32px);padding:45px 0 60px}.subject-metrics{flex-wrap:wrap;gap:18px}.review-page,.reference-page{width:calc(100% - 28px);padding-top:30px}.review-heading,.reference-heading{grid-template-columns:1fr;gap:25px}.review-summary{min-height:100px}.review-stage{padding:28px 22px}}.top-actions .quiet-button:hover{background:#ffffff80}@media (min-width:821px){.lesson-rail{background:#ededebe6;border-right-color:#b9bbb7}.learning-loop{border:0;gap:7px}.loop-step{background:#ffffff75;border:0}.loop-step.active{background:var(--blue-soft)}.learning-stage{background:#f9f9f6fa;border-color:#c8cac6}.state-model,.relationship-map{background:#eceeeb}.state-panel{border:0}.relationship-item>div{background:#f8f8f5;border:0}.yaml-block,.question-yaml{background:#f0f2ef;border-color:#d7d9d5}.explanation-grid{gap:12px}.explanation-grid>div{background:#edf0ec;border:0}.self-explain{border-left-color:var(--blue);background:var(--blue-soft)}.answer-option>span{background:#fbfbf8;border-color:#d4d6d2}.answer-option input:checked+span{border-color:var(--blue)}.order-list li,.match-list label{background:#fbfbf8;border-color:#d4d6d2}.understanding-note{background:#edf0ec}}@media (max-width:820px){body{background:#ededeb}.learning-loop{border:0;gap:5px}.loop-step{border:0}}.reading-cursor{z-index:60;pointer-events:none;background:#ff5a142e;padding:0 2px;transition:top 90ms,left 90ms,width 90ms,height 90ms;position:fixed;transform:translate(-2px,1px);box-shadow:inset 0 -2px #ff5a14}.reading-cursor.action{background:0 0;transform:none;box-shadow:0 0 0 3px #171817,0 0 0 5px #ff5a14}@media (prefers-reduced-motion:reduce){.reading-cursor{transition:none}}@media (max-width:520px){.top-actions .quiet-button{min-height:38px;padding-inline:12px}.overview-hero h1,.reference-heading h1,.review-heading h1{font-size:43px}.section-heading{flex-direction:column;align-items:flex-start;gap:7px}.subject-card,.method-note{border-radius:19px;padding:23px}.subject-actions,.phase-actions,.question-actions{flex-direction:column;align-items:stretch}.subject-actions button,.phase-actions button,.question-actions button,.continue-question{width:100%}.subject-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.subject-metrics strong{font-size:16px}.lesson-heading{margin-bottom:22px}.phase-title{flex-direction:column;align-items:flex-start;gap:5px}.phase-content h2{font-size:32px}.large-copy{font-size:17px}.prerequisite{grid-template-columns:1fr;gap:5px}.question-kicker{flex-direction:column;align-items:flex-start;gap:3px}.feedback{flex-direction:column}.order-list li{grid-template-columns:32px 1fr}.order-actions{grid-column:2}.glossary-list>div{grid-template-columns:1fr;gap:7px}}@media (prefers-reduced-motion:no-preference){.quiet-button,.primary-button,.answer-option>span,.order-actions button{transition:background-color .15s,border-color .15s,color .15s,transform .15s}.primary-button:hover{transform:translateY(-1px)}.learning-stage{animation:.18s ease-out stage-in}@keyframes stage-in{0%{opacity:.7;transform:translateY(4px)}}}:root{--canvas:#e9e9e7;--surface:#f7f7f4;--ink:#171817;--muted:#666966;--line:#bfc1bd;--line-strong:#898c87;--blue:#ff5a14;--blue-dark:#dc4300;--blue-soft:#fff0e8;--green:#246b58;--green-soft:#e3eee9;--violet:#ff5a14;--violet-soft:#fff0e8;--amber-soft:#fff2d4;--red-soft:#f8dfd8;--shadow:none}html,body{background:var(--canvas)}body{background-image:linear-gradient(#17181716 1px,#0000 1px),linear-gradient(90deg,#17181716 1px,#0000 1px);background-size:100% 72px,238px 100%}.topbar{border-bottom:1px solid var(--line-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e9e9e7f5;height:64px;padding:0 28px}.brand{font-family:var(--mono);letter-spacing:-.08em;text-transform:uppercase;font-size:21px}.brand span{color:var(--blue)}.subject-switcher,.top-actions button,.context,.micro-label,.rail-label{font-family:var(--mono)}.subject-dot{background:var(--blue);border-radius:0}.top-actions{border-left:1px solid var(--line);gap:0;height:100%}.top-actions .quiet-button{border-width:0 1px 0 0;border-color:var(--line);text-transform:uppercase;letter-spacing:.035em;background:0 0;border-radius:0;height:100%;padding-inline:20px}.top-actions button span{color:var(--blue-dark);background:var(--blue-soft);border-radius:0}.quiet-button,.primary-button,.back-button,.text-button{font-family:var(--mono);letter-spacing:.02em;border-radius:0;font-size:12px}.primary-button{border-color:var(--blue);background:var(--blue);box-shadow:none;text-transform:uppercase}.quiet-button{background:#f7f7f4b8}.context,.micro-label,.rail-label{color:var(--blue-dark);letter-spacing:.09em}@media (min-width:821px){.app-shell:has(.learning-layout){height:100dvh;overflow:hidden}.learning-layout{grid-template-columns:238px minmax(0,1fr);width:100%;height:calc(100dvh - 64px);padding:0}.lesson-rail{border-right:1px solid var(--line-strong);background:#e9e9e7d1;min-height:0;padding:24px 22px}.lesson-main{grid-template-rows:auto auto minmax(0,1fr);min-height:0;padding:20px 28px 22px;display:grid}.lesson-heading{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:34px;margin-bottom:14px}.lesson-heading h1{max-width:760px;font-size:clamp(32px,3.2vw,52px);line-height:.98}.goal{border-left-color:var(--blue);font-size:12px;line-height:1.45}.learning-loop{border:1px solid var(--line-strong);gap:0;margin-bottom:12px}.loop-step{border-right:1px solid var(--line);min-height:40px;font-family:var(--mono);text-transform:uppercase;background:#f7f7f494;border-radius:0;font-weight:500}.loop-step:last-child{border-right:0}.loop-step.active{color:var(--ink);background:var(--blue-soft)}.loop-step.active span{border-color:var(--blue);background:var(--blue);border-radius:0}.loop-step.done span{border-radius:0}.learning-stage{border-color:var(--line-strong);background:#f7f7f4f7;border-radius:0;height:100%;min-height:0}.phase-content{height:100%;min-height:0;padding:clamp(22px,3vh,34px) clamp(28px,3vw,46px);overflow:hidden}.phase-content h2{font-size:clamp(25px,2.3vw,38px);line-height:1.03}.large-copy{margin:12px 0 18px;font-size:16px;line-height:1.52}.orient-phase,.explain-phase,.recall-phase{justify-content:center}.developer-bridge{margin:16px 0 20px}.prerequisite{padding:11px 0}.phase-title{margin-bottom:14px}.phase-actions{margin-top:auto;padding-top:14px}.observe-phase,.predict-phase{flex-direction:column;display:flex}.state-model{border-radius:0;grid-template-columns:1fr 90px 1fr;padding:16px}.state-panel{border:1px solid var(--line);border-radius:0;min-height:120px;padding:15px}.state-panel strong{margin:4px 0 12px;font-size:27px}.pod-row span,.controller-action b{border-radius:0}.controller-action b{width:48px;height:48px}.relationship-map{border-radius:0;padding:16px}.relationship-item>div{border-radius:0;min-height:92px;padding:13px}.example-note{margin:12px 0;font-size:13px;line-height:1.45}.yaml-block,.question-yaml{border-radius:0;max-height:142px;margin-top:10px;padding:12px 15px;font-size:11px;line-height:1.45}.question-progress{font-family:var(--mono);margin-bottom:12px}.question-progress i{background:var(--line);border-radius:0}.question-block{max-width:none;min-height:0}.question-kicker{font-family:var(--mono);color:var(--blue-dark);margin-bottom:7px}.question-block h2{max-width:1000px;margin-bottom:14px;font-size:clamp(24px,2.2vw,36px)}.answer-list{gap:8px}.answer-option>span{border-radius:0;min-height:50px;padding:10px 13px}.answer-option input:checked+span{border-color:var(--blue);background:var(--blue-soft)}.answer-option input:checked+span:before{border-color:var(--blue)}.question-actions{margin-top:12px}.feedback{border:1px solid;border-radius:0;max-width:none;margin-top:10px;padding:10px 13px;font-size:12px;line-height:1.4}.continue-question{align-self:flex-start;margin-top:10px}.order-list li,.match-list label{border-radius:0;min-height:46px;margin-bottom:5px;padding-block:6px}.order-number,.order-actions button,.match-list select{border-radius:0}.explanation-grid{gap:8px;margin:18px 0 14px}.explanation-grid>div{border:1px solid var(--line);border-radius:0;min-height:105px;padding:14px}.explanation-grid p{margin-top:10px;font-size:13px;line-height:1.42}.self-explain{padding:11px 14px}.recap-list{margin:14px 0}.recap-list li{padding-block:10px;font-size:14px}.recap-list li:before{border-radius:0;top:9px}.understanding-note{border-radius:0;padding:12px 14px}.source-links{margin-top:10px}}.lesson-list li:before,.completion-track,.completion-track span{border-radius:0}.lesson-list li.current:before{border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.completion-track span{background:var(--blue)}.lesson-rail h2{font-family:var(--mono);letter-spacing:-.04em;font-weight:600}.lesson-list{font-family:var(--mono)}@media (min-width:821px) and (max-height:800px){.lesson-main{padding-top:13px;padding-bottom:14px}.lesson-heading{margin-bottom:9px}.lesson-heading h1{font-size:clamp(29px,2.8vw,42px)}.learning-loop{margin-bottom:8px}.loop-step{min-height:34px}.phase-content{padding-top:18px;padding-bottom:18px}.question-block h2{font-size:clamp(21px,2vw,30px)}.answer-option>span{min-height:44px}.feedback{line-height:1.3}.lesson-list li{padding-bottom:14px}.completion{margin-bottom:20px}}@media (max-width:820px){body{background-size:100% 64px,100% 100%}.topbar{border-bottom-color:var(--line-strong)}.learning-stage,.phase-content,.subject-card,.method-note,.review-stage,.review-finished{border-radius:0}.learning-loop{border:1px solid var(--line);gap:0}.loop-step{border-right:1px solid var(--line);border-radius:0}.phase-content{padding:24px 20px}.answer-option>span,.feedback,.state-model,.state-panel,.relationship-map,.relationship-item>div,.yaml-block,.question-yaml{border-radius:0}}body{font-family:var(--font-geist-mono), "SFMono-Regular", "Roboto Mono", Consolas, monospace;background:#ededeb}h1,h2,h3,strong,button,input,select{font-family:inherit}.lesson-heading h1,.phase-content h2,.overview-hero h1,.reference-heading h1,.review-heading h1{font-family:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;letter-spacing:-.065em;font-weight:620}.topbar{background:#ededebf7;border-color:#b9bbb7}.top-actions{border:0;gap:8px;height:auto}.top-actions .quiet-button{background:0 0;border:0;height:40px;padding-inline:14px}.quiet-button{background:#e3e4e1;border-color:#0000}.back-button,.text-button{border-color:#0000}.primary-button{color:#111;background:#ff5a14}.lesson-list li:after{background:#d0d2ce}.lesson-list li:before{background:#ededeb;border-color:#aeb2ad}.completion-track{background:#d8dad6}@media (min-width:821px){.lesson-rail{background:#ededebe6;border-right-color:#b9bbb7}.learning-loop{border:0;gap:7px}.loop-step{background:#ffffff75;border:0}.loop-step.active{background:var(--blue-soft)}.learning-stage{background:#f9f9f6fa;border-color:#c8cac6}.state-model,.relationship-map{background:#eceeeb}.state-panel,.relationship-item>div,.explanation-grid>div{border:0}.relationship-item>div{background:#f8f8f5}.explanation-grid>div{background:#edf0ec}.yaml-block,.question-yaml{background:#f0f2ef;border-color:#d7d9d5}.self-explain{border-left-color:var(--blue);background:var(--blue-soft)}.answer-option>span,.order-list li,.match-list label{background:#fbfbf8;border-color:#d4d6d2}.understanding-note{background:#edf0ec}}@media (max-width:820px){body{background:#ededeb}.learning-loop{border:0;gap:5px}.loop-step{border:0}}
