:root{--paper:#F7F3EC;--paper-2:#EFE8DC;--card:#FFFDF9;--ink:#1C1A17;--ink-2:#4A453E;--ink-3:#7C756A;--line:#E2D9CA;
  --accent:#C96F4A;--accent-ink:#A4522F;--code:#F1EBE0;--serif:'Fraunces',Georgia,serif;--sans:'Public Sans',system-ui,-apple-system,sans-serif;
  --mono:'SFMono-Regular',Menlo,Consolas,monospace}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--paper:#1C1A17;--paper-2:#24211D;--card:#24211D;--ink:#F3EDE2;--ink-2:#D6CEC0;
  --ink-3:#A39B8E;--line:#3A352E;--accent:#E08A63;--accent-ink:#F0A07B;--code:#2C2823}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}
a{color:var(--accent-ink)}
img{max-width:100%;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.site-top{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}
.site-top .wrap{display:flex;align-items:center;gap:18px;min-height:58px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font:600 21px var(--serif)}
.site-nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
.site-nav a{color:var(--ink-2);text-decoration:none;padding:6px 10px;border-radius:8px;font-size:15px}
.site-nav a:hover,.site-nav a[aria-current]{background:var(--paper-2);color:var(--ink)}
.site-nav a.gh{border:1px solid var(--line)}
main{min-height:60vh}
.hero{padding:56px 0 28px}
.hero h1{font:600 clamp(32px,5vw,52px)/1.1 var(--serif);margin:0 0 16px;letter-spacing:-.01em;max-width:860px}
.hero .lede{font-size:clamp(17px,2vw,20px);color:var(--ink-2);max-width:760px;margin:0 0 24px}
.cta{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;padding:11px 18px;border-radius:10px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.shot{border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.08);display:block}
figure{margin:28px 0}
figcaption{color:var(--ink-3);font-size:14px;margin-top:8px}
section.band{padding:36px 0;border-top:1px solid var(--line)}
section.band h2{font:600 30px/1.2 var(--serif);margin:0 0 14px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}
.card h3{font:600 19px var(--serif);margin:0 0 6px}
.card p{margin:0;color:var(--ink-2);font-size:15px}
.muted{color:var(--ink-3)}
pre{background:var(--code);border:1px solid var(--line);border-radius:10px;padding:14px;overflow-x:auto;font:13.5px/1.5 var(--mono)}
code{font-family:var(--mono);font-size:.92em;background:var(--code);padding:1px 4px;border-radius:4px}
pre code{background:none;padding:0}
.doc{max-width:860px;padding:36px 16px 60px;margin:0 auto}
.doc h1{font:600 clamp(30px,4vw,42px)/1.15 var(--serif)}
.doc h2{font:600 27px/1.25 var(--serif);margin-top:44px;padding-top:12px;border-top:1px solid var(--line)}
.doc h3{font:600 21px/1.3 var(--serif);margin-top:30px}
.doc h4{font-size:17px;margin-top:24px}
.doc table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:15px}
.doc th,.doc td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
.doc th{background:var(--paper-2)}
.doc img{border:1px solid var(--line);border-radius:10px}
.doc blockquote{margin:16px 0;padding:4px 16px;border-left:3px solid var(--accent);color:var(--ink-2)}
.doc hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.doc .toc{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 18px;font-size:15px}
.doclist{list-style:none;padding:0}
.doclist li{padding:14px 0;border-bottom:1px solid var(--line)}
.doclist a{font:600 20px var(--serif)}
.note{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:15px}
.site-foot{border-top:1px solid var(--line);padding:22px 0 30px;margin-top:40px;font-size:14px}
.site-foot p{margin:4px 0}
.demo-frame{display:block;width:100%;border:0}
.doc p,.doc li,.doc td{overflow-wrap:break-word}.doc a{overflow-wrap:anywhere}
@media (max-width:640px){.hero{padding:32px 0 16px}.site-top .wrap{gap:6px;padding-top:6px;padding-bottom:6px}.site-nav{margin-left:0}
  .site-nav a{padding:5px 7px;font-size:14px}.doc{padding-top:22px}}
@media (max-width:480px){.site-nav a.gh{display:none}}
