/* Stock Agent - app shell. Graphite + one amber. No glow, no glass, no gradients on controls. */
@font-face{font-family:"Mona Sans";src:url(/fonts/MonaSans-web.woff2) format("woff2");font-weight:400 800;font-stretch:100% 125%;font-display:swap}
@font-face{font-family:"Geist";src:url(/fonts/Geist-VF.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/fonts/GeistMono-VF.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --ink-0:#121316;--ink-1:#18191D;--ink-2:#1F2025;--ink-3:#27292F;--ink-4:#30333A;--line:#2C2E34;--line-2:#3A3D44;
  --text-1:#ECE8E1;--text-2:#A9A69F;--text-3:#7A7974;
  --amber:#F2A93B;--amber-hi:#F6BA5C;--amber-lo:#3A3022;--amber-ink:#1A1306;--amber-ring:rgba(242,169,59,.22);
  --up:#8DB89E;--down:#D08A78;--alert:#E0695A;
  --r-key:5px;--r-ctl:8px;--r-card:12px;--r-win:14px;
  --e-ui:cubic-bezier(.2,.8,.2,1);--e-out:cubic-bezier(.16,1,.3,1);
  --f-display:"Mona Sans",system-ui,sans-serif;--f-ui:"Geist",system-ui,sans-serif;--f-mono:"Geist Mono",ui-monospace,monospace;
  --tb:44px;--st:28px;--side:232px;--gut:12px;--mh:100vh;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;height:100%}
html{background:var(--ink-0);color:var(--text-1);font:400 14px/1.5 var(--f-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{background:var(--ink-0);overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0}
a,button,[role=button],[onclick],summary,label,.ca,.tpl,.tr[data-i],.ib-row,select{cursor:pointer}
img,svg{display:block}
.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
:focus{outline:none}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:6px}
::selection{background:var(--amber-lo);color:var(--text-1)}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--amber);color:var(--amber-ink);padding:8px 12px;border-radius:var(--r-ctl);font-weight:500;transition:top .18s var(--e-ui)}
.skip:focus{top:16px}

/* ---------- window ---------- */
.win{position:relative;margin:var(--gut);height:calc(100vh - var(--gut)*2);height:calc(100dvh - var(--gut)*2);max-width:1680px;margin-inline:auto;
  width:calc(100% - var(--gut)*2);background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r-win);overflow:hidden;
  display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:var(--tb) minmax(0,1fr) var(--st);grid-template-areas:"tb tb" "side main" "st st"}
@media (min-width:1700px){.win{margin-block:var(--gut)}}

/* ---------- titlebar ---------- */
.tb{grid-area:tb;display:flex;align-items:center;gap:10px;padding:0 10px 0 14px;border-bottom:1px solid var(--line);min-width:0;position:relative;z-index:6;background:var(--ink-1)}
.tb-home{display:flex;align-items:center;gap:9px;border-radius:6px;padding:4px 4px 4px 2px}
.tb-mark{width:22px;height:22px}
.tb-name{font-weight:600;font-size:13.5px;letter-spacing:-.005em;white-space:nowrap}
.tick{font:500 11px var(--f-mono);color:var(--text-2);padding:2px 6px;border:1px solid var(--line-2);border-radius:5px}
.tb-crumb{display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:13px;white-space:nowrap}
.tb-view{color:var(--text-2);display:inline-block}
.tb-r{margin-left:auto;display:flex;align-items:center;gap:6px;min-width:0}
.tb-ca{min-width:0}
.ca{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px;border:1px solid var(--line-2);background:var(--ink-0);border-radius:var(--r-ctl);font:400 12px var(--f-mono);color:var(--text-2);max-width:100%;transition:border-color .18s var(--e-ui),color .18s var(--e-ui)}
.ca:hover{border-color:var(--text-3);color:var(--text-1)}
.ca-k{color:var(--text-3);font-size:11px;letter-spacing:.06em}
.ca-v{font:inherit;color:var(--text-1);overflow-wrap:anywhere}
.ca-c{font-size:11px;color:var(--amber);min-width:44px;text-align:right}
.ca-pend{cursor:pointer}
.tb-body,.seg,.ib-list{cursor:pointer}
.ca-pend .ca-v{color:var(--text-2)}
.kbd-btn{display:flex;gap:3px;padding:4px;border-radius:7px}
.kbd-btn:hover .key{background:var(--ink-4)}

/* ---------- keycaps ---------- */
.key{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-key);background:var(--ink-3);border:1px solid var(--line-2);
  border-bottom-width:2px;border-bottom-color:#0E0F11;font:500 11px/1 var(--f-mono);color:var(--text-2);transition:transform .08s var(--e-ui),border-bottom-width .08s,background .18s var(--e-ui)}
.key .ic{width:11px;height:11px;stroke-width:2}
.key.is-down{transform:translateY(1px);border-bottom-width:1px}
.key-in{background:rgba(26,19,6,.16);border-color:rgba(26,19,6,.28);border-bottom-color:rgba(26,19,6,.45);color:var(--amber-ink)}
.key-enter{width:28px;height:26px;cursor:pointer}

/* ---------- buttons (21st 19844 text roll) ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 12px;border-radius:var(--r-ctl);font:500 13px/1 var(--f-ui);white-space:nowrap;
  transition:background .18s var(--e-ui),border-color .18s var(--e-ui),color .18s var(--e-ui),box-shadow .12s var(--e-ui),transform .08s var(--e-ui);user-select:none}
.btn:active{transform:translateY(1px)}
.b-pri{background:var(--amber);color:var(--amber-ink)}
.b-pri:hover{background:var(--amber-hi)}
.b-pri:active{box-shadow:inset 0 1px 0 rgba(0,0,0,.25)}
.b-pri[disabled],.b-pri.is-off{background:var(--amber-lo);color:#7A6A50;cursor:not-allowed;transform:none}
.b-sec{background:var(--ink-2);border:1px solid var(--line-2);color:var(--text-1)}
.b-sec:hover{background:var(--ink-3);border-color:#474A52}
.b-ghost{color:var(--text-2)}
.b-ghost:hover{color:var(--text-1);background:var(--ink-3)}
.b-lg{height:38px;padding:0 14px}
.b-x{width:34px;padding:0}
.b-chat{height:30px;padding:0 9px}
.b-ic{width:30px;height:30px;padding:0}
.tb .b-sec{height:30px}
.bl{display:inline-flex;overflow:hidden;height:1.15em;line-height:1.15}
.bl .ch{display:inline-block;position:relative;white-space:pre}
.bl .ch i{display:block;font-style:normal;transition:transform .32s var(--e-out)}
.bl .ch i+i{position:absolute;left:0;top:100%}
@media (hover:hover){.btn:hover .bl .ch i,.ca:hover .bl .ch i{transform:translateY(-100%)}}
.ul,.ul-t{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .22s var(--e-ui),color .18s}
.ul:hover,a:hover .ul-t{background-size:100% 1px}
.ul:focus-visible{background-size:100% 1px;color:var(--amber)}
.ul{color:var(--text-2)}
.ul:hover{color:var(--text-1)}

/* ---------- sidebar ---------- */
.side{grid-area:side;position:relative;border-right:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:2px;background:var(--ink-1);z-index:5}
.nav{position:relative;display:flex;align-items:center;gap:10px;height:32px;padding:0 8px 0 10px;border-radius:var(--r-ctl);color:var(--text-2);font-size:13.5px;transition:color .18s var(--e-ui),background .18s var(--e-ui)}
.nav:hover{color:var(--text-1);background:rgba(39,41,47,.6)}
.nav[aria-current=page]{color:var(--text-1);background:var(--ink-3)}
.nav .key{margin-left:auto;min-width:18px;height:18px;font-size:10.5px}
.side-bar{position:absolute;left:0;top:12px;width:2px;height:32px;background:var(--amber);border-radius:0 2px 2px 0;transform:translateY(0);will-change:transform}
.side-foot{margin-top:auto;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:6px;background:var(--ink-0)}
.sf-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-3)}
.sf-row b{font-weight:500;color:var(--text-2)}

/* ---------- stage (3D under main) ---------- */
.stage{grid-area:main;position:relative;overflow:hidden;z-index:0;pointer-events:none;transition:opacity .3s linear}
.gl,.c2d{position:absolute;inset:0;width:100%;height:100%;display:block}
.c2d{display:none}
.stage.is-2d .gl{display:none}
.stage.is-2d .c2d{display:block}
.ovl{position:absolute;inset:0}
.pill,.phead,.demo-tag{position:absolute;left:0;top:0;will-change:transform;opacity:0;transition:opacity .3s var(--e-ui)}
.pill{display:flex;align-items:center;gap:6px;height:22px;padding:0 7px;border-radius:5px;background:var(--amber);color:var(--amber-ink);font:500 11px/1 var(--f-mono);white-space:nowrap}
.pill-k{opacity:.7;letter-spacing:.05em}
.phead{display:flex;gap:6px;font:500 11px/1 var(--f-mono);color:var(--text-1);white-space:nowrap;padding:4px 6px;background:var(--ink-1);border:1px solid var(--line-2);border-radius:5px}
.phead-sym{color:var(--text-3)}
.demo-tag{font:500 10px/1 var(--f-mono);letter-spacing:.08em;color:var(--text-2);border:1px solid var(--line-2);border-radius:4px;padding:4px 6px;background:var(--ink-1)}
.ovl.on .pill,.ovl.on .phead,.ovl.on .demo-tag{opacity:1}

/* ---------- main ---------- */
.main{grid-area:main;position:relative;z-index:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--ink-4) transparent;overscroll-behavior:contain}
.main::-webkit-scrollbar{width:8px}.main::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:8px}
.view{position:relative;max-width:1080px;margin:0 auto;padding:36px 48px}
.vh{margin:0 0 28px;max-width:720px}
.vh-k{display:inline-block;font:500 11px/1 var(--f-mono);letter-spacing:.08em;color:var(--text-3);margin-bottom:14px}
.vh-t{font:640 36px/1.06 var(--f-display);font-stretch:118%;letter-spacing:-.035em;margin:0 0 10px;color:var(--text-1);text-wrap:balance}
.vh-s{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:15px;margin:0}

/* ---------- ask ---------- */
.v-ask{max-width:none;padding:0;height:calc(var(--mh) * 2.5)}
.pin{position:sticky;top:0;height:var(--mh);display:flex;flex-direction:column;max-width:1080px;margin:0 auto;padding:36px 48px 30px}
.ask-top{position:relative}
.hero-name{font:640 clamp(56px,7.2vw,92px)/.96 var(--f-display);font-stretch:118%;letter-spacing:-.035em;margin:0 0 12px;color:var(--text-1)}
.hero-name .mk{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.hero-name .mk>span{display:inline-block}
.hero-line{font-size:17px;color:var(--text-2);margin:0 0 22px;min-height:1.5em}
.tw-caret{display:inline-block;width:9px;height:1.05em;background:var(--amber);vertical-align:-.15em;margin:0 -9px 0 0;position:relative}
/* command line (21st 43111 + 27534) */
.cmd{position:relative;display:flex;align-items:center;gap:10px;height:56px;padding:0 14px 0 12px;background:var(--ink-0);border:1px solid var(--line-2);border-radius:10px;transition:border-color .18s var(--e-ui),box-shadow .18s var(--e-ui)}
.cmd.is-focus{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-ring)}
.cmd-p{color:var(--amber);display:flex}
.cmd-p .ic{width:18px;height:18px;stroke-width:2.2}
.cmd-f{position:relative;flex:1;min-width:0;height:100%;font:400 17px/56px var(--f-mono);overflow:hidden}
.cmd-in{position:absolute;inset:0;width:100%;height:100%;background:none;border:0;padding:0;font:inherit;color:transparent;caret-color:transparent;outline:none;cursor:text}
.cmd-in::selection{background:var(--amber-lo);color:transparent}
.cmd-mirror{position:absolute;inset:0;white-space:pre;color:var(--text-1);pointer-events:none}
.cmd-mirror .t-chip{background:var(--ink-3);border-radius:4px;box-shadow:0 0 0 2px var(--ink-3)}
.cmd-mirror .t-cond{box-shadow:inset 0 -2px 0 var(--amber)}
.cmd-ph{position:absolute;left:16px;top:0;color:var(--text-3);pointer-events:none;white-space:pre;opacity:0}
.cmd-ph.on{opacity:1}
.caret{position:absolute;top:17px;left:0;width:9px;height:22px;background:var(--amber);pointer-events:none;animation:blink 1.06s steps(1) infinite}
.caret.solid{animation:none}
.caret.off{display:none}
@keyframes blink{50%{opacity:0}}
.cmd-sub{min-height:22px;margin-top:8px;display:flex;align-items:center;gap:12px;font:400 11px/1.4 var(--f-mono);color:var(--text-3)}
.clar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-family:var(--f-ui);font-size:13px;color:var(--text-2)}
.clar .opt{font:400 12px/1 var(--f-mono);color:var(--text-1);background:var(--ink-3);border:1px solid var(--line-2);border-radius:6px;padding:6px 8px;transition:border-color .18s}
.clar .opt:hover{border-color:var(--amber)}
.ask-low{flex:1;min-height:0;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:12px}
.card-slot{position:relative;width:400px;flex:none}
/* rule card */
.rcard{position:relative;min-height:292px;display:flex;flex-direction:column;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-card);padding:16px;transform-origin:0 0}
.rc-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.rc-lab{font:500 11px/1 var(--f-mono);letter-spacing:.06em;color:var(--text-3)}
.rcard[data-state=armed] .rc-lab{color:var(--text-1)}
.rcard[data-state=fired] .rc-lab{color:var(--amber)}
.rc-demo{font:500 10px/1 var(--f-mono);letter-spacing:.08em;color:var(--text-3);border:1px solid var(--line-2);border-radius:4px;padding:3px 5px}
.rc-demo[hidden]{display:none}
.rc-title{font:500 16px/1.3 var(--f-ui);margin:0 0 12px;letter-spacing:-.005em}
.rc-dl{margin:0;display:grid;gap:8px}
.rc-row{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:baseline}
.rc-row dt{font:500 11px/1.6 var(--f-mono);letter-spacing:.06em;color:var(--text-3)}
.rc-row dd{margin:0;font-size:13.5px;color:var(--text-1);line-height:1.45}
.rc-when dd{border-left:2px solid var(--amber);padding-left:10px;margin-left:-12px}
.rc-row,.rc-f{transition:none}
.rc-f{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:16px;flex-wrap:wrap}
.rc-note{font-size:12px;color:var(--text-3);margin-left:4px}
.bbox{position:absolute;inset:-6px;border:1px solid var(--amber);border-radius:14px;opacity:0;pointer-events:none}
.bbox i{position:absolute;width:5px;height:5px;background:var(--ink-1);border:1px solid var(--amber)}
.bbox i:nth-child(1){left:-3px;top:-3px}.bbox i:nth-child(2){right:-3px;top:-3px}.bbox i:nth-child(3){left:-3px;bottom:-3px}.bbox i:nth-child(4){right:-3px;bottom:-3px}
/* fire sheet */
.sheet{position:absolute;left:0;right:0;bottom:0;top:auto;z-index:2;display:flex;flex-direction:column;justify-content:flex-start;background:var(--ink-3);border:1px solid var(--line-2);border-radius:var(--r-card);padding:14px 16px;clip-path:inset(100% 0 0 0);opacity:0;pointer-events:none}
.sh-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;margin-bottom:12px}
.sh-lab{white-space:nowrap}
.sh-note{margin:auto 0 0;padding-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--text-3)}
.sh-lab{font:500 11px/1 var(--f-mono);letter-spacing:.06em;color:var(--amber)}
.sh-why{font-size:12px;color:var(--text-2);text-align:right}
.sh-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:12px}
.sh-grid b{white-space:nowrap}
.sh-grid .k{display:block;font:500 10.5px/1 var(--f-mono);letter-spacing:.06em;color:var(--text-3);margin-bottom:6px}
.sh-grid b{font-size:15px;font-weight:500}
.sh-ttl{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}
.sh-ttl .k{grid-column:1/-1}
.ring{width:22px;height:22px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:2}
.ring-bg{stroke:var(--line-2)}
.ring-fg{stroke:var(--amber);stroke-dasharray:59.7;stroke-dashoffset:0}
.ask-side{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.nums{display:flex;gap:0;background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r-card)}
.nb{display:flex;flex-direction:column;gap:6px;padding:12px 16px;min-width:160px}
.nums .nb+.nb{border-left:1px solid var(--line)}
.nb .k{font:500 10.5px/1 var(--f-mono);letter-spacing:.07em;color:var(--text-3);white-space:nowrap}
.nb b{font-size:20px;font-weight:500;color:var(--text-1);letter-spacing:-.01em;white-space:nowrap}
.nb-s{font-size:11.5px;color:var(--text-3);white-space:nowrap}
.nums-x{display:grid;grid-template-columns:repeat(5,auto);gap:0;margin:-8px 0 0;padding:0;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r-card) var(--r-card);background:var(--ink-1);align-self:stretch}
.nums-x>div{padding:7px 12px 8px;min-width:88px}
.nums-x>div+div{border-left:1px solid var(--line)}
.nums-x dt{font:500 9.5px/1 var(--f-mono);letter-spacing:.07em;color:var(--text-3);margin-bottom:5px;white-space:nowrap}
.nums-x dd{margin:0;font:400 12px/1 var(--f-mono);color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.ask-side .nums{border-radius:var(--r-card) var(--r-card) 0 0;align-self:stretch}
.hero-cta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pin-hint{position:absolute;left:48px;right:48px;bottom:12px;display:flex;align-items:center;gap:10px;font:400 10.5px var(--f-mono);color:var(--text-3);pointer-events:none}
.ph-t{display:none}
.ph-bar{flex:1;height:1px;background:var(--line);overflow:hidden}
.ph-bar i{display:block;height:100%;width:100%;background:var(--amber);transform-origin:0 50%;transform:scaleX(0)}
/* odometer (21st 28181) */
.odo .od{display:inline-flex;height:1.2em;overflow:hidden;vertical-align:top;line-height:1.2}
.odo .od-c{display:flex;flex-direction:column;transition:transform .42s var(--e-out)}
.odo .od-c span{height:1.2em}
.odo>span{display:inline-block;vertical-align:top;height:1.2em;line-height:1.2;white-space:pre}
.odo .od-s{display:inline-block;transition:color .6s var(--e-ui)}
.odo.up .od-s{color:var(--up)}.odo.down .od-s{color:var(--down)}
.odo-xl{font-size:34px!important;letter-spacing:-.02em}

/* ---------- rules ---------- */
.v-rules{padding-top:72px;min-height:var(--mh)}
.tbl{border:1px solid var(--line);border-radius:var(--r-card);background:var(--ink-1);position:relative}
.tr{display:grid;grid-template-columns:2.2fr 1.4fr 1.2fr 110px;gap:16px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);position:relative;z-index:1;font-size:13.5px}
.tr.th{border-top:0;font:500 10.5px/1 var(--f-mono);letter-spacing:.07em;color:var(--text-3);padding:12px 16px}
.tr>span{min-width:0}
.tr .t-when{border-left:2px solid var(--amber);padding-left:10px;color:var(--text-1)}
.tr .t-do{color:var(--text-1)}
.tr .t-lim{color:var(--text-2);font:400 12px/1.4 var(--f-mono)}
.tr-skel{color:var(--text-3)}
.st{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--f-mono);letter-spacing:.05em;color:var(--text-2)}
.st::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--line-2)}
.st-armed{color:var(--text-1)}.st-armed::before{background:transparent;border:1.5px dashed var(--amber)}
.st-fired{color:var(--amber)}.st-fired::before{background:var(--amber)}
.st-signed,.st-landed{color:var(--text-1)}.st-signed::before,.st-landed::before{background:var(--text-1)}
.st-expired{color:var(--alert)}.st-expired::before{background:var(--alert)}
.st-paused{color:var(--text-3)}
.hl-list{position:relative}
.hl{position:absolute;left:6px;right:6px;top:0;height:0;background:var(--ink-3);border-radius:var(--r-ctl);opacity:0;z-index:0;pointer-events:none;will-change:transform}
.empty{padding:28px 16px 18px;border-top:1px solid var(--line)}
.empty[hidden]{display:none}
.em-t{margin:0 0 14px;color:var(--text-2);font-size:15px}
.tpls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tpl{text-align:left;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px dashed var(--line-2);border-radius:10px;background:var(--ink-0);transition:border-color .18s var(--e-ui),background .18s var(--e-ui)}
.tpl:hover{border-color:var(--amber);background:var(--ink-2)}
.tpl-k{font:500 10.5px/1 var(--f-mono);letter-spacing:.07em;color:var(--amber)}
.tpl-v{font:400 12.5px/1.45 var(--f-mono);color:var(--text-1)}
.sub-h{display:flex;align-items:baseline;gap:14px;margin:34px 0 12px}
.sub-h .vh-k{margin:0}
.sub-n{font-size:12.5px;color:var(--text-3)}
.spark{position:fixed;left:0;top:0;z-index:30;background:var(--ink-2);border:1px solid var(--line-2);border-radius:10px;padding:8px 10px 6px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .14s var(--e-ui),transform .14s var(--e-ui)}
.spark.on{opacity:1;transform:none}
.spark canvas{width:240px;height:72px}
.spark-l{display:block;font-size:10.5px;color:var(--text-3);margin-top:2px}
.rx-blk{position:absolute;left:0;top:0;bottom:0;background:var(--ink-4);border-right:2px solid var(--amber);transform-origin:0 50%;pointer-events:none}
.rx-line{position:relative;display:inline}

/* ---------- flows ---------- */
.v-flows{max-width:none;padding:0;height:calc(var(--mh) * 2)}
.v-flows .pin{padding-top:56px}
.fl-bar{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.seg{position:relative;display:inline-flex;padding:3px;background:var(--ink-0);border:1px solid var(--line-2);border-radius:9px}
.seg button{position:relative;z-index:1;height:28px;min-width:52px;padding:0 12px;font:500 12px/1 var(--f-mono);color:var(--text-2);border-radius:6px;transition:color .18s}
.seg button[aria-selected=true]{color:var(--text-1)}
.seg-hl{position:absolute;top:3px;left:0;height:28px;background:var(--ink-3);border:1px solid var(--line-2);border-radius:6px;transition:transform .42s var(--e-out),width .42s var(--e-out)}
.fl-src{font:400 11px var(--f-mono);color:var(--text-3)}
.fl-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;flex:1;min-height:0}
.fl-big{display:flex;flex-direction:column;gap:2px}
.fl-big .nb{padding:12px 0;min-width:0}
.fl-big .nb+.nb{border-top:1px solid var(--line)}
.fl-canvas{position:relative;min-height:240px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--ink-1)}
.fl-canvas canvas{position:absolute;inset:0;width:100%;height:100%}
.formula{margin:18px 0 0;padding:14px 16px;background:var(--ink-0);border:1px solid var(--line);border-radius:10px;font:400 12.5px/1.75 var(--f-mono);color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere}
.fm-k{color:var(--text-1);font-weight:500}
.fm-w,.fm-s{font-size:.78em;vertical-align:-.25em;color:var(--text-3)}
.fm-v{color:var(--text-1)}
.fm-r{color:var(--amber)}
.fm-c{color:var(--text-3)}
.fl-foot{display:flex;justify-content:space-between;gap:16px;margin-top:10px;font-size:13px}
.fl-warm{font:400 11px var(--f-mono);color:var(--text-3)}
.fl-t3{perspective:600px}
.fl-t3 .fc{display:inline-block;transform-origin:50% 100%;backface-visibility:hidden}

/* ---------- inbox ---------- */
.v-inbox{padding-top:72px;min-height:var(--mh)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);border:1px solid var(--line);border-radius:var(--r-card);background:var(--ink-1);min-height:420px;overflow:hidden}
.ib-list{border-right:1px solid var(--line);padding:6px 0;max-height:520px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ink-4) transparent}
.ib-row{position:relative;z-index:1;display:grid;grid-template-columns:76px 1fr auto;gap:10px;align-items:center;padding:10px 16px;font-size:13px;transition:opacity .4s var(--e-ui)}
.ib-row .ib-t{font:400 11px var(--f-mono);color:var(--text-3)}
.ib-row .ib-w{color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ib-row .ib-w em{font-style:normal;color:var(--text-3)}
.ib-row[aria-selected=true]{background:var(--ink-4)}
.ib-row.is-exp .ib-w{color:var(--text-3)}
.ib-detail{padding:20px}
.ibd-empty{color:var(--text-3);font-size:13px}
.ibd-k{font:500 11px/1 var(--f-mono);letter-spacing:.06em;color:var(--text-3)}
.ibd-t{font:500 18px/1.3 var(--f-ui);margin:10px 0 6px}
.ibd-why{color:var(--text-2);font-size:13.5px;margin:0 0 16px}
.ibd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:16px}
.ibd-grid>div{background:var(--ink-2);padding:10px 12px}
.ibd-grid .k{display:block;font:500 10.5px/1 var(--f-mono);letter-spacing:.06em;color:var(--text-3);margin-bottom:6px}
.ibd-grid b{font:500 14px var(--f-mono)}
.hold{position:relative;display:flex;align-items:center;gap:12px}
.hold-btn{position:relative;height:40px;padding:0 16px 0 12px;gap:10px}
.hold-btn .ring{width:20px;height:20px}
.hold-btn .ring-bg{stroke:rgba(26,19,6,.25)}
.hold-btn .ring-fg{stroke:var(--amber-ink);stroke-dashoffset:59.7}
.hold-s{font-size:12px;color:var(--text-3)}
.ibd-done{display:flex;align-items:center;gap:8px;font:500 12px var(--f-mono);color:var(--text-1)}
.ibd-exp{display:inline-flex;align-items:center;gap:6px;font:500 11px var(--f-mono);letter-spacing:.05em;color:var(--alert)}
.ibd-note{margin-top:14px;font-size:12px;color:var(--text-3)}

/* ---------- access ---------- */
.v-access{padding-top:72px;min-height:calc(var(--mh) * .9)}
.set{border:1px solid var(--line);border-radius:var(--r-card);background:var(--ink-1)}
.set-row{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;padding:18px 20px;align-items:center}
.set-row+.set-row{border-top:1px solid var(--line)}
.set-l b{display:block;font-weight:500;font-size:14px;margin-bottom:4px}
.set-l span{font-size:12.5px;color:var(--text-3)}
.set-r{min-width:0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.set-tiers{align-items:start}
.tiers{width:100%;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ti{display:grid;grid-template-columns:60px 1fr 1fr 1fr 1fr;gap:10px;padding:10px 12px;font:400 13px var(--f-mono);border-top:1px solid var(--line)}
.ti.th{border-top:0;font:500 10.5px/1 var(--f-mono);letter-spacing:.06em;color:var(--text-3);background:var(--ink-0)}
.ti.on{background:var(--ink-4)}
.set-ca .ca{height:auto;min-height:34px;padding:7px 12px}
.set-p{margin:0;color:var(--text-2);font-size:13px;text-align:right}
.wal{display:flex;align-items:center;gap:10px;font:400 12px var(--f-mono);color:var(--text-2);flex-wrap:wrap;justify-content:flex-end}
.wal code{color:var(--text-1);overflow-wrap:anywhere}

/* ---------- docs view ---------- */
.v-docs{padding-top:72px;padding-bottom:60px;min-height:var(--mh)}
.dl3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dlk{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--ink-2);transition:border-color .18s var(--e-ui),background .18s var(--e-ui)}
.dlk:hover{border-color:var(--line-2);background:var(--ink-3)}
.dlk-k{font:500 10.5px/1 var(--f-mono);letter-spacing:.07em;color:var(--amber)}
.dlk-t{font-weight:500;font-size:15px;align-self:flex-start}
.dlk-s{font-size:12.5px;color:var(--text-3)}
.final{margin-top:56px}
.cmd-final .cmd-in{color:var(--text-1);caret-color:transparent}
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.sw>span{display:inline-block}

/* ---------- status bar + marquee (21st 35200) ---------- */
.status{grid-area:st;display:flex;align-items:center;gap:16px;padding:0 12px;border-top:1px solid var(--line);font:400 11px/1 var(--f-mono);color:var(--text-3);background:var(--ink-1);z-index:6;min-width:0}
.st-l{display:flex;align-items:center;gap:7px;white-space:nowrap}
.st-dot{width:6px;height:6px;border-radius:1px;background:var(--text-3)}
.st-dot.ok{background:var(--up)}
.st-dot.bad{background:var(--alert)}
.st-r{margin-left:auto;white-space:nowrap;color:var(--text-2)}
.mq{position:relative;flex:1;min-width:0;height:100%;overflow:hidden;cursor:grab}
.mq:active{cursor:grabbing}
.mq-t{position:absolute;left:0;top:0;height:100%;display:flex;align-items:center;gap:22px;white-space:nowrap;will-change:transform}
.mq-i{display:inline-flex;gap:6px;align-items:center}
.mq-i b{font-weight:500;color:var(--text-2)}
.mq-i .s-fired{color:var(--amber)}.mq-i .s-expired{color:var(--alert)}.mq-i .s-armed,.mq-i .s-signed,.mq-i .s-landed{color:var(--text-1)}

/* ---------- wipe (21st 40098) ---------- */
.wipe{position:fixed;z-index:20;background:var(--ink-2);border-right:1px solid var(--amber);transform:translateX(-101%);pointer-events:none;visibility:hidden}

/* ---------- palette (21st 33510 + 2075) ---------- */
.pal{position:fixed;inset:0;z-index:60;background:rgba(10,10,12,.55);display:flex;justify-content:center;align-items:flex-start;padding-top:14vh}
.pal[hidden]{display:none}
.pal-box{width:min(620px,calc(100% - 32px));background:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--r-card);overflow:hidden}
.pal-in{display:flex;align-items:center;gap:10px;padding:0 14px;height:52px;border-bottom:1px solid var(--line);color:var(--text-3)}
.pal-in input{flex:1;background:none;border:0;color:var(--text-1);font:400 15px var(--f-ui);outline:none;height:100%;cursor:text}
.pal-list{max-height:min(380px,50vh);overflow-y:auto;padding:6px}
.pal-g{font:500 10.5px/1 var(--f-mono);letter-spacing:.07em;color:var(--text-3);padding:10px 10px 6px}
.pal-it{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;border-radius:var(--r-ctl);color:var(--text-2);font-size:13.5px;text-align:left}
.pal-it .ic{color:var(--text-3)}
.pal-it .key{margin-left:auto}
.pal-it[aria-selected=true]{background:var(--ink-3);color:var(--text-1)}
.pal-it mark{background:none;color:var(--amber)}
.pal-f{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--line);font:400 11px var(--f-mono);color:var(--text-3)}
.pal-f span{display:flex;align-items:center;gap:4px}
.pal-none{padding:18px 10px;color:var(--text-3);font-size:13px}

/* ---------- chat ---------- */
.chat{position:fixed;right:24px;top:68px;bottom:52px;width:380px;z-index:40;background:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--r-card);display:flex;flex-direction:column;overflow:hidden}
.chat[hidden]{display:none}
.chat-h{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 16px;border-bottom:1px solid var(--line)}
.chat-t{font-weight:500}
.chat-s{font-size:11.5px;color:var(--text-3);margin-right:auto}
.chat-log{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:var(--ink-4) transparent}
.msg{max-width:92%;padding:9px 12px;border-radius:10px;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.me{align-self:flex-end;background:var(--ink-4);font-family:var(--f-mono);font-size:12.5px}
.msg.ag{align-self:flex-start;background:var(--ink-1);border:1px solid var(--line);color:var(--text-2)}
.msg .mb{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.msg .mb a,.msg .mb button{font:500 12px var(--f-ui);color:var(--text-1);border:1px solid var(--line-2);border-radius:6px;padding:5px 8px;background:var(--ink-2)}
.chat-f{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.chat-f input{flex:1;height:38px;background:var(--ink-0);border:1px solid var(--line-2);border-radius:var(--r-ctl);color:var(--text-1);font:400 13px var(--f-mono);padding:0 10px;outline:none;cursor:text}
.chat-f input:focus{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-ring)}

/* ---------- toasts (21st 27363) ---------- */
.toasts{position:fixed;right:24px;bottom:48px;z-index:70;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}
.toast{min-width:220px;max-width:340px;padding:10px 14px;background:var(--ink-3);border:1px solid var(--line-2);border-radius:10px;font-size:13px;color:var(--text-1);display:flex;gap:10px;align-items:center;transition:transform .18s var(--e-ui),opacity .18s var(--e-ui)}
.toast .k{font:500 10.5px var(--f-mono);letter-spacing:.06em;color:var(--amber)}
.toast.in{opacity:0;transform:translateY(8px)}

/* ---------- tooltip (21st 31328) ---------- */
.tip{position:fixed;left:0;top:0;z-index:80;display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--ink-3);border:1px solid var(--line-2);border-radius:6px;font:400 12px var(--f-ui);color:var(--text-1);pointer-events:none;opacity:0;transform:scale(.96);transition:opacity .12s var(--e-ui),transform .12s var(--e-ui)}
.tip.on{opacity:1;transform:none}
.tip[hidden]{display:none}

/* ---------- cursor (21st 18283) ---------- */
.cur{position:fixed;left:0;top:0;z-index:90;pointer-events:none;display:none}
.has-cur .cur{display:block}
.has-cur,.has-cur *{cursor:none!important}
.cur-dot{position:fixed;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--text-1);will-change:transform}
.cur-frame{position:fixed;left:0;top:0;border:1px solid var(--text-2);border-radius:8px;opacity:0;will-change:transform,width,height;transition:opacity .12s var(--e-ui)}
.cur.snap .cur-dot{opacity:0}
.cur.snap .cur-frame{opacity:1}
.cur.beam .cur-dot{width:2px;height:20px;border-radius:1px;background:var(--amber);left:-1px;top:-10px}

/* ---------- boot (21st 24397 + 36551) ---------- */
.boot{position:fixed;inset:0;z-index:95;background:var(--ink-0);display:flex;align-items:center;justify-content:center}
.boot-in{display:flex;flex-direction:column;gap:12px;width:min(320px,80vw)}
.boot-row{display:flex;gap:3px;height:12px}
.boot-row i{flex:1;background:var(--ink-3);border-radius:1px;transform-origin:50% 100%}
.boot-row i.on{background:var(--amber)}
.boot-t{display:flex;justify-content:space-between;font:400 11px var(--f-mono);color:var(--text-3)}

/* ---------- mobile tab bar ---------- */
.tabbar{display:none}

/* ---------- reveal helpers ---------- */
.mk,.sw{will-change:transform}
.dc{display:inline-block}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .ask-low{flex-direction:column;align-items:stretch;justify-content:flex-end}
  .ask-side{flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
  .card-slot{width:min(400px,100%)}
}
@media (max-width:860px){
  body{overflow:auto}
  html{scroll-padding-top:var(--tb)}
  .win{margin:0;width:100%;height:auto;min-height:100vh;border:0;border-radius:0;display:block;overflow:visible}
  .tb{position:sticky;top:0;flex-wrap:wrap;height:auto;min-height:var(--tb);padding:7px 12px;row-gap:6px}
  .tb-crumb,.b-chat .bl,.kbd-btn{display:none}
  .tb-r{display:contents}
  .tb .b-x{margin-left:auto}
  .tb-ca{order:9;width:100%}
  .tb-ca .ca{width:100%;height:auto;min-height:30px;padding:6px 10px;justify-content:flex-start}
  .tb-ca .ca-v{flex:1;font-size:11px}
  .side,.status .mq,.pin-hint{display:none}
  .stage{position:absolute;left:0;right:0;top:0;height:calc(100svh + 40px);z-index:0}
  .main{overflow:visible;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .view,.pin{padding:24px 16px}
  .v-ask,.v-flows{height:auto}
  .pin{position:relative;height:auto;padding:22px 16px 28px}
  .v-ask .pin{min-height:calc(100svh - 90px)}
  .hero-name{font-size:clamp(40px,12vw,56px)}
  .hero-line{font-size:15px;margin-bottom:16px}
  .cmd{height:52px}
  .cmd-f{font-size:14px;line-height:52px}
  .caret{top:15px;width:8px;height:22px}
  .ask-low{margin-top:168px;gap:16px}
  .card-slot{width:100%}
  .ask-side{flex-direction:column;align-items:stretch}
  .nums{width:100%}
  .nb{min-width:0;flex:1;padding:10px 10px}
  .nb b{font-size:16px}
  .nb .k{font-size:9.5px;white-space:normal}
  .nb-s{display:none}
  .nums-x{grid-template-columns:repeat(3,1fr)}
  .nums-x>div:nth-child(n+4){display:none}
  .nums-x>div{padding:6px 10px 7px}
  .hero-cta{justify-content:stretch}
  .hero-cta .btn{flex:1}
  .vh-t{font-size:28px}
  .v-rules,.v-inbox,.v-access,.v-docs{padding-top:48px;min-height:0}
  .tr{grid-template-columns:1fr 1fr;gap:6px 12px}
  .tr.th{display:none}
  .tr .t-when{grid-column:1/-1}
  .tpls{grid-template-columns:1fr}
  .fl-body{grid-template-columns:1fr}
  .fl-big{flex-direction:row;flex-wrap:wrap}
  .fl-big .nb{flex:1 1 140px}
  .fl-big .nb+.nb{border-top:0}
  .fl-canvas{height:260px}
  .odo-xl{font-size:26px!important}
  .split{grid-template-columns:1fr}
  .ib-list{border-right:0;border-bottom:1px solid var(--line);max-height:300px}
  .ibd-grid{grid-template-columns:1fr 1fr}
  .set-row{grid-template-columns:1fr;gap:12px}
  .set-r{justify-content:flex-start}
  .set-p{text-align:left}
  .ti{grid-template-columns:44px 1fr 1fr 1fr;font-size:12px}
  .ti>span:nth-child(5){display:none}
  .dl3{grid-template-columns:1fr}
  .status{position:static;height:auto;flex-wrap:wrap;padding:10px 16px;gap:10px}
  .tabbar{display:flex;visibility:hidden;transform:translateY(100%);transition:transform .24s var(--e-out),visibility 0s .24s;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ink-1);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .tabbar.on{visibility:visible;transform:none;transition:transform .24s var(--e-out)}
  .tb .btn,.tb .b-x{height:44px;min-width:44px}
  .tb-home{min-height:44px}
  .tb-ca .ca{min-height:44px!important}
  .key-enter{width:40px;height:40px}
  .seg button{height:40px}.seg-hl{height:40px}
  .clar .opt{min-height:40px}
  .tb-ca button.ca{min-height:44px}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border-radius:8px;color:var(--text-3);font-size:10.5px;position:relative}
  .tabbar a[aria-current=page]{color:var(--text-1);background:var(--ink-3)}
  .tabbar a[aria-current=page]::before{content:"";position:absolute;top:-6px;left:30%;right:30%;height:2px;background:var(--amber)}
  .tabbar .ic{width:18px;height:18px}
  .chat{left:8px;right:8px;top:auto;bottom:calc(68px + env(safe-area-inset-bottom));width:auto;height:min(70vh,560px)}
  .toasts{left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom))}
  .toast{max-width:none}
}
@media (max-width:380px){
  .tb-name{font-size:13px}
  .nums{flex-wrap:wrap}
  .nb{flex:1 1 33%}
}
@media (min-width:2000px){.view,.pin{max-width:1160px}}

/* ---------- 404 ---------- */
.win-nf{grid-template-columns:1fr;grid-template-rows:var(--tb) 1fr;grid-template-areas:"tb" "main"}
.nf{grid-area:main;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;max-width:760px;width:100%;margin:0 auto;padding:40px 32px}
.nf-mark{width:64px;height:64px}
.nf-t{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0;font:640 40px/1.05 var(--f-display);font-stretch:118%;letter-spacing:-.035em}
.nf-c{color:var(--text-3)}
.nf-d{width:1px;height:40px;background:var(--line-2)}
.nf-m code{font:400 .62em var(--f-mono);letter-spacing:0;color:var(--amber);overflow-wrap:anywhere}
.nf-cmd{width:100%}
.nf-cmd .cmd-f{display:flex;align-items:center;color:var(--text-1)}
.nf-caret{position:static;margin-left:2px}
.nf-s{margin:0;color:var(--text-3);font-size:13px}
/* ---------- docs page ---------- */
.toc-h{font:500 10.5px/1 var(--f-mono);letter-spacing:.07em;color:var(--text-3);padding:18px 10px 8px}
.win-docs{grid-template-columns:var(--side) minmax(0,1fr)}
.dmain{grid-area:main}
.doc{max-width:860px;margin:0 auto;padding:40px 48px 80px}
.doc-h{margin-bottom:36px}
.doc-t{font:640 clamp(36px,4.6vw,56px)/1.02 var(--f-display);font-stretch:118%;letter-spacing:-.035em;margin:0 0 12px}
.doc-s{color:var(--text-2);font-size:15px;margin:0}
.ds{padding:28px 0;border-top:1px solid var(--line);scroll-margin-top:16px}
.ds h2{font:640 26px/1.1 var(--f-display);font-stretch:118%;letter-spacing:-.03em;margin:0 0 10px}
.ds h3{font:500 15px var(--f-ui);margin:22px 0 8px}
.ds p{color:var(--text-2);margin:0 0 12px;font-size:14.5px;line-height:1.6}
.ds .lead{color:var(--text-1)}
.ds .sm{font-size:13px;color:var(--text-3)}
.ds .big{font:500 20px/1.4 var(--f-ui);color:var(--text-1)}
.ds .formula{margin:10px 0 14px}
.kv3{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:6px 0 12px}
.kv3>div{background:var(--ink-2);padding:12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kv3 .k{font:500 10.5px var(--f-mono);letter-spacing:.06em;color:var(--text-3)}
.kv3 b{font-size:17px;font-weight:500}
.kv3 .s{font-size:11px;color:var(--text-3)}
.dtbl{border:1px solid var(--line);border-radius:10px;overflow:hidden;font:400 12.5px/1.45 var(--f-mono);margin:6px 0 12px}
.dr{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:12px;padding:9px 12px;border-top:1px solid var(--line)}
.dr.th{border-top:0;background:var(--ink-0);font-size:10.5px;letter-spacing:.06em;color:var(--text-3)}
.dr span{min-width:0;overflow-wrap:anywhere}
.dr b{font-weight:500;color:var(--text-1)}
#presetTbl .dr{grid-template-columns:.8fr 1.6fr .6fr 1.4fr .6fr .7fr}
#limTbl .dr{grid-template-columns:1fr 2fr}
.gram{display:grid;gap:12px}
.gr{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gr-k{width:90px;font:500 10.5px var(--f-mono);letter-spacing:.07em;color:var(--amber)}
.gr-x code{display:inline-block;font:400 12.5px var(--f-mono);color:var(--text-1);background:var(--ink-0);border:1px solid var(--line-2);border-radius:7px;padding:7px 10px;transition:border-color .18s}
.gr-x:hover code{border-color:var(--amber)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:400 12px var(--f-ui);color:var(--text-2);background:var(--ink-2);border:1px solid var(--line);border-radius:7px;padding:5px 8px}
.chip b{font:500 12px var(--f-mono);color:var(--text-1)}
.steps{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.step{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:14px;background:var(--ink-1)}
.step-n{font:500 12px var(--f-mono);color:var(--amber)}
.step b{font-weight:500}
.step p{margin:4px 0 0;font-size:13.5px}
.doc-end{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.fc-w{display:inline-block}
@media (max-width:860px){
  .docs-page .side{display:none}
  .doc{padding:28px 16px 60px}
  .kv3{grid-template-columns:1fr 1fr}
  .dr{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dr.th{display:none}
  .gr-k{width:100%}
  .nf{padding:28px 16px}
  .nf-t{font-size:30px}
  .nf-cmd .cmd-f{font-size:15px}
}
/* own fire detail: F1 leave-one-out + checked signing steps */
.ibd-f1{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--ink-0);font-size:12px;color:var(--text-2)}
.ibd-f1 .k{font:500 10.5px/1 var(--f-mono);letter-spacing:.06em;color:var(--text-3)}
.ibd-f1 b{font-weight:500;font-size:15px;color:var(--text-1)}
.ibd-top code{font:inherit;color:var(--text-1)}
.ibd-steps{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;font-size:12px;color:var(--text-2)}
.ibd-steps li{position:relative;padding-left:16px}
.ibd-steps li::before{content:"";position:absolute;left:0;top:.45em;width:7px;height:7px;border-radius:2px;background:var(--line-2)}
.ibd-steps li.ok::before{background:var(--up)}
.ibd-steps li.no{color:var(--alert)}.ibd-steps li.no::before{background:var(--alert)}

/* how-it-works player */
.vp{border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--ink-0);max-width:860px}
.vp-stage{position:relative;aspect-ratio:16/9;background:#000;cursor:pointer}
.vp-stage video{width:100%;height:100%;display:block;object-fit:contain}
.vp-stage:fullscreen{display:flex;align-items:center}
.vp-big{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:var(--amber);color:var(--amber-ink);border:0;display:grid;place-items:center;cursor:pointer;transition:opacity .2s var(--e-ui),transform .2s var(--e-ui);box-shadow:0 0 0 8px rgba(242,169,59,.18)}
.vp-big .ic{width:26px;height:26px;margin-left:3px}
.vp-big:hover{transform:scale(1.06)}
.vp.is-play .vp-big{opacity:0;pointer-events:none}
.vp-bar{display:flex;align-items:center;gap:10px;height:48px;padding:0 8px 0 6px;border-top:1px solid var(--line)}
.vp-b{width:40px;height:40px;border:0;background:none;color:var(--text-1);display:grid;place-items:center;border-radius:8px;cursor:pointer}
.vp-b:hover{background:var(--ink-3)}
.vp-b .ic{width:18px;height:18px}
.vp-t{font:400 12px var(--f-mono);color:var(--text-2);white-space:nowrap}
.vp-seek{position:relative;flex:1;height:40px;cursor:pointer;touch-action:none}
.vp-seek::before{content:"";position:absolute;left:0;right:0;top:19px;height:3px;border-radius:2px;background:var(--ink-4)}
.vp-seek i{position:absolute;left:0;right:0;top:19px;height:3px;border-radius:2px;transform-origin:0 50%;transform:scaleX(0)}
.vp-buf{background:var(--line-2)}.vp-pos{background:var(--amber)}
@media (max-width:560px){.vp-t{font-size:11px}.vp-bar{gap:4px}}
