:root{--paper:#F7F6F2;--paper-2:#EEECE5;--card:#FFFDF9;--ink:#16181C;--ink-2:#45474D;--ink-3:#6B6963;--line:#DCD8CC;
  --accent:#C2412F;--accent-ink:#A32319;--code:#EEECE5;--serif:'Spectral',Georgia,serif;--sans:'Inter Tight',system-ui,-apple-system,sans-serif;
  --mono:'SFMono-Regular',Menlo,Consolas,monospace}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--paper:#141519;--paper-2:#1C1D22;--card:#1A1B20;--ink:#EDEAE2;--ink-2:#CFCBC2;
  --ink-3:#918D84;--line:#2C2E34;--accent:#E2695C;--accent-ink:#F08A7E;--code:#202127}}
*{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}}

.brand{letter-spacing:.06em}
.badge{display:inline-block;font:700 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--accent);
  border-radius:5px;padding:5px 9px;margin-bottom:18px}
.diff{border-collapse:collapse;width:100%;font-size:15px}
.diff th,.diff td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.diff th{white-space:nowrap;color:var(--ink);font-weight:600;width:1%}
.diff td{color:var(--ink-2)}
a.card{text-decoration:none;color:inherit;display:block}
a.card:hover{border-color:var(--accent)}
.disclaim{border-left:3px solid var(--accent);padding:4px 16px;color:var(--ink-2);max-width:860px}
@media (max-width:640px){.diff th{white-space:normal}}
