/* Bourceto 2.3 — background artwork, header shortcuts, notifications, tooltips, watchlist cards, alerts, account, news, IPO, empty states. Loaded last. */

/* background artwork: own fixed layer so it is never painted under the body background */
html{background:#050912}
body{background:transparent!important}
.bg-scene{position:fixed;inset:0;z-index:-3;background:#050912 url(../img/bg.jpg) center/cover no-repeat;transform-origin:60% 40%;animation:scene 60s ease-in-out infinite alternate}
.bg-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,18,.35),rgba(5,9,18,.55) 55%,rgba(5,9,18,.8))}
@keyframes scene{to{transform:scale(1.08) translate(-1.5%,1%)}}
body::before{opacity:.55;z-index:-2}
.bg-orbs{z-index:-2;opacity:.6}
#fx{z-index:-1}
@media (prefers-reduced-motion: reduce){.bg-scene{animation:none}}

/* header: compact search + quick shortcuts */
.topbar{gap:10px}
.topbar .search{flex:0 1 300px;min-width:180px}
.quick{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.qk{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:12px;color:var(--fg-2);text-decoration:none;font-weight:700;font-size:13px;white-space:nowrap;transition:background .2s,color .2s}
.qk svg{width:16px;height:16px}
.qk:hover{background:var(--glass-hover);color:var(--fg)}
.qk[aria-current="page"]{background:rgba(45,212,191,.14);color:var(--accent)}
#authSlot{display:flex;gap:8px;align-items:center}
@media (max-width:1280px){.qk span{display:none}.qk{padding:8px 10px}}
@media (max-width:920px){.quick{display:none}.topbar .search{flex:1}}

/* market status pill */
.pill .dot.closed{background:#fb7185;box-shadow:0 0 0 4px rgba(251,113,133,.18)}
.pill .dot.live{background:#34d399}
.pill .sep{width:1px;height:14px;background:var(--glass-line)}

/* notifications */
.bell-wrap{position:relative}
#bellBtn .bdg{position:absolute;top:-5px;left:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:#fb7185;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 3px #0b1222;animation:pop .4s var(--ease-spring)}
@keyframes pop{from{transform:scale(0)}}
.bell-panel{position:absolute;top:52px;left:0;width:min(380px,92vw);max-height:70vh;overflow:auto;z-index:95;padding:10px;background:rgba(10,16,32,.97);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 30px 70px -20px rgba(0,0,0,.9);animation:popin .25s var(--ease) both}
.bp-h{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 10px}
.bp-push{width:100%;display:flex;gap:10px;align-items:center;text-align:right;padding:10px 12px;border-radius:12px;border:1px dashed rgba(245,185,66,.5);background:rgba(245,185,66,.08);color:var(--fg);cursor:pointer;margin-bottom:8px}
.bp-push svg{width:22px;height:22px;color:var(--gold);flex:none}
.bp-push small{display:block;color:var(--fg-2)}
.bp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.bp-list a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--fg);border:1px solid transparent}
.bp-list li.new a{background:rgba(45,212,191,.08);border-color:rgba(45,212,191,.25)}
.bp-list a:hover{background:var(--glass-hover)}
.bp-list span{color:var(--fg-2);font-size:12.5px}.bp-list small{color:var(--fg-3);font-size:11px}
.push-cta{display:flex;gap:16px;align-items:center;padding:16px 20px;flex-wrap:wrap;border-color:rgba(245,185,66,.35)}
.push-cta > div{flex:1;min-width:220px}.push-cta p{margin:2px 0 0;color:var(--fg-2);font-size:13px}

/* sidebar: plan box with button, centred version */
.upsell.row-u{display:flex;align-items:center;justify-content:space-between;gap:10px}
.upsell.row-u p{margin:2px 0 0}
.ver{justify-content:center;font-size:11.5px}

/* rich tooltip */
.tip{position:fixed;top:0;left:0;z-index:300;pointer-events:none;opacity:0;transition:opacity .15s;padding:9px 13px;border-radius:12px;background:linear-gradient(160deg,rgba(22,33,58,.98),rgba(12,19,36,.98));border:1px solid rgba(45,212,191,.35);box-shadow:0 18px 40px -12px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.04) inset,0 0 24px -8px rgba(45,212,191,.45);display:flex;flex-direction:column;gap:2px;max-width:280px}
.tip.on{opacity:1}
.tip b{font-size:12.5px;color:#e8fffb}.tip span{font-size:13px;font-weight:800;color:var(--accent)}
[data-tip]{cursor:default}
.flow-row{border-radius:8px;transition:background .2s;padding-inline:4px}
.flow-row:hover,.flow-row:focus{background:var(--glass-hover);outline:none}
.flow-row > span.num{text-align:left}
.unit{font-weight:600;color:var(--fg-3);font-size:11px}

/* score colours */
.metric{display:flex;align-items:center;gap:8px}.metric .track{width:84px}
.score-chip{background:color-mix(in srgb,var(--sc) 18%,transparent);color:var(--sc);border-color:color-mix(in srgb,var(--sc) 40%,transparent)}
.ring{background:conic-gradient(var(--ring,var(--accent)) calc(var(--p)*1%),var(--glass-strong) 0)}

/* loading */
.spin{display:inline-block;width:15px;height:15px;border-radius:50%;border:2px solid rgba(45,212,191,.25);border-top-color:var(--accent);animation:spin .8s linear infinite;vertical-align:middle;margin-inline-start:6px}
.loading-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;height:100%;color:var(--fg-2)}
.loading-box .spin{width:28px;height:28px;border-width:3px;margin:0}
.err-box{color:var(--down)}.err-box svg{width:28px;height:28px}

/* empty states */
.empty-art{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:28px 18px;width:100%}
.empty-art svg{max-width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.4));animation:float 6s ease-in-out infinite}
.empty-art h3{margin:6px 0 0;font-size:16px;font-weight:900}
.empty-art p{margin:0;color:var(--fg-2);max-width:46ch;font-size:13px}
.empty-art .btn{margin-top:10px}
.center-fill{flex:1;display:flex;align-items:center;justify-content:center;min-height:320px}

/* watchlist cards */
.groups2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.gcard2{padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 3px 0 -1px var(--gc),inset 0 1px 0 var(--glass-hi),var(--shadow)}
.gcard2 header{display:flex;gap:12px;align-items:center}
.gcard2 header > div{flex:1;min-width:0}.gcard2 header a{color:var(--fg);text-decoration:none}.gcard2 header b{font-size:16px}
.gcard2 header small{display:block;color:var(--fg-3)}
.icon-btn.sm{width:34px;height:34px;border-radius:10px}.icon-btn.sm svg{width:16px;height:16px}
.gcard2 footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid var(--glass-line)}
.sym-chip{cursor:pointer;gap:4px}.sym-chip svg{width:11px;height:11px;opacity:.6}
.sym-chip:hover{border-color:var(--down);color:var(--down)}
.btn-add{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--gc) 50%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--gc) 26%,transparent),color-mix(in srgb,var(--gc) 8%,transparent));color:var(--fg);font-weight:800;cursor:pointer;transition:transform .25s var(--ease-spring),box-shadow .3s}
.btn-add svg{width:16px;height:16px;padding:3px;border-radius:7px;background:var(--gc);color:#06201c;box-sizing:content-box}
.btn-add:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px var(--gc)}
.gcreate{min-height:250px;border-radius:var(--r);border:2px dashed rgba(45,212,191,.4);background:linear-gradient(160deg,rgba(45,212,191,.08),rgba(56,189,248,.04));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--fg);cursor:pointer;transition:border-color .3s,transform .3s var(--ease),background .3s}
.gcreate:hover{border-color:var(--accent);transform:translateY(-4px);background:linear-gradient(160deg,rgba(45,212,191,.16),rgba(56,189,248,.08))}
.gcreate-ic{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);box-shadow:0 16px 34px -12px var(--accent);transition:transform .4s var(--ease-spring)}
.gcreate:hover .gcreate-ic{transform:rotate(90deg) scale(1.06)}
.gcreate-ic svg{width:30px;height:30px}.gcreate small{color:var(--fg-2)}
.icon-pick{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.icon-pick input,.color-pick input,.ch-grid input{position:absolute;opacity:0;pointer-events:none}
.icon-pick span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:12px;border:1px solid var(--glass-line);background:var(--glass);cursor:pointer;font-size:11px;color:var(--fg-2);transition:all .2s}
.icon-pick span svg{width:20px;height:20px}
.icon-pick input:checked + span{border-color:var(--accent);background:rgba(45,212,191,.14);color:var(--fg);box-shadow:0 0 0 3px var(--accent-soft)}
.icon-pick input:focus-visible + span,.color-pick input:focus-visible + span,.ch-grid input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.color-pick{display:flex;gap:10px}
.color-pick span{display:block;width:34px;height:34px;border-radius:50%;background:var(--c);cursor:pointer;box-shadow:0 0 0 2px transparent;transition:box-shadow .2s,transform .2s}
.color-pick input:checked + span{box-shadow:0 0 0 3px #0b1222,0 0 0 5px var(--c);transform:scale(1.08)}
.lbl-s{font-weight:700;font-size:13px}

/* alerts */
.is-disabled{opacity:.45}
.input:disabled{cursor:not-allowed}
.ch-pick{border:0;padding:0;margin:0 0 12px}.ch-pick legend{font-weight:700;font-size:13px;margin-bottom:6px}
.ch-grid{display:flex;flex-wrap:wrap;gap:8px}
.ch-grid span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:99px;border:1px solid var(--glass-line);background:var(--glass);cursor:pointer;font-weight:700;font-size:12.5px;color:var(--fg-2);transition:all .2s}
.ch-grid span svg{width:15px;height:15px}
.ch-grid span em{font-style:normal;font-size:10px;color:var(--gold);margin-inline-start:2px}
.ch-grid input:checked + span{border-color:var(--accent);background:rgba(45,212,191,.16);color:var(--fg);box-shadow:0 0 0 3px var(--accent-soft)}
.ch-grid .locked-ch span{opacity:.5;cursor:not-allowed}
.alist .chs{display:flex;gap:4px;flex-wrap:wrap}

/* pricing bill */
.bill{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;background:var(--glass);border:1px solid var(--glass-line)}
.bill > div{display:flex;justify-content:space-between;gap:10px}
.bill .credit{color:var(--up)}.bill .total{border-top:1px dashed var(--glass-line);padding-top:8px;font-size:16px}

/* account */
.acct{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:980px){.acct{grid-template-columns:1fr}}
.acc-side{padding:20px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;position:sticky;top:96px}
.acc-av{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;font-size:30px;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);box-shadow:0 18px 36px -14px var(--accent)}
.acc-side small{color:var(--fg-3)}
.acc-prog{width:100%;margin:12px 0;display:flex;flex-direction:column;gap:6px;text-align:right}
.acc-side nav{width:100%;display:flex;flex-direction:column;gap:4px}
.acc-side nav button{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:0;background:transparent;color:var(--fg-2);font-weight:700;cursor:pointer;text-align:right}
.acc-side nav button svg{width:17px;height:17px}
.acc-side nav button:hover{background:var(--glass-hover);color:var(--fg)}
.acc-side nav button[aria-pressed="true"]{background:rgba(45,212,191,.14);color:var(--accent)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.form-grid .span2{grid-column:1/-1}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.sub{padding:18px}.sub h3{margin:0 0 12px;font-size:15px;display:flex;align-items:center;gap:8px}.sub h3 svg{width:18px;height:18px;color:var(--accent)}

/* news */
.news{list-style:none;margin:0;padding:4px 10px 8px;display:flex;flex-direction:column}
.news li a{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:11px 10px;border-radius:12px;text-decoration:none;color:var(--fg);border-bottom:1px solid var(--glass-line);transition:background .2s,padding .3s var(--ease)}
.news li:last-child a{border-bottom:0}
.news li a:hover{background:var(--glass-hover);padding-inline-start:16px}
.news .nt{font-weight:600;line-height:1.7;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.news small{color:var(--fg-3);white-space:nowrap;font-size:11.5px}
.news li a > svg{width:14px;height:14px;color:var(--fg-3)}
.news .src{font-size:11px;font-weight:800;padding:3px 9px;border-radius:99px;background:rgba(56,189,248,.14);color:var(--accent-2);white-space:nowrap}
.news .src.sena{background:rgba(45,212,191,.14);color:var(--accent)}
.news.big .nt{font-size:14.5px}
@media (max-width:640px){.news li a{grid-template-columns:1fr;gap:4px}.news li a > svg{display:none}}

/* IPO cards */
.ipo-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.ipo2{--ac:var(--accent);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 3px 0 -1px var(--ac),inset 0 1px 0 var(--glass-hi),var(--shadow)}
.ipo2 header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.ipo-sym{display:flex;gap:10px;align-items:center}
.ipo-sym > svg{width:36px;height:36px;padding:8px;border-radius:12px;background:rgba(245,185,66,.16);color:var(--gold);box-sizing:border-box}
.ipo-sym b{font-size:18px;font-weight:900}.ipo-sym small{display:block;color:var(--fg-3);font-size:12px}
.ipo-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.ipo-kv small{display:block;color:var(--fg-3);font-size:11.5px}.ipo-kv b{font-size:13.5px}
.ipo2.upcoming{box-shadow:inset 0 3px 0 -1px var(--ac),inset 0 1px 0 var(--glass-hi),0 20px 50px -26px var(--accent)}
.ipo2.today{--ac:var(--gold)}
.ipo2.done{--ac:rgba(148,163,184,.5);opacity:.72;filter:saturate(.6)}
.ipo2.done .ipo-sym > svg{background:rgba(148,163,184,.15);color:var(--fg-3)}
.chip.done{background:rgba(148,163,184,.14);color:var(--fg-2);border-color:transparent}
.chip svg{width:12px;height:12px}

/* misc */
.opp-tabs{margin-bottom:14px}
.sym-search{flex:1 1 520px;justify-content:flex-start}
.sym-search > .input{max-width:300px;flex:1}
.alist .chs{display:flex;gap:4px;flex:none}.alist .chs .chip{display:inline-flex;width:auto}
@media (max-width:640px){
  .pill .lbl,.pill .sep,.pill .sep + span{display:none}
  .pill{padding:6px 10px}
  .topbar .search{min-width:0;flex:1 1 auto}
  .bell-panel{position:fixed;top:76px;left:8px;right:8px;width:auto}
  .groups2{grid-template-columns:1fr}
  .ipo-grid{grid-template-columns:1fr}
}

/* Thin glass scrollbars everywhere: no arrows, translucent thumb that brightens on hover */
:root{--sb-thumb:rgba(255,255,255,.14);--sb-thumb-hover:rgba(255,255,255,.28)}
:root[data-theme="light"]{--sb-thumb:rgba(15,30,60,.16);--sb-thumb-hover:rgba(15,30,60,.3)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--sb-thumb:rgba(15,30,60,.16);--sb-thumb-hover:rgba(15,30,60,.3)}}
@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) transparent}}  /* Firefox; Chromium uses the ::-webkit rules (setting scrollbar-width there would disable them) */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:99px;border:1px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hover);background-clip:padding-box}
::-webkit-scrollbar-button{display:none;width:0;height:0}
::-webkit-scrollbar-corner{background:transparent}
.nav{scrollbar-gutter:stable}

/* ---------- v2.4: screener, special signals, stock page, live quotes ---------- */
.pc{display:inline-block;margin-inline-start:6px;padding:1px 6px;border-radius:6px;font-size:11.5px;font-weight:700;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.pc.up{background:var(--up-soft);color:var(--up)} .pc.down{background:var(--down-soft);color:var(--down)} .pc.muted{background:var(--glass-strong);color:var(--fg-2)}
td.qc{white-space:nowrap}
.live-refresh{display:inline-grid;place-items:center;width:26px;height:26px;margin-inline-start:4px;border-radius:8px;border:1px solid var(--glass-line);background:var(--glass);color:var(--fg-2);cursor:pointer}
.live-refresh:hover{color:var(--fg);background:var(--glass-hover)}
.live-refresh svg{width:14px;height:14px}
.live-refresh.is-busy svg{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.scr{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.scr-side{padding:16px;position:sticky;top:90px;display:flex;flex-direction:column;gap:12px}
.scr-side h2{margin:0;font-size:15px;font-weight:800}
.scr-side .seg{width:100%}.scr-side .seg button{flex:1}
.scr-presets{display:grid;grid-template-columns:1fr;gap:6px;max-height:calc(100vh - 290px);overflow-y:auto}
.scr-p{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--glass-line);background:var(--glass);color:var(--fg);cursor:pointer;font-weight:600;text-align:right;transition:background .2s,border-color .2s}
.scr-p:hover{background:var(--glass-hover)}
.scr-p.on{background:var(--accent-soft);border-color:var(--accent);color:var(--fg)}
.scr-p svg{width:14px;height:14px;color:var(--gold)}
.th-sort{background:none;border:0;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:0}
.th-sort.on{color:var(--fg)} .th-sort svg{width:13px;height:13px}
@media (max-width:980px){.scr{grid-template-columns:1fr}.scr-side{position:static}.scr-presets{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:none}}

.pat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:4px 18px 18px}
.pat-card{display:flex;flex-direction:column;gap:6px;padding:12px;text-decoration:none;color:var(--fg);transition:transform .2s,background .2s}
.pat-card:hover{transform:translateY(-2px);background:var(--glass-hover)}
.pat-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pat-f{display:flex;justify-content:space-between;align-items:center;font-size:12.5px}
.mini-pat{width:100%;height:130px;display:block}
.mini-pat .pp{fill:none;stroke:var(--fg-2);stroke-width:1.6;vector-effect:non-scaling-stroke;opacity:.85}
.mini-pat .pl{stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:5 3}
.mini-pat .pl.bull{stroke:var(--accent)} .mini-pat .pl.bear{stroke:var(--down)}

.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.how > div{display:flex;gap:10px;align-items:flex-start}
.how p{margin:0;font-size:12.5px;color:var(--fg-2)} .how p b{display:block;color:var(--fg);font-size:13.5px;margin-bottom:2px}
@media (max-width:900px){.how{grid-template-columns:1fr}}
.sig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin:16px 0}
.sig-lock{grid-column:1/-1}.sig-lock .sig-grid{margin:0}
.sig-card{padding:16px;display:flex;flex-direction:column;gap:12px}
.sig-card header{display:flex;align-items:center;gap:10px}
.sig-rank{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);font-weight:900}
.sig-sym{flex:1;min-width:0;text-decoration:none;color:var(--fg)} .sig-sym b{font-size:17px;display:block} .sig-sym small{color:var(--fg-3);font-size:11.5px}
.ring.sm{width:70px;height:70px}.ring.sm > div{width:56px;height:56px}.ring.sm b{font-size:15px}
.sig-why small{color:var(--fg-3);font-size:11.5px}
.sig-why ul,.why-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.sig-why li,.why-list li{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:4px 8px;border-radius:8px;background:var(--glass)}
.sig-an summary,.lv-d summary,.how-d summary{cursor:pointer;font-size:12.5px;color:var(--fg-2);display:flex;align-items:center;gap:6px;padding:6px 0}
.sig-an summary svg,.lv-d summary svg,.how-d summary svg{width:15px;height:15px}
.sig-an table,.lv-d table{font-size:12px} .sig-an td,.sig-an th,.lv-d td,.lv-d th{padding:5px 8px}
.how-d{margin-top:12px;border-top:1px solid var(--glass-line);padding-top:6px}
.how-d > div{font-size:12.5px;color:var(--fg-2);line-height:1.8} .how-d ul{padding-inline-start:18px;margin:6px 0}

.score-d{border-radius:10px} .score-d summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px}
.score-d summary::-webkit-details-marker{display:none}
.score-d summary .score{flex:1}
.score-i{color:var(--fg-3);display:grid}.score-i svg{width:14px;height:14px}
.score-d[open] .score-i{color:var(--accent)}
.score-x{margin:4px 0 10px;padding:10px 12px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-line);font-size:12px;color:var(--fg-2)}
.score-x p{margin:0 0 6px}
.score-x ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.score-x li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}
.score-x li small{color:var(--fg-3)}

.stock-head{flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch!important}
.sh-top{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.sh-q{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.sh-q small{display:block;color:var(--fg-3);font-size:11.5px}
.sh-q .price{font-size:26px;font-weight:900}
.co-strip{display:grid;align-content:start;grid-auto-rows:min-content;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 18px;margin-top:16px;padding-top:14px;border-top:1px solid var(--glass-line)}
.co-strip div{display:flex;flex-direction:column;min-width:0}
.co-strip small{color:var(--fg-3);font-size:11.5px} .co-strip b{font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis}

.codal li{display:flex;flex-direction:column;gap:4px}
.cd-items{display:flex;flex-wrap:wrap;gap:6px;padding-inline-start:26px}
.cd-it{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;background:var(--glass);font-size:12px}
.cd-it small{color:var(--fg-3)}
.cd-text{margin:0;padding-inline-start:26px;font-size:12.5px;color:var(--fg-2);line-height:1.8;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

.ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ai-col h3{margin:0 0 10px;font-size:14px;display:flex;align-items:center;gap:6px} .ai-col h3 svg{width:16px;height:16px;color:var(--accent)}
@media (max-width:900px){.ai-grid{grid-template-columns:1fr}}
.olist.bk .why{white-space:normal;font-size:12px}
.scr-side .seg{flex-wrap:nowrap}.scr-side .seg button{padding:5px 4px;font-size:12px}
@media (max-width:980px){.scr-presets{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:4px}.scr-p{flex:none;white-space:nowrap;padding:8px 12px}.scr-side .note{display:none}}

/* v2.4.1 — slightly darker dark theme: deeper overlay on the artwork, quieter color glows (pink/amber toned down) */
:root[data-theme="dark"] .bg-scene::after{background:linear-gradient(180deg,rgba(4,7,15,.55),rgba(4,7,15,.72) 55%,rgba(4,7,15,.9))}
:root[data-theme="dark"] body::before{opacity:.32;background:radial-gradient(42vmax 34vmax at 88% 6%,rgba(20,184,166,.34),transparent 70%),radial-gradient(38vmax 30vmax at 6% 26%,rgba(37,99,235,.3),transparent 70%),radial-gradient(34vmax 28vmax at 62% 104%,rgba(245,158,11,.12),transparent 70%),radial-gradient(30vmax 26vmax at 30% 70%,rgba(219,39,119,.06),transparent 70%),linear-gradient(180deg,#04070f,#080e1c)}
:root[data-theme="dark"] .bg-orbs{opacity:.32}
:root[data-theme="dark"] #fx{opacity:.4}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]) .bg-scene::after{background:linear-gradient(180deg,rgba(4,7,15,.55),rgba(4,7,15,.72) 55%,rgba(4,7,15,.9))}
:root:not([data-theme="light"]) body::before{opacity:.32;background:radial-gradient(42vmax 34vmax at 88% 6%,rgba(20,184,166,.34),transparent 70%),radial-gradient(38vmax 30vmax at 6% 26%,rgba(37,99,235,.3),transparent 70%),radial-gradient(34vmax 28vmax at 62% 104%,rgba(245,158,11,.12),transparent 70%),radial-gradient(30vmax 26vmax at 30% 70%,rgba(219,39,119,.06),transparent 70%),linear-gradient(180deg,#04070f,#080e1c)}
:root:not([data-theme="light"]) .bg-orbs{opacity:.32}
:root:not([data-theme="light"]) #fx{opacity:.4}
}
/* paywall overlays need room: a short blurred list must not crop the upgrade box */
.locked{min-height:250px}
.paywall-box{padding:16px 18px}
.syms.picked{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.syms.picked .chip{cursor:pointer}.syms.picked .chip svg{width:12px;height:12px}
/* v2.4.2 */
td.sym .halt{margin-inline-start:8px;padding:0 7px;font-size:10.5px;vertical-align:middle}
.pc{margin-inline-start:10px}
.ring.sm{width:88px;height:88px;flex:none}
.ring.sm > div{width:70px;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.ring.sm b{font-size:16px;line-height:1.1}.ring.sm small{font-size:10.5px;line-height:1.1}
/* rings: room between the number and the arc, never squeezed by flex rows */
.ring{width:96px;height:96px;flex:none}
.ring > div{width:80px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 8px;text-align:center}
.ring b{font-size:17px;line-height:1.1}
.ring small{font-size:10px;line-height:1.2;max-width:60px}
.ring.sm{width:88px;height:88px}.ring.sm > div{width:72px;height:72px}.ring.sm b{font-size:15px}
/* .pc is direction:ltr, so logical margins point the wrong way inside RTL cells; use a physical gap toward the number */
.pc{margin-inline-start:0;margin-left:0;margin-right:12px}
td.qc{padding-inline-end:20px}
/* v2.4.3 — screener tabs as a 2×2 grid, roomier PDP header numbers, refresh next to the price label */
.scr-side .seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex-wrap:nowrap}
.scr-side .seg button{padding:7px 6px;font-size:12.5px;white-space:nowrap}
.sh-q{gap:28px}
.sh-q .price .pc,.sh-q .sh-v .pc{margin-right:14px}
.sh-q .sh-v{font-size:17px;font-weight:800}
.sh-lbl{display:flex!important;align-items:center;gap:6px;margin-bottom:2px}
.live-refresh.sm{width:22px;height:22px;border-radius:7px;margin:0}
.live-refresh.sm svg{width:12px;height:12px}
.returns{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}

/* ===== 2.4: full-height list pages, screener tabs, signal cards, favourite button, portfolio ===== */
.page-full{display:flex;flex-direction:column;gap:14px;height:var(--avail,calc(100vh - 170px))}
.page-full > .page-head{flex:none}
.page-full > .panel,.page-full > .scr-body{flex:1;min-height:0}
.page-full > .panel,.scr-body > .panel{display:flex;flex-direction:column;overflow:hidden}
.scr-body{display:flex;flex-direction:column;min-height:0}
.scr-body > .panel{flex:1;min-height:0}
.scr-scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.scr-scroll thead th,.tbl-scroll thead th{position:sticky;top:0;z-index:2;background:rgba(14,22,42,.96);backdrop-filter:blur(8px)}
.tbl-scroll .tbl-wrap{overflow:visible}
.panel-sub{padding:0 18px 10px;color:var(--fg-2);font-size:13px}
.scr-bar{display:flex;align-items:center;gap:14px;padding:10px 12px;flex:none;flex-wrap:wrap}
.scr-bar > .seg{flex:none}
.scr-chips{display:flex;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px}
.scr-chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:99px;border:1px solid var(--glass-line);background:var(--glass);color:var(--fg-2);font-weight:700;font-size:12.5px;cursor:pointer;white-space:nowrap;transition:all .2s}
.scr-chip:hover{color:var(--fg);border-color:rgba(45,212,191,.4)}
.scr-chip.on{background:linear-gradient(135deg,rgba(45,212,191,.28),rgba(56,189,248,.16));color:#e8fffb;border-color:rgba(45,212,191,.65);box-shadow:0 6px 18px -8px rgba(45,212,191,.7)}
.scr-chip svg{width:13px;height:13px;color:var(--gold)}
@media (max-width:920px){.page-full{height:auto}.page-full > .panel,.scr-body > .panel{overflow:hidden}.scr-scroll{overflow-x:auto;overflow-y:visible}.tbl-scroll .tbl-wrap{overflow-x:auto}}

/* special-signal cards */
.sig-card{gap:14px}
.sig-card header{align-items:center}
.sg-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sg-t{padding:10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--glass-line);display:flex;flex-direction:column;gap:4px;text-align:center}
.sg-t small{color:var(--fg-3);font-size:11px;line-height:1.4}
.sg-t b{font-size:15px;font-weight:900}
.sg-why{display:flex;flex-wrap:wrap;gap:6px}
.sg-why .chip{font-size:11px}
.sig-card footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--glass-line);margin-top:auto}
.ring.sm{width:70px;height:70px}.ring.sm > div{width:56px;height:56px}.ring.sm b{font-size:15px}.ring.sm small{font-size:9.5px}

/* favourite button on the PDP */
.fav-btn svg{color:var(--fg-3);transition:transform .35s var(--ease-spring),color .2s}
.fav-btn:hover svg{transform:rotate(14deg) scale(1.15)}
.fav-btn.on{border-color:rgba(245,185,66,.55);background:rgba(245,185,66,.12);color:#ffe3a3}
.fav-btn.on svg{color:var(--gold);fill:var(--gold);filter:drop-shadow(0 0 6px rgba(245,185,66,.6))}
.sh-actions{flex-wrap:wrap}
.sub-list{margin-top:16px;padding-top:12px;border-top:1px solid var(--glass-line)}
.sub-list > small{color:var(--fg-3)}

/* portfolio */
.pf-sum{padding:16px 18px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) 1.4fr;gap:14px;align-items:center}
@media (max-width:1280px){.pf-sum{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.pf-sum{grid-template-columns:1fr 1fr}}
.pf-k{display:flex;flex-direction:column;gap:2px}
.pf-k small{color:var(--fg-3);font-size:11.5px}.pf-k b{font-size:17px;font-weight:900}
.pf-k.up b,.pf-k b.up{color:var(--up)}.pf-k b.down{color:var(--down)}
.pf-alloc small{color:var(--fg-3);font-size:11.5px}
.pf-alloc-bar{display:flex;height:12px;border-radius:99px;overflow:hidden;gap:2px;margin-top:6px}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
@media (max-width:640px){.pf-grid{grid-template-columns:1fr}}
.pf-card{padding:16px;display:flex;flex-direction:column;gap:14px}
.pf-card header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pf-sym{text-decoration:none;color:var(--fg)}.pf-sym b{font-size:18px;font-weight:900}.pf-sym small{display:block;color:var(--fg-3)}
.pf-act{font-size:12.5px;padding:5px 12px}
.act-add{box-shadow:inset 0 3px 0 -1px #34d399,inset 0 1px 0 var(--glass-hi),var(--shadow)}
.act-trim,.act-watch,.act-caution{box-shadow:inset 0 3px 0 -1px #f5b942,inset 0 1px 0 var(--glass-hi),var(--shadow)}
.act-exit{box-shadow:inset 0 3px 0 -1px #fb7185,inset 0 1px 0 var(--glass-hi),var(--shadow)}
.pf-nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.pf-nums .pf-k{padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--glass-line)}
.pf-nums .pf-k b{font-size:14px}
@media (max-width:640px){.pf-nums{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pf-bar{position:relative;height:10px;border-radius:99px;background:var(--glass-strong);margin:10px 4px 2px;direction:ltr}
.pf-zone{position:absolute;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,rgba(251,113,133,.5),rgba(245,185,66,.35) 45%,rgba(52,211,153,.6))}
.pf-m{position:absolute;top:-6px;width:4px;height:22px;margin-left:-2px;border-radius:3px;cursor:default}
.pf-m.stop{background:#fb7185}.pf-m.sup{background:#34d399;opacity:.7}.pf-m.res{background:#f5b942;opacity:.7}.pf-m.tgt{background:#34d399}
.pf-m.avg{background:#38bdf8;height:16px;top:-3px;width:10px;margin-left:-5px;border-radius:50%}
.pf-m.now{background:#fff;box-shadow:0 0 0 3px #0b1222,0 0 12px rgba(255,255,255,.6);height:26px;top:-8px}
.pf-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--fg-3)}
.pf-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-inline-end:5px;vertical-align:middle}
.pf-legend i.stop{background:#fb7185}.pf-legend i.avg{background:#38bdf8;border-radius:50%}.pf-legend i.now{background:#fff}.pf-legend i.tgt{background:#34d399}
.pf-why{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pf-why li{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.8}
.pf-why li svg{width:15px;height:15px;flex:none;margin-top:5px;color:var(--accent)}
.pf-lots summary{cursor:pointer;color:var(--fg-2);font-size:12.5px;display:flex;align-items:center;gap:6px}
.pf-lots summary svg{width:14px;height:14px}
.pf-lots table{margin-top:8px}
.pf-card footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--glass-line);margin-top:auto}

/* ===== 2.5: chart tooltip, screener in page flow, filter tiles, compact rings ===== */
.ch-tip{position:absolute;top:0;left:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .12s;direction:rtl;
  display:flex;flex-direction:column;gap:2px;min-width:132px;padding:9px 12px;border-radius:12px;
  background:linear-gradient(160deg,rgba(22,33,58,.97),rgba(12,19,36,.97));border:1px solid rgba(45,212,191,.4);
  box-shadow:0 16px 36px -12px rgba(0,0,0,.85),0 0 22px -8px rgba(45,212,191,.5)}
.ch-tip.on{opacity:1}
.ch-tip small{color:var(--fg-3);font-size:11px}
.ch-tip b{font-size:15px;font-weight:900;color:#e8fffb}
.ch-tip span{font-size:12px;font-weight:800}
.ch-tip em{font-style:normal;font-size:11px;color:var(--fg-2)}

.page-flow{display:flex;flex-direction:column;gap:14px}
.page-flow .scr-scroll{overflow:visible;flex:none}
.page-flow .scr-body > .panel{overflow:visible}
.page-flow .scr-scroll thead th{position:static}

.scr-bar{flex-direction:column;align-items:stretch;gap:12px;padding:14px}
.scr-bar > .seg{align-self:flex-start}
.scr-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;overflow:visible;padding:0}
.scr-chip{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 10px;border-radius:14px;border:1px solid var(--glass-line);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));color:var(--fg-2);font-weight:700;font-size:13px;text-align:right;white-space:normal;
  transition:transform .25s var(--ease-spring),border-color .2s,background .2s,color .2s,box-shadow .3s}
.scr-chip:hover{transform:translateY(-2px);color:var(--fg);border-color:rgba(45,212,191,.45);background:rgba(45,212,191,.06)}
.sc-ic{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--glass-strong);color:var(--accent-2);transition:background .2s,color .2s}
.sc-ic svg{width:16px;height:16px}
.sc-t{flex:1;min-width:0;line-height:1.5}
.sc-lock svg{width:14px;height:14px;color:var(--gold)}
.scr-chip.on{color:#e8fffb;border-color:rgba(45,212,191,.7);background:linear-gradient(135deg,rgba(45,212,191,.22),rgba(56,189,248,.1));box-shadow:0 10px 24px -14px rgba(45,212,191,.9)}
.scr-chip.on .sc-ic{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink)}
@media (max-width:640px){.scr-chips{grid-template-columns:1fr 1fr}.sc-ic{width:26px;height:26px}}

.ring.xs{width:58px;height:58px}
.ring.xs > div{width:46px;height:46px}
.ring.xs b{font-size:12.5px;font-weight:800}
.ring.xs small{font-size:9px}
.scr-bar .scr-chips{flex:none;align-content:start}
.scr-bar{flex-wrap:nowrap}

/* ===== 2.6: darker theme, collapsible sidebar, screener column, portfolio rows ===== */
/* darker */
.bg-scene::after{background:linear-gradient(180deg,rgba(3,6,13,.62),rgba(3,6,13,.74) 55%,rgba(3,6,13,.9))}
.bg-orbs{opacity:.32}
body::before{opacity:.3}
.glass{background:rgba(10,16,30,.62);border-color:rgba(255,255,255,.08)}
.dd-pop,.search-results.glass,.bell-panel{background:rgba(7,12,24,.98)}

/* collapsible sidebar */
.side{transition:padding .3s var(--ease)}
.brand{position:relative}
.side-toggle{position:absolute;top:18px;left:12px;width:32px;height:32px;border-radius:10px}
.side-toggle svg{width:17px;height:17px}
.shell{transition:grid-template-columns .3s var(--ease)}
body.side-col .shell{grid-template-columns:78px minmax(0,1fr)}
body.side-col .side{padding:14px 10px;align-items:center}
body.side-col .brand > span:not(.brand-mark),body.side-col .nav .sec,body.side-col .nav a > :not(.ico),body.side-col .upsell,body.side-col .ver{display:none}
body.side-col .nav{align-items:center;width:100%}
body.side-col .nav a{justify-content:center;padding:8px;font-size:0;gap:0;width:48px}
body.side-col .nav a:hover{padding:8px}
body.side-col .nav a::before{inset-inline-start:-10px}
body.side-col .brand{padding:4px 0 10px;justify-content:center}
body.side-col .side-toggle{position:static;margin:0 auto 6px}
@media (max-width:920px){.side-toggle{display:none}}

/* screener: tabs on top, presets in a column beside the results */
.scr-top{flex-direction:row;padding:10px 12px}
.scr2{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;align-items:start}
.scr-col{padding:10px;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;scrollbar-width:thin}
.scr-col .scr-chips{display:flex;flex-direction:column;gap:6px}
.scr-col .scr-chip{width:100%}
.ph-start{justify-content:flex-start;gap:14px;flex-wrap:wrap}
@media (max-width:980px){.scr2{grid-template-columns:1fr}.scr-col{position:static;max-height:none}.scr-col .scr-chips{display:grid;grid-template-columns:1fr 1fr}}

/* lighter numbers inside rings */
.ring b{font-weight:700}
.ring.xs b,.ring.sm b{font-weight:600;font-size:12px;letter-spacing:-.2px}
.ring small{font-weight:500}
.sg-t b{font-weight:800;font-size:14px}
.sg-t small{white-space:nowrap}

/* dashboard events from the portfolio */
.ev-list li{align-items:flex-start}
.ev-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.ev-body .chip{align-self:flex-start}
.ev-list .why{white-space:normal;line-height:1.7}

/* portfolio: one full-width row per holding */
.pf-grid{grid-template-columns:1fr}
.pf-card{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"head nums why" "bar bar why" "legend legend why" "lots lots why" "foot foot foot";gap:12px 20px;align-items:start}
.pf-card > header{grid-area:head;flex-direction:column;align-items:flex-start;gap:8px}
.pf-card > .pf-nums{grid-area:nums}
.pf-card > .pf-bar{grid-area:bar}
.pf-card > .pf-legend{grid-area:legend}
.pf-card > .pf-why{grid-area:why;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--glass-line)}
.pf-card > .pf-lots{grid-area:lots}
.pf-card > footer{grid-area:foot}
.pf-nums{grid-template-columns:repeat(5,minmax(0,1fr))}
.pf-nums .pf-k{min-width:0}
.pf-nums .pf-k b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-nums .pf-k .mini{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-sum .pf-k b{font-size:16px;white-space:nowrap}
.pf-sum{grid-template-columns:repeat(5,minmax(0,1fr)) minmax(160px,1.2fr)}
@media (max-width:1280px){.pf-card{grid-template-columns:1fr;grid-template-areas:"head" "nums" "bar" "legend" "why" "lots" "foot"}.pf-sum{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.pf-nums{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-sum{grid-template-columns:1fr 1fr}}
.scr2{grid-template-columns:236px minmax(0,1fr)}
.scr2 .scr-body{min-width:0}
.scr2 .scr-scroll{overflow-x:auto}
.scr2 .scr-tbl th,.scr2 .scr-tbl td{padding-inline:8px}
@media (max-width:980px){.scr2{grid-template-columns:minmax(0,1fr)}}

/* ===== 2.7 ===== */
/* linear progress fills left → right */
.track,.pl-bar{direction:ltr}
.track span{transform-origin:left}
/* footer disclaimer */
.foot p{margin:0 0 4px;color:var(--fg-2);font-size:12.5px}
/* collapsed sidebar: pointer on items */
body.side-col .nav a,body.side-col .nav a *{cursor:pointer}

/* IPO cards: compact, live vs. done */
.ipo-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.ipo2{padding:12px 14px;gap:10px}
.ipo-sym > svg{width:32px;height:32px;padding:7px;background:rgba(52,211,153,.16);color:var(--up)}
.ipo-sym b{font-size:16px;display:flex;align-items:center;gap:6px}
.ipo-sym small{font-size:11.5px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip.mkt{font-size:10.5px;padding:2px 7px;font-weight:700;background:rgba(56,189,248,.14);color:#7dd3fc;border-color:rgba(56,189,248,.3)}
.ipo-kv{gap:8px 12px}.ipo-kv b{font-size:13px}
.ipo2.live{--ac:var(--up);background:linear-gradient(160deg,rgba(52,211,153,.12),rgba(45,212,191,.04) 60%),var(--glass);box-shadow:inset 0 3px 0 -1px var(--ac),inset 0 1px 0 var(--glass-hi),0 18px 44px -26px var(--up)}
.ipo2.live .chip.acc{background:rgba(52,211,153,.18);color:#6ee7b7;border-color:rgba(52,211,153,.45)}
.ipo2.done{--ac:rgba(148,163,184,.35);opacity:.6;filter:grayscale(.85)}
.ipo2.done .ipo-sym > svg{background:rgba(148,163,184,.12);color:var(--fg-3)}
.ipo2.done .chip.mkt{background:var(--glass);color:var(--fg-3);border-color:var(--glass-line)}

/* portfolio */
.pf-top{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:stretch}
.pf-top .pf-sum{grid-template-columns:repeat(3,minmax(0,1fr))}
.pf-top .pf-alloc{grid-column:1/-1}
.pf-pie{padding:16px;display:flex;gap:18px;align-items:center}
.pie{flex:none;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 10px 30px -14px rgba(0,0,0,.7)}
.pie > div{width:96px;height:96px;border-radius:50%;background:#0a1120;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px var(--glass-line)}
.pie small{font-size:11px;color:var(--fg-3)}.pie b{font-size:18px;font-weight:900}
.pie-l{list-style:none;margin:0;padding:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;max-height:170px;overflow:auto;scrollbar-width:thin}
.pie-l li{display:flex;align-items:center;gap:8px;font-size:13px}
.pie-l i{width:10px;height:10px;border-radius:3px;flex:none}
.pie-l a{flex:1;color:var(--fg);text-decoration:none;font-weight:700}
.pie-l b{font-weight:700;color:var(--fg-2)}
@media (max-width:1100px){.pf-top{grid-template-columns:1fr}}
@media (max-width:520px){.pf-pie{flex-direction:column}}
.pf-id{display:flex;align-items:center;gap:10px}
.pf-no{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-weight:900;font-size:13px;background:color-mix(in srgb,var(--pc) 22%,transparent);color:var(--pc);border:1px solid color-mix(in srgb,var(--pc) 45%,transparent);flex:none}
.pf-kind{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(56,189,248,.14);color:#7dd3fc;flex:none}
.pf-kind.fund{background:rgba(245,185,66,.16);color:var(--gold)}
.pf-kind svg{width:15px;height:15px}
.pf-why li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;line-height:1.7;font-size:12.5px}
.pf-why li b{font-weight:800;color:var(--accent);font-size:12px;padding-top:1px}
.pf-why li span{color:var(--fg-2)}
.pf-card > footer{display:flex;gap:10px;flex-wrap:wrap}
.btn-add.sell svg{color:#2a0710}

/* watchlist: one-line symbol strip */
.syms.fit{display:flex;flex-wrap:nowrap;gap:8px;overflow:hidden;min-width:0}
.syms.fit > *{flex:none}
.syms.fit > [hidden]{display:none}
.more-chip{cursor:help;letter-spacing:1px}
.gcard .syms.fit{flex-wrap:nowrap}
/* new-group modal */
.icon-pick span{padding:12px 4px}
.color-pick{justify-content:space-between;width:100%}
.color-pick label{flex:1;display:flex;justify-content:center}
.color-pick span{width:30px;height:30px}
.ng-submit{margin-top:18px}
.btn-danger{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff;border-color:transparent}
.btn-danger:hover{filter:brightness(1.08)}
.confirm-row{margin-top:14px;gap:10px}

/* screener */
.scr2{grid-template-columns:286px minmax(0,1fr)}
.scr-cat{margin-bottom:10px}
.scr2 .scr-scroll{overflow-x:visible}
.scr2 .scr-tbl{width:100%}
.scr-col{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}
.scr-col::-webkit-scrollbar{width:6px}
.scr-col::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:99px}
.scr-col::-webkit-scrollbar-thumb:hover{background:rgba(45,212,191,.35)}
.scr-col::-webkit-scrollbar-track{background:transparent}
.sc-ic{color:var(--fg-3)}
.scr-chip:hover .sc-ic{color:var(--fg)}
.scr-chip.on{background:rgba(255,255,255,.07);border-color:rgba(245,185,66,.55);color:#fff;box-shadow:0 8px 22px -14px rgba(245,185,66,.55)}
.scr-chip.on .sc-ic{background:rgba(245,185,66,.18);color:var(--gold)}
@media (max-width:980px){.scr2{grid-template-columns:minmax(0,1fr)}}

/* special signals: neutral reason chips */
.sg-why .chip,.sg-why .chip.up,.sg-why .chip.down{background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--fg-2);font-weight:600}

/* refresh buttons: centered icon */
.live-refresh{padding:0;line-height:0}
.live-refresh svg{display:block;margin:0}

/* stock page */
.sh-actions{display:flex;gap:8px;margin-inline-start:auto}
.sq-btn{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;padding:0;border:1px solid var(--glass-line);background:var(--glass);color:var(--fg-2);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.sq-btn svg{width:18px;height:18px;display:block}
.sq-btn:hover{background:var(--glass-hover);color:var(--fg);transform:translateY(-1px)}
.sq-btn.on{color:var(--gold);border-color:rgba(245,185,66,.45);background:rgba(245,185,66,.1)}
.sq-btn.on[data-fav] svg{fill:currentColor}
.sq-btn .bdg{position:absolute;top:-6px;left:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--accent);color:var(--accent-ink);font-size:10.5px;font-weight:800;display:grid;place-items:center}
.score-t{border-radius:10px;padding:2px 4px;margin:0 -4px;cursor:help;transition:background .2s}
.score-t:hover,.score-t:focus-visible{background:var(--glass-hover)}
.kv.boxed > div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--glass-line)}
.how-btn{margin-top:14px;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px dashed rgba(45,212,191,.4);background:transparent;color:var(--accent);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.how-btn:hover{background:rgba(45,212,191,.08)}
.how-btn svg{width:15px;height:15px}
.how-m{font-size:13px;line-height:1.9;color:var(--fg-2)}
.how-m ul{padding-inline-start:18px;margin:6px 0 12px}
.how-m .btn{margin-top:8px}
/* codal: one line per notice */
.codal{overflow-x:hidden}
.codal li{flex-direction:row;align-items:center;height:42px;padding:0 10px;gap:10px}
.codal li a{min-width:0;overflow:hidden}
.codal li a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.codal li small{flex:none}
/* money flow: grouped boxes */
.fl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fl-box{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--glass-line)}
.fl-t{display:block;color:var(--fg-3);font-size:11.5px;font-weight:700;margin-bottom:6px}
.fl-row{display:flex;gap:14px}
.fl-row > div{flex:1;min-width:0}
.fl-row small{display:block;color:var(--fg-3);font-size:11px}
.fl-row b{font-size:15px;font-weight:800}
.fl-bars{margin-top:10px}
@media (max-width:520px){.fl-grid{grid-template-columns:1fr}}
.pf-card > footer{justify-content:flex-start}
@media (max-width:980px){.scr2 .scr-scroll{overflow-x:auto}}

/* ===== 2.8 ===== */
/* footer always at the bottom of the page */
.content{min-height:calc(100vh - 32px)}
.foot{margin-top:auto}

/* screener column: no hover jump, no stray scrollbars */
.scr-col{overflow-x:hidden}
.scr-col .scr-chip:hover{transform:none}
.scr-cw{position:relative}
.scr-cw .scr-chip{width:100%;padding-inline-end:38px}
.sc-pin{position:absolute;top:50%;left:8px;transform:translateY(-50%);width:26px;height:26px;border-radius:8px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--fg-3);cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s}
.sc-pin svg{width:14px;height:14px}
.scr-cw:hover .sc-pin,.sc-pin:focus-visible,.sc-pin.on{opacity:1}
.sc-pin:hover{background:var(--glass-hover);color:var(--fg)}
.sc-pin.on{color:var(--gold)}
.scr-sep{margin:10px 2px 2px;font-size:11px;font-weight:800;color:var(--fg-3);display:flex;align-items:center;gap:8px}
.scr-sep::after{content:"";flex:1;height:1px;background:var(--glass-line)}
.scr-cw.prem .scr-chip{border-color:rgba(167,139,250,.35);background:linear-gradient(135deg,rgba(167,139,250,.12),rgba(56,189,248,.05))}
.scr-cw.prem.pro .scr-chip{border-color:rgba(245,185,66,.4);background:linear-gradient(135deg,rgba(245,185,66,.13),rgba(251,113,133,.05))}
.scr-cw.prem .sc-ic{background:rgba(167,139,250,.18);color:#c4b5fd}
.scr-cw.prem.pro .sc-ic{background:rgba(245,185,66,.18);color:var(--gold)}
.scr-cw.prem .scr-chip.on{border-color:rgba(167,139,250,.75);box-shadow:0 8px 22px -14px rgba(167,139,250,.8)}
.scr-cw.prem.pro .scr-chip.on{border-color:rgba(245,185,66,.7)}
.sc-plan{margin-inline-start:auto;flex:none;display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px;background:rgba(167,139,250,.18);color:#ddd6fe}
.scr-cw.prem.pro .sc-plan{background:rgba(245,185,66,.2);color:#fde68a}
.sc-plan svg{width:10px;height:10px}
.scr-cw.prem .scr-chip{padding-inline-end:10px}
.scr-hint{margin:10px 4px 2px;font-size:11px;color:var(--fg-3);line-height:1.7}
/* baskets */
.bk-why{display:flex;gap:6px;flex-wrap:wrap}
.bk-why span{font-size:11px;padding:2px 7px;border-radius:7px;border:1px solid var(--glass-line);color:var(--fg-2);white-space:nowrap}
.bk-why b{color:var(--fg);font-weight:800}
.bk-explain{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--glass-line)}
.bk-ex-h{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.bk-ex-h b{display:block;font-size:14px}.bk-ex-h small{color:var(--fg-3);font-size:12px}
.bk-explain p{margin:6px 0 0;font-size:13px;line-height:1.9;color:var(--fg-2)}

/* standard stat boxes: same height, single line */
.kv.boxed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:10px}
.kv.boxed > div{min-height:72px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}
.kv.boxed > div > *{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.kv.boxed .mini{font-size:11px}
.lv-boxes{grid-template-columns:repeat(2,minmax(0,1fr))}
.center-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:100%;flex:1}
.panel-b.fill{display:flex;flex-direction:column}
.panel-b.fill > .center-box{flex:1}

/* chart tools */
.ch-tools{gap:8px;align-items:center}
.btn-ta{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border-color:transparent;box-shadow:0 8px 20px -10px rgba(139,92,246,.9)}
.btn-ta:hover{filter:brightness(1.1);color:#fff}
.btn-ta svg{width:15px;height:15px}
.proj-l{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11.5px;color:var(--fg-3)}
.proj-l i{width:22px;border-top:2px dashed #c084fc}
.ch-note{display:flex;align-items:center;gap:6px;margin:-2px 0 8px;font-size:12px;color:var(--fg-3)}
.ch-note[hidden]{display:none}
.ch-note svg{width:14px;height:14px;flex:none}
.ch-note.warn svg{color:var(--gold)}
.ta-panel:fullscreen{background:#070c18;padding:12px;height:100vh}
.ta-panel:fullscreen .ta-root{height:calc(100vh - 24px)}
.ta-panel.ta-max{position:fixed;inset:10px;z-index:200;background:#070c18}

/* AI frame */
.ai-sub{padding:14px;border-radius:16px;background:rgba(255,255,255,.025);border:1px solid var(--glass-line);min-width:0}
.ai-sub h3{margin:0 0 12px;font-size:14px;display:flex;align-items:center;gap:8px}
.ai-top{display:flex;gap:24px;align-items:center}
.ai-top p{margin:0;font-size:12.5px;line-height:1.85;color:var(--fg-2)}
.ai-col .why-list{font-size:12.5px;margin-top:12px}

/* money flow boxes: values sit at the far (left) edge */
.fl-box{min-height:72px}
.fl-row{justify-content:space-between}
.fl-row > div{flex:none}
.fl-row > div:last-child{text-align:left}
.fl-row > div:only-child{margin-inline-start:auto}
.netbars,.netbars-l{direction:ltr}
.netbars-l{display:flex;justify-content:space-between}

/* capital increase */
.chip.cap-up{font-size:11px;font-weight:800;vertical-align:middle;background:rgba(167,139,250,.16);color:#ddd6fe;border-color:rgba(167,139,250,.4);gap:4px}
.chip.cap-up svg{width:12px;height:12px}
.cap-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;margin-inline-start:6px;background:rgba(167,139,250,.18);color:#c4b5fd;vertical-align:middle}
.cap-dot svg{width:11px;height:11px}
/* supervisor messages */
.msg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.msg-list details{border:1px solid var(--glass-line);border-radius:12px;background:rgba(255,255,255,.02)}
.msg-list summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center;padding:10px 12px}
.msg-list summary::-webkit-details-marker{display:none}
.msg-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.msg-list summary small{flex:none;color:var(--fg-3);font-size:11.5px}
.msg-list p{margin:0;padding:0 12px 12px;font-size:12.5px;line-height:1.9;color:var(--fg-2)}

/* dashboard stat tiles */
.dstats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.dstat{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;min-height:150px;text-decoration:none;color:var(--fg);transition:transform .2s,border-color .2s}
.dstat:hover{transform:translateY(-2px)}
.dstat .ico{margin-bottom:auto}
.dstat small{color:var(--fg-3);font-size:12px}
.dstat b{font-size:20px;font-weight:900;white-space:nowrap}
.dstat .mini{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media (max-width:1280px){.dstats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.dstats{grid-template-columns:repeat(2,minmax(0,1fr))}.dstat{min-height:130px}}
.dash-pf{grid-template-columns:minmax(0,1fr) 360px}

/* portfolio */
.pie{background:none;box-shadow:none;width:150px;height:150px}
.pie svg{width:150px;height:150px;display:block}
.pie circle{cursor:pointer;transition:stroke-width .15s;outline:none}
.pie circle:hover,.pie circle:focus-visible{stroke-width:26}
.pie-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.pie-c b{font-size:20px}
.pf-why li{grid-template-columns:118px minmax(0,1fr)}
.pf-why li b{display:flex;align-items:center;gap:6px}
.pf-why li b svg{width:14px;height:14px;flex:none}
.pf-an{margin-bottom:16px}
.pf-an-b{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
.pnl-bars{display:flex;flex-direction:column;gap:8px}
.pl-row{display:grid;grid-template-columns:70px minmax(0,1fr) 64px;gap:10px;align-items:center;font-size:13px}
.pl-row a{color:var(--fg);text-decoration:none;font-weight:800}
.pl-row b{text-align:left}
.pl-track{position:relative;height:12px;border-radius:99px;background:rgba(255,255,255,.04);direction:ltr}
.pl-track .mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--glass-line)}
.pl-track .pos{position:absolute;left:50%;top:0;bottom:0;border-radius:0 99px 99px 0;background:linear-gradient(90deg,rgba(52,211,153,.5),var(--up))}
.pl-track .neg{position:absolute;right:50%;top:0;bottom:0;border-radius:99px 0 0 99px;background:linear-gradient(270deg,rgba(251,113,133,.5),var(--down))}
@media (max-width:900px){.pf-an-b{grid-template-columns:1fr}}

/* IPO */
.chip.mkt.m-b{background:rgba(56,189,248,.15);color:#7dd3fc;border-color:rgba(56,189,248,.35)}
.chip.mkt.m-f{background:rgba(251,146,60,.15);color:#fdba74;border-color:rgba(251,146,60,.4)}

/* alerts: SMS quota line */
.sms-quota{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;color:var(--fg-3)}
.sms-quota svg{width:14px;height:14px;flex:none}
.sms-quota b{color:var(--fg-2)}

/* profile: spacing around the save button and the privacy note */
#pfForm > .span2:last-child,#bkForm > .span2:last-child{margin-top:16px}
.acc-note{margin-top:22px}
.bk-why{flex-wrap:nowrap;gap:4px}
.bk-why span{padding:2px 6px;font-size:10.5px}
.bk-why{flex-wrap:wrap;max-width:200px;row-gap:4px}
.bk-why{flex-wrap:nowrap;max-width:none}
@media (max-width:1100px){.dash-pf{grid-template-columns:minmax(0,1fr)}}

/* ===== 2.9 ===== */
/* colour back in: a lighter, tinted backdrop so the glass panels read clearly */
:root:not([data-theme="light"]) .bg-scene::after,:root[data-theme="dark"] .bg-scene::after,.bg-scene::after{background:linear-gradient(180deg,rgba(8,14,32,.38),rgba(8,14,32,.52) 55%,rgba(6,10,24,.72))}
:root:not([data-theme="light"]) .bg-orbs,:root[data-theme="dark"] .bg-orbs,.bg-orbs{opacity:.62}
:root:not([data-theme="light"]) body::before,:root[data-theme="dark"] body::before,body::before{opacity:.55}
.glass{background:linear-gradient(155deg,rgba(30,44,78,.55),rgba(14,22,44,.5));border-color:rgba(255,255,255,.1)}

/* donut: centre label sits inside the ring */
.pie > .pie-c{position:absolute;inset:29px;width:auto;height:auto;border-radius:50%;background:rgba(10,17,32,.92);box-shadow:inset 0 0 0 1px var(--glass-line);pointer-events:none}

/* price chart: purple forecast dates under the dashed path */
.proj-axis{position:absolute;left:0;right:0;bottom:4px;height:18px;pointer-events:none;direction:ltr}
.proj-axis span{position:absolute;transform:translateX(-50%);font-size:11px;font-weight:700;color:#c084fc;white-space:nowrap;background:rgba(10,16,32,.85);padding:0 4px;border-radius:5px}
.ch-tip .proj-t{color:#d8b4fe}
.btn.btn-ta:hover,.btn-ta:hover{background:linear-gradient(135deg,#a78bfa,#818cf8);color:#fff;filter:none;box-shadow:0 10px 26px -8px rgba(167,139,250,1);transform:translateY(-1px)}

/* screener: no inner scroll, purple premium items, disabled when the plan lacks them */
.scr-col{max-height:none;overflow:visible;position:static}
::-webkit-scrollbar-button{display:none;width:0;height:0}
.scr-cw.prem.pro .scr-chip,.scr-cw.prem .scr-chip{border-color:rgba(167,139,250,.38);background:linear-gradient(135deg,rgba(167,139,250,.14),rgba(99,102,241,.06))}
.scr-cw.prem.pro .sc-ic,.scr-cw.prem .sc-ic{background:rgba(167,139,250,.2);color:#c4b5fd}
.scr-cw.prem.pro .sc-plan,.scr-cw.prem .sc-plan{background:rgba(167,139,250,.22);color:#ede9fe}
.scr-cw.prem .scr-chip.on,.scr-cw.prem.pro .scr-chip.on{border-color:rgba(167,139,250,.8);box-shadow:0 8px 22px -14px rgba(167,139,250,.9)}
.scr-chip[disabled]{opacity:.45;cursor:not-allowed;filter:saturate(.6)}
.scr-chip[disabled]:hover{border-color:rgba(167,139,250,.38);color:var(--fg-2)}

/* TA workspace */
.ta-h1{display:flex;align-items:center;gap:10px}
.back-btn{width:34px;height:34px;border-radius:10px}
.back-btn svg{width:17px;height:17px}
.ta-top .ta-chips{margin-inline-start:auto}
.ta-row2{flex-basis:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ta-help{margin:0;font-size:11.5px;color:var(--fg-3)}
.ta-svg .dr{pointer-events:auto;cursor:move}
.ta-main.drawing .ta-svg .dr{pointer-events:none}
.ta-svg .dr.pend{pointer-events:none}
.ta-text-in{position:absolute;z-index:5;min-width:180px;padding:5px 9px;border-radius:8px;border:1px solid #f5b942;background:rgba(14,22,42,.96);color:#fff;font:inherit;font-size:12.5px;direction:rtl;outline:none;box-shadow:0 8px 24px -10px rgba(0,0,0,.8)}
.ta-panel{position:relative}
.ta-exit{display:none;position:absolute;top:12px;left:12px;z-index:20;width:38px;height:38px}
.ta-panel:fullscreen .ta-exit,.ta-panel.ta-max .ta-exit{display:grid}
.ta-panel:fullscreen .ta-top,.ta-panel.ta-max .ta-top{padding-left:62px}
.ta-panel.ta-max .ta-root{height:calc(100vh - 20px)}

/* footer */
.foot p{margin:0 0 4px}
.foot .own{display:block;font-size:11.5px;color:var(--fg-3)}
.ta-svg{z-index:3}
.ta-hint{z-index:4}
/* terms page */
.terms .panel-b{max-width:900px;line-height:2;font-size:13.5px;color:var(--fg-2)}
.terms h2{font-size:15px;color:var(--fg);margin:22px 0 6px;display:flex;align-items:center;gap:8px}
.terms h2 .num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(45,212,191,.14);color:var(--accent);font-size:12.5px}
.terms ol{margin:0;padding-inline-start:22px}
.terms li{margin:4px 0}
.terms-intro{margin:14px 0 0}
.terms-link,.foot a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
/* P/L analysis: bars get the room, stats on the side */
.pf-an-b{grid-template-columns:minmax(0,1fr) minmax(0,460px)}
.pf-an-k{min-width:0}
.pnl-bars{min-width:0;padding:4px 0}
.pl-row{grid-template-columns:78px minmax(0,1fr) 130px;gap:14px;padding:6px 0}
.pl-track{height:16px;background:rgba(255,255,255,.06);border:1px solid var(--glass-line)}
.pl-track .mid{background:rgba(255,255,255,.25)}
.pl-v{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}
.pl-v small{font-size:11px;color:var(--fg-3)}
.pl-axis{display:flex;justify-content:space-between;direction:ltr;margin-inline:92px 144px;font-size:11px;color:var(--fg-3)}
@media (max-width:1100px){.pf-an-b{grid-template-columns:minmax(0,1fr)}}
/* 2.9.1 */
.sig-an summary .chev{width:15px;height:15px;transition:transform .2s;margin-inline-start:2px}
.sig-an[open] summary .chev{transform:rotate(180deg)}
.help-btn{width:32px;height:32px;border-radius:10px;cursor:pointer}
.help-btn svg{width:17px;height:17px}
.proj-btn[aria-pressed="true"]{background:linear-gradient(135deg,rgba(192,132,252,.3),rgba(124,58,237,.25));border-color:rgba(192,132,252,.7);color:#f3e8ff}
.proj-btn svg{width:14px;height:14px}
.ch-foot{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.ch-foot .ch-note{margin:0}
.proj-l i{width:10px;height:12px;border-top:0;border-radius:2px;background:#c084fc}
.proj-axis span{direction:rtl;unicode-bidi:isolate}
.sym-st{display:inline-flex;align-items:center;gap:6px}
.sym-st .star{margin:0}
.back-btn,[data-tafull],.icon-btn{cursor:pointer}
/* symbol badges, sticky screener header */
.sym-ic{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;margin-inline-start:6px;vertical-align:middle}
.sym-ic svg{width:11px;height:11px}
.halt-ic{background:rgba(245,185,66,.18);color:var(--gold)}
.cap-ic{background:rgba(167,139,250,.18);color:#c4b5fd}
@media (min-width:981px){
  .scr2 .scr-body > .panel,.scr2 .scr-scroll,.scr2 .tbl-wrap{overflow:visible}
  .page-flow .scr2 .scr-scroll thead th{position:sticky;top:86px;z-index:6;background:rgba(14,22,42,.97);backdrop-filter:blur(8px)}
}
/* 2.9.2 */
.rtl-v{direction:rtl;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.rtl-v small{font-size:.65em;color:var(--fg-3);font-weight:600}
.dstat b small.u,.kpi .val small.u{font-size:.55em;color:var(--fg-3);font-weight:700;margin-inline-start:4px}
.two-v{display:inline-flex;gap:14px}
/* P/L chart: header row, one-line amounts */
.pnl-head,.pnl-bars .pl-row{display:grid;grid-template-columns:72px minmax(0,1fr) 170px 76px;gap:14px;align-items:center}
.pnl-head{font-size:11px;color:var(--fg-3);padding-bottom:6px;border-bottom:1px solid var(--glass-line);margin-bottom:4px}
.pnl-head > span:nth-child(3),.pnl-head > span:nth-child(4){text-align:left}
.pnl-ax{display:flex;justify-content:space-between;direction:ltr}
.pnl-ax i{font-style:normal;display:inline-flex;align-items:center;gap:4px}
.pnl-ax svg{width:12px;height:12px}
.pl-amt{text-align:left;font-weight:800;font-size:13px;white-space:nowrap}
.pl-amt small{font-weight:600}
.pnl-bars .pl-row b{text-align:left}
.pl-axis{display:none}
a.sq-btn{text-decoration:none}
/* supervisor messages: animated accordion */
.msg-list .acc{border:1px solid var(--glass-line);border-radius:12px;background:rgba(255,255,255,.02);transition:background .2s,border-color .2s}
.msg-list .acc:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
.msg-list .acc.open{border-color:rgba(45,212,191,.35)}
.acc-h{width:100%;display:flex;gap:12px;align-items:center;padding:10px 12px;background:none;border:0;color:var(--fg);font:inherit;text-align:start;cursor:pointer}
.acc-h small{flex:none;color:var(--fg-3);font-size:11.5px}
.acc-h .chev{width:16px;height:16px;flex:none;color:var(--fg-3);transition:transform .3s var(--ease)}
.acc.open .acc-h .chev{transform:rotate(180deg);color:var(--accent)}
.acc-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--ease)}
.acc.open .acc-b{grid-template-rows:1fr}
.acc-b > div{overflow:hidden}
.acc-b p{margin:0;padding:0 12px 12px;font-size:12.5px;line-height:1.9;color:var(--fg-2)}
/* chart buttons: forecast purple, technical analysis gold */
.proj-btn{background:linear-gradient(135deg,rgba(192,132,252,.22),rgba(124,58,237,.18));border-color:rgba(192,132,252,.5);color:#e9d5ff}
.proj-btn:hover{background:linear-gradient(135deg,rgba(192,132,252,.38),rgba(124,58,237,.3));color:#fff}
.proj-btn[aria-pressed="true"]{background:linear-gradient(135deg,#a855f7,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 8px 20px -10px rgba(168,85,247,.9)}
.btn.btn-ta,.btn-ta{background:linear-gradient(135deg,#fcd34d,#f5b942);color:#1f1300;border-color:transparent;box-shadow:0 8px 20px -10px rgba(245,185,66,.9)}
.btn.btn-ta:hover,.btn-ta:hover{background:linear-gradient(135deg,#fde68a,#fbbf24);color:#1f1300;box-shadow:0 10px 26px -8px rgba(251,191,36,1)}
/* everything clickable gets the hand cursor */
button:not([disabled]),a[href],summary,select,label:has(> input[type=checkbox]),label:has(> input[type=radio]),[data-acc],[role=button]{cursor:pointer!important}
/* premium screener items: purple icons (the generic chip rule paints svgs gold) */
.scr-cw.prem .sc-ic svg,.scr-cw.prem .sc-plan svg{color:#c4b5fd}
.scr-cw.prem .scr-chip.on .sc-ic{background:rgba(167,139,250,.3)}
.scr-cw.prem .scr-chip.on .sc-ic svg{color:#ede9fe}
/* ===== terms page ===== */
.ico.violet{background:linear-gradient(135deg,rgba(167,139,250,.3),rgba(167,139,250,.08));color:#c4b5fd}
.terms-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.terms .panel-b{max-width:none}
.t-sec{padding:16px 0 4px;border-top:1px solid var(--glass-line);margin-top:14px}
.t-sec h2{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:15.5px}
.t-sec h2 > .t-ttl{display:flex;flex-direction:column;line-height:1.4}
.t-sec h2 .ico{flex:none;display:grid;place-items:center}
.t-sec h2 small{font-size:11px;color:var(--fg-3);font-weight:700}
.t-sec ol{padding-inline-start:58px}
.terms-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.terms-hero{padding:18px;text-align:center;overflow:hidden}
.terms-art{width:100%;max-width:300px;height:auto;display:block;margin:0 auto 6px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.terms-hero h3{margin:4px 0 4px;font-size:16px}
.terms-hero > p{margin:0 0 14px;font-size:12.5px;color:var(--fg-3)}
.terms-keys{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:start}
.terms-keys > div{padding:12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--glass-line);display:flex;flex-direction:column;gap:6px}
.terms-keys b{font-size:12.5px}.terms-keys small{font-size:11.5px;color:var(--fg-3);line-height:1.7}
.terms-toc{padding:14px;max-height:calc(100vh - 560px);min-height:160px;overflow:auto;scrollbar-width:thin}
.terms-toc h4{margin:0 0 8px;font-size:13px;display:flex;align-items:center;gap:6px;color:var(--fg-2)}
.terms-toc h4 svg{width:15px;height:15px}
.terms-toc button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border:0;border-radius:10px;background:none;color:var(--fg-2);font:inherit;font-size:12.5px;text-align:start}
.terms-toc button:hover{background:var(--glass-hover);color:var(--fg)}
.terms-toc .num{flex:none;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:rgba(45,212,191,.12);color:var(--accent);font-size:11px;font-weight:800}
@media (max-width:1100px){.terms-wrap{grid-template-columns:1fr}.terms-side{position:static;order:-1}.terms-toc{max-height:none}}
/* ===== event modal ===== */
.modal:has(#aForm){width:min(600px,100%)}
.ch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ch-grid label{display:block;position:relative}
.ch-grid span{width:100%;justify-content:center;padding:10px 6px;border-radius:12px;flex-wrap:wrap;text-align:center;row-gap:2px}
.ch-grid span em{flex-basis:100%;margin:0}
@media (max-width:520px){.ch-grid{grid-template-columns:1fr 1fr}}
/* terms: left column spans the page, nothing scrolls inside */
.terms-wrap{align-items:stretch}
.terms-side{position:static;height:100%}
.terms-toc{max-height:none;overflow:visible;flex:1}
.terms-toc button{white-space:normal;line-height:1.6}
.t-sec h2 small{white-space:nowrap;display:block}
@media (max-width:1100px){.terms-side{height:auto}}
/* forecast pair separator */
.two-v{gap:8px;align-items:center}
.two-v .sep{color:var(--fg-3);font-weight:400}
/* premium screener items: neutral like the rest, purple only when selected; icons stay purple */
.scr-cw.prem .scr-chip,.scr-cw.prem.pro .scr-chip{border-color:var(--glass-line);background:var(--glass);box-shadow:none}
.scr-cw.prem .scr-chip:not([disabled]):hover{border-color:rgba(167,139,250,.45);background:rgba(167,139,250,.06)}
.scr-cw.prem .scr-chip.on,.scr-cw.prem.pro .scr-chip.on{border-color:rgba(167,139,250,.8);background:linear-gradient(135deg,rgba(167,139,250,.22),rgba(99,102,241,.1));box-shadow:0 8px 22px -14px rgba(167,139,250,.9);color:#fff}
/* chart header: tools pinned left; forecast button is a plain button */
.panel-h .ch-tools{margin-inline-start:auto;flex-wrap:wrap;justify-content:flex-end}
.proj-btn,.proj-btn:hover{background:var(--glass);border-color:var(--glass-line);color:var(--fg);box-shadow:none}
.proj-btn:hover{background:var(--glass-hover)}
.proj-btn[aria-pressed="true"]{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:#fff;box-shadow:none}
.proj-btn.is-busy{pointer-events:none;opacity:.7}
.proj-btn.is-busy svg{animation:spin 1.2s linear infinite}
/* "model at work" */
.ai-think{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px 18px;text-align:center;min-height:340px}
.ai-think.over{position:absolute;inset:0;z-index:6;min-height:0;border-radius:12px;background:rgba(8,13,26,.86);backdrop-filter:blur(6px);animation:fadeIn .25s ease both}
.ai-think > b{font-size:15px}
.ai-orb{position:relative;width:86px;height:86px;display:grid;place-items:center}
.ai-orb i{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:#a78bfa;border-right-color:rgba(45,212,191,.7);animation:spin 1.4s linear infinite}
.ai-orb i:nth-child(2){inset:10px;border-top-color:#2dd4bf;border-right-color:rgba(56,189,248,.6);animation-duration:1.9s;animation-direction:reverse}
.ai-orb i:nth-child(3){inset:20px;border-top-color:#f5b942;border-right-color:transparent;animation-duration:1.1s}
.ai-orb span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(167,139,250,.35),transparent 70%);color:#ddd6fe;animation:pulse 1.4s ease-in-out infinite}
.ai-orb span svg{width:18px;height:18px}
.ai-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;min-width:min(420px,100%);text-align:start}
.ai-steps li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-2);opacity:0;animation:stepIn .35s ease var(--d) forwards}
.ai-steps li svg{width:15px;height:15px;flex:none}
.ai-steps .spin-ic{color:#a78bfa;animation:spin 1s linear infinite,hideNow 0s calc(var(--d) + var(--dur) / 4) forwards}
.ai-steps .ok-ic{display:none;color:var(--up);animation:showNow 0s calc(var(--d) + var(--dur) / 4) forwards}
.ai-bar{width:min(420px,100%);height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;direction:ltr}
.ai-bar span{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#2dd4bf,#a78bfa);animation:fillBar var(--dur) cubic-bezier(.4,.1,.3,1) forwards}
.think-panel{display:flex;align-items:center;justify-content:center}
@keyframes stepIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes hideNow{to{display:none}}
@keyframes showNow{to{display:block}}
@keyframes fillBar{to{width:100%}}
@keyframes pulse{50%{transform:scale(1.15)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.ai-steps .st-ic{position:relative;width:15px;height:15px;flex:none;font-style:normal}
.ai-steps .st-ic svg{position:absolute;inset:0}
.ai-steps .spin-ic{display:block;animation:spin 1s linear infinite,fadeOut .2s ease calc(var(--d) + var(--dur) / 4) forwards}
.ai-steps .ok-ic{display:block;opacity:0;animation:fadeIn .2s ease calc(var(--d) + var(--dur) / 4) forwards}
@keyframes fadeOut{to{opacity:0}}
/* forecast button: clear "on" state in the site accent, with a live dot */
.proj-btn[aria-pressed="true"]{background:linear-gradient(135deg,rgba(45,212,191,.2),rgba(56,189,248,.12));border-color:rgba(45,212,191,.7);color:#e8fffb;box-shadow:0 0 0 3px rgba(45,212,191,.12),0 8px 20px -12px rgba(45,212,191,.9)}
.proj-btn[aria-pressed="true"] svg{color:var(--accent)}
.proj-btn[aria-pressed="true"]::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:liveDot 1.6s ease-in-out infinite;flex:none}
.proj-btn[aria-pressed="true"]:hover{background:linear-gradient(135deg,rgba(45,212,191,.28),rgba(56,189,248,.16));color:#fff}
@keyframes liveDot{50%{opacity:.35;transform:scale(.8)}}
/* P/L analysis v3: boxed rows, short bars, roomy columns, rows fill the panel height */
.pf-an-b{align-items:stretch}
.pnl-bars{display:flex;flex-direction:column;gap:8px;height:100%}
.pnl-head,.pnl-bars .pl-row{grid-template-columns:84px minmax(140px,240px) minmax(0,1fr) 110px;gap:22px}
.pnl-head{border-bottom:0;padding:0 14px 2px;margin:0}
.pnl-bars .pl-row{flex:1;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--glass-line);transition:background .2s,border-color .2s}
.pnl-bars .pl-row:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
.pl-track{height:10px}
.pl-amt{display:flex;align-items:baseline;gap:6px;justify-content:flex-end;white-space:nowrap}
.pl-amt b{font-size:15px;font-weight:800}
.pl-amt small{font-size:11.5px;color:var(--fg-3);font-weight:500}
.pl-ret{font-size:15px;font-weight:800;text-align:left}
@media (max-width:700px){.pnl-head,.pnl-bars .pl-row{grid-template-columns:64px minmax(80px,1fr) auto;gap:12px}.pnl-head > span:nth-child(4),.pnl-bars .pl-row .pl-ret{display:none}}
/* analysis placeholder matches the filter column height */
.scr2:has(.think-panel){align-items:stretch}
.scr-body:has(.think-panel){display:flex;flex-direction:column}
.scr-body > .think-panel{flex:1}
.ta-svg .kumo{pointer-events:none}
/* ===== model baskets ===== */
.scr-body > .bk-hero,.scr-body > .panel + .panel{margin-top:0}
.scr-body{display:flex;flex-direction:column;gap:16px}
.bk-hero .panel-h .seg small{font-size:10.5px;opacity:.7;margin-inline-start:2px}
.live-chip{background:rgba(52,211,153,.14);color:#6ee7b7;border-color:rgba(52,211,153,.4);gap:6px;font-size:11px}
.live-chip i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 8px #34d399;animation:liveDot 1.6s ease-in-out infinite}
.bk-top{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:12px;margin-bottom:12px}
.bk-top > div{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--glass-line);display:flex;flex-direction:column;gap:6px;min-width:0}
.bk-top small{color:var(--fg-3);font-size:11.5px}
.bk-ret b{font-size:30px;font-weight:900;line-height:1.1}
.bk-ret span{font-size:12px;color:var(--fg-3)}
.bk-if b{font-size:20px;font-weight:900}
.bk-time{background:linear-gradient(135deg,rgba(45,212,191,.1),rgba(167,139,250,.08))!important;border-color:rgba(45,212,191,.3)!important}
.cd{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;direction:rtl}
.cd > div{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:12px;background:rgba(8,13,26,.6);border:1px solid var(--glass-line)}
.cd b{font-size:22px;font-weight:900;color:#e8fffb;line-height:1.2}
.cd small{font-size:10.5px}
.cd-done{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--gold)}
.cd-done svg{width:16px;height:16px}
.bk-dates{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}
.bk-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
.bk-chart{padding:12px 10px 6px;border-radius:14px;background:rgba(255,255,255,.02);border:1px solid var(--glass-line);margin-bottom:12px}
.perf-svg{width:100%;height:auto;display:block}
.perf-svg .pv-t{fill:var(--fg-3);font-size:11px;font-family:inherit}
.perf-svg [data-tip]{cursor:crosshair}
.perf-l{display:flex;gap:16px;justify-content:center;font-size:11.5px;color:var(--fg-3);margin-top:4px}
.perf-l span{display:inline-flex;align-items:center;gap:6px}
.perf-l i{width:14px;height:4px;border-radius:2px;display:inline-block}
.perf-l i.dash{background:repeating-linear-gradient(90deg,rgba(148,163,184,.9) 0 4px,transparent 4px 7px)}
.bk-tbl{width:100%}
.bk-arch .acc-h{gap:14px}
.bk-arch .acc-h .msg-t small{color:var(--fg-3);margin-inline-start:6px}
.bk-arch-b{padding:0 10px 10px}
@media (max-width:1100px){.bk-top{grid-template-columns:1fr 1fr}.bk-time{grid-column:1/-1}.bk-stats{grid-template-columns:1fr 1fr}.bk-dates{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.bk-top{grid-template-columns:1fr}}
.kv.boxed.bk-dates{grid-template-columns:repeat(4,minmax(0,1fr))}
.kv.boxed.bk-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.kv.boxed.bk-dates,.kv.boxed.bk-stats{grid-template-columns:1fr 1fr}}
/* ===== symbol state icons ===== */
.bq-ic{background:rgba(52,211,153,.16);color:#34d399}
.sq-ic{background:rgba(251,113,133,.16);color:#fb7185}
.smart-ic{background:rgba(45,212,191,.16);color:var(--accent)}
.vol-ic{background:rgba(245,185,66,.16);color:var(--gold)}
.lag-ic{background:rgba(56,189,248,.16);color:#7dd3fc}
.over-ic{background:rgba(251,146,60,.16);color:#fdba74}
.sym-ic{margin-inline-start:4px}
.sym-ic + .sym-ic{margin-inline-start:3px}
/* ===== baskets page ===== */
.bk-cards{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:14px;margin-bottom:16px}
.bk-card{padding:16px 18px;border-radius:18px;display:flex;flex-direction:column;gap:8px;min-width:0;background:linear-gradient(155deg,rgba(30,44,78,.55),rgba(14,22,44,.5));border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
.bk-card > small{color:var(--fg-3);font-size:12px;display:flex;align-items:center;gap:8px}
.bk-card.main{background:radial-gradient(120% 140% at 100% 0%,rgba(45,212,191,.2),transparent 55%),linear-gradient(155deg,rgba(30,44,78,.6),rgba(14,22,44,.55));border-color:rgba(45,212,191,.3)}
.bk-card.main > small{color:var(--fg-2);font-weight:700;font-size:13px}
.bk-card b{font-size:22px;font-weight:900}
.bk-card b.big{font-size:38px;line-height:1.05}
.bk-sub{font-size:12px;color:var(--fg-3);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bk-sub b{font-size:12.5px;font-weight:800}
.bk-sub .chip{font-size:11px}
.bk-range{font-size:17px!important;display:flex;gap:8px;align-items:baseline}
.bk-range span{font-size:12px;color:var(--fg-3);font-weight:500}
.bk-prog{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;direction:ltr;width:100%}
.bk-prog span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2dd4bf,#38bdf8)}
.bk-card.time{background:linear-gradient(135deg,rgba(45,212,191,.12),rgba(167,139,250,.1));border-color:rgba(45,212,191,.3)}
.bk-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.bk-row > .panel{margin:0}
.bk-pie .pf-pie{padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.bk-pie .panel-b{display:flex;align-items:center;min-height:250px}
.bk-tbl .bk-dot{width:8px;height:8px;border-radius:50%;flex:none}
.w-bar{display:inline-block;width:70px;height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;vertical-align:middle;margin-inline-end:8px;direction:ltr}
.w-bar span{display:block;height:100%;border-radius:99px}
.bk-prev-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.bk-prev-top > div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--glass-line);display:flex;flex-direction:column;gap:2px}
.bk-prev-top small{color:var(--fg-3);font-size:11px}.bk-prev-top b{font-size:16px;font-weight:800}
.bk-prev-items{display:flex;flex-wrap:wrap;gap:8px}
.bk-pi{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--glass-line);font-size:12.5px}
.bk-think{min-height:520px;display:flex;align-items:center;justify-content:center}
.page-head .seg small{font-size:10.5px;opacity:.7;margin-inline-start:3px}
@media (max-width:1200px){.bk-cards{grid-template-columns:1fr 1fr}.bk-row{grid-template-columns:1fr}}
@media (max-width:560px){.bk-cards{grid-template-columns:1fr}.bk-prev-top{grid-template-columns:1fr 1fr}}
/* ===== baskets page v2 ===== */
.bk-cards,.bk-row{margin-bottom:0}
.bk-card,.bk-card.main,.bk-card.time{background:linear-gradient(155deg,rgba(30,44,78,.55),rgba(14,22,44,.5));border:1px solid rgba(255,255,255,.1)}
.bk-card{padding:16px 18px;gap:10px}
.bk-card-h{display:flex;align-items:center;gap:10px}
.bk-card-h small{color:var(--fg-2);font-size:12.5px;font-weight:700}
.bk-card b.big{font-size:32px}
.bk-sub{gap:6px 10px}
.bk-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.cd > div{background:rgba(255,255,255,.04)}
.bk-donut{display:flex;flex-direction:row-reverse;align-items:center;gap:22px;width:100%}
.bk-donut-c{position:relative;flex:none;width:min(240px,48%);aspect-ratio:1}
.bk-donut-c svg{width:100%;height:100%;display:block;filter:drop-shadow(0 12px 26px rgba(0,0,0,.45))}
.bk-donut-c circle[data-tip]{cursor:pointer;transition:stroke-width .15s;outline:none}
.bk-donut-c circle[data-tip]:hover,.bk-donut-c circle[data-tip]:focus-visible{stroke-width:36}
.bk-donut-mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.bk-donut-mid b{font-size:30px;font-weight:900}.bk-donut-mid small{font-size:11.5px;color:var(--fg-3)}
.bk-donut-l{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.bk-leg{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid var(--glass-line);font-size:12.5px}
.bk-leg i{width:10px;height:10px;border-radius:3px;flex:none}
.bk-leg b{flex:1;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-leg span{font-weight:800;color:var(--fg-2)}
.bk-pie .panel-b{min-height:0;height:100%}
.bk-how .panel-b p{margin:0 0 8px;font-size:13px;line-height:1.95;color:var(--fg-2)}
.bk-trend .perf-svg{max-height:260px}
@media (max-width:1200px){.bk-cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.bk-cards{grid-template-columns:1fr}.bk-donut{flex-direction:column}.bk-donut-c{width:200px}}
/* footer: closer to the content, less empty space below */
.foot{margin-top:28px;padding-block:6px 22px}
@media (max-width:920px){.foot{padding-bottom:96px}}
.bk-donut{flex-direction:row}
/* ===== baskets: comments round 2 ===== */
.bk-lw{height:250px;width:100%}
.bk-trend .bk-lw{height:270px}
.bk-donut-mid small{font-size:12px;color:var(--fg-2);font-weight:700}
.bk-why2{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--glass-line);display:flex;flex-direction:column;gap:8px;font-size:12.5px;line-height:1.8;color:var(--fg-2)}
.bk-why2 li{display:flex;gap:8px;align-items:flex-start}
.bk-why2 svg{width:16px;height:16px;flex:none;margin-top:4px;color:var(--accent)}
.bk-pie .panel-b{flex-direction:column;align-items:stretch;justify-content:center}
.bk-stats2{grid-template-columns:1fr 1fr!important;margin-top:10px}
.bk-notes{margin:12px 0 0;padding:12px 0 0 0;border-top:1px solid var(--glass-line);list-style:none;display:flex;flex-direction:column;gap:6px;font-size:12px;line-height:1.85;color:var(--fg-3)}
.bk-notes b{color:var(--fg-2)}
.panel-h h2 .chip{margin-inline-start:8px;font-size:11.5px}
@media (min-width:981px){
  .bk-tsec,.bk-tsec .bk-tw{overflow:visible}
  .bk-tsec .bk-tbl thead th{position:sticky;top:86px;z-index:6;background:rgba(14,22,42,.97);backdrop-filter:blur(8px)}
}
@media (max-width:980px){.bk-tw{overflow-x:auto}}
/* all symbols: market dropdown sits right next to the group dropdown */
.sym-search{gap:8px}
.sym-search .sym-sec + .sym-sec{margin-inline-start:0}
/* basket rows: both boxes share one height; the chart grows to fill its box instead of leaving empty space */
.bk-row{align-items:stretch}
.bk-row > .panel{display:flex;flex-direction:column}
.bk-row > .panel > .panel-b{flex:1;display:flex;flex-direction:column}
.bk-perf .bk-lw,.bk-trend .bk-lw{flex:1;height:auto;min-height:230px}
.bk-pie .panel-b{justify-content:center}
@media (max-width:1200px){.bk-perf .bk-lw,.bk-trend .bk-lw{flex:none;height:250px}}
/* stock page placeholder behind the Plus gate */
.pdp-sk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pdp-sk .panel{min-height:170px;padding:22px;display:flex;flex-direction:column;gap:14px;margin:0}
.pdp-sk i{display:block;height:12px;border-radius:6px;background:rgba(255,255,255,.08)}
.pdp-sk i:nth-child(1){width:40%;height:16px}.pdp-sk i:nth-child(2){width:85%}.pdp-sk i:nth-child(3){width:65%}
@media (max-width:760px){.pdp-sk{grid-template-columns:1fr}}
/* dashboard: upcoming IPOs beside the portfolio supervisor messages */
.dash-msgs .panel-b{padding-top:4px}
.dash-msgs .msg-list{max-height:430px;overflow:auto}
.msg-sym{display:inline-block;margin-inline-end:8px;padding:1px 8px;border-radius:7px;background:rgba(251,113,133,.14);color:#fda4af;font-size:11.5px;font-weight:800}
.dash-ipo .ipo-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.dash-sig .sig-grid{margin:0}
/* portfolio donut in the basket style */
.pf-pie2{margin:0}
.pf-pie2 .bk-donut-l{grid-template-columns:1fr}
.pf-pie2 .bk-leg a{color:inherit;text-decoration:none}
.pf-pie2 .bk-leg a:hover{color:var(--acc)}
/* pricing comparison: section rows */
.cmp .cmp-sec td{background:rgba(255,255,255,.035);font-weight:800;font-size:12.5px;color:var(--fg-2);padding-top:12px}
.cmp td .up svg{width:17px;height:17px}
/* Pro-only controls shown locked on lower plans */
.btn.is-locked{opacity:.72;border-style:dashed;color:var(--fg-2)}
.btn.is-locked svg{color:#f5b942}
.btn.is-locked:hover{opacity:1}
/* one-line segmented control with side arrows (screener pattern types) */
.seg-x{display:flex;align-items:center;gap:6px;flex:1 1 100%;min-width:0}
.seg-x .seg-row{flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}
.seg-x .seg-row::-webkit-scrollbar{display:none}
.seg-x .seg-row > button{flex:none;white-space:nowrap}
.seg-arr{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--glass-line);background:rgba(255,255,255,.05);color:var(--fg);cursor:pointer;transition:background .15s,opacity .15s}
.seg-arr:hover:not(:disabled){background:rgba(45,212,191,.16);border-color:rgba(45,212,191,.45)}
.seg-arr:disabled{opacity:.3;cursor:default}
.seg-arr svg{width:16px;height:16px}
.seg-x.no-ov .seg-arr{display:none}

/* desktop screener: the two premium filters on top of the filter column */
.scr-prems { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--glass-line); }
.scr-prem { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border-radius: 14px; border: 1px solid rgba(245, 185, 66, .4); cursor: pointer; text-align: right; font: inherit; color: var(--fg); text-decoration: none;
  background: linear-gradient(160deg, rgba(245, 185, 66, .12), rgba(167, 139, 250, .08)), rgba(255, 255, 255, .02); transition: background .2s, border-color .2s; }
.scr-prem:hover { border-color: rgba(245, 185, 66, .7); }
.scr-prem .sc-ic { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(245, 185, 66, .16); color: #f5b942; }
.scr-prem .sc-ic svg { width: 18px; height: 18px; }
.scr-prem .sp-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.scr-prem .sp-t b { font-size: 14px; font-weight: 700; }
.scr-prem .sp-t small { font-size: 11.5px; color: var(--fg-3); }
.scr-prem > svg:last-child { flex: none; width: 17px; height: 17px; color: #f5b942; }
.scr-prem.on { background: linear-gradient(135deg, #fcd34d, #f5b942); border-color: transparent; color: #3a2604; box-shadow: 0 10px 24px -14px rgba(245, 185, 66, .9); }
.scr-prem.on .sp-t small, .scr-prem.on > svg:last-child { color: rgba(58, 38, 4, .8); }
.scr-prem.on .sc-ic { background: rgba(58, 38, 4, .15); color: #3a2604; }
/* scrolling side menu and filter column: keep the selected item off the scrollbar */
.nav { padding-inline-end: 8px; scrollbar-gutter: stable; }
.scr-col { scrollbar-gutter: stable; }
.scr-col .scr-chips { padding-inline-end: 6px; }
@media (max-width: 767px) { .scr-prems { display: none; } }
/* wide screens: the whole quick bar shows (ending with «بازگشت به سایت»); the search box gives up the room */
@media (min-width: 1280px) {
  .quick { flex: 0 0 auto; }
  .topbar .search { flex: 1 1 240px; min-width: 170px; }
}
.qk-site { opacity: .85; }
.qk-site:hover { opacity: 1; }
/* how fresh a pattern is (today / n sessions ago) */
.pat-age { font-size: 11px; font-weight: 500; color: var(--fg-3); white-space: nowrap; }
.chip .pat-age { margin-inline-start: 4px; color: inherit; opacity: .75; }
.pat-h .pat-age { margin-inline-start: auto; padding-inline-start: 6px; }
/* collapsed rail (and the tablet rail): icons stay centred, no scrollbar gutter pushing them aside */
body.side-col .nav { padding-inline: 0; scrollbar-gutter: auto; scrollbar-width: none; overflow-x: hidden; }
body.side-col .nav::-webkit-scrollbar { display: none; }
@media (min-width: 768px) and (max-width: 1099px) {
  .side .nav { padding-inline: 0; scrollbar-gutter: auto; scrollbar-width: none; overflow-x: hidden; }
  .side .nav::-webkit-scrollbar { display: none; }
}
/* pattern cards: symbol and today's change on the right, the date on the left, the pattern type under the chart */
.pat-card .pat-h { display: flex; align-items: center; gap: 8px; }
.pat-card .pat-h .pc { font-size: 11.5px; }
.pat-card .pat-f { display: flex; justify-content: flex-start; }
.pat-card .pat-f .chip { max-width: 100%; white-space: normal; line-height: 1.6; }
/* basket Codal watch: alerts, swaps and exits */
.bk-watch { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.bk-watch li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .03); border: 1px solid var(--glass-line); font-size: 13px; line-height: 1.8; }
.bk-watch li > svg { flex: none; width: 18px; height: 18px; margin-top: 3px; }
.bk-watch li span { display: flex; flex-direction: column; }
.bk-watch li small { color: var(--fg-3); font-size: 12px; }
.bk-watch .bw-ok > svg { color: #34d399; } .bk-watch .bw-watch > svg { color: #f5b942; } .bk-watch .bw-sell > svg { color: #fb7185; }
.bk-watch .bw-swap > svg { color: #60a5fa; } .bk-watch .bw-out > svg { color: var(--fg-3); }
.bk-watch .bw-sell { border-color: rgba(251, 113, 133, .35); } .bk-watch .bw-watch { border-color: rgba(245, 185, 66, .3); }
.rev-chip { white-space: nowrap; gap: 4px; } .rev-chip svg { width: 13px; height: 13px; }
.bk-new { font-size: 10.5px; margin-inline-start: 6px; }
.mx-rv { display: inline-grid; place-items: center; margin-inline-start: 4px; } .mx-rv svg { width: 13px; height: 13px; }
.mx-rv.watch { color: #f5b942; } .mx-rv.sell { color: #fb7185; }
.mx-watch { padding: 10px !important; }
.mx-watch .bk-watch li { font-size: 12.5px; padding: 9px 10px; }
.bk-watch li span { display: block; }
.bk-watch li small { display: block; margin-top: 2px; }
/* model advice and status icons on basket holdings */
.chip.orange { color: #fb923c; background: rgba(251, 146, 60, .12); border-color: rgba(251, 146, 60, .3); }
.chip.blue { color: #60a5fa; background: rgba(96, 165, 250, .12); border-color: rgba(96, 165, 250, .3); }
.adv-chip { white-space: nowrap; gap: 4px; } .adv-chip svg { width: 13px; height: 13px; }
.rev-ic { display: inline-grid; place-items: center; margin-inline-start: 6px; font-style: normal; cursor: help; }
.rev-ic svg { width: 15px; height: 15px; }
.rev-ic.up { color: #34d399; } .rev-ic.gold { color: #f5b942; } .rev-ic.down { color: #fb7185; }
.bk-rng { margin-inline-start: auto; }
.mx-tsn { display: flex; flex-direction: column; min-width: 0; }
.mx-tsn b { display: inline-flex; align-items: center; }
.mx-tsn .rev-ic { margin-inline-start: 3px; } .mx-tsn .rev-ic svg { width: 13px; height: 13px; }
.mx-adv { font-size: 10px; font-weight: 500; line-height: 1.4; }
.mx-adv.up { color: #34d399; } .mx-adv.gold { color: #f5b942; } .mx-adv.down { color: #fb7185; } .mx-adv.orange { color: #fb923c; } .mx-adv.blue { color: #60a5fa; }
/* basket record: eight fields in two even rows */
.kv.boxed.bk-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 0; }
@media (max-width: 1100px) { .kv.boxed.bk-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* sold and replacement holdings */
.bk-tbl tr.bk-sold td { opacity: .62; background: rgba(251, 113, 133, .04); }
.bk-tbl tr.bk-sold td.sym b, .bk-tbl tr.bk-sold td.sym a { text-decoration: line-through; text-decoration-color: rgba(251, 113, 133, .7); }
.bk-soldc { font-size: 10.5px; margin-inline-start: 6px; }
.bk-tbl tr:has(.bk-new) td { background: rgba(96, 165, 250, .05); }
.bk-swapg { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 6px; font-size: 12px; }
.bk-swapg svg { width: 14px; height: 14px; }
.bk-swapg small { color: var(--fg-3); font-size: 11px; }
.bk-pre-note { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; font-size: 11.5px; color: var(--fg-3); }
.bk-pre-note svg { width: 14px; height: 14px; flex: none; }
.mx-tbl4 .mx-sold { opacity: .62; background: rgba(251, 113, 133, .05); }
.mx-tbl4 .mx-sold .mx-tsn b { text-decoration: line-through; text-decoration-color: rgba(251, 113, 133, .7); }
.mx-tbl4 .mx-repl { background: rgba(96, 165, 250, .06); }
.mx-tq small { font-size: 9.5px; color: var(--fg-3); }
.mx-badges { display: inline-flex; gap: 2px; margin-inline-start: 3px; }
.mx-badges .sym-ic svg { width: 12px; height: 12px; }
.mx-bkc .bk-pre-note { padding-inline: 14px; }
/* basket record: fills the panel next to the trend chart, no empty band below */
.bk-rec { display: flex; flex-direction: column; }
.bk-rec > .panel-b { flex: 1; display: flex; }
.bk-rec .kv.boxed.bk-stats { flex: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; align-content: stretch; }
.bk-rec .kv.boxed.bk-stats > div { display: flex; flex-direction: column; justify-content: center; }
.bk-swapl { font-size: 11.5px; color: var(--fg-3); }
/* market state card */
.mkt-card { padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; }
.mkt-h { display: flex; align-items: center; gap: 12px; }
.mkt-h > div { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.mkt-h small { font-size: 12px; color: var(--fg-3); }
.mkt-h b { font-size: 17px; font-weight: 700; } .mkt-h b.up { color: #34d399; } .mkt-h b.gold { color: #f5b942; } .mkt-h b.down { color: #fb7185; }
.mkt-p { gap: 4px; } .mkt-p svg { width: 14px; height: 14px; }
.mkt-gauge { position: relative; height: 8px; border-radius: 4px; background: linear-gradient(to left, #fb7185 0 40%, #f5b942 40% 60%, #34d399 60% 100%); opacity: .85; }
[dir="rtl"] .mkt-gauge, .mkt-gauge { background: linear-gradient(to right, #fb7185 0 40%, #f5b942 40% 60%, #34d399 60% 100%); direction: ltr; }
.mkt-gauge span { position: absolute; top: -4px; width: 4px; height: 16px; margin-left: -2px; border-radius: 2px; background: #fff; box-shadow: 0 0 0 2px rgba(0, 0, 0, .35); }
.mkt-b { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: end; }
.mkt-drv { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; }
.mkt-drv li { display: flex; flex-direction: column; gap: 1px; padding: 8px 10px; border-radius: 10px; background: rgba(255, 255, 255, .03); border: 1px solid var(--glass-line); min-width: 0; }
.mkt-drv li span { font-size: 11.5px; color: var(--fg-3); }
.mkt-drv li b { font-size: 14px; }
.mkt-drv li em { font-style: normal; font-size: 11px; display: inline-flex; align-items: center; gap: 3px; } .mkt-drv li em svg { width: 12px; height: 12px; }
.mkt-drv li em.up { color: #34d399; } .mkt-drv li em.down { color: #f5b942; }
.mkt-hist { display: flex; align-items: flex-end; gap: 2px; height: 74px; direction: ltr; }
.mkt-hist i { flex: 1; border-radius: 2px 2px 0 0; opacity: .8; } .mkt-hist i.up { background: #34d399; } .mkt-hist i.gold { background: #f5b942; } .mkt-hist i.down { background: #fb7185; }
.mkt-note { display: flex; gap: 6px; margin: 0; font-size: 12px; line-height: 1.9; color: var(--fg-3); } .mkt-note svg { flex: none; width: 14px; height: 14px; margin-top: 4px; }
@media (max-width: 767px) {
  .mkt-card { margin: 0; padding: 14px; }
  .mkt-b { grid-template-columns: 1fr; }
  .mkt-drv { grid-template-columns: 1fr; }
  .mkt-drv li { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
  .mkt-drv li span { flex: 1 1 100%; }
  .mkt-note { font-size: 11.5px; }
}
/* page closed by plan */
.gate-panel .panel-b { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 28px 18px; text-align: center; }
.gate-btns { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.gate-plan { margin: 0; color: var(--fg-3); }
/* sidebar upsell headline stays on one line */
.upsell b { font-size: 12.5px; white-space: nowrap; letter-spacing: -.1px; }
.side .upsell { padding-inline: 12px; }
/* signed-out pages (portfolio, watchlists, events, account): the card fills the rest of the screen, its content dead centre */
.need-login { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; width: 100%; padding: 24px 18px;
  height: calc(var(--avail, 70vh) - var(--foot-h, 0px)); min-height: 300px; box-sizing: border-box; }
.need-login .ico { margin: 0 auto 12px; }
.need-login p { max-width: none; margin: 0 0 16px !important; white-space: nowrap; }
.need-btns { display: flex; flex-wrap: nowrap; gap: 10px; justify-content: center; align-items: center; }
@media (max-width: 767px) { .need-login { height: calc(var(--avail, 70vh) - var(--tab-h, 64px) - var(--safe-b, 0px) - 8px); } }
/* side menu: labels never wrap, also while the hover nudge shrinks the row; the plan badge keeps its size */
.nav a { white-space: nowrap; }
.nav a .badge { flex: none; }
.nav a:hover { padding-inline-start: 12px; }
body.side-col .nav a:hover { padding: 8px; }
/* phone: a signed-out card stops above the bottom action bar */
@media (max-width: 767px) { body.has-action .need-login { height: calc(var(--avail, 70vh) - var(--tab-h, 64px) - var(--act-h, 72px) - var(--safe-b, 0px) - 8px); } }
/* footer sits closer to the content above it */
.foot { margin-top: 6px; padding-block: 2px 22px; }
@media (max-width:920px){.foot{padding-bottom:96px}}

@media (max-width: 767px) { .need-login p { white-space: normal; max-width: 320px; } .need-btns { width: 100%; max-width: 340px; } .need-btns .btn { flex: 1; justify-content: center; } }
.need-login .gate-plan, .need-login p.gate-plan { margin: 14px 0 0 !important; font-size: 12px; }
.gate-btns { display: none; }
/* a page whose list is empty: the empty state takes the rest of the screen, content centred, no page scroll */
.page-fill { display: flex; flex-direction: column; gap: 14px; height: calc(var(--avail, 80vh) - var(--foot-h, 0px)); min-height: 340px; box-sizing: border-box; }
.page-fill > .fill-rest { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; }
@media (max-width: 767px) { .page-fill { height: calc(var(--avail, 80vh) - var(--tab-h, 64px) - var(--safe-b, 0px) - 8px); } }
.fill-rest .empty-art p, .fill-rest .empty-art .muted { max-width: none; white-space: nowrap; }
@media (max-width: 767px) { .fill-rest .empty-art p, .fill-rest .empty-art .muted { white-space: normal; max-width: 320px; } }
.lock-chip { cursor: help; outline: none; }
.lock-chip:hover, .lock-chip:focus-visible { background: rgba(245, 185, 66, .22); }
/* special signals: strict cards */
.sig-grid-pro { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
.sig-pro .sig-strong { margin-inline-start: auto; gap: 4px; } .sig-strong svg { width: 14px; height: 14px; }
.sg-checks { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sg-checks li { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; line-height: 1.7; }
.sg-checks li svg { flex: none; width: 17px; height: 17px; margin-top: 3px; } .sg-checks li.ok svg { color: #34d399; } .sg-checks li.no svg { color: #fb7185; }
.sg-checks li span { display: flex; flex-direction: column; } .sg-checks li small { color: var(--fg-3); font-size: 11.5px; }
.sg-plan { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; padding: 8px 10px; border-radius: 10px; background: rgba(255, 255, 255, .03); border: 1px solid var(--glass-line); font-size: 12px; color: var(--fg-3); }
.sg-plan b { color: var(--fg); margin-inline-start: 3px; } .sg-plan b.down { color: #fb7185; } .sg-plan b.up { color: #34d399; } .sg-plan em { font-style: normal; font-size: 11px; }
.sig-diff th, .sig-diff td { text-align: right; vertical-align: top; white-space: normal; line-height: 1.8; padding: 9px 12px; }
.sig-diff thead th { color: var(--fg-3); font-weight: 600; } .sig-diff tbody th { color: var(--fg-2); width: 90px; font-weight: 600; }
.dash-promo { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; } .dash-promo p { margin: 0; color: var(--fg-2); }
/* below Pro: «تحلیل تکنیکال» looks like the locked «پیش‌بینی روند» (neutral, dashed, yellow lock), not a gold call to action */
.btn.btn-ta.is-locked, .btn-ta.is-locked { background: rgba(255, 255, 255, .055); background-image: none; border: 1px dashed rgba(255, 255, 255, .11); box-shadow: none; color: var(--fg-2); transform: none; }
.btn.btn-ta.is-locked:hover, .btn-ta.is-locked:hover { background: rgba(255, 255, 255, .09); background-image: none; color: var(--fg); box-shadow: none; transform: none; opacity: 1; }
/* the free-analysis pill: a tab hanging from the card's top edge instead of a small label floating over it */
.stock-head .sample-badge { top: 0; left: 24px; padding: 5px 14px 6px; font-size: 12.5px; font-weight: 700; border-radius: 0 0 12px 12px; border-top-width: 0; gap: 6px; animation: none; }
.stock-head .sample-badge svg { width: 14px; height: 14px; }
/* "no data" in a section: illustration, title and sentence dead centre */
.nodata { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 240px; }
.panel-b > .nodata, .codal-box > .nodata { min-height: 260px; }
.fl-box .nodata { min-height: 200px; }
.nodata .empty-art { padding: 8px 12px; }
.stock-head.has-tab { padding-top: 52px; }
/* signed-out dashboard: the hero with a live graphic */
.hero-pro { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: 30px 32px; overflow: hidden; isolation: isolate;
  background: radial-gradient(90% 120% at 100% 0%, rgba(45, 212, 191, .16), transparent 60%), radial-gradient(70% 100% at 0% 100%, rgba(167, 139, 250, .16), transparent 62%), linear-gradient(160deg, rgba(20, 32, 62, .9), rgba(10, 17, 34, .92)); }
.hero-pro .hp-glow { position: absolute; inset-inline-start: -80px; bottom: -120px; width: 380px; height: 380px; border-radius: 50%; background: conic-gradient(from 0deg, rgba(45, 212, 191, .0), rgba(45, 212, 191, .22), rgba(56, 189, 248, .0) 40%); filter: blur(30px); z-index: -1; animation: hpSpin 14s linear infinite; }
.hero-pro h1 { font-size: 34px; line-height: 1.45; margin: 12px 0 0; }
.hero-pro h1 em { font-style: normal; color: #2dd4bf; }
.hero-pro p { font-size: 15px; line-height: 2; max-width: 56ch; margin: 8px 0 0; }
.hp-feat { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.hp-feat li { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 999px; background: rgba(255, 255, 255, .05); border: 1px solid var(--glass-line); font-size: 13px; color: var(--fg-2); }
.hp-feat li svg { width: 16px; height: 16px; color: #2dd4bf; }
.hp-cta { margin-top: 20px; gap: 10px; }
.hp-vis { position: relative; min-height: 250px; }
.hp-vis svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .35)); }
.hp-line { stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: hpDraw 2.4s ease-out .2s forwards; }
.hp-ping { transform-box: fill-box; transform-origin: center; animation: hpPing 2.8s ease-out infinite; } .hp-ping.p2 { animation-delay: 1.4s; }
.hp-card { position: absolute; display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border-radius: 14px; background: rgba(12, 19, 37, .78); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: blur(10px); box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .7); animation: hpFloat 6s ease-in-out infinite; }
.hp-card small { font-size: 11px; color: var(--fg-3); } .hp-card b { font-size: 19px; line-height: 1.3; } .hp-card span { font-size: 11.5px; color: var(--fg-3); } .hp-card i { font-style: normal; }
.hp-card.c1 { top: 4px; inset-inline-start: 6px; }
.hp-card.c2 { top: 46%; inset-inline-end: 2px; animation-delay: -2s; }
.hp-card.c3 { bottom: 4px; inset-inline-start: 22%; animation-delay: -4s; }
@keyframes hpDraw { to { stroke-dashoffset: 0; } }
@keyframes hpPing { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(1.6); opacity: 0; } }
@keyframes hpFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes hpSpin { to { transform: rotate(360deg); } }
@media (max-width: 1100px) { .hero-pro { grid-template-columns: 1fr; padding: 24px; } .hero-pro h1 { font-size: 28px; } .hp-vis { min-height: 220px; max-width: 520px; width: 100%; margin-inline: auto; } }
@media (prefers-reduced-motion: reduce) { .hero-pro .hp-glow, .hp-card, .hp-ping { animation: none; } .hp-line { animation: none; stroke-dashoffset: 0; } }
/* pattern filters shown as a table: the pattern cell is one short chip, never wider than its column */
.pat-cell { white-space: nowrap; }
.pat-cell .chip { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
/* an empty list: the section's header stays on top, the illustration and message sit in the middle of the rest of the screen */
.fill-col { display: flex; flex-direction: column; min-height: calc(var(--avail, 80vh) - var(--foot-h, 0px) - var(--ph, 0px)); box-sizing: border-box; }
.fill-center { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; }
.fill-center > .empty-art, .fill-center .empty-art { width: 100%; }
@media (max-width: 767px) { .fill-col { min-height: calc(var(--avail, 80vh) - var(--tab-h, 64px) - var(--safe-b, 0px) - var(--ph, 0px) - 8px); } }
/* a stock page the plan does not open: the card takes the rest of the screen below the stock's header */
.need-login.pdp-gate { height: calc(var(--avail, 70vh) - var(--foot-h, 0px) - var(--ph, 0px)); }
@media (max-width: 767px) { .need-login.pdp-gate { height: calc(var(--avail, 70vh) - var(--tab-h, 64px) - var(--safe-b, 0px) - var(--ph, 0px) - 8px); } }
/* own x-axis for the basket-vs-index chart: a fixed set of day labels along the bottom */
.bk-lw .bk-ax{position:absolute;inset-inline:0;bottom:3px;height:16px;z-index:3;pointer-events:none;direction:ltr}
.bk-lw .bk-ax span{position:absolute;transform:translateX(-50%);font-size:11px;color:var(--fg-3);white-space:nowrap}
/* how a basket is built: numbered steps with an icon tile each */
.how-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.how-meta .chip{display:inline-flex;align-items:center;gap:6px}
.how-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;position:relative}
.how-step{display:flex;gap:12px;align-items:flex-start;position:relative}
.how-step:not(:last-child)::after{content:"";position:absolute;inset-inline-start:19px;top:42px;bottom:-12px;width:2px;background:linear-gradient(var(--glass-line),transparent);border-radius:2px}
.how-step>div{min-width:0;flex:1}
.how-step b{display:block;font-size:14px;color:var(--fg);margin-bottom:2px}
.how-step p,.bk-how .how-step p{margin:0 0 6px;font-size:13px;line-height:1.9;color:var(--fg-2)}
.how-chips{display:flex;flex-wrap:wrap;gap:6px}
.how-chips .chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px}
.how-chips .chip svg,.how-meta .chip svg{width:14px;height:14px}
@media (max-width:767px){.mx-how .how-step b{font-size:13px}.mx-how .how-step p{font-size:12px;line-height:1.8}}
/* one bar for scores, the valuation scale and the risk/reward scale: same track and height; a pin marks a position */
.meter{position:relative;margin:12px 0 6px}.meter.ltr{direction:ltr}
.meter .track{position:relative}
.meter .track .spec{width:100%;background:linear-gradient(90deg,var(--up),var(--gold) 50%,var(--down))}
.meter .track .rr-risk,.meter .track .rr-reward{position:absolute;top:0;bottom:0;height:100%;border-radius:0}
.meter-pin{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--fg);box-shadow:0 0 0 3px #0b1222,0 2px 8px rgba(0,0,0,.4);pointer-events:none}
/* period icon: eight bars, more of them lit the older the period */
.ret .ret-i{display:flex;justify-content:center;margin-bottom:4px;color:var(--fg-3)}
.ret .ret-i svg{width:26px;height:20px}
.age rect{fill:var(--glass-strong)}.age rect.on{fill:var(--accent)}
.ret.pos .age rect.on{fill:var(--up)}.ret.neg .age rect.on{fill:var(--down)}
/* drawing toolbar: grouped tools open a menu beside the button */
.ta-tool{position:relative}
.ta-grp{position:relative}
.ta-caret{position:absolute;inset-inline-end:4px;bottom:4px;width:6px;height:6px;background:currentColor;opacity:.65;pointer-events:none;clip-path:polygon(100% 0,100% 100%,0 100%)}
.ta-pop{position:absolute;top:0;right:calc(100% + 8px);left:auto;z-index:40;min-width:250px;padding:8px;border-radius:14px;display:flex;flex-direction:column;gap:2px;background:rgba(7,12,24,.98);border:1px solid var(--glass-line);box-shadow:0 14px 40px rgba(0,0,0,.45)}
.ta-pop>b{font-size:11.5px;color:var(--fg-3);padding:2px 8px 6px}
.ta-pop-i{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:10px;border:0;background:transparent;color:var(--fg-2);font:inherit;font-size:13px;text-align:start;cursor:pointer}
.ta-pop-i svg{width:18px;height:18px;flex:none}
.ta-pop-i:hover{background:var(--glass-hover);color:var(--fg)}
.ta-pop-i[aria-pressed="true"]{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink)}
@media (max-width:760px){.ta-pop{top:auto;bottom:calc(100% + 8px);right:auto;left:0;min-width:230px}}
/* pop-up panels (notifications, search results, tool menus) are solid: text over the page behind them must stay readable */
.bell-panel.glass,.ta-pop.glass,.search-results.glass,.dd-pop.glass{background:#0b1426;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 18px 48px rgba(0,0,0,.55)}
.bell-panel.glass .bp-list li.new a{background:#10283a}
.bell-panel.glass .bp-push{background:#1a2230}
/* period icon: a clock with a back arrow and the number of sessions looked back */
.ret .ret-i{display:flex;justify-content:center;align-items:center;gap:5px;margin-bottom:4px}
.ret .ret-i svg{width:16px;height:16px;color:var(--fg-3)}
.ret .ret-n{font-size:12px;font-weight:800;color:var(--fg-2);background:var(--glass-strong);border-radius:99px;padding:0 7px;line-height:20px}
/* market at a glance: index chart shaded by market state + key numbers */
.mk2 .mk-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;align-items:stretch}
.mk-chart{position:relative;border-radius:12px;background:rgba(255,255,255,.02);border:1px solid var(--glass-line);padding:30px 8px 26px;overflow:hidden}
.mk-chart svg{display:block;width:100%;height:168px}
.mk-b.up{fill:rgba(52,211,153,.10)}.mk-b.gold{fill:rgba(245,185,66,.12)}.mk-b.down{fill:rgba(251,113,133,.13)}
.mk-y{position:absolute;inset-inline-end:10px;font-size:11px;color:var(--fg-3);background:rgba(7,12,24,.6);padding:0 4px;border-radius:4px}
.mk-y.top{top:30px}.mk-y.bot{bottom:28px}
.mk-x{position:absolute;left:8px;right:8px;bottom:6px;display:flex;justify-content:space-between;font-size:11px;color:var(--fg-3);direction:ltr}
.mk-leg{position:absolute;top:8px;inset-inline-start:10px;inset-inline-end:10px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--fg-3)}
.mk-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:4px;vertical-align:-1px}
.mk-leg i.up{background:rgba(52,211,153,.45)}.mk-leg i.gold{background:rgba(245,185,66,.5)}.mk-leg i.down{background:rgba(251,113,133,.5)}
.mk-leg i.ln{height:3px;background:#2dd4bf;vertical-align:3px}.mk-leg i.ma{height:0;border-top:2px dashed rgba(226,232,240,.6);vertical-align:3px;border-radius:0}
.mk-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mk-t{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--glass-line);display:flex;flex-direction:column;gap:2px;min-width:0}
.mk-t small{font-size:11.5px;color:var(--fg-3)}.mk-t b{font-size:17px;font-weight:800}.mk-t span{font-size:11.5px;color:var(--fg-2)}.mk-t i{font-style:normal}
.mk-drv{display:flex;flex-wrap:wrap;gap:6px}
.mk-d{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.03);border:1px solid var(--glass-line);color:var(--fg-2)}
.mk-d svg{width:13px;height:13px}.mk-d.up svg{color:#34d399}.mk-d.down svg{color:#f5b942}.mk-d b{color:var(--fg)}
@media (max-width:1099px){.mk2 .mk-body{grid-template-columns:1fr}}
@media (max-width:767px){.mk-chart svg{height:140px}.mk-chart{padding-top:54px}.mk-y.top{top:54px}.mk-t b{font-size:15px}}
/* screener: the two premium filters sit in the page head, side by side */
.page-head .scr-prems{flex-direction:row;flex-wrap:wrap;margin:0;padding:0;border:0;gap:10px}
.page-head .scr-prem{width:auto;min-width:230px}
/* animated ring and shine on premium buttons (same look as on phones) */
.prem-anim{position:relative;isolation:isolate;border-color:transparent}
.prem-anim::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;z-index:-1;pointer-events:none;background:conic-gradient(from var(--pa,0deg),#f5b942,#a78bfa,#2dd4bf,#f5b942);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:premSpin 4s linear infinite}
.prem-anim::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(245,185,66,.12) 50%,transparent 70%);background-size:250% 100%;animation:premShine 3.2s ease-in-out infinite}
.prem-anim.on::before{display:none}
@media (prefers-reduced-motion:reduce){.prem-anim::before,.prem-anim::after{animation:none}}
/* tooltips: smaller, lighter text for the explanation */
.tip{padding:8px 12px;max-width:260px}
.tip b{font-size:12px;font-weight:700}
.tip span{font-size:11.5px;font-weight:500;line-height:1.75;color:#a7f3e8}
/* watch groups: the add button always in the site's teal */
.gcard2 .btn-add{--gc:#2dd4bf}
/* news list: lighter headlines */
.news .nt{font-weight:500}.news.big .nt{font-size:13px}
/* market at a glance: four tiles, the chart matches their height exactly */
.mk2 .mk-body{align-items:stretch}
.mk2 .mk-chart{min-height:0;padding:0}
.mk2 .mk-chart svg{position:absolute;left:8px;right:8px;top:40px;bottom:26px;width:calc(100% - 16px);height:calc(100% - 66px)}
.mk2 .mk-y.top{top:40px}.mk2 .mk-y.bot{bottom:28px}
.mk2 .mk-t{padding:14px 14px;gap:4px;justify-content:center}
.mk2 .mk-t b{font-size:20px}
.mk2 .mk-tiles{grid-auto-rows:1fr}
@media (max-width:1099px){.mk2 .mk-chart{height:220px}}
@media (max-width:767px){.mk2 .mk-chart{height:200px}.mk2 .mk-chart svg{top:54px;height:calc(100% - 80px)}.mk2 .mk-y.top{top:54px}.mk2 .mk-t b{font-size:16px}}
/* premium filter buttons: a lively hover */
.scr-prem.prem-anim{transition:transform .35s cubic-bezier(.2,.9,.3,1.25),box-shadow .35s,background .25s}
.scr-prem.prem-anim:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 14px 30px -14px rgba(245,185,66,.75),0 0 0 1px rgba(245,185,66,.25)}
.scr-prem.prem-anim:hover::before{animation-duration:1.4s}
.scr-prem.prem-anim:hover::after{animation-duration:1.1s}
.scr-prem.prem-anim .sc-ic{transition:transform .4s cubic-bezier(.2,.9,.3,1.4)}
.scr-prem.prem-anim:hover .sc-ic{transform:rotate(-10deg) scale(1.12)}
/* drawing-tool menus: spring in, items cascade */
@keyframes taPopIn{from{opacity:0;transform:translateX(10px) scale(.94)}to{opacity:1;transform:none}}
@keyframes taItemIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.ta-pop{transform-origin:right top;animation:taPopIn .26s cubic-bezier(.2,.9,.3,1.25) both}
.ta-pop-i{animation:taItemIn .28s ease-out both}
.ta-pop-i:nth-of-type(1){animation-delay:.04s}.ta-pop-i:nth-of-type(2){animation-delay:.08s}.ta-pop-i:nth-of-type(3){animation-delay:.12s}.ta-pop-i:nth-of-type(4){animation-delay:.16s}.ta-pop-i:nth-of-type(5){animation-delay:.2s}.ta-pop-i:nth-of-type(6){animation-delay:.24s}
.ta-pop-i svg{transition:transform .25s}.ta-pop-i:hover svg{transform:scale(1.15)}
@media (prefers-reduced-motion:reduce){.ta-pop,.ta-pop-i{animation:none}}
/* short pages keep the footer at the bottom of the screen, like the full-height pages */
@media (min-width:768px){#view{min-height:calc(var(--avail,80vh) - var(--foot-h,0px))}}
/* stat boxes in a kv-lg grid all share one size */
.kv-lg{grid-auto-rows:1fr}
.kv-lg > div{justify-content:flex-start;min-width:0}
@media (min-width:1100px){.sig-hist .kv-lg{grid-template-columns:repeat(3,minmax(0,1fr))}}
.news .nt{font-size:13px;font-weight:500}.news small,.news .src{font-weight:600}
