@font-face{font-family:Hello;src:url(/fonts/sacramento.woff2) format('woff2');font-display:swap}
:root{--fs-xs:13px;--fs-sm:15px;--fs-base:17px;--fs-lg:20px;--fs-xl:26px;--fs-2xl:clamp(30px,4vw,40px);--fs-3xl:clamp(38px,6vw,60px);--fs-display:clamp(46px,8vw,88px);--hov:#fafafa;--glow:rgba(0,0,0,.05);--sh:rgba(0,0,0,.12)}
:root[data-theme=dark]{--hov:#0b0b0b;--glow:rgba(255,255,255,.09);--sh:rgba(255,255,255,.07)}
body{overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif}

*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#fff;--fg:#0a0a0a;--g:#6b6b6b;--g2:#ececec;--l:#e2e2e2;--m:#555;--card:#f6f6f6;--inv:#000;--invfg:#fff;--nav:rgba(255,255,255,.75);--ok:#16a34a;color-scheme:light}
:root[data-theme=dark]{--bg:#000;--fg:#fff;--g:#8a8a8a;--g2:#1a1a1a;--l:#2a2a2a;--m:#b5b5b5;--card:#111;--inv:#fff;--invfg:#000;--nav:rgba(0,0,0,.7);--ok:#22c55e;color-scheme:dark}
body{background:var(--bg);color:var(--fg);font-size:var(--fs-base);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit}
.w{max-width:1120px;margin:0 auto;padding:0 24px}
nav{position:sticky;top:0;z-index:9;backdrop-filter:blur(14px);background:var(--nav);border-bottom:1px solid var(--g2)}
nav .w{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;gap:10px;align-items:center;font-weight:700;font-size:18px;letter-spacing:-.02em;text-decoration:none}
.brand img{width:30px;height:30px;border-radius:8px;border:1px solid var(--l)}.brand span{color:var(--g)}
.links{display:flex;gap:24px;font-size:14px;color:var(--m);align-items:center}.links a{text-decoration:none}.links a:hover{color:var(--fg)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--inv);color:var(--invfg);font-weight:600;border:0;padding:12px 22px;border-radius:999px;font-size:15px;text-decoration:none;cursor:pointer;font-family:inherit}
.btn.o{background:transparent;color:var(--fg);border:1px solid var(--l)}.btn.s{padding:8px 16px;font-size:13px}
#tg{background:none;border:1px solid var(--l);color:var(--fg);border-radius:999px;width:34px;height:34px;cursor:pointer}
.crumb{font-size:13px;color:var(--g);margin:36px 0 10px}.crumb a{text-decoration:none}.crumb a:hover{color:var(--fg)}
h1{overflow-wrap:break-word;font-family:Hello,cursive;font-weight:400;letter-spacing:0;font-size:clamp(52px,7vw,84px);line-height:1.05;margin:8px 0 18px;padding-bottom:.08em}
h1.hello{font-family:Hello,cursive;font-weight:400;letter-spacing:0;line-height:1;font-size:clamp(70px,11vw,120px);text-align:center;padding-bottom:.2em}
.lede{font-size:var(--fs-lg);color:var(--m);max-width:720px}
.meta{font-size:14px;color:var(--g);display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0 0}
.meta img{width:28px;height:28px;border-radius:50%;border:1px solid var(--l)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:64px;margin:40px 0 80px}
.toc{position:sticky;top:88px;align-self:start;font-size:14px;border-left:1px solid var(--l);padding-left:18px}
.toc b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--g);margin-bottom:10px}
.toc a{display:block;text-decoration:none;color:var(--m);padding:4px 0;line-height:1.4}.toc a:hover,.toc a.on{color:var(--fg)}.toc a.on{font-weight:600}
.prose{max-width:720px}
.prose h2{font-size:var(--fs-xl);letter-spacing:-.02em;line-height:1.25;margin:48px 0 14px;scroll-margin-top:88px}
.prose h3{font-size:var(--fs-lg);margin:30px 0 10px;scroll-margin-top:88px}
.prose p,.prose ul,.prose ol{margin:0 0 18px}.prose li{margin:0 0 8px 22px}
.prose a{text-decoration:underline;text-underline-offset:3px}
.prose code{font:14px ui-monospace,Menlo,Consolas,monospace;background:var(--card);border:1px solid var(--l);border-radius:6px;padding:1px 6px}
.prose pre{background:var(--card);border:1px solid var(--l);border-radius:12px;padding:16px;overflow:auto;margin:0 0 20px;font:13.5px/1.6 ui-monospace,Menlo,Consolas,monospace}
.prose pre code{border:0;padding:0;background:none}
.prose blockquote{border-left:3px solid var(--fg);padding:4px 0 4px 18px;color:var(--m);margin:0 0 20px}
.prose figure{box-shadow:0 12px 40px var(--sh);margin:28px 0;border:1px solid var(--l);border-radius:14px;overflow:hidden;background:var(--card)}
.prose figure img{display:block;width:100%;height:auto}.prose figcaption{font-size:13px;color:var(--g);padding:10px 14px}
.tw{overflow-x:auto;margin:0 0 24px;border:1px solid var(--l);border-radius:14px}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:560px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--l);vertical-align:top}
thead th{background:var(--card);font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--m)}
tr:last-child td{border-bottom:0}
.y{color:var(--ok);font-weight:600}.n{color:var(--g)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin:40px 0 80px}
.card{box-shadow:0 12px 40px var(--sh);display:block;border:1px solid var(--l);border-radius:16px;padding:24px;text-decoration:none;transition:transform .2s,border-color .2s;background:var(--bg)}
.card:hover{transform:translateY(-4px);background:var(--hov)}
.card .k{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--g)}
.card h2,.card h3{font-size:21px;line-height:1.3;margin:8px 0 10px;letter-spacing:-.01em}.card p{color:var(--m);font-size:15px}
.card .meta{font-size:13px}
.faq details{border:1px solid var(--l);border-radius:12px;padding:14px 18px;margin:0 0 12px}
.faq summary{font-weight:600;cursor:pointer}.faq details p{margin:10px 0 0;color:var(--m)}
.cta{border:1px solid var(--l);border-radius:28px;padding:48px 24px;text-align:center;margin:56px 0;background:radial-gradient(closest-side,var(--card),var(--bg))}
.cta h2{margin:0 0 8px;font-family:Hello,cursive;font-weight:400;font-size:clamp(48px,6vw,68px);line-height:1;letter-spacing:0}.cta p{color:var(--m);margin:0 auto 20px;max-width:520px}
.cta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sh{font-family:Hello,cursive;font-weight:400;font-size:clamp(48px,6vw,68px);line-height:1;text-align:center;margin-top:20px}
header.prose,header[style]{position:relative}header.prose:before,header[style]:before{content:"";position:absolute;inset:-160px -200px auto;height:520px;background:radial-gradient(closest-side,var(--glow),transparent);pointer-events:none;z-index:-1}
.pill{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--l);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--m)}
.ct td:not(:first-child),.ct th:not(:first-child){text-align:center;width:22%}.ct td{padding:10px 14px}.ct small{font-size:12px;color:var(--g)}
.full{margin:-8px 0 24px}.full summary{cursor:pointer;font-weight:600;font-size:15px;padding:8px 0}
.more{font-size:14px;color:var(--g);margin:0 0 48px;text-align:center}.more a{color:var(--m)}
.cta .row .i{margin-right:4px}.cta .rk{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;border:1px solid var(--l);background:var(--bg);margin-bottom:14px;box-shadow:0 0 30px rgba(34,197,94,.18)}
.note{font-size:13px;color:var(--g)}
.related{margin:20px 0 0}
.sr{position:absolute;left:-9999px}
footer.ft{border-top:1px solid var(--g2);padding:56px 0 32px;font-size:14px;color:var(--m);margin-top:40px}
.ft .top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}
.ft h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg);margin:0 0 12px}
.ft ul{list-style:none;margin:0;padding:0}.ft li{margin:0 0 8px}.ft a{text-decoration:none}.ft a:hover{color:var(--fg)}
.ft .about p{margin:12px 0 16px;max-width:300px}
.ft .bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--g2);margin-top:40px;padding-top:20px;font-size:13px;color:var(--g)}
@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr);gap:0}.prose pre{white-space:pre-wrap;word-break:break-word}.toc{display:none}.ft .top{grid-template-columns:1fr 1fr}.links .hide{display:none}}
@media(max-width:480px){.links{gap:12px}.h2m{display:none}.brand{font-size:16px}.btn.s{padding:7px 12px}.cta{padding:24px 18px}.cards{grid-template-columns:minmax(0,1fr)}}

details.full table{display:block;overflow-x:auto;max-width:100%}.tw{overflow-x:auto;max-width:100%}.tw.ct table{width:100%;table-layout:fixed;min-width:0}html,body{overflow-x:clip}.tw.ct td,.tw.ct th{word-break:break-word}
