:root{color-scheme:light;--page: #f8f7f3;--page-dot: rgba(20, 20, 20, .09);--surface: #fffdf8;--surface-2: #f0ece1;--ink: #15140f;--ink-2: #4e4b43;--muted: #86817a;--grid: #e3ded0;--axis: #bdb7a6;--border: rgba(21, 20, 15, .12);--accent: #9a6b00;--gold: #d9a21b;--gold-soft: rgba(217, 162, 27, .18);--good: #1b8a5a;--bad: #cf3f3f;--warn: #c07a00;--s1: #2f7de1;--s2: #b25ad6;--s3: #ef6c3a;--s4: #1aa3b5;--s5: #e4568f;--s6: #6fa31c;--s7: #5e5bd8;--s8: #b8860b;--health-lo: #d9403f;--health-mid: #e6a21a;--health-hi: #1f9e6e;--max: 1120px;--radius: 12px;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: "Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;--shadow: 0 1px 0 rgba(21, 20, 15, .04), 0 10px 30px -18px rgba(21, 20, 15, .25);--ease: cubic-bezier(.2, .7, .2, 1)}:root[data-theme=dark]{color-scheme:dark;--page: #0b0e13;--page-dot: rgba(240, 236, 220, .09);--surface: #121720;--surface-2: #1a212c;--ink: #eef0f3;--ink-2: #b1b9c6;--muted: #717c8b;--grid: #1e2632;--axis: #35404f;--border: rgba(238, 240, 243, .1);--accent: #f3c04a;--gold: #f0b429;--gold-soft: rgba(240, 180, 41, .16);--good: #3ccf8e;--bad: #ef5a5a;--warn: #f0a93a;--s1: #5a9cf5;--s2: #c57ce8;--s3: #ff8a5c;--s4: #3ac6d8;--s5: #f57aa8;--s6: #9bd43e;--s7: #8b88f0;--s8: #d4a017;--health-lo: #ef5a5a;--health-mid: #f0b429;--health-hi: #3ccf8e;--shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 12px 32px -16px rgba(0, 0, 0, .7)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background-color:var(--page);background-image:radial-gradient(var(--page-dot) 1px,transparent 1.2px);background-size:24px 24px;background-position:12px 12px;color:var(--ink);font:15px/1.55 var(--sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;text-underline-offset:.15em}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.1;margin:1.7em 0 .5em;font-weight:700;letter-spacing:-.02em;text-wrap:balance}h1{font-size:clamp(1.9rem,1.3rem + 2.4vw,2.9rem);margin-top:.3em;font-variation-settings:"wdth" 92}h2{font-size:1.3rem}h3{font-size:1.02rem}p,ul,ol{margin:0 0 .9em}li{margin-bottom:.3em}code{font-family:var(--mono);font-size:.86em;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:0 .3em}strong{font-weight:700}::selection{background:var(--gold-soft)}.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}header.site{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--page) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;padding-top:10px;padding-bottom:10px}header.site .brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.1rem;color:var(--ink);letter-spacing:-.02em}header.site .brand:hover{text-decoration:none}header.site nav{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;margin-left:auto}.theme-toggle{display:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2);cursor:pointer;align-items:center;justify-content:center;margin-left:6px;padding:0}.theme-toggle:hover{background:var(--gold-soft);color:var(--ink)}html.js .theme-toggle{display:inline-flex}.theme-toggle .moon{display:none}:root[data-theme=dark] .theme-toggle .sun{display:none}:root[data-theme=dark] .theme-toggle .moon{display:block}header.site nav a{color:var(--ink-2);padding:4px 10px;border-radius:999px;font-weight:500}header.site nav a:hover{text-decoration:none;background:var(--surface-2);color:var(--ink)}header.site nav a[aria-current=page]{color:var(--ink);background:var(--gold-soft);font-weight:650}main{padding:22px 0 56px}.lede{color:var(--ink-2);max-width:70ch;font-size:1.08rem;line-height:1.5;text-wrap:pretty}.muted{color:var(--muted)}.small{font-size:.86rem}.prose{max-width:72ch}.prose h2{margin-top:2em;padding-top:.6em;border-top:1px solid var(--border)}.crumbs{font-size:.86rem;color:var(--muted);margin:0 0 4px}.crumbs a{color:var(--ink-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin:0 0 20px;box-shadow:var(--shadow)}.card.flush{padding:0;overflow:hidden}.notice{border-left:3px solid var(--warn)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.table-wrap{overflow-x:auto;margin:0 0 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--grid);vertical-align:top}th{font-weight:600;color:var(--muted);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}thead th{border-bottom:1px solid var(--border);background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.notes{min-width:20ch;color:var(--ink-2)}td.mono{font-family:var(--mono);font-size:.8rem}tr.group th{background:var(--page);color:var(--ink-2);text-transform:none;letter-spacing:0;font-size:.82rem;font-weight:650}.stats{display:flex;flex-wrap:wrap;gap:12px 30px;margin:10px 0 20px}.stats div{min-width:7ch}.stats .k{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.stats .v{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}.stats .v.good{color:var(--good)}.stats .v.bad{color:var(--bad)}.tag{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:1px 7px;border-radius:999px;border:1px solid var(--border);color:var(--ink-2);background:var(--surface-2);white-space:nowrap;vertical-align:middle}.tag.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 10%,transparent)}.tag.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent);background:color-mix(in srgb,var(--bad) 10%,transparent)}.tag.gold{color:var(--accent);border-color:color-mix(in srgb,var(--gold) 50%,transparent);background:var(--gold-soft)}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:0;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 0%,var(--surface))}svg.chart{display:block;width:100%;height:auto;font:11px var(--sans)}svg.chart text{fill:var(--ink-2)}svg.chart .gridline{stroke:var(--grid);stroke-width:1}svg.chart .axis{stroke:var(--axis);stroke-width:1}svg.chart .hit{fill:transparent}.legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.82rem;color:var(--ink-2);margin:8px 0 0}.legend svg{vertical-align:middle;margin-right:4px}figcaption{margin-top:8px;text-wrap:pretty}.btn{font:600 .86rem/1 var(--sans);color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:7px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,transform .15s var(--ease)}.btn:hover{background:var(--gold-soft)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--gold);color:#15140f;border-color:transparent}.btn.primary:hover{filter:brightness(1.05)}.btn[aria-pressed=true]{background:var(--ink);color:var(--page);border-color:transparent}.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface-2)}.seg button{font:600 .8rem/1 var(--sans);color:var(--ink-2);background:transparent;border:0;padding:7px 10px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--ink);color:var(--page)}input[type=range].scrub{width:100%;accent-color:var(--gold);margin:0;cursor:pointer}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:12px 0 0}.controls .clock{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-2);font-size:.9rem;min-width:14ch}.nojs{display:block}html.js .nojs,.jsonly{display:none}html.js .jsonly{display:block}html.js .jsonly.controls{display:flex}footer.site{border-top:1px solid var(--border);padding:18px 0 32px;color:var(--muted);font-size:.84rem}footer.site .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pop{0%{opacity:0;transform:scale(.2)}70%{transform:scale(1.25)}to{opacity:1;transform:scale(1)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.rise{animation:rise .6s var(--ease) both}.rise-2{animation:rise .6s .1s var(--ease) both}.rise-3{animation:rise .6s .2s var(--ease) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-delay:0s!important;transition-duration:1ms!important}html{scroll-behavior:auto}}@media(max-width:640px){header.site .wrap{padding-top:8px;padding-bottom:8px}header.site nav{margin-left:0;width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}header.site nav a{padding:3px 9px;font-size:.9rem}.stats{gap:10px 20px}.stats .v{font-size:1.25rem}th,td{padding:7px 9px}.card{padding:12px}}.mark[data-astro-cid-iifiznic]{display:inline-block;vertical-align:middle;flex:none}@media(prefers-reduced-motion:reduce){.mark[data-astro-cid-iifiznic] animateMotion[data-astro-cid-iifiznic]{display:none}}
