@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_ce929fb-module__qqrwVG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_ce929fb-module__qqrwVG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_ddb947db-module__lwViEW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_ddb947db-module__lwViEW__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--color-bg:#161826;--color-surface:#232532;--color-text:#e9e9ed;--color-accent:#9184d9;--color-accent-2:#a7a1db;--color-divider:#e9e9ed29;--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--color-success:#5fae7e;--color-success-text:#a9dcbe;--color-danger:#d98a8a;--color-danger-text:#e8bcbc;--color-code-string:#8fc7a8;--font-heading:var(--font-inter), "Inter", system-ui, sans-serif;--font-heading-weight:500;--font-body:var(--font-inter), "Inter", system-ui, sans-serif;--font-mono:var(--font-jetbrains-mono), "JetBrains Mono", monospace;--space-1:2.8px;--space-2:5.6px;--space-3:8.4px;--space-4:11.2px;--space-6:16.8px;--space-8:22.4px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--shadow-sm:0 0 0 1px #3f424d;--shadow-md:0 0 0 1px #595d6c, 0 6px 18px #0000008c;--shadow-lg:0 0 0 1px #9397ab, 0 16px 40px #000000a6}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-bg)}body{color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{max-width:100%;display:block}.text-muted{color:color-mix(in srgb, var(--color-text) 55%, transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.hr{height:1px;margin:var(--space-4) 0;background:linear-gradient(to right, transparent, var(--color-divider) 48px, var(--color-divider) calc(100% - 48px), transparent);border:0}.hr-narrow{background:linear-gradient(to right, transparent, var(--color-divider) 12px, var(--color-divider) calc(100% - 12px), transparent);border:0;height:1px;margin:0}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.btn-primary:active:not(:disabled){background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-ghost:active:not(:disabled){background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px;display:block}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:6px 10px;font-size:14px}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}.tag{letter-spacing:.02em;border-radius:calc(var(--radius-md) * .75);align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-800);color:var(--color-accent-100)}.tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-100)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.tag-success{background:color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success-text)}.nav{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);display:flex}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:inherit;margin-right:auto;font-size:18px;text-decoration:none}.nav a{color:inherit;font-size:14px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}@keyframes noct-spin{to{transform:rotate(360deg)}}@keyframes noct-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes noct-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.noct-rise{animation:.35s both noct-rise}@media (prefers-reduced-motion:reduce){.noct-rise{animation:none}}
.site-nav{margin:0 auto;padding:18px 32px}.nav-signout{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.nav-signout:hover{color:var(--color-accent)}.page{min-height:100vh}.page-body{margin:0 auto;padding:26px 32px 90px}.page-body-narrow{max-width:1080px}.page-body-wide{max-width:1180px;padding:8px 32px 120px}.page-body-module{max-width:1080px;padding:8px 32px 120px}.kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:8px;font-size:10px}.rail-label{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 40%, transparent);margin-bottom:10px;font-size:10px}.inline-code{font-family:var(--font-mono);color:var(--color-accent-300);font-size:.88em}.completion-badge{place-items:center;display:grid}.badge-complete{color:var(--color-success)}.badge-partial{color:var(--color-accent)}.badge-empty{color:var(--color-neutral-700)}.breadcrumb{color:color-mix(in srgb, var(--color-text) 45%, transparent);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;font-size:12.5px;display:flex}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{color:var(--color-accent)}.breadcrumb-current{color:color-mix(in srgb, var(--color-text) 78%, transparent)}.status-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.status-meta{color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:12px}.completion-banner{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-success) 12%, var(--color-surface));box-shadow:0 0 0 1px color-mix(in srgb, var(--color-success) 40%, transparent);align-items:center;gap:16px;padding:18px 20px;display:flex}.banner-icon{color:var(--color-success);flex:none}.completion-banner-text{flex:1;min-width:0}.completion-banner-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:16px}.completion-banner-detail{color:color-mix(in srgb, var(--color-text) 58%, transparent);font-size:13px}.completion-banner-action{flex:none;text-decoration:none}.auth{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.auth-pitch-col{border-right:1px solid var(--color-divider);flex-direction:column;justify-content:space-between;padding:44px 48px;display:flex}.auth-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.01em;font-size:18px}.auth-pitch{max-width:420px}.auth-pitch h1{margin:0 0 14px;font-size:40px;line-height:1.08}.auth-pitch p{color:color-mix(in srgb, var(--color-text) 62%, transparent);margin:0 0 26px;font-size:15px;line-height:1.7}.auth-meta{color:color-mix(in srgb, var(--color-text) 45%, transparent);gap:22px;font-size:12px;display:flex}.auth-fine{color:color-mix(in srgb, var(--color-text) 34%, transparent);font-size:11px}.auth-form-col{place-items:center;padding:40px;display:grid}.auth-form{flex-direction:column;gap:14px;width:100%;max-width:340px;animation:.3s both noct-rise;display:flex}.auth-form h2{margin:0 0 2px;font-size:24px}.auth-sub{color:color-mix(in srgb, var(--color-text) 55%, transparent);margin:0 0 6px;font-size:13px}.auth-rule{margin:6px 0}.auth-switch{text-align:center;color:color-mix(in srgb, var(--color-text) 55%, transparent);margin-top:6px;font-size:12.5px}.auth-switch button{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:0;padding:0}.course-header{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:26px;display:flex}.course-header-text{max-width:560px}.course-header h1{margin:0 0 10px;font-size:36px}.course-header p{color:color-mix(in srgb, var(--color-text) 62%, transparent);margin:0;font-size:14.5px;line-height:1.65}.course-resume{flex:none;padding:10px 16px;text-decoration:none}.course-progress{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);align-items:center;gap:14px;margin-bottom:30px;padding:14px 16px;display:flex}.course-progress-label{white-space:nowrap;color:color-mix(in srgb, var(--color-text) 70%, transparent);font-size:13px}.progress-track{background:var(--color-neutral-900);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill{background:var(--color-accent);border-radius:3px;height:100%}.progress-fill-done{background:var(--color-success)}.course-progress-pct{font-family:var(--font-heading);text-align:right;min-width:40px;font-size:14px}.course-progress-count{white-space:nowrap;color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:12px}.module-list{flex-direction:column;gap:10px;display:flex}.module-row{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.module-head-wrap{position:relative}.module-toggle-cell{position:absolute;top:16px;right:18px}.module-head{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;grid-template-columns:30px 1fr 96px;align-items:center;gap:16px;padding:16px 18px;display:grid}.module-head:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.module-head:focus-visible{outline-offset:-2px}.module-title-row{align-items:center;gap:10px;display:flex}.module-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px}.module-desc{color:color-mix(in srgb, var(--color-text) 52%, transparent);margin-top:3px;font-size:13px}.module-meta{color:color-mix(in srgb, var(--color-text) 42%, transparent);flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;font-size:11.5px;display:flex}.module-meta-track{background:var(--color-neutral-900);border-radius:2px;width:120px;height:4px;overflow:hidden}.module-meta-fill{background:var(--color-accent);border-radius:2px;height:100%}.module-meta-fill-done{background:var(--color-success)}.module-toggle{font-size:12.5px}.unit-list{flex-direction:column;padding:2px 18px 14px 64px;display:flex}.unit-row{border-radius:var(--radius-sm);color:inherit;grid-template-columns:18px 1fr auto;align-items:center;gap:12px;padding:9px 10px;text-decoration:none;display:grid}.unit-row:hover{background:color-mix(in srgb, var(--color-text) 5%, transparent)}.unit-row-title{font-size:13.5px}.unit-row-time{color:color-mix(in srgb, var(--color-text) 40%, transparent);font-size:11.5px}.module-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:56px;display:grid}.module-page h1{max-width:18ch;margin:0 0 12px;font-size:38px;line-height:1.1}.module-intro{max-width:62ch;color:color-mix(in srgb, var(--color-text) 70%, transparent);margin:0 0 26px;font-size:16px;line-height:1.7}.module-banner-space{margin-bottom:34px}.module-units-card{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.module-unit-row{border-top:1px solid color-mix(in srgb, var(--color-text) 6%, transparent);color:inherit;grid-template-columns:22px 1fr auto auto;align-items:center;gap:14px;padding:14px 18px;text-decoration:none;display:grid}.module-unit-row:first-child{border-top:0}.module-unit-row:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.module-unit-title{font-size:14.5px}.module-unit-blocks{color:color-mix(in srgb, var(--color-text) 42%, transparent);margin-top:2px;font-size:11.5px}.module-unit-time{color:color-mix(in srgb, var(--color-text) 40%, transparent);font-size:11.5px}.module-unit-action{color:var(--color-accent);font-size:12.5px}.module-rail{flex-direction:column;gap:18px;padding-top:46px;display:flex;position:sticky;top:24px}.stats-card{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:16px}.stats-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.stats-head .rail-label{margin-bottom:0}.stats-pct{font-family:var(--font-heading);color:var(--color-accent);font-size:15px}.stats-pct-done{color:var(--color-success)}.stats-rows{color:color-mix(in srgb, var(--color-text) 58%, transparent);flex-direction:column;gap:7px;margin-top:14px;font-size:13px;display:flex}.stats-row{justify-content:space-between;display:flex}.stats-row span:last-child{color:var(--color-text)}.up-next{flex-direction:column;gap:7px;display:flex}.up-next-title{font-size:13.5px;line-height:1.5}.up-next-state{color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:12px}.up-next .btn{margin-top:6px;text-decoration:none}.unit-grid{grid-template-columns:minmax(0,1fr) 236px;align-items:start;gap:56px;display:grid}.unit-main{min-width:0}.unit-main h1{max-width:20ch;margin:0 0 28px;font-size:38px;line-height:1.1}.prose{max-width:68ch;color:color-mix(in srgb, var(--color-text) 88%, transparent);font-size:16.5px;line-height:1.75}.prose h2{margin:34px 0 12px;scroll-margin-top:90px;font-size:25px}.prose section:first-child h2{margin-top:0}.prose p{margin:0 0 18px}.prose ul{margin:0 0 18px;padding-left:20px}.prose li{margin-bottom:7px}.prose .doc-links{padding-left:0;list-style:none}.prose .code-block,.prose .exercise,.prose .quiz-card{width:min(100%,860px);max-width:none}.unit-rail{flex-direction:column;gap:20px;padding-top:46px;display:flex;position:sticky;top:24px}.toc-links{flex-direction:column;gap:2px;display:flex}.toc-link{color:#e9e9ed85;border-left:2px solid #e9e9ed1f;padding:5px 0 5px 11px;font-size:13px;line-height:1.4;text-decoration:none}.toc-link-active{border-left-color:var(--color-accent);color:var(--color-accent)}.rail-block{flex-direction:column;gap:10px;display:flex}.rail-block .rail-label{margin-bottom:0}.rail-line{color:color-mix(in srgb, var(--color-text) 62%, transparent);align-items:center;gap:8px;font-size:13px;display:flex}.rail-line-passed{color:var(--color-success)}.rail-line-accent{color:var(--color-accent)}.rail-line-danger{color:var(--color-danger)}.rail-help{flex-direction:column;gap:7px;display:flex}.rail-help a{color:var(--color-accent-300);font-size:13px;text-decoration:none}.mark-read{align-items:center;gap:14px;margin-top:30px;display:flex}.mark-read-note{color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:13px}.code-block{border-radius:var(--radius-md);background:var(--color-neutral-900);box-shadow:var(--shadow-sm);margin:20px 0 22px;overflow:hidden}.code-toolbar{border-bottom:1px solid color-mix(in srgb, var(--color-text) 8%, transparent);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.code-lang{font-family:var(--font-mono);letter-spacing:.04em;color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:11px}.code-copy{font-size:11.5px;font-family:var(--font-mono)}.code-body{font-family:var(--font-mono);white-space:pre;margin:0;padding:14px 16px;font-size:13px;line-height:1.7;overflow-x:auto}.code-body code,.code-line{display:block}.tok-comment{color:var(--color-neutral-600)}.tok-keyword{color:var(--color-accent-400)}.tok-string{color:var(--color-code-string)}.tok-number{color:var(--color-accent-300)}.quiz-card{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:22px;padding:18px 18px 16px;font-size:15px;line-height:1.55;display:flex}.quiz-question{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.quiz-number{font-family:var(--font-mono);color:var(--color-accent);flex:none;font-size:12px}.quiz-text{font-size:15.5px;line-height:1.5}.quiz-choices{gap:7px;padding-left:26px;display:grid}.choice{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--color-divider);color:var(--color-text);background:0 0;grid-template-columns:22px 1fr 18px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;line-height:1.45;display:grid}.choice[aria-disabled=true]{cursor:default}.choice-letter{font-family:var(--font-mono);opacity:.7;font-size:12px}.choice-mark{text-align:right;font-size:13px}.choice-unanswered:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.choice-selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.choice-correct-picked{border-color:var(--color-success);background:color-mix(in srgb, var(--color-success) 14%, transparent)}.choice-incorrect{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 12%, transparent)}.choice-correct-revealed{border-color:color-mix(in srgb, var(--color-success) 55%, transparent);color:var(--color-success-text);background:0 0}.choice-other{border-color:var(--color-divider);color:#e9e9ed73;background:0 0}.quiz-feedback{border-radius:var(--radius-sm);margin:10px 0 0 26px;padding:10px 12px;font-size:13.5px;line-height:1.6}.quiz-feedback-correct{background:color-mix(in srgb, var(--color-success) 14%, transparent);color:var(--color-success-text)}.quiz-feedback-incorrect{background:color-mix(in srgb, var(--color-danger) 13%, transparent);color:var(--color-danger-text)}.quiz-footer{flex-wrap:wrap;align-items:center;gap:14px;padding-top:4px;display:flex}.quiz-message{margin-left:auto;font-size:13px}.quiz-message-success{color:var(--color-success)}.quiz-message-danger{color:var(--color-danger)}.exercise{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);margin:20px 0 8px;font-size:15px;line-height:1.55;overflow:hidden}.exercise-passed{box-shadow:0 0 0 1px color-mix(in srgb, var(--color-success) 45%, transparent)}.exercise-head{align-items:center;gap:10px;padding:12px 16px;display:flex}.exercise-dot{background:var(--color-neutral-700);border-radius:50%;flex:none;width:7px;height:7px}.exercise-running .exercise-dot{background:var(--color-accent)}.exercise-passed .exercise-dot{background:var(--color-success)}.exercise-failed .exercise-dot,.exercise-error .exercise-dot{background:var(--color-danger)}.exercise-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px}.exercise-attempts{color:color-mix(in srgb, var(--color-text) 42%, transparent);margin-left:auto;font-size:11.5px}.exercise-instructions{color:color-mix(in srgb, var(--color-text) 62%, transparent);padding:0 16px 14px;font-size:13.5px;line-height:1.6}.exercise-body{background:color-mix(in srgb, var(--color-text) 8%, transparent);grid-template-columns:1fr 1fr;gap:1px;display:grid}.exercise-pane{background:var(--color-neutral-900);flex-direction:column;min-width:0;display:flex}.exercise-pane-head{font-family:var(--font-mono);white-space:nowrap;color:color-mix(in srgb, var(--color-text) 42%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;font-size:11px;display:flex}.exercise-pane-head span{text-overflow:ellipsis;flex:none;overflow:hidden}.exercise-editor{flex:1;grid-template-columns:34px 1fr;display:grid}.exercise-gutter{text-align:right;white-space:pre;font-family:var(--font-mono);color:var(--color-neutral-700);-webkit-user-select:none;user-select:none;padding:12px 0;font-size:12.5px;line-height:1.65}.exercise-textarea{min-height:168px;font-family:var(--font-mono);resize:none;color:var(--color-accent-200);background:0 0;border:0;border-radius:0;padding:12px 14px 12px 4px;font-size:12.5px;line-height:1.65}.exercise-textarea:hover{border-color:#0000}.exercise-output{font-family:var(--font-mono);white-space:pre-wrap;max-height:220px;color:var(--color-neutral-700);word-break:break-word;flex:1;padding:12px 14px;font-size:12.5px;line-height:1.7;overflow:auto}.exercise-running .exercise-output,.exercise-failed .exercise-output{color:var(--color-neutral-200)}.exercise-passed .exercise-output{color:var(--color-code-string)}.exercise-error .exercise-output{color:var(--color-danger)}.exercise-caret{vertical-align:-2px;background:var(--color-accent);width:7px;height:14px;animation:1s step-end infinite noct-blink;display:inline-block}.exercise-footer{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.exercise-message{color:color-mix(in srgb, var(--color-text) 45%, transparent);margin-left:auto;font-size:13px}.exercise-running .exercise-message{color:var(--color-accent-300)}.exercise-passed .exercise-message{color:var(--color-success)}.exercise-failed .exercise-message,.exercise-error .exercise-message{color:var(--color-danger)}.exercise-note{color:color-mix(in srgb, var(--color-text) 38%, transparent);margin-bottom:10px;font-size:12px}.reference-list{flex-direction:column;gap:10px;display:flex}.reference-module{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:16px 18px}.reference-module h2{margin:0 0 4px;font-size:17px}.reference-links{flex-direction:column;gap:6px;margin-top:10px;display:flex}.reference-links a{color:var(--color-accent-300);font-size:13.5px;text-decoration:none}@media (max-width:1024px){.unit-grid,.module-grid{grid-template-columns:minmax(0,1fr);gap:28px}.unit-rail,.module-rail{order:-1;padding-top:0;position:static}.toc-links{flex-flow:wrap;gap:4px 14px}.exercise-body{grid-template-columns:minmax(0,1fr)}.unit-list{padding-left:24px}}@media (max-width:860px){.auth{grid-template-columns:minmax(0,1fr)}.auth-pitch-col{border-right:0;border-bottom:1px solid var(--color-divider)}.course-header{flex-direction:column;align-items:flex-start;gap:18px}.module-head{grid-template-columns:30px 1fr;padding-bottom:44px}.module-toggle-cell{inset:auto auto 10px 60px}.page-body,.page-body-wide,.page-body-module,.site-nav{padding-inline:20px}}
