/* HeatCharting — app styles */
:root{--panel:#131318;--hov:rgba(255,255,255,.06);
  --bg:#0a0a0d; --bg2:#111116; --bg3:#18181f; --bg4:#20202a; --line:#22222b; --line2:#2e2e3a;
  --text:#e6e7eb; --muted:#8b8f9a; --dim:#5d606b;
  --accent:#ff7a1a; --accent2:#ffb347; --accentBg:rgba(255,122,26,.14); --blue:#2f7cf6;
  --up:#22ab94; --down:#f23645; --warn:#f5a623;
  --heat:linear-gradient(90deg,#2b5cff,#00c2ff 35%,#ffd23f 70%,#ff5a1f);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:13px Inter,system-ui,sans-serif;overflow:hidden;user-select:none;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,select,textarea{font:inherit;color:var(--text);background:var(--bg3);border:1px solid var(--line2);border-radius:7px;padding:6px 9px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
input[type=range]{accent-color:var(--accent);padding:0;border:0;background:none}
input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#2a2a34;border-radius:4px}::-webkit-scrollbar-track{background:transparent}

/* splash */
#splash{position:fixed;inset:0;z-index:100;background:radial-gradient(1200px 600px at 50% 40%,#16121a,#0a0a0d);display:flex;align-items:center;justify-content:center;transition:opacity .5s}
#splash.gone{opacity:0;pointer-events:none}
.sp-in{display:flex;flex-direction:column;align-items:center;gap:12px}
.sp-in img{filter:drop-shadow(0 10px 40px rgba(255,122,26,.35))}
.sp-word{font-size:30px;font-weight:800;letter-spacing:-.6px}.sp-word span{color:var(--muted);font-weight:600}
.sp-tag{color:var(--muted);font-size:13px;letter-spacing:.3px}
.sp-bar{width:180px;height:3px;border-radius:2px;background:var(--bg3);overflow:hidden;margin-top:10px}.sp-bar i{display:block;height:100%;width:40%;background:var(--heat);animation:sp 1.1s ease-in-out infinite}
@keyframes sp{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}

/* layout */
#app{display:grid;grid-template-columns:46px 1fr auto 46px;grid-template-rows:44px 1fr auto 30px;height:100vh}
#top{grid-column:1/5;grid-row:1;display:flex;align-items:center;gap:2px;padding:0 8px;border-bottom:1px solid var(--line);background:var(--bg);min-width:0;overflow-x:auto;overflow-y:hidden}
#top::-webkit-scrollbar{height:0}
#left{grid-column:1;grid-row:2/5;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:6px 0;gap:2px;overflow-y:auto}
#main{grid-column:2;grid-row:2;position:relative;min-width:0;min-height:0}
#drawer{grid-column:2;grid-row:3;height:0;overflow:hidden;border-top:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column}
#drawer.open{height:clamp(240px,38vh,420px)}
#panel{grid-column:3;grid-row:2/5;width:0;overflow:hidden;border-left:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column}
#panel.open{width:310px}
#rightbar{grid-column:4;grid-row:2/5;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:6px 0;gap:2px}
#bottom{grid-column:2;grid-row:4;display:flex;align-items:center;gap:2px;padding:0 6px;border-top:1px solid var(--line);font-size:12px;min-width:0;overflow:hidden}
.gap{flex:1}.spacer{flex:1}
.sep{width:1px;height:20px;background:var(--line);margin:0 4px;flex:none}
.grp{display:flex;align-items:center}

/* buttons */
.tb{height:30px;min-width:30px;padding:0 8px;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text);white-space:nowrap;flex:none}
.tb:hover{background:var(--bg3)} .tb.on{color:var(--accent)} .tb.act{background:var(--bg3)}
.tb svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#left .tb,#rightbar .tb{width:34px;height:34px;padding:0}
#left .tb.on{background:var(--accentBg);color:var(--accent)}
#rightbar .tb.on{background:var(--bg3);color:#fff}
.tb.heat.on{color:#fff;background:linear-gradient(90deg,rgba(43,92,255,.25),rgba(255,90,31,.25))}
#bottom .tb{height:24px;padding:0 8px;color:var(--muted)} #bottom .tb:hover{color:var(--text)} #bottom .tb.on{color:var(--accent)}
.brand{display:flex;align-items:center;gap:8px;padding:0 10px 0 2px;text-decoration:none;color:var(--text);flex:none}
.brand .word{font-weight:800;letter-spacing:-.3px;font-size:15px}.brand .word span{color:var(--muted);font-weight:600}
.tb.sym{font-weight:600;padding:0 10px;background:var(--bg2);border:1px solid var(--line);min-width:120px;justify-content:flex-start}
#status{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;padding:0 8px;white-space:nowrap}
.dot{width:7px;height:7px;border-radius:50%;background:#555;display:inline-block}.dot.live{background:var(--up);box-shadow:0 0 8px rgba(34,171,148,.7)}.dot.err{background:var(--down)}.dot.demo{background:var(--warn)}
#clock{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11.5px;padding:0 6px;white-space:nowrap}
@media (max-width:1200px){.hide-s{display:none}}

/* charts grid */
#charts{position:absolute;inset:0;display:grid;gap:1px;background:var(--line)}
.chart{position:relative;overflow:hidden;background:var(--bg);min-width:0;min-height:0}
.chart.active::after{content:'';position:absolute;inset:0;border:1px solid rgba(255,122,26,.55);pointer-events:none;z-index:5}
#charts.single .chart.active::after{display:none}
.chart canvas{position:absolute;left:0;top:0}
.chart .legend{position:absolute;left:8px;top:5px;z-index:3;pointer-events:none;font-size:12px;line-height:19px;max-width:calc(100% - 90px)}
.lrow{display:flex;gap:8px;align-items:center;pointer-events:auto;width:max-content;max-width:100%}
.ltitle{font-size:12.5px;font-weight:600;white-space:nowrap}
.ltype{color:var(--accent);font-weight:500;font-size:11px;margin-left:4px}
.lv{font-family:'JetBrains Mono',monospace;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lind{color:var(--muted);border-radius:4px;padding:0 4px;display:flex;gap:6px;align-items:center}
.lind:hover{background:rgba(24,24,31,.9)}
.lact{display:none;gap:2px}.lind:hover .lact{display:inline-flex}
.lact button,.subleg button{color:var(--dim);padding:0 3px}.lact button:hover,.subleg button:hover{color:#fff}
.subleg{position:absolute;left:8px;z-index:3;font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}
.chart .rt{position:absolute;z-index:4;width:30px;height:24px;border-radius:6px;background:var(--bg3);border:1px solid var(--line2);display:none;align-items:center;justify-content:center}
.chart .msg{position:absolute;inset:0;display:none;align-items:center;justify-content:center;color:var(--muted);z-index:2;pointer-events:none;text-align:center;padding:20px}
#replayBar{position:absolute;z-index:8;left:50%;transform:translateX(-50%);bottom:34px;background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:4px 6px;display:none;align-items:center;gap:4px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
#replayBar .lbl{color:var(--accent);font-weight:600;font-size:12px;padding:0 6px}
#replayBar select{padding:3px 6px}
#replayHint{position:absolute;z-index:8;top:12px;left:50%;transform:translateX(-50%);background:var(--accent);color:#111;font-weight:600;padding:6px 12px;border-radius:8px;display:none;font-size:12px}

/* panels */
.ph{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);font-weight:600;gap:8px}
.ph .tb{height:26px;min-width:26px;padding:0 6px}
.plist{overflow:auto;flex:1}
.whead,.wrow{display:grid;grid-template-columns:1fr auto 64px 16px;gap:10px;padding:7px 12px;align-items:center}
.whead{color:var(--dim);font-size:11px;border-bottom:1px solid var(--line);padding:6px 12px}
.wrow{cursor:pointer;font-size:12.5px}.wrow:hover{background:var(--bg2)}.wrow.sel{background:#1d1712}
.wrow .s{font-weight:600}.wrow .n{color:var(--muted);font-size:11px}
.wrow .p,.wrow .c{font-family:'JetBrains Mono',monospace;text-align:right}
.wrow .x{color:var(--dim);visibility:hidden}.wrow:hover .x{visibility:visible}.wrow .x:hover{color:#fff}
.wsec{padding:9px 12px 4px;color:var(--dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.7px}
.ob{font-family:'JetBrains Mono',monospace;font-size:11.5px}
.obr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:1px 14px 1px 12px;position:relative}
.obr span{position:relative;z-index:1}.obr span:nth-child(n+2){text-align:right}
.obr .bar{position:absolute;right:0;top:1px;bottom:1px;z-index:0;opacity:.18}
.obmid{padding:6px 12px;font-weight:600;font-size:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
.tape{font-family:'JetBrains Mono',monospace;font-size:11px}
.tape div{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:1px 14px 1px 12px}.tape span:nth-child(n+2){text-align:right}
.alrow{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px}
.alrow .m{color:var(--muted);font-size:11px;margin-top:2px}
.empty{color:var(--muted);padding:18px 14px;font-size:12.5px;line-height:1.6}
.pf{padding:12px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line)}
.pf .row{display:flex;gap:8px}.pf .row>*{flex:1;min-width:0}
.pf label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:11.5px}
.pf input,.pf select{width:100%}
.bigbtn{height:36px;border-radius:8px;font-weight:700;color:#fff}
.bigbtn.buy{background:var(--up)}.bigbtn.sell{background:var(--down)}
.acct{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px}
.acct div{background:var(--bg2);border-radius:7px;padding:7px 9px}.acct b{display:block;font-family:'JetBrains Mono',monospace;font-size:13px;margin-top:2px}
table.t{width:100%;border-collapse:collapse;font-size:12px}
table.t th{position:sticky;top:0;background:var(--bg);color:var(--dim);font-weight:500;text-align:right;padding:7px 10px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap}
table.t th:first-child,table.t td:first-child{text-align:left}
table.t td{padding:6px 10px;border-bottom:1px solid #18181f;text-align:right;font-family:'JetBrains Mono',monospace;white-space:nowrap}
table.t tr:hover td{background:var(--bg2)}
table.t td.l{text-align:left;font-family:Inter}

/* drawer */
.dhead{display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-bottom:1px solid var(--line);height:36px;flex:none}
.dtabs{display:flex;gap:2px}.dtabs button{padding:8px 12px;color:var(--muted);font-weight:600;border-bottom:2px solid transparent}.dtabs button.on{color:var(--text);border-color:var(--accent)}
#drawerBody{flex:1;overflow:hidden;display:flex;min-height:0}
.tester{display:grid;grid-template-columns:minmax(380px,38%) 1fr;width:100%;min-height:0}
.tcfg{overflow:auto;padding:12px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.tres{overflow:auto;padding:12px;min-width:0}
.sect{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.7px;margin-top:4px;display:flex;justify-content:space-between;align-items:center}
.sect button{color:var(--accent);text-transform:none;letter-spacing:0;font-size:12px}
.cond{display:flex;flex-wrap:wrap;gap:5px;align-items:center;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:6px}
.cond select,.cond input{padding:4px 6px;font-size:12px}.cond input[type=number]{width:62px}
.cond .rm{color:var(--dim);margin-left:auto;padding:0 4px}.cond .rm:hover{color:#fff}
.opnd{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:12px}
.kv div{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11.5px;color:var(--muted)}
.kv b{display:block;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:14px;margin-top:3px}
.rtabs{display:flex;gap:4px;margin-bottom:10px}.rtabs button{padding:5px 11px;border-radius:14px;background:var(--bg3);color:var(--muted);font-size:12px}.rtabs button.on{background:var(--text);color:var(--bg)}
.screener{display:flex;flex-direction:column;width:100%;min-height:0}
.sfilters{display:flex;gap:6px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.sfilters input{width:110px;padding:4px 8px}.sfilters .tabs{margin:0}
.sbody{overflow:auto;flex:1}

/* menus, modals, pops, toasts */
.menu{position:fixed;z-index:80;background:var(--bg2);border:1px solid var(--line2);border-radius:9px;padding:4px;min-width:190px;max-height:80vh;overflow:auto;box-shadow:0 12px 34px rgba(0,0,0,.6)}
.menu .mi{padding:7px 10px;border-radius:6px;display:flex;justify-content:space-between;gap:16px;cursor:pointer;align-items:center}
.menu .mi:hover{background:var(--bg3)} .menu .mi.on{color:var(--accent)}
.menu .mh{padding:7px 10px 3px;color:var(--dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.7px}
.menu .lay{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px 6px 8px}
.menu .lay button{height:34px;border-radius:6px;background:var(--bg3);font-weight:600;font-size:12px}.menu .lay button.on{background:var(--accent);color:#111}
.menu .ci{display:flex;gap:6px;padding:6px 8px}.menu .ci input{flex:1;width:80px}
#modalBg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:90;display:none;align-items:flex-start;justify-content:center;padding-top:8vh;backdrop-filter:blur(2px)}
.modal{background:var(--bg2);border:1px solid var(--line2);border-radius:14px;width:min(680px,94vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 70px rgba(0,0,0,.65)}
.mhd{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:15px;font-weight:700;border-bottom:1px solid var(--line)}
.mbd{padding:12px 16px;overflow:auto}
.mft{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;align-items:center}
.btn{padding:7px 14px;border-radius:8px;background:var(--bg3);border:1px solid var(--line2);font-weight:500}
.btn:hover{border-color:#3a3a48}
.btn.pri{background:var(--accent);border-color:var(--accent);color:#111;font-weight:700}
.btn.sm{padding:4px 10px;font-size:12px}
.tabs{display:flex;gap:4px;margin:10px 0 6px;flex-wrap:wrap}
.tabs button{padding:5px 11px;border-radius:14px;background:var(--bg3);color:var(--muted);font-size:12px}.tabs button.on{background:var(--text);color:var(--bg)}
.srow{display:grid;grid-template-columns:30px 1fr auto 26px;gap:10px;align-items:center;padding:8px 6px;border-radius:7px;cursor:pointer}
.srow:hover,.srow.hl{background:var(--bg3)}
.srow .ic{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}
.srow .tag{color:var(--dim);font-size:11px}.srow .star{color:var(--dim);font-size:15px}.srow .star.on{color:var(--warn)}
.irow{display:flex;justify-content:space-between;align-items:center;padding:8px;border-radius:7px;cursor:pointer;gap:10px}
.irow:hover{background:var(--bg3)}.irow .d{color:var(--muted);font-size:11.5px}.irow .fav{color:var(--dim);font-size:14px}.irow .fav.on{color:var(--warn)}
.icat{color:var(--dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;padding:10px 8px 4px}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{color:var(--muted);font-size:12px}
.field2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.note{color:var(--dim);font-size:11.5px;line-height:1.55;margin:8px 0 0}
.pop{position:fixed;z-index:85;background:var(--bg2);border:1px solid var(--line2);border-radius:11px;padding:12px;width:260px;display:none;box-shadow:0 12px 34px rgba(0,0,0,.6)}
.pop .pt{font-weight:700;margin-bottom:6px}
.pop .r{display:flex;justify-content:space-between;align-items:center;margin:7px 0;color:var(--muted);font-size:12px;gap:10px}
.pop input[type=range]{width:120px}.pop input[type=number]{width:90px;padding:4px 6px}
#toasts{position:fixed;right:60px;bottom:40px;z-index:95;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--bg2);border:1px solid var(--line2);border-left:3px solid var(--accent);border-radius:9px;padding:10px 14px;min-width:250px;max-width:360px;box-shadow:0 12px 30px rgba(0,0,0,.5);font-size:12.5px;line-height:1.45}
.toast b{display:block;margin-bottom:2px}
.pill{display:inline-block;padding:1px 7px;border-radius:10px;background:var(--bg3);color:var(--muted);font-size:11px}
.pill.ok{background:rgba(34,171,148,.15);color:#5fd6bd}.pill.bad{background:rgba(242,54,69,.15);color:#ff8a96}
canvas.eq{width:100%;height:150px;background:var(--bg2);border:1px solid var(--line);border-radius:8px}

/* option chain */
#ocT tr.itmc td[data-x=ce],#ocT tr.itmp td[data-x=pe]{background:rgba(255,210,63,.055)}
#ocT td.stk{text-align:center;font-weight:700;background:var(--bg2)}
#ocT tr.atm td{border-top:1px solid rgba(255,122,26,.55);border-bottom:1px solid rgba(255,122,26,.55)}
#ocT tr.atm td.stk{background:rgba(255,122,26,.16);color:var(--accent)}
#ocT td.ltp:hover{text-decoration:underline}
.pill.in{background:rgba(255,153,51,.15);color:#ffb366}

.brand .bw{display:flex;flex-direction:column;line-height:1}
.brand .by{display:flex;align-items:center;gap:3px;font-size:8.5px;font-weight:600;letter-spacing:.4px;color:var(--muted);margin-top:2px;text-transform:lowercase}
.brand .by img{height:8px;width:auto;display:block;opacity:.92}
.sp-by{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#8a8a99;margin:6px 0 2px;letter-spacing:.5px}
.sp-by img{height:15px;width:auto}

/* drawing toolbar */
#left .tg{position:relative;display:flex}
#left .tg .car{position:absolute;right:-6px;top:3px;width:11px;height:28px;padding:0;border:0;border-radius:4px;background:none;color:var(--muted);opacity:.55;display:grid;place-items:center;cursor:pointer;transition:opacity .12s,background .12s,color .12s}
#left .tg:hover .car{opacity:1}#left .tg .car:hover{background:var(--hov);color:var(--accent);opacity:1}
#left .tg.open .car{opacity:1;color:var(--accent);background:var(--accentBg)}#left .tg.open .car svg{transform:rotate(180deg)}
#left .tg .car svg{transition:transform .15s}
#left .tg.on .tb{background:var(--accentBg);color:var(--accent)}
#left .sep{width:22px;height:1px;background:var(--line);margin:4px auto}
#left .favtools{display:flex;flex-direction:column;align-items:center;gap:2px}
.fly{position:fixed;z-index:60;background:var(--panel,#131318);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.5);padding:6px;min-width:250px}
.fly .fh{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;padding:4px 8px 6px}
.fly .fi{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}
.fly .fi:hover{background:rgba(255,255,255,.05)}.fly .fi.on{color:var(--accent)}
.fly .fi svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.fly .fi span{flex:1}.fly kbd{font:10px 'JetBrains Mono',monospace;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 4px}
.fly .fs{background:none;border:0;color:#44454f;cursor:pointer;font-size:13px;padding:0 2px}.fly .fs.on,.fly .fs:hover{color:#f5c518}
/* floating drawing style bar */
.dbar{position:fixed;z-index:55;transform:translateX(-50%);display:flex;align-items:center;gap:2px;background:var(--panel,#131318);border:1px solid var(--line);border-radius:9px;padding:3px;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.dbar .dn{display:flex;padding:0 6px;color:var(--muted)}.dbar .dn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.dbar button{height:28px;min-width:28px;padding:0 7px;background:none;border:0;border-radius:6px;color:var(--text);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:5px}
.dbar button:hover{background:rgba(255,255,255,.07)}.dbar button.on{color:var(--accent)}
.dbar .sw::before{content:'';width:16px;height:16px;border-radius:4px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.dbar .sw.f::before{border-radius:50%}
.dbar button i{display:inline-block;width:14px;background:currentColor;border-radius:2px}
.cpop{position:fixed;z-index:70;background:var(--panel,#131318);border:1px solid var(--line);border-radius:10px;padding:10px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.cpop .cg{display:grid;grid-template-columns:repeat(8,22px);gap:5px}
.cpop .cg button{width:22px;height:22px;border-radius:5px;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.cpop .cg button.on{outline:2px solid var(--accent);outline-offset:1px}
.cpop .cc{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;color:var(--muted)}
.cpop input[type=color]{width:40px;height:24px;border:0;background:none;padding:0}
.ck{display:flex;gap:6px;align-items:center;font-size:13px;margin:6px 0}
.row2{display:flex;gap:10px;align-items:flex-end}.row2 .field{flex:1}

.menu .mic{width:18px;height:18px;flex:none;display:flex;color:var(--muted)}.menu .mic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.menu .mi{justify-content:flex-start}.menu .mi .ml{flex:1}.menu .mi .mk{color:var(--dim);font-size:11.5px}.menu .mi.dis{opacity:.4;cursor:default}
.menu .msep{height:1px;background:var(--line2);margin:4px 2px}
.menu .mstar{background:none;border:0;color:#3a3b46;cursor:pointer;font-size:13px;padding:0 2px;opacity:0}.menu .mi:hover .mstar,.menu .mstar.on{opacity:1}.menu .mstar.on{color:#f5c518}
.menu .msub{color:var(--dim)}
.sw2{width:30px;height:17px;border-radius:9px;background:#3a3b46;position:relative;flex:none;transition:background .15s}.sw2 i{position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:left .15s}.sw2.on{background:var(--accent)}.sw2.on i{left:15px}
.legend .lcmp i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}

/* ── Phase 1 shell ───────────────────────────────────────────────── */
button.brand{background:none;border:0;cursor:pointer;border-radius:8px;padding:3px 10px 3px 4px;font:inherit}button.brand:hover{background:var(--bg3)}
.tb.tiny{padding:0 4px;min-width:16px;margin-left:-4px;color:var(--muted)}
#tfMore{gap:2px}#tfMore.on{color:var(--accent)}
#ctIcon svg{width:20px;height:20px}
.layname{display:flex;align-items:stretch;border:1px solid var(--line2);border-radius:7px;overflow:hidden;height:30px}
.layname button{background:none;border:0;color:var(--text);cursor:pointer;font:inherit;padding:0 8px}.layname button:hover{background:var(--bg3)}
#layMain{display:flex;flex-direction:column;justify-content:center;line-height:1.05;text-align:left;max-width:150px}#layMain b{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#layMain small{font-size:10px;color:var(--dim)}
.layname.dirty #layMain small{color:var(--blue)}#layMenu{border-left:1px solid var(--line2)!important;color:var(--muted)}
.tradebtn{height:30px;padding:0 14px;border-radius:7px;border:1px solid var(--line2);background:var(--bg3);color:var(--text);font:600 13px Inter;cursor:pointer;margin-left:4px}.tradebtn:hover{border-color:var(--accent);color:var(--accent)}
#rightbar .rbsep{width:22px;height:1px;background:var(--line);margin:5px 0}
#app.nodraw{grid-template-columns:0 1fr auto 46px}#app.nodraw #left{display:none}
.menu.wide{min-width:280px}.menu .mbrand{display:flex;gap:10px;align-items:center;padding:8px 10px 10px;border-bottom:1px solid var(--line2);margin-bottom:4px}.menu .mbrand b{display:block}.menu .mbrand small{color:var(--muted);font-size:11px}
.menu.tfm{min-width:230px}.menu.ctx{min-width:300px}
/* docked panel */
#panel.max{width:min(52vw,760px)!important}
.dockh{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 6px 0 12px;border-bottom:1px solid var(--line);font-weight:600;font-size:12.5px;flex:none}
.dockh .dockb{display:flex}.dockh .tb{width:26px;height:26px;padding:0;font-size:13px;color:var(--muted)}
#panelBody{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
/* watchlist */
.wtop{display:flex;justify-content:space-between;align-items:center;padding:6px 6px 4px 8px}
.wname{background:none;border:0;color:var(--text);font:600 13px Inter;cursor:pointer;padding:4px 6px;border-radius:6px}.wname:hover{background:var(--bg3)}
.wtools{display:flex}.wtools .tb{width:28px;height:28px;padding:0}
.whead2,.wrow2{display:grid;gap:6px;padding:0 10px 0 8px;align-items:center}
.whead2{color:var(--dim);font-size:11px;height:24px;border-bottom:1px solid var(--line)}.whead2 span:not(:first-child),.wrow2>span:not(:first-child){text-align:right}
.wrow2{height:30px;cursor:pointer;font-size:12.5px;font-family:'JetBrains Mono',monospace;border-left:2px solid transparent}
.wrow2 .ws{display:flex;align-items:center;gap:6px;min-width:0;font-family:Inter}.wrow2 .ws>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wrow2 .ws b{font-weight:600}.wrow2 .ws em{display:block;font-style:normal;color:var(--dim);font-size:10.5px;line-height:1}
.whead2.desc~.plist .wrow2{height:38px}
.wrow2:hover{background:var(--bg2)}.wrow2.sel{background:var(--bg3);border-left-color:var(--accent)}
.wrow2.dover{box-shadow:inset 0 2px 0 var(--accent)}.wrow2.drag{opacity:.4}
.flag{width:7px;height:7px;border-radius:2px;flex:none;background:transparent;box-shadow:inset 0 0 0 1px var(--line2);cursor:pointer}.wrow2:hover .flag{box-shadow:inset 0 0 0 1px var(--muted)}
.wsec2{padding:8px 10px 4px 8px;font-size:10.5px;color:var(--dim);letter-spacing:.7px;cursor:pointer;user-select:none;display:flex;gap:6px;align-items:center;font-weight:600}.wsec2 .tri{width:10px;display:inline-block;text-align:center}
.wsec2:hover{color:var(--text)}
@keyframes fu{from{background:rgba(34,171,148,.35)}to{background:transparent}}@keyframes fd{from{background:rgba(242,54,69,.35)}to{background:transparent}}
.fu{animation:fu .8s}.fd{animation:fd .8s}
.wdet{border-top:1px solid var(--line);padding:10px 12px;flex:none;max-height:45%;overflow:auto}
.wdet .dsym b{font-size:14px}.wdet .dsym span{color:var(--muted);font-size:12px}
.wdet .dpx{font:600 22px 'JetBrains Mono',monospace;margin:6px 0 2px}.wdet .dpx small{font-size:12px;font-weight:500}
.wdet .dmk{font-size:11.5px;color:var(--muted);display:flex;gap:6px;align-items:center;margin-bottom:8px}.wdet .dmk i{width:7px;height:7px;border-radius:50%}
.wdet .dgrid,.dwg{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:12px}.wdet .dgrid span,.dwg span{color:var(--muted)}.wdet .dgrid b,.dwg b{font:500 12px 'JetBrains Mono',monospace;text-align:right}
/* object tree / data window */
.otabs{display:flex;gap:4px;padding:8px;flex:none}.otabs button{flex:1;height:28px;border-radius:7px;background:var(--bg2);border:1px solid var(--line);color:var(--muted);font:500 12px Inter;cursor:pointer}.otabs button.on{background:var(--bg4);color:var(--text)}
.orow{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:12.5px;cursor:pointer}.orow:hover{background:var(--bg2)}.orow.sel{background:var(--bg3)}
.orow .oi{width:18px;display:flex;justify-content:center;color:var(--muted)}.orow .oic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.orow .on{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.orow .oact{display:flex;gap:2px;opacity:0}.orow:hover .oact{opacity:1}.orow .oact button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:12px;padding:2px 4px}
.orow.ohead{font-weight:500;cursor:default}.orow.ohead:hover{background:none}
.dwh{padding:10px 12px 4px;font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.5px}.dwg{padding:0 12px}
/* quick search */
.qsr{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:7px;cursor:pointer}.qsr:hover,.qsr.hl{background:var(--bg3)}.qsr span{flex:1}.qsr small{color:var(--dim)}
.qsr .mic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.mbd .mh{padding:10px 8px 4px;color:var(--dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.7px}
/* settings dialog */
.setw{display:flex;min-height:380px}.setnav{width:180px;border-right:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:2px;flex:none}
.setnav button{text-align:left;background:none;border:0;color:var(--muted);font:500 13px Inter;padding:9px 10px;border-radius:7px;cursor:pointer}.setnav button:hover{background:var(--bg3);color:var(--text)}.setnav button.on{background:var(--bg3);color:var(--text)}
.setbody{flex:1;padding:10px 20px;overflow:auto;max-height:62vh}.sh{font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.7px;margin:14px 0 6px}
.srow2{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13px}.srow2.ck2{justify-content:flex-start}.srow2 input[type=color]{width:42px;height:26px;border:0;background:none;padding:0}
ul.news{padding-left:18px;line-height:1.6}ul.news li{margin-bottom:6px}
/* light theme */
body.light{--panel:#ffffff;--hov:rgba(0,0,0,.05);--bg:#ffffff;--bg2:#f5f6f8;--bg3:#eceef2;--bg4:#e2e5ea;--line:#e3e5ea;--line2:#d5d8de;--text:#131722;--muted:#5d606b;--dim:#9598a1;--accentBg:rgba(255,122,26,.12)}
body.light .menu,body.light .modal,body.light .fly,body.light .dbar,body.light .cpop{box-shadow:0 10px 30px rgba(0,0,0,.15)}
body.light #splash{background:#fff}
@media (max-width:1680px){#alertBtn .hide-s,#replayBtn .hide-s,#hmBtn .hide-s{display:none}#stxt{display:none}#status{padding:0 6px}}
@media (max-width:1380px){.brand .bw{display:none}#indBtn .hide-s{display:none}#tfQuick .tb:nth-child(n+5){display:none}}
@media (max-width:1100px){#layName{display:none}}
#top .sep{flex:none}
body.light .by img,body.light .sp-by img{filter:invert(1) hue-rotate(180deg)}
/* ── Phase 2 trading ─────────────────────────────────────────────── */
.legend .qtr{display:flex;align-items:stretch;gap:0;margin:3px 0 2px;pointer-events:auto;width:max-content}
.legend .qtr button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;height:34px;border:1px solid;cursor:pointer;font:inherit;line-height:1.05;padding:0 8px;background:rgba(10,10,13,.6)}
.legend .qtr button b{font:600 12px 'JetBrains Mono',monospace}.legend .qtr button small{font-size:9.5px;font-weight:600;letter-spacing:.5px}
.legend .qsell{border-color:#f23645!important;color:#f23645;border-radius:6px 0 0 6px}.legend .qsell:hover{background:#f23645;color:#fff}
.legend .qbuy{border-color:#2f7cf6!important;color:#2f7cf6;border-radius:0 6px 6px 0}.legend .qbuy:hover{background:#2f7cf6;color:#fff}
.legend .qspr{display:flex;align-items:center;padding:0 7px;font:500 10.5px 'JetBrains Mono',monospace;color:var(--muted);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:rgba(10,10,13,.6)}
body.light .legend .qtr button,body.light .legend .qspr{background:rgba(255,255,255,.75)}
/* ticket */
.tk .tkside{display:flex;align-items:stretch;margin-bottom:12px}.tk .tkside button{flex:1;height:52px;border:1px solid var(--line2);background:var(--bg2);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit}
.tk .tkside button b{font:600 16px 'JetBrains Mono',monospace}.tk .tkside button small{font-size:11px;color:var(--muted)}
.tk .tkside .sell{border-radius:8px 0 0 8px}.tk .tkside .buy{border-radius:0 8px 8px 0}.tk .tkside .sell.on{background:#f23645;border-color:#f23645}.tk .tkside .buy.on{background:#2f7cf6;border-color:#2f7cf6}.tk .tkside button.on small,.tk .tkside button.on b{color:#fff}
.tk .tkside>span{display:flex;align-items:center;padding:0 10px;font:500 11px 'JetBrains Mono',monospace;color:var(--muted);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.tktabs{padding:0;margin-bottom:10px}.tkx{align-items:center!important;margin:6px 0}.tkx .ck{width:120px;margin:0}.tkx input[type=number]{flex:1}.tkm{width:90px;text-align:right;font:500 12px 'JetBrains Mono',monospace;color:var(--muted)}
.tksum{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:12.5px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.tksum span{color:var(--muted)}.tksum b{font:500 12.5px 'JetBrains Mono',monospace;text-align:right}
.btn.gbuy{background:#2f7cf6;border-color:#2f7cf6;color:#fff}.btn.gsell{background:#f23645;border-color:#f23645;color:#fff}
/* brokers */
.bkw .sh:first-child{margin-top:0}.bkg{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}
.bk{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:16px 8px 12px;border:1px solid var(--line2);border-radius:10px;background:var(--bg2);color:var(--text);cursor:pointer;font:inherit}.bk:hover{border-color:var(--accent)}
.bk b{font-size:12.5px}.bk small{font-size:10.5px;color:var(--muted);text-align:center}.bklogo{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font:700 13px Inter;font-style:normal}
.bkst{position:absolute;top:6px;left:6px;font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--dim);background:var(--bg3);border-radius:4px;padding:1px 5px}.bkst.live{color:#fff;background:#22ab94}
/* trading panel */
.tpw{display:flex;flex-direction:column;width:100%;min-height:0}.tph{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--line);flex:none}
.tpacct{background:var(--bg3);border:1px solid var(--line2);border-radius:7px;color:var(--text);font:600 12.5px Inter;padding:5px 10px;cursor:pointer}
.tptabs{display:flex;gap:2px}.tptabs button{background:none;border:0;color:var(--muted);font:500 12.5px Inter;padding:6px 10px;border-radius:6px;cursor:pointer}.tptabs button.on{color:var(--text);background:var(--bg3)}.tptabs i{font-style:normal;color:var(--dim);margin-left:3px}
.tpnums{display:flex;gap:14px;font-size:12px;color:var(--muted)}.tpnums b{font:600 12px 'JetBrains Mono',monospace;color:var(--text);margin-left:4px}
.tpb{flex:1;overflow:auto;min-height:0;padding:0 6px}.tpt td,.tpt th{white-space:nowrap}.tpt .tpa{text-align:right}.pill.out{background:rgba(242,54,69,.15);color:#f23645}
.tpsum{padding:12px 6px}.kvc{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:3px}.kvc span{font-size:11px;color:var(--muted)}.kvc b{font:600 14px 'JetBrains Mono',monospace}
.tplog{font-size:12px;padding:6px}.tplog div{display:flex;gap:10px;align-items:center;padding:4px 4px;border-bottom:1px solid var(--line)}.tplog span{color:var(--dim);font-family:'JetBrains Mono',monospace;font-size:11px;width:160px;flex:none}.tplog i{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.tplog i.buy{background:#2f7cf6}.tplog i.sell{background:#f23645}.tplog i.cancel{background:var(--dim)}.tplog i.place{background:#f5a623}
.bkw{max-height:70vh;overflow:auto}
/* ── Phase 3 Pine Editor ─────────────────────────────────────────── */
.pe{display:flex;flex-direction:column;width:100%;min-height:0}.peh{display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--line);flex:none}
.pename{background:none;border:0;color:var(--text);font:600 13px Inter;cursor:pointer;padding:4px 6px;border-radius:6px}.pename:hover{background:var(--bg3)}.pedirty{font-size:11px;color:var(--warn)}
.pebody{flex:1;display:flex;min-height:0}.pecode{flex:1;display:flex;min-width:0;border-right:1px solid var(--line);background:var(--bg)}
.pegut{width:44px;flex:none;overflow:hidden;padding:8px 0;text-align:right;color:var(--dim);font:12.5px/1.55 'JetBrains Mono',monospace;user-select:none;border-right:1px solid var(--line)}.pegut div{padding-right:8px}.pegut .err{background:rgba(242,54,69,.25);color:#fff}
.pewrap{position:relative;flex:1;min-width:0}.pewrap pre,.pewrap textarea{position:absolute;inset:0;margin:0;padding:8px 12px;font:12.5px/1.55 'JetBrains Mono',monospace;white-space:pre;overflow:auto;tab-size:4;border:0}
.pewrap pre{color:#d4d7de;pointer-events:none;overflow:hidden}.pewrap textarea{background:transparent;color:transparent;caret-color:#fff;resize:none;outline:none}
.pewrap textarea::selection{background:rgba(47,124,246,.35);color:transparent}
.pewrap pre i{font-style:normal}.pewrap .hk{color:#c792ea}.pewrap .hs{color:#a5d6a7}.pewrap .hn{color:#f78c6c}.pewrap .hb{color:#82aaff}.pewrap .hf{color:#ffcb6b}.pewrap .hc{color:#5d606b;font-style:italic}
body.light .pewrap pre{color:#24292f}body.light .pewrap textarea{caret-color:#000}
.pecon{width:min(44%,560px);flex:none;overflow:auto;padding:10px;font-size:12.5px}.peerr{color:#ff8a8a;background:rgba(242,54,69,.1);border:1px solid rgba(242,54,69,.3);border-radius:8px;padding:9px 11px}.peok{color:#7fd8c6;margin-bottom:10px}.pewarn{color:#f5c26b;margin:6px 0}
.pekv{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.pett td{font-size:11.5px;vertical-align:top}.pett small{color:var(--muted)}
/* ── Phase 4 products ────────────────────────────────────────────── */
.pr{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.prh{padding:10px 12px 0}.prh .mut,.mut{color:var(--muted);font-size:12px}.prb{flex:1;overflow:auto;padding:0 12px 12px}
.tftabs{display:flex;gap:3px;padding:8px 12px;flex-wrap:wrap;flex:none}.tftabs button{background:var(--bg2);border:1px solid var(--line);color:var(--muted);font:500 12px Inter;border-radius:6px;padding:4px 9px;cursor:pointer}.tftabs button.on{background:var(--bg4);color:var(--text);border-color:var(--line2)}
.gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 12px}.gauge{display:flex;flex-direction:column;align-items:center;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 6px}.gauge b{font-size:13px;margin-top:2px}.gauge small{color:var(--muted);font-size:11px}.gsvg{width:100%;max-width:140px;color:var(--text)}
.gcnt{display:flex;gap:8px;font-size:10.5px;color:var(--dim);margin-top:4px}.gcnt i{font-style:normal;color:var(--text);font-weight:600}
.ttwo{display:grid;grid-template-columns:1fr;gap:10px}#panel.max .ttwo{grid-template-columns:1fr 1fr}#panel.max .gauges{max-width:720px}
.seasw{overflow:auto}.seas td,.seas th{text-align:center;padding:4px 5px;font-size:11px;font-family:'JetBrains Mono',monospace}.seas td:first-child{text-align:left}.seas tr.avg td{border-top:1px solid var(--line2)}
.hmw{position:relative;flex:1;margin:0 10px;min-height:300px;overflow:hidden;border-radius:8px}.hmt{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;cursor:pointer;overflow:hidden;text-align:center;line-height:1.15;border-radius:2px}.hmt:hover{outline:2px solid #fff;z-index:2}.hmt b{font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.35)}.hmt span{font:600 11px 'JetBrains Mono',monospace;opacity:.95}
.hmleg{display:flex;gap:2px;align-items:center;padding:8px 10px;flex:none}.hmleg span{font:600 10px 'JetBrains Mono',monospace;color:#fff;padding:2px 6px;border-radius:3px}.hmleg small{margin-left:auto;color:var(--dim);font-size:11px}
.mcg{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}.mct{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:9px 10px;border-radius:8px;border:0;color:#fff;cursor:pointer;font:inherit;text-align:left}.mct small{font-size:11px;opacity:.9}.mct b{font:700 16px 'JetBrains Mono',monospace}.mct span{font:500 10.5px 'JetBrains Mono',monospace;opacity:.8}.mct:hover{outline:2px solid #fff}
.obh{display:flex;gap:6px;align-items:center;padding:8px 12px;flex-wrap:wrap;flex:none}.obh select{height:30px}.obbody{flex:1;display:flex;gap:10px;min-height:0;padding:0 12px 12px;overflow:auto}.obchart{flex:1.4;min-width:300px}.obside{flex:1;min-width:260px}.obsvg{width:100%;height:auto;background:var(--bg2);border-radius:8px;border:1px solid var(--line)}
.oblg{display:flex;gap:14px;font-size:11px;color:var(--muted);margin-top:6px}.oblg i{display:inline-block;width:14px;height:2px;margin-right:5px;vertical-align:middle}.obkv{grid-template-columns:1fr 1fr}.oblegs td{padding:4px 4px}.oblegs select{height:26px}
.nwt{border-bottom:1px solid var(--line)}.nwi{display:block;padding:9px 2px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.nwi:hover span{color:var(--accent)}.nwi span{display:block;font-size:13px;line-height:1.35}.nwi small{color:var(--dim);font-size:11px}
.cal td{font-size:12px;padding:6px 6px}.cal .cald td{background:var(--bg2);font-weight:600;color:var(--muted);font-size:11.5px}.cal tr.past td{opacity:.55}.cal .num{font-family:'JetBrains Mono',monospace;text-align:right;white-space:nowrap}
.imp{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--dim)}.imp.high{background:#f23645}.imp.medium{background:#ff9800}.imp.low{background:#f5d76e}.imp.holiday{background:#787b86}

/* ═══ Phase 5: Trade Journal ═══ */
.jr .sp,.mhd .sp,.mft .sp,.jsum .sp,.jcalh .sp,.jfl .sp{flex:1}
.jtop{display:flex;align-items:center;padding-right:12px}.jtop .tftabs{padding-right:0}.jsrc{font-size:11px;color:var(--muted)}
.jfl{display:flex;gap:6px;align-items:center;padding:0 12px 8px;flex-wrap:wrap;flex:none}
.jfl select,.jfl input{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:4px 7px;font:12px Inter}.jfl input{width:170px}
.jkpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:10px}
.jk{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.jk small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.jk b{font-size:19px;font-weight:700}.jk span{font-size:11px;color:var(--dim)}
.jgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:10px;margin-bottom:10px}
.jcard{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0;overflow:auto}
.jcard h4{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.jsvg{width:100%;height:170px;display:block}
.jins{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px;font-size:12.5px;line-height:1.45}
.jt{width:100%;font-size:12px}.jt th{text-align:left;color:var(--muted);font-weight:500}.jt td,.jt th{padding:5px 6px;white-space:nowrap}
.jtr tr[data-jid]{cursor:pointer}.jtr tr[data-jid]:hover td{background:var(--bg3)}
.jside{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px}.jside.l{background:rgba(47,124,246,.16);color:#5b9bff}.jside.s{background:rgba(224,64,160,.16);color:#ec6ab8}
.jtag{display:inline-flex;align-items:center;gap:4px;background:var(--bg3);border:1px solid var(--line);border-radius:10px;padding:0 7px;font-size:11px;margin-right:3px;color:var(--text)}
.jtag.big{padding:3px 9px;font-size:12px;cursor:pointer}.jtag.on{background:var(--accentBg);border-color:var(--accent);color:var(--accent)}
.jtag button{background:none;border:0;color:var(--muted);cursor:pointer;padding:0;font-size:10px}
.jchips{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.jchips input{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:3px 9px;font:12px Inter}
.jsum{display:flex;align-items:center;gap:8px;padding:2px 0 8px;font-size:12.5px}
.jempty{max-width:520px;margin:40px auto;text-align:center;line-height:1.55}.jempty h3{margin:8px 0}.jempty p{color:var(--muted)}
.jcalh{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.jcalh b{font-size:15px}
.jcalw{display:flex;gap:8px}.jcal{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.jweeks{width:120px;display:flex;flex-direction:column;gap:4px}
.jch{font-size:11px;color:var(--muted);text-align:center;padding:2px 0;height:18px}
.jcd{min-height:74px;border:1px solid var(--line);border-radius:8px;padding:5px 7px;display:flex;flex-direction:column;gap:2px;cursor:pointer;background:var(--bg2)}
.jcd.off{background:none;border-color:transparent;cursor:default}.jcd:hover{border-color:var(--line2)}.jcd.sel{outline:2px solid var(--accent)}.jcd.today .d{color:var(--accent);font-weight:700}
.jcd .d{font-size:11px;color:var(--muted)}.jcd b{font-size:13px}.jcd small{font-size:10.5px;color:var(--text);opacity:.8}
.jwk{min-height:74px;border:1px solid var(--line);border-radius:8px;padding:5px 7px;display:flex;flex-direction:column;justify-content:center;gap:2px;background:var(--bg2)}.jwk small{font-size:10.5px;color:var(--muted)}
#jDay{margin-top:10px}.jl{display:block;color:var(--muted);font-size:12px;margin:10px 0 5px}
#jDay textarea,.jed textarea{width:100%;background:var(--bg1,var(--bg));border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px;font:12.5px/1.45 Inter;resize:vertical;box-sizing:border-box}
.jmood{display:flex;gap:4px;align-items:center;margin:4px 0 10px}.jmood .jl{margin:0 8px 0 0}
.jmood button,.jemo button,.jyn button,.jstars button{background:var(--bg3);border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--text)}
.jmood button{font-size:18px;padding:2px 7px}.jmood button.on,.jemo button.on,.jyn button.on{border-color:var(--accent);background:var(--accentBg)}
.jemo{display:flex;flex-wrap:wrap;gap:5px}.jemo button{display:flex;flex-direction:column;align-items:center;font-size:18px;padding:4px 8px;min-width:60px}.jemo small{font-size:10.5px;color:var(--muted)}
.jyn{display:flex;gap:5px}.jyn button{padding:4px 16px;font:500 12px Inter}
.jstars{display:flex;gap:2px}.jstars button{font-size:18px;padding:0 6px;color:var(--dim);background:none;border:0}.jstars button.on{color:#f5b301}
.jed{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;max-height:72vh;overflow:auto}
.jshot{background:var(--bg2);border:1px solid var(--line);border-radius:8px;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:8px}
.jshot img{width:100%;display:block;cursor:zoom-in}
.jfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.jfacts div{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;gap:2px}.jfacts small{color:var(--muted);font-size:10.5px}.jfacts b{font-size:12.5px}
.jed input,.jed select{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:6px 8px;font:12.5px Inter}
.jbars{display:flex;flex-direction:column;gap:5px}.jbr{display:grid;grid-template-columns:54px 1fr 86px 66px;gap:8px;align-items:center;font-size:12px}.jbr small{color:var(--muted)}
.jbt{position:relative;height:12px;background:var(--bg3);border-radius:3px}.jbt div{position:absolute;top:0;bottom:0;border-radius:3px}
.chk{display:flex;gap:8px;align-items:center;margin:6px 0;font-size:13px}.btn.danger{border-color:#f23645;color:#f23645}.muted{color:var(--muted)}
@media (max-width:900px){.jed{grid-template-columns:1fr}.jfacts{grid-template-columns:repeat(2,1fr)}.jweeks{display:none}}

/* ═══ Phase 5: Flow Radar ═══ */
.rdh{gap:8px;flex-wrap:wrap}.rdh .chk{margin:0;font-size:12px}
.rdgrid{flex:1;min-height:0;display:grid;grid-template-columns:320px 1fr;gap:10px;padding:0 12px 12px}
.rdleft{display:flex;flex-direction:column;gap:8px}.rdsvg{width:100%;max-width:320px;aspect-ratio:1;background:radial-gradient(circle,var(--bg2),transparent 72%);border-radius:50%}
.rdl{font:9px Inter;fill:var(--dim)}.rdn{font:600 9.5px Inter;fill:var(--text)}.rdp{cursor:pointer}.rdp:hover circle{stroke:#fff;stroke-width:1.5}
.rdsweep{transform-origin:150px 150px;animation:rdspin 6s linear infinite}@keyframes rdspin{to{transform:rotate(360deg)}}
.rdhot{animation:rdpulse 1.4s ease-out infinite;transform-box:fill-box;transform-origin:center}@keyframes rdpulse{0%{opacity:1;transform:scale(.6)}100%{opacity:0;transform:scale(1.8)}}
.rdleg{font-size:11px;color:var(--muted);line-height:1.6}.rdleg span{margin-right:10px;white-space:nowrap}.rdleg i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.rdleg i.ring{border:1.5px solid #ffd23f;width:7px;height:7px}
.rdright{display:flex;flex-direction:column;min-height:0;min-width:0;gap:8px}.rdtw{flex:1 1 55%;overflow:auto;border:1px solid var(--line);border-radius:10px}
.rdt th{position:sticky;top:0;background:var(--bg2);z-index:1}.rdt th[data-srt]{cursor:pointer}.rdt th.on{color:var(--accent)}.rdt tr[data-rs]{cursor:pointer}.rdt tr[data-rs]:hover td{background:var(--bg3)}.rdt tr.hot td{background:rgba(255,210,63,.05)}
.rdz{font-family:"JetBrains Mono",monospace;font-size:11px;padding:1px 5px;border-radius:4px}.rdz.b{background:rgba(34,171,148,.14);color:#4fd1b2}.rdz.s{background:rgba(242,54,69,.14);color:#ff7d89}
.rdst{font-size:11px;padding:2px 7px;border-radius:10px;background:var(--bg3);color:var(--muted);white-space:nowrap}.rdst.t2{background:rgba(34,171,148,.22);color:#4fd1b2;font-weight:600}.rdst.t-2{background:rgba(242,54,69,.22);color:#ff7d89;font-weight:600}.rdst.t1{color:#4fd1b2}.rdst.t-1{color:#ff7d89}
.rdflow{display:inline-block;position:relative;width:46px;height:6px;background:var(--bg3);border-radius:3px;margin-right:5px;vertical-align:middle}.rdflow i{position:absolute;top:0;bottom:0;border-radius:3px}
.rdfh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rdfeed{flex:1 1 45%;overflow:auto;border:1px solid var(--line);border-radius:10px;min-height:120px}
.rde{display:grid;grid-template-columns:26px 1fr auto;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);cursor:pointer;align-items:start}.rde:hover{background:var(--bg3)}.rde small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.rde time{font-size:11px;color:var(--dim);font-family:"JetBrains Mono",monospace}.rdi{font-size:16px}
@media (max-width:1100px){.rdgrid{grid-template-columns:1fr}.rdleft{flex-direction:row;align-items:center}.rdsvg{max-width:220px}}
#panel.max.xl{width:min(76vw,1280px)!important}

/* ═══ Phase 5: Super Pilot ═══ */
.pil{height:100%}.pilh{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.pilh small{display:block;color:var(--muted);font-size:11px}
.pilav{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#ff7a1a,#a99bff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;flex:none}
.pilb{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px}
.pm{max-width:92%;padding:9px 12px;border-radius:12px;font-size:12.5px;line-height:1.5}.pm.u{align-self:flex-end;background:var(--accentBg);border:1px solid var(--accent);color:var(--text)}.pm.a{align-self:flex-start;background:var(--bg2);border:1px solid var(--line)}.pm small{color:var(--muted)}
.pilq{display:flex;flex-wrap:wrap;gap:5px;padding:8px 12px;border-top:1px solid var(--line)}.pilq button{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:14px;padding:4px 10px;font:12px Inter;cursor:pointer}.pilq button:hover{border-color:var(--accent)}
.pili{display:flex;gap:6px;padding:0 12px 12px}.pili input{flex:1;background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:7px 10px;font:13px Inter}
.pdots{display:inline-flex;gap:4px}.pdots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:pd 1s infinite}.pdots i:nth-child(2){animation-delay:.15s}.pdots i:nth-child(3){animation-delay:.3s}@keyframes pd{50%{opacity:.2}}

/* ═══ Phase 6: accounts, community, profiles ═══ */
.acct{position:relative;display:flex;align-items:center;justify-content:center;min-width:34px;height:30px;border-radius:8px;background:none;border:1px solid var(--line2);color:var(--text);cursor:pointer;padding:0 8px;margin-right:6px;font:600 12px Inter}.acct:hover{border-color:var(--accent)}
.acct:has(.av){border:0;padding:0}.acct .bdg{position:absolute;top:-4px;right:-4px}
.av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex:none;object-fit:cover}
.bdg{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f23645;color:#fff;font:700 10px Inter;font-style:normal}
.acm{display:flex;gap:10px;align-items:center;padding:6px 10px}.acm small{display:block;color:var(--muted)}
.err{color:#ff6b78;font-size:12.5px;min-height:16px;margin-top:4px}.auth .field input{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 10px;font:13px Inter}
.ntf{max-height:60vh;overflow:auto;padding:0}.ntr{display:flex;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px}.ntr:hover{background:var(--bg3)}.ntr.new{background:rgba(169,155,255,.07)}.ntr small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.nti{width:22px;text-align:center}
.cmw{display:grid!important;grid-template-columns:200px 1fr 180px;height:100%;min-height:0}
.cmside,.cmon{overflow:auto;padding:10px 8px;border-right:1px solid var(--line)}.cmon{border-right:0;border-left:1px solid var(--line)}
.cmside h5,.cmon h5{margin:12px 6px 6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}.cmside h5:first-child,.cmon h5:first-child{margin-top:2px}.cmside h5 .tb{margin-left:auto;width:22px;height:22px;padding:0}
.crm{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;color:var(--text);padding:6px 8px;border-radius:7px;font:13px Inter;cursor:pointer}.crm:hover{background:var(--bg3)}.crm.on{background:var(--bg4);font-weight:600}.crm .bdg{margin-left:auto}
.onu{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;cursor:pointer;font-size:12.5px}.onu:hover{background:var(--bg3)}.onu i{width:7px;height:7px;border-radius:50%;background:#22ab94;margin-left:auto}
.cmmain{display:flex;flex-direction:column;min-width:0;min-height:0}.cmhd{padding:10px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.cmhd span{font-size:11.5px}
.cmmsgs{flex:1;overflow:auto;padding:8px 6px}
.cm{display:flex;gap:10px;padding:8px 10px;border-radius:8px}.cm:hover{background:var(--bg2)}.cm.idea{border:1px solid var(--line);background:var(--bg2);margin:6px 4px}
.cmb{min-width:0;flex:1}.cmh{display:flex;align-items:baseline;gap:6px}.cmh b{cursor:pointer}.cmh b:hover{text-decoration:underline}.cmh small{color:var(--muted);font-size:11px}
.cmt{font-weight:700;font-size:14px;margin:3px 0}.cmx{font-size:13px;line-height:1.5;word-wrap:break-word;margin-top:2px}.cmx a,.pfbio a{color:#8fb7ff;cursor:pointer}.mention{color:#a99bff!important;font-weight:600}.cash{color:#ff9d4d!important;font-weight:600}
.cmi{display:block;max-width:min(560px,100%);max-height:320px;border-radius:8px;margin-top:6px;border:1px solid var(--line);cursor:zoom-in}
.cmc{margin-top:6px;background:var(--bg3);border:1px solid var(--line2);color:var(--text);border-radius:7px;padding:4px 10px;font:12px Inter;cursor:pointer}.cmc:hover{border-color:var(--accent)}
.cma{display:flex;gap:10px;margin-top:4px;opacity:.75}.cm:hover .cma{opacity:1}.cma button{background:none;border:0;color:var(--muted);font:12px Inter;cursor:pointer;padding:0}.cma .lk.on{color:#f23645}.cma button:hover{color:var(--text)}
.vf{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#2f7cf6;color:#fff;font-size:9px}
.cmcomp{border-top:1px solid var(--line);padding:8px 10px;display:flex;flex-direction:column;gap:6px}.cmcomp.guest{flex-direction:row;align-items:center;font-size:12.5px;color:var(--muted)}.cmcomp.guest span{flex:1}
.cmcomp input,.cmcomp select{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:6px 9px;font:13px Inter}.cmcomp .row2 input{flex:1}
.cmrow{display:flex;gap:6px;align-items:flex-end}.cmrow textarea{flex:1;background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 10px;font:13px/1.4 Inter;resize:none;max-height:140px}
.cmatt:empty{display:none}.cmthumb{position:relative;display:inline-flex;align-items:center;gap:8px}.cmthumb img{height:64px;border-radius:6px;border:1px solid var(--line)}.cmthumb button{position:absolute;top:-6px;left:-6px;width:18px;height:18px;border-radius:50%;border:0;background:#f23645;color:#fff;font-size:10px;cursor:pointer}
.pf{padding:0!important}.pfh{position:relative;display:flex;align-items:flex-end;gap:14px;padding:70px 20px 14px;border-bottom:1px solid var(--line)}
.pfcov{position:absolute;inset:0 0 auto 0;height:78px;background:linear-gradient(120deg,var(--pc),#a99bff 60%,transparent);opacity:.35}.pfh>*{position:relative}.pfh .av{border:3px solid var(--bg);box-shadow:0 0 0 1px var(--line)}
.pfn h2{margin:0;font-size:20px}.pfn small{color:var(--muted)}.pfh .btn{margin-left:6px}
.pfbody{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:16px;padding:16px 20px}.pfl{display:flex;flex-direction:column;gap:12px}.pfbio{margin:0;line-height:1.55}
.pfmeta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.pfmeta b{color:var(--text)}.pflinks{display:flex;gap:12px;flex-wrap:wrap}.pflinks a{color:#8fb7ff;font-size:13px}
.pfr h4{margin:0 0 8px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
@media (max-width:1100px){.cmw{grid-template-columns:170px 1fr}.cmon{display:none}.pfbody{grid-template-columns:1fr}}
.pfh>.pfcov{position:absolute}

/* ═══ Phase 6: phone layout ═══ */
@media (max-width:760px){
  #app{grid-template-columns:1fr;grid-template-rows:46px 1fr auto 54px;height:100dvh}
  #top{grid-column:1;padding:0 4px;gap:0}
  #left,#bottom{display:none}
  #main{grid-column:1}#drawer{grid-column:1}#drawer.open{height:46vh}
  #cmpBtn,#tplBtn,#hmSet,#replayBtn,#undoBtn,#redoBtn,#layoutBtn,#layName,#qsBtn,#chSetBtn,#fsBtn,#shotBtn,#indFav,#top .sep,#stxt,.brand .bw{display:none!important}
  #tfQuick .tb:nth-child(n+4){display:none}
  #rightbar{grid-column:1;grid-row:4;flex-direction:row;justify-content:flex-start;overflow-x:auto;padding:0 6px;border-left:0;border-top:1px solid var(--line);gap:4px;background:var(--bg)}
  #rightbar::-webkit-scrollbar{height:0}#rightbar .tb{width:42px;height:42px;flex:none}#rightbar .sep,#rightbar hr{display:none}
  #panel,#panel.max,#panel.max.xl{position:fixed;left:0;right:0;top:46px;bottom:54px;width:auto!important;z-index:40;border:0;display:none}
  #panel.open,#panel.open.max,#panel.open.max.xl{display:flex}
  .modal{width:100vw!important;max-width:100vw;max-height:92dvh;border-radius:16px 16px 0 0;align-self:flex-end}
  #modalBg{align-items:flex-end}
  .cmw{grid-template-columns:1fr!important;grid-template-rows:auto 1fr}.cmside{display:flex;gap:4px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:6px}.cmside h5{display:none}.cmside .crm{width:auto;flex:none;white-space:nowrap}.cmon{display:none}
  .rdgrid,.jed,.pfbody{grid-template-columns:1fr!important}.rdleft{display:none}
  .jkpis{grid-template-columns:repeat(2,1fr)}.jcal{gap:2px}.jcd{min-height:50px;padding:3px}.jcd small{display:none}.jcd b{font-size:10.5px}
  .tradebtn{padding:0 10px}.jsrc{display:none}.jfl input{width:100%}
  #toasts{left:8px;right:8px;bottom:62px}
}

/* ═══ Flow Map (full-screen funnel) ═══ */
#fmap{position:fixed;inset:0;z-index:120;display:none;flex-direction:column;background:radial-gradient(900px 500px at 20% 15%,rgba(34,211,155,.07),transparent 70%),radial-gradient(900px 500px at 20% 90%,rgba(255,61,94,.07),transparent 70%),#06070a;color:#d7dae2;font-family:Inter}
.fmh{display:flex;align-items:center;gap:10px;height:54px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.06);flex:none}.fmh .sp,.fmf .sp,.fmct .sp{flex:1}
.fmb{font-size:15px;letter-spacing:-.01em}.fmb span{color:#ff7a1a}.fmt{font:800 14px Inter;letter-spacing:.14em;margin-left:6px}.fml{font:600 10px Inter;letter-spacing:.14em;color:#6b7080;margin-left:10px}
.fmh select{background:#11131a;border:1px solid #2a2d38;color:#e6e7eb;border-radius:7px;padding:5px 9px;font:600 12px Inter}
#fmBr{width:min(420px,28vw);height:40px}.fmcnt{display:grid;grid-template-columns:auto auto;gap:0 6px;align-items:center;font:9px Inter;color:#6b7080}.fmcnt b{font:800 15px JetBrains Mono,monospace;line-height:1}
.fmlive{font:600 10.5px JetBrains Mono,monospace;letter-spacing:.08em;color:#9aa0ad}.fmlive i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22d39b;margin-right:7px;box-shadow:0 0 8px #22d39b}
.fmh .tb{color:#c9ccd4}
.fmbody{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(380px,38fr) minmax(360px,34fr) minmax(330px,28fr);gap:14px;padding:10px 16px 6px}
.fmleft{position:relative;min-height:0}#fmC{position:absolute;inset:0;width:100%;height:100%}
.fmsec{position:absolute;left:10px;top:34px;bottom:30px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;width:150px}
.fms{pointer-events:auto;background:rgba(8,9,13,.78);border:1px solid rgba(255,255,255,.06);border-radius:4px;padding:3px 6px;cursor:default}.fms:hover{border-color:#5b6cff}
.fms div{display:flex;justify-content:space-between;font:700 8.5px JetBrains Mono,monospace;letter-spacing:.04em}.fms i{display:flex;gap:1px;flex-wrap:wrap;margin-top:2px}.fms u{width:5px;height:5px;border-radius:1px}
.fmmid{display:flex;flex-direction:column;gap:10px;min-height:0;opacity:0;transform:translateX(-10px);transition:.5s}.fmmid.in{opacity:1;transform:none}
.fmhalf{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1.25fr;gap:8px;padding:6px;border:1px solid rgba(255,255,255,.04);border-radius:8px}.fmhalf.b{background:linear-gradient(180deg,rgba(34,211,155,.05),transparent)}.fmhalf.s{background:linear-gradient(0deg,rgba(255,61,94,.05),transparent)}
.fmq{display:grid;grid-template-columns:1fr 1fr;gap:3px;align-content:start;overflow:auto}.fmoi{overflow:auto;display:flex;flex-direction:column;gap:6px}
.fmog h6{margin:0 0 3px;font:700 8.5px Inter;letter-spacing:.12em;text-transform:uppercase;color:#7c8190}
.fmtile{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 4px;padding:3px 18px 3px 6px;border-radius:4px;background:#0d0f15;border:1px solid #1d2029;cursor:pointer;font-size:10.5px;transition:background .15s,border-color .15s}
.fmhalf.b .fmtile{border-left:2px solid #22d39b}.fmhalf.s .fmtile{border-left:2px solid #ff3d5e}
.fmtile b{font:700 10.5px JetBrains Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fmtile span{font:600 10px JetBrains Mono,monospace}.fmhalf.b .fmtile span{color:#22d39b}.fmhalf.s .fmtile span{color:#ff3d5e}
.fmtile em{position:absolute;right:3px;top:3px;font:600 8px JetBrains Mono,monospace;color:#5d6270;font-style:normal}.fmtile small{grid-column:1/3;font:9px JetBrains Mono,monospace;color:#7c8190}
.fmtile.wide{grid-template-columns:1fr auto}.fmspark{grid-column:1/3;display:block;height:14px;margin-top:2px}.fmspark svg{width:100%;height:100%}
.fmtile:hover,.fmtile.hot{background:#161a24;border-color:#3a4050}.fmtile.pin{outline:1px solid #fff}
#fmap.focus .fmtile:not(.hot){opacity:.45}
.fmpicks{display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0;opacity:0;transform:translateX(10px);transition:.5s}.fmpicks.in{opacity:1;transform:none}
.fmcard{position:relative;border-radius:10px;padding:9px 11px;border:1px solid;cursor:pointer;flex:none}
.fmcard.b{border-color:rgba(34,211,155,.45);background:linear-gradient(135deg,rgba(34,211,155,.13),rgba(8,10,14,.9) 60%)}.fmcard.s{border-color:rgba(255,61,94,.45);background:linear-gradient(135deg,rgba(255,61,94,.13),rgba(8,10,14,.9) 60%)}
.fmcard.hot{box-shadow:0 0 0 1px #fff,0 0 30px -6px currentColor}.fmcard.b.hot{color:#22d39b}.fmcard.s.hot{color:#ff3d5e}
.fmct{display:flex;align-items:center;gap:8px;color:#e6e7eb}.fmct b{font:800 15px Inter;letter-spacing:.02em}.fmct small{display:block;font-size:10px;color:#7c8190;max-width:170px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fmav{width:26px;height:26px;border-radius:6px;background:#1a1d27;display:flex;align-items:center;justify-content:center;font:700 10px JetBrains Mono,monospace;color:#c9ccd4}
.fmtag{font:700 8.5px Inter;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.06);color:#c9ccd4}
.fmcm{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-top:6px;color:#e6e7eb}.fmcm small{display:block;font:9.5px JetBrains Mono,monospace;color:#8b90a0;margin-top:2px}
.fmbadge{display:inline-block;font:800 10px Inter;letter-spacing:.08em;padding:3px 8px;border-radius:5px;color:#06070a}.fmcard.b .fmbadge{background:#22d39b}.fmcard.s .fmbadge{background:#ff3d5e}
.fmsc{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:6px;border-radius:50%;font:700 10.5px JetBrains Mono,monospace;vertical-align:middle;background:conic-gradient(currentColor calc(var(--s)*1%),rgba(255,255,255,.08) 0);position:relative}
.fmcard.b .fmsc{color:#22d39b}.fmcard.s .fmsc{color:#ff3d5e}.fmsc{isolation:isolate}.fmsc:before{content:"";position:absolute;inset:3px;border-radius:50%;background:#0b0d12;z-index:-1}
.fmchg{font:800 26px Inter;letter-spacing:-.03em;line-height:1.1;margin-top:3px}
.fmmini{width:100%;height:92px;display:block}.fmmini text{font:8px JetBrains Mono,monospace;fill:#aab}
.fmlv{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:6px;margin-top:6px;color:#e6e7eb}.fmlv small{display:block;font:600 8.5px Inter;letter-spacing:.06em;color:#7c8190}.fmlv b{font:600 11px JetBrains Mono,monospace}
.fmrisk{height:3px;border-radius:2px;background:rgba(255,255,255,.08);margin-top:6px;overflow:hidden}.fmrisk i{display:block;height:100%;background:linear-gradient(90deg,#ffb347,#ff3d5e)}
.fmopen{position:absolute;right:10px;bottom:8px;opacity:0;background:#fff;color:#06070a;border:0;border-radius:6px;padding:3px 9px;font:700 10.5px Inter;cursor:pointer;transition:.15s}.fmcard:hover .fmopen{opacity:1}
#fmLk{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fmf{display:flex;gap:16px;padding:6px 16px 10px;font:600 9px JetBrains Mono,monospace;letter-spacing:.06em;color:#4e5260;flex:none}
.fmmsg{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#9aa0ad;font-size:13px}
.fmspin{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.1);border-top-color:#a99bff;animation:fmsp 1s linear infinite}@keyframes fmsp{to{transform:rotate(360deg)}}
@media (max-width:1100px){.fmbody{grid-template-columns:1fr;overflow:auto}.fmleft{height:55vh}#fmLk{display:none}.fmmid,.fmpicks{opacity:1;transform:none}#fmBr{display:none}}

/* ═══ light theme fixes ═══ */
.fly .fi:hover,.dbar button:hover{background:var(--hov)}
body.light ::-webkit-scrollbar-thumb{background:#c4c7cf}
body.light .lind:hover{background:rgba(255,255,255,.92)}
body.light .wrow.sel{background:#fff1e6}
body.light table.t td{border-bottom-color:var(--line)}
body.light #rightbar .tb.on{color:var(--text);background:var(--bg3)}
body.light .tb.heat.on{color:var(--text)}
body.light .lact button:hover,body.light .subleg button:hover,body.light .wrow .x:hover{color:var(--text)}
body.light .legend .qspr{background:rgba(255,255,255,.75)}
body.light .fly,body.light .dbar,body.light .cpop{box-shadow:0 10px 30px rgba(0,0,0,.14)}
body.light .pewrap textarea{color:transparent}

/* modals with several bodies: headers/footers never shrink, the scrolling body takes the rest */
.modal>.mhd,.modal>.mft{flex:none}

/* ── plans & billing ─────────────────────────────────────────── */
.planchip{height:26px;padding:0 10px;margin-right:8px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--line2);background:var(--bg3);white-space:nowrap}
.planchip.starter{background:var(--accent);border-color:var(--accent);color:#111}
.planchip.pro,.planchip.elite{border-color:rgba(255,122,26,.5);color:var(--accent2)}
.lockp{display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 22px;gap:6px}
.lockp .lk{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--accentBg);color:var(--accent);margin-bottom:6px}
.lockp h3{margin:0;font-size:16px}.lockp p{margin:0 0 10px;color:var(--muted);max-width:44ch;line-height:1.5}
.lka{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.bill{padding:16px 18px 20px}.bill h5.bh{margin:18px 0 8px;font-size:12px;color:var(--muted);font-weight:600}
.bnow{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--bg3);border:1px solid var(--line2)}
.bnow b{padding:2px 9px;border-radius:999px;background:var(--bg4);font-size:12px}.bnow.pro b,.bnow.elite b{background:var(--accent);color:#111}.bnow span{color:var(--muted)}
.btabs{margin:14px 0 12px}
.bper{display:inline-flex;padding:3px;border-radius:9px;background:var(--bg3);border:1px solid var(--line2);margin-bottom:14px}
.bper button{padding:6px 14px;border-radius:7px;color:var(--muted)}.bper button.on{background:var(--bg4);color:var(--text)}.bper i{font-style:normal;color:var(--up);font-size:11px;margin-left:4px}
.bcards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bcard{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:12px;background:var(--bg3);border:1px solid var(--line2)}
.bcard.star{border-color:rgba(255,122,26,.6);box-shadow:0 0 0 1px rgba(255,122,26,.2) inset}
.bcard h4{margin:0;font-size:15px}.bp b{font-size:26px;letter-spacing:-.02em}.bp small{color:var(--muted);margin-left:4px}
.bcard ul{list-style:none;margin:4px 0 8px;padding:0;display:grid;gap:6px;flex:1;align-content:start}
.bcard li{padding-left:16px;position:relative;line-height:1.4}.bcard li::before{content:"";position:absolute;left:2px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--up)}
.bcard li.inc{padding-left:0;color:var(--muted)}.bcard li.inc::before{display:none}
.bcard .btn{width:100%}.btn.ghostl{background:none;border-color:transparent;color:var(--accent2);font-size:12px}
.bfine{color:var(--dim);font-size:12px;line-height:1.5;margin:12px 0 0}
.bsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;counter-reset:s}
.bsteps div{padding:12px;border-radius:10px;background:var(--bg3);border:1px solid var(--line2);display:flex;flex-direction:column;gap:4px;counter-increment:s}
.bsteps b::before{content:counter(s);display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#111;font-size:11px;margin-right:7px}
.bsteps span{color:var(--muted);line-height:1.45}
.bctry{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.bctry small{color:var(--dim)}
.bbrokers{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
.bbk{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;background:var(--bg3);border:1px solid var(--line2)}
.bbt{display:flex;justify-content:space-between;align-items:center}.btier{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--accentBg);color:var(--accent2)}
.bbk a.btn{text-align:center;text-decoration:none}.bsoon{font-size:12px}
.bln{display:flex;gap:6px}.bln input{flex:1;min-width:0}
.blinked{display:grid;gap:6px}.blinked>div{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:9px;background:var(--bg3);border:1px solid var(--line2);flex-wrap:wrap}
.blinked code{color:var(--muted)}.blinked .tb{margin-left:auto}.tb.warn{color:var(--down)}
.bst{font-size:12px;padding:2px 8px;border-radius:999px}.bst.ok{background:rgba(34,171,148,.15);color:var(--up)}.bst.wait{background:rgba(245,166,35,.14);color:var(--warn)}.bst.bad{background:rgba(242,54,69,.14);color:#ff8a94}
.bpick{margin-top:14px}
.bstats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}
.bstats div{padding:10px;border-radius:10px;background:var(--bg3);border:1px solid var(--line2)}.bstats b{display:block;font-size:18px}.bstats span{color:var(--muted);font-size:12px}
.bsec{border:1px solid var(--line2);border-radius:10px;margin-bottom:10px;padding:0 12px}.bsec summary{padding:11px 0;font-weight:600;cursor:pointer}.bsec[open]{padding-bottom:12px}
.btbl{overflow:auto;max-height:340px}.btbl table{width:100%;border-collapse:collapse;font-size:12px}
.btbl th{text-align:left;color:var(--muted);font-weight:500;padding:6px;border-bottom:1px solid var(--line2);position:sticky;top:0;background:var(--bg2)}
.btbl td{padding:6px;border-bottom:1px solid var(--line);vertical-align:middle}.btbl small{display:block;color:var(--dim)}.bact{white-space:nowrap}.bact .btn{margin-left:4px}
.bgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.bgrid.two{grid-template-columns:1fr 1fr}
.bgrid label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px}.bgrid label.chk{flex-direction:row;color:var(--text);align-self:end}
.bimp{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.bimp label.btn{cursor:pointer}
.bsave{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:6px}
@media (max-width:760px){.bcards,.bsteps{grid-template-columns:1fr}.bstats{grid-template-columns:repeat(2,1fr)}.bgrid{grid-template-columns:1fr 1fr}.bgrid.two{grid-template-columns:1fr}}
body.light .planchip.starter{color:#fff}
#acctBtn .si{white-space:nowrap}
.boff{display:block;width:max-content;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(34,171,148,.16);color:var(--up);margin-bottom:6px}
.blist{color:var(--dim);font-size:16px;margin-right:6px}

/* ── indicators dialog & community library ───────────────────── */
.modal.ipmodal{width:min(1080px,96vw)!important;height:min(780px,88vh);max-height:88vh}
.ipk{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 16px 0}
.ipq{flex:none;display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border:1px solid var(--line2);border-radius:10px;background:var(--bg3);color:var(--muted)}
.ipq:focus-within{border-color:var(--accent)}.ipq input{flex:1;height:100%;border:0;background:none;padding:0;font-size:14px}
.ipb{flex:1;min-height:0;display:grid;grid-template-columns:210px 1fr;margin-top:12px;border-top:1px solid var(--line)}
.ipn{overflow:auto;padding:10px 10px 14px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.ipn h6{margin:12px 8px 4px;font-size:11px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}.ipn h6:first-child{margin-top:2px}
.ipn button[data-sec]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;text-align:left;color:var(--text);font-size:13px}
.ipn button[data-sec]:hover{background:var(--hov)}.ipn button[data-sec].on{background:var(--bg4);font-weight:600}.ipn button[data-sec] svg{color:var(--muted);flex:none}
.ippub{margin:14px 8px 0;display:flex;align-items:center;justify-content:center;gap:6px}
.ipr{min-height:0;overflow:auto;padding:12px 4px 16px 16px;display:flex;flex-direction:column}
.ipkinds,.ipcats{display:flex;gap:6px;flex-wrap:wrap;flex:none}.ipcats{margin-top:10px}
.ipkinds button,.ipcats button{padding:6px 13px;border-radius:999px;background:var(--bg3);color:var(--text);font-size:12.5px}.ipkinds button.on,.ipcats button.on{background:var(--text);color:var(--bg)}
.ipcats button{padding:4px 10px;font-size:12px;background:none;border:1px solid var(--line2);color:var(--muted)}.ipcats button.on{border-color:var(--text)}
.iphint{margin:12px 0 0;color:var(--muted);font-size:12px}
.iphead,.iprow{display:grid;grid-template-columns:26px 1fr 170px 70px;align-items:center;gap:8px}
.iphead{flex:none;padding:12px 8px 8px;font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line)}.iphead::before{content:""}
.iphead span:nth-child(1){grid-column:2}
.iplist{display:flex;flex-direction:column}
.iprow{padding:7px 8px;border-radius:7px;cursor:pointer;min-height:36px}.iprow:hover,.iprow:focus{background:var(--hov);outline:none}
.ipfav{color:var(--dim);font-size:14px;line-height:1}.ipfav:hover,.ipfav.on{color:#f5c518}
.ipname{font-size:13.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.iptype{color:var(--muted);font-size:12px;display:flex;gap:6px;justify-content:flex-start}
.iprow.comm{grid-template-columns:26px 1fr 170px 70px}.ipauth{color:#5b9cff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ipauth:hover{text-decoration:underline}.ipboost{font-size:13px;color:var(--muted)}
.ipbadge{font-style:normal;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em;background:var(--accentBg);color:var(--accent2)}
.ipbadge.popular{background:rgba(47,124,246,.16);color:#7fb0ff}.ipbadge.strat{background:rgba(171,71,188,.16);color:#d49ae0}.ipbadge.pick{background:rgba(245,197,24,.16);color:#f5c518}
.ipby{font-style:normal;color:var(--dim);font-size:12px}.ipvis{display:inline-flex;color:var(--muted)}.ipvis.ok{color:var(--up)}
.ipgrp{padding:14px 8px 4px;font-size:11px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.ipempty{padding:40px 10px;text-align:center;color:var(--muted);line-height:1.7}.ipempty .btn{margin-top:10px}
.iptpl{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}.iptpl label{color:var(--muted);font-size:12px}
.ipd{display:flex;flex-direction:column;gap:14px;padding-right:10px}.ipback{width:auto;align-self:flex-start;padding:4px 8px;color:var(--muted)}
.ipdh{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ipdh h3{margin:0 0 6px;font-size:19px}
.ipdm{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;align-items:center}.ipdm a{color:#5b9cff;cursor:pointer}
.ipvischip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;background:var(--bg3)}.ipvischip.invite{color:var(--warn)}
.ipboostbtn{display:flex;align-items:center;gap:6px}.ipboostbtn.on{border-color:var(--accent);color:var(--accent)}
.ipdesc{line-height:1.65;color:var(--text);white-space:normal;max-width:72ch;user-select:text}
.ipact{display:flex;gap:8px;flex-wrap:wrap}
.ipnote{padding:14px;border-radius:10px;background:var(--bg3);border:1px solid var(--line2);display:flex;flex-direction:column;gap:8px}.ipnote p{margin:0;color:var(--muted);line-height:1.55}.ipnote h6{margin:6px 0 0;font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}.ipnote .btn{align-self:flex-start;text-decoration:none}
.ipacc{display:flex;gap:6px}.iprq{display:flex;gap:10px;align-items:center}.iprq span{flex:1;color:var(--muted)}
.ipchips{display:flex;flex-wrap:wrap;gap:6px}.ipchips>span{padding:3px 4px 3px 9px;border-radius:999px;background:var(--bg4);font-size:12px}.ipchips button{color:var(--muted);padding:0 4px}
.pubf{display:flex;flex-direction:column;gap:12px}.pubf label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.pubf label small{color:var(--dim)}.pubf input,.pubf textarea,.pubf select{color:var(--text);font-size:13px}
.pbvis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pbvis label{padding:10px;border:1px solid var(--line2);border-radius:9px;cursor:pointer;gap:3px}.pbvis label.on{border-color:var(--accent);background:var(--accentBg)}.pbvis input{display:none}.pbvis b{color:var(--text);font-size:13px}
.pubf .err{color:#ff8a94;margin:0;min-height:1em}
#pfScripts h4{margin:0 0 8px}.pfsc{display:grid;gap:8px;margin-bottom:16px}
.pfscript{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px;border:1px solid var(--line2);border-radius:10px;background:var(--bg3)}.pfscript:hover{border-color:var(--accent)}.pfscript span{color:var(--muted);line-height:1.45}.pfscript small{display:flex;gap:4px;align-items:center;color:var(--dim)}
@media (max-width:760px){.modal.ipmodal{height:92dvh}.ipb{grid-template-columns:1fr}.ipn{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:6px 0}.ipn h6{display:none}.ipn button[data-sec]{white-space:nowrap}.ippub{margin:0}.iphead,.iprow,.iprow.comm{grid-template-columns:24px 1fr 90px 44px}.pbvis{grid-template-columns:1fr}}
.ipnote a.btn{color:var(--text)}
.adsrc{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--line2);border-radius:9px;background:var(--bg3)}
.adsrc div{display:flex;flex-direction:column;gap:2px}.adsrc span{color:var(--muted);font-size:12px}.adsrc .pill{font-style:normal}
.adb{display:grid;grid-template-columns:210px 1fr;gap:14px;min-height:56vh}.adb nav{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line);padding-right:10px}
.adb nav button{display:flex;justify-content:space-between;padding:7px 10px;border-radius:7px;text-align:left;font-size:13px}.adb nav button:hover{background:var(--hov)}.adb nav button.on{background:var(--bg4);font-weight:600}.adb nav small{color:var(--dim)}
.adb section{min-width:0}.adtabs{flex-wrap:wrap}
@media (max-width:760px){.adb{grid-template-columns:1fr}.adb nav{border-right:0;flex-direction:row;overflow-x:auto}}
a.btn{color:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.otp{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:6px 0}.otp h3{margin:4px 0 0;font-size:17px}.otp p{margin:0;color:var(--muted);line-height:1.5;max-width:40ch}
.otpic{font-size:30px}.otpin{font:600 26px 'JetBrains Mono',monospace;letter-spacing:10px;text-align:center;width:240px;padding:10px;margin:10px 0 4px}
.linkish{background:none;border:0;color:var(--accent2);cursor:pointer;padding:0;font-size:12px}.linkish:disabled{color:var(--dim);cursor:default}
.field label .linkish{float:right}
.tfset{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.tfqr{width:160px;height:160px;background:#fff;border-radius:10px;padding:6px;flex:none}.tfqr svg{width:100%;height:100%}
.tfkey{font:600 12px 'JetBrains Mono',monospace;user-select:all;word-break:break-all}
.tfbk{margin-top:10px;padding:12px;border:1px solid var(--line2);border-radius:10px;background:var(--bg3)}.tfcodes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0}.tfcodes code{font:600 13px 'JetBrains Mono',monospace;padding:6px;border-radius:6px;background:var(--bg);text-align:center;user-select:all}
