:root{
    --base:#080b1c;--ink:#cdd7f0;--mut:#8390b8;--dim:#5f6b95;--line:rgba(150,170,255,.10);--line2:rgba(150,170,255,.20);
    --peri:#7c89c0;--fog:#aab6d8;--gold:#e6c879;--cyan:#4fe0bf;
    --up:#4fe0bf;--upbg:rgba(79,224,191,.13);--dn:#ff7a88;--dnbg:rgba(255,122,136,.13);--warn:#f0b95e;
    --card:rgba(13,18,40,.55);--sans:'Sora',-apple-system,"Segoe UI",sans-serif;--serif:'Fraunces',Georgia,serif;
  }
  *{box-sizing:border-box}html,body{margin:0;padding:0}
  body{color:var(--ink);font:13.5px/1.5 var(--sans);min-height:100vh;overflow-x:hidden;
    background:linear-gradient(165deg,#03050d 0%,#070a18 52%,#090c20 100%) fixed;animation:breathe 16s ease-in-out infinite}
  @keyframes breathe{0%,100%{background-color:#070a18}50%{background-color:#090c1e}}
  a{color:inherit}
  .fog{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
  .fb{position:absolute;border-radius:50%;filter:blur(110px);opacity:.2;animation:drift 40s ease-in-out infinite alternate}
  .fog2{position:fixed;inset:0;z-index:0;pointer-events:none;
    background:radial-gradient(50% 40% at 30% 30%,rgba(70,86,150,.06),transparent 70%),radial-gradient(60% 50% at 75% 65%,rgba(48,60,116,.08),transparent 70%);animation:fogmove 46s ease-in-out infinite alternate}
  @keyframes fogmove{0%{transform:translate(0,0)}100%{transform:translate(-30px,18px)}}
  .stars{position:fixed;inset:0;z-index:0;pointer-events:none}.star{position:absolute;border-radius:50%;background:#cfd7f5;animation:tw 6s ease-in-out infinite}
  @keyframes tw{0%,100%{opacity:.08}50%{opacity:.4}}@keyframes drift{0%{transform:translate(0,0)}100%{transform:translate(0,-24px)}}
  .topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:9px 18px;
    background:rgba(11,15,34,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
  .brand{display:flex;align-items:center;gap:10px;flex-shrink:0;cursor:pointer}.mark{font-size:21px;color:var(--gold);text-shadow:0 0 16px rgba(230,200,121,.5)}
  .bn{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1}
  .bs{font-size:10.5px;color:var(--mut)}
  .search{position:relative;flex-shrink:0}
  .search input{width:170px;background:rgba(40,52,96,.5);border:1px solid var(--line2);border-radius:9px;color:var(--ink);padding:6px 10px;font-size:12px;font-family:var(--sans);outline:none}
  .search input:focus{border-color:var(--cyan);width:210px}
  .sresults{position:absolute;top:34px;left:0;width:240px;background:rgba(16,22,52,.97);border:1px solid var(--line2);border-radius:10px;overflow:hidden;z-index:40;display:none}
  .sresults.open{display:block}.sresults div{padding:8px 11px;font-size:12.5px;cursor:pointer;border-bottom:1px solid var(--line)}
  .sresults div:hover{background:rgba(72,86,140,.4)}.sresults .tt{color:var(--cyan);font-weight:500}
  .tape{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  .trow{display:inline-flex;gap:22px;white-space:nowrap;animation:scroll 42s linear infinite}.tape:hover .trow{animation-play-state:paused}
  @keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  .ti{font-size:12px;color:var(--mut);cursor:pointer}.ti b{color:var(--ink);font-weight:500;margin:0 5px}
  .tmeta{display:flex;gap:8px;align-items:center;flex-shrink:0}
  .pill{font-size:11px;padding:4px 9px;border-radius:999px;background:rgba(72,86,140,.5);border:1px solid var(--line2);color:#c3cce8}
  .pill.warn{background:rgba(240,185,94,.14);border-color:rgba(240,185,94,.4);color:var(--warn)}
  .live{display:inline-flex;align-items:center;gap:5px;color:var(--up);font-weight:500;font-size:11.5px}
  .live .dot{width:7px;height:7px;border-radius:50%;background:var(--up);animation:pulse 1.8s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(72,214,162,.5)}70%{box-shadow:0 0 0 6px rgba(72,214,162,0)}100%{box-shadow:0 0 0 0 rgba(72,214,162,0)}}
  .reload{cursor:pointer}
  .switch{position:relative;flex-shrink:0}
  .caret{font-size:11px;color:var(--mut)}
  .switchmenu{position:absolute;top:46px;left:0;width:212px;background:rgba(16,22,52,.97);border:1px solid var(--line2);border-radius:11px;overflow:hidden;z-index:50;display:none;box-shadow:0 18px 40px rgba(4,6,20,.6)}
  .switchmenu.open{display:block}
  .switchmenu a{display:flex;align-items:center;gap:10px;padding:11px 13px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line);cursor:pointer}
  .switchmenu a:last-child{border-bottom:none}.switchmenu a:hover{background:rgba(72,86,140,.4)}
  .switchmenu a.active{background:rgba(124,137,192,.18)}.sm-mark{font-size:17px}
  .refresh{cursor:pointer;font-size:11px;padding:4px 10px;border-radius:999px;background:rgba(79,224,191,.1);border:1px solid rgba(79,224,191,.35);color:var(--cyan);user-select:none;white-space:nowrap}
  .refresh:hover{background:rgba(79,224,191,.2)}.refresh.spin{opacity:.6}
  .updated{font-size:10.5px;color:var(--dim);white-space:nowrap}
  .shell{position:relative;z-index:2;display:grid;grid-template-columns:178px 1fr 320px;gap:16px;max-width:1640px;margin:0 auto;padding:16px 18px 40px}
  .shell.wide{grid-template-columns:178px 1fr}
  .nav{position:sticky;top:64px;align-self:start;display:flex;flex-direction:column;gap:3px}
  .nav a{font-size:13px;color:var(--mut);text-decoration:none;padding:7px 11px;border-radius:9px;border:1px solid transparent;transition:.15s;cursor:pointer}
  .nav a:hover{color:var(--ink);background:rgba(72,86,140,.35)}
  .nav a.on{color:var(--ink);background:rgba(124,137,192,.22);border-color:rgba(124,137,192,.4)}
  .navsep{height:1px;background:var(--line);margin:8px 4px}
  .main{min-width:0}
  .sec{margin-bottom:22px}.sech{display:flex;align-items:baseline;gap:10px;margin:0 0 10px}
  .sech h2{font-family:var(--serif);font-size:18px;font-weight:600;margin:0}.sech .s{font-size:11.5px;color:var(--dim)}
  .sech .more{margin-left:auto;font-size:11px;color:var(--cyan);cursor:pointer}
  .wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:12px}
  .card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:12px 13px;backdrop-filter:blur(13px);transition:.16s}
  .card.clk{cursor:pointer}
  .card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(8,12,35,.4),0 0 18px rgba(124,137,192,.12);border-color:rgba(124,137,192,.4)}
  .w2{grid-column:span 2}.w3{grid-column:span 3}.w4{grid-column:span 4}@media(max-width:1100px){.w3,.w4{grid-column:span 2}}
  .ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .ch h3{font-size:11px;font-weight:500;color:#bcc6ec;margin:0;text-transform:uppercase;letter-spacing:.6px}.ch .x{font-size:10.5px;color:var(--dim)}
  .up{color:var(--up)}.dn{color:var(--dn)}.warnc{color:var(--warn)}.mut{color:var(--mut)}.dim{color:var(--dim)}.sm{font-size:11.5px}
  .kpi{font-family:var(--serif);font-size:24px;font-weight:600}.lab{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:.5px}
  .kgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media(max-width:900px){.kgrid{grid-template-columns:repeat(2,1fr)}}
  .rowi{display:flex;justify-content:space-between;align-items:center;padding:5px 1px;border-bottom:1px solid var(--line);font-size:12.5px}.rowi:last-child{border-bottom:none}
  .tk{cursor:pointer;font-weight:500}.tk:hover{color:var(--cyan)}
  .chip{font-size:11.5px;font-weight:500;padding:2px 6px;border-radius:6px}.chip.up{background:var(--upbg)}.chip.dn{background:var(--dnbg)}
  .alloc{display:flex;height:11px;border-radius:6px;overflow:hidden;margin:8px 0}.alloc span{display:block;height:100%}
  table{width:100%;border-collapse:collapse;font-size:11.5px}th{font-size:9.5px;text-transform:uppercase;color:#8e9cc6;text-align:center;padding:5px 4px;border-bottom:1px solid var(--line2);cursor:pointer;user-select:none}
  th:first-child,td:first-child{text-align:left}td{padding:5px 4px;text-align:center;border-bottom:1px solid var(--line)}
  th.sorted::after{content:' ▾';color:var(--cyan)}th.sortedup::after{content:' ▴';color:var(--cyan)}
  tbody tr{cursor:pointer}tbody tr:hover{background:rgba(72,86,140,.18)}
  .cell{border-radius:4px;padding:2px 0;font-weight:500}
  .heat{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.ht{border-radius:7px;padding:7px 6px;font-size:11px;cursor:pointer}.ht b{display:block;font-weight:500;font-size:10.5px}
  .gauge{height:8px;border-radius:6px;background:linear-gradient(90deg,#ff7180,#f0b95e,#48d6a2);position:relative;margin:9px 0 3px}.gauge .m{position:absolute;top:-3px;width:3px;height:14px;background:#e9edff;border-radius:2px;transform:translateX(-50%)}
  .pick{padding:7px 0;border-bottom:1px solid var(--line);cursor:pointer}.pick:last-child{border-bottom:none}.pick:hover{background:rgba(72,86,140,.12)}.why{font-size:11.5px;color:#c3cce8;margin-top:3px;line-height:1.4}
  .call{font-size:10px;font-weight:600;padding:2px 6px;border-radius:5px}.call.Buy{background:var(--upbg);color:var(--up)}.call.Watch{background:rgba(240,185,94,.16);color:var(--warn)}.call.Trim{background:var(--dnbg);color:var(--dn)}
  .note{font-size:11.5px;color:#c3cce8;line-height:1.5}.bull{margin:5px 0 0;padding-left:15px}.bull li{margin:3px 0;color:#c3cce8}
  .rail{position:sticky;top:64px;align-self:start;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 78px);overflow:auto}
  .rail::-webkit-scrollbar{width:6px}.rail::-webkit-scrollbar-thumb{background:rgba(124,137,192,.3);border-radius:6px}
  .news{padding:7px 0;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer;text-decoration:none;display:block}.news:last-child{border-bottom:none}.news:hover{color:var(--cyan)}.src{font-size:10.5px;color:var(--dim);margin-top:2px}
  .dotg{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:1px}
  .digest{font-size:12.5px;line-height:1.6;color:#d4dcf4}.digest .hd{font-family:var(--serif);font-size:14px;font-weight:500;margin-bottom:5px}
  .sample{font-size:10.5px;color:#f0d89a;background:rgba(230,200,121,.14);border:1px solid rgba(230,200,121,.4);padding:1px 8px;border-radius:999px;margin-left:6px}
  /* detail pages */
  .back{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--cyan);cursor:pointer;margin-bottom:14px}
  .dhead{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:14px}
  .dhead .nm{font-family:var(--serif);font-size:26px;font-weight:600}.dhead .sub{font-size:12px;color:var(--mut)}
  .dprice{font-family:var(--serif);font-size:30px;font-weight:600}
  .ranges{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}
  .rb{font-size:11px;color:var(--mut);padding:4px 10px;border-radius:7px;border:1px solid var(--line);cursor:pointer;background:rgba(40,52,96,.3)}
  .rb.on{color:var(--ink);border-color:var(--cyan);background:rgba(79,224,191,.1)}
  .chartwrap{position:relative;width:100%;height:230px}
  .chartwrap svg{width:100%;height:100%;display:block}
  .crosshair{position:absolute;top:0;width:1px;background:rgba(205,215,240,.4);pointer-events:none;display:none}
  .ctip{position:absolute;background:rgba(16,22,52,.95);border:1px solid var(--line2);border-radius:7px;padding:5px 8px;font-size:11px;pointer-events:none;display:none;z-index:5;white-space:nowrap}
  .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:760px){.metrics{grid-template-columns:repeat(2,1fr)}}
  .metric{background:rgba(40,52,96,.22);border:1px solid var(--line);border-radius:9px;padding:9px 11px}
  .metric .l{font-size:9.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.5px}.metric .v{font-family:var(--serif);font-size:17px;font-weight:600;margin-top:3px}
  /* Yahoo-style dense quote page */
  .qrow{display:grid;grid-template-columns:repeat(4,1fr);gap:0 22px}@media(max-width:900px){.qrow{grid-template-columns:repeat(2,1fr)}}
  .qi{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12.5px}
  .qi .k{color:var(--mut)}.qi .v{font-weight:500;text-align:right}
  .reco{font-family:var(--serif);font-size:20px;font-weight:600}.tgt{display:flex;align-items:baseline;gap:10px}
  .peers{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
  .peer{background:rgba(40,52,96,.22);border:1px solid var(--line);border-radius:10px;padding:9px 10px;cursor:pointer;transition:.15s}
  .peer:hover{border-color:rgba(124,137,192,.5);transform:translateY(-2px)}
  .peer .pt{font-weight:600;font-size:13px}.peer .pn{font-size:10.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .abar{display:flex;height:9px;border-radius:5px;overflow:hidden;margin:6px 0}.abar .b{background:var(--up)}.abar .h{background:var(--warn)}.abar .s{background:var(--dn)}
  .cmp{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--mut);margin-top:6px}
  .cmp input{accent-color:var(--cyan)}
  .form{display:grid;gap:8px}.form input,.form select{background:rgba(40,52,96,.5);border:1px solid var(--line2);border-radius:8px;color:var(--ink);padding:8px 10px;font-size:12.5px;font-family:var(--sans);outline:none}
  .form .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .btn{background:var(--cyan);color:#0a1020;border:none;border-radius:8px;padding:9px 12px;font-weight:600;cursor:pointer;font-family:var(--sans);font-size:12.5px}
  .btn.ghost{background:transparent;border:1px solid var(--line2);color:var(--mut)}
  .xbtn{cursor:pointer;color:var(--dim)}.xbtn:hover{color:var(--dn)}
  @media(max-width:980px){.shell,.shell.wide{grid-template-columns:1fr}.nav{position:static;flex-direction:row;flex-wrap:wrap;overflow:auto}.rail{position:static;max-height:none}}
  .botbtn{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#2a3566,#10162f);border:1px solid var(--cyan);color:var(--cyan);font-size:23px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 26px rgba(4,6,20,.55),0 0 16px rgba(79,224,191,.35);transition:transform .2s}
  .botbtn:hover{transform:scale(1.07)}
  .botwin{position:fixed;right:22px;bottom:92px;z-index:60;width:362px;max-width:calc(100vw - 32px);height:524px;max-height:calc(100vh - 130px);display:none;flex-direction:column;background:rgba(16,22,52,.94);backdrop-filter:blur(18px);border:1px solid var(--line2);border-radius:16px;overflow:hidden;box-shadow:0 20px 54px rgba(4,6,20,.6)}
  .botwin.open{display:flex}
  .bothd{display:flex;align-items:center;gap:9px;padding:13px 15px;border-bottom:1px solid var(--line);background:rgba(40,52,96,.4)}
  .bothd .av{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#2a3566,#10162f);border:1px solid var(--cyan);display:flex;align-items:center;justify-content:center;color:var(--cyan);font-size:14px}
  .bothd .t{font-family:var(--serif);font-size:15px}.bothd .s{font-size:11px;color:var(--mut)}.bothd .x{margin-left:auto;cursor:pointer;color:var(--mut);font-size:17px}
  .botmsgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
  .msg{max-width:86%;font-size:13px;line-height:1.5;padding:9px 12px;border-radius:12px}
  .msg.bot{align-self:flex-start;background:rgba(56,69,116,.5);border:1px solid var(--line)}
  .msg.me{align-self:flex-end;background:rgba(79,224,191,.13);border:1px solid rgba(79,224,191,.3);color:#dffaf2}
  .chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px}
  .chip2{font-size:11.5px;color:var(--cyan);border:1px solid rgba(79,224,191,.3);background:rgba(79,224,191,.08);padding:4px 9px;border-radius:999px;cursor:pointer}
  .botin{display:flex;gap:8px;padding:11px 12px;border-top:1px solid var(--line)}
  .botin input{flex:1;background:rgba(40,52,96,.5);border:1px solid var(--line2);border-radius:10px;color:var(--ink);padding:9px 11px;font-size:13px;font-family:var(--sans);outline:none}
  .botin input::placeholder{color:var(--dim)}
  .botin button{background:var(--cyan);color:#0a1020;border:none;border-radius:10px;padding:0 14px;font-weight:600;cursor:pointer}
  /* In-site embed overlay (external links open here, staying on Go) */
  .embedModal{display:none;position:fixed;inset:0;z-index:200}
  .embedModal.open{display:block}
  .embedBack{position:absolute;inset:0;background:rgba(4,6,18,.66);backdrop-filter:blur(3px)}
  .embedWin{position:absolute;inset:4% 6%;display:flex;flex-direction:column;background:rgba(13,18,40,.98);border:1px solid var(--line2);border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
  .embedBar{display:flex;align-items:center;gap:12px;padding:9px 13px;border-bottom:1px solid var(--line);background:rgba(40,52,96,.4)}
  .embedTitle{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38%}
  .embedUrl{font-size:11px;color:var(--dim)}
  .embedExt{margin-left:auto;font-size:11.5px;color:var(--cyan);border:1px solid rgba(79,224,191,.35);padding:4px 9px;border-radius:8px;text-decoration:none;white-space:nowrap}
  .embedExt:hover{background:rgba(79,224,191,.12)}
  .embedX{cursor:pointer;color:var(--mut);font-size:18px;padding:0 4px}.embedX:hover{color:var(--ink)}
  .embedFrame{flex:1;width:100%;border:0;background:#fff}
  .embedNote{font-size:11px;color:var(--dim);padding:5px 13px;border-top:1px solid var(--line)}
  @media(max-width:760px){.embedWin{inset:2% 3%}.embedTitle{max-width:30%}}
  /* Expandable list widget (Markets etc.) */
  .expfoot{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;padding-top:6px;border-top:1px solid var(--line)}
  .expbtn{font-size:11px;color:var(--cyan);cursor:pointer;border:1px solid rgba(79,224,191,.3);background:rgba(79,224,191,.07);padding:3px 9px;border-radius:999px;user-select:none}
  .expbtn:hover{background:rgba(79,224,191,.16)}
  /* Major-markets board */
  .board{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
  .bcard{background:rgba(40,52,96,.22);border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer;transition:.15s}
  .bcard:hover{border-color:rgba(124,137,192,.5);transform:translateY(-2px)}
  .bcard .bn{font-size:11px;color:var(--mut)}.bcard .bp{font-family:var(--serif);font-size:17px;font-weight:600;margin:1px 0 3px}
  .bspark{margin-top:4px;height:28px;opacity:.9}
  .board.mini{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:7px}
  .bcard.sm{padding:7px 9px}.bcard.sm .bn{font-size:10px}.bcard.sm .bp{font-size:14px;margin:0}
  /* TradingView embed wrappers — reserve space while the keyless widget loads */
  .tvwrap{min-height:78px;width:100%}
  .tvwrap .tradingview-widget-container,.tvwrap .tradingview-widget-container__widget{width:100%}
  /* Accessibility: honor reduced-motion — calm the breathing bg, drifting fog, stars, and ticker tape. */
  @media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
