:root{--bg-0:#061225;--bg-1:#0b1c35;--panel:rgba(6,26,52,.78);--line:rgba(67,200,255,.55);--line-soft:rgba(67,200,255,.25);--text:#d6ecff;--muted:#87b6db;--good:#25f0a3;--bad:#ff5578;--neutral:#8aa9c8}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--text);background:radial-gradient(1200px 600px at 20% -10%,rgba(28,133,255,.22),transparent 65%),radial-gradient(1000px 500px at 90% 120%,rgba(0,210,240,.2),transparent 62%),linear-gradient(180deg,var(--bg-1),var(--bg-0));font-family:Segoe UI,Inter,system-ui,-apple-system,sans-serif}.hub-shell{max-width:1360px;margin:14px auto;padding:6px}.hub-header{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(5,33,60,.92),rgba(5,28,50,.75));box-shadow:inset 0 0 0 1px rgba(51,214,255,.22),0 0 24px rgba(0,196,255,.2);padding:16px 22px;display:flex;align-items:center;justify-content:center}.hub-header h1{margin:0;font-size:clamp(28px,3.1vw,46px);letter-spacing:1.6px;color:#6ef3ff;text-shadow:0 0 18px rgba(77,231,255,.45)}.hub-grid{margin-top:14px;display:grid;grid-template-columns:1.15fr 1.45fr 1fr;grid-gap:14px;gap:14px;align-items:start}.live-strip{margin-top:10px;border:1px solid var(--line-soft);border-radius:10px;padding:8px 12px;background:rgba(3,24,43,.65);color:#b8defb;display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.2px}.strip-sep{color:#6ea2cb}.pulse-dot{width:9px;height:9px;border-radius:50%;background:#25f0a3;box-shadow:0 0 10px rgba(37,240,163,.7);animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.32);opacity:.65}}.col{display:grid;grid-gap:14px;gap:14px;align-content:start}.panel{border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:inset 0 0 0 1px rgba(72,212,255,.15),0 0 18px rgba(39,172,222,.18);padding:14px}.panel-title{margin:0 0 12px;color:#d8f5ff;font-size:19px;letter-spacing:.5px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-title-row .panel-title{margin-bottom:0}.panel-popup-btn{width:30px;height:30px;border-radius:8px;border:1px solid rgba(112,208,252,.55);background:rgba(9,39,66,.72);color:#bde9ff;cursor:pointer;font-size:15px;line-height:1;display:grid;place-items:center;transition:transform .12s ease,border-color .12s ease}.panel-popup-btn:hover{transform:translateY(-1px);border-color:rgba(143,233,255,.85)}.news-panel{margin-top:12px}.news-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.news-head-right{display:inline-flex;align-items:center;gap:10px}.refresh-btn{width:34px;height:34px;border-radius:999px;border:1px solid rgba(112,208,252,.62);background:rgba(7,39,67,.75);color:#bde8ff;cursor:pointer;font-size:18px;line-height:1;display:grid;place-items:center;box-shadow:0 0 10px rgba(55,190,238,.2);transition:transform .14s ease,border-color .14s ease}.refresh-btn:hover{transform:rotate(-20deg) scale(1.04);border-color:rgba(130,229,255,.92)}.refresh-btn.is-spinning{animation:refreshSpin .8s linear infinite}@keyframes refreshSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.news-status{display:inline-flex;align-items:center;gap:8px;color:#9fd0f0;font-size:12px}.news-ticker-wrap{margin-top:8px;overflow:hidden;border:1px solid rgba(97,166,208,.25);border-radius:8px;background:rgba(5,26,47,.62)}.news-ticker-track{display:flex;width:max-content;white-space:nowrap;animation:tickerMove 40s linear infinite;color:#c8e8ff;font-size:13px}.news-ticker-track span{padding:8px 14px}@keyframes tickerMove{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.news-list{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.news-item{border:1px solid rgba(100,172,214,.25);border-radius:10px;background:rgba(6,29,52,.65);color:inherit;text-decoration:none;padding:10px;min-height:112px;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.news-item-btn{width:100%;text-align:left;cursor:pointer}.news-item:hover{transform:translateY(-2px);border-color:rgba(130,225,255,.65);box-shadow:0 0 16px rgba(67,190,237,.18)}.news-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#84b8dd}.source-badge{border:1px solid rgba(108,181,225,.46);border-radius:999px;background:rgba(9,38,64,.75);padding:2px 7px;color:#bde3ff}.news-title{margin-top:8px;color:#d8f1ff;font-size:13px;line-height:1.35}.news-actions{display:flex;gap:8px;flex-wrap:wrap}.news-link-btn{border:1px solid rgba(112,208,252,.62);background:rgba(9,40,68,.75);color:#c8ecff;border-radius:8px;padding:7px 10px;font-size:13px;text-decoration:none;cursor:pointer}.news-link-btn.ghost{background:rgba(9,40,68,.3)}.asset-controls{display:flex;align-items:center;gap:8px;margin-bottom:10px}.asset-select-label{color:#a9d3ef;font-size:12px}.asset-select{min-width:160px;border:1px solid rgba(112,208,252,.5);background:rgba(9,40,68,.45);color:#c8ecff;border-radius:8px;padding:6px 9px;font-size:12px}.asset-meta-row{margin-top:10px;margin-bottom:6px;display:flex;flex-wrap:wrap;gap:8px}.asset-meta-chip{border:1px solid rgba(102,179,223,.35);border-radius:999px;background:rgba(4,27,49,.55);color:#bfe2fb;font-size:12px;padding:4px 10px}.asset-pill{border:1px solid rgba(112,208,252,.5);background:rgba(9,40,68,.45);color:#c8ecff;border-radius:999px;padding:6px 11px;font-size:12px;cursor:pointer}.asset-pill.active{border-color:rgba(131,231,255,.85);background:rgba(20,74,112,.62);color:#e4f8ff}.muted{color:var(--muted)}.asset-flow{height:220px;border-radius:12px;border:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(24,50,79,.42),rgba(11,28,52,.4)),repeating-linear-gradient(90deg,transparent 0,transparent 52px,rgba(100,150,190,.12) 53px,rgba(100,150,190,.12) 54px),repeating-linear-gradient(0deg,transparent 0,transparent 43px,rgba(100,150,190,.14) 44px,rgba(100,150,190,.14) 45px);position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.asset-legend{display:flex;gap:16px;align-items:center;padding:8px 10px 0;font-size:12px;color:#b8dcf8}.legend-item{display:inline-flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.fear{background:#ff5578;box-shadow:0 0 10px rgba(255,85,120,.6)}.dot.greed{background:#25f0a3;box-shadow:0 0 10px rgba(37,240,163,.6)}.dot.flow{background:#37e4ff;box-shadow:0 0 10px rgba(55,228,255,.65)}.asset-chart{width:100%;height:100%;min-height:175px}.asset-flow-big{height:300px}.chart-grid{stroke:rgba(98,168,212,.2);stroke-width:1}.chart-axis{stroke:rgba(139,198,233,.55);stroke-width:1.3}.chart-axis-label{fill:#9fc7e3;font-size:11px;letter-spacing:.2px}.chart-line{stroke:#37e4ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(55,228,255,.62))}.gauge-wrap{display:grid;place-items:center;margin-top:4px}.sentiment-accel{width:min(430px,100%);border:1px solid var(--line-soft);border-radius:14px;background:linear-gradient(180deg,rgba(9,34,58,.6),rgba(7,24,43,.56));padding:10px 12px 12px;box-shadow:inset 0 0 18px rgba(64,176,228,.15)}.accel-svg{width:100%;height:auto;display:block}.accel-track-bg{fill:none;stroke:rgba(120,166,196,.25);stroke-width:26;stroke-linecap:round}.accel-track{fill:none;stroke:url(#sentimentAccelGradient);stroke-width:22;stroke-linecap:round}.accel-svg defs+.accel-track-bg{stroke:rgba(120,166,196,.25)}.accel-needle{stroke:#d8ecff;stroke-width:8;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(216,236,255,.4))}.accel-cap{fill:#cfe8ff;filter:drop-shadow(0 0 10px rgba(207,232,255,.42))}.accel-readout{margin-top:-2px;text-align:center}.accel-readout .pct{font-size:44px;font-weight:800;line-height:1;color:#d8f6ff}.accel-readout .label{margin-top:5px;font-size:12px;color:var(--muted);letter-spacing:.7px}.accel-scale{margin-top:8px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.6px;color:#9fcae6}.accel-scale span:first-child{color:var(--bad)}.accel-scale span:last-child{color:var(--good)}.gauge{width:270px;height:270px;border-radius:50%;position:relative;background:conic-gradient(from 220deg,#ff4f79 0 35%,#ffca67 45%,#26efad 72%,#26efad 100%);box-shadow:0 0 24px rgba(67,214,255,.2)}.gauge:before{content:"";position:absolute;inset:22px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#0c2342,#08172d 62%);border:1px solid rgba(109,212,255,.3);box-shadow:inset 0 0 18px rgba(91,208,255,.2)}.gauge-center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;z-index:1}.gauge-center .pct{font-size:52px;font-weight:800;line-height:1;color:#d8f6ff}.gauge-center .label{margin-top:6px;font-size:13px;color:var(--muted);letter-spacing:.7px}.alert-banner{margin-top:12px;border-radius:12px;border:1px solid rgba(142,192,255,.6);background:linear-gradient(180deg,rgba(21,51,89,.7),rgba(14,36,64,.75));color:#a9d0ff;font-weight:700;letter-spacing:.5px;text-align:center;padding:10px 12px;text-transform:uppercase}.alert-banner.bearish{border-color:rgba(255,80,113,.75);background:linear-gradient(180deg,rgba(99,16,31,.7),rgba(64,10,22,.75));color:#ff8ea8}.alert-banner.bullish{border-color:rgba(29,245,193,.7);background:linear-gradient(180deg,rgba(12,90,73,.7),rgba(8,62,51,.75));color:#74ffd9}.alert-banner.neutral{border-color:rgba(142,192,255,.6);background:linear-gradient(180deg,rgba(21,51,89,.7),rgba(14,36,64,.75));color:#a9d0ff}.heat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.heat-item{border-radius:999px;min-height:116px;border:2px solid rgba(138,194,233,.5);display:grid;place-items:center;text-align:center;padding:12px;box-shadow:inset 0 0 14px rgba(68,197,244,.2)}.heat-item-head{display:inline-flex;align-items:center;gap:8px}.heat-dot{width:10px;height:10px;border-radius:50%;background:var(--neutral);box-shadow:0 0 8px rgba(138,169,200,.5)}.heat-dot.good{background:var(--good);box-shadow:0 0 10px rgba(37,240,163,.6)}.heat-dot.bad{background:var(--bad);box-shadow:0 0 10px rgba(255,85,120,.55)}.heat-dot.neutral{background:var(--neutral);box-shadow:0 0 8px rgba(138,169,200,.5)}.heat-button{cursor:pointer;color:inherit;background:rgba(7,27,50,.56);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.heat-button:hover{transform:translateY(-2px) scale(1.015);border-color:rgba(145,225,255,.82);box-shadow:inset 0 0 14px rgba(68,197,244,.25),0 0 16px rgba(84,208,255,.23)}.symbol-modal-backdrop{position:fixed;inset:0;z-index:120;background:rgba(2,12,24,.74);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px}.symbol-modal{width:min(760px,96vw);max-height:82vh;overflow:auto;border-radius:14px;border:1px solid rgba(111,218,255,.58);background:linear-gradient(180deg,rgba(7,31,56,.95),rgba(5,24,43,.93));box-shadow:inset 0 0 0 1px rgba(72,204,245,.24),0 0 28px rgba(57,182,255,.22);padding:16px}.symbol-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.symbol-modal-head h3{margin:0;font-size:24px;color:#d5f3ff}.close-btn{border:1px solid rgba(128,199,238,.55);background:rgba(8,34,59,.7);color:#c8e9ff;border-radius:8px;width:34px;height:34px;cursor:pointer}.symbol-modal-sub{margin-top:8px;color:#a5d4f5}.modal-tabs{margin-top:12px;display:inline-flex;gap:6px;border:1px solid rgba(98,168,212,.28);border-radius:999px;background:rgba(4,24,44,.58);padding:4px}.modal-tab{border:1px solid transparent;border-radius:999px;background:transparent;color:#9dcaea;padding:6px 12px;font-size:12px;cursor:pointer}.modal-tab.active{background:rgba(14,54,89,.92);border-color:rgba(120,213,252,.62);color:#d3f2ff}.popup-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.popup-kpi-grid>div{border:1px solid rgba(98,168,212,.3);border-radius:9px;background:rgba(4,24,43,.7);padding:9px}.popup-kpi-grid strong{display:block;color:#d8f3ff;font-size:18px}.popup-kpi-grid span{display:block;margin-top:3px;color:#8ebedf;font-size:11px}.symbol-trade-box{margin-top:12px;border:1px solid rgba(91,193,255,.35);border-radius:10px;background:rgba(4,27,49,.72);padding:11px}.trade-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}.trade-label{color:#84b8df;font-size:11px;letter-spacing:.8px}.trade-action{font-weight:800;letter-spacing:.25px}.trade-risk{color:#97c7e8;font-size:13px}.confidence-row{margin-top:10px;display:flex;justify-content:space-between;color:#9ed0f1;font-size:13px}.confidence-bar{margin-top:6px;height:10px;border-radius:999px;background:rgba(122,173,207,.26);overflow:hidden}.confidence-bar>div{height:100%;background:linear-gradient(90deg,#2bd8ff,#2cecae);box-shadow:0 0 14px rgba(43,216,255,.55)}.chip-row{margin-top:9px;display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid rgba(108,181,225,.45);background:rgba(8,35,61,.72);color:#b7def8;border-radius:999px;padding:4px 10px;font-size:12px}.symbol-modal-box{margin-top:12px;border:1px solid rgba(98,168,212,.26);border-radius:10px;background:rgba(4,23,42,.66);padding:11px}.symbol-modal-box h4{margin:0 0 8px;color:#d5f4ff}.symbol-modal-box ul{margin:0;padding-left:18px;display:grid;grid-gap:7px;gap:7px;color:#b8ddf8}.mini-event{border-top:1px solid rgba(92,159,201,.22);padding-top:8px;margin-top:8px}.mini-event:first-of-type{border-top:none;margin-top:0;padding-top:0}.mini-event-title{color:#d8f3ff;font-weight:600}.mini-event-meta{margin-top:4px;color:#87b7d9;font-size:12px}.heat-item strong{display:block;font-size:22px;letter-spacing:.4px}.heat-item span{margin-top:6px;font-size:12px;color:#b6daf7}.calendar-list{display:grid;grid-gap:8px;gap:8px}.calendar-row{display:grid;grid-template-columns:62px 1fr 112px;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--line-soft);border-radius:10px;padding:8px;background:rgba(5,25,45,.48)}.calendar-row .time{color:#88c7f5;font-weight:700}.calendar-row .impact{color:#def2ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-row .pair{justify-self:end;color:#9ed7ff;font-size:13px}.strategy-list{display:grid;grid-gap:10px;gap:10px}.strategy-item{border-radius:10px;border:1px solid var(--line-soft);padding:10px;background:rgba(6,25,47,.52)}.strategy-item .act{font-weight:800;font-size:14px;letter-spacing:.2px}.strategy-item .desc{color:#a8d0ef;margin-top:4px;font-size:13px}.strategy-item .stamp{color:#709cc0;margin-top:6px;font-size:12px}.good{color:var(--good)}.bad{color:var(--bad)}.neutral{color:var(--neutral)}.footer-stamp{text-align:center;margin-top:10px;color:#89b5d8;font-size:14px}@keyframes toastIn{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.breaking-stack{position:fixed;top:18px;right:18px;z-index:108;display:grid;grid-gap:10px;gap:10px;width:min(360px,calc(100vw - 24px))}.breaking-item{border:1px solid rgba(110,178,219,.48);border-radius:10px;padding:10px;background:linear-gradient(180deg,rgba(10,35,61,.94),rgba(5,23,43,.9));box-shadow:inset 0 0 0 1px rgba(65,179,224,.18),0 10px 22px rgba(2,9,20,.5);animation:toastIn .22s ease}.breaking-item.high{border-color:rgba(255,115,146,.62)}.breaking-item.warn{border-color:rgba(255,189,92,.62)}.breaking-top{display:flex;align-items:center;gap:8px}.breaking-dot{width:8px;height:8px;border-radius:50%;background:#ff5a7c;box-shadow:0 0 10px rgba(255,90,124,.7);animation:pulse 1.05s ease-in-out infinite}.breaking-text{margin-top:5px;color:#aad4f2;font-size:12px}.ai-widget{position:fixed;left:16px;bottom:16px;z-index:109;border:1px solid rgba(106,201,245,.58);border-radius:999px;background:linear-gradient(180deg,rgba(8,37,65,.95),rgba(5,25,45,.9));color:#d2efff;display:inline-flex;align-items:center;gap:9px;padding:9px 12px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(74,194,236,.2),0 8px 20px rgba(2,10,22,.5)}.ai-dot{width:8px;height:8px;border-radius:50%;background:#2bf1ad;box-shadow:0 0 10px rgba(43,241,173,.75);animation:pulse 1.1s ease-in-out infinite}.ai-label{font-weight:700;font-size:13px}.ai-mini{border:1px solid rgba(108,182,223,.42);border-radius:999px;padding:2px 8px;font-size:11px;color:#9fcae8}.analyst-feed{display:grid;grid-gap:7px;gap:7px}.analyst-line{border:1px solid rgba(98,168,212,.24);border-radius:8px;background:rgba(3,24,44,.65);padding:8px;display:grid;grid-gap:6px;gap:6px;color:#b6dcf8;font-size:13px}.analyst-line.active{border-color:rgba(111,219,255,.62);box-shadow:0 0 14px rgba(61,184,235,.18)}.ops-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(900px 600px at 60% -10%,rgba(22,143,255,.24),transparent 68%),rgba(2,10,18,.86);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:overlayFade 2.9s ease forwards}@keyframes overlayFade{0%,82%{opacity:1}to{opacity:0}}.ops-card{width:min(760px,92vw);border-radius:16px;border:1px solid rgba(89,216,255,.55);padding:18px 18px 16px;background:linear-gradient(180deg,rgba(6,31,54,.94),rgba(4,22,40,.9));box-shadow:inset 0 0 0 1px rgba(68,203,245,.22),0 0 30px rgba(57,182,255,.22)}.ops-kicker{color:#7ccfff;font-size:12px;letter-spacing:1.1px;margin-bottom:6px}.ops-card h2{margin:0;color:#d8f6ff;font-size:clamp(22px,3vw,34px);line-height:1.2}.ops-progress-track{margin-top:16px;width:100%;height:12px;border-radius:999px;background:rgba(114,176,217,.24);border:1px solid rgba(91,193,255,.4);overflow:hidden}.ops-progress-fill{height:100%;background:linear-gradient(90deg,#33d2ff,#2ef2ab);box-shadow:0 0 16px rgba(51,210,255,.6);transition:width .17s linear}.ops-progress-meta{margin-top:8px;display:flex;justify-content:space-between;gap:10px;color:#9fd2f7;font-size:13px}.ops-stats{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.ops-stats>div{border:1px solid rgba(106,176,225,.3);border-radius:10px;background:rgba(3,24,44,.7);padding:10px}.ops-stats strong{display:block;color:#d9f6ff;font-size:22px;line-height:1}.ops-stats span{display:block;margin-top:5px;color:#88bce2;font-size:12px}@media (max-width:1180px){.hub-grid{grid-template-columns:1fr}.gauge{width:240px;height:240px}.trade-top{flex-direction:column;align-items:flex-start}.popup-kpi-grid{grid-template-columns:1fr}.ai-widget{left:12px;bottom:12px}.breaking-stack{top:12px;left:12px;right:12px;width:auto}.ops-stats{grid-template-columns:1fr}.news-list{grid-template-columns:1fr 1fr}}@media (max-width:760px){.news-list{grid-template-columns:1fr}.news-head{flex-direction:column;align-items:flex-start}.news-head-right{width:100%;justify-content:space-between}}