/* Sigil design system. See DESIGN_SYSTEM.md. Paper and ink, one blue accent, charcoal bands. */
:root{
--bg:#F5EFE3;--surface:#FBFAF6;--sunken:#E9E5DA;--ink:#14120F;--ink2:#443F37;--mute:#6F685C;--line:#DCD6C8;--line2:#C4BCAB;
--accent:#1D4E9E;--accent-ink:#FFFFFF;--accent-soft:#DEE8F6;--up:#1E7A52;--down:#B3382C;--warn:#8A5A00;
--warn-soft:#F3E8CC;--ok-soft:#DCEFE4;--bad-soft:#F4DFDB;
--band:#14120F;--band-ink:#EDE8DC;--band-mute:#A59E8F;--band-line:#2E2A24;--band-accent:#8DB3EE;
--shadow:0 1px 2px rgba(20,18,15,.06),0 6px 20px -8px rgba(20,18,15,.14);--shadow-lg:0 2px 4px rgba(20,18,15,.06),0 24px 48px -16px rgba(20,18,15,.28);
--r-ctl:6px;--r-card:10px;--r-surface:16px;
--font-display:'Newsreader',serif;--font-ui:'Hanken Grotesk',sans-serif;--font-mono:'IBM Plex Mono',monospace;
--ease:cubic-bezier(.2,.7,.2,1)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0F0E0C;--surface:#181613;--sunken:#12110F;--ink:#EDE8DC;--ink2:#C4BEB0;--mute:#988F80;--line:#2A2621;--line2:#3A352D;--accent:#8DB3EE;--accent-ink:#0F0E0C;--accent-soft:#14233A;--up:#52C79B;--down:#EE7A6E;--warn:#E3B755;--warn-soft:#2A2310;--ok-soft:#10261F;--bad-soft:#2C1613;--band:#1B1915;--band-line:#312D26;--shadow:0 1px 0 rgba(255,255,255,.03);--shadow-lg:0 24px 48px -16px rgba(0,0,0,.6);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0F0E0C;--surface:#181613;--sunken:#12110F;--ink:#EDE8DC;--ink2:#C4BEB0;--mute:#988F80;--line:#2A2621;--line2:#3A352D;--accent:#8DB3EE;--accent-ink:#0F0E0C;--accent-soft:#14233A;--up:#52C79B;--down:#EE7A6E;--warn:#E3B755;--warn-soft:#2A2310;--ok-soft:#10261F;--bad-soft:#2C1613;--band:#1B1915;--band-line:#312D26;--shadow:0 1px 0 rgba(255,255,255,.03);--shadow-lg:0 24px 48px -16px rgba(0,0,0,.6);color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--font-ui);-webkit-font-smoothing:antialiased;min-height:100vh}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:-.01em}
.mute{color:var(--mute)}
/* top bar and header */
.pbar{background:var(--sunken);font-size:13px;color:var(--ink2)}
.pbar .wrap,.cabar .wrap{display:flex;gap:12px;align-items:center;min-height:34px;padding-block:5px;flex-wrap:wrap}
.pbar b{font-weight:600;color:var(--ink)}
.pbar a{color:var(--accent);text-underline-offset:3px}
.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.site .wrap{display:flex;align-items:center;gap:20px;height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 21px/1 var(--font-display);letter-spacing:.01em}
.logo svg{display:block}
.nav{display:flex;gap:2px;margin-left:16px}
.nav a{position:relative;padding:8px 12px;text-decoration:none;color:var(--ink2);font-weight:500;font-size:14.5px;transition:color .15s}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:1.5px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav a:hover{color:var(--ink)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--ink)}
.tools{margin-left:auto;display:flex;gap:8px;align-items:center;position:relative}
.icon-btn{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:var(--r-ctl);border:1px solid var(--line2);background:transparent;cursor:pointer;transition:border-color .15s,background .15s}
.icon-btn:hover{border-color:var(--ink2);background:var(--surface)}
.menu-btn{display:none}
.pop{position:absolute;right:0;top:48px;min-width:230px;background:var(--surface);border:1px solid var(--line2);border-radius:var(--r-card);padding:6px;box-shadow:var(--shadow-lg);z-index:70}
.pop button,.pop a{display:block;width:100%;text-align:left;padding:9px 10px;border:0;background:none;border-radius:5px;cursor:pointer;text-decoration:none;font-size:14px}
.pop button:hover,.pop a:hover{background:var(--sunken)}
.pop .addr{padding:8px 10px;font-size:12.5px;color:var(--mute);border-bottom:1px solid var(--line);margin-bottom:4px;word-break:break-all}
/* buttons, tags, status */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--r-ctl);border:1px solid var(--line2);background:transparent;color:var(--ink);font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .15s var(--ease),border-color .15s,background .15s,box-shadow .15s}
.btn:hover{border-color:var(--ink);background:var(--surface)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.08);background:var(--accent)}
.btn.sm{height:36px;padding:0 14px;font-size:14px}
.btn[disabled]{opacity:.45;cursor:not-allowed;filter:none;transform:none}
.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:4px;font-size:12px;font-weight:600;color:var(--ink2);white-space:nowrap;background:var(--sunken)}
.pill.ok,.pill.warn,.pill.bad{background:none;padding:0}
.pill.ok::before,.pill.warn::before,.pill.bad::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill.ok{color:var(--up)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--down)}
/* forms */
.field{display:grid;gap:6px;min-width:0}
.field>label,.lab{font-size:13.5px;font-weight:600;color:var(--ink)}
.field .hint{font-size:13px;color:var(--mute)}
.field .err{font-size:13px;color:var(--down)}
input[type=text],input[type=search],input[type=number],input[type=url],select,textarea{width:100%;height:44px;padding:0 12px;border:1px solid var(--line2);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);min-width:0;transition:border-color .15s,box-shadow .15s}
textarea{height:auto;min-height:92px;padding:10px 12px;resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:var(--mute)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
select{appearance:auto}
.tools-row{margin-bottom:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* surfaces */
.card{background:var(--surface);border-radius:var(--r-card);padding:26px;box-shadow:var(--shadow)}
.stack{display:grid;gap:16px}
main{display:block;padding-block:48px 112px;overflow-x:clip}
.sec{padding-top:96px}
.sec:first-child{padding-top:0}
.sh{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px}
h1.d{font:500 clamp(42px,6.6vw,84px)/.98 var(--font-display);letter-spacing:-.025em;text-wrap:balance}
h2.d{font:500 clamp(30px,4vw,48px)/1.05 var(--font-display);letter-spacing:-.018em;text-wrap:balance}
h3{font:600 17px/1.3 var(--font-ui)}
h1.d em,h2.d em{font-style:italic;color:var(--accent)}

.lead{font-size:19px;line-height:1.55;color:var(--ink2);max-width:56ch}
.page-h{margin-bottom:40px;display:grid;gap:14px}
.page-h p{color:var(--ink2);max-width:62ch;font-size:17px}
.page-h h1.d{font-size:clamp(38px,5vw,60px)}
/* full-bleed bands */
.band{background:var(--band);color:var(--band-ink);margin-top:96px;margin-inline:calc(50% - 50vw);padding:96px calc(50vw - 50%)}
.band .mute,.band p{color:var(--band-mute)}
.band h2.d,.band h3{color:var(--band-ink)}
.band .btn{border-color:var(--band-line);color:var(--band-ink)}
.band .btn:hover{background:transparent;border-color:var(--band-ink)}
.band a.more{color:var(--band-accent);text-underline-offset:4px;font-weight:600}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center;padding-top:16px}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero .lead{margin-top:24px}
.hero .note{margin-top:22px;font-size:14px;color:var(--mute);max-width:52ch}
.hero-art{position:relative;min-width:0;padding-top:26px;padding-bottom:36px}
.fpart{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;width:min(100%,440px);aspect-ratio:1;margin-left:auto}
.fpart i{display:block;border-radius:3px;background:var(--line);}
.fpart i.on{background:var(--ink)}
.fpart i.on:nth-child(7n+3){background:var(--accent)}

.fpcap{position:absolute;right:0;top:-26px;font:500 12px var(--font-mono);color:var(--mute);letter-spacing:.02em}
.check{position:absolute;left:0;right:12%;top:46%}
.rec{background:var(--surface);border-radius:var(--r-surface);box-shadow:var(--shadow-lg);min-width:0}
.rec-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.rec-h b{font:600 16px var(--font-display);letter-spacing:.01em}
.rec-b{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:20px;align-items:start}
.rec dl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:11px 14px;font-size:14px}
.rec dt{color:var(--mute)}
.rec dd{min-width:0;overflow-wrap:anywhere}
.rec-f{padding:12px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--mute);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

a.rec:hover{transform:translateY(-2px)}
.fp-wrap{display:grid;gap:8px;justify-items:start}
.fp{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:112px;height:112px;padding:6px;border-radius:6px;background:var(--bg)}
.fp i{display:block;background:var(--line);border-radius:1px}
.fp i.on{background:var(--ink)}
.fp-cap{font-size:11.5px;color:var(--mute);max-width:112px;line-height:1.35}
/* process flow (dark band) */
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:56px}
.flow li{border-top:1px solid var(--band-line);padding-top:20px;display:grid;gap:10px;align-content:start}
.flow .num{font:500 64px/1 var(--font-display);color:transparent;-webkit-text-stroke:1px var(--band-accent);letter-spacing:-.02em}
.flow p{font-size:15px}
.band .after{margin-top:48px}
/* editorial split */
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:72px;align-items:start}
.split-h{position:sticky;top:104px;display:grid;gap:20px;justify-items:start}
.split-h .lead{font-size:17px}
.feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.feat>div{padding:22px 0;border-top:1px solid var(--line);display:grid;gap:6px;align-content:start}
.feat>div:nth-child(-n+2){border-top:0}
.feat b{font-weight:700;font-size:16.5px}
.feat span{font-size:15px;color:var(--ink2)}
.feat.one{grid-template-columns:1fr}
.feat.one>div:nth-child(2){border-top:1px solid var(--line)}
/* fee split diagram */
.fees{display:grid;gap:36px}
.fees .big{font:500 clamp(72px,11vw,132px)/.9 var(--font-display);letter-spacing:-.04em;color:var(--band-ink)}
.fees .big small{font-size:.38em;letter-spacing:0;margin-left:6px;color:var(--band-mute)}
.bars{display:grid;gap:22px}
.barl{font-size:13px;color:var(--band-mute);margin-bottom:8px}
.bar{display:flex;gap:2px;height:46px}
.bar span{display:flex;align-items:center;padding:0 12px;font-size:13px;font-weight:700;border-radius:3px;min-width:0;white-space:nowrap;overflow:hidden}
.bar .you{background:var(--band-ink);color:#14120F}
.bar .com{background:#D9A441;color:#14120F}
.bar .sig{background:var(--band-accent);color:#14120F}
/* tables and lists */
.tbl{border-radius:var(--r-card);background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}
.tbl .tr{display:grid;gap:16px;padding:16px 20px;align-items:center;border-top:1px solid var(--line);text-decoration:none;color:inherit}
.tbl .tr:first-child{border-top:0}
.tbl .th{font-size:13px;color:var(--mute);font-weight:600;background:var(--sunken);padding-block:11px}
.tbl a.tr{transition:background .15s}
.tbl a.tr:hover{background:var(--sunken)}
.cell-tok{display:flex;align-items:center;gap:12px;min-width:0}
.cell-tok img{width:38px;height:38px;border-radius:6px;display:block;flex:none}
.cell-tok b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cell-tok span{display:block;font-size:13px;color:var(--mute)}
.empty{padding:40px 28px;text-align:left;color:var(--ink2);display:grid;gap:12px;justify-items:start;border:1px dashed var(--line2);border-radius:var(--r-card)}
.empty b{font:500 24px/1.15 var(--font-display);color:var(--ink)}
.tk-h{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:32px}
.tk-h img{width:68px;height:68px;border-radius:var(--r-card)}
.tk-h h1{font:500 clamp(32px,4vw,44px)/1.05 var(--font-display);letter-spacing:-.015em}
.tk-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
/* wizard */
.steps{display:flex;gap:0;margin-bottom:32px;border-bottom:1px solid var(--line)}
.steps li{flex:1;min-width:0}
.steps button{width:100%;height:56px;border:0;background:none;display:flex;align-items:center;gap:10px;padding:0 4px;cursor:pointer;text-align:left;font-weight:600;color:var(--mute);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s}
.steps button:hover{color:var(--ink)}
.steps button i{font:normal 600 12px var(--font-ui);width:24px;height:24px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;flex:none}
.steps button[aria-current="step"]{color:var(--ink);border-bottom-color:var(--ink)}
.steps button[aria-current="step"] i{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.steps button.done{color:var(--ink2)}
.steps button.done i{background:var(--accent);border-color:transparent;color:var(--accent-ink)}
.steps button[disabled]{cursor:not-allowed;opacity:.6}
.steps span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wiz{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.nav-row{display:flex;justify-content:space-between;gap:12px;margin-top:8px;flex-wrap:wrap}
.drop{display:flex;gap:16px;align-items:center;padding:16px;border:1px dashed var(--line2);border-radius:8px;background:var(--bg)}
.drop img{width:72px;height:72px;border-radius:8px;display:block;flex:none;background:var(--sunken)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.chk input{margin-top:3px;width:17px;height:17px;accent-color:var(--accent)}
.res{display:grid;gap:0;border-radius:var(--r-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.res>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;padding:16px 18px;align-items:start;border-top:1px solid var(--line)}
.res>div:first-child{border-top:0}
.res .ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700}
.res .ic.ok{background:var(--ok-soft);color:var(--up)}
.res .ic.warn{background:var(--warn-soft);color:var(--warn)}
.res .ic.bad{background:var(--bad-soft);color:var(--down)}
.res .ic.na{background:var(--sunken);color:var(--mute)}
.res b{font-weight:600}
.res p{font-size:14px;color:var(--ink2)}
.verdict{padding:14px 16px;border-radius:var(--r-card);font-size:15px;font-weight:600}
.verdict.ok{background:var(--ok-soft);color:var(--up)}
.verdict.warn{background:var(--warn-soft);color:var(--warn)}
.verdict.bad{background:var(--bad-soft);color:var(--down)}
.opt{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
.opt label{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line2);border-radius:8px;cursor:pointer;background:var(--surface);position:relative;transition:border-color .15s}
.opt label:hover{border-color:var(--ink2)}
.opt label b{font-weight:600;font-size:15px}
.opt label span{font-size:13px;color:var(--mute)}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt label:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:var(--accent-soft)}
.opt label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.sum{display:grid;gap:0;font-size:14.5px}
.sum div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.sum div:first-child{border-top:0}
.sum div.tot{font-weight:700;border-top:1px solid var(--ink)}
.side{position:sticky;top:96px;display:grid;gap:16px}
.post{white-space:pre-wrap;font-size:14.5px;background:var(--bg);border-radius:8px;padding:14px;line-height:1.5}
/* docs */
.docs{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;align-items:start}
.docs .toc{position:sticky;top:96px;display:grid;gap:2px}
.docs .toc button{text-align:left;border:0;background:none;padding:9px 12px;border-left:2px solid var(--line);cursor:pointer;color:var(--ink2);font-size:14.5px;transition:color .15s,border-color .15s}
.docs .toc button:hover{color:var(--ink)}
.docs .toc button[aria-current="true"]{border-left-color:var(--ink);color:var(--ink);font-weight:700}
.prose{display:grid;gap:56px;min-width:0}
.prose section{display:grid;gap:14px;scroll-margin-top:96px}
.prose h2{font:500 clamp(30px,3.4vw,40px)/1.08 var(--font-display);letter-spacing:-.015em}
.prose h3{margin-top:6px}
.prose p,.prose li{color:var(--ink2);max-width:68ch;font-size:16.5px}
.prose ul{display:grid;gap:8px;padding-left:18px;list-style:disc}
.prose .tbl{max-width:100%}
.prose .tr2{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);font-size:14.5px}
.callout{padding:16px 18px;border-radius:var(--r-card);background:var(--warn-soft);color:var(--ink);font-size:15px;border-left:3px solid var(--warn)}
.faq{background:none}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 0;font:500 22px/1.25 var(--font-display);display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 28px/1 var(--font-ui);color:var(--mute);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;color:var(--ink2);max-width:70ch;font-size:16px}
.cta,.endcta{display:grid;gap:24px;justify-items:center;text-align:center;padding:24px 0}
.endcta h2.d{font-size:clamp(36px,5.4vw,72px)}
.endcta p{color:var(--ink2);font-size:18px}
/* footer */
.foot{background:var(--band);color:var(--band-ink);padding-block:64px 44px;font-size:14.5px}
.foot .cols{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:32px}
.foot h4{font-size:13px;color:var(--band-mute);font-weight:600;margin-bottom:12px}
.foot li{margin-bottom:9px}
.foot a{text-decoration:none;color:var(--band-ink)}
.foot a:hover{text-decoration:underline;text-underline-offset:3px}
.foot p.mute{color:var(--band-mute)}
.foot .ca-pill{border-color:var(--band-line);background:transparent;color:var(--band-mute)}
.foot .fine{margin-top:40px;padding-top:22px;border-top:1px solid var(--band-line);color:var(--band-mute);font-size:13px;display:grid;gap:8px;max-width:90ch}
/* overlays */
.scrim{position:fixed;inset:0;background:rgba(10,8,6,.56);z-index:80;display:grid;place-items:center;padding:16px}
.modal{background:var(--surface);border-radius:var(--r-surface);box-shadow:var(--shadow-lg);max-width:460px;width:100%;padding:28px;display:grid;gap:14px;max-height:90vh;overflow:auto}
.modal h3{font:500 26px/1.15 var(--font-display)}
.modal p{color:var(--ink2);font-size:15px}
.modal .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.wl{display:grid;gap:8px}
.wl a{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border:1px solid var(--line2);border-radius:8px;text-decoration:none;font-weight:600;transition:border-color .15s}
.wl a:hover{border-color:var(--ink)}
.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:8px;font-size:14.5px;z-index:90;max-width:calc(100vw - 32px)}
.ca-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line2);background:var(--surface);border-radius:var(--r-ctl);padding:0 6px 0 10px;height:28px;font-size:12.5px;max-width:100%}
.ca-pill code{font-family:var(--font-mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}
.ca-pill button{height:20px;padding:0 8px;border:0;border-radius:4px;background:var(--ink);color:var(--bg);font-size:11.5px;font-weight:600;cursor:pointer}
.ca-pill.empty{padding:0 10px;color:var(--mute);border:1px dashed var(--line2);background:transparent}
.note-box{padding:13px 15px;border-radius:var(--r-card);font-size:14.5px}
.note-box.warn{background:var(--warn-soft);color:var(--ink)}
.note-box.info{background:var(--accent-soft);color:var(--ink)}
.note-box.bad{background:var(--bad-soft);color:var(--ink)}
.cmp .tr{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1.3fr);font-size:14.5px}
.cmp .yes{color:var(--up);font-weight:600}
/* studio */
.studio{display:grid;gap:16px}
.asset{display:grid;gap:14px}
.asset-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.asset-h h3{font:600 17px var(--font-ui)}
.prompt{display:grid;gap:8px}
.prompt .row{display:flex;gap:8px;flex-wrap:wrap}
.prompt textarea{min-height:64px}
.pfp-prev{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.pfp-prev img{width:96px;height:96px;border-radius:12px;display:block;background:var(--sunken)}
.frame{width:100%;height:440px;border:1px solid var(--line2);border-radius:8px;background:#fff;display:block}
.banner-prev{display:block;width:100%;border-radius:8px}
.seg2{display:inline-flex;border:1px solid var(--line2);border-radius:var(--r-ctl);overflow:hidden}
.seg2 button{height:34px;padding:0 13px;border:0;background:transparent;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--ink2);transition:background .15s}
.seg2 button+button{border-left:1px solid var(--line2)}
.seg2 button:hover{background:var(--sunken)}
.seg2 button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.stages{display:grid;gap:0;border-radius:var(--r-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.stages>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 18px;border-top:1px solid var(--line);font-size:14.5px}
.stages>div:first-child{border-top:0}
.stages .dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line2);display:grid;place-items:center;font-size:11px;font-weight:700}
.stages .done .dot{background:var(--ok-soft);border-color:transparent;color:var(--up)}
.stages .run .dot{border-color:var(--accent);color:var(--accent)}
.stages .err .dot{background:var(--bad-soft);border-color:transparent;color:var(--down)}
.stages .wait{color:var(--mute)}
.links-row{display:flex;gap:8px;flex-wrap:wrap}
.vm{display:grid;gap:0;border-radius:var(--r-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.vm .tr{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(0,.8fr) minmax(150px,1fr);gap:12px;align-items:center;padding:14px 18px;border-top:1px solid var(--line);font-size:14.5px}
.vm .tr:first-child{border-top:0}
.kv{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px 16px;font-size:14.5px}
.kv dt{color:var(--mute)}
.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
.spin{display:inline-block;width:12px;height:12px;border:2px solid var(--line2);border-top-color:var(--accent);border-radius:50%;animation:sp .8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes sp{to{transform:rotate(360deg)}}
.wiz>*,.studio>*,.stack>*,.tk-grid>*,.kit>*{min-width:0}
input[type=file]{max-width:100%}
.nav-row .btn{flex:0 1 auto}
/* responsive */
@media (max-width:1000px){
.hero{grid-template-columns:1fr;gap:48px}
.hero-art{max-width:520px;padding-bottom:0}
.check{position:static;margin-top:-72px;margin-right:0;margin-left:0;width:min(100%,420px);margin-inline:auto 0;position:relative}
.fpcap{display:none}
.two,.split{grid-template-columns:1fr;gap:40px}
.split-h{position:static}
.flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.tk-grid,.wiz{grid-template-columns:minmax(0,1fr)}
.side{position:static}
.docs{grid-template-columns:minmax(0,1fr);gap:24px}
.docs .toc{position:static;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px}
.docs .toc button{border-left:0;border-bottom:2px solid var(--line)}
.docs .toc button[aria-current="true"]{border-bottom-color:var(--ink)}
.foot .cols{grid-template-columns:1fr 1fr}}
@media (max-width:880px){
.nav{display:none;position:absolute;left:0;right:0;top:64px;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-left,0px)) 12px;margin:0;gap:2px}
.nav.open{display:flex}
.nav a{padding:13px 4px}
.nav a::after{display:none}
.menu-btn{display:inline-grid}
.site .wrap{gap:10px}}
@media (max-width:760px){
main{padding-block:28px 80px}
.sec{padding-top:72px}
.band{margin-top:72px;padding-block:72px}
.flow{grid-template-columns:1fr;gap:28px}
.flow .num{font-size:48px}
.feat{grid-template-columns:1fr}
.feat>div:nth-child(2){border-top:1px solid var(--line)}
.steps button span{display:none}
.steps button{justify-content:center;padding:0}
.row2{grid-template-columns:1fr}
.rec-b{grid-template-columns:1fr}
.rec dl{grid-template-columns:88px minmax(0,1fr)}
.cmp .tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cmp .tr>div:nth-child(3){grid-column:1/-1;color:var(--mute)}
.vm .tr{grid-template-columns:minmax(0,1fr) auto}
.vm .tr>.hide-s{display:none}
.kv{grid-template-columns:110px minmax(0,1fr)}
.frame{height:380px}
.faq summary{font-size:19px}
.bar span{padding:0 8px;font-size:12px}}
@media (max-width:520px){
.foot .cols{grid-template-columns:1fr}
.btn{padding:0 15px}
.site .wrap .tools .btn.wallet{padding:0 12px}
.card{padding:20px}
.check{margin-top:-56px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.ic svg,.steps button i svg,.stages .dot svg{width:60%;height:60%;display:block}
.legal{max-width:70ch}.legal h2{font:500 26px/1.2 var(--font-display);margin:36px 0 10px}.legal h3{font:600 16px/1.3 var(--font-ui);margin:20px 0 6px}.legal p,.legal li{color:var(--ink2)}.legal ul{padding-left:20px;display:grid;gap:6px;list-style:disc;margin:0 0 12px}.legal .meta{color:var(--mute);font-size:14px}.legal table{width:100%;border-collapse:collapse;font-size:14.5px}.legal th,.legal td{text-align:left;vertical-align:top;padding:10px 12px 10px 0;border-bottom:1px solid var(--line)}.legal th{font-weight:600;color:var(--ink)}
.mk-ctl{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.mk-ctl input{flex:1 1 240px;width:auto}.mk-ctl select{width:auto;min-width:150px}.badges{display:flex;gap:12px;justify-content:flex-start;flex-wrap:wrap}.legal td b{font-weight:600}
.logo span{text-transform:uppercase;letter-spacing:.16em;font-size:18px;font-weight:600}

/* Quill: dark paper-and-gold system, centred and sparse */
:root:not([data-theme="light"]),:root[data-theme="dark"]{--bg:#0D0F0E;--surface:#151816;--sunken:#111413;--ink:#ECE9DF;--ink2:#C2BFB3;--mute:#8C8C82;--line:#262A27;--line2:#363B37;--accent:#D4B15F;--accent-ink:#14110A;--accent-soft:#2A2414;--up:#6FCB9E;--down:#EE7A6E;--warn:#E3B755;--warn-soft:#2A2310;--ok-soft:#10261F;--bad-soft:#2C1613;--band:#151816;--band-ink:#ECE9DF;--band-mute:#8C8C82;--band-line:#262A27;--band-accent:#D4B15F;--shadow:none;--shadow-lg:0 24px 48px -16px rgba(0,0,0,.6);--r-ctl:4px;--r-card:6px;--r-surface:8px;--font-display:'Instrument Serif',serif;color-scheme:dark}
:root[data-theme="light"]{--bg:#F4F1EA;--surface:#FBFAF6;--sunken:#EAE6DB;--ink:#16140F;--ink2:#47433A;--mute:#6E695D;--line:#DDD8CB;--line2:#C6C0AF;--accent:#8A6414;--accent-ink:#FFFFFF;--accent-soft:#F1E8CF;--band:#16140F;--band-ink:#ECE9DF;--band-mute:#A39F92;--band-line:#2E2B24;--band-accent:#D4B15F;--r-ctl:4px;--r-card:6px;--r-surface:8px;--font-display:'Instrument Serif',serif}
h1.d,h2.d,.page-h h1.d{font-weight:400;letter-spacing:-.02em}
.logo{font:400 24px/1 var(--font-display);letter-spacing:0;text-transform:none}
.logo span{text-transform:none;letter-spacing:0;font-size:24px;font-weight:400}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.card,.tbl,.res,.vm,.stages{box-shadow:none;border:1px solid var(--line)}
.site{background:color-mix(in srgb,var(--bg) 92%,transparent)}
.q-hero{display:grid;justify-items:center;text-align:center;gap:22px;padding:72px 0 56px}
.q-hero h1.d{font-size:clamp(46px,8vw,104px);line-height:.98;max-width:14ch}
.q-hero .lead{text-align:center;margin:0 auto}
.q-hero .acts{display:flex;gap:22px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:8px}
.q-hero .btn.primary{height:52px;padding:0 30px;font-size:16px}
.q-hero .note{font-size:13.5px;color:var(--mute);max-width:52ch}
.q-eyebrow{font:500 12.5px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.q-link{color:var(--ink);font-weight:600;text-underline-offset:5px;text-decoration:underline;text-decoration-color:var(--line2)}
.q-link:hover{text-decoration-color:var(--accent)}
.q-strip{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;padding:14px 0;border-block:1px solid var(--line);margin-bottom:8px}
.q-strip-l{font:500 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.q-sec{padding-top:88px}
.q-h{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.q-h h2.d{font-size:clamp(30px,4.2vw,52px);max-width:20ch}
.q-h .lead{flex-basis:100%;margin-top:6px}
.q-check{display:grid;gap:16px;max-width:640px;padding:28px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.q-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.q-steps li{padding:26px 22px;border-left:1px solid var(--line);display:grid;gap:10px;align-content:start}
.q-steps li:first-child{border-left:0}
.q-steps span{font:400 40px/1 var(--font-display);color:var(--accent)}
.q-steps p{font-size:15px;color:var(--ink2)}
.q-fee{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.q-fee .barl{color:var(--mute)}
.q-fee .bar .you{background:var(--ink);color:var(--bg)}
.q-fee .bar .com{background:#8C8C82;color:var(--bg)}
.q-fee .bar .sig{background:var(--accent);color:var(--accent-ink)}
.foot{background:var(--bg);border-top:1px solid var(--line);color:var(--ink)}
.foot a{color:var(--ink2)}
.q-foot{display:grid;justify-items:center;text-align:center;gap:18px}
.q-fl{display:flex;gap:6px 24px;flex-wrap:wrap;justify-content:center;font-size:14.5px}
.q-fl2{font-size:13.5px}.q-fl2 a{color:var(--mute)}
.q-fine{max-width:72ch;font-size:12.5px;color:var(--mute)}
.foot .ca-pill{border-color:var(--line2);color:var(--mute)}
@media (max-width:900px){.q-steps{grid-template-columns:1fr 1fr}.q-steps li:nth-child(3){border-left:0}.q-steps li:nth-child(n+3){border-top:1px solid var(--line)}.q-fee{grid-template-columns:1fr;gap:28px}}
@media (max-width:560px){.q-hero{padding-top:40px}.q-steps{grid-template-columns:1fr}.q-steps li{border-left:0;border-top:1px solid var(--line)}.q-steps li:first-child{border-top:0}}
