.track-picker,.track-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.track-option{position:relative;display:grid;grid-template-rows:auto auto 1fr auto auto auto;gap:12px;text-align:left;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--ink);transition:transform .15s,border-color .15s,box-shadow .15s}.track-option:before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--t, var(--track));opacity:.55}.track-option:hover{transform:translateY(-2px);border-color:var(--accent-line)}.track-option.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.track-option.selected:before{opacity:1}.track-option-top{display:flex;align-items:center;gap:10px}.track-option-tag{color:var(--ink-3);font:500 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.track-badge{margin-left:auto;padding:4px 10px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.7rem;font-weight:650;letter-spacing:.03em;white-space:nowrap}.track-option strong{font-size:1.3rem;font-weight:650;letter-spacing:-.015em;text-wrap:balance}.track-option-blurb{color:var(--ink-2);font-size:.92rem;line-height:1.55}.track-stats{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--ink-3);font-size:.84rem}.track-stats b{color:var(--ink);font-weight:650;font-variant-numeric:tabular-nums}.track-option-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;color:var(--ink-3);font-size:.82rem;font-variant-numeric:tabular-nums}.track-option-foot span:last-child{color:var(--accent);font-weight:600}.track-detail-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin:44px 0 18px}.track-detail-head h2{margin:6px 0 0}.track-detail-head p{color:var(--ink-2);margin-top:6px;max-width:62ch}.track-detail-actions{display:flex;flex-wrap:wrap;gap:10px}.track-labs{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:28px}.track-labs h3{margin:0 0 4px}.track-labs p{margin:0}.cinematic-tracks-pick{max-width:1600px;margin:auto;padding:0 8vw 150px}.cinematic-tracks-pick .path-heading{margin-bottom:40px}.cinematic-tracks-pick .track-showcase{margin-top:10px}@media(max-width:1100px){.cinematic-tracks-pick{padding:0 6vw 110px}}.pricing-page{display:grid;gap:8px;align-content:start}.page-intro.pricing-intro{text-align:center;border-bottom:0;margin-bottom:0;padding-bottom:20px}.page-intro.pricing-intro h1,.page-intro.pricing-intro .dek{margin-inline:auto}.page-intro.pricing-intro h1{max-width:none;text-wrap:balance}.pricing-intro .dek{max-width:58ch}.period-toggle{justify-self:center;display:inline-flex;padding:4px;gap:2px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface)}.period-toggle button{border:0;background:none;color:var(--ink-2);font-size:.9rem;font-weight:600;padding:9px 18px;border-radius:999px;white-space:nowrap}.period-toggle button.active{background:var(--accent);color:var(--accent-ink)}.best-pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--ok) 16%,var(--surface));color:var(--ok);font-size:.68rem;font-weight:700;letter-spacing:.03em;white-space:nowrap;vertical-align:middle}.period-toggle button.active .best-pill{background:var(--accent-ink);color:var(--accent)}.plan.best .plan-price strong{color:var(--accent)}.lifetime-nudge{text-align:left;border:1px dashed color-mix(in srgb,var(--ok) 45%,var(--line));border-radius:var(--r);background:color-mix(in srgb,var(--ok) 7%,var(--surface));color:var(--ink-2);font-size:.84rem;font-weight:550;padding:9px 11px;line-height:1.45}.lifetime-nudge:hover{color:var(--ink);border-style:solid}.lifetime-nudge .best-pill{margin:0 8px 0 0}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:0 18px;margin-top:28px;align-items:stretch}.plan-grid>.plan{margin-bottom:18px}.plan{position:relative;display:grid;grid-row:span 7;grid-template-rows:subgrid;gap:14px;padding:26px}.plan.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.plan>.track-badge{position:absolute;top:-12px;right:22px}.plan-head{display:flex;align-items:center;gap:12px}.plan-head h2{font-size:1.25rem;margin:0;text-wrap:balance}.plan-head small{margin-bottom:2px}.plan .plan-blurb{color:var(--ink-2);font-size:.92rem}.plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0}.plan-price strong{font-size:clamp(2.2rem,5vw,2.8rem);font-weight:660;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.plan-price span{color:var(--ink-3);font-size:.9rem}.plan .plan-note{color:var(--ink-3);font-size:.86rem;min-height:2.6em}.plan-note b{color:var(--ok);font-weight:650}.plan .button{width:100%}.plan-features{margin-top:4px;font-size:.92rem;align-content:start;align-self:start}.compare-table td small{display:block;color:var(--ink-3);font-size:.78rem;margin-top:2px}.compare-table th:not(:first-child),.compare-table td:not(:first-child){text-align:center;width:110px;font-variant-numeric:tabular-nums}.compare-table td.yes{color:var(--ok);font-weight:700}.compare-table td.no{color:var(--ink-3)}.compare-table tr.total td{font-weight:650;background:var(--surface-2)}.plan-confirm{display:grid;gap:12px;padding-right:36px}.plan-confirm h2{margin:0}.plan-confirm p{color:var(--ink-2)}.plan-confirm .cert-actions{justify-content:flex-start;margin-top:6px}.exam-page{display:grid;gap:18px;align-content:start}.exam-page .page-intro{margin-bottom:0}.exam-rules{display:grid;gap:12px}.exam-best{margin:0;color:var(--ink-2)}.exam-best.ok{color:var(--ok)}.exam-bar{position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top,0px));z-index:5;display:grid;gap:8px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.exam-bar>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.exam-bar span{color:var(--ink-3);font-variant-numeric:tabular-nums}.exam-list{margin-top:4px}.exam-topic{margin:-4px 0 10px;color:var(--ink-3);font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.exam-submit{position:sticky;bottom:12px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:12px 16px;box-shadow:var(--shadow)}.exam-result{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.exam-result h1{font-size:clamp(1.4rem,3.4vw,1.9rem);margin:0 0 6px}.exam-result p{margin:0 0 14px}.exam-score{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.exam-score strong{font-size:clamp(3rem,9vw,4.4rem);font-weight:660;letter-spacing:-.03em;line-height:1}.exam-score span{color:var(--ink-3);font-size:1.3rem}.exam-result.pass{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.exam-result.pass .exam-score strong{color:var(--ok)}.exam-result.fail .exam-score strong{color:var(--bad)}:root{--sans: "Instrument Sans", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;--serif: "Source Serif 4", Charter, "Iowan Old Style", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--max: 1240px;--gutter: clamp(16px, 4vw, 40px);--header-h: 60px;--r-lg: 14px;--r: 10px;--r-sm: 6px}:root[data-theme=light]{color-scheme:light;--bg: #f7f6fb;--surface: #ffffff;--surface-2: #f1eff7;--surface-3: #e6e2f0;--ink: #17122a;--ink-2: #423b58;--ink-3: #665f80;--line: #e5e2ee;--line-2: #d3cfe0;--accent: #6b3fd4;--accent-ink: #ffffff;--ok: #13804f;--warn: #9a5b00;--bad: #c0392b;--code-bg: #130f23;--code-ink: #e6eaf2;--code-muted: #8d99ad;--shadow: 0 1px 2px #1118270d, 0 10px 30px -14px #11182730;--header-bg: #f7f6fbd9;--scene-bg: #f5f3fa;--scene-ink: #170f30;--scene-ink-2: #4f466a;--scene-scrim: #f5f3fad9;--glow: #6b3fd433}:root[data-theme=dark]{color-scheme:dark;--bg: #0c0a17;--surface: #141124;--surface-2: #1b172e;--surface-3: #272140;--ink: #efecf8;--ink-2: #bbb5cf;--ink-3: #968fb2;--line: #221d35;--line-2: #322b4a;--accent: #b79cff;--accent-ink: #0c0a17;--ok: #52c98a;--warn: #f0ae4c;--bad: #f27d7d;--code-bg: #090713;--code-ink: #e6eaf2;--code-muted: #8d99ad;--shadow: 0 1px 2px #0006, 0 16px 40px -18px #000c;--header-bg: #0c0a17d9;--scene-bg: #07050d;--scene-ink: #f1eefb;--scene-ink-2: #c0b8d8;--scene-scrim: #07050dc9;--glow: #c9b0ff40}:root{--accent-soft: color-mix(in srgb, var(--accent) 9%, var(--surface));--accent-line: color-mix(in srgb, var(--accent) 38%, var(--line))}[style*=--track]{--t: var(--track)}[data-theme=light] [style*=--track]{--t: color-mix(in srgb, var(--track) 42%, #1a1429)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .25s ease,color .25s ease}h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--sans);text-wrap:balance}h1{font-size:clamp(2.1rem,4vw,3rem);font-weight:640;line-height:1.06;letter-spacing:-.03em}h2{font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:620;line-height:1.2;letter-spacing:-.02em}h3{font-size:1.1rem;font-weight:620;letter-spacing:-.01em}p{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}code,pre{font-family:var(--mono)}::selection{background:color-mix(in srgb,var(--accent) 28%,transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:0s!important}}.container{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}.container.narrow{max-width:860px}.page{min-height:70vh;padding-top:calc(var(--header-h) + 32px);padding-bottom:80px}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);background:var(--header-bg);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max);height:100%;margin:0 auto;padding-inline:var(--gutter);display:flex;align-items:center;gap:clamp(14px,2vw,32px)}.logo{display:inline-flex;align-items:center;gap:9px;font-weight:680;font-size:1rem;letter-spacing:-.01em;white-space:nowrap}.logo-mark{width:32px;height:32px;flex:none}.logo-text b{font-weight:700}.logo-text span{font-weight:520;color:var(--ink-2)}.site-header nav{display:flex;gap:4px}.site-header nav .nav-account{display:none}.site-header nav a{white-space:nowrap;color:var(--ink-2);font-size:.9rem;font-weight:520;padding:7px 11px;border-radius:var(--r-sm);transition:color .15s,background .15s}.site-header nav a:hover{color:var(--ink);background:var(--surface-2)}.site-header nav a.active{color:var(--ink);background:var(--surface-2)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.theme-toggle,.menu-toggle{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;background:var(--surface);color:var(--ink-2);transition:color .15s,border-color .15s,transform .3s}.theme-toggle:hover{color:var(--ink);border-color:var(--ink-3);transform:rotate(-18deg)}.menu-toggle{display:none;font-size:1.1rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:999px;font-size:.9rem;font-weight:600;border:1px solid transparent;white-space:nowrap;transition:transform .15s,background .15s,border-color .15s,color .15s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.7;cursor:default;transform:none}.button.primary{background:var(--accent);color:var(--accent-ink)}.button.primary:hover{background:color-mix(in srgb,var(--accent) 86%,var(--ink))}.button.ghost{border-color:var(--line-2);background:var(--surface)}.button.ghost:hover{border-color:var(--ink-3)}.button.small{padding:8px 14px;font-size:.84rem}.text-button{display:inline-block;background:none;border:0;padding:6px 0;color:var(--ink-2);font-size:.9rem;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}.text-button:hover{color:var(--ink);text-decoration-color:currentColor}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.dek{color:var(--ink-2);font-size:1.12rem;line-height:1.6;max-width:62ch}.meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--ink-3);font-size:.86rem}.meta span+span:before{content:"·";margin-right:18px;color:var(--line-2)}.crumbs{display:flex;gap:8px;align-items:center;color:var(--ink-3);font-size:.86rem;margin-bottom:18px}.crumbs a:hover{color:var(--ink)}.crumbs span{color:var(--line-2)}.crumbs span:last-child{color:var(--ink-3)}.page-intro{padding:32px 0 36px;border-bottom:1px solid var(--line);margin-bottom:32px}.page-intro h1{margin:10px 0 14px;max-width:22ch}.section-title{margin:48px 0 16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow)}.card h3{margin-bottom:10px}.card p{color:var(--ink-2);font-size:.95rem}.card small{display:block;color:var(--ink-3);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.meter{display:block;height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden}.meter>span{display:block;height:100%;background:var(--t, var(--accent));border-radius:inherit;transition:width .5s ease}.meter.large{height:7px}.check-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}.check-list li{position:relative;padding-left:26px;color:var(--ink-2);font-size:.94rem;line-height:1.45}.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--ok);font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chips button{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);padding:7px 14px;border-radius:999px;font-size:.86rem;font-weight:550}.chips button:hover{color:var(--ink);border-color:var(--ink-3)}.chips button.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}.course-group{margin-top:40px}.course-group>h2{font-size:1.05rem;color:var(--ink-3);margin-bottom:14px}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.course-card{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;transition:border-color .2s,transform .2s,box-shadow .2s}.course-card:hover{border-color:color-mix(in srgb,var(--t) 50%,var(--line));transform:translateY(-2px);box-shadow:var(--shadow)}.course-card-top{display:flex;justify-content:space-between;align-items:center;color:var(--ink-3);font-size:.8rem;font-weight:600}.course-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--r);background:color-mix(in srgb,var(--t) 14%,var(--surface));color:var(--t);font-size:1.15rem}.course-card h3{font-size:1.15rem}.course-card p{color:var(--ink-2);font-size:.93rem;line-height:1.5;flex:1}.course-card-foot{display:flex;justify-content:space-between;color:var(--ink-3);font-size:.84rem}.course-card-foot span:last-child{color:var(--t);font-weight:600}.course-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%);margin-top:calc(-1 * (var(--header-h) + 32px));padding:calc(var(--header-h) + 40px) 0 44px}.course-hero .container{position:relative}.course-universe{position:absolute;top:-120px;right:-8%;width:58%;height:560px;opacity:.75;z-index:0;mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}.universe{position:absolute;overflow:hidden}.universe canvas{width:100%;height:100%;display:block}.course-hero-copy{position:relative;z-index:1;max-width:640px;display:grid;gap:14px;justify-items:start}.course-hero-copy .crumbs{margin-bottom:4px}.course-hero-copy .eyebrow{color:var(--t)}.course-hero-copy .meter{width:100%;max-width:420px;margin:6px 0 8px}.course-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;padding-top:36px}.course-body h2{margin-bottom:16px}.lesson-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.lesson-list a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:14px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .15s,background .15s}.lesson-list a:hover{border-color:var(--accent-line);background:var(--accent-soft)}.lesson-list-copy{display:grid;gap:3px;min-width:0}.lesson-list-copy strong{font-weight:620}.lesson-list-copy small{color:var(--ink-3);font-size:.9rem;line-height:1.45}.lesson-list-time{color:var(--ink-3);font-size:.82rem;white-space:nowrap;padding-top:2px}.nav-index{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface-2);color:var(--ink-3);font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums}.lesson-list a.done .nav-index{background:var(--ok);color:var(--surface)}.course-aside{display:grid;gap:16px;align-content:start;position:sticky;top:calc(var(--header-h) + 24px)}.search-box{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:4px 16px;margin-bottom:28px}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.search-box span{color:var(--ink-3);font-size:1.2rem}.search-box input{flex:1;border:0;background:none;padding:10px 0;outline:none}.search-box small{color:var(--ink-3);font-size:.82rem;white-space:nowrap}.glossary-list{margin:0;display:grid;border-top:1px solid var(--line)}.glossary-list>div{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.glossary-list dt{font-weight:640}.glossary-list dd{margin:0;color:var(--ink-2);font-family:var(--serif);font-size:1.04rem;line-height:1.6}.dashboard-top{display:grid;grid-template-columns:1fr 1.4fr;gap:16px}.stat strong{display:block;font-size:3rem;font-weight:640;letter-spacing:-.03em;line-height:1.1;margin-bottom:16px}.stat strong span{color:var(--ink-3);font-size:1.4rem;font-weight:500}.dashboard-top .card .button{margin-top:16px}.dashboard-tracks{list-style:none;margin:0;padding:0;display:grid;gap:8px}.dashboard-tracks a{display:grid;grid-template-columns:36px minmax(0,1fr) 160px 56px;align-items:center;gap:16px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.dashboard-tracks a:hover{border-color:var(--accent-line)}.dashboard-tracks small{color:var(--ink-3);font-size:.84rem;text-align:right}.account-link{display:flex;align-items:center;gap:18px;margin-top:32px}.account-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:var(--header-h)}.account-aside{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;padding:56px;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--accent) 14%,var(--surface)) 0,var(--surface) 62%);border-right:1px solid var(--line)}.particle-field{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.account-aside-copy{position:relative;display:grid;gap:12px;justify-items:center;max-width:420px}.account-aside-copy h2{font-size:clamp(2rem,3.5vw,2.8rem)}.account-aside-copy p{color:var(--ink-2)}.account-form-wrap{display:grid;place-items:center;padding:48px var(--gutter)}.account-form{width:min(420px,100%);display:grid;gap:14px}.account-form h1{font-size:2rem}.account-form form{display:grid;gap:14px;margin:12px 0 6px}.account-form label{display:grid;gap:6px;color:var(--ink-2);font-size:.88rem;font-weight:560}.account-form input{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:11px 13px;outline:none}.account-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.form-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--ok) 30%,var(--line));border-radius:var(--r);padding:10px 12px;font-size:.9rem}.google-button{width:100%;padding-block:12px}.google-gis{display:flex;justify-content:center;min-height:44px;color-scheme:light}.form-divider{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:.8rem}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--line-2)}.avatar{width:var(--size);height:var(--size);flex:none;display:inline-grid;place-items:center;overflow:hidden;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent);font-size:calc(var(--size) * .38);font-weight:650;letter-spacing:.02em}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-link{display:inline-flex;border-radius:50%;outline:1px solid var(--line-2);outline-offset:1px;transition:outline-color .15s}.avatar-link:hover{outline-color:var(--ink-3)}.profile-page{display:grid;gap:16px;align-content:start}.profile-card{display:flex;align-items:flex-start;gap:22px;flex-wrap:wrap}.profile-id{flex:1;min-width:0;display:grid;gap:6px}.profile-card>.button{margin-left:auto}@media(max-width:640px){.profile-id{flex-basis:100%;order:3}}.profile-id h1{font-size:clamp(1.6rem,4vw,2.1rem);overflow-wrap:anywhere;text-wrap:balance}.profile-card .profile-email{color:var(--ink-3);overflow-wrap:anywhere}.profile-card .profile-bio{color:var(--ink-2);max-width:60ch;overflow-wrap:anywhere}.profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.profile-tag{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);font-size:.8rem;font-weight:540}.profile-tag.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.profile-tag.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.profile-form{display:grid;gap:14px}.profile-form label{display:grid;gap:6px;color:var(--ink-2);font-size:.88rem;font-weight:560}.profile-form input,.profile-form textarea{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:11px 13px;outline:none;font:inherit;color:var(--ink);resize:vertical}.profile-form input:focus,.profile-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.profile-form-actions{display:flex;flex-wrap:wrap;gap:10px}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.profile-next{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.profile-next h3{margin:0}.profile-page .account-link{margin-top:8px;flex-wrap:wrap}.form-error{color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--bad) 30%,var(--line));border-radius:var(--r);padding:10px 12px;font-size:.9rem}.not-found .button{margin-top:8px}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.footer-inner{max-width:var(--max);margin:0 auto;padding:36px var(--gutter);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}.footer-inner p{color:var(--ink-3);font-size:.9rem;margin-top:6px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 24px;color:var(--ink-2);font-size:.9rem}.footer-links a:hover{color:var(--ink)}.footer-inner small{color:var(--ink-3)}@media(max-width:960px){.course-body{grid-template-columns:minmax(0,1fr)}.course-aside{position:static}.course-universe{width:90%;right:-30%;opacity:.4}.dashboard-top,.account-page{grid-template-columns:1fr}.account-aside{min-height:280px;padding:32px var(--gutter);border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:1340px){.menu-toggle{display:inline-grid}.site-header nav{display:none;position:absolute;top:var(--header-h);left:0;right:0;flex-direction:column;padding:10px var(--gutter) 16px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.site-header nav.menu-open{display:flex}.site-header nav .nav-account{display:block;margin-top:6px;padding-top:12px;border-top:1px solid var(--line);border-radius:0;color:var(--accent);font-weight:600}.site-header nav .nav-account.plain{margin-top:0;padding-top:7px;border-top:0;color:var(--ink-2);font-weight:520}}@media(max-width:720px){.header-actions .button.continue{display:none}.header-actions .button.small{padding:8px 12px}.glossary-list>div{grid-template-columns:1fr;gap:4px}.dashboard-tracks a{grid-template-columns:36px minmax(0,1fr) 56px}.dashboard-tracks .meter{display:none}.lesson-list a{grid-template-columns:28px minmax(0,1fr)}.lesson-list-time{display:none}}.modal{width:min(560px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--bg);color:var(--ink);box-shadow:0 30px 80px -20px #000a;overflow:auto;overscroll-behavior:contain}.modal.modal-wide{width:min(940px,calc(100vw - 24px))}.modal::backdrop{background:#0c0a17b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-body{position:relative;padding:clamp(18px,3vw,28px)}.modal-close{position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;background:var(--surface);color:var(--ink-2);font-size:1.3rem;line-height:1}.modal-close:hover{color:var(--ink);border-color:var(--ink-3)}body:has(dialog.modal[open]){overflow:hidden}.profile-cert{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.profile-cert h3{margin:0 0 4px}.profile-cert p{margin:0}.cert-modal .modal-body{padding-top:56px}.cert-scroll{overflow-x:auto}.cert-hint{display:none;margin-top:10px;text-align:center;color:var(--ink-3);font-size:.82rem}@media(max-width:700px){.cert{min-width:640px}.cert-hint{display:block}}.cert{container-type:inline-size;aspect-ratio:1.414 / 1;width:100%;background:#fbf9f3;color:#1d1733;padding:2.2cqw;box-shadow:0 1px 2px #0003}.cert-frame{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;padding:4.2cqw 6cqw 3cqw;border:.35cqw solid #5b34b8;outline:.12cqw solid #b8975a;outline-offset:-1.1cqw;background:radial-gradient(ellipse at 50% 0%,#6b3fd414,transparent 60%)}.cert-brand{font:650 2.1cqw var(--sans);letter-spacing:.02em;color:#1d1733}.cert-brand{display:flex;align-items:center;gap:1.1cqw}.cert-mark{width:3.6cqw;height:3.6cqw}.cert-kicker{font:600 1.55cqw var(--mono);letter-spacing:.42em;text-transform:uppercase;color:#8a6d35;margin-right:-.42em}.cert-lead{font:italic 400 1.9cqw var(--serif);color:#51496b;margin:0}.cert-name{font:600 6.2cqw/1.1 var(--serif);letter-spacing:-.01em;color:#1d1733;overflow-wrap:anywhere;text-wrap:balance}.cert-rule{width:34cqw;height:.14cqw;background:linear-gradient(90deg,transparent,#b8975a,transparent)}.cert-text{font:400 1.85cqw/1.6 var(--serif);color:#3a3352;max-width:68cqw;margin:0}.cert-foot{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:3cqw}.cert-foot>div{display:grid;gap:.5cqw;padding-top:1cqw;border-top:.12cqw solid #1d173355}.cert-foot strong{font:600 1.7cqw var(--sans);color:#1d1733}.cert-foot small{font:500 1.05cqw var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#6c6485}.cert-seal{width:11cqw;height:11cqw;color:#5b34b8}.cert-note{font:400 1.1cqw var(--sans);color:#6c6485}.cert-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}@media print{@page{size:A4 landscape;margin:0}body:has(.cert-modal[open]) *{visibility:hidden}body:has(.cert-modal[open]) .cert,body:has(.cert-modal[open]) .cert *{visibility:visible}.cert-modal[open]{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;max-height:none;height:100vh;border:0;border-radius:0;box-shadow:none;background:#fbf9f3;overflow:visible}.cert-modal .modal-body{padding:0;height:100%;display:grid;place-items:center}.cert-scroll{overflow:visible}.cert{width:min(100vw,141.4vh);min-width:0;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.resource-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.resource-list a{display:grid;gap:4px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .15s,transform .15s}.resource-list a:hover{border-color:var(--accent-line);transform:translateY(-1px)}.resource-list strong{font-size:1rem;font-weight:620}.resource-list strong span{color:var(--accent)}.resource-list small{color:var(--ink-3);font-size:.82rem}.resource-list a>span{color:var(--ink-2);font-size:.92rem}.resource-list em{font:500 .76rem var(--mono);color:var(--accent);font-style:normal;overflow-wrap:anywhere}.exam-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}.exam-card h3{margin:0 0 4px}.exam-card p{margin:0}@media(max-width:520px){.logo{gap:8px}.logo-text{display:grid;font-size:.92rem;line-height:1.08}.logo-text span{font-size:.78rem;letter-spacing:.01em}.header-actions{gap:8px}}.prerender{max-width:860px;margin:0 auto;padding:28px var(--gutter) 64px;line-height:1.65;color:var(--ink);overflow-wrap:anywhere}.prerender header,.prerender nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:.9rem;color:var(--ink-2)}.prerender header{justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:28px}.prerender h1{font-size:clamp(1.9rem,4.4vw,2.9rem);line-height:1.1;letter-spacing:-.02em;margin:.3em 0 .5em;text-wrap:balance}.prerender h2{font-size:1.35rem;margin:1.7em 0 .4em}.prerender h3{font-size:1.05rem;margin:1.2em 0 .3em}.prerender p,.prerender li,.prerender dd{color:var(--ink-2)}.prerender main a{color:var(--accent)}.prerender ul,.prerender ol{padding-left:1.3em;display:grid;gap:6px}.prerender dt{font-weight:650;margin-top:12px}.prerender dd{margin:0}.prerender pre{overflow-x:auto;padding:14px;border-radius:var(--r-sm);background:var(--surface-2);font:.85rem/1.5 var(--mono)}.prerender table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.9rem}.prerender th,.prerender td{padding:6px 10px;border:1px solid var(--line);text-align:left;vertical-align:top}.prerender footer{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font-size:.85rem}.legal-page{max-width:760px}.legal-section{display:grid;gap:10px;margin-top:26px}.legal-section h2{font-size:1.2rem;margin:0}.legal-section p,.legal-section li{color:var(--ink-2);line-height:1.7}.legal-section ul{margin:0;padding-left:1.2em;display:grid;gap:8px}.legal-contact{margin-top:32px;color:var(--ink-2)}.legal-links{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:18px;margin-top:12px;border-top:1px solid var(--line)}.legal-links a,.legal-contact a{color:var(--accent)}.legal-note{margin:0;color:var(--ink-3);font-size:.8rem;line-height:1.5}.legal-note a{color:var(--accent);text-decoration:underline}.footer-links{flex-wrap:wrap}.cinematic-footer>div:nth-child(2){flex-wrap:wrap;gap:14px 24px}.lesson-page{padding-bottom:96px}.lesson-layout{max-width:1320px;margin:0 auto;padding-inline:var(--gutter);display:grid;grid-template-columns:260px minmax(0,1fr) 210px;gap:52px;align-items:start}.lesson-nav{position:sticky;top:calc(var(--header-h) + 20px);max-height:calc(100vh - var(--header-h) - 40px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.lesson-nav-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:14px 16px;background:none;border:0;text-align:left}.lesson-nav-toggle>span{display:grid;gap:2px;min-width:0}.lesson-nav-toggle strong{font-size:.95rem;font-weight:650}.lesson-nav-toggle small{color:var(--ink-3);font-size:.8rem}.lesson-nav .chevron{color:var(--ink-3);flex:none;transition:transform .2s}.lesson-nav.open .chevron{transform:rotate(90deg)}.lesson-nav-body{display:none;border-top:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain}.lesson-nav.open .lesson-nav-body{display:block}.lesson-nav .meter{margin:14px 16px 4px;height:4px}.lesson-nav ol{list-style:none;margin:0;padding:8px}.lesson-nav li a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start;padding:8px;border-radius:var(--r);color:var(--ink-2);font-size:.875rem;line-height:1.4;transition:background .15s,color .15s}.lesson-nav li a:hover{background:var(--surface-2);color:var(--ink)}.lesson-nav li a .nav-index{width:22px;height:22px;font-size:.68rem;margin-top:1px}.lesson-nav li.current a{background:var(--accent-soft);color:var(--ink);font-weight:600}.lesson-nav li.current .nav-index{background:var(--accent);color:var(--accent-ink)}.lesson-nav li.done .nav-index{background:var(--ok);color:var(--surface)}.lesson-nav-back{display:block;padding:12px 16px;border-top:1px solid var(--line);color:var(--ink-2);font-size:.875rem;font-weight:520}.lesson-nav-back:hover{background:var(--surface-2);color:var(--ink)}.lesson-article{min-width:0;max-width:740px}.lesson-header{padding:8px 0 28px;margin-bottom:36px;border-bottom:1px solid var(--line);display:grid;gap:12px}.lesson-header h1{max-width:20ch}.lesson-header .dek{font-family:var(--serif);font-size:1.2rem;font-style:italic;color:var(--ink-2)}.unit-rail{list-style:none;margin:8px 0 0;padding:0;display:flex;gap:4px}.unit-rail li{flex:1;height:5px;border-radius:99px;background:var(--surface-3)}.unit-rail li.past{background:color-mix(in srgb,var(--accent) 45%,var(--surface-3))}.unit-rail li.now{background:var(--accent)}.prose{font-family:var(--serif)}.lesson-section{margin-bottom:52px}.lesson-section>*+*{margin-top:18px}.lesson-section h2{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.section-num{color:var(--ink-3);font:500 .8rem var(--mono);letter-spacing:0}.lesson-section h2+*{margin-top:0}.lesson-section p{color:var(--ink);font-size:1.1rem;line-height:1.75;max-width:68ch}.lesson-section strong{font-weight:650}.lesson-section :not(pre)>code{font-size:.84em;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;overflow-wrap:anywhere}.lesson-section a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:3px}.lesson-section a:hover{text-decoration-color:currentColor}.block-list{margin:0;padding-left:1.3rem;font-size:1.07rem;line-height:1.65}.block-list li+li{margin-top:8px}.block-list li::marker{color:var(--accent)}.callout{--c: var(--accent);border-left:3px solid var(--c);border-radius:0 var(--r) var(--r) 0;background:color-mix(in srgb,var(--c) 8%,var(--surface));padding:14px 18px}.callout strong{display:block;margin-bottom:4px;color:var(--c);font:650 .8rem var(--sans);letter-spacing:.04em;text-transform:uppercase}.lesson-section .callout p{color:var(--ink-2);font-size:1rem;line-height:1.6}.callout.tone-tip{--c: var(--ok)}.callout.tone-warn{--c: var(--warn)}.callout.tone-example{--c: color-mix(in srgb, var(--accent) 55%, #a050e0)}.block-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}.block-steps li{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding-bottom:20px}.block-steps li:not(:last-child):before{content:"";position:absolute;left:16px;top:32px;bottom:4px;width:1px;background:var(--line-2)}.step-index{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);font:650 .85rem var(--sans)}.block-steps strong{display:block;font:640 1rem var(--sans);margin:5px 0 4px}.lesson-section .block-steps p{font-size:1.02rem;color:var(--ink-2);line-height:1.6}.block-code,.block-output{margin:0;border-radius:var(--r);overflow:hidden;background:var(--code-bg);border:1px solid color-mix(in srgb,var(--code-bg) 80%,var(--line-2))}.block-code-bar,.block-output-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid #ffffff14;color:var(--code-muted);font:500 .75rem var(--mono);letter-spacing:.03em;text-transform:lowercase}.block-code-bar button{background:none;border:1px solid #ffffff22;border-radius:6px;padding:3px 10px;color:var(--code-ink);font:500 .72rem var(--sans)}.block-code-bar button:hover{background:#ffffff14}.block-code pre,.block-output pre{margin:0;padding:16px 18px;overflow-x:auto;color:var(--code-ink);font-size:.86rem;line-height:1.65;-moz-tab-size:4;tab-size:4}.block-code figcaption{padding:0 18px 14px;color:var(--code-muted);font:.85rem var(--sans)}.block-output{background:color-mix(in srgb,var(--code-bg) 92%,var(--ok))}.block-output pre{color:color-mix(in srgb,var(--code-ink) 70%,#7ee0a8)}.block-table{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.block-table table{width:100%;border-collapse:collapse;font:.94rem/1.5 var(--sans)}.block-table th{text-align:left;background:var(--surface-2);color:var(--ink-2);font-weight:620;font-size:.82rem;letter-spacing:.02em}.block-table th,.block-table td{padding:10px 14px;border-bottom:1px solid var(--line)}.block-table tr:last-child td{border-bottom:0}.block-deeper{border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.block-deeper summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 16px;font:600 .98rem var(--sans)}.block-deeper summary::-webkit-details-marker{display:none}.block-deeper summary:after{content:"+";margin-left:auto;color:var(--ink-3);font-size:1.2rem;font-weight:400;transition:transform .2s}.block-deeper[open] summary:after{transform:rotate(45deg)}.block-deeper summary span{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:99px;background:var(--accent-soft)}.block-deeper-body{padding:0 16px 16px}.block-deeper-body>*+*{margin-top:14px}.lesson-section .block-deeper-body p{font-size:1.03rem}.block-check{border:1px dashed var(--accent-line);border-radius:var(--r);padding:16px 18px;background:var(--surface)}.block-label{color:var(--accent);font:650 .75rem var(--sans);letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px}.lesson-section .block-check-question{font-size:1.04rem}.block-check summary{cursor:pointer;margin-top:10px;color:var(--accent);font:600 .9rem var(--sans)}.lesson-section .block-check details p{margin-top:8px;color:var(--ink-2);font-size:.98rem}.block-terms{margin:0;display:grid;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.block-terms>div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line)}.block-terms>div:last-child{border-bottom:0}.block-terms dt{font:640 .92rem var(--sans)}.block-terms dt:first-letter,.glossary-list dt:first-letter{text-transform:uppercase}.block-terms dd{margin:0;color:var(--ink-2);font-size:1rem;line-height:1.55}.block-links{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-family:var(--sans)}.lesson-section .block-links a{text-decoration:none;display:inline-flex;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.lesson-section .block-links a:hover{border-color:var(--accent-line)}.lesson-figure{margin:0}.lesson-figure figcaption{margin-top:10px;color:var(--ink-3);font:.88rem/1.5 var(--sans)}.quiz{display:grid;gap:14px;font-family:var(--sans)}.lesson-section .quiz-question{font-family:var(--serif);font-size:1.15rem;font-weight:560}.quiz-options{display:grid;gap:8px}.quiz-options button{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;text-align:left;padding:12px 14px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);font-size:.98rem;transition:border-color .15s,background .15s}.quiz-options button:hover{border-color:var(--accent-line);background:var(--accent-soft)}.quiz-letter{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--ink-3);font-size:.8rem;font-weight:700}.quiz-options button.right{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 9%,var(--surface))}.quiz-options button.right .quiz-letter{background:var(--ok);color:var(--surface)}.quiz-options button.wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,var(--surface))}.quiz-options button.wrong .quiz-letter{background:var(--bad);color:var(--surface)}.lesson-section .quiz-feedback{font:560 .95rem var(--sans)}.quiz-feedback.right{color:var(--ok)}.quiz-feedback.wrong{color:var(--bad)}.quiz .button{justify-self:start}.lesson-section.summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px}.lesson-section.summary .block-list li::marker{content:"✓  ";color:var(--ok)}.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:28px;border-top:1px solid var(--line)}.pager-card{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:border-color .15s,transform .15s}.pager-card:hover{border-color:var(--accent-line);transform:translateY(-1px)}.pager-card small{color:var(--ink-3);font-size:.82rem}.pager-card strong{font-weight:620}.pager-card.next{text-align:right;grid-column:2}.lesson-toc{position:sticky;top:calc(var(--header-h) + 28px);font-size:.86rem}.lesson-toc-title{color:var(--ink-3);font-size:.75rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}.lesson-toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.lesson-toc a{display:block;padding:5px 0 5px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-3);line-height:1.35;transition:color .15s,border-color .15s}.lesson-toc a:hover{color:var(--ink)}.lesson-toc a.active{color:var(--accent);border-left-color:var(--accent);font-weight:600}@media(max-width:1240px){.lesson-layout{grid-template-columns:240px minmax(0,1fr);gap:40px}.lesson-toc{display:none}}@media(max-width:1100px){.lesson-layout{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-nav{position:static;max-height:none}.lesson-article{max-width:none}}@media(max-width:640px){.lesson-section p{font-size:1.04rem}.block-terms>div{grid-template-columns:1fr;gap:2px}.pager{grid-template-columns:1fr}.pager-card.next{grid-column:auto}}.lesson-nav-all{display:flex;align-items:center;gap:8px;width:100%;padding:11px 16px;border:0;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--accent);font-weight:620;font-size:.88rem;text-align:left}.lesson-nav-all:hover{filter:brightness(1.08)}.site-header nav button.nav-picker{white-space:nowrap;color:var(--ink-2);font:inherit;font-size:.9rem;font-weight:520;padding:7px 11px;border:0;border-radius:var(--r-sm);background:none;text-align:left}.site-header nav button.nav-picker:hover{color:var(--ink);background:var(--surface-2)}.card-actions{display:flex;flex-wrap:wrap;gap:10px}.picker-modal .modal-body{display:grid;gap:12px}.picker-modal h2{margin:0;padding-right:44px}.picker-dek{margin:0;color:var(--ink-2);max-width:62ch}.picker-resume{justify-self:start;max-width:100%;text-align:left;white-space:normal}.picker-list{display:grid;gap:8px;max-height:min(52dvh,520px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.picker-module{border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.picker-module>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;list-style:none}.picker-module>summary::-webkit-details-marker{display:none}.picker-module[open]>summary{border-bottom:1px solid var(--line)}.picker-module-name{display:grid;min-width:0}.picker-module-name small{color:var(--ink-3);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.picker-module-name strong{font-size:.95rem;font-weight:640;overflow-wrap:anywhere}.picker-count{color:var(--ink-3);font-size:.8rem;font-variant-numeric:tabular-nums}.picker-module ol{list-style:none;margin:0;padding:6px}.picker-module li a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:8px 10px;border-radius:var(--r-sm);color:var(--ink-2);font-size:.9rem;line-height:1.35}.picker-module li a:hover{background:var(--surface-2);color:var(--ink)}.picker-module li.current a{background:var(--accent-soft);color:var(--ink);font-weight:620}.picker-module li .nav-index{width:30px;height:24px;border-radius:12px;font-size:.7rem}.picker-module li.done .nav-index{background:var(--ok);color:var(--surface)}@media(max-width:1340px){.site-header nav button.nav-picker{display:block;padding:8px 4px}}.b-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);font:600 .7rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}.b-mini{border:1px solid var(--line-2);background:var(--surface);border-radius:6px;padding:2px 8px;font:600 .68rem var(--mono);color:var(--ink-2);text-transform:uppercase}.b-controls{display:flex;gap:8px;padding:0 16px 16px;flex-wrap:wrap}.b-controls button{border:1px solid var(--line-2);background:var(--surface);padding:6px 12px;border-radius:8px;font:.85rem var(--sans);color:var(--ink-2)}.b-controls button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.b-controls button:disabled{opacity:.4;cursor:default}.lesson-section figcaption,.b-viz figcaption{margin-top:10px;color:var(--ink-3);font:.88rem/1.5 var(--sans)}.b-viz{margin:0}.in-short{display:grid;gap:6px;padding:18px 22px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--accent-soft),var(--surface));border:1px solid var(--accent-line);margin-bottom:18px}.in-short span{font:700 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.in-short p{font-size:1.12rem;line-height:1.65;color:var(--ink)}.covers{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:44px;font-family:var(--sans)}.covers summary{cursor:pointer;padding:12px 18px;font-weight:620;font-size:.95rem;list-style:none}.covers summary::-webkit-details-marker{display:none}.covers summary:before{content:"▸ ";color:var(--accent)}.covers[open] summary:before{content:"▾ "}.covers ul{margin:0;padding:0 18px 16px;list-style:none;columns:2 220px;column-gap:24px}.covers li{padding:4px 0 4px 22px;position:relative;font-size:.9rem;color:var(--ink-2);break-inside:avoid}.covers li:before{content:"○";position:absolute;left:0;color:var(--accent)}.b-list{margin:0;padding-left:1.3rem;font-size:1.07rem;line-height:1.65}.b-list li+li{margin-top:8px}.b-list li::marker{color:var(--accent)}.takeaways li::marker{content:"✓  ";color:var(--ok)}.b-callout{--c: var(--accent);display:grid;grid-template-columns:30px 1fr;gap:12px;border:1px solid color-mix(in srgb,var(--c) 30%,var(--line));border-left:3px solid var(--c);border-radius:0 var(--r) var(--r) 0;background:color-mix(in srgb,var(--c) 7%,var(--surface));padding:14px 18px 14px 14px}.b-callout-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:var(--surface);font:700 .85rem var(--sans)}.b-callout>div>strong{display:block;margin-bottom:3px;color:var(--c);font:650 .78rem var(--sans);letter-spacing:.05em;text-transform:uppercase}.lesson-section .b-callout p{color:var(--ink-2);font-size:1rem;line-height:1.6}.b-callout.tone-tip{--c: var(--ok)}.b-callout.tone-warn{--c: var(--warn)}.b-callout.tone-example{--c: var(--s4)}.b-callout.tone-analogy{--c: var(--s2)}.b-steps{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;font-family:var(--sans)}.b-steps-rail{list-style:none;margin:0;padding:16px 16px 4px;display:flex;gap:6px;overflow-x:auto}.b-steps-rail li{flex:1 1 0;min-width:90px;position:relative}.b-steps-rail li:not(:last-child):after{content:"";position:absolute;top:15px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--line-2)}.b-steps-rail li.past:not(:last-child):after{background:var(--accent);transition:background .4s}.b-steps-rail button{width:100%;background:none;border:0;display:grid;justify-items:center;gap:6px;padding:0;color:var(--ink-3)}.b-steps-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line-2);background:var(--surface);font:700 .82rem var(--sans);transition:all .3s;position:relative;z-index:1}.b-steps-rail li.past .b-steps-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.b-steps-rail li.now .b-steps-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 5px var(--accent-soft);transform:scale(1.1)}.b-steps-label{font-size:.74rem;line-height:1.3;text-align:center}.b-steps-rail li.now .b-steps-label{color:var(--ink);font-weight:600}.b-steps-body{margin:12px 16px 14px;padding:14px 16px;border-radius:var(--r);background:var(--accent-soft);animation:b-rise .4s ease both}.b-steps-body>strong{display:block;font:650 1.02rem var(--sans);margin-bottom:4px}.lesson-section .b-steps-body p{font:1.02rem/1.6 var(--serif);color:var(--ink-2)}.b-code{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--code-bg);border:1px solid color-mix(in srgb,var(--code-bg) 80%,var(--line-2));font-family:var(--sans)}.b-code-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px 8px 16px;border-bottom:1px solid #ffffff14}.b-code-lang{color:var(--code-muted);font:500 .75rem var(--mono)}.b-code-actions{display:flex;gap:6px;flex-wrap:wrap}.b-code-actions button{background:none;border:1px solid #ffffff24;border-radius:6px;padding:3px 10px;color:var(--code-ink);font:500 .74rem var(--sans)}.b-code-actions button:hover{background:#ffffff14}.b-code-actions button.practise{border-color:#b79cff88;color:#d9ccff;font-weight:600}.b-code-actions button.practise:hover{background:#b79cff26}.b-code-actions button.run{background:#2fa86a;border-color:#2fa86a;color:#fff;font-weight:600}.b-code pre{margin:0;padding:14px 0;overflow-x:auto;color:var(--code-ink);font:.85rem/1.65 var(--mono);-moz-tab-size:4;tab-size:4}.b-code .ln{display:block;padding:0 18px 0 0;transition:opacity .25s,background .25s}.b-code .ln-n{display:inline-block;width:3.2em;padding-right:1em;text-align:right;color:#ffffff38;-webkit-user-select:none;user-select:none}.b-code .ln.on{background:#b79cff22;box-shadow:inset 3px 0 #b79cff}.b-code .ln.dim{opacity:.38}.tk-k{color:#c792ea}.tk-s{color:#c3e88d}.tk-n{color:#f78c6c}.tk-c{color:#7f8ba3;font-style:italic}.tk-f{color:#82aaff}.b-code-note{margin:0 14px 14px;padding:12px 14px;border-radius:10px;background:#b79cff1c;border:1px solid #b79cff44;animation:b-rise .3s ease both}.b-code-note span{font:600 .7rem var(--mono);color:#a9bcff;text-transform:uppercase;letter-spacing:.06em}.lesson-section .b-code-note p{color:var(--code-ink);font:.95rem/1.55 var(--sans);margin-top:4px}.b-code-note code{background:#ffffff14!important;border-color:#fff2!important;color:var(--code-ink)}.b-code-out{border-top:1px solid #ffffff14;background:color-mix(in srgb,var(--code-bg) 90%,#2fa86a);animation:b-rise .3s ease both}.b-code-out-bar{padding:6px 16px;color:#7ee0a8;font:600 .7rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.b-code-out pre{padding:4px 18px 16px;color:#b9f3cf;white-space:pre-wrap}.caret{animation:b-blink 1s steps(1) infinite;color:#7ee0a8}.b-code-hint{display:block;width:100%;border:0;border-top:1px dashed #ffffff1f;background:none;padding:9px;color:var(--code-muted);font:.8rem var(--sans)}.b-code-hint:hover{color:#7ee0a8}.b-code figcaption{padding:0 18px 14px;color:var(--code-muted)}@keyframes b-blink{50%{opacity:0}}@keyframes b-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.b-table{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.b-table table{width:100%;border-collapse:collapse;font:.93rem/1.5 var(--sans)}.b-table th{text-align:left;background:var(--surface-2);color:var(--ink-2);font-weight:620;font-size:.82rem}.b-table th,.b-table td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}.b-table tbody tr:last-child>*{border-bottom:0}.b-table tbody tr:hover{background:var(--accent-soft)}.b-table a{color:var(--accent)}.b-table.compact{border-radius:0;border:0;border-top:1px solid var(--line)}.b-table th.focus,.b-table td.focus{background:var(--accent-soft);color:var(--ink);font-weight:560}.b-compare{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;font-family:var(--sans)}.b-compare-cards{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px;padding:16px}.b-compare-card{text-align:left;display:grid;align-content:start;gap:8px;padding:16px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface-2);font-size:.9rem;color:var(--ink-2);opacity:0;transform:translateY(14px);transition:opacity .5s var(--d),transform .5s var(--d),border-color .2s,box-shadow .2s}.b-compare.in-view .b-compare-card{opacity:1;transform:none}.b-compare.in-view .b-compare-card.fade{opacity:.45}.b-compare-card.focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface)}.b-compare-tag{font:600 .66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.b-compare-card>strong{font-size:1.05rem;color:var(--ink)}.b-compare-card ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.b-compare-card li{padding-left:20px;position:relative;line-height:1.45}.b-compare-card .pros li:before{content:"+";position:absolute;left:2px;color:var(--ok);font-weight:700}.b-compare-card .cons li:before{content:"−";position:absolute;left:2px;color:var(--bad);font-weight:700}.b-compare-card small{color:var(--ink-3);line-height:1.45}.b-compare tbody tr{opacity:0;transition:opacity .4s var(--d)}.b-compare.in-view tbody tr{opacity:1}.b-compare-verdict{display:grid;gap:4px;padding:14px 18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--ok) 7%,var(--surface))}.b-compare-verdict span{font:700 .7rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ok)}.lesson-section .b-compare-verdict p{font:.98rem/1.55 var(--sans);color:var(--ink)}@media(max-width:720px){.b-compare-cards{grid-template-columns:1fr}}.b-chart{margin:0;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.b-chart>figcaption{padding:0 16px 14px}.b-chart-wrap{position:relative;padding:14px 10px 4px}.b-chart svg{width:100%;height:auto;display:block;overflow:visible}.b-chart .grid{stroke:var(--line)}.b-chart .axis{stroke:var(--line-2);stroke-width:1.2}.b-chart .tick,.b-chart .val{font:11px var(--mono);fill:var(--ink-3)}.b-chart .tick.label{font-family:var(--sans);font-size:12px;fill:var(--ink-2)}.b-chart .axis-label{font:600 11px var(--sans);fill:var(--ink-3);letter-spacing:.03em}.b-chart .bar{transform:scaleY(0);transition:transform .8s cubic-bezier(.2,.8,.2,1);cursor:pointer}.b-chart .bar.h{transform:scaleX(0)}.b-chart.in-view .bar{transform:none}.b-chart .bar:hover{filter:brightness(1.15)}.b-chart .val{opacity:0;transition:opacity .4s}.b-chart.in-view .val{opacity:1}.b-chart .line{fill:none;stroke:var(--c);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s ease}.b-chart.in-view .line{stroke-dashoffset:0}.b-chart .area{fill:var(--c);opacity:0;transition:opacity 1s .6s}.b-chart.in-view .area{opacity:.14}.b-chart .dot{fill:var(--c);stroke:var(--surface);stroke-width:1.5;opacity:0;transition:opacity .3s;cursor:pointer}.b-chart.in-view .dot{opacity:1}.b-chart .dot:hover{stroke:var(--ink)}.b-chart .legend{display:flex;gap:12px;flex-wrap:wrap;text-transform:none;letter-spacing:0}.b-chart .legend i{font-style:normal;display:inline-flex;align-items:center;gap:5px}.b-chart .legend i:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--c)}.b-tip{position:absolute;transform:translate(-50%,calc(-100% - 10px));background:var(--ink);color:var(--bg);padding:4px 9px;border-radius:6px;font:600 .75rem var(--sans);white-space:nowrap;pointer-events:none;z-index:2}.b-flow{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;font-family:var(--sans)}.b-flow-row{display:flex;align-items:center;padding:22px 16px 10px;overflow-x:auto;gap:0}.b-flow-node{flex:0 0 auto;display:grid;justify-items:center;gap:4px;min-width:92px;max-width:150px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--surface-2);font:600 .82rem/1.3 var(--sans);color:var(--ink-2);text-align:center;opacity:0;transform:scale(.85);transition:opacity .4s var(--d, 0s),transform .4s var(--d, 0s),border-color .3s,background .3s,box-shadow .3s,color .3s}.b-flow.in-view .b-flow-node{opacity:1;transform:none}.b-flow-node span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);font-size:.7rem;color:var(--ink-3);transition:all .3s}.b-flow-node.past{border-color:var(--accent-line)}.b-flow-node.on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);box-shadow:0 0 0 4px var(--accent-soft),0 8px 24px -10px var(--accent);transform:translateY(-2px)!important}.b-flow-node.on span{background:var(--accent);color:var(--accent-ink)}.b-flow-edge{flex:1 0 28px;height:2px;background:var(--line-2);position:relative;min-width:28px}.b-flow-edge.past{background:var(--accent-line)}.b-flow-edge i{position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:var(--accent);opacity:0}.b-flow-edge.live i{animation:b-travel 1.6s ease-in-out infinite}.b-flow-edge:after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left-color:var(--line-2)}@keyframes b-travel{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}to{left:calc(100% - 10px);opacity:0}}.b-flow-ring{position:relative;width:min(100%,420px);aspect-ratio:1;margin:10px auto 0}.b-flow-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.b-flow-ring .ring{fill:none;stroke:var(--line-2);stroke-width:1.5;stroke-dasharray:4 5}.b-flow-ring .ring-pulse{fill:none;stroke:var(--accent);stroke-width:3;stroke-dasharray:40 450;stroke-linecap:round;transform-origin:100px 100px;transform:rotate(calc(var(--rot) - 90deg));transition:transform .9s cubic-bezier(.4,0,.2,1)}.b-flow-ring .b-flow-node{position:absolute;transform:translate(-50%,-50%) scale(.85);max-width:130px}.b-flow.in-view .b-flow-ring .b-flow-node{transform:translate(-50%,-50%)}.b-flow-ring .b-flow-node.on{transform:translate(-50%,-50%) scale(1.06)!important}.b-flow-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:2.4rem;color:var(--accent-line);pointer-events:none}.b-flow-detail{margin:10px 16px 16px;padding:12px 16px;border-radius:var(--r);background:var(--accent-soft);animation:b-rise .35s ease both}.b-flow-detail span{font:650 .8rem var(--sans);color:var(--accent)}.lesson-section .b-flow-detail p{font:.98rem/1.55 var(--sans);color:var(--ink-2);margin-top:3px}.b-matrix{margin:0;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.b-matrix>figcaption{padding:0 16px 14px}.b-matrix-scroll{overflow-x:auto;padding:14px}.b-matrix table{border-collapse:separate;border-spacing:3px;margin:0 auto;font:.74rem var(--mono)}.b-matrix th{color:var(--ink-3);font-weight:500;padding:2px 6px;white-space:nowrap}.b-matrix thead th{writing-mode:initial}.b-matrix td{min-width:46px;height:36px;text-align:center;border-radius:5px;color:var(--ink);background:var(--surface-3);transition:background .6s,color .6s,transform .2s}.b-matrix.in-view td:not(.masked){background:color-mix(in srgb,var(--accent) calc(var(--k) * 85% + 6%),var(--surface-2));color:color-mix(in srgb,var(--accent-ink) calc(var(--k) * 100%),var(--ink))}.b-matrix td.masked{color:var(--ink-3);background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 4px,var(--surface-3) 4px,var(--surface-3) 8px)}.b-matrix td:hover{transform:scale(1.08);outline:2px solid var(--ink)}.b-timeline{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;font-family:var(--sans)}.b-timeline ol{list-style:none;margin:0;padding:18px 18px 6px;position:relative}.b-timeline ol:before{content:"";position:absolute;left:92px;top:22px;bottom:22px;width:2px;background:var(--line-2)}.b-timeline li{display:grid;grid-template-columns:76px 1fr;gap:30px;padding-bottom:16px;position:relative;opacity:0;transform:translate(-10px);transition:opacity .5s var(--d),transform .5s var(--d)}.b-timeline.in-view li{opacity:1;transform:none}.b-timeline li:before{content:"";position:absolute;left:69px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:3px solid var(--accent)}.b-timeline .when{font:600 .8rem var(--mono);color:var(--accent);text-align:right;padding-top:2px}.b-timeline li>div>strong{display:block;font-size:.98rem}.lesson-section .b-timeline p{font:.93rem/1.5 var(--sans);color:var(--ink-2)}.b-formula{margin:0;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);padding:20px;text-align:center}.b-formula-expr{font:1.18rem/1.6 var(--serif);font-style:italic;color:var(--ink);overflow-x:auto;padding:4px 0 10px}.b-formula dl{margin:6px 0 0;display:grid;gap:4px;text-align:left;border-top:1px dashed var(--line-2);padding-top:12px}.b-formula dl>div{display:grid;grid-template-columns:minmax(46px,auto) 1fr;gap:12px;font:.9rem/1.5 var(--sans)}.b-formula dt{font:italic 600 .98rem var(--serif);color:var(--accent);text-align:right}.b-formula dd{margin:0;color:var(--ink-2)}.b-check{border:1.5px dashed var(--accent-line);border-radius:var(--r-lg);padding:16px 18px;background:var(--surface);font-family:var(--sans)}.b-check.open{border-style:solid;border-color:color-mix(in srgb,var(--ok) 50%,var(--line))}.b-label{color:var(--accent);font:650 .72rem var(--sans);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.lesson-section .b-check-q{font:1.04rem/1.6 var(--serif)}.b-check button{margin-top:10px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);padding:6px 14px;border-radius:8px;font:600 .86rem var(--sans)}.lesson-section .b-check-a{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font:.98rem/1.6 var(--sans);color:var(--ink-2);animation:b-rise .35s ease both}.b-deeper{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.b-deeper summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 16px;font:600 .98rem var(--sans)}.b-deeper summary::-webkit-details-marker{display:none}.b-deeper summary:after{content:"+";margin-left:auto;color:var(--ink-3);font-size:1.2rem;font-weight:400;transition:transform .2s}.b-deeper[open] summary:after{transform:rotate(45deg)}.b-deeper summary span{color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:99px;background:var(--accent-soft)}.b-deeper-body{padding:0 16px 16px}.b-deeper-body>*+*{margin-top:14px}.b-tabs{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.b-tabs-bar{display:flex;gap:2px;padding:6px 6px 0;background:var(--surface-2);border-bottom:1px solid var(--line);overflow-x:auto}.b-tabs-bar button{border:0;background:none;padding:8px 14px;border-radius:8px 8px 0 0;font:600 .85rem var(--sans);color:var(--ink-3);white-space:nowrap}.b-tabs-bar button.on{background:var(--surface);color:var(--ink);box-shadow:inset 0 2px 0 var(--accent)}.b-tabs-body{padding:16px;animation:b-rise .3s ease both}.b-tabs-body>*+*{margin-top:14px}.b-terms{margin:0;display:grid;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);font-family:var(--sans)}.b-terms>div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line)}.b-terms>div:last-child{border-bottom:0}.b-terms dt{font-weight:650;font-size:.93rem}.b-terms dd{margin:0;color:var(--ink-2);font-size:.97rem;line-height:1.55}.quiz-section{background:var(--surface);border:1px solid var(--accent-line);border-radius:var(--r-lg);padding:24px}.quiz-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.lesson-section .quiz-intro p{font:.98rem/1.5 var(--sans);color:var(--ink-2)}.quiz-badge{padding:4px 10px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line-2);font:600 .78rem var(--sans);color:var(--ink-2)}.quiz-badge.ok{color:var(--ok);border-color:var(--ok)}.quiz-list{list-style:none;margin:0;padding:0;display:grid;gap:22px;counter-reset:q}.quiz-q{padding:16px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg);transition:border-color .3s}.quiz-q.right{border-color:color-mix(in srgb,var(--ok) 55%,var(--line))}.quiz-q.wrong{border-color:color-mix(in srgb,var(--bad) 55%,var(--line))}.lesson-section .quiz-question{display:flex;gap:10px;font:560 1.08rem/1.5 var(--serif);margin-bottom:12px}.quiz-num{flex:none;font:700 .75rem var(--mono);color:var(--accent);padding-top:4px}.quiz-options button{position:relative;grid-template-columns:30px 1fr auto}.quiz-options button.selected{border-color:var(--accent);background:var(--accent-soft)}.quiz-options button.selected .quiz-letter{background:var(--accent);color:var(--accent-ink)}.quiz-options button:disabled{cursor:default}.quiz-options button.correct{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--surface))}.quiz-options button.correct .quiz-letter{background:var(--ok);color:var(--surface)}.quiz-options button.incorrect{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,var(--surface));animation:b-shake .4s}.quiz-options button.incorrect .quiz-letter{background:var(--bad);color:var(--surface)}.quiz-options button.faded{opacity:.55}.quiz-tick{color:var(--ok);font-weight:800}.quiz-explain{margin-top:10px;padding:10px 14px;border-radius:8px;background:var(--surface-2);font:.93rem/1.55 var(--sans);color:var(--ink-2);animation:b-rise .3s ease both}.quiz-q.right .quiz-explain strong{color:var(--ok)}.quiz-q.wrong .quiz-explain strong{color:var(--bad)}.quiz-submit{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:6px;font:.9rem var(--sans);color:var(--ink-3)}.quiz-submit .button:disabled{opacity:.45;cursor:not-allowed}.quiz-result{position:relative;display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:center;padding:20px;border-radius:var(--r-lg);font-family:var(--sans);overflow:hidden;animation:b-rise .4s ease both}.quiz-result.pass{background:color-mix(in srgb,var(--ok) 11%,var(--surface));border:1px solid var(--ok)}.quiz-result.fail{background:color-mix(in srgb,var(--warn) 10%,var(--surface));border:1px solid var(--warn)}.quiz-result strong{font-size:1.12rem}.lesson-section .quiz-result p{font:.95rem/1.5 var(--sans);color:var(--ink-2);margin-top:4px}.quiz-score{position:relative;width:96px;height:96px}.quiz-score svg{width:100%;height:100%;transform:rotate(-90deg)}.quiz-score .track{fill:none;stroke:var(--surface-3);stroke-width:3.2}.quiz-score .fill{fill:none;stroke-width:3.2;stroke-linecap:round;stroke:var(--ok);animation:b-ring 1s ease both}.quiz-result.fail .quiz-score .fill{stroke:var(--warn)}.quiz-score b{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:700 1.3rem var(--sans)}.quiz-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}@keyframes b-ring{0%{stroke-dasharray:0 100}}@keyframes b-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.confetti i{position:absolute;top:-10px;left:calc(var(--i) * 4.2%);width:7px;height:12px;border-radius:2px;background:hsl(calc(var(--i) * 47deg) 80% 60%);animation:b-fall 1.8s calc(var(--i) * 40ms) ease-in forwards}@keyframes b-fall{to{transform:translateY(260px) rotate(540deg);opacity:0}}@media(max-width:560px){.quiz-result{grid-template-columns:1fr;justify-items:start}.quiz-section{padding:16px}.b-terms>div{grid-template-columns:1fr;gap:2px}}@media(prefers-reduced-motion:reduce){.confetti{display:none}.b-chart .bar,.b-chart .line{transition:none}}.reading-progress{position:fixed;top:var(--header-h);left:0;right:0;height:3px;z-index:30;pointer-events:none}.reading-progress span{display:block;height:100%;background:var(--accent);transform-origin:0 50%}.lesson-loading{display:grid;gap:14px}.lesson-loading span{height:18px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:b-shimmer 1.2s linear infinite}.lesson-loading span:nth-child(2){width:80%}.lesson-loading span:nth-child(3){width:60%}@keyframes b-shimmer{to{background-position:-200% 0}}.lesson-pending{margin-bottom:40px}.lesson-credit{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);font:.82rem/1.55 var(--sans)!important;color:var(--ink-3)!important}.lesson-credit a{color:var(--ink-2);text-decoration:underline}.meta .ok{color:var(--ok);font-weight:600}.lesson-nav li.locked a{opacity:.55}.lesson-nav li.locked .nav-index{background:none;font-size:.7rem}.lesson-nav-toggle small:first-child{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.pager-card.locked{border-style:dashed;opacity:.8}.locked-page{text-align:center;display:grid;gap:16px;justify-items:center;padding-top:40px}.locked-page .card{text-align:left;width:100%}.lock-icon{font-size:2.6rem;animation:b-rise .5s ease both}.locked-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.locked-note{font-size:.95rem;color:var(--ink-2)}.locked-note a{color:var(--accent)}.lesson-list a.locked{opacity:.55}.overall{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin-bottom:18px}.overall small{display:block;color:var(--ink-3);font-size:.8rem}.overall strong{font-size:1.6rem}.overall strong span{font-size:.95rem;color:var(--ink-3);font-weight:500}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:20px 0 56px}.module-card{--t: var(--track);display:grid;gap:10px;align-content:start;padding:20px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.module-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--t)}.module-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--t) 50%,var(--line));box-shadow:var(--shadow)}.module-card.locked{opacity:.72}.module-card-top{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:.8rem}.module-stage{margin-left:auto;padding:2px 8px;border-radius:99px;background:var(--surface-2);font-size:.72rem}.module-card h3{font-size:1.12rem}.module-card p{color:var(--ink-2);font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.module-card-lessons{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:.8rem;color:var(--ink-3)}.module-card-lessons li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-card-lessons li.done{color:var(--ok)}.module-card-lessons li.done:before{content:"✓ "}.module-card-lessons .more{font-style:italic}.glance{margin-bottom:56px}.section-dek{color:var(--ink-2);margin:-6px 0 18px}.learning-path{list-style:none;margin:0;padding:0 0 0 4px;position:relative;display:grid;gap:4px;max-width:760px}.learning-path:before{content:"";position:absolute;left:27px;top:20px;bottom:20px;width:2px;background:var(--line-2)}.learning-path li{--t: var(--track);opacity:0;transform:translateY(12px);transition:opacity .5s var(--d),transform .5s var(--d)}.learning-path.in-view li{opacity:1;transform:none}.learning-path a{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:center;padding:8px 12px 8px 0;border-radius:var(--r);transition:background .2s}.learning-path a:hover{background:var(--surface)}.lp-node{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;position:relative;z-index:1;background:var(--surface);border:2px solid var(--line-2);font-size:1.1rem;color:var(--ink-3);transition:all .3s}.learning-path li.open .lp-node{border-color:var(--t);color:var(--ink);background:conic-gradient(color-mix(in srgb,var(--t) 40%,transparent) calc(var(--p) * 360deg),var(--surface) 0)}.learning-path li.full .lp-node{background:var(--t);color:#141a29;border-color:var(--t)}.lp-node span{width:36px;height:36px;border-radius:50%;background:var(--surface);display:grid;place-items:center}.learning-path li.full .lp-node span{background:transparent}.learning-path li.locked{filter:grayscale(.7)}.lp-copy{display:grid;gap:2px}.lp-copy small{color:var(--ink-3);font-size:.76rem}.lp-copy strong{font-size:1rem}.lp-meter{height:4px;border-radius:4px;background:var(--surface-3);overflow:hidden;max-width:260px;margin:4px 0 2px}.lp-meter i{display:block;height:100%;width:calc(var(--p) * 100%);background:var(--t);transition:width .8s}.guide-toc{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 36px}.guide-toc a{display:inline-flex;gap:8px;padding:7px 12px;border:1px solid var(--line-2);border-radius:99px;font-size:.86rem;color:var(--ink-2);background:var(--surface)}.guide-toc a:hover{border-color:var(--accent-line);color:var(--ink)}.guide-toc span{font:600 .74rem var(--mono);color:var(--accent)}.guide-section{margin-bottom:56px;display:grid;gap:14px;max-width:900px}.guide-section>p{color:var(--ink-2);font:1.08rem/1.7 var(--serif);max-width:70ch}.guide-section .lead{color:var(--ink);font-size:1.22rem}.guide-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.guide-points .card>strong{display:block;margin-bottom:4px}.guide-points .card p{color:var(--ink-2);font-size:.92rem}.equation{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:20px;border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid var(--accent-line)}.eq-label{font-weight:700}.eq-term{padding:8px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--accent-line);font-weight:600;animation:b-rise .5s var(--d) ease both}.eq-plus{color:var(--accent);font-weight:700;font-size:1.2rem}.audience{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.audience li{padding:14px 16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--ink-2);font-size:.94rem}.audience strong{color:var(--ink)}.learn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.learn-grid a{--t: var(--track);display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--t);transition:transform .2s}.learn-grid a:hover{transform:translateY(-2px)}.learn-grid small{color:var(--ink-3);font-size:.74rem}.learn-grid strong{display:block;font-size:.95rem}.learn-grid p{font-size:.8rem;color:var(--ink-2);margin-top:4px;line-height:1.45}.how-to li{color:var(--ink-2)}.guide-cta{text-align:center;padding:20px 0 40px}.glossary-group h2{font:700 1.1rem var(--mono);color:var(--accent);margin:28px 0 8px}.glossary-link{display:inline-block;margin-left:8px;color:var(--accent);font-size:.82rem;font-weight:600;white-space:nowrap}.faq{display:grid;gap:10px}.faq-item{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;transition:border-color .2s}.faq-item.open{border-color:var(--accent-line)}.faq-item>button{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;padding:16px 18px;background:none;border:0;font-weight:620;font-size:1rem}.faq-item>button i{font-style:normal;font-size:1.3rem;color:var(--accent);transition:transform .25s}.faq-item.open>button i{transform:rotate(45deg)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-a>div{overflow:hidden}.faq-a p{padding:0 18px 18px;color:var(--ink-2);line-height:1.65}.dek.small{font-size:1rem}.dashboard-top{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}.lab-grid{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px}.lab-grid li{display:grid}.lab-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;text-align:left;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--ink);transition:transform .15s,border-color .15s}.lab-card:hover,.lab-card:focus-visible{transform:translateY(-2px);border-color:var(--accent-line)}.lab-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font:500 .72rem var(--mono);letter-spacing:.08em;color:var(--ink-3)}.lab-card-icon{--c: hsl(var(--h, 262) 88% 68%);position:relative;flex:none;width:44px;height:44px;display:inline-grid;place-items:center;border-radius:12px;color:var(--c);background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--c) 30%,var(--surface)),color-mix(in srgb,var(--c) 10%,var(--surface)));border:1px solid color-mix(in srgb,var(--c) 45%,var(--line));animation:lab-glow 3.6s ease-in-out infinite;animation-delay:var(--delay, 0s)}[data-theme=light] .lab-card-icon{--c: hsl(var(--h, 262) 72% 46%)}.lab-icon{width:24px;height:24px;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--c) 70%,transparent));animation:lab-float 3.6s ease-in-out infinite;animation-delay:var(--delay, 0s)}.lab-card:hover .lab-card-icon,.lab-card:focus-visible .lab-card-icon{animation-duration:1.4s}.lab-card:hover .lab-icon{transform:scale(1.12)}@keyframes lab-glow{0%,to{box-shadow:0 0 color-mix(in srgb,var(--c) 0%,transparent),0 0 10px -2px color-mix(in srgb,var(--c) 45%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 14%,transparent),0 0 22px 2px color-mix(in srgb,var(--c) 60%,transparent)}}@keyframes lab-float{0%,to{translate:0 0}50%{translate:0 -1.5px}}@media(prefers-reduced-motion:reduce){.lab-card-icon,.lab-icon{animation:none}}.lab-card-index{margin-right:auto;color:var(--ink-3)}.lab-card strong{font-size:1.08rem;font-weight:640;letter-spacing:-.01em;text-transform:capitalize;text-wrap:balance}.lab-card-desc{color:var(--ink-2);font-size:.88rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.lab-card-open{color:var(--accent);font-size:.86rem;font-weight:600}.lab-chips{margin-top:16px}.lab-chips button span{opacity:.6;margin-left:4px;font-variant-numeric:tabular-nums}.lab-plan{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.lab-plan h3{margin:0 0 4px}.lab-plan p{margin:0;max-width:62ch}.lab-card.locked strong,.lab-card.locked .lab-card-desc{color:var(--ink-3)}.lab-card.locked .lab-card-open{color:var(--ink-2)}.lab-free{margin-right:8px;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok);font-size:.72rem;font-weight:650}.lab-locked{display:grid;justify-items:center;gap:10px;text-align:center;padding:36px 16px;border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--surface)}.lab-locked .lock-icon{font-size:2rem}.lab-locked h3{margin:0}.lab-locked p{color:var(--ink-2);max-width:46ch}.lab-empty{margin-top:24px;color:var(--ink-3)}.lab-modal h2{display:flex;align-items:center;gap:12px;font-size:clamp(1.3rem,3vw,1.7rem);text-transform:capitalize;margin:8px 0 10px;padding-right:36px}.lab-modal-desc{color:var(--ink-2);font-size:.95rem;margin-bottom:16px;max-width:70ch}.lab-modal .lab-used{margin-top:14px}.lab-used{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.82rem;color:var(--ink-3)}.lab-used a{color:var(--accent)}.reset-confirm{display:inline-flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.9rem;color:var(--ink-2)}.text-button.danger{color:var(--bad);font-weight:600}:root{--s1: var(--accent);--s2: #e0803a;--s3: #2fa88a;--s4: #b45bd0}[data-theme=dark]{--s2: #f5a25d;--s3: #5fd3b0;--s4: #d48ff0}.viz{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;font-family:var(--sans)}.viz-head{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);font:600 .7rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.viz-body{padding:18px 18px 14px;display:grid;gap:14px}.viz-foot{padding:10px 16px;border-top:1px solid var(--line);font-size:.85rem;color:var(--ink-2);background:var(--accent-soft)}.viz-missing,.viz-loading{padding:22px;color:var(--ink-3);font-size:.9rem}.viz-missing p{margin-top:6px}.viz-prompt{font:1.05rem/1.5 var(--serif);color:var(--ink-2)}.viz-prompt b{color:var(--accent)}.viz-slider{min-width:0;display:grid;gap:6px;font-size:.85rem;color:var(--ink-2)}.viz-slider-top{display:flex;justify-content:space-between}.viz-slider-top b{font-family:var(--mono);color:var(--ink)}.viz-slider input{width:100%;max-width:100%;margin-inline:0;accent-color:var(--accent)}.viz-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface-2);justify-self:start}.viz-seg button{border:0;background:none;padding:5px 12px;border-radius:999px;font-size:.82rem;color:var(--ink-2)}.viz-seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.viz-controls{display:flex;flex-wrap:wrap;gap:8px}.viz-btn{border:1px solid var(--line-2);background:var(--surface);padding:6px 12px;border-radius:8px;font-size:.82rem;color:var(--ink-2);transition:border-color .15s,background .15s}.viz-btn:hover:not(:disabled){border-color:var(--accent-line);color:var(--ink)}.viz-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.viz-btn:disabled{opacity:.45;cursor:default}.viz-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.viz-stat{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--surface-2)}.viz-stat small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}.viz-stat strong{font:600 1.05rem/1.3 var(--mono);color:var(--ink)}.viz-stat.ok strong{color:var(--ok)}.viz-stat.bad strong{color:var(--bad)}.viz-stat.on strong{color:var(--accent)}.viz-bars{display:grid;gap:7px}.viz-bar{display:grid;grid-template-columns:minmax(70px,120px) 1fr 64px;align-items:center;gap:10px;font-size:.85rem}.viz-bar-label{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-bar-track{height:14px;border-radius:7px;background:var(--surface-3);overflow:hidden}.viz-bar-track i{display:block;height:100%;border-radius:7px;background:color-mix(in srgb,var(--accent) 55%,var(--surface-3));transition:width .45s cubic-bezier(.2,.8,.2,1)}.viz-bar.on .viz-bar-track i{background:var(--accent)}.viz-bar.off{opacity:.4}.viz-bar.off .viz-bar-track i{background:var(--ink-3)}.viz-bar.ok .viz-bar-track i{background:var(--ok)}.viz-bar.bad .viz-bar-track i{background:var(--bad)}.viz-bar-val{font:.8rem var(--mono);text-align:right;color:var(--ink)}.viz-svg{width:100%;height:auto;display:block;overflow:visible}.viz-svg text,.viz-label{font:11px var(--mono);fill:var(--ink-3)}.viz-axis{stroke:var(--line-2);stroke-width:1.2}.viz-grid{stroke:var(--line);stroke-width:1}.viz-curve{fill:none;stroke:var(--accent);stroke-width:2.5}.viz-curve.alt{stroke:var(--s2)}.viz-curve.alt2{stroke:var(--s3)}.viz-guide{stroke:var(--ink-3);stroke-dasharray:4 4;opacity:.6}.viz-trail{stroke:var(--s2);stroke-width:2;stroke-dasharray:3 3}.viz-ball{fill:var(--s2);stroke:var(--surface);stroke-width:2;transition:cx .4s cubic-bezier(.2,.8,.2,1),cy .4s cubic-bezier(.2,.8,.2,1)}.viz-dot{fill:var(--accent);transition:cx .5s ease,cy .5s ease,opacity .3s,r .3s}.viz-dot.alt{fill:var(--s2)}.viz-dot.alt2{fill:var(--s3)}.viz-dot.muted{fill:var(--ink-3);opacity:.45}.viz-node{fill:var(--surface-2);stroke:var(--line-2);stroke-width:1.5;transition:fill .3s,stroke .3s,opacity .3s}.viz-node.on{fill:var(--accent-soft);stroke:var(--accent)}.viz-edge{stroke:var(--line-2);stroke-width:1.5;transition:stroke .3s,opacity .3s}.viz-edge.on{stroke:var(--accent);stroke-width:2.2}.viz-grid-cells{display:grid;gap:3px}.viz-cell{aspect-ratio:1;border-radius:4px;background:var(--surface-3);display:grid;place-items:center;font:600 .68rem var(--mono);color:var(--ink-2);transition:background .3s,color .3s,transform .3s,opacity .3s}.viz-cell.on{background:var(--accent);color:var(--accent-ink)}.viz-cell.alt{background:var(--s2);color:#fff}.viz-cell.ok{background:var(--ok);color:#fff}.viz-cell.bad{background:var(--bad);color:#fff}.viz-cell.muted{opacity:.35}.viz-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface-2);font:.8rem var(--mono);color:var(--ink-2);transition:all .3s}.viz-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.viz-chip.ok{border-color:var(--ok);color:var(--ok)}.viz-chip.bad{border-color:var(--bad);color:var(--bad);text-decoration:line-through}.viz-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.viz-log{font:.78rem/1.55 var(--mono);background:var(--code-bg);color:var(--code-ink);border-radius:10px;padding:12px 14px;max-height:220px;overflow:auto;white-space:pre-wrap}.viz-log .dim{color:var(--code-muted)}.viz-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.viz-two{grid-template-columns:1fr}.viz-bar{grid-template-columns:70px 1fr 54px}}@keyframes viz-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes viz-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.viz-pop{animation:viz-pop .35s cubic-bezier(.2,.9,.3,1.3) both}.viz-fade{animation:viz-fade .35s ease both}@media(prefers-reduced-motion:reduce){.viz-pop,.viz-fade{animation:none}}.cinematic-home{background:var(--scene-bg);color:var(--scene-ink);overflow:clip}.story-scroll{position:relative;height:400vh}.story-sticky{position:sticky;top:0;height:100vh;min-height:600px;overflow:hidden;background:var(--scene-bg);transition:background-color .4s ease}.universe-fallback{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 22%,var(--scene-bg)) 0,var(--scene-bg) 65%)}.exploded-core{top:0;right:0;bottom:0;left:0;z-index:1;filter:drop-shadow(0 0 30px var(--glow))}[data-theme=light] .exploded-core{filter:drop-shadow(0 6px 22px #6b3fd41f)}.story-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 12%,color-mix(in srgb,var(--scene-bg) 15%,transparent) 44%,color-mix(in srgb,var(--scene-bg) 82%,transparent) 92%),linear-gradient(0deg,color-mix(in srgb,var(--scene-bg) 62%,transparent),transparent 28%,transparent 70%,color-mix(in srgb,var(--scene-bg) 52%,transparent))}.story-noise{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:.05;background-image:radial-gradient(var(--scene-ink-2) .45px,transparent .45px);background-size:8px 8px;-webkit-mask-image:radial-gradient(circle,transparent 15%,#000 75%);mask-image:radial-gradient(circle,transparent 15%,#000 75%)}.story-topline,.story-bottom{position:absolute;z-index:6;left:3.2%;right:3.2%;display:flex;justify-content:space-between;align-items:center;color:var(--scene-ink-2);font:500 .62rem var(--mono);letter-spacing:.18em}.story-topline{top:calc(var(--header-h) + 22px);justify-content:center;text-align:center}.story-bottom{bottom:32px}.replay-control{border:1px solid color-mix(in srgb,var(--scene-ink) 30%,transparent);border-radius:999px;background:color-mix(in srgb,var(--scene-bg) 70%,transparent);color:var(--scene-ink);padding:9px 13px;font:500 .62rem var(--mono);letter-spacing:.12em;transition:background .2s,color .2s}.replay-control:hover{background:var(--scene-ink);color:var(--scene-bg)}.story-scene{position:absolute;z-index:5;left:50%;top:50%;width:min(790px,76vw);text-align:center;opacity:0;filter:blur(20px);pointer-events:none;transform:translate(-50%,-45%) scale(.96);transition:opacity .8s ease,filter .8s ease,transform 1s ease}.story-scene.is-active{opacity:1;filter:blur(0);pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.story-scene:before{content:"";position:absolute;top:-24px;right:-48px;bottom:-24px;left:-48px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,var(--scene-scrim),transparent 74%)}.story-scene.scene-0,.story-scene.scene-1,.story-scene.scene-2{text-align:left}.story-scene.scene-0{left:8.5%;top:48%;width:min(590px,47vw);transform:translateY(-45%) scale(.96)}.story-scene.scene-1{left:7%;top:28%;width:min(540px,45vw);transform:translateY(-45%) scale(.96)}.story-scene.scene-0.is-active,.story-scene.scene-1.is-active{transform:translateY(-50%) scale(1)}.story-scene.scene-2{left:60%;top:27%;width:min(490px,39vw)}.story-scene.scene-3{top:29%}.story-eyebrow,.cinematic-kicker{color:var(--accent);font:600 .66rem var(--mono);letter-spacing:.2em}.story-eyebrow{display:flex;align-items:center;gap:12px;justify-content:center}.story-scene.scene-0 .story-eyebrow,.story-scene.scene-1 .story-eyebrow,.story-scene.scene-2 .story-eyebrow{justify-content:flex-start}.tiny-line{width:22px;height:1px;background:currentColor}.story-scene .story-title{margin:22px 0 20px;color:var(--scene-ink);font-size:clamp(46px,5.9vw,88px);font-weight:520;line-height:1.02;letter-spacing:-.05em}.story-scene.scene-0 .story-title{font-size:clamp(50px,5.5vw,84px)}.story-scene.scene-1 .story-title,.story-scene.scene-2 .story-title{font-size:clamp(44px,4.8vw,70px)}.story-scene .story-title .title-line{display:block;white-space:nowrap}.story-scene .story-title .title-word{display:inline-block;white-space:nowrap}.story-scene .story-title .title-line.muted{color:var(--scene-ink-2)}.story-scene .story-title .title-character{display:inline-block;opacity:0;filter:blur(13px);transform:translateY(18px);transition:opacity .65s ease,filter .65s ease,transform .65s ease;transition-delay:0ms}.story-scene.is-active .story-title .title-character{opacity:1;filter:blur(0);transform:translateY(0);transition-delay:var(--character-delay)}.story-scene p{max-width:480px;margin:0 auto;color:var(--scene-ink-2);font-family:var(--serif);font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.65}.story-scene.scene-0 p,.story-scene.scene-1 p,.story-scene.scene-2 p{margin-left:0}.story-actions{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:30px}.story-scene.scene-0 .story-actions,.story-scene.scene-1 .story-actions,.story-scene.scene-2 .story-actions{justify-content:flex-start}.story-primary{display:inline-flex;align-items:center;gap:28px;padding:13px 22px;border-radius:999px;background:var(--scene-ink);color:var(--scene-bg);font-size:.86rem;font-weight:650;box-shadow:0 6px 32px var(--glow);transition:transform .2s,box-shadow .2s}.story-primary:hover{transform:translateY(-3px);box-shadow:0 8px 44px var(--glow)}.story-secondary{color:var(--scene-ink);font-size:.86rem;font-weight:550}.story-secondary span{padding-left:12px}.story-chapters{position:absolute;z-index:7;right:3%;top:50%;transform:translateY(-50%);display:grid;gap:14px}.story-chapters button{display:flex;align-items:center;gap:10px;background:none;border:0;color:var(--scene-ink-2);opacity:.7;font:500 .62rem var(--mono);letter-spacing:.1em;text-align:left;transition:color .25s,opacity .25s}.story-chapters button i{display:block;width:13px;height:1px;background:currentColor;transition:width .3s}.story-chapters button.active{color:var(--scene-ink);opacity:1}.story-chapters button.active i{width:28px;background:var(--accent);box-shadow:0 0 12px var(--glow)}.cinematic-home h2{margin:24px 0;color:var(--scene-ink);font-size:clamp(42px,5.4vw,80px);font-weight:520;line-height:1.04;letter-spacing:-.045em}.cinematic-home h2 i{font-style:normal;color:var(--accent)}.cinematic-reveal{opacity:0;transform:translateY(45px);filter:blur(7px);transition:opacity 1s ease,transform 1s ease,filter 1s ease}.cinematic-reveal.is-visible{opacity:1;transform:none;filter:none}.cinematic-intro,.cinematic-path,.cinematic-spotlight{max-width:1600px;margin:auto;padding:150px 8vw}.intro-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:70px}.intro-grid>div{padding-bottom:25px}.intro-grid p,.path-heading p,.spotlight-copy p{color:var(--scene-ink-2);font-family:var(--serif);font-size:1.1rem;line-height:1.75}.intro-grid p+p{margin-top:14px}.cinematic-text-link{display:inline-flex;gap:24px;margin-top:16px;padding:10px 0;border-bottom:1px solid var(--accent);color:var(--scene-ink);font-size:.9rem;font-weight:600}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:120px;border-top:1px solid var(--line-2)}.principles>div{padding-top:25px}.principles span,.principles strong,.principles p{display:block}.principles span{color:var(--accent);font:600 .66rem var(--mono);letter-spacing:.15em}.principles strong{margin-top:30px;font-size:1.6rem;font-weight:560;letter-spacing:-.03em}.principles p{color:var(--scene-ink-2);font-size:.95rem;margin-top:6px}.cinematic-path{border-top:1px solid var(--line)}.path-heading{display:flex;justify-content:space-between;align-items:end;gap:50px}.path-heading p{max-width:360px;margin-bottom:40px}.cinematic-tracks{margin-top:70px;border-top:1px solid var(--line-2)}.cinematic-track{position:relative;min-height:220px;display:grid;grid-template-columns:90px 200px 1fr 140px;align-items:center;gap:25px;padding:25px 10px;border-bottom:1px solid var(--line-2);transition:background .4s}.cinematic-track:hover{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--t) 10%,transparent),transparent)}.track-ordinal{color:var(--t);font:500 .7rem var(--mono)}.track-constellation{position:relative;width:170px;height:170px;border:1px solid color-mix(in srgb,var(--t) 30%,transparent);border-radius:50%;transform:rotateX(50deg) rotate(-25deg);transition:transform .8s}.cinematic-track:hover .track-constellation{transform:rotateX(0) rotate(15deg)}.track-constellation:before,.track-constellation:after{content:"";position:absolute;top:26px;right:26px;bottom:26px;left:26px;border:1px solid color-mix(in srgb,var(--t) 30%,transparent);border-radius:50%;transform:rotateY(66deg)}.track-constellation:after{top:8px;right:8px;bottom:8px;left:8px;transform:rotateX(70deg)}.track-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--t);font-size:40px;text-shadow:0 0 22px color-mix(in srgb,var(--t) 60%,transparent)}[data-theme=light] .track-center{text-shadow:none}.track-star{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--t);box-shadow:0 0 14px 4px color-mix(in srgb,var(--t) 30%,transparent)}.track-star.a{top:13%;left:28%}.track-star.b{top:37%;right:2%}.track-star.c{bottom:14%;right:25%}.track-star.d{bottom:25%;left:4%}.track-words small{color:var(--t);font:600 .64rem var(--mono);letter-spacing:.15em}.track-words h3{margin:12px 0;color:var(--scene-ink);font-size:clamp(24px,2.8vw,38px);font-weight:540;letter-spacing:-.035em}.track-words p{max-width:470px;color:var(--scene-ink-2);font-size:.95rem}.track-open{color:var(--t);text-align:right;font:600 .66rem var(--mono);letter-spacing:.08em}.cinematic-spotlight>.cinematic-reveal{display:grid;grid-template-columns:40% 60%;align-items:center;gap:30px}.spotlight-copy{padding-right:30px}.spotlight-copy .story-primary{margin-top:25px}.spotlight-visual{position:relative;height:470px;overflow:hidden;border:1px solid var(--line-2);border-radius:var(--r-lg);background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 16%,var(--scene-bg)),var(--scene-bg) 70%)}.spotlight-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.6;background-image:linear-gradient(color-mix(in srgb,var(--accent) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent) 1px,transparent 1px);background-size:10% 10%;transform:perspective(400px) rotateX(25deg) scale(1.2)}.spotlight-word{position:absolute;z-index:3;color:var(--scene-ink);font-family:var(--serif);font-size:1.2rem;text-shadow:0 0 18px var(--glow)}.spotlight-word.one{top:57%;left:12%}.spotlight-word.two{top:51%;left:26%}.spotlight-word.three{top:25%;left:41%}.spotlight-word.four{top:61%;left:58%}.spotlight-word.five{top:45%;left:76%;color:var(--accent);font-size:1.6rem}.spotlight-visual svg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;overflow:visible}.spotlight-visual path{fill:none;stroke:var(--accent);stroke-width:1.4;filter:drop-shadow(0 0 5px var(--glow));stroke-dasharray:400;stroke-dashoffset:400;animation:trace-line 5s ease-in-out infinite}.spotlight-visual path:nth-child(2){animation-delay:.4s;opacity:.55}.spotlight-visual path:nth-child(3){animation-delay:.8s;opacity:.4}@keyframes trace-line{0%{stroke-dashoffset:400}40%,75%{stroke-dashoffset:0}to{stroke-dashoffset:-400}}.spotlight-caption{position:absolute;left:25px;right:25px;bottom:20px;display:flex;justify-content:space-between;color:var(--scene-ink-2);font:500 .62rem var(--mono);letter-spacing:.12em}.cinematic-ending{position:relative;min-height:700px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;border-top:1px solid var(--line);background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 18%,var(--scene-bg)) 0,var(--scene-bg) 62%)}.ending-halo{position:absolute;top:50%;left:50%;width:430px;height:430px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:0 0 80px var(--glow),inset 0 0 50px var(--glow);transform:translate(-50%,-50%) rotateX(66deg);animation:end-orbit 18s linear infinite}.ending-halo:before,.ending-halo:after{content:"";position:absolute;top:40px;right:40px;bottom:40px;left:40px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);transform:rotate(43deg) rotateY(60deg)}.ending-halo:after{top:-50px;right:-50px;bottom:-50px;left:-50px;transform:rotate(-25deg) rotateY(40deg)}@keyframes end-orbit{to{transform:translate(-50%,-50%) rotateX(66deg) rotate(360deg)}}.cinematic-ending>.cinematic-reveal{position:relative}.cinematic-ending h2{font-size:clamp(64px,7.5vw,112px)}.cinematic-ending p{margin-bottom:34px;color:var(--scene-ink-2);font-family:var(--serif);font-size:1.15rem}.cinematic-footer{display:flex;justify-content:space-between;align-items:center;padding:36px 5vw;border-top:1px solid var(--line);background:var(--scene-bg);color:var(--scene-ink-2);font:500 .7rem var(--mono);letter-spacing:.06em}.cinematic-footer>div:first-child{color:var(--scene-ink);font:650 1rem var(--sans);letter-spacing:0}.cinematic-footer>div:nth-child(2){display:flex;gap:30px}.cinematic-footer a:hover{color:var(--scene-ink)}@media(max-width:900px){.cinematic-intro,.cinematic-path,.cinematic-spotlight{padding:110px 6vw}.cinematic-intro{padding-top:48px}.cinematic-track{grid-template-columns:50px 150px 1fr;gap:16px}.track-constellation{width:140px;height:140px}.track-open{display:none}.cinematic-spotlight>.cinematic-reveal{grid-template-columns:1fr}.spotlight-visual{margin-top:50px}.story-scene,.story-scene.scene-0,.story-scene.scene-1,.story-scene.scene-2,.story-scene.scene-3{left:50%;top:calc(var(--header-h) + 62px);bottom:auto;width:86vw;text-align:center;transform:translate(-50%,14px) scale(.96)}.story-scene.is-active,.story-scene.scene-0.is-active,.story-scene.scene-1.is-active,.story-scene.scene-2.is-active{transform:translate(-50%) scale(1)}.story-scene:before{top:-20px;right:-7vw;bottom:-20px;left:-7vw;background:linear-gradient(to top,transparent,var(--scene-bg) 16%)}.story-chapters,.story-bottom{display:none}.story-scene .story-title{margin:14px 0}.story-scene.scene-0 .story-eyebrow,.story-scene.scene-1 .story-eyebrow,.story-scene.scene-2 .story-eyebrow,.story-scene.scene-0 .story-actions,.story-scene.scene-1 .story-actions,.story-scene.scene-2 .story-actions{justify-content:center}.story-scene.scene-0 p,.story-scene.scene-1 p,.story-scene.scene-2 p{margin:auto}}@media(max-width:700px){.story-topline{left:5%;right:5%}.story-bottom{left:5%;right:5%;gap:10px}.story-chapters{right:5px;gap:10px}.story-chapters button{font-size:0;gap:5px}.story-chapters button span{font-size:.55rem}.story-scene{width:84vw}.story-scene .story-title,.story-scene.scene-0 .story-title,.story-scene.scene-1 .story-title,.story-scene.scene-2 .story-title{font-size:clamp(32px,9.6vw,64px)}.story-scene .story-title .title-line{white-space:normal}.story-actions{flex-direction:column;gap:18px}.intro-grid,.path-heading{display:block}.principles{grid-template-columns:1fr;margin-top:70px;gap:0}.principles>div{padding:26px 0;border-bottom:1px solid var(--line)}.principles strong{margin-top:14px}.cinematic-tracks{margin-top:44px}.cinematic-track{grid-template-columns:42px 90px 1fr;min-height:170px;padding:20px 0;gap:8px}.track-constellation{width:84px;height:84px}.track-center{font-size:26px}.track-words p{display:none}.spotlight-visual{height:340px}.cinematic-ending{min-height:620px;padding:50px 6vw}.cinematic-ending h2{font-size:60px}.ending-halo{width:300px;height:300px}.cinematic-footer{display:block}.cinematic-footer>div:nth-child(2){margin:22px 0}}@media(prefers-reduced-motion:reduce){.story-scroll{height:100vh}.story-sticky{position:relative}.story-scene{display:none;transition:none}.story-scene.scene-0{display:block;opacity:1;filter:none;transform:translateY(-50%)}.story-scene .title-character{opacity:1!important;filter:none!important;transform:none!important;transition:none}.story-chapters{display:none}.cinematic-reveal{opacity:1;transform:none;filter:none}.spotlight-visual path,.ending-halo{animation:none}}@media(prefers-reduced-motion:reduce)and (max-width:900px){.story-scene.scene-0{transform:translate(-50%)}}@media(max-width:520px){.story-topline{letter-spacing:.08em;white-space:nowrap}}.cinematic-footer .footer-brand{display:flex;align-items:center;gap:10px}.footer-mark{width:26px;height:26px}
