:root{
  --bg:#060304; --p:#0b0506; --p2:#120809; --p3:#1a0b0d; --hov:#20100f;
  --l:#1f0d0f; --l2:#2e1316; --l3:#471a1e;
  --ink:#f4eded; --dim:#bba9aa; --faint:#968384;
  --red:#ff3b3b; --fill:#e0201f; --fill2:#c81616; --ra:rgba(255,59,59,.10); --rb:rgba(255,59,59,.28);
  --up:#2fe08a; --ua:rgba(47,224,138,.11); --dn:#ff4d57; --da:rgba(255,77,87,.11); --amb:#ffb020;
  --ui:'Geist',-apple-system,BlinkMacSystemFont,sans-serif; --mono:var(--ui);
  --e:cubic-bezier(.16,1,.3,1);
  /* theme channels: today's literals by default, so dark and light render exactly as before */
  --acc-rgb:255,59,59; --fill-rgb:224,32,31; --acc2-rgb:255,90,90; --soft-rgb:255,110,110; --soft2-rgb:255,120,120;
  --glow-rgb:255,40,40; --glow2-rgb:200,20,20; --dn-rgb:255,77,87; --up-rgb:47,224,138; --updeep-rgb:31,159,94; --buy-rgb:19,128,74; --sellg-rgb:224,32,31;
  --sell1:#d11a1a; --sell2:#a8121a; --buy1:#13804a; --buy2:#0d6a3c; --brand:#e0201f;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font:13px/1.45 var(--ui);-webkit-font-smoothing:antialiased;overflow:hidden;letter-spacing:-.005em}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(1200px 500px at 50% -10%,rgba(var(--glow-rgb),.13),transparent 60%),radial-gradient(600px 400px at 100% 100%,rgba(var(--glow2-rgb),.08),transparent 60%)}
/* a whisper of grain, so flat black reads as a surface rather than a void */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
button,input,select{font:inherit;color:inherit;letter-spacing:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
:focus-visible{outline:1.5px solid var(--red);outline-offset:1px;border-radius:6px}
::selection{background:var(--fill);color:#fff}
.m{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.up{color:var(--up)} .dn{color:var(--dn)} .fa{color:var(--faint)}
svg.i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--l2);border-radius:3px}::-webkit-scrollbar-track{background:transparent}
*{scrollbar-width:thin;scrollbar-color:var(--l2) transparent}

/* ── grid ─────────────────────────────────────────── */
.T{position:relative;z-index:1;height:calc(100svh - var(--anb,0px));display:grid;gap:6px;padding:6px;
  grid-template-columns:264px minmax(0,1fr) 336px;
  grid-template-rows:46px minmax(0,1fr) clamp(150px,24vh,236px) 24px;
  grid-template-areas:"top top top" "wl chart side" "sig dock side" "st st st"}
.pn{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--l);border-radius:12px;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(var(--soft2-rgb),.045)}
.ph{flex:0 0 auto;display:flex;align-items:center;gap:8px;height:34px;padding:0 10px 0 12px;border-bottom:1px solid var(--l)}
.ph h4{font-size:11.5px;font-weight:600;letter-spacing:.01em;color:var(--dim);text-transform:uppercase;letter-spacing:.08em}
.ph .r{margin-left:auto;display:flex;align-items:center;gap:4px}
.ib{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--faint);transition:background .15s,color .15s}
.ib:hover{background:var(--p3);color:var(--ink)}
.ib.on{color:var(--red);background:var(--ra)}
.tab{height:26px;padding:0 10px;border-radius:7px;font-size:12px;font-weight:500;color:var(--faint);transition:background .15s,color .15s;white-space:nowrap}
.tab:hover{color:var(--ink)}
.tab.on{background:var(--p3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--l2)}
.tab b{font-weight:500;color:var(--red);margin-left:4px;font-family:var(--mono);font-size:11px}
.pill{height:24px;padding:0 8px;border-radius:999px;border:1px solid var(--l2);font-size:11.5px;color:var(--dim);transition:all .15s;white-space:nowrap}
.pill:hover{border-color:var(--l3);color:var(--ink)}
.pill.on{background:var(--ra);border-color:var(--rb);color:var(--red)}
kbd{font:500 10.5px var(--ui);color:var(--dim);border:1px solid var(--l2);border-bottom-width:2px;border-radius:5px;padding:0 5px;background:var(--p2)}
.flu{animation:flu .38s ease-out} .fld{animation:fld .38s ease-out}
@keyframes flu{from{background:rgba(var(--up-rgb),.14)}} @keyframes fld{from{background:rgba(var(--dn-rgb),.14)}}
.sk{position:relative;overflow:hidden;background:var(--p3);border-radius:6px;color:transparent!important}
.sk::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(var(--soft-rgb),.1) 50%,transparent 80%);background-size:220% 100%;animation:shim 1.4s linear infinite}
@keyframes shim{from{background-position:120% 0}to{background-position:-120% 0}}

/* ── top bar ──────────────────────────────────────── */
.top{grid-area:top;display:flex;align-items:center;gap:10px;padding:0 6px 0 4px}
.brand{display:flex;align-items:center;gap:9px;padding-right:6px}
.brand i{width:30px;height:30px;border-radius:9px;background:var(--brand);display:grid;place-items:center;box-shadow:0 4px 18px rgba(224,32,31,.45),inset 0 1px 0 rgba(255,255,255,.25)}
.brand i svg{width:17px;height:17px;color:#fff}
.brand b{font-size:14px;font-weight:600;letter-spacing:-.01em}
.brand .kj{font:500 12.5px 'Hiragino Sans','Noto Sans JP','Yu Gothic',sans-serif;color:var(--faint);letter-spacing:.08em;margin-left:2px}
.brand em{font-style:normal;font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--red);border:1px solid var(--rb);border-radius:5px;padding:1px 5px;margin-left:2px}
.wsp{display:flex;gap:2px;padding:3px;border:1px solid var(--l);border-radius:10px;background:var(--p)}
.acct{display:flex;align-items:center;gap:0;height:36px;border:1px solid var(--l);border-radius:10px;background:var(--p);margin-left:auto;overflow:hidden}
.acct>div{position:relative;padding:0 12px;border-right:1px solid var(--l);height:100%;display:flex;flex-direction:column;justify-content:center}
.acct>div:last-child{border-right:0}
.acct span{font-size:9.5px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.09em;line-height:1.1;white-space:nowrap}
.acct b{font-family:var(--mono);font-size:12.5px;font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums}
.acct .sel{flex-direction:row;align-items:center;gap:8px;cursor:pointer;transition:background .15s}
.acct .sel:hover{background:var(--p2)}
.acct .sel>div{display:flex;flex-direction:column}
.acct .dot{width:7px;height:7px;border-radius:50%;background:var(--up);box-shadow:0 0 8px var(--up)}
.acct .dot.off{background:var(--faint);box-shadow:none}
.acct b.na{color:var(--faint)}
.meter{position:absolute;left:12px;right:12px;bottom:4px;height:3px;border-radius:2px;background:var(--p3);overflow:hidden}
.acct>div:has(.meter){min-width:92px}
.acct.na .meter{display:none}
.meter i{display:block;height:100%;border-radius:2px;transition:width .6s var(--e)}
.srch{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--l);border-radius:10px;background:var(--p);color:var(--faint);min-width:210px;transition:border-color .15s}
.srch:hover{border-color:var(--l3);color:var(--dim)}
.srch span{flex:1;text-align:left}
.tbtn{height:36px;padding:0 14px;border-radius:10px;background:var(--fill);color:#fff;font-weight:600;font-size:12.5px;box-shadow:0 6px 20px rgba(var(--fill-rgb),.3),inset 0 1px 0 rgba(255,255,255,.2);transition:background .15s,transform .15s}
.tbtn:hover{background:var(--fill2)} .tbtn:active{transform:scale(.98)}

/* section nav, underlined like the rest of the house */
.tnav{display:flex;align-self:stretch;margin-left:4px}
.tnav a{display:flex;align-items:center;padding:0 12px;font-size:13px;font-weight:500;color:var(--faint);position:relative;cursor:pointer;white-space:nowrap;transition:color .15s}
.tnav a:hover{color:var(--ink)}
.tnav a.on{color:var(--ink)}
.tnav a.on::after{content:'';position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px;background:var(--red);box-shadow:0 0 12px var(--red)}

/* dropdowns in the chart toolbar */
.dd{position:relative;flex:0 0 auto}
.ddb{display:flex;align-items:center;gap:6px;height:28px;padding:0 9px;border-radius:8px;border:1px solid var(--l);background:var(--p);font-size:12px;font-weight:500;color:var(--dim);transition:border-color .15s,color .15s}
.ddb:hover,.dd.open .ddb{border-color:var(--l3);color:var(--ink)}
.ddb svg{width:14px;height:14px}
.ddb .cv{width:12px;height:12px;color:var(--faint);transition:transform .2s var(--e)}
.dd.open .ddb .cv{transform:rotate(180deg)}
.ddb b{font:600 10.5px var(--mono);color:var(--red);background:var(--ra);border-radius:5px;padding:0 5px}
.ddp{position:absolute;left:0;top:calc(100% + 6px);z-index:30;min-width:230px;padding:5px;border-radius:12px;background:linear-gradient(180deg,#1a0b0d,#0f0607);border:1px solid var(--l2);box-shadow:0 24px 60px rgba(0,0,0,.7);display:none}
.dd.open .ddp{display:block;animation:ctxin .14s var(--e)}
.ddp button{width:100%;display:flex;align-items:center;gap:9px;height:34px;padding:0 10px;border-radius:8px;border:0;background:none;font-size:12.5px;color:var(--dim);text-align:left}
.ddp button:hover{background:var(--ra);color:var(--ink)}
.ddp button i{width:8px;height:8px;border-radius:50%;flex:0 0 auto;margin:0}
.ddp button::after{content:'';margin-left:auto;width:26px;height:15px;border-radius:999px;background:var(--p3);box-shadow:inset 0 0 0 1px var(--l2);transition:background .2s}
.ddp button.on::after{background:var(--fill);box-shadow:none}
#wsp button{height:44px;flex-wrap:wrap;align-content:center;row-gap:0}
#wsp button span{width:100%;font-size:11px;color:var(--faint)}
#wsp button::after{display:none}
#wsp button.on{background:var(--ra);color:var(--ink)}

/* ── rail ─────────────────────────────────────────── */
.cw{padding-left:44px}
.rail{position:absolute;z-index:8;left:0;top:0;bottom:0;width:44px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border-right:1px solid var(--l);overflow-y:auto;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail .ib{width:32px;height:32px;border-radius:8px;flex:0 0 auto}
.rail hr{width:20px;border:0;border-top:1px solid var(--l);margin:3px 0;flex:0 0 auto}
.rail .sp{flex:1 0 6px}
.mgrid{left:44px}

/* ── watchlist ────────────────────────────────────── */
.wl{grid-area:wl}
.wl-f{display:flex;gap:3px;padding:8px 8px 8px 10px;border-bottom:1px solid var(--l);overflow-x:auto;scrollbar-width:none;flex:0 0 auto}
.wl-f::-webkit-scrollbar{display:none}
.wl-l{flex:1;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),transparent);mask-image:linear-gradient(#000 calc(100% - 28px),transparent);padding-bottom:18px}
.wr{display:grid;grid-template-columns:26px minmax(0,1fr) 40px auto;grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:8px 10px 8px 12px;border-bottom:1px solid rgba(31,13,15,.7);cursor:pointer;position:relative;transition:background .12s}
.wr:hover{background:var(--p3)}
.wr.on{background:linear-gradient(90deg,var(--ra),transparent 70%)}
.wr.on::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--red);box-shadow:0 0 8px var(--red)}
.cn{grid-row:span 2;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font:700 10px var(--ui);background:var(--p3);color:var(--dim);box-shadow:inset 0 0 0 1px var(--l2)}
.cn.hot{background:var(--fill);color:#fff;box-shadow:0 4px 14px rgba(var(--fill-rgb),.35),inset 0 1px 0 rgba(255,255,255,.2)}
.wr .s{font-weight:600;font-size:12.5px}
.wr .n{font-size:11px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wr .p{font-family:var(--mono);font-size:12.5px;text-align:right;padding:0 3px;border-radius:4px}
.wr .c{font-family:var(--mono);font-size:11px;text-align:right}
.wr svg.sp{grid-column:3;grid-row:1/span 2;width:40px;height:18px;opacity:.9}
.wr .p,.wr .c{grid-column:4}
.wr .s,.wr .n{grid-column:2;min-width:0}

/* ── signal matrix ────────────────────────────────── */
.sig{grid-area:sig}
.mx{flex:1;overflow:auto;padding:10px 12px 22px;-webkit-mask-image:linear-gradient(#000 calc(100% - 26px),transparent);mask-image:linear-gradient(#000 calc(100% - 26px),transparent)}
.kl-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.kl-top span{font-size:10.5px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
.kl-top b{font-size:18px;font-weight:600;letter-spacing:-.03em}
.kr{margin-bottom:8px}
.kr-bar{position:relative;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--p3),var(--l3),var(--p3))}
.kr-bar i{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px var(--p),0 0 12px var(--red);transform:translate(-50%,-50%);transition:left .5s var(--e)}
.kr-l{display:flex;justify-content:space-between;margin-top:6px;font-size:10.5px;color:var(--faint)}
.kl{display:grid;grid-template-columns:1fr auto 44px;align-items:baseline;gap:8px;padding:6px 0;border-top:1px solid var(--l)}
.kl span{font-size:11.5px;color:var(--dim)}
.kl b{font-size:12.5px;font-weight:500}
.kl i{font-style:normal;font-size:10.5px;color:var(--faint);text-align:right}
.mx table{width:100%;border-collapse:separate;border-spacing:3px}
.mx th{font-size:10px;font-weight:500;color:var(--faint);text-align:center;letter-spacing:.06em}
.mx th:first-child{text-align:left}
.mx td{text-align:center}
.mx td:first-child{font-size:11.5px;color:var(--dim);text-align:left;white-space:nowrap;padding-right:4px}
.cell{display:block;height:20px;border-radius:5px;font:500 10.5px/20px var(--mono)}
.cell.u{background:var(--ua);color:var(--up);box-shadow:inset 0 0 0 1px rgba(var(--up-rgb),.25)}
.cell.d{background:var(--da);color:var(--dn);box-shadow:inset 0 0 0 1px rgba(var(--dn-rgb),.25)}
.cell.n{background:var(--p3);color:var(--faint)}
.bias{display:flex;align-items:center;gap:10px;margin:8px 3px 0;padding:9px 10px;border-radius:9px;background:var(--p3);border:1px solid var(--l)}
.bias b{font-size:12.5px}
.bias .gauge{flex:1;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--dn),#6b2a2e 45%,#2a4a36 55%,var(--up));position:relative}
.bias .gauge i{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(0,0,0,.5),0 0 12px rgba(255,255,255,.4);transform:translate(-50%,-50%);transition:left .8s var(--e)}

/* ── chart ────────────────────────────────────────── */
.ch{grid-area:chart}
.ch-h{display:flex;align-items:center;gap:12px;padding:8px 10px 6px 12px;flex:0 0 auto;flex-wrap:wrap}
.sym{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border-radius:10px;border:1px solid transparent;transition:all .15s}
.sym:hover{border-color:var(--l2);background:var(--p3)}
.sym .cn{width:32px;height:32px;border-radius:9px;font-size:11px;grid-row:auto}
.sym .tx b{display:block;font-size:14.5px;font-weight:600;line-height:1.2;text-align:left}
.sym .tx span{display:block;font-size:11px;color:var(--faint);text-align:left}
.bigpx{font:600 26px/1 var(--mono);letter-spacing:-.04em;transition:color .5s var(--e)}
.bigpx.tu{color:var(--up);transition:none}.bigpx.td{color:var(--dn);transition:none}
.chg{font:500 12px var(--mono);padding:3px 8px;border-radius:999px}
.chg.u{background:var(--ua);color:var(--up)} .chg.d{background:var(--da);color:var(--dn)}
.ohlc{display:flex;gap:12px;font:11.5px var(--mono);color:var(--faint);margin-left:auto}
.ohlc b{color:var(--ink);font-weight:500;margin-left:4px}
.ch-t{display:flex;align-items:center;gap:6px;padding:0 10px 8px 12px;flex:0 0 auto;border-bottom:1px solid var(--l);flex-wrap:nowrap;min-width:0}
.ch-t>*{flex:0 0 auto}
.ch-t .ind{flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 88%,transparent)}
.ch-t .ind::-webkit-scrollbar{display:none}
.ch-t .rgt{display:flex;align-items:center;gap:4px;margin-left:auto}
.seg{display:flex;gap:1px;padding:2px;border:1px solid var(--l);border-radius:8px;background:var(--p)}
.seg button{height:24px;min-width:30px;padding:0 8px;border-radius:6px;font:500 11.5px var(--mono);color:var(--faint);transition:all .15s}
.seg button:hover{color:var(--ink)}
.seg button.on{background:var(--fill);color:#fff;box-shadow:0 2px 10px rgba(var(--fill-rgb),.35)}
.vr{width:1px;height:18px;background:var(--l2);margin:0 2px}
.ind{display:flex;gap:4px;flex-wrap:wrap}
.ind .pill i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:0}
.cw{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative}
.cm{flex:1 1 auto;min-height:120px;position:relative}
.cs{flex:0 0 26%;min-height:70px;position:relative;border-top:1px solid var(--l)}
.ov{position:absolute;inset:0;z-index:5;pointer-events:none}
.ov.draw{pointer-events:auto;cursor:crosshair}
.note{position:absolute;z-index:8;min-width:160px;height:28px;padding:0 9px;border-radius:7px;border:1px solid var(--red);background:var(--p2);font:500 12px var(--ui);color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.6)}
.note:focus{outline:none}
.lbl{position:absolute;left:10px;top:6px;z-index:6;font:10.5px var(--mono);color:var(--faint);pointer-events:none;display:flex;gap:10px}
.lbl b{font-weight:500}
.cload{position:absolute;inset:0;z-index:7;display:grid;place-items:center;background:var(--p);transition:opacity .4s}
.cload.gone{opacity:0;pointer-events:none}
.cload .bars{display:flex;align-items:flex-end;gap:5px;height:40px}
.cload .bars i{width:6px;border-radius:2px;background:linear-gradient(var(--red),var(--fill2));animation:cb 1s var(--e) infinite alternate}
@keyframes cb{from{height:18%;opacity:.35}to{height:100%;opacity:1}}

/* ── first paint: panels settle in, prices shimmer until they land ── */
.T.intro>*{animation:pin .5s var(--e) both;animation-delay:calc(var(--d,0) * 28ms)}
@keyframes pin{from{opacity:0;transform:translateY(8px) scale(.995)}}
.wr [data-p].wait{color:transparent;background:linear-gradient(100deg,var(--p3) 30%,rgba(var(--soft-rgb),.12) 50%,var(--p3) 70%);background-size:220% 100%;animation:shim 1.4s linear infinite;border-radius:5px;min-width:64px}
.wr [data-c].wait{color:transparent}

/* ── four-chart grid ─────────────────────────────── */
.mgrid{position:absolute;inset:0;z-index:9;display:none;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;padding:6px;background:var(--p)}
.cw.grid .mgrid{display:grid}
.mp{position:relative;display:flex;flex-direction:column;min-height:0;border:1px solid var(--l);border-radius:10px;background:linear-gradient(180deg,var(--p2),var(--bg));overflow:hidden;cursor:pointer;transition:border-color .2s}
.mp:hover{border-color:var(--l3)}
.mp.on{border-color:var(--rb);box-shadow:inset 0 0 0 1px var(--rb)}
.mp-h{display:flex;align-items:center;gap:8px;padding:8px 10px 4px;flex:0 0 auto}
.mp-h .cn{grid-row:auto;width:22px;height:22px;font-size:9px;border-radius:6px}
.mp-h b{font-size:12.5px;font-weight:600}
.mp-h .px{margin-left:auto;font:600 13px var(--mono);letter-spacing:-.02em}
.mp-h .ch{font:500 11px var(--mono);padding:1px 6px;border-radius:999px}
.mp-h .ch.u{background:var(--ua);color:var(--up)} .mp-h .ch.d{background:var(--da);color:var(--dn)}
.mp-c{flex:1;min-height:0;position:relative}
.mp-open{position:absolute;right:8px;bottom:8px;z-index:3;font-size:10.5px;color:var(--faint);opacity:0;transition:opacity .2s}
.mp:hover .mp-open{opacity:1}

/* ── chart context menu ─────────────────────────── */
.ctx{position:fixed;z-index:150;min-width:230px;padding:5px;border-radius:12px;background:linear-gradient(180deg,#1a0b0d,#0f0607);border:1px solid var(--l2);box-shadow:0 24px 60px rgba(0,0,0,.7),0 0 40px rgba(var(--fill-rgb),.08);animation:ctxin .14s var(--e)}
@keyframes ctxin{from{opacity:0;transform:scale(.97) translateY(-3px)}}
.ctx button{width:100%;display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:8px;font-size:12.5px;color:var(--dim);text-align:left}
.ctx button:hover{background:var(--ra);color:var(--ink)}
.ctx button svg{color:var(--faint)} .ctx button:hover svg{color:var(--red)}
.ctx button .k{margin-left:auto;font:500 11px var(--mono);color:var(--faint)}
.ctx hr{border:0;border-top:1px solid var(--l);margin:4px 6px}
.ctx .hd{padding:6px 10px 4px;font:500 11px var(--mono);color:var(--faint)}

/* ── order flow ───────────────────────────────────── */
.OF{grid-area:of;display:none;min-width:0;min-height:0;gap:6px;
  grid-template-columns:minmax(0,1fr) 286px 286px;grid-template-rows:auto minmax(0,1.15fr) minmax(0,1fr) 128px 62px;
  grid-template-areas:"ofh ofh ofh" "hm dom ts" "fp dom ts" "cd dom ts" "ev ev ev"}
.T.flow{grid-template-areas:"top top top" "wl of of" "sig of of" "st st st"}
.T.flow .ch,.T.flow .dock,.T.flow .side{display:none}
.T.flow .OF{display:grid}
.ofh{grid-area:ofh;display:flex;align-items:center;gap:10px;padding:2px 2px 0;flex-wrap:wrap}
.ofh .sym2{display:flex;align-items:center;gap:9px}
.ofh .sym2 .cn{grid-row:auto;width:28px;height:28px}
.ofh .sym2 b{font-size:15px;font-weight:600}
/* scoped to the name - a bare span rule would reach the badge too */
.ofh .sym2 #ofName{font-size:11.5px;color:var(--faint)}
.ofh .px2{font:600 20px var(--mono);letter-spacing:-.03em}
.ofh .ofnote{margin-left:auto;font-size:11px;color:var(--faint);display:flex;align-items:center;gap:6px}
.ofh .ofnote i{width:6px;height:6px;border-radius:50%;background:var(--faint)}
.hm{grid-area:hm} .fp{grid-area:fp} .cd{grid-area:cd} .odom{grid-area:dom} .ots{grid-area:ts} .oev{grid-area:ev}
.cvw{flex:1;min-height:0;position:relative}
.cvw canvas{position:absolute;inset:0;width:100%;height:100%}
.ph .lg{display:flex;gap:10px;margin-left:10px;font-size:11px;color:var(--faint)}
.ph .lg b{font-family:var(--mono);font-weight:500;color:var(--ink)}
.ph .sw2{display:inline-block;width:18px;height:8px;border-radius:2px;vertical-align:middle;margin-right:5px}
.odl{flex:1;min-height:0;overflow:hidden;font:11.5px var(--mono)}
.odh{display:grid;grid-template-columns:1fr 92px 1fr;padding:6px 10px;font-size:10px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--l);text-align:center}
.odr{display:grid;grid-template-columns:1fr 92px 1fr;height:20px;align-items:center;cursor:pointer;position:relative}
.odr:hover{background:rgba(255,255,255,.035)}
.odr .b,.odr .a{position:relative;height:100%;display:flex;align-items:center;padding:0 10px}
.odr .b{justify-content:flex-end;color:var(--up)} .odr .a{color:var(--dn)}
.odr .b i,.odr .a i{position:absolute;top:2px;bottom:2px;border-radius:2px}
.odr .b i{right:0;background:linear-gradient(270deg,rgba(var(--up-rgb),.3),rgba(var(--up-rgb),.05))}
.odr .a i{left:0;background:linear-gradient(90deg,rgba(var(--dn-rgb),.3),rgba(var(--dn-rgb),.05))}
.odr .b span,.odr .a span{position:relative;z-index:1}
.odr .p{text-align:center;color:var(--dim);border-left:1px solid var(--l);border-right:1px solid var(--l);height:100%;display:grid;place-items:center}
.odr.last .p{background:var(--ra);color:var(--red);font-weight:600}
.odt{display:flex;justify-content:space-between;padding:8px 12px 4px;font:600 12px var(--mono)}
.odbar{height:5px;margin:0 12px 10px;border-radius:3px;overflow:hidden;display:flex}
.odbar i{display:block;transition:width .5s var(--e)}
.odx{display:grid;grid-template-columns:1fr 64px 1fr;gap:6px;padding:0 10px}
.odx button,.odx input{height:34px;border-radius:8px;font-size:12px;font-weight:600}
.odx .bm{background:linear-gradient(180deg,var(--buy1),var(--buy2));color:#fff}
.odx .sm{background:linear-gradient(180deg,var(--sell1),var(--sell2));color:#fff}
.odx input{border:1px solid var(--l2);background:var(--bg);text-align:center;font:500 12.5px var(--mono)}
.ody{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px 10px 10px}
.ody button{height:30px;border-radius:8px;border:1px solid var(--l2);font-size:11.5px;color:var(--dim);transition:border-color .15s,color .15s}
.ody button:hover{border-color:var(--red);color:var(--red)}
.otl{flex:1;min-height:0;overflow:hidden;font:11.5px var(--mono)}
.otr{display:grid;grid-template-columns:64px 1fr 48px 46px;padding:3px 12px;animation:tin .4s var(--e)}
.otr .t{color:var(--faint)} .otr .z{text-align:right} .otr .x{text-align:right;color:var(--faint);font-size:10.5px}
.otr.big{background:linear-gradient(90deg,var(--ua),transparent);font-weight:600}
.otr.big.s{background:linear-gradient(90deg,var(--da),transparent)}
.oev .evr{display:flex;align-items:center;gap:22px;padding:0 14px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
.oev .evr::-webkit-scrollbar{display:none}
.ev1{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dim)}
.ev1 i{width:7px;height:7px;border-radius:50%}
.ev1 .t{font:11px var(--mono);color:var(--faint)} .ev1 b{font-weight:500;color:var(--ink)} .ev1 .m{font:11.5px var(--mono)}
.oev .tot{display:flex;gap:18px;padding:0 14px;font-size:11.5px;color:var(--faint);border-left:1px solid var(--l);height:100%;align-items:center;flex:0 0 auto}
.oev .tot b{font-family:var(--mono);font-weight:600;color:var(--ink);margin-left:5px}
.oev{flex-direction:row;align-items:center}
.oev .ph{border-bottom:0;border-right:1px solid var(--l);height:100%}
@media (max-width:1500px){ .OF{grid-template-columns:minmax(0,1fr) 250px 236px} }
@media (max-height:860px){ .OF{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr) 104px 54px} }
@media (max-width:1100px){
  .T.flow{grid-template-areas:"top" "of" "wl" "sig" "st"}
  .OF{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 360px 360px 150px 420px 300px auto;grid-template-areas:"ofh" "hm" "fp" "cd" "dom" "ts" "ev"}
}

/* ── loaders: each panel animates what it is about to show ───────── */
@keyframes rise{0%,100%{transform:scaleY(.25);opacity:.35}50%{transform:scaleY(1);opacity:1}}
@keyframes breathe{0%,100%{transform:scaleX(.18);opacity:.35}50%{transform:scaleX(1);opacity:.9}}
@keyframes trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes sweep{0%{left:4%}50%{left:96%}100%{left:4%}}
@keyframes slidein{0%{opacity:0;transform:translateY(-6px)}20%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes drift{from{background-position:0 0}to{background-position:-400px 0}}
@keyframes blink{0%,100%{opacity:.12}50%{opacity:.55}}
.sk2{display:block;height:9px;border-radius:4px;background:linear-gradient(100deg,var(--p3) 30%,rgba(var(--soft-rgb),.12) 50%,var(--p3) 70%);background-size:220% 100%;animation:shim 1.4s linear infinite}
/* chart: candles assembling */
.cload{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.cload .cdl{display:flex;align-items:flex-end;gap:8px;height:70px}
.cload .cdl i{position:relative;width:11px;border-radius:2px;transform-origin:bottom;animation:rise 1.3s cubic-bezier(.45,0,.2,1) infinite}
.cload .cdl i::before{content:'';position:absolute;left:5px;width:1px;top:-9px;bottom:-9px;background:inherit;opacity:.55}
.cload .cdl i:nth-child(odd){background:var(--up)} .cload .cdl i:nth-child(even){background:var(--red)}
.cload span{font:500 11px var(--mono);color:var(--faint);letter-spacing:.08em;text-transform:uppercase}
/* oscillator: a line tracing */
.cload2{position:absolute;inset:0;z-index:7;display:grid;place-items:center;background:var(--p);transition:opacity .4s}
.cload2.gone{opacity:0;pointer-events:none}
.cload2 svg{width:min(60%,420px);height:46px;overflow:visible}
.cload2 path{fill:none;stroke-width:1.6;stroke-linecap:round}
.cload2 .base{stroke:rgba(255,255,255,.06)} .cload2 .run{stroke:var(--red);stroke-dasharray:.22 .78;animation:trace 1.6s linear infinite;filter:drop-shadow(0 0 4px rgba(var(--acc-rgb),.6))}
/* watchlist sparkline placeholder */
.wr svg.sp.wait path{stroke:rgba(255,255,255,.08)}
.wr svg.sp.wait .run{stroke:rgba(var(--acc2-rgb),.6);stroke-dasharray:.2 .8;animation:trace 1.4s linear infinite}
/* key levels */
.kls{display:flex;flex-direction:column;gap:12px;padding-top:2px}
.kls .top{display:flex;justify-content:space-between;align-items:center}
.kls .bar{position:relative;height:4px;border-radius:2px;background:var(--p3)}
.kls .bar i{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red);transform:translate(-50%,-50%);animation:sweep 2.4s cubic-bezier(.45,0,.55,1) infinite}
.kls .r{display:grid;grid-template-columns:1fr 90px 34px;gap:10px;align-items:center}
/* order book: bars breathing out of the price column */
.lsk{display:flex;flex-direction:column;justify-content:center;height:100%}
.lsk .rw{display:grid;grid-template-columns:1fr 84px 1fr;height:19px;align-items:center}
.lsk .rw i{display:block;height:11px;border-radius:2px;animation:breathe 1.6s cubic-bezier(.45,0,.2,1) infinite}
.lsk .rw .b{transform-origin:right;background:linear-gradient(270deg,rgba(var(--up-rgb),.35),rgba(var(--up-rgb),.06));margin-left:14%}
.lsk .rw .a{transform-origin:left;background:linear-gradient(90deg,rgba(var(--dn-rgb),.35),rgba(var(--dn-rgb),.06));margin-right:14%}
.lsk .rw .p{margin:0 18px}
.lsk .mid{height:22px;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--l);border-bottom:1px solid var(--l)}
/* time & sales: rows arriving */
.tsk{padding:4px 12px}
.tsk .rw{display:grid;grid-template-columns:52px 1fr 36px;gap:12px;height:21px;align-items:center;opacity:0;animation:slidein 2.8s var(--e) infinite}
/* ticket prices */
.skp{display:inline-block;width:92px;height:17px;border-radius:5px;vertical-align:middle;background:linear-gradient(100deg,rgba(255,255,255,.12) 30%,rgba(255,255,255,.34) 50%,rgba(255,255,255,.12) 70%);background-size:220% 100%;animation:shim 1.4s linear infinite}
/* order flow canvases */
.ofload{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:var(--p);transition:opacity .45s}
.ofload.gone{opacity:0;pointer-events:none}
.ofload span{position:relative;z-index:1;font:500 11px var(--mono);color:var(--faint);letter-spacing:.08em;text-transform:uppercase;background:var(--p);padding:3px 8px;border-radius:5px}
.ofload.heat::before{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(var(--acc-rgb),.16) 20%,transparent 40%,rgba(var(--acc2-rgb),.24) 60%,transparent 80%,rgba(var(--acc-rgb),.14));
  background-size:400px 100%;animation:drift 3.2s linear infinite;
  -webkit-mask-image:repeating-linear-gradient(0deg,#000 0 3px,transparent 3px 11px);mask-image:repeating-linear-gradient(0deg,#000 0 3px,transparent 3px 11px)}

.ofload.grid{display:grid;grid-template-columns:repeat(8,1fr);grid-auto-rows:16px;gap:6px 14px;align-content:center;padding:18px 90px 18px 24px}
.ofload.grid{justify-items:stretch;align-items:center}
.ofload.grid i{display:block;width:100%;height:12px;border-radius:3px;background:var(--p3);animation:blink 1.8s ease-in-out infinite}
.ofload.line svg{width:70%;height:50%;overflow:visible}
.ofload.line path{fill:none;stroke-width:1.6}
.ofload.line .base{stroke:rgba(255,255,255,.06)} .ofload.line .run{stroke:var(--up);stroke-dasharray:.25 .75;animation:trace 1.8s linear infinite}
.evsk{display:flex;gap:26px;padding:0 14px}
.evsk span{display:flex;align-items:center;gap:8px}

/* ── secondary views: portfolio, risk, replay ─────── */
.T.vw{grid-template-areas:"top top top" "wl of of" "sig of of" "st st st"}
.T.vw .ch,.T.vw .dock,.T.vw .side{display:none}
.VW{grid-area:of;display:none;min-width:0;min-height:0;gap:6px;overflow:auto;scrollbar-width:thin;align-content:start}
.VW.on{display:grid}
.vh{display:flex;align-items:baseline;gap:12px;padding:4px 2px 2px}
.vh h2{font-size:20px;font-weight:600;letter-spacing:-.02em}
.vh p{font-size:12.5px;color:var(--faint)}
.pad{padding:14px 16px 16px}
/* portfolio */
#vPort{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto}
#vPort .vh{grid-column:1/-1}
.hero{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:18px;align-items:center;padding:18px 18px 18px 20px;
  background:radial-gradient(500px 220px at 0% 0%,rgba(var(--acc-rgb),.16),transparent 70%),linear-gradient(180deg,var(--p2),var(--p))}
.hero h3{font-size:18px;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.hero p{font-size:12.5px;color:var(--dim);margin-top:6px;line-height:1.55}
.desks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.desk{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:12px;border:1px solid var(--l2);background:var(--p);transition:border-color .2s,transform .2s}
.desk:hover{border-color:var(--rb);transform:translateY(-2px)}
.desk-k{font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fill)}
.desk b{font:600 18px var(--mono);letter-spacing:-.03em}
.desk span{font-size:11px;color:var(--faint);display:flex;justify-content:space-between;gap:10px}
.desk span i{font-style:normal;font-family:var(--mono);color:var(--dim);white-space:nowrap}
.desk a{margin-top:auto;min-height:30px;padding:7px 10px;border-radius:8px;background:var(--fill);color:#fff;font-size:12px;font-weight:600;line-height:1.25;text-align:center;display:grid;place-items:center}
.desk>span:last-of-type{margin-bottom:5px}
.desk a:hover{background:var(--fill2)}
.tile{padding:12px 14px}
.tile span{display:block;font-size:10.5px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
.tile b{display:block;font:600 19px var(--mono);letter-spacing:-.03em;margin-top:4px;color:var(--faint)}
.tile em{display:block;font-style:normal;font-size:11px;color:var(--faint);margin-top:2px}
.eqc{grid-column:span 4;min-height:230px}
.exc{grid-column:span 2;min-height:230px}
.calc2{grid-column:span 6}
.ghost{position:relative;flex:1;display:grid;place-items:center;min-height:170px}
.ghost svg{position:absolute;inset:10% 4%;width:92%;height:80%}
.ghost svg path{fill:none;stroke:rgba(255,255,255,.07);stroke-width:2;stroke-dasharray:6 6}
.ghost p{position:relative;font-size:12.5px;color:var(--faint);text-align:center;max-width:260px;line-height:1.55}
.ghost p b{display:block;color:var(--dim);font-size:13px;margin-bottom:2px}
.xrow{display:grid;grid-template-columns:118px 1fr 44px;gap:10px;align-items:center;padding:6px 0;font-size:12px;color:var(--dim)}
.xrow .tr2{height:6px;border-radius:3px;background:var(--p3)}
.xrow b{font:500 11.5px var(--mono);color:var(--faint);text-align:right}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal i{height:34px;border-radius:6px;background:var(--p3);display:grid;place-items:center;font-style:normal;font:500 10.5px var(--mono);color:var(--faint)}
.cal i.h{background:transparent;color:var(--faint);font-size:10px;height:18px}
.cal i.today{box-shadow:inset 0 0 0 1px var(--red);color:var(--ink)}
/* risk */
#vRisk{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:auto}
#vRisk .vh{grid-column:1/-1}
.rin{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.rin .full{grid-column:1/-1}
.rin label{display:block;font-size:11px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.sel{width:100%;height:36px;padding:0 10px;border-radius:9px;border:1px solid var(--l2);background:var(--bg);font:500 13px var(--ui);color:var(--ink)}
.sel:focus{outline:none;border-color:var(--red)}
.rng{display:flex;align-items:center;gap:10px}
.rng input[type=range]{flex:1;accent-color:var(--fill)}
.rng b{font:600 13px var(--mono);min-width:48px;text-align:right}
.chips{display:flex;gap:4px;flex-wrap:wrap}
.chips button{height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--l2);font:500 12px var(--mono);color:var(--dim)}
.chips button.on{background:var(--ra);border-color:var(--rb);color:var(--red)}
.stp2{display:grid;grid-template-columns:1fr auto;gap:6px}
.rout{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--l);border:1px solid var(--l);border-radius:12px;overflow:hidden;margin-top:14px}
.rout div{background:var(--p2);padding:12px 14px}
.rout span{display:block;font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
.rout b{display:block;font:600 18px var(--mono);letter-spacing:-.03em;margin-top:3px}
.rout em{display:block;font-style:normal;font-size:11px;color:var(--faint);margin-top:1px}
.rout .big{grid-column:1/-1;background:linear-gradient(90deg,rgba(var(--acc-rgb),.1),var(--p2))}
.rout .big b{font-size:28px}
.warn{margin-top:10px;padding:9px 12px;border-radius:10px;font-size:12px;line-height:1.5;background:var(--ra);border:1px solid var(--rb);color:var(--red);display:none}
.warn.on{display:block}
.use{margin-top:12px;width:100%;height:40px;border-radius:10px;background:var(--fill);color:#fff;font-size:13px;font-weight:600;box-shadow:0 8px 22px rgba(var(--fill-rgb),.3)}
.use:hover{background:var(--fill2)}
.rule{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 0;border-bottom:1px solid var(--l)}
.rule:last-child{border-bottom:0}
.rule span{font-size:12.5px;color:var(--dim)} .rule b{font:500 12.5px var(--mono);text-align:right}
.rule .bar2{grid-column:1/-1;height:4px;border-radius:2px;background:var(--p3);overflow:hidden}
.rule .bar2 i{display:block;height:100%;width:0;background:var(--red)}
.levt{width:100%;border-collapse:collapse;font-size:12px}
.levt th{text-align:right;font-weight:500;font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;padding:6px 8px;border-bottom:1px solid var(--l)}
.levt td{text-align:right;padding:7px 8px;border-bottom:1px solid rgba(31,13,15,.8);font-family:var(--mono)}
.levt th:first-child,.levt td:first-child{text-align:left}
.levt tr.on td{background:var(--ra)}
/* replay */
#vReplay{grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto minmax(320px,1fr)}
.rph{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px}
.rpb{width:36px;height:34px;border-radius:9px;border:1px solid var(--l2);display:grid;place-items:center;color:var(--dim);transition:all .15s}
.rpb:hover{border-color:var(--red);color:var(--red)}
.rpb.play{width:44px;background:var(--fill);border-color:var(--fill);color:#fff;box-shadow:0 6px 18px rgba(var(--fill-rgb),.35)}
.rpb.play:hover{background:var(--fill2);color:#fff}
.scrub{flex:1 1 200px;display:flex;align-items:center;gap:10px}
.scrub input{flex:1;accent-color:var(--fill)}
.scrub span{font:500 11.5px var(--mono);color:var(--dim);white-space:nowrap}
.rpc{position:relative;min-height:0}
.rpc .cvw2{position:absolute;inset:0}
.rps .tk-b{padding:12px}
.rpstat{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--l);border-radius:10px;overflow:hidden;margin:10px 0}
.rpstat div{background:var(--p2);padding:9px 11px}
.rpstat span{display:block;font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
.rpstat b{display:block;font:600 15px var(--mono);margin-top:2px}
.rplog{max-height:200px;overflow:auto;font:11.5px var(--mono)}
.rplog div{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:5px 2px;border-bottom:1px solid var(--l)}

/* ── full-screen chart ───────────────────────────── */
.T.fs{grid-template-areas:"top top top" "chart chart chart" "chart chart chart" "st st st"}
.T.fs .wl,.T.fs .sig,.T.fs .dock,.T.fs .side{display:none}
.fsb{margin-left:4px}

/* ── dock ─────────────────────────────────────────── */
.dock{grid-area:dock}
.dock .ph{gap:2px}
.dk{flex:1;overflow:auto}
table.g{width:100%;border-collapse:collapse;font-size:12px}
table.g th{position:sticky;top:0;z-index:1;background:var(--p2);text-align:right;font-weight:500;font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;padding:7px 10px;border-bottom:1px solid var(--l);white-space:nowrap}
table.g th:first-child,table.g td:first-child{text-align:left}
table.g td{padding:7px 10px;text-align:right;border-bottom:1px solid rgba(31,13,15,.8);white-space:nowrap;font-family:var(--mono);font-size:12px}
table.g td.t{font-family:var(--ui)}
table.g tr:hover td{background:rgba(var(--acc-rgb),.035)}
.sd{font:600 10.5px var(--ui);padding:2px 7px;border-radius:5px;letter-spacing:.04em}
.sd.b{background:var(--ua);color:var(--up)} .sd.s{background:var(--da);color:var(--dn)}
.xb{height:22px;padding:0 9px;border-radius:6px;border:1px solid var(--l2);font:500 11px var(--ui);color:var(--dim);transition:all .15s}
.xb:hover{border-color:var(--red);color:var(--red)}
.nt{display:flex;align-items:center;gap:6px;justify-content:flex-start}
.imp{display:inline-flex;gap:2px;vertical-align:middle}
.imp i{width:4px;height:10px;border-radius:1px;background:var(--l2)}
.imp.h i{background:var(--red)} .imp.m i:nth-child(-n+2){background:rgba(var(--acc-rgb),.6)} .imp.l i:first-child{background:var(--faint)}
tr.past td{opacity:.45}
tr.soon td:first-child{box-shadow:inset 2px 0 0 var(--red)}
.cd{font-family:var(--mono);color:var(--dim)} tr.soon .cd{color:var(--red)}
.rbar{display:inline-block;width:90px;height:4px;border-radius:2px;background:var(--p3);position:relative;vertical-align:middle}
.rbar i{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:var(--dim);transform:translate(-50%,-50%)}
.rbar.hi i{background:var(--up);box-shadow:0 0 8px var(--up)} .rbar.lo i{background:var(--dn);box-shadow:0 0 8px var(--dn)}
.tagx{font-size:10px;color:var(--faint);margin-left:auto;padding-right:6px}
.nx{display:flex;align-items:center;gap:6px}
.nx i{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;min-height:140px;text-align:center;padding:16px}
.empty svg{width:22px;height:22px;color:var(--l3);margin-bottom:4px}
.empty b{font-size:13px;font-weight:600;color:var(--dim)}
.empty span{font-size:12px;color:var(--faint);max-width:340px}
.empty a{margin-top:6px;height:28px;padding:0 12px;border-radius:8px;border:1px solid var(--rb);background:var(--ra);color:var(--red);font-size:12px;font-weight:600;display:inline-grid;place-items:center}

/* ── side: ticket + ladder + tape ─────────────────── */
.side{grid-area:side;display:flex;flex-direction:column;gap:6px;min-height:0}
.tk{flex:0 0 auto;order:-1}
.ot2{gap:0;padding-left:4px}
.ot2 button{height:100%;padding:0 10px;font-size:12px;font-weight:500;color:var(--faint);position:relative;transition:color .15s}
.ot2 button:hover{color:var(--ink)}
.ot2 button.on{color:var(--ink)}
.ot2 button.on::after{content:'';position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--red)}
.fr{display:grid;grid-template-columns:1fr 160px;align-items:center;gap:8px;margin-bottom:6px}
.fr label{font-size:12px;color:var(--dim)}
.szm{display:inline-flex;margin-left:6px;padding:1px;border:1px solid var(--l2);border-radius:6px;vertical-align:middle}
.szm button{height:18px;padding:0 6px;border-radius:4px;font:600 9.5px var(--mono);letter-spacing:.04em;color:var(--faint)}
.szm button.on{background:var(--p3);color:var(--ink)}
.szx{margin:-2px 0 8px;font:11px var(--mono);color:var(--faint);text-align:right}
.szx b{color:var(--dim);font-weight:500}
.levb{font:600 10px var(--mono);color:var(--red);background:var(--ra);border:1px solid var(--rb);border-radius:5px;padding:0 5px;letter-spacing:.02em}
.wr .lv{font:600 9.5px var(--mono);color:var(--dim);background:var(--p3);border-radius:4px;padding:0 4px;margin-right:5px}
.fr label i{font-style:normal;font-size:10.5px;color:var(--faint);margin-left:3px}
.stp{display:grid;grid-template-columns:1fr 28px 28px;border:1px solid var(--l2);border-radius:8px;overflow:hidden;background:var(--bg);transition:border-color .15s}
.stp:focus-within{border-color:var(--red)}
.stp .in{border:0;border-radius:0;height:30px;background:none}
.stp button{border-left:1px solid var(--l2);color:var(--faint);font:500 14px var(--mono);transition:background .15s,color .15s}
.stp button:hover{background:var(--ra);color:var(--red)}
.bk{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.tsh{display:grid;grid-template-columns:64px 1fr 52px;padding:6px 12px;font-size:10px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--l)}
.tsh span:last-child{text-align:right}
.tsf{padding:6px 12px;border-top:1px solid var(--l);font-size:11px;color:var(--faint);text-align:right}
.tk-b{padding:10px 12px 12px}
.bs{display:grid;grid-template-columns:1fr 1fr;gap:6px;position:relative}
.bs button{position:relative;height:58px;border-radius:10px;text-align:left;padding:8px 11px;overflow:hidden;transition:transform .12s,box-shadow .2s}
.bs button:active{transform:scale(.985)}
.bs span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.bs b{display:block;font:600 19px/1.25 var(--mono);letter-spacing:-.03em}
.bs .sl{background:linear-gradient(180deg,var(--sell1),var(--sell2));color:#fff;box-shadow:0 6px 20px rgba(var(--sellg-rgb),.25),inset 0 1px 0 rgba(255,255,255,.2)}
.bs .by{background:linear-gradient(180deg,var(--buy1),var(--buy2));color:#fff;box-shadow:0 6px 20px rgba(var(--updeep-rgb),.22),inset 0 1px 0 rgba(255,255,255,.2)}
.bs{margin-top:10px}
.bs .spr{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;background:var(--bg);border:1px solid var(--l2);border-radius:7px;padding:2px 7px;font:500 11px var(--mono);color:var(--dim)}
.row{display:flex;gap:6px;margin-top:9px}
.fld{flex:1;min-width:0}
.fld label{display:block;font-size:10px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.in{width:100%;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--l2);background:var(--bg);font:500 12.5px var(--mono);transition:border-color .15s}
.in:focus{outline:none;border-color:var(--red)}
.in::placeholder{color:var(--faint);font-family:var(--ui)}
.qp{display:flex;gap:4px;margin-top:6px}
.qp button{flex:1;height:24px;border-radius:6px;border:1px solid var(--l2);font:500 11px var(--mono);color:var(--dim);transition:all .15s}
.qp button:hover,.qp button.on{border-color:var(--rb);color:var(--red);background:var(--ra)}
.ot{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;border:1px solid var(--l);border-radius:8px;background:var(--p);margin-top:9px}
.ot button{height:24px;border-radius:6px;font-size:11.5px;font-weight:500;color:var(--faint);transition:all .15s}
.ot button.on{background:var(--p3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--l2)}
.risk{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding:8px 10px;border-radius:8px;background:var(--p3);font-size:11.5px;color:var(--faint)}
.risk b{font-family:var(--mono);font-weight:500;color:var(--ink)}
.oc{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:11.5px;color:var(--dim)}
.sw{width:30px;height:17px;border-radius:999px;background:var(--p3);border:1px solid var(--l2);position:relative;transition:background .2s}
.sw::after{content:'';position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:var(--faint);transition:transform .2s var(--e),background .2s}
.sw.on{background:var(--fill);border-color:var(--fill)} .sw.on::after{transform:translateX(13px);background:#fff}
.oc .k{margin-left:auto;display:flex;gap:3px}

.ld{flex:1 1 auto;min-height:150px}
.lad{flex:1;min-height:0;overflow:hidden;position:relative;font-family:var(--mono);font-size:11.5px;display:flex;flex-direction:column;justify-content:center}
.lr{display:grid;grid-template-columns:1fr 84px 1fr;height:19px;align-items:center;position:relative;cursor:pointer}
.lr:hover{background:rgba(255,255,255,.035)}
.lr .b,.lr .a{position:relative;padding:0 10px;height:100%;display:flex;align-items:center}
.lr .b{justify-content:flex-end;color:var(--up)}
.lr .a{color:var(--dn)}
.lr .b i,.lr .a i{position:absolute;top:2px;bottom:2px;border-radius:2px;transition:width .35s var(--e)}
.lr .b i{right:0;background:linear-gradient(270deg,rgba(var(--up-rgb),.28),rgba(var(--up-rgb),.06))}
.lr .a i{left:0;background:linear-gradient(90deg,rgba(var(--dn-rgb),.28),rgba(var(--dn-rgb),.06))}
.lr .b span,.lr .a span{position:relative;z-index:1}
.lr .px{text-align:center;color:var(--dim);border-left:1px solid var(--l);border-right:1px solid var(--l);height:100%;display:grid;place-items:center}
.lr.best .px{color:var(--ink);font-weight:600}
.lr.last .px{background:var(--ra);color:var(--red);font-weight:600}
.lr.wk .px::before{content:'';position:absolute;left:calc(50% - 46px);width:4px;height:4px;border-radius:50%;background:var(--red);box-shadow:0 0 6px var(--red)}
.lsp{height:22px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:10.5px;color:var(--faint);border-top:1px solid var(--l);border-bottom:1px solid var(--l);background:var(--p)}
.lsp b{color:var(--ink);font-weight:500}
.depth{flex:0 0 auto;display:block;width:calc(100% - 20px);height:52px;margin:8px 10px 0}
.imb{height:4px;display:flex;margin:6px 10px 8px;border-radius:3px;overflow:hidden;flex:0 0 auto}
.imb i{display:block;transition:width .5s var(--e)}

.ts{flex:0 0 clamp(92px,15vh,164px)}
.tsl{flex:1;overflow:hidden;font-family:var(--mono);font-size:11.5px}
.tr{display:grid;grid-template-columns:64px 1fr 52px;padding:2px 12px;animation:tin .4s var(--e)}
.tr .t{color:var(--faint)} .tr .z{text-align:right}
.tr.big{background:linear-gradient(90deg,var(--ra),transparent);font-weight:600}
.tr.big.u{background:linear-gradient(90deg,var(--ua),transparent)}
@keyframes tin{from{opacity:0;transform:translateY(-6px)}}

/* ── status ───────────────────────────────────────── */
.st{grid-area:st;display:flex;align-items:center;gap:14px;padding:0 8px;font:500 11px var(--mono);color:var(--faint)}
.st .ok{display:flex;align-items:center;gap:6px;color:var(--up)}
.st .ok i{width:6px;height:6px;border-radius:50%;background:var(--up);box-shadow:0 0 8px var(--up);animation:bt 2s infinite}
@keyframes bt{50%{opacity:.3}}
.sess{display:flex;gap:4px}
.sess span{padding:1px 7px;border-radius:5px;border:1px solid var(--l)}
.sess span.o{color:var(--up);border-color:rgba(var(--up-rgb),.3);background:var(--ua)}
.st .end{margin-left:auto;display:flex;gap:14px}

/* ── palette + toast ──────────────────────────────── */
.cmd{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:13vh 16px;background:rgba(4,1,2,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .16s}
.cmd.open{opacity:1;pointer-events:auto}
.cbox{width:min(620px,100%);max-height:70vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#170a0b,#0c0506);border:1px solid var(--l2);border-radius:16px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.75),0 0 60px rgba(var(--fill-rgb),.1);transform:translateY(-6px) scale(.985);transition:transform .2s var(--e)}
.cmd.open .cbox{transform:none}
.cin{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--l)}
.cin svg{width:18px;height:18px;color:var(--red)}
.cin input{flex:1;background:none;border:0;outline:none;font-size:15px}
.cin input::placeholder{color:var(--faint)}
.cl{overflow-y:auto;padding:6px}
.cg{font-size:10.5px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;padding:10px 10px 5px}
.co{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;text-align:left;color:var(--dim)}
.co.hi{background:var(--ra);color:var(--ink)}
.co .cn{grid-row:auto}
.co .x{flex:1;min-width:0} .co .x b{display:block;font-size:13px;font-weight:500;color:var(--ink)} .co .x>span{display:block;font-size:11px;color:var(--faint)}
.co .v{text-align:right;font-family:var(--mono);font-size:12px}
.co .x b .lv{display:inline-block;vertical-align:1px;margin:0 0 0 7px;font:600 9.5px var(--mono);color:var(--dim);background:var(--p3);border-radius:4px;padding:1px 5px}
.co .x b .cur{display:inline-block;width:6px;height:6px;margin:0 0 2px 7px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red);vertical-align:middle}
.cf{display:flex;gap:14px;padding:9px 14px;border-top:1px solid var(--l);font-size:11px;color:var(--faint)}
.cf span{display:flex;align-items:center;gap:5px}
.toasts{position:fixed;right:356px;bottom:40px;z-index:120;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.toast{display:flex;align-items:center;gap:10px;min-width:260px;padding:11px 14px;border-radius:12px;background:linear-gradient(180deg,#1a0b0d,#0f0607);border:1px solid var(--l2);box-shadow:0 20px 50px rgba(0,0,0,.6);font-size:12.5px;animation:tsin .35s var(--e)}
.toast i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.toast.out{animation:tsout .3s var(--e) forwards}
@keyframes tsin{from{opacity:0;transform:translateY(10px) scale(.97)}} @keyframes tsout{to{opacity:0;transform:translateX(20px)}}

/* short screens: the ticket tightens so the book keeps real depth */
@media (max-height:860px){
  .tk-b{padding:8px 10px 10px}
  .bs button{height:48px;padding:6px 10px}
  .bs b{font-size:17px}
  .row{margin-top:7px} .ot,.risk,.oc{margin-top:7px}
  .risk{padding:6px 9px}
  .in{height:29px}
  .depth{height:36px;margin-top:6px}
  .ch-h{padding-top:6px;padding-bottom:4px} .bigpx{font-size:22px}
}
@media (max-height:760px){
  .oc{display:none}
  .fld label{margin-bottom:2px}
  .depth{display:none}
}

@media (max-width:1560px){ .srch{min-width:0} .srch span,.srch kbd{display:none} }
@media (max-width:1440px){  .tnav a{padding:0 9px} }

/* ── narrow ───────────────────────────────────────── */
@media (max-width:1400px){
  .T{grid-template-columns:232px minmax(0,1fr) 304px}
  .ohlc{display:none}
}
@media (max-width:1100px){
  body{overflow:auto}
  .T{height:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"top" "chart" "side" "dock" "wl" "sig" "st"}
  .rail{display:none} .cw{padding-left:0} .mgrid{left:0}
  .ch{height:70svh} .wl{height:420px} .dock{height:300px} .sig{height:auto}
  .side{height:auto} .ld{height:420px}
  .top{flex-wrap:wrap;height:auto;padding:6px 4px} .acct{order:9;width:100%;margin-left:0;overflow-x:auto}
  .wsp{display:none}
}
/* ── secondary views, stacked ─────────────────────── */
@media (max-width:1100px){
  .T.vw{grid-template-areas:"top" "of" "st"}
  .T.vw .wl,.T.vw .sig{display:none}
  .VW{overflow:visible}
  #vPort{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{grid-template-columns:1fr;gap:14px}
  .desks{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .eqc,.exc,.calc2{grid-column:1/-1}
  #vRisk{grid-template-columns:minmax(0,1fr)}
  #vReplay{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 58svh auto}
  .toasts{right:12px}
}

/* ── phones: sections move to a bottom tab bar ───── */
@media (max-width:760px){
  .T{gap:8px;padding:6px 8px calc(72px + env(safe-area-inset-bottom))}
  .brand .kj,.srch span,.srch kbd{display:none}
  .srch{min-width:0;width:40px;height:40px;padding:0;justify-content:center;margin-left:auto}
  .tbtn{height:40px}
  .top .ib:not(.thb){display:none} .thb{width:40px!important;height:40px!important}
  .acct{height:44px}
  .tnav{position:fixed;z-index:60;left:0;right:0;bottom:0;margin:0;height:calc(62px + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);
    background:rgba(10,4,5,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--l)}
  .tnav a{flex:1 1 0;justify-content:center;flex-direction:column;gap:4px;padding:0;font-size:11.5px;min-height:44px}
  .tnav a::before{content:'';width:22px;height:3px;border-radius:2px;background:var(--l2);transition:background .2s,width .2s}
  .tnav a.on::before{background:var(--red);width:28px;box-shadow:0 0 12px var(--red)}
  .tnav a.on::after{display:none}
  .st{display:none}
  .ch{height:62svh}
  .vh{flex-direction:column;gap:2px}
  .vh h2{font-size:18px}
  #vPort{grid-template-columns:repeat(2,minmax(0,1fr))}
  .desks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .desk:last-child:nth-child(odd){grid-column:1/-1}
  .tile b{font-size:17px}
  .xrow{grid-template-columns:96px 1fr 40px}
  .rin{grid-template-columns:1fr}
  .rout .big b{font-size:24px}
  .scrub{flex-basis:100%;order:9}
  .OF{grid-template-rows:auto 300px 300px 140px 380px 280px auto}
  .toasts{left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));align-items:stretch} .toast{min-width:0}
}

/* ── touch: every control is a real target ───────── */
@media (pointer:coarse){
  .ib{width:40px;height:40px}
  .tab{height:36px;padding:0 12px}
  .in,.sel{height:44px;font-size:16px}
  .stp{grid-template-columns:1fr 44px 44px}
  .chips button{height:38px;padding:0 14px}
  .rpb{width:44px;height:44px} .rpb.play{width:56px}
  .scrub input{height:32px}
  .use{height:48px}
  .pill{height:34px;padding:0 12px}
  .seg button{height:34px;min-width:40px}
  .ot button{height:36px}
  .stp .in{height:42px}
  .desk a{min-height:40px}
  input[type=range]{height:32px}
  .bs button{min-height:56px}
}
/* ── paper: the light theme, same tokens as trade.mizora ── */
[data-theme="light"]{color-scheme:light;
  --bg:#e9dfcb; --p:#f8f3e7; --p2:#fcf9f1; --p3:#ece2cd; --hov:#efe6d3;
  --l:#ddd0b7; --l2:#cbbb9c; --l3:#b09a76;
  --ink:#1c130e; --dim:#57483b; --faint:#6f5d4b;
  --red:#b8120f; --fill:#c9161a; --fill2:#a80f12; --ra:rgba(201,22,26,.09); --rb:rgba(201,22,26,.28);
  --up:#1a7541; --ua:rgba(29,127,71,.11); --dn:#b8120f; --da:rgba(184,18,15,.09); --amb:#9a5f00; --brand:#c9161a}
[data-theme="light"] body::before{background:radial-gradient(1200px 500px at 50% -10%,rgba(201,22,26,.10),transparent 60%),radial-gradient(700px 600px at -6% 110%,rgba(160,90,40,.12),transparent 60%)}
[data-theme="light"] body::after{opacity:.025}
[data-theme="light"] .pn{box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(80,50,20,.05)}
[data-theme="light"] .ddp,[data-theme="light"] .ctx,[data-theme="light"] .toast{background:linear-gradient(180deg,#fcf9f1,#f3ecdc);box-shadow:0 24px 60px rgba(80,50,20,.22)}
[data-theme="light"] .cbox{background:linear-gradient(180deg,#fcf9f1,#f5eee0);box-shadow:0 40px 100px rgba(80,50,20,.3)}
[data-theme="light"] .cmd{background:rgba(60,40,20,.28)}
[data-theme="light"] .wr{border-bottom-color:rgba(176,154,118,.25)}
[data-theme="light"] .levt td,[data-theme="light"] table.g td{border-bottom-color:rgba(176,154,118,.3)}
[data-theme="light"] .sk::after{background:linear-gradient(100deg,transparent 20%,rgba(201,22,26,.07) 50%,transparent 80%);background-size:220% 100%}
[data-theme="light"] .wr [data-p].wait,[data-theme="light"] .sk2{background:linear-gradient(100deg,var(--p3) 30%,rgba(201,22,26,.08) 50%,var(--p3) 70%);background-size:220% 100%}
[data-theme="light"] .cload2 .base,[data-theme="light"] .ofload.line .base{stroke:rgba(28,19,14,.08)}
[data-theme="light"] .wr svg.sp.wait path,[data-theme="light"] .ghost svg path{stroke:rgba(28,19,14,.12)}
[data-theme="light"] .odr:hover,[data-theme="light"] .lr:hover{background:rgba(28,19,14,.04)}
[data-theme="light"] .note{box-shadow:0 10px 30px rgba(80,50,20,.2)}
[data-theme="light"] .bias .gauge i{background:#fff;box-shadow:0 0 0 3px rgba(28,19,14,.25)}
.thb .ic-sun{display:none} [data-theme="light"] .thb .ic-sun{display:block} [data-theme="light"] .thb .ic-moon{display:none}
@media (max-width:760px){ [data-theme="light"] .tnav{background:rgba(248,243,231,.94)} }
/* ── phones: one-tap trading bar above the tabs, Trade view only ── */
.qbar{display:none}
@media (max-width:760px){
  .T:not(.flow):not(.vw):not(.fs) .qbar{display:grid}
  .T:not(.flow):not(.vw){padding-bottom:calc(140px + env(safe-area-inset-bottom))}
  .qbar{position:fixed;z-index:59;left:8px;right:8px;bottom:calc(68px + env(safe-area-inset-bottom));grid-template-columns:1fr auto 1fr;gap:6px;
    padding:6px;border-radius:16px;border:1px solid var(--l2);background:var(--p);box-shadow:0 -10px 40px rgba(0,0,0,.45)}
  .qbar button{height:52px;border-radius:11px;display:flex;flex-direction:column;justify-content:center;padding:0 12px;text-align:left}
  .qbar span{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
  .qbar b{font:600 16px var(--mono);letter-spacing:-.03em}
  .qbar .sl{background:var(--fill);color:#fff}
  .qbar .by{background:var(--buy1);color:#fff;text-align:right;align-items:flex-end}
  .qbar .qsz{border:1px solid var(--l2);background:var(--bg);color:var(--ink);align-items:center;min-width:92px}
  .qbar .qsz span{color:var(--faint)}
  .qbar .qsz b{font-size:14px}
  .qbar button:active{transform:scale(.97)}
  body:has(.T:not(.flow):not(.vw):not(.fs)) .toasts{bottom:calc(140px + env(safe-area-inset-bottom))}
  .lbl{right:84px;overflow:hidden;white-space:nowrap}
  .lbl>*:nth-child(n+3){display:none}
  .acct .sel b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px;display:block}
}
[data-theme="light"] .qbar{box-shadow:0 -10px 40px rgba(80,50,20,.18)}
/* ⌘K action icons */
.co .ci{width:30px;height:30px;flex:0 0 30px;border-radius:8px;display:grid;place-items:center;background:var(--p3);color:var(--dim);transition:background .15s,color .15s}
.co .ci svg{width:15px;height:15px}
.co.hi .ci{background:var(--fill);color:#fff}
/* range sliders: one look in both themes (the native track was light on dark) */
input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;height:22px;accent-color:auto;cursor:pointer}
input[type=range]:focus{outline:none}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--red) 0 var(--pct,0%),var(--l2) var(--pct,0%) 100%)}
input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--l2)}
input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--red)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:#fff;border:3px solid var(--red);box-shadow:0 0 0 4px var(--ra),0 2px 6px rgba(0,0,0,.4);transition:transform .15s}
input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--red);box-shadow:0 0 0 4px var(--ra)}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--rb)}
/* size presets: share of buying power; 100% burns */
.szp{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:2px 0 8px}
.szp button{position:relative;height:28px;border-radius:7px;border:1px solid var(--l2);background:var(--bg);font:600 11.5px var(--mono);color:var(--dim);transition:border-color .15s,color .15s,background .15s}
.szp button:hover{border-color:var(--rb);color:var(--ink)}
/* the 100% button's fire lives in fire.css and fire.js */
.szp .max b{font:inherit}
@media (pointer:coarse){ .szp button{height:36px} }
/* ── launch: covers everything until prices, chart, account and book are live ── */
.boot{position:fixed;inset:0;z-index:900;display:grid;place-items:center;background:var(--bg);transition:opacity .55s var(--e),visibility .55s}
.boot::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(900px 480px at 50% 38%,rgba(var(--glow-rgb),.16),transparent 62%),radial-gradient(rgba(var(--soft2-rgb),.06) 1px,transparent 1.4px) 0 0/30px 30px}
[data-theme="light"] .boot::before{background:radial-gradient(900px 480px at 50% 38%,rgba(201,22,26,.12),transparent 62%),radial-gradient(rgba(120,80,40,.12) 1px,transparent 1.4px) 0 0/30px 30px}
.boot.out{opacity:0;visibility:hidden}
.boot.out .bm{transform:scale(1.18);opacity:0}
.bw{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;width:min(320px,82vw)}
.bm{position:relative;width:76px;height:76px;border-radius:22px;background:var(--fill);display:grid;place-items:center;transition:transform .55s var(--e),opacity .45s;
  box-shadow:0 18px 50px rgba(var(--fill-rgb),.45),inset 0 1px 0 rgba(255,255,255,.25);animation:bmPulse 2.4s ease-in-out infinite}
.bm svg{width:44px;height:44px}
.bm path{fill:none;stroke:#fff;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60;animation:bmDraw 1.1s .15s var(--e) forwards}
.bm::after{content:'';position:absolute;inset:-10px;border-radius:30px;border:1.5px solid var(--rb);animation:bmRing 2.4s ease-out infinite}
@keyframes bmDraw{to{stroke-dashoffset:0}}
@keyframes bmPulse{50%{box-shadow:0 22px 70px rgba(var(--fill-rgb),.65),inset 0 1px 0 rgba(255,255,255,.25)}}
@keyframes bmRing{0%{transform:scale(.92);opacity:.9}100%{transform:scale(1.35);opacity:0}}
.bt{text-align:center}
.bt b{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em}
.bt span{font-size:12px;color:var(--faint)}
.bbar{width:100%;height:3px;border-radius:2px;background:var(--l2);overflow:hidden}
.bbar i{display:block;height:100%;width:6%;border-radius:2px;background:linear-gradient(90deg,var(--fill),var(--red));box-shadow:0 0 12px var(--red);transition:width .45s var(--e)}
.bst{width:100%;display:grid;gap:7px}
.bst div{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--faint);transition:color .3s}
.bst div i{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--l3);display:grid;place-items:center;flex:0 0 16px;transition:all .3s}
.bst div.on i{border-color:var(--l3);border-top-color:var(--red);animation:spin .8s linear infinite}
.bst div.ok{color:var(--ink)} .bst div.ok i{border-color:var(--up);background:var(--up);animation:none}
.bst div.ok i::after{content:'';width:6px;height:3px;border-left:1.5px solid var(--bg);border-bottom:1.5px solid var(--bg);transform:rotate(-45deg) translate(1px,-1px)}
.bst div em{margin-left:auto;font-style:normal;font:500 11px var(--mono);color:var(--faint)}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){ .bm path{stroke-dashoffset:0} }
/* ── tools ─────────────────────────────────────────── */
#vRisk{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;grid-template-rows:auto}
#vRisk .vh,#vRisk .tl-lev{grid-column:1/-1}
.tl-side-col{display:grid;gap:6px;align-content:start}
.tl-row{display:grid;grid-template-columns:auto minmax(0,1fr) 96px;gap:8px;align-items:center;margin-bottom:14px}
.tl-row .sel{height:34px}
.tl-side button{min-width:62px}
.tl-side button[data-s="-1"].on{background:var(--fill)} .tl-side button[data-s="1"].on{background:var(--buy1);box-shadow:0 2px 10px rgba(var(--buy-rgb),.35)}
.tl-f{margin-bottom:14px}
.tl-f label{display:flex;align-items:baseline;gap:8px;font-size:11px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.tl-f label b{font:600 13px var(--mono);color:var(--ink);letter-spacing:0;text-transform:none}
.tl-f label .fa{text-transform:none;letter-spacing:0;font-size:11px}
.tl-f input[type=range]{width:100%;margin:2px 0 8px}
.tl-f .in{height:36px}
.tl-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tl-trade{position:relative;height:58px;margin:4px 0 14px}
.tl-trade .tr{position:absolute;top:24px;height:8px;border-radius:4px}
.tl-trade .tr.l{background:linear-gradient(90deg,var(--dn),rgba(var(--dn-rgb),.35))} .tl-trade .tr.w{background:linear-gradient(90deg,rgba(var(--up-rgb),.35),var(--up))}
.tl-trade .pin{position:absolute;top:0;transform:translateX(-50%);text-align:center;white-space:nowrap}
.tl-trade .pin span{display:block;font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
.tl-trade .pin b{display:block;font:600 11.5px var(--mono);margin-top:22px}
.tl-trade .pin i{position:absolute;left:50%;top:18px;width:2px;height:20px;margin-left:-1px;border-radius:1px;background:var(--ink)}
.tl-trade .pin.e i{height:24px;top:16px;background:var(--ink);box-shadow:0 0 0 3px var(--bg)}
.tl-trade .pin.s b{color:var(--dn)} .tl-trade .pin.t b{color:var(--up)}
.tl-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--l);border:1px solid var(--l);border-radius:12px;overflow:hidden}
.tl-out div{background:var(--p2);padding:11px 13px;min-width:0}
.tl-out span{display:block;font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-out b{display:block;font:600 17px var(--mono);letter-spacing:-.03em;margin-top:3px}
.tl-out em{display:block;font-style:normal;font-size:11px;color:var(--faint);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-out .big{grid-column:1/-1;background:linear-gradient(90deg,rgba(var(--acc-rgb),.1),var(--p2))} .tl-out .big b{font-size:28px}
.tl-out>div:last-child{grid-column:span 2}
.tl-kv{display:grid;grid-template-columns:1fr auto;gap:7px 10px;font-size:12.5px;color:var(--dim)} .tl-kv b{font:500 12.5px var(--mono);color:var(--ink);text-align:right}
.tl-note{margin-top:10px;font-size:12px;line-height:1.5;color:var(--dim);padding:9px 11px;border-radius:9px;background:var(--p3)}
.tl-wr{margin:10px 0 2px} .tl-wr input{width:100%}
.tl-meter{margin:0 0 11px} .tl-meter .t{display:flex;justify-content:space-between;font-size:12px;color:var(--dim);margin-bottom:5px} .tl-meter .t b{font:500 12px var(--mono);color:var(--ink)}
.tl-meter .b{height:5px;border-radius:3px;background:var(--p3);overflow:hidden} .tl-meter .b i{display:block;height:100%;border-radius:3px;transition:width .5s var(--e)}
.tl-sess{display:grid;gap:6px}
.tl-sess div{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;font-size:12.5px;color:var(--dim)}
.tl-sess i{width:8px;height:8px;border-radius:50%;background:var(--l3)} .tl-sess .on i{background:var(--up);box-shadow:0 0 8px var(--up)} .tl-sess .on{color:var(--ink)}
.tl-sess b{font:500 11.5px var(--mono);color:var(--faint)} .tl-sess .on b{color:var(--up)}
@media (max-width:1100px){ #vRisk{grid-template-columns:minmax(0,1fr)!important} }
@media (max-width:760px){ .tl-out{grid-template-columns:repeat(2,minmax(0,1fr))} .tl-out>div:last-child{grid-column:1/-1} .tl-row{grid-template-columns:1fr 1fr} .tl-row .tl-side{grid-column:1/-1} .tl-2{grid-template-columns:1fr} }
/* closed markets */
.wr.shut [data-p]{opacity:.5}
.wr.shut [data-c]{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em}
.mktc{display:flex;flex-direction:column;gap:2px;margin:8px 0 0;padding:9px 11px;border-radius:10px;border:1px dashed var(--l3);background:var(--p3);font-size:12px}
.mktc b{font-weight:600;color:var(--ink)} .mktc span{color:var(--dim)}
.bs.shut button,.qbar.shut .by,.qbar.shut .sl{filter:grayscale(1) brightness(.55);opacity:.7;cursor:not-allowed;box-shadow:none}
/* modelled-data labels: never let synthetic depth pass for exchange data */
.mdl{display:inline-flex;align-items:center;height:17px;padding:0 6px;margin-left:8px;border-radius:5px;border:1px solid rgba(255,176,32,.45);background:rgba(255,176,32,.08);color:var(--amb);font:600 9.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:help;vertical-align:1px}
.ph .mdl{margin-left:8px}
#bookT .mdl{margin-left:6px}
.navtag{font-style:normal;margin-left:5px;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--amb);border:1px solid rgba(255,176,32,.4)}
.ofnote b{color:var(--amb)}
/* journal / alerts compose rows */
.ja{display:flex;gap:6px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--l)}
.ja .sel{width:104px;height:32px} .ja .in{height:32px;flex:1;min-width:0} .ja #alLv{flex:0 0 120px} .ja .nt{flex:0 0 auto}
.jt-plan{color:#7cc4ff!important} .jt-review{color:var(--up)!important} .jt-rule{color:var(--amb)!important}
/* notifications */
#bellBtn{position:relative}
#bellBtn.dot::after{content:attr(data-n);position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--fill);color:#fff;font:600 10px var(--ui);display:grid;place-items:center;box-shadow:0 0 0 2px var(--bg)}
.ntf{position:fixed;z-index:110;width:340px;max-height:70vh;overflow:auto;padding:6px;border-radius:14px;border:1px solid var(--l2);background:linear-gradient(180deg,var(--p2),var(--p));box-shadow:0 24px 60px rgba(0,0,0,.6);display:none}
.ntf.open{display:block;animation:tsin .2s var(--e)}
.ntf .nh{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 10px;border-bottom:1px solid var(--l);margin-bottom:4px}
.ntf .ni{display:flex;gap:10px;padding:9px 10px;border-radius:9px} .ntf .ni.new{background:var(--ra)}
.ntf .ni i{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:0 0 8px;background:var(--l3)}
.ntf .ni i.k-breach{background:var(--dn)} .ntf .ni i.k-pass,.ntf .ni i.k-funded,.ntf .ni i.k-paid{background:var(--up)} .ntf .ni i.k-alert{background:var(--amb)}
.ntf .ni b{display:block;font-size:12.5px} .ntf .ni span{display:block;font-size:11.5px;color:var(--dim);margin-top:1px} .ntf .ni em{display:block;font-style:normal;font:500 10.5px var(--mono);color:var(--faint);margin-top:3px}
[data-theme="light"] .ntf{box-shadow:0 24px 60px rgba(80,50,20,.22)}
@media (max-width:760px){ .ntf{left:8px;right:8px!important;width:auto} .ja{flex-wrap:wrap} .ja .in{flex:1 1 100%} }
/* equity curve */
.eqv{position:absolute;inset:8px 8px 30px;width:calc(100% - 16px);height:calc(100% - 38px)}
.eqv .ln{fill:none;stroke:var(--red);stroke-width:2;stroke-dasharray:none;vector-effect:non-scaling-stroke}
.eqv .ar{fill:url(#eqg);stroke:none}
.eqv .st{stroke:var(--l3);stroke-width:1;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}
.eqv .tg,.eqv .fl{stroke-width:1;stroke-dasharray:5 5;vector-effect:non-scaling-stroke} .eqv .tg{stroke:var(--up)} .eqv .fl{stroke:var(--dn)}
.eql{position:absolute;left:12px;right:12px;bottom:6px;display:flex;gap:14px;font:500 11px var(--mono);color:var(--dim)}
/* bracket editing */
.bdl{position:absolute;z-index:12;display:flex;gap:8px;align-items:center;padding:5px 9px;border-radius:8px;background:var(--p2);border:1px solid var(--l2);box-shadow:0 8px 24px rgba(0,0,0,.45);font:600 11.5px var(--mono);pointer-events:none;white-space:nowrap}
.bkc{white-space:nowrap}
.bkc .bk{font-size:11px;padding:2px 7px}
.bkv{display:inline-flex;align-items:center;gap:1px;border-radius:6px}
.bkv.sl button:first-child{color:var(--dn)} .bkv.tp button:first-child{color:var(--up)}
.bki{width:92px;height:24px!important;font-size:12px!important;padding:0 6px}
/* ── account menu + checkout ───────────────────────── */
.signin{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;margin-left:auto;border:1px solid var(--l2);border-radius:10px;background:var(--p);color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap;transition:border-color .15s,background .15s}
.signin:hover{border-color:var(--rb);background:var(--p2)}
.signin svg{width:15px;height:15px;color:var(--dim)}
@media (max-width:760px){ .signin{height:40px} }
.coins{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.coin{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border-radius:10px;border:1px solid var(--l2);background:var(--bg);text-align:left}
.coin b{font:600 13px var(--mono)} .coin span{font:500 11px var(--mono);color:var(--faint)}
.coin.on{border-color:var(--red);background:var(--ra)} .coin.on span{color:var(--dim)}
.ckpay{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:start}
.ckpay .qr{background:#fff;border-radius:12px;padding:10px;aspect-ratio:1} .ckpay .qr svg{width:100%;height:100%;display:block}
.ckpay label{display:block;font-size:10.5px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin:0 0 5px}
.cp{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-radius:10px;border:1px solid var(--l2);background:var(--bg);margin-bottom:12px}
.cp b{font-size:17px;flex:1} .cp code{font:500 12.5px var(--mono);flex:1;word-break:break-all;color:var(--ink)}
.ckpay .net{font-size:11.5px;color:var(--dim);margin:-4px 0 10px}
.pst{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:10px;background:var(--p3);font-size:12.5px;margin-bottom:8px}
.pst i{width:8px;height:8px;border-radius:50%;background:var(--amb);animation:pls 1.4s infinite}
.pst.confirming i{background:var(--up)} .pst.expired i{background:var(--faint);animation:none}
@keyframes pls{50%{opacity:.3}}
@media (max-width:760px){ .ckpay{grid-template-columns:1fr} .ckpay .qr{max-width:220px;margin:0 auto} }
.tbtn,.srch span,.acct b,.acct span{white-space:nowrap}
.acct .sel b{max-width:150px;overflow:hidden;text-overflow:ellipsis;display:block}
.acm{position:fixed;z-index:110;width:320px;padding:6px;border-radius:14px;border:1px solid var(--l2);background:linear-gradient(180deg,var(--p2),var(--p));box-shadow:0 24px 60px rgba(0,0,0,.6);display:none}
.acm.open{display:block;animation:tsin .2s var(--e)}
.acm .who{padding:10px 10px 8px;border-bottom:1px solid var(--l);margin-bottom:4px}
.acm .who b{display:block;font-size:13px} .acm .who span{font-size:11.5px;color:var(--faint)}
.acm .dk{width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 10px;border-radius:9px;text-align:left}
.acm .dk:hover,.acm .dk.on{background:var(--ra)}
.acm .dk b{font:600 12.5px var(--mono)} .acm .dk em{font-style:normal;font:500 12px var(--mono);text-align:right}
.acm .dk span{font-size:11px;color:var(--faint)} .acm .dk i{font-style:normal;font-size:10.5px;text-align:right;text-transform:uppercase;letter-spacing:.08em}
.st-evaluation{color:var(--dim)} .st-funded,.st-passed{color:var(--up)} .st-breached{color:var(--red)}
.acm .act{width:100%;display:flex;align-items:center;gap:8px;height:38px;padding:0 10px;border-radius:9px;font-size:12.5px;color:var(--dim)}
.acm .act:hover{background:var(--p3);color:var(--ink)} .acm .act.pri{color:var(--red);font-weight:600}
.acm hr{border:0;border-top:1px solid var(--l);margin:4px 0}
.ck{position:fixed;inset:0;z-index:140;display:none;place-items:center;padding:16px;background:rgba(4,1,2,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ck.open{display:grid}
.ckb{width:min(860px,100%);max-height:calc(100svh - 32px);overflow:auto;border-radius:18px;border:1px solid var(--l2);background:linear-gradient(180deg,var(--p2),var(--p));box-shadow:0 40px 100px rgba(0,0,0,.7);animation:tsin .3s var(--e)}
.ckh{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--l)}
.ckh h3{font-size:16px;font-weight:600;letter-spacing:-.01em}
.ckh .steps{display:flex;gap:6px;margin-left:auto;margin-right:6px}
.ckh .steps i{width:22px;height:3px;border-radius:2px;background:var(--l2)} .ckh .steps i.on{background:var(--red)}
.ckc{padding:18px}
.ckg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cks{display:flex;flex-direction:column;gap:3px;padding:14px;border-radius:12px;border:1px solid var(--l2);background:var(--bg);text-align:left;transition:border-color .15s,background .15s}
.cks:hover{border-color:var(--rb)} .cks.on{border-color:var(--red);background:var(--ra)}
.cks b{font:600 20px var(--mono);letter-spacing:-.03em}
.cks span{font-size:11.5px;color:var(--faint);display:flex;justify-content:space-between} .cks span i{font-style:normal;font-family:var(--mono);color:var(--dim)}
.cks s{font:500 12px var(--mono);color:var(--faint)} .cks em{font-style:normal;font:600 12px var(--mono);color:var(--up)}
.ckf{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.fg .w{grid-column:1/-1}
.fg label{display:block;font-size:10.5px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.fg input{width:100%;height:40px;padding:0 12px;border-radius:9px;border:1px solid var(--l2);background:var(--bg);font:500 13px var(--ui);color:var(--ink)}
.fg input:focus{outline:none;border-color:var(--red)} .fg input.bad{border-color:var(--red);background:var(--ra)}
.fg h5{grid-column:1/-1;font-size:11px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;margin-top:6px}
.cardn{position:relative} .cardn svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--faint)}
.ckn{grid-column:1/-1;font-size:11.5px;color:var(--faint);line-height:1.5;padding:9px 11px;border-radius:9px;background:var(--p3)}
.sum{padding:14px;border-radius:12px;border:1px solid var(--l2);background:var(--bg);align-self:start}
.sum h4{font-size:11px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.sum .r{display:flex;justify-content:space-between;padding:6px 0;font-size:12.5px;color:var(--dim)} .sum .r b{font-family:var(--mono);color:var(--ink);font-weight:500}
.sum .tot{border-top:1px solid var(--l);margin-top:6px;padding-top:10px;font-size:14px} .sum .tot b{font-size:18px;font-weight:600}
.ckgo{width:100%;height:46px;margin-top:12px;border-radius:11px;background:var(--fill);color:#fff;font-size:14px;font-weight:600;box-shadow:0 10px 26px rgba(var(--fill-rgb),.32)}
.ckgo:hover{background:var(--fill2)} .ckgo:disabled{opacity:.6;cursor:progress}
.ckerr{margin-top:10px;font-size:12px;color:var(--red);min-height:16px}
.cktab{display:flex;gap:4px;margin-bottom:14px}
.ckdone{text-align:center;padding:30px 10px 16px}
.ckdone .tick{width:56px;height:56px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:var(--ua);color:var(--up)}
.ckdone h4{font-size:20px;font-weight:600;letter-spacing:-.02em} .ckdone p{font-size:13px;color:var(--dim);margin-top:6px;line-height:1.55}
.ckdone code{font:600 13px var(--mono);color:var(--ink)}
.brk{margin:0 0 6px;padding:8px 12px;border-radius:10px;border:1px solid var(--rb);background:var(--ra);color:var(--red);font-size:12.5px;display:none}
.brk.on{display:block}
@media (max-width:760px){
  .ckg{grid-template-columns:repeat(2,minmax(0,1fr))} .ckf{grid-template-columns:1fr} .fg{grid-template-columns:1fr} .ckh .steps{display:none}
  .ck{padding:0;place-items:end stretch} .ckb{border-radius:18px 18px 0 0;max-height:94svh}
  .acm{left:8px!important;right:8px;width:auto}
}
[data-theme="light"] .acm,[data-theme="light"] .ckb{box-shadow:0 30px 80px rgba(80,50,20,.25)}
[data-theme="light"] .ck{background:rgba(60,40,20,.3)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ── themes: graphite, high contrast, amber, midnight ─────────────────────
   Each redefines the palette and the rgb channels the literals above were
   turned into. Dark is :root; light is the paper block above. */
[data-theme="mono"]{color-scheme:dark; --bg:#0a0a0a; --p:#111111; --p2:#161616; --p3:#1d1d1d; --hov:#222222; --l:#232323; --l2:#2f2f2f; --l3:#474747; --ink:#ededed; --dim:#a8a8a8; --faint:#7c7c7c; --red:#e6e6e6; --fill:#4a4a4a; --fill2:#3b3b3b; --ra:rgba(230,230,230,.08); --rb:rgba(230,230,230,.24); --up:#7ed3a0; --ua:rgba(126,211,160,.10); --dn:#e8828a; --da:rgba(232,130,138,.10); --amb:#d6b25e; --acc-rgb:230,230,230; --fill-rgb:120,120,120; --acc2-rgb:214,214,214; --soft-rgb:220,220,220; --soft2-rgb:220,220,220; --glow-rgb:160,160,160; --glow2-rgb:90,90,90; --dn-rgb:232,130,138; --up-rgb:126,211,160; --updeep-rgb:79,150,112; --buy-rgb:79,150,112; --sellg-rgb:232,130,138; --sell1:#9a4b52; --sell2:#7a3036; --buy1:#3f7a5a; --buy2:#2f6b4a}
[data-theme="contrast"]{color-scheme:dark; --bg:#000000; --p:#000000; --p2:#0a0a0a; --p3:#141414; --hov:#1c1c1c; --l:#4a4a4a; --l2:#6a6a6a; --l3:#9a9a9a; --ink:#ffffff; --dim:#e6e6e6; --faint:#c4c4c4; --red:#ffe14d; --fill:#1a47ff; --fill2:#0f36d6; --ra:rgba(255,225,77,.14); --rb:rgba(255,225,77,.55); --up:#00ff85; --ua:rgba(0,255,133,.14); --dn:#ff2e55; --da:rgba(255,46,85,.14); --amb:#ffb000; --acc-rgb:255,225,77; --fill-rgb:26,71,255; --acc2-rgb:255,225,77; --soft-rgb:255,240,150; --soft2-rgb:255,255,255; --glow-rgb:0,0,0; --glow2-rgb:0,0,0; --dn-rgb:255,46,85; --up-rgb:0,255,133; --updeep-rgb:0,170,90; --buy-rgb:0,170,90; --sellg-rgb:255,46,85; --sell1:#e0002b; --sell2:#b00022; --buy1:#008a45; --buy2:#006b35}
[data-theme="amber"]{color-scheme:dark; --bg:#050300; --p:#0a0700; --p2:#100b02; --p3:#171004; --hov:#1d1405; --l:#2a1e08; --l2:#3d2c0c; --l3:#5a4212; --ink:#ffd9a0; --dim:#d19a3c; --faint:#9a7432; --red:#ffa31a; --fill:#b36b00; --fill2:#8f5500; --ra:rgba(255,163,26,.10); --rb:rgba(255,163,26,.30); --up:#3ddc84; --ua:rgba(61,220,132,.10); --dn:#ff5a4f; --da:rgba(255,90,79,.10); --amb:#ffd166; --acc-rgb:255,163,26; --fill-rgb:179,107,0; --acc2-rgb:255,184,77; --soft-rgb:255,190,100; --soft2-rgb:255,190,100; --glow-rgb:255,140,0; --glow2-rgb:160,80,0; --dn-rgb:255,90,79; --up-rgb:61,220,132; --updeep-rgb:40,160,95; --buy-rgb:40,160,95; --sellg-rgb:255,90,79; --sell1:#c8342a; --sell2:#9e241c; --buy1:#1c7a47; --buy2:#146038}
[data-theme="midnight"]{color-scheme:dark; --bg:#05070f; --p:#0a0e1a; --p2:#0e1322; --p3:#141a2d; --hov:#182038; --l:#172036; --l2:#222d4a; --l3:#34436b; --ink:#e6ecff; --dim:#9aa6c7; --faint:#74809f; --red:#4f8cff; --fill:#2f6bff; --fill2:#2458d6; --ra:rgba(79,140,255,.12); --rb:rgba(79,140,255,.32); --up:#22d3a6; --ua:rgba(34,211,166,.11); --dn:#ff5c7a; --da:rgba(255,92,122,.11); --amb:#ffc15a; --acc-rgb:79,140,255; --fill-rgb:47,107,255; --acc2-rgb:110,160,255; --soft-rgb:140,180,255; --soft2-rgb:140,180,255; --glow-rgb:47,107,255; --glow2-rgb:20,60,160; --dn-rgb:255,92,122; --up-rgb:34,211,166; --updeep-rgb:20,150,118; --buy-rgb:20,150,118; --sellg-rgb:255,92,122; --sell1:#d63a5a; --sell2:#b02a48; --buy1:#0f8a6c; --buy2:#0b6e56}
[data-theme="contrast"] .pn{box-shadow:inset 0 0 0 1px var(--l)} [data-theme="contrast"] body::after{display:none}
[data-theme="contrast"] :focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* ── theme picker ─────────────────────────────────────────────── */
.thm{position:fixed;z-index:120;width:268px;padding:6px;border-radius:14px;border:1px solid var(--l2);background:linear-gradient(180deg,var(--p2),var(--p));
  box-shadow:0 24px 60px rgba(0,0,0,.55);display:none}
.thm.open{display:block;animation:tsin .18s var(--e)}
.thm h6{font:600 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:8px 10px 6px}
.thm button{width:100%;display:grid;grid-template-columns:44px 1fr 16px;align-items:center;gap:11px;padding:7px 8px;border-radius:10px;text-align:left;transition:background .12s}
.thm button:hover,.thm button:focus-visible{background:var(--p3);outline:none}
.thm button[aria-checked="true"]{background:var(--ra)}
.thm b{display:block;font-size:12.5px;font-weight:600;color:var(--ink)}
.thm em{display:block;font-style:normal;font-size:11px;color:var(--faint);margin-top:1px}
.thm .tck{width:16px;height:16px;color:var(--red);opacity:0}
.thm button[aria-checked="true"] .tck{opacity:1}
/* a swatch (.tsw, not .sw, which is the toggle switch) is a tiny terminal: the page, a panel, two candles and the accent line */
.tsw{position:relative;width:44px;height:30px;border-radius:7px;overflow:hidden;background:var(--sb);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.tsw::before{content:'';position:absolute;left:3px;right:3px;top:3px;bottom:3px;border-radius:4px;background:var(--sp)}
.tsw i{position:absolute;bottom:8px;width:5px;border-radius:1px}
.tsw i:nth-child(1){left:10px;height:11px;background:var(--su)}
.tsw i:nth-child(2){left:18px;height:7px;bottom:10px;background:var(--sd)}
.tsw i:nth-child(3){left:26px;height:13px;background:var(--su)}
.tsw b{position:absolute;left:6px;right:6px;bottom:6px;height:2px;border-radius:1px;background:var(--sa)}

/* ── top bar ──────────────────────────────────────────────────
   Account, equity with today's change, target and drawdown. Balance and open
   P&L live in the account menu. Nothing truncates: cells drop in order of
   importance as the window narrows, drawdown last, because that is the number
   that ends an account. */
.acct .aeq b{display:inline}
.acct .aeq em{font:500 11px var(--mono);font-style:normal;margin-left:7px;font-variant-numeric:tabular-nums}
.acct .aeq em.na{color:var(--faint)}
.acct .sel>div>span{display:none}
.acct .sel b{font-size:12.5px}
.meter i.mtg{background:linear-gradient(90deg,rgba(var(--up-rgb),.5),var(--up))}
.meter i.mdd{background:linear-gradient(90deg,rgba(var(--dn-rgb),.5),var(--dn))}
.srch span{max-width:120px}
.acst{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 6px;border-radius:10px;overflow:hidden;background:var(--l)}
.acst div{background:var(--p);padding:8px 10px}
.acst span{display:block;font-size:9.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.acst b{font:500 12.5px var(--mono);font-variant-numeric:tabular-nums}
/* numbers never squeeze: the account bar and its cells keep their natural width,
   the search box is what gives way, and narrower windows drop whole cells */
.acct,.acct>div{flex:0 0 auto}
.srch{flex:0 1 auto;min-width:36px}
@media (max-width:1680px){ .brand .kj{display:none} }
@media (max-width:1320px){ .acct .tgc{display:none} .tnav a{padding:0 9px} }
@media (max-width:1180px){ .acct .aeq em{display:none} }
@media (max-width:1100px){ .acct>div{flex:1 1 0} }

/* ── the real Mizora mark, as on mizorapartners.com ───────────── */
.brand .bmk{width:30px;height:30px;border-radius:50%;display:block;flex:0 0 auto;box-shadow:0 4px 16px rgba(224,32,31,.35)}
.brand b{font-size:13px;font-weight:600;letter-spacing:.26em;margin-right:-.26em}
.boot .bm{background:none;border-radius:50%;padding:0;box-shadow:0 10px 40px rgba(224,32,31,.45)}
.boot .bm img{width:64px;height:64px;border-radius:50%;display:block}

/* ── account status as a tag beside the code ─────────────────── */
.acct .sel>div{flex-direction:row;align-items:center;gap:7px}
.acct .atag{font:600 9px var(--ui);font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:5px;background:var(--p3);color:var(--dim);white-space:nowrap}
.acct .atag.bad{background:rgba(var(--dn-rgb),.14);color:var(--dn)}

/* ── sections as browser tabs ──────────────────────────────────
   The header is a slightly darker strip; the active tab takes the page's own
   colour and breaks through the strip's bottom line, so it opens into the page
   the way a browser tab does. Desktop only: phones keep the bottom bar. */
:root{--strip:rgba(0,0,0,.32)}
[data-theme="light"]{--strip:rgba(80,50,20,.07)}
[data-theme="contrast"]{--strip:#0d0d0d}
@media (min-width:761px){
  header.top{background:var(--strip);border-bottom:1px solid var(--l);margin:-6px -6px 0;padding:0 14px 0 12px}
  .tnav{align-self:stretch;display:flex;align-items:flex-end;gap:1px;margin:0 6px 0 10px}
  .tnav a{height:36px;margin-bottom:-1px;padding:0 15px;border:1px solid transparent;border-bottom:0;border-radius:10px 10px 0 0;
    color:var(--faint);transition:background .15s,color .15s}
  .tnav a:hover{background:rgba(var(--acc-rgb),.05);color:var(--dim)}
  .tnav a.on{background:var(--bg);color:var(--ink);border-color:var(--l);z-index:1}
  .tnav a.on::after{left:12px;right:12px;top:-1px;bottom:auto;height:2px;border-radius:0 0 2px 2px}
  .tnav a:not(.on)+a:not(.on)::before{content:'';position:absolute;left:-1px;top:11px;bottom:11px;width:1px;background:var(--l)}
  .tnav a:hover::before,.tnav a:hover+a::before{opacity:0}
}

/* ── brackets on the chart ──────────────────────────────────────── */
.bko{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}
.bkp{position:absolute;top:0;display:flex;align-items:center;gap:7px;height:24px;margin-top:-12px;padding:0 4px 0 9px;border-radius:7px;
  background:var(--p2);border:1px solid var(--l2);box-shadow:0 6px 18px rgba(0,0,0,.32);font:500 11px var(--mono);font-variant-numeric:tabular-nums;
  color:var(--ink);white-space:nowrap;pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:none;transition:border-color .15s,box-shadow .15s}
.bkp>b{font:700 10px var(--ui);letter-spacing:.07em}
.bkp .rd{color:var(--dim)} .bkp .up{color:var(--up)} .bkp .dn{color:var(--dn)}
.bkp.lvl{cursor:ns-resize}
.bkp.sl{border-color:rgba(var(--dn-rgb),.6)} .bkp.sl>b{color:var(--dn)}
.bkp.tp{border-color:rgba(var(--up-rgb),.6)} .bkp.tp>b{color:var(--up)}
.bkp.lvl:hover{box-shadow:0 8px 22px rgba(0,0,0,.4),0 0 0 3px rgba(var(--acc-rgb),.12)}
.bkp button{display:grid;place-items:center;width:20px;height:18px;border-radius:5px;color:var(--faint);font:600 13px var(--ui);line-height:1}
.bkp button:hover{background:var(--p3);color:var(--ink)}
.bkp .bok{background:var(--up);color:#04130b}
.bkp .bok:hover{background:var(--up);filter:brightness(1.12);color:#04130b}
.bkp .bok svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
/* the entry pill and its handles */
.bkp.ent{padding-right:4px;cursor:default}
.bkp.ent .sz{color:var(--dim)}
.bkp .nh{width:auto;height:18px;padding:0 7px;font:700 9.5px var(--ui);letter-spacing:.08em;border:1px dashed;cursor:ns-resize;background:transparent}
.bkp .nh.sl{color:var(--dn);border-color:rgba(var(--dn-rgb),.6)} .bkp .nh.tp{color:var(--up);border-color:rgba(var(--up-rgb),.6)}
.bkp .nh:hover{border-style:solid;background:var(--p3)}
/* proposed, not placed: it pulses until it is placed or discarded */
.bkp.pend,.bkp.rm,.bkp.stale{border-style:dashed;border-width:1.5px;animation:bkpulse 1.04s ease-in-out infinite}
.bkp .np{font:700 9px var(--ui);font-style:normal;letter-spacing:.09em;padding:2px 6px;border-radius:4px;background:rgba(255,176,32,.14);color:var(--amb)}
.bkp .np.bad{background:rgba(var(--dn-rgb),.14);color:var(--dn)}
@keyframes bkpulse{0%,100%{opacity:1}50%{opacity:.42;box-shadow:0 0 0 4px rgba(255,176,32,.16)}}
/* dragging, and a drop on the wrong side */
.bkp.drag{box-shadow:0 12px 28px rgba(0,0,0,.45),0 0 0 2px rgba(var(--acc-rgb),.3)}
.bkp.bad{border-color:var(--dn);background:rgba(var(--dn-rgb),.1)}
.bkp.shake{animation:bkshake .34s}
@keyframes bkshake{20%{translate:-5px 0}40%{translate:5px 0}60%{translate:-3px 0}80%{translate:2px 0}}
.bkp.sent{animation:bksent .7s var(--e)}
@keyframes bksent{0%{box-shadow:0 0 0 0 rgba(var(--up-rgb),.65)}100%{box-shadow:0 0 0 12px rgba(var(--up-rgb),0)}}
.bkp .spin{width:12px;height:12px;margin:0 4px;border-radius:50%;border:2px solid var(--l2);border-top-color:var(--ink);animation:bkspin .7s linear infinite}
@keyframes bkspin{to{transform:rotate(360deg)}}
/* a level off the visible range pins to the edge and points at it */
.bkp.pin{opacity:.85}
.bkp.pin::before{content:'';width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;margin-right:-2px}
.bkp.pin[data-pin="up"]::before{border-bottom:5px solid currentColor} .bkp.pin[data-pin="dn"]::before{border-top:5px solid currentColor}
/* several proposals at once */
.bkbar{position:absolute;top:10px;left:50%;translate:-50% 0;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:10px;
  background:var(--p2);border:1px solid rgba(255,176,32,.45);box-shadow:0 10px 30px rgba(0,0,0,.4);font:500 12px var(--ui);pointer-events:auto;animation:tsin .2s var(--e)}
.bkbar .dot{width:7px;height:7px;border-radius:50%;background:var(--amb);animation:bkpulse 1.04s ease-in-out infinite}
.bkbar button{height:26px;padding:0 10px;border-radius:7px;font-weight:600;color:var(--dim);border:1px solid var(--l2)}
.bkbar button:hover{color:var(--ink);background:var(--p3)}
.bkbar button.pri{background:var(--fill);border-color:var(--fill);color:#fff}
.bkbar kbd{font:500 9.5px var(--mono);opacity:.7;margin-left:4px}
.bdl.bad{border-color:var(--dn)}
.bk-dragging,.bk-dragging *{cursor:ns-resize!important}
@media (pointer:coarse){ .bkp{height:30px;margin-top:-15px} .bkp button{width:28px;height:26px} .bkp .nh{height:26px;padding:0 10px} }
@media (prefers-reduced-motion:reduce){ .bkp.pend,.bkp.rm,.bkp.stale,.bkbar .dot{animation:none} .bkp.pend,.bkp.rm,.bkp.stale{border-width:2px} }

/* ── where the account breaches ─────────────────────────────────── */
.bkp.rlp{cursor:default;padding-right:9px;border-style:dashed}
.bkp.rlp.max{border-color:rgba(var(--dn-rgb),.55)} .bkp.rlp.max>b{color:var(--dn)}
.bkp.rlp.daily{border-color:color-mix(in srgb,var(--amb) 55%,transparent)} .bkp.rlp.daily>b{color:var(--amb)}
.bkp.rlp .rm{color:var(--dim)}
.bkp.rlp.near{border-style:solid;box-shadow:0 6px 18px rgba(0,0,0,.32),0 0 0 3px rgba(var(--dn-rgb),.1)}
.bkp.rlp.daily.near{box-shadow:0 6px 18px rgba(0,0,0,.32),0 0 0 3px color-mix(in srgb,var(--amb) 14%,transparent)}
.bkp.rlp.pre{opacity:.8;border-style:dotted}
.rlz{position:absolute;left:0;pointer-events:none;z-index:0}
.rlz.dn{background:linear-gradient(180deg,rgba(var(--dn-rgb),.11),rgba(var(--dn-rgb),.02) 70%)}
.rlz.up{background:linear-gradient(0deg,rgba(var(--dn-rgb),.11),rgba(var(--dn-rgb),.02) 70%)}
.rlz.daily.dn{background:linear-gradient(180deg,color-mix(in srgb,var(--amb) 11%,transparent),transparent 70%)}
.rlz.daily.up{background:linear-gradient(0deg,color-mix(in srgb,var(--amb) 11%,transparent),transparent 70%)}

/* ── chart time zone: the footer clock is the switch ─────────────── */
#clk{cursor:pointer;border-bottom:1px dotted transparent;transition:color .15s,border-color .15s}
#clk:hover,#clk[aria-expanded="true"]{color:var(--ink);border-bottom-color:var(--faint)}
.tzm{max-height:min(560px,calc(100svh - 80px));overflow-y:auto}
.tzm button{grid-template-columns:48px 1fr 16px}
.tzm .tzt{font:500 12px var(--mono);font-variant-numeric:tabular-nums;color:var(--dim)}

/* ── checkout: size, promo, payment ─────────────────────────────── */
#ckC.ckout{opacity:0;transform:translateX(-16px);transition:opacity .19s ease,transform .19s ease}
#ckC.ckin>*{animation:ckrise .55s var(--e) both}
#ckC.ckin>*:nth-child(2){animation-delay:.05s} #ckC.ckin>*:nth-child(3){animation-delay:.1s} #ckC.ckin>*:nth-child(4){animation-delay:.15s}
@keyframes ckrise{from{opacity:0;transform:translateY(16px)}}
.ckord{border:1px solid var(--l2);border-radius:14px;background:var(--bg);padding:6px 16px}
.ckline{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;font-size:13px;color:var(--dim)}
.ckline+.ckline{border-top:1px solid var(--l)}
.ckline b{font:500 13.5px var(--mono);color:var(--ink)} .ckline span b{font:600 13px var(--ui)}
.ckline.ok,.ckline.ok b{color:var(--up)}
.ckline.ckdue span{color:var(--ink);font-weight:600} .ckline.ckdue>b{font:600 22px var(--mono);letter-spacing:-.02em}
.ckcode{margin-top:16px}
.ckcode label{display:block;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.ckcode label i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:400;margin-left:4px}
.ckcode>div{display:flex;gap:8px} .ckcode input{flex:1;height:44px;text-transform:uppercase;letter-spacing:.06em;font-family:var(--mono)}
.ckcode input.bad{border-color:var(--dn)} .ckcode .tab{height:44px;padding:0 16px}
.ckhint{min-height:18px;margin-top:6px;font-size:12px;color:var(--faint)} .ckhint.ok{color:var(--up)} .ckhint.bad{color:var(--dn)}
.ckcoins{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.ckcoins button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:11px 13px;border-radius:12px;border:1px solid var(--l2);background:var(--bg);transition:border-color .15s,background .15s}
.ckcoins button b{font:600 14px var(--mono)} .ckcoins button span{font-size:11.5px;color:var(--faint)}
.ckcoins button:hover{border-color:var(--rb)} .ckcoins button[aria-checked="true"]{border-color:var(--red);background:var(--ra)}
.ckgo.busy{opacity:.85;cursor:progress} .ckgo .cspin{display:inline-block;width:14px;height:14px;margin:0 9px -2px 0;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:bkspin .7s linear infinite}
.ckback{margin-top:8px;width:100%}
/* the payment itself */
.ckpay2{display:grid;grid-template-columns:236px minmax(0,1fr);gap:22px;align-items:start}
.ckqr{position:relative;padding:12px 12px 10px;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.35),0 0 0 1px rgba(224,32,31,.25),0 0 40px rgba(224,32,31,.18)}
.ckqrb svg{display:block;width:100%;height:auto}
.qrm{transform-box:fill-box;transform-origin:center;animation:qrin .5s var(--e) both;animation-delay:var(--d)}
.qrf{transform-box:fill-box;transform-origin:center;animation:qrin .6s var(--e) both}
.qrl{animation:qrlogo .5s var(--e) .55s both}
@keyframes qrin{from{opacity:0;transform:scale(.15)}}
@keyframes qrlogo{from{opacity:0}}
.cktimer{height:3px;margin:10px 2px 6px;border-radius:2px;background:#f1e6e6;overflow:hidden}
.cktimer i{display:block;height:100%;background:linear-gradient(90deg,#7a0f14,#e0201f);transform-origin:left;transition:transform 1s linear}
.ckqr .ckmeta{display:block;text-align:center;color:#8a7274;margin:0} .ckqr .ckmeta b{font-family:var(--mono);color:#3a1d1f}
.ckpd{display:flex;flex-direction:column;gap:8px;min-width:0}
.ckpd label{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:4px}
.ckcopy{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px 11px 14px;border-radius:12px;border:1px solid var(--l2);background:var(--bg);text-align:left;cursor:copy;transition:border-color .15s,background .15s}
.ckcopy:hover{border-color:var(--rb);background:var(--p2)}
.ckcopy b{flex:1;font:600 19px var(--mono);letter-spacing:-.02em;color:var(--ink)} .ckcopy b span{font-size:13px;color:var(--dim);font-weight:500}
.ckcopy code{flex:1;min-width:0;font:500 12.5px var(--mono);word-break:break-all;color:var(--ink)}
.ckcopy em{font:600 10.5px var(--ui);font-style:normal;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--p3);color:var(--dim);white-space:nowrap}
.ckcopy.done{border-color:rgba(var(--up-rgb),.6)} .ckcopy.done em{background:rgba(var(--up-rgb),.16);color:var(--up)}
.ckmeta{font-size:11.5px;line-height:1.5;color:var(--dim);margin:0}
.ckst{display:flex;align-items:center;gap:10px;margin-top:4px;padding:10px 12px;border-radius:11px;background:var(--p3);font-size:12.5px}
.ckst i{width:8px;height:8px;border-radius:50%;background:var(--amb);box-shadow:0 0 0 0 rgba(255,176,32,.5);animation:ckping 1.6s infinite}
.ckst.confirming i{background:var(--up);animation-name:ckpingu} .ckst.expired i{background:var(--faint);animation:none}
@keyframes ckping{70%{box-shadow:0 0 0 7px rgba(255,176,32,0)}}
@keyframes ckpingu{70%{box-shadow:0 0 0 7px rgba(var(--up-rgb),0)}}
.ckswap{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--faint)} .ckswap .tab{height:30px;padding:0 11px}
.ckswap #ckCancel{margin-left:auto}
/* done */
.ckok{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:16px 0 4px}
.ckok svg{width:64px;height:64px;fill:none;stroke:var(--up);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.ckok circle{stroke-dasharray:146;stroke-dashoffset:146;animation:ckdraw .6s var(--e) .05s forwards;opacity:.5}
.ckok path{stroke-dasharray:36;stroke-dashoffset:36;animation:ckdraw .45s var(--e) .5s forwards}
@keyframes ckdraw{to{stroke-dashoffset:0}}
.ckok h4{font-size:18px;font-weight:600;letter-spacing:-.01em} .ckok p{font-size:13px;color:var(--dim);max-width:420px}
.ckok .ckgo{max-width:320px}
@media (max-width:760px){ .ckpay2{grid-template-columns:1fr} .ckqr{max-width:250px;margin:0 auto} }
@media (prefers-reduced-motion:reduce){ .qrm,.qrf,.qrl,#ckC.ckin>*{animation:none} .ckok circle,.ckok path{animation:none;stroke-dashoffset:0} }

/* ── top bar: real browser tabs ─────────────────────────────────
   A darker strip; the active tab takes the page's colour, with rounded top
   corners and curved feet, so it flows into the page the way a browser tab does.
   Everything else sits on the tabs' centre line at one height, borderless. */
@media (min-width:761px){
  header.top{align-items:flex-end;flex-wrap:nowrap;height:auto;gap:8px;padding:0 10px 0 14px;border-bottom:0;background:var(--strip)}
  header.top>*{margin-bottom:3px}   /* 34px items centred on the 40px tabs' line: 52 - 3 - 17 = 32 */
  header.top>.tnav{margin:0 0 0 6px}
  header.top .brand{margin-bottom:5px;padding-right:10px}
  .tnav{align-self:flex-end;display:flex;align-items:flex-end;gap:0;height:auto}
  .tnav a{position:relative;display:flex;align-items:center;gap:8px;height:40px;margin:0;padding:0 16px 0 14px;border:0;border-radius:11px 11px 0 0;
    color:var(--faint);font-size:13px;font-weight:500;background:transparent;box-shadow:none;transition:background .15s,color .15s}
  .tnav a .ti{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.75;transition:opacity .15s,color .15s}
  .tnav a:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}
  .tnav a:hover .ti{opacity:1}
  .tnav a.on{color:var(--ink);background:var(--bg);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ink) 7%,transparent);z-index:2}
  .tnav a.on .ti{opacity:1;color:var(--red)}
  /* the feet: concave corners that join the tab to the page on either side */
  .tnav a.on::before,.tnav a.on::after{content:'';position:absolute;bottom:0;width:11px;height:11px;pointer-events:none;border:0;border-radius:0;box-shadow:none;left:auto;right:auto;top:auto;background:none}
  .tnav a.on::before{left:-11px;background:radial-gradient(circle at 0 0,transparent 10.5px,var(--bg) 11px)}
  .tnav a.on::after{right:-11px;background:radial-gradient(circle at 100% 0,transparent 10.5px,var(--bg) 11px)}
  /* thin separators between resting tabs, as a browser draws them */
  .tnav a:not(.on)+a:not(.on)::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--l2)}
  .tnav a:hover::before,.tnav a:hover+a::before,.tnav a.on+a::before{opacity:0}
  .tnav a .navtag{margin-left:0}
  /* the tools on the right: one height, no boxes */
  header.top .srch{height:34px;border:0;border-radius:9px;background:color-mix(in srgb,var(--ink) 5%,transparent);margin-left:auto;padding:0 10px}
  header.top .srch:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
  header.top .srch span{display:inline}
  header.top .ib{width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--dim)}
  header.top .ib:hover{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}
  header.top .tbtn{height:34px;border-radius:9px;padding:0 14px;box-shadow:none}
  header.top .signin{height:34px;border-radius:9px}
  /* the account as one compact chip */
  .acct{height:34px;margin-left:0;order:0;width:auto;border:0;border-radius:9px;background:color-mix(in srgb,var(--ink) 5%,transparent);overflow:visible}
  .acct>div{border-right:0;padding:0 10px;flex:0 0 auto}
  .acct .sel{border-radius:9px 0 0 9px}
  .acct .sel:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}
  .acct .aeq{padding-left:12px;border-left:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}
  .acct .aeq>span{display:none}
  .acct .tgc,.acct .ddc{display:none}
  .acct.na .aeq{display:none}
  .acct.na .sel{border-radius:9px}
}
/* the account selector shares the class .sel with pro's form dropdowns (width:100%, a
   border, a dark fill); in the top bar it is none of those - that was the wide empty box */
.acct .sel{width:auto;height:100%;border:0;background:transparent;font:inherit;color:inherit}
@media (min-width:761px){ header.top{min-height:52px} }
/* narrower windows: nothing wraps, labels give way first */
@media (min-width:761px) and (max-width:1320px){ header.top .srch span,header.top .srch kbd{display:none} header.top .srch{width:34px;padding:0;justify-content:center} .tnav .navtag{display:none} }
@media (min-width:761px) and (max-width:1180px){ .acct .aeq em{display:none} .tnav a{padding:0 12px} }
@media (min-width:761px) and (max-width:1060px){ .tnav a>span{display:none} .tnav a{padding:0 13px} .tnav a .ti{width:17px;height:17px} }
/* phones keep the bottom bar, now with the same icons */
@media (max-width:760px){
  .tnav a .ti{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .tnav a::before{display:none}
  .tnav a.on{color:var(--red)}
  .tnav a .navtag{display:none}
}
/* the account menu carries target and drawdown now */
.acmt{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:-2px 0 6px;border-radius:10px;overflow:hidden;background:var(--l)}
.acmt div{background:var(--p);padding:8px 10px 10px}
.acmt span{display:block;font-size:9.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.acmt b{display:block;font:500 12.5px var(--mono);margin:1px 0 6px}
.acmt i{display:block;height:3px;border-radius:2px;background:var(--p3);overflow:hidden}
.acmt u{display:block;height:100%;border-radius:2px;text-decoration:none}
.acmt u.mtg{background:linear-gradient(90deg,rgba(var(--up-rgb),.5),var(--up))} .acmt u.mdd{background:linear-gradient(90deg,rgba(var(--dn-rgb),.5),var(--dn))}

/* ── breach ─────────────────────────────────────────────────────── */
.brz{position:fixed;inset:0;z-index:150;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,rgba(var(--dn-rgb),.5) 100%);animation:brflash 1.15s ease-out forwards}
@keyframes brflash{0%{opacity:0}10%{opacity:1}100%{opacity:0}}
.T.brsh{animation:brshud .42s cubic-bezier(.36,.07,.19,.97)}
@keyframes brshud{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(3px)}30%,50%,70%{transform:translateX(-5px)}40%,60%{transform:translateX(5px)}}
.brm{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:16px;background:rgba(4,1,2,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:brfade .3s ease both}
@keyframes brfade{from{opacity:0}}
.brmb{position:relative;overflow:hidden;width:min(540px,100%);max-height:calc(100svh - 32px);overflow-y:auto;padding:30px 28px 22px;border-radius:20px;text-align:center;
  border:1px solid rgba(var(--dn-rgb),.42);background:linear-gradient(180deg,var(--p2),var(--p));
  box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 70px rgba(var(--dn-rgb),.13);animation:brrise .55s var(--e) .05s both}
@keyframes brrise{from{opacity:0;transform:translateY(18px) scale(.97)}}
.brmk{position:absolute;right:-14px;top:-34px;font:700 200px/1 'Hiragino Sans','Noto Sans JP','Yu Gothic',sans-serif;color:rgba(var(--dn-rgb),.07);pointer-events:none;user-select:none}
.brms{position:relative;width:58px;height:58px;fill:none;stroke:var(--dn);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 12px;display:block;filter:drop-shadow(0 0 14px rgba(var(--dn-rgb),.35))}
.brms .bsh{stroke-dasharray:180;stroke-dashoffset:180;animation:brdraw .7s var(--e) .15s forwards}
.brms .bcr{stroke-width:2.6;stroke-dasharray:40;stroke-dashoffset:40;animation:brdraw .3s ease-out .8s forwards}
@keyframes brdraw{to{stroke-dashoffset:0}}
.brme{position:relative;font:600 10.5px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--dn);margin:0 0 6px}
.brmb h3{position:relative;font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}
.brmb>p#brmD{position:relative;font-size:13px;line-height:1.55;color:var(--dim);max-width:440px;margin:0 auto 16px}
.brmg{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-radius:12px;overflow:hidden;background:var(--l);margin-bottom:16px;text-align:left}
.brmg div{background:var(--bg);padding:10px 11px}
.brmg span{display:block;font-size:9.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.brmg b{display:block;font:500 12.5px var(--mono);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brmq{position:relative;margin:0 auto 18px;max-width:420px;font:italic 400 13.5px/1.5 var(--ui);color:var(--ink);opacity:.85}
.brmq cite{display:block;margin-top:4px;font:500 10.5px var(--ui);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.brma{position:relative;display:flex;flex-direction:column;gap:8px}
.brma button,.brma a{display:flex;align-items:center;justify-content:center;height:44px;border-radius:11px;border:1px solid var(--l2);font:600 13.5px var(--ui);color:var(--dim);transition:background .15s,border-color .15s,color .15s}
.brma button:hover,.brma a:hover{color:var(--ink);background:var(--p3)}
.brma .brp{background:var(--fill);border-color:var(--fill);color:#fff}
.brma .brp:hover{background:var(--fill2);border-color:var(--fill2);color:#fff}
.brma .cspin{display:inline-block;width:14px;height:14px;margin-right:9px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:bkspin .7s linear infinite}
@media (max-width:560px){ .brmg{grid-template-columns:1fr 1fr} }
@media (prefers-reduced-motion:reduce){ .brz,.T.brsh{animation:none} .brmb,.brm{animation:none} .brms .bsh,.brms .bcr{animation:none;stroke-dashoffset:0} }

/* ── Portfolio: every account ─────────────────────────────────── */
.pfa{grid-column:1/-1;padding:14px 16px 16px}
.pfh{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.pfh h4{font-size:13px;font-weight:600}
.pff{display:flex;gap:2px;margin-left:auto;padding:3px;border-radius:9px;background:var(--bg);border:1px solid var(--l)}
.pff button{height:26px;padding:0 10px;border-radius:7px;font:500 12px var(--ui);color:var(--faint)}
.pff button i{font-style:normal;font-family:var(--mono);font-size:10.5px;opacity:.7;margin-left:3px}
.pff button:hover{color:var(--ink)} .pff button[aria-selected="true"]{background:var(--p3);color:var(--ink)}
.pfsum{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.pfsum:empty{display:none}
.pfsum div{flex:1 1 220px;padding:9px 12px;border-radius:11px;background:var(--bg);border:1px solid var(--l)}
.pfsum span{display:block;font-size:9.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.pfsum b{font:600 16px var(--mono);letter-spacing:-.02em;margin-right:8px} .pfsum em{font-style:normal;font-size:11.5px;color:var(--dim)}
.pfg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.pfc{position:relative;display:flex;flex-direction:column;gap:9px;padding:12px 13px;border-radius:13px;border:1px solid var(--l2);background:var(--bg);cursor:pointer;text-align:left;transition:border-color .15s,transform .15s,box-shadow .15s}
.pfc:hover{border-color:var(--rb);transform:translateY(-1px)}
.pfc.sel{border-color:var(--red);box-shadow:0 0 0 3px var(--ra)}
.pfc:focus-visible{outline:1.5px solid var(--red);outline-offset:2px}
.pft{display:flex;align-items:center;gap:6px;min-width:0}
.pft code{font:600 12px var(--mono);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.pftag,.pfst{font:700 9px var(--ui);letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:5px;white-space:nowrap}
.pftag.demo{background:color-mix(in srgb,var(--amb) 14%,transparent);color:var(--amb)} .pftag.real{background:var(--ra);color:var(--red)}
.pfst{background:var(--p3);color:var(--dim)} .pfst.evaluation,.pfst.funded{background:var(--ua);color:var(--up)} .pfst.breached{background:var(--da);color:var(--dn)}
.pfb{display:grid;grid-template-columns:auto auto 1fr;gap:12px}
.pfb span{display:block;font-size:9.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.pfb b{font:500 13px var(--mono);white-space:nowrap} .pfb b i{font-style:normal;font-size:11px;opacity:.8}
.pfsp{width:100%;height:34px;display:block}
.pfsp .l{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke} .pfsp .a{stroke:none;opacity:.14}
.pfsp.up .l{stroke:var(--up)} .pfsp.up .a{fill:var(--up)} .pfsp.dn .l{stroke:var(--dn)} .pfsp.dn .a{fill:var(--dn)} .pfsp.fl .l{stroke:var(--faint)} .pfsp.fl .a{fill:transparent}
.pfe{font-size:11px;line-height:1.45;color:var(--faint)}
.pfon{position:absolute;right:12px;bottom:12px;font:700 9px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.pfbtn{height:34px;padding:0 14px;border-radius:9px;border:1px solid var(--l2);font:600 12.5px var(--ui);color:var(--dim)}
.pfbtn:hover{color:var(--ink);background:var(--p3)} .pfbtn.pri{background:var(--fill);border-color:var(--fill);color:#fff} .pfbtn.pri:hover{background:var(--fill2)}
.pfbtn.sm{height:28px;padding:0 11px;font-size:11.5px;align-self:flex-start}
.pfempty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:26px 12px}
.pfempty b{font-size:14px} .pfempty span{font-size:12.5px;color:var(--dim);max-width:460px} .pfempty>div{display:flex;gap:8px;margin-top:4px}
.pfempty.sm{padding:14px}

/* ── loading-screen lines ───────────────────────────────────────── */
.btip{max-width:440px;margin:28px auto 0;text-align:center;min-height:118px}
.btl{display:inline-flex;align-items:center;gap:7px;font:600 10px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:9px}
.btl .jp{font:600 12px 'Hiragino Sans','Noto Sans JP','Yu Gothic',sans-serif;letter-spacing:.18em}
.btj{display:block;font:500 17px 'Hiragino Sans','Noto Sans JP','Yu Gothic',sans-serif;letter-spacing:.14em;color:var(--dim);margin-bottom:6px}
.btt{font:italic 400 15px/1.5 var(--ui);color:var(--ink);margin:0 auto;max-width:400px}
.btt.tip{font-style:normal;font-size:14px;color:var(--dim)}
.btg{font:400 12.5px/1.5 var(--ui);color:var(--dim);margin:7px auto 0;max-width:380px}
.bta{display:block;margin-top:9px;font:500 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}

/* ── rules drawer ───────────────────────────────────────────────── */
.rbk{position:fixed;z-index:115;top:58px;right:8px;bottom:34px;width:min(390px,calc(100vw - 16px));display:flex;flex-direction:column;
  border-radius:16px;border:1px solid var(--l2);background:linear-gradient(180deg,var(--p2),var(--p));box-shadow:0 30px 80px rgba(0,0,0,.5);animation:rbkin .3s var(--e)}
.rbk[hidden]{display:none}
@keyframes rbkin{from{opacity:0;transform:translateX(18px)}}
.rbh{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 12px;border-bottom:1px solid var(--l)}
.rbh>div{flex:1;min-width:0}
.rbh p{font:600 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 3px}
.rbh h3{display:inline;font:600 15px var(--mono);letter-spacing:-.01em;margin-right:8px}
.rbb{flex:1;overflow-y:auto;padding:6px 16px 16px}
.rbr{padding:13px 0;border-bottom:1px solid var(--l)}
.rbt{display:flex;align-items:baseline;gap:8px}
.rbt h4{font-size:13px;font-weight:600}
.rbe{font:700 8.5px var(--ui);letter-spacing:.09em;text-transform:uppercase;padding:2px 5px;border-radius:4px;background:var(--da);color:var(--dn)}
.rbt b{margin-left:auto;font:500 13px var(--mono);white-space:nowrap} .rbt b i{font-style:normal;color:var(--faint);font-size:11px;margin-left:4px}
.rbm{height:4px;margin:9px 0 7px;border-radius:2px;background:var(--p3);overflow:hidden}
.rbm i{display:block;height:100%;border-radius:2px;transition:width .5s var(--e)}
.rbm i.warn{background:linear-gradient(90deg,color-mix(in srgb,var(--amb) 50%,transparent),var(--amb))}
.rbm i.bad{background:linear-gradient(90deg,rgba(var(--dn-rgb),.5),var(--dn))}
.rbm i.good{background:linear-gradient(90deg,rgba(var(--up-rgb),.5),var(--up))}
.rbv{font:500 12px var(--mono);color:var(--dim);margin:0 0 4px} .rbv b{color:var(--ink);font-weight:600}
.rbl{font-size:12px;line-height:1.5;color:var(--faint);margin:3px 0 0} .rbl b{font-family:var(--mono);color:var(--ink);font-weight:500}
.rbn{padding:12px 0 4px} .rbn p{font-size:11.5px;line-height:1.5;color:var(--dim);margin:0 0 6px;padding-left:12px;border-left:2px solid var(--l2)}
.rbc{display:flex;gap:8px;margin:12px 0 4px}
.rbf{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;margin-top:12px;border-radius:10px;border:1px solid var(--l2);font:600 12.5px var(--ui);color:var(--dim)}
.rbf:hover{color:var(--ink);border-color:var(--rb);background:var(--p3)} .rbf svg{width:14px;height:14px}
#rulesBtn.on{color:var(--red);background:var(--ra)}
@media (max-width:760px){ .rbk{top:auto;left:8px;right:8px;bottom:calc(70px + env(safe-area-inset-bottom));width:auto;max-height:75svh} }
@media (prefers-reduced-motion:reduce){ .rbk{animation:none} }
/* signed out there is no account chip, so the search takes the whole gap between
   the tabs and the sign-in button */
@media (min-width:761px){
  header.top:has(.acct[hidden]) .srch{flex:1 1 auto;width:auto;min-width:120px;margin-left:14px;margin-right:6px;justify-content:flex-start;padding:0 12px}
  header.top:has(.acct[hidden]) .srch span,header.top:has(.acct[hidden]) .srch kbd{display:inline}
  header.top:has(.acct[hidden]) .srch span{flex:1;max-width:none;text-align:left}
}
@media (min-width:761px) and (max-width:1060px){ header.top:has(.acct[hidden]) .srch kbd{display:none} }

/* ── Neo Tokyo: frosted glass over a neon night ───────────────────
   The scene is one static SVG. The panels do not use backdrop-filter: their
   frost is the same scene blurred once offline (glass.webp), pinned to the
   viewport with background-attachment:fixed so it lines up with the scene
   behind it. A price tick then repaints a bitmap, not a live blur, which is
   what keeps an all-day terminal cool. glass.webp is tone-mapped so no pixel
   is brighter than luminance .031: every text colour here holds 4.5:1 against
   its brightest point. Only short-lived menus blur for real. */
[data-theme="tokyo"]{color-scheme:dark; --bg:#07051a; --p:#0e0a26; --p2:#140f32; --p3:#1c1642; --hov:#231b50; --l:#2a2156; --l2:#3a2f70; --l3:#54479a; --ink:#f3eeff; --dim:#cdc4ec; --faint:#aea5d6; --red:#ff5cad; --fill:#e0348a; --fill2:#c21f74; --ra:rgba(255,92,173,.13); --rb:rgba(255,92,173,.38); --up:#3df2ac; --ua:rgba(61,242,172,.11); --dn:#ff7a80; --da:rgba(255,122,128,.12); --amb:#ffc35a; --acc-rgb:255,92,173; --fill-rgb:224,52,138; --acc2-rgb:255,124,192; --soft-rgb:205,180,255; --soft2-rgb:225,210,255; --glow-rgb:255,60,150; --glow2-rgb:39,211,255; --dn-rgb:255,122,128; --up-rgb:61,242,172; --updeep-rgb:24,170,115; --buy-rgb:24,170,115; --sellg-rgb:240,70,90; --sell1:#e0344a; --sell2:#b3223a; --buy1:#12936a; --buy2:#0c7453;
  --strip:rgba(8,6,26,.35); --wt-img:url(/themes/tokyo/glass.webp);
  --wt-edge:linear-gradient(160deg,rgba(236,222,255,.34),rgba(180,150,255,.12) 28%,rgba(120,90,220,.07) 62%,rgba(255,92,173,.24))}
/* the scene gets its own compositor layer, so nothing on top ever re-rasters it */
[data-theme="tokyo"] body::before{background:#07051a url(/themes/tokyo/night.svg) center/cover no-repeat;will-change:transform}
[data-theme="tokyo"] .pn{border:1px solid transparent;
  background:linear-gradient(180deg,rgba(22,14,54,.10),rgba(6,4,22,.30)) padding-box,var(--wt-img) center/cover no-repeat fixed padding-box,var(--wt-edge) border-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px -12px rgba(2,0,12,.7)}
[data-theme="tokyo"] .ph{border-bottom-color:rgba(214,196,255,.10)}
[data-theme="tokyo"] .tab.on{background:rgba(214,196,255,.09);box-shadow:inset 0 0 0 1px rgba(214,196,255,.14)}
[data-theme="tokyo"] .wsp,[data-theme="tokyo"] .acct{background:rgba(6,4,22,.34);border-color:rgba(214,196,255,.14)}
[data-theme="tokyo"] .acct>div{border-right-color:rgba(214,196,255,.12)}
[data-theme="tokyo"] .boot{background:#07051a var(--wt-img) center/cover no-repeat}
/* the long-lived fixed drawer: same pinned frost as the panels */
[data-theme="tokyo"] .rbk{border:1px solid transparent;
  background:linear-gradient(180deg,rgba(22,14,54,.30),rgba(6,4,22,.50)) padding-box,var(--wt-img) center/cover no-repeat fixed padding-box,var(--wt-edge) border-box}
/* menus and popovers: real blur, but they are small and only live while open */
[data-theme="tokyo"] .ddp,[data-theme="tokyo"] .ctx,[data-theme="tokyo"] .thm,[data-theme="tokyo"] .ntf,[data-theme="tokyo"] .acm,[data-theme="tokyo"] .cbox{
  background:rgba(20,14,48,.82);border-color:rgba(214,196,255,.22);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 24px 60px rgba(2,0,12,.62),0 0 44px rgba(255,60,150,.07)}
[data-theme="tokyo"] .toast{background:rgba(20,14,48,.95);border-color:rgba(214,196,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 20px 50px rgba(2,0,12,.6)}
[data-theme="tokyo"] .cmd{background:rgba(5,3,20,.66)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  [data-theme="tokyo"] .ddp,[data-theme="tokyo"] .ctx,[data-theme="tokyo"] .thm,[data-theme="tokyo"] .ntf,[data-theme="tokyo"] .acm,[data-theme="tokyo"] .cbox{background:rgba(16,11,40,.97)}
}
@media (min-width:761px){
  [data-theme="tokyo"] header.top{background:linear-gradient(180deg,rgba(22,14,54,.16),rgba(6,4,22,.36)),var(--wt-img) center/cover no-repeat fixed;
    border-bottom-color:rgba(214,196,255,.16);box-shadow:inset 0 -1px 0 rgba(255,92,173,.10)}
  /* the active tab is lit glass; the concave feet only make sense on a solid page colour */
  [data-theme="tokyo"] .tnav a.on{background:rgba(214,196,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 1px 0 0 rgba(214,196,255,.10),inset -1px 0 0 rgba(214,196,255,.10)}
  [data-theme="tokyo"] .tnav a.on::before,[data-theme="tokyo"] .tnav a.on::after{display:none}
}
/* phones: iOS ignores fixed backgrounds, so panels take a plain smoked fill over the scene */
@media (max-width:760px){
  [data-theme="tokyo"] .pn,[data-theme="tokyo"] .rbk{background:linear-gradient(180deg,rgba(20,14,50,.9),rgba(10,7,30,.93)) padding-box,var(--wt-edge) border-box}
  [data-theme="tokyo"] .tnav{background:rgba(10,7,30,.94)}
}
@media (prefers-reduced-transparency:reduce){
  [data-theme="tokyo"] .pn,[data-theme="tokyo"] .rbk{background:linear-gradient(180deg,var(--p2),var(--p)) padding-box,var(--wt-edge) border-box}
  [data-theme="tokyo"] .ddp,[data-theme="tokyo"] .ctx,[data-theme="tokyo"] .thm,[data-theme="tokyo"] .ntf,[data-theme="tokyo"] .acm,[data-theme="tokyo"] .cbox{background:var(--p2);-webkit-backdrop-filter:none;backdrop-filter:none}
}
/* its swatch in the picker is a crop of the glass itself, in every theme */
.thm [data-th="tokyo"] .tsw{background:#07051a url(/themes/tokyo/glass.webp) 64% 45%/auto 190% no-repeat}
.thm [data-th="tokyo"] .tsw::before{background:rgba(14,10,38,.42);box-shadow:inset 0 0 0 1px rgba(214,196,255,.28)}

/* ── portfolio: rows size to their content (a clipped panel in a height-bound grid could shrink to nothing) ── */
#vPort{grid-template-rows:none;grid-auto-rows:max-content}

/* ── profile avatar and menu ── */
.mebtn{flex:0 0 auto;width:36px;height:36px;margin-left:4px;padding:0;border-radius:50%;display:grid;place-items:center;border:1px solid var(--l2);background:transparent;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.mebtn[hidden]{display:none}
.mebtn:hover,.mebtn[aria-expanded="true"]{border-color:var(--rb);box-shadow:0 0 0 3px rgba(var(--acc-rgb),.14)}
.mebtn:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.mebtn.busy .meav{opacity:.45}
.mebtn.busy{border-color:var(--red);border-top-color:transparent;animation:bkspin .9s linear infinite}
.meav{flex:0 0 auto;width:30px;height:30px;border-radius:50%;overflow:hidden;display:grid;place-items:center;color:#fff;
  background:linear-gradient(140deg,var(--red),rgba(var(--acc-rgb),.35))}
.meav img{width:100%;height:100%;object-fit:cover;display:block}
.meav i{font:600 12px var(--ui);font-style:normal;letter-spacing:.02em}
.meav.lg{width:44px;height:44px} .meav.lg i{font-size:16px}
.meav.xl{width:68px;height:68px;box-shadow:0 0 0 3px var(--p),0 0 0 4px rgba(var(--acc-rgb),.5)} .meav.xl i{font-size:24px}
.mem{width:260px}
.mehd{display:flex;align-items:center;gap:12px;padding:10px 10px 12px;border-bottom:1px solid var(--l);margin-bottom:4px;min-width:0}
.mehd>div{min-width:0}
.mehd b{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mehd div span{display:block;font-size:11.5px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mem .act svg.i{opacity:.8}
.mem .act:focus-visible{outline:none;background:var(--p3);color:var(--ink)}

/* ── track record ── */
#vRec{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:max-content}
#vRec .vh{grid-column:1/-1}
#trkB{display:contents}
.trkfull{grid-column:1/-1}
.trksk{display:flex;align-items:center;justify-content:center;gap:10px;padding:70px 12px;color:var(--faint);font-size:12.5px}
.trksk .cspin{width:14px;height:14px;border-radius:50%;border:2px solid var(--l2);border-top-color:var(--red);animation:bkspin .7s linear infinite}
.trkgo{height:34px;padding:0 16px;display:inline-grid;place-items:center}
.trkme{grid-column:span 2;padding:20px;display:flex;flex-direction:column;gap:16px;min-width:0;
  background:radial-gradient(420px 220px at 0% 0%,rgba(var(--acc-rgb),.15),transparent 70%),linear-gradient(180deg,var(--p2),var(--p))}
.trkid{display:flex;align-items:center;gap:16px;min-width:0}
.trkid>div{min-width:0}
.trkid b{display:block;font-size:18px;font-weight:600;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trkid div span{display:block;font:500 12px var(--mono);color:var(--faint);margin-top:3px}
.trkbd{display:flex;flex-wrap:wrap;gap:6px}
.trkbg{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px 0 4px;border-radius:13px;border:1px solid var(--l2);font-size:11.5px;color:var(--dim)}
.trkbg i{font-style:normal;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(var(--acc-rgb),.16);color:var(--red);font-size:10.5px}
.trksh{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--faint)}
.trkpub{height:22px;padding:0 9px;border-radius:11px;display:inline-flex;align-items:center;font:600 10px var(--ui);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--l2);color:var(--faint)}
.trkpub.on{color:var(--up);border-color:rgba(var(--up-rgb),.4)}
.trkcp{height:28px;padding:0 12px;border-radius:8px;border:1px solid var(--l2);font-size:12px;color:var(--ink);cursor:pointer}
.trkcp:hover{border-color:var(--rb)}
.trkk{grid-column:span 4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}
.trkk>div{padding:18px 20px;border-left:1px solid var(--l);border-top:1px solid var(--l);min-width:0}
.trkk>div:nth-child(3n+1){border-left:0} .trkk>div:nth-child(-n+3){border-top:0}
.trkk span{display:block;font-size:10.5px;font-weight:500;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
.trkk b{display:block;font:600 26px var(--mono);letter-spacing:-.035em;margin:8px 0 3px;white-space:nowrap}
.trkk b.up{color:var(--up)} .trkk b.dn{color:var(--dn)}
.trkk em{font-style:normal;font-size:11.5px;color:var(--dim)}
.trkk.trkemp{display:block}
/* a record with nothing in it yet: the tiles hold their place, greyed */
.trkwait b{color:var(--faint)}
.trkst{grid-column:1/-1}
.trkstp{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.trkstp ol{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:20px;margin:0;padding:0;list-style:none;counter-reset:trkn;flex:1 1 520px;min-width:0}
.trkstp li{counter-increment:trkn;padding-left:30px;position:relative;min-width:0}
.trkstp li::before{content:counter(trkn);position:absolute;left:0;top:1px;width:20px;height:20px;border:1px solid var(--l);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font:600 11px var(--mono);color:var(--faint)}
.trkstp b{display:block;font-size:13px;margin-bottom:3px}
.trkstp span{display:block;font-size:12px;line-height:1.5;color:var(--dim)}
.trkstb{flex:0 0 auto}
@media (max-width:780px){ .trkstp ol{grid-template-columns:1fr;gap:16px} .trkstb,.trkstb .tbtn{width:100%} }
.trkc{grid-column:span 4;min-width:0}
.trkcv{display:block;width:100%;height:200px}
.trkcv.u{color:var(--up)} .trkcv.d{color:var(--dn)}
.trkcv .ln{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.trkcv .z{stroke:var(--l2);stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.trkax{display:flex;justify-content:space-between;align-items:baseline;font:500 11px var(--mono);color:var(--faint);padding-top:8px}
.trkax b{font-size:13px} .trkax b.up{color:var(--up)} .trkax b.dn{color:var(--dn)}
.trkno{padding:40px 12px;text-align:center}
.trkm{grid-column:span 2;min-width:0}
.trkr{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--l);font-size:12.5px;color:var(--dim)}
.trkr:last-child{border-bottom:0}
.trkr b{font:600 13px var(--mono);color:var(--ink)}
.trky{grid-column:1/-1;min-width:0}
.trkyw{overflow-x:auto;scrollbar-width:thin}
.trkt{width:100%;min-width:760px;border-collapse:separate;border-spacing:4px;font:500 11.5px var(--mono)}
.trkt th{font:500 10.5px var(--ui);color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding:0 0 4px;text-align:center}
.trkt th:first-child{text-align:left}
.trkt td{height:36px;text-align:center;border-radius:7px;color:var(--ink);white-space:nowrap;padding:0 4px}
.trkt td.y{text-align:left;color:var(--dim);font-weight:600}
.trkt td.nil{background:color-mix(in srgb,var(--ink) 3%,transparent)}
.trkt td.u{background:rgba(var(--up-rgb),var(--a))} .trkt td.d{background:rgba(var(--dn-rgb),var(--a))}
.trkt td.un{box-shadow:inset 0 0 0 1px var(--l2);background-image:repeating-linear-gradient(135deg,transparent 0 5px,color-mix(in srgb,var(--ink) 5%,transparent) 5px 6px)}
.trkt td.tot{font-weight:700;background:none} .trkt td.tot.u{color:var(--up)} .trkt td.tot.d{color:var(--dn)}
.trkleg{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:var(--faint)}
.trkleg i{width:16px;height:10px;border-radius:3px;box-shadow:inset 0 0 0 1px var(--l2)}
.trkft{grid-column:1/-1;font-size:11.5px;color:var(--faint);padding:2px 4px 10px}
@media (max-width:1180px){ .trkme,.trkk,.trkc,.trkm{grid-column:1/-1} }
@media (max-width:760px){
  #vRec{grid-template-columns:minmax(0,1fr)}
  .trkk{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trkk>div{padding:14px 16px;border-left:0;border-top:1px solid var(--l)}
  .trkk>div:nth-child(2n){border-left:1px solid var(--l)} .trkk>div:nth-child(-n+2){border-top:0}
  .trkk b{font-size:21px}
  .mebtn{width:34px;height:34px}
}

/* ── checkout: the free demo card ── */
.cks.ckdemo{grid-column:span 2;border-style:dashed;background:linear-gradient(120deg,rgba(var(--up-rgb),.06),transparent 60%),var(--bg)}
.cks.ckdemo.on{border-style:solid;border-color:var(--up);background:linear-gradient(120deg,rgba(var(--up-rgb),.12),transparent 70%),var(--bg)}
.cks.ckdemo small{font:600 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--up);vertical-align:middle;margin-left:6px;padding:3px 7px;border-radius:9px;border:1px solid rgba(var(--up-rgb),.45)}

/* ── six tabs and the avatar: between phone and 1380 the idle tabs go icon-only (title keeps the name) ── */
@media (min-width:761px) and (max-width:1380px){
  header.top .tnav a:not(.on)>span,header.top .tnav a:not(.on)>.navtag{display:none}
  header.top .tnav a:not(.on){padding:0 12px;gap:0}
}
@media (min-width:761px) and (max-width:1024px){
  header.top .brand b,header.top .brand em{display:none}
  header.top>.ib,header.top>.mebtn{flex-shrink:0}
}
@media (min-width:761px) and (max-width:880px){ header.top .acct .aeq{display:none} }

/* ── trade sharing: the prompt after a winner ── */
.tshp{position:fixed;z-index:120;right:18px;bottom:46px;width:330px;padding:16px 16px 12px;border-radius:16px;border:1px solid var(--l2);overflow:hidden;
  background:radial-gradient(260px 140px at 100% 0%,rgba(var(--up-rgb),.14),transparent 70%),linear-gradient(180deg,var(--p2),var(--p));box-shadow:0 24px 60px rgba(0,0,0,.55);
  transform:translateY(16px);opacity:0;transition:transform .26s var(--e),opacity .26s var(--e)}
.tshp.tshp--on{transform:none;opacity:1}
.tshp[hidden]{display:none}
.tshk{position:absolute;right:-6px;top:-22px;font:700 110px 'Noto Sans JP',sans-serif;color:var(--up);opacity:.07;pointer-events:none;line-height:1}
.tshx{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--faint)} .tshx:hover{background:var(--p3);color:var(--ink)}
.tsht b{display:block;font:600 20px var(--mono);letter-spacing:-.02em} .tsht b.up{color:var(--up)}
.tsht span{display:block;font-size:12.5px;color:var(--dim);margin-top:2px}
.tsha{display:flex;gap:8px;margin-top:14px}
.tshgo{flex:1;height:36px;border-radius:10px;background:var(--fill);color:#fff;font-weight:600;font-size:13px} .tshgo:hover{background:var(--fill2)}
.tshno{height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--l2);color:var(--dim);font-size:13px} .tshno:hover{color:var(--ink)}
.tshoff{margin-top:8px;font-size:11px;color:var(--faint)} .tshoff:hover{color:var(--dim);text-decoration:underline}

/* Share studio: a focused preview, compact controls and persistent actions. */
.tshs{position:fixed;inset:0;z-index:140;display:none;place-items:center;padding:24px;background:rgba(12,10,9,.74);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.tshs.open{display:grid}
.tshs .tshw{--ts-ink:#28231e;--ts-dim:#756959;--ts-line:#ded5c5;--ts-paper:#f7f3ea;--ts-red:#a42620;position:relative;display:flex;flex-direction:column;width:min(1220px,100%);height:min(700px,calc(100svh - 48px));max-height:calc(100svh - 48px);overflow:hidden;border:1px solid #eee5d85c;border-radius:16px;background:var(--ts-paper);color:var(--ts-ink);box-shadow:0 32px 100px #0006;animation:tsin .25s var(--e);scrollbar-color:#bfb4a2 transparent}
.tshs .tshw>.tshxx{position:absolute;top:14px;right:16px;z-index:3;width:44px;height:44px;border-radius:8px;display:grid;place-items:center;color:var(--ts-dim);background:transparent}
.tshs .tshw>.tshxx:hover{color:var(--ts-ink);background:#e9e2d5}
.tshs :focus-visible{outline:2px solid var(--ts-red);outline-offset:3px}
.tshs button:disabled{cursor:wait;opacity:.6}
.tshs #tshB{display:grid;grid-template-rows:auto minmax(0,1fr) auto;flex:1;min-width:0;min-height:0;height:100%;padding:0;overflow:hidden}
.tshs .tshload{grid-row:1/-1;display:flex;align-items:center;justify-content:center;gap:16px;min-height:0;padding:40px;text-align:left;color:var(--ts-dim)}
.tshs .tshload b{display:block;color:var(--ts-ink);font-size:22px;font-weight:500;letter-spacing:-.035em}
.tshs .tshload span{display:block;margin-top:6px;font-size:13px}
.tshs .tshload button{margin-top:24px;min-height:44px;padding:12px 22px;border-radius:6px;background:var(--ts-red);color:#fff}
.tshs .tshrender-status{display:flex;flex-direction:column;align-items:center;gap:10px;color:#776a59;font-size:11px;line-height:1.5}
.tshs .tshload .tshrender-status span{margin:0;font-size:12px}
.tshs .tshrender-line{position:relative;display:block;width:84px;height:2px;overflow:hidden;border-radius:2px;background:#cabda844}
.tshs .tshrender-line:after{content:'';position:absolute;inset:0 auto 0 0;width:28px;border-radius:2px;background:#a4262099;animation:tsh-render-sweep 1.6s cubic-bezier(.4,0,.2,1) infinite}
@keyframes tsh-render-sweep{0%{transform:translateX(-30px)}100%{transform:translateX(88px)}}
.tshs .tshh{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:74px;padding:16px 76px 16px 24px;border-bottom:1px solid var(--ts-line)}
.tshs .tshh h3{font-size:22px;line-height:1.2;font-weight:600;letter-spacing:-.035em;margin:0;outline:none}
.tshs .tshh p{font:500 13px/1.4 var(--mono);margin:0;text-align:right;overflow-wrap:anywhere}
.tshs .tshh p.up{color:#276749}.tshs .tshh p.dn{color:#aa2e25}
.tshs .tshworkspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-width:0;min-height:0;overflow:hidden}
.tshs .tshstage{display:flex;flex-direction:column;min-width:0;min-height:0;padding:24px;background:#e9e3d8;border-right:1px solid #d6cbbb;overflow:hidden}
.tshs .tshmount{position:relative;flex:1;min-width:0;min-height:0}
.tshs .tshpv{position:absolute;inset:0;height:auto;min-height:0;flex:none;overflow:hidden}
.tshs .tshpv img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 10px #24160d32);opacity:1;transition:opacity .24s cubic-bezier(.2,0,.2,1)}
.tshs .tshpv .tshsp{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s linear .18s}
.tshs .tshpv.ld.render-wait .tshsp{opacity:1;visibility:visible;transition:opacity .18s ease,visibility 0s}
.tshs .tshpv.ld img{opacity:0}
.tshs .tshghost{display:block;width:100%;height:100%;min-height:0;overflow:visible}
.tshs .tshghost rect{fill:#eee8dd;stroke:#c4b7a3;stroke-opacity:.35;stroke-width:1;vector-effect:non-scaling-stroke}
.tshs .tshghost text{fill:#ac9d88;font:500 10px var(--ui);letter-spacing:3px}
.tshs .tshpv.failed img{opacity:0}
.tshs .tshimg-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;padding:24px;color:#564839;font-size:12px;background:#e9e2d5}
.tshs .tshimg-error b{font-size:18px;font-weight:500;color:#322b22}
.tshs .tshimg-error button{min-height:44px;padding:10px 16px;border:1px solid #95836c;border-radius:5px;margin-top:6px;color:#322b22}
.tshs .tshstage-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px;color:#746756;font-size:11px;line-height:1.4}
.tshs .tshstage-foot span:first-child{color:#3c3329;font-weight:500}
.tshs .tshstage-foot span:last-child{font:400 10px/1.4 var(--mono);text-align:right}
.tshs .tshc{min-width:0;min-height:0;padding:22px 20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.tshs .tshsection{padding:0 0 20px}
.tshs .tshl{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--ts-dim);font-size:11px;font-weight:500;line-height:1.4;margin:0 0 10px}
.tshs .tshst{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tshs .tshsw{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;overflow:hidden;padding:0;border:1px solid #d8cdbb;border-radius:6px;text-align:left;background:#f2ede3;color:var(--ts-ink);transition:border-color .18s,box-shadow .18s}
.tshs .tshsw:hover{border-color:#9b8064}
.tshs .tshsw.on{border-color:var(--ts-red);box-shadow:0 0 0 1px var(--ts-red);color:var(--ts-ink)}
.tshs .tshsw-art{position:relative;display:block;width:100%;height:52px;overflow:hidden;background:#ddd1bd}
.tshs .tshsw-art>img{width:100%;height:100%;display:block;object-fit:cover;object-position:70% 40%;transition:transform .2s var(--e)}
.tshs .tshsw:hover .tshsw-art>img{transform:scale(1.04)}
.tshs .tshsw.receipt .tshsw-art>img{object-position:0 80%;filter:saturate(.4)}
.tshs .tshsw-check{position:absolute;bottom:5px;right:5px;display:none;place-items:center;width:17px;height:17px;background:#fff7e8;border-radius:50%;color:#9d261e}
.tshs .tshsw-check svg{width:11px;height:11px;stroke-width:2.5}
.tshs .tshsw.on .tshsw-check{display:grid}
.tshs .tshsw-caption{padding:7px 6px}
.tshs .tshsw-caption b{display:block;font-size:11px;line-height:1.3;font-weight:500}
.tshs .tshfm{display:flex;gap:3px;padding:3px;background:#eae3d6;border:1px solid #dacfbb;border-radius:7px}
.tshs .tshfm button{display:flex;flex:1;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid transparent;border-radius:4px;font-size:12px;color:#746553;box-shadow:none}
.tshs .tshfm button.on{background:#fffaf0;border-color:#d5c7af;color:#362b21;box-shadow:0 1px 3px #54371b0c}
.tshs .tshratio{display:block;width:16px;height:10px;border:1px solid currentColor;border-radius:1px;opacity:.7}
.tshs .tshratio.square{width:12px;height:12px}.tshs .tshratio.story{width:9px;height:15px}
.tshs .tshdetails{border-top:1px solid var(--ts-line)}
.tshs .tshdetails summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px 0;list-style:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--ts-ink)}
.tshs .tshdetails summary::-webkit-details-marker{display:none}
.tshs .tshdetails summary>.i{width:14px;height:14px;color:var(--ts-dim);transition:transform .18s}
.tshs .tshdetails[open] summary>.i{transform:rotate(180deg)}
.tshs .tshops{display:flex;flex-direction:column;gap:0;margin:0;padding-bottom:10px}
.tshs .tshtg{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;height:auto;padding:9px 0;border-radius:0;color:var(--ts-ink);text-align:left}
.tshs .tshtg:hover{color:var(--ts-red)}
.tshs .tshtg b{display:block;font-size:12px;line-height:1.4;font-weight:500}
.tshs .tshtg small{display:block;font-size:11px;line-height:1.4;color:var(--ts-dim);margin-top:2px}
.tshs .tshtg i{position:relative;flex:0 0 auto;width:32px;height:18px;border-radius:20px;background:#c4b9a8;transition:background .15s}
.tshs .tshtg i:after{content:'';position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fffdf8;transition:transform .15s}
.tshs .tshtg.on i{background:var(--ts-red)}.tshs .tshtg.on i:after{transform:translateX(14px)}
.tshs .tshshare-body{padding:0 0 16px}
.tshs .tshlk{display:flex;margin:0 0 10px;border:1px solid #d9ccba;border-radius:6px;background:#ede6d9;overflow:hidden}
.tshs .tshlk input{flex:1;min-width:0;height:44px;border:0;padding:0 10px;border-radius:0;background:transparent;color:#675b49;font:400 11px var(--mono);outline-offset:-3px}
.tshs .tshac{display:flex;flex-wrap:wrap;gap:6px}
.tshs .tshac button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1 1 auto;min-height:40px;height:auto;padding:8px;border:1px solid #d9ccba;border-radius:5px;color:#675744;font-size:11px;white-space:nowrap}
.tshs .tshac button .i{width:13px;height:13px}.tshs .tshac button:hover{color:#302519;border-color:#ae9677;background:#efe7d8}
.tshs .tshst2{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;color:#74644f;font-size:10px}
.tshs .tshst2>span{display:flex;align-items:baseline;gap:4px}.tshs .tshst2 b{font:500 11px var(--mono);color:#493c2d;margin:0}
.tshs .tshft{font-size:10px;line-height:1.6;color:#74644f;margin-top:7px}
.tshs .tshremove{min-height:40px;font-size:11px;color:#a42620;text-decoration:underline;text-underline-offset:3px}
.tshs .tshdelivery{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 20px 16px 24px;border-top:1px solid var(--ts-line);background:var(--ts-paper);z-index:2}
.tshs .tshnotice{margin:0;color:#756652;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.tshs .tshnotice.bad{color:#a32620}
.tshs .tshbuttons{display:flex;align-items:stretch;gap:8px;min-width:0}
.tshs .tshcp,.tshs .tshdownload{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;height:auto;padding:12px 18px;border-radius:6px;font-size:12px;line-height:1.3;font-weight:500;white-space:nowrap}
.tshs .tshcp{border:1px solid #cfc2ae;background:transparent;color:#534232}
.tshs .tshcp:hover{background:#eae2d5;border-color:#b5a187}
.tshs .tshdownload{background:var(--ts-red);color:#fffaf0;transition:background .2s}
.tshs .tshdownload:hover{background:#851e19}
.tshs .tshdownload .i{width:16px;height:16px}
@media(max-width:1024px){.tshs{padding:16px}.tshs .tshw{height:min(700px,calc(100svh - 32px));max-height:calc(100svh - 32px)}.tshs .tshworkspace{grid-template-columns:minmax(0,1fr) 320px}.tshs .tshstage{padding:20px}.tshs .tshc{padding:20px 18px}}
@media(max-width:760px){.tshs{padding:8px}.tshs .tshw{width:100%;height:calc(100svh - 16px);max-height:calc(100svh - 16px);border-radius:12px}.tshs .tshw>.tshxx{top:10px;right:10px}.tshs .tshh{display:block;min-height:74px;padding:14px 64px 14px 18px}.tshs .tshh h3{font-size:20px}.tshs .tshh p{margin-top:4px;text-align:left;font-size:12px}.tshs .tshworkspace{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.tshs .tshstage{height:clamp(190px,30svh,280px);min-height:0;padding:16px 18px;border-right:0;border-bottom:1px solid #d6cbbb}.tshs .tshstage-foot{margin-top:12px;font-size:10px}.tshs .tshstage-foot span:last-child{font-size:9px}.tshs .tshc{overflow:visible;min-height:0;padding:18px}.tshs .tshsw-art{height:54px}.tshs .tshsw-caption b{font-size:12px}.tshs .tshfm button{min-height:44px;font-size:12px}.tshs .tshdetails summary{min-height:48px;font-size:13px}.tshs .tshtg b{font-size:13px}.tshs .tshac button{min-height:44px}.tshs .tshdelivery{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px max(12px,env(safe-area-inset-bottom))}.tshs .tshbuttons{display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.tshs .tshnotice{order:2;font-size:10px;line-height:1.4;min-height:14px}.tshs .tshcp,.tshs .tshdownload{min-height:46px;padding:12px 10px;font-size:12px}}
@media(max-width:360px){.tshs .tshc{padding:16px}.tshs .tshstage{padding:14px 16px}.tshs .tshst{gap:6px}.tshs .tshsw-caption b{font-size:11px}.tshs .tshfm button{gap:5px}}
@media(prefers-reduced-motion:reduce){.tshs .tshw{animation:none}.tshs .tshsw-art>img,.tshs .tshpv img,.tshs .tshtg i,.tshs .tshtg i:after,.tshs .tshdetails summary>.i,.tshs .tshpv .tshsp,.tshs .tshpv.ld.render-wait .tshsp{transition:none}.tshs .tshrender-line:after{animation:none;transform:translateX(28px)}.tshs .tshsw:hover .tshsw-art>img{transform:none}}

/* history: a share button per closed trade */
.tshb{width:26px;height:26px;border-radius:7px;display:inline-grid;place-items:center;color:var(--faint)} .tshb:hover{background:var(--p3);color:var(--ink)}
.tshb svg.i{width:14px;height:14px}
/* track record: shared trades */
.tshmt{width:100%;border-collapse:collapse;font-size:12.5px;min-width:560px}
.tshmt th{font:500 10.5px var(--ui);color:var(--faint);text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:0 8px 6px}
.tshmt td{padding:9px 8px;border-top:1px solid var(--l);font-family:var(--mono)} .tshmt td b{font-family:var(--ui)}
.tshmt .up{color:var(--up)} .tshmt .dn{color:var(--dn)} .tshmr{text-align:right}
@media (max-width:760px){ .tshp{left:12px;right:12px;width:auto;bottom:calc(74px + env(safe-area-inset-bottom))} }
/* the global .sel (a select box, 36px tall) also lands on the selected portfolio card: let the card size itself */
.pfc.sel{height:auto;font:inherit;color:inherit}

/* ── checkout: the account selector ── */
.cksel{display:flex;flex-direction:column;gap:14px}
.ckmode{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:var(--bg);border:1px solid var(--l)}
.ckmode button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 14px;border-radius:10px;text-align:left;color:var(--dim);transition:background .2s,color .2s,box-shadow .2s}
.ckmode button b{font-size:14px;font-weight:600} .ckmode button span{font-size:11.5px;color:var(--faint)}
.ckmode button:hover{color:var(--ink)}
.ckmode button.on{background:linear-gradient(180deg,var(--p3),var(--p2));color:var(--ink);box-shadow:inset 0 0 0 1px var(--l2),0 6px 18px rgba(0,0,0,.25)}
.ckmode button[data-mode="demo"].on span{color:var(--up)}
.ckszr{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);padding:4px 0 2px}
.ckszt{position:absolute;left:calc(50% / var(--n));right:calc(50% / var(--n));top:15px;height:4px;border-radius:2px;background:var(--l2)}
.ckszt u{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:linear-gradient(90deg,var(--fill),var(--red));width:calc(100% * var(--i) / (var(--n) - 1));box-shadow:0 0 12px rgba(var(--acc-rgb),.45);transition:width .3s var(--e)}
.ckszr button{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 4px 6px;border-radius:10px;color:var(--faint)}
.ckszr button i{width:18px;height:18px;margin-top:8px;border-radius:50%;background:var(--p);border:2px solid var(--l3);transition:transform .2s,border-color .2s,background .2s}
.ckszr button b{font:600 18px var(--mono);letter-spacing:-.03em;color:var(--dim);margin-top:4px}
.ckszr button span{font:500 12px var(--mono)}
.ckszr button.past i{border-color:var(--red);background:var(--red)}
.ckszr button:hover b{color:var(--ink)}
.ckszr button.on i{transform:scale(1.35);border-color:var(--red);background:var(--bg);box-shadow:0 0 0 5px rgba(var(--acc-rgb),.18),0 0 16px rgba(var(--acc-rgb),.5)}
.ckszr button.on b{color:var(--ink)} .ckszr button.on span{color:var(--up)}
.ckszr button:focus-visible{outline:none} .ckszr button:focus-visible b{text-decoration:underline;text-underline-offset:4px}
.cksum{border-radius:16px;border:1px solid var(--l2);overflow:hidden;background:radial-gradient(420px 180px at 0% 0%,rgba(var(--acc-rgb),.10),transparent 70%),var(--bg);animation:tsin .3s var(--e)}
.cksum.demo{background:radial-gradient(420px 180px at 0% 0%,rgba(var(--up-rgb),.10),transparent 70%),var(--bg)}
.cksumh{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 6px}
.cklbl{display:block;font-size:10.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.ckbig{display:block;font:600 40px var(--mono);letter-spacing:-.04em;line-height:1.1;margin:4px 0 8px}
.ckbadge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;font-size:11.5px;font-weight:600;color:var(--up);background:rgba(var(--up-rgb),.12)}
.ckprice{text-align:right}
.ckprice b{display:block;font:600 34px var(--mono);letter-spacing:-.03em;line-height:1.1;margin:4px 0 2px;color:var(--ink)}
.cksum.demo .ckprice b{color:var(--up)}
.ckprice span:last-child{font-size:11.5px;color:var(--faint)}
.ckrc{position:relative;height:150px;margin:8px 20px 4px}
.ckrc svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ckra{fill:url(#ckrg)}
.ckrp{fill:none;stroke:var(--up);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:ckdraw .9s var(--e) .05s forwards}
@keyframes ckdraw{to{stroke-dashoffset:0}}
.ckrl{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--l3)}
.ckrl span{position:absolute;right:0;bottom:3px;font-size:11px;color:var(--faint);white-space:nowrap;padding:1px 6px;border-radius:5px;background:color-mix(in srgb,var(--bg) 82%,transparent)}
.ckrl span b{font:600 11.5px var(--mono);color:var(--dim)}
.ckrl.st{border-top-style:solid;border-color:var(--l2)}
.ckrl.dl{border-color:var(--amb)} .ckrl.dl span,.ckrl.dl span b{color:var(--amb)}
.ckrl.fl{border-color:var(--dn)} .ckrl.fl span,.ckrl.fl span b{color:var(--dn)}
.ckrl.tg{border-color:var(--up)} .ckrl.tg span,.ckrl.tg span b{color:var(--up)}
.ckfacts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--l);margin-top:6px}
.ckfacts div{padding:12px 16px;border-left:1px solid var(--l);min-width:0} .ckfacts div:first-child{border-left:0}
.ckfacts span{display:block;font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.ckfacts b{display:block;font:600 18px var(--mono);letter-spacing:-.02em;margin:4px 0 1px}
.ckfacts em{font-style:normal;font-size:11.5px;color:var(--dim)}
.cksel .ckgo{margin-top:0}
.ckfoot{margin-top:-6px;text-align:center;font-size:11.5px;color:var(--faint)}
@media (max-width:760px){
  .ckbig{font-size:32px} .ckprice b{font-size:28px} .cksumh{padding:16px 16px 4px}
  .ckrc{height:120px;margin:6px 14px 2px}
  .ckfacts div{padding:10px 10px} .ckfacts b{font-size:15px} .ckfacts em{font-size:10.5px}
  .ckszr button b{font-size:15px} .ckszr button span{font-size:11px}
  .ckmode button{padding:9px 11px}
}

/* Journal and Alerts tabs are hidden for now (Will, 24 Sep) */
#dockT .tab[hidden]{display:none}

/* positions: a row shows its trade on the chart */
table.g tr.prow{cursor:pointer}
table.g tr.prow.on td{background:rgba(var(--acc-rgb),.07)}
table.g tr.prow.on td:first-child{box-shadow:inset 2px 0 0 var(--red)}

/* positions: stop and target, two fixed slots under their header */
table.g th.bkh{text-align:center}
table.g td.bkc{text-align:center;padding-top:5px;padding-bottom:5px}
.bkg{display:inline-grid;grid-template-columns:repeat(2,128px);gap:6px;vertical-align:middle}
.bkadd{height:28px;border-radius:8px;border:1px dashed var(--l3);font:500 11.5px var(--ui);color:var(--faint);transition:color .15s,border-color .15s,background .15s}
.bkadd:hover{border-style:solid;color:var(--ink)}
.bkadd.sl:hover{border-color:rgba(var(--dn-rgb),.6);background:rgba(var(--dn-rgb),.06)}
.bkadd.tp:hover{border-color:rgba(var(--up-rgb),.6);background:rgba(var(--up-rgb),.06)}
.bkg .bkv{display:flex;align-items:stretch;gap:0;height:28px;border-radius:8px;border:1px solid;overflow:hidden;min-width:0}
.bkg .bkv.sl{border-color:rgba(var(--dn-rgb),.45);background:rgba(var(--dn-rgb),.08)}
.bkg .bkv.tp{border-color:rgba(var(--up-rgb),.45);background:rgba(var(--up-rgb),.08)}
.bked{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:0 8px;font:600 12px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s}
.bked i{font:700 9.5px var(--ui);font-style:normal;letter-spacing:.08em;opacity:.75}
.bkv.sl .bked{color:var(--dn)} .bkv.tp .bked{color:var(--up)}
.bked:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.bkdl{flex:0 0 26px;display:grid;place-items:center;font-size:14px;color:var(--faint);border-left:1px solid;border-color:inherit;transition:color .15s,background .15s}
.bkdl:hover{color:var(--ink);background:rgba(0,0,0,.08)}
.bkg>.bki{width:100%;height:28px;min-width:0;border-radius:8px;padding:0 8px;font:600 12px var(--mono);text-align:center}
.bkv>.bki{flex:1;min-width:0;height:100%;border:0;border-radius:0;padding:0 8px;background:transparent;font:600 12px var(--mono);text-align:center}
@media (max-width:760px){ .bkg{grid-template-columns:repeat(2,112px)} }
/* order book hint: one line, never wraps under the Modelled tag */
#ldHint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}
/* portfolio card: the footer line and the On the terminal tag share one row */
.pfcf{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.pfcf .pfe{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pfcf .pfon{position:static;flex:0 0 auto}

/* ── phone quick bar, MT5-style: Sell | volume stepper | Buy ── */
@media (max-width:760px){
  .qbar{grid-template-columns:1fr minmax(128px,auto) 1fr;align-items:stretch}
  .qbar .sl,.qbar .by{height:60px}
  .qbar .qpx{font:600 22px/1 var(--mono);letter-spacing:-.03em;white-space:nowrap}
  .qbar .qpx small{font-size:14px;opacity:.85;letter-spacing:-.02em}
  .qbar .qpx sup{font-size:12px;vertical-align:top;margin-left:1px;position:relative;top:1px}
  .qvol{display:grid;grid-template-columns:34px 1fr 34px;align-items:stretch;height:60px;border-radius:11px;border:1px solid var(--l2);background:var(--bg);overflow:hidden}
  .qbar .qvol button{height:auto;padding:0;border-radius:0;align-items:center;justify-content:center;text-align:center}
  .qbar .qst{font:500 20px/1 var(--ui);color:var(--dim);display:flex}
  .qbar .qst:active{background:var(--p3);transform:none}
  .qvv{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;border-left:1px solid var(--l);border-right:1px solid var(--l)}
  .qbar .qv{font:600 15px/1.1 var(--mono);letter-spacing:-.02em;color:var(--ink);background:none;height:auto;display:block;white-space:nowrap}
  .qbar .qm{font:600 9px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);background:none;height:auto;display:block;padding:2px 4px}
  .qvv em{font:500 9.5px/1 var(--mono);font-style:normal;color:var(--faint);white-space:nowrap}
  .qvi{width:100%;max-width:96px;height:22px;border:1px solid var(--rb);border-radius:6px;background:var(--p);color:var(--ink);font:600 14px var(--mono);text-align:center;padding:0 4px}
}
@media (max-width:360px){ .qbar{grid-template-columns:1fr 112px 1fr} .qbar .qpx{font-size:19px} .qbar .qpx small{font-size:12px} .qvol{grid-template-columns:28px 1fr 28px} }

#clientBtn{display:grid;place-items:center}
.mem a.act{text-decoration:none}

/* checkout: the free $1K welcome account */
.ckwel{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1px solid rgba(var(--acc-rgb),.45);background:radial-gradient(360px 120px at 0% 0%,rgba(var(--acc-rgb),.18),transparent 70%),var(--bg)}
.ckwel__k{position:absolute;right:120px;top:-18px;font:700 84px/1 'Noto Sans JP',sans-serif;color:var(--red);opacity:.08;pointer-events:none}
.ckwel>div{flex:1;min-width:0}
.ckwel b{display:block;font-size:15px;font-weight:600}
.ckwel span:not(.ckwel__k){font-size:12px;color:var(--dim)}
.ckwelgo{flex:0 0 auto;height:38px;padding:0 16px;border-radius:10px;background:var(--fill);color:#fff;font-weight:600;font-size:13px;box-shadow:0 8px 22px rgba(var(--fill-rgb),.3)}
.ckwelgo:hover{background:var(--fill2)}
@media (max-width:560px){ .ckwel{flex-wrap:wrap} .ckwelgo{width:100%} .ckwel__k{right:-6px} }

/* chart toolbar: the Trades toggle sits with the chart-type buttons */
#thSeg{margin-left:6px}
/* back to the client portal: a labelled pill, not an unexplained icon */
#clientBtn.cpbtn{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px 0 10px;border-radius:17px;border:1px solid var(--l2);color:var(--dim);font:600 12.5px var(--ui);white-space:nowrap;text-decoration:none;transition:color .15s,border-color .15s,background .15s}
#clientBtn.cpbtn:hover{color:var(--ink);border-color:var(--rb);background:rgba(var(--acc-rgb),.06)}
#clientBtn .i{width:15px;height:15px}
#clientBtn .cps{display:none}
@media (max-width:1380px){ #clientBtn .cpl{display:none} #clientBtn .cps{display:inline} }
@media (max-width:1024px){ #clientBtn .cps{display:none} #clientBtn.cpbtn{padding:0;width:34px;justify-content:center} }


/* ── the beta strip: one thin full-bleed line above the terminal, the same
      shape the client shell and the marketing site use ───────────────────── */
.anb{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;
  height:34px;padding:0 44px 0 20px;background:var(--ra);border-bottom:1px solid var(--l2);
  font-size:11.5px;line-height:1.4;color:var(--dim);letter-spacing:.01em}
.anb[hidden]{display:none}
.anb__t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anb__t b{color:var(--ink);font-weight:600}
.anb__go{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:var(--red);font-weight:600;
  text-decoration:underline;text-underline-offset:3px}
.anb__go:hover{color:var(--ink)}
.anb__i{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.anb__x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;
  display:grid;place-items:center;border-radius:50%;color:var(--faint);opacity:.7;background:none;border:0;cursor:pointer}
.anb__x:hover{opacity:1;color:var(--ink)}
.anb__x svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
@media (max-width:820px){ .anb{gap:10px;padding:0 38px 0 14px;font-size:11px} .anb__i{display:none} }
@media (max-width:520px){ .anb__t b{display:none} }

/* invite-only welcome: fair-play acceptance in the banner, and the invite item in the profile menu */
.ckwel__ok{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:12px;color:var(--dim);cursor:pointer}
.ckwel__ok a{color:var(--red);text-decoration:underline}
.ckwelgo[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.mebadge{margin-left:auto;font:700 9.5px var(--ui);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--up);background:rgba(var(--up-rgb),.12);padding:2px 6px;border-radius:6px}
.ckwel__miss{display:block;margin-top:8px;font-size:12px;color:var(--amb)}
a.ckwelgo{display:inline-grid;place-items:center;text-decoration:none}

/* signed out (html.pgst, set by pro.js): no order ticket. The book and the tape
   stack to fill the column and a sign-in card sits under them. */
.gcta{display:none}
.pgst .side .pn.tk{display:none}
.pgst #bookT .tab[data-b="trades"],.pgst #ldHint{display:none}
.pgst .side .pn.ld{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.pgst #bkBook{flex:1.25 1 0}
.pgst #bkTrades[hidden]{display:flex!important;flex:1 1 0;flex-direction:column;min-height:0;border-top:1px solid var(--line)}
.pgst #bkTrades .tsl{flex:1 1 auto;min-height:0;overflow:hidden}
.pgst .gcta{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;padding:14px}
.gcta b{font-size:14px}.gcta p{margin:0;color:var(--dim);font-size:12px;line-height:1.45}
.gcta__b{padding:11px 12px;border:0;border-radius:10px;background:var(--red);color:#fff;font:600 13px var(--ui,inherit);cursor:pointer}
.gcta__b:hover{filter:brightness(1.08)}
/* signed out: no Portfolio tab (nothing to show without an account) */
.pgst [data-v="port"]{display:none!important}

/* Mizora Pro plan locks (pro.js plPaint): .plk on anything the plan does not include */
[data-v].plk{opacity:.55}
[data-v].plk::after,.pill.plk::after{content:'';display:inline-block;width:9px;height:9px;margin-left:5px;vertical-align:-1px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 11V8a5 5 0 0 1 10 0v3h1v10H6V11zm2 0h6V8a3 3 0 0 0-6 0z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 11V8a5 5 0 0 1 10 0v3h1v10H6V11zm2 0h6V8a3 3 0 0 0-6 0z'/%3E%3C/svg%3E") center/contain no-repeat}
.pn.ld{position:relative}
.plov{display:none}
.plov.plk{position:absolute;inset:34px 0 0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;text-align:center;
  background:color-mix(in srgb,var(--p) 55%,transparent);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);color:var(--ink);cursor:pointer}
.plov svg{width:22px;height:22px;color:var(--red)} .plov b{font-size:13px} .plov span{font-size:11.5px;color:var(--dim)}
.plov em{margin-top:6px;padding:7px 14px;border-radius:9px;background:var(--fill);color:#fff;font:600 12px var(--ui);font-style:normal}
.pgst .plov{display:none!important}
.pld{position:fixed;inset:0;z-index:160;display:none;place-items:center;padding:16px;background:rgba(4,1,2,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pld.open{display:grid}
.pldw{position:relative;overflow:hidden;width:min(380px,100%);padding:22px 20px 16px;border-radius:18px;border:1px solid var(--l2);background:linear-gradient(180deg,var(--p2),var(--p));box-shadow:0 30px 80px rgba(0,0,0,.55)}
.pldk{position:absolute;right:-4px;top:-20px;font:700 100px 'Noto Sans JP',sans-serif;color:var(--red);opacity:.08;pointer-events:none}
.pldw b{display:block;font-size:17px;line-height:1.3;margin-bottom:8px}.pldw p{margin:0 0 16px;color:var(--dim);font-size:13px;line-height:1.5}
.plda{display:flex;gap:8px}.pldgo{flex:1;display:grid;place-items:center;height:40px;border-radius:11px;background:var(--fill);color:#fff;font-weight:600;font-size:13.5px;text-decoration:none}
.plda button{height:40px;padding:0 14px;border-radius:11px;border:1px solid var(--l2);color:var(--dim);font-size:13px}.pldall{display:block;margin-top:12px;font-size:12px;color:var(--faint)}
.mepl .mebadge{margin-left:auto}

/* Flip server protection, scoped to the Pro order ticket. */
.fp-protection{margin:10px 0 12px;padding:12px;border:1px solid var(--l2,var(--l));border-radius:10px;background:var(--p2,var(--p));color:var(--ink);font-family:var(--ui,inherit);font-size:11px;line-height:1.45;min-width:0}
.fp-protection[hidden]{display:none!important}
.fp-protection__head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.fp-protection__head>strong{font-size:11px;font-weight:650;letter-spacing:.015em}
.fp-protection__state{display:inline-flex;align-items:center;gap:5px;color:var(--up);font-size:9px;font-weight:650;white-space:nowrap}
.fp-protection__state:before{content:"";height:5px;width:5px;border-radius:50%;background:currentColor}
.fp-protection[data-state="paused"] .fp-protection__state{color:var(--dim)}
.fp-protection[data-state="boss"] .fp-protection__state{color:var(--red)}
.fp-protection__allowance{display:flex;align-items:baseline;gap:7px;margin:10px 0 0}
.fp-protection__allowance>b{font-family:var(--mono,monospace);font-weight:550;font-size:23px;letter-spacing:-.8px;font-variant-numeric:tabular-nums;line-height:1.15}
.fp-protection__allowance>span{font-size:10px;color:var(--dim)}
.fp-protection__base{margin:3px 0 9px;color:var(--dim);font-size:10px;font-variant-numeric:tabular-nums}
.fp-protection__copy,.fp-protection__paused{margin:8px 0;color:var(--dim);font-size:10px;line-height:1.5}
.fp-protection__foot{margin:10px 0 0;padding-top:8px;border-top:1px solid var(--l);color:var(--faint);font-size:9px;line-height:1.5}
.fp-protection__ideas{margin-top:9px;border-top:1px solid var(--l)}
.fp-protection__ideas>summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;padding:7px 0;font-size:10px;font-weight:550;color:var(--ink)}
.fp-protection__ideas>summary:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}
.fp-protection__idea{padding:0 0 9px;margin:0 0 9px;border-bottom:1px solid var(--l)}
.fp-protection__idea:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.fp-protection__idea-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:10px;font-variant-numeric:tabular-nums}
.fp-protection__idea-title>strong{font-weight:550}
.fp-protection__idea-title>span{color:var(--dim);font-family:var(--mono,monospace)}
.fp-protection__meter{height:3px;overflow:hidden;background:var(--l);margin:7px 0;border-radius:3px}
.fp-protection__meter>span{display:block;height:100%;background:var(--red);border-radius:3px}
.fp-protection__net{margin:5px 0 0;font-size:9px;color:var(--faint);line-height:1.5;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fp-protection__order{margin-top:10px;padding-top:10px;border-top:1px solid var(--l)}
.fp-protection__order-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:28px}
.fp-protection__order-head>strong{font-size:10px;font-weight:550}
.fp-protection__auto{appearance:none;border:1px solid var(--l2);border-radius:5px;color:var(--ink);background:var(--p);font:inherit;font-size:10px;min-height:44px;min-width:60px;padding:7px;cursor:pointer}
.fp-protection__auto:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.fp-protection__preview-row{display:grid;grid-template-columns:25px minmax(0,1fr);gap:6px;padding-top:7px;font-size:9px;font-variant-numeric:tabular-nums}
.fp-protection__preview-row>span:first-child{color:var(--dim)}
.fp-protection__preview-row>span:last-child{overflow-wrap:anywhere}
.fp-protection__preview-row[data-valid="false"]>span:last-child{color:var(--dim)}
.fp-protection__preview-pending{margin:6px 0 0;color:var(--faint);font-size:9px;line-height:1.5}

/* Native Pro Flip rounds; inherits the terminal's dark and light theme tokens. */
.fp-pro-hud{flex:none;order:-2;padding:14px;min-width:0;overflow:hidden}
.fp-pro-has-run .side{overflow-y:auto;overscroll-behavior:contain}
.fp-pro-hud[hidden]{display:none!important}
.fp-pro-head{display:flex;align-items:center;justify-content:space-between;gap:9px}
.fp-pro-eyebrow{display:block;color:var(--faint);font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.fp-pro-head h3{font-size:17px;font-weight:600;letter-spacing:-.35px;margin:4px 0 0;line-height:1.2}
.fp-pro-status{max-width:105px;border:1px solid var(--l2);padding:4px 6px;border-radius:4px;font-size:9px;line-height:1.3;color:var(--dim);text-align:center}
.fp-pro-status[data-state="decision"]{color:var(--up);border-color:var(--up)}
.fp-pro-ladder{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;margin:13px 0;gap:5px}
.fp-pro-ladder li{height:25px;display:grid;place-items:center;border:1px solid var(--l);background:var(--p2);color:var(--faint);font-size:10px;font-family:var(--mono);border-radius:4px}
.fp-pro-ladder li[data-passed="true"]{border-color:var(--up);color:var(--up)}
.fp-pro-ladder li[aria-current="step"]{background:var(--red);color:#fff;border-color:var(--red);font-weight:650}
.fp-pro-values,.fp-pro-objectives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fp-pro-metric{display:flex;flex-direction:column;gap:4px;min-width:0}
.fp-pro-metric>span{font-size:9px;color:var(--faint)}
.fp-pro-metric>strong{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:16px;font-weight:550;line-height:1.25;overflow-wrap:anywhere}
.fp-pro-objectives{margin-top:11px}.fp-pro-objectives .fp-pro-metric>strong{font-size:11px}
.fp-pro-target{display:flex;justify-content:space-between;gap:8px;font-size:9px;line-height:1.5;margin-top:13px;color:var(--dim)}
.fp-pro-target>strong{font-family:var(--mono);font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.fp-pro-progress{height:4px;background:var(--l);overflow:hidden;border-radius:3px;margin-top:6px}
.fp-pro-progress>i{height:100%;display:block;background:var(--red);border-radius:3px}
.fp-pro-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 13px;border:1px solid var(--l2);border-radius:7px;font:inherit;font-size:11px;font-weight:550;line-height:1.4;color:var(--ink);background:var(--p2);text-align:center;text-decoration:none;cursor:pointer}
.fp-pro-button.is-primary{background:var(--red);color:#fff;border-color:var(--red)}
.fp-pro-button:disabled{opacity:.45;cursor:default}
.fp-pro-button:focus-visible,.fp-pro-link:focus-visible,.fp-pro-form input:focus-visible,.fp-pro-form select:focus-visible,.fp-pro-consent input:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.fp-pro-hud>.fp-pro-button{width:100%;margin-top:13px}
.fp-pro-has-run .flip-live-chip{display:none!important}
.fp-pro-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:1px solid var(--l2);border-radius:16px;padding:0;color:var(--ink);background:var(--p);font-family:var(--ui);box-shadow:0 25px 100px #0007;overflow:hidden}
.fp-pro-dialog[open]{display:flex;flex-direction:column}
.fp-pro-dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}
.fp-pro-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--l);flex:none}
.fp-pro-dialog-head h2{font-size:25px;font-weight:550;letter-spacing:-.8px;line-height:1.15;margin:6px 0 0}
.fp-pro-close{width:44px;flex:none;padding:0;font-size:26px;font-weight:400;background:transparent}
.fp-pro-dialog-body{padding:22px 24px;overflow:auto;overscroll-behavior:contain;min-height:0}
.fp-pro-dialog .fp-pro-ladder{margin:0 0 20px}.fp-pro-dialog .fp-pro-ladder li{height:36px;font-size:12px}
.fp-pro-dialog .fp-pro-values .fp-pro-metric>strong{font-size:27px;letter-spacing:-.7px}
.fp-pro-dialog .fp-pro-metric>span{font-size:11px}.fp-pro-dialog .fp-pro-objectives{margin-top:20px;gap:15px}.fp-pro-dialog .fp-pro-objectives .fp-pro-metric>strong{font-size:14px}
.fp-pro-dialog .fp-pro-target{font-size:11px;margin-top:20px}
.fp-pro-copy{font-size:12px;line-height:1.65;color:var(--dim);margin:0 0 18px}.fp-pro-overview+.fp-pro-copy{margin-top:20px}
.fp-pro-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.fp-pro-actions>.fp-pro-button{flex:1}
.fp-pro-link{display:inline-block;margin-top:18px;font-size:11px;line-height:1.5;color:var(--dim);text-decoration:underline;text-underline-offset:3px}
.fp-pro-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fp-pro-entry{padding:18px;border:1px solid var(--l);border-radius:10px;background:var(--p2)}
.fp-pro-entry[data-selected="true"]{border-color:var(--red)}
.fp-pro-entry h3{font-family:var(--mono);font-size:28px;font-weight:550;letter-spacing:-1px;margin:12px 0 3px;line-height:1.2}
.fp-pro-entry-sub{font-size:10px;color:var(--faint);margin:0 0 15px}
.fp-pro-entry dl{margin:0 0 16px}.fp-pro-entry dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--l);font-size:10px;line-height:1.45}.fp-pro-entry dt{color:var(--dim)}.fp-pro-entry dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.fp-pro-entry .fp-pro-button{width:100%}
.fp-pro-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0;color:var(--dim);font-size:12px;line-height:1.5;cursor:pointer}.fp-pro-consent input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:var(--red)}
.fp-pro-error{color:var(--red);font-size:12px;line-height:1.5;min-height:1px;margin:14px 0}
.fp-pro-form{display:flex;flex-direction:column;gap:15px}.fp-pro-field{display:flex;flex-direction:column;gap:7px}.fp-pro-field[hidden]{display:none!important}.fp-pro-field label{font-size:12px;color:var(--dim)}.fp-pro-field input,.fp-pro-field select{box-sizing:border-box;min-height:46px;width:100%;border:1px solid var(--l2);border-radius:7px;background:var(--p2);color:var(--ink);padding:10px 12px;font:inherit;font-size:13px}.fp-pro-form .fp-pro-error{margin:0}
@media(max-width:600px){.fp-pro-dialog-head{padding:18px}.fp-pro-dialog-head h2{font-size:22px}.fp-pro-dialog-body{padding:18px}.fp-pro-entry-grid{grid-template-columns:1fr}.fp-pro-entry{padding:16px}.fp-pro-actions{flex-direction:column}.fp-pro-dialog .fp-pro-values .fp-pro-metric>strong{font-size:22px}}


/* Compact New evaluation checkout. Existing round and reward dialogs keep their layout. */
.fp-pro-dialog:has(.fp-pro-entry-checkout){width:min(520px,calc(100vw - 24px));margin:auto}
.fp-pro-dialog:has(.fp-pro-entry-checkout) .fp-pro-dialog-head{padding:18px 22px;gap:12px}
.fp-pro-dialog:has(.fp-pro-entry-checkout) .fp-pro-dialog-head h2{font-size:24px;letter-spacing:-.65px;margin-top:5px}
.fp-pro-dialog-body.fp-pro-entry-checkout{display:flex;flex-direction:column;flex:1;padding:0;min-height:0;overflow:hidden}
.fp-pro-entry-checkout .fp-entry-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 22px}
.fp-pro-entry-checkout .fp-entry-note{margin:0 0 16px;color:var(--dim);font-size:12px;line-height:1.6}
.fp-pro-entry-checkout .fp-entry-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fp-pro-entry-checkout .fp-entry-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;min-width:0;min-height:84px;padding:14px 16px;border:1px solid var(--l2);border-radius:8px;background:var(--p2);text-align:left;color:var(--ink);transition:border-color .15s,background .15s}
.fp-pro-entry-checkout .fp-entry-option:hover{border-color:var(--dim)}
.fp-pro-entry-checkout .fp-entry-option[aria-pressed=true]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:color-mix(in srgb,var(--red) 7%,var(--p2))}
.fp-pro-entry-checkout .fp-entry-option strong{font-size:24px;font-weight:600;line-height:1.1;letter-spacing:-.6px}
.fp-pro-entry-checkout .fp-entry-option span{color:var(--dim);font-size:12px;line-height:1.4}
.fp-pro-entry-checkout .fp-entry-option:disabled{cursor:wait;opacity:.55}
.fp-pro-entry-checkout .fp-entry-option:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.fp-pro-entry-checkout .fp-entry-quantity{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.fp-pro-entry-checkout .fp-entry-quantity>span{font-size:12px;color:var(--dim)}
.fp-pro-entry-checkout .fp-entry-quantity>div{display:flex;gap:6px}
.fp-pro-entry-checkout .fp-entry-quantity button{min-width:44px;min-height:44px;padding:8px;border-radius:6px;font-size:13px}
.fp-pro-entry-checkout .fp-entry-quantity button[aria-pressed=true]{border-color:var(--red);background:var(--red);color:#fff}
.fp-pro-entry-checkout .fp-entry-terms{margin:18px 0 0;color:var(--dim);font-size:11px;line-height:1.65}
.fp-pro-entry-checkout .fp-entry-summary{margin:0;padding:0}
.fp-pro-entry-checkout .fp-entry-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--l);font-size:12px;line-height:1.5}
.fp-pro-entry-checkout .fp-entry-summary>div:first-child{padding-top:0}
.fp-pro-entry-checkout .fp-entry-summary dt{color:var(--dim)}
.fp-pro-entry-checkout .fp-entry-summary dd{margin:0;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:550}
.fp-pro-entry-checkout .fp-entry-rules{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;color:var(--dim);font-size:11px;text-underline-offset:3px}
.fp-pro-entry-checkout .fp-entry-rules:hover{color:var(--ink)}
.fp-pro-entry-checkout .fp-entry-status{flex:none;padding:12px 22px;border-top:1px solid var(--l)}
.fp-pro-entry-checkout .fp-entry-error{margin:0;color:var(--red);font-size:12px;line-height:1.6}
.fp-pro-entry-checkout .fp-entry-notice{margin:0}
.fp-pro-entry-checkout .fp-entry-footer{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--l);background:var(--p)}
.fp-pro-entry-checkout .fp-entry-total{display:flex;flex-direction:column;gap:5px;min-width:0}
.fp-pro-entry-checkout .fp-entry-total span{font-size:10px;color:var(--faint)}
.fp-pro-entry-checkout .fp-entry-total strong{font-size:21px;line-height:1.2;letter-spacing:-.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.fp-pro-entry-checkout .fp-entry-actions{display:flex;align-items:stretch;gap:8px}
.fp-pro-entry-checkout .fp-entry-actions button{min-height:46px;font-size:12px;white-space:nowrap}
.fp-pro-entry-checkout .fp-entry-back{background:transparent}
@media(max-width:600px){.fp-pro-dialog:has(.fp-pro-entry-checkout) .fp-pro-dialog-head{padding:16px 18px}.fp-pro-dialog:has(.fp-pro-entry-checkout) .fp-pro-dialog-head h2{font-size:22px}.fp-pro-entry-checkout .fp-entry-content{padding:18px}.fp-pro-entry-checkout .fp-entry-option{padding:14px;min-height:80px}.fp-pro-entry-checkout .fp-entry-option strong{font-size:22px}.fp-pro-entry-checkout .fp-entry-footer{flex-direction:column;align-items:stretch;gap:12px;padding:14px 18px max(14px,env(safe-area-inset-bottom))}.fp-pro-entry-checkout .fp-entry-total{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}.fp-pro-entry-checkout .fp-entry-total span{font-size:11px}.fp-pro-entry-checkout .fp-entry-actions>.fp-entry-submit{flex:1}.fp-pro-entry-checkout .fp-entry-actions button{font-size:13px}.fp-pro-entry-checkout .fp-entry-terms{font-size:11px}}
@media(prefers-reduced-motion:reduce){.fp-pro-entry-checkout .fp-entry-option{transition:none}}

/* Keep the book readable when the ticket or Flip panel needs more room. */
.side{overflow-y:auto;overscroll-behavior:contain}
body:not(.stock-market) .side>.pn.ld{min-height:304px}
.pgst body:not(.stock-market) .side>.pn.ld{min-height:420px}
.pgst body:not(.stock-market) #bkBook{min-height:214px}
#lad>.lr,#lad>.lsp{flex-shrink:0}
.side>.ld #bookT{gap:6px}
.side>.ld #bookT .tab,.side>.ld #bookT .mdl{flex-shrink:0}
@media(min-width:1101px),(max-width:480px){.side>.ld #ldHint{display:none}}

/* account menu rows: product first, code as a quiet second line, copy role inline (29 Sep) */
.acm{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
.acm .dk{position:relative;grid-template-columns:auto 1fr auto;grid-template-areas:"n t e" "b b i";align-items:center;gap:3px 8px;padding:10px 12px 10px 14px}
.acm .dk+.dk{margin-top:1px}
.acm .dk .dkn{grid-area:n;font:600 13px var(--ui);color:var(--ink);white-space:nowrap}
.acm .dk .dkn small{font:500 10.5px var(--ui);color:var(--faint);margin-left:4px}
.acm .dk em{grid-area:e;color:var(--ink)}
.acm .dk b{grid-area:b;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 10.5px var(--mono);letter-spacing:.02em;color:var(--faint)}
.acm .dk i[class^="st-"]{grid-area:i;font-size:9.5px;font-weight:600;letter-spacing:.1em}
.acm .dk i.mz-copy-role{grid-area:t;justify-self:start;margin:0;padding:1px 6px;border-radius:5px;font:600 9px/1.6 var(--ui);letter-spacing:.09em;text-align:center}
.acm .dk.on::before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:0 3px 3px 0;background:var(--red)}

/* account menu: live open P&L on each row (29 Sep 2026) */
.acm .dk i.dkpl{text-transform:none;letter-spacing:0;font:600 11.5px var(--ui);white-space:nowrap}
.acm .dk i.dkpl.up{color:var(--up)}.acm .dk i.dkpl.dn{color:var(--dn)}

/* Flip target: live net incl. open P&L (29 Sep 2026) */
.fp-pro-progress{position:relative}
.fp-pro-progress .fp-pro-open{position:absolute;top:0;bottom:0;border-radius:inherit;background:currentColor;opacity:.35;background-image:repeating-linear-gradient(135deg,transparent 0 4px,rgba(255,255,255,.35) 4px 8px);transition:width .3s,left .3s}
.fp-pro-target .fp-pro-hit{font-style:normal;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(60,170,110,.15);color:var(--up);margin-left:8px}
.fp-pro-target.is-hit strong{color:var(--up)}

/* October polish: clear market states and compact, readable account limits. */
.market-state{font:500 10px/1.3 var(--ui)!important;text-transform:none!important;letter-spacing:0!important;color:var(--faint);white-space:normal;max-width:120px;text-align:right}
.wr[data-market-state="closed"] .market-state{color:var(--faint)}
.wr[data-market-state="stale"] .market-state,.wr[data-market-state="delayed"] .market-state{color:var(--amb)}
.wr .s{white-space:nowrap}.wr.shut .sp{opacity:.22;animation:none}
.mktc{padding:12px!important;border:1px solid var(--l2)!important;background:var(--p2)!important;border-radius:8px;color:var(--dim)!important;font:11px/1.5 var(--ui)!important;letter-spacing:0!important;text-transform:none!important}
.mktc b{display:block;font-size:12px;color:var(--ink);font-weight:600;margin-bottom:4px}.mktc span{display:block}
.tk .bs button:disabled,.odx button:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.35)}
.market-unavailable #depth,.market-unavailable #imb{opacity:0}.market-unavailable #ldHint{visibility:hidden}
.market-book-empty{display:grid;place-content:center;gap:5px;min-height:130px;text-align:center;color:var(--faint);font-size:11px}.market-book-empty b{color:var(--dim);font-weight:550}
.fp-protection{padding:14px;margin:12px 0;background:var(--p2);border-color:var(--l2)}
.fp-protection__head>strong{font-size:12px}.fp-protection__state{font-size:10px}
.fp-protection__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}
.fp-protection__metric{display:flex;flex-direction:column;gap:4px;font-variant-numeric:tabular-nums}.fp-protection__metric>span{font-size:10px;color:var(--dim)}
.fp-protection__metric>strong{font-size:18px;line-height:1.15;font-weight:600;letter-spacing:-.04em;overflow-wrap:anywhere}.fp-protection__metric>small{font-size:9px;color:var(--faint)}
.fp-protection__details{border-top:1px solid var(--l);font:11px/1.55 var(--ui)}.fp-protection__details summary{padding:10px 0;cursor:pointer;font-weight:550;color:var(--dim);min-height:38px}.fp-protection__details p{margin:0 0 8px;color:var(--dim)}
.fp-protection__details summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}.fp-protection__order-head>strong{font-size:11px}.fp-protection__preview-row,.fp-protection__preview-pending{font-size:10px}
