﻿@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/ibm-plex-sans-400.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/ibm-plex-sans-500.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/ibm-plex-sans-600.woff2") format("woff2")}@font-face{font-family:"Fraunces";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/fraunces-500.woff2") format("woff2")}@font-face{font-family:"Fraunces";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/fraunces-600.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/jetbrains-mono-400.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/jetbrains-mono-700.woff2") format("woff2")}:root{--bg: #faf5ea;--bg-panel: #efe3d0;--bg-code: #fbf1c7;--orange: #c2410c;--amber: #9a3412;--ember: #e8590c;--ink: #2a201a;--muted: #6b5844;--border: #ddcaad;--border-lt: #c9b292;--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--maxw: 1040px;--measure: 68ch;--radius: 4px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--banner-h) + 60px + 1rem)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7;background-image:radial-gradient(1100px 520px at 50% -12%, rgba(255,122,24,.06), rgba(0,0,0,0) 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");background-attachment:fixed,scroll;background-repeat:no-repeat,repeat;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--orange);text-decoration:none}a:hover{color:var(--amber)}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--ink)}code,pre,kbd{font-family:var(--mono);font-size:.88em}code{background:var(--bg-code);border:1px solid var(--border);border-radius:3px;padding:.1em .35em;color:var(--amber)}pre{position:relative;background:var(--bg-code);border:1px solid var(--border);border-left:2px solid var(--ember);border-radius:6px;padding:1rem 1.1rem;overflow-x:auto;line-height:1.55;box-shadow:inset 0 1px 0 rgba(255,252,245,.6),0 1px 2px rgba(74,42,16,.07)}.copy-btn{position:absolute;top:.45rem;right:.45rem;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.15rem .5rem;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,border-color .15s ease}pre:hover .copy-btn,.copy-btn:focus{opacity:1}.copy-btn:hover{color:var(--ember);border-color:var(--ember)}.copy-btn.ok{color:var(--ember);border-color:var(--ember)}pre code{background:none;border:none;padding:0;color:inherit}hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.kicker{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:var(--orange)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}:root{--banner-h: 2rem}.prerelease-banner{position:sticky;top:0;z-index:30;height:var(--banner-h);line-height:var(--banner-h);background:linear-gradient(90deg, var(--ember), var(--orange));color:#fff8ef;font-family:var(--sans);font-size:.85rem;text-align:center}.prerelease-banner strong{color:#fff8ef;font-weight:600}.site-header{position:sticky;top:var(--banner-h);z-index:20;background:rgba(247,239,225,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.site-header .wrap{display:flex;align-items:center;gap:1.5rem;height:60px}.brand{display:flex;align-items:center;transition:transform .15s ease,filter .15s ease}.brand-mark{display:block;height:30px;aspect-ratio:893/237;background-color:var(--ember);-webkit-mask:url("/bakelite1.svg") center/contain no-repeat;mask:url("/bakelite1.svg") center/contain no-repeat;transition:background-color .15s ease}.brand:hover{transform:translateY(-1px);filter:drop-shadow(0 2px 6px rgba(122,60,20,.3))}.brand:hover .brand-mark{background-color:var(--amber)}.nav{margin-left:auto;display:flex;gap:1.6rem;align-items:center}.nav a{font-family:var(--sans);font-size:.92rem;color:var(--muted)}.nav a:hover{color:var(--amber)}.site-footer{border-top:1px solid var(--border);margin-top:5rem;padding:2rem 0;color:var(--muted);font-size:.9rem;font-family:var(--sans)}.site-footer .wrap{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.site-footer .spacer{margin-left:auto}body.toc-page .site-header .wrap,body.toc-page .site-footer .wrap{max-width:1240px}.btn{display:inline-block;font-family:var(--sans);font-size:.95rem;font-weight:500;padding:.65rem 1.3rem;border-radius:var(--radius);border:1px solid var(--border-lt);transition:filter .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--ember);color:#fff8ef;font-weight:600;border-color:var(--ember);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 1px 2px rgba(74,42,16,.18)}.btn-primary:hover{background:var(--orange);border-color:var(--orange);color:#fff8ef}.textlink{font-family:var(--sans);font-size:.95rem;color:var(--muted);align-self:center}.textlink:hover{color:var(--amber)}.hero{padding:5rem 1.5rem 3.5rem;border-bottom:1px solid var(--border)}.hero .inner{max-width:var(--maxw);margin:0 auto}.hero img.logo{width:min(360px,72%);height:auto;margin-bottom:2rem;filter:drop-shadow(0 2px 10px rgba(122,60,20,.14))}.hero .lede{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,3.4vw,2.35rem);line-height:1.25;color:var(--ink);margin:0;max-width:16em}.hero .lede em{font-style:italic;color:var(--amber)}.hero .compare{font-family:var(--sans);font-size:1.02rem;line-height:1.55;color:var(--muted);margin:1.25rem 0 0;max-width:30em}.hero .compare strong{color:var(--ink);font-weight:600}.hero .cta{margin-top:2rem;display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center}.hero .term{margin-top:2.75rem}.section{padding:3.5rem 0}.section .kicker{display:block;margin-bottom:.9rem}.section .kicker::after{content:"";display:block;width:28px;height:2px;margin-top:.55rem;background:var(--ember)}.section h2{font-size:clamp(1.6rem,3vw,2rem);margin:0 0 2rem;max-width:var(--measure)}.section .after-flow{margin-top:1.6rem;color:var(--muted);max-width:var(--measure)}.section .after-flow b{color:var(--ink);font-weight:600}.section .after-cta{margin-top:1.5rem}.section .intro{color:var(--muted);max-width:var(--measure);margin:0 0 2rem}.section .intro strong{color:var(--ink);font-weight:600}.stats{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.6rem 2rem;margin:.5rem 0 0}.stat{border-top:2px solid var(--ember);padding-top:.85rem}.stat .num{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.05;color:var(--orange)}.stat .lbl{display:block;margin-top:.35rem;font-weight:600;font-size:.98rem;color:var(--ink)}.stat p{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}.ticks{list-style:none;margin:1.2rem 0 0;padding:0;max-width:var(--measure)}.ticks li{position:relative;padding-left:1.7rem;margin:.55rem 0;color:var(--muted)}.ticks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--orange);font-weight:700}.ticks code{color:var(--amber)}.docs{display:grid;grid-template-columns:220px minmax(0, 1fr);gap:3rem;max-width:var(--maxw);margin:0 auto;padding:2.5rem 1.5rem 0;align-items:start}.sidebar{position:sticky;top:76px;font-family:var(--sans);font-size:.92rem}.sidebar .kicker{display:block;margin-bottom:.8rem}.sidebar ul{list-style:none;margin:0;padding:0}.sidebar li{margin:.15rem 0}.sidebar a{display:block;color:var(--muted);padding:.35rem .7rem;border-left:2px solid rgba(0,0,0,0);border-radius:0 3px 3px 0}.sidebar a:hover{color:var(--amber);background:var(--bg-panel)}.sidebar a.active{color:var(--orange);border-left-color:var(--orange);background:var(--bg-panel)}.docs.has-toc{grid-template-columns:220px minmax(0, 1fr) 200px;max-width:1240px}.toc{position:sticky;top:76px;align-self:start;font-family:var(--sans);font-size:.86rem}.toc .kicker{display:block;margin-bottom:.6rem}.toc ul{list-style:none;margin:0;padding:0}.toc ul ul{padding-left:.7rem}.toc li{margin:.1rem 0}.toc a{display:block;color:var(--muted);padding:.25rem .55rem;border-left:2px solid rgba(0,0,0,0);border-radius:0 3px 3px 0;line-height:1.35}.toc a:hover{color:var(--amber);background:var(--bg-panel)}.toc a.active{color:var(--orange);border-left-color:var(--orange)}.docs-search{position:relative;margin-bottom:1rem}.docs-search input{width:100%;box-sizing:border-box;font-family:var(--sans);font-size:.9rem;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .6rem}.docs-search input::placeholder{color:var(--muted)}.docs-search input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 2px rgba(194,65,12,.18)}.search-results{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:60vh;overflow-y:auto;margin:0;padding:.25rem;list-style:none;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 20px rgba(74,42,16,.14)}.docs-search .search-results:not([hidden]){display:block}.search-results li{margin:0}.search-results a{display:block;padding:.45rem .6rem;border-left:0;border-radius:var(--radius);color:var(--ink)}.search-results a:hover,.search-results a.active{background:var(--bg-panel);color:var(--ink)}.search-results strong{display:block;font-weight:600;color:var(--orange);font-size:.9rem}.search-results .snip{display:block;margin-top:.15rem;color:var(--muted);font-size:.82rem;line-height:1.35}.search-results .search-empty{padding:.45rem .6rem;color:var(--muted);font-size:.85rem}.content{min-width:0;max-width:var(--measure)}.content h1{font-size:2.1rem;margin:0 0 .6rem}.content h2{font-size:1.5rem;margin:2.4rem 0 .8rem}.content h3{font-size:1.18rem;margin:1.7rem 0 .6rem;color:var(--amber)}.content>p:first-of-type{color:var(--muted);font-size:1.08rem}.content a{text-decoration:underline;text-decoration-color:rgba(194,65,12,.35);text-underline-offset:2px}.content a:hover{text-decoration-color:var(--amber)}.content ul,.content ol{padding-left:1.3rem}.content li{margin:.3rem 0}.content blockquote{margin:1.2rem 0;padding:.6rem 1.1rem;border-left:3px solid var(--orange);background:var(--bg-panel);color:var(--ink);border-radius:0 6px 6px 0;box-shadow:inset 0 1px 0 rgba(255,252,245,.5),0 1px 2px rgba(74,42,16,.05)}.content table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.94rem}.content th,.content td{border:1px solid var(--border);padding:.5rem .75rem;text-align:left}.content th{background:var(--bg-panel);font-family:var(--sans);font-weight:600;color:var(--amber)}.content .zola-anchor{color:var(--border-lt);margin-left:.4rem;text-decoration:none}.content h2:hover .zola-anchor,.content h3:hover .zola-anchor{color:var(--orange)}.prevnext{display:flex;justify-content:space-between;gap:1rem;margin:3rem 0 1rem;border-top:1px solid var(--border);padding-top:1.5rem;font-family:var(--sans);font-size:.95rem}.prevnext a{display:block}.prevnext .lbl{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.doc-index{list-style:none;padding:0}.doc-index li{border-top:1px solid var(--border);margin:0;padding:1.1rem 0}.doc-index a{font-family:var(--serif);font-size:1.2rem}.doc-index .desc{color:var(--muted);font-size:.94rem;margin-top:.2rem}.nav-toggle{display:none;background:none;border:1px solid var(--border);color:var(--ink);font-family:var(--sans);border-radius:var(--radius);padding:.3rem .6rem;cursor:pointer}@media (max-width: 820px){.docs,.docs.has-toc{grid-template-columns:1fr}.toc{display:none}.sidebar{position:static;top:auto;border:1px solid var(--border);border-radius:var(--radius);padding:1rem;background:var(--bg-panel)}.sidebar.collapsed ul{display:none}.nav-toggle{display:inline-block}}@media (max-width: 600px){.nav .hide-sm{display:none}.hero{padding:3.5rem 1rem 2.5rem}.stats{grid-template-columns:1fr}}.term{position:relative;background:var(--bg-code);border:1px solid var(--border);border-left:2px solid var(--ember);border-radius:6px;overflow:hidden;font-family:var(--mono);font-size:.88em;line-height:1.55;box-shadow:inset 0 1px 0 rgba(255,252,245,.6),0 1px 2px rgba(74,42,16,.07)}.term-bar{display:flex;align-items:center;gap:.55rem;padding:.45rem .9rem;background:var(--bg-panel);border-bottom:1px solid var(--border)}.term-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--ember);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.term-title{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.term-body{padding:.9rem 1.1rem;overflow-x:auto}.term-body p{margin:0;white-space:pre;color:var(--muted);min-height:1.55em}.term-body .t-cmd{color:var(--ink);font-weight:700}.term-body .t-cmd::before{content:"$ ";color:var(--ember);font-weight:700}.term-body .t-comment{color:var(--border-lt);font-style:italic}.term-body .t-ok{color:var(--orange)}.term-cursor{display:inline-block;width:.6ch;height:1.05em;margin-left:1px;vertical-align:-.16em;background:var(--ember);animation:term-blink 1s steps(1) infinite}.term-cursor.done{animation:none;opacity:0;transition:opacity .5s ease .7s}@keyframes term-blink{50%{background:rgba(0,0,0,0)}}.term:hover .copy-btn,.term .copy-btn:focus{opacity:1}@media (prefers-reduced-motion: reduce){.term-cursor{display:none;animation:none}.term-body p{min-height:0}}