@font-face{font-family:Geist;src:url(/assets/fonts/Geist.woff2)format("woff2"),url(/assets/fonts/Geist.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0%;size-adjust:104.76%}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/JetBrainsMono.woff2)format("woff2"),url(/assets/fonts/JetBrainsMono.ttf)format("truetype");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono Fallback;src:local(Menlo);ascent-override:101.42%;descent-override:29.83%;line-gap-override:0%;size-adjust:100.57%}:root{--bg:#faf8f3;--topbar-bg:#15140fcc;--line-on-ink:#f3efe41f;--bg-soft:#f1ece0;--bg-card:#fdfcf9;--bg-ink:#15140f;--bg-ink-soft:#1f1d16;--text:#17160f;--text-muted:#6c6555;--text-on-ink:#f3efe4;--text-on-ink-muted:#a39d8a;--border:#e3ddcc;--border-soft:#ece7d8;--accent:#204d3a;--accent-hover:#163829;--accent-soft:#e2ebe2;--accent-soft-border:#c3d6c5;--accent-2:#ad4a1a;--accent-2-on-ink:#d8733a;--accent-2-hover:#933f16;--accent-2-soft:#f4e1d1;--error:#b3311a;--gold:#a67c1e;--radius-lg:22px;--radius:10px;--radius-sm:6px;--radius-xs:4px;--shadow-sm:0 1px 2px #17160f0f;--shadow-md:0 14px 34px #17160f1a;--surface-hover-border:var(--accent-soft-border);--surface-hover-shadow:var(--shadow-md);--surface-hover-lift:translateY(-3px);--font-display:"Charter", "Georgia", "Times New Roman", serif;--font-body:"Geist", "Geist Fallback", ui-sans-serif, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "JetBrains Mono Fallback", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--max-w:1160px;--max-w-prose:740px;--topbar-height:68px;--under-topbar:calc(var(--topbar-height) + 1px);--corner-art-size:clamp(20rem, 52vw, 34rem);--corner-art-room:calc(var(--corner-art-size) * .6)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-height) + 1px + 1.5rem);background:var(--bg) linear-gradient(var(--bg-ink), var(--bg-ink))}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}img,svg{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}.prose>:where(p,ul,ol,blockquote,table,h2,h3,h4) a{color:var(--accent);font-weight:600;text-decoration:none}.prose>:where(p,ul,ol,blockquote,table,h2,h3,h4) a:hover{color:var(--accent-hover)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only:focus{clip:auto;white-space:normal;z-index:100;background:var(--bg-card);width:auto;height:auto;color:var(--text);border:2px solid var(--accent-2);margin:0;padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;overflow:visible}h1,h2,h3,h4,h5{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);font-optical-sizing:auto;margin:0 0 .6em;font-weight:600;line-height:1.08}h1{margin-bottom:.55em;font-size:clamp(2.25rem,1.55rem + 2.8vw,4rem);font-weight:700;line-height:1.04}h2{margin-top:2.6em;margin-bottom:.7em;font-size:clamp(1.6rem,1.35rem + 1.1vw,2.15rem);line-height:1.12}h3{margin-top:2em;margin-bottom:.6em;font-size:1.3rem;font-weight:600}h4{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-top:1.5em;margin-bottom:.7em;font-size:.72rem;font-weight:600}p{margin:0 0 1.1em}p:last-child{margin-bottom:0}ul,ol{margin:0 0 1.1em;padding-left:1.3em}li{margin-bottom:.4em}code{font-family:var(--font-mono)}:not(pre)>code{color:var(--text);font-variant-ligatures:none;font-size:.92em;font-weight:600}.prose>:where(p,ul,ol,blockquote,table,h2,h3,h4) a code{color:inherit;font-weight:inherit}pre{background:var(--bg-ink);color:var(--text-on-ink);border:1px solid #343d4c;border-left:3px solid var(--accent-2);border-radius:var(--radius);scrollbar-color:#707a8c #1f2430;margin:0 0 1.5em;padding:1.1rem 1.25rem;font-size:.84rem;line-height:1.6;overflow-x:auto}pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}hr{border:none;border-top:1px solid var(--border);margin:2.5em 0}blockquote{border-left:3px solid var(--accent-2);color:var(--text-muted);font-family:var(--font-display);margin:0 0 1.1em;padding:.2em 1.2em;font-size:1.1em}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.prose{max-width:var(--max-w-prose);line-height:1.8}main{display:block}.announcement-bar{z-index:41;background:var(--accent);color:#fff;position:relative}.announcement-bar a{color:#fff;text-align:center;justify-content:center;align-items:center;gap:.45rem;min-height:40px;padding:.45rem 1.5rem;font-size:.86rem;font-weight:650;line-height:1.35;transition:background-color .15s,color .15s;display:flex}.announcement-bar a:hover{background:var(--accent-hover);color:#fff}.announcement-copy{min-width:0}.announcement-label{font-style:italic}.announcement-title{margin-left:.35em}.announcement-title,.announcement-arrow{color:#fff}.announcement-arrow{flex:none;transition:transform .15s}.announcement-bar a:hover .announcement-arrow{transform:translate(3px)}.topbar{color:var(--text-on-ink);z-index:40;border-bottom:1px solid #f3efe412;position:sticky;top:0}.topbar:before{content:"";z-index:-1;background:var(--topbar-bg);backdrop-filter:blur(18px)saturate(1.4);pointer-events:none;position:absolute;inset:0 0 -1px}.topbar-inner{max-width:var(--max-w);height:var(--topbar-height);justify-content:space-between;align-items:center;margin:0 auto;padding:0 1.5rem;display:flex}.wordmark{font-family:var(--font-body);color:#fff;letter-spacing:-.01em;font-size:1.2rem;font-weight:700}.wordmark:hover{color:#fff}.wordmark .wm-dot{color:var(--accent-2-on-ink)}.nav-primary{align-items:center;gap:2rem;display:flex}.nav-primary a,.nav-search{color:var(--text-on-ink);padding:.3rem 0;font-size:.92rem;font-weight:500;position:relative}.nav-search{font-family:var(--font-body);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.nav-search-mobile{display:none}.nav-search-control{border:1px solid var(--line-on-ink);border-radius:var(--radius-sm);height:38px;color:var(--text-on-ink);background:#f3efe40f;align-items:center;gap:.5rem;padding:0 .5rem 0 .65rem;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.nav-search:hover .nav-search-control{border-color:var(--accent-2-on-ink);color:#fff;background:#f3efe41a}.nav-search svg{flex:none;width:18px;height:18px}.nav-search kbd{border:1px solid var(--line-on-ink);border-radius:var(--radius-xs);min-width:2rem;color:var(--text-on-ink-muted);font:500 .65rem/1 var(--font-body);text-align:center;background:0 0;padding:.2rem .32rem;transition:background-color .15s,border-color .15s,color .15s}.nav-search-label{display:none}.nav-primary a:after{content:"";background:var(--accent-2-on-ink);height:1.5px;transition:right .18s;position:absolute;bottom:0;left:0;right:100%}.nav-primary a:hover:after,.nav-primary a.is-active:after{right:0}.nav-primary a:hover{color:#fff}.nav-primary a.is-active{color:#fff;font-weight:600}.nav-toggle{-webkit-appearance:none;appearance:none;border:1px solid var(--line-on-ink);border-radius:var(--radius-sm);color:var(--text-on-ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:none}.nav-toggle svg{width:18px;height:18px}.nav-right{align-items:center;gap:1.5rem;display:flex}pagefind-modal:not(:defined){display:none}pagefind-modal{--pf-text:var(--text);--pf-text-secondary:var(--text-muted);--pf-text-muted:var(--text-muted);--pf-background:var(--bg-card);--pf-border:var(--border);--pf-border-focus:var(--accent);--pf-skeleton:var(--bg-soft);--pf-skeleton-shine:var(--bg-card);--pf-hover:var(--accent-soft);--pf-mark:var(--accent-2);--pf-scroll-shadow:#17160f14;--pf-error-bg:var(--accent-2-soft);--pf-error-border:var(--accent-2);--pf-error-text:var(--accent-2);--pf-error-text-secondary:var(--text);--pf-outline-focus:var(--accent-2);--pf-font:var(--font-body);--pf-input-height:48px;--pf-input-font-size:1rem;--pf-summary-font-size:.82rem;--pf-result-title-font-size:1rem;--pf-result-excerpt-font-size:.86rem;--pf-results-gap:.625rem;--pf-border-radius:var(--radius);--pf-modal-backdrop:#15140fad;--pf-modal-max-width:720px;--pf-modal-max-height:min(720px, calc(100dvh - 3rem));--pf-shadow-sm:var(--shadow-sm);--pf-shadow-md:var(--shadow-md);--pf-shadow-lg:0 24px 64px #17160f38}pagefind-modal dialog.pf-modal{border:1px solid var(--border)!important;background:var(--bg)!important}pagefind-modal .pf-modal-header{background:var(--bg-card)!important;border-bottom-color:var(--border)!important;padding:1rem!important}pagefind-modal .pf-modal-header .pf-input{background:var(--bg)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;height:48px!important;padding-inline-start:2.5rem!important}pagefind-modal .pf-modal-header .pf-input:focus-visible{border-color:var(--accent-2)!important;box-shadow:0 0 0 2px var(--accent-2-soft)!important}pagefind-modal .pf-modal-close{display:flex!important}pagefind-modal .pf-modal-body{background:var(--bg)!important;padding:1rem!important}pagefind-modal .pf-summary{color:var(--text-muted)!important;margin-bottom:.75rem!important;font-weight:500!important}pagefind-modal .pf-result-card{background:var(--bg-card)!important;border-color:var(--border)!important;border-radius:var(--radius)!important;padding:1rem!important}pagefind-modal .pf-result-card:hover{border-color:var(--accent-soft-border)!important;background:var(--accent-soft)!important}pagefind-modal .pf-result-card:has([data-pf-selected]){border-color:var(--accent)!important;background:var(--accent-soft)!important}pagefind-modal .pf-result-link:hover{color:var(--text)!important;text-decoration:none!important}pagefind-modal .pf-result-title{color:var(--text)!important;font-family:var(--font-display)!important;font-weight:600!important}pagefind-modal .pf-result-excerpt{color:var(--text-muted)!important;line-height:1.55!important}pagefind-modal .pf-result-excerpt mark{color:var(--accent-2)!important;font-weight:650!important}pagefind-modal .pf-modal-footer{background:var(--bg-soft)!important;border-top-color:var(--border)!important;color:var(--text-muted)!important}pagefind-modal .pf-keyboard-key{background:var(--bg-card)!important;border-color:var(--border)!important;color:var(--text-muted)!important}@media (width<=860px){.nav-right{gap:.75rem}.nav-search-desktop{display:none}.nav-search-mobile{padding:0;display:inline-flex}.nav-search-mobile .nav-search-control{justify-content:center;width:38px;padding:0}.nav-primary{inset:var(--mobile-nav-top,var(--topbar-height)) 0 0 0;backdrop-filter:blur(8px);border-top:1px solid var(--line-on-ink);opacity:0;pointer-events:none;background:#15140ff5;flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 1.5rem 1.5rem;transition:opacity .15s,transform .15s;position:fixed;overflow-y:auto;transform:translateY(-8px)}.nav-primary.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-primary a,.nav-primary .nav-search{border-bottom:1px solid var(--line-on-ink);width:100%;padding:.85rem 0;font-size:1.05rem}.nav-toggle{display:inline-flex}}main>:is(.page-header,.hero):first-child{margin-top:calc(-1 * var(--under-topbar))}.page-header{background:var(--bg-ink);color:var(--text-on-ink);padding:calc(3rem + var(--under-topbar)) 0 2.25rem;position:relative;overflow:hidden}:is(.page-header-art,.hero-art){pointer-events:none;position:absolute;inset:0 0 0 calc(50% + 170px)}:is(.page-header-art,.hero-art) .parallax-art{position:absolute;inset:0}:is(.page-header-art,.hero-art) .cover-art-bare{width:auto;height:140%;aspect-ratio:var(--art-ratio);background:0 0;position:absolute;top:50%;left:0;overflow:visible;transform:translateY(-50%)}.cover-art-bare svg{overflow:visible;transform:none}.cover-art-bare .art-svg{position:absolute;inset:0}.art-ring{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}@media (width<=1100px){:is(.page-header-art,.hero-art){height:var(--corner-art-room);inset:auto 0 0}:is(.page-header-art,.hero-art) .cover-art-bare{top:auto;bottom:calc(var(--corner-art-size) * -.35);left:auto;right:calc(var(--corner-art-size) * -.2);height:var(--corner-art-size);transform:none}.page-header{padding-top:calc(2.5rem + var(--under-topbar));padding-bottom:calc(2rem + var(--corner-art-room))}}.page-header .wrap{z-index:1;position:relative}.page-header .eyebrow{color:var(--accent-2-on-ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.9rem;font-size:.72rem;font-weight:600;display:block}.page-header h1{color:#fff;max-width:700px}.page-header .dek{color:var(--text-on-ink-muted);max-width:700px;font-size:1.05rem;font-family:var(--font-body);margin:0 0 1rem}.page-header .meta{font-size:.8rem;font-family:var(--font-mono);color:var(--text-on-ink-muted);flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.page-header .meta a{color:var(--text-on-ink);text-underline-offset:3px;text-decoration:underline #f3efe459}.page-header .meta a:hover{color:#fff;text-decoration-color:#fff}.page-header-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.page-header-actions .btn{color:#fff}.breadcrumbs{font-size:.78rem;font-family:var(--font-mono);color:var(--text-on-ink-muted);margin-bottom:1.25rem}.breadcrumbs ol{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:center;margin:0;display:flex}.breadcrumbs a{color:var(--text-on-ink-muted)}.breadcrumbs a:hover{color:#fff}.breadcrumbs .sep{opacity:.5;margin:0 .5em}.back-to-top{z-index:50;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-md);color:var(--text);border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex;position:fixed}.back-to-top:hover{border-color:var(--accent-soft-border);color:var(--accent)}.content-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:3.5rem;padding:3.25rem 0 4.5rem;display:grid}.content-grid>*{min-width:0}.mobile-toc,.prose .mobile-facts{display:none}#heatmap-wrap,#heatmap{width:100%;min-width:0;max-width:100%}@media (width<=900px){.content-grid{grid-template-columns:1fr;gap:2rem;padding:2rem 0 3rem}.mobile-toc{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);padding:1rem 1.1rem;display:block}.mobile-toc>h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:600}.mobile-toc ul{margin:1rem 0 0;padding-left:1.2rem}.mobile-toc li{margin-bottom:.45rem}.mobile-toc a{color:var(--text);font-size:.9rem}.content-grid.has-mobile-toc .desktop-toc{display:none}.prose .mobile-facts{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.25rem;margin:0 0 2rem;padding:1.1rem 1.2rem;display:grid}.mobile-facts div:last-child{grid-column:1/-1}.mobile-facts dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.68rem;font-weight:600}.mobile-facts dd{color:var(--text);margin:.2rem 0 0;font-size:.9rem;line-height:1.45}}.side-panel-sticky{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:1.65rem 1.6rem}.side-panel h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:0;margin-bottom:1.1rem;font-size:.7rem;font-weight:600}.side-panel-section+.side-panel-section{margin-top:1.5rem}.side-panel ul{margin:0;padding:0;list-style:none}.side-panel li{border-bottom:1px solid var(--border-soft);margin:0}.side-panel li:last-child{border-bottom:none}.side-panel a{color:var(--text);padding:.65rem 0;font-size:.92rem;font-weight:500;display:block}.side-panel a:hover{color:var(--accent)}.side-panel .fact-list{margin:0;padding:0;font-size:.86rem;list-style:none}.side-panel .fact-list li{border-bottom:1px solid var(--border-soft);flex-direction:column;gap:.35rem;padding:.9rem 0;display:flex}.side-panel .fact-list li:first-child{padding-top:0}.side-panel .fact-list li:last-child{padding-bottom:0}.side-panel .fact-list .fact-key{color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.side-panel .fact-list .fact-val{text-align:left;font-weight:600;line-height:1.45}.standalone-prose{margin:0 auto}.related-benchmarks{border-top:1px solid var(--border);margin-top:3.25rem;padding-top:2.25rem}.related-benchmarks h2{margin-top:.45rem}.related-benchmarks>p{color:var(--text-muted)}.related-benchmarks ul{gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.related-benchmarks li{margin:0}.related-benchmarks li a{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);padding:1rem 1.1rem;text-decoration:none;display:block}.related-benchmarks strong,.related-benchmarks span{display:block}.related-benchmarks strong{color:var(--text)}.related-benchmarks span{color:var(--text-muted);margin-top:.25rem;font-size:.84rem;line-height:1.55}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;display:grid}.card-grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}:where(a.card,.related-benchmarks li a,.benchmark-downloads a){transition:border-color .15s,box-shadow .15s,transform .15s}:where(a.card,.related-benchmarks li a,.benchmark-downloads a):hover{border-color:var(--surface-hover-border);box-shadow:var(--surface-hover-shadow);transform:var(--surface-hover-lift)}.card .card-body{flex-direction:column;flex:1;padding:1.4rem 1.5rem 1.6rem;display:flex}.card h2,.card h3{color:var(--text);margin-top:0;font-size:1.08rem;font-weight:600}.card p{color:var(--text-muted);margin-bottom:.9em;font-size:.92rem}.card .card-arrow{color:var(--accent-2);font-size:.82rem;font-weight:600;font-family:var(--font-mono);margin-top:auto}.card .card-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.7rem;font-size:.68rem;font-weight:600;display:inline-block}.cover-art{aspect-ratio:16/9;background:var(--bg-soft);width:100%;position:relative;overflow:hidden}.cover-art svg{transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.08)}.cover-art-sm{aspect-ratio:1}.cover-art-side{background:var(--bg-soft);min-height:220px;position:relative;overflow:hidden}.cover-art-side svg{object-fit:cover;width:100%;height:100%;display:block}.topic-card{padding:1.6rem 1.6rem 1.8rem}.topic-card .card-arrow{margin-top:auto}.topic-icon{width:2.5rem;height:2.5rem;color:var(--accent);justify-content:flex-start;align-items:center;margin-bottom:1.1rem;display:flex}.topic-icon .icon{stroke-width:1.8px;width:2rem;height:2rem}.rule-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.rule-list li{border-bottom:1px solid var(--border);margin:0}.rule-list a{color:var(--text);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem .25rem;font-weight:500;display:flex}.rule-list a:hover{color:var(--accent)}.rule-list .rule-title{flex:auto;min-width:0}.rule-list .rule-meta{color:var(--text-muted);text-align:right;font-size:.86rem;font-weight:400}@media (width<=560px){.rule-list .rule-meta{display:none}}.rule-list .arrow{color:var(--accent-2);font-family:var(--font-mono);flex-shrink:0}.section{padding:4rem 0}.section-soft{background:var(--bg-soft)}.section-head{max-width:640px;margin-bottom:2.5rem}.section-head .eyebrow{color:var(--accent-2);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:600}.section-head h2{margin-top:.5rem}.section-head p{color:var(--text-muted);font-size:1.02rem}.section-question{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1.35rem}.section-question strong{font-family:var(--font-display);font-size:1.05rem;display:block}.section-question-links{flex-wrap:wrap;gap:.35rem .65rem;margin-top:.35rem;font-size:.9rem;display:flex}.section-question-links>span{color:var(--border)}.section-question a{text-decoration:underline;text-decoration-color:var(--accent-soft-border);text-underline-offset:3px;font-weight:600}.section-question a:hover{text-decoration-color:var(--accent)}.progressive-controls{justify-content:center;margin-top:1.5rem;display:flex}.progressive-toggle{color:var(--accent);cursor:pointer;font:600 .86rem/1.4 var(--font-body);background:0 0;border:0;padding:.35rem .5rem}.progressive-toggle:after{content:" ↓";font-family:var(--font-mono)}.progressive-toggle:hover{color:var(--accent-hover)}.btn{color:inherit;border-radius:var(--radius-sm);font-size:.94rem;font-weight:600;line-height:1.4;font-family:var(--font-body);cursor:pointer;background:0 0;border:1.5px solid #0000;align-items:center;gap:.5em;padding:.75rem 1.3rem;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.985)}.btn-primary{background:var(--text);color:var(--bg)}.btn-primary:hover{background:var(--accent);color:#fff}.btn-accent{background:var(--accent-2);color:#fff}.btn-accent:hover{background:var(--accent-2-hover);color:#fff}.btn-ghost{border-color:var(--text);color:var(--text)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn-ghost-invert{color:var(--text-on-ink);border-color:#f3efe459}.btn-ghost-invert:hover{border-color:var(--text-on-ink);color:#fff}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 1.5em;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.89rem}.prose>table{max-width:100%;display:block;overflow-x:auto}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.8rem 1.1rem}thead th{background:var(--bg-soft);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.7rem;font-weight:600}tbody tr:last-child td{border-bottom:none}.pill{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--accent-hover);padding:.3em .65em;font-size:.68rem;font-weight:600;display:inline-block}.ext-link{font-size:.85rem;font-weight:500}.ext-link:after,.external-link:after,.prose a[href^="https://"]:after,.prose a[href^="http://"]:after{content:" ↗";font-family:var(--font-mono);font-size:.9em;line-height:1;display:inline-block}.tool-external-links .external-link{color:var(--accent);font-weight:700}.callout{background:var(--bg-soft);border:1px solid var(--border);border-left:3px solid var(--accent-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:0 0 1.5em;padding:1.1rem 1.3rem}.callout strong:first-child{color:var(--accent-2)}.hero{padding:calc(4.5rem + var(--under-topbar)) 0 3.5rem;background:var(--bg-ink);color:var(--text-on-ink);position:relative;overflow:hidden}.hero .wrap{z-index:1;position:relative}@media (width<=1100px){.hero{padding-top:calc(3rem + var(--under-topbar));padding-bottom:calc(2.5rem + var(--corner-art-room))}}.parallax-art{--parallax-y:0px;transform:translate3d(0, var(--parallax-y), 0);will-change:transform}@media (prefers-reduced-motion:reduce){.parallax-art{will-change:auto;transform:none}.announcement-arrow{transition:none}}.hero-kicker{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.hero .eyebrow{color:var(--accent-2-on-ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:600}.launch-mark{color:var(--text-on-ink);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;transform-origin:50%;font-size:1.5rem;font-weight:600;line-height:1;display:inline-block;position:relative;transform:rotate(-4deg)}.launch-mark:after{content:"";background:var(--accent-2-on-ink);height:2px;position:absolute;bottom:-.35rem;left:-.1em;right:-.1em}.hero h1{color:#fff;max-width:700px}.hero .dek{color:var(--text-on-ink-muted);max-width:620px;margin:1.25rem 0 2rem;font-size:1.2rem}.hero-actions{flex-wrap:wrap;gap:.9rem;margin-bottom:2rem;display:flex}.cta-band{background:var(--bg-ink);color:var(--text-on-ink);border-radius:var(--radius-lg);margin:1rem 0;padding:3.25rem 2.75rem;position:relative;overflow:hidden}.cta-band>:not(.cta-band-art){z-index:1;position:relative}.cta-band-art{opacity:.3;pointer-events:none;position:absolute;inset:0}.cta-band-art .cover-art{aspect-ratio:auto;background:0 0;width:108%;height:150%;position:absolute;inset:-25% -4%}.cta-band-art:after{content:"";background:linear-gradient(90deg,#15140ff0 0%,#15140fb8 60%,#15140f6b 100%);position:absolute;inset:0}.cta-band h2{color:#fff;margin-top:0}.cta-band p{color:var(--text-on-ink-muted);max-width:560px}:is(.cta-band,.site-footer) .form-note a{color:var(--text-on-ink)}.subscribe-form{z-index:1;gap:.5rem;max-width:380px;display:flex;position:relative}.subscribe-form input[type=email]{border-radius:var(--radius-sm);border:1.5px solid var(--border);min-width:0;font-size:.9rem;font-family:var(--font-body);background:var(--bg-card);color:var(--text);flex:1;padding:.65rem .9rem}:is(.cta-band,.site-footer) .subscribe-form input[type=email]{color:#fff;background:#f3efe414;border-color:#f3efe440}:is(.cta-band,.site-footer) .subscribe-form input[type=email]::placeholder{color:var(--text-on-ink-muted)}.subscribe-form button{background:var(--accent-2);color:#fff;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;font-family:var(--font-body);cursor:pointer;border:none;padding:.65rem 1.2rem;transition:background-color .15s}.subscribe-form button:hover{background:var(--accent-2-hover)}.subscribe-form button:disabled{opacity:.5;cursor:not-allowed}.subscribe-form button.is-subscribed{background:var(--accent);opacity:1;cursor:default}.subscribe-form input.is-invalid{border-color:var(--error)}.form-note{color:var(--text-muted);margin:.55rem 0 0;font-size:.76rem}.form-note a{color:inherit;text-underline-offset:2px;text-decoration:underline}footer.site-footer{background:var(--bg-ink);color:var(--text-on-ink);margin-top:2rem;padding:3.5rem 0}.site-footer :is(.footer-summary,.form-note){color:var(--text-on-ink-muted)}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:2rem;display:grid}@media (width<=760px){.footer-grid{grid-template-columns:1fr;gap:1.5rem}}.footer-grid .footer-heading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-on-ink-muted);margin:0 0 .85rem;font-size:.7rem;font-weight:600}.footer-wordmark{margin-bottom:.75rem}.footer-summary{max-width:360px;font-size:.9rem}.footer-subscribe{margin-top:1rem}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid li{margin-bottom:.55rem}.footer-grid a{color:var(--text-on-ink);font-size:.9rem}.footer-grid a:hover{color:var(--accent-2-on-ink)}.footer-grid .form-note a{font-size:inherit}.footer-link-button{color:var(--text-on-ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.9rem}.footer-link-button:hover{color:var(--accent-2-on-ink)}.footer-bottom{max-width:var(--max-w);border-top:1px solid var(--line-on-ink);font-size:.8rem;font-family:var(--font-mono);color:var(--text-on-ink-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:2.75rem auto 0;padding:1.4rem 1.5rem 0;display:flex}.footer-disclaimer{font-family:var(--font-body);flex:0 0 100%;margin:.5rem 0 0;font-size:.76rem}.consent-banner{z-index:1000;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);max-width:760px;box-shadow:var(--shadow-md);margin:0 auto;padding:1.25rem;position:fixed;bottom:1rem;left:1rem;right:1rem}.consent-banner h2{margin:0 0 .4rem;font-size:1.35rem}.consent-banner p{color:var(--text-muted);margin:0;font-size:.9rem}.consent-actions,.consent-dialog-actions{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.consent-actions .btn{justify-content:center;min-width:7.5rem}.consent-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);width:min(620px,100% - 2rem);max-height:calc(100vh - 2rem);color:var(--text);box-shadow:var(--shadow-md);padding:1.4rem;overflow:auto}.consent-dialog::backdrop{background:#15140f94}.consent-dialog-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.consent-dialog h2{margin:.25rem 0 0;font-size:1.65rem}.consent-dialog>form>p{color:var(--text-muted);margin-top:1rem}.consent-close{border:1px solid var(--border);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;font-size:1.6rem;line-height:1}.consent-close:hover{border-color:var(--text)}.consent-category{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1rem 0;display:flex}.consent-category strong{margin-bottom:.2rem;display:block}.consent-category p{color:var(--text-muted);margin:0;font-size:.86rem}.consent-category input{width:1.25rem;height:1.25rem;accent-color:var(--accent);flex:none;margin-top:.15rem}@media (width>=700px){.consent-banner{align-items:flex-end;gap:1.25rem;max-width:980px;display:flex}.consent-banner-copy{flex:1}.consent-actions{flex:none;margin-top:0}}@media (width<=520px){.consent-banner{padding:1rem}.consent-banner h2{font-size:1.1rem}.consent-banner p{font-size:.82rem;line-height:1.5}.consent-actions{gap:.5rem;margin-top:.85rem}.consent-actions .btn{flex:1 1 0;min-width:0;padding:.6rem .5rem;font-size:.86rem}.consent-dialog-actions .btn{flex:1}}.icon{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:1.35em;height:1.35em;display:inline-block}.eyebrow-inline{color:var(--accent-2);font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.muted{color:var(--text-muted)}.center{text-align:center}.benchmark-subnav{background:var(--bg-card);border-bottom:1px solid var(--border)}.benchmark-subnav .wrap{scrollbar-width:thin;gap:1.5rem;display:flex;overflow-x:auto}.benchmark-subnav a{color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;padding:.9rem 0;font-size:.72rem;font-weight:600}.benchmark-subnav a:hover{color:var(--accent)}.benchmark-feature{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);align-items:center;gap:3rem;padding:1.75rem;display:grid}.benchmark-release-meta{color:var(--text-muted);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:.45rem .8rem;margin-bottom:.8rem;font-size:.7rem;display:flex}.benchmark-release-meta span:first-child{color:var(--accent-2);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.benchmark-release-meta>*+:before{content:"·";color:var(--border);margin-right:.8rem}.benchmark-summary h2,.benchmark-summary h3{margin:.5rem 0 .75rem}.benchmark-summary p{color:var(--text-muted)}.benchmark-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.4rem;display:flex}.benchmark-chart{min-width:0;margin:0;overflow-x:auto}.benchmark-chart-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.benchmark-chart-head h2{margin:0 0 .25rem;font-size:1.25rem}.benchmark-chart-head p{max-width:520px;color:var(--text-muted);margin:0;font-size:.85rem}.benchmark-plot{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);width:100%;min-height:430px;overflow:hidden}.benchmark-status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.benchmark-status-published{color:var(--accent)}.benchmark-status-planned{color:var(--text-muted)}.benchmark-coverage{min-width:920px}.benchmark-coverage th:not(:first-child),.benchmark-coverage td{text-align:center}.benchmark-coverage tbody th{white-space:nowrap;font-size:.84rem}.benchmark-coverage a{color:inherit}.benchmark-coverage th>a,.benchmark-coverage td>a{margin:-.8rem -1.1rem;padding:.8rem 1.1rem;display:block}.benchmark-coverage th>a:hover,.benchmark-coverage td>a:hover{background:var(--accent-soft);color:var(--accent)}.coverage-mark{font-family:var(--font-mono);white-space:nowrap;font-size:.65rem}.coverage-mark.is-measured{color:var(--accent);font-weight:700}.coverage-mark.is-planned{color:var(--gold)}.benchmark-method{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.benchmark-method li{gap:.85rem;margin:0;display:flex}.benchmark-method li>span{font-family:var(--font-mono);color:var(--accent-2);font-weight:600}.benchmark-method strong{margin-bottom:.3rem;display:block}.benchmark-method p{color:var(--text-muted);font-size:.86rem}.benchmark-report{max-width:980px}.benchmark-tools{margin-bottom:3rem}.benchmark-tools-head{margin-bottom:1.5rem}.benchmark-tools-head h2{margin-bottom:.55rem}.benchmark-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.benchmark-tool-card .card-body{padding:1.15rem 1.2rem 1.25rem}.benchmark-tool-card h3{margin-bottom:.5rem}.benchmark-tool-card p{font-size:.82rem;line-height:1.55}.benchmark-tool-card .card-arrow{font-size:.72rem}.benchmark-takeaway{max-width:720px;margin:2.5rem 0 3rem}.benchmark-takeaway h2{margin:.45rem 0 .65rem}.benchmark-takeaway p{color:var(--text-muted);font-size:1rem}.benchmark-download-section{border-top:1px solid var(--border);margin-top:3rem;padding-top:2.5rem}.benchmark-download-section h2{margin:0 0 1.25rem}.benchmark-note{color:var(--text-muted);font-size:.88rem}.benchmark-facts{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);padding:1.4rem}.benchmark-facts section+section{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.benchmark-facts h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 .7rem;font-size:.68rem}.benchmark-facts ul{margin:0;padding:0;list-style:none}.benchmark-facts li,.benchmark-facts p{margin:0 0 .55rem;font-size:.82rem;line-height:1.5}.benchmark-facts li:last-child,.benchmark-facts p:last-child{margin-bottom:0}.benchmark-downloads{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.benchmark-downloads a{color:var(--text);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);grid-template-columns:minmax(0,1fr) auto;gap:.2rem .75rem;padding:1rem;display:grid}.benchmark-downloads strong{font-size:.9rem}.benchmark-downloads span:nth-child(2){color:var(--text-muted);grid-column:1;font-size:.75rem}.benchmark-downloads span:last-child{color:var(--accent-2);font-family:var(--font-mono);grid-area:1/2/3;align-self:center}.benchmark-detail-section+.benchmark-detail-section,.benchmark-detail-columns+.benchmark-detail-section{margin-top:2.5rem}.benchmark-detail-section h3{margin:0 0 .85rem;font-size:1.08rem}.benchmark-detail-section p,.benchmark-detail-section li{font-size:.88rem}.benchmark-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:2rem;display:grid}.benchmark-planned{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:3.5rem;display:grid}.benchmark-planned>div{max-width:670px}.benchmark-planned h2{margin-top:.75rem}.benchmark-planned p{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.02rem}@media (width<=820px){.benchmark-feature{grid-template-columns:1fr;gap:2rem}.benchmark-method{grid-template-columns:1fr 1fr}.benchmark-planned{grid-template-columns:1fr;gap:2rem}.benchmark-downloads{grid-template-columns:1fr}.benchmark-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.benchmark-chart-head{flex-direction:column}.benchmark-feature{padding:1.25rem}.benchmark-detail-columns{grid-template-columns:1fr;gap:1rem}.benchmark-method,.benchmark-tool-grid{grid-template-columns:1fr}}.card.featured-guide{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;display:grid}.featured-guide .card-body{justify-content:center;padding:2.25rem 2.5rem}.featured-guide :is(h2,h3){margin:0 0 .6rem;font-size:1.65rem}.card.featured-reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.featured-reverse .featured-art{order:-1}.featured-guide p{margin-bottom:1.1rem;font-size:1.02rem}.featured-art{min-width:0;min-height:220px;position:relative;overflow:hidden}.featured-art .cover-art{aspect-ratio:auto;width:100%;height:100%;position:absolute;inset:0}@media (width<=720px){.hero~.section{padding:3rem 0}.card.featured-guide,.card.featured-reverse{grid-template-columns:1fr}.featured-reverse .featured-art{order:0}.featured-guide .card-body{padding:1.5rem}.featured-art{min-height:180px}}.card .cover-art svg{transition:transform .6s cubic-bezier(.2,.7,.2,1)}a.card:hover .cover-art svg{transform:scale(1.14)}a.card:hover .featured-art .cover-art svg{transform:scale(1.06)}.arrow-glyph,.rule-list .arrow{transition:transform .2s;display:inline-block}a.card:hover .arrow-glyph,.rule-list a:hover .arrow{transform:translate(4px)}.side-panel a{transition:color .15s,transform .2s}.side-panel a:hover{transform:translate(3px)}.footer-grid a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .25s,color .15s}.footer-grid a:hover{background-size:100% 1px}.count-up{min-width:calc(var(--digits) * 1ch);text-align:right;font-variant-numeric:tabular-nums;display:inline-block}@media (prefers-reduced-motion:no-preference){.hero-art .art-ring{opacity:0;transition:opacity 2.4s cubic-bezier(.4,0,.2,1)}.hero-art .is-ring-ready .art-ring{opacity:1}.reveal{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0s);transform:translateY(12px)}.reveal.is-visible{opacity:1;transform:none}.hero-art :is(.art-shape,.art-drift){transform-box:fill-box;transform-origin:50%}.hero-art .art-shape{animation:.8s cubic-bezier(.2,.7,.2,1) both art-enter}.hero-art .art-shape:nth-child(2){animation-delay:.1s}.hero-art .art-shape:nth-child(3){animation-delay:.2s}.hero-art .art-drift{animation:26s ease-in-out 1s infinite alternate art-drift}.hero-art .art-shape:nth-child(2) .art-drift{animation-name:art-drift-alt;animation-duration:21s}.hero-art .art-shape:nth-child(3) .art-drift{animation-duration:17s}}@keyframes art-enter{0%{opacity:0;transform:translate(6px,3px)rotate(-10deg)scale(.96)}}@keyframes art-drift{to{transform:translate(1.2px,-1px)rotate(3deg)}}@keyframes art-drift-alt{to{transform:translate(-1px,1.2px)rotate(-2.5deg)}}
