/* Colour-only themes: the TV grid, typography and geometry are shared. */
:root,[data-theme="aurora"]{--t-bg:#080c11;--t-panel:#101a22;--t-panel-end:#0b121a;--t-border:#2b414c;--t-text:#e1ecef;--t-muted:#88a4b1;--t-accent:#63ddce;--t-accent-rgb:99,221,206;--t-core:#d6b77b;--t-one:#63ddce;--t-two:#b37aff;--t-three:#38baff;--t-ink:#0b2725;--t-network:#13303a;--t-soft:#12262d;--t-second:#c2a7e6}
[data-theme="glacier"]{--t-bg:#060d16;--t-panel:#0d1c2e;--t-panel-end:#081322;--t-border:#2b4c68;--t-text:#e2f3ff;--t-muted:#8aabc4;--t-accent:#31b7ff;--t-accent-rgb:49,183,255;--t-core:#e0f3ff;--t-one:#31b7ff;--t-two:#77e3f2;--t-three:#859dff;--t-ink:#041b2e;--t-network:#102f4e;--t-soft:#112b42;--t-second:#a8dcff}
[data-theme="gold"]{--t-bg:#0e0b08;--t-panel:#211b14;--t-panel-end:#120f0c;--t-border:#554431;--t-text:#f1e8d9;--t-muted:#ac9b84;--t-accent:#e8b866;--t-accent-rgb:232,184,102;--t-core:#ffd487;--t-one:#e8b866;--t-two:#d88d6b;--t-three:#c3b49a;--t-ink:#2b1b07;--t-network:#302519;--t-soft:#302619;--t-second:#dfb399}
html.tv-wall{--cyan:var(--t-one);--violet:var(--t-two);--sky:var(--t-three);--gold:var(--t-core);--bg:var(--t-bg);--panel:var(--t-panel);--line:var(--t-border);--text:var(--t-text);--muted:var(--t-muted)}
html.tv-wall,html.tv-wall body{background:var(--t-bg);color:var(--t-text)}
html.tv-wall .workspace{background:radial-gradient(ellipse at 60% 0,var(--t-soft),transparent 65%),var(--t-bg)}
html.tv-wall .topbar{background:var(--t-bg);border-color:var(--t-border)}
html.tv-wall .brand{color:var(--t-core)}.tv-wall .brand-sub,.tv-wall .clock,.tv-wall .view-note,.tv-wall .tv-top-status>span{color:var(--t-muted)}.tv-wall .tv-top-status{color:var(--t-accent)}
html.tv-wall .panel,html.tv-wall .metric{background:linear-gradient(125deg,var(--t-panel),var(--t-panel-end));border-color:var(--t-border)}
html.tv-wall .metric:nth-child(1){border-top-color:var(--t-one)}html.tv-wall .metric:nth-child(2){border-top-color:var(--t-two)}html.tv-wall .metric:nth-child(3){border-top-color:var(--t-three)}html.tv-wall .metric:nth-child(4){border-top-color:var(--t-core)}
html.tv-wall .metric>strong{color:var(--t-text)}html.tv-wall .metric:first-child>strong{color:color-mix(in srgb,var(--t-accent) 55%,white)}.tv-wall .metric-context>strong{color:var(--t-accent)}.tv-wall .metric-label,.tv-wall .panel-heading h2,.tv-wall .provider-top strong{color:var(--t-text)}
.tv-wall .metric-context{border-color:var(--t-border)}.tv-wall .metric-foot,.tv-wall .metric-foot b,.tv-wall .counter-record,.tv-wall .metric-context .context-heading,.tv-wall .metric-context>span:not(.context-heading){color:var(--t-muted)}.tv-wall .metric-context b{color:var(--t-text)}
html.tv-wall .provider{background:linear-gradient(110deg,rgba(var(--provider-rgb),.05),var(--t-panel-end));border-color:var(--t-border)}.tv-wall .provider.follower-joined{background:linear-gradient(110deg,rgba(var(--provider-rgb),.16),var(--t-panel-end));border-color:rgb(var(--provider-rgb))}.tv-wall .provider-top small,.tv-wall .provider-stats,.tv-wall .panel-sub{color:var(--t-muted)}.tv-wall .provider-stats strong{color:var(--t-text)}
html.tv-wall .network-panel{background:radial-gradient(ellipse at 50% 45%,var(--t-network),var(--t-panel-end) 75%);border-color:color-mix(in srgb,var(--t-accent) 30%,var(--t-border))}.tv-wall .network-panel .eyebrow{color:var(--t-accent)}.tv-wall .network-state{color:var(--t-accent);border-color:color-mix(in srgb,var(--t-accent) 40%,transparent);background:var(--t-soft)}.tv-wall .network-state i,.tv-wall .selected-indicator{background:var(--t-accent)}.tv-wall .selected-indicator{box-shadow:0 0 9px rgba(var(--t-accent-rgb),.4)}
.tv-wall .network-footer{background:var(--t-panel-end);border-color:var(--t-border)}.tv-wall .network-caption,.tv-wall .network-caption b,.tv-wall .network-legend,.tv-wall .network-footer .dim,.tv-wall .broadcast-note{color:var(--t-muted)}
html.tv-wall .hub-label.core{color:var(--t-core);background:color-mix(in srgb,var(--t-panel-end) 80%,transparent);text-shadow:0 0 18px color-mix(in srgb,var(--t-core) 35%,transparent)}.tv-wall .hub-label.core small{color:color-mix(in srgb,var(--t-core) 60%,var(--t-muted))}
html.tv-wall .primary{background:linear-gradient(110deg,var(--t-accent),color-mix(in srgb,var(--t-accent) 65%,white));color:var(--t-ink);border-color:var(--t-accent);box-shadow:0 3px 16px rgba(var(--t-accent-rgb),.12)}.tv-wall .secondary{background:var(--t-soft);color:var(--t-text);border-color:var(--t-border)}.tv-wall .text-button{color:var(--t-second)}
.tv-wall .intelligence-panel .analysis-visual,.tv-wall .analysis-bottom,.tv-wall .feed-row{border-color:var(--t-border)}.tv-wall .feed-viewport:before{background:linear-gradient(var(--t-panel),transparent)}.tv-wall .feed-row strong{color:var(--t-text)}.tv-wall .feed-row p,.tv-wall .feed-meta,.tv-wall .feed-meta time,.tv-wall .analysis-bottom{color:var(--t-muted)}.tv-wall .feed-symbol{color:var(--t-two)}.tv-wall .ai-badge{color:var(--t-second);background:var(--t-soft);border-color:var(--t-border)}
/* Buy/sell and exception meanings remain stable in every theme. */
.tv-wall .feed-row.buy strong,.tv-wall .feed-row.buy .feed-symbol{color:#8ad9b7}.tv-wall .feed-row.sell strong,.tv-wall .feed-row.sell .feed-symbol{color:#e6a1ae}
html.tv-wall .attention-panel{background:linear-gradient(125deg,#282218,var(--t-panel-end));border-color:#69543b}.tv-wall .attention-panel .panel-heading h2{color:#dfbf88}
.tv-wall .scan-line{background:linear-gradient(90deg,transparent,rgba(var(--t-accent-rgb),.15));border-right-color:var(--t-accent);box-shadow:12px 0 24px -10px rgba(var(--t-accent-rgb),.7)}.tv-wall .scan-caption{background:var(--t-soft);border-color:var(--t-border);color:var(--t-accent)}.tv-wall .chart-price strong{color:var(--t-text);text-shadow:none}.tv-wall .chart-scan-state{color:var(--t-accent)!important}.tv-wall .chart-footer{color:var(--t-muted)}
.tv-wall .allocation-ring{background:conic-gradient(var(--t-one) 0 49.5%,var(--t-panel) 49.5% 50%,var(--t-two) 50% 79.5%,var(--t-panel) 79.5% 80%,var(--t-three) 80% 99.5%,var(--t-panel) 99.5%);box-shadow:0 0 25px rgba(var(--t-accent-rgb),.08)}.tv-wall .allocation-ring>div{background:var(--t-panel)}.tv-wall .allocation-key span,.tv-wall .flow-numbers span{color:var(--t-muted)}.tv-wall .flow-numbers strong,.tv-wall .allocation-key strong{color:var(--t-text)}.tv-wall .flow-numbers>div+div,.tv-wall .fund-event{border-color:var(--t-border)}.tv-wall .fund-event{background:var(--t-soft)}.tv-wall .fund-icon{color:var(--t-core);background:var(--t-panel)}.tv-wall .fund-event strong{color:var(--t-text)}.tv-wall .fund-event div>span{color:var(--t-muted)}
.tv-wall th{background:var(--t-panel-end);color:var(--t-muted)}.tv-wall td{border-color:var(--t-border);color:var(--t-text)}.tv-wall td:first-child,.tv-wall .journal-count{color:var(--t-muted)}
html.tv-wall .storybar{background:linear-gradient(100deg,var(--t-panel),var(--t-panel-end));border-color:var(--t-border);box-shadow:0 -8px 25px #0003}.tv-wall .story-icon{color:var(--t-core);border-color:var(--t-border)}.tv-wall .story-heading div>span,.tv-wall .page-footer{color:var(--t-muted)}.tv-wall .story-scenes button{background:var(--t-soft);border-color:var(--t-border);color:var(--t-text)}.tv-wall .story-scenes button.active{color:var(--t-accent);border-color:var(--t-accent);background:var(--t-soft);box-shadow:0 0 12px rgba(var(--t-accent-rgb),.12)}.tv-wall .story-scenes button.active>span{color:var(--t-accent)}.tv-wall .story-progress i{background:var(--t-accent);box-shadow:0 0 10px rgba(var(--t-accent-rgb),.4)}
.theme-switcher{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--t-border);border-radius:6px;background:var(--t-panel-end)}.theme-switcher button{display:flex;align-items:center;gap:7px;background:transparent;color:var(--t-muted);font-size:12px;padding:7px 10px;border-radius:4px;white-space:nowrap}.theme-switcher button[aria-pressed="true"]{background:var(--t-soft);color:var(--t-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t-accent) 40%,transparent)}.theme-switcher i{width:8px;height:8px;border-radius:50%;background:#63ddce}.theme-switcher [data-theme-choice="glacier"] i{background:#31b7ff}.theme-switcher [data-theme-choice="gold"] i{background:#e8b866}
html.tv-wall .tv-top-status>span{display:none}html.tv-wall .topbar-right{gap:14px}
.device-link{font-size:12px;color:var(--t-muted);white-space:nowrap}.device-link:hover{color:var(--t-accent)}
