:root{--bg-0:#0a0b0e;--bg-1:#0d0f13;--bg-2:#181c24;--line:#1f2530;--line-2:#2a313e;--fg-0:#e6e9ef;--fg-1:#aab1bd;--fg-2:#6b7384;--fg-3:#444b58;--accent:oklch(0.82 0.16 75);--accent-bg:color-mix(in oklch, var(--accent) 18%, transparent);--accent-line:color-mix(in oklch, var(--accent) 35%, transparent);--green:oklch(0.80 0.19 145);--red:oklch(0.72 0.20 25);--cyan:oklch(0.78 0.13 230);--warn:var(--accent);--danger:var(--red);--info:var(--cyan);--sev-easy:var(--green);--sev-med:var(--accent);--sev-hard:var(--red);--sev-insane:oklch(0.70 0.20 320);--radius:0;--radius-lg:4px}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-cyrillic-ext.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:ibm plex sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-cyrillic.woff2)format('woff2');unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-greek.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:ibm plex sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-vietnamese.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:ibm plex sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext.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:ibm plex sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin.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:ibm plex sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-cyrillic-ext.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:ibm plex sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-cyrillic.woff2)format('woff2');unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-greek.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:ibm plex sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-vietnamese.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:ibm plex sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext.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:ibm plex sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin.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:ibm plex sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-cyrillic-ext.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:ibm plex sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-cyrillic.woff2)format('woff2');unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-greek.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:ibm plex sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-vietnamese.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:ibm plex sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext.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:ibm plex sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin.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:ibm plex sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-cyrillic-ext.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:ibm plex sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-cyrillic.woff2)format('woff2');unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-greek.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:ibm plex sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-vietnamese.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:ibm plex sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext.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:ibm plex sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin.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:400;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic-ext.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(/fonts/jetbrains-mono-cyrillic.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(/fonts/jetbrains-mono-greek.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(/fonts/jetbrains-mono-vietnamese.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(/fonts/jetbrains-mono-latin-ext.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(/fonts/jetbrains-mono-latin.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(/fonts/jetbrains-mono-cyrillic-ext.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(/fonts/jetbrains-mono-cyrillic.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(/fonts/jetbrains-mono-greek.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(/fonts/jetbrains-mono-vietnamese.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(/fonts/jetbrains-mono-latin-ext.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(/fonts/jetbrains-mono-latin.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:600;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic-ext.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:600;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic.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:600;font-display:swap;src:url(/fonts/jetbrains-mono-greek.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:600;font-display:swap;src:url(/fonts/jetbrains-mono-vietnamese.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:600;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.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:600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.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:700;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic-ext.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:700;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic.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:700;font-display:swap;src:url(/fonts/jetbrains-mono-greek.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:700;font-display:swap;src:url(/fonts/jetbrains-mono-vietnamese.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:700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.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:700;font-display:swap;src:url(/fonts/jetbrains-mono-latin.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}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-0);color:var(--fg-0);font-family:ibm plex sans,system-ui,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}.mono,code,pre,kbd,samp{font-family:jetbrains mono,ui-monospace,monospace}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}::selection{background:var(--accent);color:var(--bg-0)}main{display:block}.site-header{display:flex;justify-content:space-between;align-items:center;padding:22px 56px;border-bottom:1px solid var(--line);background:var(--bg-0)}.site-header .brand{display:inline-flex;align-items:center;gap:12px;color:var(--fg-0);font-size:15px;font-weight:600;letter-spacing:.04em}.site-header .brand:hover{text-decoration:none}.site-header .brand svg{color:var(--accent)}.site-header nav{display:flex;gap:28px;align-items:center}.site-header nav a{font-size:13px;letter-spacing:.04em;color:var(--fg-1)}.site-header nav a:hover{color:var(--fg-0);text-decoration:none}.site-header nav a.is-active{color:var(--fg-0);font-weight:500}.site-header nav a.nav-rss{color:var(--accent)}.site-footer{margin-top:60px;padding:24px 56px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase}.site-footer a{color:inherit}.generic-page{padding-bottom:40px}.generic-page__head{padding:64px 56px 28px;max-width:760px;margin:0 auto}.generic-page__head h1{font-size:38px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:14px 0 0;text-wrap:balance}.generic-page__body{padding:0 56px;max-width:760px;margin:0 auto;color:var(--fg-1);font-size:15px;line-height:1.65}.generic-page__body h2,.generic-page__body h3{color:var(--fg-0);margin-top:32px;margin-bottom:12px}.generic-page__body p{margin:12px 0}.generic-page__body a{color:var(--accent)}@media(max-width:760px){.site-header{padding:18px 24px;flex-wrap:wrap;gap:12px}.site-header nav{gap:18px;flex-wrap:wrap}.site-footer{padding:20px 24px;flex-direction:column;gap:8px}.generic-page__head{padding:48px 24px 20px}.generic-page__head h1{font-size:28px}.generic-page__body{padding:0 24px}}.section-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid var(--line);font-family:jetbrains mono,monospace;font-size:11px;text-transform:uppercase}.section-head__label{color:var(--fg-0);letter-spacing:.18em}.section-head__meta{color:var(--fg-2);letter-spacing:.18em}.eyebrow{font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--line);font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.14em;color:var(--fg-2);background:0 0;text-transform:uppercase}.chip--accent{border-color:transparent;color:var(--accent);background:var(--accent-bg)}.tag{display:inline-block;padding:2px 7px;border:1px solid var(--line);font-family:jetbrains mono,monospace;font-size:11px;color:var(--fg-1)}.tag::before{content:"#";color:var(--fg-2);margin-right:1px}.tag:hover{color:var(--accent);border-color:var(--accent-line);text-decoration:none}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px color-mix(in oklch,var(--green) 18%,transparent)}.dot--amber{background:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.dot--red{background:var(--red);box-shadow:0 0 0 3px color-mix(in oklch,var(--red) 18%,transparent)}.dot--idle{background:var(--fg-3);box-shadow:none}.diff{display:inline-block;padding:2px 8px;font-family:jetbrains mono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-align:center;background:0 0;border:1px solid var(--line-2);color:var(--fg-1)}.diff--easy{color:var(--green);border-color:color-mix(in oklch,var(--green) 35%,transparent)}.diff--med{color:var(--accent);border-color:color-mix(in oklch,var(--accent) 35%,transparent)}.diff--hard{color:var(--red);border-color:color-mix(in oklch,var(--red) 35%,transparent)}.diff--insane{color:var(--sev-insane);border-color:color-mix(in oklch,var(--sev-insane) 35%,transparent)}.kbd{display:inline-block;padding:1px 6px;border:1px solid var(--line-2);border-bottom-width:2px;font-family:jetbrains mono,monospace;font-size:11px;color:var(--fg-1);background:var(--bg-2)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line-2);background:0 0;color:var(--fg-0);font-family:jetbrains mono,monospace;font-size:13px;cursor:pointer}.btn:hover{border-color:var(--accent-line);color:var(--accent);text-decoration:none}.btn--primary{background:var(--accent);color:var(--bg-0);border-color:var(--accent);font-weight:600}.btn--primary:hover{color:var(--bg-0);filter:brightness(1.05);text-decoration:none}h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em;margin:0}.home{padding-bottom:40px}.home-hero{padding:84px 56px 24px;max-width:1180px;margin:0 auto}.home-hero__h1{font-size:54px;line-height:1.05;font-weight:600;letter-spacing:-.03em;margin:0;text-wrap:balance}.home-hero__h1 .accent{color:var(--accent)}.home-hero__lead{margin-top:24px;font-size:16px;line-height:1.6;color:var(--fg-1);max-width:780px;text-wrap:pretty}.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px auto 0;max-width:1068px}.stat-band__cell{background:var(--bg-0);padding:24px 28px}.stat-band__value{font-size:38px;font-weight:600;letter-spacing:-.025em;color:var(--accent);line-height:1;margin-bottom:10px;font-feature-settings:"tnum" 1}.stat-band__label{font-size:12px;color:var(--fg-1);line-height:1.4}.home-section{padding:32px 56px 0;max-width:1180px;margin:0 auto}.featured{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:8px 0 20px}.featured:hover{text-decoration:none}.featured__copy{display:flex;flex-direction:column}.featured__meta{display:flex;gap:12px;align-items:center;font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase;margin-bottom:16px}.featured__cat{background:var(--accent-bg);color:var(--accent);padding:3px 8px}.featured__h2{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 14px;text-wrap:balance;color:var(--fg-0)}.featured__lead{font-size:15px;line-height:1.6;color:var(--fg-1);margin:0 0 18px;text-wrap:pretty}.featured__lead code{font-family:jetbrains mono,monospace;font-size:13px;background:var(--bg-2);color:var(--accent);padding:1px 5px}.featured__tags{display:flex;gap:6px;margin-bottom:24px}.featured__tag{font-family:jetbrains mono,monospace;font-size:11px;color:var(--fg-2);border:1px solid var(--line);padding:3px 8px}.featured__cta{font-family:jetbrains mono,monospace;font-size:13px;color:var(--accent);margin-top:auto}.featured__code{background:var(--bg-1);border:1px solid var(--line);overflow:hidden}.featured__code-head{display:flex;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line);font-family:jetbrains mono,monospace;font-size:11px;color:var(--fg-2);font-feature-settings:"tnum" 1}.featured__code-head .lines{color:var(--fg-3)}.featured__code pre{font-family:jetbrains mono,monospace;font-size:12.5px;line-height:1.65;color:var(--fg-0);padding:12px 0;margin:0;overflow-x:auto;font-feature-settings:"tnum" 1}.featured__code .line{display:grid;grid-template-columns:32px 1fr;gap:0}.featured__code .ln{color:var(--fg-3);text-align:right;padding-right:12px;user-select:none;-webkit-user-select:none}.featured__code .lc{white-space:pre;padding-left:8px}.campaign-list{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line)}.campaign{background:var(--bg-0);padding:20px 24px;color:var(--fg-0)}.campaign:hover{background:var(--bg-1);text-decoration:none}.campaign__row{display:grid;grid-template-columns:92px 70px 1fr 160px;gap:18px;align-items:start}.campaign__rank{padding-top:2px}.campaign__cats-cell{display:none}.campaign__cats{display:none}.meta-cats{margin-top:8px;font-family:jetbrains mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);line-height:1.9;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:0;row-gap:2px}.meta-cats>*{white-space:nowrap}.meta-cats a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.meta-cats a:hover{text-decoration-thickness:2px}.meta-cats__sep{color:var(--fg-3);margin:0 6px}.campaign__date{font-family:jetbrains mono,monospace;font-size:12px;color:var(--fg-2);padding-top:4px}.campaign__kind{font-family:jetbrains mono,monospace;font-size:10.5px;letter-spacing:.14em;color:var(--fg-1);text-transform:uppercase;border:1px solid var(--line);padding:3px 6px;text-align:center;margin-top:1px;align-self:start}.campaign__title-line{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.campaign__name{font-size:16px;font-weight:500;color:var(--fg-0)}.campaign__star{font-family:jetbrains mono,monospace;font-size:10px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.campaign__note{font-size:12.5px;color:var(--fg-2);margin-top:4px}.campaign__note strong{color:var(--fg-1);font-weight:500}.campaign__note .solo{color:var(--accent)}.campaign__note .agentic{color:var(--cyan)}.campaign__rank{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.campaign__rank-line{display:flex;align-items:baseline;gap:6px}.campaign__place{font-size:56px;font-weight:600;letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum" 1}.campaign__place--top{color:var(--accent)}.campaign__place--mid{color:var(--fg-0)}.campaign__place--rest{color:var(--fg-1)}.campaign__of{font-family:jetbrains mono,monospace;font-size:11px;color:var(--fg-2);font-feature-settings:"tnum" 1}.campaign__pct{font-family:jetbrains mono,monospace;font-size:10.5px;color:var(--fg-2);letter-spacing:.04em;font-feature-settings:"tnum" 1}.campaign__cats-cell{font-family:jetbrains mono,monospace;font-size:12px;text-align:right;letter-spacing:.04em}.campaign__cats-cell--has{color:var(--accent)}.campaign__cats-cell--none{color:var(--fg-3)}.campaign__cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.cat-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line)}.cat-chip:hover{border-color:var(--accent-line);text-decoration:none}.cat-chip__name{font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}.cat-chip__dot{width:6px;height:6px;border-radius:50%;opacity:.85}.cat-chip__dot--easy{background:var(--green)}.cat-chip__dot--med{background:var(--accent)}.cat-chip__dot--hard{background:var(--red)}@media(max-width:760px){.home-hero{padding:56px 24px 32px}.home-hero__h1{font-size:36px}.stat-band{grid-template-columns:repeat(2,1fr);margin:16px 24px 0}.home-section{padding:48px 24px 0}.featured{grid-template-columns:1fr;gap:20px}.featured__h2{font-size:24px}.campaign__row{grid-template-columns:1fr;gap:6px}.campaign__rank{align-items:flex-start}.campaign__cats-cell{text-align:left}}.writeups-page{padding-bottom:40px;min-height:100%}.writeups-intro{padding:64px 56px 28px;max-width:1180px;margin:0 auto}.writeups-intro h1{font-size:44px;font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 14px;text-wrap:balance}.writeups-intro h1 .muted{color:var(--fg-2)}.writeups-intro p{font-size:15px;line-height:1.6;color:var(--fg-1);max-width:640px;margin:0;text-wrap:pretty}.writeups-intro a{color:var(--accent)}.writeups-filters{padding:8px 56px 0;max-width:1180px;margin:0 auto 22px;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}.filter-chip{font-family:jetbrains mono,monospace;font-size:12px;letter-spacing:.14em;padding:6px 12px;border:1px solid var(--line);color:var(--fg-1);background:0 0;cursor:pointer;text-transform:lowercase;line-height:1.4}.filter-chip:hover{color:var(--fg-0);text-decoration:none}.filter-chip__count{color:var(--fg-2);margin-left:4px}.filter-chip.is-active{background:var(--accent);color:var(--bg-0);border-color:var(--accent)}.filter-chip.is-active .filter-chip__count{color:var(--bg-0)}.writeups-table{padding:0 56px;max-width:1180px;margin:0 auto}.writeups-table__head{display:grid;grid-template-columns:110px 130px 110px 1fr 70px 32px;gap:16px;padding:12px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:jetbrains mono,monospace;font-size:10.5px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase}.writeup-row{display:grid;grid-template-columns:110px 130px 110px 1fr 70px 32px;gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);background:0 0;color:var(--fg-0)}.writeup-row:hover{background:var(--bg-1);text-decoration:none}.writeup-row.is-featured{background:color-mix(in oklch,var(--accent) 8%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.writeup-row__date{font-family:jetbrains mono,monospace;font-size:12px;color:var(--fg-2);font-feature-settings:"tnum" 1}.writeup-row__event{font-family:jetbrains mono,monospace;font-size:12px;color:var(--fg-1)}.writeup-row__cat{font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.writeup-row__title-cell{display:flex;align-items:baseline;gap:12px;min-width:0}.writeup-row__title{font-size:14.5px;color:var(--fg-0);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.writeup-row__star{color:var(--accent);margin-right:8px}.writeup-row__tags{display:flex;gap:4px;margin-left:auto;flex-shrink:0}.writeup-row__tag{font-family:jetbrains mono,monospace;font-size:10px;color:var(--fg-2);border:1px solid var(--line);padding:2px 6px}.writeup-row__arrow{color:var(--fg-3);font-size:14px;text-align:right}@media(max-width:880px){.writeups-table__head,.writeup-row{grid-template-columns:100px 100px 1fr 60px 24px}.writeups-table__head>:nth-child(2),.writeup-row__event{display:none}}@media(max-width:760px){.writeups-intro{padding:48px 24px 20px}.writeups-intro h1{font-size:30px}.writeups-filters{padding:8px 24px 0}.writeups-table{padding:0 24px}.writeups-table__head{display:none}.writeup-row{grid-template-columns:1fr auto;grid-template-areas:"date diff" "title title" "event arrow";gap:6px 12px;padding:16px 0}.writeup-row__date{grid-area:date}.writeup-row__event{grid-area:event}.writeup-row__cat{display:none}.writeup-row__title-cell{grid-area:title;flex-direction:column;align-items:flex-start;gap:6px}.writeup-row__title{white-space:normal}.writeup-row__tags{margin-left:0;flex-wrap:wrap}.writeup-row .diff{grid-area:diff}.writeup-row__arrow{grid-area:arrow}}.notes-page{padding-bottom:40px;min-height:100%}.notes-intro{padding:64px 56px 32px;max-width:720px;margin:0 auto}.notes-intro h1{font-size:44px;font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 14px}.notes-intro p{font-size:15px;line-height:1.6;color:var(--fg-1);margin:0;text-wrap:pretty}.notes-feed{padding:0 56px;max-width:720px;margin:0 auto}.note-row{padding:24px 0;border-top:1px solid var(--line)}.note-row__meta{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase}.note-row__meta .sep{color:var(--fg-3)}.note-row__type--essay{color:var(--accent)}.note-row__type--note{color:var(--fg-1)}.note-row__title{font-size:22px;font-weight:600;letter-spacing:-.015em;line-height:1.2;margin:0 0 10px;text-wrap:balance}.note-row__title a{color:var(--fg-0)}.note-row__title a:hover{color:var(--accent);text-decoration:none}.note-row__body{font-size:15.5px;line-height:1.6;color:var(--fg-0);margin:0;text-wrap:pretty}.note-row__body--short{font-size:14.5px;color:var(--fg-1)}.note-row__cta{display:inline-block;margin-top:12px;font-family:jetbrains mono,monospace;font-size:12px;color:var(--accent)}.note-single{padding:64px 56px 32px;max-width:720px;margin:0 auto}.note-single__crumb{font-family:jetbrains mono,monospace;font-size:11px;color:var(--fg-2);letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}.note-single__crumb a{color:var(--fg-2)}.note-single__crumb a:hover{color:var(--accent);text-decoration:none}.note-single__crumb .sep{color:var(--fg-3);margin:0 6px}.note-single__date{font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase;margin-bottom:12px}.note-single h1{font-size:38px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 16px;text-wrap:balance}.note-single__lede{font-size:17px;line-height:1.6;color:var(--fg-1);margin:0 0 28px}.note-single__body{font-size:15.5px;line-height:1.7;color:var(--fg-0)}.note-single__body h2{font-size:22px;margin:32px 0 12px}.note-single__body h3{font-size:18px;margin:24px 0 8px}.note-single__body p{margin:14px 0}.note-single__body a{color:var(--accent)}.note-single__body code{font-family:jetbrains mono,monospace;font-size:13px;background:var(--bg-2);color:var(--accent);padding:1px 5px}@media(max-width:760px){.notes-intro{padding:48px 24px 24px}.notes-intro h1{font-size:30px}.notes-feed{padding:0 24px}.note-single{padding:48px 24px 24px}.note-single h1{font-size:28px}}.about-page{padding-bottom:40px;min-height:100%}.about-hero{padding:84px 56px 40px;max-width:1180px;margin:0 auto}.about-hero h1{font-size:38px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 22px;text-wrap:balance}.about-hero h1 .accent{color:var(--accent)}.about-hero p{font-size:16px;line-height:1.65;color:var(--fg-1);margin:0 0 14px;text-wrap:pretty}.about-hero p:last-child{margin:0;font-size:15.5px}.about-section{padding:40px 56px 0;max-width:1180px;margin:0 auto}.credentials{display:grid;grid-template-columns:200px 1fr;row-gap:14px;font-family:jetbrains mono,monospace;font-size:13.5px}.credentials__k{color:var(--fg-2)}.credentials__v{color:var(--fg-0)}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.contact-card{background:var(--bg-0);padding:20px 22px;display:flex;flex-direction:column;gap:6px;color:var(--fg-0)}.contact-card:hover{background:var(--bg-1);text-decoration:none}.contact-card__k{font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase}.contact-card__v{font-family:jetbrains mono,monospace;font-size:14px;color:var(--accent);word-break:break-all}.contact-card__note{font-size:12.5px;color:var(--fg-1)}.about-notes{padding:40px 56px 0;max-width:1180px;margin:0 auto;color:var(--fg-1);font-size:15px;line-height:1.65}.about-notes h2,.about-notes h3{color:var(--fg-0);margin-top:32px;margin-bottom:12px}.about-notes p{margin:12px 0}.about-notes ul{padding-left:22px}.about-notes a{color:var(--accent)}@media(max-width:760px){.about-hero{padding:56px 24px 32px}.about-hero h1{font-size:28px}.about-section{padding:32px 24px 0}.credentials{grid-template-columns:1fr;row-gap:4px}.credentials__k{color:var(--fg-2);margin-top:10px}.contact-grid{grid-template-columns:1fr}.about-notes{padding:32px 24px 0}}.writeup-page{padding-bottom:40px}.breadcrumb{max-width:1180px;margin:0 auto;padding:24px 56px 0;font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.breadcrumb__seg{color:var(--fg-2)}.breadcrumb__seg:hover{color:var(--accent);text-decoration:none}.breadcrumb__seg--current{color:var(--fg-0)}.breadcrumb__sep{color:var(--fg-3)}.writeup-header{padding:32px 56px 48px;border-bottom:1px solid var(--line);margin-top:8px}.writeup-header__inner{max-width:1180px;margin:0 auto}.writeup-header__meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase;margin-bottom:18px}.writeup-header__cat{background:var(--accent-bg);color:var(--accent);padding:3px 8px}.writeup-header__title{font-size:44px;line-height:1.05;font-weight:600;letter-spacing:-.025em;margin:0 0 18px;max-width:920px;text-wrap:balance}.writeup-header__lede{font-size:17px;color:var(--fg-1);line-height:1.55;max-width:720px;margin:0 0 18px;text-wrap:pretty}.writeup-header__chips{display:flex;gap:8px;flex-wrap:wrap}.writeup-header__foot{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase}.writeup-header__sep{color:var(--fg-3)}.writeup-grid{max-width:1180px;margin:0 auto;padding:56px;display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:flex-start}.writeup-article{min-width:0}.toc-sticky{position:sticky;top:24px;align-self:flex-start;font-size:13px}.toc-sticky__label{font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}.toc-sticky #TableOfContents ul{list-style:none;padding:0;margin:0}.toc-sticky #TableOfContents>ul>li{border-left:1px solid var(--line);padding:6px 0 6px 14px;margin:0}.toc-sticky #TableOfContents ul ul{margin:4px 0 0;padding-left:14px;border-left:1px solid var(--line)}.toc-sticky #TableOfContents li{padding:4px 0}.toc-sticky #TableOfContents a{color:var(--fg-1);display:block;line-height:1.4}.toc-sticky #TableOfContents a:hover{color:var(--accent);text-decoration:none}.toc-sticky #TableOfContents a.is-active{color:var(--accent)}.toc-sticky #TableOfContents>ul>li:has(>a.is-active){border-left-color:var(--accent)}.writeup-content{color:var(--fg-0);font-size:15px;line-height:1.7;font-family:ibm plex sans,system-ui,sans-serif}.writeup-content h2{font-size:26px;font-weight:600;letter-spacing:-.01em;margin:56px 0 18px;padding-top:16px;border-top:1px solid var(--line);color:var(--fg-0)}.writeup-content h2:first-child{border-top:0;padding-top:0;margin-top:0}.writeup-content h3{font-size:19px;font-weight:600;margin:32px 0 12px;color:var(--fg-0)}.writeup-content h4{font-size:13px;font-weight:600;margin:24px 0 8px;color:var(--fg-1);text-transform:uppercase;letter-spacing:.18em;font-family:jetbrains mono,monospace}.writeup-content p{margin:14px 0}.writeup-content ul,.writeup-content ol{margin:14px 0;padding-left:22px}.writeup-content li{margin:4px 0}.writeup-content blockquote{margin:18px 0;padding:4px 0 4px 16px;border-left:2px solid var(--accent-line);color:var(--fg-1)}.writeup-content a{color:var(--accent)}.writeup-content hr{border:0;border-top:1px solid var(--line);margin:32px 0}.writeup-content img,.writeup-content figure img{max-width:100%;height:auto;border:1px solid var(--line);display:block}.writeup-content figure{margin:24px 0}.writeup-content figcaption{font-size:12px;color:var(--fg-2);margin-top:6px}.writeup-content table{width:100%;border-collapse:collapse;margin:18px 0;font-size:13px}.writeup-content table th,.writeup-content table td{border:1px solid var(--line);padding:8px 12px;text-align:left}.writeup-content table th{background:var(--bg-1);font-weight:600;color:var(--fg-0)}.codepanel{margin:22px 0;border:1px solid var(--line);background:var(--bg-1);overflow:hidden}.codepanel__head{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);font-family:jetbrains mono,monospace;font-size:11px;color:var(--fg-2);letter-spacing:.04em}.codepanel__file{color:var(--fg-1)}.codepanel__lang{margin-left:auto;color:var(--fg-3)}.writeup-tags{margin:56px 0 0}.writeup-tags__label{font-family:jetbrains mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--fg-2);text-transform:uppercase;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px}.writeup-tags__list{display:flex;flex-wrap:wrap;gap:6px}.writeup-tags__list a.tag{color:var(--fg-1)}.writeup-tags__list a.tag:hover{color:var(--accent);border-color:var(--accent-line);text-decoration:none}.prev-next{margin-top:56px;padding:20px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:24px}.prev-next__cell{min-width:0}.prev-next__cell--next{text-align:right}.prev-next a{display:flex;flex-direction:column;gap:4px;color:var(--fg-1)}.prev-next a:hover{color:var(--accent);text-decoration:none}.prev-next__hint{font-family:jetbrains mono,monospace;font-size:11px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.18em}.prev-next__title{font-size:14px}.admonition{margin:20px 0;padding:14px 18px;border-left:3px solid var(--accent);background:color-mix(in oklch,var(--accent) 8%,var(--bg-1));font-size:14px;color:var(--fg-0)}.admonition__title{font-family:jetbrains mono,monospace;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}.admonition--note,.admonition--info{border-left-color:var(--cyan);background:color-mix(in oklch,var(--cyan) 8%,var(--bg-1))}.admonition--note .admonition__title,.admonition--info .admonition__title{color:var(--cyan)}.admonition--warning,.admonition--tip{border-left-color:var(--accent);background:color-mix(in oklch,var(--accent) 8%,var(--bg-1))}.admonition--warning .admonition__title,.admonition--tip .admonition__title{color:var(--accent)}.admonition--danger,.admonition--question{border-left-color:var(--red);background:color-mix(in oklch,var(--red) 8%,var(--bg-1))}.admonition--danger .admonition__title,.admonition--question .admonition__title{color:var(--red)}.admonition--success{border-left-color:var(--green);background:color-mix(in oklch,var(--green) 8%,var(--bg-1))}.admonition--success .admonition__title{color:var(--green)}@media(max-width:960px){.writeup-header{padding:24px 24px 32px}.writeup-header__title{font-size:32px}.breadcrumb{padding:16px 24px 0}.writeup-grid{grid-template-columns:1fr;gap:24px;padding:32px 24px}.toc-sticky{position:static;border:1px solid var(--line);padding:14px 16px;background:var(--bg-1)}.prev-next{grid-template-columns:1fr;gap:16px}.prev-next__cell--next{text-align:left}}.route-404{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:64px 28px}.route-404__inner{max-width:720px;width:100%;text-align:left}.route-404__stamp{font-family:jetbrains mono,monospace;font-size:10px;color:var(--fg-2);letter-spacing:.18em;margin-bottom:16px}.route-404__art{font-family:jetbrains mono,monospace;font-size:13px;line-height:1.4;color:var(--accent);background:var(--bg-1);border:1px solid var(--line);padding:18px 20px;margin:24px 0 32px;overflow-x:auto}.route-404__h1{font-size:28px;font-weight:600;letter-spacing:-.015em;line-height:1.25;margin:0 0 14px;color:var(--fg-0)}.route-404__lede{color:var(--fg-1);font-size:16px;line-height:1.6;margin:0 0 28px;max-width:560px}.route-404__cta{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:760px){.route-404{padding:48px 18px;min-height:60vh}.route-404__h1{font-size:22px}.route-404__art{font-size:11px;padding:14px 12px}}.chroma{background:var(--bg-1);color:var(--fg-0);font-family:jetbrains mono,ui-monospace,monospace;font-size:12.5px;line-height:1.65;overflow-x:auto;padding:14px 0;margin:0;tab-size:2}.chroma pre{margin:0;padding:0;background:0 0}.chroma code{background:0 0;padding:0;color:inherit}.chroma .ln,.chroma .lnt{color:var(--fg-3);margin-right:14px;padding:0 10px 0 16px;user-select:none;border-right:1px solid var(--line);display:inline-block;text-align:right;min-width:2.4em}.chroma .hl,.chroma .line.hl{display:block;background:var(--accent-bg);border-left:2px solid var(--accent);margin-left:-2px}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{color:var(--fg-2);font-style:italic}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt{color:var(--accent)}.chroma .n,.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi{color:var(--fg-0)}.chroma .nf,.chroma .fm{color:var(--fg-0);font-weight:600}.chroma .nc{color:var(--info);font-weight:600}.chroma .nb,.chroma .bp{color:var(--accent)}.chroma .nd{color:var(--info)}.chroma .ni{color:var(--accent)}.chroma .ne{color:var(--danger)}.chroma .no{color:var(--info)}.chroma .nt{color:var(--accent)}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .s1,.chroma .ss{color:var(--sev-easy)}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:var(--info)}.chroma .o,.chroma .ow{color:var(--fg-1)}.chroma .p{color:var(--fg-1)}.chroma .err{color:var(--danger);background:color-mix(in oklch,var(--danger) 18%,transparent)}.chroma .gd{color:var(--danger);background:color-mix(in oklch,var(--danger) 8%,transparent)}.chroma .gi{color:var(--sev-easy);background:color-mix(in oklch,var(--sev-easy) 8%,transparent)}.chroma .gh,.chroma .gu{color:var(--accent);font-weight:600}.chroma .ge{font-style:italic}.chroma .gs{font-weight:600}.chroma .gp{color:var(--fg-2)}:not(pre)>code{background:var(--bg-2);color:var(--accent);padding:1px 6px;border-radius:3px;border:1px solid var(--line);font-family:jetbrains mono,ui-monospace,monospace;font-size:.9em}