:root{--bg:#0f1115;--surface:#181b22;--surface-2:#11141a;--text:#e7e9ee;--muted:#8b93a7;--line:#272b35;--accent:#7c9cff;--accent-hover:#5f7ee0;--on-accent:#0f1115;--font-head:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-body:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--t-sm:.875rem;--t-base:1rem;--t-lg:1.25rem;--t-xl:1.75rem;--t-2xl:2.5rem;--t-3xl:clamp(2.5rem,6vw,4rem);--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s6:1.5rem;--s8:2rem;--s12:3rem;--s16:4rem;--s24:6rem;--radius:10px;--shadow:0 1px 2px #0000004d,0 8px 24px #0006;--maxw:72rem;--measure:68ch}*,:before,:after{box-sizing:border-box}html{color-scheme:dark}body{background:var(--bg);color:var(--text);font:var(--t-base)/1.65 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font-head);margin:0 0 var(--s4);letter-spacing:-.01em;font-weight:700;line-height:1.2}h1{font-size:var(--t-3xl)}h2{font-size:var(--t-2xl)}h3{font-size:var(--t-xl)}h4{font-size:var(--t-lg)}p{max-width:var(--measure);margin:0 0 var(--s4)}.wrap{max-width:var(--maxw);padding-inline:var(--s6);margin-inline:auto}section{padding-block:var(--s16)}.eyebrow{font-size:var(--t-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s2);font-weight:600;display:inline-block}.muted{color:var(--muted)}a{color:var(--accent);text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn{align-items:center;gap:var(--s2);background:var(--accent);color:var(--on-accent);border-radius:var(--radius);padding:var(--s3) var(--s6);font:600 var(--t-base)/1 var(--font-body);cursor:pointer;border:0;text-decoration:none;transition:background .15s;display:inline-flex}.btn:hover{background:var(--accent-hover);color:var(--on-accent)}.btn-ghost{color:var(--text);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.btn-ghost:hover{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s6);box-shadow:var(--shadow)}.grid{gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.site-header{z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:var(--s6);padding-block:var(--s4);display:flex}.wordmark{align-items:center;gap:var(--s2);font-family:var(--font-head);font-weight:700;font-size:var(--t-lg);color:var(--text);white-space:nowrap;text-decoration:none;display:flex}.wordmark .dot{color:var(--accent)}.wordmark:hover{color:var(--text)}nav.site-nav{gap:var(--s6);flex-wrap:wrap;display:flex}nav.site-nav a{color:var(--muted);font-weight:600;font-size:var(--t-sm);letter-spacing:.02em;text-decoration:none}nav.site-nav a:hover,nav.site-nav a[aria-current=page]{color:var(--text)}nav.site-nav a[aria-current=page]{color:var(--accent)}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding-block:var(--s8)}.site-footer .wrap{justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.site-footer p{color:var(--muted);font-size:var(--t-sm);max-width:none;margin:0}.site-footer nav{gap:var(--s4);display:flex}.site-footer a{color:var(--muted);font-size:var(--t-sm)}.site-footer a:hover{color:var(--accent)}.hero{padding-block:var(--s24) var(--s16)}.hero h1{max-width:40rem}.hero .lede{max-width:var(--measure);color:var(--muted);font-size:var(--t-lg);margin-bottom:var(--s8)}.hero-actions{gap:var(--s4);flex-wrap:wrap;display:flex}.hero-scope{margin-top:var(--s16);padding-top:var(--s8);border-top:1px solid var(--line)}.article-card{gap:var(--s2);flex-direction:column;display:flex}.article-card h3{margin-bottom:0}.article-card h3 a{color:var(--text);text-decoration:none}.article-card h3 a:hover{color:var(--accent)}.article-meta{font-size:var(--t-sm);color:var(--muted);gap:var(--s3);flex-wrap:wrap;display:flex}.article-excerpt{color:var(--muted);margin:0}.article-list{gap:var(--s8);flex-direction:column;display:flex}.article-list .article-card{padding-bottom:var(--s8);border-bottom:1px solid var(--line)}.article-list .article-card:last-child{border-bottom:0}.prose{max-width:var(--measure)}.prose>*+*{margin-top:var(--s4)}.prose h2{margin-top:var(--s12)}.prose h3{margin-top:var(--s8)}.prose ul,.prose ol{max-width:var(--measure);padding-left:1.25em}.prose li+li{margin-top:var(--s2)}.prose code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:.15em .4em;font-size:.9em}.prose pre{font-family:var(--font-mono);font-size:var(--t-sm);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);max-width:100%;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose table{border-collapse:collapse;width:100%;margin-block:var(--s6);font-size:var(--t-sm);max-width:none;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:var(--s2) var(--s4);border-bottom:1px solid var(--line);white-space:nowrap}.prose th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.prose blockquote{border-left:3px solid var(--line);padding-left:var(--s4);color:var(--muted);margin:0}.prose hr{border:0;border-top:1px solid var(--line);margin-block:var(--s12)}.prose figure{margin:0}.prose figcaption{font-size:var(--t-sm);color:var(--muted);margin-top:var(--s2)}.callout{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);border-radius:var(--radius);padding:var(--s4) var(--s6)}.callout .callout-label{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:var(--s2);font-weight:700;display:block}.callout.callout-warning{border-left-color:var(--muted)}.callout.callout-warning .callout-label{color:var(--text)}.callout>:last-child{margin-bottom:0}.bench-toolbar{gap:var(--s4);margin-bottom:var(--s6);flex-wrap:wrap;align-items:center;display:flex}.bench-toolbar input,.bench-toolbar select{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) - 4px);padding:var(--s2) var(--s3)}.bench-toolbar input:focus,.bench-toolbar select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent);outline:none}.bench-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);position:relative;overflow:hidden}.bench-table-scroll{overflow-x:auto}.bench-table-wrap:after{content:"";background:linear-gradient(to right, transparent, var(--surface));pointer-events:none;width:2rem;position:absolute;top:0;bottom:0;right:0}.bench-teaser-card p:last-child{margin-bottom:0}table.bench-table{border-collapse:collapse;width:100%;font-size:var(--t-sm);min-width:62rem}.bench-table th,.bench-table td{text-align:left;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);white-space:nowrap}.bench-table thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;user-select:none;background:var(--surface);font-size:.72rem;font-weight:600;position:sticky;top:0}.bench-table thead th:hover{color:var(--text)}.bench-table thead th.sorted:after{content:" ↓";color:var(--accent)}.bench-table thead th.sorted[data-dir=asc]:after{content:" ↑"}.bench-table tbody tr:hover{background:var(--surface-2)}.bench-table tbody tr:last-child td{border-bottom:0}.bench-table td.num{text-align:right;font-variant-numeric:tabular-nums}.bench-table .src-link{font-size:var(--t-sm)}.bench-note{color:var(--muted);font-size:var(--t-sm);max-width:none;margin-top:var(--s3)}@media (width<=760px){.site-header .wrap{align-items:flex-start;gap:var(--s3);flex-direction:column}nav.site-nav{gap:var(--s4)}.hero{padding-block:var(--s16) var(--s8)}.site-footer .wrap{flex-direction:column;align-items:flex-start}.prose table{font-size:var(--t-sm)}}.swipe-hint{font-size:var(--t-sm);color:var(--muted);margin:0 0 var(--s2);display:none}@media (width<=760px){.swipe-hint{display:block}}.prose code{overflow-wrap:anywhere}
