:root{--surface: #050505;--elevated: #0a0a0a;--raised: #121212;--ink: #ffffff;--muted: #9a9a9a;--dim: #6b6b6b;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .18);--accent: #f97056;--accent-ink: #050505;--accent-soft: rgba(249, 112, 86, .12);--ok: #4ade80;--ok-soft: rgba(74, 222, 128, .12);--warn: #fbbf24;--bad: #f87171;--font: "Heebo", "Inter", system-ui, sans-serif;--latin: "Inter", "Heebo", system-ui, sans-serif;color-scheme:dark}@media(prefers-color-scheme:light){:root{--surface: #f8fafc;--elevated: #ffffff;--raised: #f1f5f9;--ink: #0f172a;--muted: #475569;--dim: #64748b;--line: rgba(15, 23, 42, .1);--line-strong: rgba(15, 23, 42, .22);--accent: #b84a32;--accent-ink: #ffffff;--accent-soft: rgba(184, 74, 50, .1);--ok: #15803d;--ok-soft: rgba(21, 128, 61, .1);--warn: #b45309;--bad: #b91c1c;color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background-color:var(--surface);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:50px 50px;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}button{font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.shell{display:flex;min-height:100vh;flex-direction:column}.bar{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bar-inner,.main,.foot{width:100%;max-width:1080px;margin-inline:auto;padding-inline:16px}.bar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}.wordmark{display:inline-flex;align-items:baseline;gap:8px;border:0;background:none;color:var(--ink);cursor:pointer;padding:4px 0}.wordmark-name{font-family:var(--latin);font-size:20px;font-weight:900;letter-spacing:-.03em;text-transform:uppercase}.wordmark-name:after{content:"";display:inline-block;width:8px;height:8px;margin-inline-start:4px;background:var(--accent)}.wordmark-by{font-family:var(--latin);font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.bar-actions{display:flex;gap:8px}.main{flex:1;padding-block:32px 64px}.foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-block:20px;color:var(--dim);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--line-strong);border-radius:0;background:var(--elevated);color:var(--ink);cursor:pointer;font-weight:700;padding:8px 18px;transition:background-color .12s ease,border-color .12s ease,opacity .12s ease}.btn:hover:not(:disabled){border-color:var(--ink)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){border-color:var(--accent);opacity:.9}.btn-ghost{background:transparent}.btn-subtle{border-color:transparent;background:transparent;color:var(--muted)}.btn-subtle:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.btn-sm{min-height:32px;padding:4px 12px;font-size:14px}.btn-lg{min-height:48px;padding:10px 24px;font-size:17px}.kicker{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.kicker:before{content:"";width:24px;height:2px;background:var(--accent)}.muted{color:var(--muted)}.error-text{color:var(--bad);font-weight:700;margin:0}.section{margin-top:64px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title{margin:0 0 20px;font-size:28px;font-weight:900;letter-spacing:-.02em;line-height:1.1}.section-lead{max-width:640px;margin:-8px 0 24px;color:var(--muted)}.hero{padding-block:40px 8px}.hero-title{max-width:820px;margin:0;font-size:clamp(36px,6vw,64px);font-weight:900;letter-spacing:-.03em;line-height:1}.hero-lead{max-width:680px;margin:24px 0 8px;font-size:19px;color:var(--ink)}.hero-note{margin:0;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.part{margin-bottom:32px}.part-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:8px}.part-num{color:var(--accent);font-weight:700}.part-title{margin:0;font-size:20px;font-weight:800}.part-sub{color:var(--muted);font-family:var(--latin);font-size:14px}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.plan{border:1px solid var(--line);background:var(--elevated);padding:24px}.plan-full{border-color:var(--accent)}.plan-name{margin:0;font-size:15px;font-weight:700;color:var(--muted)}.plan-figure{margin:8px 0;font-size:32px;font-weight:900;letter-spacing:-.02em;line-height:1.1}.plan-body{margin:0;color:var(--muted)}.modules{display:grid;gap:12px;margin:0;padding:0;list-style:none}.module{border:1px solid var(--line);background:var(--elevated)}.module-focus{border-inline-start:3px solid var(--accent)}.module-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;border-bottom:1px solid var(--line);padding:14px 16px}.module-num{color:var(--accent);font-size:13px;font-weight:700}.module-title{flex:1;margin:0;font-size:18px;font-weight:800;line-height:1.3}.module-count{color:var(--dim);font-size:13px}.lessons{margin:0;padding:0;list-style:none}.lessons li+li{border-top:1px solid var(--line)}.lesson-row{display:flex;width:100%;align-items:center;gap:12px;border:0;background:none;color:var(--ink);padding:12px 16px;text-align:start}button.lesson-row{cursor:pointer}button.lesson-row:hover{background:var(--raised)}.lesson-title{flex:1}.lesson-mark{width:10px;height:10px;flex-shrink:0;border:2px solid var(--line-strong)}.lesson-mark.is-open{border-color:var(--accent)}.lesson-mark.is-done{border-color:var(--ok);background:var(--ok)}.tag{display:inline-flex;align-items:center;border:1px solid var(--line-strong);padding:1px 8px;font-size:12px;font-weight:700;white-space:nowrap}.tag-free{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tag-done{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.tag-locked{color:var(--dim)}.directions{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:16px}.direction{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);background:var(--elevated);padding:20px}.direction-chosen{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.direction-title{margin:0;font-size:19px;font-weight:800}.direction-body{margin:0;color:var(--muted)}.direction-modules{flex:1;margin:4px 0 8px;padding:0;list-style:none;font-size:14px}.direction-modules li{padding-block:2px}.direction-num{display:inline-block;min-width:20px;color:var(--accent);font-weight:700}.direction .btn,.direction-tag{align-self:flex-start}.focus-current{border:1px solid var(--accent);background:var(--elevated);padding:20px}.auth{display:flex;max-width:420px;flex-direction:column;gap:12px;margin:24px auto 0}.auth-title{margin:0;font-size:32px;font-weight:900;letter-spacing:-.02em}.form{display:flex;flex-direction:column;gap:16px;border:1px solid var(--line);background:var(--elevated);padding:24px}.field{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}.field input{min-height:44px;border:1px solid var(--line-strong);border-radius:0;background:var(--surface);color:var(--ink);font:inherit;font-weight:400;padding:8px 12px}.field input:focus{border-color:var(--accent);outline:none}.field small{font-weight:400}.dash-head{display:grid;grid-template-columns:1fr minmax(260px,360px);gap:24px;align-items:end}.dash-title{margin:0 0 12px;font-size:clamp(30px,5vw,44px);font-weight:900;letter-spacing:-.03em;line-height:1.05}.progress-card{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);background:var(--elevated);padding:20px}.progress-label{margin:0;font-weight:700}.progress{height:6px;background:var(--raised)}.progress span{display:block;height:100%;background:var(--accent)}.unlock{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;border:1px solid var(--accent);background:var(--accent-soft);padding:24px}.unlock-title{margin:0;font-size:22px;font-weight:900}.unlock-body{margin:4px 0 0;color:var(--muted)}.unlock-price{margin:8px 0 0;font-size:26px;font-weight:900}.unlock-action{display:flex;max-width:340px;flex-direction:column;gap:8px}.unlock-action p{margin:0}.lesson{max-width:780px;margin-inline:auto}.lesson>.btn-subtle{margin-bottom:20px;margin-inline-start:-18px}.lesson-heading{margin:0 0 24px;font-size:clamp(28px,4.5vw,40px);font-weight:900;letter-spacing:-.02em;line-height:1.15}.video{position:relative;margin-bottom:28px;border:1px solid var(--line);background:#000;aspect-ratio:16 / 9}.video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.prose{font-size:17px;line-height:1.75}.prose h2,.prose h3,.prose h4{margin:1.6em 0 .5em;line-height:1.25;font-weight:800}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose ul,.prose ol{padding-inline-start:1.4em}.prose a{color:var(--accent)}.prose code{border:1px solid var(--line);background:var(--raised);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em;padding:0 4px}.prose pre{overflow-x:auto;border:1px solid var(--line);background:var(--raised);padding:16px;text-align:left}.prose pre code{border:0;padding:0}.locked{border:1px solid var(--line);background:var(--elevated);padding:24px}.locked .unlock{margin-top:20px}.lesson-done{display:flex;align-items:center;gap:12px;margin-top:32px;border-top:1px solid var(--line);padding-top:24px}.lesson-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.note{border:1px solid var(--line);background:var(--elevated);color:var(--muted);padding:16px 20px}.note-ok{margin-top:32px;border-color:var(--ok);color:var(--ok);font-weight:700}.error-box{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;border:1px solid var(--bad);color:var(--bad);font-weight:700;padding:14px 18px}.center-note{display:flex;flex-direction:column;align-items:center;gap:16px;padding-block:80px;color:var(--muted)}.spinner{width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}@media(max-width:720px){.dash-head{grid-template-columns:1fr}.section{margin-top:48px}.bar-actions .btn{padding-inline:12px}.wordmark-by{display:none}}
