@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/martian-mono-latin-400-normal.CdbloNrQ.woff2) format("woff2"),url(/_astro/martian-mono-latin-400-normal.raXJJyyp.woff) format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/martian-mono-latin-500-normal.Day3me-m.woff2) format("woff2"),url(/_astro/martian-mono-latin-500-normal.CQzpSVN2.woff) format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/martian-mono-latin-700-normal.BkbX3qd8.woff2) format("woff2"),url(/_astro/martian-mono-latin-700-normal.CmpBwtmm.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/public-sans-latin-400-normal.8Rpg0ruU.woff2) format("woff2"),url(/_astro/public-sans-latin-400-normal.BJe8n-hT.woff) format("woff")}@font-face{font-family:Public Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/public-sans-latin-400-italic.B1appi_f.woff2) format("woff2"),url(/_astro/public-sans-latin-400-italic.DG5iILKh.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/public-sans-latin-600-normal.Fru-LXNs.woff2) format("woff2"),url(/_astro/public-sans-latin-600-normal.BjQ8ENXZ.woff) format("woff")}:root{--paper: #eef1f4;--panel: #f8fafb;--ink: #111c26;--muted: #55667a;--rule: #c9d2db;--accent: #1c46c8;--accent-ink: #ffffff;--accent-soft: #dfe6fb;--win: #0f7a45;--win-soft: #dcefe4;--warn: #9a5800;--bad: #b42318;--bad-soft: #f8e1de;--hl: #ffe28a;--track: #dde3e9;--tick: #c3ccd6;--font-mono: "Martian Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-body: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--step--1: .8125rem;--step-0: 1.0625rem;--step-1: 1.25rem;--step-2: 1.5rem;--step-3: clamp(1.5rem, 1.1rem + 2.2vw, 2.25rem);--measure: 66ch;--wide: 68rem;--radius: 4px;--gap: 1.25rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0d1319;--panel: #141c24;--ink: #dce4ec;--muted: #8c9bab;--rule: #27333f;--accent: #87a2ff;--accent-ink: #0b1220;--accent-soft: #1b2645;--win: #4cc38a;--win-soft: #12301f;--warn: #e3a53b;--bad: #f2766b;--bad-soft: #3a1714;--hl: #5a4700;--track: #1d2731;--tick: #2c3946;color-scheme:dark}}:root[data-theme=dark]{--paper: #0d1319;--panel: #141c24;--ink: #dce4ec;--muted: #8c9bab;--rule: #27333f;--accent: #87a2ff;--accent-ink: #0b1220;--accent-soft: #1b2645;--win: #4cc38a;--win-soft: #12301f;--warn: #e3a53b;--bad: #f2766b;--bad-soft: #3a1714;--hl: #5a4700;--track: #1d2731;--tick: #2c3946;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;overflow-wrap:break-word}.wrap{max-width:var(--wide);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}h1,h2,h3{font-family:var(--font-mono);font-weight:500;line-height:1.25;letter-spacing:-.02em;text-wrap:balance;margin:0}h1{font-size:var(--step-3)}h2{font-size:var(--step-1)}h3{font-size:var(--step-0)}a{color:var(--accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.86em}pre{margin:0;padding:.9rem 1rem;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);overflow-x:auto;line-height:1.55;font-size:var(--step--1)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.num,.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.site-header{border-bottom:1px solid var(--rule)}.site-header .wrap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;padding-block:.9rem}.wordmark{font-family:var(--font-mono);font-weight:700;font-size:1rem;color:var(--ink);text-decoration:none;letter-spacing:-.03em}.wordmark span{color:var(--accent)}.site-nav{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font-size:var(--step--1);font-family:var(--font-mono)}.site-nav a{color:var(--muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-footer{margin-top:4rem;border-top:1px solid var(--rule);font-size:var(--step--1);color:var(--muted)}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between;padding-block:1.5rem 2rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.site-footer a{color:var(--muted)}.theme-toggle{font:inherit;font-family:var(--font-mono);color:var(--muted);background:none;border:1px solid var(--rule);border-radius:var(--radius);padding:.1rem .5rem;cursor:pointer}main{padding-block:2.5rem 1rem}.page-head{display:grid;gap:.6rem;margin-bottom:2rem;max-width:var(--measure)}.page-head p{margin:0;color:var(--muted)}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1rem}.prose h1+p{margin-top:1.1rem;font-size:var(--step-1);line-height:1.5}.prose h2{margin-top:3rem;padding-top:.9rem;border-top:1px solid var(--rule)}.prose h2+*{margin-top:.9rem}.prose h3{margin-top:2rem}.prose p,.prose ul,.prose ol{margin-bottom:0}.prose ul{padding-left:1.2rem}.prose li+li{margin-top:.4rem}.prose li::marker{color:var(--muted)}.prose table,.data-table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.prose th,.prose td,.data-table th,.data-table td{text-align:left;padding:.45rem .75rem .45rem 0;border-bottom:1px solid var(--rule);vertical-align:top}.prose th,.data-table th{font-family:var(--font-mono);font-weight:500;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.table-scroll{overflow-x:auto;max-width:100%}.block{margin-block:1.5rem;min-width:0}.race-wrap{overflow-x:auto;max-width:100%}table.race{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:var(--step--1);font-variant-numeric:tabular-nums}table.race caption{caption-side:bottom;text-align:left;padding-top:.5rem;font-family:var(--font-body);font-size:var(--step--1);color:var(--muted)}table.race th{text-align:left;font-weight:500;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.4rem .75rem .4rem 0;border-bottom:1px solid var(--ink);white-space:nowrap}table.race td{padding:.55rem .75rem .55rem 0;border-bottom:1px solid var(--rule);white-space:nowrap;vertical-align:middle}table.race .lane{width:2.25rem;color:var(--muted)}table.race tr.win td{background:var(--win-soft)}table.race tr.win .lane{color:var(--win);font-weight:700;padding-left:.5rem}table.race th.lane,table.race td.lane{padding-left:.5rem}table.race .solver-name{font-weight:500}table.race .ver{margin-left:.5rem;color:var(--muted);font-size:.6875rem}table.race .num{text-align:right}table.race td.live{color:var(--accent)}table.race th.track,table.race td.track{width:38%;min-width:7rem}table.race td.track{background-image:repeating-linear-gradient(to right,var(--tick) 0 1px,transparent 1px calc(100% / 6));background-size:100% .9rem;background-repeat:no-repeat;background-position:left center;background-color:transparent}table.race tr.win td.track{background-color:var(--win-soft)}table.race .cap-label{font-size:.625rem}.bar{display:block;height:.55rem;border-radius:1px;background:var(--muted)}.bar-ok{background:var(--ink)}.bar-win{background:var(--win)}.bar-bad{background:var(--bad)}.bar-live{background:var(--accent);transition:width .5s linear}@media(prefers-reduced-motion:reduce){.bar-live{transition:none}}.chip{display:inline-block;font-family:var(--font-mono);font-size:.6875rem;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;padding:0 .4rem;border:1px solid currentColor;border-radius:2px;white-space:nowrap}.chip-ok{color:var(--ink)}.chip-win{color:var(--win);margin-left:.4rem}.chip-bad{color:var(--bad)}.chip-live{color:var(--accent)}.chip-muted{color:var(--muted)}.status{display:inline-block;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;padding:.05rem .5rem;border-radius:2px;background:var(--track);color:var(--ink)}.status-solved{background:var(--win);color:var(--paper)}.status-solving{background:var(--accent);color:var(--accent-ink)}.status-unsolved,.status-invalid{background:var(--bad);color:var(--paper)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-family:var(--font-mono);font-size:var(--step--1);font-weight:500;line-height:1.2;padding:.7rem 1.1rem;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;text-decoration:none}.btn:hover{filter:brightness(1.08)}.btn[disabled]{opacity:.55;cursor:progress}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}.btn-small{padding:.35rem .6rem;font-size:.75rem}label{font-size:var(--step--1)}.field{display:grid;gap:.35rem;min-width:0}.field>label,.field-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}input[type=email],input[type=text],input[type=number],select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);padding:.55rem .7rem;width:100%;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.check{display:flex;gap:.6rem;align-items:flex-start;font-size:var(--step--1);line-height:1.45}.check input{margin-top:.2rem;width:1rem;height:1rem;accent-color:var(--accent);flex:none}.form-error{color:var(--bad);font-size:var(--step--1);margin:0}.form-ok{color:var(--win);font-size:var(--step--1);margin:0}.samples{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.75rem}.sample{display:grid;grid-template-rows:auto auto 1fr auto;gap:.3rem;text-align:left;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);padding:.85rem .9rem;cursor:pointer;min-width:0}.sample:hover{border-color:var(--accent)}.sample .fmt{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.sample .t{font-family:var(--font-mono);font-weight:500;font-size:.875rem}.sample .b{font-size:var(--step--1);color:var(--muted);line-height:1.45}.sample .go{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);margin-top:.3rem}.sample[aria-busy=true] .go:after{content:" posting"}.post-settings{margin-top:1rem;padding:.75rem .9rem;border:1px dashed var(--rule);border-radius:var(--radius)}.sample-error{margin-top:.75rem}.editor{display:grid;gap:.9rem;margin-top:1.75rem;padding:1.1rem;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius)}.editor-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.editor-row .field{flex:1 1 14rem}.code-input{position:relative;min-width:0;background:var(--paper);border-radius:var(--radius)}.code-input textarea{position:relative;display:block;min-height:14rem;resize:vertical;font-family:var(--font-mono);font-size:.8125rem;line-height:1.6;white-space:pre;overflow:auto;background:transparent;tab-size:4}.code-input .line-hl{position:absolute;left:1px;right:1px;background:var(--hl);pointer-events:none}.code-input[data-invalid=true] textarea{border-color:var(--bad)}.validate-status{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline;min-height:1.5rem;font-size:var(--step--1)}.validate-status .where{font-family:var(--font-mono);color:var(--bad)}.curl{position:relative;display:flex;gap:.5rem;align-items:stretch}.curl pre{flex:1 1 auto;min-width:0;white-space:pre}.hero{display:grid;gap:2rem;align-items:start}@media(min-width:60rem){.hero{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}}.hero-race{padding:1rem 1rem .75rem;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);min-width:0}.hero-race .meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;font-family:var(--font-mono);font-size:.75rem;color:var(--muted);margin-bottom:.5rem}.spec{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:1.25rem 0 0;padding:0;list-style:none;font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.spec b{color:var(--ink);font-weight:500}.card{display:grid;gap:.9rem;padding:1rem 1.1rem;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);min-width:0}.card-head{display:flex;flex-wrap:wrap;gap:.4rem .9rem;align-items:baseline}.card-id{font-family:var(--font-mono);font-weight:500}.card-id a{color:var(--ink)}.card-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.card-foot{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.card-foot b{color:var(--ink);font-weight:500}.board-list{display:grid;gap:1rem}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.75rem 1.5rem;margin:0}.facts div{min-width:0}.facts dt{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.facts dd{margin:.15rem 0 0;font-family:var(--font-mono);font-size:.875rem;font-variant-numeric:tabular-nums}.problem-layout{display:grid;gap:1.5rem}@media(min-width:60rem){.problem-layout{grid-template-columns:minmax(0,1fr) 22rem;align-items:start}}.side{display:grid;gap:1rem;min-width:0}.panel{display:grid;gap:.75rem;padding:1rem 1.1rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--panel);min-width:0}.panel h2{font-size:.9375rem}.panel p{margin:0;font-size:var(--step--1)}.panel-warn{border-color:var(--warn)}.price{font-family:var(--font-mono);font-size:var(--step-2);font-variant-numeric:tabular-nums}.solution pre,.body-view pre{max-height:24rem}.copy-row{display:flex;gap:.5rem;min-width:0}.copy-row input{font-family:var(--font-mono);font-size:.75rem;min-width:0}.checkout{display:grid;gap:1.25rem;max-width:32rem}.receipt{border:1px solid var(--rule);border-radius:var(--radius);background:var(--panel);padding:1.1rem 1.2rem;display:grid;gap:.6rem}.receipt-row{display:flex;justify-content:space-between;gap:1rem;font-size:var(--step--1)}.receipt-row span:first-child{flex:none}.receipt-row span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.receipt-total{border-top:1px solid var(--ink);padding-top:.6rem;font-weight:600;font-size:var(--step-0)}.button-stack{display:grid;gap:.6rem}.house{font-family:var(--font-mono);font-size:var(--step-2);color:var(--win)}.step-dots{display:flex;gap:.5rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap}.step-dots [aria-current=step]{color:var(--ink)}.signup{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;max-width:var(--measure)}.signup .field{flex:1 1 14rem}.stack{display:grid;gap:1.5rem;min-width:0}.stack-tight{gap:.6rem}.card>*,.hero>*,.problem-layout>*,.stack>*{min-width:0}.block .table-scroll{max-width:52rem}@media(max-width:36rem){table.race th.track,table.race td.track{display:none}table.race td,table.race th{padding-right:.5rem}table.race td.solver{white-space:normal}table.race th.lane,table.race td.lane,table.race tr.win .lane{width:1.5rem;padding-left:.35rem}.card{padding:.85rem .75rem}}
