:root{--radius:16px;--bg:#fbf8f1;--bg-elev:#fff;--bg-sunk:#f3eee3;--bg-glass:#ffffffc7;--text:#1c1f2e;--text-muted:#565b70;--border:#e5ddcc;--accent:#2b59c3;--accent-strong:#2149a8;--accent-soft:#2b59c317;--accent-text:#fff;--accent-ink:#2b59c3;--link:#2149a8;--violet:#6c3ce0;--on-violet:#fff;--pink:#c21a7a;--cyan:#0f8a76;--success:#17803d;--success-soft:#17803d1a;--danger:#c0262d;--danger-soft:#c0262d14;--warn:#946200;--warn-soft:#d4a01726;--gold:#b07800;--gold-soft:#ffc23d2e;--crayon:#e8590c;--code-bg:#1c1f2e;--code-text:#f3f1ea;--header-bg:#fbf8f1d9;--heat-1:#2b59c338;--heat-2:#2b59c36b;--heat-3:#2b59c3a8;--heat-4:#2b59c3;--c1:#2b59c3;--c2:#e8590c;--c3:#17803d;--c4:#7b3fd0;--grad:linear-gradient(95deg, #e8590c 0%, #d18a00 45%, #0f8a76 100%);--shadow:0 1px 2px #3c280a0d, 0 8px 24px #3c280a12;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14161f;--bg-elev:#1c1f2b;--bg-sunk:#232736;--bg-glass:#1c1f2bbf;--text:#f3f1ea;--text-muted:#a9acbd;--border:#30354a;--accent:#7ea6ff;--accent-strong:#9dbcff;--accent-soft:#7ea6ff24;--accent-text:#0b1020;--accent-ink:#9dbcff;--link:#9dbcff;--violet:#b9a3ff;--on-violet:#120d24;--pink:#ff8fb7;--cyan:#5fd4c0;--success:#5fd49a;--success-soft:#5fd49a24;--danger:#ff8a80;--danger-soft:#ff8a8024;--warn:#ffcf5c;--warn-soft:#ffcf5c24;--gold:#ffc83d;--gold-soft:#ffc83d24;--crayon:#ff8a3d;--code-bg:#10121a;--code-text:#e9e7df;--header-bg:#14161fd1;--heat-1:#7ea6ff4d;--heat-2:#7ea6ff8c;--heat-3:#7ea6ffcc;--heat-4:#7ea6ff;--c1:#7ea6ff;--c2:#ff9a52;--c3:#5fd49a;--c4:#c49bff;--grad:linear-gradient(95deg, #ff9a52 0%, #ffc83d 45%, #5fd4c0 100%);--shadow:0 1px 0 #ffffff0a inset, 0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#14161f;--bg-elev:#1c1f2b;--bg-sunk:#232736;--bg-glass:#1c1f2bbf;--text:#f3f1ea;--text-muted:#a9acbd;--border:#30354a;--accent:#7ea6ff;--accent-strong:#9dbcff;--accent-soft:#7ea6ff24;--accent-text:#0b1020;--accent-ink:#9dbcff;--link:#9dbcff;--violet:#b9a3ff;--on-violet:#120d24;--pink:#ff8fb7;--cyan:#5fd4c0;--success:#5fd49a;--success-soft:#5fd49a24;--danger:#ff8a80;--danger-soft:#ff8a8024;--warn:#ffcf5c;--warn-soft:#ffcf5c24;--gold:#ffc83d;--gold-soft:#ffc83d24;--crayon:#ff8a3d;--code-bg:#10121a;--code-text:#e9e7df;--header-bg:#14161fd1;--heat-1:#7ea6ff4d;--heat-2:#7ea6ff8c;--heat-3:#7ea6ffcc;--heat-4:#7ea6ff;--c1:#7ea6ff;--c2:#ff9a52;--c3:#5fd49a;--c4:#c49bff;--grad:linear-gradient(95deg, #ff9a52 0%, #ffc83d 45%, #5fd4c0 100%);--shadow:0 1px 0 #ffffff0a inset, 0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--font-sans), system-ui, -apple-system, Segoe UI, sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65;overflow-x:clip}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}img,video,iframe{max-width:100%}code,pre{font-family:var(--font-mono), ui-monospace, Menlo, monospace}h1,h2,h3{letter-spacing:-.02em;font-weight:700;line-height:1.12;font-family:var(--font-display), Georgia, serif;margin:0 0 .5em}h1{font-size:clamp(2.3rem,6vw,4.2rem)}h2{font-size:clamp(1.6rem,3.6vw,2.5rem)}h3{letter-spacing:-.01em;font-size:1.18rem}p{margin:0 0 1em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip{position:absolute;left:-999px}.skip:focus{background:var(--bg-elev);z-index:100;border-radius:8px;padding:8px 12px;top:8px;left:16px}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}.narrow{max-width:780px}.section{padding-top:88px;padding-bottom:88px}.section-tight{padding-top:32px;padding-bottom:32px}@media (max-width:640px){.section{padding-top:36px;padding-bottom:56px}}.muted{color:var(--text-muted)}.small{font-size:.875rem}.center{text-align:center}.row{display:flex}.wrap{flex-wrap:wrap}.gap-sm{gap:8px}.gap{gap:16px}.center-y{align-items:center}.between{justify-content:space-between}.stack>*+*{margin-top:16px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-ink);font-size:.78rem;font-weight:800;font-family:var(--font-mono);margin-bottom:12px}.grad{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.lead{color:var(--text-muted);font-size:clamp(1.05rem,2vw,1.25rem)}.section-head{text-align:center;max-width:720px;margin:0 auto 48px}.site-header{z-index:30;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{align-items:center;gap:28px;height:68px;display:flex}.logo{color:var(--text);white-space:nowrap;letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.2rem;font-weight:900;display:flex}.logo:hover{text-decoration:none}.logo-mark{border-radius:9px;flex:none;transition:transform .2s;display:block}.logo:hover .logo-mark{transform:rotate(-6deg)scale(1.05)}.logo b{color:var(--accent-ink)}.nav{scrollbar-width:none;flex:1;gap:22px;display:flex;overflow-x:auto}.nav a{color:var(--text-muted);white-space:nowrap;font-size:.95rem;font-weight:600}.nav a:hover{color:var(--text);text-decoration:none}.header-auth{align-items:center;gap:8px;display:flex}.header-auth form{margin:0}.chip-stat{background:var(--bg-sunk);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.theme-toggle{border:1px solid var(--border);background:var(--bg-elev);cursor:pointer;border-radius:10px;place-items:center;width:36px;height:36px;padding:0;font-size:1rem;display:grid}.theme-toggle:hover{border-color:var(--accent-ink)}.vip-badge{color:#3b2a00;white-space:nowrap;background:linear-gradient(135deg,#ffe08a,#ffc23d);border:1px solid #f0b429;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:.82rem;font-weight:800;display:inline-flex;box-shadow:0 2px 10px #ffc23d59}.vip-badge:hover{filter:brightness(1.05);text-decoration:none}.vip-chip{color:#3b2a00;background:linear-gradient(135deg,#ffe08a,#ffc23d);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.vip-card{background:radial-gradient(600px 200px at 0% 0%, #ffc23d2e, transparent 70%), var(--bg-elev);border:1px solid #f0b429;position:relative;overflow:hidden}.vip-card h2{margin:0 0 6px}.vip-perks{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;margin-top:16px;display:grid}.vip-perk{background:var(--bg-sunk);border:1px solid var(--border);color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.vip-perk:hover{border-color:#f0b429;text-decoration:none}.vip-perk span:first-child{font-size:1.3rem}.chip-stat:hover{border-color:var(--accent-ink);text-decoration:none}@media (max-width:1023.98px){.header-inner{gap:10px}.header-auth{margin-left:auto}.header-auth .hide-md{display:none}}@media (max-width:820px){.hide-sm{display:none}}@media (max-width:480px){.header-inner{gap:6px;height:60px}.logo{gap:8px;font-size:1.05rem}.logo .logo-mark{width:26px;height:26px}.header-auth{gap:4px}.header-auth .btn-sm{padding:6px 10px;font-size:.85rem}.theme-toggle{width:32px;height:32px}.header-auth .hide-xs{display:none}}@media (max-width:360px){.header-inner .logo{gap:6px;font-size:1.35rem}.header-inner .logo .logo-mark{width:22px;height:22px}}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-weight:700;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,transform .1s,box-shadow .2s;display:inline-flex}.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 8px 30px #a6ff4d47}.btn-ghost{background:var(--bg-elev);color:var(--text);border-color:var(--border)}.btn-link{color:var(--text-muted);background:0 0;padding-left:8px;padding-right:8px}.btn-link:hover{color:var(--text)}.btn-sm{border-radius:10px;padding:7px 13px;font-size:.9rem}.btn-lg{border-radius:14px;padding:16px 28px;font-size:1.08rem}.btn-block{width:100%}@media (max-width:480px){.btn{white-space:normal;text-align:center}.btn-lg{padding:14px 20px}}.btn-oauth{color:#1f2333;border-color:var(--border);background:#fff}.btn-oauth:hover{background:#eef0f7}.btn-github{color:#fff;background:#24292f;border-color:#3b424c}.btn-github:hover{background:#2f363d}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card-link{color:inherit;transition:border-color .15s,transform .15s;display:block}.card-link:hover{border-color:var(--accent-ink);text-decoration:none;transform:translateY(-2px)}.badge{background:var(--bg-sunk);color:var(--text-muted);white-space:nowrap;border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success);border-color:#0000}.badge-accent{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.badge-soon{color:var(--text-muted);background:0 0;border-style:dashed}.badge-Easy{background:var(--success-soft);color:var(--success);border-color:#0000}.badge-Medium{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge-Hard{background:var(--danger-soft);color:var(--danger);border-color:#0000}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.hero{padding:72px 0 64px;position:relative;overflow-x:clip}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}@media (max-width:960px){.hero-grid{grid-template-columns:1fr}}.hero h1{margin-bottom:20px}.hero .lead{max-width:580px;margin-bottom:30px}.hero-cta{flex-wrap:wrap;gap:12px;display:flex}.trust{color:var(--text-muted);flex-wrap:wrap;gap:8px 20px;margin-top:22px;font-size:.9rem;display:flex}.trust span:before{content:"✓ ";color:var(--accent-ink);font-weight:800}.glow{pointer-events:none;z-index:-1;background:radial-gradient(600px 300px at 20% 30%,#a6ff4d21,#0000 70%),radial-gradient(500px 300px at 80% 20%,#4de8ff1f,#0000 70%),radial-gradient(500px 280px at 60% 70%,#b693ff1f,#0000 70%);height:640px;position:absolute;inset:-20% -10% auto}.terminal{background:var(--code-bg);border:1px solid var(--border);border-radius:18px;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000080,0 0 0 1px #a6ff4d0f}.terminal-bar{border-bottom:1px solid var(--border);background:#151935;align-items:center;gap:7px;padding:12px 14px;display:flex}.terminal-bar i{border-radius:50%;width:11px;height:11px;display:block}.terminal-bar i:first-child{background:#ff6b6b}.terminal-bar i:nth-child(2){background:#ffd166}.terminal-bar i:nth-child(3){background:#5ef08a}.terminal-bar span{font-family:var(--font-mono);color:var(--text-muted);margin-left:8px;font-size:.78rem}.terminal pre{color:var(--code-text);white-space:pre-wrap;min-height:300px;margin:0;padding:20px;font-size:.92rem;line-height:1.75}.t-dim{color:#6b7399}.t-acc{color:#a6ff4d}.t-cy{color:#4de8ff}.t-vi{color:#b693ff}.t-pk{color:#ff7ac6}.cursor{background:var(--accent);vertical-align:text-bottom;width:9px;height:1.1em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.float{font-family:var(--font-mono);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:800;animation:6s ease-in-out infinite float;position:absolute}@keyframes float{0%,to{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-14px) rotate(var(--r,0deg))}}@media (prefers-reduced-motion:reduce){.float,.cursor{animation:none}html{scroll-behavior:auto}}.feature-icon{margin-bottom:10px;font-size:1.8rem;line-height:1}.audience{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;display:grid}.audience .card{padding:20px}.steps{counter-reset:s}.step-card{padding-top:52px;position:relative}.step-card:before{counter-increment:s;content:"0" counter(s);font-family:var(--font-mono);color:var(--accent-ink);font-size:.9rem;font-weight:800;position:absolute;top:18px;left:24px}.tree{gap:28px;display:grid}.phase{padding-left:34px;position:relative}.phase:before{content:"";background:linear-gradient(var(--border), var(--border));width:2px;position:absolute;top:30px;bottom:-28px;left:11px}.phase:last-child:before{display:none}.phase-dot{background:var(--bg-sunk);border:2px solid var(--accent);width:24px;height:24px;box-shadow:0 0 0 5px var(--accent-soft);border-radius:50%;position:absolute;top:4px;left:0}.phase h3{font-size:1.05rem;font-family:var(--font-mono);color:var(--accent-ink);letter-spacing:0;margin:0 0 14px}.nodes{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;display:grid}.node{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s,transform .15s;display:flex}.node:hover{border-color:var(--accent-ink);text-decoration:none;transform:translateY(-2px)}.node .ring{--p:0;width:46px;height:46px;font-size:.75rem;font-weight:800;font-family:var(--font-mono);background:radial-gradient(closest-side, var(--bg-elev) 76%, transparent 78% 100%), conic-gradient(var(--accent) calc(var(--p) * 1%), var(--bg-sunk) 0);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.node .ring.empty{color:var(--text-muted)}.node strong{font-size:.97rem;line-height:1.3;display:block}.node .meta{color:var(--text-muted);font-size:.8rem}.price-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:stretch;gap:18px;max-width:1040px;margin:0 auto;display:grid}.price-card{flex-direction:column;gap:12px;display:flex;position:relative}.price{letter-spacing:-.03em;font-size:2.7rem;font-weight:900;line-height:1}.price span{color:var(--text-muted);letter-spacing:0;font-size:1rem;font-weight:600}.price-note{color:var(--accent-ink);min-height:1.4em;font-size:.9rem;font-weight:700}.checklist{margin:0 0 8px;padding:0;list-style:none}.checklist li{padding:5px 0 5px 28px;position:relative}.checklist li:before{content:"✓";color:var(--accent-ink);font-weight:900;position:absolute;left:2px}.ribbon{background:var(--accent);color:var(--accent-text);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:800;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.guarantee{border:1px dashed var(--border);max-width:640px;color:var(--text-muted);border-radius:14px;justify-content:center;align-items:center;gap:14px;margin:28px auto 0;padding:16px 20px;font-size:.95rem;display:flex}.guarantee strong{color:var(--text)}details.faq{border-bottom:1px solid var(--border);padding:18px 0}details.faq summary{cursor:pointer;justify-content:space-between;gap:12px;font-size:1.05rem;font-weight:700;list-style:none;display:flex}details.faq summary:after{content:"+";color:var(--accent-ink);font-weight:800}details.faq[open] summary:after{content:"−"}details.faq p{color:var(--text-muted);margin:12px 0 0}.cta-banner{text-align:center;border:1px solid var(--border);background:radial-gradient(500px 220px at 50% 0%, #a6ff4d29, transparent 70%), var(--bg-elev);border-radius:24px;padding:56px 24px}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li a,.lesson-list li>div{color:var(--text);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.lesson-list li a:hover{background:var(--bg-sunk);text-decoration:none}.lesson-list .num{background:var(--bg-sunk);width:28px;height:28px;font-size:.8rem;font-weight:800;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.lesson-list .num.done{background:var(--accent);color:var(--accent-text)}.lesson-list .title{flex:1}.lesson-list .planned{color:var(--text-muted)}.progress{background:var(--bg-sunk);border-radius:99px;height:8px;overflow:hidden}.progress>div{background:var(--grad);border-radius:99px;height:100%;transition:width .4s}.lesson-layout{grid-template-columns:290px minmax(0,1fr);gap:32px;padding:32px 0 64px;display:grid}.lesson-side{align-self:start;max-height:calc(100vh - 116px);position:sticky;top:92px;overflow:auto}.lesson-main{flex-direction:column;gap:28px;min-width:0;display:flex}.chapter-bar,.chapter-sheet-wrap{display:none}@media (max-width:960px){.lesson-layout{grid-template-columns:1fr;padding-top:16px}.lesson-side{display:none}body:has(.chapter-bar){padding-bottom:calc(72px + env(safe-area-inset-bottom))}.chapter-bar{z-index:40;padding:10px 14px calc(12px + env(safe-area-inset-bottom));background:var(--bg-elev);border-top:2px dashed var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;transition:transform .25s;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000000f}.chapter-bar.is-hidden{transform:translateY(115%)}.chapter-btn.btn{min-height:44px;padding:9px 16px}.chapter-btn[aria-disabled=true]{opacity:.4;pointer-events:none}.chapter-mid{min-width:0;font:inherit;color:var(--blue);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:4px 0;display:flex}.chapter-label{white-space:nowrap;align-items:center;gap:6px;font-size:1.35rem;font-weight:700;line-height:1;display:inline-flex}.chapter-caret{border-top:2.5px solid;border-left:2.5px solid;width:8px;height:8px;margin-left:3px;transform:translateY(3px)rotate(45deg)}.chapter-track{background:var(--bg-sunk);border-radius:99px;width:min(100%,120px);height:5px;overflow:hidden}.chapter-track>span{background:var(--accent);border-radius:99px;height:100%;display:block}.chapter-sheet-wrap{z-index:50;pointer-events:none;display:block;position:fixed;inset:0}.chapter-sheet-wrap.is-open{pointer-events:auto}.chapter-backdrop{opacity:0;background:#0006;transition:opacity .2s;position:absolute;inset:0}.is-open .chapter-backdrop{opacity:1}.chapter-sheet{background:var(--bg-elev);border:2px solid var(--border);max-height:75vh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;transition:transform .25s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.is-open .chapter-sheet{transform:none}.chapter-grip{background:var(--border);border-radius:99px;align-self:center;width:44px;height:5px;margin-top:10px}.chapter-sheet-head{border-bottom:2px dashed var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px 12px;display:flex}.chapter-sheet-title{color:var(--crayon);margin:0;font-size:1.5rem;font-weight:700;line-height:1.1}.chapter-sheet-close{background:var(--bg-sunk);width:40px;height:40px;color:var(--text);cursor:pointer;border:0;border-radius:50%;font-size:1rem}.chapter-sheet-list{overscroll-behavior:contain;padding:6px;position:relative;overflow:auto}.chapter-sheet-list .lesson-list{grid-template-columns:1fr;gap:2px}}@media (max-width:360px){.chapter-of{display:none}.chapter-btn.btn{padding:9px 12px}}.lesson-nav{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.lesson-nav .btn{white-space:normal;text-align:left}.video{aspect-ratio:16/9;border-radius:var(--radius);background:var(--code-bg);border:1px solid var(--border);position:relative;overflow:hidden}.video iframe,.video video{border:0;width:100%;height:100%;position:absolute;inset:0}.video-placeholder{text-align:center;color:var(--text-muted);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.prose{font-size:1.05rem}.prose h2{margin-top:1.7em;font-size:clamp(1.35rem,3vw,1.7rem)}.prose h3{margin-top:1.4em}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.3em 0}.prose code{background:var(--bg-sunk);color:var(--text);border-radius:6px;padding:.12em .42em;font-size:.9em}.prose pre,.code-block{background:var(--code-bg);color:var(--code-text);border:1px solid var(--border);border-radius:12px;margin:0 0 1em;padding:16px;font-size:.9rem;line-height:1.6;overflow-x:auto}.prose pre code,.code-block code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 10px 10px 0;margin:0 0 1em;padding:10px 18px}.prose blockquote p:last-child{margin:0}.prose table{border-collapse:collapse;width:100%;margin-bottom:1em;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:8px 12px}.prose th{background:var(--bg-sunk)}.exercise,.quiz{flex-direction:column;gap:16px;display:flex}.exercise-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.exercise-head h2{margin:0;font-size:1.3rem}.workbench{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}@media (max-width:900px){.workbench{grid-template-columns:1fr}}.wb-pane{border:1px solid var(--border);background:#282c34;border-radius:12px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.wb-toolbar{background:#1c1f38;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.wb-lang{color:#c9cbe0;font-size:.85rem;font-weight:700;font-family:var(--font-mono);padding-left:6px}.wb-actions{gap:6px;display:flex}.wb-toolbar .btn-ghost{color:#d7d9ea;background:0 0;border-color:#3b3e5a}.tabs{gap:4px;display:flex}.tab{color:#9ea1b8;font:inherit;cursor:pointer;font-size:.82rem;font-weight:800;font-family:var(--font-mono);background:0 0;border:0;border-radius:6px;padding:6px 10px}.tab.active{color:#fff;background:#383b5f}.editor{flex:1;min-height:260px;font-size:14px}.editor .cm-editor{height:100%}.editor-loading{color:#8f92a8;font-family:var(--font-mono);padding:16px}.wb-output{background:var(--code-bg)}.preview{border:0;border-bottom:1px solid var(--border);background:#fff;width:100%;min-height:240px}.console{font-family:var(--font-mono);flex:1;min-height:80px;max-height:360px;padding:12px;font-size:.86rem;overflow:auto}.console .muted{font-family:var(--font-sans)}.log{white-space:pre-wrap;word-break:break-word;margin:0;padding:2px 0}.log-error{color:var(--danger);background:var(--danger-soft);border-radius:8px;margin-top:6px;padding:8px 10px}.explain{background:var(--warn-soft);color:var(--text);font-family:var(--font-sans);border-radius:10px;margin:8px 0 0;padding:10px 12px;font-size:.9rem;line-height:1.5}.explain code,.nudge code{background:#7f7f7f33;border-radius:5px;padding:.05em .35em}.nudge{color:var(--text-muted);margin:4px 0 8px;font-size:.88rem}.tests{border-top:1px solid var(--border);padding:12px;font-size:.9rem}.tests-head{margin-bottom:6px;font-weight:800}.tests-pass .tests-head{color:var(--success)}.tests ul{margin:0;padding:0;list-style:none}.tests li{padding:3px 0}.tests li.pass span{color:var(--success)}.tests li.fail span{color:var(--danger)}.test-msg{color:var(--text-muted);font-family:var(--font-mono);margin-left:18px;font-size:.8rem}.table-wrap{overflow-x:auto}.result-table{border-collapse:collapse;font-size:.82rem}.result-table th,.result-table td{border:1px solid var(--border);text-align:left;padding:5px 10px}.result-table th{background:var(--bg-sunk)}.hint{background:var(--warn-soft);border-radius:10px;margin:0 0 8px;padding:10px 14px}.solution{margin-top:12px}.notice{background:var(--accent-soft);border-radius:10px;margin:0;padding:10px 14px}.exercise-help{flex-direction:column;gap:8px;display:flex}.celebrate{background:var(--success-soft);color:var(--text);border:1px solid #5ef08a59;border-radius:12px;padding:14px 16px;font-weight:700;animation:.35s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.quiz-list{flex-direction:column;gap:18px;margin:0;padding-left:1.2em;display:flex}.quiz-prompt{margin-bottom:8px;font-weight:700}.quiz-options{gap:8px;display:grid}.quiz-opt{text-align:left;background:var(--bg-sunk);border:1px solid var(--border);font:inherit;color:var(--text);cursor:pointer;border-radius:12px;padding:11px 14px}.quiz-opt.chosen{border-color:var(--accent-ink);background:var(--accent-soft)}.quiz-opt.right{border-color:var(--success);background:var(--success-soft)}.quiz-opt.wrong{border-color:var(--danger);background:var(--danger-soft)}.quiz-opt:disabled{cursor:default}.quiz-explain{color:var(--text-muted);margin:8px 0 0;font-size:.92rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--bg-elev);border:1px solid var(--border);font:inherit;cursor:pointer;color:var(--text);border-radius:999px;padding:5px 12px;font-size:.82rem}.chip:hover:not(:disabled){border-color:var(--violet);color:var(--violet)}.form{flex-direction:column;gap:14px;display:flex}label{flex-direction:column;gap:6px;font-size:.92rem;font-weight:700;display:flex}input,textarea,select{font:inherit;border:1px solid var(--border);background:var(--bg-sunk);color:var(--text);border-radius:12px;width:100%;padding:11px 13px;font-weight:400}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.form-error{background:var(--danger-soft);color:var(--danger);border-radius:10px;margin:0;padding:10px 14px}.auth-wrap{max-width:440px;margin:56px auto}.divider{color:var(--text-muted);align-items:center;gap:12px;margin:6px 0;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters a{border:1px solid var(--border);color:var(--text);background:var(--bg-elev);border-radius:999px;padding:6px 14px;font-size:.9rem}.filters a.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent-ink);font-weight:700}.filters a:hover{border-color:var(--accent-ink);text-decoration:none}.q-row{border-bottom:1px solid var(--border);color:var(--text);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 16px;display:flex}.q-row:hover{background:var(--bg-sunk);text-decoration:none}.q-row .title{flex:200px;min-width:0;font-weight:600}.paywall{text-align:center;padding:48px 24px}.paywall .lock{font-size:2.4rem}.level-card{grid-template-columns:auto 1fr;align-items:center;gap:18px;display:grid}.level-emoji{background:var(--accent-soft);border-radius:20px;place-items:center;width:72px;height:72px;font-size:2.6rem;display:grid}.levels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.levels span{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:.75rem}.levels span.on{border-color:var(--accent-ink);color:var(--accent-ink)}.heat{grid-template-rows:repeat(7,11px);grid-auto-flow:column;gap:3px;padding-bottom:4px;display:grid;overflow-x:auto}.heat i{background:var(--bg-sunk);border-radius:3px;width:11px;height:11px;display:block}.heat i[data-l="1"]{background:var(--heat-1)}.heat i[data-l="2"]{background:var(--heat-2)}.heat i[data-l="3"]{background:var(--heat-3)}.heat i[data-l="4"]{background:var(--heat-4)}.big-stat{letter-spacing:-.02em;margin:4px 0 6px;font-size:2rem;font-weight:900}.site-footer{border-top:1px solid var(--border);margin-top:48px;padding:44px 0 28px}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:24px;margin-bottom:16px;display:flex}.footer-links{flex-wrap:wrap;gap:18px;display:flex}.footer-links a{color:var(--text-muted)}.pg-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.pg-tabs button{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:8px 16px;font-weight:700}.pg-tabs button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent-ink)}.playground .editor{min-height:420px}.playground .console{max-height:520px}.lesson-body>div>:last-child{margin-bottom:1em}.runner{border:1px solid var(--border);background:#282c34;border-radius:12px;margin:0 0 1.4em;font-size:.95rem;overflow:hidden}.runner .editor{min-height:0}.runner-out{background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono);border-top:1px solid #2c3150;padding:10px 12px;font-size:.86rem}.runner-out .muted{font-family:var(--font-sans)}.runner .stepper.embedded{border-top:1px solid var(--border);border-radius:0;margin:0}.video-optional{margin:0}.video-optional summary{cursor:pointer;color:var(--text-muted);margin-bottom:10px;font-weight:700}.practice{flex-direction:column;gap:16px;display:flex}.step-dots{flex-wrap:wrap;gap:8px;display:flex}.step-dot{border:2px solid var(--border);background:var(--bg-sunk);width:36px;height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:50%;font-weight:800}.step-dot.done{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.step-dot:disabled{opacity:.4;cursor:not-allowed}.step{flex-direction:column;gap:14px;display:flex}.viz-wrap{margin:0 0 1.4em}.viz-wrap figcaption{margin-top:6px}.viz{border:1px solid var(--border);background:var(--bg-elev);border-radius:14px;flex-direction:column;gap:12px;padding:16px;font-size:.95rem;display:flex}.viz-title{font-weight:800}.viz-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.72rem;font-weight:800;font-family:var(--font-mono);margin:6px 0 4px}.viz-readout{margin:0}.viz-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.viz-controls input,.viz-controls select{width:auto;padding:6px 10px}.viz-log{background:var(--code-bg);color:var(--code-text);white-space:pre-wrap;border-radius:10px;margin:0;padding:10px 12px;font-size:.82rem}.viz-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;display:grid}.viz-choice{gap:4px;font-size:.82rem;font-weight:600}.viz-choice select,.viz-choice input[type=range]{padding:6px 8px}.bits{flex-wrap:wrap;gap:6px;display:flex}.bit{border:2px solid var(--border);background:var(--bg-sunk);width:46px;color:var(--text);cursor:pointer;font:inherit;border-radius:10px;flex-direction:column;align-items:center;padding:8px 0 4px;display:flex}.bit span{font-family:var(--font-mono);font-size:1.3rem;font-weight:800}.bit small{color:var(--text-muted);font-size:.7rem}.bit.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.bit.on small{color:var(--accent-text)}.cells,.viz-stack,.queue{flex-wrap:wrap;align-items:flex-end;gap:6px;display:flex}.viz-stack{flex-direction:column;align-items:flex-start}.cell{border:2px solid var(--border);background:var(--bg-sunk);border-radius:10px;flex-direction:column;align-items:center;min-width:52px;padding:8px 10px 4px;transition:transform .2s,border-color .2s,opacity .2s;display:flex}.cell-val{font-family:var(--font-mono);font-size:1.05rem;font-weight:800}.cell-idx{font-family:var(--font-mono);color:var(--text-muted);font-size:.7rem}.cell.flash{border-color:var(--accent-ink);transform:translateY(-3px)}.cell.found{border-color:var(--success);background:var(--success-soft)}.cell.out{opacity:.3}.bars{background:var(--bg-sunk);border-radius:10px;align-items:flex-end;gap:4px;height:170px;padding:6px;display:flex}.bar{background:var(--link);border-radius:6px 6px 2px 2px;flex:1;min-height:18px;transition:height .25s,background .2s;position:relative}.bar span{text-align:center;color:#fff;font-size:.7rem;font-weight:800;position:absolute;bottom:2px;left:0;right:0}.bar.compare{background:var(--warn)}.bar.swap{background:var(--pink)}.bar.done{background:var(--success)}.buckets{gap:6px;display:grid}.bucket{background:var(--bg-sunk);border:1px solid #0000;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;padding:6px 8px;display:flex}.bucket.target{border-color:var(--accent-ink)}.bucket-idx{font-family:var(--font-mono);color:var(--text-muted);width:20px;font-weight:800}.pair{font-family:var(--font-mono);background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.85rem}.pair.flash{border-color:var(--accent-ink)}.bigo{color:var(--text-muted);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:14px;display:grid}@media (max-width:640px){.bigo{grid-template-columns:1fr}}.flex-stage{background:var(--bg-sunk);border:2px dashed var(--border);border-radius:10px;min-height:170px;padding:10px}.flex-item{background:var(--violet);color:var(--on-violet);border-radius:8px;place-items:center;padding:6px;font-weight:800;display:grid}.box-stage{padding:4px 0;overflow-x:auto}.bm-margin{background:#ffd16640;border-radius:4px;display:inline-block;position:relative}.bm-border{border-style:solid;border-color:var(--pink);background:#5ef08a38;position:relative}.bm-content{text-align:center;background:#4da8ff59;padding:14px 6px;font-size:.85rem;font-weight:700}.bm-tag{font-size:.62rem;font-family:var(--font-mono);color:var(--text-muted);position:absolute;top:1px;left:4px}.join-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;display:grid}.result-table tr.match td{background:var(--success-soft)}.result-table tr.nomatch td{opacity:.45}.result-table tr.nullrow td{background:var(--warn-soft)}.stepper.embedded{border:0;border-radius:0}.stepper-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;display:grid}@media (max-width:760px){.stepper-grid{grid-template-columns:1fr}}.stepper-code{background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono);border-radius:10px;margin:0;padding:8px 0;font-size:.85rem;list-style:none;overflow-x:auto}.stepper-code li{white-space:pre;border-left:3px solid #0000;gap:10px;padding:1px 10px;display:flex}.stepper-code .ln{color:#5d6488;text-align:right;-webkit-user-select:none;user-select:none;min-width:1.6em}.stepper-code li.now{background:#a6ff4d29;border-left-color:#a6ff4d}.stepper-code li.ret{background:#b693ff2e;border-left-color:#b693ff}.stepper-code li.was{background:#ffffff0a;border-left-color:#5d6488}.stepper-side{min-width:0}.frames{flex-wrap:wrap;gap:6px;display:flex}.frames span{font-family:var(--font-mono);background:var(--bg-sunk);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:.8rem}.frames span.on{border-color:var(--accent-ink);color:var(--accent-ink);font-weight:700}.vars{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:.82rem}.vars th,.vars td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:4px 8px}.vars th{color:var(--text-muted);white-space:nowrap;width:1%;font-weight:600}.vars td{word-break:break-word}.vars tr.changed td{background:var(--accent-soft);color:var(--accent-ink);font-weight:700;transition:background .3s}.stepper-out{background:var(--code-bg);color:var(--code-text);white-space:pre-wrap;border-radius:8px;min-height:2.2em;margin:0;padding:8px 10px;font-size:.82rem}.stepper-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stepper-note{background:var(--accent-soft);border-radius:10px;margin:0;padding:10px 12px}.key.now{color:#7ed321}.key.was{color:#5d6488}.wb-output,.runner-out{color:var(--code-text)}.wb-output .muted,.runner-out .muted,.wb-output .test-msg{color:#9aa3c2}.wb-output .tests{border-top-color:#2c3150}.wb-output .nudge{color:#b7bfdc}.wb-output .explain,.runner-out .explain{color:var(--code-text);background:#ffd16624}.prose .runner pre.log,.prose .runner-out pre{color:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:2px 0}.prose .runner pre.log-error{color:#ff9b9b;background:#ff7b7b24;border-radius:8px;margin-top:6px;padding:8px 10px}.wb-output .log-error,.runner-out .log-error{color:#ff9b9b;background:#ff7b7b24}.wb-output .tests li.pass span,.wb-output .tests-pass .tests-head{color:#5ef08a}.wb-output .tests li.fail span{color:#ff8a8a}.wb-output .result-table th{background:#1a1f38}.wb-output .result-table th,.wb-output .result-table td{border-color:#2c3150}.runner-out .result-table th{background:#1a1f38}.runner-out .result-table th,.runner-out .result-table td{border-color:#2c3150}.stepper-code code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}code,pre,.cm-editor,.cm-content,.terminal,.stepper-code{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}.video-teaser{border:1px dashed var(--border);background:var(--bg-elev);color:var(--text-muted);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.video-teaser>span:first-child{font-size:1.5rem}.video-teaser>span:nth-child(2){flex:260px}.video-teaser strong{color:var(--text)}.price-grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));max-width:1180px}.price-grid-4 .price{font-size:2.3rem}.checklist li.plus{color:var(--text-muted);padding-left:0;font-weight:700}.checklist li.plus:before{content:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.redeem-row{gap:8px;display:flex}.redeem-row input{text-transform:uppercase;font-family:var(--font-mono);letter-spacing:.04em;flex:1}.redeem-inline{flex-direction:column;gap:8px;display:flex}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.admin-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 14px}.admin-table th{background:var(--bg-sunk);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.8rem}.coupon-code{background:var(--accent-soft);color:var(--accent-ink);border-radius:6px;padding:2px 8px;font-size:.95rem;font-weight:800}.expiry-form{align-items:center;gap:6px;display:flex}.expiry-form input{width:auto;padding:6px 8px}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn-danger:hover:not(:disabled){border-color:var(--danger)}.tviz{border:1px solid var(--border);background:var(--bg-sunk);border-radius:12px;flex-wrap:wrap;gap:14px 22px;margin-top:12px;padding:12px;display:flex}.tviz-item{min-width:0;max-width:100%}.tviz-name{font-family:var(--font-mono);margin-bottom:4px;font-size:.8rem;font-weight:700}.tviz-arr{flex-wrap:wrap;gap:3px;padding-bottom:18px;display:flex}.tviz-cell{flex-direction:column;align-items:center;min-width:34px;display:flex;position:relative}.tviz-i{color:var(--text-muted);font-size:.65rem}.tviz-v{text-align:center;min-width:34px;font-family:var(--font-mono);border:1px solid var(--border);background:var(--bg-elev);white-space:nowrap;border-radius:6px;padding:6px;font-size:.85rem;display:block}.tviz-cell.ptr .tviz-v,.tviz-node.ptr .tviz-v{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.tviz-p{font-size:.68rem;font-family:var(--font-mono);color:var(--accent-ink);white-space:nowrap;font-weight:700;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tviz .chg .tviz-v,.tviz-grid td.chg,.tviz-chip.chg{background:var(--warn-soft);border-color:var(--warn);animation:.4s tviz-pop}@keyframes tviz-pop{0%{transform:scale(1.15)}to{transform:scale(1)}}.tviz-grid{border-collapse:collapse;font-family:var(--font-mono);font-size:.8rem}.tviz-grid td{border:1px solid var(--border);text-align:center;background:var(--bg-elev);min-width:28px;padding:4px 7px}.tviz-grid td.here{outline:2px solid var(--accent);outline-offset:-2px}.tviz-chips{flex-wrap:wrap;gap:4px;max-width:520px;display:flex}.tviz-chip{border:1px solid var(--border);font-family:var(--font-mono);background:var(--bg-elev);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:.78rem;display:inline-flex}.tviz-chip b{color:var(--accent-ink);font-weight:700}.tviz-ll{flex-wrap:wrap;align-items:center;gap:2px;padding-bottom:18px;display:flex}.tviz-node-wrap{align-items:center;gap:2px;display:flex}.tviz-node{position:relative}.tviz-arrow{color:var(--text-muted)}.tviz-tree line{stroke:var(--text-muted);stroke-width:1.5px}.tviz-tree circle{fill:var(--bg-elev);stroke:var(--border);stroke-width:1.5px}.tviz-tree text{font-family:var(--font-mono);fill:var(--text);font-size:12px}.tviz-tree g.ptr circle{stroke:var(--accent);stroke-width:3px}.tviz-tree .tviz-tree-p{fill:var(--accent-ink);font-size:10px;font-weight:700}.flow-nodes{flex-wrap:wrap;align-items:stretch;gap:6px 0;margin:8px 0 12px;display:flex}.flow-cell{align-items:center;display:flex}.flow-node{border:1.5px solid var(--border);background:var(--bg-elev);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:92px;max-width:140px;padding:10px 8px;transition:all .25s;display:flex}.flow-icon{font-size:1.4rem}.flow-label{font-size:.85rem;font-weight:700}.flow-note{color:var(--text-muted);font-size:.7rem}.flow-node.from{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb, var(--cyan) 30%, transparent)}.flow-node.to{border-color:var(--accent-ink);background:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-2px)}.flow-node.pass{border-style:dashed;border-color:var(--text-muted)}.flow-link{text-align:center;width:22px;color:var(--text-muted);font-size:.8rem}.flow-link.on{color:var(--accent-ink);font-weight:700}.flow-caption{background:var(--bg-sunk);border-radius:10px;min-height:2.6em;margin-bottom:8px;padding:10px 12px}.flow-steps{margin:10px 0 0;padding-left:1.4em;font-size:.85rem}.flow-steps li{color:var(--text-muted);margin:2px 0}.flow-steps li.done{color:var(--text)}.flow-steps li.on{color:var(--text);font-weight:700}.flow-steps button{all:unset;cursor:pointer;display:block}.flow-steps button:focus-visible{outline:2px solid var(--accent)}.filters button{border:1px solid var(--border);color:var(--text);font:inherit;background:var(--bg-elev);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.9rem}.filters button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent-ink);font-weight:700}.stack-sm{flex-direction:column;gap:10px;display:flex}.vs-input{flex-direction:column;gap:6px;display:flex}.vs-example{min-width:220px;font-family:var(--font-mono);border:1px solid var(--border);background:var(--code-bg);color:var(--code-text);resize:vertical;border-radius:10px;flex:1;padding:8px 10px;font-size:.85rem}.ab-points{flex-direction:column;gap:6px;margin:8px 0 12px;padding-left:0;list-style:none;display:flex}.ab-points li{border:1px solid var(--border);background:var(--bg-sunk);border-radius:10px;padding:10px 12px;animation:.3s tviz-pop}.ab-points li.hit{border-color:var(--success);background:var(--success-soft)}.ab-points label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.ab-points input{accent-color:var(--success);margin-top:4px}.ab-score{margin:0;font-weight:600}.predict-code{background:var(--code-bg);color:var(--code-text);border-radius:10px;padding:12px 14px;font-size:.88rem;overflow-x:auto}.predict-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.predict-opt{text-align:left;border:1.5px solid var(--border);background:var(--bg-elev);color:var(--text);cursor:pointer;font:inherit;border-radius:10px;padding:10px 12px}.predict-opt pre{font-family:var(--font-mono);white-space:pre-wrap;margin:0;font-size:.85rem}.predict-opt:hover:not(:disabled){border-color:var(--accent-ink)}.predict-opt.right{border-color:var(--success);background:var(--success-soft)}.predict-opt.wrong{border-color:var(--danger);background:var(--danger-soft)}.predict-opt.dim{opacity:.55}.predict-opt:disabled{cursor:default}.star-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.star-part textarea{border:1px solid var(--border);background:var(--bg-sunk);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:8px 10px}.star-letter{background:var(--grad);width:24px;height:24px;color:var(--accent-text);border-radius:7px;place-items:center;font-size:.8rem;font-weight:800;display:inline-grid}.star-example{border-left:3px solid var(--violet);background:var(--bg-sunk);border-radius:8px;margin-top:6px;padding:10px 12px;font-size:.9rem}.check-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.check-list input{accent-color:var(--success)}.sql-step-label{align-items:center;gap:8px;margin-bottom:6px;font-weight:600;display:flex}.iv-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.iv-tabs button{all:unset;cursor:pointer;color:var(--text-muted);border-bottom:2px solid #0000;padding:10px 14px;font-weight:600}.iv-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent-ink)}.iv-tabs button:focus-visible{outline:2px solid var(--accent)}.learn-card{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex}.learn-card:hover{border-color:var(--accent-ink);text-decoration:none}.learn-card .learn-icon{font-size:1.4rem}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.topic-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);color:var(--text);flex-direction:column;gap:6px;padding:18px;transition:transform .15s,border-color .15s;display:flex}.topic-card:hover{border-color:var(--accent-ink);text-decoration:none;transform:translateY(-2px)}.topic-card .topic-icon{font-size:1.8rem}.topic-card h3{margin:0;font-size:1.1rem}.q-rank{font-family:var(--font-mono);color:var(--text-muted);text-align:right;min-width:2.4em;font-size:.8rem}.freq-Very{background:var(--danger-soft);color:var(--danger)}.freq-Common{background:var(--warn-soft);color:var(--warn)}.freq-Good{background:var(--bg-sunk);color:var(--text-muted)}.lesson-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.ab-points input,.check-list input{width:auto}body .container{padding-left:16px;padding-right:16px}@media (min-width:768px){body .container{padding-left:24px;padding-right:24px}}@media (max-width:640px){.hero{padding-top:32px;padding-bottom:40px}}@media (min-width:641px) and (max-width:1100px){.section{padding-top:48px;padding-bottom:64px}}.prose>:last-child{margin-bottom:0}.editor-static{font-family:var(--font-mono);color:var(--code-text);background:var(--code-bg);white-space:pre;min-height:inherit;margin:0;padding:12px 16px;font-size:14px;line-height:1.5;overflow-x:auto}@media (max-width:640px){.flow-nodes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.flow-cell{display:block}.flow-link{display:none}.flow-node{min-width:0;max-width:none;height:100%;padding:8px 4px}.flow-label{font-size:.78rem}}.footer-legal{flex-wrap:wrap;align-items:center;gap:6px 18px;display:flex}.footer-legal a{color:var(--text-muted)}.legal h2{margin-top:1.6em;font-size:1.15rem}.checkout-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:20px;margin-top:16px;display:grid}@media (max-width:820px){.checkout-grid{grid-template-columns:1fr}}.checkout-box{min-height:120px}#checkout-form{background:#fff;border-radius:12px;padding:4px}#checkout-form:empty{display:none}.compare{max-width:640px;margin:28px auto 0}.compare-table{border-collapse:collapse;width:100%}.compare-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 4px}.compare-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.compare-total td{color:var(--text-muted);font-weight:700}.compare-us td{background:color-mix(in srgb, var(--accent) 14%, transparent);border-bottom:0}.compare-us td:first-child{border-radius:10px 0 0 10px;padding-left:10px}.compare-us td:last-child{border-radius:0 10px 10px 0;padding-right:10px;font-size:1.15rem}.paywall-price{flex-direction:column;align-items:center;gap:6px;margin:0 auto 20px;display:flex}.unlock-row{background:color-mix(in srgb, var(--accent) 12%, transparent);border-bottom:1px solid var(--border);color:var(--text);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.unlock-row>span:nth-child(2){flex:1;min-width:200px}.unlock-row:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}.price-was{color:var(--text-muted);vertical-align:middle;margin-right:8px;font-size:.5em;font-weight:700}h1 .grad,h2 .grad{font-style:italic}.eyebrow{font-family:var(--font-sans);letter-spacing:.1em;color:var(--crayon)}.btn-gold{color:#3b2a00;background:linear-gradient(135deg,#ffe08a,#ffc23d);border:1px solid #f0b429;font-weight:800;box-shadow:0 4px 16px #ffc23d59}.btn-gold:hover{filter:brightness(1.05);text-decoration:none}.btn-gold:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.model{gap:16px}.model-inputs{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px 20px;display:grid}.model-input{flex-direction:column;gap:6px;font-size:.9rem;display:flex}.model-input-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.model-input-head strong{font-variant-numeric:tabular-nums;white-space:nowrap}.model-input input[type=range]{width:100%;accent-color:var(--accent);touch-action:pan-y;height:28px;margin:0}.model-outputs{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;display:grid}.model-out{background:var(--bg-sunk);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.model-out strong{font-variant-numeric:tabular-nums;font-size:1.3rem}.model-out.big strong{color:var(--success);font-size:1.7rem}.model-out.neg strong,.model-out strong.neg,.model-bar strong.neg{color:var(--danger)}.model-out-label{color:var(--text-muted);font-size:.8rem;font-weight:600}.model-bars{flex-direction:column;gap:8px;display:flex}.model-bar{grid-template-columns:minmax(70px,120px) 1fr auto;align-items:center;gap:10px;font-size:.9rem;display:grid}.model-bar strong{font-variant-numeric:tabular-nums;text-align:right;min-width:64px}.model-bar-track{background:var(--bg-sunk);border-radius:8px;height:16px;overflow:hidden}.model-bar-fill{background:var(--c1);border-radius:8px;height:100%;transition:width .15s;display:block}.model-bar:nth-child(2) .model-bar-fill{background:var(--c2)}.model-bar:nth-child(3) .model-bar-fill{background:var(--c3)}.model-bar-fill.neg{background:var(--danger)!important}.model-msg{background:var(--success-soft);border-radius:10px;margin:0;padding:10px 14px;font-weight:600}.model-msg.bad{background:var(--danger-soft)}.model-msg.info{background:var(--accent-soft)}.model-chart svg{width:100%;height:auto;display:block}.model-chart .grid{stroke:var(--border);stroke-width:1px}.model-chart .axis{stroke:var(--text-muted);stroke-width:1.5px}.model-chart .tick{fill:var(--text-muted);font-size:12px;font-family:var(--font-sans)}.model-chart .axis-label{fill:var(--text-muted);font-size:13px;font-weight:600;font-family:var(--font-sans)}.model-chart .marker{stroke:var(--text);stroke-dasharray:5 5;stroke-width:1.5px}.model-chart .marker-label{fill:var(--text);font-size:13px;font-weight:700;font-family:var(--font-sans)}.model-chart .now{stroke:var(--text-muted);stroke-width:1px;opacity:.5}.model-chart .gap{fill:var(--success);opacity:.12}.model-chart .below-zero{fill:var(--danger);opacity:.08}.model-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:.85rem;display:flex}.model-legend i{vertical-align:middle;border-radius:2px;width:14px;height:4px;margin-right:4px;display:inline-block}.vs-layout{grid-template-columns:120px 1fr;align-items:start;gap:20px;display:grid}.vs-stick{background:var(--bg-sunk);border:1px solid var(--border);border-radius:12px;position:relative}.vs-band{border-radius:4px;transition:all .15s;position:absolute;left:14px;right:14px}.vs-band.delight{background:var(--c1);opacity:.75}.vs-band.margin{background:var(--c3);opacity:.85}.vs-band.loss{background:var(--danger);opacity:.8}.vs-band.supplier{background:var(--c2);opacity:.7}.vs-line{border-top:2px solid var(--text);transition:top .15s;position:absolute;left:0;right:0}.vs-line span{background:var(--bg-elev);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 4px;font-size:.75rem;font-weight:800;position:absolute;top:-20px;right:4px}.vs-side{flex-direction:column;gap:12px;min-width:0;display:flex}.vs-legend{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;font-size:.92rem;list-style:none;display:flex}.vs-legend i{vertical-align:-2px;border-radius:4px;width:14px;height:14px;margin-right:6px;display:inline-block}.vs-legend i.delight{background:var(--c1)}.vs-legend i.margin{background:var(--c3)}.vs-legend i.loss{background:var(--danger)}.vs-legend i.supplier{background:var(--c2)}.vs-total{border-top:1px solid var(--border);padding-top:6px}@media (max-width:520px){.vs-layout{grid-template-columns:84px 1fr;gap:12px}.vs-band{left:8px;right:8px}}.num-task{flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0;display:flex}.num-field{border:1px solid var(--border);background:var(--bg-sunk);border-radius:12px;flex:180px;align-items:center;max-width:280px;padding:0 12px;display:flex}.num-field input{font:inherit;width:100%;color:var(--text);background:0 0;border:0;outline:none;min-width:0;padding:10px 6px;font-size:1.15rem;font-weight:700}.num-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.affix{color:var(--text-muted);font-weight:700}.task-msg{background:var(--warn-soft);border-radius:10px;margin:10px 0 0;padding:10px 14px;font-weight:600}.task-msg.ok{background:var(--success-soft)}.task-explain{border-left:3px solid var(--success);background:var(--bg-sunk);border-radius:0 10px 10px 0;margin-top:10px;padding:12px 14px}.task-explain p:last-child{margin-bottom:0}.order-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.order-list li{align-items:stretch;gap:8px;display:flex}.order-item{text-align:left;font:inherit;color:var(--text);background:var(--bg-sunk);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex:1;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.order-list li.sel .order-item{border-color:var(--accent);background:var(--accent-soft)}.order-num{background:var(--bg-elev);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.85rem;font-weight:800;display:grid}.order-arrows{flex-direction:column;gap:4px;display:flex}.order-arrows button{border:1px solid var(--border);background:var(--bg-elev);width:44px;min-height:22px;color:var(--text);cursor:pointer;border-radius:8px;flex:1;font-size:.8rem}.order-arrows button:disabled{opacity:.35;cursor:default}.case{margin:24px 0}.case-situation{background:var(--bg-sunk);border-radius:12px;margin-bottom:14px;padding:14px 16px}.case-situation p:last-child{margin-bottom:0}.case-step{margin-top:18px}.case-q p{margin-bottom:10px;font-weight:700}.case-outcome{background:var(--accent-soft);border-radius:10px;margin-top:10px;padding:12px 14px;animation:.3s ease-out pop}.case-outcome p:last-child{margin-bottom:0}.case-debrief{border:1px solid var(--gold);background:var(--gold-soft);border-radius:12px;margin-top:22px;padding:16px}.case-debrief h3{margin-top:0}.case-blur{filter:blur(3px);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none}.case-lock-cta{text-align:center;background:var(--gold-soft);border:1px dashed var(--gold);border-radius:12px;margin-top:16px;padding:18px 14px}.monday{border-color:var(--crayon)}.monday h2{margin-top:4px;font-size:1.3rem}.takeaway{background:var(--bg-sunk);border-radius:12px;margin:0 0 12px;padding:12px 14px;font-size:1.1rem;font-weight:700}.lesson-body h2{margin-top:1.6em}.lesson-body blockquote{border-left:4px solid var(--crayon);background:var(--bg-sunk);border-radius:0 12px 12px 0;margin:1em 0;padding:12px 16px}.lesson-body blockquote p:last-child{margin-bottom:0}.lesson-body table{max-width:100%;display:block;overflow-x:auto}.hero-play{min-width:0;position:relative}.hero-play-tag{background:var(--gold-soft);color:var(--text);border-radius:999px;margin:0 0 10px;padding:4px 12px;font-size:.9rem;font-weight:700;display:inline-block}.hero-play .viz{box-shadow:var(--shadow)}.subject-cloud{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.subject-cloud li{background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-size:.92rem;font-weight:600}.node-code{letter-spacing:.06em;color:var(--text-muted);font-size:.75rem;font-weight:800;display:block}:root{--radius:20px;--bg:#fffaf0;--bg-elev:#fffdf8;--bg-sunk:#fff3dc;--bg-glass:#fffaf0e6;--text:#1f2430;--text-muted:#4b5262;--border:#e7dcc5;--accent:#f97316;--accent-strong:#ea580c;--accent-soft:#f973161a;--accent-text:#fff;--accent-ink:#c2410c;--link:#1f2430;--violet:#8b5cf6;--pink:#db2777;--cyan:#0e9594;--success:#16834a;--success-soft:#22a35a1f;--crayon:#f97316;--blue:#3b82f6;--yellow:#eab308;--header-bg:#fffaf0eb;--heat-1:#f9731640;--heat-2:#f9731673;--heat-3:#f97316b3;--heat-4:#f97316;--c1:#3b82f6;--c2:#f97316;--c3:#22a35a;--c4:#8b5cf6;--grad:linear-gradient(95deg, #f97316, #f97316);--shadow:none;--ink-shadow:0 4px 0 #1f2430}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#18171a;--bg-elev:#201f23;--bg-sunk:#232127;--bg-glass:#18171ae6;--text:#efe9dc;--text-muted:#bdb6a8;--border:#3a3740;--accent:#fb923c;--accent-strong:#fdba74;--accent-soft:#fb923c24;--accent-text:#1a1209;--accent-ink:#fdba74;--link:#efe9dc;--crayon:#fb923c;--blue:#7aa7ff;--yellow:#facc15;--header-bg:#18171ae6;--heat-1:#fb923c4d;--heat-2:#fb923c8c;--heat-3:#fb923ccc;--heat-4:#fb923c;--c1:#7aa7ff;--c2:#fb923c;--c3:#4ade80;--c4:#c4a5ff;--grad:linear-gradient(95deg, #fb923c, #fb923c);--ink-shadow:0 4px 0 #000}}:root[data-theme=dark]{--bg:#18171a;--bg-elev:#201f23;--bg-sunk:#232127;--bg-glass:#18171ae6;--text:#efe9dc;--text-muted:#bdb6a8;--border:#3a3740;--accent:#fb923c;--accent-strong:#fdba74;--accent-soft:#fb923c24;--accent-text:#1a1209;--accent-ink:#fdba74;--link:#efe9dc;--crayon:#fb923c;--blue:#7aa7ff;--yellow:#facc15;--header-bg:#18171ae6;--heat-1:#fb923c4d;--heat-2:#fb923c8c;--heat-3:#fb923ccc;--heat-4:#fb923c;--c1:#7aa7ff;--c2:#fb923c;--c3:#4ade80;--c4:#c4a5ff;--grad:linear-gradient(95deg, #fb923c, #fb923c);--ink-shadow:0 4px 0 #000}body{font-size:17px}body:before{content:"";pointer-events:none;z-index:-1;background-image:radial-gradient(var(--border) 1px, transparent 1px);opacity:.55;background-size:22px 22px;position:fixed;inset:0}h1,h2,h3{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:-.015em}h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.08}.hand{font-family:var(--font-hand), "Comic Sans MS", cursive}::selection{background:color-mix(in oklab, var(--yellow) 55%, transparent);color:var(--text)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}a{text-decoration:underline;-webkit-text-decoration-color:var(--crayon);text-decoration-color:var(--crayon);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.btn,.logo,.nav a,.card-link,.node,.chip-stat,.vip-badge,.vip-perk,.lesson-list a,.q-row,.filters a,.footer-links a,.footer-legal a,.lesson-nav a{text-decoration:none}.grad{color:var(--crayon);-webkit-text-fill-color:currentColor;font-family:var(--font-hand), cursive;letter-spacing:0;white-space:nowrap;background:0 0;font-size:1.12em;font-style:normal;font-weight:700}.eyebrow{font-family:var(--font-hand), cursive;text-transform:none;letter-spacing:0;color:var(--blue);margin-bottom:6px;font-size:1.35rem;font-weight:700;line-height:1.2}.section-head h2,.cta-banner h2{font-family:var(--font-hand), cursive;letter-spacing:0;font-size:clamp(2.2rem,5vw,3rem);font-weight:700}.site-header{border-bottom:2px dashed var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo{font-family:var(--font-hand), cursive;letter-spacing:0;gap:8px;font-size:1.85rem;font-weight:700}.logo b{color:var(--crayon);font-weight:700}.nav a{color:var(--text-muted);font-weight:700}.site-footer{border-top:2px dashed var(--border)}@media (max-width:480px){.logo{font-size:1.55rem}}.btn{border-width:2px;border-radius:999px}.btn-primary{background:var(--accent);color:var(--accent-text);box-shadow:var(--ink-shadow)}.btn-primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:var(--ink-shadow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--text);transform:translateY(3px)}.btn-ghost{background:var(--bg-elev);border-color:var(--border)}.btn-ghost:hover:not(:disabled){border-color:var(--text)}.btn-sm,.btn-lg{border-radius:999px}.btn-primary.btn-sm{box-shadow:0 3px 0 var(--text)}.theme-toggle{border-width:2px;border-radius:999px}.chip-stat{background:var(--bg-elev);border-width:2px}.card{border:2px solid var(--border);border-radius:var(--radius);box-shadow:none;background:var(--bg-elev)}.card-link:hover,.node:hover{border-color:var(--crayon);transform:translateY(-2px)rotate(-.4deg)}.audience .card:nth-child(3n+1),.grid-3>.card:nth-child(3n+1){transform:rotate(-.6deg)}.audience .card:nth-child(3n+2),.grid-3>.card:nth-child(3n+2){transform:rotate(.4deg)}.audience .card:nth-child(3n),.grid-3>.card:nth-child(3n){transform:rotate(-.25deg)}.node{border-width:2px;border-radius:18px}.badge{border-width:1.5px}.cta-banner{border:2px dashed var(--crayon);background:var(--bg-elev)}.price-card.featured{border:2px solid var(--crayon);box-shadow:6px 6px 0 var(--crayon)}.ribbon{background:var(--crayon);color:#fff}.guarantee{border-width:2px}.glow{display:none}.step-card:before{font-family:var(--font-hand), cursive;color:var(--crayon);font-size:1.5rem;top:12px}.phase h3{font-family:var(--font-hand), cursive;color:var(--crayon);font-size:1.6rem}.phase-dot{border-color:var(--crayon);box-shadow:0 0 0 5px var(--accent-soft)}.progress>div{background:var(--blue)}.lesson-list .num{font-family:var(--font-sans);border:2px solid var(--border);background:var(--bg-elev)}.lesson-list .num.done{background:var(--success);border-color:var(--success);color:#fff}.lesson-list .current{background:var(--bg-sunk)}.lesson-side.card,.lesson-side .card{border-style:solid}.prose{font-size:1.1rem;line-height:1.7}.prose table{border-collapse:collapse}.prose th,.prose td{border:0;border-bottom:1.5px solid var(--border);vertical-align:top;padding:9px 12px}.prose th{border-bottom:2.5px solid var(--border);background:0 0;font-weight:700}.prose tr:nth-child(2n) td{background:color-mix(in oklab, var(--bg-sunk) 55%, transparent)}.lesson-body strong{background:linear-gradient(transparent 58%, color-mix(in oklab, var(--yellow) 42%, transparent) 58%);padding:0 .08em}.lesson-body .viz strong,.lesson-body figure strong,.lesson-body th strong{background:0 0}.prose blockquote{border:2px solid var(--border);background:var(--bg-sunk);border-left-width:2px;border-radius:18px;margin:0 0 1.2em;padding:14px 18px}.lesson-body h2,.practice>.exercise-head h2,.case>.exercise-head h2,.quiz>.exercise-head h2,.lesson-main .monday-head,.lesson-main h2.step-h{font-family:var(--font-hand), cursive;letter-spacing:0;font-size:1.9rem;font-weight:700;line-height:1.15}.lesson-body h2{color:var(--crayon);align-items:center;gap:12px;margin-top:1.8em;display:flex}.lesson-body h2:after{content:"";opacity:.55;border-top:2px dashed;flex:1;min-width:24px}.lesson-body h2.step-situation{color:#ea580c}.lesson-body h2.step-play{color:var(--blue)}.lesson-body h2.step-name{color:var(--violet)}.practice>.exercise-head h2{color:var(--success)}.case>.exercise-head h2{color:var(--cyan)}.quiz>.exercise-head h2{color:var(--pink)}:root[data-theme=dark] .lesson-body h2.step-situation{color:#fb923c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .lesson-body h2.step-situation{color:#fb923c}}.exercise-head{flex-wrap:wrap}.practice.card{border:2.5px dashed color-mix(in oklab, var(--success) 60%, transparent)}.case.card{border:2.5px dashed color-mix(in oklab, var(--cyan) 60%, transparent)}.viz{border:2px solid var(--border);background:var(--bg-elev);border-radius:20px;padding:18px}.viz-title{font-family:var(--font-hand), cursive;color:var(--text);font-size:1.55rem;font-weight:700;line-height:1.15}.viz-wrap figcaption{font-style:italic}input[type=range]{accent-color:var(--crayon)}.quiz-opt{border:2px solid var(--border);background:var(--bg-elev);border-radius:14px}.quiz-opt:hover:not(:disabled){border-color:var(--text)}.quiz-opt.right{border-color:var(--success)}.quiz-opt.wrong{border-color:var(--danger)}.step-dot{border-width:2.5px}.step-dot.done{background:var(--success);border-color:var(--success);color:#fff}.step-dot.on{border-color:var(--text)}.celebrate{border:2px dashed var(--success);border-radius:18px}input,textarea,select{border-width:2px;border-radius:14px}.books{color:var(--text-muted);padding:4px 2px;font-size:.92rem}.books-head{color:var(--text);margin:0 0 6px;font-weight:700}.books ul{margin:0 0 8px;padding-left:1.3em}.books li{margin:3px 0}.curriculum-title{margin:8px 0 18px;font-size:clamp(2.8rem,8vw,4.2rem);line-height:1}.curriculum-sub{color:var(--crayon);margin:48px 0 8px;font-size:clamp(2.2rem,6vw,3rem)}.syllabus-level h3{font-family:var(--font-hand), cursive;color:var(--blue);letter-spacing:0;margin:28px 0 10px;font-size:1.8rem}.syllabus-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.syllabus-course{padding:16px 18px}.syllabus-icon{font-size:1.4rem}.syllabus-name{color:var(--text);flex:200px;font-weight:700}.syllabus-books{margin-top:10px;font-size:.92rem}.syllabus-books summary{cursor:pointer;font-weight:700}.syllabus-books ul{color:var(--text-muted);margin:8px 0 0;padding-left:1.3em}.curriculum-note{border:2px dashed var(--border);color:var(--text-muted);border-radius:18px;margin-top:40px;padding:16px 20px;font-size:.92rem}.curriculum-note p{margin:0 0 4px}.curriculum-note p:first-child{color:var(--text)}.monday>h2{font-family:var(--font-hand), cursive;letter-spacing:0;color:#ea580c;font-size:1.9rem;font-weight:700}:root[data-theme=dark] .monday>h2{color:#fb923c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .monday>h2{color:#fb923c}}.curriculum{max-width:1000px}.curriculum>.lead,.curriculum>.prose,.curriculum>.curriculum-title,.curriculum-note{max-width:760px;margin-left:auto;margin-right:auto}.curriculum .center,.curriculum-sub{text-align:center}.syllabus-map{margin-top:18px}.level-box{background:color-mix(in oklab, var(--bg) 85%, transparent);border:2.5px solid;border-radius:255px 18px 225px/18px 225px 18px 255px;padding:18px 20px}.level-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.level-head h3{letter-spacing:0;margin:0;font-size:1.15rem}.level-label{margin-right:6px;font-size:1.7rem;font-weight:700}.level-note{margin:2px 0 0}.towns{flex-wrap:wrap;gap:12px 8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.town{text-align:center;width:108px;color:var(--text);border-radius:14px;flex-direction:column;align-items:center;padding:4px;display:flex}.town:hover{background:var(--bg-sunk)}.town svg{transition:transform .15s;overflow:visible}.town:hover svg{transform:rotate(-4deg)}.town-code{font-family:var(--font-sans), sans-serif;fill:var(--text);font-size:15px;font-weight:700}.town.soon .town-code{fill:var(--text-muted)}.town-title{margin-top:2px;font-size:.8rem;line-height:1.25}.town.soon .town-title{color:var(--text-muted)}.town-meta{color:var(--text-muted);margin-top:2px;font-size:.72rem}.road{margin:0 auto;display:block}.town,.town:hover{text-decoration:none}@media (max-width:600px){.level-box{padding:14px 10px}.towns{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 4px;display:grid}.town{width:auto;min-width:0}.town-title{overflow-wrap:anywhere;font-size:.76rem}}.syllabus-books-all{max-width:760px;margin:0 auto}.syllabus-books-all .syllabus-books{border-bottom:1.5px dashed var(--border);padding:10px 0}.course-page{max-width:1040px;padding-top:36px;padding-bottom:72px}.crumbs{color:var(--text-muted);margin:0 0 18px}.crumbs a{color:var(--text-muted);text-decoration:none}.crumbs a:hover{color:var(--text)}.course-code{color:var(--level);margin:0;font-size:1.7rem;font-weight:700;line-height:1}.course-title{margin:6px 0 12px;font-size:clamp(2.1rem,5.5vw,3.3rem)}.course-lead{max-width:720px;margin-bottom:28px}.course-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:32px;display:grid}@media (max-width:860px){.course-grid{grid-template-columns:1fr}}.course-start{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:18px;display:flex}.lesson-cards{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.lesson-card{border:2px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:18px;align-items:flex-start;gap:16px;padding:16px 18px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}a.lesson-card:hover{border-color:var(--level);text-decoration:none;transform:translateY(-1px)rotate(-.25deg)}.lesson-num{border:2px solid var(--text-muted);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;margin-top:2px;font-size:1rem;font-weight:700;display:grid}.lesson-card.done .lesson-num{background:var(--success);border-color:var(--success);color:#fff}.lesson-card.boss{border-color:color-mix(in oklab, var(--level) 55%, var(--border));border-style:dashed;border-width:2.5px}.lesson-card.boss .lesson-num{border-color:var(--level)}.lesson-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.lesson-text strong{font-size:1.12rem;line-height:1.3}.lesson-sum{color:var(--text-muted);font-size:.93rem;line-height:1.5}.lesson-tag{white-space:nowrap;border-radius:999px;flex:none;margin-top:4px;padding:3px 10px;font-size:.78rem;font-weight:700}.lesson-tag.free{background:var(--success-soft);color:var(--success)}.lesson-tag.lock{background:var(--bg-sunk);color:var(--text-muted);border:1.5px solid var(--border)}.lesson-tag.soon{border:1.5px dashed var(--border);color:var(--text-muted)}.lesson-card.planned{background:0 0;border-style:dashed}.lesson-card.planned .lesson-num{color:var(--text-muted);border-style:dashed}.lesson-card.planned strong{color:var(--text-muted);font-weight:700}.course-side{flex-direction:column;gap:22px;display:flex;position:sticky;top:96px}@media (max-width:860px){.course-side{position:static}}.side-h{font-family:var(--font-sans), sans-serif;letter-spacing:0;margin:0 0 8px;font-size:1.02rem}.course-side .checklist li{padding-top:3px;padding-bottom:3px}.boss-box{border:2.5px dashed var(--level);border-radius:16px;padding:14px 16px}.side-books{margin:0 0 6px;padding-left:1.2em}.side-books li{margin:3px 0}@media (max-width:480px){.lesson-card{gap:12px;padding:14px 12px}.lesson-num{width:34px;height:34px;font-size:.9rem}.lesson-tag{padding:2px 8px}.lesson-text strong{font-size:1.02rem}.lesson-sum{font-size:.88rem}.lesson-tag .tag-word{display:none}.lesson-tag.lock{padding:2px 6px}}.sheet-bar{align-items:center;gap:8px;margin:10px 0 6px;display:flex}.sheet-ref{text-align:center;min-width:44px;font-weight:700;font-family:var(--font-mono);border:2px solid var(--border);background:var(--bg-sunk);border-radius:10px;flex:none;padding:8px 6px;font-size:.9rem}.sheet-input{min-width:0;font-family:var(--font-mono);flex:1;padding:8px 10px;font-size:.95rem}.sheet-err{color:var(--danger);margin:0 0 6px;font-size:.88rem}.sheet-scroll{border:2px solid var(--border);border-radius:12px;overflow-x:auto}.sheet-grid{border-collapse:collapse;min-width:100%;font-size:.9rem}.sheet-grid th{background:var(--bg-sunk);color:var(--text-muted);border:1px solid var(--border);text-align:center;padding:3px 6px;font-size:.75rem;font-weight:700}.sheet-grid thead th:first-child,.sheet-grid tbody th{width:30px}.sheet-grid td{border:1px solid var(--border);padding:0}.sheet-cell{width:100%;min-width:72px;min-height:34px;color:var(--text);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:6px 8px;display:block}.sheet-cell.num{text-align:right;font-variant-numeric:tabular-nums}.sheet-cell.formula{background:color-mix(in oklab, var(--blue) 8%, transparent)}.sheet-cell.used{box-shadow:inset 0 0 0 2px var(--blue);background:color-mix(in oklab, var(--blue) 14%, transparent)}.sheet-cell.sel{box-shadow:inset 0 0 0 2.5px var(--crayon)}.sheet-cell.error{color:var(--danger)}.sheet-cell.locked{color:var(--text-muted)}.sheet-cell.locked.formula,.sheet-cell.locked.num{color:var(--text)}.sheet-tools{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;display:flex}.sheet-toggle{flex-direction:row;align-items:center;gap:6px;font-size:.88rem;font-weight:600}.sheet-toggle input{width:auto}.sheet-goals{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.sheet-goals li{background:var(--bg-sunk);border-radius:10px;padding:8px 10px;font-size:.92rem}.sheet-goals li.done{background:var(--success-soft)}.coupon-actions{flex-wrap:wrap;gap:6px;display:flex}.sheet-cell:not(.num){white-space:normal;overflow-wrap:normal;word-break:normal;min-width:96px;max-width:170px}.sheet-cell.formula:not(.num){white-space:nowrap;max-width:none}.sim-draws{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 2px;display:flex}.chip.on{background:var(--crayon);color:#fff;border-color:var(--crayon)}.sim-buttons{flex-wrap:wrap;gap:8px;margin:12px 0 10px;display:flex}.sim-buttons .btn{font-size:.95rem}.sim-stats{margin-bottom:8px}.sim-empty{text-align:center;border:2px dashed var(--border);border-radius:14px;margin:6px 0;padding:18px 8px}.sim-hist{gap:14px;margin-top:10px;display:grid}.sim-hist-name{margin-bottom:4px;font-weight:700}.sim-bars{border-bottom:2px solid var(--border);background:repeating-linear-gradient(to top, transparent 0 29px, color-mix(in oklab, var(--border) 45%, transparent) 29px 30px);border-radius:10px 10px 0 0;align-items:flex-end;gap:3px;height:150px;padding:6px 6px 0;display:flex}.sim-bar{flex:1;align-items:flex-end;height:100%;display:flex}.sim-bar>span{border-radius:6px 6px 2px 2px;width:100%;min-height:0;transition:height .35s cubic-bezier(.2,.8,.2,1);display:block}.sim-axis{justify-content:space-between;margin-top:4px;display:flex}@media (prefers-reduced-motion:reduce){.sim-bar>span{transition:none}}.sim-bars.discrete{gap:10px;padding-top:22px}.sim-bars.discrete .sim-bar{position:relative}.sim-bars.discrete .sim-bar em{text-align:center;color:var(--text-muted);font-size:.78rem;font-style:normal;font-weight:700;position:absolute;top:-20px;left:0;right:0}.sim-labels{gap:10px;margin-top:4px;padding:0 6px;display:flex}.sim-labels span{text-align:center;overflow-wrap:anywhere;flex:1;min-width:0}.ledger-txns{gap:6px;margin:12px 0 10px;padding:0;list-style:none;display:grid}.ledger-txn{text-align:left;border:2px solid var(--border);background:var(--bg-elev);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:9px 12px;transition:border-color .15s,background .15s;display:flex}.ledger-txn:hover{border-color:var(--text)}.ledger-txn.next{border-color:var(--crayon);border-style:dashed}.ledger-txn.done{background:var(--success-soft);border-color:#0000}.ledger-tick{border:2px solid var(--border);background:var(--bg);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:grid}.ledger-txn.done .ledger-tick{background:var(--success);color:#fff;border-color:var(--success)}.ledger-last{background:var(--bg-sunk);border-radius:12px;padding:10px 12px;font-size:.92rem}.ledger-last b.pos{color:var(--success)}.ledger-last b.neg{color:var(--danger)}.ledger-eq{border:2px solid var(--border);border-radius:16px;margin:10px 0;padding:14px}.ledger-eq-head{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;font-size:1.02rem;display:flex}.ledger-eq-sign{font-family:var(--font-sans), sans-serif;background:var(--bg-sunk);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.9rem;font-weight:700;line-height:1;display:inline-grid}.ledger-eq-sign.ok{color:var(--success)}.ledger-eq-sign.bad{color:var(--danger)}.ledger-stacks{gap:10px;margin-top:10px;display:grid}.ledger-stack-label{margin-bottom:3px;display:block}.ledger-stack-bar{background:var(--bg-sunk);border-radius:10px;height:30px;display:flex;overflow:hidden}.ledger-stack-bar>span{border-right:2px solid var(--bg-elev);height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1);display:block}.ledger-panels{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.ledger-table{border-collapse:collapse;width:100%;font-size:.92rem}.ledger-table th,.ledger-table td{border-bottom:1.5px solid var(--border);text-align:left;padding:6px 8px}.ledger-table td:last-child,.ledger-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.ledger-table i{vertical-align:middle;border-radius:3px;width:10px;height:10px;display:inline-block}.ledger-table td.neg{color:var(--danger)}.ledger-income{border:2px solid var(--border);border-radius:14px;align-content:start;gap:4px;padding:12px 14px;font-size:.94rem;display:grid}.ledger-profit{border-top:2px solid var(--border);margin-top:4px;padding-top:6px}.ledger-cash{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.ledger .neg{color:var(--danger)}@media (prefers-reduced-motion:reduce){.ledger-stack-bar>span{transition:none}}.ledger-journal{border-collapse:collapse;border:2px solid var(--border);border-radius:12px;width:100%;margin:6px 0 10px;font-size:.92rem;overflow:hidden}.ledger-journal th{background:var(--bg-sunk);text-align:left;padding:6px 10px}.ledger-journal td{border-top:1.5px solid var(--border);padding:6px 10px}.ledger-journal td:nth-child(2),.ledger-journal td:nth-child(3),.ledger-journal th:nth-child(2),.ledger-journal th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums;width:25%}.rw-preview{border:2px solid var(--border);background:var(--bg-sunk);border-radius:14px;margin:10px 0 12px;padding:10px 14px}.rw-preview-label{margin-bottom:4px;display:block}.rw-inbox{font-size:.95rem;line-height:1.45}.rw-head{font-size:1.1rem;font-weight:700;line-height:1.35}.rw-preview.slide .rw-head{font-size:1.25rem}.rw-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rw-item{border:2px solid var(--border);background:var(--bg-elev);border-radius:14px;padding:10px 12px;transition:opacity .2s,background .2s}.rw-item.cut{opacity:.55;background:0 0;border-style:dashed}.rw-item.cut .rw-text{text-decoration:line-through}.rw-text{font-size:.98rem;line-height:1.5}.rw-tools{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.rw-tools .btn{padding:4px 10px;font-size:.82rem}.rw-why{background:var(--bg-sunk);border-radius:10px;margin:8px 0 0;padding:8px 10px}.rw-stats{color:var(--text-muted);flex-wrap:wrap;gap:6px 18px;margin:12px 0 4px;font-size:.92rem;display:flex}.rw-stats strong{color:var(--text)}.report-company{margin:6px 0 8px;font-size:.98rem}.report-task{border:2px dashed var(--crayon);background:var(--bg-elev);border-radius:14px;margin:8px 0 10px;padding:10px 12px}.report-prompt{margin:2px 0;font-weight:700;line-height:1.4}.report-tabs{flex-wrap:wrap;gap:6px;margin:6px 0 8px;display:flex}.report-tab{border:2px solid var(--border);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.88rem}.report-tab.on{background:var(--text);color:var(--bg);border-color:var(--text)}.report-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.92rem}.report-table th,.report-table td{font-family:var(--font-sans), system-ui, sans-serif}.report-table th{text-align:left;color:var(--text-muted);border-bottom:2px solid var(--border);padding:4px 6px;font-size:.82rem}.report-table th:not(:first-child),.report-table td:not(:first-child){text-align:right;white-space:nowrap;width:22%}.report-table td{border-bottom:1px solid var(--border);padding:1px 6px}.report-table tr.head td{border-bottom:none;padding-top:10px;font-weight:800}.report-table tr.b td{font-weight:800}.report-table tr.tot td{border-top:2px solid var(--text)}.report-table tr.in td:first-child{padding-left:18px}.report-table tr.hit td{background:var(--success-soft)}.report-table tr.miss td{background:var(--danger-soft)}.report-table tr.sel td{background:var(--accent-soft)}.report-line{all:unset;cursor:pointer;width:100%;-webkit-text-decoration:underline dotted var(--text-muted);text-decoration:underline dotted var(--text-muted);text-underline-offset:3px;padding:6px 0;line-height:1.3;display:block}.report-line:focus-visible{outline:2px solid var(--crayon);outline-offset:2px;border-radius:4px}.ledger-cf .row{gap:8px}.report-table th:not(:first-child){white-space:normal;vertical-align:bottom;line-height:1.2}.lesson-video h2.step-h{color:var(--crayon);margin:0 0 12px}.lv{border:2px solid var(--text);box-shadow:var(--ink-shadow);aspect-ratio:16/9;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#fbf8f1;border-radius:20px;outline:none;position:relative;overflow:hidden}.lv:focus-visible{box-shadow:var(--ink-shadow), 0 0 0 3px var(--crayon)}.lv video{object-fit:contain;cursor:pointer;background:#fbf8f1;width:100%;height:100%;display:block}.lv.lv-idle,.lv.lv-idle video{cursor:none}.lv.lv-full{background:#000;border:0;border-radius:0}.lv.lv-full video{background:#000}.lv-cover{cursor:pointer;color:#fff;background:linear-gradient(#1c1f2e0d 30%,#1c1f2eb8 100%);border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset:0}.lv-play{background:var(--crayon);color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:84px;height:84px;transition:transform .18s;display:grid;position:relative;box-shadow:0 6px #1c1f2e8c,0 12px 32px #e8590c73}.lv-play:after{content:"";border:3px solid #ffffffd9;border-radius:50%;animation:1.8s ease-out infinite lv-ring;position:absolute;inset:-10px}.lv-cover:hover .lv-play,.lv-cover:focus-visible .lv-play{transform:scale(1.08)}.lv-cover:focus-visible{outline:3px solid var(--crayon);outline-offset:-6px}.lv-meta{text-align:left;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:14px;left:18px;right:18px}.lv-title{font-family:var(--font-hand), cursive;text-shadow:0 2px 10px #00000059;font-size:clamp(1.5rem,4.4vw,2.3rem);font-weight:700;line-height:1}.lv-chips{flex-wrap:wrap;gap:6px;display:flex}.lv-chip{color:#1c1f2e;white-space:nowrap;background:#ffffffeb;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:700}.lv-controls{color:#fff;background:linear-gradient(#0e101a00 0%,#0e101a8c 45%,#0e101ad9 100%);padding:40px 12px 6px;transition:opacity .25s,transform .25s;position:absolute;bottom:0;left:0;right:0}.lv-idle .lv-controls{opacity:0;pointer-events:none;transform:translateY(8px)}.lv-row{align-items:center;gap:2px;min-height:44px;display:flex}.lv-spacer{flex:1}.lv-btn{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;transition:background .15s,transform .1s;display:grid;position:relative}@media (hover:hover){.lv-btn:hover{background:#ffffff24}}.lv-btn:active{transform:scale(.92)}.lv-btn:focus-visible{outline-offset:-2px;outline:2px solid #ffb27a}.lv-btn svg{filter:drop-shadow(0 1px 2px #0006)}.lv-on{color:#ffb27a}.lv-cc-badge{letter-spacing:.02em;color:#fff;border:2px solid #fff;border-radius:5px;place-items:center;min-width:28px;height:20px;padding:0 4px;font-size:.72rem;font-weight:900;line-height:1;display:grid}.lv-cc-btn.lv-on .lv-cc-badge{color:#14161f;background:#fff}.lv-cc-btn.lv-on:after{content:"";background:var(--crayon);border-radius:2px;height:3px;position:absolute;bottom:6px;left:11px;right:11px}.lv-cc-btn.lv-on{color:#fff}.lv-badge{background:var(--crayon);color:#fff;border-radius:6px;padding:0 4px;font-size:.62rem;font-weight:800;line-height:1.4;position:absolute;top:4px;right:0}.lv-time{font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 2px #00000080;margin-left:6px;font-size:.88rem;font-weight:700}.lv-time-sep{opacity:.6;margin:0 2px}.lv-chapter{opacity:.92;white-space:nowrap;text-overflow:ellipsis;max-width:30%;margin-left:10px;font-size:.88rem;font-weight:600;overflow:hidden}.lv-chapter span{opacity:.6;margin-right:4px}.lv-vol{align-items:center;display:flex}.lv-vol-range{appearance:none;cursor:pointer;background:0 0;width:84px;height:18px;margin:0 10px 0 0}.lv-vol-range,.lv-vol-range:focus{box-shadow:none;border:0;outline:none;padding:0}.lv-vol-range:focus-visible::-webkit-slider-thumb{background:#ffb27a}.lv-vol-range:focus-visible::-moz-range-thumb{background:#ffb27a}.lv-vol-range::-webkit-slider-runnable-track{background:linear-gradient(90deg, #fff var(--p), #ffffff4d var(--p));border-radius:2px;height:4px}.lv-vol-range::-moz-range-track{background:#ffffff4d;border-radius:2px;height:4px}.lv-vol-range::-moz-range-progress{background:#fff;border-radius:2px;height:4px}.lv-vol-range::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:0;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:transform .12s;box-shadow:0 1px 4px #00000073}.lv-vol-range::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #00000073}.lv-vol-range:hover::-webkit-slider-thumb{transform:scale(1.2)}.lv-vol-range:active::-webkit-slider-thumb{transform:scale(1.2)}.lv-seek{cursor:pointer;touch-action:none;align-items:center;height:22px;margin:0 6px;display:flex;position:relative}.lv-segs{gap:4px;width:100%;display:flex}.lv-seg{background:#ffffff47;border-radius:3px;flex-basis:0;height:5px;transition:height .12s;position:relative;overflow:hidden}.lv-seek:hover .lv-seg,.lv-scrubbing .lv-seg{height:7px}.lv-seg.lv-seg-hover{height:9px!important}.lv-seg-buf,.lv-seg-hov,.lv-seg-fill{position:absolute;top:0;bottom:0;left:0}.lv-seg-buf{background:#ffffff59}.lv-seg-hov{background:#ffffff80}.lv-seg-fill{background:linear-gradient(90deg, #ff8a3d, var(--crayon))}.lv-thumb{background:var(--crayon);pointer-events:none;border:2px solid #fff;border-radius:50%;width:15px;height:15px;margin:-7.5px 0 0 -7.5px;transition:transform .12s;position:absolute;top:50%;transform:scale(0);box-shadow:0 1px 4px #00000073}.lv-seek:hover .lv-thumb,.lv-scrubbing .lv-thumb{transform:scale(1)}@media (hover:none){.lv-thumb{transform:scale(.85)}}.lv-tip{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;background:#0e101aeb;border-radius:10px;flex-direction:column;align-items:center;gap:1px;padding:5px 10px;font-size:.8rem;font-weight:700;display:flex;position:absolute;bottom:26px;transform:translate(-50%);box-shadow:0 4px 14px #0000004d}.lv-tip-ch{opacity:.85;font-size:.75rem;font-weight:600}.lv-menu-wrap{position:relative}.lv-menu{-webkit-backdrop-filter:blur(8px);background:#0e101af0;border-radius:14px;min-width:150px;padding:6px;animation:.15s lv-pop;position:absolute;bottom:52px;right:0;box-shadow:0 10px 30px #00000059}.lv-menu-head{letter-spacing:.06em;text-transform:uppercase;opacity:.6;margin:4px 10px 6px;font-size:.75rem;font-weight:700}.lv-menu button{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;font-size:.9rem;font-weight:600;display:flex}.lv-menu button:hover{background:#ffffff1f}.lv-menu button.lv-on{color:#ffb27a}.lv-check{width:14px}.lv-cc{pointer-events:none;justify-content:center;transition:bottom .25s;display:flex;position:absolute;bottom:5%;left:6%;right:6%}.lv-cc.lv-cc-up{bottom:82px}.lv-cc span{color:#fff;text-align:center;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#0e101ac7;border-radius:8px;max-width:92%;padding:4px 12px;font-size:clamp(.82rem,2.3vw,1.3rem);font-weight:600;line-height:1.35}.lv-full .lv-cc span{font-size:clamp(1rem,2.4vw,2rem)}.lv-flash{color:#fff;pointer-events:none;background:#0e101a8c;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:92px;height:92px;margin:-46px 0 0 -46px;animation:.6s forwards lv-flash;display:flex;position:absolute;top:50%;left:50%}.lv-center{pointer-events:none;background:#0e101a47;justify-content:center;align-items:center;gap:clamp(18px,9vw,64px);transition:opacity .25s;display:none;position:absolute;inset:0 0 60px}.lv-idle .lv-center{opacity:0}.lv-idle .lv-center .lv-cbtn{pointer-events:none}@media (hover:none){.lv-center{display:flex}.lv-row .lv-skip{display:none}}.lv-cbtn{pointer-events:auto;color:#fff;cursor:pointer;background:#0e101a80;border:0;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;transition:transform .12s;display:grid}.lv-cbtn:active{transform:scale(.9)}.lv-cbtn-main{background:#e8590ceb;width:68px;height:68px;box-shadow:0 4px 14px #0000004d}.lv-flash span{white-space:nowrap;font-size:.78rem;font-weight:700}.lv-flash-left,.lv-flash-right{flex-direction:column;justify-content:center;align-items:center;gap:2px;width:112px;height:112px;margin:-56px 0 0 -56px;display:flex}.lv-flash-left{left:18%}.lv-flash-right{left:82%}.lv-end{text-align:center;color:#1c1f2e;background:#fbf8f1f0;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:16px;animation:.3s lv-fade;display:flex;position:absolute;inset:0}.lv-end-title{font-family:var(--font-hand), cursive;margin:0;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700}.lv-end-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@keyframes lv-ring{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.45)}}@keyframes lv-fade{0%{opacity:0}to{opacity:1}}@keyframes lv-pop{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:none}}@keyframes lv-flash{0%{opacity:0;transform:scale(.7)}25%{opacity:1}to{opacity:0;transform:scale(1.25)}}@media (max-width:520px){.lv-play{width:64px;height:64px}.lv-play svg{width:26px;height:26px}.lv-chips .lv-chip:nth-child(n+2),.lv-chapter{display:none}.lv-vol-range{width:60px}.lv-controls{padding:28px 4px 2px}.lv-btn{width:40px;height:40px}.lv-cc.lv-cc-up{bottom:70px}}@media (prefers-reduced-motion:reduce){.lv-play:after,.lv-flash{opacity:0;animation:none}}.syllabus-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:640px;margin:22px auto 10px;padding:0;list-style:none;display:grid}.syllabus-stats li{border:2px solid var(--border);background:var(--bg-elev);border-radius:225px 14px 205px/14px 205px 14px 225px;flex-direction:column;align-items:center;padding:12px 6px;display:flex}.syllabus-stats b{font-family:var(--font-hand), cursive;color:var(--crayon);font-size:clamp(1.9rem,6vw,2.6rem);line-height:1}.syllabus-stats span{color:var(--text-muted);font-size:.82rem}@media (max-width:600px){.syllabus-stats{gap:6px;margin-top:16px}.syllabus-stats li{padding:8px 2px}.syllabus-stats b{font-size:1.7rem}.syllabus-stats span{font-size:.72rem}}.chart-dot{fill:var(--c2);stroke:var(--bg-elev);stroke-width:2px}.model-legend i.dot-key{background:var(--c2);border-radius:50%;width:10px;height:10px}.p1t{color:var(--c1);font-weight:700}.p2t{color:var(--c2);font-weight:700}.game-legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 16px;margin:4px 0 10px;display:flex}.game-legend i{vertical-align:-1px;border-radius:4px;width:12px;height:12px;margin-right:2px;display:inline-block}.game-legend i.p1{background:var(--c1)}.game-legend i.p2{background:var(--c2)}.game-grid{align-items:stretch;gap:6px;display:grid}.game-corner{overflow-wrap:anywhere;align-self:end;font-size:.72rem;line-height:1.25}.game-colh,.game-rowh{overflow-wrap:anywhere;font-size:.86rem;line-height:1.25}.game-colh{text-align:center;align-self:end;padding:0 2px 2px}.game-rowh{align-items:center;display:flex}.game-cell{border:2px solid var(--border);background:var(--bg-elev);min-height:74px;color:var(--text);font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 4px;transition:background .15s,border-color .15s;display:flex;position:relative}.game-cell:hover{border-color:var(--text-muted)}.game-cell:focus-visible{outline:3px solid var(--crayon);outline-offset:2px}.game-cell.sel{background:var(--accent-soft);border-color:var(--c1)}.game-cell.nash{border-color:var(--success);background:var(--success-soft)}.gp{border-radius:6px;padding:0 4px;font-size:1.02rem;font-weight:800}.gp.p1{color:var(--c1)}.gp.p2{color:var(--c2);font-size:.92rem}.gp.best{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:3px}.gp.best:after{content:" ★";font-size:.75em}.game-badge{background:var(--success);color:#fff;border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:800;position:absolute;top:-9px;right:-4px}.game-key{margin:4px 0 0}.game-repeat{border-top:2px dashed var(--border);margin-top:16px;padding-top:12px}.game-history{gap:4px;max-height:220px;margin:6px 0 4px;padding:0;list-style:none;display:grid;overflow-y:auto}.game-history li{background:var(--bg-sunk);border-radius:8px;grid-template-columns:32px 1fr 1fr auto;align-items:center;gap:6px;padding:4px 8px;font-size:.86rem;display:grid}.tree-help{margin:0 0 10px}.tree-node{border-left:3px solid var(--border);padding:2px 0 2px 10px}.tree-node.open{border-left-color:var(--crayon)}.tree-node.done{border-left-color:var(--success)}.tree-who{margin:2px 0 6px}.tree-now{color:var(--crayon);font-weight:700}.tree-moves{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tree-moves>li{padding-left:4px}.tree-moves>li.dropped{opacity:.45}.tree-move{border:2px solid var(--text);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;min-height:40px;margin-bottom:4px;padding:7px 12px;font-size:.92rem;font-weight:700;display:inline-block}.tree-move:disabled{cursor:default}.tree-moves>li.picked>.tree-move{background:var(--success-soft);border-color:var(--success)}.tree-node.open>.tree-moves>li>.tree-move{border-color:var(--crayon)}.tree-leaf{background:var(--bg-sunk);font-variant-numeric:tabular-nums;border-radius:10px;margin:0 0 4px 8px;padding:6px 10px;line-height:1.4}.tree-solved div{margin-top:4px}.auction-last{background:var(--bg-sunk);border-radius:10px;margin:6px 0 10px;padding:8px 10px;line-height:1.5}.auction-last .pos{color:var(--success);font-weight:700}.auction-last .neg{color:var(--danger);font-weight:700}.auction-format{text-align:left}.tree-leaf .p1t,.tree-leaf .p2t{white-space:nowrap}svg.model-chart{width:100%;height:auto;display:block}.model-chart .tick.strong{fill:var(--text);font-weight:800}.dt-help{margin:0}.dt-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.dt-node{border-left:3px solid var(--border);min-width:0;padding:2px 0 2px 10px}.dt-node.open{border-left-color:var(--crayon)}.dt-node.done{border-left-color:var(--success)}.dt-node.chance{border-left-style:dashed}.dt-head{margin:2px 0 6px;line-height:1.5}.dt-shape{font-size:.85em}.dt-node.chance>.dt-head .dt-shape{color:var(--c2)}.dt-node.decision>.dt-head .dt-shape{color:var(--c1)}.dt-now{color:var(--crayon);font-weight:700}.dt-chance{font:inherit;color:var(--text);background:var(--bg-sunk);border:2px dashed var(--border);cursor:pointer;text-align:left;border-radius:999px;min-height:40px;padding:6px 12px}.dt-node.open>.dt-head .dt-chance{border-color:var(--crayon)}.dt-node.done>.dt-head .dt-chance{border-style:solid;border-color:var(--success);background:var(--success-soft);cursor:default}.dt-branches{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dt-branches>li{padding-left:4px}.dt-branches>li.dropped{opacity:.45}.dt-prob{background:var(--accent-soft);border-radius:999px;margin:0 0 4px;padding:2px 10px;display:inline-block}.dt-move{border:2px solid var(--text);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;text-align:left;border-radius:10px;min-height:40px;margin-bottom:4px;padding:7px 12px;font-size:.92rem;font-weight:700;display:inline-block}.dt-move:disabled{cursor:default}.dt-branches>li.picked>.dt-move{background:var(--success-soft);border-color:var(--success)}.dt-node.open>.dt-branches>li>.dt-move{border-color:var(--crayon)}.dt-leaf{background:var(--bg-sunk);font-variant-numeric:tabular-nums;border-radius:10px;margin:0 0 4px 8px;padding:6px 10px;display:inline-block}.dt-leaf.neg strong{color:var(--danger)}.dt-solved div{margin-top:4px}.dist-bar{fill:var(--c1);opacity:.28}.dist-bar.on{opacity:.9}.dist-curve{fill:none;stroke:var(--c1);stroke-width:2.5px}.dist-shade{fill:var(--c4);opacity:.55}.dist-cut{stroke:var(--text);stroke-width:2px;stroke-dasharray:5 4}.test-alt{fill:none;stroke:var(--c2);stroke-width:2.5px;stroke-dasharray:7 5}.test-power{fill:var(--c2);opacity:.2}.test-crit{stroke:var(--danger);stroke-width:1.5px;opacity:.8}.test-key{margin:0;line-height:1.8}.key{vertical-align:middle;border-radius:3px;width:14px;height:10px;margin-right:2px;display:inline-block}.key.k-null{background:var(--c1);height:3px}.key.k-obs{border-top:2px dashed var(--text);height:0}.key.k-p{background:var(--c4);opacity:.55}.key.k-crit{background:var(--danger);width:3px}.key.k-alt{border-top:3px dashed var(--c2);height:0}.key.k-power{background:var(--c2);opacity:.35}.good-t{color:var(--success);font-weight:700}.smp-truth{stroke:var(--text);stroke-width:2px;stroke-dasharray:5 4}.smp-ci line{stroke:var(--c1);stroke-width:2.5px;stroke-linecap:round}.smp-ci circle{fill:var(--c1)}.smp-ci.miss line{stroke:var(--danger)}.smp-ci.miss circle{fill:var(--danger)}.smp-miss-key{color:var(--danger);font-weight:700}.rg-pt{fill:var(--c1);opacity:.85}.rg-pt.g1{fill:var(--c2)}.rg-pt.test{fill:var(--bg-elev);stroke:var(--c4);stroke-width:2px;opacity:1}.rg-pt.off{fill:var(--bg-elev);stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:2 2;opacity:.8}.rg-pt.tappable{cursor:pointer}.rg-fit{fill:none;stroke:var(--c1);stroke-width:2.5px}.rg-fit.g0{stroke:var(--c1)}.rg-fit.g1{stroke:var(--c2)}.rg-user{fill:none;stroke:var(--crayon);stroke-width:3px;stroke-dasharray:8 5}.rg-resid{stroke:var(--danger);stroke-width:1.5px;opacity:.7}.rg-pi{fill:var(--c4);opacity:.22}.rg-pred{fill:var(--c4);stroke:var(--bg-elev);stroke-width:2px}.rg-key{margin:0;line-height:1.7}.key.k-g0{background:var(--c1);border-radius:50%;width:10px}.key.k-g1{background:var(--c2);border-radius:50%;width:10px}.rg-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.rg-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.rg-table th,.rg-table td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:6px 8px}.rg-table th:first-child,.rg-table td:first-child{text-align:left;white-space:normal;min-width:7em}.rg-table th{color:var(--text-muted);font-size:.78rem}.rg-stats{margin:6px 0 0}.chip.on:hover:not(:disabled){color:#fff;border-color:var(--crayon)}@media (max-width:480px){.rg-table th,.rg-table td{padding:5px 4px}.rg-table{font-size:.8rem}.rg-table th:first-child,.rg-table td:first-child{min-width:5.5em}}.fc-holdout{fill:var(--accent-soft);opacity:.6}.fc-actual{fill:none;stroke:var(--c1);stroke-width:2.5px}.key.fc-k{border-top-color:var(--crayon)}.cl-zone{fill:var(--accent-soft);opacity:.7}.cl-pt.yes{fill:var(--c2);opacity:.5}.cl-pt.no{fill:var(--c1);opacity:.5}.cl-pt.on{opacity:1;stroke:var(--text);stroke-width:1px}.key.k-cl-yes{background:var(--c2);border-radius:50%;width:10px}.key.k-cl-no{background:var(--c1);border-radius:50%;width:10px}.cl-matrix{gap:4px;display:grid}.cl-row{grid-template-columns:1.1fr 1fr 1fr;align-items:stretch;gap:4px;display:grid}.cl-row>*{background:var(--bg-sunk);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px}.cl-row.head>*{color:var(--text-muted);background:0 0;padding:2px 8px;font-weight:700}.cl-row em{color:var(--text-muted);font-size:.85em;font-style:normal;font-weight:600;display:block}.cl-tp,.cl-tn{background:var(--success-soft)!important}.cl-fp,.cl-fn{background:var(--danger-soft)!important}.cal-list{gap:12px;margin:0;padding-left:1.4em;display:grid}.cal-list li{border-radius:10px;padding:6px 8px}.cal-list li.cal-hit{background:var(--success-soft)}.cal-list li.cal-miss{background:var(--danger-soft)}.cal-q{margin-bottom:4px;font-weight:600;display:block}.cal-inputs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-inputs input{width:8.5em;max-width:40%;padding:6px 8px;font-size:16px}.cal-ans{margin-top:4px;display:block}.rtm-pt{fill:var(--text-muted);opacity:.45}.rtm-pt.rtm-best{fill:var(--c3);opacity:1}.rtm-pt.rtm-worst{fill:var(--danger);opacity:1}.key.k-rtm-best{background:var(--c3);border-radius:50%;width:10px}.key.k-rtm-worst{background:var(--danger);border-radius:50%;width:10px}.snav{align-items:center;gap:4px;display:none;overflow:visible}.snav>a,.snav-btn{color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:7px 12px;font-size:.95rem;font-weight:700;display:inline-flex}.snav>a:hover,.snav-btn:hover,.snav>a.is-on,.snav-btn.is-on,.snav-btn[aria-expanded=true]{color:var(--text);background:var(--bg-sunk);text-decoration:none}.snav-caret{border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .15s;transform:translateY(-2px)rotate(45deg)}[aria-expanded=true]>.snav-caret{transform:translateY(1px)rotate(-135deg)}.snav-pop{position:relative}.snav-panel{overscroll-behavior:contain;background:var(--bg-elev);border:2px solid var(--border);z-index:40;border-radius:20px;width:min(46rem,100vw - 2rem);max-height:calc(100vh - 6rem);padding:18px;animation:.15s nav-pop;position:absolute;top:calc(100% + 14px);left:-8px;overflow:auto;box-shadow:0 18px 40px #00000029}.snav-panel .cmenu{grid-template-columns:1fr 1fr;gap:6px 18px;display:grid}.snav-panel .cmenu-continue,.snav-panel .cmenu-foot{grid-column:1/-1}@keyframes nav-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-btn{border:2px solid var(--border);background:var(--bg-elev);width:44px;height:44px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;flex:none;order:10;place-items:center;display:grid}.menu-btn:hover{border-color:var(--accent-ink)}.menu-burger{gap:4px;width:18px;display:grid}.menu-burger span{background:currentColor;border-radius:2px;height:2.5px;display:block}.menu-burger span:nth-child(2){width:70%}@media (min-width:1024px){.snav{flex:1;display:flex}.menu-btn,.drawer-wrap{display:none}}@media (max-width:480px){.menu-btn{width:40px;height:40px}}.drawer-wrap{z-index:60;pointer-events:none;position:fixed;inset:0}.drawer-wrap.is-open{pointer-events:auto}.drawer-backdrop{opacity:0;background:#0000006b;transition:opacity .22s;position:absolute;inset:0}.is-open>.drawer-backdrop{opacity:1}.drawer{background:var(--bg);border-left:2px dashed var(--border);width:min(23rem,88vw);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(104%);box-shadow:-12px 0 32px #00000029}.is-open>.drawer{transform:none}.drawer-head{border-bottom:2px dashed var(--border);justify-content:space-between;align-items:center;padding:12px 14px 10px 18px;display:flex}.drawer-title{font-family:var(--font-hand), cursive;font-size:1.9rem;font-weight:700;line-height:1}.drawer-close,.sheet-x{background:var(--bg-sunk);width:44px;height:44px;color:var(--text);cursor:pointer;border:0;border-radius:50%;flex:none;font-size:1rem}.drawer-body{overscroll-behavior:contain;flex:1;padding:10px 12px 20px;overflow:auto}.drawer-links,.cmenu ul{margin:0;padding:0;list-style:none}.drawer-links{gap:2px;display:grid}.drawer-links a{min-height:52px;color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:9px 10px;text-decoration:none;display:flex}.drawer-links a:hover,.drawer-links a[aria-current]{background:var(--bg-sunk)}.drawer-links a[aria-current] b{text-decoration:underline;-webkit-text-decoration-color:var(--crayon);text-decoration-color:var(--crayon);text-underline-offset:4px;text-decoration-thickness:3px}.drawer-links b{font-size:1.05rem;display:block}.drawer-links small{color:var(--text-muted);font-size:.82rem;display:block}.drawer-ic{background:var(--bg-sunk);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-size:1.15rem;display:grid}.drawer-h{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:18px 10px 6px;font-size:.75rem;font-weight:700}.drawer-foot{border-top:2px dashed var(--border);flex-wrap:wrap;align-items:center;gap:4px 16px;margin:18px 10px 0;padding-top:14px;font-size:.9rem;display:flex}.drawer-foot a,.drawer-foot-btn{color:var(--text-muted);padding:8px 0;text-decoration:none}.drawer-foot form{margin:0}.drawer-foot-btn{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;font-weight:700}.drawer-foot a:hover{color:var(--text)}.cmenu-continue{background:var(--text);color:var(--bg);box-shadow:3px 3px 0 var(--crayon);border-radius:16px;margin:0 0 10px;padding:12px 14px;text-decoration:none;display:block}.cmenu-continue:hover{filter:brightness(1.1);text-decoration:none}.cmenu-continue-k{letter-spacing:.04em;opacity:.8;font-size:.78rem;font-weight:700;display:block}.cmenu-continue-t{text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.cmenu-level{margin-top:6px}.cmenu-level-h{color:var(--text-muted);align-items:center;gap:6px;margin:4px 8px;font-size:.8rem;display:flex}.cmenu-level-h b{color:var(--text)}.cmenu-dot{background:var(--c);border-radius:50%;flex:none;width:10px;height:10px}.cmenu-course{min-height:52px;color:var(--text);border-radius:14px;align-items:center;gap:10px;padding:6px 8px;text-decoration:none;display:flex}.cmenu-course:hover{background:var(--bg-sunk);text-decoration:none}.cmenu-course[aria-current]{background:color-mix(in srgb, var(--c) 14%, transparent)}.cmenu-ring{flex:none;width:40px;height:40px;position:relative}.cmenu-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.cmenu-ring circle{fill:none;stroke-width:3.5px}.cmenu-ring-bg{stroke:var(--border)}.cmenu-ring-fg{stroke:var(--c);stroke-linecap:round}.cmenu-code{place-items:center;font-size:.68rem;font-weight:800;display:grid;position:absolute;inset:0}.cmenu-course.is-done .cmenu-ring{background:var(--c);color:#fff;border-radius:50%}.cmenu-text{min-width:0}.cmenu-title{font-weight:700;line-height:1.25;display:block}.cmenu-meta{color:var(--text-muted);font-size:.8rem;display:block}.cmenu-foot{border-top:2px dashed var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin-top:10px;padding:10px 8px 0;font-size:.88rem;display:flex}.cmenu-soon{color:var(--text-muted);margin:0}.cmenu-all{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--crayon);text-decoration-color:var(--crayon);text-underline-offset:3px;font-weight:700;text-decoration-thickness:2px}.lesson-side.card{flex-direction:column;padding:0;overflow:hidden}@media (min-width:961px){.lesson-side.card{display:flex}}.lside-course{color:var(--text);padding:14px 16px 8px;text-decoration:none;display:block}.lside-course:hover{text-decoration:none}.lside-course:hover .lside-title{text-decoration:underline}.lside-code{font-family:var(--font-hand), cursive;color:var(--course,var(--crayon));font-size:1.35rem;font-weight:700;line-height:1;display:block}.lside-title{font-weight:800;line-height:1.25;display:block}.lside-prog{border-bottom:2px dashed var(--border);color:var(--text-muted);white-space:nowrap;align-items:center;gap:10px;padding:0 16px 12px;font-size:.8rem;display:flex}.lside-track{background:var(--bg-sunk);border-radius:99px;flex:1;height:6px;overflow:hidden}.lside-track>span{background:var(--course,var(--accent));border-radius:99px;height:100%;display:block}.lside-scroll{overscroll-behavior:contain;padding:6px;overflow:auto}.lesson-layout .lesson-list li a{min-height:44px;padding:8px 10px}.lesson-layout .lesson-list .current{background:color-mix(in srgb, var(--course,var(--accent)) 14%, var(--bg-elev))}.lesson-layout .lesson-list .current .num{background:var(--bg-elev);box-shadow:inset 0 0 0 2px var(--course,var(--accent));color:var(--course,var(--accent))}.lesson-layout .lesson-list .num.done{background:var(--course,var(--accent));color:#fff}.lesson-list .title{line-height:1.25}.ll-meta{color:var(--text-muted);margin-top:1px;font-size:.75rem;font-weight:400;display:block}.ll-steps{border-left:2px dashed color-mix(in srgb, var(--course,var(--accent)) 50%, transparent);gap:1px;margin:2px 0 6px 23px;padding:0 0 0 12px;list-style:none;display:grid}.ll-steps a{color:var(--text-muted);border-radius:10px;align-items:center;gap:8px;min-height:34px;padding:5px 8px;font-size:.85rem;text-decoration:none;display:flex}.ll-steps a:hover{background:var(--bg-sunk);color:var(--text);text-decoration:none}.ll-steps a.is-on{color:var(--text);background:var(--bg-sunk);font-weight:700}.lesson-main h2{scroll-margin-top:88px}.read-bar{z-index:45;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.read-bar>span{background:var(--course,var(--crayon));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.lesson-nav.pager{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pager-card{border:2px solid var(--border);min-width:0;color:var(--text);background:var(--bg-elev);border-radius:18px;flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;display:flex}.pager-card:hover{border-color:var(--course,var(--accent-ink));text-decoration:none}.pager-next{text-align:right;align-items:flex-end}.pager-k{color:var(--text-muted);font-size:.8rem;font-weight:700}.pager-t{font-weight:800;line-height:1.25}@media (max-width:480px){.lesson-nav.pager{grid-template-columns:1fr}.pager-next{order:-1}}.chapter-sheet-head>div{flex:1;min-width:0}.chapter-sheet-sub{color:var(--text-muted);margin:2px 0 8px;font-size:.85rem}.chapter-sheet-sub a{text-underline-offset:2px;text-decoration:underline}.chapter-sheet-title{color:var(--course,var(--crayon))!important}.chapter-track>span{background:var(--course,var(--accent))!important}.chapter-bar{z-index:25!important}.drawer-wrap:not(.is-open) .drawer{visibility:hidden;transition:transform .25s cubic-bezier(.2,.8,.2,1),visibility 0s linear .25s}.drawer-wrap{overflow:hidden}@media (max-width:420px){.header-inner .logo-dc{display:none}}.dc-bar{color:#fffaf0;background:#1f2430;font:600 14px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.dc-bar-in{white-space:nowrap;scrollbar-width:none;align-items:center;gap:18px;max-width:72rem;height:36px;margin:0 auto;padding:0 16px;display:flex;overflow-x:auto}.dc-bar-in::-webkit-scrollbar{display:none}.dc-bar a{color:#fffaf0;opacity:.8;padding:6px 0;text-decoration:none}.dc-bar a:hover,.dc-bar a[aria-current]{opacity:1}.dc-bar a[aria-current]{box-shadow:inset 0 -2px #f97316}.dc-bar .dc-home{opacity:1;align-items:center;gap:6px;margin-right:4px;font-weight:800;display:inline-flex}.dc-bar .dc-home b{color:#fb923c}.dc-bar .dc-home svg{flex:none;width:18px;height:18px}.dc-bar a:focus-visible{outline-offset:2px;outline:2px solid #fb923c}@media (max-width:420px){.dc-bar .dc-wide{display:none}.dc-bar-in{gap:16px}}
