@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.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:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.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:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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%}.f4k-Ea_className{font-family:Inter,Inter Fallback;font-style:normal}.f4k-Ea_variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.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:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.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:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.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:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.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:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.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%}.CxiPNW_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.CxiPNW_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#fbfaf7;--surface:#fff;--text:#1c1b19;--muted:#6b6860;--border:#e6e2d9;--accent:#c2410c;--accent-soft:#fdeee4;--accent-text:#fff;--done:#15803d;--code-bg:#f4f1ea;--tok-keyword:#a626a4;--tok-string:#2e7d32;--tok-number:#b45309;--tok-comment:#8a867c;--tok-title:#1d4ed8;--tok-builtin:#0e7490;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151412;--surface:#1d1c19;--text:#ecebe6;--muted:#a19d93;--border:#2f2d28;--accent:#fb923c;--accent-soft:#3a2416;--accent-text:#1c1206;--done:#4ade80;--code-bg:#22211d;--tok-keyword:#d19ad6;--tok-string:#8bcf8f;--tok-number:#f0b866;--tok-comment:#8a867c;--tok-title:#8fb5ff;--tok-builtin:#6dd3e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans), system-ui, sans-serif;margin:0;line-height:1.6}a{color:var(--accent)}.wrap{max-width:820px;margin:0 auto;padding:0 16px}.muted{color:var(--muted)}.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.header-inner{justify-content:space-between;align-items:center;height:56px;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.header-link{text-decoration:none}.site-footer{color:var(--muted);padding-top:48px;padding-bottom:48px;font-size:.875rem}h1{letter-spacing:-.02em;margin:.25rem 0 .75rem;font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.15}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.85rem;font-weight:600}.lede{color:var(--muted);margin:0 0 1.5rem;font-size:1.15rem}.button{background:var(--accent);color:var(--accent-text);border-radius:8px;padding:.6rem 1.1rem;font-weight:600;text-decoration:none;display:inline-block}.button.secondary{background:var(--accent-soft);color:var(--accent)}.badge{color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:.05rem .5rem;font-size:.7rem;font-weight:600}.ep-num{font-family:var(--font-mono), monospace;color:var(--muted);font-size:.85rem}.hero{padding:56px 0 24px}.phase{margin-top:48px}.phase-head h2{margin:.1rem 0 .25rem;font-size:1.4rem}.phase-head p{margin:0 0 1rem}.phase-num{color:var(--accent);font-size:.85rem;font-weight:600}.episode-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.episode-list li+li{border-top:1px solid var(--border)}.ep-row{color:var(--text);align-items:baseline;gap:14px;padding:12px 16px;text-decoration:none;display:flex}.ep-row:hover{background:var(--accent-soft)}.ep-row.pending .ep-title{color:var(--muted)}.ep-text{flex-direction:column;flex:1;min-width:0;display:flex}.ep-title{font-weight:600}.ep-summary{color:var(--muted);font-size:.9rem}.episode{padding-top:32px}.crumbs{color:var(--muted);margin-bottom:24px;font-size:.875rem}.actions{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.chips{flex-wrap:wrap;gap:6px;margin:0 0 32px;padding:0;list-style:none;display:flex}.chips li{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.15rem .7rem;font-size:.8rem}.empty{text-align:center;border:1px dashed var(--border);color:var(--muted);border-radius:12px;padding:32px}.exercise{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:40px;padding:4px 20px 20px}.exercise summary{cursor:pointer;color:var(--accent);font-weight:600}.pager{grid-template-columns:1fr 1fr;gap:12px;margin-top:48px;display:grid}.pager a{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:10px;flex-direction:column;padding:12px 14px;font-weight:600;text-decoration:none;display:flex}.pager .muted{font-size:.8rem;font-weight:400}.pager .next{text-align:right}.prose{overflow-wrap:break-word}.prose h2{margin-top:2.2rem;font-size:1.45rem}.prose h3{margin-top:1.6rem;font-size:1.15rem}.prose code{font-family:var(--font-mono), monospace;background:var(--code-bg);border-radius:4px;padding:.1em .35em;font-size:.88em}.prose pre{background:var(--code-bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px;line-height:1.5;overflow-x:auto}.prose pre code{background:0 0;padding:0;font-size:.85rem}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:6px 10px}.prose blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;margin:1rem 0;padding:.5rem 1rem}.prose blockquote p{margin:.3rem 0}.prose img{max-width:100%}.hljs-keyword,.hljs-literal,.hljs-meta{color:var(--tok-keyword)}.hljs-string{color:var(--tok-string)}.hljs-number{color:var(--tok-number)}.hljs-comment{color:var(--tok-comment);font-style:italic}.hljs-title,.hljs-function{color:var(--tok-title)}.hljs-built_in,.hljs-type{color:var(--tok-builtin)}.tracker{padding-top:32px}.summary{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:24px 0 32px;padding:18px}.summary-top{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px;display:flex}.bar{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.bar-fill{background:var(--accent);height:100%;transition:width .2s}.stage-stats{text-align:center;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0;padding:0;font-size:.8rem;list-style:none;display:grid}.stage-stats li{flex-direction:column;display:flex}.stat-num{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.tracker-tools{flex-wrap:wrap;gap:8px;display:flex}.tracker-tools button{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;padding:.35rem .9rem;font-size:.875rem}.tracker-tools .danger{color:#b91c1c}.track-phase{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:16px;overflow:hidden}.track-phase>summary{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;padding:14px 16px;display:grid}.track-phase>summary .bar{grid-column:1/-1}.track-phase-title{font-weight:600}.track-row{border-top:1px solid var(--border);grid-template-columns:1fr repeat(5,2.4rem);align-items:center;padding:6px 16px;font-size:.9rem;display:grid}.track-row.done .track-title{color:var(--done)}.track-head{color:var(--muted);font-size:.75rem;font-weight:600}.stage-head{text-align:center}.stage-long{display:none}.track-cell{justify-content:center;display:flex}.track-cell input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}@media (min-width:640px){.track-row{grid-template-columns:1fr repeat(5,4.6rem)}.stage-long{display:inline}.stage-short{display:none}}
