:root {
  color-scheme: dark;
  --bg: #050d15;
  --panel: #091621;
  --panel-soft: #0b1b28;
  --panel-highlight: #102635;
  --line: #1b3446;
  --line-soft: rgba(98, 137, 163, 0.18);
  --text: #dce8f2;
  --muted: #7890a3;
  --muted-2: #526a7e;
  --blue: #2b7fff;
  --cyan: #38a6cc;
  --red: #ff4d4f;
  --green: #45bd76;
  --amber: #e9aa2f;
  --orange: #ff8f21;
  --shadow: 0 12px 34px rgba(0, 0, 0, 0.24);
  font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }

html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: var(--bg); }

body {
  color: var(--text);
  font-size: clamp(13.5px, 0.84vw, 16.5px);
  background:
    radial-gradient(circle at 50% -15%, rgba(34, 84, 116, 0.16), transparent 42%),
    linear-gradient(180deg, #07111a 0%, #050c13 100%);
}

button { font: inherit; }

.access-gateway {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 18%, rgba(40,106,157,.2), transparent 34%),
    linear-gradient(145deg,#030a10,#07141e 52%,#061019);
}
.access-gateway::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.35; background-image:linear-gradient(rgba(76,135,175,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(76,135,175,.06) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(to bottom,black,transparent 82%); }
.access-gateway-card { position:relative; width:min(610px,94vw); padding:36px 42px 30px; border:1px solid #285675; background:linear-gradient(145deg,rgba(11,34,50,.98),rgba(5,17,27,.99) 68%,rgba(10,35,31,.96)); box-shadow:0 30px 90px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.025); }
.access-gateway-card::before,.access-gateway-card::after { content:""; position:absolute; width:24px; height:24px; border-color:#4a9ee0; opacity:.72; }.access-gateway-card::before { left:-1px; top:-1px; border-left:2px solid; border-top:2px solid; }.access-gateway-card::after { right:-1px; bottom:-1px; border-right:2px solid; border-bottom:2px solid; }
.access-gateway-brand { display:flex; align-items:center; gap:9px; color:#e1f2fc; letter-spacing:.08em; }
.access-gateway-brand i { width:9px; height:9px; border-radius:50%; background:#45bd76; box-shadow:0 0 12px rgba(69,189,118,.8); }
.access-gateway-brand span { font-size:1.02rem; font-weight:850; }.access-gateway-brand small { padding-left:9px; color:#5e849d; border-left:1px solid #29495e; font-size:.61rem; }
.access-gateway-eyebrow { margin-top:34px; color:#5c9fe2; font-size:.7rem; letter-spacing:.14em; }
.access-gateway h1 { margin:9px 0 8px; font-size:clamp(26px,2.35vw,38px); letter-spacing:-.025em; }
.access-gateway p { margin:0; max-width:510px; color:#7891a2; font-size:.82rem; line-height:1.7; }
.access-gateway-form { margin-top:25px; }
.access-gateway-form label { display:block; margin-bottom:7px; color:#7f99aa; font-size:.7rem; }
.access-gateway-form > div { display:grid; grid-template-columns:minmax(0,1fr) 126px; height:45px; }
.access-gateway-form input { min-width:0; padding:0 13px; color:#e0ecf3; border:1px solid #315a75; outline:0; background:#04131d; font:700 .82rem ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.06em; text-transform:uppercase; }
.access-gateway-form input:focus { border-color:#4b99db; box-shadow:0 0 0 2px rgba(43,127,255,.1); }
.access-gateway-form button { color:#eff8ff; border:1px solid #3d83d5; background:linear-gradient(180deg,#2b7fff,#1c62bd); cursor:pointer; font-size:.77rem; font-weight:720; }
.access-gateway-form button:hover { filter:brightness(1.08); }.access-gateway-form button:disabled { opacity:.6; cursor:wait; }
.access-gateway-error { margin-top:10px; padding:8px 10px; color:#ef9293; border:1px solid rgba(224,75,79,.35); background:rgba(135,36,39,.12); font-size:.7rem; }
.access-gateway-status { margin-top:11px; display:flex; align-items:center; gap:7px; color:#698395; font-size:.67rem; }.access-gateway-status span { width:7px; height:7px; border-radius:50%; background:#657885; }.access-gateway-status.is-checking { color:#c29b5f; }.access-gateway-status.is-checking span { background:#e9aa2f; box-shadow:0 0 8px rgba(233,170,47,.5); }.access-gateway-status.is-success { color:#6fc892; }.access-gateway-status.is-success span { background:#45bd76; box-shadow:0 0 8px rgba(69,189,118,.6); }
.access-gateway-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:24px; padding-top:16px; border-top:1px solid var(--line-soft); }
.access-gateway-facts span { padding:8px; color:#7893a4; border:1px solid rgba(56,98,125,.25); background:rgba(255,255,255,.012); font-size:.67rem; }.access-gateway-facts b { margin-right:6px; color:#4d91d5; }
.access-gateway-footnote { display:block; margin-top:17px; color:#756f64; font-size:.62rem; text-align:center; }
.access-gateway.is-checking .access-gateway-form { opacity:.55; pointer-events:none; }

.terminal-shell {
  height: 100vh;
  display: grid;
  grid-template-rows: 56px 39px minmax(0, 1fr) 33px;
}

.topbar {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(5, 14, 23, 0.96);
  min-width: 0;
}

.brand-wrap { display: flex; align-items: center; gap: 12px; padding: 0 14px; flex: 0 0 auto; }
.brand { font-weight: 760; font-size: clamp(15px, 1.3vw, 24px); letter-spacing: 0.02em; white-space: nowrap; }

.app-launcher {
  display: grid;
  grid-template-columns: repeat(3, 3px);
  gap: 3px;
  padding: 6px;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.app-launcher span { width: 3px; height: 3px; border-radius: 1px; background: #9bb2c4; }

.top-tabs { align-self: stretch; display: flex; align-items: stretch; margin-left: 8px; flex: 0 0 auto; }
.top-tab {
  min-width: 76px;
  padding: 0 14px;
  color: #91a6b7;
  border: 0;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  transition: 180ms ease;
}
.top-tab:hover { color: var(--text); background: rgba(43, 127, 255, 0.07); }
.top-tab.active { color: #6ba5ff; background: linear-gradient(180deg, rgba(38, 110, 211, 0.25), rgba(24, 70, 130, 0.16)); border-color: #173b60; box-shadow: inset 0 -2px #2b7fff; }
.daily-research-tab i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #45bd76; box-shadow: 0 0 8px rgba(69,189,118,.58); vertical-align: 1px; }

.market-ticker { display: flex; align-items: center; gap: clamp(12px, 1.45vw, 28px); padding: 0 20px; min-width: 0; flex: 1; justify-content: center; }
.ticker-item { display: flex; gap: 7px; align-items: baseline; white-space: nowrap; color: #93a6b5; }
.ticker-item strong { color: #b9c7d1; font-variant-numeric: tabular-nums; }
.up { color: var(--red) !important; }
.down { color: var(--green) !important; }

.profile { border: 0; border-left: 1px solid var(--line-soft); background: transparent; color: var(--text); display: flex; align-items: center; gap: 8px; padding: 0 13px; height: 100%; cursor: pointer; white-space: nowrap; }
.profile:hover { background: rgba(255, 255, 255, 0.025); }
.profile-avatar { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #eff9ff 0%, #7eb3dc 35%, #1c4f70 100%); color: #061019; font-weight: 900; border: 2px solid #9ac0da; box-shadow: 0 0 0 3px rgba(110, 169, 211, 0.08); }
.profile-name { font-weight: 600; }
.demo-badge { color: #59a1ff; background: rgba(43, 127, 255, 0.1); border: 1px solid rgba(43, 127, 255, 0.4); padding: 3px 6px; border-radius: 2px; font-size: 0.83em; }
.demo-badge.subtle { color: #ff856d; border-color: rgba(255, 90, 68, 0.35); background: rgba(255, 90, 68, 0.09); }
.level { color: var(--amber); font-size: 0.86em; font-weight: 700; }
.chevron { color: #6e8798; }

.statusbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); padding: 0 12px; background: #071520; min-width: 0; }
.source-chips, .status-actions { display: flex; align-items: center; gap: 8px; }
.promotion-notice { color: #79dca1; border: 1px solid rgba(72, 194, 119, .44); background: linear-gradient(90deg, rgba(34, 126, 82, .17), rgba(19, 76, 91, .14)); padding: 4px 11px; border-radius: 2px; white-space: nowrap; font-weight: 650; letter-spacing: .02em; box-shadow: inset 0 0 16px rgba(60, 194, 121, .04); }
.promotion-notice span { color: #4dc87a; margin-right: 3px; }
.source-chip { border: 1px solid #1d3d54; color: #70a9e5; padding: 4px 10px; border-radius: 2px; background: #081a28; white-space: nowrap; }
.source-chip.success { color: #54c982; }
.source-chip.warning { color: #d9a548; border-color: rgba(217, 165, 72, 0.34); }
.source-chip.error { color: #dc6b6d; border-color: rgba(220, 107, 109, 0.34); }
.status-dot.muted-dot { background: #6a7b87; box-shadow: none; animation: none; }
.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 6px; background: #4dc87a; box-shadow: 0 0 8px rgba(77, 200, 122, 0.65); vertical-align: 1px; animation: pulse-dot 1.6s ease-in-out infinite; }

.market-clock { display: flex; gap: 8px; align-items: baseline; color: #9fb1be; font-variant-numeric: tabular-nums; }
.market-clock strong { color: var(--text); letter-spacing: 0.08em; }
.market-clock small { color: #60788a; }
.control-button { height: 29px; border: 1px solid #28465a; background: #0a1b27; color: #a5b6c3; border-radius: 3px; padding: 0 10px; cursor: pointer; transition: 160ms ease; }
.control-button:hover { border-color: #397397; color: #e4eff7; }
.control-button.active { color: #f3f8fb; border-color: #2b7fff; background: rgba(43, 127, 255, 0.15); }
.control-button.access { color: #87b8f1; border-color: #315a7d; background: rgba(43,127,255,.08); }
.control-button.access.unlocked { color: #72cf96; border-color: #347a51; background: rgba(69,189,118,.08); }
.control-button.history-control { color:#e9bd72; border-color:#70552f; background:rgba(181,112,36,.08); }
.record-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 6px; background: #ff4d4f; vertical-align: 1px; }
.record.active .record-dot { animation: record-blink 0.9s steps(2, end) infinite; box-shadow: 0 0 10px rgba(255, 77, 79, 0.9); }
.fullscreen-control { display:inline-flex; align-items:center; gap:6px; color:#8bbcf2; border-color:#315f83; }
.fullscreen-control i { color:#b9d9ff; font-size:16px; font-style:normal; line-height:1; }
.fullscreen-control.active { color:#cde7ff; border-color:#4b91d2; background:rgba(43,127,255,.15); }

.workspace { min-height: 0; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) clamp(245px, 18.2vw, 332px); gap: 6px; padding: 6px 7px 5px; }
.dashboard { min-width: 0; min-height: 0; display: grid; grid-template-rows: 147px minmax(205px, 1fr) 236px 42px; gap: 6px; }

.panel { background: linear-gradient(180deg, rgba(10, 25, 37, 0.97), rgba(7, 19, 29, 0.97)); border: 1px solid var(--line); box-shadow: inset 0 1px rgba(255, 255, 255, 0.018); border-radius: 3px; overflow: hidden; position: relative; }
.live-panel { transition: border-color 300ms ease, box-shadow 300ms ease, transform 300ms ease; }
.live-panel.record-focus { border-color: rgba(55, 142, 255, 0.8); box-shadow: 0 0 0 1px rgba(43, 127, 255, 0.15), 0 0 26px rgba(43, 127, 255, 0.15); }

.hero-grid { min-width: 0; display: grid; grid-template-columns: minmax(280px, 1.15fr) minmax(150px, 0.54fr) minmax(190px, 0.66fr) minmax(430px, 1.64fr); gap: 6px; }
.return-card { padding: 10px 16px 7px; border-color: rgba(210, 67, 67, 0.62); background: linear-gradient(135deg, rgba(61, 18, 22, 0.67), rgba(13, 22, 29, 0.98) 78%); }
.panel-kicker { color: #b5c3cd; font-size: 0.92em; font-weight: 600; }
.panel-kicker > em { margin-left:6px; padding:2px 5px; color:#73c997; border:1px solid rgba(70,171,116,.28); background:rgba(45,137,87,.08); font-size:.66em; font-style:normal; white-space:nowrap; }.panel-kicker > em.down { color:#67c98d; }
.mega-return { color: var(--red); font-size: clamp(39px, 4.25vw, 78px); line-height: 1.02; font-weight: 780; letter-spacing: -0.055em; margin-top: 4px; font-variant-numeric: tabular-nums; text-shadow: 0 0 20px rgba(255, 77, 79, 0.12); transition: transform 160ms ease, color 160ms ease; }
.mega-return.tick { transform: translateY(-1px) scale(1.01); color: #ff696b; }
.mega-return span, .medium-return span { font-size: 0.53em; margin-left: 3px; }
body.manual-scenario-lab-enabled .return-card .panel-kicker,
body.manual-scenario-lab-enabled #megaReturn { cursor: text; }
body[data-manual-scenario="active"] #manualScenarioBadge { color:#8798a5; border-color:rgba(126,145,158,.28); background:rgba(80,100,114,.06); }
.manual-scenario-input { width:100%; min-width:0; padding:0; border:0; border-bottom:2px solid rgba(255,183,77,.72); outline:0; color:var(--red); background:transparent; font:inherit; font-variant-numeric:tabular-nums; letter-spacing:inherit; line-height:inherit; caret-color:#ffc36f; }
.manual-scenario-input:focus { border-bottom-color:#ffc36f; box-shadow:0 8px 14px -12px rgba(255,183,77,.78); }
.manual-scenario-input::-webkit-inner-spin-button,.manual-scenario-input::-webkit-outer-spin-button { margin:0; opacity:.32; }
.return-foot { display: flex; gap: 10px; align-items: center; color: #96a9b6; font-size: max(11px, .8em); white-space: nowrap; }
.positive { color: var(--green); }
.live-stamp { color: #70c68d; font-size: max(11px, .78em); white-space: nowrap; }
.live-stamp .status-dot { width: 6px; height: 6px; margin-right: 4px; }
.period { margin-top: 4px; color: #8ba0af; font-size: max(11px, .76em); letter-spacing: 0.02em; }

.compare-card, .intraday-card { padding: 10px 12px; }
.medium-return { color: var(--red); font-size: clamp(24px, 1.75vw, 34px); font-weight: 760; margin-top: 5px; font-variant-numeric: tabular-nums; }
.compare-bars { height: 10px; display: flex; margin: 10px 0 8px; background: #10212d; }
.compare-bars span { height: 100%; transition: width 400ms ease; }
.benchmark-bar { width: 43%; background: #347ff0; }
.excess-bar { width: 57%; background: #ff4d4f; }
.excess-label { margin-top: 4px; }
.excess-return { color: var(--red); font-size: clamp(18px, 1.3vw, 27px); font-weight: 720; margin-top: 3px; font-variant-numeric: tabular-nums; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.panel-head.compact { align-items: flex-start; }
.mini-chart { width: 100%; height: 52px; margin-top: -2px; overflow: visible; }
.mini-line { stroke: var(--red); stroke-width: 2.2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.mini-area { fill: url(#miniFill); }
.mini-axis { display: flex; justify-content: space-between; color: #7e93a2; font-size: 11px; margin-top: -5px; }
.pure-sim-badge { padding:2px 5px; border:1px solid rgba(255,183,77,.48); color:#ffc36f; font-size:9px; font-style:normal; letter-spacing:.08em; white-space:nowrap; }
.scenario-axis strong { color:#ffc36f; font-size:10px; font-weight:650; }

.strategy-card { padding: 11px 14px; }
.strategy-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.strategy-title-row h1 { margin: 0; font-size: clamp(14px, 1.15vw, 21px); font-weight: 700; white-space: nowrap; }
.strategy-title-row h1 span { color: #bdc8d0; font-weight: 560; }
.strategy-tags { display: flex; gap: 6px; margin-top: 8px; }
.strategy-tags span { color: #6aabef; border: 1px solid rgba(53, 131, 215, 0.38); background: rgba(43, 127, 255, 0.07); border-radius: 2px; padding: 3px 6px; font-size: max(11px, .74em); }
.strategy-tags .orange { color: #ff9e34; border-color: rgba(255, 143, 33, 0.35); background: rgba(255, 143, 33, 0.08); }
.strategy-tags .running { color: #61c788; border-color: rgba(70, 187, 117, 0.32); }
.strategy-tags .running .status-dot { width: 5px; height: 5px; margin-right: 4px; }
.next-trade { text-align: right; padding-left: 12px; border-left: 1px solid var(--line-soft); white-space: nowrap; }
.next-trade small { display: block; color: #718899; margin-bottom: 3px; }
.next-trade strong { font-variant-numeric: tabular-nums; color: #e6eef4; }
.metric-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 14px; }
.metric-row div { border-left: 1px solid var(--line-soft); padding-left: 10px; min-width: 0; }
.metric-row div:first-child { border-left: 0; padding-left: 0; }
.metric-row small { color: #899eac; display: block; font-size: max(11px, .74em); }
.metric-row strong { display: block; margin-top: 5px; font-size: clamp(16px, 1.26vw, 25px); font-variant-numeric: tabular-nums; }
.metric-row em { color: var(--green); display: block; margin-top: 3px; font-size: max(11px, .72em); font-style: normal; }

.market-chart-grid { min-width: 0; min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.market-chart-card { --strategy: #ff4d4f; --primary: #3d83ef; --secondary: #e9aa2f; min-width: 0; min-height: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr); padding: 9px 8px 3px; overflow: hidden; }
.market-chart-card[data-market-chart="us"] { --primary: #8b7cf6; --secondary: #39c6dc; }
.market-chart-card[data-market-chart="crypto"] { --primary: #f4b842; --secondary: #55c989; }
.market-chart-card::after { content: ""; position: absolute; inset: 0 auto auto 0; width: 42%; height: 1px; background: linear-gradient(90deg, var(--primary), transparent); opacity: .86; }
.market-chart-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding: 0 3px 5px; }
.market-chart-head > div:first-child { min-width: 0; display: grid; gap: 3px; }
.market-code { color: var(--primary); font-size: max(11px, .68em); font-weight: 750; letter-spacing: .08em; white-space: nowrap; }
.market-chart-head strong { color: #d7e3e9; font-size: clamp(12px, .82vw, 15px); letter-spacing: .02em; white-space: nowrap; }
.market-snapshot { display: grid; justify-items: end; flex: 0 0 auto; }
.market-snapshot b { color: var(--red); font-size: clamp(14px, 1vw, 18px); font-variant-numeric: tabular-nums; }
.market-snapshot b.down { color: var(--green); }
.market-snapshot small { margin-top: 1px; color: #7890a1; font-size: max(11px, .66em); }
.market-chart-legend { display: flex; align-items: center; gap: 4px 10px; min-width: 0; padding: 2px 3px 4px; color: #9bafbc; font-size: max(11px, .66em); }
.market-chart-legend > span { white-space: nowrap; }
.market-chart-mode { margin-left: auto; color: #69bd86; }
.legend-line { display: inline-block; width: 18px; height: 2px; margin-right: 6px; vertical-align: 3px; }
.legend-line.strategy { background: var(--strategy); }
.legend-line.primary { background: var(--primary); }
.legend-line.secondary { background: var(--secondary); }
.market-chart-canvas { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; }

.analytics-grid { display: grid; grid-template-columns: 0.86fr 0.77fr 1.34fr 1.48fr; align-items: stretch; gap: 6px; min-width: 0; min-height: 0; }
.analytics-panel { height: 100%; min-height: 0; padding: 10px 12px; }
.analytics-grid > .analytics-panel:first-child { display: grid; grid-template-rows: auto auto auto minmax(40px, 1fr) auto; align-content: stretch; }
.analytics-grid > .analytics-panel:nth-child(2) { display: grid; grid-template-rows: auto minmax(0, 1fr); align-content: stretch; }
.panel-head h2, .event-head h2 { font-size: clamp(14px, 0.9vw, 17px); margin: 0; font-weight: 700; letter-spacing: 0.01em; }
.regime-value { margin-top: 7px; color: var(--green); font-weight: 740; font-size: clamp(15px, 1vw, 18px); }
.confidence-row { display: flex; align-items: baseline; justify-content: space-between; gap: 5px; margin-top: 3px; color: #8ca0ae; font-size: max(11px, .72em); }
.confidence-row strong { color: var(--green); font-size: 1.65em; font-variant-numeric: tabular-nums; }
.confidence-row em { color: var(--green); font-style: normal; font-size: max(11px, .78em); }
.gauge { height: auto; min-height: 42px; position: relative; margin: 2px 8px 0; overflow: hidden; }
.gauge::before { content: ""; position: absolute; width: 104px; height: 104px; left: 50%; transform: translateX(-50%); top: 8px; border-radius: 50%; border: 8px solid #172c37; border-top-color: #4fb879; border-right-color: #4fb879; rotate: -45deg; }
.gauge::after { content: "50%"; position: absolute; top: 30px; left: 50%; transform: translateX(-50%); color: #92a4b0; font-size: 11px; }
.gauge i { position: absolute; left: 50%; top: 13px; width: 2px; height: 30px; background: #dce6ec; transform-origin: bottom center; transform: rotate(58deg); box-shadow: 0 0 8px rgba(255,255,255,.3); }
.state-bars { display: grid; gap: 6px; margin-top: 5px; }
.state-bars div { display: grid; grid-template-columns: minmax(36px, 52px) 1fr 40px; gap: 6px; align-items: center; color: #93a7b4; font-size: max(11px, .72em); }
.state-bars i { height: 6px; background: linear-gradient(90deg, var(--bar) var(--value), #142833 var(--value)); }
.state-bars strong { color: #9eafba; text-align: right; font-weight: 550; }

.factor-bars { margin-top: 16px; display: grid; gap: 12px; }
.factor-bars div { display: grid; grid-template-columns: 38px 1fr 36px; align-items: center; gap: 8px; color: #8094a3; font-size: 0.76em; }
.factor-bars i { display: block; height: 16px; width: var(--factor); background: linear-gradient(90deg, color-mix(in srgb, var(--factor-color) 55%, transparent), var(--factor-color)); transition: width 500ms ease; }
.factor-bars strong { color: #bdc9d1; font-weight: 580; font-variant-numeric: tabular-nums; }
.factor-bars .negative i { margin-left: auto; }

.theme-radar { min-height: 0; margin-top: 7px; display: grid; grid-template-rows: repeat(7, minmax(0, 1fr)); gap: 4px; }
.theme-row { display: grid; grid-template-columns: 20px minmax(48px, .8fr) minmax(58px, 1fr) 34px; gap: 6px; align-items: center; min-width: 0; padding: 3px 2px; border: 1px solid rgba(72, 117, 148, .13); background: linear-gradient(90deg, rgba(42, 104, 148, .06), transparent); font-size: max(11px, .72em); }
.theme-rank { color: #4f7692; font-size: .9em; font-weight: 800; font-variant-numeric: tabular-nums; }
.theme-name { min-width: 0; color: #b9c9d3; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.theme-meter { height: 8px; overflow: hidden; background: #132833; box-shadow: inset 0 0 0 1px rgba(111, 154, 181, .08); }
.theme-meter i { display: block; width: var(--heat); height: 100%; background: linear-gradient(90deg, #256ca1, #e55c5f); box-shadow: 0 0 10px rgba(225, 78, 83, .24); transition: width 500ms ease; }
.theme-score { color: #ff7779; text-align: right; font-weight: 760; font-variant-numeric: tabular-nums; }

table { width: 100%; border-collapse: collapse; table-layout: fixed; }
th { color: #73899a; font-weight: 560; background: rgba(255,255,255,.015); }
th, td { border: 1px solid rgba(89, 124, 148, 0.15); padding: 5px 5px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.signal-panel { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; align-content: stretch; }
.signal-table { height: 100%; margin-top: 7px; font-size: max(11px, .74em); }
.signal-table th:first-child { width: 22%; }
.signal-cell { transition: background 240ms ease, color 240ms ease, transform 240ms ease; }
.signal-cell.flash { transform: scale(1.04); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.signal-cell.strong { color: #ff6567; background: rgba(255,77,79,.13); }
.signal-cell.hold { color: #e3b057; background: rgba(227,176,87,.08); }
.signal-cell.neutral { color: #94a5b0; }
.signal-cell.reduce { color: #51c27d; background: rgba(69,189,118,.08); }
.signal-legend { color: #8499a7; font-size: max(10px, .66em); margin-top: 6px; white-space: nowrap; }
.signal-legend span { display: inline-block; width: 8px; height: 8px; margin: 0 4px 0 8px; }
.signal-legend span:first-child { margin-left: 0; }
.signal-legend .strong { background: #ff4d4f; }.signal-legend .hold { background: #dca74c; }.signal-legend .neutral { background: #718697; }.signal-legend .reduce { background: #47b876; }

.anomaly-board { min-height: 0; margin-top: 7px; display: grid; grid-template-rows: repeat(5, minmax(0, 1fr)); gap: 4px; }
.anomaly-row { display: grid; grid-template-columns: 22px minmax(92px, 1.1fr) minmax(78px, .9fr) 54px minmax(68px, .8fr); gap: 7px; align-items: center; min-width: 0; padding: 4px 6px; border: 1px solid rgba(72, 117, 148, .15); background: linear-gradient(90deg, rgba(42, 104, 148, .075), transparent); transition: transform 220ms ease, background 220ms ease, border-color 220ms ease; }
.anomaly-row.flash { transform: translateX(2px); border-color: rgba(255, 100, 103, .38); background: linear-gradient(90deg, rgba(255, 77, 79, .1), rgba(42, 104, 148, .035)); }
.anomaly-row > b { color: #527b98; font-size: max(11px, .72em); font-variant-numeric: tabular-nums; }
.anomaly-asset { min-width: 0; display: grid; gap: 1px; }
.anomaly-asset strong { color: #c9d7df; font-size: max(11px, .72em); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.anomaly-asset small { color: #57768a; font-size: max(9px, .56em); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.anomaly-reason { min-width: 0; color: #8ca3b2; font-size: max(10px, .64em); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.anomaly-change { text-align: right; font-size: max(10px, .68em); font-weight: 720; font-variant-numeric: tabular-nums; }
.anomaly-change.up { color: #ff6b6d; }.anomaly-change.down { color: #55c383; }
.anomaly-heat { display: grid; grid-template-columns: minmax(28px, 1fr) 25px; align-items: center; gap: 5px; }
.anomaly-heat > i { display: block; height: 7px; background: linear-gradient(90deg, #2b79b0 var(--heat), #132833 var(--heat)); box-shadow: inset 0 0 0 1px rgba(111, 154, 181, .1); transition: background 380ms ease; }
.anomaly-heat > strong { color: #ff7476; text-align: right; font-size: max(10px, .68em); font-variant-numeric: tabular-nums; }
.anomaly-legend { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; color: #7891a1; font-size: max(10px, .64em); }
.anomaly-legend span { display: inline-flex; align-items: center; gap: 5px; }.anomaly-legend i { width: 6px; height: 6px; border-radius: 50%; background: #4ea5dc; box-shadow: 0 0 8px rgba(78,165,220,.7); }.anomaly-legend em { color: #5e7c8e; font-style: normal; }

.position-table { margin-top: 10px; font-size: 0.72em; }
.position-table th:first-child { width: 23%; text-align: left; }.position-table td:first-child { text-align: left; color: #aab9c3; }
.position-table th:last-child { width: 23%; }
.floating-cell { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.floating-cell svg { width: 38px; height: 14px; flex: 0 0 auto; }
.floating-cell path { fill: none; stroke-width: 1.3; }
.floating-cell.up path { stroke: var(--red); }.floating-cell.down path { stroke: var(--green); }
.position-summary { display: flex; gap: 18px; margin-top: 8px; color: #708798; font-size: 0.68em; }
.position-summary strong { color: #b5c3cc; margin-left: 4px; }

.consensus-heat-list { margin-top: 8px; display: grid; gap: 4px; }
.consensus-heat-row { display: grid; grid-template-columns: 20px minmax(0, 1fr) 47px 38px; gap: 7px; align-items: center; min-width: 0; padding: 4px 5px; border: 1px solid rgba(72, 117, 148, .14); background: linear-gradient(90deg, rgba(42, 104, 148, .075), transparent); font-size: max(11px, .7em); }
.consensus-heat-row > b { color: #4f7895; font-size: .9em; }
.consensus-heat-row > span { min-width: 0; color: #bdcbd4; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.consensus-heat-row > small { color: #77a6c7; text-align: center; font-size: .88em; white-space: nowrap; }
.consensus-heat-row > strong { color: #ff7476; text-align: right; font-size: 1em; font-variant-numeric: tabular-nums; }
.consensus-heat-row:first-child { border-color: rgba(226, 84, 87, .28); background: linear-gradient(90deg, rgba(190, 61, 64, .11), transparent); }
.metric-flash { animation: metric-flash 520ms ease-out; }
.consensus-summary { display: flex; align-items: center; gap: 10px; margin-top: 6px; color: #8299a8; font-size: max(10px, .66em); }
.consensus-summary strong { color: #6bc991; font-weight: 650; }
.consensus-summary em { margin-left: auto; color: #5f7788; font-style: normal; }

.consensus-side-panel {
  min-height: 0;
  padding: 9px 10px 8px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border-color: rgba(54, 127, 189, .3);
  background: linear-gradient(145deg, rgba(10, 28, 41, .98), rgba(6, 18, 27, .98));
}
.consensus-side-panel .consensus-heat-list { margin-top: 6px; gap: 3px; }
.consensus-side-panel .consensus-heat-row { grid-template-columns: 18px minmax(0, 1fr) 43px 32px; gap: 5px; padding: 4px; font-size: 11px; }
.consensus-side-panel .consensus-summary { gap: 7px; margin-top: 4px; font-size: 10px; }

.primary-actions { display: flex; align-items: center; justify-content: center; gap: 18px; }
.primary-button, .secondary-button { height: 36px; min-width: 220px; border-radius: 3px; cursor: pointer; transition: 160ms ease; }
.primary-button { border: 1px solid #458cff; color: white; background: linear-gradient(180deg, #2c82ff, #2064cf); box-shadow: 0 5px 20px rgba(43, 127, 255, 0.16); }
.primary-button:hover { filter: brightness(1.12); transform: translateY(-1px); }
.secondary-button { border: 1px solid #29475c; color: #c5d0d8; background: #0a1823; }
.secondary-button:hover { border-color: #3d6885; color: white; }

.event-column { min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) 205px; gap: 6px; }
.event-panel { position: relative; min-height: 0; padding: 10px 10px 7px; display: grid; grid-template-rows: auto auto minmax(0, 1fr); overflow: hidden; }
.event-head { display: flex; justify-content: space-between; align-items: center; padding: 1px 2px 8px; border-bottom: 1px solid var(--line-soft); }
.event-feed { position: relative; min-height: 0; display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #35556a transparent; }
.event-item { min-height: 44px; display: grid; grid-template-columns: 52px 70px minmax(0, 1fr); gap: 7px; align-items: center; padding: 6px 3px; border-bottom: 1px solid rgba(84, 116, 137, 0.13); color: #b7c6cf; font-size: max(11px, .8em); line-height: 1.35; animation: event-in 340ms ease both; }
.event-item:nth-child(-n+3) { background: linear-gradient(90deg, rgba(43,127,255,.035), transparent); }
.event-item > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.event-item time { color: #6e8494; font-variant-numeric: tabular-nums; }
.event-tag { text-align: center; padding: 3px 4px; border-radius: 2px; font-weight: 620; }
.event-tag.signal { color: #5ca5ff; background: rgba(43,127,255,.11); border: 1px solid rgba(43,127,255,.22); }
.event-tag.risk { color: #f0ae37; background: rgba(240,174,55,.1); border: 1px solid rgba(240,174,55,.22); }
.event-tag.data { color: #54c27b; background: rgba(84,194,123,.09); border: 1px solid rgba(84,194,123,.2); }
.event-tag.model { color: #6b9df1; background: rgba(107,157,241,.09); border: 1px solid rgba(107,157,241,.2); }
.event-tag.execution { color: #42b4d0; background: rgba(66,180,208,.08); border: 1px solid rgba(66,180,208,.18); }

.radar-status { color: #8ca6b8; font-size: 12px; white-space: nowrap; }
.radar-status[data-status="live"] { color: #70d7b2; }
.radar-status[data-status="stale"] { color: #e8b86d; }
.radar-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 5px 2px; color: #93aabd; font-size: 12px; }
.radar-toolbar button { flex: 0 0 30px; min-height: 28px; background: #122536; color: #c9dfea; border: 1px solid #284557; border-radius: 4px; cursor: pointer; font-size: 19px; }
.radar-item { display: block; flex: 0 0 auto; padding: 11px 5px; border-bottom: 1px solid rgba(84,116,137,.2); color: #d7e3ec; text-decoration: none; }
a.radar-item:hover, a.radar-item:focus-visible { background: #142d40; outline: 1px solid #507b96; outline-offset: -1px; }
.radar-item[data-kind="market"] { background: rgba(70,132,166,.045); }
.radar-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 12px; }
.radar-meta .event-tag { flex-shrink: 0; padding: 2px 5px; font-weight: 600; }
.event-tag.hot { color: #f3c277; background: rgba(237,171,69,.10); border: 1px solid rgba(237,171,69,.26); }
.event-tag.news { color: #a2c6ed; background: rgba(68,136,205,.1); border: 1px solid rgba(68,136,205,.23); }
.radar-source { color: #9db3c4; }
.radar-meta time { margin-left: auto; color: #9db3c4; font-variant-numeric: tabular-nums; white-space: nowrap; }
.radar-title { display: block; font-size: 16px; font-weight: 540; line-height: 1.5; overflow-wrap: anywhere; }
.radar-arrow { color: #7698b2; white-space: nowrap; }
.radar-empty { padding: 20px 8px; color: #9db3c4; font-size: 15px; line-height: 1.6; }
.radar-latest { position: absolute; z-index: 3; top: 72px; left: 50%; transform: translateX(-50%); padding: 6px 14px; border-radius: 16px; border: 1px solid #4a89b8; color: #e0f2ff; background: #153e60; cursor: pointer; white-space: nowrap; }
.radar-item.is-new { animation: radar-arrival 1600ms ease-out; }
@keyframes radar-arrival { from { background: rgba(227,171,76,.24); } to { background: transparent; } }
@media (max-width: 900px) { .event-panel { height: 540px; max-height: 80vh; } .radar-toolbar button { min-width: 40px; min-height: 36px; } .radar-meta, .radar-toolbar, .radar-status { font-size: 13px; } }
@media (prefers-reduced-motion: reduce) { .radar-item.is-new { animation: none; } }

.opportunity-panel {
  min-height: 0;
  padding: 9px 10px 8px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) 27px;
  gap: 6px;
  overflow: hidden;
  border-color: rgba(54, 127, 189, .34);
  background:
    radial-gradient(circle at 96% 2%, rgba(41, 126, 214, .12), transparent 42%),
    linear-gradient(145deg, rgba(10, 28, 41, .98), rgba(6, 18, 27, .98));
}
.opportunity-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; min-width: 0; }
.opportunity-head > div { min-width: 0; }
.opportunity-head span { display: block; color: #74a8d1; font-size: max(10px, .62em); font-weight: 750; letter-spacing: .1em; }
.opportunity-head h2 { margin: 2px 0 0; color: #d7e6ef; font-size: .9em; line-height: 1; }
.opportunity-head > strong { flex: 0 0 auto; padding: 3px 6px; color: #6bd392; border: 1px solid rgba(74, 196, 118, .26); background: rgba(38, 127, 73, .1); font-size: max(11px, .64em); font-weight: 650; }
.opportunity-list { min-height: 0; display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 4px; }
.opportunity-row {
  width: 100%; min-width: 0; min-height: 0; padding: 2px 5px;
  display: grid; grid-template-columns: 22px minmax(0, 1fr) 46px 49px; gap: 5px; align-items: center;
  color: #9fb2bf; text-align: left; border: 1px solid rgba(78, 121, 151, .16); background: rgba(255,255,255,.018); cursor: pointer; transition: 150ms ease;
  text-decoration: none;
}
.opportunity-row:hover { border-color: rgba(71, 145, 207, .48); background: rgba(36, 100, 153, .11); transform: translateX(-1px); }
.opportunity-rank { color: #6389a3; font-size: max(11px, .66em); font-weight: 800; font-variant-numeric: tabular-nums; }
.opportunity-asset { min-width: 0; }
.opportunity-asset strong, .opportunity-asset small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opportunity-asset strong { color: #d1dee6; font-size: .66em; line-height: 1.05; }
.opportunity-asset small { margin-top: 1px; color: #8299a9; font-size: max(10px, .62em); }
.news-row .opportunity-asset strong { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.22; }
.opportunity-vote { color: #74a9d2; font-size: .58em; font-weight: 760; text-align: center; }
.opportunity-confidence { color: #7eb9e8; font-size: .58em; font-style: normal; font-weight: 720; text-align: center; }
.opportunity-return { padding: 3px 2px; color: #ff7677; background: rgba(182, 55, 58, .09); border: 1px solid rgba(226, 84, 87, .17); font-size: .56em; font-weight: 760; text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.opportunity-return.pending { color: #d3a34b; background: rgba(146, 101, 24, .08); border-color: rgba(213, 155, 52, .18); }
.news-source { color: #83b5db; font-size: max(11px, .64em); font-weight: 700; text-align: center; white-space: nowrap; }
.news-source span, .news-source em { display: block; }
.news-source em { margin-top: 2px; color: #738ea2; font-size: 9px; font-style: normal; font-weight: 550; }
.news-heat { padding: 3px 2px; color: #ff7779; background: rgba(182, 55, 58, .09); border: 1px solid rgba(226, 84, 87, .17); font-size: max(11px, .64em); font-weight: 760; text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.opportunity-cta { width: 100%; height: 27px; display: flex; align-items: center; justify-content: center; gap: 9px; color: #d8e8f2; border: 1px solid #2c6a98; background: linear-gradient(180deg, rgba(37, 112, 172, .66), rgba(21, 72, 112, .7)); font-size: max(11px, .68em); font-weight: 720; letter-spacing: .04em; cursor: pointer; transition: 150ms ease; }
.opportunity-cta:hover { border-color: #4a92c6; filter: brightness(1.12); }
.opportunity-cta span { color: #78c0f4; font-size: 1.2em; }

.wide-news-panel { padding: 9px 11px 8px; }
.wide-news-panel .opportunity-list { grid-template-rows: repeat(4, minmax(0, 1fr)); }
.wide-news-panel .opportunity-head h2 { font-size: clamp(13px, .88vw, 16px); }
.wide-news-panel .opportunity-row { grid-template-columns: 23px minmax(0, 1fr) 50px 58px; gap: 7px; padding: 5px 7px; }
.wide-news-panel .opportunity-rank { font-size: .67em; }
.wide-news-panel .opportunity-asset strong { font-size: clamp(12px, .8vw, 14px); line-height: 1.16; }
.wide-news-panel .opportunity-asset small { margin-top: 3px; font-size: 11px; }
.wide-news-panel .news-source { font-size: 11px; }
.wide-news-panel .news-heat { font-size: 11px; }
.news-row[data-news-region="海外"] .news-source, .news-row[data-news-region="海外"] .news-heat { color: #78b9f1; border-color: rgba(63,137,213,.25); background: rgba(43,127,255,.07); }
.simulation-disclaimer strong { color: #d6aa65; }

[hidden] { display: none !important; }

.product-view { min-width: 0; min-height: 0; padding: 7px; gap: 8px; }
.daily-research-view {
  display: grid;
  grid-template-rows: 66px 74px minmax(0, 1fr) 130px;
  overflow: hidden;
}
.daily-research-intro { min-height: 66px; }
.daily-research-header-actions { display: flex; align-items: center; gap: 8px; }
.daily-research-header-actions > span { min-width: 102px; padding: 6px 9px; border: 1px solid var(--line-soft); background: rgba(2,13,21,.38); }
.daily-research-header-actions small,.daily-research-header-actions strong { display: block; }
.daily-research-header-actions small { color: #708a9b; font-size: .7rem; }
.daily-research-header-actions strong { margin-top: 2px; color: #c4d4dc; font-size: .82rem; font-variant-numeric: tabular-nums; }
.daily-research-header-actions .compact-button { width: auto; min-width: 126px; height: 37px; }
.daily-research-header-actions .compact-button:disabled { opacity: .62; cursor: wait; }
.daily-research-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.daily-research-summary article { min-width: 0; padding: 9px 12px; }
.daily-research-summary small,.daily-research-summary strong,.daily-research-summary span { display: block; }
.daily-research-summary small { color: #7892a2; font-size: .74rem; }
.daily-research-summary strong { margin: 3px 0 1px; color: #d8e6ee; font-size: 1.35rem; line-height: 1; font-variant-numeric: tabular-nums; }
.daily-research-summary span { overflow: hidden; color: #6e899a; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.daily-research-card-grid { min-width: 0; min-height: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); gap: 8px; }
.daily-research-card { min-width: 0; min-height: 0; padding: 10px 11px; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; gap: 7px; border-color: #203c50; }
.daily-research-card.is-triggered { border-color: rgba(69,189,118,.58); background: linear-gradient(145deg,rgba(21,70,53,.26),rgba(7,20,30,.98) 55%); }
.daily-research-card.is-overheated { border-color: rgba(233,170,47,.48); }
.daily-research-card.is-risk { border-color: rgba(219,83,85,.4); }
.daily-research-card.is-unavailable { border-color: rgba(108,129,143,.26); opacity: .82; }
.daily-card-head { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: start; }
.daily-card-head > div { min-width: 0; }
.daily-card-market { color: #6caae9; font-size: max(11.5px,.7rem); letter-spacing: .075em; }
.daily-card-head h2 { margin: 3px 0 0; overflow: hidden; color: #dce8ee; font-size: clamp(14px,.96vw,17px); text-overflow: ellipsis; white-space: nowrap; }
.daily-card-head h2 b { margin-right: 6px; color: #86b9ea; font-size: .84em; }
.daily-card-status { padding: 4px 7px; color: #8baabd; border: 1px solid #315068; background: rgba(26,59,80,.28); font-size: max(11.5px,.7rem); font-weight: 700; white-space: nowrap; }
.is-triggered .daily-card-status { color: #73d399; border-color: rgba(69,189,118,.45); background: rgba(69,189,118,.09); }
.is-overheated .daily-card-status { color: #e5b75e; border-color: rgba(233,170,47,.4); background: rgba(233,170,47,.08); }
.is-risk .daily-card-status { color: #e68384; border-color: rgba(219,83,85,.38); background: rgba(219,83,85,.08); }
.daily-card-quote { display: grid; grid-template-columns: auto auto minmax(0,1fr); gap: 8px; align-items: end; padding-bottom: 6px; border-bottom: 1px solid var(--line-soft); }
.daily-card-quote strong { color: #edf6fb; font-size: 1.25rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.daily-card-quote b { font-size: .86rem; font-variant-numeric: tabular-nums; }
.daily-card-quote small { overflow: hidden; color: #6f8b9d; font-size: max(11.5px,.68rem); text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.daily-card-rules { min-height: 0; display: grid; gap: 4px; }
.daily-card-rules > span { min-width: 0; display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 6px; color: #97acb8; font-size: max(12px,.73rem); line-height: 1.32; }
.daily-card-rules small { color: #56758b; font-size: inherit; }
.daily-card-rules strong { overflow: hidden; color: #9db1bd; font-weight: 570; text-overflow: ellipsis; white-space: nowrap; }
.daily-card-rules .daily-action strong { color: #cfb073; }
.daily-card-foot { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 7px; align-items: center; }
.daily-risk-pill { padding: 3px 5px; color: #d9b477; border: 1px solid rgba(190,139,61,.28); font-size: max(11px,.67rem); white-space: nowrap; }
.daily-track-result { overflow: hidden; color: #7b96a7; font-size: max(11px,.67rem); text-overflow: ellipsis; white-space: nowrap; }
.daily-track-button { height: 28px; padding: 0 8px; color: #82b9f0; border: 1px solid #315f85; background: rgba(43,127,255,.07); cursor: pointer; font-size: max(11.5px,.7rem); white-space: nowrap; }
.daily-track-button:hover { color: #d9efff; border-color: #4d8ec5; }
.daily-track-button.is-tracked { color: #75cb96; border-color: rgba(69,189,118,.42); background: rgba(69,189,118,.08); }
.daily-plan-card { border-color: rgba(73,134,191,.44); background: linear-gradient(145deg,rgba(20,60,91,.28),rgba(7,20,30,.98) 58%); }
.daily-plan-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.daily-plan-head span { color: #6fafea; font-size: .68rem; letter-spacing: .08em; }
.daily-plan-head h2 { margin: 3px 0 0; font-size: clamp(14px,.96vw,17px); }
.daily-plan-head strong { color: #7ed69f; font-size: .78rem; }
.daily-allocation-list { display: grid; gap: 4px; min-height: 0; }
.daily-allocation-row { display: grid; grid-template-columns: 100px minmax(0,1fr) 38px; gap: 7px; align-items: center; color: #8ea7b6; font-size: max(11.5px,.7rem); }
.daily-allocation-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.daily-allocation-row i { height: 5px; overflow: hidden; background: #142b3a; }
.daily-allocation-row i b { display: block; width: var(--allocation); height: 100%; background: linear-gradient(90deg,#2d78d3,#43bb83); }
.daily-allocation-row strong { color: #a6bbc7; text-align: right; font-variant-numeric: tabular-nums; }
.daily-plan-card p { margin: 0; color: #7f99a9; font-size: max(11.5px,.69rem); line-height: 1.4; }
.daily-plan-card p b { color: #d4a85f; }
.daily-research-bottom-grid { min-width: 0; min-height: 0; display: grid; grid-template-columns: 1.25fr 1fr; gap: 8px; }
.daily-ledger-panel,.daily-boundary-panel { min-width: 0; padding: 10px 12px; }
.daily-ledger-panel .panel-head h2,.daily-boundary-panel .panel-head h2 { font-size: .9rem; }
.daily-ledger-rows { display: grid; gap: 4px; margin-top: 7px; }
.daily-ledger-row { display: grid; grid-template-columns: 72px 120px minmax(0,1fr) 62px; gap: 8px; padding: 4px 6px; color: #819cac; border: 1px solid rgba(64,103,128,.17); background: rgba(255,255,255,.012); font-size: .69rem; }
.daily-ledger-row strong { overflow: hidden; color: #9eb2be; text-overflow: ellipsis; white-space: nowrap; }
.daily-ledger-row em { color: #668396; font-style: normal; }
.daily-ledger-row b { text-align: right; font-variant-numeric: tabular-nums; }
.daily-ledger-empty { padding: 17px 8px; color: #70899b; font-size: .72rem; text-align: center; }
.daily-boundary-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; margin-top: 7px; }
.daily-boundary-steps span { min-width: 0; display: grid; grid-template-columns: 20px minmax(0,1fr); padding: 6px; border: 1px solid rgba(61,104,132,.2); background: rgba(255,255,255,.012); }
.daily-boundary-steps b { grid-row: 1 / 3; width: 17px; height: 17px; display: grid; place-items: center; color: #70b1ee; border: 1px solid #2d6796; font-size: .62rem; }
.daily-boundary-steps strong { color: #b7c7cf; font-size: .69rem; }
.daily-boundary-steps small { overflow: hidden; color: #6c8798; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.daily-boundary-panel p { margin: 7px 0 0; color: #a18c67; font-size: .68rem; line-height: 1.38; }
.strategy-market-view {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(280px, 21vw, 350px);
  grid-template-rows: 88px 164px 64px auto;
  align-content: start;
  overflow-y: auto;
  scrollbar-gutter: stable;
}
.strategy-market-view::-webkit-scrollbar, .research-report-view::-webkit-scrollbar { width: 9px; }
.strategy-market-view::-webkit-scrollbar-track, .research-report-view::-webkit-scrollbar-track { background: #06121b; }
.strategy-market-view::-webkit-scrollbar-thumb, .research-report-view::-webkit-scrollbar-thumb { background: #24475e; border: 2px solid #06121b; }
.view-intro {
  grid-column: 1 / -1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 13px 0 16px;
  border: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(26, 67, 98, .2), rgba(7, 20, 30, .82) 45%, rgba(25, 75, 119, .09));
}
.view-intro h1 { display: inline; margin: 0 10px 0 0; font-size: clamp(17px, 1.35vw, 23px); letter-spacing: .01em; }
.view-intro p { display: inline; margin: 0; color: #8da3b3; font-size: .84rem; }
.view-intro p strong { color: #d9e8f2; font-size: 1.08em; }
.view-eyebrow { color: #62a8ee; font-size: .74rem; letter-spacing: .14em; margin-bottom: 5px; }
.view-eyebrow .status-dot { width: 5px; height: 5px; vertical-align: 0; }
.view-intro-stats { display: grid; grid-template-columns: repeat(4, minmax(74px, 1fr)); border: 1px solid var(--line-soft); background: rgba(2, 11, 18, .28); }
.view-intro-stats span { padding: 6px 12px; color: #657d8f; border-left: 1px solid var(--line-soft); white-space: nowrap; font-size: .69em; }
.view-intro-stats span:first-child { border-left: 0; }
.view-intro-stats strong { display: block; margin-top: 2px; color: #d2dee6; font-size: 1.18em; font-variant-numeric: tabular-nums; }
.strategy-discovery { width: min(620px, 48vw); display: grid; gap: 6px; }
.strategy-search { height: 34px; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; border: 1px solid #29495f; background: rgba(2,11,18,.58); }
.strategy-search > span { color: #6ca9ec; text-align: center; font-size: 1.1rem; }
.strategy-search input { min-width: 0; height: 100%; color: #d8e6ef; border: 0; outline: 0; background: transparent; font-size: .82rem; }
.strategy-search input::placeholder { color: #5e7789; }
.strategy-search strong { padding: 0 10px; color: #73a8dd; font-size: .74rem; font-weight: 650; white-space: nowrap; }
.strategy-filter-tabs { height: 36px; display: grid; grid-template-columns: repeat(4, minmax(82px, 1fr)); border: 1px solid var(--line-soft); background: rgba(2,11,18,.3); }
.strategy-filter-tabs button { min-width: 0; padding: 0 13px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #6f8799; border: 0; border-left: 1px solid var(--line-soft); background: transparent; cursor: pointer; }
.strategy-filter-tabs button:first-child { border-left: 0; }
.strategy-filter-tabs button:hover, .strategy-filter-tabs button.active { color: #dce9f2; background: rgba(43,127,255,.12); box-shadow: inset 0 -2px #3c8de9; }
.strategy-filter-tabs span { white-space: nowrap; font-size: .76rem; }.strategy-filter-tabs strong { color: #62a1e9; font-size: .76rem; }

.featured-market-card {
  display: grid;
  grid-template-columns: minmax(165px, .66fr) minmax(280px, 1.28fr) minmax(300px, 1.1fr) minmax(190px, .72fr);
  align-items: center;
  gap: 15px;
  padding: 17px 15px 12px;
  border-color: rgba(43, 127, 255, .5);
  background: linear-gradient(108deg, rgba(19, 59, 91, .68), rgba(8, 22, 33, .97) 50%, rgba(31, 24, 39, .82));
}
.featured-ribbon { position: absolute; top: 0; left: 0; padding: 4px 11px; color: #8dbbff; background: rgba(43, 127, 255, .16); border-right: 1px solid rgba(43,127,255,.35); border-bottom: 1px solid rgba(43,127,255,.35); font-size: .72rem; letter-spacing: .08em; }
.featured-author, .detail-author-row { display: flex; align-items: center; gap: 9px; min-width: 0; }
.featured-author-block { min-width: 0; }
.contributor-strip { display: flex; align-items: center; margin-top: 10px; padding-left: 3px; }
.contributor-strip i { width: 24px; height: 24px; display: grid; place-items: center; margin-left: -4px; border-radius: 50%; color: #f3f8fb; border: 1px solid #49677b; background: #173142; font-size: .65em; font-style: normal; font-weight: 800; box-shadow: 0 0 0 2px #0a1e2d; }
.contributor-strip i:first-child { margin-left: 0; }
.contributor-strip .tone-value { background:#2f805a; }.contributor-strip .tone-parity { background:#397abb; }.contributor-strip .tone-growth { background:#bd4c66; }.contributor-strip .tone-quant { background:#7559ba; }.contributor-strip .tone-trend { background:#b56631; }
.contributor-strip span { margin-left: 8px; color: #7890a2; font-size: .74rem; white-space: nowrap; }
.contributor-strip .single-style-note { margin-left: 0; padding: 3px 7px; color: #7593a8; border: 1px solid var(--line-soft); background: rgba(255,255,255,.012); }
.featured-author small, .detail-author-row small { display: block; color: #7f95a5; font-size: .73rem; margin-bottom: 3px; }
.featured-author strong, .detail-author-row strong { display: block; white-space: nowrap; }
.creator-avatar { width: 46px; height: 46px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #06111a; background: linear-gradient(135deg, #f3fbff, #7db9e5 42%, #24577b); border: 2px solid #83b7d9; font-weight: 900; font-size: 1.08em; box-shadow: 0 0 0 3px rgba(89, 156, 204, .08); }
.creator-avatar.large { width: 48px; height: 48px; font-size: 1.18em; }
.creator-avatar.tone-consensus { color: #fff5d7; border-color: #e0b455; background: linear-gradient(135deg, #725d20, #d59a2e 48%, #533b15); }
.creator-avatar.tone-value { color: #effff6; border-color: #59c68a; background: linear-gradient(135deg, #225d43, #52b77e 48%, #183c2d); }
.creator-avatar.tone-parity { color: #eff8ff; border-color: #62a8eb; background: linear-gradient(135deg, #244b79, #4a8ed4 48%, #162e4b); }
.creator-avatar.tone-growth { color: #fff0f2; border-color: #ee7285; background: linear-gradient(135deg, #7b2c40, #d75e78 48%, #481c29); }
.creator-avatar.tone-quant { color: #f2edff; border-color: #9b82e8; background: linear-gradient(135deg, #49357d, #876ad3 48%, #2e2452); }
.creator-avatar.tone-trend { color: #fff3e6; border-color: #e58d4d; background: linear-gradient(135deg, #754021, #ca753b 48%, #432617); }
.creator-avatar.has-photo, .contributor-strip i.has-photo { color: transparent; background-image: url("./assets/avatar-sprite-v2.webp"); background-repeat: no-repeat; background-size: 400% 400%; background-position: var(--avatar-x, 0%) var(--avatar-y, 0%); }
.creator-avatar.has-photo { box-shadow: 0 0 0 3px rgba(89,156,204,.09), 0 5px 15px rgba(0,0,0,.28); }
.contributor-strip i.has-photo { box-shadow: 0 0 0 2px #0a1e2d, 0 3px 8px rgba(0,0,0,.26); }
.verified-chip { padding: 4px 7px; color: #61ca8b; border: 1px solid rgba(69, 189, 118, .34); background: rgba(69, 189, 118, .07); white-space: nowrap; font-size: .72rem; }
.featured-author .verified-chip { margin-left: auto; }
.featured-copy { min-width: 0; border-left: 1px solid var(--line-soft); padding-left: 15px; }
.featured-copy h2 { margin: 7px 0 3px; font-size: clamp(16px, 1.2vw, 22px); }
.featured-copy p { margin: 0; color: #8a9fac; font-size: .82rem; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.featured-metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-left: 1px solid var(--line-soft); }
.featured-metrics span { min-width: 0; padding-left: 10px; }
.featured-metrics small { display: block; color: #718a9c; font-size: .72rem; }
.featured-metrics strong { display: block; margin-top: 6px; color: #d6e2ea; font-size: clamp(14px, 1.08vw, 20px); font-variant-numeric: tabular-nums; white-space: nowrap; }
.featured-actions { display: grid; gap: 8px; }
.compact-button { min-width: 0; width: 100%; height: 32px; padding: 0 13px; }
.forward-proof-button { min-width:0; width:100%; height:39px; padding:5px 10px; color:#79ddb0; border:1px solid #2f8b68; background:linear-gradient(180deg,rgba(49,170,120,.16),rgba(18,87,62,.08)); cursor:pointer; text-align:left; }
.forward-proof-button span,.forward-proof-button strong { display:block; }.forward-proof-button span { font-size:.7rem; font-weight:780; }.forward-proof-button strong { margin-top:2px; color:#5c9b7f; font-size:.57rem; font-weight:580; }
.forward-proof-button:hover { color:#e4fff1; border-color:#4ebc8b; background:rgba(49,170,120,.19); }
.verified-backtest-button { min-width:0; width:100%; height:39px; padding:5px 10px; color:#8bc9ff; border:1px solid #3376ae; background:linear-gradient(180deg,rgba(43,127,255,.15),rgba(23,76,117,.08)); cursor:pointer; text-align:left; }
.verified-backtest-button span,.verified-backtest-button strong { display:block; }.verified-backtest-button span { font-size:.7rem; font-weight:760; }.verified-backtest-button strong { margin-top:2px; color:#5f8fb8; font-size:.57rem; font-weight:560; }
.verified-backtest-button:hover { color:#dbeeff; border-color:#4d9be1; background:rgba(43,127,255,.18); }

.strategy-library { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(250px, auto); gap: 8px; padding-bottom: 10px; }
.strategy-item { min-width: 0; min-height: 250px; padding: 14px 14px 12px; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(10, 25, 38, .98), rgba(6, 18, 28, .98)); border-radius: 3px; display: grid; grid-template-rows: auto auto minmax(42px, 1fr) auto auto; transition: 180ms ease; }
.strategy-item:hover { border-color: rgba(71, 140, 198, .7); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.strategy-item.active { border-color: rgba(43,127,255,.68); box-shadow: inset 0 0 0 1px rgba(43,127,255,.08); }
.strategy-item.chosen { border-color: rgba(69,189,118,.72); box-shadow: inset 0 0 0 1px rgba(69,189,118,.12), 0 8px 24px rgba(0,0,0,.15); }
.strategy-item.locked { background: linear-gradient(180deg, rgba(10,25,38,.98), rgba(12,18,27,.98)); }
.strategy-item.chosen .strategy-type { color: #73d39a; border-color: rgba(69,189,118,.42); background: rgba(69,189,118,.08); }
.strategy-item-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.strategy-creator { display: flex; align-items: center; gap: 10px; min-width: 0; color: #98acba; font-size: .82rem; }
.strategy-creator .creator-avatar { width: 39px; height: 39px; border-width: 1px; font-size: .92rem; }
.strategy-creator span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.strategy-creator strong { display: block; color: #cbd9e2; font-size: .88rem; }
.strategy-creator small { display: block; margin-top: 3px; color: #71899a; font-size: .72rem; }
.strategy-type { color: #6caef7; background: rgba(43,127,255,.08); border: 1px solid rgba(43,127,255,.26); padding: 4px 8px; white-space: nowrap; font-size: .72rem; }
.strategy-item h3 { margin: 11px 0 6px; font-size: clamp(16px, 1.08vw, 20px); }
.strategy-item-description { margin: 0; color: #91a5b3; font-size: .82rem; line-height: 1.58; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.strategy-card-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 8px; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.strategy-card-metrics span { padding: 6px 6px 5px; border-left: 1px solid var(--line-soft); }
.strategy-card-metrics span:first-child { border-left: 0; padding-left: 0; }
.strategy-card-metrics small { color: #7891a2; display: block; font-size: .72rem; }
.strategy-card-metrics strong { display: block; color: #d1dde5; margin-top: 5px; font-size: .88rem; font-variant-numeric: tabular-nums; }
.strategy-item-foot { display: flex; align-items: center; gap: 6px; padding-top: 7px; }
.strategy-item-foot > span { margin-right: auto; color: #7891a2; font-size: .72rem; white-space: nowrap; }
.strategy-item-foot button { height: 32px; min-width: 0; padding: 0 10px; border-radius: 2px; cursor: pointer; font-size: .74rem; }
.strategy-detail-button { color: #9bb0bf; background: #0a1a26; border: 1px solid #29465b; }
.strategy-start-button { color: #dfeeff; background: rgba(43,127,255,.18); border: 1px solid #327ce0; }
.strategy-start-button.selected { color: #d8f7e4; border-color: #3d9d68; background: rgba(69,189,118,.13); }
.locked-cta { color: #f1c27c !important; border-color: #8b642b !important; background: rgba(123,77,19,.16) !important; }

.strategy-empty-state { grid-column: 1 / -1; min-height: 260px; display: grid; place-content: center; justify-items: center; gap: 10px; color: #748b9c; border: 1px dashed #29475c; background: rgba(7,19,29,.75); }
.strategy-empty-state strong { color: #c5d4de; font-size: 1.05rem; }.strategy-empty-state span { font-size: .82rem; }
.strategy-empty-state button { height: 34px; padding: 0 15px; color: #83b8f2; border: 1px solid #356b9e; background: rgba(43,127,255,.1); cursor: pointer; }
.market-sidebar { min-width: 0; grid-column: 2; grid-row: 2 / 4; align-self: start; position: sticky; top: 0; display: grid; grid-template-rows: 190px 310px 104px; gap: 8px; }
.trust-panel, .ranking-panel, .market-note-panel { padding: 11px 12px; }
.analysis-badge { color: #68aaef; font-size: .72rem; padding: 3px 6px; border: 1px solid rgba(54, 130, 210, .28); background: rgba(43,127,255,.06); }
.trust-score { float: left; width: 88px; height: 88px; margin-top: 16px; border-radius: 50%; display: grid; place-content: center; text-align: center; border: 6px solid #1a3444; border-top-color: #45bd76; border-right-color: #45bd76; box-shadow: inset 0 0 18px rgba(69,189,118,.05); }
.trust-score strong { font-size: 1.8em; line-height: .9; color: #77d39c; }.trust-score span { color: #668092; font-size: .62em; }.trust-score small { color: #6b8292; font-size: .55em; margin-top: 3px; }
.trust-bars { margin: 13px 0 0 103px; display: grid; gap: 7px; }
.trust-bars div { display: grid; grid-template-columns: 60px 1fr 26px; gap: 7px; align-items: center; color: #7c93a3; font-size: .72rem; }
.trust-bars i { height: 5px; background: linear-gradient(90deg, #3d9d6a var(--trust), #142a37 var(--trust)); }
.trust-bars strong { color: #9eafb9; text-align: right; }
.rank-head, .strategy-ranking > div { display: grid; grid-template-columns: 1fr 55px 48px; gap: 7px; align-items: center; }
.rank-head { padding: 10px 4px 7px; color: #6f8798; font-size: .7rem; border-bottom: 1px solid var(--line-soft); }
.strategy-ranking > div { padding: 10px 4px; border-bottom: 1px solid rgba(84,116,137,.11); font-size: .75rem; }
.strategy-ranking .rank-name { min-width: 0; display: flex; align-items: center; gap: 6px; color: #9eb0bc; }
.rank-index { width: 17px; color: #5a91d5; font-weight: 760; }
.strategy-ranking span:nth-child(2), .strategy-ranking strong { text-align: right; color: #71899a; font-variant-numeric: tabular-nums; }
.strategy-ranking strong { color: #74c995; }
.market-note-panel { background: linear-gradient(120deg, rgba(33, 69, 94, .24), rgba(8, 21, 31, .96)); }
.market-note-panel strong { color: #9bb0bf; font-size: .78rem; }.market-note-panel p { margin: 5px 0; color: #7b92a2; line-height: 1.4; font-size: .72rem; }.market-note-panel span { color: #d8a459; font-size: .69rem; line-height: 1.35; }

.master-selection-tray { position: sticky; z-index: 20; left: 0; right: 0; bottom: 4px; grid-column: 1 / -1; min-width: 0; min-height: 66px; display: grid; grid-template-columns: auto minmax(230px,1fr) 88px 220px; align-items: center; gap: 13px; padding: 9px 12px; border: 1px solid rgba(58,132,208,.7); background: linear-gradient(100deg, rgba(11,39,59,.98), rgba(6,20,30,.98) 58%, rgba(25,57,44,.97)); box-shadow: 0 -12px 42px rgba(0,0,0,.38); }
.selected-master-avatars { display: flex; align-items: center; padding-left: 6px; }
.selected-master-avatars .creator-avatar { width: 38px; height: 38px; margin-left: -7px; border-width: 1px; box-shadow: 0 0 0 2px #0b2131, 0 5px 13px rgba(0,0,0,.34); }
.selected-master-avatars .creator-avatar:first-child { margin-left: 0; }
.selection-tray-copy { min-width: 0; }
.selection-tray-copy strong { color: #dce9f1; font-size: .86rem; }.selection-tray-copy strong span { color: #6eb7ff; font-size: 1.15em; }
.selection-tray-copy p { margin: 4px 0 0; color: #718c9e; font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.master-selection-tray .compact-button { height: 38px; }
.master-selection-tray button:disabled { opacity: .5; cursor: not-allowed; }
.research-profile-bar { grid-column:1 / -1; display:grid; grid-template-columns:minmax(300px,1fr) minmax(260px,.65fr) 230px; align-items:center; gap:16px; padding:7px 15px; border:1px solid rgba(66,131,177,.32); background:linear-gradient(100deg,rgba(9,35,51,.8),rgba(5,20,29,.76)); }.research-profile-bar small,.research-profile-bar strong,.research-profile-bar p,.research-profile-value span,.research-profile-value em { display:block; }.research-profile-bar small { color:#5795c1; font-size:.58rem; letter-spacing:.08em; }.research-profile-bar strong { margin-top:2px; color:#d3e1e9; font-size:.84rem; }.research-profile-bar p { margin:2px 0 0; color:#7f9cac; font-size:.66rem; }.research-profile-value { padding-left:14px; border-left:2px solid rgba(77,174,123,.45); }.research-profile-value span { color:#9fc3af; font-size:.68rem; }.research-profile-value em { margin-top:2px; color:#607f91; font-size:.6rem; font-style:normal; }.research-profile-bar button { width:100%; height:34px; }

.research-profile-bar { grid-column:1; }
.market-sidebar { grid-row:2 / 5; }

.research-report-view {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .65fr);
  grid-template-rows: 72px 96px minmax(420px, 1fr) auto;
  align-content: start;
  overflow-y: auto;
  scrollbar-gutter: stable;
}
.research-intro { min-height: 72px; }
.research-header-actions { display: flex; gap: 8px; }
.research-header-actions .compact-button { width: auto; min-width: 132px; height: 38px; }
.research-summary-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.research-summary-grid article { padding: 13px 15px; }
.research-summary-grid small { display: block; color: #7891a2; font-size: .76rem; }
.research-summary-grid strong { display: block; margin: 5px 0 3px; color: #dbe7ef; font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.research-summary-grid span { color: #667f91; font-size: .72rem; }
.research-main-panel { padding: 18px 19px; }
.research-document-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line-soft); padding-bottom: 12px; }
.research-document-head span:first-child { color: #619fe5; font-size: .72rem; letter-spacing: .08em; }
.research-document-head h2 { margin: 6px 0 0; font-size: clamp(19px, 1.35vw, 26px); }
.report-status { padding: 5px 8px; color: #72cf96; border: 1px solid rgba(69,189,118,.35); background: rgba(69,189,118,.08); font-size: .74rem; white-space: nowrap; }
.research-lead { margin: 14px 0; color: #9aadb9; font-size: .88rem; line-height: 1.65; }
.report-finding-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line-soft); background: rgba(3,13,21,.38); }
.report-finding-grid article { min-width: 0; padding: 12px; border-left: 1px solid var(--line-soft); }
.report-finding-grid article:first-child { border-left: 0; }
.report-finding-grid small { display: block; color: #6f8798; font-size: .72rem; }
.report-finding-grid strong { display: block; margin: 6px 0 4px; color: #d4e0e7; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.report-finding-grid span { display: block; color: #6e8798; font-size: .7rem; line-height: 1.4; }
.open-source-lab { margin-top:14px; border:1px solid rgba(50,132,190,.42); background:linear-gradient(145deg,rgba(7,29,44,.94),rgba(5,18,28,.92)); box-shadow:inset 0 1px 0 rgba(90,180,226,.05); }
.open-source-lab-head { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:9px 11px; border-bottom:1px solid rgba(70,123,155,.24); }
.open-source-lab-head > div:first-child span,.open-source-lab-head > div:first-child strong,.open-source-lab-head > div:first-child small { display:block; }
.open-source-lab-head > div:first-child span { color:#4e9bcf; font-size:.61rem; letter-spacing:.09em; }
.open-source-lab-head > div:first-child strong { margin-top:3px; color:#d2e3ed; font-size:.92rem; }
.open-source-lab-head > div:first-child small { margin-top:3px; color:#6f8b9d; font-size:.65rem; }
.open-source-lab-head > div:first-child small.is-error { color:#e27b7e; }
.open-source-symbols { display:flex; gap:5px; }
.open-source-symbols button { min-width:46px; height:30px; padding:0 8px; color:#7895a8; border:1px solid #25465d; background:#081925; font-size:.68rem; cursor:pointer; }
.open-source-symbols button:hover,.open-source-symbols button.active { color:#cbe5f6; border-color:#418ec5; background:rgba(41,132,194,.18); }
.open-source-symbols #openSourceRefresh { min-width:54px; color:#70b893; border-color:rgba(76,166,116,.45); }
.open-source-hero { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid rgba(70,123,155,.24); }
.open-source-hero > span { min-width:0; min-height:68px; padding:10px 11px; border-left:1px solid rgba(70,123,155,.2); }
.open-source-hero > span:first-child { border-left:0; }
.open-source-hero small,.open-source-hero strong,.open-source-hero em { display:block; }
.open-source-hero small { color:#64869c; font-size:.64rem; }
.open-source-hero strong { margin:5px 0 3px; color:#d8e5ec; font-size:1rem; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.open-source-hero em { color:#607d8f; font-size:.62rem; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.open-source-hero strong.up,.open-source-hero em.up { color:#ff5d61; }.open-source-hero strong.down,.open-source-hero em.down { color:#40c982; }
.open-source-sections { display:grid; grid-template-columns:1fr 1fr; }
.open-source-sections > article { min-width:0; padding:11px; border-left:1px solid rgba(70,123,155,.2); }
.open-source-sections > article:first-child { border-left:0; }
.open-source-sections .table-title { margin-bottom:8px; }.open-source-sections .table-title span { font-size:.6rem; }
.open-source-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid rgba(70,123,155,.18); }
.open-source-metric-grid > span { min-width:0; min-height:58px; padding:8px; border-left:1px solid rgba(70,123,155,.16); border-top:1px solid rgba(70,123,155,.16); }
.open-source-metric-grid > span:nth-child(3n+1) { border-left:0; }.open-source-metric-grid > span:nth-child(-n+3) { border-top:0; }
.open-source-metric-grid small,.open-source-metric-grid strong,.open-source-metric-grid em { display:block; }
.open-source-metric-grid small { color:#5e7c90; font-size:.58rem; white-space:nowrap; }
.open-source-metric-grid strong { margin:5px 0 2px; color:#c5d6df; font-size:.81rem; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.open-source-metric-grid em { color:#567285; font-size:.55rem; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.open-source-metric-grid strong.up { color:#ff6367; }.open-source-metric-grid strong.down { color:#3fc982; }
.open-source-chart-card { padding:11px; border-top:1px solid rgba(70,123,155,.2); }
.open-source-chart-card .table-title { margin-bottom:8px; }
.open-source-chart { position:relative; width:100%; height:310px; overflow:hidden; border:1px solid rgba(61,119,155,.25); background:#06131d; }
.open-source-chart-empty { height:100%; display:grid; place-items:center; color:#607c8e; font-size:.72rem; }
.open-source-chart-foot { display:flex; align-items:center; gap:12px; padding:7px 3px 0; color:#658194; font-size:.59rem; }
.open-source-chart-foot span { display:flex; align-items:center; gap:4px; }.open-source-chart-foot i { width:14px; height:3px; display:inline-block; }.legend-candle { background:linear-gradient(90deg,#ef5559 0 50%,#32bd7a 50%); }.legend-ema20 { background:#f0aa42; }.legend-ema50 { background:#4f9fea; }
.open-source-chart-foot a { margin-left:auto; color:#75a9cd; text-decoration:none; }.open-source-chart-foot a:hover { color:#b8ddf5; }
.portfolio-lab { border-top:1px solid rgba(70,123,155,.24); }
.portfolio-lab-head { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px; }
.portfolio-lab-head span,.portfolio-lab-head strong,.portfolio-lab-head small { display:block; }.portfolio-lab-head span { color:#55a2d5; font-size:.59rem; letter-spacing:.09em; }.portfolio-lab-head strong { margin:3px 0; color:#d4e4ec; font-size:.92rem; }.portfolio-lab-head small { color:#698598; font-size:.64rem; }.portfolio-lab-head small.is-error { color:#df787b; }
.portfolio-lab-head button { min-width:126px; height:34px; padding:0 12px; color:#d4e8f7; border:1px solid #3d86bf; background:linear-gradient(100deg,rgba(43,127,255,.2),rgba(32,155,115,.12)); cursor:pointer; }.portfolio-lab-head button:disabled { opacity:.55; cursor:not-allowed; }
.portfolio-asset-selector { display:flex; flex-wrap:wrap; gap:5px; padding:0 11px 10px; }
.portfolio-asset-selector button { height:30px; padding:0 9px; color:#718c9e; border:1px solid #27485d; background:#071925; font-size:.65rem; cursor:pointer; }.portfolio-asset-selector button.active { color:#d0e7f4; border-color:#3e91c8; background:rgba(42,133,195,.19); box-shadow:inset 0 -2px #3f9cda; }
.portfolio-result-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0 11px 11px; }
.portfolio-result-grid > article { min-width:0; padding:11px; border:1px solid rgba(62,115,149,.28); background:rgba(5,19,29,.66); cursor:pointer; transition:160ms ease; }.portfolio-result-grid > article:hover,.portfolio-result-grid > article.active { border-color:#3d8dc8; background:linear-gradient(145deg,rgba(26,91,133,.25),rgba(5,19,29,.75)); box-shadow:inset 0 0 24px rgba(44,133,196,.05); }
.portfolio-result-grid > article > small,.portfolio-result-grid > article > strong,.portfolio-result-grid > article > p { display:block; }.portfolio-result-grid > article > small { color:#6e91a8; font-size:.61rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.portfolio-result-grid > article > strong { margin:6px 0 3px; color:#ee6266; font-size:1.3rem; font-variant-numeric:tabular-nums; }.portfolio-result-grid > article > p { min-height:29px; margin:0 0 8px; color:#617b8d; font-size:.59rem; line-height:1.4; }
.portfolio-weight-list { display:grid; gap:5px; }.portfolio-weight-list > span { display:grid; grid-template-columns:minmax(60px,.72fr) minmax(50px,1fr) 39px; align-items:center; gap:5px; }.portfolio-weight-list b { overflow:hidden; color:#829bab; font-size:.56rem; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }.portfolio-weight-list i { height:5px; overflow:hidden; background:#132c3b; }.portfolio-weight-list em { display:block; width:var(--weight); height:100%; background:linear-gradient(90deg,#327fd0,#50c18c); }.portfolio-weight-list strong { color:#a5b7c2; font-size:.56rem; text-align:right; font-variant-numeric:tabular-nums; }.portfolio-result-grid article > button { width:100%; height:26px; margin-top:9px; color:#69a9df; border:1px solid rgba(61,136,190,.26); background:rgba(34,112,165,.07); font-size:.59rem; cursor:pointer; }
.monte-carlo-panel { margin:0 11px 11px; padding:11px; border:1px solid rgba(54,141,111,.31); background:linear-gradient(145deg,rgba(14,50,43,.32),rgba(5,19,29,.78)); }.monte-carlo-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }.monte-carlo-head span,.monte-carlo-head strong { display:block; }.monte-carlo-head span { color:#56b88a; font-size:.58rem; letter-spacing:.1em; }.monte-carlo-head strong { margin-top:4px; color:#cfe1e6; font-size:.84rem; }
.portfolio-style-switch { display:flex; gap:4px; }.portfolio-style-switch button { height:27px; padding:0 8px; color:#6e8c9f; border:1px solid #284a5f; background:#071822; font-size:.58rem; cursor:pointer; }.portfolio-style-switch button.active { color:#cce8d9; border-color:#3e9e72; background:rgba(39,139,91,.14); }
.monte-carlo-metric-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin-top:10px; border:1px solid rgba(64,129,108,.18); }.monte-carlo-metric-grid > span { min-width:0; padding:8px; border-left:1px solid rgba(64,129,108,.16); }.monte-carlo-metric-grid > span:first-child { border-left:0; }.monte-carlo-metric-grid small,.monte-carlo-metric-grid strong,.monte-carlo-metric-grid em { display:block; }.monte-carlo-metric-grid small { color:#658777; font-size:.55rem; }.monte-carlo-metric-grid strong { margin:4px 0 2px; color:#d0dfdf; font-size:.8rem; font-variant-numeric:tabular-nums; }.monte-carlo-metric-grid em { overflow:hidden; color:#5a776d; font-size:.52rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.monte-carlo-range { position:relative; height:62px; margin:13px 2px 2px; }.monte-carlo-range > div { position:absolute; top:25px; left:0; right:0; height:8px; background:linear-gradient(90deg,rgba(50,190,123,.26),rgba(238,91,95,.28)); border:1px solid rgba(83,131,116,.26); }.monte-carlo-range .loss-zone { position:absolute; inset:0 auto 0 0; background:rgba(48,184,117,.16); }.monte-carlo-range b { position:absolute; top:-22px; width:1px; height:49px; background:#86a4b4; transform:translateX(-50%); }.monte-carlo-range b.median { width:2px; background:#f1ae45; }.monte-carlo-range b em,.monte-carlo-range b strong { position:absolute; left:50%; display:block; white-space:nowrap; transform:translateX(-50%); font-style:normal; font-size:.51rem; }.monte-carlo-range b em { top:-1px; color:#638091; }.monte-carlo-range b strong { top:11px; color:#b7c8d1; }.monte-carlo-range > span { position:absolute; top:40px; color:#5f7b8c; font-size:.52rem; }.monte-carlo-range > span:last-child { right:0; }.monte-carlo-panel > p { margin:6px 0 0; color:#9a835e; font-size:.57rem; line-height:1.45; }
.open-source-evidence { display:flex; flex-wrap:wrap; gap:5px; padding:8px 11px; border-top:1px solid rgba(70,123,155,.2); }
.open-source-evidence a { padding:4px 7px; color:#76a6c3; border:1px solid rgba(63,126,166,.28); background:rgba(18,60,85,.2); font-size:.58rem; text-decoration:none; }
.open-source-evidence a:hover { color:#c0e5f6; border-color:#3a84b5; }
.open-source-disclosure { margin:0; padding:7px 11px; color:#9b865f; border-top:1px solid rgba(159,128,69,.16); font-size:.6rem; line-height:1.45; }
.report-attribution { margin-top: 15px; }
.attribution-bars { display: grid; gap: 9px; margin-top: 9px; }
.attribution-bars > div { display: grid; grid-template-columns: 108px minmax(0, 1fr) 30px; align-items: center; gap: 10px; color: #8298a7; font-size: .75rem; }
.attribution-bars i { height: 7px; background: #132b3a; overflow: hidden; }
.attribution-bars b { display: block; width: var(--score); height: 100%; background: linear-gradient(90deg, #2878d4, #55b7e4); }
.attribution-bars strong { color: #a9bbc6; text-align: right; }
.research-conclusion { margin-top: 16px; padding: 11px 13px; border-left: 3px solid #3b8ce8; background: rgba(43,127,255,.07); }
.research-conclusion span { display: block; color: #6fa8e6; font-size: .7rem; letter-spacing: .08em; }
.research-conclusion strong { display: block; margin-top: 5px; color: #bdccd6; font-size: .82rem; font-weight: 650; }
.research-report-library { padding: 14px; }
.report-list { display: grid; gap: 8px; margin-top: 12px; }
.report-list-item { width: 100%; min-height: 74px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 11px; text-align: left; color: #8fa4b2; border: 1px solid #1f3b4e; background: #081722; cursor: pointer; }
.report-list-item:hover, .report-list-item.active { border-color: #347bc1; background: rgba(43,127,255,.1); }
.report-list-item span { min-width: 0; }
.report-list-item small { display: block; color: #5f91cc; font-size: .65rem; letter-spacing: .05em; }
.report-list-item strong { display: block; margin: 4px 0; color: #c4d3dc; font-size: .82rem; }
.report-list-item em { display: block; color: #688091; font-size: .68rem; font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.report-list-item b { color: #69a7eb; font-size: .72rem; white-space: nowrap; }
.research-ledger-panel { min-height: 210px; padding: 14px 15px; }
.research-ledger-table { width: 100%; margin-top: 10px; border-collapse: collapse; font-size: .76rem; }
.research-ledger-table th { padding: 8px; color: #718999; text-align: left; border-bottom: 1px solid var(--line); font-weight: 550; }
.research-ledger-table td { padding: 9px 8px; color: #91a5b2; border-bottom: 1px solid rgba(84,116,137,.12); }
.research-ledger-table td:last-child span { color: #72cb94; border: 1px solid rgba(69,189,118,.25); padding: 2px 6px; }
.research-method-panel { min-height: 210px; padding: 14px 15px; }
.research-method-panel ul { margin: 13px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.research-method-panel li { position: relative; padding-left: 17px; color: #879ca9; font-size: .78rem; line-height: 1.58; }
.research-method-panel li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; background: #438fe4; }

.simulation-view {
  display: grid;
  grid-template-columns: clamp(230px, 18vw, 285px) minmax(0, 1fr) clamp(275px, 22vw, 350px);
  grid-template-rows: 58px 80px minmax(0, 1fr);
}
.simulation-intro > div:first-child { min-width: 310px; }
.market-coverage-row { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.market-coverage-row > span { padding: 3px 7px; color: #88a2b4; border: 1px solid #25465d; background: rgba(15,48,70,.45); font-size: .6em; letter-spacing: .02em; }
.market-coverage-status { margin-left: 3px; color: #c39856; font-size: .61em; font-style: normal; white-space: nowrap; }
.market-coverage-status.is-live { color: #67ca8b; }.market-coverage-status.is-live::before { content:"● "; }.market-coverage-status.is-warning::before { content:"◐ "; }
.simulation-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; min-width: 0; }
.simulation-scope-switch { height: 34px; display: grid; grid-template-columns: auto auto; padding: 2px; border: 1px solid #315672; background: #07131d; }
.simulation-scope-switch button { min-width: 76px; padding: 0 9px; color: #718a9b; border: 0; background: transparent; cursor: pointer; font-size: .68em; white-space: nowrap; }
.simulation-scope-switch button.active { color: #d8e9f4; background: linear-gradient(90deg,rgba(43,127,255,.25),rgba(43,127,255,.1)); box-shadow: inset 0 0 0 1px rgba(72,151,239,.32); }
.simulation-scope-switch i { margin-left: 3px; padding: 1px 3px; color: #66d293; border: 1px solid rgba(74,194,122,.36); font-size: .72em; font-style: normal; }
.simulation-intro .compact-button { width: auto; min-width: 96px; white-space: nowrap; }
.simulation-intro #browseStrategiesButton { min-width: 118px; }
.simulation-intro .quick-trade-launch { min-width: 112px; box-shadow: 0 0 18px rgba(43,127,255,.12); }
.simulation-intro .crypto-backtest-launch { min-width: 142px; height: 34px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 7px; padding: 0 9px; color: #9fc5f2; border-color: rgba(70,139,217,.5); background: linear-gradient(90deg,rgba(43,127,255,.11),rgba(34,160,118,.07)); }
.crypto-backtest-launch span { font-size: .78em; white-space: nowrap; }
.crypto-backtest-launch strong { color: #63ce91; font-size: .78em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.crypto-backtest-launch.is-error strong { color: #c99a5e; }
.simulation-capital-control { height: 34px; display: grid; grid-template-columns: auto 102px 44px; align-items: center; border: 1px solid #29485e; background: rgba(3,14,22,.62); }
.simulation-capital-control > span { padding: 0 8px; color: #6e8799; white-space: nowrap; font-size: .64em; }
.simulation-capital-control input { min-width: 0; width: 100%; height: 100%; padding: 0 8px; color: #d7e4ec; border: 0; border-left: 1px solid #29485e; border-right: 1px solid #29485e; outline: none; background: #071722; font-variant-numeric: tabular-nums; }
.simulation-capital-control input:focus { box-shadow: inset 0 0 0 1px #3b86d8; }
.simulation-capital-control button { height: 100%; color: #71acf1; border: 0; background: rgba(43,127,255,.1); cursor: pointer; }
.simulation-capital-control button:hover { background: rgba(43,127,255,.2); }
.simulation-run-button.is-paused { color: #7ed4a0; border-color: rgba(69,189,118,.55); background: rgba(69,189,118,.08); }
.simulation-summary-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.community-simulation-panel[hidden] { display: none; }
.simulation-view.is-community { grid-template-columns: 1fr; grid-template-rows: 58px minmax(0, 1fr); }
.simulation-view.is-community .simulation-summary-grid,
.simulation-view.is-community .simulation-strategy-column,
.simulation-view.is-community .simulation-detail-panel,
.simulation-view.is-community .simulation-audit-panel { display: none; }
.simulation-view.is-community .simulation-header-actions > :not(.simulation-scope-switch) { display: none; }
.community-simulation-panel { grid-column: 1 / -1; min-height: 0; padding: 15px 16px 13px; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 12px; overflow: hidden; border-color: rgba(57,132,213,.38); background: radial-gradient(circle at 12% 20%,rgba(31,107,182,.16),transparent 34%),linear-gradient(145deg,#071621,#09131c 62%,#071a17); }
.community-simulation-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 11px; border-bottom: 1px solid rgba(82,129,159,.2); }
.community-simulation-head small { color: #568fca; font-size: .63em; letter-spacing: .12em; }
.community-simulation-head h2 { margin: 4px 0 3px; color: #d5e3eb; font-size: clamp(18px,1.4vw,25px); }
.community-simulation-head p { margin: 0; color: #71899a; font-size: .7em; }
.community-live-state { display: flex; align-items: center; gap: 7px; color: #65c98a; font-size: .68em; white-space: nowrap; }
.community-live-state > i { width: 7px; height: 7px; border-radius: 50%; background: #50cb83; box-shadow: 0 0 9px rgba(80,203,131,.65); animation: pulse-dot 1.4s infinite; }
.community-live-state.is-error { color: #d6a05f; }.community-live-state.is-error > i { background: #d6a05f; box-shadow: none; }
.community-live-state button { height: 26px; padding: 0 9px; color: #79b5f4; border: 1px solid rgba(64,139,228,.36); background: rgba(43,127,255,.07); cursor: pointer; }
.community-simulation-main { min-height: 0; display: grid; grid-template-columns: minmax(320px,.84fr) minmax(0,1.75fr); gap: 11px; }
.community-return-hero { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: clamp(18px,2vw,30px); border: 1px solid rgba(56,139,230,.44); background: linear-gradient(145deg,rgba(24,78,128,.38),rgba(8,23,34,.96) 58%,rgba(28,106,71,.18)); box-shadow: inset 0 0 42px rgba(43,127,255,.035); }
.community-return-label { display: flex; align-items: center; justify-content: space-between; color: #69a6e8; font-size: .66em; letter-spacing: .08em; }
.community-return-label em { padding: 3px 6px; color: #65ce91; border: 1px solid rgba(73,190,119,.28); font-style: normal; letter-spacing: 0; }
.community-return-hero > small { margin-top: 18px; color: #819aaa; font-size: .74em; }
.community-return-hero > strong { margin: 5px 0 8px; color: #ff6265; font-size: clamp(42px,5vw,76px); line-height: 1; letter-spacing: -.045em; font-variant-numeric: tabular-nums; text-shadow: 0 0 24px rgba(255,83,86,.13); }
.community-return-hero > strong.down { color: #4ebc81; }
.community-return-hero > p { margin: 0; color: #748d9e; font-size: .68em; line-height: 1.55; }.community-return-hero > p b { color: #c7a060; font-weight: 600; }
.community-hero-foot { margin-top: auto; padding-top: 18px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(87,132,160,.18); }
.community-hero-foot span { padding-left: 13px; border-left: 1px solid rgba(87,132,160,.18); }.community-hero-foot span:first-child { padding-left: 0; border-left: 0; }
.community-hero-foot small { display: block; color: #617b8d; font-size: .62em; }.community-hero-foot strong { display: block; margin-top: 5px; color: #c8d7df; font-size: clamp(14px,1.16vw,20px); font-variant-numeric: tabular-nums; }
.community-right-column { min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 10px; }
.community-kpi-grid { min-height: 0; display: grid; grid-template-columns: repeat(4,1fr); grid-template-rows: 1fr 1fr; gap: 7px; }
.community-kpi-grid article { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 10px 11px; border: 1px solid rgba(67,105,131,.29); background: rgba(255,255,255,.015); }
.community-kpi-grid small { color: #657f91; font-size: .6em; }.community-kpi-grid strong { margin: 5px 0 3px; color: #d0dde5; font-size: clamp(16px,1.35vw,24px); font-variant-numeric: tabular-nums; white-space: nowrap; }.community-kpi-grid article:nth-child(-n+4) strong { color: #ff6568; }.community-kpi-grid span { color: #526d7f; font-size: .54em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.community-distribution-card { padding: 9px 11px 10px; border: 1px solid rgba(67,105,131,.29); background: rgba(255,255,255,.012); }
.community-distribution-card > div:first-child { display: flex; align-items: center; justify-content: space-between; color: #aebfc9; font-size: .71em; }.community-distribution-card > div:first-child span { color: #5c7789; font-size: .84em; }
.community-distribution { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; margin-top: 8px; }
.community-distribution > span { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 4px; color: #607b8e; font-size: .53em; }
.community-distribution > span i { grid-column: 1 / -1; height: 6px; overflow: hidden; background: #122b3b; }.community-distribution > span i b { display: block; width: var(--distribution); height: 100%; background: linear-gradient(90deg,#347fe0,#4bc781); }.community-distribution > span strong { color: #b7c8d2; font-size: 1.08em; font-variant-numeric: tabular-nums; }
.community-integrity-strip { display: grid; grid-template-columns: repeat(4,1fr) auto; align-items: stretch; border: 1px solid rgba(70,123,155,.22); }
.community-integrity-strip > span { min-width: 0; display: grid; grid-template-columns: 23px minmax(0,1fr); padding: 7px 9px; border-left: 1px solid rgba(70,123,155,.2); }.community-integrity-strip > span:first-child { border-left: 0; }
.community-integrity-strip i { grid-row: 1 / 3; align-self: center; color: #518fca; font-size: .62em; font-style: normal; }.community-integrity-strip b { color: #9eb1bd; font-size: .61em; }.community-integrity-strip small { color: #536e80; font-size: .52em; }
.community-integrity-strip > em { display: flex; align-items: center; padding: 0 12px; color: #bd914f; border-left: 1px solid rgba(70,123,155,.2); font-size: .55em; font-style: normal; white-space: nowrap; }
.simulation-summary-grid article { padding: 10px 14px; }
.simulation-summary-grid small { display: block; color: #6f8798; font-size: .66em; }
.simulation-summary-grid strong { display: block; margin-top: 5px; font-size: clamp(16px, 1.25vw, 23px); font-variant-numeric: tabular-nums; }
.simulation-summary-grid span { display: block; margin-top: 3px; color: #5d7586; font-size: .6em; }
.simulation-strategy-column, .simulation-detail-panel, .simulation-audit-panel { min-height: 0; padding: 11px 12px; }
.simulation-strategy-list { min-height: 0; height: calc(100% - 24px); margin-top: 9px; display: flex; flex-direction: column; gap: 7px; overflow: hidden; }
.simulation-strategy-entry { width: 100%; padding: 10px; color: #9fb0bc; text-align: left; border: 1px solid var(--line-soft); background: rgba(255,255,255,.012); cursor: pointer; transition: 160ms ease; }
.simulation-strategy-entry:hover, .simulation-strategy-entry.active { border-color: rgba(43,127,255,.58); background: rgba(43,127,255,.07); }
.simulation-strategy-entry h3 { margin: 0 0 5px; font-size: .92em; color: #cbd8e1; }
.simulation-strategy-entry p { margin: 0; color: #738a9b; font-size: .72em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.simulation-entry-foot { display: flex; justify-content: space-between; margin-top: 8px; font-size: .7em; }
.simulation-entry-foot span:first-child { color: #65c789; }.simulation-entry-foot span.paused { color: #8da0ad; }.simulation-entry-foot strong { color: #ff6567; font-variant-numeric: tabular-nums; }
.simulation-detail-panel { display: grid; grid-template-rows: auto 67px auto minmax(122px, 1fr) auto; gap: 9px; }
.simulation-detail-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.simulation-detail-head h2 { margin: 7px 0 3px; font-size: clamp(15px, 1.12vw, 21px); }
.simulation-detail-head p { margin: 0; color: #6b8293; font-size: .68em; }
.simulation-next { text-align: right; border-left: 1px solid var(--line-soft); padding-left: 15px; }
.simulation-next small, .simulation-next span { display: block; color: #62798a; font-size: .62em; }.simulation-next strong { display: block; color: #d6e2e9; margin: 4px 0; font-size: 1.15em; }
.simulation-performance-strip { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); border: 1px solid var(--line-soft); background: rgba(255,255,255,.012); }
.simulation-performance-strip span { min-width: 0; padding: 9px 10px; border-left: 1px solid var(--line-soft); }.simulation-performance-strip span:first-child { border-left: 0; }
.simulation-performance-strip small { display: block; color: #61798a; font-size: .61em; }.simulation-performance-strip strong { display: block; margin-top: 5px; color: #c5d4de; font-size: .84em; white-space: nowrap; }
.simulation-table-wrap { min-height: 190px; height: clamp(205px, 29vh, 300px); overflow-y: auto; scrollbar-gutter: stable; border-bottom: 1px solid rgba(98,137,163,.12); }
.simulation-table-wrap::-webkit-scrollbar { width: 8px; }
.simulation-table-wrap::-webkit-scrollbar-track { background: #07131d; }
.simulation-table-wrap::-webkit-scrollbar-thumb { background: #294c63; border: 2px solid #07131d; }
.table-title { display: flex; align-items: center; justify-content: space-between; padding: 2px 1px 8px; color: #a7b8c3; font-size: .8em; }.table-title span { color: #6d8597; font-size: .86em; }
.holdings-table-title { position: sticky; top: 0; z-index: 5; min-height: 34px; padding: 5px 5px 7px; background: #091621; }
.holding-summary-badge { margin-left: auto; margin-right: 10px; padding: 3px 7px; color: #7db9f4; border: 1px solid rgba(62,137,218,.32); background: rgba(43,127,255,.08); font-size: .72em; font-weight: 650; white-space: nowrap; }
.simulation-position-table { font-size: .84em; }
.simulation-position-table thead th { position: sticky; top: 34px; z-index: 4; background: #091824; box-shadow: 0 1px rgba(98,137,163,.17); }
.simulation-position-table th:first-child, .simulation-position-table td:first-child { width: 34%; text-align: left; padding-left: 9px; }
.simulation-position-table td:first-child { color: #abbac4; }
.simulation-position-table td:first-child strong, .simulation-position-table td:first-child small { display: block; }
.simulation-position-table td:first-child strong { color: #c5d3dc; font-size: .94em; font-weight: 650; }
.simulation-position-table td:first-child small { max-width: 260px; margin-top: 2px; color: #638093; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8em; }
.simulation-position-table th:nth-child(2), .simulation-position-table td:nth-child(2) { width: 14%; }
.simulation-position-table th:nth-child(3), .simulation-position-table td:nth-child(3) { width: 15%; }
.simulation-position-table th:nth-child(4), .simulation-position-table td:nth-child(4) { width: 15%; }
.simulation-position-table th:last-child, .simulation-position-table td:last-child { width: 68px; }
.simulation-position-table .research-state { color: #6bc991; }
.table-trade-button { height: 23px; padding: 0 8px; color: #75b5ff; border: 1px solid rgba(64,139,228,.42); background: rgba(43,127,255,.08); cursor: pointer; font-size: .82em; }
.table-trade-button:hover { color: #d8eaff; border-color: #4e94e5; background: rgba(43,127,255,.18); }
.simulation-validation-grid { min-height: 122px; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(185px, .9fr); gap: 8px; }
.simulation-chart-box, .validation-matrix { min-width: 0; min-height: 0; padding: 8px 9px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.011); }
.simulation-chart-box { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.simulation-chart-box .table-title, .validation-matrix .table-title { padding-top: 0; }
#simulationEquityChart { display: block; width: 100%; height: 100%; min-height: 96px; }
.simulation-chart-legend { display: flex; align-items: center; gap: 5px; }
.simulation-chart-legend i { width: 11px; height: 2px; background: var(--red); }.simulation-chart-legend i:nth-of-type(2) { margin-left: 5px; background: #3d83ef; }
.validation-matrix { display: grid; grid-template-rows: auto repeat(4, 1fr); }
.validation-matrix > div:not(.table-title) { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 7px; border-top: 1px solid rgba(98,137,163,.1); }
.validation-matrix > div:not(.table-title) span { color: #60798b; font-size: .59em; white-space: nowrap; }.validation-matrix > div:not(.table-title) strong { color: #b2c2cc; font-size: .66em; white-space: nowrap; }
.validation-matrix em { padding: 2px 4px; color: #67c58b; border: 1px solid rgba(69,189,118,.22); background: rgba(69,189,118,.055); font-size: .52em; font-style: normal; }
.simulation-disclaimer { padding: 7px 9px; color: #c2914e; border: 1px solid rgba(194,145,78,.2); background: rgba(111,70,23,.07); font-size: .62em; }
.simulation-audit-panel { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; gap: 8px; }
.simulation-decision-card { position: relative; overflow: hidden; padding: 12px; border: 1px solid rgba(66,145,230,.58); background: linear-gradient(145deg, rgba(25,79,125,.32), rgba(8,25,38,.98) 58%, rgba(19,64,48,.22)); box-shadow: inset 0 0 24px rgba(43,127,255,.04); }
.simulation-decision-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:linear-gradient(#3b8ff2,#42c77b); }
.simulation-decision-card.is-paused { border-color: #385264; filter: saturate(.72); }
.decision-head { display:flex; align-items:center; justify-content:space-between; color:#77b7ff; font-size:.66em; letter-spacing:.06em; }
.decision-head .status-dot { width:5px; height:5px; vertical-align:1px; }
.decision-head em { padding:2px 5px; color:#d5a25c; border:1px solid rgba(213,162,92,.34); background:rgba(110,69,16,.09); font-style:normal; letter-spacing:0; }
.simulation-decision-card h2 { margin:10px 0 6px; color:#e1edf4; font-size:clamp(14px, .96vw, 18px); line-height:1.35; }
.simulation-decision-card > p { min-height:32px; margin:0; color:#7f98a9; font-size:.68em; line-height:1.45; }
.consensus-meter { display:grid; grid-template-columns:repeat(5,1fr); gap:4px; margin:9px 0; }
.consensus-meter i { height:5px; background:#1a3344; box-shadow:inset 0 0 0 1px rgba(110,145,168,.12); }
.consensus-meter i.active { background:linear-gradient(90deg,#347edf,#53c98a); box-shadow:0 0 8px rgba(69,165,198,.2); }
.decision-metrics { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(82,126,155,.17); border-bottom:1px solid rgba(82,126,155,.17); }
.decision-metrics span { padding:7px 4px; border-left:1px solid rgba(82,126,155,.17); }
.decision-metrics span:first-child { border-left:0; padding-left:0; }
.decision-metrics small { display:block; color:#657f91; font-size:.56em; }
.decision-metrics strong { display:block; margin-top:3px; color:#bad0df; font-size:.75em; font-variant-numeric:tabular-nums; }
.decision-cta { width:100%; height:34px; margin-top:9px; font-size:.78em; letter-spacing:.02em; }
.decision-proof { display:flex; flex-wrap:wrap; gap:4px 9px; margin-top:7px; color:#657f90; font-size:.54em; }
.decision-proof span::before { content:"✓"; margin-right:3px; color:#56c384; }
.audit-title { padding:0 1px; }
.simulation-timeline { min-height: 0; margin-top: 0; overflow: hidden; }
.simulation-timeline > div { position: relative; padding: 0 0 13px 18px; border-left: 1px solid #1f4054; }
.simulation-timeline > div::before { content:""; position:absolute; width:7px; height:7px; left:-4px; top:2px; border-radius:50%; background:#45bd76; box-shadow:0 0 8px rgba(69,189,118,.45); }
.simulation-timeline > div.trade-event::before { background:#3f8ff1; box-shadow:0 0 8px rgba(63,143,241,.48); }
.simulation-timeline time { color: #557084; font-size: .59em; }.simulation-timeline strong { display: block; color: #aebdc7; margin: 3px 0; font-size: .7em; }.simulation-timeline p { margin: 0; color: #687f90; font-size: .61em; line-height: 1.4; }
.audit-summary { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-soft); padding-top: 9px; }
.audit-summary small { display: block; color: #5f7788; font-size: .58em; }.audit-summary strong { display: block; color: #9fb1bd; margin-top: 3px; font-size: .67em; white-space: nowrap; }

.detail-backdrop { position: fixed; inset: 0; z-index: 55; background: rgba(1,7,12,.66); backdrop-filter: blur(4px); }
.detail-drawer { position: absolute; right: 0; top: 0; bottom: 0; width: min(610px, 94vw); padding: 24px 25px 18px; overflow-y: auto; background: linear-gradient(180deg, #0c2030, #07131d); border-left: 1px solid #2b5b78; box-shadow: -24px 0 70px rgba(0,0,0,.42); }
.detail-author-row { padding-bottom: 17px; border-bottom: 1px solid var(--line-soft); }.detail-author-row .verified-chip { margin-left: auto; }
.detail-title-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 19px; }
.detail-title-row h2 { margin: 4px 0 0; font-size: 2em; }.detail-version { color: #5b9de7; font-size: .67em; letter-spacing: .06em; }
.risk-pill { color: #e5a94b; border: 1px solid rgba(229,169,75,.38); background: rgba(126,79,14,.09); padding: 5px 9px; white-space: nowrap; font-size: .68em; }
.detail-description { color: #8197a6; line-height: 1.65; }
.detail-result-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 17px 0 11px; border: 1px solid var(--line); background: rgba(255,255,255,.012); }
.detail-result-grid span { padding: 11px; border-left: 1px solid var(--line-soft); }.detail-result-grid span:first-child { border-left: 0; }.detail-result-grid small { display: block; color: #657e90; font-size: .66em; }.detail-result-grid strong { display: block; margin-top: 6px; color: #d1dde5; font-size: 1.2em; font-variant-numeric: tabular-nums; }
.validation-window { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }.validation-window div { padding: 8px 10px; border: 1px solid var(--line-soft); }.validation-window span { display:block; color:#5e7788; font-size:.61em; }.validation-window strong { display:block; margin-top:4px; color:#9eafb9; font-size:.68em; }
.detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 19px 0; }.detail-columns section { min-width: 0; }.detail-columns h3 { margin: 0 0 10px; color: #aebdc7; font-size: .82em; }.detail-columns ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }.detail-columns li { position: relative; padding-left: 15px; color: #748b9b; font-size: .69em; line-height: 1.45; }.detail-columns li::before { content:""; position:absolute; left:0; top:.52em; width:5px; height:5px; background:#498ee9; }.detail-columns .evidence-list li::before { border-radius:50%; background:#45bd76; }
.detail-current-state { display: grid; grid-template-columns: 1.35fr 1fr 1fr; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }.detail-current-state span { padding: 10px 7px; }.detail-current-state small { display:block; color:#5f7788; font-size:.61em; }.detail-current-state strong { display:block; margin-top:4px; color:#b8c6cf; font-size:.75em; }
.detail-cta { width: 100%; margin-top: 16px; }.detail-footnote { margin: 8px 0 0; text-align: center; color: #5d7585; font-size: .61em; }
.detail-footnote a { margin-left: 5px; color: #68a7eb; text-decoration: none; }.detail-footnote a:hover { text-decoration: underline; }

.consensus-backdrop { display: grid; place-items: center; padding: 28px; background: rgba(1,7,12,.8); }
.consensus-lab { position: relative; width: min(1180px, 96vw); max-height: 96vh; overflow-y: auto; padding: 18px 22px 14px; border: 1px solid #316c99; background: radial-gradient(circle at 82% 0, rgba(40,101,145,.19), transparent 34%), linear-gradient(145deg,#0c2435,#07141e 62%,#10251d); box-shadow: 0 28px 90px rgba(0,0,0,.56); }
.consensus-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 35px 10px 0; border-bottom: 1px solid var(--line-soft); }
.consensus-header h2 { margin: 4px 0 5px; font-size: clamp(22px,2vw,32px); }.consensus-header p { margin: 0; color: #8097a7; font-size: .78rem; }
.consensus-master-strip { display: flex; align-items: center; justify-content: flex-end; min-width: 260px; }
.consensus-master-strip .creator-avatar { width: 44px; height: 44px; margin-left: -8px; border-width: 1px; box-shadow: 0 0 0 3px #0a1c29, 0 5px 15px rgba(0,0,0,.32); }
.consensus-master-strip span:last-child { margin-left: 11px; color: #8da4b3; font-size: .72rem; white-space: nowrap; }
.consensus-metric-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin: 9px 0; border: 1px solid var(--line); background: rgba(255,255,255,.014); }
.consensus-metric-grid > span { min-width: 0; padding: 8px 10px; border-left: 1px solid var(--line-soft); }.consensus-metric-grid > span:first-child { border-left: 0; }
.consensus-metric-grid small,.consensus-metric-grid em { display: block; color: #657f91; font-size: .65rem; font-style: normal; }.consensus-metric-grid strong { display: block; margin: 5px 0 4px; color: #dbe7ee; font-size: clamp(16px,1.3vw,22px); white-space: nowrap; font-variant-numeric: tabular-nums; }
.consensus-market-section { margin-bottom: 9px; }
.consensus-market-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:5px; padding:0 2px; }
.consensus-market-heading strong { color:#aebfca; font-size:.71rem; letter-spacing:.03em; }.consensus-market-heading span { color:#638094; font-size:.61rem; }
.consensus-market-heading .status-dot { width:5px; height:5px; margin-right:5px; }
.consensus-market-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.consensus-market-card { --market-accent:#3d83ef; min-width:0; padding:7px 10px 6px; border:1px solid rgba(70,132,183,.27); background:linear-gradient(115deg,rgba(17,55,80,.35),rgba(3,15,23,.78)); }
.consensus-market-card.market-us { --market-accent:#8b7cf6; }.consensus-market-card.market-crypto { --market-accent:#e9aa2f; }
.consensus-market-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.consensus-market-title { min-width:0; display:flex; align-items:baseline; gap:7px; }
.consensus-market-title small { color:var(--market-accent); font-size:.58rem; font-weight:760; letter-spacing:.07em; white-space:nowrap; }.consensus-market-title strong { color:#cbd9e2; font-size:.75rem; white-space:nowrap; }
.consensus-market-score { color:#dce8ee; font-size:1rem; font-variant-numeric:tabular-nums; }.consensus-market-score em { color:#617b8d; font-size:.52rem; font-style:normal; }
.consensus-market-bottom { display:grid; grid-template-columns:1fr 1.28fr 1.04fr .72fr; gap:8px; margin-top:5px; padding-top:5px; border-top:1px solid rgba(82,122,148,.14); }
.consensus-market-bottom span { min-width:0; color:#5e788a; font-size:.54rem; white-space:nowrap; }.consensus-market-bottom strong { display:block; margin-top:2px; overflow:hidden; color:#91a9b8; font-size:.62rem; text-overflow:ellipsis; }
.consensus-market-bottom strong.zone-locked { color:#c89b5c; font-size:.58rem; user-select:none; }
.consensus-body-grid { display: grid; grid-template-columns: minmax(320px,.78fr) minmax(500px,1.22fr); gap: 10px; }
.consensus-decision-panel,.consensus-allocation-panel { min-width: 0; padding: 12px 14px; border: 1px solid var(--line); background: rgba(3,15,23,.66); }
.consensus-decision-panel h3,.consensus-allocation-panel h3 { margin: 0; font-size: .9rem; }
.consensus-score-block { display: grid; grid-template-columns: auto 34px minmax(150px,1fr); align-items: end; margin: 10px 0; padding-bottom: 9px; border-bottom: 1px solid var(--line-soft); }
.consensus-score-block > strong { color: #70d297; font-size: 2.7rem; line-height: .85; }.consensus-score-block > span { color: #637e90; font-size: .8rem; }
.consensus-score-block > div small { display:block; color:#6b8496; font-size:.66rem; }.consensus-score-block i { display:block; height:7px; margin-top:7px; overflow:hidden; background:#142b39; }.consensus-score-block i b { display:block; width:var(--score); height:100%; background:linear-gradient(90deg,#317fd5,#53c185); }
.consensus-explanation,.consensus-dissent { margin-top: 8px; padding: 8px 10px; border-left: 2px solid #3a88dc; background: rgba(43,127,255,.05); }.consensus-dissent { border-left-color:#b57a39; background:rgba(164,100,31,.05); }
.consensus-explanation strong,.consensus-dissent strong { color:#aebfca; font-size:.72rem; }.consensus-explanation p,.consensus-dissent p { margin:5px 0 0; color:#7890a0; font-size:.69rem; line-height:1.48; }
.consensus-difference { margin-top:8px; padding:8px 10px; border-left:2px solid #4ba76f; background:rgba(54,148,91,.05); }.consensus-difference strong { color:#acd0bb; font-size:.72rem; }.consensus-difference p { margin:5px 0 0; color:#789889; font-size:.69rem; line-height:1.48; }
.consensus-vote-audit { margin-top:9px; padding:8px 9px; border:1px solid rgba(64,111,143,.25); background:rgba(1,11,17,.28); }.consensus-vote-audit > div:first-child { display:flex; justify-content:space-between; gap:8px; }.consensus-vote-audit > div:first-child strong { color:#aebfca; font-size:.7rem; }.consensus-vote-audit > div:first-child span { color:#5e9bd8; font:600 .59rem ui-monospace,SFMono-Regular,Consolas,monospace; }.consensus-vote-rows { display:grid; gap:4px; margin-top:7px; }.consensus-vote-row { display:grid; grid-template-columns:minmax(90px,1fr) minmax(90px,1.1fr) minmax(78px,.9fr) 54px; align-items:center; gap:6px; padding:5px 6px; color:#738d9e; border-top:1px solid rgba(75,111,134,.12); font-size:.61rem; }.consensus-vote-row b { overflow:hidden; color:#b1c3cd; text-overflow:ellipsis; white-space:nowrap; }.consensus-vote-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.consensus-vote-row em { color:#70be91; font-style:normal; text-align:right; white-space:nowrap; }
.consensus-premium-section { margin-top:10px; padding:10px 12px; border:1px solid rgba(71,136,180,.26); background:linear-gradient(110deg,rgba(12,34,48,.74),rgba(4,18,28,.8)); }.consensus-premium-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }.consensus-premium-heading strong { color:#c5d8e4; font-size:.77rem; }.consensus-premium-heading span { color:#66869a; font-size:.62rem; }.consensus-premium-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:8px; }.consensus-premium-grid article { min-width:0; padding:8px 9px; border:1px solid rgba(73,113,139,.2); background:rgba(0,8,14,.32); }.consensus-premium-grid small,.consensus-premium-grid strong,.consensus-premium-grid em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.consensus-premium-grid small { color:#68869a; font-size:.59rem; }.consensus-premium-grid strong { margin-top:5px; color:#e0eaf0; font-size:1rem; font-variant-numeric:tabular-nums; }.consensus-premium-grid article:nth-child(1) strong { color:#70c995; }.consensus-premium-grid article:nth-child(2) strong { color:#e6a061; }.consensus-premium-grid article:nth-child(3) strong { color:#6eb2e8; }.consensus-premium-grid article:nth-child(4) strong { color:#d1b971; }.consensus-premium-grid em { margin-top:3px; color:#607d90; font-size:.57rem; font-style:normal; }.consensus-premium-details { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:8px; }.consensus-premium-details span { min-width:0; padding:6px 8px; color:#7895a7; border-left:2px solid rgba(66,138,188,.45); background:rgba(34,91,126,.06); font-size:.61rem; line-height:1.35; }.consensus-premium-details b { color:#aec5d2; font-weight:650; }
.consensus-compare-section { margin-top:10px; padding:10px 12px; border:1px solid rgba(103,84,155,.3); background:rgba(24,18,48,.18); }.consensus-compare-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }.consensus-compare-heading > div strong,.consensus-compare-heading > div span { display:block; }.consensus-compare-heading strong { color:#cbbfe2; font-size:.76rem; }.consensus-compare-heading span { margin-top:3px; color:#746d8f; font-size:.61rem; }.consensus-compare-heading button { padding:6px 10px; color:#9b88c9; border:1px solid rgba(128,100,190,.38); background:rgba(82,54,140,.08); font-size:.62rem; cursor:pointer; }.consensus-compare-grid { display:grid; grid-template-columns:1fr 1fr 1.15fr; gap:7px; margin-top:8px; }.consensus-compare-card { min-width:0; padding:8px 9px; border:1px solid rgba(99,86,136,.2); background:rgba(3,9,17,.3); }.consensus-compare-card small,.consensus-compare-card strong,.consensus-compare-card span { display:block; }.consensus-compare-card small { color:#6c6587; font-size:.58rem; }.consensus-compare-card strong { margin-top:4px; overflow:hidden; color:#c6bed8; font-size:.73rem; text-overflow:ellipsis; white-space:nowrap; }.consensus-compare-card span { margin-top:4px; color:#738795; font-size:.6rem; line-height:1.45; }.consensus-compare-card.is-current { border-color:rgba(75,142,191,.32); }.consensus-compare-empty { grid-column:1 / -1; padding:9px; color:#736d84; border:1px dashed rgba(110,91,154,.25); font-size:.64rem; text-align:center; }
.consensus-trace { display:flex; flex-wrap:wrap; gap:5px; margin-top:11px; }.consensus-trace span { padding:4px 7px; color:#6f9bc5; border:1px solid rgba(64,125,181,.25); background:rgba(43,127,255,.04); font-size:.62rem; }
.consensus-allocation-head,.consensus-allocation-row { display:grid; grid-template-columns:minmax(0,1.4fr) 110px minmax(160px,.9fr); align-items:center; gap:10px; }
.consensus-allocation-head { margin-top: 11px; padding: 7px 9px; color:#617b8e; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); font-size:.66rem; }
.consensus-allocation-row { min-height:48px; padding:7px 9px; border-bottom:1px solid rgba(80,112,133,.14); }
.consensus-allocation-row strong { color:#c7d5de; font-size:.77rem; }.consensus-allocation-row strong small { display:block; margin-top:3px; color:#607c90; font-size:.76em; font-weight:500; }.consensus-allocation-row > span { color:#a8bac5; font-size:.75rem; font-variant-numeric:tabular-nums; }.consensus-allocation-row em { color:#72bb92; font-size:.68rem; font-style:normal; }
.consensus-allocation-row.locked-row > span { color:transparent; text-shadow:0 0 8px rgba(160,184,199,.7); user-select:none; }.consensus-allocation-row.locked-row em { color:#b68c53; }
.consensus-locked-note { margin-top: 9px; padding: 9px 11px; color:#718999; border:1px solid rgba(180,126,54,.23); background:rgba(117,71,20,.07); font-size:.66rem; }.consensus-locked-note strong,.consensus-locked-note span { display:block; }.consensus-locked-note strong { color:#d0a565; margin-bottom:4px; }
.consensus-evidence-strip { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin-top:10px; border:1px solid var(--line-soft); background:rgba(255,255,255,.01); }.consensus-evidence-strip span { min-width:0; padding:8px 9px; border-left:1px solid var(--line-soft); }.consensus-evidence-strip span:first-child { border-left:0; }.consensus-evidence-strip small,.consensus-evidence-strip strong { display:block; }.consensus-evidence-strip small { color:#5e788a; font-size:.59rem; }.consensus-evidence-strip strong { margin-top:4px; overflow:hidden; color:#98acb9; font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
.consensus-actions { display:grid; grid-template-columns:210px minmax(300px,1fr); gap:9px; margin-top:11px; }.consensus-actions button { width:100%; height:41px; }
.consensus-forward-card { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(440px,1.25fr) 190px; align-items:center; gap:12px; margin-top:10px; padding:10px 12px; border:1px solid rgba(54,143,101,.28); background:rgba(22,80,51,.08); }.consensus-forward-card > div:first-child small,.consensus-forward-card > div:first-child strong,.consensus-forward-card > div:first-child p { display:block; }.consensus-forward-card > div:first-child small { color:#4fa677; font-size:.58rem; letter-spacing:.07em; }.consensus-forward-card > div:first-child strong { margin-top:4px; color:#b8d6c5; font-size:.73rem; }.consensus-forward-card > div:first-child p { margin:3px 0 0; color:#668777; font-size:.59rem; line-height:1.35; }.consensus-forward-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-left:1px solid rgba(62,124,89,.2); }.consensus-forward-metrics span { min-width:0; padding:4px 9px; }.consensus-forward-metrics small,.consensus-forward-metrics strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.consensus-forward-metrics small { color:#587866; font-size:.55rem; }.consensus-forward-metrics strong { margin-top:4px; color:#9dbbab; font-size:.65rem; font-variant-numeric:tabular-nums; }.consensus-forward-card > button { width:100%; height:37px; }
.research-profile-backdrop { display:grid; place-items:center; padding:24px; background:rgba(1,7,12,.86); }.research-profile-modal { position:relative; width:min(820px,94vw); max-height:94vh; overflow-y:auto; padding:21px 23px 17px; border:1px solid #316c99; background:linear-gradient(145deg,#0b2637,#07141d 65%,#10251d); box-shadow:0 28px 90px rgba(0,0,0,.58); }.research-profile-modal header { padding:0 35px 13px 0; border-bottom:1px solid var(--line-soft); }.research-profile-modal h2 { margin:5px 0; color:#dce8ef; font-size:1.35rem; }.research-profile-modal header p { margin:0; color:#7892a2; font-size:.7rem; line-height:1.5; }.research-profile-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:13px; }.research-profile-form label { min-width:0; padding:9px; border:1px solid rgba(71,110,136,.23); background:rgba(1,11,17,.28); }.research-profile-form label span,.research-profile-form label small { display:block; }.research-profile-form label span { color:#8fa8b7; font-size:.65rem; }.research-profile-form label small { margin-top:5px; color:#536f81; font-size:.56rem; line-height:1.35; }.research-profile-form input,.research-profile-form select { width:100%; height:36px; margin-top:7px; padding:0 9px; color:#d2e0e8; border:1px solid rgba(68,118,151,.38); background:#061621; outline:none; }.research-profile-form input:focus,.research-profile-form select:focus { border-color:#3489c2; }.research-profile-form .profile-wide { grid-column:span 3; }.research-profile-total { margin-top:9px; padding:8px 10px; color:#7aa98d; border-left:2px solid #439168; background:rgba(38,118,73,.07); font-size:.65rem; }.research-profile-total.is-error { color:#df9a65; border-color:#cf7a3c; background:rgba(151,72,34,.08); }.research-profile-actions { display:grid; grid-template-columns:180px 1fr; gap:9px; margin-top:11px; }.research-profile-actions button { width:100%; height:40px; }
.consensus-footnote { margin:8px 0 0; text-align:center; color:#5c7485; font-size:.61rem; }

.forward-etf-backdrop { display:grid; place-items:center; padding:24px; background:rgba(1,7,12,.86); }
.forward-etf-lab { position:relative; width:min(1240px,97vw); max-height:94vh; overflow-y:auto; padding:22px 24px 18px; border:1px solid #318865; background:radial-gradient(circle at 86% 0,rgba(47,160,112,.16),transparent 33%),linear-gradient(145deg,#0a2430,#06141d 62%,#0b251c); box-shadow:0 28px 90px rgba(0,0,0,.6); }
.forward-etf-header { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:0 34px 15px 0; border-bottom:1px solid var(--line-soft); }
.forward-etf-header h2 { margin:5px 0; font-size:clamp(24px,2vw,32px); }.forward-etf-header p { max-width:780px; margin:0; color:#8197a5; font-size:.78rem; line-height:1.55; }
.forward-proof-state { min-width:210px; padding:10px 12px; border:1px solid rgba(65,177,127,.3); background:rgba(4,22,24,.58); text-align:right; }
.forward-proof-state small,.forward-proof-state strong,.forward-proof-state span { display:block; }.forward-proof-state small { color:#608676; font-size:.62rem; }.forward-proof-state strong { margin:5px 0; color:#72d7a6; font-size:.8rem; }.forward-proof-state span { color:#557567; font:600 .59rem ui-monospace,SFMono-Regular,Consolas,monospace; }
.forward-etf-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:12px; border:1px solid var(--line); background:rgba(255,255,255,.012); }
.forward-etf-metrics > span { min-width:0; padding:11px 13px; border-left:1px solid var(--line-soft); }.forward-etf-metrics > span:first-child { border-left:0; }
.forward-etf-metrics small,.forward-etf-metrics strong,.forward-etf-metrics em { display:block; }.forward-etf-metrics small { color:#658193; font-size:.66rem; }.forward-etf-metrics strong { margin:6px 0 4px; color:#d9e6ed; font-size:clamp(19px,1.5vw,25px); font-variant-numeric:tabular-nums; }.forward-etf-metrics strong.up { color:#ff7173; }.forward-etf-metrics strong.down { color:#65cf91; }.forward-etf-metrics em { overflow:hidden; color:#5b7485; font-size:.6rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.forward-auto-strip { display:grid; grid-template-columns:1.15fr repeat(4,minmax(0,1fr)); gap:1px; margin-top:8px; border:1px solid rgba(57,150,107,.35); background:rgba(57,150,107,.18); }
.forward-auto-strip > span { min-width:0; padding:8px 10px; background:rgba(5,24,29,.9); color:#688697; font-size:.64rem; white-space:nowrap; }
.forward-auto-strip > span:first-child { color:#70d59e; }.forward-auto-strip .status-dot { margin-right:6px; box-shadow:0 0 9px rgba(74,211,133,.7); }.forward-auto-strip strong,.forward-auto-strip b { color:#b9ccd5; font-weight:650; }.forward-auto-strip b { display:block; overflow:hidden; margin-top:3px; text-overflow:ellipsis; }
.forward-etf-body { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr); gap:10px; margin-top:10px; }
.forward-chart-panel,.forward-signal-panel,.forward-audit-panel { min-width:0; padding:13px 14px; border:1px solid var(--line); background:rgba(3,16,23,.68); }
.forward-chart-panel { position:relative; display:grid; grid-template-rows:auto 190px; }.forward-chart-panel .table-title > span { display:flex; align-items:center; gap:5px; }.forward-chart-panel .table-title i { display:inline-block; width:14px; height:2px; background:#ff6265; }.forward-chart-panel .table-title i.benchmark-line { margin-left:7px; background:#3e88ed; }
#forwardEtfChart { display:block; width:100%; height:190px; }.forward-chart-empty { position:absolute; left:50%; top:55%; width:min(500px,80%); transform:translate(-50%,-50%); color:#688294; font-size:.72rem; line-height:1.55; text-align:center; pointer-events:none; }
.forward-signal-panel h3,.forward-audit-panel h3 { margin:0; font-size:.86rem; }.forward-signal-list { display:grid; gap:6px; margin-top:10px; }
.forward-signal-row { display:grid; grid-template-columns:74px minmax(110px,1fr) 58px 58px; align-items:center; gap:8px; min-height:36px; padding:6px 8px; border-bottom:1px solid rgba(75,111,134,.15); color:#8299a8; font-size:.66rem; }.forward-signal-row code { color:#78a7c6; font:650 .67rem ui-monospace,SFMono-Regular,Consolas,monospace; }.forward-signal-row strong { color:#c6d5dd; font-size:.74rem; }.forward-signal-row em { color:#6bbf94; font-style:normal; text-align:right; }.forward-signal-row span:last-child { color:#617b8c; text-align:right; }
.forward-audit-panel { margin-top:10px; }.forward-strategy-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:10px; }.forward-strategy-list > span { min-width:0; padding:9px 10px; border:1px solid rgba(67,116,144,.22); background:rgba(255,255,255,.01); }.forward-strategy-list small,.forward-strategy-list strong,.forward-strategy-list code { display:block; }.forward-strategy-list small { color:#557487; font-size:.57rem; }.forward-strategy-list strong { margin:4px 0; color:#a9becb; font-size:.72rem; }.forward-strategy-list code { overflow:hidden; color:#527c99; font-size:.55rem; text-overflow:ellipsis; white-space:nowrap; }
.forward-hash-row { display:grid; grid-template-columns:150px minmax(0,1fr); gap:10px; margin-top:9px; padding-top:9px; border-top:1px solid var(--line-soft); color:#5f7b8d; font-size:.61rem; }.forward-hash-row code { overflow:hidden; color:#719b83; font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }
.forward-etf-actions { display:grid; grid-template-columns:210px 230px minmax(240px,1fr); align-items:center; gap:9px; margin-top:10px; }.forward-etf-actions button { width:100%; height:40px; }.forward-etf-actions > strong { color:#668294; font-size:.66rem; font-weight:580; text-align:right; }

.crypto-backtest-backdrop { display:grid; place-items:center; padding:24px; background:rgba(1,7,12,.84); }
.crypto-backtest-lab { position:relative; width:min(1220px,97vw); max-height:94vh; overflow-y:auto; padding:21px 23px 17px; border:1px solid #3476a5; background:radial-gradient(circle at 82% 0,rgba(36,132,101,.15),transparent 30%),linear-gradient(145deg,#0b2435,#06131d 64%,#10251f); box-shadow:0 28px 90px rgba(0,0,0,.58); }
.verified-etf-lab { width:min(1280px,97vw); background:radial-gradient(circle at 82% 0,rgba(43,127,255,.13),transparent 31%),linear-gradient(145deg,#0b2435,#06131d 64%,#0b211d); }
.crypto-backtest-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:0 34px 13px 0; border-bottom:1px solid var(--line-soft); }
.crypto-backtest-header h2 { margin:5px 0 5px; font-size:clamp(23px,2vw,31px); }
.crypto-backtest-header p { margin:0; color:#7d96a7; font-size:.76rem; }
.crypto-source-proof { min-width:210px; padding:9px 11px; border:1px solid rgba(73,139,189,.28); background:rgba(4,19,29,.55); text-align:right; }
.crypto-source-proof small,.crypto-source-proof strong,.crypto-source-proof span { display:block; }
.crypto-source-proof small { color:#5f7e92; font-size:.61rem; }
.crypto-source-proof strong { margin:4px 0; color:#77c89a; font-size:.76rem; }
.crypto-source-proof span { color:#587386; font-size:.58rem; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.crypto-asset-selector { display:flex; align-items:center; gap:6px; padding:11px 0; }
.crypto-asset-selector button { height:29px; min-width:52px; padding:0 10px; color:#66859a; border:1px solid #294b62; background:rgba(3,16,25,.66); cursor:pointer; }
.crypto-asset-selector button:hover { color:#b9d4e6; border-color:#437cad; }
.crypto-asset-selector button.selected { color:#d8eaff; border-color:#428bd5; background:rgba(43,127,255,.14); box-shadow:inset 0 -2px #3d8be2; }
.crypto-asset-selector > span { margin-left:auto; color:#627d8f; font-size:.63rem; }
.verified-strategy-selector { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 10px; }
.verified-strategy-group { display:grid; grid-template-columns:38px repeat(3,minmax(0,1fr)); align-items:center; gap:5px; min-width:0; }
.verified-strategy-group > strong { color:#5f89a5; font-size:.62rem; letter-spacing:.08em; }
.verified-strategy-selector button { min-width:0; padding:0 7px; text-align:left; white-space:nowrap; }
.verified-strategy-selector button span { margin-right:5px; color:#4f87b7; font-size:.58rem; }
.verified-strategy-selector > em { grid-column:1/-1; margin:0; color:#617e91; font-size:.6rem; font-style:normal; text-align:right; }
.crypto-backtest-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--line); background:rgba(255,255,255,.012); }
.crypto-backtest-metrics > span { min-width:0; padding:10px 12px; border-left:1px solid var(--line-soft); }
.crypto-backtest-metrics > span:first-child { border-left:0; }
.crypto-backtest-metrics small,.crypto-backtest-metrics strong,.crypto-backtest-metrics em { display:block; }
.crypto-backtest-metrics small { color:#617d90; font-size:.63rem; }
.crypto-backtest-metrics strong { margin:5px 0 4px; color:#dce8ee; font-size:clamp(17px,1.35vw,23px); font-variant-numeric:tabular-nums; }
.crypto-backtest-metrics strong.up { color:#ff696b; }.crypto-backtest-metrics strong.down { color:#63c98d; }
.crypto-backtest-metrics em { color:#5f7687; font-size:.59rem; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.verified-backtest-metrics { grid-template-columns:repeat(6,minmax(0,1fr)); }.verified-backtest-metrics > span { padding:9px 10px; }
.crypto-backtest-body { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr); gap:9px; margin-top:9px; }
.crypto-equity-panel,.crypto-rule-panel,.crypto-trade-proof { min-width:0; padding:12px 13px; border:1px solid var(--line); background:rgba(3,15,23,.68); }
.crypto-equity-panel { display:grid; grid-template-rows:auto 178px auto; }
.crypto-equity-panel .table-title > span { display:flex; align-items:center; gap:5px; }
.crypto-equity-panel .table-title b { font-weight:inherit; }
.crypto-equity-panel .table-title i { display:inline-block; width:13px; height:2px; background:#ff5b5e; }.crypto-equity-panel .table-title i.benchmark-line { margin-left:6px; background:#3d83ef; }
#cryptoBacktestChart { display:block; width:100%; height:178px; }
#verifiedBacktestChart { display:block; width:100%; height:178px; }
.crypto-latest-weights { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:7px; }
.crypto-latest-weights span { padding:7px 8px; color:#6d8799; border:1px solid rgba(74,111,136,.2); font-size:.61rem; }
.crypto-latest-weights strong { float:right; color:#afc0cb; font-variant-numeric:tabular-nums; }
.crypto-latest-weights small { display:block; margin-top:2px; overflow:hidden; color:#58778b; font-size:.52rem; text-overflow:ellipsis; white-space:nowrap; }
.crypto-rule-panel h3,.crypto-trade-proof h3 { margin:0; font-size:.84rem; }
.crypto-rule-panel ol { margin:13px 0 0; padding:0 0 0 20px; display:grid; gap:9px; }
.crypto-rule-panel li { color:#7e96a6; font-size:.68rem; line-height:1.48; }
.verified-research-signal { margin-top:11px; padding:9px 10px; border:1px solid rgba(61,139,226,.24); background:linear-gradient(90deg,rgba(43,127,255,.1),rgba(43,127,255,.025)); }
.verified-research-signal small,.verified-research-signal strong { display:block; }
.verified-research-signal small { color:#548db7; font-size:.58rem; }
.verified-research-signal strong { margin-top:4px; color:#c5d5df; font-size:.75rem; }
.verified-research-signal p { margin:4px 0 0; color:#6f899a; font-size:.61rem; line-height:1.4; }
.crypto-cost-proof { display:grid; grid-template-columns:repeat(3,1fr); margin-top:13px; border-top:1px solid var(--line-soft); }
.crypto-cost-proof span { padding:9px 5px 0; color:#5e788b; font-size:.58rem; }
.crypto-cost-proof strong { display:block; margin-top:4px; color:#a6b8c4; font-size:.7rem; }
.crypto-trade-proof { margin-top:9px; }
.crypto-trade-head,.crypto-trade-row { display:grid; grid-template-columns:90px 62px 112px 105px 100px minmax(210px,1fr); align-items:center; gap:9px; }
.crypto-trade-head { padding:7px 9px; color:#5e788a; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); font-size:.61rem; }
.crypto-backtest-trades { max-height:190px; overflow-y:auto; }
.crypto-trade-row { min-height:38px; padding:6px 9px; color:#8299a8; border-bottom:1px solid rgba(77,111,134,.13); font-size:.65rem; }
.crypto-trade-row strong { color:#c0cfd8; }.crypto-trade-row .buy { color:#ff7173; }.crypto-trade-row .sell { color:#67ca8c; }
.crypto-backtest-loading { padding:24px 10px; color:#6b8799; text-align:center; font-size:.72rem; }
.crypto-backtest-actions { display:grid; grid-template-columns:230px minmax(320px,1fr); gap:9px; margin-top:10px; }
.crypto-backtest-actions button { width:100%; height:40px; }
.crypto-backtest-actions button:disabled { opacity:.5; cursor:wait; }

.footerbar { display: flex; align-items: center; gap: 0; border-top: 1px solid var(--line); color: #879dac; background: #07131c; padding: 0 13px; font-size: max(11px, .74em); }
.footerbar > span { padding: 0 18px; border-right: 1px solid var(--line); white-space: nowrap; }
.footerbar > span:first-child { padding-left: 0; }
.footerbar .brand-watermark { min-width: 181px; display: inline-flex; align-items: center; color: #9db7c8; }
.brand-identity { display: grid; gap: 1px; line-height: 1; }
.brand-watermark b { color: #d5e9f5; font-size: 1.03em; letter-spacing: .09em; text-shadow: 0 0 12px rgba(70, 156, 216, .18); }
.brand-watermark em { display: flex; align-items: center; gap: 5px; color: #5f8aa7; font-size: .69em; font-style: normal; font-weight: 720; letter-spacing: .11em; }
.brand-watermark em i { width: 5px; height: 5px; border-radius: 50%; background: #4ac979; box-shadow: 0 0 7px rgba(74, 201, 121, .8); animation: pulse-dot 1.8s infinite; }
.footerbar .verified { color: #68bb82; }
.footer-links { margin-left: auto; height: 100%; display: flex; }
.footer-links button { border: 0; border-left: 1px solid var(--line); background: transparent; color: #71899a; padding: 0 15px; cursor: pointer; }
.footer-links button:hover { color: #c5d3dc; }

.major-news-bell-wrap { position:fixed; z-index:42; top:106px; right:16px; min-width:238px; }
.major-news-bell-wrap[hidden] { display:none; }
body:not([data-active-view="驾驶舱"]) .major-news-bell-wrap { display:none; }
.major-news-bell { position:relative; width:100%; min-width:238px; min-height:72px; display:grid; grid-template-columns:54px minmax(0,1fr) 26px; align-items:center; gap:10px; padding:8px 34px 8px 10px; color:#ffe7b7; text-align:left; border:1px solid rgba(255,176,49,.82); border-radius:8px; background:linear-gradient(115deg,rgba(119,45,13,.97),rgba(69,17,16,.98) 55%,rgba(23,20,28,.98)); box-shadow:0 15px 44px rgba(0,0,0,.48),0 0 0 1px rgba(255,107,48,.12),0 0 34px rgba(255,116,40,.25); cursor:pointer; overflow:hidden; }
.major-news-bell::before { content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.13) 48%,transparent 65%); transform:translateX(-110%); animation:major-news-sweep 3.2s ease-in-out infinite; pointer-events:none; }
.major-news-bell:hover { filter:brightness(1.08); transform:translateY(-1px); }
.major-news-dismiss { position:absolute; z-index:2; top:5px; right:5px; width:26px; height:26px; display:grid; place-items:center; padding:0; color:#ffd8a0; border:1px solid rgba(255,210,143,.48); border-radius:50%; background:rgba(22,13,16,.74); font-size:18px; line-height:1; cursor:pointer; }
.major-news-dismiss:hover { color:#fff; border-color:#ffd18a; background:rgba(111,34,22,.94); }
.major-news-bell-icon { width:52px; height:52px; display:grid; place-items:center; border:1px solid rgba(255,195,87,.58); border-radius:50%; background:radial-gradient(circle,rgba(255,194,72,.27),rgba(172,54,23,.09)); font-size:29px; transform-origin:50% 0; animation:major-news-ring 1.4s ease-in-out infinite; }
.major-news-bell-copy { min-width:0; display:block; }
.major-news-bell-copy small,.major-news-bell-copy strong { display:block; }
.major-news-bell-copy small { color:#ffae55; font-size:11px; font-weight:820; letter-spacing:.12em; }
.major-news-bell-copy strong { margin-top:5px; overflow:hidden; color:#fff1d4; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.major-news-bell-count { width:25px; height:25px; display:grid; place-items:center; align-self:start; color:#fff; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:#ff4649; box-shadow:0 0 14px rgba(255,70,73,.65); font-size:12px; font-weight:850; }
.major-news-backdrop { z-index:55; background:rgba(4,7,10,.82); }
.major-news-modal { position:relative; width:min(760px,94vw); max-height:94vh; overflow-y:auto; padding:24px 26px 20px; color:#dce8ef; border:1px solid #b55b28; border-radius:8px; background:linear-gradient(145deg,#24150f,#0b1923 42%,#09141d 74%,#182014); box-shadow:0 30px 100px rgba(0,0,0,.65),0 0 50px rgba(255,123,45,.12); }
.major-news-heading { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:14px; padding:0 32px 16px 0; border-bottom:1px solid rgba(219,128,65,.25); }
.major-news-large-bell { width:62px; height:62px; display:grid; place-items:center; border:1px solid rgba(255,188,75,.56); border-radius:50%; background:radial-gradient(circle,rgba(255,183,66,.27),rgba(145,48,25,.08)); box-shadow:0 0 25px rgba(255,127,44,.16); font-size:32px; animation:major-news-ring 1.4s ease-in-out infinite; transform-origin:50% 0; }
.major-news-heading small { color:#ee9b52; font-size:11px; font-weight:800; letter-spacing:.14em; }
.major-news-heading h2 { margin:4px 0 3px; color:#fff0d4; font-size:24px; }
.major-news-heading p { margin:0; color:#8da0aa; font-size:12px; }
.major-news-level { padding:5px 9px; color:#ffcf82; border:1px solid rgba(255,153,54,.52); background:rgba(190,74,27,.14); font-size:12px; font-weight:760; white-space:nowrap; }
.major-news-story { margin-top:14px; padding:14px 15px; border-left:3px solid #ee7f34; background:rgba(91,36,17,.18); }
.major-news-story > span { color:#a26e4c; font-size:11px; letter-spacing:.08em; }
.major-news-story h3 { margin:6px 0 7px; color:#e8eef2; font-size:18px; line-height:1.45; }
.major-news-story p { margin:0; color:#8fa2ae; font-size:12px; line-height:1.55; }
.major-news-impact-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.major-news-impact-tags span { padding:5px 8px; color:#a8c8de; border:1px solid rgba(60,123,164,.32); background:rgba(43,127,255,.055); font-size:11px; }
.major-news-config-preview { display:grid; grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr); gap:12px; align-items:stretch; margin-top:13px; border:1px solid rgba(66,122,151,.34); background:rgba(2,14,22,.58); }
.major-news-config-preview > div:first-child { padding:14px; border-right:1px solid rgba(66,122,151,.24); }
.major-news-config-preview small,.major-news-config-preview strong,.major-news-config-preview > div:first-child span { display:block; }
.major-news-config-preview small { color:#5688a8; font-size:10px; letter-spacing:.1em; }
.major-news-config-preview strong { margin-top:6px; color:#cbdce5; font-size:15px; }
.major-news-config-preview > div:first-child span { margin-top:8px; color:#70c28e; font-size:12px; }
.major-news-allocation { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(65,110,137,.18); }
.major-news-allocation span { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; padding:9px 10px; color:#91a8b6; background:#081923; font-size:11px; }
.major-news-allocation strong { margin:0; overflow:hidden; color:#c7d6df; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.major-news-allocation b { color:#efaa5d; font-variant-numeric:tabular-nums; }
.major-news-method { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; align-items:start; margin-top:11px; padding:9px 10px; color:#8599a5; border:1px solid rgba(89,137,162,.22); background:rgba(7,22,31,.55); font-size:11px; line-height:1.5; }
.major-news-method strong { color:#8ec8ec; white-space:nowrap; }
.major-news-actions { display:grid; grid-template-columns:.72fr .72fr 1.28fr; gap:9px; margin-top:14px; }
.major-news-actions a,.major-news-actions button { width:100%; min-height:43px; display:flex; align-items:center; justify-content:center; text-decoration:none; }
.major-news-configure.is-counting { color:#fff0d4; border-color:#df8b38; background:linear-gradient(180deg,#b76326,#8b3d1c); }
.major-news-configure:disabled { opacity:.88; cursor:wait; }
.major-news-footnote { margin:10px 0 0; color:#687f8e; font-size:11px; line-height:1.5; text-align:center; }
.major-news-history-backdrop { z-index:57; background:rgba(3,7,11,.86); }
.major-news-history-modal { position:relative; width:min(900px,95vw); max-height:92vh; display:grid; grid-template-rows:auto auto minmax(180px,1fr) auto; overflow:hidden; padding:23px 24px 18px; color:#dbe7ed; border:1px solid #315d78; border-radius:8px; background:linear-gradient(150deg,#0b1d29,#07131c 68%,#121c1d); box-shadow:0 30px 100px rgba(0,0,0,.65); }
.major-news-history-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:0 34px 15px 0; border-bottom:1px solid rgba(68,120,151,.26); }
.major-news-history-heading small { color:#5f9fc9; font-size:11px; font-weight:800; letter-spacing:.13em; }
.major-news-history-heading h2 { margin:4px 0; color:#e4f1f8; font-size:23px; }
.major-news-history-heading p { margin:0; color:#78909e; font-size:12px; }
.major-news-history-heading > strong { padding:7px 10px; color:#8fd0f5; border:1px solid rgba(67,142,188,.38); background:rgba(39,115,164,.1); font-size:12px; white-space:nowrap; }
.major-news-history-notice { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; margin:12px 0; padding:9px 11px; color:#91a4af; border-left:3px solid #d78b42; background:rgba(93,55,23,.16); font-size:12px; line-height:1.5; }
.major-news-history-notice b { color:#e9b36e; white-space:nowrap; }
.major-news-history-list { min-height:180px; overflow:auto; display:grid; gap:8px; align-content:start; padding-right:4px; }
.major-news-history-empty { min-height:170px; display:grid; place-items:center; color:#637c8c; border:1px dashed rgba(71,112,137,.3); font-size:13px; }
.major-news-history-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 15px; padding:12px 13px; border:1px solid rgba(56,103,132,.34); background:rgba(8,25,36,.76); }
.major-news-history-item header { min-width:0; }
.major-news-history-item header > span { display:flex; flex-wrap:wrap; align-items:center; gap:7px; color:#6f8796; font-size:11px; }
.major-news-history-item header em { padding:3px 6px; color:#ffc87b; border:1px solid rgba(218,135,54,.4); background:rgba(174,82,24,.12); font-style:normal; font-weight:760; }
.major-news-history-item h3 { margin:7px 0 5px; color:#d7e4eb; font-size:15px; line-height:1.42; }
.major-news-history-item p { margin:0; color:#8298a5; font-size:11px; line-height:1.5; }
.major-news-history-item footer { display:flex; flex-wrap:wrap; gap:6px; align-items:center; grid-column:1; }
.major-news-history-item footer span { padding:3px 6px; color:#79a7c1; border:1px solid rgba(69,125,158,.25); background:rgba(33,105,150,.06); font-size:10px; }
.major-news-history-actions { display:grid; grid-template-columns:1fr; gap:6px; align-content:center; grid-column:2; grid-row:1 / span 2; }
.major-news-history-actions a,.major-news-history-actions button { min-width:92px; min-height:32px; display:flex; align-items:center; justify-content:center; padding:0 9px; color:#a9c6d8; text-decoration:none; border:1px solid #2d5873; background:#0a1c28; font-size:11px; cursor:pointer; }
.major-news-history-actions button { color:#d8e9f3; border-color:#3679a5; background:rgba(43,127,255,.12); }

.modal-backdrop { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; background: rgba(1, 7, 12, 0.72); backdrop-filter: blur(5px); }
.modal-backdrop[hidden] { display: none; }
.modal { width: min(460px, 90vw); padding: 28px; border: 1px solid #285579; background: linear-gradient(180deg, #0d2231, #08141e); box-shadow: 0 24px 80px rgba(0,0,0,.5); border-radius: 6px; text-align: center; position: relative; }
.modal-close { position: absolute; right: 13px; top: 10px; border: 0; background: transparent; color: #7790a2; font-size: 24px; cursor: pointer; }
.modal-icon { width: 54px; height: 54px; margin: 0 auto; display: grid; place-items: center; border-radius: 50%; color: #70d497; border: 1px solid #3e9d66; background: rgba(63, 157, 102, 0.12); font-size: 27px; }
.modal h2 { margin: 16px 0 8px; }.modal p { color: #849aaa; line-height: 1.7; }
.modal-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 20px 0; }
.modal-stats span { padding: 10px 4px; border: 1px solid var(--line); color: #718899; font-size: 0.8em; }
.modal-stats strong { display: block; color: #d7e2e9; margin-top: 5px; }
.modal .primary-button { min-width: 160px; }
.holdings-table-title { justify-content: flex-start; gap: 12px; }
.holdings-table-title > span { margin-left: auto; }
.inline-edit-button { height: 28px; padding: 0 11px; color: #dbeaff; border: 1px solid #337ed1; background: rgba(43,127,255,.14); border-radius: 3px; cursor: pointer; font-weight: 650; }
.inline-edit-button:hover { background: rgba(43,127,255,.25); border-color: #5b9ff0; }
.holdings-editor { width: min(650px, 94vw); padding: 24px 26px; text-align: left; }
.holding-editor-head { display: flex; align-items: center; gap: 12px; padding-right: 28px; }
.holding-editor-head small { display: block; color: #6c8495; font-size: .72em; }
.holding-editor-head h2 { margin: 3px 0 0; }
.holding-editor-icon { width: 48px; height: 48px; display: grid; place-items: center; color: #72a9ef; border: 1px solid #356da6; background: rgba(43,127,255,.11); border-radius: 50%; font-size: .75em; font-weight: 800; letter-spacing: .05em; }
.holdings-editor > p { margin: 14px 0; color: #8399a8; line-height: 1.55; font-size: .8em; }
.holding-editor-labels, .holding-editor-row { display: grid; grid-template-columns: minmax(0, 1fr) 125px 32px; gap: 9px; align-items: center; }
.holding-editor-labels { padding: 0 3px 6px; color: #60798b; font-size: .68em; }
.holding-editor-rows { max-height: 330px; overflow-y: auto; display: grid; gap: 7px; padding-right: 3px; }
.holding-editor-row { padding: 7px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.015); }
.holding-editor-row > input, .holding-editor-row label { height: 36px; min-width: 0; }
.holding-editor-row input { width: 100%; height: 100%; padding: 0 10px; color: #d7e3eb; border: 1px solid #2b4a5f; background: #071620; outline: none; }
.holding-editor-row input:focus { border-color: #408be4; box-shadow: 0 0 0 2px rgba(43,127,255,.1); }
.holding-editor-row label { display: grid; grid-template-columns: 1fr 25px; align-items: center; border: 1px solid #2b4a5f; background: #071620; }
.holding-editor-row label input { border: 0; }
.holding-editor-row label span { color: #73899a; }
.holding-editor-row > button { width: 32px; height: 32px; color: #d37d7f; border: 1px solid rgba(211,125,127,.3); background: rgba(132,45,48,.08); cursor: pointer; }
.holding-editor-summary { display: flex; align-items: center; justify-content: space-between; margin-top: 11px; padding: 10px 2px; border-top: 1px solid var(--line-soft); color: #8ea3b1; }
.holding-editor-summary button { height: 30px; padding: 0 11px; color: #74acf0; border: 1px solid rgba(71,137,212,.45); background: rgba(43,127,255,.08); cursor: pointer; }
.holding-editor-summary strong { color: #62cb8d; font-size: 1.15em; }
.holding-editor-summary strong.overweight { color: #ff6265; }
.holding-editor-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 9px; margin-top: 4px; }
.holding-editor-actions button { width: 100%; min-width: 0; }
.trade-ticket { width: min(760px, 94vw); max-height: 94vh; overflow-y: auto; padding: 22px 26px 20px; text-align: left; border-color: #3278b4; background: linear-gradient(145deg, #0d273a, #07151f 62%, #10281f); }
.trade-ticket-head { display: grid; grid-template-columns: 50px minmax(0,1fr) auto; align-items: center; gap: 12px; padding-right: 25px; }
.trade-ticket-head small { display: block; color: #5f8199; font-size: .62em; letter-spacing: .08em; }
.trade-ticket-head h2 { margin: 3px 0 0; font-size: 1.45em; }
.trade-ticket-icon { width: 48px; height: 48px; display: grid; place-items: center; color: #7eb8f7; border: 1px solid #397cb7; background: rgba(43,127,255,.11); border-radius: 50%; font-size: .72em; font-weight: 850; letter-spacing: .06em; }
.trade-side-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 15px 0 10px; }
.trade-side-switch button { height: 39px; color: #7991a2; border: 1px solid #29495f; background: rgba(2,14,22,.65); cursor: pointer; font-weight: 700; }
.trade-side-switch button[data-trade-side="buy"].active { color: #ff8586; border-color: rgba(255,77,79,.62); background: rgba(255,77,79,.1); }
.trade-side-switch button[data-trade-side="sell"].active { color: #78d39a; border-color: rgba(69,189,118,.6); background: rgba(69,189,118,.09); }
.trade-field { display: block; margin-top: 11px; }
.trade-field > span { display: block; margin-bottom: 6px; color: #6d8799; font-size: .68em; }
.trade-field select, .trade-amount-input { width: 100%; height: 43px; color: #d9e5ec; border: 1px solid #31566f; background: #061620; outline: none; }
.trade-price-input { display:flex; align-items:center; width:100%; height:43px; color:#d9e5ec; border:1px solid #9d7137; background:rgba(52,34,13,.32); outline:none; }
.trade-price-input b { width:38px; color:#d3a765; text-align:center; border-right:1px solid rgba(166,113,49,.36); }
.trade-price-input input { flex:1; min-width:0; height:100%; padding:0 12px; color:#ffe4b3; border:0; background:transparent; outline:none; }
.trade-price-input:focus-within { border-color:#d19b50; box-shadow:0 0 0 2px rgba(197,140,66,.12); }
.trade-execution-price-field { padding:0 9px 9px; border:1px solid rgba(195,139,65,.26); background:rgba(118,72,19,.05); }
.trade-field select { padding: 0 12px; }
.trade-field > input { width:100%; height:43px; padding:0 12px; color:#d9e5ec; border:1px solid #31566f; background:#061620; outline:none; }
.trade-field > input:focus { border-color:#4b96e7; box-shadow:0 0 0 2px rgba(43,127,255,.1); }
.trade-field select:focus, .trade-amount-input:focus-within { border-color: #4b96e7; box-shadow: 0 0 0 2px rgba(43,127,255,.1); }
.trade-market-tabs { display: grid; grid-template-columns: repeat(5,1fr); gap: 5px; margin-top: 8px; }
.trade-market-tabs button { height: 31px; color: #688397; border: 1px solid #27465a; background: rgba(3,16,25,.72); cursor: pointer; font-size: .7em; }
.trade-market-tabs button:hover { color: #a8bed0; border-color: #356485; }.trade-market-tabs button.active { color: #87bdff; border-color: #3b82c5; background: rgba(43,127,255,.12); box-shadow: inset 0 -2px #3288e5; }
.trade-instrument-picker { display: grid; grid-template-columns: minmax(150px,.82fr) minmax(250px,1.35fr); gap: 8px; }
.trade-custom-toggle { color:#d1a45f !important; border-color:rgba(198,146,73,.46) !important; background:rgba(138,86,22,.1) !important; }
.trade-custom-toggle.active { color:#ffe0a8 !important; border-color:#c58c42 !important; background:rgba(179,111,30,.2) !important; box-shadow:inset 0 -2px #d79b4c; }
.trade-custom-fields { display:grid; grid-template-columns:1fr 1.25fr .9fr; gap:8px; margin-top:2px; padding:0 9px 10px; border:1px solid rgba(195,139,65,.32); background:rgba(118,72,19,.07); }
.trade-custom-fields[hidden] { display:none; }
.trade-search-field input { width: 100%; height: 43px; padding: 0 11px; color: #d9e5ec; border: 1px solid #31566f; background: #061620; outline: none; }
.trade-search-field input:focus { border-color: #4b96e7; box-shadow: 0 0 0 2px rgba(43,127,255,.1); }.trade-search-field input::placeholder { color: #496579; }
.trade-field > span em { float: right; color: #527187; font-style: normal; font-size: .9em; }
.trade-quote-source { margin-top: 7px; padding: 5px 8px; color: #668094; border-left: 2px solid #35546a; background: rgba(255,255,255,.015); font-size: .61em; }
.trade-quote-source.is-live { color: #67c88a; border-left-color: #3eaa6a; }.trade-quote-source.is-demo { color: #b38a54; border-left-color: #9b6f39; }
.trade-amount-input { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; }
.trade-amount-input b { color: #718a9c; text-align: center; font-weight: 600; }
.trade-amount-input input { width: 100%; height: 100%; padding: 0 12px; color: #e0ebf2; border: 0; border-left: 1px solid #26485e; background: transparent; outline: none; font-size: 1.04em; font-variant-numeric: tabular-nums; }
.trade-quote-strip, .trade-preview { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 11px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.012); }
.trade-quote-strip span, .trade-preview span { min-width: 0; padding: 9px 10px; border-left: 1px solid var(--line-soft); }
.trade-quote-strip span:first-child, .trade-preview span:first-child { border-left: 0; }
.trade-quote-strip small, .trade-preview small { display: block; color: #60798b; font-size: .62em; }
.trade-quote-strip strong, .trade-preview strong { display: block; margin-top: 4px; color: #c8d6df; font-size: .8em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.trade-quick-amounts { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 7px; }
.trade-quick-amounts button { height: 29px; color: #6f9dca; border: 1px solid rgba(61,124,180,.3); background: rgba(43,127,255,.05); cursor: pointer; }
.trade-quick-amounts button:hover { color: #c8e0fa; border-color: #3f85c5; }
.trade-ticket-hint { margin: 10px 0 0 !important; padding: 8px 10px; color: #a78555 !important; border: 1px solid rgba(194,145,78,.2); background: rgba(111,70,23,.07); font-size: .66em; line-height: 1.45 !important; }
.trade-submit { width: 100%; height: 41px; margin-top: 11px; }
.trade-submit.sell-side { color: #c9f4d8; border-color: #3b9a62; background: linear-gradient(180deg,#31865a,#246f49); box-shadow: inset 0 1px rgba(255,255,255,.1); }
.trade-submit:disabled { opacity: .48; cursor: not-allowed; }
.invite-modal { width: min(520px, 92vw); padding: 27px 30px 24px; text-align: left; border-color: #326b9a; background: linear-gradient(145deg, #0d2638, #08151f 65%, #10241e); }
.invite-key-icon { width: 52px; height: 52px; display: grid; place-items: center; color: #7ab6f4; border: 1px solid #3d7ebd; background: rgba(43,127,255,.1); font-size: .72em; font-weight: 850; letter-spacing: .08em; }
.invite-eyebrow { margin-top: 15px; color: #5797da; font-size: .62em; letter-spacing: .14em; }
.invite-modal h2 { margin: 6px 0 7px; font-size: 1.55em; }
.invite-modal > p { margin: 0; color: #7e96a7; font-size: .78em; line-height: 1.55; }
.invite-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 16px 0; }
.invite-benefits span { padding: 8px 9px; color: #96aab8; border: 1px solid var(--line-soft); background: rgba(255,255,255,.012); font-size: .7em; }
.invite-benefits span::before { content:"✓"; margin-right: 6px; color: #5fca8a; }
.invite-service-facts { display:flex; gap:6px; margin:-8px 0 13px; }
.invite-service-facts span { flex:1; padding:6px 7px; color:#70a9cf; border:1px solid rgba(64,132,184,.22); background:rgba(43,127,255,.045); font-size:.61em; text-align:center; white-space:nowrap; }
.invite-code-field span { display: block; margin-bottom: 6px; color: #6c8495; font-size: .68em; }
.invite-code-field input { width: 100%; height: 43px; padding: 0 13px; color: #e0ebf2; border: 1px solid #345a73; background: #06141e; outline: none; letter-spacing: .08em; text-transform: uppercase; }
.invite-code-field input:focus { border-color: #4b96e7; box-shadow: 0 0 0 2px rgba(43,127,255,.1); }
.invite-error { margin-top: 8px; padding: 7px 9px; color: #ef8d8e; border: 1px solid rgba(225,78,80,.28); background: rgba(121,35,37,.1); font-size: .68em; }
.invite-submit { width: 100%; height: 39px; margin-top: 10px; }
.invite-submit:disabled { opacity: .6; cursor: wait; }
.invite-modal .invite-footnote { margin-top: 9px; text-align: center; color: #5e7586; font-size: .6em; }
.access-center-modal { width:min(920px,95vw); padding:25px 28px 22px; border-color:#3676a6; background:linear-gradient(145deg,#0d2638,#07141d 62%,#10241e); }
.access-center-top { display:grid; grid-template-columns:50px minmax(0,1fr) auto; gap:14px; align-items:center; }
.access-success-icon { width:50px; height:50px; display:grid; place-items:center; color:#bdf5d2; border:1px solid #43a56b; background:rgba(54,161,98,.13); font-size:1.35em; font-weight:850; }
.access-center-top .invite-eyebrow { margin:0 0 4px; }.access-center-top h2 { margin:0; font-size:1.48em; }.access-center-top p { margin:4px 0 0; color:#7891a2; font-size:max(12px,.76em); }
.access-state { padding:5px 10px; color:#79d09a; border:1px solid rgba(79,190,125,.32); background:rgba(49,146,89,.08); font-size:.66em; }.access-state::before { content:"●"; margin-right:6px; }
.access-facts-grid { display:grid; grid-template-columns:1.1fr 1fr 1fr .8fr; margin-top:17px; border:1px solid var(--line); background:rgba(2,13,20,.62); }
.access-facts-grid span { min-width:0; padding:11px 12px; border-left:1px solid var(--line-soft); }.access-facts-grid span:first-child { border-left:0; }
.access-facts-grid small { display:block; color:#648093; font-size:max(11px,.68em); }.access-facts-grid strong { display:block; margin-top:5px; color:#c9d8e1; font-size:.82em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.access-workflow { display:grid; grid-template-columns:repeat(7,auto); align-items:center; justify-content:space-between; gap:8px; margin-top:14px; }
.access-workflow > button { min-width:0; display:flex; align-items:center; gap:8px; padding:7px; color:inherit; text-align:left; border:1px solid transparent; background:transparent; cursor:pointer; }.access-workflow > button:hover { border-color:#315f83; background:rgba(43,127,255,.06); }.access-workflow b { flex:0 0 auto; width:30px; height:30px; display:grid; place-items:center; color:#7ab6f4; border:1px solid #315f83; background:rgba(43,127,255,.08); font-size:.64em; }
.access-workflow span { color:#b8c9d3; font-size:max(12px,.74em); font-weight:700; white-space:nowrap; }.access-workflow small { display:block; margin-top:3px; color:#5f798b; font-size:.88em; font-weight:500; }.access-workflow > i { color:#335c79; font-style:normal; }
.access-workflow em { display:none; margin-left:auto; color:#70aceb; font-size:11px; font-style:normal; white-space:nowrap; }.access-workflow > button.completed { border-color:rgba(69,189,118,.25); background:rgba(69,189,118,.05); }.access-workflow > button.completed b { color:#7bd59d; border-color:#347753; }.access-workflow > button.completed em { color:#70cb92; }
.access-value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:9px; }.access-value-grid > span { padding:8px 10px; border:1px solid rgba(58,111,147,.3); background:rgba(43,127,255,.035); }.access-value-grid small { display:block; color:#627f92; font-size:11px; }.access-value-grid strong { display:block; margin-top:4px; color:#91bad6; font-size:13px; }
.access-guide-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:14px; }.access-guide-head strong,.access-guide-head span { display:block; }.access-guide-head strong { color:#c6d7e0; font-size:13px; }.access-guide-head div span { margin-top:3px; color:#627e91; font-size:11px; }.access-guide-head > span { color:#6faeeb; font-size:12px; font-weight:750; }
.access-progress { height:3px; margin-top:7px; overflow:hidden; background:#132c3c; }.access-progress i { display:block; width:0; height:100%; background:linear-gradient(90deg,#347fe0,#48bd7a); transition:width 240ms ease; }
.access-quick-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:13px; }.access-quick-actions button { min-width:0; padding:9px 10px; text-align:left; color:#a7bfce; border:1px solid rgba(66,115,147,.28); background:rgba(255,255,255,.012); cursor:pointer; }.access-quick-actions button:hover { border-color:#3f83b7; background:rgba(43,127,255,.07); }.access-quick-actions b,.access-quick-actions small { display:block; }.access-quick-actions b { font-size:12px; }.access-quick-actions small { margin-top:4px; color:#607c8f; font-size:10px; }
.access-center-actions { display:grid; grid-template-columns:1.25fr repeat(3,1fr); gap:8px; margin-top:13px; }.access-center-actions button { min-width:0; width:100%; height:39px; }
.access-help { margin-top:10px; border:1px solid rgba(64,108,137,.25); background:rgba(3,14,22,.36); }.access-help summary { padding:8px 10px; color:#83a3b6; font-size:11px; cursor:pointer; }.access-help > div { padding:0 10px 8px; }.access-help p { margin:6px 0 0; color:#6f8798; font-size:11px; line-height:1.5; }.access-help b { color:#a5bbc8; }
.access-support-note,.access-risk-note { margin:9px 0 0; color:#637d8f; font-size:max(11px,.68em); line-height:1.5; text-align:center; }.access-risk-note { padding-top:8px; color:#a88759; border-top:1px solid rgba(165,123,68,.18); }
.invite-admin-modal { width:min(980px,94vw); max-height:min(880px,94vh); overflow:auto; padding:25px 28px 23px; border-color:#326b9a; background:linear-gradient(145deg,#0d2638,#08151f 65%,#10241e); }
.invite-admin-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin:5px 0 17px; }
.invite-admin-heading h2 { margin:0 0 5px; font-size:1.48em; }.invite-admin-heading p { margin:0; color:#718899; font-size:.72em; }
.invite-admin-heading > span { padding:5px 9px; color:#75ca98; border:1px solid rgba(79,190,125,.32); background:rgba(49,146,89,.08); font-size:.62em; white-space:nowrap; }
.invite-admin-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr .62fr 1fr .8fr .8fr 1.35fr; gap:8px; }
.invite-admin-grid label { min-width:0; }.invite-code-field select { width:100%; height:43px; padding:0 10px; color:#d8e5ec; border:1px solid #345a73; background:#06141e; outline:none; }
.invite-code-field select:focus { border-color:#4b96e7; box-shadow:0 0 0 2px rgba(43,127,255,.1); }
.invite-admin-generate { width:100%; height:40px; margin-top:11px; }.invite-admin-generate:disabled { opacity:.6; cursor:wait; }
.invite-admin-result { margin-top:12px; padding:12px; border:1px solid var(--line); background:rgba(2,13,20,.62); }
.invite-admin-result > div { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }.invite-admin-result strong { color:#b9cbd6; font-size:.78em; }.invite-admin-result span { color:#668194; font-size:.64em; }
.invite-admin-result textarea { width:100%; height:126px; resize:none; padding:10px 12px; color:#82c3ff; border:1px solid #24475f; background:#04111a; outline:none; font:700 .76em/1.62 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.045em; }
.invite-admin-result textarea::placeholder { color:#486276; font-weight:500; }.invite-admin-result .secondary-button { width:100%; height:36px; margin-top:8px; }
.invite-admin-result .secondary-button:disabled { opacity:.42; cursor:not-allowed; }
.access-admin-manager { margin-top:12px; padding:12px; border:1px solid rgba(62,116,151,.34); background:rgba(4,18,27,.7); }
.access-admin-manager > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; }.access-admin-manager > div:first-child strong { color:#b9cbd6; font-size:.78em; }.access-admin-manager > div:first-child span { color:#668194; font-size:.64em; }
.access-admin-actions { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin-top:8px; }.access-admin-actions button { height:32px; color:#86b9de; border:1px solid #2d5875; background:rgba(43,127,255,.06); cursor:pointer; font-size:.66em; }.access-admin-actions button:hover { color:white; border-color:#4b91c7; }.access-admin-actions button.danger { color:#e18b8d; border-color:rgba(191,68,72,.45); background:rgba(145,43,46,.08); }
.access-admin-status { margin-top:8px; padding:8px 10px; color:#7894a7; border-left:2px solid #376d91; background:rgba(255,255,255,.015); font-size:.64em; line-height:1.5; }
.invite-admin-footnote { margin:10px 0 0; color:#60798a; font-size:.61em; line-height:1.5; text-align:center; }
.invite-order-manager { margin-top:12px; padding:12px; border:1px solid rgba(62,116,151,.34); background:rgba(4,18,27,.7); }.invite-order-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }.invite-order-heading strong,.invite-order-heading span { display:block; }.invite-order-heading strong { color:#c0d1db; font-size:13px; }.invite-order-heading span { margin-top:3px; color:#698397; font-size:11px; }.invite-order-heading button { height:30px; padding:0 11px; color:#80b7e7; border:1px solid #315e7e; background:rgba(43,127,255,.07); cursor:pointer; }.invite-order-list { max-height:245px; margin-top:9px; display:grid; gap:7px; overflow:auto; }.invite-order-empty { padding:24px 10px; color:#668194; text-align:center; font-size:12px; }.invite-order-empty.error { color:#df8587; }.invite-order-card { display:grid; grid-template-columns:minmax(180px,.95fr) minmax(260px,1.15fr); gap:7px 15px; padding:10px; border:1px solid rgba(58,100,127,.28); background:rgba(255,255,255,.012); }.invite-order-main { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:4px 8px; }.invite-order-main strong { overflow:hidden; color:#bdced8; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.invite-order-main small { grid-column:1 / -1; color:#668094; font-size:10px; }.invite-order-status { padding:3px 6px; color:#d1a85f; border:1px solid rgba(193,145,71,.3); font-size:10px; white-space:nowrap; }.invite-order-status.active { color:#6dcb91; border-color:rgba(69,189,118,.35); }.invite-order-status.revoked { color:#df7e80; border-color:rgba(215,73,76,.35); }.invite-order-data { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }.invite-order-data span { min-width:0; padding-left:8px; border-left:1px solid var(--line-soft); }.invite-order-data small,.invite-order-data b { display:block; }.invite-order-data small { color:#5f7b8e; font-size:10px; }.invite-order-data b { margin-top:3px; overflow:hidden; color:#9db3c0; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.invite-order-card > p { grid-column:1 / -1; margin:0; color:#718a9a; font-size:10px; }.invite-order-actions { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) 66px 78px; gap:6px; }.invite-order-actions code { min-width:0; padding:7px 8px; overflow:hidden; color:#72afe7; border:1px solid rgba(55,104,139,.28); background:#05131c; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }.invite-order-actions button { color:#83b8dd; border:1px solid #2c5672; background:rgba(43,127,255,.05); cursor:pointer; font-size:10px; }
.toast { position: fixed; z-index: 60; left: 50%; bottom: 56px; transform: translate(-50%, 14px); opacity: 0; pointer-events: none; color: #dce8ef; background: rgba(11, 29, 42, 0.96); border: 1px solid #2a5b7b; border-radius: 4px; padding: 10px 18px; box-shadow: var(--shadow); transition: 220ms ease; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

body.recording-mode .mega-return { font-size: clamp(48px, 4.8vw, 88px); }
body.recording-mode .return-card { box-shadow: inset 0 0 0 1px rgba(255,77,79,.12), 0 0 26px rgba(255,77,79,.08); }
body.recording-mode .panel-kicker, body.recording-mode .market-chart-legend { color: #c5d3dc; }
body.recording-mode .footerbar { opacity: 1; }
body.recording-mode .footerbar > span:not(.brand-watermark), body.recording-mode .footer-links { opacity: .44; }
body.recording-mode .brand-watermark b { color: #edf8ff; text-shadow: 0 0 14px rgba(81, 175, 238, .34); }
body.recording-mode .brand-watermark em { color: #79b8df; }
body.promotion-mode .return-card { border-color: rgba(224, 111, 61, .58); }
body.promotion-mode .live-stamp { color: #6bcf94; }

@keyframes pulse-dot { 0%,100% { opacity:.5; transform:scale(.85) } 50% { opacity:1; transform:scale(1) } }
@keyframes record-blink { 0%,49% { opacity:1 } 50%,100% { opacity:.32 } }
@keyframes major-news-ring { 0%,42%,100% { transform:rotate(0) } 8%,24% { transform:rotate(12deg) } 16%,32% { transform:rotate(-12deg) } }
@keyframes major-news-sweep { 0%,58% { transform:translateX(-110%) } 82%,100% { transform:translateX(130%) } }
@keyframes event-in { from { background-color:rgba(43,127,255,.13); transform:translateY(-2px) } to { background-color:transparent; transform:translateY(0) } }
@keyframes metric-flash {
  0% { filter: brightness(1); text-shadow: none; }
  38% { filter: brightness(1.32); text-shadow: 0 0 12px rgba(65, 206, 154, .34); }
  100% { filter: brightness(1); text-shadow: none; }
}

@media (max-width: 1450px) {
  .market-ticker { gap: 13px; padding: 0 12px; }
  .ticker-item.amount { display: none; }
  .profile-name { display: none; }
  .hero-grid { grid-template-columns: 1.06fr .52fr .62fr 1.48fr; }
  .return-foot { gap: 6px; }
  .analytics-grid { grid-template-columns: .8fr .72fr 1.25fr 1.6fr; }
  .event-column { grid-template-rows: minmax(0, 1fr) 205px; }
  .opportunity-row { grid-template-columns: 20px minmax(0, 1fr) 42px 46px; gap: 4px; }
  .simulation-intro .crypto-backtest-launch { min-width:123px; }
  .crypto-backtest-launch span { font-size:.7em; }
  .simulation-scope-switch button { min-width:68px; padding:0 6px; }
  .community-kpi-grid { grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(4,1fr); }
}

@media (max-height: 800px) {
  .terminal-shell { grid-template-rows: 50px 34px minmax(0, 1fr) 29px; }
  .daily-research-view { grid-template-rows: 56px 62px minmax(350px,1fr) 100px; gap: 6px; }
  .daily-research-intro { min-height: 56px; }
  .daily-research-intro .view-eyebrow { margin-bottom: 2px; font-size: .7rem; }
  .daily-research-header-actions > span { min-width: 94px; padding: 4px 7px; }
  .daily-research-header-actions .compact-button { height: 34px; }
  .daily-research-summary { gap: 6px; }
  .daily-research-summary article { padding: 6px 10px; }
  .daily-research-summary strong { font-size: 1.18rem; }
  .daily-research-card-grid,.daily-research-bottom-grid { gap: 6px; }
  .daily-research-card { padding: 7px 9px; gap: 4px; }
  .daily-card-head h2 { margin-top: 2px; font-size: 14px; }
  .daily-card-quote { gap: 6px; padding-bottom: 3px; }
  .daily-card-quote strong { font-size: 1.1rem; }
  .daily-card-rules { gap: 2px; }
  .daily-card-rules > span { grid-template-columns: 61px minmax(0,1fr); font-size: max(11.5px,.7rem); line-height: 1.24; }
  .daily-card-foot { gap: 5px; }
  .daily-track-button { height: 27px; }
  .daily-allocation-list { gap: 2px; }
  .daily-plan-card p { line-height: 1.2; }
  .daily-ledger-panel,.daily-boundary-panel { padding: 7px 10px; }
  .daily-ledger-rows,.daily-boundary-steps { margin-top: 4px; }
  .daily-ledger-row { padding: 3px 5px; }
  .daily-ledger-empty { padding: 11px 8px; }
  .daily-boundary-steps span { padding: 4px; }
  .daily-boundary-panel p { margin-top: 4px; line-height: 1.2; }
  .dashboard { grid-template-rows: 132px minmax(180px, 1fr) 205px 37px; }
  .return-card, .compare-card, .intraday-card, .strategy-card { padding-top: 7px; padding-bottom: 5px; }
  .metric-row { margin-top: 9px; }
  .factor-bars, .theme-radar { margin-top: 7px; gap: 4px; }
  .event-item { padding: 5px 2px; }
  .event-column { grid-template-rows: minmax(0,1fr) 178px; }
  .opportunity-panel { padding: 7px 9px 6px; grid-template-rows: auto minmax(0, 1fr) 24px; gap: 4px; }
  .opportunity-head span { display: none; }
  .opportunity-head h2 { font-size: .82em; }
  .opportunity-row { padding: 1px 4px; grid-template-columns: 19px minmax(0, 1fr) 39px 43px; gap: 3px; }
  .opportunity-asset small { display: none; }
  .news-row .opportunity-asset strong { -webkit-line-clamp: 1; }
  .opportunity-cta { height: 24px; }
  .strategy-market-view { grid-template-rows: 84px 156px 64px auto; }
  .market-sidebar { grid-template-rows: 158px 238px 92px; }
  .trust-score { width: 72px; height: 72px; margin-top: 12px; border-width: 5px; }
  .trust-bars { margin: 10px 0 0 84px; gap: 5px; }
  .strategy-ranking > div { padding: 6px 4px; }
  .market-note-panel p { margin: 3px 0; line-height: 1.25; }
  .market-note-panel span { display: block; line-height: 1.22; }
}

@media (max-width: 1150px) {
  .top-tab { min-width: 62px; padding: 0 8px; }
  .market-ticker .ticker-item:nth-child(3), .market-ticker .ticker-item:nth-child(4) { display: none; }
  .workspace { grid-template-columns: minmax(0, 1fr) 230px; }
  .hero-grid { grid-template-columns: 1.1fr .62fr .7fr 1.55fr; }
  .strategy-title-row h1 span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

@media (max-width: 760px) {
  html, body { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
  body { font-size:14px; }
  .access-gateway { position:relative; min-height:100dvh; padding:14px; overflow:auto; }
  .access-gateway-card { width:100%; padding:25px 18px 22px; }
  .access-gateway-brand { flex-wrap:wrap; }.access-gateway-brand small { width:100%; margin-left:18px; padding:3px 0 0; border:0; }
  .access-gateway-eyebrow { margin-top:25px; font-size:.65rem; }.access-gateway h1 { font-size:28px; }.access-gateway p { font-size:.82rem; line-height:1.6; }
  .access-gateway-form > div { height:auto; grid-template-columns:1fr; gap:8px; }.access-gateway-form input,.access-gateway-form button { height:48px; }.access-gateway-facts { gap:5px; }.access-gateway-facts span { padding:7px 4px; font-size:.59rem; text-align:center; }.access-gateway-facts b { display:block; margin:0 0 3px; }

  .terminal-shell { width:100%; height:auto; min-height:100dvh; display:block; padding-bottom:38px; }
  .topbar { position:sticky; z-index:32; top:0; height:94px; display:flex; flex-wrap:wrap; align-content:start; background:rgba(5,14,23,.985); }
  .brand-wrap { width:100%; height:44px; padding:0 12px; }.brand { font-size:16px; }
  .market-ticker,.profile { display:none; }
  .top-tabs { width:100%; height:50px; margin:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }.top-tabs::-webkit-scrollbar { display:none; }
  .top-tab { flex:0 0 auto; min-width:84px; height:50px; padding:0 11px; font-size:13px; }
  .statusbar { min-height:44px; padding:6px 8px; gap:7px; }.source-chips,.market-clock,#streamMode,#recordMode { display:none; }.promotion-notice { min-width:0; overflow:hidden; padding:6px 8px; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.status-actions { min-width:0; margin-left:auto; }.control-button.access { max-width:112px; height:31px; overflow:hidden; padding:0 7px; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }.history-control,.fullscreen-control { width:38px; height:31px; justify-content:center; padding:0; }.history-control span,.fullscreen-control span { display:none; }
  .major-news-bell-wrap { top:147px; right:9px; min-width:0; width:66px; }.major-news-bell { min-width:0; width:66px; min-height:66px; grid-template-columns:1fr; padding:6px; border-radius:50%; }.major-news-bell-icon { width:52px; height:52px; margin:auto; }.major-news-bell-copy,.major-news-bell-count { position:absolute; }.major-news-bell-copy { width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.major-news-bell-count { top:-3px; right:-3px; }.major-news-dismiss { top:-17px; right:-14px; width:46px; height:46px; font-size:22px; }

  .workspace { display:block; padding:7px; }.dashboard { display:grid; grid-template-rows:none; grid-auto-rows:auto; gap:7px; }
  .hero-grid,.market-chart-grid,.analytics-grid { grid-template-columns:1fr; gap:7px; }
  .hero-grid > .panel { min-height:150px; }.strategy-card { min-height:190px !important; }
  .market-chart-grid > .panel { min-height:235px; }.analytics-panel { height:auto; min-height:190px; }
  .event-column { margin-top:7px; grid-template-rows:auto auto; gap:7px; }.event-column > .panel { min-height:260px; }.opportunity-panel { min-height:360px !important; }
  .primary-actions { min-height:66px; flex-wrap:wrap; gap:8px; padding:8px; }.primary-actions button { flex:1 1 44%; min-width:0; }
  .footerbar { position:fixed; z-index:31; left:0; right:0; bottom:0; height:34px; justify-content:center; padding:0 8px; }.footerbar > span:not(.brand-watermark),.footer-links { display:none; }.footerbar .brand-watermark { min-width:0; padding:0; border:0; }

  .product-view { width:100%; height:auto; min-height:calc(100dvh - 138px); padding:7px; overflow:visible; }
  .view-intro { min-height:0; display:block; padding:15px 13px; }.view-intro h1 { display:block; margin:0 0 6px; font-size:21px; }.view-intro p { display:block; font-size:13px; line-height:1.55; }
  .daily-research-view { display:grid; grid-template-rows:none; grid-auto-rows:auto; overflow:visible; }
  .daily-research-intro { min-height:0; }.daily-research-header-actions { margin-top:12px; display:grid; grid-template-columns:1fr 1fr; }.daily-research-header-actions > span,.daily-research-header-actions .compact-button { min-width:0; width:100%; }.daily-research-header-actions .compact-button { grid-column:1 / -1; }
  .daily-research-summary { grid-template-columns:1fr 1fr; }.daily-research-summary article { min-height:76px; }.daily-research-summary span { white-space:normal; }
  .daily-research-card-grid { grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:auto; }.daily-research-card { min-height:285px; padding:14px; }.daily-card-head h2,.daily-card-rules strong { white-space:normal; }.daily-card-market,.daily-card-status,.daily-card-quote small,.daily-risk-pill,.daily-track-result,.daily-track-button { font-size:12px; }.daily-card-rules > span { grid-template-columns:76px minmax(0,1fr); font-size:13px; line-height:1.45; }.daily-track-button { min-height:38px; }.daily-card-foot { grid-template-columns:auto minmax(0,1fr) auto; }.daily-research-bottom-grid { grid-template-columns:1fr; }.daily-ledger-panel,.daily-boundary-panel { min-height:175px; }.daily-ledger-row { grid-template-columns:60px 92px minmax(0,1fr); font-size:12px; }.daily-ledger-row b { grid-column:3; }.daily-boundary-steps { grid-template-columns:1fr 1fr; }.daily-boundary-steps strong { font-size:12px; }.daily-boundary-steps small,.daily-boundary-panel p { font-size:11px; }

  .strategy-market-view { display:grid; grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:auto; align-content:start; overflow:visible; }.strategy-market-view > * { grid-column:1 !important; grid-row:auto !important; }
  .strategy-discovery { width:100%; margin-top:13px; }.strategy-filter-tabs { height:auto; grid-template-columns:1fr 1fr; }.strategy-filter-tabs button { min-height:42px; border-top:1px solid var(--line-soft); }
  .featured-market-card { grid-template-columns:1fr; min-height:0; gap:12px; padding:18px 14px 14px; }.featured-ribbon { position:static; width:max-content; transform:none; }.featured-metrics { grid-template-columns:1fr 1fr; }.featured-actions { display:grid; grid-template-columns:1fr 1fr; }.featured-actions .forward-proof-button { grid-column:1 / -1; }.research-profile-bar { grid-template-columns:1fr; gap:9px; }.research-profile-value { padding:8px 0 0; border-top:1px solid rgba(77,174,123,.18); border-left:0; }
  .strategy-library { grid-template-columns:1fr; grid-auto-rows:auto; }.strategy-item { min-height:250px; }
  .market-sidebar { position:static; display:grid; grid-template-rows:none; grid-auto-rows:auto; gap:8px; }.market-sidebar > .panel { min-height:150px; }
  .master-selection-tray { bottom:38px; min-height:0; grid-template-columns:auto minmax(0,1fr); gap:8px; padding:9px; }.master-selection-tray .selection-tray-copy { min-width:0; }.master-selection-tray > button { min-width:0; }.master-selection-tray #clearMasterSelection { grid-column:1; }.master-selection-tray #generateConsensusButton { grid-column:2; width:100%; }.selection-tray-copy p { font-size:10px; }

  .simulation-view { display:grid; grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:auto; overflow:visible; }.simulation-view > * { grid-column:1 !important; grid-row:auto !important; }.simulation-intro > div:first-child { min-width:0; }.simulation-header-actions { margin-top:13px; display:grid; grid-template-columns:1fr 1fr; justify-content:stretch; }.simulation-header-actions > * { width:100% !important; min-width:0 !important; }.simulation-capital-control { grid-column:1 / -1; grid-template-columns:auto minmax(0,1fr) 50px; }
  .simulation-scope-switch { grid-column:1 / -1; }.simulation-scope-switch button { min-height:40px; font-size:12px; }
  .simulation-view.is-community { display:grid; grid-template-rows:none; grid-auto-rows:auto; }.community-simulation-panel { min-height:0; overflow:visible; padding:13px 10px 11px; }.community-simulation-head { align-items:flex-start; flex-direction:column; }.community-live-state { width:100%; white-space:normal; }.community-live-state button { margin-left:auto; }.community-simulation-main { grid-template-columns:1fr; }.community-return-hero { min-height:330px; }.community-return-hero > strong { font-size:54px; }.community-kpi-grid { grid-template-columns:1fr 1fr; grid-template-rows:none; }.community-kpi-grid article { min-height:96px; }.community-distribution { grid-template-columns:1fr; }.community-distribution > span { grid-template-columns:82px minmax(0,1fr) 28px; align-items:center; }.community-distribution > span i { grid-column:2; grid-row:1; }.community-integrity-strip { grid-template-columns:1fr 1fr; }.community-integrity-strip > span:nth-child(3) { border-left:0; border-top:1px solid rgba(70,123,155,.2); }.community-integrity-strip > span:nth-child(4) { border-top:1px solid rgba(70,123,155,.2); }.community-integrity-strip > em { grid-column:1 / -1; min-height:42px; justify-content:center; border-top:1px solid rgba(70,123,155,.2); border-left:0; text-align:center; white-space:normal; }
  .simulation-summary-grid { grid-template-columns:1fr 1fr; }.simulation-summary-grid article { min-height:82px; }.simulation-strategy-column { min-height:150px; }.simulation-strategy-list { height:auto; overflow:visible; }
  .simulation-detail-panel { display:grid; grid-template-rows:none; grid-auto-rows:auto; padding:12px 10px; }.simulation-detail-head { align-items:center; }.simulation-next { padding-left:8px; }.simulation-performance-strip { grid-template-columns:1fr 1fr; }.simulation-performance-strip span:nth-child(3) { border-left:0; border-top:1px solid var(--line-soft); }.simulation-performance-strip span:nth-child(4) { border-top:1px solid var(--line-soft); }
  .simulation-table-wrap { width:100%; height:370px; min-height:0; overflow:auto; }.simulation-position-table { min-width:690px; }.holdings-table-title { min-width:690px; }.simulation-validation-grid { grid-template-columns:1fr; }.simulation-chart-box { min-height:190px; }.validation-matrix { min-height:190px; }.simulation-audit-panel { min-height:410px; }.simulation-timeline { max-height:180px; overflow:auto; }

  .research-report-view { display:grid; grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:auto; align-content:start; overflow:visible; }.research-report-view > * { grid-column:1 !important; grid-row:auto !important; }.research-header-actions { margin-top:13px; }.research-header-actions .compact-button { min-width:0; flex:1; }.research-summary-grid { grid-template-columns:1fr 1fr; }.research-summary-grid article { min-height:90px; }.research-main-panel { padding:15px 13px; }.report-finding-grid { grid-template-columns:1fr 1fr; }.report-finding-grid article:nth-child(3) { border-left:0; border-top:1px solid var(--line-soft); }.report-finding-grid article:nth-child(4) { border-top:1px solid var(--line-soft); }.research-report-library,.research-ledger-panel,.research-method-panel { min-height:0; }.research-ledger-panel { overflow-x:auto; }.research-ledger-table { min-width:560px; }

  .modal-backdrop { place-items:start center; padding:12px; overflow:auto; }.modal { width:100%; max-height:none; margin:auto 0; padding:22px 17px; }.detail-drawer { width:100%; padding:22px 16px; }.detail-result-grid,.detail-current-state { grid-template-columns:1fr 1fr; }.detail-columns { grid-template-columns:1fr; }
  .major-news-modal { width:100%; max-height:none; margin:auto 0; padding:18px 14px 15px; }.major-news-heading { grid-template-columns:50px minmax(0,1fr); gap:10px; padding-right:26px; }.major-news-large-bell { width:48px; height:48px; font-size:25px; }.major-news-heading h2 { font-size:20px; }.major-news-heading .major-news-level { grid-column:1 / -1; width:max-content; }.major-news-story h3 { font-size:16px; }.major-news-config-preview { grid-template-columns:1fr; }.major-news-config-preview > div:first-child { border-right:0; border-bottom:1px solid rgba(66,122,151,.24); }.major-news-allocation { grid-template-columns:1fr; }.major-news-method { grid-template-columns:1fr; }.major-news-actions { grid-template-columns:1fr; }.major-news-actions a,.major-news-actions button { min-height:46px; }
  .major-news-history-modal { width:100%; max-height:none; margin:auto 0; padding:18px 13px 14px; overflow:visible; grid-template-rows:none; }.major-news-history-heading { display:block; padding-right:28px; }.major-news-history-heading h2 { font-size:20px; }.major-news-history-heading > strong { display:inline-block; margin-top:9px; }.major-news-history-notice { grid-template-columns:1fr; }.major-news-history-list { max-height:none; overflow:visible; }.major-news-history-item { grid-template-columns:1fr; }.major-news-history-item footer,.major-news-history-actions { grid-column:1; }.major-news-history-actions { grid-row:auto; grid-template-columns:1fr 1fr; }.major-news-history-actions a,.major-news-history-actions button { min-height:44px; }
  .holding-editor-labels,.holding-editor-row { grid-template-columns:minmax(0,1fr) 84px 38px; gap:6px; }.holding-editor-row > input,.holding-editor-row label { height:42px; }.holding-editor-row > button { width:38px; height:38px; }.holding-editor-summary button { min-height:40px; }.holding-editor-actions button { min-height:44px; }
  .trade-ticket { padding:18px 14px 15px; }.trade-ticket-head { grid-template-columns:42px minmax(0,1fr); gap:9px; padding-right:28px; }.trade-ticket-icon { width:42px; height:42px; }.trade-ticket-head .analysis-badge { grid-column:1 / -1; width:max-content; }.trade-ticket-head small,.trade-field > span,.trade-quote-source,.trade-quote-strip small,.trade-preview small,.trade-ticket-hint { font-size:12px; }.trade-instrument-picker,.trade-custom-fields { grid-template-columns:1fr; gap:0; }.trade-custom-fields { padding:0 9px 10px; }.trade-side-switch button,.trade-field select,.trade-field > input,.trade-search-field input,.trade-amount-input,.trade-price-input { min-height:46px; }.trade-market-tabs { grid-template-columns:repeat(3,1fr); }.trade-market-tabs button { min-height:40px; font-size:12px; }.trade-quick-amounts button { min-height:40px; }.trade-submit { min-height:46px; }.trade-quote-strip span,.trade-preview span { padding:9px 6px; }.trade-quote-strip strong,.trade-preview strong { font-size:12px; }
  .access-center-modal,.invite-admin-modal { width:100%; max-height:none; padding:22px 15px 18px; }.access-center-top { grid-template-columns:42px minmax(0,1fr); }.access-success-icon { width:42px; height:42px; }.access-center-top .access-state { grid-column:1 / -1; width:max-content; }.access-facts-grid,.access-value-grid { grid-template-columns:1fr 1fr; }.access-facts-grid span:nth-child(3),.access-value-grid span:nth-child(3) { border-left:0; }.access-facts-grid strong { white-space:normal; font-size:12px; }.access-guide-head { align-items:center; }.access-workflow { grid-template-columns:1fr; }.access-workflow > i { display:none; }.access-workflow > button { width:100%; padding:9px; border-color:rgba(53,95,123,.24); }.access-workflow em { display:block; }.access-workflow span { white-space:normal; }.access-quick-actions { grid-template-columns:1fr 1fr; }.access-center-actions { grid-template-columns:1fr 1fr; }.access-center-actions #accessContinueButton { grid-column:1 / -1; }.access-center-actions button { height:44px; }
  .consensus-backdrop { padding:8px; place-items:start center; }.consensus-lab { width:100%; max-height:none; padding:16px 12px 12px; }.consensus-header { display:block; padding-right:30px; }.consensus-master-strip { min-width:0; margin-top:12px; justify-content:flex-start; }.consensus-metric-grid { grid-template-columns:1fr 1fr; }.consensus-metric-grid > span:nth-child(odd) { border-left:0; }.consensus-market-grid,.consensus-body-grid { grid-template-columns:1fr; }.consensus-market-bottom { grid-template-columns:1fr 1fr; }.consensus-premium-grid { grid-template-columns:1fr 1fr; }.consensus-premium-details { grid-template-columns:1fr; }.consensus-premium-heading { align-items:flex-start; flex-direction:column; gap:3px; }.consensus-compare-grid { grid-template-columns:1fr; }.consensus-compare-heading { align-items:flex-start; flex-direction:column; }.consensus-forward-card { grid-template-columns:1fr; }.consensus-forward-metrics { grid-template-columns:1fr 1fr; border-top:1px solid rgba(62,124,89,.2); border-left:0; }.consensus-allocation-head,.consensus-allocation-row { grid-template-columns:minmax(0,1.35fr) 70px minmax(92px,.9fr); gap:5px; }.consensus-evidence-strip { grid-template-columns:1fr 1fr; }.consensus-evidence-strip span:nth-child(odd) { border-left:0; }.consensus-actions { grid-template-columns:1fr; }.consensus-vote-row { grid-template-columns:minmax(78px,1fr) minmax(80px,1fr) 64px 42px; padding:6px 3px; font-size:10px; }.research-profile-backdrop { padding:8px; place-items:start center; }.research-profile-modal { width:100%; max-height:none; padding:17px 12px 13px; }.research-profile-form { grid-template-columns:1fr 1fr; }.research-profile-form .profile-wide { grid-column:1 / -1; }.research-profile-actions { grid-template-columns:1fr; }
  .invite-admin-heading { padding-right:24px; }.invite-admin-grid { grid-template-columns:1fr 1fr; }.invite-admin-grid .admin-key-field,.invite-admin-grid .admin-note-field { grid-column:1 / -1; }.invite-code-field input,.invite-code-field select { height:46px; }.invite-order-heading { align-items:flex-start; }.invite-order-list { max-height:none; }.invite-order-card { grid-template-columns:1fr; }.invite-order-data { grid-column:1; }.invite-order-actions { grid-template-columns:minmax(0,1fr) 62px 72px; }.invite-order-actions code { font-size:9px; }.access-admin-actions { grid-template-columns:1fr 1fr; }.access-admin-actions button { height:40px; }
  .invite-benefits { grid-template-columns:1fr 1fr; }.invite-service-facts { display:grid; grid-template-columns:1fr; }.toast { width:calc(100% - 28px); bottom:50px; text-align:center; }
}

@media (max-width: 760px) {
  .open-source-lab-head { align-items:flex-start; flex-direction:column; }
  .open-source-symbols { width:100%; display:grid; grid-template-columns:repeat(4,1fr); }.open-source-symbols button { min-width:0; height:38px; }
  .open-source-hero { grid-template-columns:1fr 1fr; }.open-source-hero > span:nth-child(3) { border-left:0; border-top:1px solid rgba(70,123,155,.2); }.open-source-hero > span:nth-child(4) { border-top:1px solid rgba(70,123,155,.2); }
  .open-source-sections { grid-template-columns:1fr; }.open-source-sections > article { border-left:0; border-top:1px solid rgba(70,123,155,.2); }.open-source-sections > article:first-child { border-top:0; }
  .open-source-metric-grid { grid-template-columns:1fr 1fr; }.open-source-metric-grid > span:nth-child(n) { border-left:1px solid rgba(70,123,155,.16); border-top:1px solid rgba(70,123,155,.16); }.open-source-metric-grid > span:nth-child(odd) { border-left:0; }.open-source-metric-grid > span:nth-child(-n+2) { border-top:0; }
  .open-source-metric-grid > span { min-height:66px; }.open-source-metric-grid small { font-size:.67rem; }.open-source-metric-grid strong { font-size:.9rem; }.open-source-metric-grid em { font-size:.62rem; }
  .open-source-disclosure { font-size:.68rem; }
  .open-source-chart { height:290px; }.open-source-chart-foot { flex-wrap:wrap; }.open-source-chart-foot a { width:100%; margin-left:0; }
  .portfolio-lab-head { align-items:flex-start; flex-direction:column; }.portfolio-lab-head button { width:100%; height:38px; }.portfolio-asset-selector { display:grid; grid-template-columns:repeat(2,1fr); }.portfolio-asset-selector button { height:38px; }.portfolio-result-grid { grid-template-columns:1fr; }.portfolio-result-grid > article { padding:13px; }.portfolio-weight-list > span { min-height:23px; }.portfolio-style-switch { width:100%; display:grid; grid-template-columns:repeat(3,1fr); }.monte-carlo-head { align-items:flex-start; flex-direction:column; }.portfolio-style-switch button { height:35px; }.monte-carlo-metric-grid { grid-template-columns:repeat(2,1fr); }.monte-carlo-metric-grid > span { min-height:65px; border-top:1px solid rgba(64,129,108,.16); }.monte-carlo-metric-grid > span:nth-child(odd) { border-left:0; }.monte-carlo-metric-grid > span:nth-child(-n+2) { border-top:0; }
}
