.pub-page{--bg:#f4f1ea;--surface:#fff;--ink:#1f231f;--ink-soft:#4b534a;--muted:#7a8079;--line:#e3ded2;--accent:#5c6a4a;--accent-ink:#f7f4ec;--stone:#d9d2c2;--card:#fbf8f1;background:var(--bg);color:var(--ink);font-family:var(--font-body,system-ui,sans-serif);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.dark .pub-page{--bg:#14160f;--surface:#1a1c16;--ink:#ece7d7;--ink-soft:#b7b6a6;--muted:#848675;--line:#2a2c24;--accent:#9fb080;--accent-ink:#14160f;--stone:#3a3c33;--card:#1c1e17}.pub-page .serif{font-family:var(--font-display,"Fraunces",serif);letter-spacing:-.02em;font-weight:500}.pub-page .mono{font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace)}.pub-page .glass{background:var(--bg);border:1px solid var(--line)}.pub-page .grain:before{content:"";pointer-events:none;opacity:.25;mix-blend-mode:multiply;background-image:radial-gradient(#0000001f 1px,#0000 1px);background-size:3px 3px;position:absolute;inset:0}.pub-page .hairline{border-color:var(--line)!important}.pub-page .btn-primary{background:var(--accent);color:var(--accent-ink)}.pub-page .btn-primary:hover{filter:brightness(1.05)}.pub-page .chip{border:1px solid var(--line);background:color-mix(in oklab,var(--surface)85%,transparent)}.pub-page .dot{background:var(--accent);border-radius:999px;width:6px;height:6px;display:inline-block}.pub-page .card,.pub-page .mp-card{background:var(--card);border:1px solid var(--line)}.pub-page .link-underline{background-image:linear-gradient(var(--ink),var(--ink));background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:background-size .35s}.pub-page .link-underline:hover{background-size:100% 1px}.pub-page .dotted{background-image:linear-gradient(to right,var(--stone)1px,transparent 1px);background-position:0;background-repeat:repeat-x;background-size:6px 1px;height:1px}.pub-page .num-water{font-family:var(--font-display,"Fraunces",serif);letter-spacing:-.04em;color:color-mix(in oklab,var(--accent)14%,transparent);font-weight:500;line-height:.8}.pub-page .spec-row{border-top:1px solid var(--line);grid-template-columns:24px 1fr;align-items:start;gap:14px;padding:14px 0;display:grid}.pub-page .spec-row:last-child{border-bottom:1px solid var(--line)}.pub-page .spec-num{font-family:var(--font-mono,monospace);color:var(--muted);letter-spacing:.08em;padding-top:3px;font-size:11px}.custom-scrollbar:has(.pub-page)::-webkit-scrollbar{width:10px;height:10px}.custom-scrollbar:has(.pub-page)::-webkit-scrollbar-button{width:0;height:0;display:none}.custom-scrollbar:has(.pub-page)::-webkit-scrollbar-track{background:0 0}.custom-scrollbar:has(.pub-page)::-webkit-scrollbar-thumb{background:#e3ded2;border-radius:10px}.custom-scrollbar:has(.pub-page)::-webkit-scrollbar-thumb:hover{background:#d9d2c2}.dark .custom-scrollbar:has(.pub-page)::-webkit-scrollbar-thumb{background:#2a2c24}.dark .custom-scrollbar:has(.pub-page)::-webkit-scrollbar-thumb:hover{background:#3a3c33}.custom-scrollbar:has(.pub-page){scrollbar-color:#e3ded2 transparent;scrollbar-width:thin}.dark .custom-scrollbar:has(.pub-page){scrollbar-color:#2a2c24 transparent}#pub-cursor-dot,#pub-cursor-ring{pointer-events:none;z-index:9999;opacity:0;border-radius:999px;transition:opacity .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}#pub-cursor-dot{background:var(--accent);width:7px;height:7px}#pub-cursor-ring{border:1.5px solid color-mix(in oklab,var(--accent)55%,transparent);width:36px;height:36px;transition:width .32s cubic-bezier(.34,1.56,.64,1),height .32s cubic-bezier(.34,1.56,.64,1),border-width .18s,border-color .18s,background-color .18s,opacity .3s}:is(body:has(.pub-page a:hover),body:has(.pub-page button:hover),body:has(.pub-page [role=button]:hover)){--pub-cursor-ring-size:52px}:is(body:has(.pub-page a:hover) #pub-cursor-ring,body:has(.pub-page button:hover) #pub-cursor-ring,body:has(.pub-page [role=button]:hover) #pub-cursor-ring){width:52px;height:52px}#pub-cursor-ring.is-clicking{border-width:2.5px;border-color:color-mix(in oklab,var(--accent)90%,transparent);background:color-mix(in oklab,var(--accent)12%,transparent);width:20px;height:20px}#pub-cursor-dot{transition:width .18s cubic-bezier(.34,1.56,.64,1),height .18s cubic-bezier(.34,1.56,.64,1),opacity .3s}#pub-cursor-dot.is-clicking{width:4px;height:4px}.pub-cursor-ripple{border:1.5px solid color-mix(in oklab,var(--accent)70%,transparent);pointer-events:none;z-index:9998;border-radius:999px;width:14px;height:14px;animation:.55s cubic-bezier(.22,1,.36,1) forwards pub-cursor-ripple;position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(1)}@keyframes pub-cursor-ripple{0%{opacity:.85;border-width:2px;transform:translate(-50%,-50%)scale(1)}to{opacity:0;border-width:.5px;transform:translate(-50%,-50%)scale(4.5)}}@media (hover:none){#pub-cursor-dot,#pub-cursor-ring,.pub-cursor-ripple{display:none}}@media (hover:hover){.pub-page,.pub-page *{cursor:none!important}}.pub-page .bento-card{background:var(--card);border:1px solid var(--line);transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .3s}.pub-page .bento-card:hover{transform:translateY(-2px)}.pub-page .bento-plus{opacity:.4;transition:transform .3s,opacity .3s}.pub-page .bento-card:hover .bento-plus{opacity:1;transform:rotate(45deg)}.pub-page .bento-glow{opacity:0;background:radial-gradient(420px circle at var(--mx,50%)var(--my,30%),color-mix(in oklab,var(--accent)12%,transparent),transparent 60%);transition:opacity .4s}.pub-page .bento-card:hover .bento-glow{opacity:1}@keyframes pub-navEnter{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes pub-wordUp{0%{opacity:0;transform:translateY(.55em)}to{opacity:1;transform:translateY(0)}}@keyframes pub-fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pub-barGrow{0%{height:0}to{height:var(--h)}}@keyframes pub-barFill{0%{width:0}to{width:var(--w)}}@keyframes pub-rowSlide{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.pub-page .nav-enter{animation:.6s cubic-bezier(.22,1,.36,1) both pub-navEnter}.pub-page .hero-word{animation:.75s cubic-bezier(.22,1,.36,1) both pub-wordUp}.pub-page .fade-in-up{animation:.7s cubic-bezier(.22,1,.36,1) both pub-fadeInUp}.pub-page .bar-grow{height:0;animation:.7s cubic-bezier(.22,1,.36,1) both pub-barGrow}.pub-page .bar-fill{width:0;animation:.9s cubic-bezier(.22,1,.36,1) both pub-barFill}.pub-page .row-slide{opacity:0;animation:.5s cubic-bezier(.22,1,.36,1) both pub-rowSlide}.pub-page .reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(16px)}.pub-page .reveal[data-shown]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.pub-page *{transition:none!important;animation:none!important}.pub-page .reveal{opacity:1;transform:none}}.pub-page .docs-prose{color:var(--ink);font-size:16px;line-height:1.72}.pub-page .docs-prose>*+*{margin-top:1em}.pub-page .docs-prose h1,.pub-page .docs-prose h2,.pub-page .docs-prose h3,.pub-page .docs-prose h4{font-family:var(--font-display,"Fraunces",serif);letter-spacing:-.02em;color:var(--ink);scroll-margin-top:96px;font-weight:500}.pub-page .docs-prose h1{margin-top:0;margin-bottom:.4em;font-size:2.4rem;line-height:1.1}.pub-page .docs-prose h2{border-top:1px solid var(--line);margin-top:1.8em;padding-top:.4em;font-size:1.7rem;line-height:1.18}.pub-page .docs-prose h3{margin-top:1.6em;font-size:1.3rem;line-height:1.25}.pub-page .docs-prose h4{margin-top:1.4em;font-size:1.08rem;line-height:1.3}.pub-page .docs-prose p{color:var(--ink-soft)}.pub-page .docs-prose strong{color:var(--ink);font-weight:600}.pub-page .docs-prose a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab,var(--accent)35%,transparent);text-decoration-color:color-mix(in oklab,var(--accent)35%,transparent);text-underline-offset:3px;transition:text-decoration-color .18s}.pub-page .docs-prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.pub-page .docs-prose ul,.pub-page .docs-prose ol{color:var(--ink-soft);padding-left:1.4em}.pub-page .docs-prose ul{list-style:outside}.pub-page .docs-prose ol{list-style:decimal}.pub-page .docs-prose li{margin:.3em 0}.pub-page .docs-prose li::marker{color:var(--muted)}.pub-page .docs-prose blockquote{border-left:2px solid var(--accent);background:color-mix(in oklab,var(--accent)6%,transparent);color:var(--ink-soft);border-radius:0 8px 8px 0;padding:.4em 1em;font-style:italic}.pub-page .docs-prose code:not(pre code){font-family:var(--font-mono,ui-monospace,monospace);background:color-mix(in oklab,var(--accent)8%,var(--card));border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:.1em .4em;font-size:.86em}.pub-page .docs-prose pre{font-family:var(--font-mono,ui-monospace,monospace);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.55;overflow-x:auto}.pub-page .docs-prose pre code{color:var(--ink);font-size:inherit;background:0 0;border:0;padding:0}.pub-page .docs-prose img{border:1px solid var(--line);border-radius:10px;max-width:100%;height:auto;margin:1em 0;display:block}.pub-page .docs-prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}.pub-page .docs-prose table{border-collapse:collapse;border:1px solid var(--line);border-radius:8px;width:100%;font-size:14px;overflow:hidden}.pub-page .docs-prose th,.pub-page .docs-prose td{text-align:left;border-bottom:1px solid var(--line);padding:8px 12px}.pub-page .docs-prose th{background:var(--card);color:var(--ink);font-weight:600}.pub-page .docs-prose tr:last-child td{border-bottom:0}.pub-page .docs-prose .anchor-link{opacity:0;color:var(--muted);margin-left:.4em;font-size:.7em;font-weight:400;text-decoration:none}.pub-page .docs-prose h1:hover .anchor-link,.pub-page .docs-prose h2:hover .anchor-link,.pub-page .docs-prose h3:hover .anchor-link,.pub-page .docs-prose h4:hover .anchor-link{opacity:1}.pub-page .docs-prose .hljs-comment,.pub-page .docs-prose .hljs-quote{color:color-mix(in oklab,var(--ink)45%,transparent);font-style:italic}.pub-page .docs-prose .hljs-keyword,.pub-page .docs-prose .hljs-selector-tag,.pub-page .docs-prose .hljs-built_in,.pub-page .docs-prose .hljs-name,.pub-page .docs-prose .hljs-tag{color:var(--accent)}.pub-page .docs-prose .hljs-string,.pub-page .docs-prose .hljs-title,.pub-page .docs-prose .hljs-section,.pub-page .docs-prose .hljs-attribute,.pub-page .docs-prose .hljs-literal,.pub-page .docs-prose .hljs-template-tag,.pub-page .docs-prose .hljs-template-variable,.pub-page .docs-prose .hljs-type,.pub-page .docs-prose .hljs-addition{color:color-mix(in oklab,var(--accent)70%,var(--ink))}.pub-page .docs-prose .hljs-number,.pub-page .docs-prose .hljs-symbol,.pub-page .docs-prose .hljs-bullet,.pub-page .docs-prose .hljs-meta{color:color-mix(in oklab,var(--accent)55%,var(--ink-soft))}.pub-page .docs-prose .hljs-doctag,.pub-page .docs-prose .hljs-deletion{color:color-mix(in oklab,#c0392b 60%,var(--ink))}.pub-page .docs-prose .hljs-emphasis{font-style:italic}.pub-page .docs-prose .hljs-strong{font-weight:600}.pub-page .docs-layout{grid-template-columns:260px minmax(0,1fr);gap:40px;max-width:1280px;min-height:100vh;margin:0 auto;padding:96px 24px;display:grid}.pub-page .docs-content-wrap{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:40px;display:grid}@media (max-width:1100px){.pub-page .docs-content-wrap{grid-template-columns:minmax(0,1fr)}.pub-page .docs-toc-pane{display:none}}@media (max-width:760px){.pub-page .docs-layout{grid-template-columns:1fr;gap:16px;padding:88px 16px 60px}.pub-page .docs-chapters-pane{max-height:none!important;position:static!important}}.pub-page .docs-chapters-pane,.pub-page .docs-toc-pane{align-self:start;max-height:calc(100vh - 110px);position:sticky;top:88px;overflow-y:auto}.pub-page .docs-chapter-link{text-align:left;width:100%;color:var(--ink-soft);border-radius:6px;align-items:center;padding:6px 10px;font-size:13px;transition:background .15s,color .15s;display:flex}.pub-page .docs-chapter-link:hover{background:color-mix(in oklab,var(--accent)8%,transparent);color:var(--ink)}.pub-page .docs-chapter-link[data-active=true]{background:color-mix(in oklab,var(--accent)12%,transparent);color:var(--ink);font-weight:500}.pub-page .docs-chapter-title{font-family:var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:16px 10px 6px;font-size:11px}.pub-page .docs-toc-link{color:var(--muted);border-left:1px solid var(--line);padding:4px 0 4px 10px;font-size:12.5px;line-height:1.4;transition:color .15s,border-color .15s;display:block}.pub-page .docs-toc-link[data-h="3"]{padding-left:22px;font-size:12px}.pub-page .docs-toc-link:hover{color:var(--ink)}.pub-page .docs-toc-link[data-active=true]{color:var(--accent);border-color:var(--accent);font-weight:500}
