:root{--orange:#ff7a00;--orange-2:#ff8f2a;--orange-ink:#c85a00;--peach:#ffc29c;--cream:#ffe6d3;--lav:#8e7ba9;--ink:#2d2a33;--bg:#fff7f0;--surface:#fff;--surface-2:#ffefe2;--fg:#24212a;--muted:#6b6472;--line:#f0dccb;--lav-soft:#efeaf6;--on-orange:#fff;--ok:#2f8f5b;--danger:#d2453a;--logo-eye:#2d2a33;--bug-shadow:#2d2a331a;--avatar-bg-1:#efeaf6;--avatar-bg-2:#ffe6d3;--avatar-code:#2d2a3329;--term-bg:#14131a;--term-bar:#1f1d27;--term-fg:#ede6f2;--term-dim:#8c8597;--term-green:#7bd88f;--grid-line:#2d2a330f;--shadow:0 12px 32px -16px #783c0a59;--shadow-lg:0 30px 60px -30px #50280a73;--display:"Sora","Trebuchet MS",system-ui,sans-serif;--body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--brand:"Montserrat","Sora",system-ui,sans-serif;--r:18px;--ease:cubic-bezier(.2,.7,.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0c14;--surface:#15151f;--surface-2:#1b1b27;--fg:#f3eef6;--muted:#aba3b5;--line:#2a2938;--lav-soft:#26213a;--orange-ink:#ff9a3d;--cream:#2b2018;--ok:#5bc08a;--danger:#ff7b70;--logo-eye:#f6eee7;--bug-shadow:#00000073;--avatar-bg-1:#26213a;--avatar-bg-2:#2b2018;--avatar-code:#ffffff1f;--term-bg:#07070d;--term-bar:#12121b;--grid-line:#ffffff0b;--shadow:0 12px 32px -16px #000c;--shadow-lg:0 30px 60px -30px #000000e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0c14;--surface:#15151f;--surface-2:#1b1b27;--fg:#f3eef6;--muted:#aba3b5;--line:#2a2938;--lav-soft:#26213a;--orange-ink:#ff9a3d;--cream:#2b2018;--ok:#5bc08a;--danger:#ff7b70;--logo-eye:#f6eee7;--bug-shadow:#00000073;--avatar-bg-1:#26213a;--avatar-bg-2:#2b2018;--avatar-code:#ffffff1f;--term-bg:#07070d;--term-bar:#12121b;--grid-line:#ffffff0b;--shadow:0 12px 32px -16px #000c;--shadow-lg:0 30px 60px -30px #000000e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--bg);color:var(--fg);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);position:fixed;inset:0 0 auto}img{max-width:100%}.wrap{max-width:1180px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));margin:0 auto}h1,h2,h3{font-family:var(--display);text-wrap:balance;letter-spacing:-.02em;margin:0;line-height:1.12}h2{font-size:clamp(1.9rem,3.8vw,2.7rem);font-weight:700}h3{font-size:1.2rem;font-weight:600}p{margin:0}a{color:inherit}button{font:inherit;cursor:pointer;color:inherit}code{font-family:var(--mono);font-size:.9em}:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:8px}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--orange-ink);align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"//";color:var(--muted);font-weight:500}.empty{color:var(--muted)}.btn{white-space:nowrap;transition:transform .12s var(--ease),background-color .15s,border-color .15s,box-shadow .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transition-duration:50ms;transform:translateY(0)scale(.97)}.btn-primary{background:var(--orange);color:var(--on-orange);box-shadow:0 8px 20px -10px #ff7a00cc}.btn-primary:hover{background:var(--orange-2);box-shadow:0 12px 26px -10px #ff7a00e6}.btn-ghost{border-color:var(--fg);color:var(--fg);background:0 0}.btn-ghost:hover{background:var(--fg);color:var(--bg)}.btn-soft{background:var(--surface-2);color:var(--fg);border-color:var(--line)}.btn-soft:hover{border-color:var(--orange)}.btn-sm{padding:8px 16px;font-size:.92rem}.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn .arrow{transition:transform .2s var(--ease)}.btn:hover .arrow{transform:translate(3px)}.logo-lockup{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.wordmark{font-family:var(--brand);letter-spacing:-.01em;white-space:nowrap;font-size:1.28rem;font-weight:500;line-height:1}.wordmark .o{color:var(--orange)}.logo-mark .spark{transform-box:fill-box;transform-origin:50%}a:hover .logo-mark .spark{animation:spark .6s var(--ease)}.logo-mark .logo-eyes{transform-box:fill-box;transform-origin:50%;animation:5s infinite blink}header.site{top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid #0000;transition:border-color .2s,box-shadow .2s;position:sticky}header.site.scrolled{border-bottom-color:var(--line);box-shadow:0 10px 30px -24px #00000080}.nav{transition:padding .2s var(--ease);align-items:center;gap:22px;padding-block:14px;display:flex}header.site.scrolled .nav{padding-block:9px}.nav ul{gap:2px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.nav ul a{color:var(--muted);border-radius:999px;padding:8px 12px;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .15s,background-color .15s;position:relative}.nav ul a:hover{color:var(--fg);background:var(--surface-2)}.nav ul a[aria-current=page]{color:var(--fg)}.nav ul a[aria-current=page]:after{content:"";background:var(--orange);border-radius:2px;height:2px;position:absolute;bottom:3px;left:12px;right:12px}.nav .auth{align-items:center;gap:8px;display:flex}.menu-btn{color:var(--fg);background:0 0;border:0;margin-left:auto;padding:8px;display:none}.user-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:.9rem;font-weight:700;text-decoration:none;transition:border-color .15s;display:flex}.user-chip:hover{border-color:var(--orange)}.avatar{background:var(--orange);color:#fff;width:32px;height:32px;font-family:var(--display);border-radius:50%;place-items:center;font-weight:700;display:grid}.tier-pill{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--lav-soft);color:var(--lav);border-radius:999px;padding:3px 8px;font-size:.7rem}.inline-form{display:inline}@media (max-width:940px){.nav ul{background:var(--bg);border-bottom:1px solid var(--line);padding:8px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));box-shadow:var(--shadow);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}.nav ul.open{animation:drop .2s var(--ease);display:flex}.nav ul a{padding:12px;font-size:1.05rem;display:block}.nav ul a[aria-current=page]:after{display:none}.menu-btn{display:block}.nav .auth .hide-sm{display:none}}@media (max-width:480px){.wordmark{font-size:1.08rem}.nav{gap:10px}}.hero{padding-block:64px 56px;position:relative;overflow:hidden}.grid-bg:before{content:"";background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);pointer-events:none;background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 60% 40%,#000 30%,#0000 75%);mask-image:radial-gradient(80% 70% at 60% 40%,#000 30%,#0000 75%)}.hero-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;display:grid;position:relative}.hero h1{letter-spacing:-.035em;font-size:clamp(2.5rem,5.8vw,4.3rem);font-weight:700}.hero h1 .o{color:var(--orange)}.hero .lede{color:var(--muted);max-width:52ch;margin-top:18px;font-size:1.15rem}.hero .ctas{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.motto{background:var(--surface);border:1px solid var(--line);font-family:var(--mono);border-radius:999px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:22px;padding:6px 14px 6px 6px;font-size:.82rem;font-weight:700;display:inline-flex}.motto .live{background:var(--orange);color:#fff;letter-spacing:.06em;border-radius:999px;padding:2px 9px;font-size:.72rem}.motto i{background:var(--orange);border-radius:50%;width:5px;height:5px;display:inline-block}.squiggle{white-space:nowrap;position:relative}.squiggle:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10'%3E%3Cpath d='M1 6 Q8 1 15 6 T30 6 T45 6 T59 6' fill='none' stroke='%23FF7A00' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/30px 100% repeat-x;height:.3em;animation:1.2s linear infinite paused squiggle;position:absolute;bottom:-.1em;left:0;right:0}.hero h1:hover .squiggle:after{animation-play-state:running}.hero-notes{color:var(--muted);font-size:.92rem;font-family:var(--mono);flex-wrap:wrap;gap:10px 22px;margin-top:36px;display:flex}.hero-notes b{color:var(--fg)}.hero-art{place-items:center;min-height:400px;display:grid;position:relative}.hero-art .terminal{justify-self:start;width:100%;max-width:470px;margin-right:60px}.hero-art .hero-bug{filter:drop-shadow(0 20px 30px #ff7a0040);position:absolute;bottom:-30px;right:-6px}.chip-float{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);white-space:nowrap;border-radius:12px;padding:8px 12px;font-size:.8rem;font-weight:700;position:absolute}.chip-float.c1{color:var(--orange-ink);top:-8px;right:6%}.chip-float.c2{color:var(--lav);bottom:8px;left:12px}.chip-float .ok{color:var(--ok)}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:28px}.hero-art{min-height:0;padding-bottom:110px}.hero-art .terminal{max-width:none;margin-right:0}.hero-art .hero-bug{width:150px;height:150px;bottom:-10px;right:4px}.chip-float.c2{bottom:40px;left:4px}}.terminal{background:var(--term-bg);color:var(--term-fg);box-shadow:var(--shadow-lg);font-family:var(--mono);border:1px solid #ffffff0f;border-radius:16px;min-width:0;font-size:.86rem;overflow:hidden}.term-bar{background:var(--term-bar);align-items:center;gap:7px;padding:10px 14px;display:flex}.term-bar i{background:#ff5f57;border-radius:50%;width:11px;height:11px}.term-bar i:nth-child(2){background:#febc2e}.term-bar i:nth-child(3){background:#28c840}.term-bar span{color:var(--term-dim);margin-left:10px;font-size:.76rem}.term-body{white-space:pre-wrap;word-break:break-word;min-height:236px;padding:18px 18px 22px;line-height:1.75}.term-body .p{color:var(--orange)}.term-body .d{color:var(--term-dim)}.term-body .g{color:var(--term-green)}.term-body .k{color:#c9a7ff}.caret{background:var(--orange);vertical-align:-3px;width:8px;height:1.05em;margin-left:2px;animation:1s step-end infinite caret;display:inline-block}section.band{padding-block:88px;position:relative}.band.alt{background:var(--surface-2)}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:36px;display:flex}.sec-head>div:not(.track-toggle):not(.billing){flex-direction:column;gap:10px;display:flex}.sec-head p{color:var(--muted);max-width:58ch}.crew{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.crew-card{background:var(--surface);border:1px solid var(--line);text-align:center;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;border-radius:22px;flex-direction:column;align-items:center;gap:10px;padding:28px 22px 24px;display:flex}.crew-card:hover{box-shadow:var(--shadow);border-color:var(--orange);transform:translateY(-6px)}.crew-card .portrait{place-items:center;width:180px;height:180px;display:grid}.crew-card .portrait svg{width:100%;height:100%}.portrait-img{object-fit:cover;border:4px solid var(--surface);width:100%;height:100%;box-shadow:0 0 0 2px var(--orange),var(--shadow);background:var(--cream);border-radius:50%}.crew-card .name{font-family:var(--display);font-size:1.5rem;font-weight:700}.role{font-family:var(--mono);background:var(--cream);color:var(--orange-ink);border-radius:999px;padding:3px 12px;font-size:.78rem;font-weight:700;display:inline-block}.crew-card ul{color:var(--muted);flex-direction:column;gap:3px;margin:6px 0 0;padding:0;font-size:.95rem;list-style:none;display:flex}@media (max-width:860px){.crew{grid-template-columns:1fr}.crew-card{text-align:left;flex-direction:row;align-items:center}.crew-card .portrait{flex:none;width:120px;height:120px}.crew-card .meta{flex-direction:column;align-items:flex-start;gap:6px;display:flex}}@media (max-width:440px){.crew-card{text-align:center;flex-direction:column}.crew-card .meta{align-items:center}}.crew-card .meta{flex-direction:column;align-items:center;gap:8px;display:flex}.gitlog{grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid;position:relative}.gitlog:before{content:"";background:repeating-linear-gradient(90deg,var(--line) 0 8px,transparent 8px 14px);height:2px;position:absolute;top:22px;left:24px;right:24px}.gitlog li{flex-direction:column;gap:8px;display:flex;position:relative}.gitlog .node{background:var(--surface);border:2px solid var(--orange);width:44px;height:44px;font-family:var(--mono);color:var(--orange-ink);z-index:1;transition:transform .2s var(--ease),background-color .2s;border-radius:50%;place-items:center;font-weight:700;display:grid;position:relative}.gitlog li:hover .node{background:var(--orange);color:#fff;transform:scale(1.1)}.gitlog .hash{font-family:var(--mono);color:var(--muted);font-size:.78rem}.gitlog .hash b{color:var(--lav)}.gitlog h3{font-size:1.1rem}.gitlog p{color:var(--muted);font-size:.94rem}@media (max-width:860px){.gitlog{grid-template-columns:1fr;gap:22px}.gitlog:before{background:repeating-linear-gradient(180deg,var(--line) 0 8px,transparent 8px 14px);width:2px;height:auto;inset:20px auto 20px 21px}.gitlog li{flex-direction:row;align-items:flex-start;gap:16px}.gitlog .txt{flex-direction:column;gap:6px;display:flex}.gitlog .node{flex:none}}.gitlog .txt{flex-direction:column;gap:6px;display:flex}.track-toggle{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px;display:inline-flex;position:relative}.track-toggle button{z-index:1;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:10px 18px;font-weight:700;transition:color .2s;position:relative}.track-toggle button[aria-pressed=true]{color:#fff}.track-toggle .pill{z-index:0;background:var(--fg);transition:left .3s var(--ease),width .3s var(--ease);border-radius:999px;position:absolute;top:4px;bottom:4px}:root[data-theme=dark] .track-toggle .pill{background:var(--orange)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .track-toggle .pill{background:var(--orange)}}.track-blurb{color:var(--muted);margin:-16px 0 26px}.courses{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch;gap:18px;display:grid}.course{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);height:100%;transition:transform .2s var(--ease),border-color .2s,box-shadow .2s;flex-direction:column;gap:12px;padding:22px;display:flex;position:relative}.course.open{z-index:6;border-color:var(--orange)}.course .lessons-wrap{margin-top:auto;position:relative}.course:hover{border-color:var(--orange);box-shadow:var(--shadow);transform:translateY(-4px)}.course .code{font-family:var(--mono);color:var(--orange-ink);justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;display:flex}.course .meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.86rem;font-family:var(--mono);gap:14px;display:flex}.course p{color:var(--muted);font-size:.95rem}.course .lessons-toggle{border:0;border-top:1px dashed var(--line);text-align:left;background:0 0;align-items:center;gap:8px;width:100%;padding:10px 0 0;font-size:.92rem;font-weight:700;display:flex}.course .lessons-toggle .chev{transition:transform .25s var(--ease);color:var(--orange)}.course .lessons-toggle[aria-expanded=true] .chev{transform:rotate(90deg)}.course .lessons-body{z-index:7;background:var(--surface);border:1px solid var(--orange);box-shadow:var(--shadow-lg);opacity:0;transform-origin:top;pointer-events:none;visibility:hidden;max-height:300px;transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s .2s;border-radius:16px;padding:12px 14px 14px;position:absolute;top:calc(100% + 6px);left:-12px;right:-12px;overflow:auto;transform:translateY(-6px)scale(.98)}.course .lessons-body.open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s;transform:none}.course .lessons-body .lb-head{font-family:var(--mono);color:var(--muted);margin-bottom:4px;font-size:.74rem}.course ol{color:var(--muted);margin:4px 0 0;padding-left:30px;font-size:.92rem}.course ol li::marker{font-family:var(--mono);color:var(--orange-ink)}.course .foot{justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.lock{font-family:var(--mono);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.72rem}.lock.open{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.billing{align-items:center;gap:10px;font-weight:600;display:flex}.switch{background:var(--line);border:0;border-radius:999px;width:52px;height:30px;padding:0;transition:background-color .2s;position:relative}.switch:after{content:"";background:var(--surface);width:22px;height:22px;transition:left .22s var(--ease);border-radius:50%;position:absolute;top:4px;left:4px;box-shadow:0 1px 3px #00000040}.switch[aria-checked=true]{background:var(--orange)}.switch[aria-checked=true]:after{left:26px}.save{font-family:var(--mono);background:var(--cream);color:var(--orange-ink);border-radius:999px;padding:3px 8px;font-size:.75rem}.tiers{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px;display:grid}.tier{background:var(--surface);border:1px solid var(--line);transition:transform .2s var(--ease),box-shadow .2s;border-radius:22px;flex-direction:column;gap:16px;padding:28px;display:flex;position:relative}.tier:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.tier.featured{border:2px solid var(--orange);box-shadow:var(--shadow)}.tier .badge{background:var(--orange);color:#fff;font-family:var(--mono);letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700;position:absolute;top:-13px;left:26px}.tier .who{color:var(--muted);font-size:.95rem}.price{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:2.6rem;font-weight:700;line-height:1}.price small{font-family:var(--body);color:var(--muted);letter-spacing:0;font-size:.95rem;font-weight:600}.price .num{animation:pop .3s var(--ease);display:inline-block}.tier ul{flex-direction:column;gap:9px;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.tier li{gap:10px;display:flex}.tier li:before{content:"✓";color:var(--orange);font-weight:800}.tier .btn{margin-top:auto}.tier.current{outline:3px solid var(--lav);outline-offset:3px}@media (max-width:900px){.tiers{grid-template-columns:1fr}}.services{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.svc{background:var(--surface);border-radius:var(--r);border:1px solid var(--line);transition:transform .2s var(--ease),border-color .2s;flex-direction:column;gap:8px;padding:22px;display:flex}.svc:hover{border-color:var(--orange);transform:translateY(-4px)}.svc .ic{background:var(--term-bg);width:46px;height:46px;font-family:var(--mono);color:var(--orange);border-radius:13px;place-items:center;font-size:.9rem;font-weight:700;display:grid}.svc p{color:var(--muted);font-size:.93rem}.svc .t{font-family:var(--mono);color:var(--lav);margin-top:auto;padding-top:6px;font-size:.76rem}@media (max-width:960px){.services{grid-template-columns:1fr 1fr}}@media (max-width:520px){.services{grid-template-columns:1fr}}.book-grid{grid-template-columns:300px 1fr;align-items:start;gap:28px;display:grid}.book-side{background:var(--surface-2);border-radius:22px;flex-direction:column;align-items:center;gap:14px;padding:28px 20px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;min-width:0;padding:24px}.field-label{margin:0 0 10px;font-size:.92rem;font-weight:700}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--surface);color:var(--fg);text-align:left;border-radius:12px;padding:9px 13px;font-size:.9rem;font-weight:600;transition:border-color .15s,background-color .15s,transform .1s}.chip:hover{border-color:var(--orange)}.chip:active{transform:scale(.97)}.chip[aria-pressed=true]{border-color:var(--orange);background:var(--cream)}.chip small{color:var(--muted);font-size:.78rem;font-weight:500;display:block}.chip[disabled]{opacity:.4;cursor:not-allowed;text-decoration:line-through}.days{scrollbar-width:thin;scroll-snap-type:x mandatory;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.day{border:1.5px solid var(--line);background:var(--surface);width:64px;color:var(--fg);text-align:center;font-variant-numeric:tabular-nums;scroll-snap-align:start;border-radius:14px;flex:none;padding:8px 0;transition:border-color .15s,background-color .15s,transform .1s}.day:hover{border-color:var(--orange)}.day:active{transform:scale(.96)}.day b{font-family:var(--display);font-size:1.35rem;line-height:1.15;display:block}.day span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem;font-family:var(--mono)}.day[aria-pressed=true]{border-color:var(--orange);background:var(--orange);color:#fff}.day[aria-pressed=true] span{color:#fff}.step{flex-direction:column;gap:2px;margin-bottom:22px;display:flex}.book-sum{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;display:flex}.book-sum .what{color:var(--muted);font-size:.95rem}.book-sum .what b{color:var(--fg)}@media (max-width:860px){.book-grid{grid-template-columns:1fr}.book-side{flex-direction:row;padding:16px}.book-side .bug{flex:none;width:90px;height:90px}}.chal-grid{grid-template-columns:1.25fr 1fr;align-items:start;gap:22px;display:grid}.chal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:transform .2s var(--ease),box-shadow .2s;flex-direction:column;gap:10px;padding:22px;display:flex}.chal:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.chal.live{border-color:var(--orange)}.status{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:inline-flex}.status.live{color:var(--orange-ink)}.status.live:before{content:"";background:var(--orange);border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulse}.chal .row{color:var(--muted);flex-wrap:wrap;gap:8px 16px;font-size:.88rem;display:flex}.chal-col{flex-direction:column;gap:16px;display:flex}.past-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:6px 20px}.past-item{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:14px 0;font-size:.95rem;display:flex}.past-item:last-child{border-bottom:0}.past-item span{color:var(--muted);font-family:var(--mono);white-space:nowrap;font-size:.8rem}.art-center{place-items:center;display:grid}@media (max-width:820px){.chal-grid{grid-template-columns:1fr}}.comm{grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;display:grid}.links{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.links a{background:var(--surface);border:1px solid var(--line);transition:border-color .15s,transform .15s var(--ease);border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-weight:700;text-decoration:none;display:flex}.links a:hover{border-color:var(--orange);transform:translate(3px)}.links a span{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:.75rem;font-weight:500}.links a svg{width:18px;height:18px;color:var(--orange);flex:none}.res{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.res a{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:transform .2s var(--ease),border-color .2s;flex-direction:column;gap:6px;padding:20px;text-decoration:none;display:flex}.res a:hover{border-color:var(--orange);transform:translateY(-3px)}.res a .k{font-family:var(--mono);color:var(--lav);font-size:.75rem}.res a p{color:var(--muted);font-size:.92rem}.comm-art{place-items:center;min-height:300px;display:grid;position:relative}.comm-art .bubble{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px 14px 14px 4px;padding:8px 12px;font-size:.8rem;position:absolute}.comm-art .bubble.b1{top:8%;left:4%}.comm-art .bubble.b2{border-radius:14px 14px 4px;top:22%;right:2%}.comm-art .bubble.b3{bottom:10%;left:10%}@media (max-width:820px){.comm,.res{grid-template-columns:1fr}}@media (max-width:420px){.links{grid-template-columns:1fr}}.cta-band{background:var(--term-bg);color:var(--term-fg);border-radius:28px;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:44px;display:grid;position:relative;overflow:hidden}.cta-band h2{color:#fff}.cta-band p{color:var(--term-dim);font-family:var(--mono);margin-top:10px;font-size:.92rem}@media (max-width:720px){.cta-band{grid-template-columns:1fr;padding:28px}.cta-band .bug{justify-self:center}}footer.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:0}.foot-grid{grid-template-columns:1.6fr repeat(3,1fr);gap:32px;padding-block:56px 36px;display:grid}.foot-brand p{color:var(--muted);max-width:34ch;margin-top:14px;font-size:.94rem}.foot-social{gap:8px;margin-top:18px;display:flex}.foot-social a{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);transition:color .15s,border-color .15s,transform .15s var(--ease);border-radius:10px;place-items:center;display:grid}.foot-social a:hover{color:var(--orange);border-color:var(--orange);transform:translateY(-2px)}.foot-social svg{width:18px;height:18px}.foot-col h4{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 14px;font-size:.76rem;font-weight:700}.foot-col ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.foot-col a{font-size:.95rem;text-decoration:none;transition:color .15s}.foot-col a:hover{color:var(--orange)}.foot-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:20px;font-size:.85rem;display:flex}.foot-bottom .mono{font-size:.8rem}.foot-bottom .mono .g{color:var(--ok)}@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}main{animation:page-in .35s var(--ease)}main.page{min-height:60vh;padding-block:48px 88px}.page-head{flex-direction:column;gap:10px;margin-bottom:28px;display:flex}.page-head h1{font-size:clamp(2.1rem,4.6vw,3.2rem);font-weight:700}.page-head p{color:var(--muted);max-width:62ch}.crumbs{font-family:var(--mono);color:var(--muted);font-size:.8rem}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--orange)}.notice{background:var(--lav-soft);border-radius:14px;padding:14px 16px;font-size:.95rem}.notice.warn{background:var(--cream)}.err{color:var(--danger);min-height:1.2em;font-size:.88rem}.lesson-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.lesson-list li{border-bottom:1px solid var(--line)}.lesson-list li:last-child{border-bottom:0}.lesson-row{grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:14px 18px;text-decoration:none;transition:background-color .15s;display:grid}a.lesson-row:hover{background:var(--surface-2)}a.lesson-row[aria-current=page]{background:var(--cream)}.lesson-row .n{font-family:var(--mono);color:var(--orange-ink);font-weight:700}.lesson-row .done{color:var(--ok);font-weight:800}.course-hero{grid-template-columns:1.4fr 1fr;align-items:start;gap:28px;display:grid}.course-hero .panel{flex-direction:column;gap:12px;display:flex}@media (max-width:820px){.course-hero{grid-template-columns:1fr}}.bar{background:var(--surface-2);border-radius:999px;height:8px;margin-top:6px;overflow:hidden}.bar i{background:var(--orange);height:100%;transition:width .6s var(--ease);border-radius:999px;display:block}.player-wrap{aspect-ratio:16/9;background:#000;border-radius:22px;max-width:100%;overflow:hidden}.player-wrap>*{width:100%;height:100%;display:block}.player-empty{text-align:center;color:#fff;background:radial-gradient(circle at 50% 40%,#2a2433,#0b0c14);place-items:center;padding:24px;display:grid}.learn-grid{grid-template-columns:1fr 320px;align-items:start;gap:24px;display:grid}.learn-grid aside{min-width:0}@media (max-width:960px){.learn-grid{grid-template-columns:1fr}}.lesson-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.auth-wrap{max-width:460px;margin:0 auto}.sheet{background:var(--surface);color:var(--fg);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:24px;padding:30px;position:relative}.sheet .sub{color:var(--muted);margin:6px 0 20px}.tabs{background:var(--surface-2);border-radius:999px;margin-bottom:20px;padding:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:999px;flex:1;padding:9px;font-weight:700;transition:background-color .15s,color .15s}.tabs button[aria-selected=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 4px #0000001f}.oauth{flex-direction:column;gap:10px;display:flex}.oauth button{border:1.5px solid var(--line);background:var(--surface);color:var(--fg);border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:12px;font-weight:700;transition:border-color .15s,transform .1s;display:flex}.oauth button:hover{border-color:var(--orange)}.oauth button:active{transform:scale(.98)}.oauth svg{flex:none;width:20px;height:20px}.or{color:var(--muted);align-items:center;gap:12px;margin:18px 0;font-size:.85rem;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.form{flex-direction:column;gap:12px;display:flex}.form label{flex-direction:column;gap:6px;font-size:.88rem;font-weight:700;display:flex}.fine{color:var(--muted);text-align:center;margin-top:14px;font-size:.8rem}input[type=text],input[type=email],input[type=password]{width:100%;font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);border-radius:12px;padding:11px 14px;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--orange);box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 18%,transparent);outline:none}.prose{flex-direction:column;gap:14px;max-width:70ch;display:flex}.prose h2{margin-top:12px;font-size:1.4rem}.prose ul{margin:0;padding-left:20px}.kv{grid-template-columns:auto 1fr;gap:6px 16px;font-size:.95rem;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:700}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.dash-head h1{font-size:clamp(2rem,4.4vw,2.8rem);font-weight:700}.dash-grid{grid-template-columns:1.4fr 1fr;gap:20px;display:grid}.dash-col{flex-direction:column;gap:20px;min-width:0;display:flex}.prog{flex-direction:column;gap:14px;display:flex}.prog-item{grid-template-columns:52px 1fr auto;align-items:center;gap:12px;display:grid}.prog-item .code{font-family:var(--mono);color:var(--orange-ink);font-weight:700}.goals{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.goals li{align-items:center;gap:10px;display:flex}.goals input[type=checkbox]{width:20px;height:20px;accent-color:var(--orange)}.goals li.done label{color:var(--muted);text-decoration:line-through}.goal-add{gap:8px;margin-top:12px;display:flex}.goal-add input{flex:1;min-width:0}.sess{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.sess:last-child{border-bottom:0}.sess span{color:var(--muted);font-size:.88rem}@media (max-width:860px){.dash-grid{grid-template-columns:1fr}}.skeleton{flex-direction:column;gap:16px;display:flex}.skeleton i{background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));background-size:200% 100%;border-radius:8px;height:18px;animation:1.1s linear infinite shimmer;display:block}.skeleton i.h{width:60%;height:44px}.skeleton i.s{width:40%}.route-bar{top:env(safe-area-inset-top,0px);background:var(--orange);z-index:40;height:3px;box-shadow:0 0 10px var(--orange);transition:width .25s var(--ease),opacity .3s;position:fixed;left:0}.reveal-on [data-reveal]:not(.done){transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal-on [data-reveal]:not(.in){opacity:0;transform:translateY(30px)}.reveal-on [data-reveal=left]:not(.in){transform:translate(-40px)}.reveal-on [data-reveal=right]:not(.in){transform:translate(40px)}.reveal-on [data-reveal=zoom]:not(.in){transform:scale(.92)}.float{animation:4.5s ease-in-out infinite float}.float-slow{animation:6s ease-in-out infinite float}.bug .bug-sparks{transform-origin:160px 45px;animation:2.4s ease-in-out infinite spark-pulse}.bug .bug-eyes{transform-box:fill-box;transform-origin:50%;animation:4.2s infinite blink}.bug .bug-wave-arm{transform-box:fill-box;transform-origin:50% 90%;animation:1.4s ease-in-out infinite wave}.bug .bug-zzz text{animation:2.4s ease-in-out infinite zzz}.bug .bug-zzz text:nth-child(2){animation-delay:.4s}.bug .bug-zzz text:nth-child(3){animation-delay:.8s}.bug .bug-confetti{transform-origin:100px 60px;animation:2.2s ease-in-out infinite confetti}.bug .bug-magnify{transform-origin:160px 104px;animation:3s ease-in-out infinite scan}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes spark{0%{opacity:1}40%{opacity:.2}to{opacity:1}}@keyframes spark-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes wave{0%,to{transform:rotate(0)}50%{transform:rotate(18deg)}}@keyframes zzz{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes confetti{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(4deg)}}@keyframes scan{0%,to{transform:translate(0)}50%{transform:translate(-8px,6px)}}@keyframes caret{50%{opacity:0}}@keyframes pulse{50%{opacity:.3}}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes squiggle{to{background-position:30px 0}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-on [data-reveal]{opacity:1!important;transform:none!important}*,:before,:after{transition-duration:.01ms!important;animation:none!important}}.channels{grid-template-columns:repeat(5,1fr);margin-top:0}@media (max-width:1000px){.channels{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.channels{grid-template-columns:1fr}}.room-list{margin:0;padding:10px 0;list-style:none}.room-list li{border-bottom:1px solid #ffffff0d;grid-template-columns:200px 1fr auto;align-items:center;gap:14px;padding:10px 18px;font-size:.88rem;display:grid}.room-list li:last-child{border-bottom:0}.room-list li:hover{background:#ffffff08}.room-list .room{color:var(--term-fg);font-weight:700}.room-list .what{color:var(--term-dim);font-family:var(--body)}.room-list .tag{color:var(--term-dim);border:1px solid #ffffff24;border-radius:999px;padding:2px 9px;font-size:.7rem}.room-list li.locked .room{color:var(--term-dim)}.room-list li:not(.locked) .tag{border-color:var(--orange);color:var(--orange)}@media (max-width:700px){.room-list li{grid-template-columns:1fr auto}.room-list .what{grid-area:2/1/auto/-1}}.rhythm{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:900px){.rhythm{grid-template-columns:1fr 1fr}}@media (max-width:480px){.rhythm{grid-template-columns:1fr}}.rules{grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;display:grid}.rule{border-left:3px solid var(--orange);flex-direction:column;gap:4px;padding-left:14px;display:flex}@media (max-width:520px){.rules{grid-template-columns:1fr}}.dark-band{z-index:1;background:var(--term-bg);color:var(--term-fg);margin-top:56px;margin-bottom:0;position:relative}.dark-band:before,.dark-band:after{content:"";background:var(--term-bg);height:56px;position:absolute;left:0;right:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath d='M0 56 C240 10 480 10 720 30 C960 50 1200 52 1440 14 L1440 56 Z'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath d='M0 56 C240 10 480 10 720 30 C960 50 1200 52 1440 14 L1440 56 Z'/%3E%3C/svg%3E") 50%/100% 100% no-repeat}.dark-band:before{top:-55px}.dark-band:after{bottom:-55px;transform:scale(-1)}.dark-band .grid-lines{pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.dark-band .wrap{position:relative}.dark-band h2{color:#fff}.dark-band .eyebrow{color:var(--orange)}.dark-band .eyebrow:before,.dark-band .sec-head p{color:var(--term-dim)}.dark-band .gitlog:before{background:repeating-linear-gradient(90deg,#ffffff29 0 8px,#0000 8px 14px)}.dark-band .gitlog .node{background:var(--term-bar);color:var(--orange)}.dark-band .gitlog .hash{color:var(--term-dim)}.dark-band .gitlog .hash b{color:#c9a7ff}.dark-band .gitlog h3{color:#fff}.dark-band .gitlog p{color:var(--term-dim)}.dark-band .gitlog li{transition:border-color .2s,transform .2s var(--ease);background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;padding:16px}.dark-band .gitlog li:hover{border-color:var(--orange);transform:translateY(-4px)}.dark-band .gitlog:before{top:37px}@media (max-width:860px){.dark-band .gitlog:before{background:repeating-linear-gradient(#ffffff29 0 8px,#0000 8px 14px);top:30px;left:37px}}.to-top{right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:35;background:var(--surface);width:52px;height:52px;color:var(--fg);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease),color .15s;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;transform:translateY(16px)scale(.9)}.to-top.show{opacity:1;pointer-events:auto;transform:none}.to-top:hover{color:var(--orange);transform:translateY(-3px)}.to-top:active{transform:scale(.94)}.to-top svg{display:block}.dark-band{background:radial-gradient(ellipse 60% 70% at 85% 30%,#ff7a001a,transparent 70%),radial-gradient(ellipse 50% 60% at 10% 90%,#8e7ba91f,transparent 70%),var(--term-bg)}.t-row{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:minmax(280px,calc(33.3333% - 13.3333px));grid-auto-flow:column;gap:20px;padding:6px 2px 18px;display:grid;overflow-x:auto}.t-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);transition:transform .2s var(--ease),border-color .2s,box-shadow .2s;border-radius:22px;flex-direction:column;gap:18px;margin:0;padding:28px 24px 22px;text-decoration:none;display:flex;position:relative}.t-card:hover{border-color:var(--orange);box-shadow:var(--shadow);transform:translateY(-4px)}.t-mark{font-family:var(--display);color:var(--orange);opacity:.18;font-size:5rem;line-height:1;position:absolute;top:6px;right:18px}.t-card blockquote{flex:1;margin:0;padding-right:28px;font-size:1.02rem;line-height:1.65}.t-card figcaption{align-items:center;gap:12px;display:flex}.t-card figcaption b{display:block}.t-card figcaption small{color:var(--muted);font-size:.85rem}.t-share{text-align:center;border-style:dashed;justify-content:center;align-items:center;gap:8px}.t-share small{color:var(--orange-ink);font-family:var(--mono);font-size:.8rem}.t-arrows{gap:8px;display:flex}.t-empty{background:var(--surface);border:1px dashed var(--line);border-radius:22px;align-items:center;gap:28px;padding:28px;display:flex}@media (max-width:640px){.t-empty{text-align:center;flex-direction:column}.t-empty .btn-row{justify-content:center}.t-row{grid-auto-columns:85%}}.share-panel{flex-direction:column;gap:12px;max-width:760px;display:flex}.share-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:600px){.share-grid{grid-template-columns:1fr}}textarea{width:100%;font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);resize:vertical;border-radius:12px;padding:11px 14px;transition:border-color .15s,box-shadow .15s}textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 18%,transparent);outline:none}.stats-line{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.82rem;display:inline-flex}.stats-line .rating{color:var(--fg);align-items:center;gap:5px;font-weight:700;display:inline-flex}.stats-line small{color:var(--muted);font-weight:500}.stars{letter-spacing:0;gap:1px;line-height:1;display:inline-flex}.stars span{color:var(--line)}.stars span.on{color:#f5a524}.stars span.half{background:linear-gradient(90deg,#f5a524 50%,var(--line) 50%);color:#0000;-webkit-background-clip:text;background-clip:text}.course .meta{flex-wrap:wrap;justify-content:space-between}.course-stats{margin-top:2px}.reviews{flex-direction:column;gap:18px;display:flex}.reviews-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.review-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.review{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;margin:0;padding:16px 18px;display:flex}.review-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.review blockquote{color:var(--muted);margin:0;font-size:.95rem}.review-form{flex-direction:column;gap:10px;max-width:560px;display:flex}.star-input{gap:4px;display:flex}.star-input button{color:var(--line);background:0 0;border:0;padding:0 2px;font-size:1.8rem;line-height:1;transition:transform .1s,color .1s}.star-input button.on{color:#f5a524}.star-input button:hover{transform:scale(1.15)}
