/* Market Update — TACTICAL TELEMETRY. Deactivated-CRT ground, white phosphor text, hazard red for down/alerts,
   terminal green reserved for the single market-state lamp. Monospace data, Archivo Black macro type,
   1px grid lines from gap, no radius, scanlines + grain. One view at a time, switched from the HUD nav. */
/* OneView: native system typography, no web-font download */

:root {
  /* OneView tokens (brand guide): navy canvas, white text, blue accents, restrained status colours */
  --canvas: #0E0E10; --bg: #0E0E10; --surface: #19191B; --surface-2: #1E1E20; --line: #353537; --line-2: #424244; --input-border: #858587;
  --text: #F5F7FC; --text-2: #CFCFD1; --muted: #B3B3B5;
  --brand: #FF7A2F; --brand-hover: #D95A12; --brand-text: #FFB27A; --brand-tint: #2A1A10;
  --red: #FF8F9B; --green: #66D9A6;
  --up: #66D9A6; --down: #FF8F9B; --warn: #E8BD68; --flat: #B3B3B5;
  --accent: #FFB27A; --accent-ink: #FFFFFF; --hi-bg: #2A1A10;
  --s1: #FFB27A; --s2: #E8BD68; --s3: #B3B3B5;
  --pill-ok-bg: #12332A; --pill-ok: #66D9A6; --pill-warn-bg: #3A2F14; --pill-warn: #E8BD68; --pill-bad-bg: #3A2028; --pill-bad: #FF8F9B; --pill-acc-bg: #2A1A10; --pill-acc: #FFB27A;
  --border: var(--line); --border-2: var(--line-2);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --mono: var(--font); --sans: var(--font); --macro: var(--font);
  --radius: 12px; --control-radius: 8px;
  --bar-h: 52px;
}
:root[data-theme="dark"], :root[data-theme="light"] { color-scheme: dark; }
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: var(--bg); color: var(--text); }
body { font: 13.5px/1.45 var(--sans); -webkit-font-smoothing: antialiased; overflow: hidden; }
a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--line-2); } a:hover { border-bottom-color: var(--red); }
b, strong { font-weight: 700; }
.mono, .num, .delta, .px, .kv dd, samp, kbd, data, output { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.muted { color: var(--muted); }
.up { color: var(--up); } .down { color: var(--down); } .flat { color: var(--flat); } .warn { color: var(--red); }

/* ---- HUD shell ---- */
.hud { height: 100%; display: grid; grid-template-rows: var(--bar-h) auto 1fr auto; }
.hud-bar { display: grid; grid-template-columns: auto 1fr auto; align-items: stretch; border-bottom: 1px solid var(--line-2); background: var(--surface); }
.hud-brand { display: flex; align-items: center; gap: 10px; padding: 0 16px; border-right: 1px solid var(--line); font-family: var(--macro); font-weight: 700; font-size: 15px; letter-spacing: 0.01em; white-space: nowrap; }
.hud-brand .br { display: none; } .hud-brand .rev { font-family: var(--mono); font-size: 10px; color: var(--muted); letter-spacing: .1em; margin-left: 6px; }
.hud-nav { display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: none; }
.hud-nav::-webkit-scrollbar { display: none; }
.nav-btn { font: inherit; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); background: transparent; border: 0; border-right: 1px solid var(--line); padding: 0 16px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.nav-btn kbd { font: inherit; font-size: 10px; color: var(--muted); border: 1px solid var(--line-2); padding: 0 4px; }
.nav-btn:hover { color: var(--text); background: var(--surface); }
.nav-btn.active { color: var(--text); background: var(--bg); box-shadow: inset 0 -2px 0 var(--accent); } .nav-btn.active kbd { color: var(--accent); border-color: var(--accent); }
.hud-status { display: flex; align-items: center; gap: 14px; padding: 0 12px 0 16px; border-left: 1px solid var(--line); white-space: nowrap; }
.readout { font-size: 11.5px; letter-spacing: .04em; color: var(--text-2); font-family: var(--mono); }
#market-state::before { content: "● "; color: var(--muted); }
#market-state.open::before, #market-state.pre::before, #market-state.post::before { color: var(--green); }
.btn { font: inherit; font-size: 12px; font-weight: 600; letter-spacing: .04em; padding: 7px 12px; border: 1px solid var(--accent); background: var(--accent); color: var(--accent-ink); cursor: pointer; border-radius: 6px; }
.btn:hover { filter: brightness(1.1); }
.btn:disabled { opacity: .45; cursor: default; }
.btn.ghost, .btn.sm.ghost { background: transparent; color: var(--text); border-color: var(--line-2); }
.btn.sm { padding: 5px 10px; font-size: 10.5px; display: inline-flex; align-items: center; }
.notice { display: flex; align-items: center; gap: 10px; padding: 6px 16px; background: var(--hi-bg); border-bottom: 1px solid var(--accent); color: var(--text-2); font-size: 12.5px; }
.notice[hidden] { display: none; }
main { min-height: 0; overflow: hidden; background: var(--line); }
footer { border-top: 1px solid var(--line); padding: 4px 16px; font-size: 10px; letter-spacing: .06em; color: var(--muted); text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
footer .foot + div { display: none; }
footer code { font: inherit; }
.loading { padding: 40px; color: var(--muted); letter-spacing: .2em; }

/* ---- views: fill the viewport; dense regions scroll inside their own compartment ---- */
.view { height: 100%; min-height: 0; display: grid; gap: 1px; background: var(--line); }
.view.one { display: block; overflow: auto; background: var(--bg); }
.view.one > section, .view.one > .card { background: var(--bg); padding: 14px 16px; }
.view.one > section + section { border-top: 1px solid var(--line); }
.view.home { grid-template-columns: minmax(0, 2.2fr) minmax(300px, 1fr); }
.view.home .col-main { min-height: 0; overflow: auto; background: var(--bg); padding: 12px 16px; }
.view.stock { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); }
.view.stock > section { display: contents; }
.view.stock .tabs { grid-column: 1; }
.view.news { grid-template-columns: 1.2fr 1fr; }
.view.news > div { min-height: 0; overflow: auto; background: var(--bg); padding: 12px 16px; }
.today { min-height: 0; overflow: auto; background: var(--bg); display: grid; align-content: start; gap: 1px; background: var(--line); }
.today .panel { background: var(--bg); padding: 12px 16px; }
.today h3 { margin: 0 0 8px; font-size: 11px; letter-spacing: .1em; color: var(--accent); }
.list { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; font-size: 12px; }
.list li { display: flex; gap: 8px; align-items: baseline; }
.list samp { color: var(--muted); }
.list.news li a { border-bottom: 0; }

/* ---- typography scale ---- */
h2 { font-family: var(--macro); font-weight: 700; font-size: 18px; line-height: 1.1; letter-spacing: -0.01em; margin: 6px 0 12px; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
h2 .muted { font-family: var(--sans); font-size: 12px; font-weight: 400; }
h3 { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 8px; }
.explain { font-size: 12px; color: var(--text-2); max-width: 70ch; margin: 4px 0; }
.term { text-decoration: underline dotted; text-underline-offset: 3px; cursor: help; }

/* ---- compartments: 1px lines from gap, no radius, no shadow ---- */
.card, .tile, .wcard, .mood, .tbl-wrap, .ck, .heat, .tape { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.grid { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.grid.c6 { grid-template-columns: repeat(6, 1fr); } .grid.c5 { grid-template-columns: repeat(5, 1fr); } .grid.c4 { grid-template-columns: repeat(4, 1fr); } .grid.c3 { grid-template-columns: repeat(3, 1fr); } .grid.c2 { grid-template-columns: repeat(2, 1fr); }
.grid > .tile, .grid > .card, .grid > * { border: 0; }
.regime { display: grid; grid-template-columns: 2fr repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 10px; }
.regime .tile { border: 0; } .regime .tile.hero { background: var(--surface-2); }
.regime .tile.hero .tile-value { font-family: var(--macro); font-size: clamp(28px, 3vw, 44px); letter-spacing: -0.03em; }
.tile { padding: 12px 14px; min-width: 0; }
.tile-label { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.tile-value { font-family: var(--macro); font-weight: 700; font-size: 20px; line-height: 1.1; letter-spacing: -0.01em; }
.tile-value.small { font-size: 15px; text-transform: capitalize; }
.tile-sub { color: var(--text-2); font-size: 11px; margin-top: 8px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tile-row { display: flex; align-items: baseline; justify-content: space-between; gap: 4px 8px; flex-wrap: wrap; }
.tile.mini .tile-value { font-family: var(--mono); font-size: 15px; font-weight: 700; }
.delta { font-weight: 700; white-space: nowrap; font-size: 12px; }
.px { font-weight: 700; }
.ico { width: 9px; height: 9px; display: inline-block; vertical-align: -1px; margin-right: 2px; fill: currentColor; }

/* mood strip (HOME) */
.mood { display: grid; grid-template-columns: auto 1fr; gap: 2px 18px; align-items: baseline; padding: 12px 16px; margin-bottom: 12px; background: var(--surface); }
.mood-tone { font-family: var(--macro); font-weight: 800; font-size: clamp(26px, 2.6vw, 38px); letter-spacing: -0.02em; line-height: 1; }
.mood.up .mood-tone { color: var(--up); } .mood.down .mood-tone { color: var(--red); } .mood.flat .mood-tone { color: var(--text-2); }
.mood-facts { font-size: 12.5px; color: var(--text-2); }
.mood-why { grid-column: 2; font-size: 12px; color: var(--text-2); }

/* tape */
.tape { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); }
.tape-item { padding: 10px 12px; background: var(--surface); min-width: 0; }
.tape-item .tile-value { font-family: var(--mono); font-weight: 700; font-size: 15px; }
.spark { display: block; margin-top: 4px; width: 100%; height: 24px; }
.spark polyline { fill: none; stroke: var(--muted); stroke-width: 1.5; }
.spark.up polyline { stroke: var(--up); } .spark.down polyline { stroke: var(--down); }

/* watchlist board */
.top { margin-top: 0; }
.board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.wcard { border: 0; padding: 12px 14px; display: grid; gap: 8px; min-width: 0; background: var(--surface); }
.wc-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.wc-ticker { font-family: var(--macro); font-size: 20px; letter-spacing: -0.01em; margin-right: 8px; }
.wc-name { font-size: 11.5px; color: var(--muted); }
.wc-price { white-space: nowrap; } .wc-price .px { font-size: 15px; }
.wc-lean { display: flex; align-items: center; gap: 10px; }
.lean { font-family: var(--macro); font-weight: 700; font-size: 12px; letter-spacing: .06em; padding: 3px 9px; border: 1px solid var(--line-2); color: var(--text); background: transparent; border-radius: 4px; }
.lean.up { background: var(--up); border-color: var(--up); color: #0F1115; } .lean.down { background: var(--down); border-color: var(--down); color: #0F1115; } .lean.flat { color: var(--muted); }
.wc-leansub { font-size: 12px; color: var(--text-2); text-transform: capitalize; }
.wc-scores { display: flex; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--muted); align-items: center; }
.wc-scores b { color: var(--text); }
.wc-pa { font-size: 11.5px; color: var(--text-2); }
.wc-plan { font-size: 12.5px; color: var(--text); padding: 8px 10px; border: 1px solid var(--line-2); border-radius: 6px; background: var(--surface-2); }
.wc-plan.long { border-color: color-mix(in srgb, var(--up) 45%, var(--line-2)); } .wc-plan.short { border-color: color-mix(in srgb, var(--down) 45%, var(--line-2)); }
.wc-flags { display: flex; gap: 4px; flex-wrap: wrap; }
.wc-actions { display: flex; gap: 6px; }
.empty { padding: 20px; border: 1px dashed var(--line-2); color: var(--text-2); font-size: 12px; }

/* tags, bars, tabs */
.tag { display: inline-block; font-size: 10.5px; padding: 2px 7px; border: 1px solid var(--line-2); border-radius: 999px; color: var(--text-2); white-space: nowrap; margin-right: 3px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.tag.ok { color: var(--pill-ok); border-color: var(--pill-ok); background: var(--pill-ok-bg); } .tag.warn { color: var(--pill-warn); border-color: var(--pill-warn); background: var(--pill-warn-bg); } .tag.bad { color: var(--pill-bad); border-color: var(--pill-bad); background: var(--pill-bad-bg); } .tag.acc { color: var(--pill-acc); border-color: var(--pill-acc); background: var(--pill-acc-bg); }
.tag.lowconf { color: var(--muted); border-style: dashed; }
.bar { display: inline-block; width: 56px; height: 6px; background: var(--surface-2); border: 1px solid var(--line-2); vertical-align: middle; margin-right: 6px; overflow: hidden; }
.bar-fill { display: block; height: 100%; background: var(--accent); }
.brd { display: grid; grid-template-columns: 90px 1fr 80px; align-items: center; gap: 8px; font-size: 11.5px; margin: 4px 0; }
.brd .bar { width: 100%; margin: 0; height: 8px; } .brd .bar-fill.up { background: var(--up); } .brd .bar-fill.down { background: var(--down); }
.tabs { display: flex; gap: 1px; background: var(--line); border: 1px solid var(--line); margin-bottom: 10px; width: max-content; max-width: 100%; }
.tab { font: inherit; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; border: 0; background: var(--surface); color: var(--text-2); cursor: pointer; }
.tab.active { background: var(--accent); color: var(--accent-ink); }

/* tables */
.tbl-wrap { overflow: auto; }
.tbl { width: 100%; border-collapse: collapse; }
.tbl th { position: sticky; top: 0; z-index: 2; text-align: left; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: 7px 8px; border-bottom: 1px solid var(--line-2); background: var(--surface); white-space: nowrap; font-weight: 600; }
.tbl th.sortable { cursor: pointer; } .tbl th.sortable:hover, .tbl th.active { color: var(--text); }
.tbl td { padding: 7px 8px; border-bottom: 1px solid var(--line); vertical-align: top; font-size: 12px; }
.tbl tr.hi td { background: var(--surface-2); }
.tbl tr.clickable { cursor: pointer; } .tbl tr.clickable:hover td { background: var(--surface-2); }
.tbl tr.selected td { background: var(--hi-bg); box-shadow: inset 3px 0 0 var(--accent); }
.tbl td.num, .tbl td.sym { white-space: nowrap; }
.tbl td.hl a { border-bottom: 1px solid var(--line-2); }
.tbl td.hl.small { font-size: 11.5px; color: var(--text-2); max-width: 320px; }
.meta2 { color: var(--muted); font-size: 10.5px; margin-top: 2px; }
.heatstrip { display: grid; grid-template-columns: repeat(8, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.heat { border: 0; padding: 8px 10px; }
.heat.up .heat-v { color: var(--text); } .heat.down .heat-v { color: var(--red); }
.heat-l { font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-2); } .heat-v { font-weight: 700; } .heat-s { font-size: 10px; color: var(--muted); }

/* charts */
.chart { width: 100%; height: 180px; overflow: hidden; }
.chart.tall { height: 300px; }
.svgchart { width: 100%; height: auto; display: block; }
.svgchart .axis { stroke: var(--line-2); } .svgchart .grid { stroke: var(--line); }
.svgchart text { fill: var(--muted); font-size: 10px; font-family: var(--mono); }
.svgchart .l1 { stroke: var(--s1); stroke-width: 2; fill: none; } .svgchart .l2 { stroke: var(--s2); stroke-width: 1.5; fill: none; stroke-dasharray: 5 3; } .svgchart .l3 { stroke: var(--muted); stroke-width: 1.5; fill: none; stroke-dasharray: 2 3; }
.svgchart .dot1 { fill: var(--s1); } .svgchart .dot2 { fill: var(--s2); } .svgchart .dot3 { fill: var(--muted); }
.svgchart .zero { stroke: var(--muted); stroke-dasharray: 3 3; } .svgchart .area { fill: var(--s1); opacity: .1; }
.legend { display: flex; gap: 14px; font-size: 10.5px; color: var(--text-2); margin-top: 6px; flex-wrap: wrap; text-transform: uppercase; letter-spacing: .06em; }
.legend i { display: inline-block; width: 14px; height: 0; border-top: 2px solid; vertical-align: middle; margin-right: 5px; }
.legend .k1 { border-color: var(--s1); } .legend .k2 { border-color: var(--s2); border-top-style: dashed; } .legend .k3 { border-color: var(--muted); border-top-style: dotted; }
.kv { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; font-size: 11.5px; margin: 0; }
.kv dt { color: var(--muted); margin: 0; text-transform: uppercase; letter-spacing: .06em; font-size: 10.5px; } .kv dd { margin: 0; text-align: right; }

/* stock view: candidate list left, full analysis right */
.view.stock .tbl-wrap { grid-column: 1; grid-row: 2; min-height: 0; overflow: auto; background: var(--bg); }
.view.stock h2 { grid-column: 1 / -1; grid-row: 1; background: var(--bg); padding: 10px 16px 0; margin: 0; }
.view.stock .tabs { grid-column: 1; grid-row: 1; justify-self: end; margin: 8px 16px 0 0; }
.view.stock .detail { grid-column: 2; grid-row: 2; min-height: 0; overflow: auto; background: var(--bg); margin: 0; padding: 12px 16px; }
.view.stock { grid-template-rows: auto minmax(0, 1fr); }
.detail-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.detail-head .px { font-size: 20px; }
.detail-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.detail-grid .col { display: grid; gap: 1px; align-content: start; background: var(--line); }
.detail-grid .col > * { background: var(--surface); padding: 10px 12px; }
.detail-grid .col > .tile { border: 0; }
.probs { display: flex; flex-direction: column; gap: 3px; font-size: 11px; margin-top: 6px; }
.probs .row { display: grid; grid-template-columns: 150px 1fr 40px; align-items: center; gap: 8px; }
.probs .row .bar { width: 100%; margin: 0; } .probs .row.top { font-weight: 700; }
.judg { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); }
.judg .tile { border: 0; }
.pill { text-transform: uppercase; font-weight: 700; letter-spacing: .04em; font-size: 11px; }
.pill.up2 { color: var(--pill-ok); }

/* checklist */
.ck { border: 1px solid var(--line-2); }
.ck summary { list-style: none; cursor: pointer; padding: 7px 10px; font-size: 11px; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; text-transform: uppercase; letter-spacing: .06em; }
.ck summary::-webkit-details-marker { display: none; }
.ck-score { font-weight: 700; padding: 0 5px; border: 1px solid var(--line-2); }
.ck-ready summary b { color: var(--up); } .ck-almost summary b { color: var(--warn); } .ck-not_yet summary b { color: var(--down); }
.ck ul { list-style: none; margin: 0; padding: 4px 10px 8px; display: grid; gap: 4px; }
.ck li { display: grid; grid-template-columns: 14px auto 1fr; gap: 8px; align-items: baseline; font-size: 11.5px; }
.ck li .ck-label { font-weight: 700; text-transform: uppercase; letter-spacing: .04em; } .ck li .ck-why { color: var(--muted); }
.ck li.ok .ck-mark { color: var(--up); } .ck li.no .ck-mark { color: var(--down); }
.ck-mark svg { width: 11px; height: 11px; vertical-align: -1px; }
.ck-wait { padding: 7px 10px; font-size: 11.5px; color: var(--text-2); }

/* big picture, theme, smart money */
.hz-cross, .th-cross { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-bottom: 10px; }
.hz-cross .tile, .th-cross .tile { border: 0; }
.hz-tbl td.hz { min-width: 120px; } .hz-v { font-weight: 700; font-size: 13px; }
.hz-pos { display: flex; align-items: center; gap: 6px; margin-top: 3px; font-size: 10px; } .hz-pos .bar { width: 44px; margin: 0; }
.hz-readcell { min-width: 200px; max-width: 300px; } .hz-read b { text-transform: capitalize; } .hz-read .explain { font-size: 11px; }
tr.hz-chart-row td { background: var(--surface-2); }
.th-groups { display: grid; gap: 3px; margin-top: 4px; }
.th-g { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; font-size: 11.5px; align-items: baseline; }
.th-tbl .bar, .sm-tbl .bar { width: 40px; }

/* browser surfaces */
::selection { background: var(--accent); color: var(--accent-ink); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
* { scrollbar-width: thin; scrollbar-color: var(--line-2) var(--bg); }
*::-webkit-scrollbar { width: 8px; height: 8px; } *::-webkit-scrollbar-thumb { background: var(--line-2); }

/* responsive: collapse to one column below 1000, page may scroll on phones */
@media (max-width: 1100px) { .grid.c6, .regime { grid-template-columns: repeat(3, 1fr); } .regime .tile.hero { grid-column: span 3; } .grid.c5 { grid-template-columns: repeat(3, 1fr); } .grid.c4 { grid-template-columns: repeat(2, 1fr); } .heatstrip { grid-template-columns: repeat(4, 1fr); } .board { grid-template-columns: repeat(2, 1fr); } .hz-cross, .th-cross { grid-template-columns: 1fr; } .detail-grid { grid-template-columns: 1fr; } .tape { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) {
  body { overflow: auto; } .hud { height: auto; grid-template-rows: auto auto auto auto; } main { overflow: visible; }
  .hud-bar { grid-template-columns: 1fr; } .hud-brand, .hud-status { border: 0; padding: 8px 12px; } .hud-status { flex-wrap: wrap; gap: 8px; }
  .view, .view.one, .view.home, .view.stock, .view.news { grid-template-columns: 1fr; height: auto; overflow: visible; display: block; }
  .view.stock > section { display: block; } .view.stock .detail { margin-top: 12px; }
  .view.home .col-main, .view.news > div, .view.one > section, .today .panel { padding: 12px; overflow: visible; }
  .board { grid-template-columns: 1fr; } .grid.c6, .grid.c5, .grid.c4, .grid.c3, .grid.c2, .regime { grid-template-columns: repeat(2, 1fr); } .regime .tile.hero { grid-column: span 2; }
  .heatstrip, .tape { grid-template-columns: repeat(2, 1fr); } .judg { grid-template-columns: 1fr; } .probs .row { grid-template-columns: 110px 1fr 40px; }
}

/* ---- verdict block + who-is-buying list ---- */
.verdict { padding: 10px 12px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--surface-2); display: grid; gap: 4px; }
.verdict-word { font-family: var(--macro); font-weight: 800; font-size: 20px; letter-spacing: -0.01em; line-height: 1; }
.verdict.up { border-color: var(--up); } .verdict.up .verdict-word { color: var(--up); }
.verdict.up2 { border-color: color-mix(in srgb, var(--up) 55%, var(--line-2)); } .verdict.up2 .verdict-word { color: var(--pill-ok); }
.verdict.down { border-color: var(--down); } .verdict.down .verdict-word { color: var(--down); }
.verdict.flat .verdict-word { color: var(--warn); }
.verdict-why { font-size: 12.5px; color: var(--text-2); }
.wc-who-h { font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 4px; font-weight: 600; }
.who { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; font-size: 12px; color: var(--text-2); }
.who li { padding-left: 14px; position: relative; }
.who li::before { content: "•"; position: absolute; left: 2px; color: var(--muted); }
.who li.yes::before { content: "✓"; color: var(--up); } .who li.no::before { content: "✕"; color: var(--down); }
.list.help li { display: block; font-size: 12px; color: var(--text-2); line-height: 1.4; }
.list.help b { color: var(--text); }
.wc-scores b { color: var(--text); text-transform: capitalize; }

/* ---- HUD bar: visible strip, glowing view keys ---- */
.hud-bar { background: linear-gradient(180deg, #202022, #18181A); border-bottom: 2px solid var(--accent); box-shadow: 0 2px 12px rgba(0,0,0,.45); }
.hud-brand { color: var(--text); border-right: 1px solid var(--line-2); }
.hud-nav { gap: 6px; padding: 7px 10px; align-items: center; }
.nav-btn { height: 36px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--surface-2); color: var(--text); font-size: 12.5px; letter-spacing: .04em; gap: 10px; }
.nav-btn:hover { border-color: var(--accent); background: var(--hi-bg); color: var(--text); }
.nav-btn.active { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); box-shadow: 0 0 0 2px rgba(91,156,255,.25), 0 0 18px rgba(91,156,255,.35); }
.nav-btn kbd { font-family: var(--mono); font-size: 11px; font-weight: 700; color: var(--accent); border: 1px solid var(--accent); border-radius: 4px; padding: 1px 6px; min-width: 20px; text-align: center;
  text-shadow: none; box-shadow: 0 0 6px rgba(91,156,255,.35), inset 0 0 6px rgba(91,156,255,.15); animation: keyglow 2.4s ease-in-out infinite; }
.nav-btn:nth-child(2) kbd { animation-delay: .3s; } .nav-btn:nth-child(3) kbd { animation-delay: .6s; } .nav-btn:nth-child(4) kbd { animation-delay: .9s; }
.nav-btn:nth-child(5) kbd { animation-delay: 1.2s; } .nav-btn:nth-child(6) kbd { animation-delay: 1.5s; } .nav-btn:nth-child(7) kbd { animation-delay: 1.8s; } .nav-btn:nth-child(8) kbd { animation-delay: 2.1s; }
.nav-btn.active kbd { color: var(--accent-ink); border-color: var(--accent-ink); background: rgba(255,255,255,.18); text-shadow: none; box-shadow: 0 0 8px rgba(255,255,255,.5); animation: keyglow-active 2.4s ease-in-out infinite; }
@keyframes keyglow { 0%, 100% { text-shadow: none; box-shadow: 0 0 2px rgba(91,156,255,.15), inset 0 0 2px rgba(91,156,255,.05); } 50% { text-shadow: none; box-shadow: 0 0 14px rgba(91,156,255,.6), inset 0 0 8px rgba(91,156,255,.25); } }
@keyframes keyglow-active { 0%, 100% { text-shadow: none; box-shadow: 0 0 2px rgba(255,255,255,.2); } 50% { text-shadow: none; box-shadow: 0 0 14px rgba(255,255,255,.7); } }
@media (prefers-reduced-motion: reduce) { .nav-btn kbd, .nav-btn.active kbd { animation: none; } }
.hud-status { border-left: 1px solid var(--line-2); }
@media (max-width: 900px) { .hud-nav { overflow-x: auto; padding: 6px 8px; } }
/* fit all eight views: compact brand + status at typical desktop widths */
.hud-brand .rev { display: none; }
.hud-brand { padding: 0 12px; font-size: 14px; }
.nav-btn { padding: 0 11px; gap: 8px; }
.hud-status { gap: 10px; padding: 0 10px; }
.readout { font-size: 11px; }
@media (max-width: 1600px) { #session-line { display: none; } }
@media (max-width: 1300px) { #generated-line { display: none; } .nav-btn { padding: 0 9px; font-size: 11.5px; } }

/* ---- HOME top row: mood + final verdicts on one aligned grid ---- */
.home-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin-bottom: 14px; align-items: stretch; }
.panel.mood, .panel.verdicts { display: grid; grid-template-rows: auto auto 1fr auto; gap: 8px; padding: 14px 16px; margin: 0; border-radius: 8px; border: 1px solid var(--line); background: var(--surface); }
.panel h3 { margin: 0; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.mood.up { border-color: color-mix(in srgb, var(--up) 55%, var(--line)); } .mood.down { border-color: color-mix(in srgb, var(--down) 55%, var(--line)); } .mood.flat { border-color: color-mix(in srgb, var(--warn) 55%, var(--line)); }
.mood-row { display: flex; align-items: baseline; gap: 12px; }
.mood-tone { font-family: var(--macro); font-weight: 800; font-size: 34px; letter-spacing: -0.02em; line-height: 1; }
.mood-conf { font-family: var(--mono); font-size: 11.5px; }
.mood-why { margin: 0; font-size: 13px; color: var(--text-2); line-height: 1.45; max-width: 60ch; }
.facts { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; align-self: end; }
.fact { background: var(--surface-2); padding: 7px 10px; display: grid; gap: 2px; min-width: 0; }
.fact-l { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.fact-v { font-size: 12.5px; font-weight: 600; text-transform: capitalize; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v-summary { display: flex; gap: 6px; flex-wrap: wrap; }
.v-summary .pill { border: 1px solid currentColor; border-radius: 999px; padding: 2px 9px; font-size: 10.5px; }
.vlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; align-self: start; }
.vrow { display: grid; grid-template-columns: 56px 130px 1fr auto; gap: 10px; align-items: center; padding: 6px 10px; background: var(--surface-2); cursor: pointer; font-size: 12px; }
.vrow:hover { background: var(--hi-bg); }
.v-t { font-family: var(--macro); font-weight: 700; font-size: 14px; }
.v-why { color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v-conf { font-family: var(--mono); font-size: 11px; }
.pill.up { color: var(--up); } .pill.down { color: var(--down); } .pill.flat { color: var(--warn); }
.view.home .col-main > .top > h2 { margin-top: 2px; }
@media (max-width: 1300px) { .facts { grid-template-columns: repeat(3, 1fr); } .vrow { grid-template-columns: 52px 118px 1fr auto; } }
@media (max-width: 900px) { .home-top { grid-template-columns: 1fr; } }
/* mood panel: single column (override the legacy two-column .mood rule), facts wrap instead of truncating */
.panel.mood { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto 1fr auto; align-items: start; }
.panel.mood > * { grid-column: 1; }
.mood-row { justify-content: flex-start; }
.facts { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.fact-v { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; }
@media (max-width: 1500px) { .facts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---- WhatsApp brief ---- */
.share { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); margin-bottom: 12px; }
.share summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 8px 12px; flex-wrap: wrap; }
.share summary::-webkit-details-marker { display: none; }
.wa-logo { width: 26px; height: 26px; display: inline-grid; place-items: center; background: #25D366; border-radius: 50%; flex: none; }
.wa-logo svg { width: 16px; height: 16px; fill: #0B141A; }
.share-title { font-weight: 700; font-size: 13px; }
.share summary .muted { font-size: 11.5px; }
.share summary .btn { margin-left: auto; }
.share summary .btn.wa { background: #25D366; border-color: #25D366; color: #0B141A; text-decoration: none; border-bottom: 0; }
.share summary .btn.wa + .btn { margin-left: 0; }
.chat { padding: 12px 14px 14px; background: #0B141A url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><g fill='none' stroke='%23162029' stroke-width='1'><circle cx='20' cy='20' r='6'/><path d='M70 30l10 10M60 90l14-14'/><circle cx='95' cy='75' r='9'/><rect x='30' y='70' width='12' height='12' rx='2'/></g></svg>"); border-top: 1px solid var(--line); border-radius: 0 0 8px 8px; }
.bubble { max-width: 640px; background: #005C4B; color: #E9EDEF; border-radius: 10px 10px 2px 10px; padding: 8px 10px 6px; margin-left: auto; box-shadow: 0 1px 1px rgba(0,0,0,.3); font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; font-size: 13.5px; line-height: 1.4; position: relative; }
.bubble::after { content: ""; position: absolute; right: -6px; bottom: 0; border: 6px solid transparent; border-left-color: #005C4B; border-bottom-color: #005C4B; }
.bubble-text b { font-weight: 700; } .bubble-text i { color: #B8D4CD; }
.bubble-meta { text-align: right; font-size: 10.5px; color: #8FB3A9; margin-top: 4px; }
.verdict-intra { margin-top: 6px; font-size: 12px; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.verdict-intra .pill { font-size: 10.5px; }
.vrow { grid-template-columns: 56px 118px 128px 1fr auto; }
.pill.up2 { color: var(--pill-ok); }
.pill.v-intra { font-size: 10px; }
@media (max-width: 1300px) { .vrow { grid-template-columns: 52px 110px 118px 1fr auto; } }
.bubble-text .wa-line { min-height: 1.4em; }
.bubble-text .wa-head { margin-top: 2px; font-size: 14px; }
.bubble-text .wa-div { display: block; height: 1px; background: rgba(255,255,255,.22); margin: 6px 0; }
.share-title::before { content: "💬 "; }
.op-tbl td { font-size: 12px; } .op-tbl .bar { width: 100%; }
.list.heavy li { display: block; font-size: 12px; padding: 4px 0; border-bottom: 1px solid var(--line); }
.list.heavy li:last-child { border-bottom: 0; }

/* WhatsApp icon in the HUD */
.wa-icon { width: 32px; height: 32px; display: inline-grid; place-items: center; border-radius: 50%; background: #25D366; border: 0; flex: none; transition: transform 160ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 160ms; }
.wa-icon svg { width: 19px; height: 19px; fill: #0B141A; }
.wa-icon:hover { transform: scale(1.08); box-shadow: 0 0 0 3px rgba(37,211,102,.25); }
.share { display: none; }
/* ---- smart money scorecard board ---- */
.sm-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.sm-col h3 { margin: 0 0 8px; }
.sm-col .muted { font-weight: 400; text-transform: none; letter-spacing: 0; }
.sm-card { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); padding: 10px 12px; margin-bottom: 8px; cursor: pointer; display: grid; gap: 6px; }
.sm-card:hover { border-color: var(--accent); }
.sm-card.acc { border-left: 3px solid var(--up); } .sm-card.dist { border-left: 3px solid var(--down); } .sm-card.quiet { border-left: 3px solid var(--line-2); }
.sm-head { display: flex; align-items: center; gap: 10px; }
.sm-t { font-family: var(--macro); font-weight: 700; font-size: 16px; }
.sm-who { margin-left: auto; font-size: 10px; }
.meter { display: inline-flex; gap: 2px; } .meter span { width: 12px; height: 8px; background: var(--surface-2); border: 1px solid var(--line-2); } .meter span.on { background: var(--up); border-color: var(--up); }
.sm-card.dist .meter span.on { background: var(--down); border-color: var(--down); }
.sm-line { font-size: 12px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sig { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; }
.sig-cell { padding: 4px 6px; border-radius: 4px; background: var(--surface-2); border: 1px solid var(--line); display: grid; gap: 1px; min-width: 0; }
.sig-cell.yes { background: var(--pill-ok-bg); border-color: var(--pill-ok); } .sig-cell.no { background: var(--pill-bad-bg); border-color: var(--pill-bad); }
.sig-k { font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); } .sig-cell.yes .sig-k { color: var(--pill-ok); } .sig-cell.no .sig-k { color: var(--pill-bad); }
.sig-v { font-size: 10.5px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sig.demo { display: inline-grid; grid-template-columns: repeat(3, auto); gap: 3px; } .sig.demo .sig-cell { padding: 2px 6px; }
@media (max-width: 1100px) { .sm-board { grid-template-columns: 1fr; } }
/* nine views: tighter bar */
.nav-btn { padding: 0 8px; gap: 6px; font-size: 11.5px; }
.hud-nav { gap: 4px; padding: 7px 8px; }
.hud-brand { padding: 0 10px; font-size: 13px; }
.hud-status { gap: 8px; }
@media (max-width: 1520px) { #generated-line { display: none; } }
/* options: heavy positioning strip */
.heavy-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.hv { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; background: var(--surface); min-width: 0; }
.hv.call { border-left: 3px solid var(--up); } .hv.put { border-left: 3px solid var(--down); }
.hv-t { font-size: 12.5px; } .hv-t b { font-family: var(--macro); }
.hv-n { font-family: var(--mono); font-weight: 600; font-size: 15px; margin: 2px 0; }
@media (max-width: 1100px) { .heavy-strip { grid-template-columns: repeat(2, 1fr); } }

/* ---- menu-bar search, dynamic lists, scanner and low-float views ---- */
.hud-bar { grid-template-columns: auto 1fr auto auto; }
.hud-search { position: relative; display: flex; align-items: center; padding: 0 8px; border-left: 1px solid var(--line-2); }
.hud-search input { font: inherit; font-size: 12.5px; width: 220px; height: 32px; padding: 0 10px 0 30px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--surface-2); color: var(--text); outline: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A93A6' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 9px center; background-size: 14px; }
.hud-search input::placeholder { color: var(--muted); }
.hud-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(91,156,255,.25); }
.hud-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.search-results { position: absolute; top: 44px; right: 8px; width: 440px; max-height: 60vh; overflow: auto; background: var(--surface); border: 1px solid var(--line-2); border-radius: 8px; box-shadow: 0 12px 32px rgba(0,0,0,.55); z-index: 60; padding: 4px; }
.sr { display: grid; grid-template-columns: 68px minmax(0, 1fr) auto auto; gap: 8px; align-items: center; width: 100%; text-align: left; padding: 7px 8px; border: 0; background: transparent; color: var(--text); font: inherit; cursor: pointer; border-radius: 6px; }
.sr:hover, .sr.sel { background: var(--hi-bg); }
.sr b { font-family: var(--macro); font-size: 13px; } .sr-name { color: var(--text-2); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sr-state { font-size: 10.5px; color: var(--text-2); white-space: nowrap; } .sr-state.ok { color: var(--up); } .sr-state.dim { color: var(--muted); }
.sr-empty { padding: 10px; font-size: 12px; color: var(--muted); }
.listbar { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin: 0 0 10px; }
.listbar .tab { border: 1px solid var(--line-2); border-radius: 6px; letter-spacing: .04em; text-transform: none; font-size: 11.5px; padding: 5px 10px; }
.listbar .tab .cnt { font-family: var(--mono); font-size: 10px; opacity: .8; margin-left: 3px; }
.listbar .tab.ghost { background: transparent; border-style: dashed; color: var(--text-2); } .listbar .tab.ghost:hover { border-color: var(--accent); color: var(--text); }
.listbar-actions { margin-left: auto; display: flex; gap: 4px; }
.wc-x { font: inherit; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 17px; line-height: 1; padding: 0 2px; margin-left: 6px; vertical-align: middle; } .wc-x:hover { color: var(--down); }
.wcard.lite { border-left: 3px solid var(--line-2); } .wcard.pending .wc-ticker { color: var(--text-2); }
.lite-kv { grid-template-columns: 1fr auto 1fr auto; column-gap: 14px; }
.empty kbd { font-family: var(--mono); border: 1px solid var(--line-2); border-radius: 4px; padding: 0 5px; }
.view.scan { display: grid; grid-template-rows: minmax(0, 1.1fr) minmax(0, 1fr); background: var(--bg); gap: 0; }
.view.scan > section { min-height: 0; overflow: auto; padding: 12px 16px; background: var(--bg); } .view.scan > section + section { border-top: 1px solid var(--line); }
.view.scan h2 { margin: 0 0 8px; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 6px; }
.chip { font-family: var(--mono); font-size: 10.5px; padding: 2px 8px; border: 1px solid var(--line-2); border-radius: 999px; color: var(--text-2); white-space: nowrap; }
.sc-tbl td, .lf-tbl td { font-size: 11.5px; } .sc-tbl .tabs { margin-bottom: 8px; }
.tfc { min-width: 96px; } .tfc.lead { box-shadow: inset 3px 0 0 var(--accent); padding-left: 6px; border-radius: 2px; }
.tfc .bar { width: 46px; } .bar-fill.up { background: var(--up); } .bar-fill.down { background: var(--down); } .bar-fill.flat { background: var(--warn); }
.sc-why td { background: var(--surface-2); color: var(--text-2); font-size: 12px; line-height: 1.45; }
.sc-why b, .lf-tbl .meta2 b { color: var(--text); }
.lf-tbl .meta2 { max-width: 320px; white-space: normal; }
.warn { color: var(--warn); }
.nav-btn:nth-child(9) kbd { animation-delay: 2.4s; } .nav-btn:nth-child(10) kbd { animation-delay: 2.7s; }
@media (max-width: 1700px) { #generated-line { display: none; } }
@media (max-width: 1500px) { .hud-search input { width: 176px; } .nav-btn { padding: 0 8px; gap: 6px; font-size: 11px; } }
@media (max-width: 900px) { .hud-bar { grid-template-columns: 1fr; } .hud-search { border: 0; padding: 6px 12px; } .hud-search input { width: 100%; } .search-results { left: 8px; right: 8px; width: auto; top: 42px; } .view.scan { display: block; } .listbar-actions { margin-left: 0; } }

/* ---- redesigned HUD: hexagon logo, six lit icon tabs, prominent add-ticker ---- */
.hud-bar { grid-template-columns: auto 1fr auto auto; }
.hud-brand { gap: 9px; padding: 0 14px; }
.hud-brand .logo { width: 34px; height: 34px; filter: none; }
.brand-text { font-family: var(--macro); font-weight: 600; font-size: 13.5px; letter-spacing: .06em; color: var(--text-2); }
.brand-text b { font-weight: 800; color: var(--text); background: linear-gradient(90deg, #FF9A5C, #3DDC84); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hud-nav { gap: 4px; padding: 6px 10px; }
.nav-btn { height: 38px; padding: 0 13px 0 9px; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .05em; border-radius: 10px; }
.nav-btn kbd { font-size: 10px; min-width: 16px; padding: 0 4px; opacity: .75; animation: none !important; text-shadow: none; box-shadow: none; border-color: var(--line-2); color: var(--muted); }
.nav-btn.active kbd { color: var(--accent-ink); border-color: transparent; background: rgba(255,255,255,.2); }
.nav-ico { display: inline-flex; width: 22px; height: 22px; border-radius: 7px; align-items: center; justify-content: center; background: color-mix(in srgb, var(--vc) 18%, transparent); box-shadow: 0 0 10px color-mix(in srgb, var(--vc) 55%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--vc) 45%, transparent); }
.nav-ico svg { width: 15px; height: 15px; fill: none; stroke: var(--vc); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; filter: none; }
.nav-btn.v-home { --vc: #FF9A5C; } .nav-btn.v-scan { --vc: #3DDC84; } .nav-btn.v-stock { --vc: #FFB454; } .nav-btn.v-theme { --vc: #B48CFF; } .nav-btn.v-smart { --vc: #4FE3C1; } .nav-btn.v-macro { --vc: #FF7AB6; }
.nav-btn.active { background: color-mix(in srgb, var(--vc) 22%, var(--surface-2)); border-color: var(--vc); color: var(--text); box-shadow: 0 0 0 1px color-mix(in srgb, var(--vc) 40%, transparent), 0 0 16px color-mix(in srgb, var(--vc) 35%, transparent); }
.nav-btn.active .nav-ico { background: var(--vc); } .nav-btn.active .nav-ico svg { stroke: #0F1115; filter: none; }
.nav-btn.active kbd { color: var(--text); background: rgba(255,255,255,.12); }
.hud-search { padding: 0 10px; gap: 0; }
.add-label { font-family: var(--macro); font-weight: 800; font-size: 11px; letter-spacing: .08em; color: #0F1115; background: linear-gradient(90deg, #3DDC84, #FF9A5C); padding: 0 10px; height: 34px; display: inline-flex; align-items: center; border-radius: 9px 0 0 9px; white-space: nowrap; box-shadow: 0 0 14px rgba(61,220,132,.35); }
.hud-search input { width: 250px; height: 34px; border-radius: 0 9px 9px 0; border: 2px solid #3DDC84; border-left: 0; padding-left: 10px; background-image: none; background: var(--surface-2); font-size: 12.5px; }
.hud-search input:focus { border-color: #FF9A5C; box-shadow: 0 0 0 3px rgba(91,156,255,.25); }
.search-results { top: 46px; right: 10px; }
.hud-status { gap: 10px; }
@media (max-width: 1500px) { .hud-search input { width: 190px; } .nav-btn { padding: 0 10px 0 8px; font-size: 11.5px; } }
@media (max-width: 1250px) { .brand-text { display: none; } .nav-btn kbd { display: none; } .hud-search input { width: 150px; } }

/* ---- sub-tab views (SMART MONEY, MACRO): tabs fixed, content compartment below ---- */
.view.sub { display: grid; grid-template-rows: auto minmax(0, 1fr); background: var(--bg); gap: 0; }
.subtabs { margin: 0; width: 100%; max-width: none; border: 0; border-bottom: 1px solid var(--line); background: var(--surface); padding: 6px 12px; gap: 6px; }
.subtabs .tab { border: 1px solid var(--line-2); border-radius: 6px; text-transform: none; letter-spacing: .02em; font-size: 12px; padding: 6px 12px; }
.subview { min-height: 0; overflow: auto; padding: 12px 16px; background: var(--bg); }
.subview > section + section { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 12px; }

/* ---- weekly index cards: less stretched, clean levels ---- */
.idx-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.card.idx { padding: 12px 14px; } .card.idx .detail-head { margin-bottom: 6px; }
.chart.wk { height: 250px; }
.lvl { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; font-size: 11.5px; color: var(--text-2); margin-top: 6px; }
.lvl i { display: inline-block; width: 14px; border-top: 2px solid; vertical-align: middle; margin-right: 5px; }
.lvl-r i { border-color: var(--down); } .lvl-s i { border-color: var(--up); } .lvl-x i { border-color: var(--muted); border-top-style: dashed; }
.subview.flows .grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.subview.flows .tile.mini { padding: 10px 12px; }

/* ---- HOME: right column fixed with a live feed; left column scrolls ---- */
.view.home { grid-template-columns: minmax(0, 2.1fr) minmax(320px, 1fr); }
.today { display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; }
.feed-panel { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); }
.feed { list-style: none; margin: 0; padding: 0; overflow: auto; min-height: 0; display: grid; align-content: start; gap: 0; }
.feed-item { padding: 8px 0; border-bottom: 1px solid var(--line); display: grid; gap: 3px; }
.feed-item.fresh { background: var(--hi-bg); box-shadow: inset 3px 0 0 var(--accent); padding-left: 8px; animation: feedin .6s ease-out; }
@keyframes feedin { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.feed-meta { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; font-size: 10.5px; } .feed-meta samp { color: var(--muted); }
.feed-meta .tag { font-size: 9.5px; padding: 1px 6px; margin: 0; } .feed-meta .pill { font-size: 10px; }
.feed-h { font-size: 12.5px; line-height: 1.35; color: var(--text); border-bottom: 0; } a.feed-h:hover { color: var(--accent); }
@media (max-width: 900px) { .today { overflow: visible; display: block; } .feed { max-height: 60vh; } .idx-grid { grid-template-columns: 1fr; } .view.sub { display: block; } }
/* fit six tabs + add-ticker + status at 1440 without clipping; keep macro sub-views on one screen */
.nav-btn { padding: 0 11px 0 8px; gap: 7px; }
@media (max-width: 1560px) { .nav-btn kbd { display: none; } .nav-btn { padding: 0 12px 0 8px; } }
.subview.flows .grid.c4 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.subview.flows .tile.mini .tile-value { font-size: 14px; }
.chart.wk { height: 185px; }
.card.idx { padding: 10px 12px; } .card.idx .detail-head { margin-bottom: 4px; } .card.idx .detail-head .px { font-size: 16px; }
.subview.indexes .tape { margin-bottom: 0; } .subview.indexes h2 { margin: 4px 0 8px; }
.subview.indexes > section + section { margin-top: 8px; padding-top: 8px; }
@media (max-width: 1250px) { .subview.flows .grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.chart.wk { height: 172px; }
.subview.picture .regime .tile, .subview.picture .hz-cross .tile { padding: 8px 10px; }
.subview.picture .explain { font-size: 11px; margin: 2px 0; } .subview.picture .regime { margin-top: 6px; } .subview.picture h2 { margin: 2px 0 6px; }
.subview.picture .regime .tile.hero .tile-value { font-size: clamp(24px, 2.4vw, 34px); }

/* ---- professional left menu with sub-menus; slim top bar; sign-in gate ---- */
.shell { height: 100%; display: grid; grid-template-columns: 236px minmax(0, 1fr); }
.side { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; background: var(--surface); border-right: 1px solid var(--line-2); min-width: 0; }
.side-brand { display: flex; align-items: center; gap: 9px; padding: 0 12px; height: var(--bar-h); border-bottom: 1px solid var(--line); }
.side-brand .logo { width: 30px; height: 30px; flex: none; filter: none; }
.side-toggle { margin-left: auto; font: inherit; font-size: 16px; line-height: 1; width: 24px; height: 24px; border: 1px solid var(--line-2); border-radius: 6px; background: transparent; color: var(--muted); cursor: pointer; }
.side-toggle:hover { color: var(--text); border-color: var(--accent); }
.side-nav { overflow: auto; padding: 8px; display: grid; align-content: start; gap: 2px; }
.side-group { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); padding: 12px 10px 4px; font-weight: 600; }
.side-group:first-child { padding-top: 4px; }
.side-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--text-2); font: inherit; font-weight: 600; font-size: 12.5px; letter-spacing: .01em; cursor: pointer; text-align: left; }
.side-item:hover { background: var(--surface-2); color: var(--text); }
.side-item.active { background: color-mix(in srgb, var(--vc) 16%, var(--surface-2)); border-color: color-mix(in srgb, var(--vc) 55%, transparent); color: var(--text); box-shadow: 0 0 14px color-mix(in srgb, var(--vc) 18%, transparent); }
.side-item.active .nav-ico { background: var(--vc); } .side-item.active .nav-ico svg { stroke: #0F1115; filter: none; }
.side-item kbd { margin-left: auto; font-family: var(--mono); font-size: 10px; color: var(--muted); border: 1px solid var(--line-2); border-radius: 4px; padding: 0 5px; }
.side-item.active kbd { color: var(--text); border-color: color-mix(in srgb, var(--vc) 60%, transparent); }
.side-item.v-home { --vc: #FF9A5C; } .side-item.v-scan { --vc: #3DDC84; } .side-item.v-stock { --vc: #FFB454; } .side-item.v-theme { --vc: #B48CFF; } .side-item.v-smart { --vc: #4FE3C1; } .side-item.v-macro { --vc: #FF7AB6; }
.side-sub { display: grid; gap: 1px; padding: 2px 0 6px 24px; }
.side-sub button { text-align: left; font: inherit; font-size: 12px; color: var(--text-2); background: transparent; border: 0; border-left: 2px solid var(--line-2); padding: 5px 10px; cursor: pointer; }
.side-sub button:hover { color: var(--text); } .side-sub button.active { color: var(--text); border-left-color: var(--accent); background: var(--hi-bg); }
.side-foot { border-top: 1px solid var(--line); padding: 10px 12px; font-size: 11.5px; color: var(--text-2); display: grid; gap: 3px; }
.side-user { font-family: var(--mono); font-size: 11px; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lnk { font: inherit; font-size: 11.5px; color: var(--accent); background: transparent; border: 0; padding: 0; cursor: pointer; } .lnk:hover { text-decoration: underline; }
.shell.collapsed { grid-template-columns: 64px minmax(0, 1fr); }
.shell.collapsed .brand-text, .shell.collapsed .side-label, .shell.collapsed .side-item kbd, .shell.collapsed .side-group, .shell.collapsed .side-sub, .shell.collapsed .side-foot { display: none; }
.shell.collapsed .side-brand { padding: 0 8px; justify-content: center; flex-wrap: wrap; gap: 4px; height: auto; padding: 8px; }
.shell.collapsed .side-toggle { margin: 0; }
.shell.collapsed .side-item { justify-content: center; padding: 8px 0; }
.hud-bar { grid-template-columns: auto 1fr auto; }
.hud-spacer { min-width: 0; }
.hud-search { border-left: 0; padding-left: 12px; }
.search-results { right: auto; left: 12px; }
.hud-status { border-left: 1px solid var(--line-2); }

.gate { position: fixed; inset: 0; z-index: 100; background: radial-gradient(900px 500px at 15% -10%, rgba(91,156,255,.16), transparent 60%), radial-gradient(700px 400px at 100% 100%, rgba(61,220,132,.10), transparent 60%), var(--bg); display: grid; place-items: center; padding: 24px; overflow: auto; }
.gate-card { width: min(520px, 100%); background: var(--surface); border: 1px solid var(--line-2); border-radius: 14px; padding: 28px; display: grid; gap: 14px; box-shadow: 0 30px 80px rgba(0,0,0,.55); }
.gate-card.wide { width: min(680px, 100%); }
.gate-brand { display: flex; align-items: center; gap: 10px; font-family: var(--macro); font-weight: 600; letter-spacing: .06em; font-size: 12.5px; color: var(--text-2); }
.gate-brand .logo { width: 30px; height: 30px; } .gate-brand b { color: var(--text); }
.gate h1 { font-family: var(--macro); font-size: 22px; letter-spacing: -0.01em; margin: 0; }
.gate p { margin: 0; color: var(--text-2); font-size: 13px; line-height: 1.5; }
.gate-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.gate input[type="email"], .gate .pick { font: inherit; font-size: 14px; padding: 10px 12px; border: 1px solid var(--line-2); border-radius: 9px; background: var(--surface-2); color: var(--text); width: 100%; outline: none; }
.gate input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(91,156,255,.22); }
.gate .btn.big { padding: 11px 16px; font-size: 13px; border-radius: 9px; white-space: nowrap; }
.gate-status { font-size: 12.5px; color: var(--text-2); line-height: 1.5; } .gate-status.err { color: var(--down); }
.gate-status .devlink { color: var(--accent); border-bottom: 1px solid var(--accent); }
.disc { border: 1px solid var(--warn); background: #2A2210; border-radius: 10px; padding: 14px 16px; display: grid; gap: 8px; }
.disc h2 { margin: 0; font-size: 18px; color: var(--warn); font-family: var(--macro); }
.ck { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--text); cursor: pointer; } .ck input { margin-top: 3px; accent-color: var(--warn); }
.picks-block { display: grid; gap: 10px; }
.picks-kind { display: flex; gap: 6px; } .picks-kind .tab { border: 1px solid var(--line-2); border-radius: 8px; text-transform: none; letter-spacing: 0; font-size: 12.5px; padding: 7px 12px; }
.picks { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.gate .pick { font-family: var(--mono); text-transform: uppercase; }
.gate-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@media (max-width: 900px) {
  .shell { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
  .side { grid-template-rows: auto; grid-template-columns: auto minmax(0, 1fr) auto; border-right: 0; border-bottom: 1px solid var(--line-2); align-items: center; }
  .side-brand { border: 0; height: auto; padding: 6px 10px; } .side-toggle { display: none; }
  .side-nav { display: flex; overflow-x: auto; padding: 6px; gap: 4px; } .side-group, .side-sub, .side-item kbd { display: none; } .side-item { white-space: nowrap; width: auto; }
  .side-foot { border: 0; padding: 6px 10px; }
  .gate-form { grid-template-columns: 1fr; }
}
/* definite shell rows so the right-hand HUD keeps its one-screen height */
.shell { grid-template-rows: 100%; }
.shell > .hud, .shell > .side { height: 100%; min-height: 0; }
@media (max-width: 900px) { .shell { grid-template-rows: auto minmax(0, 1fr); } .shell > .hud { height: auto; } html, body { overflow: auto; } }
[hidden] { display: none !important; }

/* ---- sign-in and onboarding: ethereal-glass treatment (Plus Jakarta Sans, double-bezel cards, pill CTAs) ---- */
.gate { --g-bg: #08080A; --g-core: #0F0F11; --g-text: #EAEAEC; --g-dim: #ACACAE; --g-mute: #727274; --g-emerald: #10B981; --g-blue: #FF8A45; --g-amber: #F59E0B; --g-hair: rgba(255,255,255,.08);
  font-family: var(--font); color: var(--g-text); padding: 40px 24px; place-items: center;
  background: radial-gradient(760px 460px at 10% -10%, rgba(16,185,129,.22), transparent 60%), radial-gradient(680px 440px at 105% 110%, rgba(59,130,246,.20), transparent 60%), radial-gradient(500px 300px at 60% 40%, rgba(139,92,246,.08), transparent 60%), var(--g-bg); }
.gate::after { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"); }
.g-shell { width: min(540px, 100%); padding: 6px; border-radius: 2rem; background: rgba(255,255,255,.04); border: 1px solid var(--g-hair); backdrop-filter: blur(24px); position: relative; }
.g-shell.wide { width: min(720px, 100%); }
.g-core { border-radius: calc(2rem - 6px); background: var(--g-core); padding: 36px 36px 30px; box-shadow: inset 0 1px 1px rgba(255,255,255,.12), 0 40px 120px rgba(0,0,0,.6); display: grid; gap: 16px; }
.reveal { animation: gate-in .9s cubic-bezier(.32,.72,0,1) both; }
@keyframes gate-in { from { opacity: 0; transform: translateY(28px); filter: blur(8px); } to { opacity: 1; transform: none; filter: blur(0); } }
.gate .gate-brand { font-family: inherit; font-weight: 600; letter-spacing: .12em; font-size: 11px; color: var(--g-dim); }
.gate .gate-brand b { color: var(--g-text); }
.gate .who { justify-self: end; margin-top: -30px; font-size: 12px; color: var(--g-mute); font-variant-numeric: tabular-nums; }
.eyebrow { display: inline-block; width: max-content; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; padding: 4px 11px; border-radius: 999px; border: 1px solid var(--g-hair); color: var(--g-dim); background: rgba(255,255,255,.03); }
.eyebrow.warn { color: var(--g-amber); border-color: rgba(245,158,11,.4); background: rgba(245,158,11,.08); }
.gate h1 { font-family: inherit; font-size: 30px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; margin: 0; }
.gate h2 { font-family: inherit; font-size: 22px; font-weight: 800; letter-spacing: -0.02em; margin: 0; color: var(--g-text); }
.gate p { font-size: 14px; line-height: 1.6; color: var(--g-dim); }
.gate .fine { font-size: 12px; color: var(--g-mute); }
.gate-form { grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 10px; }
.field { padding: 4px; border-radius: 999px; background: rgba(255,255,255,.04); border: 1px solid var(--g-hair); transition: border-color .5s cubic-bezier(.32,.72,0,1), box-shadow .5s cubic-bezier(.32,.72,0,1); }
.field:focus-within { border-color: rgba(16,185,129,.6); box-shadow: 0 0 0 4px rgba(16,185,129,.14); }
.gate .field input { width: 100%; border: 0; outline: none; background: #141416; color: var(--g-text); font: inherit; font-size: 14px; padding: 11px 16px; border-radius: 999px; box-shadow: inset 0 1px 1px rgba(255,255,255,.06); }
.gate .field input.pick { font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; }
.gate .field input::placeholder { color: var(--g-mute); text-transform: none; letter-spacing: 0; }
.pill-btn { display: inline-flex; align-items: center; gap: 12px; padding: 6px 6px 6px 20px; border-radius: 999px; border: 0; cursor: pointer; font: inherit; font-weight: 700; font-size: 13.5px; color: #08080A;
  background: linear-gradient(90deg, var(--g-emerald), var(--g-blue)); box-shadow: 0 10px 30px rgba(16,185,129,.22); transition: transform .5s cubic-bezier(.32,.72,0,1), box-shadow .5s cubic-bezier(.32,.72,0,1), opacity .4s; white-space: nowrap; }
.pill-btn i { width: 32px; height: 32px; border-radius: 50%; background: rgba(5,8,16,.22); display: inline-grid; place-items: center; font-style: normal; font-size: 14px; transition: transform .5s cubic-bezier(.32,.72,0,1); }
.pill-btn:hover { transform: translateY(-1px); box-shadow: 0 14px 36px rgba(16,185,129,.3); } .pill-btn:hover i { transform: translate(2px, -1px) scale(1.06); }
.pill-btn:active { transform: scale(.98); } .pill-btn:disabled { opacity: .4; cursor: default; transform: none; box-shadow: none; }
.gate .disc { border: 1px solid rgba(245,158,11,.35); background: linear-gradient(180deg, rgba(245,158,11,.10), rgba(245,158,11,.04)); border-radius: 1.25rem; padding: 18px 20px; display: grid; gap: 10px; }
.gate .disc h2 { color: #FBBF24; }
.gate .ck { color: var(--g-text); font-size: 13.5px; align-items: center; gap: 12px; }
.gate .ck input { width: 18px; height: 18px; accent-color: var(--g-emerald); margin: 0; flex: none; }
.picks-block { display: grid; gap: 12px; }
.picks-kind { gap: 8px; }
.kind { font: inherit; font-size: 12.5px; font-weight: 600; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--g-hair); background: rgba(255,255,255,.03); color: var(--g-dim); cursor: pointer; transition: all .5s cubic-bezier(.32,.72,0,1); }
.kind:hover { color: var(--g-text); border-color: rgba(255,255,255,.2); }
.kind.active { color: #08080A; background: var(--g-text); border-color: var(--g-text); }
.picks { grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; }
.gate-status { color: var(--g-dim); } .gate-status b { color: var(--g-text); } .gate-status .devlink { color: var(--g-emerald); border-bottom-color: var(--g-emerald); }
.gate-actions { gap: 14px; }
.btn.logout { border-color: rgba(255,90,110,.45); color: var(--down); } .btn.logout:hover { background: rgba(255,90,110,.1); }
/* menu: hairline separators and sprung transitions instead of flat gray borders */
.side { border-right-color: rgba(255,255,255,.06); } .side-brand, .side-foot { border-color: rgba(255,255,255,.06); }
.side-item, .side-sub button, .nav-ico { transition: background .45s cubic-bezier(.32,.72,0,1), border-color .45s cubic-bezier(.32,.72,0,1), color .3s, box-shadow .45s cubic-bezier(.32,.72,0,1); }
.side-item:active { transform: scale(.985); }
@media (max-width: 900px) { .gate { padding: 20px 16px; } .g-core { padding: 26px 22px; } .gate h1 { font-size: 24px; } .gate-form { grid-template-columns: 1fr; } .gate .who { justify-self: start; margin-top: 0; } }

/* ---- Webex Market Update brand: gold neon fox on black ---- */
.side-brand .logo, .gate-brand .logo { border-radius: 50%; filter: none; }
.brand-text { display: inline-grid; line-height: 1.05; }
.brand-text small { font-size: 9px; letter-spacing: .28em; color: #FFB27A; font-weight: 700; }
.brand-text b { background: none; color: var(--text); -webkit-text-fill-color: initial; font-size: 12px; letter-spacing: .06em; }
.gate .gate-brand span { display: inline-grid; line-height: 1.05; } .gate .gate-brand small { font-size: 9px; letter-spacing: .28em; color: #FFB27A; }
.gate { --g-emerald: #FFB27A; --g-blue: #FF7A2F; background: radial-gradient(760px 460px at 10% -10%, rgba(255,178,122,.16), transparent 60%), radial-gradient(680px 440px at 105% 110%, rgba(184,134,11,.18), transparent 60%), #050505; }
.pill-btn { background: linear-gradient(90deg, #FFD2B0, #FFB27A 55%, #FF7A2F); box-shadow: 0 10px 30px rgba(255,178,122,.22); color: #050505; }
.pill-btn:hover { box-shadow: 0 14px 36px rgba(255,178,122,.32); }
.field:focus-within { border-color: rgba(255,178,122,.6); box-shadow: 0 0 0 4px rgba(255,178,122,.14); }
.gate .ck input { accent-color: #FFB27A; } .gate-status .devlink { color: #FFB27A; border-bottom-color: #FFB27A; }
.kind.active { background: #FFB27A; border-color: #FFB27A; }
.shell.collapsed .side-brand .logo { width: 34px; height: 34px; }

/* ---- hex-step flow, sidebar watchlist, ticker page ---- */
.hexflow { display: flex; align-items: center; gap: 6px; margin: 2px 0 4px; }
.hex { position: relative; width: 46px; height: 46px; display: grid; place-items: center; flex: none; }
.hex svg { position: absolute; inset: 0; width: 100%; height: 100%; } .hex svg path { fill: rgba(255,255,255,.03); stroke: rgba(255,255,255,.16); stroke-width: 3; transition: all .6s cubic-bezier(.32,.72,0,1); }
.hex-n { position: relative; font-family: var(--mono); font-size: 12px; font-weight: 700; color: var(--g-mute); }
.hex-l { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: 2px; font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--g-mute); white-space: nowrap; }
.hex.on svg path { fill: rgba(255,178,122,.14); stroke: #FFB27A; filter: none; } .hex.on .hex-n, .hex.on .hex-l { color: #FFB27A; }
.hex.done svg path { fill: #FFB27A; stroke: #FFB27A; } .hex.done .hex-n { color: #050505; } .hex.done .hex-l { color: var(--g-dim); }
.hex-line { flex: 1; max-width: 70px; height: 1px; background: linear-gradient(90deg, rgba(255,178,122,.6), rgba(255,255,255,.08)); }
.hexflow + .eyebrow, .hexflow + .disc { margin-top: 14px; }
.mail-line { font-size: 12px; line-height: 1.5; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--g-hair); color: var(--g-dim); }
.mail-line.ok { border-color: rgba(255,178,122,.35); color: var(--g-dim); } .mail-line.ok b { color: #FFB27A; }
.mail-line.warn { border-color: rgba(255,90,110,.35); color: #F3B4BC; } .mail-line code { font-family: var(--mono); color: var(--g-text); }
.picks { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pickf { display: flex; align-items: center; gap: 0; }
.pick-n { font-family: var(--mono); font-size: 11px; color: var(--g-mute); padding: 0 4px 0 12px; }
.pickf input.pick { padding-left: 8px; }
.side-watch { display: grid; gap: 2px; padding: 0 2px; }
.side-tick { display: grid; grid-template-columns: 8px 1fr auto auto; align-items: center; gap: 8px; width: 100%; padding: 6px 10px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--text-2); font: inherit; font-size: 12px; cursor: pointer; text-align: left; transition: all .45s cubic-bezier(.32,.72,0,1); }
.side-tick b { font-family: var(--macro); font-size: 12.5px; color: var(--text); letter-spacing: .02em; }
.side-tick .st-px { font-family: var(--mono); font-size: 11px; color: var(--text-2); } .side-tick .delta { font-size: 10.5px; }
.side-tick:hover { background: var(--surface-2); border-color: rgba(255,178,122,.35); }
.side-tick.active { background: rgba(255,178,122,.10); border-color: rgba(255,178,122,.55); box-shadow: 0 0 12px rgba(255,178,122,.15); }
.st-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line-2); }
.st-dot.up { background: var(--up); box-shadow: 0 0 6px var(--up); } .st-dot.up2 { background: var(--pill-ok); } .st-dot.flat { background: var(--warn); } .st-dot.down { background: var(--down); box-shadow: 0 0 6px var(--down); }
.side-group .cnt { font-family: var(--mono); font-size: 9.5px; opacity: .8; margin-left: 4px; }
.shell.collapsed .side-watch { display: none; }
.lnk-t { font: inherit; border: 0; background: transparent; color: var(--text); cursor: pointer; padding: 0; } .lnk-t:hover { color: #FFB27A; }
.ticker-view { padding: 0 !important; }
.tk-page { padding: 14px 18px 24px; display: grid; gap: 14px; }
.tk-hero { display: grid; grid-template-columns: auto auto auto minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 16px 20px; border-radius: 16px; border: 1px solid rgba(255,178,122,.28); background: radial-gradient(600px 200px at 0% 0%, rgba(255,178,122,.12), transparent 60%), var(--surface); }
.tk-sym { font-family: var(--macro); font-weight: 800; font-size: 34px; letter-spacing: -0.02em; line-height: 1; }
.tk-name { font-size: 12.5px; color: var(--text-2); margin-top: 4px; }
.tk-price { display: grid; justify-items: end; } .tk-price .px { font-size: 26px; } .tk-price .delta { font-size: 13px; }
.tk-verdict { max-width: 520px; } .tk-verdict .verdict-word { font-size: 18px; }
.tk-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 1100px) { .tk-hero { grid-template-columns: 1fr 1fr; } .tk-verdict { grid-column: 1 / -1; max-width: none; } .tk-actions { grid-column: 1 / -1; justify-content: flex-start; } .picks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---- left column: Create My Watchlist panel, aligned grid; hourly counter; "right now" strip ---- */
.side { grid-template-rows: var(--bar-h) auto minmax(0, 1fr) auto; }
.side-brand { height: var(--bar-h); box-sizing: border-box; padding: 0 16px; }
.side-panel { padding: 14px 16px 12px; border-bottom: 1px solid rgba(255,255,255,.06); display: grid; gap: 8px; }
.side-title { margin: 0; font-family: var(--macro); font-weight: 800; font-size: 14px; letter-spacing: -0.01em; color: var(--text); display: flex; align-items: center; gap: 8px; }
.side-title::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: linear-gradient(135deg, #FFD2B0, #FF7A2F); box-shadow: 0 0 8px rgba(255,178,122,.6); }
.side-hint { margin: 0; font-size: 11.5px; line-height: 1.45; color: var(--muted); }
.side-panel .hud-search { padding: 0; border: 0; display: block; }
.side-panel .hud-search input { width: 100%; height: 36px; border-radius: 9px; border: 1px solid rgba(255,178,122,.55); padding: 0 12px 0 32px; background: var(--surface-2); font-size: 12.5px; box-shadow: 0 0 0 0 rgba(255,178,122,0); transition: box-shadow .5s cubic-bezier(.32,.72,0,1), border-color .5s cubic-bezier(.32,.72,0,1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5C542' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 10px center; background-size: 14px; }
.side-panel .hud-search input:focus { border-color: #FFB27A; box-shadow: 0 0 0 3px rgba(255,178,122,.18); }
.side-panel .search-results { left: 0; right: 0; width: auto; top: 40px; }
.side-watch { padding: 0; gap: 2px; }
.side-tick { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; padding: 0; gap: 0; }
.st-open { display: grid; grid-template-columns: 8px 1fr auto auto; align-items: center; gap: 8px; padding: 7px 8px 7px 10px; border: 0; background: transparent; color: var(--text-2); font: inherit; font-size: 12px; cursor: pointer; text-align: left; border-radius: 8px 0 0 8px; }
.st-open b { font-family: var(--macro); font-size: 12.5px; color: var(--text); } .st-open .st-px { font-family: var(--mono); font-size: 11px; } .st-open .delta { font-size: 10.5px; }
.st-x { border: 0; background: transparent; color: transparent; font: inherit; font-size: 15px; width: 26px; cursor: pointer; border-radius: 0 8px 8px 0; transition: color .3s; }
.side-tick:hover .st-x { color: var(--muted); } .st-x:hover { color: var(--down) !important; }
.side-count, .side-empty { font-size: 11px; color: var(--muted); padding: 6px 10px 0; line-height: 1.45; }
.side-nav { padding: 10px 12px; }
.side-group:first-child { padding-top: 2px; }
.side-foot { padding: 12px 16px; }
.side-user { display: flex; align-items: center; gap: 6px; }
.side-links { font-size: 11px; color: var(--muted); line-height: 1.5; }
.hud-bar { grid-template-columns: 1fr auto; }
.hud-status { padding: 0 16px; gap: 12px; }
.readout.count { color: #FFB27A; font-weight: 600; min-width: 150px; text-align: right; }
.readout.count.soon { animation: pulse 1s ease-in-out infinite; } @keyframes pulse { 50% { opacity: .45; } }
.g-close { position: absolute; top: 14px; right: 16px; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--g-hair); background: transparent; color: var(--g-mute); font: inherit; font-size: 18px; line-height: 1; cursor: pointer; }
.g-core { position: relative; }
.wc-now { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 11.5px; color: var(--text-2); padding: 7px 10px; border-radius: 6px; background: var(--surface-2); border: 1px solid var(--line); }
.wc-now b { color: var(--text); } .wc-now .sep { width: 3px; height: 3px; border-radius: 50%; background: var(--line-2); display: inline-block; }
.wc-now-k { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #FFB27A; font-weight: 700; margin-right: 2px; }
/* alignment: main content shares the left column's 16px rhythm */
.view.home .col-main, .view.news > div, .subview, .view.scan > section, .view.one > section { padding: 14px 16px; }
.view.home .col-main > .home-top { margin-bottom: 14px; }
.today .panel { padding: 14px 16px; }
h2 { margin: 0 0 10px; }
@media (max-width: 900px) { .side { grid-template-rows: auto auto auto auto; grid-template-columns: 1fr; } .side-panel { padding: 10px 12px; } .side-watch { display: flex; overflow-x: auto; gap: 6px; } .side-tick { flex: none; border: 1px solid var(--line); border-radius: 8px; } .readout.count { min-width: 0; } }

/* ---- right-side disclaimer with I agree ---- */
.today { grid-template-rows: auto auto minmax(0, 1fr); }
.disc-panel { border-left: 3px solid #FFB27A; background: linear-gradient(90deg, rgba(255,178,122,.08), transparent 70%); display: grid; gap: 8px; }
.disc-panel h3 { color: #FFB27A; }
.disc-panel p { margin: 0; font-size: 12px; line-height: 1.5; color: var(--text-2); }
.disc-panel.agreed { padding: 8px 16px; } .disc-mini { font-size: 11.5px; color: var(--text-2); } .disc-mini b { color: #FFB27A; }
.pill-btn.small { padding: 4px 4px 4px 14px; font-size: 12px; gap: 8px; width: max-content; } .pill-btn.small i { width: 24px; height: 24px; font-size: 12px; }
.gate .fine code { font-family: var(--mono); color: var(--g-text); }
a.pill-btn { text-decoration: none; border-bottom: 0; }

/* ---- scanner: clean table, live stamp ---- */
.sc-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.sc-stamp { font-family: var(--mono); font-size: 11px; color: var(--text-2); display: flex; align-items: center; gap: 6px; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--up); box-shadow: 0 0 8px var(--up); animation: pulse 1.6s ease-in-out infinite; display: inline-block; }
.sc-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 4px 0 10px; } .sc-bar .tabs { margin: 0; }
.sc-tbl { table-layout: fixed; } .sc-tbl th, .sc-tbl td { padding: 8px 8px; } .sc-tbl td { font-size: 11.5px; vertical-align: middle; }
.sc-tbl th:nth-child(1) { width: 15%; } .sc-tbl th:nth-child(2), .sc-tbl th:nth-child(3) { width: 8%; } .sc-tbl th.tfh, .sc-tbl td.tf { width: 11%; }
.sc-tbl tbody tr:nth-child(even) td { background: rgba(255,255,255,.015); } .sc-tbl tr.dim td { opacity: .6; }
.sc-tbl tr.clickable:hover td { background: var(--hi-bg); }
.sc-tbl td.tf { border-left: 1px solid var(--line); } .sc-tbl td.tf.lead { box-shadow: inset 3px 0 0 #FFB27A; }
.tf-score { font-family: var(--mono); font-weight: 700; font-size: 14px; line-height: 1; } .tf-score.up { color: var(--up); } .tf-score.down { color: var(--down); }
.tf-bar { height: 4px; background: var(--surface-2); border-radius: 2px; margin: 4px 0 3px; overflow: hidden; } .tf-bar i { display: block; height: 100%; background: var(--warn); } .tf-bar i.up { background: var(--up); } .tf-bar i.down { background: var(--down); }
.tf-meta { font-family: var(--mono); font-size: 10px; color: var(--text-2); white-space: nowrap; }
.sc-tbl td.total b { font-family: var(--mono); font-size: 16px; }
.sc-tbl td.read .pill { font-size: 10.5px; }
/* ---- admin ---- */
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .admin-grid .card.wide { grid-column: 1 / -1; }
.admin .card h3 { margin: 0 0 8px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); } .admin .card h3 .muted { text-transform: none; letter-spacing: 0; font-weight: 400; }
.admin .card { padding: 12px 14px; } .admin .tbl-wrap { max-height: 320px; border: 0; }
svg.traffic { width: 100%; height: 90px; display: block; } svg.traffic rect { fill: rgba(91,156,255,.55); } svg.traffic rect.pg { fill: rgba(255,178,122,.8); }
.side-item.v-admin { --vc: #FFB27A; }
.side-mail { font-family: var(--mono); font-size: 10.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* ---- market-open flash ---- */
#flash { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; pointer-events: none; opacity: 0; transition: opacity .6s cubic-bezier(.32,.72,0,1); background: radial-gradient(60% 50% at 50% 50%, rgba(61,220,132,.25), transparent 70%); }
#flash.on { opacity: 1; }
.flash-in { text-align: center; animation: flashin .9s cubic-bezier(.32,.72,0,1) both; }
.flash-word { font-family: var(--macro); font-weight: 800; font-size: clamp(48px, 9vw, 120px); letter-spacing: -0.03em; color: var(--up); text-shadow: none; }
.flash-sub { font-family: var(--mono); font-size: 14px; color: var(--text); letter-spacing: .2em; text-transform: uppercase; }
@keyframes flashin { from { transform: scale(.9); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 1100px) { .admin-grid { grid-template-columns: 1fr; } }

/* ---- colour scheme: gold on deep navy, matching the mark ---- */
/* terminal-skin palette removed: the OneView tokens at the top are the single source of truth */
.hud-bar { background: linear-gradient(180deg, #19191B, #141416); border-bottom: 1px solid rgba(255,178,122,.35); box-shadow: 0 2px 16px rgba(0,0,0,.45); }
.btn { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); font-weight: 700; }
.btn.ghost { background: transparent; color: var(--text); border-color: var(--line-2); }
.side-item.active kbd { color: var(--accent-ink); }
.nav-btn.active kbd { color: var(--accent-ink); }
.tab.active, .subtabs .tab.active { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.tbl tr.selected td { box-shadow: inset 3px 0 0 var(--accent); }
.readout.count { color: var(--accent); }
.today h3 { color: var(--accent); }
.mood-tone.up, .verdict.up .verdict-word { text-shadow: none; }
.mood-tone.down, .verdict.down .verdict-word { text-shadow: none; }
.wcard { box-shadow: inset 0 1px 0 rgba(255,255,255,.03); }
.panel.mood, .panel.verdicts, .card, .tile, .tbl-wrap { border-color: var(--line); }
a:hover { border-bottom-color: var(--accent); }
.lnk { color: var(--accent); }
.disc-core { max-height: calc(100dvh - 48px); overflow: auto; }
.disc-body { display: grid; gap: 10px; padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(255,178,122,.28); background: linear-gradient(180deg, rgba(255,178,122,.07), rgba(255,178,122,.02)); }
.disc-body p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--g-text); }
.g-shell.wide { width: min(760px, 100%); }
/* ---- fit: mood facts wrap instead of squeezing; scanner keeps its columns and scrolls sideways when narrow ---- */
.facts { grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); }
.fact, .facts > * { min-width: 0; } .facts .v, .facts b { overflow-wrap: anywhere; }
.sc-tbl { min-width: 1120px; }
.sc-tbl th:nth-child(1) { width: 13%; } .sc-tbl th:nth-child(2) { width: 8%; } .sc-tbl th:nth-child(3) { width: 8%; }
.sc-tbl th:nth-child(4), .sc-tbl th:nth-child(5), .sc-tbl th:nth-child(6), .sc-tbl th:nth-child(7) { width: 11%; }
.sc-tbl th:nth-child(8) { width: 11%; } .sc-tbl th:nth-child(9) { width: 6%; } .sc-tbl th:nth-child(10) { width: auto; }
.sc-tbl td { overflow: hidden; } .sc-tbl td.sym b { display: block; }
.sc-tbl .meta2, .tf-meta { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-tbl td.ses { font-size: 11px; } .sc-tbl td.ses .meta2 { white-space: normal; }
.sc-tbl td.total { text-align: center; } .sc-tbl td.total .meta2 { white-space: normal; }
.sc-tbl td.read .meta2 { white-space: normal; }
.sc-section .tbl-wrap { overflow: auto; }

/* ---- premium sign-in stage ---- */
.gate:has(.login-stage) { padding: 0; place-items: stretch; overflow: hidden; }
.login-stage { position: relative; min-height: 100dvh; display: grid; grid-template-rows: minmax(0, 1fr) auto; background: radial-gradient(900px 600px at 15% 20%, rgba(255,178,122,.14), transparent 60%), radial-gradient(700px 500px at 90% 90%, rgba(184,134,11,.14), transparent 60%), #050505; }
#login-bg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .9; }
.login-split { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: center; width: min(1180px, 100%); margin: 0 auto; padding: 48px 32px; }
.lg-hero { display: grid; gap: 18px; animation: gate-in 1s cubic-bezier(.32,.72,0,1) both; }
.lg-mark { position: relative; width: 120px; height: 120px; }
.lg-mark img { position: relative; z-index: 1; border-radius: 50%; filter: none; animation: markfloat 6s ease-in-out infinite; }
.lg-mark .ring { position: absolute; inset: -14px; border-radius: 50%; border: 1px solid rgba(255,178,122,.35); animation: ringpulse 3.2s cubic-bezier(.32,.72,0,1) infinite; }
.lg-mark .ring.r2 { inset: -30px; animation-delay: 1.1s; border-color: rgba(255,178,122,.18); }
@keyframes ringpulse { 0% { transform: scale(.85); opacity: 0; } 40% { opacity: .9; } 100% { transform: scale(1.15); opacity: 0; } }
@keyframes markfloat { 50% { transform: translateY(-6px); } }
.lg-brand { display: grid; line-height: 1.05; } .lg-brand small { font-size: 11px; letter-spacing: .32em; color: #FFB27A; font-weight: 700; } .lg-brand b { font-family: var(--font); font-size: 20px; font-weight: 800; letter-spacing: .04em; color: #F2F4F8; }
.lg-h { margin: 6px 0 0; font-family: var(--font); font-size: clamp(34px, 4.2vw, 56px); font-weight: 800; letter-spacing: -0.035em; line-height: 1.02; color: #F2F4F8; animation: gate-in 1s .15s cubic-bezier(.32,.72,0,1) both; }
.lg-h::after { content: ""; display: block; width: 72px; height: 3px; margin-top: 16px; border-radius: 2px; background: linear-gradient(90deg, #FFD2B0, #FF7A2F); }
.lg-p { margin: 0; max-width: 52ch; font-size: 15px; line-height: 1.6; color: #ACACAE; animation: gate-in 1s .3s cubic-bezier(.32,.72,0,1) both; }
.lg-feats { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 10px; }
.lg-feats li { display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 14px; border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.03); animation: gate-in .9s cubic-bezier(.32,.72,0,1) both; }
.lg-feats li:nth-child(1) { animation-delay: .4s; } .lg-feats li:nth-child(2) { animation-delay: .5s; } .lg-feats li:nth-child(3) { animation-delay: .6s; }
.lg-feats b { display: block; font-size: 13.5px; color: #F2F4F8; } .lg-feats span { font-size: 12px; color: #939395; }
.lg-ic { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in srgb, var(--vc) 16%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--vc) 45%, transparent), 0 0 14px color-mix(in srgb, var(--vc) 30%, transparent); }
.lg-ic svg { width: 18px; height: 18px; fill: none; stroke: var(--vc); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lg-tape { margin-top: 6px; overflow: hidden; border-radius: 999px; border: 1px solid rgba(255,178,122,.25); background: rgba(5,5,5,.6); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.lt-track { display: inline-flex; gap: 28px; padding: 8px 20px; white-space: nowrap; font-size: 12px; color: #C0C0C2; animation: tape 40s linear infinite; }
.lt-item b { color: #F2F4F8; font-weight: 600; margin-right: 4px; } .lt-item .mono { font-family: var(--mono); }
@keyframes tape { to { transform: translateX(-50%); } }
.lg-card { transition: transform .5s cubic-bezier(.32,.72,0,1); transform-style: preserve-3d; will-change: transform; width: 100%; max-width: 520px; justify-self: end; animation-delay: .25s; }
.lg-card .g-core { padding: 34px 34px 28px; box-shadow: inset 0 1px 1px rgba(255,255,255,.14), 0 50px 120px rgba(0,0,0,.65), 0 0 0 1px rgba(255,178,122,.08); }
.gate-form.stack { grid-template-columns: 1fr; }
.field.float { position: relative; } .field.float label { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); font-size: 13.5px; color: #727274; pointer-events: none; transition: all .35s cubic-bezier(.32,.72,0,1); background: #141416; padding: 0 4px; }
.field.float input:focus + label, .field.float input:not(:placeholder-shown) + label { top: 0; transform: translateY(-50%); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: #FFB27A; }
.gate-form.stack .pill-btn { justify-content: space-between; width: 100%; }
.lg-foot { position: relative; text-align: center; padding: 14px; font-size: 11px; color: #727274; letter-spacing: .06em; }
.sent { display: grid; gap: 12px; }
.env { width: 72px; height: 54px; fill: none; stroke: #FFB27A; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; filter: none; }
.env path { stroke-dasharray: 300; stroke-dashoffset: 300; animation: draw 1.4s cubic-bezier(.32,.72,0,1) forwards; } .env .e2 { animation-delay: .35s; } .env .e3 { animation-delay: .7s; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.sent-timer { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); }
.sent-timer b { display: block; font-family: var(--mono); font-size: 22px; color: #F2F4F8; } .sent-timer span { font-size: 12px; color: #939395; }
.st-ring { width: 44px; height: 44px; } .st-ring svg { width: 44px; height: 44px; transform: rotate(-90deg); } .st-ring circle { fill: none; stroke: rgba(255,255,255,.1); stroke-width: 3; }
.st-ring .prog { stroke: #FFB27A; stroke-dasharray: 100; stroke-dashoffset: 0; stroke-linecap: round; transition: stroke-dashoffset 1s linear; pathLength: 100; }
@media (max-width: 1000px) { .login-split { grid-template-columns: 1fr; gap: 28px; padding: 28px 16px; } .lg-card { justify-self: stretch; max-width: none; } .lg-mark { width: 84px; height: 84px; } .lg-mark img { width: 84px; height: 84px; } .lg-h::after { margin-top: 10px; } }
@media (prefers-reduced-motion: reduce) { .lg-mark img, .lg-mark .ring, .lt-track, .env path { animation: none; } .env path { stroke-dashoffset: 0; } }

.gate:has(.login-stage) { overflow: auto; }
.login-stage { min-height: 100dvh; height: auto; }
.env path { stroke-dasharray: 100; stroke-dashoffset: 100; }
.lg-foot { margin-top: 8px; }

/* ---- disclaimer-only stage and the dissolve into the dashboard ---- */
.disc-stage { grid-template-rows: minmax(0, 1fr) auto; }
.disc-wrap { position: relative; display: grid; place-items: center; padding: 40px 24px; }
.disc-card { width: min(760px, 100%); }
.disc-card .g-core { padding: 36px 40px 30px; }
.disc-h { font-size: clamp(30px, 3.6vw, 44px) !important; letter-spacing: -0.035em !important; line-height: 1.02 !important; }
.disc-h::after { content: ""; display: block; width: 84px; height: 3px; margin-top: 14px; border-radius: 2px; background: linear-gradient(90deg, #FFD2B0, #FF7A2F); }
.disc-core .disc-body { max-height: 38vh; overflow: auto; }
.disc-core .disc-body p { animation: gate-in .9s cubic-bezier(.32,.72,0,1) both; }
.disc-core .disc-body p:nth-child(1) { animation-delay: .25s; } .disc-core .disc-body p:nth-child(2) { animation-delay: .4s; } .disc-core .disc-body p:nth-child(3) { animation-delay: .55s; }
.disc-core .ck, .disc-core .gate-actions, .disc-core .field { animation: gate-in .9s .7s cubic-bezier(.32,.72,0,1) both; }
.gate { transition: opacity .6s cubic-bezier(.32,.72,0,1), transform .6s cubic-bezier(.32,.72,0,1), filter .6s; }
.gate.leaving { opacity: 0; transform: scale(1.03); filter: blur(6px); pointer-events: none; }
body.dash-enter .side { animation: slide-in-l .9s cubic-bezier(.32,.72,0,1) both; }
body.dash-enter .hud-bar { animation: slide-in-t .9s .1s cubic-bezier(.32,.72,0,1) both; }
body.dash-enter .home-top > * { animation: rise .9s cubic-bezier(.32,.72,0,1) both; } body.dash-enter .home-top > :nth-child(2) { animation-delay: .12s; }
body.dash-enter .board .wcard { animation: rise .8s cubic-bezier(.32,.72,0,1) both; }
body.dash-enter .board .wcard:nth-child(1) { animation-delay: .25s; } body.dash-enter .board .wcard:nth-child(2) { animation-delay: .32s; } body.dash-enter .board .wcard:nth-child(3) { animation-delay: .39s; }
body.dash-enter .board .wcard:nth-child(4) { animation-delay: .46s; } body.dash-enter .board .wcard:nth-child(5) { animation-delay: .53s; } body.dash-enter .board .wcard:nth-child(6) { animation-delay: .6s; } body.dash-enter .board .wcard:nth-child(n+7) { animation-delay: .67s; }
body.dash-enter .today { animation: slide-in-r .9s .2s cubic-bezier(.32,.72,0,1) both; }
@keyframes slide-in-l { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: none; } }
@keyframes slide-in-r { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
@keyframes slide-in-t { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: none; } }
@keyframes rise { from { opacity: 0; transform: translateY(18px); filter: blur(4px); } to { opacity: 1; transform: none; filter: blur(0); } }
@media (prefers-reduced-motion: reduce) { .gate, .gate.leaving { transition: none; } body.dash-enter * { animation: none !important; } }

/* stock groups live in the left menu on desktop; the in-view tabs appear only where the menu collapses */
.view.stock .subtabs { display: none; grid-column: 1 / -1; }
@media (max-width: 900px) { .view.stock .subtabs { display: flex; } }

/* ---- focus pass: lean menu, watchlist strip on the page, aligned top bar, plain-language facts ---- */
.side { grid-template-rows: var(--bar-h) minmax(0, 1fr) auto; }
.side-nav { padding: 12px 12px; gap: 3px; }
.side-group { padding: 14px 10px 6px; }
.side-label .cnt { font-family: var(--mono); font-size: 10px; color: var(--muted); margin-left: 6px; }
.hud-bar { grid-template-columns: auto 1fr auto; }
.hud-context { display: flex; align-items: baseline; gap: 10px; padding: 0 16px; white-space: nowrap; }
.hud-context b { font-family: var(--macro); font-weight: 700; font-size: 14px; letter-spacing: -0.01em; }
.hud-context span { font-family: var(--mono); font-size: 11px; color: var(--muted); }
.hud-status { padding: 0 16px; gap: 10px; }
.hud-status .readout.count { min-width: 0; text-align: left; }
.wl-strip { display: grid; gap: 8px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); margin: 0 0 12px; }
.wl-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; } .wl-head b { font-family: var(--macro); font-size: 14px; }
.wl-hint { font-size: 11px; }
.wl-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.chip-t { display: inline-flex; align-items: stretch; border: 1px solid var(--line-2); border-radius: 8px; background: var(--surface-2); overflow: hidden; transition: border-color .3s, transform .3s cubic-bezier(.16,1,.3,1); }
.chip-t:hover { border-color: var(--accent); } .chip-t:active { transform: scale(.98); } .chip-t.busy { border-style: dashed; }
.chip-open { display: inline-flex; align-items: center; gap: 7px; padding: 6px 8px 6px 10px; border: 0; background: transparent; color: var(--text); font: inherit; cursor: pointer; }
.chip-open b { font-family: var(--macro); font-size: 12.5px; } .chip-open .delta { font-size: 10.5px; }
.chip-x { border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--muted); font: inherit; font-size: 15px; line-height: 1; width: 26px; cursor: pointer; }
.chip-x:hover { color: var(--down); background: rgba(255,92,122,.08); }
.wl-add { position: relative; margin-left: auto; min-width: 240px; }
.wl-add input { width: 100%; height: 34px; border-radius: 8px; border: 1px solid var(--accent); padding: 0 12px 0 32px; background: var(--surface-2); color: var(--text); font: inherit; font-size: 12.5px; outline: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5C542' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 10px center; background-size: 13px; }
.wl-add input:focus { box-shadow: 0 0 0 3px rgba(255,178,122,.16); }
.wl-add .search-results { left: 0; right: 0; width: auto; top: 38px; }
.meaning { margin: 0 0 12px; padding: 12px 14px 8px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.meaning h3 { margin: 0 0 8px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); font-weight: 600; }
.mean-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 24px; }
.mean-row { display: grid; grid-template-columns: 108px 64px minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 5px 0; border-bottom: 1px dashed var(--line); }
.mean-k { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.mean-v { font-weight: 700; font-size: 13px; text-align: right; } .mean-t { font-size: 12.5px; color: var(--text-2); line-height: 1.4; }
@media (max-width: 1250px) { .mean-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .hud-context span { display: none; } .wl-add { margin-left: 0; width: 100%; } .mean-row { grid-template-columns: 90px 56px 1fr; } }
/* ---- watchlist cards: nine aligned blocks (subgrid), stance stripe, retro-mono accents ---- */
.board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; background: transparent; border: 0; }
.wcard { display: grid; grid-template-rows: subgrid; grid-row: span 9; row-gap: 8px; align-items: start; padding: 12px 14px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); position: relative; overflow: hidden; }
.wcard::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: var(--line-2); }
.wcard.st-up::before { background: var(--up); } .wcard.st-up2::before { background: var(--pill-ok); } .wcard.st-flat::before { background: var(--warn); } .wcard.st-down::before { background: var(--down); } .wcard.st-none::before { background: var(--line-2); }
@supports not (grid-template-rows: subgrid) { .wcard { display: flex; flex-direction: column; } }
.wc-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 8px; min-height: 40px; }
.wc-id { display: grid; gap: 2px; min-width: 0; }
.wc-ticker { font-family: var(--macro); font-size: 19px; font-weight: 800; letter-spacing: -0.01em; line-height: 1; white-space: nowrap; margin: 0; }
.wc-name { font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wc-price { display: flex; align-items: baseline; gap: 6px; white-space: nowrap; } .wc-price .px { font-size: 15px; } .wc-price .delta { font-size: 11.5px; }
.verdict { display: grid; grid-template-rows: auto 1fr auto; gap: 4px; min-height: 118px; padding: 10px 12px; border-radius: 8px; border: 1px solid var(--line-2); border-left-width: 3px; background: var(--surface-2); }
.verdict.up { border-left-color: var(--up); } .verdict.up2 { border-left-color: var(--pill-ok); } .verdict.flat { border-left-color: var(--warn); } .verdict.down { border-left-color: var(--down); } .verdict.none { border-left-color: var(--line-2); }
.verdict.none .verdict-word { color: var(--muted); }
.verdict-word { font-size: 18px; letter-spacing: .02em; }
.verdict-why { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; line-height: 1.4; }
.verdict-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 11px; color: var(--muted); min-height: 18px; }
.verdict-meta .pill { font-size: 10px; }
.wc-now { display: grid; grid-template-columns: auto 1fr 1fr; grid-auto-rows: minmax(18px, auto); gap: 2px 10px; align-items: center; min-height: 64px; padding: 8px 10px; font-size: 11px;
  background: var(--surface-2) repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.015) 3px 4px); border: 1px solid var(--line); border-radius: 6px; }
.wc-now .wc-now-k { grid-row: 1 / span 2; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 9px; letter-spacing: .18em; color: var(--accent); align-self: stretch; border-right: 1px solid var(--line-2); padding-left: 2px; margin-right: 4px; }
.wc-now .sep { display: none; } .wc-now > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.wc-lean { min-height: 26px; }
.wc-scores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.wc-scores > span { display: grid; grid-template-columns: auto; gap: 1px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-2); font-size: 11px; color: var(--muted); }
.wc-scores i { font-style: normal; font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; } .wc-scores b { font-size: 12.5px; color: var(--text); text-transform: capitalize; } .wc-scores em { font-style: normal; font-size: 11px; color: var(--muted); }
.wc-who { min-height: 96px; } .wc-who .who { gap: 4px; } .wc-who .who li { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.35; }
.wc-who .who li:nth-child(n+4) { display: none; }
.wc-read { display: grid; gap: 6px; min-height: 92px; }
.wc-pa { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.35; }
.wc-plan { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.4; font-size: 12px; }
.wc-foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; align-self: end; }
.wc-flags { min-height: 0; }
.wc-actions { display: flex; gap: 6px; }
@media (max-width: 1250px) { .board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .board { grid-template-columns: 1fr; } .wcard { display: flex; flex-direction: column; } }

/* ---- WATCHLIST page: one card per name, three perspectives side by side ---- */
.pboard { display: grid; gap: 12px; }
.pcard { border: 1px solid var(--line); border-radius: 10px; background: var(--surface); padding: 12px 14px; display: grid; gap: 10px; position: relative; overflow: hidden; }
.pcard::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--line-2); }
.pcard.st-up::before { background: var(--up); } .pcard.st-up2::before { background: var(--pill-ok); } .pcard.st-flat::before { background: var(--warn); } .pcard.st-down::before { background: var(--down); }
.pcard-h { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.pgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.pcol { background: var(--surface-2); padding: 10px 12px; display: grid; grid-template-rows: auto auto auto 1fr; gap: 6px; align-content: start; min-height: 220px; }
.pcol-h { display: flex; justify-content: space-between; align-items: baseline; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.pcol-h em { font-style: normal; font-family: var(--mono); letter-spacing: 0; text-transform: none; }
.pcol.day .pcol-h span { color: var(--warn); } .pcol.swing .pcol-h span { color: var(--accent); } .pcol.long .pcol-h span { color: #4FE3C1; }
.pverdict { font-family: var(--macro); font-weight: 800; font-size: 17px; letter-spacing: .01em; line-height: 1.1; }
.pverdict.up { color: var(--up); } .pverdict.up2 { color: var(--pill-ok); } .pverdict.flat { color: var(--warn); } .pverdict.down { color: var(--down); } .pverdict.none { color: var(--muted); }
.pcol p { margin: 0; font-size: 12px; line-height: 1.4; color: var(--text-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pkv { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; margin: 2px 0 0; font-size: 11.5px; align-self: end; }
.pkv dt { color: var(--muted); font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; margin: 0; } .pkv dd { margin: 0; text-align: right; }
.pplan { font-size: 11.5px; padding: 6px 8px; border-radius: 6px; border: 1px solid var(--line); background: var(--surface); color: var(--text-2); } .pplan b { color: var(--text); }
.pfoot { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.pwho .who { display: flex; flex-wrap: wrap; gap: 4px 14px; } .pwho .who li { font-size: 11.5px; }
.side-item.v-watch { --vc: #FFB27A; }
@media (max-width: 1100px) { .pgrid { grid-template-columns: 1fr; } .pcol { min-height: 0; } .pfoot { grid-template-columns: 1fr; } }
/* narrow cards: header wraps instead of overlapping; the now-strip wraps its facts */
.wc-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 4px 10px; }
.wc-id { flex: 1 1 120px; } .wc-price { flex: 0 0 auto; }
.wc-now { grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); min-height: 56px; }
.wc-now > span { white-space: normal; overflow: visible; line-height: 1.3; }
.wc-now > span:only-of-type, .wc-now > span:nth-of-type(1):nth-last-of-type(2) { grid-column: span 2; }
@media (max-width: 1250px) { .wc-now { grid-template-columns: auto minmax(0, 1fr); } .wc-now .wc-now-k { grid-row: 1 / span 4; } .wc-now > span { grid-column: auto !important; } }
/* under 1250px the main column is too narrow for two dense cards: one column, horizontal strip label */
@media (max-width: 1250px) {
  .board { grid-template-columns: 1fr; }
  .wc-now { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  .wc-now .wc-now-k { writing-mode: horizontal-tb; transform: none; grid-row: auto; grid-column: 1 / -1; border: 0; padding: 0; margin: 0 0 2px; align-self: auto; }
}

/* ---- terminal skin: squared panels, terse mono headers, market tape ---- */
.hud { grid-template-rows: var(--bar-h) auto auto 1fr auto; }
.tape-bar { overflow: hidden; height: 28px; background: #07090E; border-bottom: 1px solid var(--line-2); mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.tape-track { display: inline-flex; gap: 28px; height: 28px; align-items: center; padding: 0 16px; white-space: nowrap; animation: tape 60s linear infinite; }
.tape-bar:hover .tape-track { animation-play-state: paused; }
.tp { display: inline-flex; gap: 8px; align-items: baseline; font-size: 11.5px; } .tp b { color: var(--text-2); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: 10.5px; } .tp .mono { color: var(--text); } .tp .delta { font-size: 10.5px; }
.card, .tile, .wcard, .panel.mood, .panel.verdicts, .tbl-wrap, .ck, .verdict, .wc-now, .wc-plan, .wl-strip, .pcard, .pgrid, .pplan, .sm-card, .hv, .chip-t, .wc-scores > span { border-radius: 4px; }
.wcard, .pcard, .wl-strip, .panel.mood, .panel.verdicts { box-shadow: none; }
h2 { font-family: var(--mono); font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--text); padding-left: 10px; border-left: 3px solid var(--accent); }
h2 .muted { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-weight: 400; }
.panel h3, .today h3, .meaning h3, .wl-head b, .ideas h3, .admin .card h3 { font-family: var(--mono); letter-spacing: .12em; text-transform: uppercase; font-size: 11px; }
.ideas { margin-top: 14px; } .ideas h3 { margin: 0 0 8px; color: var(--accent); } .ideas h3 .muted { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-weight: 400; }
.ideas-tbl td { font-size: 12px; } .ideas-tbl .btn.sm { padding: 3px 8px; }
.mood-tone { font-family: var(--macro); }
.verdict-word, .pverdict, .tk-sym, .wc-ticker { font-family: var(--macro); }
.readout, .hud-context span, .sc-stamp { font-family: var(--mono); }
.view.home .col-main > .home-top { margin-bottom: 12px; }
@media (max-width: 900px) { .tape-bar { display: none; } }
/* mood and verdicts stack when the main column is narrow */
@media (max-width: 1250px) { .home-top { grid-template-columns: 1fr; } .vrow { grid-template-columns: 56px 118px 128px 1fr auto; } }

/* ---- HOME: world strip, what is moving, where the action is ---- */
.world, .themes, .action { margin: 0 0 12px; padding: 12px 0 0; border-top: 1px solid var(--line); }
.world h3, .themes h3, .action h3 { margin: 0 0 8px; color: var(--accent); display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.world h3 .muted, .themes h3 .muted, .action h3 .muted { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--text-2); }
.world-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.wi { background: var(--surface); padding: 8px 10px; display: grid; gap: 1px; min-width: 0; border-top: 2px solid var(--line-2); }
.wi.up { border-top-color: var(--up); } .wi.down { border-top-color: var(--down); }
.wi-r { font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); } .wi b { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .wi .mono { font-size: 12px; } .wi .delta { font-size: 11px; }
.themes-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px; }
.tb { display: grid; grid-template-columns: 110px 1fr 58px 62px; gap: 8px; align-items: center; font-size: 11.5px; padding: 3px 0; }
.tb-l { color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tb-bar { height: 8px; background: var(--surface-2); border-radius: 2px; overflow: hidden; } .tb-bar i { display: block; height: 100%; background: var(--warn); } .tb-bar i.up { background: var(--up); } .tb-bar i.down { background: var(--down); }
.tb .mono { text-align: right; }
.tg-h { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-weight: 600; margin-bottom: 6px; } .tg-h .muted { text-transform: none; letter-spacing: 0; font-weight: 400; }
.tg { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: baseline; font-size: 12px; padding: 5px 0; border-bottom: 1px dashed var(--line); } .tg b { color: var(--text); font-weight: 600; } .tg .muted { font-size: 11px; }
.act-tbl td { font-size: 12px; } .act-tbl .pill { font-size: 10.5px; white-space: normal; } .act-tbl .btn.sm { padding: 3px 8px; }
.lnk.invite { display: inline-block; margin-top: 6px; color: var(--up); } .lnk.decline { color: var(--muted); }
@media (max-width: 1250px) { .world-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .themes-grid { grid-template-columns: 1fr; } }

/* ---- named watchlists ---- */
.wl-lists { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.ltab { font: inherit; font-size: 12px; font-weight: 600; padding: 5px 10px; border: 1px solid var(--line-2); border-radius: 4px; background: var(--surface-2); color: var(--text-2); cursor: pointer; transition: all .3s cubic-bezier(.16,1,.3,1); }
.ltab:hover { color: var(--text); border-color: var(--accent); } .ltab.active { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.ltab .cnt { font-family: var(--mono); font-size: 10px; margin-left: 6px; opacity: .75; }
.ltab.ghost { background: transparent; border-style: dashed; } .ltab.ghost:hover { color: var(--accent); }
.wl-lists-actions { margin-left: auto; display: flex; gap: 10px; }
.wl-newbar { display: flex; gap: 8px; align-items: center; }
.wl-newinput { font: inherit; font-size: 12.5px; height: 32px; padding: 0 10px; border: 1px solid var(--accent); border-radius: 4px; background: var(--surface-2); color: var(--text); width: 260px; outline: none; }

/* ---- STOCKS: master list on the left, full-width analysis on the right ---- */
.view.stock { grid-template-columns: 340px minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); column-gap: 1px; }
.view.stock .tbl-wrap { border-right: 1px solid var(--line); border-radius: 0; }
.stk-list { table-layout: fixed; } .stk-list th:nth-child(1) { width: 34%; } .stk-list th:nth-child(2) { width: 22%; } .stk-list th:nth-child(3) { width: 26%; } .stk-list th:nth-child(4) { width: 18%; }
.stk-list td { font-size: 11.5px; padding: 7px 8px; overflow: hidden; } .stk-list .meta2 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stk-list td.sym b { display: block; } .stk-list .pill { font-size: 10px; white-space: normal; line-height: 1.2; display: block; }
.stk-list td.sc2 span { display: inline-block; margin-right: 6px; color: var(--muted); font-size: 10.5px; } .stk-list td.sc2 b { color: var(--text); font-family: var(--mono); font-size: 12px; }
.view.stock .detail { padding: 12px 16px 16px; }
.view.stock .detail .card { padding: 12px 14px; }
.detail-grid { grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr); }
.detail-grid .col > * { min-width: 0; }
.detail-grid .ck-list, .detail-grid .kv { font-size: 11.5px; }
.ck-item { grid-template-columns: 18px minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 1250px) { .view.stock { grid-template-columns: 280px minmax(0, 1fr); } .detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .view.stock { display: block; } .view.stock .tbl-wrap { border-right: 0; max-height: 40vh; } }
/* stocks list never scrolls sideways; price-action facts stack inside the analysis pane */
.view.stock .tbl-wrap { overflow-x: hidden; }
.stk-list td > * { max-width: 100%; } .stk-list td.sc2 { white-space: nowrap; } .stk-list td.sc2 .meta2 { white-space: nowrap; }
.view.stock .tile .grid.c2 { grid-template-columns: 1fr; gap: 6px; background: transparent; border: 0; }
.view.stock .tile .grid.c2 .kv { border-top: 1px dashed var(--line); padding-top: 6px; }
.view.stock .tile .grid.c2 .kv:first-child { border-top: 0; padding-top: 0; }
.view.stock .kv dd { text-align: right; overflow-wrap: anywhere; }
.stk-list th:nth-child(1) { width: 36%; } .stk-list th:nth-child(2) { width: 19%; } .stk-list th:nth-child(3) { width: 25%; } .stk-list th:nth-child(4) { width: 20%; }
.stk-list td.sc2 span { display: block; margin: 0; line-height: 1.25; }
/* ---- theme table: model reads first, in words ---- */
.th-tbl { table-layout: fixed; } .th-tbl td { vertical-align: middle; font-size: 12px; }
.th-tbl th:nth-child(1) { width: 17%; } .th-tbl th:nth-child(2) { width: 11%; } .th-tbl th:nth-child(3) { width: 19%; } .th-tbl th:nth-child(4), .th-tbl th:nth-child(5) { width: 13%; } .th-tbl th:nth-child(6), .th-tbl th:nth-child(7) { width: 8%; } .th-tbl th:nth-child(8) { width: 8%; } .th-tbl th:nth-child(9) { width: 3%; }
.th-tbl td.sym b { display: block; } .th-tbl .meta2 { white-space: normal; line-height: 1.3; }
.th-run b { display: inline-block; text-transform: capitalize; font-size: 13px; margin-right: 6px; } .th-run .mono { font-size: 11px; }
.th-bar { height: 5px; background: var(--surface-2); border-radius: 2px; overflow: hidden; margin-top: 4px; } .th-bar i { display: block; height: 100%; background: var(--warn); } .th-bar i.up { background: var(--up); } .th-bar i.up2 { background: var(--pill-ok); } .th-bar i.down { background: var(--down); }
.th-ph .pill { display: block; font-size: 11px; }
.dots { display: inline-flex; gap: 3px; } .dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--surface-2); border: 1px solid var(--line-2); } .dots i.on { background: var(--accent); border-color: var(--accent); } .dots.mv i.on { background: var(--up); border-color: var(--up); }
.th-fl .tag { margin: 1px 2px 1px 0; }
.th-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 11.5px; color: var(--text-2); margin: 0 0 8px; } .th-legend b { color: var(--text); }
@media (max-width: 1250px) { .th-tbl th:nth-child(8), .th-tbl td.th-fl { display: none; } }
.th-tbl td { overflow: hidden; } .th-tbl th:nth-child(3) { width: 16%; } .th-tbl th:nth-child(8) { width: 11%; }
.th-fl { white-space: normal; } .th-fl .tag { display: inline-block; white-space: normal; max-width: 100%; line-height: 1.25; font-size: 9.5px; }

/* ---- theme group strip: a scoreboard you cannot miss ---- */
.gstrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 6px; margin: 10px 0 10px; }
.gsel { position: relative; text-align: left; font: inherit; cursor: pointer; padding: 9px 10px 8px; border: 1px solid var(--line-2); border-radius: 4px; background: var(--surface-2); color: var(--text-2); display: grid; gap: 3px; min-width: 0; transition: transform .35s cubic-bezier(.16,1,.3,1), border-color .35s, background .35s; }
.gsel::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--line-2); }
.gsel.up::before { background: var(--up); } .gsel.down::before { background: var(--down); }
.gsel:hover { transform: translateY(-1px); border-color: var(--accent); color: var(--text); }
.gsel.active { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); box-shadow: 0 0 0 1px var(--accent), 0 8px 24px rgba(255,178,122,.25); }
.gsel.active::before { background: var(--accent-ink); }
.gsel-n { font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gsel-v { font-size: 16px; font-weight: 700; } .gsel.active .gsel-v { color: var(--accent-ink); }
.gsel-s { font-size: 10px; color: var(--muted); display: flex; align-items: center; gap: 6px; white-space: nowrap; } .gsel.active .gsel-s { color: rgba(10,13,20,.75); }
.gsel-bar { display: inline-block; width: 40px; height: 4px; background: rgba(255,255,255,.12); border-radius: 2px; overflow: hidden; } .gsel-bar b { display: block; height: 100%; background: var(--up); } .gsel.active .gsel-bar { background: rgba(10,13,20,.25); } .gsel.active .gsel-bar b { background: var(--accent-ink); }
/* ---- home mood card: playbook fills the space when the verdict list is long ---- */
.panel.mood { grid-template-rows: auto auto auto auto 1fr; }
.playbook { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 10px; border-top: 1px solid var(--line); align-self: end; }
.pb-col h4 { margin: 0 0 6px; font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.pb-col ul { margin: 0; padding-left: 14px; display: grid; gap: 4px; } .pb-col li { font-size: 12px; line-height: 1.4; color: var(--text-2); }
.vlist { max-height: 420px; overflow: auto; }
@media (max-width: 1250px) { .playbook { grid-template-columns: 1fr; } }

/* ---- P0/P1 (2026-09-24): one quote store, conviction words, why bullets, big-money panel, gate offset ---- */
.qx { display: contents; }
.conv { display: inline-flex; align-items: center; font-family: var(--mono); font-size: 9.5px; letter-spacing: .12em; padding: 1px 6px; border-radius: 3px; border: 1px solid currentColor; line-height: 1.5; vertical-align: middle; }
.conv-high { color: var(--up); } .conv-med { color: var(--accent); } .conv-low { color: var(--muted); border-style: dashed; }
.why { margin: 6px 0 0; padding: 0 0 0 14px; font-size: 12px; line-height: 1.4; color: var(--text-2); display: grid; gap: 2px; }
.why li::marker { color: var(--accent); }
.verdict-meta { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: 6px; }
.pverdict .conv { margin-left: 6px; font-size: 9px; }
.v-record { margin-left: auto; font-size: 10.5px; letter-spacing: 0; text-transform: none; color: var(--accent); }
.panel.verdicts h3 { display: flex; align-items: baseline; gap: 8px; }
.bigmoney { margin: 0 0 14px; padding: 12px 14px; border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--line)); border-radius: 8px; background: var(--surface); }
.bigmoney h3 { display: flex; align-items: baseline; gap: 10px; margin: 0 0 6px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.bigmoney h3 .muted { font-size: 10px; letter-spacing: 0; text-transform: none; margin-left: auto; font-family: var(--mono); }
.bigmoney h4 { margin: 0 0 6px; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.bm-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; margin: 8px 0 12px; }
.bm-tile { background: var(--surface-2); padding: 9px 12px; display: grid; gap: 3px; cursor: pointer; border-top: 2px solid transparent; }
.bm-tile.up { border-top-color: var(--up); } .bm-tile.down { border-top-color: var(--down); }
.bm-tile:hover { background: var(--hi-bg); }
.bm-h { display: flex; gap: 8px; align-items: baseline; } .bm-h b { font-family: var(--macro); font-size: 15px; } .bm-h .muted { font-size: 10.5px; }
.bm-tile .px { font-family: var(--mono); font-size: 16px; font-weight: 600; margin-right: 8px; } .bm-tile .delta { font-size: 12px; }
.bm-act, .bm-side { font-size: 11.5px; color: var(--text-2); } .bm-act b { font-family: var(--mono); }
.bm-two { display: grid; grid-template-columns: 1fr; gap: 12px; }
.bigmoney .tb-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 3px 16px; }
.bigmoney .tbl-wrap, .bm-tbl { width: 100%; }
.bm-tbl td { padding: 6px 8px; } .bm-tbl .px { font-family: var(--mono); font-weight: 600; margin-right: 6px; }
.bigmoney .tb { cursor: pointer; } .bigmoney .tb:hover .tb-l { color: var(--accent); }
.src-line { font-size: 11px; color: var(--muted); line-height: 1.5; margin: 0 0 10px; padding: 6px 10px; border-left: 2px solid var(--line-2); }
.src-line b { color: var(--text-2); }
.record h3 { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 6px; }
.tk-price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.tk-verdict .why { max-width: 60ch; }
/* the overlay covers the working area only, so the menu stays clickable behind the sign-in and the disclaimer */
.gate { left: 236px; }
.shell.collapsed ~ .gate { left: 64px; }
.gate-x { position: absolute; top: 14px; right: 16px; width: 32px; height: 32px; border-radius: 999px; border: 1px solid var(--g-hair, rgba(255,255,255,.12)); background: transparent; color: var(--g-dim, #ACACAE); font: inherit; font-size: 20px; line-height: 1; cursor: pointer; z-index: 2; }
.gate-x:hover { color: var(--g-text, #EAEAEC); border-color: var(--g-text, #EAEAEC); }
.disc-card { position: relative; }
@media (max-width: 1100px) { .bm-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .gate, .shell.collapsed ~ .gate { left: 0; } }

/* ---- sign-in: WhatsApp group invitation ---- */
.wa-join { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; margin: 14px 0 6px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(37,211,102,.35); background: linear-gradient(135deg, rgba(37,211,102,.14), rgba(37,211,102,.04)); color: var(--g-text, #EAEAEC); text-decoration: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); transition: transform .25s cubic-bezier(.16,1,.3,1), border-color .25s; }
.wa-join:hover { transform: translateY(-1px); border-color: rgba(37,211,102,.7); }
.wa-join:active { transform: scale(.985); }
.wa-ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 999px; background: #25D366; color: #06110b; box-shadow: 0 0 0 4px rgba(37,211,102,.18); animation: wa-pulse 2.4s ease-in-out infinite; }
@keyframes wa-pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(37,211,102,.18); } 50% { box-shadow: 0 0 0 9px rgba(37,211,102,.06); } }
.wa-t { display: grid; gap: 2px; min-width: 0; } .wa-t b { font-size: 13.5px; } .wa-t span { font-size: 12px; line-height: 1.45; color: var(--g-dim, #ACACAE); }
.wa-join i { font-style: normal; font-weight: 700; font-size: 12.5px; color: #25D366; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .wa-ic { animation: none; } }

/* ---- Voices moving the tape: Trump posts + Reddit crowd ---- */
.voices { margin: 0 0 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.voices h3 { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 0 0 6px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.voices h3 .muted { font-size: 10px; letter-spacing: 0; text-transform: none; }
.voices h4 { margin: 0 0 6px; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.voices h4 .muted { letter-spacing: 0; text-transform: none; font-size: 10.5px; }
.voices-grid { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(0, 1.4fr); gap: 16px; align-items: start; margin-top: 8px; }
.tp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.tp-post { background: var(--surface-2); padding: 8px 10px; display: grid; gap: 4px; } .tp-post.dim { opacity: .55; }
.tp-meta { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; font-size: 10.5px; } .tp-meta samp { color: var(--muted); }
.tp-meta .tag { margin: 0; font-size: 9.5px; } .tp-meta .pill { font-size: 10px; }
.tp-text { font-size: 12.5px; line-height: 1.4; color: var(--text); }
.cr-tbl td { padding: 6px 8px; } .cr-tbl .px { font-family: var(--mono); font-weight: 600; margin-right: 6px; }
@media (max-width: 1100px) { .voices-grid { grid-template-columns: 1fr; } }

/* ---- home hero: big money and voices side by side, same frame, same rhythm ---- */
.home-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin: 0 0 14px; align-items: stretch; }
.home-hero > section { margin: 0; display: grid; grid-template-rows: auto auto 1fr; align-content: start; gap: 0; min-width: 0; border-radius: 8px; padding: 12px 14px; }
.home-hero > section > h3 { min-height: 34px; align-items: center; margin: 0 0 4px; }
.home-hero > section > .explain { min-height: 92px; }
.home-hero .bigmoney { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); }
.home-hero .voices { border-color: var(--line); }
.bm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 6px 0 10px; }
.bm-tile { padding: 8px 10px; } .bm-tile .px { font-size: 15px; }
.bm-two { gap: 10px; }
.bigmoney .tb-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 14px; }
.voices-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 6px; }
.tp-post { padding: 7px 10px; } .tp-text { font-size: 12px; }
/* price + change stack inside table cells (as they always did); stay inline in tiles */
.tbl td .qx { display: grid; justify-items: end; gap: 1px; } .tbl td .qx .px { margin: 0; font-family: var(--mono); font-weight: 600; } .tbl td .qx .delta { font-size: 11px; }
.tbl td.sym { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-hero .tbl th, .home-hero .tbl td { padding: 5px 6px; }
@media (max-width: 1250px) { .home-hero { grid-template-columns: 1fr; } }
/* hero fit: give the two panels room, keep every table inside its column */
.view.home { grid-template-columns: minmax(0, 2.7fr) minmax(280px, 0.85fr); }
.home-hero .tbl { width: 100%; table-layout: fixed; font-size: 11.5px; }
.home-hero .tbl th { font-size: 9.5px; letter-spacing: .05em; padding: 5px 5px; white-space: normal; }
.home-hero .tbl td { padding: 5px 5px; overflow: hidden; text-overflow: ellipsis; }
.home-hero .tbl td.sym { max-width: none; } .home-hero .tbl td.sym b { display: block; }
.home-hero .tbl .meta2 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-hero .tbl .pill { white-space: normal; line-height: 1.2; display: inline-block; font-size: 10px; }
.home-hero .bm-tbl th:nth-child(1), .home-hero .bm-tbl td:nth-child(1) { width: 27%; }
.home-hero .bm-tbl th:nth-child(2), .home-hero .bm-tbl td:nth-child(2) { width: 18%; }
.home-hero .bm-tbl th:nth-child(3), .home-hero .bm-tbl td:nth-child(3) { width: 16%; }
.home-hero .bm-tbl th:nth-child(4), .home-hero .bm-tbl td:nth-child(4) { width: 17%; }
.home-hero .cr-tbl th:nth-child(1), .home-hero .cr-tbl td:nth-child(1) { width: 26%; }
.home-hero .cr-tbl th:nth-child(2), .home-hero .cr-tbl td:nth-child(2) { width: 17%; }
.home-hero .cr-tbl th:nth-child(3), .home-hero .cr-tbl td:nth-child(3) { width: 17%; }
.home-hero .cr-tbl th:nth-child(4), .home-hero .cr-tbl td:nth-child(4) { width: 18%; }
.home-hero .tbl td.num .qx .px { font-size: 11.5px; } .home-hero .tbl td.num .qx .delta { font-size: 10px; }
.home-hero .tb-l { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1250px) { .view.home { grid-template-columns: minmax(0, 2.1fr) minmax(300px, 1fr); } }

/* =====================================================================================
   PHONE LAYOUT (<= 700px): one column, normal page scroll, compact sticky menu, tables
   that scroll inside their own box instead of pushing the page sideways.
   ===================================================================================== */
@media (max-width: 700px) {
  html, body { overflow: auto; height: auto; }
  body { -webkit-text-size-adjust: 100%; }
  .shell { display: block; height: auto; grid-template-rows: none; }
  .shell > .hud, .shell > .side { height: auto; }
  /* menu: brand + a swipeable icon row, sticky at the top, nothing else */
  .side { position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto; align-items: center; gap: 0; padding: 0; background: var(--surface); border-bottom: 1px solid var(--line-2); }
  .side-brand { padding: 6px 8px 6px 10px; height: auto; gap: 6px; } .side-brand .logo { width: 26px; height: 26px; } .brand-text { display: none; }
  .side-nav { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 6px 6px; gap: 4px; }
  .side-nav::-webkit-scrollbar { display: none; }
  .side-item { flex: none; width: auto; padding: 6px 10px; gap: 6px; font-size: 12px; border-radius: 999px; } .side-item .nav-ico { width: 22px; height: 22px; }
  .side-item .side-label .cnt { display: none; }
  .side-group, .side-sub, .side-item kbd, .side-foot, .side-toggle { display: none !important; }
  /* top bar: one row that wraps, no long readouts */
  .hud { display: block; height: auto; }
  .hud-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 6px 10px; border-bottom: 1px solid var(--line-2); }
  .hud-context { padding: 0; } .hud-context b { font-size: 13px; } .hud-context span { display: none; }
  .hud-spacer { display: none; }
  .hud-status { border: 0; padding: 0; gap: 6px; margin-left: auto; flex-wrap: wrap; white-space: normal; }
  #generated-line, #session-line, .readout.count { display: none; }
  .hud-status .btn { padding: 6px 10px; font-size: 10.5px; min-height: 32px; }
  .tape-bar { display: none; }
  .notice { padding: 6px 10px; font-size: 12px; }
  /* content: normal flow, 12px gutters, nothing wider than the screen */
  main { overflow: visible; height: auto; min-height: 0; }
  #app { overflow-x: hidden; }
  .view, .view.one, .view.home, .view.stock, .view.sub, .view.news { display: block; height: auto; min-height: 0; overflow: visible; }
  .view.home .col-main, .view.one > section, .view.one > .card, .view.news > div, .subview, .today .panel { padding: 10px 12px; overflow: visible; min-width: 0; }
  .view.home .col-main > section, .view.home .col-main > .home-top, .view.home .col-main > .home-hero { margin-bottom: 10px; }
  .today { display: block; overflow: visible; } .feed { max-height: none; overflow: visible; }
  .home-hero, .home-top, .bm-two, .voices-grid, .pgrid, .detail-grid, .grid, .grid.c2, .grid.c3, .grid.c4, .grid.c5, .grid.c6, .themes-grid, .idx-grid, .hz-cross, .th-cross, .regime, .judg, .facts, .mean-grid, .playbook, .admin-grid, .sm-board { grid-template-columns: 1fr !important; }
  .home-hero > section { padding: 10px 12px; } .home-hero > section > .explain { min-height: 0; } .home-hero > section > h3 { min-height: 0; }
  .bm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bm-tile { padding: 8px 9px; } .bm-h b { font-size: 14px; } .bm-tile .px { font-size: 14px; }
  .bm-act, .bm-side { font-size: 11px; }
  /* tables: readable size, scroll sideways inside their own box when they must */
  .tbl-wrap, .home-hero .tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-height: none; border-right: 0; }
  .tbl { font-size: 11.5px; } .tbl th { padding: 6px 6px; font-size: 9.5px; } .tbl td { padding: 6px 6px; }
  .home-hero .tbl { table-layout: fixed; }
  .home-hero .bm-tbl th:nth-child(3), .home-hero .bm-tbl td:nth-child(3) { display: none; }         /* dollars traded: one tap away on the name */
  .home-hero .cr-tbl th:nth-child(4), .home-hero .cr-tbl td:nth-child(4) { display: none; }         /* price column; the change shows on the name's page */
  .home-hero .bm-tbl th:nth-child(1), .home-hero .bm-tbl td:nth-child(1), .home-hero .cr-tbl th:nth-child(1), .home-hero .cr-tbl td:nth-child(1) { width: 34%; }
  .act-tbl, .sc-tbl, .lf-tbl, .th-tbl, .hz-tbl, .op-tbl, .ideas-tbl, .stk-list { min-width: 640px; }
  .act-tbl { min-width: 520px; }
  /* mood, verdicts, cards */
  .mood-tone { font-size: 26px; } .facts { grid-template-columns: repeat(2, 1fr) !important; }
  .vrow { grid-template-columns: 52px 1fr auto; gap: 6px 8px; } .vrow .v-intra, .vrow .v-why { display: none; }
  .panel.verdicts h3 { flex-wrap: wrap; } .v-record { margin-left: 0; }
  .pcard-h, .wc-head, .tk-hero { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .tk-hero { padding: 12px; } .tk-sym { font-size: 26px; } .tk-actions { flex-wrap: wrap; }
  .pcol { padding: 10px; } .pverdict { font-size: 18px; }
  .verdict-word { font-size: 17px; } .why { font-size: 11.5px; }
  .wl-strip .wl-lists { overflow-x: auto; flex-wrap: nowrap; } .wl-chips { gap: 5px; } .wl-add { width: 100%; } #search { width: 100%; }
  .search-results { position: fixed; left: 8px; right: 8px; top: 120px; width: auto; max-height: 55vh; }
  .voices .tp-text { font-size: 12px; } .tp-post { padding: 8px 9px; }
  .stk-list tbody tr td:last-child { display: none; } .stk-list thead th:last-child { display: none; }
  #stock-detail { margin-top: 10px; } .detail-head { display: flex; flex-wrap: wrap; gap: 6px 10px; }
  .chart, .chart.tall, .chart.wk { height: 220px; }
  .subtabs, .tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
  .tab, .btn, .btn.sm, .lnk, .chip-t button, .ltab { min-height: 34px; }
  .meaning .mean-row { grid-template-columns: 1fr; gap: 2px; }
  footer { position: static; white-space: normal; overflow: visible; text-overflow: clip; padding: 8px 12px; line-height: 1.5; border-top: 1px solid var(--line); }
  /* sign-in and disclaimer on a phone */
  .gate { left: 0; padding: 12px; overflow-x: hidden; place-items: start center; }
  .login-split { grid-template-columns: 1fr; gap: 12px; } .lg-hero { padding: 6px 4px; } .lg-mark img { width: 72px; height: 72px; }
  .lg-h { font-size: 22px; } .lg-feats { display: none; } .lg-tape { display: none; }
  .wa-join { grid-template-columns: auto minmax(0, 1fr); margin: 10px 0; padding: 10px 12px; } .wa-join i { grid-column: 2; justify-self: start; }
  .g-shell, .g-shell.wide, .disc-card, .lg-card { width: 100%; max-width: 100%; }
  .g-core, .disc-core { padding: 18px 16px; } .gate h1, .disc-h { font-size: 22px; } .disc-body p { font-size: 13px; }
  .hexflow { transform: scale(.85); transform-origin: left center; }
  .gate-x { top: 8px; right: 8px; }
}
@media (max-width: 700px) {
  .action, .ideas, .sm-section, .op-section, .th-section, .sc-section, .lf-section, .hz-section, .idx-section, .record { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .bigmoney .tb-list { grid-template-columns: 1fr; }
  .home-hero .tbl .meta2 { white-space: normal; }
}
@media (max-width: 700px) {
  .lg-foot { position: static; transform: none; margin: 14px 0 4px; text-align: center; font-size: 11px; }
  .login-stage, .disc-stage { display: grid; align-content: start; }
}
@media (max-width: 700px) {
  .login-stage { grid-template-rows: auto auto; min-height: 100dvh; }
  .login-split { height: auto; min-height: 0; align-items: start; }
  .lg-card, .g-shell.lg-card { position: relative; }
}
@media (max-width: 700px) {
  .gate { align-items: start; justify-items: stretch; align-content: start; }
  .login-stage, .disc-stage { height: auto; align-self: start; }
  .login-split { align-self: start; }
}


/* =====================================================================================
   ONEVIEW IDENTITY (brand guide): navy canvas, system type, top navigation, calm motion.
   This block sits last so it wins over the older component rules.
   ===================================================================================== */
html, body { background: var(--canvas); color: var(--text); font-family: var(--font); }
body { font-size: 14px; line-height: 1.45; }
.mono, .num, .px, .delta, .readout, samp, .kv dd, .tbl td.num, .tile-value, .fact-v, .gsel-v, .tf-score, .tf-meta, .hz-v { font-family: var(--font); font-variant-numeric: tabular-nums; }
h1, h2, h3, h4 { font-family: var(--font); letter-spacing: -0.02em; }
h2 { font-size: 20px; font-weight: 600; text-transform: none; letter-spacing: -0.02em; }
h2 .muted, h3 .muted { text-transform: none; letter-spacing: 0; font-weight: 400; }
h3, .panel h3, .today h3, .voices h3, .bigmoney h3, .record h3 { font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: -0.01em; color: var(--text); }
h3::before, h2::before { display: none !important; }
.tile-label, .side-group, .th, .tbl th { text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 600; color: var(--muted); }
.tbl { font-size: 13.5px; line-height: 1.45; } .tbl th { padding: 8px 10px; } .tbl td { padding: 8px 10px; }
.card, .panel, .tile, .wcard, .pcard, .sm-card, .bm-tile, .tp-post, .bigmoney, .voices, .action, .meaning, .world, .themes, .panel.mood, .panel.verdicts, .idx, .detail > .card { border-radius: var(--radius); border-color: var(--line); background: var(--surface); }
.bm-grid, .vlist, .tp-list, .facts, .mean-grid, .tbl-wrap, .search-results, .wl-strip, .ideas { border-radius: 10px; }
.btn, .btn.sm, .tab, .ltab, .gsel, .chip, .pill-btn, .hz-btn { border-radius: var(--control-radius); font-family: var(--font); text-transform: none; letter-spacing: 0; font-weight: 600; }
.btn { background: var(--brand); color: #fff; border: 1px solid transparent; min-height: 40px; padding: 8px 14px; font-size: 13px; }
.btn:hover { background: var(--brand-hover); color: #fff; }
.btn.ghost, .btn.sm.ghost { background: transparent; color: var(--text); border-color: var(--input-border); } .btn.ghost:hover { background: var(--brand-tint); border-color: var(--brand-text); }
.btn.sm { min-height: 32px; padding: 5px 10px; font-size: 12px; }
.btn:disabled { opacity: .6; cursor: default; }
a { color: var(--brand-text); }
:focus-visible { outline: 3px solid var(--brand-text) !important; outline-offset: 3px; }
::selection { background: var(--brand-tint); color: var(--text); }
input, select, textarea { font-family: var(--font); }
.skip { position: absolute; left: -999px; top: 8px; background: var(--brand); color: #fff; padding: 8px 12px; border-radius: 8px; z-index: 200; } .skip:focus { left: 8px; }
/* ---- shell: top navigation, then the page ---- */
.shell { display: grid; grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); height: 100%; }
.shell.collapsed { grid-template-columns: 1fr; }
.topbar { display: flex; align-items: center; gap: 24px; padding: 0 24px; height: 64px; background: var(--canvas); border-bottom: 1px solid var(--line); border-right: 0; }
.brand-link { display: inline-flex; align-items: center; flex: none; padding: 0; border: 0; height: auto; }
.brand-logo { width: 185px; height: auto; display: block; mix-blend-mode: lighten; }
.topnav { display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; padding: 0; min-width: 0; flex: 1 1 auto; }
.topnav::-webkit-scrollbar { display: none; }
.topnav .side-group, .topnav .side-sub, .topnav .nav-ico, .topnav kbd, .topnav .cnt { display: none !important; }
.topnav .side-item { width: auto; flex: none; gap: 0; padding: 10px 12px; border-radius: 8px; border: 1px solid transparent; background: transparent; color: var(--muted); font-size: 13.5px; font-weight: 500; white-space: nowrap; min-height: 40px; box-shadow: none; --vc: var(--brand-text); }
.topnav .side-item:hover { color: var(--text); background: var(--surface); }
.topnav .side-item.active { color: var(--brand-text); background: var(--brand-tint); border-color: transparent; font-weight: 600; box-shadow: none; }
.top-right { display: flex; align-items: center; gap: 12px; flex: none; border: 0; padding: 0; font-size: 12.5px; color: var(--muted); }
.top-right .side-links, .top-right .side-hint, .top-right .invite { display: none; }
.top-right .side-user { font-family: var(--font); font-size: 12.5px; color: var(--text); max-width: 220px; }
.top-right .lnk { color: var(--brand-text); }
.hud { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr) auto; height: 100%; }
.hud-bar { display: flex; align-items: center; gap: 16px; padding: 10px 24px; min-height: 56px; background: var(--canvas); border-bottom: 1px solid var(--line); box-shadow: none; grid-template-columns: none; }
.hud-context { padding: 0; display: grid; gap: 2px; }
.hud-context b { font-size: 22px; font-weight: 600; letter-spacing: -0.03em; font-family: var(--font); }
.hud-context span { font-family: var(--font); font-size: 12.5px; color: var(--muted); letter-spacing: 0; text-transform: none; }
.horizon { display: flex; gap: 2px; padding: 3px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; margin-left: 8px; }
.horizon[hidden] { display: none !important; }
.hz-btn { border: 0; background: transparent; color: var(--muted); padding: 8px 12px; font-size: 13px; border-radius: 6px; cursor: pointer; min-height: 36px; }
.hz-btn:hover { color: var(--text); } .hz-btn.on { background: var(--brand-tint); color: var(--brand-text); font-weight: 600; }
.hud-status { border: 0; padding: 0; gap: 10px; }
.readout { font-family: var(--font); font-size: 12.5px; letter-spacing: 0; text-transform: none; color: var(--muted); }
.readout.count { color: var(--muted); font-weight: 500; min-width: 0; }
.badge, #market-state { text-transform: none; letter-spacing: 0; }
.tape-bar { background: var(--surface); border-bottom: 1px solid var(--line); }
.tape-bar .tp b { color: var(--muted); font-weight: 500; }
.notice { background: var(--brand-tint); border-bottom: 1px solid var(--brand-text); color: var(--text); }
footer { text-transform: none; letter-spacing: 0; font-size: 12px; color: var(--muted); padding: 10px 24px; border-top: 1px solid var(--line); }
.view.home .col-main, .view.one > section, .view.one > .card, .view.news > div, .subview { padding: 20px 24px; }
.view, .view.home, .view.stock, .view.news { gap: 1px; background: var(--line); }
.mood-tone, .verdict-word, .pverdict, .tk-sym, .wc-ticker, .v-t, .bm-h b, .sm-t { font-family: var(--font); font-weight: 600; letter-spacing: -0.02em; text-transform: none; }
.mood-tone { font-size: 30px; } .verdict-word { font-size: 18px; } .pverdict { font-size: 18px; }
.pill { border-radius: 999px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.conv { font-family: var(--font); letter-spacing: .06em; border-radius: 4px; }
.tag { text-transform: none; letter-spacing: 0; border-radius: 6px; }
.lean, .wc-lean .lean { text-transform: none; letter-spacing: 0; }
.explain { color: var(--muted); font-size: 13px; line-height: 1.5; }
.meta2 { color: var(--muted); }
.verdict.up, .pverdict.up { border-color: color-mix(in srgb, var(--up) 45%, var(--line)); }
.verdict.down, .pverdict.down { border-color: color-mix(in srgb, var(--down) 45%, var(--line)); }
.bigmoney, .home-hero .bigmoney { border-color: var(--line); }
.bigmoney h3, .voices h3 { color: var(--text); }
.tb-bar i.up, .tf-bar i.up { background: var(--up); } .tb-bar i.down, .tf-bar i.down { background: var(--down); }
.gsel.active { border-color: var(--brand-text); background: var(--brand-tint); }
.tab.active, .ltab.active, .subtabs .tab.active { background: var(--brand-tint); color: var(--brand-text); border-color: transparent; }
.wa-ic { animation: none; box-shadow: none; } .wa-join { border-color: var(--line); background: var(--surface); border-radius: var(--radius); }
.wa-join:hover { transform: none; border-color: var(--brand-text); } .wa-join i { color: var(--brand-text); }
.chip-t .st-dot.up { background: var(--up); } .chip-t .st-dot.down { background: var(--down); }
/* the chosen timeframe leads on the watchlist cards */
.pgrid .pcol { order: 2; } .pgrid.h-day .pcol.day, .pgrid.h-swing .pcol.swing, .pgrid.h-long .pcol.long { order: 1; box-shadow: inset 0 0 0 1px var(--brand-text); background: var(--brand-tint); }
.pgrid.h-day .pcol.day .pcol-h, .pgrid.h-swing .pcol.swing .pcol-h, .pgrid.h-long .pcol.long .pcol-h { color: var(--brand-text); }
/* ---- sign-in and disclaimer: navy split layout ---- */
.gate { left: 0; background: var(--canvas); padding: 0; display: block; overflow: auto; font-family: var(--font); color: var(--text); --g-bg: var(--canvas); --g-core: var(--surface); --g-text: var(--text); --g-dim: var(--muted); --g-mute: var(--muted); --g-hair: var(--line); }
.gate::after { display: none; }
.gate.leaving { opacity: 0; transition: opacity 160ms ease-out; }
.ov-login { display: grid; grid-template-columns: 55fr 45fr; min-height: 100dvh; background: var(--canvas); }
.ov-brand { padding: 40px 56px 56px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; border-right: 1px solid var(--line); }
.ov-logo { display: block; height: auto; mix-blend-mode: lighten; margin-left: -8px; }
.ov-tagline { margin: 0 0 20px; font-size: clamp(40px, 4.4vw, 60px); line-height: 1.06; letter-spacing: -0.045em; font-weight: 600; color: var(--text); }
.ov-tagline span { color: var(--brand-text); }
.ov-statement p { margin: 0; max-width: 420px; font-size: 16px; line-height: 1.5; color: var(--muted); }
.ov-fine { margin: 0; font-size: 12.5px; color: var(--muted); }
.ov-formpanel { display: flex; align-items: center; justify-content: center; padding: 56px 40px; }
.ov-form { width: 100%; max-width: 380px; display: grid; gap: 12px; }
.ov-form-wide { max-width: 640px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; position: relative; }
.ov-form h1, .gate .ov-form h1 { margin: 0 0 4px; font-size: 28px; font-weight: 600; letter-spacing: -0.035em; line-height: 1.15; color: var(--text); }
.ov-form > p, .gate .ov-form > p { margin: 0 0 12px; font-size: 15px; line-height: 1.5; color: var(--muted); }
.ov-fields { display: grid; gap: 8px; }
.ov-fields label { font-size: 14px; font-weight: 600; color: var(--text); }
.ov-fields input, .gate .ov-fields input { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--input-border); border-radius: var(--control-radius); background: var(--surface); color: var(--text); font: inherit; font-size: 16px; box-shadow: none; }
.ov-fields input:focus { outline: 3px solid var(--brand-text); outline-offset: 3px; border-color: var(--brand-text); }
.ov-primary, a.ov-primary { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 0 18px; margin-top: 8px; border: 0; border-radius: var(--control-radius); background: var(--brand); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none; transition: background 140ms ease; }
.ov-primary:hover { background: var(--brand-hover); } .ov-primary:disabled { opacity: .55; cursor: default; }
.ov-hint { text-align: center; font-size: 13px; color: var(--muted); margin-top: 4px; }
.gate-status { font-size: 14px; color: var(--text); min-height: 1.4em; } .gate-status.err { color: var(--down); }
.mail-line { font-size: 12.5px; color: var(--muted); border: 0; padding: 0; background: transparent; } .mail-line b { color: var(--text); }
.ov-eyebrow { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.disc-h, .gate .disc-h { font-size: 26px; }
.disc-body p, .gate .disc-body p { font-size: 14px; line-height: 1.55; color: var(--muted); margin: 0 0 10px; }
.gate .ck { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--text); } .gate .ck input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--brand); }
.gate-actions { display: grid; gap: 10px; } .gate .lnk.decline { color: var(--muted); font-size: 13px; background: none; border: 0; cursor: pointer; text-align: left; }
.gate-x { border-color: var(--line); color: var(--muted); } .gate-x:hover { color: var(--text); border-color: var(--text); }
.sent-timer { display: flex; gap: 10px; align-items: baseline; font-size: 13px; color: var(--muted); } .sent-timer b { font-size: 18px; color: var(--text); font-variant-numeric: tabular-nums; }
.gate .lnk { color: var(--brand-text); background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
/* ---- phone: logo, statement, form; single column app with the top bar ---- */
@media (max-width: 700px) {
  .topbar { height: auto; padding: 8px 12px; gap: 8px; flex-wrap: wrap; position: sticky; top: 0; z-index: 30; }
  .brand-logo { width: 150px; }
  .top-right { margin-left: auto; }
  .topnav { order: 3; width: 100%; flex-basis: 100%; }
  .topnav .side-item { padding: 8px 10px; min-height: 36px; font-size: 13px; }
  .hud-bar { padding: 8px 12px; }
  .hud-context b { font-size: 18px; }
  .horizon { margin-left: 0; } .hz-btn { padding: 8px 10px; }
  .ov-login { grid-template-columns: 1fr; min-height: 0; }
  .ov-brand { padding: 20px 20px 8px; border-right: 0; gap: 20px; }
  .ov-logo { width: 170px; margin-left: -6px; }
  .ov-tagline { font-size: 36px; }
  .ov-fine { display: none; }
  .ov-formpanel { padding: 12px 20px 40px; align-items: start; }
  .ov-form-wide { padding: 20px 16px; }
  footer, .view.home .col-main, .view.one > section, .subview { padding-left: 12px; padding-right: 12px; }
}
/* tagline and statement beat the generic gate heading rules */
.gate .ov-brand .ov-tagline { font-size: clamp(40px, 4.4vw, 60px); line-height: 1.06; letter-spacing: -0.045em; font-weight: 600; border: 0; padding: 0; margin: 0 0 20px; color: var(--text); }
.gate .ov-brand .ov-tagline span { display: inline; color: var(--brand-text); }
.gate .ov-statement p { font-size: 16px; line-height: 1.5; color: var(--muted); max-width: 420px; }
.gate .ov-form h1 { font-size: 28px; font-weight: 600; border: 0; padding: 0; }
.gate .ov-brand .ov-logo { width: 235px; }
@media (max-width: 700px) { .gate .ov-brand .ov-tagline { font-size: 36px; } .gate .ov-brand .ov-logo { width: 170px; } }
/* inner grid tiles stay square; section sub-headings in sentence case; one place for the account controls */
.bm-tile, .tp-post, .vrow, .fact, .mean-row, .wi { border-radius: 0; }
.bigmoney h4, .voices h4, .record h3, .sc-head h2, .th-legend { text-transform: none; letter-spacing: 0; }
.bigmoney h4, .voices h4 { font-size: 13px; font-weight: 600; color: var(--text); }
.top-right { display: none !important; }
.hud-status .btn.logout { text-transform: none; letter-spacing: 0; }
.chip, .sc-bar .chip { text-transform: none; letter-spacing: 0; border-radius: 6px; }
.eyebrow, .side-group, .th-run b, .tile-label { text-transform: none; letter-spacing: 0; }

/* ---- top bar: brand left, sections centre, account and refresh right; icons everywhere they are universal ---- */
.topbar { justify-content: flex-start; }
.top-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; flex: none; border: 0; padding: 0; white-space: nowrap; }
.top-actions .badge { font-size: 12.5px; color: var(--muted); padding: 0 6px; }
.icon-btn { display: inline-flex; align-items: center; gap: 7px; }
.icon-btn .ico { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.btn.ghost.icon-btn { color: var(--text); border-color: var(--line-2); background: var(--surface); }
.btn.ghost.icon-btn:hover { border-color: var(--brand-text); background: var(--brand-tint); }
#refresh-btn:disabled { opacity: .7; }
.topnav .nav-ico { display: inline-grid !important; place-items: center; width: 18px; height: 18px; margin-right: 8px; background: transparent; border-radius: 0; }
.topnav .nav-ico svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; filter: none; }
.topnav .side-item { display: inline-flex; align-items: center; }
.topnav .side-item.active .nav-ico { background: transparent; } .topnav .side-item.active .nav-ico svg { stroke: var(--brand-text); }
.hud-stamps { display: flex; align-items: center; gap: 12px; margin-left: auto; flex: none; }
.hud-bar .readout.count { color: var(--brand-text); }
@media (max-width: 700px) {
  .top-actions { margin-left: auto; order: 2; gap: 6px; }
  .icon-btn .lbl { display: none; } .icon-btn { width: 40px; height: 40px; justify-content: center; padding: 0; }
  .icon-btn .ico { width: 18px; height: 18px; }
  .top-actions .badge { display: none; }
  .topnav { order: 3; }
  .topnav .nav-ico { margin-right: 6px; }
  .hud-stamps { display: none; }
}
/* page heading per the guide: 28px on desktop */
@media (min-width: 701px) { .hud-context b { font-size: 28px; } .hud-bar { min-height: 64px; } }
@media (min-width: 701px) { .home-hero > section > .explain { min-height: 98px; } }

/* ---- top bar, contrast pass: bright links, flat icons, clear active pill, never clipped ---- */
.topbar { gap: 16px; padding: 0 20px; background: #131315; border-bottom: 1px solid #39393B; }
.topnav { gap: 2px; flex: 1 1 auto; min-width: 0; overflow: hidden; }
.topnav .side-item { color: #E0E0E2; font-weight: 500; font-size: 14px; padding: 9px 12px; border-radius: 8px; opacity: 1; }
.topnav .side-item:hover { color: #FFFFFF; background: #212123; }
.topnav .side-item.active { color: #FFFFFF; background: #FF7A2F; font-weight: 600; }
.topnav .side-item.active .nav-ico svg { stroke: #FFFFFF; }
.topnav .nav-ico { width: 18px; height: 18px; margin-right: 7px; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0; }
.topnav .nav-ico svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.8; opacity: .95; }
.top-actions { gap: 10px; }
.top-actions .badge { display: inline-flex; align-items: center; gap: 6px; color: #E0E0E2; font-size: 13px; padding: 0 10px; height: 36px; border: 1px solid #39393B; border-radius: 8px; background: #19191B; }
.btn.ghost.icon-btn { color: #FFFFFF; border-color: #4A4A4C; background: #212123; font-weight: 600; height: 40px; }
.btn.ghost.icon-btn:hover { background: #2C2C2E; border-color: #FFB27A; }
#refresh-btn:disabled { opacity: .75; color: #E0E0E2; }
.brand-logo { margin-right: 4px; }
/* tighten before anything can clip: text-only, then icons only with the label as a tooltip */
@media (max-width: 1560px) { .topnav .nav-ico { display: none !important; } .topnav .side-item { padding: 9px 11px; } }
@media (max-width: 1400px) { .topnav .side-item { font-size: 13.5px; padding: 8px 9px; } .btn.ghost.icon-btn .lbl { display: none; } .btn.ghost.icon-btn { width: 40px; padding: 0; justify-content: center; } .top-actions .badge { display: none; } }
@media (max-width: 1180px) and (min-width: 701px) { .topnav .side-item { padding: 8px 7px; font-size: 13px; } }
@media (max-width: 1100px) and (min-width: 701px) { .topnav .nav-ico { display: inline-grid !important; margin: 0; } .topnav .side-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .topnav .side-item { width: 40px; height: 40px; padding: 0; justify-content: center; } }
@media (max-width: 700px) { .topnav .nav-ico { display: inline-grid !important; } .topnav .side-item { color: #E0E0E2; } .topnav .side-item.active { background: #FF7A2F; color: #fff; } }

/* ---- morning briefing ---- */
.brief { margin: 0 0 14px; border: 1px solid var(--brand-text); border-radius: var(--radius); background: var(--surface); padding: 0; }
.brief.stale { border-color: var(--line); }
.brief details { padding: 12px 16px; } .brief summary { cursor: pointer; display: flex; gap: 10px; align-items: baseline; list-style: none; }
.brief summary::-webkit-details-marker { display: none; }
.bf-title { font-size: 15px; font-weight: 600; } .brief summary .muted { font-size: 12px; }
.bf-summary { margin: 10px 0 12px; font-size: 15px; line-height: 1.5; max-width: 90ch; }
.bf-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.bf-chip { display: inline-flex; flex-direction: column; gap: 1px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-2); min-width: 96px; }
.bf-l { font-size: 11px; color: var(--muted); } .bf-v { font-size: 13.5px; font-weight: 600; font-variant-numeric: tabular-nums; } .bf-v small { font-size: 11px; margin-left: 4px; }
.bf-two { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px; }
.brief h4 { margin: 8px 0 6px; font-size: 13px; font-weight: 600; } .brief h4 .muted { font-weight: 400; font-size: 12px; }
.bf-idx-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bf-idx { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; background: var(--surface-2); display: grid; gap: 6px; }
.bf-idx.up { border-color: color-mix(in srgb, var(--up) 45%, var(--line)); } .bf-idx.down { border-color: color-mix(in srgb, var(--down) 45%, var(--line)); }
.bf-idx-h { display: flex; gap: 8px; align-items: baseline; } .bf-idx-h b { font-size: 16px; }
.bf-megas { display: flex; flex-wrap: wrap; gap: 6px; }
.bf-mega { display: inline-flex; gap: 6px; align-items: baseline; padding: 5px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-2); font-size: 12.5px; cursor: pointer; }
.bf-mega i { font-style: normal; color: var(--muted); font-size: 11px; } .bf-mega i.up { color: var(--up); } .bf-mega i.down { color: var(--down); }
.bf-list { margin: 0; padding: 0 0 0 4px; list-style: none; display: grid; gap: 5px; font-size: 12.5px; line-height: 1.45; } .bf-list samp { color: var(--muted); margin-right: 6px; }
@media (max-width: 900px) { .bf-two, .bf-idx-grid { grid-template-columns: 1fr; } }

/* =====================================================================================
   Balanced palette: dark stays navy but less blue in the panels; light theme; toggle; briefings row
   ===================================================================================== */
:root { --surface: #151517; --surface-2: #1A1A1C; --line: #2F2F31; --line-2: #3F3F41; --topbar: #121214; --nav-text: #E0E0E2; --nav-hover: #1F1F21; --hi-bg: #221A14; --brand-tint: #241810; }
:root[data-theme="light"] { color-scheme: light; --canvas: #F4F6FA; --bg: #F4F6FA; --surface: #FFFFFF; --surface-2: #F1F4F9; --line: #E1E1E3; --line-2: #D1D1D3; --input-border: #959597;
  --text: #111113; --text-2: #39393B; --muted: #646466; --brand: #FF7A2F; --brand-hover: #D95A12; --brand-text: #E0621A; --brand-tint: #FFE9DA; --hi-bg: #FFE9DA;
  --up: #0F8F5F; --down: #C43B4E; --warn: #9A6B00; --flat: #646466; --accent: #E0621A; --accent-ink: #FFFFFF; --s1: #E0621A; --s2: #9A6B00; --s3: #646466;
  --pill-ok-bg: #DDF5EA; --pill-ok: #0F6B48; --pill-warn-bg: #FFF1D6; --pill-warn: #7A5300; --pill-bad-bg: #FDE2E6; --pill-bad: #9E2A3A; --pill-acc-bg: #FFE9DA; --pill-acc: #E0621A;
  --topbar: #FFFFFF; --nav-text: #39393B; --nav-hover: #F2F2F4; }
.topbar { background: var(--topbar); border-bottom-color: var(--line); }
.topnav .side-item { color: var(--nav-text); } .topnav .side-item:hover { background: var(--nav-hover); color: var(--text); }
.top-actions .badge { color: var(--text-2); border-color: var(--line); background: var(--surface); }
.btn.ghost.icon-btn { color: var(--text); border-color: var(--line-2); background: var(--surface); }
.btn.ghost.icon-btn:hover { background: var(--hi-bg); border-color: var(--brand-text); }
#refresh-btn:disabled { color: var(--muted); }
.hud-bar, .hud-context b { background: transparent; }
:root[data-theme="light"] .brand-logo, :root[data-theme="light"] .ov-logo { mix-blend-mode: normal; filter: none; background: #111113; border-radius: 8px; padding: 4px 8px; }
:root[data-theme="light"] .tape-bar { background: var(--surface); }
:root[data-theme="light"] .wa-ic { color: #fff; }
:root[data-theme="light"] .gate, :root[data-theme="light"] .ov-login { background: var(--canvas); color: var(--text); }
:root[data-theme="light"] .ov-fields input { background: #fff; }
/* the toggle: a small pill with a sliding knob that shows a sun or a moon */
.theme-toggle { border: 0; background: transparent; padding: 0; cursor: pointer; display: inline-flex; align-items: center; }
.tt-track { position: relative; width: 44px; height: 24px; border-radius: 999px; background: var(--line-2); border: 1px solid var(--line-2); transition: background 160ms ease; display: block; }
.tt-knob { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--surface); display: grid; place-items: center; transition: transform 160ms ease, background 160ms ease; box-shadow: 0 1px 2px rgba(0,0,0,.3); }
.tt-knob svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; position: absolute; transition: opacity 160ms ease; }
.tt-sun { opacity: 0; color: #9A6B00; } .tt-moon { opacity: 1; color: #FFB27A; }
.theme-toggle.light .tt-track { background: #FFD66B; border-color: #E8BD68; }
.theme-toggle.light .tt-knob { transform: translateX(20px); background: #fff; }
.theme-toggle.light .tt-sun { opacity: 1; } .theme-toggle.light .tt-moon { opacity: 0; }
.theme-toggle:focus-visible { outline: 3px solid var(--brand-text); outline-offset: 3px; border-radius: 999px; }
/* less blue: panels and hero frames use the neutral line, the brand blue is for actions only */
.bigmoney, .home-hero .bigmoney, .brief, .voices { border-color: var(--line); }
.bm-tile.up, .bm-tile.down { border-top-color: transparent; }
.bm-tile.up .px { color: var(--up); } .bm-tile.down .px { color: var(--down); }
/* briefings: three cards in a row, each expandable */
.briefs { margin: 0 0 14px; }
.briefs-h h3 { margin: 0 0 8px; font-size: 15px; font-weight: 600; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; } .briefs-h .muted { font-size: 12px; font-weight: 400; }
.briefs-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.bcard { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 12px 14px; display: grid; gap: 8px; min-width: 0; }
.bcard.pending { border-style: dashed; color: var(--muted); }
.bcard-h { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; } .bcard-h b { font-size: 14px; } .bcard-h .muted { font-size: 11.5px; }
.bc-summary { margin: 0; font-size: 13px; line-height: 1.5; }
.bc-chips { display: flex; flex-wrap: wrap; gap: 4px 8px; }
.bc-chip { display: inline-flex; gap: 5px; align-items: baseline; font-size: 12px; } .bc-chip i { font-style: normal; color: var(--muted); font-size: 11px; }
.bc-idx-row { display: grid; gap: 6px; } .bc-idx { font-size: 12.5px; display: grid; gap: 2px; } .bc-idx b { margin-right: 4px; } .bc-idx .pill { font-size: 10.5px; }
.bc-more { display: none; gap: 6px; border-top: 1px solid var(--line); padding-top: 8px; } .bcard.open .bc-more { display: grid; }
.bc-more h5 { margin: 4px 0 2px; font-size: 12px; font-weight: 600; color: var(--muted); }
.bc-toggle { justify-self: start; font-size: 12px; }
@media (max-width: 1100px) { .briefs-row { grid-template-columns: 1fr; } }
/* sign-in: subtle moving lines behind the brand panel */
.ov-login { position: relative; overflow: hidden; }
.ov-lines { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.ov-lines i { position: absolute; left: -20%; width: 140%; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,178,122,.28), transparent); transform: rotate(-12deg); animation: ov-drift 28s linear infinite; opacity: .7; }
.ov-lines i:nth-child(1) { top: 18%; animation-duration: 26s; } .ov-lines i:nth-child(2) { top: 34%; animation-duration: 34s; animation-delay: -9s; }
.ov-lines i:nth-child(3) { top: 52%; animation-duration: 30s; animation-delay: -17s; } .ov-lines i:nth-child(4) { top: 70%; animation-duration: 38s; animation-delay: -5s; } .ov-lines i:nth-child(5) { top: 86%; animation-duration: 32s; animation-delay: -22s; }
@keyframes ov-drift { from { transform: translateX(-12%) rotate(-12deg); } to { transform: translateX(12%) rotate(-12deg); } }
:root[data-theme="light"] .ov-lines i { background: linear-gradient(90deg, transparent, rgba(255,122,47,.22), transparent); }
@media (prefers-reduced-motion: reduce) { .ov-lines i { animation: none; } }
.ov-brand, .ov-formpanel { position: relative; z-index: 1; }
@media (max-width: 700px) { .theme-toggle { margin-right: 2px; } .tt-track { width: 40px; height: 22px; } .tt-knob { width: 16px; height: 16px; } .theme-toggle.light .tt-knob { transform: translateX(18px); } }
/* the section row must never hide an item: wrap onto a second line when the screen is narrow */
.topbar { height: auto; min-height: 58px; flex-wrap: wrap; row-gap: 0; padding-top: 4px; padding-bottom: 4px; }
.topnav { overflow: visible; flex-wrap: wrap; row-gap: 2px; }
@media (max-width: 700px) { .topnav { flex-wrap: nowrap; overflow-x: auto; } }

.ov-badge { display: inline-block; margin: 6px 0 0 2px; padding: 4px 10px; border-radius: 999px; background: #FFD66B; color: #111113; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* intraday direction strip and the after-close scorecard */
.dir-strip { display: flex; flex-wrap: wrap; gap: 3px; }
.dir-dot { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 4px; font-size: 10px; background: var(--surface-2); border: 1px solid var(--line); color: var(--muted); }
.dir-dot.up { color: var(--up); } .dir-dot.down { color: var(--down); }
.dir-dot.hit { border-color: var(--up); background: color-mix(in srgb, var(--up) 18%, var(--surface-2)); } .dir-dot.miss { border-color: var(--down); background: color-mix(in srgb, var(--down) 18%, var(--surface-2)); }
.scorecard { border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; background: var(--surface-2); display: grid; gap: 5px; }
.sc-h { font-size: 12.5px; font-weight: 600; } .sc-h .muted { font-weight: 400; font-size: 11.5px; }
.scr-row { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; } .scr-row i { font-style: normal; font-weight: 700; }
.theme-toggle { display: none !important; }


/* =====================================================================================
   SIGN-IN AND DISCLAIMER, refreshed: gradient navy with soft light, Sora display type, glass cards,
   everything centred and on one screen.
   ===================================================================================== */
.gate { --g-font: "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif; font-family: var(--g-font); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  background: radial-gradient(1100px 700px at 12% 8%, rgba(255,122,47,.32), transparent 62%), radial-gradient(900px 600px at 92% 96%, rgba(255,178,122,.22), transparent 60%), radial-gradient(600px 400px at 60% 40%, rgba(102,217,166,.07), transparent 60%), linear-gradient(160deg, #0A0A0C 0%, #131315 52%, #0A0A0C 100%); }
.ov-login, .disc-stage.ov-login { background: transparent; min-height: 100dvh; }
.ov-login::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(800px 600px at 30% 40%, #000 20%, transparent 75%); -webkit-mask-image: radial-gradient(800px 600px at 30% 40%, #000 20%, transparent 75%); }
.ov-lines i { background: linear-gradient(90deg, transparent, rgba(255,178,122,.45), transparent); height: 1px; }
.ov-brand { border-right: 0; padding: 48px 64px; justify-content: center; gap: 28px; }
.gate .ov-brand .ov-tagline { font-family: var(--g-font); font-size: clamp(44px, 4.8vw, 68px); font-weight: 700; letter-spacing: -0.04em; line-height: 1.02; }
.gate .ov-brand .ov-tagline span { background: linear-gradient(90deg, #FFB27A, #FFD2B0 60%, #66D9A6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.gate .ov-statement p { font-size: 17px; color: #CFCFD1; max-width: 460px; }
.ov-badge { background: linear-gradient(90deg, #FFD66B, #FFB454); }
.ov-formpanel { padding: 40px; }
.gate .ov-form { max-width: 420px; padding: 32px 30px; border-radius: 20px; background: rgba(25,25,27,.62); border: 1px solid rgba(255,178,122,.22); box-shadow: 0 30px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.gate .ov-form h1 { font-family: var(--g-font); font-size: 30px; font-weight: 700; letter-spacing: -0.035em; }
.gate .ov-form > p { font-size: 15px; }
.gate .ov-fields label { font-size: 13.5px; }
.gate .ov-fields input { background: rgba(14,14,16,.7); border-color: rgba(255,178,122,.35); min-height: 50px; border-radius: 12px; font-family: var(--g-font); }
.gate .ov-fields input:focus { border-color: #FFB27A; box-shadow: 0 0 0 4px rgba(255,178,122,.18); outline: 0; }
.ov-primary, a.ov-primary { background: linear-gradient(90deg, #FF7A2F, #FF8A45); border-radius: 12px; min-height: 50px; font-family: var(--g-font); font-weight: 700; letter-spacing: -0.01em; box-shadow: 0 10px 30px rgba(255,122,47,.35); }
.ov-primary:hover { background: linear-gradient(90deg, #D95A12, #F26A1F); }
.wa-join { background: rgba(37,211,102,.06); border-color: rgba(37,211,102,.28); border-radius: 14px; }
.mail-line { font-size: 12px; }
/* disclaimer: centred card, same glass */
.disc-stage.ov-login { display: grid; grid-template-columns: 1fr; place-items: center; padding: 32px 20px; }
.disc-stage .ov-formpanel { padding: 0; width: 100%; display: grid; place-items: center; }
.gate .ov-form-wide.disc-card { max-width: 680px; width: 100%; padding: 36px 36px 30px; border-radius: 22px; background: rgba(25,25,27,.66); border: 1px solid rgba(255,178,122,.22); box-shadow: 0 30px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.gate .disc-card .disc-h { font-family: var(--g-font); font-size: 30px; font-weight: 700; letter-spacing: -0.035em; line-height: 1.12; margin: 4px 0 6px; }
.gate .disc-body p { font-size: 14px; line-height: 1.6; color: #CFCFD1; }
.gate .disc-card .ck { background: rgba(14,14,16,.5); border: 1px solid rgba(255,178,122,.2); border-radius: 12px; padding: 12px 14px; }
.gate .disc-card .gate-actions { grid-template-columns: 1fr auto; align-items: center; gap: 12px; }
.gate .disc-card .lnk.decline { text-align: right; }
.gate .disc-card .ov-eyebrow { color: #FFB27A; }
.gate .disc-card .ov-logo { width: 160px; }
@media (max-width: 700px) {
  .ov-brand { padding: 24px 20px 6px; justify-content: start; gap: 16px; }
  .gate .ov-brand .ov-tagline { font-size: 38px; }
  .gate .ov-statement p { font-size: 15px; }
  .ov-formpanel { padding: 8px 16px 32px; }
  .gate .ov-form { padding: 22px 18px; border-radius: 16px; }
  .disc-stage.ov-login { padding: 16px 12px; }
  .gate .ov-form-wide.disc-card { padding: 22px 18px; }
  .gate .disc-card .gate-actions { grid-template-columns: 1fr; } .gate .disc-card .lnk.decline { text-align: left; }
}

/* the raster logo must blend with the page gradient, not with a translucent panel: no stacking contexts around it */
.ov-brand, .ov-formpanel { z-index: auto; isolation: auto; }
.ov-login::before { z-index: -1; }
.ov-login { isolation: isolate; }
.ov-lines { z-index: -1; }
.disc-logo-wrap { display: grid; justify-items: center; margin-bottom: 14px; }
.disc-logo-wrap .ov-logo { width: 190px; margin: 0; }
.gate .disc-card .ov-logo { display: none; }

/* the logo is transparent now: no blend tricks, no padded box */
.brand-logo, .ov-logo, .disc-logo-wrap .ov-logo { mix-blend-mode: normal; background: transparent !important; padding: 0 !important; border-radius: 0; filter: none; }

.bc-plan { margin-top: 6px; display: grid; gap: 3px; font-size: 12px; line-height: 1.45; color: var(--text-2); } .bc-plan i { font-style: normal; font-weight: 600; color: var(--text); }
.bc-plan ul { margin: 2px 0 0; padding-left: 16px; display: grid; gap: 2px; }
.day-verdict { font-size: 12.5px; line-height: 1.45; padding: 8px 10px; border-radius: 8px; background: var(--surface-2); border: 1px solid var(--line); } .day-verdict b { margin-right: 4px; }
tr.day-detail td { background: var(--surface-2); }
.side-item.v-record { --vc: #FFB27A; }

/* StockTwits crowd strip */
.crowd { margin: 0 0 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.crowd h3 { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; margin: 0 0 6px; font-size: 15px; font-weight: 600; } .crowd h3 .muted { font-size: 11px; font-weight: 400; }
.crowd h4 { margin: 0 0 6px; font-size: 12.5px; font-weight: 600; color: var(--muted); }
.cw-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.2fr); gap: 16px; align-items: start; margin-top: 8px; }
.cw-moods { display: grid; gap: 8px; }
.cw-mood { border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; background: var(--surface-2); cursor: pointer; display: grid; gap: 3px; }
.cw-mood.up { border-color: color-mix(in srgb, var(--up) 45%, var(--line)); } .cw-mood.down { border-color: color-mix(in srgb, var(--down) 45%, var(--line)); }
.cw-h { display: flex; gap: 8px; align-items: baseline; } .cw-h b { font-size: 15px; }
.cw-l { font-weight: 700; font-size: 14px; } .cw-l.up { color: var(--up); } .cw-l.down { color: var(--down); }
@media (max-width: 1100px) { .cw-grid { grid-template-columns: 1fr; } }

.guide .gd { margin: 14px 0 0; } .guide .gd h3 { font-size: 14px; font-weight: 600; margin: 0 0 6px; }
.gd-list { margin: 0; padding: 0 0 0 18px; display: grid; gap: 5px; font-size: 13.5px; line-height: 1.5; max-width: 90ch; } .gd-list b { color: var(--text); }
.side-item.v-guide { --vc: #66D9A6; }


/* FIX 1: a hidden gate never intercepts the mouse; a visible gate never covers the navigation.
   --gate-left / --gate-top are set by positionGate() from the real navigation element; the defaults match a 236px sidebar. */
.gate { --gate-left: 236px; --gate-top: 0px; left: var(--gate-left); top: var(--gate-top); }
.shell.collapsed ~ .gate { --gate-left: 64px; }
.gate[hidden] { display: none !important; pointer-events: none !important; }
.gate.leaving { pointer-events: none !important; }
@media (max-width: 900px) { .gate, .shell.collapsed ~ .gate { --gate-left: 0px; left: 0; } }
/* FIX 4: share link sits beside the more/less toggle on the morning card */
.bc-actions { display: flex; gap: 14px; align-items: center; } .bc-share { font-size: 12px; color: #25D366; }
/* FIX 5: alerts button, Pro badge and the settings modal */
.pro-badge { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: linear-gradient(90deg, #FFD66B, #FFB454); color: #111113; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; vertical-align: middle; }
@media (max-width: 1399px) { .top-actions .pro-badge { display: none; } }
@media (max-width: 1400px) { #alerts-btn .lbl { display: none; } }
.modal { position: fixed; inset: 0; z-index: 150; background: rgba(8,8,10, .72); display: grid; place-items: center; padding: 20px; }
.modal[hidden] { display: none !important; }
.modal-card { width: min(560px, 100%); background: var(--surface); border: 1px solid var(--line-2); border-radius: 14px; padding: 20px 22px; display: grid; gap: 12px; box-shadow: 0 30px 80px rgba(0,0,0,.5); position: relative; }
.modal-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .modal-h h3 { margin: 0; font-size: 17px; font-weight: 600; }
.modal-card .gate-x { position: static; width: 32px; height: 32px; }
.al-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.al-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr); gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); font-size: 13px; }
.al-name { display: flex; align-items: center; gap: 8px; } .al-name input { width: 18px; height: 18px; accent-color: var(--brand); }
.al-th { color: var(--text-2); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.al-th input { width: 72px; min-height: 36px; padding: 0 8px; border: 1px solid var(--input-border); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; font-variant-numeric: tabular-nums; }
.modal-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@media (max-width: 700px) { .al-row { grid-template-columns: 1fr; } .modal-card { padding: 16px; } }

/* backup-read badge (rules answered instead of the model) */
.src-badge{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:none;vertical-align:middle;color:var(--caution,#E8BD68);background:rgba(232,189,104,.12);border:1px solid rgba(232,189,104,.35)}

/* intraday check */
.check .lessons{margin:6px 0 0 18px;padding:0;font-size:13px;line-height:1.5}
.check .lessons li{margin:4px 0}
.check tr.dim td{opacity:.55}
.check .tag.ok{color:var(--positive,#66D9A6);border-color:rgba(102,217,166,.4)}
.check .tag.warn{color:var(--negative,#FF8F9B);border-color:rgba(255,143,155,.4)}
.lnk.small{font-size:11px;margin-left:8px;color:var(--brand-accessible,#FFB27A);text-decoration:none}
.lnk.small:hover{text-decoration:underline}

/* ---------- trading desk ---------- */
.desk{--desk-gap:14px}
.desk .panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.desk .kicker{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.desk .lede{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text-2);max-width:68ch}
.desk .desk-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:2px 0 var(--desk-gap)}
.desk .desk-meta{font-size:11px;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:6px}
.desk .desk-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:var(--desk-gap);margin-bottom:var(--desk-gap);align-items:start}
.desk h3{display:flex;align-items:baseline;gap:8px}
.desk h3 .muted{text-transform:none;letter-spacing:0;font-weight:400}
.desk .bd-hero{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:4px 0 6px}
.desk .mood-tone{font-size:clamp(28px,3vw,40px)}
.desk .mood-tone.up{color:var(--up)}.desk .mood-tone.down{color:var(--down)}.desk .mood-tone.flat{color:var(--text)}
.desk .bd-side{display:flex;flex-direction:column;gap:4px;padding-bottom:4px}
.desk .bd-label{font-size:12px;color:var(--text-2)}
.desk .bd-plain{margin:0 0 12px;font-size:13.5px;line-height:1.5;max-width:70ch}
.desk .gauges{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.desk .gauge{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:9px 10px;background:var(--surface)}
.desk .g-arrow{font-size:11px;text-align:center;color:var(--muted)}
.desk .gauge.up .g-arrow{color:var(--up)}.desk .gauge.down .g-arrow{color:var(--down)}
.desk .g-text{display:flex;flex-direction:column;min-width:0}
.desk .g-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk .g-detail{font-size:11px;color:var(--text-2)}
.desk .gauge.up .g-detail{color:var(--up)}.desk .gauge.down .g-detail{color:var(--down)}
.desk .g-code{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.04em}
.desk .legend-list{margin:6px 0 10px;padding:0;display:grid;gap:8px}
.desk .legend-list div{display:grid;grid-template-columns:82px 1fr;gap:8px;align-items:baseline}
.desk .legend-list dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.desk .legend-list dd{margin:0;font-size:12.5px;line-height:1.45;color:var(--text-2)}
.desk .legend-scale{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:6px 10px;align-items:center;font-size:11px;color:var(--muted);margin:12px 0;text-transform:none}
.desk .howto dd,.desk .howto .meta2,.desk .howto p{text-transform:none;letter-spacing:0}
.desk .legend-reads{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.desk .pill{display:inline-block;padding:3px 8px;border-radius:6px;font-size:10.5px;border:1px solid var(--line-2);color:var(--text-2);background:var(--surface-2)}
.desk .pill.up{color:var(--pill-ok);border-color:rgba(102,217,166,.35);background:var(--pill-ok-bg)}
.desk .pill.down{color:var(--pill-bad);border-color:rgba(255,143,155,.35);background:var(--pill-bad-bg)}
.desk .pill.caution{color:var(--pill-warn);border-color:rgba(232,189,104,.4);background:var(--pill-warn-bg)}
.desk .pill.flat{color:var(--text-2)}
.desk .meter{display:inline-flex;align-items:center;gap:7px}
.desk .meter-cells{display:inline-flex;gap:2px}
.desk .meter-cells i{display:block;width:9px;height:12px;border-radius:2px;background:var(--line);transition:background .3s cubic-bezier(.16,1,.3,1)}
.desk .meter-cells i:nth-child(3){width:5px}
.desk .meter-cells i.up{background:var(--up)}.desk .meter-cells i.down{background:var(--down)}.desk .meter-cells i.zero{background:var(--muted)}
.desk .meter-n{font-family:var(--mono);font-size:12px;font-weight:700;min-width:22px;color:var(--text-2)}
.desk .meter-n.up{color:var(--up)}.desk .meter-n.down{color:var(--down)}
.desk .tot{font-family:var(--mono);font-weight:800;font-size:15px}
.desk .tot.up{color:var(--up)}.desk .tot.down{color:var(--down)}
.desk .tot-max{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-left:4px}
.desk .mono{font-family:var(--mono)}
.desk .desk-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.desk .seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.desk .seg-btn{font:inherit;font-size:12px;padding:7px 12px;border:0;background:transparent;color:var(--text-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s}
.desk .seg-btn+.seg-btn{border-left:1px solid var(--line)}
.desk .seg-btn em{font-style:normal;font-family:var(--mono);font-size:10.5px;color:var(--muted);padding:1px 5px;border-radius:999px;background:var(--surface-2)}
.desk .seg-btn.active{background:var(--brand-tint);color:var(--text)}
.desk .seg-btn.active em{color:var(--brand-text)}
.desk .seg-btn:active{transform:scale(.98)}
.desk .find input{font:inherit;font-size:12px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);min-width:170px}
.desk .find input:focus{outline:none;border-color:var(--brand-text)}
.desk .counts{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.desk .cnt-chip{font-size:11px;color:var(--muted);padding:3px 8px;border:1px solid var(--line);border-radius:999px}
.desk .cnt-chip b{color:var(--text);font-family:var(--mono);margin-right:5px}
.desk .missing{margin-bottom:8px}
.desk .desk-main{padding:0}
.desk .desk-tbl th{padding:9px 12px}
.desk .desk-tbl td{padding:9px 12px;vertical-align:middle}
.desk .desk-tbl td.sym b{font-size:13px}
.desk .desk-tbl .col-you{text-align:right}
.desk tr.desk-row{cursor:pointer;transition:background .15s}
.desk tr.desk-row:hover td{background:var(--surface-2)}
.desk tr.desk-row.open td{background:var(--hi-bg);border-bottom:0}
.desk tr.desk-detail td{background:var(--hi-bg);padding:4px 12px 16px}
.desk .dd-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:16px;animation:dd-in .25s cubic-bezier(.16,1,.3,1)}
@keyframes dd-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.desk .dd-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:11px}
.desk .dd-plain{margin:0 0 4px;font-size:14px;line-height:1.5}
.desk .dd-frame{margin:0 0 8px;font-size:12px;line-height:1.45;color:var(--text-2)}
.desk .dd-flags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.desk .flag{font-size:11px;padding:3px 8px;border-radius:6px;border:1px solid var(--line-2);color:var(--text-2)}
.desk .flag b{font-weight:700;margin-right:4px}
.desk .flag.ok{color:var(--pill-ok);border-color:rgba(102,217,166,.35)}.desk .flag.warn{color:var(--pill-bad);border-color:rgba(255,143,155,.35)}.desk .flag.warn2{color:var(--pill-warn);border-color:rgba(232,189,104,.4)}
.desk .dd-detail{font-size:11px}
.desk .dd-ind{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;align-content:start}
.desk .dd-ind div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:4px 0}
.desk .dd-ind dt{font-size:11px;color:var(--muted)}
.desk .dd-ind dd{margin:0;font-family:var(--mono);font-size:12px}
.desk .hold-btn{font:inherit;font-size:11px;padding:4px 10px 4px 8px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s cubic-bezier(.16,1,.3,1)}
.desk .hold-btn:active{transform:scale(.97)}
.desk .hold-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.desk .hold-btn.on{color:var(--brand-text);border-color:rgba(255,178,122,.5);background:var(--brand-tint)}
.desk .hold-btn.on .hold-dot{background:var(--brand-text)}
.desk .desk-foot{font-size:11px;margin:12px 0 0;line-height:1.5}
.desk .empty-state{text-align:left;padding:22px 18px}
.desk .empty-state h3{color:var(--text);text-transform:none;letter-spacing:0;font-size:14px}
.desk .empty-state p{margin:4px 0 10px;color:var(--text-2);font-size:13px;max-width:60ch}
.desk .empty-state.inline{padding:14px 4px}
.desk td.empty{padding:18px 12px}
.desk .skel-row td{padding:8px 12px;border-bottom:1px solid var(--line)}
.desk .skel{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--line) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;animation-delay:calc(var(--i,0)*80ms)}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
/* scan */
.desk .scan{margin-bottom:var(--desk-gap)}
.desk .scan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}
.desk .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-size:12px;padding:9px 14px;border-radius:8px;white-space:nowrap;transition:transform .15s,filter .2s}
.desk .btn.primary:active{transform:scale(.98)}
.desk .scan-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;margin:8px 0 12px}
.desk .scan-n{display:flex;flex-direction:column;min-width:130px}
.desk .scan-n b{font-family:var(--macro);font-size:44px;line-height:1;letter-spacing:-.02em;color:var(--up)}
.desk .scan-n span{font-size:11.5px;color:var(--muted);margin-top:4px}
.desk .scan-meaning{margin:0;padding:0 0 0 16px;font-size:13px;line-height:1.5;color:var(--text-2)}
.desk .scan-meaning li:first-child{color:var(--text);font-weight:600}
.desk .dist{margin:0 0 12px}
.desk .dist-bar{display:flex;gap:2px;height:14px;border-radius:4px;overflow:hidden}
.desk .dseg{display:block;background:var(--line);min-width:2px}
.desk .dseg.up{background:var(--up)}.desk .dseg.up2{background:rgba(102,217,166,.45)}.desk .dseg.down{background:var(--down)}.desk .dseg.down2{background:rgba(255,143,155,.45)}
.desk .dist-labels{display:flex;gap:2px;margin-top:4px}
.desk .dist-labels span{display:flex;flex-direction:column;align-items:center;min-width:0;font-family:var(--mono);font-size:10px;color:var(--muted);overflow:hidden}
.desk .dist-labels b{color:var(--text-2)}.desk .dist-labels i{font-style:normal}
.desk .tv-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:11.5px;color:var(--text-2)}
.desk .scan .seg{margin-bottom:10px}
.src-badge.tv{color:#FFB27A;background:rgba(255,122,47,.14);border-color:rgba(255,178,122,.45)}
/* retro digital readout: LED-panel strip in the site palette */
.desk .readout{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0 0 var(--desk-gap)}
.desk .ro{background:#121214;background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:6px 6px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.desk .ro-l{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.desk .ro-v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;letter-spacing:.06em;line-height:1;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk .ro-v.digit{font-size:24px;letter-spacing:.12em}
.desk .ro-v i{font-style:normal;font-size:13px;color:var(--muted);letter-spacing:.04em}
.desk .ro-v.up{color:var(--up)}.desk .ro-v.down{color:var(--down)}.desk .ro-v.flat{color:var(--warn)}
/* segment meters: lit cells against unlit ones, like an LED bar */
.desk .meter-cells i{background:#242426;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.desk .meter-cells i.up{background:var(--up);box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}.desk .meter-cells i.down{background:var(--down);box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}.desk .meter-cells i.zero{background:var(--warn);box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}
.desk .tot,.desk .meter-n,.desk .mono{font-variant-numeric:tabular-nums}
/* right column: run panel + collapsible legend */
.desk .right-col{display:grid;gap:var(--desk-gap);align-content:start}
.desk .run-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.desk .run-list li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;padding-bottom:8px;border-bottom:1px solid var(--line)}
.desk .run-list li:last-child{border-bottom:0;padding-bottom:0}
.desk .run-names{display:flex;flex-wrap:wrap;gap:4px 8px;font-family:var(--mono);font-size:12.5px}
.desk .run-names b{cursor:pointer;border-bottom:1px dotted var(--line-2)}
.desk .run-names b:hover{color:var(--brand-text);border-color:var(--brand-text)}
.desk .run-why{grid-column:2;font-size:11px;color:var(--muted)}
.desk details.howto summary{list-style:none;cursor:pointer}
.desk details.howto summary::-webkit-details-marker{display:none}
.desk details.howto summary h3{margin:0}
.desk details.howto summary h3::after{content:"+";margin-left:auto;color:var(--muted);font-weight:400}
.desk details.howto[open] summary h3::after{content:"−"}
.desk details.howto[open] summary h3{margin-bottom:8px}
/* institution view */
.desk .pro-toggle{font:inherit;font-size:11.5px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text-2);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}
.desk .pro-toggle.on{color:var(--brand-text);border-color:rgba(255,178,122,.5);background:var(--brand-tint)}
.desk .pro-toggle:active{transform:scale(.98)}
.desk .col-pro{font-size:11.5px}
.desk th.col-pro{white-space:nowrap}
@media (max-width: 900px){
  .desk .readout{grid-template-columns:repeat(3,minmax(0,1fr))}
  .desk .desk-top{grid-template-columns:1fr}
  .desk .gauges{grid-template-columns:repeat(2,minmax(0,1fr))}
  .desk .dd-grid{grid-template-columns:1fr}
  .desk .col-sector{display:none}
}
@media (max-width: 700px){
  .desk .desk-head{flex-direction:column;align-items:flex-start;gap:6px}
  .desk .desk-meta{white-space:normal}
  .desk .gauges{grid-template-columns:1fr}
  /* phone: each row becomes a stacked card, no sideways scrolling */
  .desk .desk-tbl thead{display:none}
  .desk .desk-tbl,.desk .desk-tbl tbody{display:block;width:100%}
  .desk .desk-tbl tr.desk-row{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-areas:"sym sym price" "t m mac" "total read you";gap:8px 10px;padding:12px 14px;border-bottom:1px solid var(--line);align-items:center}
  .desk .desk-tbl tr.desk-row td{display:block;padding:0;border:0;background:transparent}
  .desk .desk-tbl tr.desk-row:hover td{background:transparent}
  .desk .desk-tbl tr.desk-row.open{background:var(--hi-bg)}
  .desk .desk-tbl td.sym{grid-area:sym}
  .desk .desk-tbl td.col-price{grid-area:price;text-align:right;font-size:14px}
  .desk .desk-tbl td.col-meter{display:grid;grid-template-rows:auto auto;gap:4px;justify-items:start;align-content:start}
  .desk .desk-tbl td.col-meter::before{content:attr(data-l);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .desk .desk-tbl td.col-meter[data-l="Trend"]{grid-area:t}
  .desk .desk-tbl td.col-meter[data-l="Momentum"]{grid-area:m}
  .desk .desk-tbl td.col-macro{grid-area:mac;display:grid}
  .desk .desk-tbl td.col-total{grid-area:total;text-align:left}
  .desk .desk-tbl td.col-read{grid-area:read}
  .desk .desk-tbl td.col-you{grid-area:you;text-align:right}
  .desk .desk-tbl td.col-size,.desk .desk-tbl td.col-sector{display:none}
  .desk .desk-tbl tr.desk-detail{display:block}
  .desk .desk-tbl tr.desk-detail td{display:block;padding:4px 14px 16px}
  .desk .desk-tbl tr.skel-row{display:block}
  .desk .desk-tbl tr.skel-row td{display:block}
  .desk .desk-tbl td.empty{display:block}
  .desk .tbl-wrap{overflow:visible}
  .desk .counts{margin-left:0}
  .desk .find input{min-width:0;width:100%}
  .desk .scan-hero{grid-template-columns:1fr}
  .desk .legend-scale{grid-template-columns:auto 1fr;gap:6px 10px}
  .desk .dd-ind{grid-template-columns:1fr}
  .desk .scan .desk-tbl tr.desk-row{grid-template-areas:"sym sym price" "t m mac" "total read read"}
  .desk .readout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .desk .ro-v.digit{font-size:20px}
  .desk .desk-tbl td.col-pro{display:none}
  .desk .run-list li{grid-template-columns:1fr}
  .desk .run-why{grid-column:1}
}

/* ---------- top of page: tape strip first, then a distinct header bar ---------- */
.tape-bar{height:30px;background:#08080A;border-bottom:1px solid #262628}
.tape-track{height:30px;font-family:var(--mono);font-size:11.5px;letter-spacing:.02em}
.tape-bar .tp b{color:#9A9A9C;font-weight:600;margin-right:4px;letter-spacing:.06em;font-size:10.5px}
.topbar{background:linear-gradient(180deg,#1B1B1D,#141416);border-bottom:1px solid #3E3E40;box-shadow:0 2px 14px rgba(0,0,0,.35)}
.topnav{background:#0F0F11;border:1px solid #2F2F31;border-radius:12px;padding:3px;gap:2px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.topnav .side-item{color:#ECECEE;font-weight:500;border-radius:9px;padding:8px 12px}
.topnav .side-item:hover{background:#262628;color:#fff}
.topnav .side-item.active{background:#FF7A2F;color:#fff;font-weight:600;box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}
.top-actions .badge{background:#0F0F11;border-color:#2F2F31;color:#ECECEE}
.top-actions .btn.ghost.icon-btn{background:#0F0F11;border-color:#2F2F31}
.top-actions .btn.ghost.icon-btn:hover{background:#262628}
@media (max-width: 700px){
  .tape-bar{height:26px}.tape-track{height:26px;font-size:11px}
  .topnav{border-radius:10px;padding:2px}
  .topnav .side-item{padding:8px 10px}
}
/* desk: meters line up in fixed columns */
.desk .meter{display:inline-grid;grid-template-columns:auto 26px;gap:6px;align-items:center}
.desk .meter-n{text-align:right;min-width:0}
.desk .desk-tbl th.col-meter{width:104px}
.desk .desk-tbl td.col-meter{white-space:nowrap}
.desk .desk-tbl th.num,.desk .desk-tbl td.num{text-align:right}
.desk .desk-tbl th.col-read,.desk .desk-tbl td.col-read{white-space:nowrap}
/* desk: backdrop verdict + scan card alignment */
.desk .bd-side .pill{align-self:flex-start}
.desk .bd-label{max-width:44ch}
.desk .scan-head{align-items:center}
.desk .scan-head .kicker{margin-top:2px}
.desk .scan-hero{grid-template-columns:150px minmax(0,1fr);align-items:start;padding:12px 0 6px;border-top:1px solid var(--line);margin-top:10px}
.desk .scan-meaning{padding-left:16px}
.desk .scan-meaning li{margin:2px 0}
.desk .scan .seg{margin:10px 0}
.desk .scan .tbl-wrap{border:1px solid var(--line);border-radius:8px}
.desk .scan .lede{margin-top:6px}
@media (max-width: 700px){
  .desk .scan-hero{grid-template-columns:1fr}
  .desk .desk-tbl td.col-meter{white-space:normal}
}
/* layout rows after moving the tape above the header: shell = tape, header, hud; hud = bar, notice, main, footer */
.shell{grid-template-rows:auto auto minmax(0,1fr)}
.hud{grid-template-rows:auto auto minmax(0,1fr) auto}
@media (max-width: 900px){ .shell{grid-template-rows:auto auto minmax(0,1fr)} .hud{grid-template-rows:auto auto auto auto} }

.desk .ro-v.word{font-size:15px;letter-spacing:.08em;white-space:normal;line-height:1.15}
@media (max-width: 700px){ .desk .ro-v.word{font-size:13px} }
/* ---------- header: logo, menu rail and actions on ONE row at every laptop/desktop width ---------- */
header.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:52px;padding:0 16px;flex-wrap:nowrap;row-gap:0}
header.topbar .side-brand{padding:0;height:auto;border:0}
header.topbar .brand-logo{width:148px;height:auto;margin:0}
header.topbar .topnav{display:flex;flex-wrap:nowrap;align-items:center;overflow-x:auto;scrollbar-width:none;min-width:0;width:auto;order:0;gap:2px;padding:3px;background:#1A1A1C;border:1px solid #3C3C3E;border-radius:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
header.topbar .topnav::-webkit-scrollbar{display:none}
header.topbar .topnav .side-item{flex:none;white-space:nowrap;padding:6px 11px;font-size:13px;color:#E4E4E6;border-radius:8px;min-height:0}
header.topbar .topnav .side-item:hover{background:#2B2B2D;color:#fff}
header.topbar .topnav .side-item.active{background:#FF7A2F;color:#fff}
header.topbar .topnav .side-item .side-label .cn{opacity:.8}
header.topbar .top-actions{order:0;margin-left:0;gap:8px}
header.topbar .top-actions .badge{height:32px;font-size:12px}
header.topbar .btn.ghost.icon-btn{width:34px;height:32px;padding:0}
@media (max-width: 1100px) and (min-width: 701px){ header.topbar .topnav .side-item{padding:6px 9px} }
@media (max-width: 700px){
  header.topbar{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:6px 8px;padding:6px 10px}
  header.topbar .topnav{grid-column:1 / -1;order:0}
  header.topbar .top-actions{justify-self:end}
}
/* tighter vertical rhythm so more data fits on a screen */
.tape-bar{height:26px}.tape-track{height:26px}
.hud-bar{min-height:44px;padding:6px 16px}
.hud-context b{font-size:17px}
.hud-context span{font-size:11.5px}
.view.one{padding-top:10px}
.desk{--desk-gap:10px}
.desk .panel{padding:11px 13px}
.desk .desk-head{margin:0 0 var(--desk-gap)}
.desk .lede{margin-top:2px;font-size:12.5px}
.desk .readout{margin-bottom:var(--desk-gap)}
.desk .ro{padding:8px 12px;gap:4px}
.desk .ro-v.digit{font-size:20px}
.desk .ro-v.word{font-size:14px}
.desk .mood-tone{font-size:clamp(24px,2.4vw,32px)}
.desk .bd-plain{margin-bottom:8px;font-size:13px}
.desk .gauge{padding:7px 9px}
.desk .desk-tbl th{padding:7px 10px}
.desk .desk-tbl td{padding:6px 10px}
.desk .desk-tools{margin-bottom:8px}
.desk tr.desk-detail td{padding:2px 10px 12px}
.desk .scan-hero{padding:8px 0 4px;margin-top:8px}
.desk .scan-n b{font-size:36px}
/* fit twelve menu items and the actions on one row down to about 1200px */
@media (max-width: 1600px){
  header.topbar .topnav .side-item{padding:6px 8px;font-size:12.5px}
  header.topbar .top-actions{gap:6px}
  header.topbar .top-actions .badge{font-size:11px;padding:0 8px;height:30px}
  header.topbar .side-foot .side-user{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (max-width: 1360px) and (min-width: 1101px){
  header.topbar .topnav .side-item{padding:6px 7px;font-size:12px}
  header.topbar .top-actions .badge{display:none}
}
@media (max-width: 1700px){
  header.topbar .btn.ghost.icon-btn .lbl{display:none}
  header.topbar .btn.ghost.icon-btn{width:34px;padding:0;justify-content:center}
  header.topbar .side-foot{display:none !important}
}
/* ---------- header polish: balanced rail, gradient pills, grouped actions, accent line ---------- */
header.topbar{position:relative;min-height:56px;padding:0 20px;gap:18px;background:linear-gradient(180deg,#1D1D1F 0%,#141416 100%);border-bottom:1px solid #3A3A3C;box-shadow:0 6px 18px rgba(0,0,0,.35)}
header.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#FF7A2F 0%,rgba(255,122,47,.55) 35%,rgba(102,217,166,.35) 70%,transparent 100%);pointer-events:none}
header.topbar .brand-logo{width:152px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}
header.topbar .topnav{justify-self:center;max-width:100%;gap:3px;padding:4px;background:linear-gradient(180deg,#1F1F21,#151517);border:1px solid #414143;border-radius:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 2px 10px rgba(0,0,0,.35)}
header.topbar .topnav .side-item{padding:7px 12px;font-size:13px;letter-spacing:.005em;color:#DFDFE1;border-radius:9px;transition:background .2s cubic-bezier(.16,1,.3,1),color .2s,transform .12s}
header.topbar .topnav .side-item:hover{background:#2D2D2F;color:#fff}
header.topbar .topnav .side-item:active{transform:scale(.97)}
header.topbar .topnav .side-item.active{background:linear-gradient(180deg,#FF7329,#E0621A);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 4px 12px rgba(255,122,47,.28)}
header.topbar .topnav .nav-ico svg{stroke-width:1.7}
header.topbar .top-actions{gap:4px;padding:4px;background:linear-gradient(180deg,#1F1F21,#151517);border:1px solid #414143;border-radius:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
header.topbar .top-actions .badge{height:32px;border:0;background:transparent;color:#DFDFE1;font-weight:500;padding:0 10px 0 8px;border-radius:9px}
header.topbar .top-actions .badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#B3B3B5;box-shadow:0 0 0 3px rgba(168,180,200,.15);margin-right:2px}
header.topbar .top-actions .badge.open::before{background:#66D9A6;box-shadow:0 0 0 3px rgba(102,217,166,.18)}
header.topbar .top-actions .badge.pre::before,header.topbar .top-actions .badge.post::before{background:#E8BD68;box-shadow:0 0 0 3px rgba(232,189,104,.18)}
header.topbar .btn.ghost.icon-btn{width:32px;height:32px;border:0;background:transparent;border-radius:9px}
header.topbar .btn.ghost.icon-btn:hover{background:#2D2D2F}
@media (min-width: 1701px){
  header.topbar .topnav .side-item{padding:8px 14px;font-size:13.5px}
  header.topbar .top-actions .badge{padding:0 12px 0 10px}
}
@media (max-width: 1600px){ header.topbar .topnav .side-item{padding:7px 9px;font-size:12.5px} }
@media (max-width: 1360px) and (min-width: 1101px){ header.topbar .topnav .side-item{padding:7px 7px;font-size:12px} }
@media (max-width: 700px){
  header.topbar{padding:6px 10px;gap:6px 8px;min-height:0}
  header.topbar .topnav{justify-self:stretch;border-radius:11px;padding:3px}
  header.topbar .topnav .side-item{padding:7px 10px}
  header.topbar .top-actions{padding:3px}
}
/* the user chip is a fourth grid child and would start a second row on very wide screens: keep it out of the bar */
header.topbar .side-foot,header.topbar .side-toggle{display:none !important}
/* one explicit row: older sidebar rules set three grid rows with a 52px first track and my gap added row spacing */
header.topbar{grid-template-rows:auto;grid-auto-rows:auto;row-gap:0;column-gap:18px;min-height:56px}
@media (max-width: 700px){ header.topbar{grid-template-rows:auto auto;row-gap:6px;column-gap:8px;min-height:0} }
@media (max-width: 1700px){ header.topbar .pro-badge{display:none} }
header.topbar .btn.ghost.icon-btn .lbl,header.topbar .pro-badge{display:none !important}
header.topbar .btn.ghost.icon-btn{width:32px;padding:0;justify-content:center}
/* ---------- menu rail: unmistakable, not blended ---------- */
header.topbar{background:linear-gradient(180deg,#19191B 0%,#121214 100%)}
header.topbar .topnav{position:relative;overflow:hidden;background:linear-gradient(180deg,#2D2D2F,#232325);border:1px solid #656567;border-radius:13px;padding:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 16px rgba(0,0,0,.45),0 0 0 1px rgba(255,122,47,.15)}
header.topbar .topnav::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:35%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-12deg);animation:rail-sweep 1.6s ease-out .4s 1;pointer-events:none}
@keyframes rail-sweep{from{left:-40%}to{left:120%}}
header.topbar .topnav .side-item{color:#FFF3EA;font-weight:600;letter-spacing:.01em;text-shadow:0 1px 0 rgba(0,0,0,.35)}
header.topbar .topnav .side-item .nav-ico svg{stroke:#FFE3CF}
header.topbar .topnav .side-item:hover{background:#424244;color:#fff;transform:translateY(-1px)}
header.topbar .topnav .side-item.active{background:linear-gradient(180deg,#FF8A45,#FF7A2F);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 3px 10px rgba(255,122,47,.45)}
header.topbar .topnav .side-item.active::after{content:"";position:absolute;left:50%;bottom:3px;width:14px;height:2px;margin-left:-7px;border-radius:2px;background:#fff;opacity:.9}
header.topbar .topnav .side-item{position:relative}
header.topbar .top-actions{background:linear-gradient(180deg,#2D2D2F,#232325);border:1px solid #656567;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 16px rgba(0,0,0,.45)}
header.topbar .top-actions .badge{color:#FFF3EA}
header.topbar .btn.ghost.icon-btn svg{stroke:#FFE3CF}
@media (prefers-reduced-motion: reduce){ header.topbar .topnav::after{animation:none} }
@media (max-width: 700px){
  header.topbar{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto}
  header.topbar .side-brand{grid-column:1;grid-row:1}
  header.topbar .top-actions{grid-column:2;grid-row:1;justify-self:end}
  header.topbar .topnav{grid-column:1 / -1;grid-row:2}
}
/* ==================== the floating island menu ==================== */
:root{--ease-spring:cubic-bezier(.32,.72,0,1)}
header.topbar{position:sticky;top:0;z-index:30;background:linear-gradient(180deg,rgba(18,18,20,.92),rgba(14,14,16,.86));backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:none;min-height:60px;padding:6px 18px;column-gap:16px}
header.topbar::after{height:1px;background:linear-gradient(90deg,transparent,rgba(255,178,122,.45) 20%,rgba(102,217,166,.35) 60%,transparent)}
/* outer shell: a machined tray; inner core: the glass plate */
header.topbar .topnav{overflow-x:auto;overflow-y:hidden;position:relative;padding:5px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 40px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,122,47,.08);scroll-snap-type:x proximity;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 10px,#000 calc(100% - 10px),transparent)}
header.topbar .topnav::after{content:none}
header.topbar .topnav .side-item{position:relative;flex:none;scroll-snap-align:start;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;letter-spacing:.005em;color:#E4E4E6;text-shadow:none;background:transparent;transition:background .55s var(--ease-spring),color .35s var(--ease-spring),transform .35s var(--ease-spring),box-shadow .55s var(--ease-spring)}
header.topbar .topnav .side-item .nav-ico{display:inline-grid !important;width:16px;height:16px;margin-right:7px}
header.topbar .topnav .side-item .nav-ico svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.5;opacity:.9}
header.topbar .topnav .side-item:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateY(-1px)}
header.topbar .topnav .side-item:active{transform:scale(.97)}
header.topbar .topnav .side-item.active{background:linear-gradient(180deg,#FF8F4D,#F0661C);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.25),0 8px 22px -8px rgba(255,122,47,.7)}
header.topbar .topnav .side-item.active::after{content:none}
header.topbar .topnav .side-item.active .nav-ico svg{stroke:#fff;opacity:1}
/* density steps applied by fitNav(): compact labels, then icons only with the active label kept */
header.topbar .topnav.dense .side-item{padding:7px 10px;font-size:12.5px;letter-spacing:0}
header.topbar .topnav.dense .side-item .nav-ico{margin-right:5px}
header.topbar .topnav.icons .side-item:not(.active) .side-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header.topbar .topnav.icons .side-item:not(.active){padding:8px 11px}
header.topbar .topnav.icons .side-item:not(.active) .nav-ico{margin-right:0}
header.topbar .topnav .side-item .side-label{white-space:nowrap}
/* actions: the same tray */
header.topbar .top-actions{padding:5px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 40px -18px rgba(0,0,0,.7)}
header.topbar .top-actions .badge{border-radius:999px;height:32px;padding:0 12px 0 10px;background:transparent;color:#E4E4E6}
header.topbar .btn.ghost.icon-btn{width:34px;height:32px;border-radius:999px;transition:background .45s var(--ease-spring),transform .3s var(--ease-spring)}
header.topbar .btn.ghost.icon-btn:hover{background:rgba(255,255,255,.10);transform:translateY(-1px)}
header.topbar .btn.ghost.icon-btn:active{transform:scale(.95)}
header.topbar .btn.ghost.icon-btn svg{stroke:#E4E4E6;stroke-width:1.5}
/* first paint: the items settle in with a short stagger */
@media (prefers-reduced-motion: no-preference){
  header.topbar .topnav .side-item{animation:nav-in .7s var(--ease-spring) both;animation-delay:calc(var(--i,0) * 45ms)}
  @keyframes nav-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}
header.topbar .topnav .side-item:nth-child(1){--i:1}header.topbar .topnav .side-item:nth-child(2){--i:2}header.topbar .topnav .side-item:nth-child(3){--i:3}header.topbar .topnav .side-item:nth-child(4){--i:4}header.topbar .topnav .side-item:nth-child(5){--i:5}header.topbar .topnav .side-item:nth-child(6){--i:6}header.topbar .topnav .side-item:nth-child(7){--i:7}header.topbar .topnav .side-item:nth-child(8){--i:8}header.topbar .topnav .side-item:nth-child(9){--i:9}header.topbar .topnav .side-item:nth-child(10){--i:10}header.topbar .topnav .side-item:nth-child(11){--i:11}header.topbar .topnav .side-item:nth-child(12){--i:12}header.topbar .topnav .side-item:nth-child(13){--i:13}header.topbar .topnav .side-item:nth-child(14){--i:14}
/* the group headings never render inside the rail */
header.topbar .topnav .side-group{display:none}
@media (max-width: 1600px){ header.topbar .topnav .side-item{padding:8px 12px} }
@media (max-width: 700px){
  header.topbar{padding:6px 10px;min-height:0;column-gap:8px}
  header.topbar .topnav{border-radius:999px;padding:4px;mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
  header.topbar .topnav .side-item{padding:8px 12px;font-size:13px}
  header.topbar .topnav.icons .side-item:not(.active) .side-label{position:static;width:auto;height:auto;clip:auto}   /* phones scroll sideways instead of hiding labels */
  header.topbar .topnav.icons .side-item:not(.active){padding:8px 12px}
}
/* ==================== priority menu: the "More" tray ==================== */
header.topbar .topnav .side-item.more{color:#E4E4E6}
header.topbar .topnav .side-item.more .nav-ico svg circle{fill:currentColor;stroke:none}
header.topbar .topnav .side-item.more.open{background:rgba(255,255,255,.12);color:#fff}
header.topbar .topnav.icons .side-item.more .side-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
header.topbar .nav-tray{position:absolute;top:calc(100% + 6px);z-index:40;min-width:220px;padding:6px;border-radius:20px;background:rgba(22,22,24,.92);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 30px 60px -20px rgba(0,0,0,.8),0 0 0 1px rgba(255,122,47,.10);display:grid;gap:2px;transform-origin:top right;animation:tray-in .45s var(--ease-spring) both}
header.topbar .nav-tray[hidden]{display:none}
@keyframes tray-in{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
header.topbar .nav-tray .side-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:14px;border:0;background:transparent;color:#E4E4E6;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .45s var(--ease-spring),color .3s var(--ease-spring),transform .3s var(--ease-spring);animation:nav-in .5s var(--ease-spring) both;animation-delay:calc(var(--i,0) * 35ms)}
header.topbar .nav-tray .side-item:hover,header.topbar .nav-tray .side-item:focus-visible{background:rgba(255,255,255,.09);color:#fff;outline:none;transform:translateX(2px)}
header.topbar .nav-tray .side-item:active{transform:scale(.98)}
header.topbar .nav-tray .side-item .nav-ico{display:inline-grid;place-items:center;width:18px;height:18px;background:transparent;box-shadow:none;border-radius:0}
header.topbar .nav-tray .side-item .nav-ico svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none;opacity:.9}
header.topbar .nav-tray .side-item kbd{margin-left:auto;font:600 10.5px/1 var(--mono,ui-monospace,monospace);color:#9F9FA1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:6px;padding:3px 6px}
header.topbar .nav-tray .side-item .cnt{color:#9F9FA1;font-weight:500;margin-left:4px}
@media (prefers-reduced-motion: reduce){ header.topbar .nav-tray,header.topbar .nav-tray .side-item{animation:none} }
header.topbar .nav-tray .side-item:nth-child(1){--i:1}header.topbar .nav-tray .side-item:nth-child(2){--i:2}header.topbar .nav-tray .side-item:nth-child(3){--i:3}header.topbar .nav-tray .side-item:nth-child(4){--i:4}header.topbar .nav-tray .side-item:nth-child(5){--i:5}header.topbar .nav-tray .side-item:nth-child(6){--i:6}header.topbar .nav-tray .side-item:nth-child(7){--i:7}header.topbar .nav-tray .side-item:nth-child(8){--i:8}
/* tablets: labels stay, the More tray absorbs the overflow (replaces the old icons-only band below 1100px) */
@media (max-width: 1100px) and (min-width: 701px){
  header.topbar .topnav .side-item{width:auto;height:auto;padding:8px 12px;justify-content:flex-start}
  header.topbar .topnav .side-item .side-label{position:static;width:auto;height:auto;clip:auto}
  header.topbar .topnav .side-item .nav-ico{margin:0 7px 0 0}
  header.topbar .topnav.dense .side-item{padding:7px 10px}
  header.topbar .topnav.dense .side-item .nav-ico{margin-right:5px}
}
/* ======================= THE PULSE (Overview top): the market in ten seconds ======================= */
.pulse{container-type:inline-size;margin:0 0 18px}
.pulse-head{padding:6px 2px 14px}
.pulse-head h2{font-family:Sora,var(--font);font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:8px 0 6px;color:var(--text);text-transform:none}
.pulse-head h2::before{content:none}
.pulse-head p{margin:0;max-width:72ch;font-size:15px;line-height:1.5;color:var(--text-2)}
.pz-live{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pz-live i{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.pz-live.on{color:var(--up)} .pz-live.on i{background:var(--up)}
.pulse-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.pz{grid-column:span 12;position:relative;min-width:0;padding:16px 16px 14px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),var(--surface);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 20px 40px -28px rgba(0,0,0,.8)}
@container (min-width: 760px){
  .pz-gauge{grid-column:span 5} .pz-idx{grid-column:span 7}
  .pz-levels{grid-column:span 7} .pz-vitals{grid-column:span 5}
  .pz-sectors{grid-column:span 7} .pz-radar{grid-column:span 5}
}
@media (prefers-reduced-motion: no-preference){
  .pz{animation:pz-in .7s var(--ease-spring,cubic-bezier(.32,.72,0,1)) both}
  .pz:nth-child(2){animation-delay:.05s}.pz:nth-child(3){animation-delay:.1s}.pz:nth-child(4){animation-delay:.15s}.pz:nth-child(5){animation-delay:.2s}.pz:nth-child(6){animation-delay:.25s}.pz:nth-child(7){animation-delay:.3s}
  .pz.no-anim{animation:none}
  @keyframes pz-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
}
.pz-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;min-height:28px}
.pz-eye{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-text)}
.pz-hint{font-size:12px;color:var(--muted);cursor:default}
.pz-foot{margin-top:10px;font-size:11.5px;color:var(--muted)}
.pz-seg{display:inline-flex;padding:3px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.pz-seg button{border:0;background:transparent;color:var(--text-2);font:600 12px/1 var(--font);padding:7px 11px;border-radius:999px;cursor:pointer;transition:background .4s var(--ease-spring),color .3s}
.pz-seg button:hover{color:#fff;background:rgba(255,255,255,.07)}
.pz-seg button.on{background:var(--brand);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.pz-seg button:focus-visible{outline:3px solid #FFB27A;outline-offset:1px}
.pz .up{color:var(--up)} .pz .down{color:var(--down)} .pz .warn{color:var(--warn)} .pz .flat{color:var(--muted)}
.pl-lede{margin:0 0 12px;font-size:14px;line-height:1.45;color:var(--text-2)} .pl-lede b{color:var(--text);font-variant-numeric:tabular-nums}
/* mood dial */
.pg-dial{position:relative;max-width:300px;margin:0 auto 6px}
.pg-dial svg{display:block;width:100%;height:auto}
.pg-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:16;stroke-linecap:round}
.pg-arc{fill:none;stroke:url(#pgGrad);stroke-width:16;stroke-linecap:round}
.pg-needle{transform-origin:110px 112px;transform:rotate(var(--a))}
.pg-needle line{stroke:var(--text);stroke-width:3.5;stroke-linecap:round}
.pg-needle circle{fill:var(--text);stroke:var(--surface);stroke-width:3}
@media (prefers-reduced-motion: no-preference){ .pz-gauge:not(.no-anim) .pg-needle{animation:pg-sweep 1.3s var(--ease-spring,cubic-bezier(.32,.72,0,1)) .2s both} @keyframes pg-sweep{from{transform:rotate(-90deg)}to{transform:rotate(var(--a))}} }
.pg-read{position:absolute;left:0;right:0;bottom:4px;display:flex;flex-direction:column;align-items:center;pointer-events:none}
.pg-score{font-family:Sora,var(--font);font-size:40px;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;background:var(--surface);padding:0 10px;border-radius:10px}
.pg-word{font-family:Sora,var(--font);font-size:15px;font-weight:700;margin-top:2px}
.pg-ends{display:flex;justify-content:space-between;padding:0 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pg-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:7px}
.pg-list li{display:grid;grid-template-columns:104px minmax(0,1fr) 78px;align-items:center;gap:10px;font-size:12.5px;cursor:help}
.pg-k{color:var(--text-2)} .pg-v{text-align:right;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.pg-bar i{display:block;height:100%;border-radius:inherit;background:currentColor;transition:width .8s var(--ease-spring)}
/* the big four */
.pi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pi-tile{padding:12px 12px 10px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);cursor:pointer;transition:transform .35s var(--ease-spring),background .45s var(--ease-spring),border-color .45s}
.pi-tile:hover{transform:translateY(-2px);background:rgba(255,255,255,.055);border-color:rgba(255,178,122,.35)}
.pi-tile:active{transform:scale(.985)} .pi-tile:focus-visible{outline:3px solid #FFB27A;outline-offset:2px}
.pi-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.pi-top b{display:block;font-size:14px;color:var(--text)} .pi-top i{font-style:normal;font-size:11.5px;color:var(--muted)}
.pi-chip{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap;background:color-mix(in srgb,currentColor 14%,transparent)}
.pi-px{margin:6px 0 2px} .pi-px .px{font-family:Sora,var(--font);font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;margin-right:8px} .pi-px .delta{font-size:13px;font-weight:600}
.aspark{display:block;width:100%;height:46px;margin:4px 0 6px;overflow:visible}
.aspark polyline{fill:none;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.pi-foot{display:grid;grid-template-columns:auto minmax(40px,1fr) auto;align-items:center;gap:8px;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.pi-52{position:relative;height:5px;border-radius:999px;background:linear-gradient(90deg,rgba(255,143,155,.4),rgba(232,189,104,.4),rgba(102,217,166,.45))}
.pi-52 i{position:absolute;top:50%;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:var(--text);border:2px solid var(--surface);transform:translateY(-50%)}
/* what could happen next */
.pl-track{position:relative;height:74px;margin:6px 6px 4px}
.pl-track::before{content:"";position:absolute;left:0;right:0;top:34px;height:6px;border-radius:999px;background:linear-gradient(90deg,rgba(255,143,155,.35),rgba(255,255,255,.08) 35%,rgba(255,255,255,.08) 65%,rgba(102,217,166,.35))}
.pl-zone{position:absolute;top:26px;height:22px;border-radius:8px;background:rgba(255,178,122,.12);border:1px dashed rgba(255,178,122,.45)}
.pl-atr{position:absolute;top:31px;height:12px;border-radius:999px;background:repeating-linear-gradient(135deg,rgba(232,189,104,.35) 0 4px,transparent 4px 8px)}
.pl-mk{position:absolute;top:0;bottom:0;width:0;display:flex;flex-direction:column;align-items:center}
.pl-mk i{position:absolute;top:28px;width:2px;height:18px;border-radius:2px;background:var(--muted)}
.pl-mk b{position:absolute;top:52px;font-size:11.5px;font-weight:700;white-space:nowrap;transform:translateX(-50%);left:0;color:var(--text-2);font-variant-numeric:tabular-nums}
.pl-mk em{position:absolute;top:6px;font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transform:translateX(-50%);left:0}
.pl-mk.s i{background:var(--down)} .pl-mk.s em{color:var(--down)}
.pl-mk.r i{background:var(--up)} .pl-mk.r em{color:var(--up)}
.pl-mk.dn2 b,.pl-mk.up2 b{color:var(--muted);font-weight:600}
.pl-mk.dn2 i,.pl-mk.up2 i{height:10px;top:32px;opacity:.6}
.pl-mk.px i{top:25px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--text);border:3px solid var(--brand);box-shadow:0 0 0 4px rgba(255,122,47,.25)}
.pl-mk.px em{color:var(--text)} .pl-mk.px b{color:var(--text)}
.pl-legend{display:flex;gap:16px;font-size:11.5px;color:var(--muted);margin:0 0 10px}
.pl-legend i{display:inline-block;width:14px;height:8px;border-radius:3px;margin-right:6px;vertical-align:middle}
.pl-legend i.z{background:rgba(255,178,122,.2);border:1px dashed rgba(255,178,122,.6)} .pl-legend i.a{background:repeating-linear-gradient(135deg,rgba(232,189,104,.6) 0 3px,transparent 3px 6px)}
.pl-scen{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pl-scen li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-left:3px solid currentColor}
.pl-if{font-size:13px;font-weight:600;color:var(--text)} .pl-if b{font-variant-numeric:tabular-nums} .pl-if small{font-size:11.5px;color:var(--muted);font-weight:500;margin-left:4px}
.pl-then{font-size:13px;color:var(--text-2);line-height:1.4} .pl-then b{color:var(--text);font-variant-numeric:tabular-nums}
.pl-lean{display:inline-block;margin-left:6px;font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,currentColor 16%,transparent)}
.pl-scen li.flat{color:var(--muted)} .pl-scen li.flat .pl-lean{color:var(--warn)}
/* vital signs */
.pv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pv-tile{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);min-width:0}
.pv-h{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:var(--text-2)} .pv-h em{font-style:normal;font-weight:600;font-size:11.5px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-px{margin:4px 0 2px} .pv-px .px{font-family:Sora,var(--font);font-size:17px;font-weight:700;color:var(--text);margin-right:6px;font-variant-numeric:tabular-nums} .pv-px .delta{font-size:12px;font-weight:600}
.pv-tile .spark{display:block;width:100%;height:26px}
.pv-tile .spark polyline{stroke-width:1.6}
/* where the money went */
.ps-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.ps-list li{display:grid;grid-template-columns:118px minmax(0,1fr) 58px;align-items:center;gap:10px;font-size:12.5px}
.ps-l{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-bar{position:relative;height:12px;border-radius:4px;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.18) calc(50% - .5px),rgba(255,255,255,.18) calc(50% + .5px),transparent calc(50% + .5px)),rgba(255,255,255,.03)}
.ps-bar i{position:absolute;top:1px;bottom:1px;border-radius:3px;background:currentColor;opacity:.85;transition:width .7s var(--ease-spring)}
.ps-v{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
/* risk radar */
.pr-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pr-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center}
.pr-ar{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-size:11px;font-weight:800;background:color-mix(in srgb,currentColor 15%,transparent)}
.pr-list b{display:block;font-size:13px;color:var(--text);font-weight:600} .pr-list i{display:block;font-style:normal;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
/* watchlist heat map */
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.ph-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.07);cursor:pointer;text-align:left;font:inherit;color:var(--text);background:color-mix(in srgb,var(--flat) calc(var(--k) * 60%),var(--surface-2));transition:transform .35s var(--ease-spring),border-color .4s}
.ph-tile.up{background:color-mix(in srgb,var(--up) calc(var(--k) * 100%),var(--surface-2))}
.ph-tile.down{background:color-mix(in srgb,var(--down) calc(var(--k) * 100%),var(--surface-2))}
.ph-tile:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.25)} .ph-tile:active{transform:scale(.97)} .ph-tile:focus-visible{outline:3px solid #FFB27A;outline-offset:2px}
.ph-tile b{font-family:Sora,var(--font);font-size:15px;font-weight:700;color:#fff}
.ph-chg{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:#fff}
.ph-tile em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-top:4px}
/* the divider into the long-form sections */
.deep-h{display:flex;align-items:baseline;gap:12px;margin:22px 2px 4px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.deep-h span{font-family:Sora,var(--font);font-size:16px;font-weight:700;color:var(--text)} .deep-h i{font-style:normal;font-size:12.5px;color:var(--muted)}
@container (max-width: 520px){
  .pi-grid,.pv-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .pi-tile,.pv-tile{padding:10px}
  .pi-px .px{font-size:18px}
  .pi-foot{grid-template-columns:auto minmax(30px,1fr)} .pi-foot>span:last-child{display:none}
  .pl-scen li{grid-template-columns:1fr;gap:4px}
  .ps-list li{grid-template-columns:92px minmax(0,1fr) 52px}
  .pg-list li{grid-template-columns:92px minmax(0,1fr) 70px}
  .pl-mk.dn2 b,.pl-mk.up2 b{display:none}
}
/* level map labels: the price sits above the track, floor / ceiling / next stops below it */
.pl-track{height:92px}
.pl-track::before{top:40px}
.pl-zone{top:32px} .pl-atr{top:37px}
.pl-mk i{top:34px}
.pl-mk b{top:58px}
.pl-mk em{top:74px}
.pl-mk.dn2 i,.pl-mk.up2 i{top:38px}
.pl-mk.px i{top:31px}
.pl-mk.px em{top:2px;padding:3px 8px;border-radius:999px;background:var(--brand);color:#fff;font-size:11px;letter-spacing:.03em;font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.pl-mk.px em::after{content:"";position:absolute;left:50%;bottom:-4px;margin-left:-4px;border:4px solid transparent;border-bottom:0;border-top-color:var(--brand)}
.pl-mk.tight b{display:none}
.pi-foot{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"a c" "b b";row-gap:6px;white-space:nowrap}
.pi-foot>span:nth-child(1){grid-area:a} .pi-foot>.pi-52{grid-area:b} .pi-foot>span:nth-child(3){grid-area:c;text-align:right;display:block}
@container (max-width: 520px){ .pi-foot{grid-template-columns:minmax(0,1fr);grid-template-areas:"a" "b"} .pi-foot>span:nth-child(3){display:none} }
/* ======================= THE CROWD (StockTwits) ======================= */
.crowd2{container-type:inline-size;margin:18px 0;padding:16px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),var(--surface);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.crowd2 .up{color:var(--up)} .crowd2 .down{color:var(--down)} .crowd2 .flat{color:var(--muted)}
.crowd2 h3{margin:0}
.crowd2 h4{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-text)}
.cr-how{margin:8px 0 14px;font-size:13px;line-height:1.5;color:var(--text-2);max-width:80ch} .cr-how b{color:var(--text)}
.cr-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cr-card{padding:14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);cursor:pointer;transition:transform .35s var(--ease-spring),border-color .4s}
.cr-card:hover{transform:translateY(-2px);border-color:rgba(255,178,122,.35)} .cr-card:focus-visible{outline:3px solid #FFB27A;outline-offset:2px}
.cr-card-h{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.cr-card-h b{display:block;font-size:14px;color:var(--text)} .cr-card-h i{font-style:normal;font-size:11.5px;color:var(--muted)}
.cr-chat{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--text-2);white-space:nowrap}
.cr-word{font-family:Sora,var(--font);font-size:22px;font-weight:700;letter-spacing:-.02em;margin:6px 0 8px}
.cr-scale{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.cr-meter{position:relative;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(255,143,155,.55),rgba(255,255,255,.12) 45%,rgba(255,255,255,.12) 55%,rgba(102,217,166,.6))}
.cr-meter .cr-mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:rgba(255,255,255,.35);border-radius:2px}
.cr-meter i{position:absolute;top:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;transform:translateY(-50%);background:currentColor;border:3px solid var(--surface);box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.cr-nums{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums} .cr-nums b{color:var(--text);font-size:14px}
.cr-line{display:block;width:100%;height:46px;margin:8px 0 4px}
.cr-line polyline{fill:none;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.cr-line .cr-50{stroke:rgba(255,255,255,.18);stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.cr-now{font-size:12.5px;line-height:1.45;color:var(--text-2);padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.035)} .cr-now b{color:var(--text)}
.cr-now.clash{background:rgba(232,189,104,.10);border:1px solid rgba(232,189,104,.35)}
.cr-talk{margin-top:14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07)}
.cr-talk-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px} .cr-talk-h h4{margin:0}
.cr-talk .pz-seg{flex-wrap:wrap}
.cr-sum{font-size:14px;line-height:1.45;color:var(--text-2)} .cr-sum b{color:var(--text)}
.cr-split{display:flex;height:10px;border-radius:999px;overflow:hidden;margin:10px 0 12px;gap:2px}
.cr-split i{display:block;height:100%;background:currentColor;transition:width .7s var(--ease-spring)} .cr-split i.up{border-radius:999px 0 0 999px} .cr-split i.down{border-radius:0 999px 999px 0}
.cr-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:8px}
.cr-lbl{font-size:12px;color:var(--muted)}
.cr-topics{display:flex;flex-wrap:wrap;gap:6px}
.cr-topic,.cr-also{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(255,178,122,.10);border:1px solid rgba(255,178,122,.22);color:var(--text)}
.cr-topic i{font-style:normal;font-size:11px;color:var(--brand-text);font-variant-numeric:tabular-nums}
.cr-also{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.10);cursor:pointer} .cr-also:hover{border-color:rgba(255,178,122,.5)}
.cr-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.cr-quotes h5{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cr-q{margin:0 0 8px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);border-left:3px solid currentColor}
.cr-q p{margin:0;font-size:13.5px;line-height:1.45;color:var(--text);overflow-wrap:anywhere}
.cr-q footer{margin-top:6px;font-size:11.5px;color:var(--muted)} .cr-q footer a{color:var(--brand-text)}
.cr-none{font-size:12.5px;color:var(--muted);padding:10px 0}
.cr-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;margin-top:14px}
.cr-bigs,.cr-trend{padding:14px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07)}
.cr-bigs ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cr-bigs li{display:grid;grid-template-columns:52px minmax(60px,1fr) 118px 26px 56px;align-items:center;gap:10px;font-size:12.5px;cursor:pointer}
.cr-bigs li b{color:var(--text)} .cr-bw{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .cr-bs{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums} .cr-bigs .delta{text-align:right;font-weight:600}
.cr-tr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.cr-tr{padding:10px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);cursor:pointer;min-width:0;transition:transform .35s var(--ease-spring),border-color .4s}
.cr-tr:hover{transform:translateY(-2px);border-color:rgba(255,178,122,.35)}
.cr-tr-h{display:flex;justify-content:space-between;gap:6px;font-size:13px} .cr-tr-h b{color:var(--text)} .cr-tr-h .delta{font-weight:700;font-size:12px}
.cr-tr-n{display:block;font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0 4px}
.cr-tr .spark{display:block;width:100%;height:24px} .cr-tr-w{font-size:11px;color:var(--muted)}
@container (max-width: 700px){
  .cr-top,.cr-quotes,.cr-bottom{grid-template-columns:minmax(0,1fr)}
  .cr-row{grid-template-columns:minmax(0,1fr);gap:4px}
  .cr-bigs li{grid-template-columns:48px minmax(40px,1fr) 104px 48px}
  .cr-bigs li .cr-bs{display:none}
}
@container (max-width: 700px){ .cr-talk .pz-seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%} .cr-talk .pz-seg button{flex:none} .cr-talk-h{flex-direction:column;align-items:flex-start} }
/* ======================= WATCHLIST: list + detail ======================= */
.wl2{container-type:inline-size;padding:4px 0 24px}
.wl2 .up{color:var(--up)} .wl2 .down{color:var(--down)} .wl2 .warn{color:var(--warn)} .wl2 .flat{color:var(--muted)}
.wl-bar{display:grid;gap:10px;margin-bottom:14px}
.wl2 .wl-lists{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.wl2 .ltab{border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}
.wl2 .wl-lists-actions{margin-left:auto;display:flex;gap:12px}
.wl-addrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.wl2 .wl-add{position:relative;flex:1 1 360px;max-width:560px;display:flex;align-items:center}
.wl2 .wl-add svg{position:absolute;left:14px;width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8;pointer-events:none}
.wl2 .wl-add input{width:100%;height:48px;padding:0 44px 0 42px;border-radius:14px;border:1px solid var(--input-border,#858587);background:rgba(255,255,255,.035);color:var(--text);font:500 15px/1 var(--font);transition:border-color .3s,background .3s,box-shadow .3s}
.wl2 .wl-add input:focus{outline:none;border-color:#FFB27A;background:rgba(255,255,255,.06);box-shadow:0 0 0 3px rgba(255,178,122,.25)}
.wl2 .wl-add kbd{position:absolute;right:12px;font:600 11px/1 var(--font);color:var(--muted);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 7px}
.wl2 .wl-add .search-results{top:calc(100% + 6px);left:0;right:0}
.wl-saved{font-size:12.5px;color:var(--muted)}
.wl-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.6fr);gap:10px;margin-bottom:14px}
.ws-tile{padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),var(--surface);border:1px solid rgba(255,255,255,.08);min-width:0}
.ws-tile[role=button]{cursor:pointer;transition:transform .35s var(--ease-spring),border-color .4s} .ws-tile[role=button]:hover{transform:translateY(-2px);border-color:rgba(255,178,122,.35)}
.ws-tile>span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ws-tile>b{display:block;margin:4px 0 2px;font-family:Sora,var(--font);font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-tile>b i{font-style:normal;font-size:14px;color:var(--muted)} .ws-tile>b small{font-size:14px}
.ws-tile>em{display:block;font-style:normal;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .ws-tile>em b{font-weight:700}
.ws-bar{display:flex;height:10px;gap:2px;margin:10px 0 8px;border-radius:999px;overflow:hidden}
.ws-bar i{display:block;height:100%;background:currentColor} .ws-bar i.none{color:rgba(255,255,255,.12)}
.wl-split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr);gap:14px;align-items:start}
.wl-left{min-width:0;border-radius:16px;background:var(--surface);border:1px solid rgba(255,255,255,.08);overflow:hidden}
.wl-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 12px 10px}
.wl-tools .pz-seg button i{font-style:normal;font-size:11px;margin-left:6px;opacity:.7;font-variant-numeric:tabular-nums}
.wl-sortl{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.wl-sortl select{height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--text);font:600 12.5px var(--font);padding:0 28px 0 10px}
.wl-colh,.wl-row{display:grid;grid-template-columns:minmax(110px,1.3fr) 92px minmax(128px,auto) minmax(124px,.9fr) 64px 30px;align-items:center;gap:12px;padding:0 14px}
.wl-colh{height:30px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.wl-list{list-style:none;margin:0;padding:4px 0}
.wl-row{position:relative;min-height:58px;cursor:pointer;border-left:3px solid transparent;transition:background .35s var(--ease-spring),border-color .35s}
.wl-row:hover{background:rgba(255,255,255,.035)}
.wl-row.on{background:linear-gradient(90deg,rgba(255,122,47,.16),rgba(255,122,47,.04));border-left-color:#FFB27A}
.wl-row:focus-visible{outline:3px solid #FFB27A;outline-offset:-3px}
.wl-row+.wl-row{box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}
.wr-id{min-width:0} .wr-id b{display:block;font-size:14.5px;color:var(--text);letter-spacing:.01em} .wr-id i{display:block;font-style:normal;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wr-spark .aspark{height:30px;margin:0}
.wr-nochart{font-size:11px;color:var(--muted)}
.wr-px{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap} .wr-px .px{display:block;font-size:14px;font-weight:700;color:var(--text)} .wr-px .delta{font-size:12px;font-weight:600}
.wr-pill{display:inline-block;max-width:100%;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.03em;padding:4px 9px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,currentColor 14%,transparent)}
.wr-pill.up{color:var(--up)} .wr-pill.down{color:var(--down)} .wr-pill.flat{color:var(--text-2)} .wr-pill.none{color:var(--muted)}
.wr-score{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden} .wr-score i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#F0661C,#FFB27A)}
.wr-x{width:28px;height:28px;border-radius:9px;border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;opacity:0;transition:opacity .25s,background .25s,color .25s}
.wl-row:hover .wr-x,.wl-row.on .wr-x,.wr-x:focus-visible{opacity:1} .wr-x:hover{background:rgba(255,143,155,.15);color:var(--down)}
.wl-inline{display:none}
.wl-none{padding:22px 14px;color:var(--muted);font-size:13px}
.wl-detail{position:sticky;top:10px;padding:16px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012)),var(--surface);border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 48px -30px rgba(0,0,0,.8);max-height:calc(100dvh - 190px);overflow:auto;scrollbar-width:thin}
@media (prefers-reduced-motion: no-preference){ .wl-detail>*,.wl-inline>*{animation:pz-in .5s var(--ease-spring,cubic-bezier(.32,.72,0,1)) both} }
.wd-empty{padding:30px 10px;text-align:center;color:var(--muted)}
.wd-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.wd-id b{display:block;font-family:Sora,var(--font);font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.05} .wd-id span{font-size:12.5px;color:var(--muted)}
.wd-px{text-align:right;font-variant-numeric:tabular-nums} .wd-px .px{display:block;font-family:Sora,var(--font);font-size:24px;font-weight:700;color:var(--text)} .wd-px .delta{font-size:13px;font-weight:600}
.wd-chart{margin:4px 0 10px} .wd-ch-h{display:flex;gap:10px;align-items:baseline;font-size:12px;color:var(--muted)} .wd-ch-h b{font-size:13px} .wd-ch-r{margin-left:auto;font-variant-numeric:tabular-nums}
.wd-chart .aspark{height:84px;margin:6px 0 0}
.wd-52{margin:0 0 14px} .wd-52>span{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.wd-52bar{position:relative;height:6px;margin:8px 0 6px;border-radius:999px;background:linear-gradient(90deg,rgba(255,143,155,.45),rgba(232,189,104,.45),rgba(102,217,166,.5))}
.wd-52bar i{position:absolute;top:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--text);border:3px solid var(--surface);transform:translateY(-50%)}
.wd-52n{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.wd-reads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.wd-read{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--text);font:inherit;cursor:pointer;min-width:0;transition:border-color .35s,background .35s,transform .3s var(--ease-spring)}
.wd-read:hover{transform:translateY(-1px);border-color:rgba(255,178,122,.35)}
.wd-read.on{border-color:#FFB27A;background:rgba(255,122,47,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.wd-read:focus-visible{outline:3px solid #FFB27A;outline-offset:2px}
.wd-rl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)} .wd-rl i{display:block;font-style:normal;font-weight:500;letter-spacing:0;text-transform:none;font-size:11px}
.wd-read b{font-size:13px;font-weight:800;letter-spacing:.02em;line-height:1.2}
.wd-read.up b{color:var(--up)} .wd-read.down b{color:var(--down)} .wd-read.flat b{color:var(--text)} .wd-read.none b{color:var(--muted)}
.wd-rp{font-size:11.5px;line-height:1.35;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wl2 h5{margin:0 0 8px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-text)}
.wd-why{margin-bottom:12px} .wd-why ul{margin:0;padding:0 0 0 18px;display:grid;gap:4px} .wd-why li{font-size:13px;line-height:1.45;color:var(--text-2)}
.wd-plan{margin-bottom:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.wd-pbar{position:relative;height:12px;margin:14px 6px 10px;border-radius:999px;background:rgba(255,255,255,.06)}
.wd-pbar .risk{position:absolute;top:0;bottom:0;background:rgba(255,143,155,.45);border-radius:999px} .wd-pbar .rew{position:absolute;top:0;bottom:0;background:rgba(102,217,166,.5);border-radius:999px}
.wd-pbar i{position:absolute;top:50%;width:4px;height:20px;margin-left:-2px;border-radius:2px;transform:translateY(-50%)}
.wd-pbar i.stop{background:var(--down)} .wd-pbar i.tgt{background:var(--up)} .wd-pbar i.now{width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--text);border:3px solid var(--brand)}
.wd-pn{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums} .wd-pn b{color:var(--text)} .wd-pn .up b,.wd-pn .up{color:var(--up)} .wd-pn .down b,.wd-pn .down{color:var(--down)}
.wd-rr{margin-left:auto}
.wd-note{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--text-2)}
.wd-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.wd-stats>div{padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);min-width:0}
.wd-stats span{display:block;font-size:11px;color:var(--muted)} .wd-stats b{display:block;margin-top:2px;font-size:14px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}
.wd-who{margin-bottom:12px} .wd-who .who{margin:0}
.wd-act{display:flex;flex-wrap:wrap;gap:8px} .wd-act .btn{height:40px;border-radius:12px}
.wd-rm:hover{color:var(--down)}
.wl-empty{padding:40px 20px;text-align:center;border-radius:16px;border:1px dashed rgba(255,178,122,.35);background:rgba(255,122,47,.05)}
.wl-empty b{display:block;font-family:Sora,var(--font);font-size:20px;color:var(--text)} .wl-empty p{color:var(--text-2);margin:6px 0 14px}
.wl-sugg{display:flex;justify-content:center;flex-wrap:wrap;gap:8px} .wl-sugg button{border-radius:999px;border:1px solid rgba(255,178,122,.4);background:rgba(255,122,47,.1);color:var(--text);font:600 13px var(--font);padding:8px 14px;cursor:pointer}
@container (max-width: 1100px){ .wl-sum{grid-template-columns:repeat(4,minmax(0,1fr))} .ws-mix{grid-column:1 / -1} }
@container (max-width: 900px){
  .wl-split{grid-template-columns:minmax(0,1fr)}
  .wl-detail{display:none}
  .wl-inline{display:block;padding:14px;margin:0 8px 10px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,178,122,.3)}
  .wl-colh{display:none}
  .wl-row{grid-template-columns:minmax(0,1fr) 72px auto 28px;grid-template-areas:"id spark px x" "read read score score";row-gap:6px;padding:10px 12px}
  .wr-id{grid-area:id} .wr-spark{grid-area:spark} .wr-px{grid-area:px} .wr-x{grid-area:x;opacity:1} .wr-read{grid-area:read} .wr-score{grid-area:score;align-self:center}
  .wl-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wd-reads{grid-template-columns:minmax(0,1fr)}
  .wd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.wl2 .wl-addrow{justify-content:flex-start} .wl2 .wl-add{margin:0}
@container (max-width: 700px){ .wl2 .wl-add kbd{display:none} .wl2 .wl-add input{padding-right:14px} .wd-read:not(.on) .wd-rp{display:none} .wd-read{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px} .wd-read .wd-rl{flex:1 0 100%} .wd-read .wd-rp{flex:1 0 100%} }
.wl-colh,.wl-row{grid-template-columns:minmax(96px,1fr) 84px minmax(116px,auto) minmax(152px,1.1fr) 56px 28px;gap:10px}
@container (max-width: 900px){ .wl-row{grid-template-columns:minmax(0,1fr) 72px auto 28px} }
/* ======================= crowd: bigger sample, shift, watchlist picker ======================= */
.cr-talk-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cr-pick{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.cr-pick select{height:34px;border-radius:10px;border:1px solid rgba(255,178,122,.35);background:rgba(255,122,47,.08);color:var(--text);font:600 12.5px var(--font);padding:0 26px 0 10px}
.cr-loading{padding:14px 0;font-size:13px;color:var(--muted)}
.cr-loading::after{content:"";display:inline-block;width:10px;height:10px;margin-left:8px;border-radius:50%;border:2px solid rgba(255,178,122,.4);border-top-color:#FFB27A;vertical-align:-1px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.cr-shift{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:10px}
.cr-shift-bars{display:grid;gap:5px}
.cr-shift-bars>div{display:grid;grid-template-columns:110px minmax(0,1fr) 92px;gap:8px;align-items:center;font-size:12px}
.cr-shift-bars i{font-style:normal;color:var(--muted)} .cr-shift-bars em{font-style:normal;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}
.cr-mini{height:8px;border-radius:999px;background:rgba(255,143,155,.45);overflow:hidden} .cr-mini b{display:block;height:100%;background:var(--up);border-radius:999px 0 0 999px}
.cr-shift-w{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,currentColor 14%,transparent);white-space:nowrap}
/* ======================= THE BETTING MARKETS ======================= */
.odds{container-type:inline-size;margin:18px 0;padding:16px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),var(--surface);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.odds .up{color:var(--up)} .odds .down{color:var(--down)} .odds .flat{color:var(--text-2)}
.odds h3{margin:0} .odds h4{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-text)}
.od-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.od-col{display:grid;gap:12px;align-content:start}
.od-card{padding:14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);min-width:0;display:flex;flex-direction:column}
.od-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline} .od-h b{font-size:13px;color:var(--text)} .od-h span{font-size:11.5px;color:var(--muted);white-space:nowrap}
.od-big{font-family:Sora,var(--font);font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:8px 0 2px;font-variant-numeric:tabular-nums}
.od-small .od-big{font-size:26px}
.od-p{margin:0 0 8px;font-size:12.5px;line-height:1.45;color:var(--text-2)} .od-p b{color:var(--text)}
.od-foot{margin-top:auto;padding-top:6px;font-size:11.5px;color:var(--muted)} .od-foot a{color:var(--brand-text)}
.od-money{font-variant-numeric:tabular-nums}
.od-thin{display:inline-block;margin-left:6px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:999px;color:var(--warn);background:rgba(232,189,104,.14);border:1px solid rgba(232,189,104,.35)}
.od-stack{display:flex;height:12px;border-radius:999px;overflow:hidden;gap:2px;margin:4px 0 8px} .od-stack i{display:block;height:100%;background:currentColor}
.od-opts{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:4px}
.od-opts li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:12.5px;color:var(--text-2)} .od-opts b{color:var(--text);font-variant-numeric:tabular-nums}
.od-dot{width:9px;height:9px;border-radius:50%;background:currentColor}
.od-lad{display:block;width:100%;height:92px;margin:2px 0 4px;overflow:visible}
.od-lad polyline{fill:none;stroke:#FFB27A;stroke-width:2;vector-effect:non-scaling-stroke}
.od-lad .od-50{stroke:rgba(255,255,255,.15);stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.od-lad .od-now{stroke:var(--text);stroke-width:1.5;vector-effect:non-scaling-stroke}
.od-lad .od-mid{fill:#FFB27A;stroke:var(--surface);stroke-width:2}
.od-lad text{font:600 10px var(--font);fill:var(--muted)}
.od-targets{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.od-targets span{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:600;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,currentColor 12%,transparent)} .od-targets b{color:var(--text);font-variant-numeric:tabular-nums}
.od-funds,.od-wl{margin-top:14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07)}
.od-fund-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.od-fund{display:grid;gap:6px;padding:10px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.od-fund b{font-size:14px;color:var(--text)} .od-fund span{font-size:13px;font-weight:700} .od-fund em{font-style:normal;font-size:11px;color:var(--muted)}
.od-fund.none span{color:var(--muted);font-weight:500}
.od-meter{height:8px;border-radius:999px;background:rgba(255,143,155,.45);overflow:hidden} .od-meter i{display:block;height:100%;background:var(--up)}
.od-tablew{overflow-x:auto}
.od-table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.od-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}
.od-table td{padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap;color:var(--text-2)}
.od-table td b{color:var(--text)} .od-table td span{font-weight:700} .od-table td i{display:block;font-style:normal;font-size:11px;color:var(--muted)}
.od-table tbody tr{cursor:pointer;transition:background .3s} .od-table tbody tr:hover{background:rgba(255,255,255,.035)}
.od-v{text-align:right}
.od-none{margin-top:10px;font-size:12px;color:var(--muted)}
@container (max-width: 980px){ .od-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@container (max-width: 560px){ .od-grid,.od-fund-grid{grid-template-columns:minmax(0,1fr)} .od-fund-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .cr-shift{grid-template-columns:minmax(0,1fr)} .cr-shift-bars>div{grid-template-columns:96px minmax(0,1fr) 84px} }
/* watchlist detail: crowd + betting markets */
.wd-sec{margin-bottom:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.wd-ch{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)} .wd-ch b{font-size:13px} .wd-ch small{font-weight:500;color:var(--muted)}
.wd-crowd .cr-split{margin:8px 0}
.wd-cn{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text-2);margin-bottom:8px}
.wd-odds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wd-odds>div{padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);min-width:0}
.wd-odds span{display:block;font-size:11px;color:var(--muted)} .wd-odds b{display:block;font-family:Sora,var(--font);font-size:20px;font-weight:700;margin:2px 0} .wd-odds em{display:block;font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wl2 .wd-sec .up{color:var(--up)} .wl2 .wd-sec .down{color:var(--down)}
.od-card .od-h{flex-direction:column;align-items:flex-start;gap:2px} .od-card .od-h span{white-space:normal}
.od-oth{white-space:normal !important;max-width:280px;line-height:1.35} .od-oth a{color:var(--text-2);text-decoration:none;border:0} .od-oth a:hover{color:var(--brand-text)} .od-oth b{margin-left:6px;color:var(--text)}
.wd-odds .wd-oth{grid-column:1 / -1} .wd-oth span{white-space:normal} .wd-oth em a{color:var(--brand-text)}
/* ======================= HERO v2: crowd right now, top traders, big bets, header strip ======================= */
@container (min-width: 760px){
  .pz-gauge{grid-column:span 4} .pz-crowd{grid-column:span 8}
  .pz-pros{grid-column:span 7} .pz-bets{grid-column:span 5}
}
.pz-jump{color:var(--brand-text);text-decoration:none;border:0;cursor:pointer} .pz-jump:hover{text-decoration:underline}
.hc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hc-col{padding:12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);min-width:0}
.hc-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap} .hc-h b{font-size:14px;color:var(--text)} .hc-h i{font-style:normal;font-size:11.5px;color:var(--muted)} .hc-n{margin-left:auto;font-size:11px;color:var(--muted)}
.hc-word{font-family:Sora,var(--font);font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:6px 0 2px} .hc-word small{font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-left:8px}
.hc-now{font-size:12.5px;color:var(--text-2)} .hc-now b{font-weight:700}
.hc-week{font-size:11.5px;color:var(--muted);margin-top:2px} .hc-week em{font-style:normal;color:var(--warn)}
.tl-bars{display:block;width:100%;height:64px;margin:8px 0 4px}
.tl-bars rect.up{fill:var(--up)} .tl-bars rect.down{fill:var(--down)} .tl-bars rect.flat{fill:rgba(255,255,255,.28)}
.tl-bars rect:last-of-type{stroke:var(--text);stroke-width:1.2}
.tl-bars .tl-50{stroke:rgba(255,255,255,.22);stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.tl-bars text{font:600 9px var(--font);fill:var(--muted)}
.hc-q{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.035);border-left:3px solid currentColor;font-size:12.5px;line-height:1.4;color:var(--text)}
.hc-q span{display:block;font-size:10.5px;color:var(--muted);margin-top:3px}
.hc-q.up{color:var(--up)} .hc-q.down{color:var(--down)} .hc-q{color:inherit} .hc-q.up,.hc-q.down{color:var(--text)} .hc-q.up{border-left-color:var(--up)} .hc-q.down{border-left-color:var(--down)}
.tp-lean{display:grid;grid-template-columns:48px minmax(0,1fr) 112px;grid-template-areas:"s bar w" "s e e";gap:2px 10px;align-items:center;margin:8px 0}
.tp-lean>b{grid-area:s;font-size:14px;color:var(--text)} .tp-lean .cr-split{grid-area:bar;margin:0} .tp-lean>span{grid-area:w;font-size:13px;font-weight:700;text-align:right} .tp-lean em{grid-area:e;font-style:normal;font-size:11px;color:var(--muted)}
.tp-others{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:center;margin:10px 0}
.tp-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;background:color-mix(in srgb,currentColor 12%,transparent);cursor:pointer} .tp-chip i{font-style:normal;font-weight:600;color:var(--text-2);font-size:11px}
.tp-latest{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.tp-latest li{padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.tp-latest li>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px}
.tp-latest p{margin:5px 0 0;font-size:12.5px;line-height:1.4;color:var(--text)}
.tr-h{font-weight:700;color:var(--brand-text);text-decoration:none;border:0} .tr-h:hover{text-decoration:underline}
.tr-rate{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:999px;color:var(--up);background:rgba(61,220,151,.12);border:1px solid rgba(61,220,151,.3)}
.tr-call{font-weight:700;text-transform:capitalize} .tr-at{margin-left:auto;color:var(--muted);font-size:11px}
.hb-fed{padding:12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);margin-bottom:10px}
.hb-t{font-size:12.5px;font-weight:600;color:var(--text-2)}
.hb-big{font-family:Sora,var(--font);font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:4px 0 8px} .hb-big small{font-family:var(--font);font-size:13px;font-weight:700;margin-left:8px;letter-spacing:0}
.hb-opts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--text-2);margin-bottom:4px} .hb-opts span{display:inline-flex;align-items:center;gap:6px} .hb-opts b{color:var(--text)}
.hb-line{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l v" "e v";gap:0 12px;align-items:center;padding:9px 2px;border-top:1px solid rgba(255,255,255,.06)}
.hb-line span{grid-area:l;font-size:12.5px;color:var(--text-2)} .hb-line b{grid-area:v;font-family:Sora,var(--font);font-size:22px;font-weight:800} .hb-line em{grid-area:e;font-style:normal;font-size:11px;color:var(--muted)}
.pz .od-stack i.up,.pz .od-dot.up{color:var(--up)} .pz .od-stack i.down,.pz .od-dot.down{color:var(--down)} .pz .od-stack i.flat,.pz .od-dot.flat{color:rgba(255,255,255,.55)}
/* the big four, compressed into the overview lane */
.hud-mini{display:flex;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.hud-mini[hidden]{display:none}
.hm-chip{display:inline-flex;align-items:center;gap:8px;flex:none;padding:5px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:var(--text);font:inherit;cursor:pointer;transition:border-color .3s,transform .3s var(--ease-spring)}
.hm-chip:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.25)}
.hm-chip b{font-size:12px;letter-spacing:.02em} .hm-chip .qx{display:inline-flex;gap:6px;align-items:baseline} .hm-chip .px{font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums} .hm-chip .delta{font-size:11.5px;font-weight:700}
.hm-chip .spark{width:44px;height:16px}
/* the leaderboard */
.pros{container-type:inline-size;margin:18px 0;padding:16px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),var(--surface);border:1px solid rgba(255,255,255,.08)}
.pros .up{color:var(--up)} .pros .down{color:var(--down)} .pros h3{margin:0}
.tp-table td i{display:block;font-style:normal;font-size:11px;color:var(--muted)}
.tp-rank{font-family:Sora,var(--font);font-weight:800;color:var(--muted)}
.tp-rate{display:flex;align-items:center;gap:8px} .tp-bar{width:80px;height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden} .tp-bar b{display:block;height:100%;background:var(--up)} .tp-rate strong{font-family:Sora,var(--font);font-size:15px;color:var(--text)}
.tp-rc{white-space:normal !important} .tp-rc span{display:inline-block;margin:0 6px 2px 0;font-size:11.5px;font-weight:700}
@container (max-width: 700px){ .hc-grid{grid-template-columns:minmax(0,1fr)} .tp-others{grid-template-columns:minmax(0,1fr);gap:4px} .tp-lean{grid-template-columns:44px minmax(0,1fr) 100px} }
.cr-word small{font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-left:8px}
.cr-now2{font-size:12.5px;color:var(--text-2);margin-bottom:2px}
.cr-weekrow{display:grid;grid-template-columns:auto minmax(60px,1fr) auto;gap:10px;align-items:center;font-size:11.5px;color:var(--muted);margin-top:6px} .cr-weekrow b{font-size:12px;white-space:nowrap}

/* ======================= PALETTE v2: graphite + solar orange (the blue logo stays; blue and orange are complements) ======================= */
:root, :root[data-theme="dark"]{
  --canvas:#09090B; --bg:#09090B; --surface:#121216; --surface-2:#17171C; --line:#26262E; --line-2:#32323C; --input-border:#5E5E6A;
  --text:#F5F5F7; --text-2:#CFCFD6; --muted:#9C9CA8;
  --brand:#FF7A2F; --brand-hover:#F0661C; --brand-text:#FFB27A; --brand-tint:#2A1A10; --brand-ink:#1A0C03;
  --accent:#FFB27A; --accent-ink:#1A0C03; --hi-bg:#2A1A10;
  --up:#3DDC97; --down:#FF6B85; --warn:#F7C85A; --flat:#9C9CA8; --red:#FF6B85; --green:#3DDC97;
  --s1:#FFB27A; --s2:#F7C85A; --s3:#9C9CA8;
  --pill-ok-bg:#10281E; --pill-ok:#3DDC97; --pill-warn-bg:#2E2510; --pill-warn:#F7C85A; --pill-bad-bg:#2E1419; --pill-bad:#FF6B85; --pill-acc-bg:#2A1A10; --pill-acc:#FFB27A;
  --topbar:#0C0C0F; --nav-text:#E4E4EA; --nav-hover:#1C1C22;
}
body{background:radial-gradient(1200px 600px at 85% -10%,rgba(255,122,47,.07),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(61,220,151,.05),transparent 60%),var(--canvas)}
/* text on orange must be dark to read (white on this orange is under 3:1) */
header.topbar .topnav .side-item.active,header.topbar .topnav .side-item.active .side-label{color:var(--brand-ink) !important}
header.topbar .topnav .side-item.active .nav-ico svg{stroke:var(--brand-ink) !important}
header.topbar .topnav .side-item.active{background:linear-gradient(180deg,#FF9A5C,#FF7A2F) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 22px -8px rgba(255,122,47,.6) !important}
.pz-seg button.on{background:var(--brand);color:var(--brand-ink)}
.btn:not(.ghost):not(.sm.ghost){background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
.btn:not(.ghost):hover{background:var(--brand-hover)}
.pl-mk.px em{background:var(--brand);color:var(--brand-ink)} .pl-mk.px em::after{border-top-color:var(--brand)}
.pl-mk.px i{border-color:var(--brand)}
.wd-pbar i.now{border-color:var(--brand)}
.wr-score i{background:linear-gradient(90deg,#FF7A2F,#FFB27A)}
.wl-row.on{background:linear-gradient(90deg,rgba(255,122,47,.14),rgba(255,122,47,.03));border-left-color:var(--brand)}
.pz-live.on{color:var(--up)}
/* ======================= SIGN-IN v2 (graphite + solar orange) ======================= */
.ov-login.lg2{position:relative;isolation:isolate;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(24px,5vw,80px);align-items:center;padding:clamp(24px,5vw,72px) clamp(20px,6vw,96px);background:#08080A;overflow:hidden}
.ov-login.lg2 .ov-lines{display:none}
.lg-aurora{position:absolute;inset:0;z-index:-2;pointer-events:none}
.lg-aurora i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}
.lg-aurora i:nth-child(1){width:48vw;height:48vw;left:-12vw;top:-18vw;background:radial-gradient(circle,rgba(255,122,47,.55),transparent 65%)}
.lg-aurora i:nth-child(2){width:38vw;height:38vw;right:-10vw;bottom:-16vw;background:radial-gradient(circle,rgba(61,220,151,.28),transparent 65%)}
.lg-aurora i:nth-child(3){width:30vw;height:30vw;right:24vw;top:-14vw;background:radial-gradient(circle,rgba(36,91,255,.30),transparent 65%)}
@media (prefers-reduced-motion: no-preference){ .lg-aurora i{animation:lg-drift 18s var(--ease-spring,cubic-bezier(.32,.72,0,1)) infinite alternate} .lg-aurora i:nth-child(2){animation-duration:22s} .lg-aurora i:nth-child(3){animation-duration:26s} @keyframes lg-drift{to{transform:translate3d(4vw,3vw,0) scale(1.08)}} }
.lg-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:radial-gradient(rgba(255,255,255,.9) 1px,transparent 1px);background-size:3px 3px}
.lg-left{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:640px}
.lg-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(255,122,47,.10);border:1px solid rgba(255,122,47,.35);color:#FFB27A;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.lg-eyebrow i{width:6px;height:6px;border-radius:50%;background:#FF7A2F;box-shadow:0 0 0 3px rgba(255,122,47,.2)}
.ov-login.lg2 .ov-tagline{font-family:Sora,var(--font);font-size:clamp(40px,5.4vw,76px);font-weight:800;letter-spacing:-.04em;line-height:.98;margin:0;color:#F5F5F7}
.ov-login.lg2 .ov-tagline span{background:linear-gradient(90deg,#FFB27A,#FF7A2F 55%,#FFD2B0);-webkit-background-clip:text;background-clip:text;color:transparent}
.lg-sub{margin:0;max-width:52ch;font-size:clamp(15px,1.25vw,17px);line-height:1.55;color:#CFCFD6}
.lg-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin-top:6px}
.lg-tile{padding:5px;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.lg-core{height:100%;padding:14px;border-radius:17px;background:linear-gradient(180deg,#141418,#0F0F12);box-shadow:inset 0 1px 1px rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px}
.lg-core b{font-size:14px;color:#F5F5F7} .lg-core span{font-size:12.5px;line-height:1.45;color:#A9A9B4}
.lg-vis{height:46px;margin-bottom:6px}
.lg-bars{display:flex;align-items:flex-end;gap:4px} .lg-bars i{flex:1;border-radius:3px;background:rgba(255,255,255,.22)} .lg-bars i.up{background:#3DDC97} .lg-bars i.down{background:#FF6B85}
.lg-bars i:last-child{outline:1.5px solid #F5F5F7;outline-offset:1px}
@media (prefers-reduced-motion: no-preference){ .lg-bars i{animation:lg-grow .9s var(--ease-spring,cubic-bezier(.32,.72,0,1)) both;transform-origin:bottom} @keyframes lg-grow{from{transform:scaleY(.1);opacity:0}to{transform:none;opacity:1}} }
.lg-badge{display:flex;align-items:baseline;gap:6px} .lg-badge em{font-style:normal;font-family:Sora,var(--font);font-size:34px;font-weight:800;letter-spacing:-.03em;color:#3DDC97} .lg-badge small{font-size:12px;font-weight:700;color:#A9A9B4;text-transform:uppercase;letter-spacing:.08em}
.lg-stack{display:flex;align-items:center;gap:3px} .lg-stack i{height:14px;border-radius:999px} .lg-stack .a{flex:6.5;background:#FF6B85} .lg-stack .b{flex:3.3;background:rgba(255,255,255,.4)} .lg-stack .c{flex:.4;background:#3DDC97}
.lg-live{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);font-variant-numeric:tabular-nums}
.lg-live span{display:inline-flex;align-items:baseline;gap:6px;font-size:13px} .lg-live i{font-style:normal;color:#9C9CA8;font-size:11.5px} .lg-live b{color:#F5F5F7} .lg-live em{font-style:normal;font-weight:700;font-size:12px} .lg-live .up{color:#3DDC97} .lg-live .down{color:#FF6B85} .lg-live .flat{color:#9C9CA8}
.lg-dot{width:8px;height:8px;border-radius:50%;background:#3DDC97;box-shadow:0 0 0 4px rgba(61,220,151,.18)} .lg-live-l{font-size:11px !important;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#3DDC97}
.ov-login.lg2 .ov-fine{margin:0;font-size:12px;color:#8A8A95}
.lg-right{display:flex;justify-content:center}
.lg-shell{width:100%;max-width:440px;padding:7px;border-radius:30px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.ov-login.lg2 .ov-form{padding:28px;border-radius:23px;background:linear-gradient(180deg,rgba(24,24,29,.92),rgba(16,16,20,.94));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 1px rgba(255,255,255,.10);border:0}
.lg-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#FFB27A;margin-bottom:10px}
.ov-login.lg2 .ov-form h1{font-family:Sora,var(--font);font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px;color:#F5F5F7}
.ov-login.lg2 .ov-form>p{margin:0 0 18px;color:#B9B9C3;font-size:14px;line-height:1.5}
.ov-login.lg2 .ov-fields label{color:#DADAE0;font-size:13px;font-weight:600}
.ov-login.lg2 .ov-fields input{height:52px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid #4A4A55;color:#F5F5F7;font-size:15px;padding:0 16px;transition:border-color .3s,box-shadow .3s,background .3s}
.ov-login.lg2 .ov-fields input:focus{outline:none;border-color:#FF9A5C;background:rgba(255,255,255,.06);box-shadow:0 0 0 4px rgba(255,122,47,.22)}
.ov-login.lg2 .lg-btn{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:54px;padding:0 8px 0 22px;border-radius:999px;border:0;background:linear-gradient(180deg,#FF9A5C,#FF7A2F);color:#1A0C03;font:800 15px var(--font);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 14px 30px -12px rgba(255,122,47,.7);transition:transform .35s var(--ease-spring,cubic-bezier(.32,.72,0,1)),box-shadow .35s}
.ov-login.lg2 .lg-btn i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(26,12,3,.14);transition:transform .45s var(--ease-spring,cubic-bezier(.32,.72,0,1))}
.ov-login.lg2 .lg-btn svg{width:18px;height:18px;fill:none;stroke:#1A0C03;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ov-login.lg2 .lg-btn:hover i{transform:translateX(3px) scale(1.05)} .ov-login.lg2 .lg-btn:active{transform:scale(.98)}
.ov-login.lg2 .lg-btn:disabled{opacity:.7;justify-content:center}
.ov-login.lg2 .lg-btn:focus-visible{outline:3px solid #FFB27A;outline-offset:3px}
.ov-login.lg2 .ov-hint{color:#9C9CA8}
@media (max-width: 1000px){ .ov-login.lg2{grid-template-columns:minmax(0,1fr);padding:28px 18px 40px;gap:28px;align-content:start} .lg-proof{grid-template-columns:minmax(0,1fr)} .lg-core{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px} .lg-vis{height:34px;width:96px;margin:0} .lg-core b{flex:1} .lg-core span{flex:1 0 100%} .lg-right{order:-1} .lg-left{order:0} }
@media (max-width: 1000px){ .lg-right{order:0} }
.ov-login.lg2 .ov-tagline{font-size:clamp(36px,4.1vw,64px)} .lg-left{max-width:720px;gap:16px} .ov-login.lg2{padding-top:clamp(20px,3.5vw,48px);padding-bottom:clamp(20px,3.5vw,48px)}
/* the big-four strip must never widen the page: it scrolls inside its own box */
.shell{grid-template-columns:minmax(0,1fr)} .hud{grid-template-columns:minmax(0,1fr);min-width:0} .hud-bar{min-width:0} .hud-bar>*{min-width:0}
.hud-mini{flex:1 1 auto;max-width:100%}
/* ======================= MARKET CONTEXT v2 ======================= */
.ctx-view{padding:14px 16px 32px}
.ctx .pulse-head p b{color:var(--text)}
.ctx-nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.ctx-nav button{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--text-2);font:600 12.5px var(--font);padding:7px 12px;border-radius:999px;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.ctx-nav button:hover{color:var(--text);border-color:rgba(255,178,122,.5);background:rgba(255,122,47,.08)}
@container (min-width: 760px){
  .ctx-reg{grid-column:span 5} .ctx-race{grid-column:span 7}
  .ctx-rates{grid-column:span 8} .ctx-br{grid-column:span 4}
  .ctx-rot{grid-column:span 12} .ctx .pz-radar{grid-column:span 12}
}
.cx-word{font-family:Sora,var(--font);font-size:30px;font-weight:800;letter-spacing:-.02em;margin:2px 0 6px}
.cx-word.warn{color:var(--warn)}
.ctx-reg .aspark{height:90px}
.cx-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.cx-facts>div{padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.cx-facts span{display:block;font-size:11px;color:var(--muted)} .cx-facts b{display:block;font-size:13.5px;margin-top:2px;text-transform:capitalize;color:var(--text)} .cx-facts b.up{color:var(--up)} .cx-facts b.down{color:var(--down)} .cx-facts b.warn{color:var(--warn)}
.rc-list li{grid-template-columns:118px minmax(0,1fr) 58px 70px}
.rc-l i{display:block;font-style:normal;font-size:10px;color:var(--muted)}
.rc-pos{position:relative;height:6px;border-radius:999px;background:linear-gradient(90deg,rgba(255,107,133,.45),rgba(247,200,90,.4),rgba(61,220,151,.5))} .rc-pos.none{background:none}
.rc-pos i{position:absolute;top:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--text);border:2px solid var(--surface);transform:translateY(-50%)}
.rc-legend{display:grid;grid-template-columns:118px minmax(0,1fr) 128px;gap:10px;margin-top:8px;font-size:11px;color:var(--muted)} .rc-legend span:first-child{grid-column:2;text-align:center} .rc-legend span:last-child{text-align:right}
.cr-grid2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(200px,1fr);gap:14px;align-items:start}
.ctx-rates svg.chart,.ctx-rates .chart svg{width:100%;height:auto}
.rt-dial{position:relative;max-width:190px}
.rt-dial svg{display:block;width:100%;height:auto}
.rt-track{fill:none;stroke:rgba(61,220,151,.45);stroke-width:10;stroke-linecap:round} .rt-inv{fill:none;stroke:rgba(255,107,133,.55);stroke-width:10;stroke-linecap:round}
.rt-needle{stroke:var(--text);stroke-width:3;stroke-linecap:round} .rt-hub{fill:var(--text)}
.rt-read b{display:block;font-family:Sora,var(--font);font-size:18px;font-weight:800} .rt-read span{font-size:12px;color:var(--muted)}
.rt-10{display:flex;align-items:baseline;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)} .rt-10 span{font-size:12px;color:var(--muted)} .rt-10 b{font-family:Sora,var(--font);font-size:22px} .rt-10 em{font-style:normal;font-size:12px;font-weight:700}
.br-rings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 10px}
.br-ring{position:relative;text-align:center} .br-ring svg{width:100%;max-width:92px;height:auto;display:block;margin:0 auto;transform:rotate(-90deg)}
.br-bg{fill:none;stroke:rgba(255,255,255,.08);stroke-width:8} .br-fg{fill:none;stroke-width:8;stroke-linecap:round;stroke:currentColor}
.br-ring b{position:absolute;left:0;right:0;top:calc(46px - 12px);font-family:Sora,var(--font);font-size:17px;color:var(--text)}
@container (max-width: 520px){ .br-ring b{top:calc(28% - 4px)} }
.br-ring span{display:block;font-size:11.5px;color:var(--text-2);margin-top:4px} .br-ring i{display:block;font-style:normal;font-size:10.5px;color:var(--muted)}
.br-ad{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;font-size:12px;color:var(--muted)} .br-ad .cr-split{margin:0}
.rot-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:14px;align-items:center}
.rot{width:100%;height:auto;display:block}
.rot .q{fill:transparent} .rot .q-lead{fill:rgba(61,220,151,.06)} .rot .q-weak{fill:rgba(247,200,90,.05)} .rot .q-imp{fill:rgba(255,178,122,.05)} .rot .q-lag{fill:rgba(255,107,133,.06)}
.rot .axis{stroke:rgba(255,255,255,.2);stroke-dasharray:3 4}
.rot .ql{font:800 10px var(--font);letter-spacing:.1em} .rot .ql.up{fill:var(--up)} .rot .ql.down{fill:var(--down)} .rot .ql.warn{fill:var(--warn)} .rot .ql.acc{fill:var(--brand-text)}
.rot .rt-pt circle{fill:currentColor;stroke:var(--surface);stroke-width:2} .rot .rt-pt text{font:600 11px var(--font);fill:var(--text-2)}
.rot .rt-pt.up{color:var(--up)} .rot .rt-pt.down{color:var(--down)} .rot .rt-pt.warn{color:var(--warn)} .rot .rt-pt.acc{color:var(--brand-text)}
.rot .rt-pt{cursor:default;transition:transform .3s} .rot .rt-pt:hover circle{r:9}
.rot-key{display:grid;gap:8px} .rot-key>div{padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.rot-key b{font-size:13px} .rot-key b.acc{color:var(--brand-text)} .rot-key b.warn{color:var(--warn)} .rot-key span{display:block;font-size:11.5px;color:var(--muted)} .rot-key em{display:block;font-style:normal;font-size:12px;color:var(--text);margin-top:3px}
.ctx-weekly{margin-top:18px}
.ctx-more{margin-top:18px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:var(--surface);padding:10px 14px}
.ctx-more summary{cursor:pointer;font-weight:700;color:var(--text-2);font-size:13px} .ctx-more[open] summary{margin-bottom:10px}
@container (max-width: 700px){ .cr-grid2,.rot-wrap{grid-template-columns:minmax(0,1fr)} .cx-facts{grid-template-columns:minmax(0,1fr)} .rc-list li{grid-template-columns:92px minmax(0,1fr) 52px 50px} }
/* ======================= COMPANY MAP ======================= */
.cm-view{padding:14px 16px 32px}
.cm{container-type:inline-size}
.cm-head h2{font-family:Sora,var(--font);font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-.02em;margin:10px 0 6px;color:var(--text)}
.cm-head>p{margin:0 0 14px;max-width:72ch;color:var(--text-2);font-size:15px;line-height:1.5}
.cm-search{position:relative;display:flex;gap:10px;align-items:center;max-width:720px}
.cm-search>svg{position:absolute;left:16px;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.8;pointer-events:none}
.cm-search input{flex:1;height:56px;border-radius:999px;border:1px solid #4A4A55;background:rgba(255,255,255,.04);color:var(--text);font:600 16px var(--font);padding:0 20px 0 46px;transition:border-color .3s,box-shadow .3s}
.cm-search input:focus{outline:none;border-color:#FF9A5C;box-shadow:0 0 0 4px rgba(255,122,47,.22)}
.cm-search .lg-btn{width:auto;height:56px;padding:0 8px 0 22px;display:flex;align-items:center;gap:12px;border:0;border-radius:999px;background:linear-gradient(180deg,#FF9A5C,#FF7A2F);color:#1A0C03;font:800 15px var(--font);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 14px 30px -12px rgba(255,122,47,.7)}
.cm-search .lg-btn i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(26,12,3,.14)} .cm-search .lg-btn svg{width:18px;height:18px;fill:none;stroke:#1A0C03;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cm-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 18px}
.cm-chips button{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--text-2);font:700 12.5px var(--font);padding:7px 12px;border-radius:999px;cursor:pointer}
.cm-chips button:hover,.cm-chips button.on{border-color:rgba(255,178,122,.55);color:#fff;background:rgba(255,122,47,.12)}
.cm-loading{display:grid;place-items:center;gap:14px;padding:60px 0;color:var(--text-2)}
.cm-bubble{position:relative;width:120px;height:120px;display:grid;place-items:center}
.cm-bubble b{position:relative;z-index:1;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle,#FFB27A,#FF7A2F);color:#1A0C03;font:800 16px Sora,var(--font)}
.cm-bubble i{position:absolute;inset:18px;border-radius:50%;border:2px solid rgba(255,122,47,.6)}
@media (prefers-reduced-motion: no-preference){ .cm-bubble i{animation:cm-ripple 1.8s var(--ease-spring,cubic-bezier(.32,.72,0,1)) infinite} .cm-bubble i:nth-child(2){animation-delay:.6s} .cm-bubble i:nth-child(3){animation-delay:1.2s} @keyframes cm-ripple{from{transform:scale(.8);opacity:.9}to{transform:scale(2.4);opacity:0}} }
.cm-empty,.cm-err{padding:30px 0;color:var(--muted)}
.cm-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin:4px 0 14px}
.cm-title>div:first-child b{display:block;font-family:Sora,var(--font);font-size:26px;font-weight:800;color:var(--text)} .cm-title>div:first-child span{font-size:13px;color:var(--muted)}
.cm-kpis{display:flex;gap:8px;flex-wrap:wrap} .cm-kpis>div{padding:9px 14px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.cm-kpis span{display:block;font-size:11px;color:var(--muted)} .cm-kpis b{display:block;font-family:Sora,var(--font);font-size:18px;color:var(--text);font-variant-numeric:tabular-nums}
@container (min-width: 760px){
  .cm-graph-card{grid-column:span 12}
  .cm-crit,.cm-vul{grid-column:span 6}
  .cm-flow{grid-column:span 12}
  .cm-hist,.cm-bal{grid-column:span 6}
  .cm-cus{grid-column:span 7} .cm-cap{grid-column:span 5}
  .cm-val{grid-column:span 7} .cm-own{grid-column:span 5}
}
.cm-graph-card{padding-bottom:10px}
.cm-stage{position:relative;height:clamp(420px,56vw,620px);border-radius:14px;background:radial-gradient(circle at 50% 50%,rgba(255,122,47,.10),transparent 55%),rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.06);overflow:hidden}
.cm-svg{width:100%;height:100%;display:block;touch-action:none}
.cm-link{stroke-opacity:.5;transition:stroke-opacity .3s} .cm-link.rival{stroke-dasharray:5 5} .cm-link.risk{stroke-dasharray:2 4} .cm-link.owner,.cm-link.peer{stroke-opacity:.25}
.cm-link.crit{stroke-opacity:.95;stroke-dasharray:none;filter:drop-shadow(0 0 4px rgba(255,107,133,.6))} .cm-link.dim{stroke-opacity:.06}
.cm-node{transition:opacity .3s} .cm-node.dim{opacity:.22}
.cm-dot{stroke:rgba(9,9,11,.9);stroke-width:2}
.g-center .cm-dot{stroke:#FFD2B0;stroke-width:3;filter:drop-shadow(0 0 18px rgba(255,122,47,.55))}
.cm-lbl{font:600 11px var(--font);fill:var(--text-2);pointer-events:none;paint-order:stroke;stroke:rgba(9,9,11,.85);stroke-width:3px}
.g-center .cm-lbl{font:800 17px Sora,var(--font);fill:#1A0C03;stroke:none} .cm-sub{font:700 12px var(--font);fill:var(--text);paint-order:stroke;stroke:rgba(9,9,11,.85);stroke-width:3px}
.cm-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--text-2)} .cm-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px} .cm-legend i.crit{background:none;border:2px dashed #FF6B85}
.cm-tip{position:absolute;z-index:3;max-width:270px;padding:10px 12px;border-radius:12px;background:rgba(18,18,22,.96);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 40px -20px rgba(0,0,0,.9);pointer-events:none}
.cm-graph-card{position:relative} .cm-tip b{display:block;font-size:13px;color:var(--text)} .cm-tip i{display:block;font-style:normal;font-size:11px;font-weight:700;margin:2px 0 4px} .cm-tip span{display:block;font-size:12px;line-height:1.4;color:var(--text-2);margin-top:3px}
.cm-v{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cm-v li{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-left:3px solid currentColor}
.cm-v.up li{border-left-color:var(--up)} .cm-v.down li{border-left-color:var(--down)}
.cm-v b{display:block;font-size:13.5px;color:var(--text)} .cm-v span{display:block;font-size:12.5px;line-height:1.45;color:var(--text-2);margin-top:2px}
.pz-eye.up{color:var(--up)} .pz-eye.down{color:var(--down)}
.sankey{width:100%;height:auto;display:block} .sk-band{fill:none;stroke-opacity:.32;transition:stroke-opacity .3s} .sk-band:hover{stroke-opacity:.6}
.sk-l{font:600 11.5px var(--font);fill:var(--text)} .sk-l tspan{fill:var(--muted);font-weight:500}
.ybars{width:100%;height:auto;display:block} .yb-l{font:600 10.5px var(--font);fill:var(--muted)} .yb-t{font:700 10.5px var(--font);fill:var(--text-2)}
.yb-key{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12px;color:var(--text-2)} .yb-key i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px} .yb-key b{color:var(--text);margin-left:4px}
.cm-cbar{height:16px;margin:4px 0 10px}
.cm-quote{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);border-left:3px solid var(--brand);font-size:12.5px;line-height:1.5;color:var(--text-2)} .cm-quote span{display:block;margin-top:6px;font-size:11px;color:var(--muted)} .cm-quote a{color:var(--brand-text)}
.cm-h5{margin:14px 0 6px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-text)}
.cm-named{list-style:none;margin:0;padding:0;display:grid;gap:6px} .cm-named li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;font-size:12.5px} .cm-named b{color:var(--text)} .cm-named span{color:var(--text-2)}
@container (max-width: 700px){ .cm-search{flex-direction:column;align-items:stretch} .cm-search .lg-btn{justify-content:space-between} .cm-named li{grid-template-columns:minmax(0,1fr)} .cm-stage{height:460px} }
/* ======================= MENU v3: four places, the rest in labelled panels ======================= */
header.topbar .topnav{gap:4px}
header.topbar .topnav .side-item{padding:8px 14px;gap:0}
header.topbar .topnav .side-item .nav-ico{margin-right:8px}
header.topbar .topnav .nv-grp .nv-chev{width:14px;height:14px;margin-left:6px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.7;transition:transform .35s var(--ease-spring)}
header.topbar .topnav .nv-grp.open .nv-chev{transform:rotate(180deg)}
header.topbar .topnav .nv-grp.open:not(.active){background:rgba(255,255,255,.08);color:#fff}
.nv-cur{font-style:normal;font-weight:600;margin-left:6px;padding-left:8px;border-left:1px solid currentColor;opacity:.75}
header.topbar .topnav .side-item .cnt{margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(255,255,255,.12);color:inherit}
header.topbar .topnav .side-item.active .cnt{background:rgba(26,12,3,.16)}
.nav-pop{position:absolute;top:calc(100% + 8px);z-index:40;width:340px;padding:8px;border-radius:22px;background:rgba(16,16,20,.94);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 60px -20px rgba(0,0,0,.85);display:grid;gap:2px;transform-origin:top left;animation:tray-in .4s var(--ease-spring) both}
.nav-pop[hidden]{display:none}
.np-h{padding:6px 10px 6px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text)}
.np-it{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:10px;border:0;border-radius:14px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background .35s var(--ease-spring),transform .3s var(--ease-spring)}
.np-it:hover,.np-it:focus-visible{background:rgba(255,255,255,.07);outline:none;transform:translateX(2px)}
.np-it.on{background:rgba(255,122,47,.12)}
.np-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.np-ic svg{width:18px;height:18px;fill:none;stroke:var(--text-2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.np-it.on .np-ic{background:var(--brand);border-color:var(--brand)} .np-it.on .np-ic svg{stroke:var(--brand-ink)}
.np-tx b{display:block;font-size:13.5px;font-weight:700} .np-tx i{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:1px}
.np-it kbd{font:600 10.5px/1 var(--font);color:var(--muted);border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:4px 6px}
#guide-btn.on{background:rgba(255,122,47,.16)} #guide-btn.on svg{stroke:var(--brand-text)}
@media (max-width: 700px){
  .nav-pop{position:fixed;left:10px !important;right:10px;top:auto;bottom:10px;width:auto;border-radius:24px;transform-origin:bottom center}
  .nv-cur{display:none}
}
/* the panel lives on the body now */
.nav-pop{position:fixed;z-index:60}
@media (max-width: 700px){
  .nav-pop{left:10px !important;right:10px;top:auto !important;bottom:10px;width:auto}
  /* phones: the five places as an app-style tab bar, icon over a short label */
  header.topbar .topnav{overflow:visible;mask-image:none;-webkit-mask-image:none;padding:4px;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:2px}
  header.topbar .topnav .side-item{flex-direction:column;justify-content:center;gap:3px;padding:6px 2px;min-height:50px;border-radius:14px;font-size:11px;min-width:0}
  header.topbar .topnav .side-item .nav-ico{margin:0 !important}
  header.topbar .topnav .side-item .side-label{position:static !important;width:auto !important;height:auto !important;clip:auto !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:11px}
  header.topbar .topnav .side-item .cnt,header.topbar .topnav .nv-chev{display:none}
}
/* ======================= Market mood: segmented meter ======================= */
.mm{position:relative;max-width:320px;margin:4px auto 2px}
.mm svg{display:block;width:100%;height:auto;overflow:visible}
.mm-track{fill:none;stroke:rgba(255,255,255,.05);stroke-width:26;stroke-linecap:round}
.mm-seg{fill:none;stroke-width:16;stroke-linecap:butt;opacity:.22;transition:opacity .6s var(--ease-spring)}
.mm-seg.on{opacity:1;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--mm) 55%,transparent))}
.mm-tick{stroke:rgba(255,255,255,.28);stroke-width:1.5;stroke-linecap:round}
.mm-lab{font:700 9.5px var(--font);letter-spacing:.06em;text-transform:uppercase;fill:var(--muted)}
.mm-lab.on{fill:var(--mm)}
.mm-knob{transform:rotate(var(--deg))}
.mm-knob-o{fill:var(--surface);stroke:var(--mm);stroke-width:4;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}
.mm-knob-i{fill:var(--mm)}
@media (prefers-reduced-motion: no-preference){ .pz-gauge:not(.no-anim) .mm-knob{animation:mm-sweep 1.4s var(--ease-spring,cubic-bezier(.32,.72,0,1)) .25s both} @keyframes mm-sweep{from{transform:rotate(0deg)}to{transform:rotate(var(--deg))}} }
.mm-read{position:absolute;left:0;right:0;bottom:6%;display:flex;flex-direction:column;align-items:center;pointer-events:none}
.mm-read b{font-family:Sora,var(--font);font-size:46px;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums}
.mm-read span{font-family:Sora,var(--font);font-size:16px;font-weight:700;color:var(--mm);margin-top:2px}
.mm-read i{font-style:normal;font-size:11px;color:var(--muted);margin-top:1px}
.mm{max-width:360px;margin:6px auto 4px}
.mm-read{bottom:44px}
.mm-read b{font-size:52px}
.mm-scale{display:flex;justify-content:space-between;gap:4px;margin-top:10px;padding:0 4px}
.mm-scale span{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);opacity:.7;white-space:nowrap}
.mm-scale i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.mm-scale span.on{color:var(--c);opacity:1}
.mm-scale span.on i{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 30%,transparent)}
.mm-scale{flex-wrap:wrap;justify-content:center;gap:4px 12px;padding:0}
.mm-scale span{font-size:10px;letter-spacing:.02em}
/* ======================= US MARKET THEMES ======================= */
.tms-view{padding:14px 16px 32px}
.tms .pulse-head p b.up{color:var(--up)} .tms .pulse-head p b.down{color:var(--down)}
.tm-state{display:inline-flex;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.s-lead{--c:#3DDC97} .s-imp{--c:#FFB27A} .s-weak{--c:#F7C85A} .s-lag{--c:#FF6B85} .s-flat{--c:#9C9CA8}
.tm-board{grid-column:1/-1;margin-bottom:14px}
.tb-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.tb-list li{display:grid;grid-template-columns:28px minmax(150px,220px) minmax(0,1fr) 62px 104px;gap:12px;align-items:center;padding:6px 8px;border-radius:12px;cursor:pointer;transition:background .3s}
.tb-list li:hover{background:rgba(255,255,255,.04)}
.tb-ic{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.05)} .tb-ic svg,.tm-ic svg{width:16px;height:16px;fill:none;stroke:var(--text-2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tb-n{font-size:13.5px;font-weight:600;color:var(--text)}
.tb-list .ps-bar{height:14px}
.tb-spy{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--text);opacity:.75;border-radius:2px}
.tb-list .ps-v{font-size:13px}
.tm-key{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 10px;align-items:center;margin-top:12px;font-size:11.5px;color:var(--muted)} .tm-key i{font-style:normal}
.tb-spyk{grid-column:1/-1;display:flex;align-items:center;gap:8px} .tb-spyk b{display:inline-block;width:2px;height:12px;background:var(--text);opacity:.75}
.tm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tm-card{position:relative;padding:16px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01)),var(--surface);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;scroll-margin-top:90px}
.tm-card::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--c)}
.tm-top{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:start}
.tm-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent)} .tm-ic svg{width:20px;height:20px;stroke:var(--c)}
.tm-tt h3{margin:0;font-family:Sora,var(--font);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--text);text-transform:none} .tm-tt h3::before{content:none}
.tm-tt p{margin:3px 0 0;font-size:12.5px;line-height:1.45;color:var(--text-2)}
.tm-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 12px}
.tm-kpis>div{padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.tm-kpis b{display:block;font-family:Sora,var(--font);font-size:20px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums} .tm-kpis span{display:block;font-size:11px;color:var(--muted)}
.tm-card .up{color:var(--up)} .tm-card .down{color:var(--down)} .tm-card .flat{color:var(--text-2)}
.tm-ring{position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px}
.tm-ring::before{content:"";width:34px;height:34px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p) * 1%),rgba(255,255,255,.08) 0);-webkit-mask:radial-gradient(circle,transparent 11px,#000 12px);mask:radial-gradient(circle,transparent 11px,#000 12px);grid-row:1/3}
.tm-ring em{font-style:normal;font-family:Sora,var(--font);font-size:16px;font-weight:800;color:var(--text)} .tm-ring span{grid-column:2}
.tm-groups{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tm-groups li{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr) 54px auto;gap:10px;align-items:center;font-size:12.5px}
.tg-n{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-dots{display:flex;gap:3px;flex-wrap:wrap;max-width:74px} .tg-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.14)} .tg-dots i.on{background:var(--up)}
.tm-movers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}
.tm-movers>div{display:flex;flex-wrap:wrap;gap:5px;align-items:center} .tm-movers .cr-lbl{flex:1 0 100%}
.tm-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;color:var(--text);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);cursor:pointer}
.tm-chip i{font-style:normal;font-weight:700} .tm-chip.up i{color:var(--up)} .tm-chip.down i{color:var(--down)} .tm-chip:hover{border-color:rgba(255,178,122,.5)}
@container (max-width: 900px){ .tm-grid{grid-template-columns:minmax(0,1fr)} }
.tms{container-type:inline-size}
@container (max-width: 640px){ .tb-list li{grid-template-columns:26px minmax(0,1fr) 56px;grid-template-areas:"i n v" "i b s"} .tb-ic{grid-area:i} .tb-n{grid-area:n} .tb-list .ps-bar{grid-area:b} .tb-list .ps-v{grid-area:v} .tb-list .tm-state{grid-area:s;justify-self:end} .tm-key{grid-template-columns:auto 1fr} .tm-groups li{grid-template-columns:minmax(0,1fr) 70px 50px} .tg-dots{display:none} .tm-kpis{grid-template-columns:repeat(3,minmax(0,1fr))} .tm-kpis b{font-size:16px} }
@container (max-width: 640px){
  .tm-top{grid-template-columns:36px minmax(0,1fr);grid-template-areas:"i t" "i s"} .tm-ic{grid-area:i;width:36px;height:36px} .tm-tt{grid-area:t} .tm-top>.tm-state{grid-area:s;justify-self:start;margin-top:6px}
  .tm-ring{grid-template-columns:minmax(0,1fr);gap:2px} .tm-ring::before{display:none} .tm-ring em{font-size:16px} .tm-ring span{grid-column:1}
  .tm-kpis>div{padding:8px} .tm-kpis span{font-size:10.5px}
}
/* ======================= LIVE ======================= */
.lv-head{padding:6px 2px 14px}
.lv-head h2{font-family:Sora,var(--font);font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.02em;margin:10px 0 6px;color:var(--text)}
.lv-head h2::before{content:none} .lv-head p{margin:0;max-width:72ch;color:var(--text-2);font-size:14.5px;line-height:1.5}
.lv-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.1em;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--muted)}
.lv-chip i{width:8px;height:8px;border-radius:50%;background:currentColor}
.lv-chip.on{color:var(--up);border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.1)} .lv-chip.pre{color:var(--warn);border-color:rgba(247,200,90,.4)}
@media (prefers-reduced-motion: no-preference){ .lv-chip.on i{animation:lv-blink 1.6s ease-in-out infinite} @keyframes lv-blink{50%{opacity:.25}} }
.lv-sub{margin-left:10px;font-size:12px;color:var(--muted)} .lv-sub b{color:var(--text-2);font-weight:600;font-variant-numeric:tabular-nums}
.lv-tabs{display:inline-flex;gap:4px;margin-top:14px;padding:4px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}
.lv-tabs button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text-2);font:700 13px var(--font);padding:8px 14px;border-radius:999px;cursor:pointer}
.lv-tabs button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lv-tabs button.on{background:var(--brand);color:var(--brand-ink)} .lv-tabs button:not(.on):hover{background:rgba(255,255,255,.07);color:#fff}
@container (min-width: 760px){ .lv-dir{grid-column:span 7} .lv-mk{grid-column:span 5} .lv-run{grid-column:span 12} }
.lv-read{padding:4px 0 6px}
.lv-at{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lv-word{font-family:Sora,var(--font);font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.02em;margin:4px 0 6px}
.lv-word.up{color:var(--up)} .lv-word.down{color:var(--down)} .lv-word.flat{color:var(--text)}
.lv-tl{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.lv-tl li{display:grid;place-items:center;gap:2px;width:52px;padding:6px 0;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);font-size:10.5px;color:var(--muted)}
.lv-tl li i{font-style:normal;font-size:13px} .lv-tl li.up i{color:var(--up)} .lv-tl li.down i{color:var(--down)} .lv-tl li.flat i{color:var(--text-2)}
.lv-tl li.hit{border-color:rgba(61,220,151,.5)} .lv-tl li.miss{border-color:rgba(255,107,133,.5)} .lv-tl li.none{width:auto;padding:8px 12px}
.lv-idx{padding:10px 0 12px;border-bottom:1px solid rgba(255,255,255,.06)} .lv-idx:last-child{border-bottom:0}
.lv-idx-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px} .lv-idx-h b{font-size:15px;color:var(--text)} .lv-idx-h span{font-size:12px;color:var(--muted)} .lv-idx-h em{font-style:normal;font-size:11.5px;font-weight:700;margin-left:auto}
.lv-idx .up{color:var(--up)} .lv-idx .down{color:var(--down)}
.lv-px .px{font-family:Sora,var(--font);font-size:26px;font-weight:800;color:var(--text);margin-right:8px;font-variant-numeric:tabular-nums} .lv-px .delta{font-size:14px;font-weight:700}
.lv-rng{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:8px;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.lv-rng>div{position:relative;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(255,107,133,.5),rgba(255,255,255,.12),rgba(61,220,151,.55))}
.lv-rng>div i{position:absolute;top:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--text);border:3px solid var(--surface);transform:translateY(-50%)}
.lv-rng-t,.lv-rsi{font-size:12px;color:var(--text-2);margin-top:6px} .lv-rsi b{color:var(--text)}
.lv-run .action{margin:0;padding:0;border:0;background:none} .lv-run .action h3{display:none}
.lv-next,.pulse .deep-h{flex-wrap:wrap;align-items:center} .deep-h .btn{margin-left:auto;height:38px;border-radius:999px;padding:0 16px}
.nv-live{position:absolute;top:6px;left:24px;width:7px;height:7px;border-radius:50%;background:var(--up);box-shadow:0 0 0 2px var(--surface)}
header.topbar .topnav .side-item.is-live{position:relative}
.liveview .col-main>.lv{margin-bottom:6px}
/* ======================= SIGN-IN v3: one screen, blue like the logo, calmer motion ======================= */
.gate.gate-full{inset:0 !important;top:0 !important;left:0 !important;z-index:200;padding:0;overflow:hidden;display:block;background:#07080C}
.ov-login.lg2{--lb:#3B7BFF;--lb2:#85A7FF;--lb3:#245BFF;height:100dvh;min-height:0;overflow:hidden;align-content:center;padding:clamp(18px,3vh,40px) clamp(20px,6vw,96px);background:#07080C}
.lg-aurora i{opacity:.32}
.lg-aurora i:nth-child(1){background:radial-gradient(circle,rgba(36,91,255,.55),transparent 65%)}
.lg-aurora i:nth-child(2){background:radial-gradient(circle,rgba(133,167,255,.30),transparent 65%)}
.lg-aurora i:nth-child(3){background:radial-gradient(circle,rgba(61,220,151,.14),transparent 65%)}
@media (prefers-reduced-motion: no-preference){ .lg-aurora i{animation-duration:48s !important} .lg-aurora i:nth-child(2){animation-duration:60s !important} .lg-aurora i:nth-child(3){animation-duration:72s !important} }
.lg-eyebrow{background:rgba(36,91,255,.12);border-color:rgba(133,167,255,.4);color:var(--lb2)} .lg-eyebrow i{background:var(--lb);box-shadow:0 0 0 3px rgba(36,91,255,.25)}
.ov-login.lg2 .ov-tagline{font-size:clamp(32px,3.7vw,58px)}
.ov-login.lg2 .ov-tagline span{background:linear-gradient(90deg,#B9CCFF,#85A7FF 45%,#3B7BFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.lg-left{gap:clamp(10px,1.8vh,16px)}
.lg-sub{font-size:clamp(14px,1.1vw,16px)}
.lg-core{padding:12px} .lg-vis{height:36px;margin-bottom:4px} .lg-badge em{font-size:28px}
.lg-kicker{color:var(--lb2)}
.ov-login.lg2 .ov-form{padding:24px}
.ov-login.lg2 .ov-fields input:focus{border-color:var(--lb2);box-shadow:0 0 0 4px rgba(59,123,255,.25)}
.ov-login.lg2 .lg-btn{background:linear-gradient(180deg,#4C8BFF,#245BFF);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 30px -12px rgba(36,91,255,.75)}
.ov-login.lg2 .lg-btn i{background:rgba(255,255,255,.16)} .ov-login.lg2 .lg-btn svg{stroke:#fff}
.ov-login.lg2 .lg-btn:focus-visible{outline-color:var(--lb2)}
.ov-login.lg2 .ov-form a,.ov-login.lg2 .ov-form .lnk{color:var(--lb2)}
.ov-login.lg2 .lg-shell{box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 0 1px rgba(133,167,255,.08)}
@media (max-height: 820px) and (min-width: 1001px){ .lg-live{display:none} .lg-core span{font-size:12px} }
@media (max-height: 700px) and (min-width: 1001px){ .lg-proof{display:none} }
@media (max-width: 1000px){
  .ov-login.lg2{grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;padding:22px 18px;overflow-y:auto}
  .lg-proof,.lg-live,.ov-login.lg2 .ov-fine,.lg-sub{display:none}
  .ov-login.lg2 .ov-tagline{font-size:clamp(30px,8.5vw,40px)}
  .lg-left{gap:10px} .lg-left .brand-logo,.lg-left img{max-width:160px;height:auto}
  .ov-login.lg2 .ov-form{padding:20px} .ov-login.lg2 .ov-form h1{font-size:22px}
}
/* goodbye */
.lg-bye{display:grid;place-items:center}
.lg-bye-card{position:relative;z-index:1;display:grid;justify-items:center;gap:14px;text-align:center;max-width:460px;padding:40px 32px;border-radius:30px;background:linear-gradient(180deg,rgba(24,24,29,.9),rgba(16,16,20,.94));border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 1px rgba(255,255,255,.08),0 40px 80px -40px rgba(0,0,0,.9)}
.lg-bye-card h1{margin:6px 0 0;font-family:Sora,var(--font);font-size:30px;font-weight:800;letter-spacing:-.02em;color:#F5F5F7}
.lg-bye-card p{margin:0;color:#B9B9C3;font-size:15px;line-height:1.5}
.lg-link{margin-top:6px;border:0;background:none;color:#85A7FF;font:700 16px var(--font);cursor:pointer;padding:8px 4px;border-bottom:2px solid rgba(133,167,255,.4)}
.lg-link:hover{color:#B9CCFF;border-bottom-color:#B9CCFF} .lg-link:focus-visible{outline:3px solid #85A7FF;outline-offset:4px;border-radius:6px}
.ov-login.lg2 .ov-form b,.ov-login.lg2 .ov-form i{color:#85A7FF}
body:has(#gate.gate-full:not([hidden])){overflow:hidden}
@media (max-width: 1000px){
  .ov-login.lg2{padding:16px 16px 14px;gap:10px;overflow:hidden;align-content:center}
  .lg-eyebrow{display:none}
  .lg-left{gap:6px} .ov-login.lg2 .ov-tagline{font-size:clamp(28px,8vw,36px);line-height:1}
  .lg-left .ov-logo{width:150px}
  .lg-shell{padding:5px;border-radius:24px}
  .ov-login.lg2 .ov-form{padding:18px;border-radius:20px}
  .lg-kicker{margin-bottom:6px} .ov-login.lg2 .ov-form h1{font-size:21px;margin-bottom:4px} .ov-login.lg2 .ov-form>p{margin-bottom:12px;font-size:13.5px}
  .ov-login.lg2 .ov-fields input{height:48px} .ov-login.lg2 .lg-btn{height:50px}
  .ov-login.lg2 .mail-line{font-size:11.5px;margin-top:8px}
  .ov-login.lg2 .wa-join{padding:10px 12px;margin-top:10px;gap:10px} .ov-login.lg2 .wa-join .wa-t span{display:none} .ov-login.lg2 .wa-join .wa-t b{font-size:13px}
}
@media (max-width: 1000px) and (max-height: 700px){ .ov-login.lg2 .mail-line{display:none} }
.ov-login.lg2.lg-bye{grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;align-content:center}
.ov-login.lg2.lg-bye{display:grid;place-items:center;place-content:center;padding:24px}
.lg-bye-card{width:min(460px,100%);margin:0 auto;justify-items:center;text-align:center}
.lg-bye-card .ov-logo{display:block;margin:0 auto}
.lg-bye-card h1,.lg-bye-card p{width:100%;text-align:center}
/* logo breathing room, and the goodbye card exactly centred */
.lg-bye-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);gap:12px;padding:44px 34px 38px}
.lg-bye-card .ov-logo{margin-bottom:18px}
.lg-left>.ov-logo{margin-bottom:clamp(10px,2vh,22px)}
@media (max-width: 1000px){ .lg-left>.ov-logo{margin-bottom:14px} .lg-bye-card{width:calc(100% - 32px)} }

/* ---------- What people are saying: on-the-spot refresh ---------- */
.pz-hr{display:inline-flex;align-items:center;gap:10px;min-width:0}
.pz-refresh{flex:none;width:30px;height:30px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid var(--line,rgba(255,255,255,.12));background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer;transition:color .2s cubic-bezier(.16,1,.3,1),background .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}
.pz-refresh svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pz-refresh:hover{color:#FFB27A;border-color:rgba(255,122,47,.45);background:rgba(255,122,47,.10)}
.pz-refresh:active{transform:scale(.94)}
.pz-refresh:focus-visible{outline:2px solid #FFB27A;outline-offset:2px}
.pz-refresh[disabled]{cursor:progress;color:#FFB27A}
.pz-refresh.spin svg{animation:pzspin .9s linear infinite}
@keyframes pzspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pz-refresh.spin svg{animation:none}}
.hc-upd{font-size:12px;color:var(--muted);margin:-4px 0 8px}

/* ---------- Market NOW: title + countdown ring to the next refresh ---------- */
.mk-title{display:flex;align-items:center;gap:14px;margin:10px 0 8px;flex-wrap:wrap}
.pulse-head h2.mk-h{font-family:"Unbounded",Sora,var(--font);font-weight:800;font-size:clamp(26px,3.2vw,40px);letter-spacing:-.035em;line-height:1;margin:0;display:flex;align-items:baseline;gap:.28em;text-transform:none}
.pulse-head h2.mk-h span{color:#FF7A2F;position:relative}
.pulse-head h2.mk-h span::after{content:"";position:absolute;right:-.34em;top:.08em;width:.2em;height:.2em;border-radius:50%;background:#FF7A2F;box-shadow:0 0 0 0 rgba(255,122,47,.55);animation:mkpulse 2s cubic-bezier(.16,1,.3,1) infinite}
@keyframes mkpulse{0%{box-shadow:0 0 0 0 rgba(255,122,47,.55)}70%{box-shadow:0 0 0 .32em rgba(255,122,47,0)}100%{box-shadow:0 0 0 0 rgba(255,122,47,0)}}
.mk-timer{flex:none;display:inline-flex;align-items:center;gap:9px;padding:5px 14px 5px 5px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.mk-timer svg{width:40px;height:40px;transform:rotate(-90deg)}
.mk-timer circle{fill:none;stroke-width:3.2}
.mk-trk{stroke:rgba(255,255,255,.10)}
.mk-arc{stroke:#FF7A2F;stroke-linecap:round;transition:stroke-dashoffset 1s linear}
.mk-t{display:grid;line-height:1.1}
.mk-t b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;color:var(--text);letter-spacing:.01em}
.mk-t i{font-style:normal;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mk-timer.busy .mk-arc{stroke:#FFB27A;animation:mkbusy 1.2s ease-in-out infinite}
@keyframes mkbusy{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.pulse-head h2.mk-h span::after,.mk-timer.busy .mk-arc{animation:none}}
@media (max-width:520px){.mk-title{gap:10px}.mk-timer svg{width:34px;height:34px}.mk-t b{font-size:15px}}
/* Market NOW row: timer · title · session badge on one line, with room between them */
.mk-title{gap:14px 26px;margin:4px 0 12px}
.mk-title .pz-live{margin-left:8px;align-self:center}
@media (max-width:520px){.mk-title{gap:10px 14px}.mk-title .pz-live{margin-left:0}}
.pulse{container-type:inline-size}
.pulse-head h2.mk-h{font-size:clamp(24px,4.4cqi,40px)}
.mk-title{gap:12px 20px}
.mk-title .pz-live{margin-left:4px;white-space:nowrap}

/* ---------- Market NOW: money on the line (Kalshi · Polymarket) ---------- */
.mkb{margin:14px 0 2px;display:grid;gap:8px}
.mkb-h{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px}
.mkb-h i{font-style:normal;font-weight:600;letter-spacing:.06em;text-transform:none;color:var(--text-2);opacity:.8}
.mkb-wait{font-size:12.5px;color:var(--muted)}
.mkb-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.mkb-c{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:5px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:border-color .2s cubic-bezier(.16,1,.3,1),background .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);min-width:0}
.mkb-c:hover{border-color:rgba(255,122,47,.4);background:rgba(255,122,47,.06)}
.mkb-c:active{transform:scale(.98)}
.mkb-c:focus-visible{outline:2px solid #FFB27A;outline-offset:2px}
.mkb-q{font-size:11.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkb-v{display:flex;align-items:baseline;gap:6px;min-width:0}
.mkb-v b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1;color:var(--text)}
.mkb-v b.up{color:var(--up)} .mkb-v b.down{color:var(--down)}
.mkb-v em{font-style:normal;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkb-bar{height:4px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.mkb-bar i{display:block;height:100%;border-radius:99px;background:var(--muted)}
.mkb-bar i.up{background:var(--up)} .mkb-bar i.down{background:var(--down)} .mkb-bar i.flat{background:#FFB27A}
.mkb-s{display:flex;justify-content:space-between;gap:6px;font-size:10.5px;color:var(--muted)}
.mkb-s i{font-style:normal;font-weight:700;letter-spacing:.04em}
.mkb-s i.src-kalshi{color:#6EE7B7} .mkb-s i.src-polymarket{color:#85A7FF}
:root[data-theme="light"] .mkb-c,:root[data-theme="light"] .mk-timer{background:var(--surface);border-color:var(--line);box-shadow:none}
:root[data-theme="light"] .mkb-bar,:root[data-theme="light"] .mk-trk{background:var(--surface-2);stroke:var(--line)}
:root[data-theme="light"] .mkb-s i.src-kalshi{color:#0F8F5F} :root[data-theme="light"] .mkb-s i.src-polymarket{color:#2F5BD3}
:root[data-theme="light"] .pz-refresh{background:var(--surface);border-color:var(--line)}
.mkb-row{grid-template-columns:repeat(5,minmax(0,1fr))}
.mkb-v{display:grid;gap:3px}
.mkb-q,.mkb-v em{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
.mkb-q{min-height:2.5em}
@container (max-width:620px){.mkb-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (max-width:400px){.mkb-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- CHARTS: live TradingView chart + OneView Clean panel ---------- */
.chs{display:grid;gap:12px}
.chs-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.chs-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-width:0}
.chs-chip{all:unset;cursor:pointer;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text-2);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.chs-chip:hover{border-color:rgba(255,122,47,.4);color:var(--text)}
.chs-chip.on{background:#FF7A2F;color:#1A0C03;border-color:#FF7A2F}
.chs-chip:focus-visible{outline:2px solid #FFB27A;outline-offset:2px}
.chs-find{display:inline-flex;gap:4px}
.chs-find input{width:92px;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);font:inherit;font-size:12.5px;text-transform:uppercase}
.chs-find button{all:unset;cursor:pointer;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(255,255,255,.08);color:var(--text)}
.chs-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}
.chs-chart{height:min(72vh,720px);min-height:420px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:#0B0E14;display:grid}
.chs-chart .cr-loading{place-self:center}
.chs-panel{border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);padding:12px 14px;display:grid;gap:6px;font-size:13px}
.chp-h{display:flex;align-items:baseline;gap:8px}
.chp-h b{font-size:18px;font-weight:700;color:var(--text)}
.chp-h span{color:var(--muted);font-size:12px}
.chp-src{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted)}
.chp-src.tv{background:rgba(43,217,159,.14);color:var(--up)}
.chp-todo{padding:9px 10px;border-radius:10px;font-weight:700;text-align:center;letter-spacing:.02em;color:#0B0E14;background:#9AA0AA}
.chp-todo.up{background:var(--up)} .chp-todo.down{background:var(--down)}
.chp-r{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:3px 0}
.chp-r span{color:var(--muted)}
.chp-r b{font-weight:600;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}
.chp-r b.up{color:var(--up)} .chp-r b.down{color:var(--down)}
.chp-sep{height:1px;background:rgba(255,255,255,.07);margin:4px 0}
.chp-checks{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;padding:3px 0}
.chp-checks span{color:var(--muted);width:100%}
.chp-checks i{font-style:normal;font-size:12px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.05)}
.chp-checks i.ok{color:var(--up)} .chp-checks i.no{color:var(--muted)}
.chp-ev{display:grid;gap:3px}
.chp-ev span{color:var(--muted)}
.chp-ev div{display:grid;grid-template-columns:78px 1fr auto;gap:8px;font-size:12.5px}
.chp-ev b.up{color:var(--up)} .chp-ev b.down{color:var(--down)} .chp-ev b.flat{color:var(--text-2)}
.chp-ev em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--text)} .chp-ev i{font-style:normal;color:var(--muted)}
.chp-setup{margin-top:6px;border-top:1px solid rgba(255,255,255,.07);padding-top:8px;font-size:12.5px}
.chp-setup summary{cursor:pointer;font-weight:600;color:var(--text)}
.chp-setup ol{margin:8px 0;padding-left:18px;display:grid;gap:4px;color:var(--text-2)}
.chp-url{display:flex;gap:6px}
.chp-url input{flex:1;min-width:0;padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:var(--text);font:12px var(--mono)}
.chp-url button{all:unset;cursor:pointer;padding:6px 10px;border-radius:8px;background:#FF7A2F;color:#1A0C03;font-weight:700;font-size:12px}
.chs-foot{margin:0;font-size:12px;color:var(--muted)}
@media (max-width:980px){.chs-grid{grid-template-columns:minmax(0,1fr)}.chs-chart{height:62vh;min-height:360px}}
:root[data-theme="light"] .chs-chip,:root[data-theme="light"] .chs-panel,:root[data-theme="light"] .chs-chart{background:var(--surface);border-color:var(--line)}
/* Charts: TradingView / OneView switch, draw buttons */
.chs-left{display:grid;gap:8px;min-width:0}
.chs-mode{justify-self:start}
.chs-chart{position:relative}
.ovc-note{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px;pointer-events:none}
.ovc-note[hidden]{display:none}
.chp-draw{display:grid;gap:6px;padding:6px 0 4px}
.chp-draw>span{color:var(--muted);font-size:12px}
.chp-draw>div{display:flex;flex-wrap:wrap;gap:6px}
.chp-draw button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text-2);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);transition:border-color .2s cubic-bezier(.16,1,.3,1),background .2s cubic-bezier(.16,1,.3,1)}
.chp-draw button:hover{border-color:rgba(255,122,47,.45);color:var(--text)}
.chp-draw button.on{background:rgba(255,122,47,.14);border-color:#FF7A2F;color:var(--text)}
.chp-draw button:focus-visible{outline:2px solid #FFB27A;outline-offset:2px}
.chp-draw i{width:14px;height:8px;border-radius:2px;display:inline-block}
.dw-levels{background:repeating-linear-gradient(90deg,#9AA0AA 0 3px,transparent 3px 5px);height:2px!important}
.dw-sr{background:linear-gradient(#FF7A2F,#FF7A2F) top/100% 2px no-repeat,linear-gradient(#5B8CFF,#5B8CFF) bottom/100% 2px no-repeat}
.dw-fvg{background:rgba(43,217,159,.35);border:1px solid #2BD99F}
.dw-vi{background:rgba(192,140,255,.35);border:1px solid #C08CFF}
.dw-trade{background:linear-gradient(90deg,#2BD99F 50%,#FF5C7A 50%);height:4px!important}
:root[data-theme="light"] .chp-draw button{background:var(--surface);border-color:var(--line)}
/* Charts page: one toolbar row, chart + panel fill the window */
.hud:has(.chs-view) .hud-bar{display:none}
.chs-view .chs{padding:8px 14px 0;gap:8px}
.chs-bar{flex-wrap:nowrap;gap:10px}
.chs-mode{flex:none}
.chs-mode button{white-space:nowrap}
.chs-chips{flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0;mask-image:linear-gradient(90deg,#000 92%,transparent)}
.chs-chips::-webkit-scrollbar{display:none}
.chs-chip{flex:none}
.chs-find{flex:none}
.chs-find input{width:74px}
.chs-tf{flex:none}
.chs-grid{grid-template-columns:minmax(0,1fr) 330px;gap:10px}
.chs-chart{height:100%;min-height:380px}
.chs-panel{height:100%;overflow-y:auto;overscroll-behavior:contain;align-content:start;box-sizing:border-box}
.chp-note{margin:6px 0 0;font-size:11.5px;color:var(--muted);line-height:1.4}
@media (max-width:980px){.chs-bar{flex-wrap:wrap}.chs-chips{order:3;flex-basis:100%}.chs-chart{height:62vh}.chs-panel{height:auto;overflow:visible}}
#app .view.chs-view > .chs{padding:8px 14px 0;grid-template-columns:minmax(0,1fr)}
.chs-bar{min-width:0}
.chs-chips{flex:1 1 0}
.shell:has(.chs-view) #footer{display:none}
.hud:has(.chs-view){grid-template-rows:auto minmax(0,1fr)}
.hud:has(.chs-view) > #notice{grid-row:1}
.hud:has(.chs-view) > #app{grid-row:2}
@media (max-width:980px){
  .chs-grid{grid-template-columns:minmax(0,1fr)}
  .chs-bar{flex-wrap:wrap}
  .chs-chips{order:3;flex:1 1 100%}
  .chs-chart{height:62vh}
  .chs-panel{height:auto;overflow:visible}
}
