:root {
  color-scheme: dark;
  --color-background: #07111e;
  --color-surface: #0b192a;
  --color-surface-raised: #0f2035;
  --color-border: #1c3551;
  --color-border-soft: #142a43;
  --color-text: #edf5ff;
  --color-muted: #8199b6;
  --color-subtle: #5f7895;
  --color-accent: #4cc8ff;
  --color-positive: #30d68c;
  --color-negative: #fa6074;
  --color-warning: #ffbf5b;
  --color-violet: #9f8cff;
  --shadow-panel: 0 18px 45px rgba(0, 0, 0, .2);
  font-family: Inter, "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--color-background); }
body { margin: 0; min-height: 100vh; overflow-x: hidden; color: var(--color-text); background: var(--color-background); }
button, input { font: inherit; }
.ambient { position: fixed; z-index: 0; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.ambient-one { width: 620px; height: 420px; top: -280px; left: -130px; background: radial-gradient(circle, rgba(30, 119, 192, .2), transparent 67%); }
.ambient-two { width: 420px; height: 420px; right: -230px; top: 260px; background: radial-gradient(circle, rgba(48, 214, 140, .06), transparent 70%); }

.terminal-header, .terminal-footer, .dashboard { position: relative; z-index: 1; }
.terminal-header { height: 64px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--color-border-soft); padding: 0 max(20px, calc((100vw - 1400px) / 2)); background: rgba(7, 17, 30, .86); backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: 8px; color: var(--color-text); text-decoration: none; font-size: 14px; font-weight: 760; letter-spacing: .09em; }
.brand-mark { color: var(--color-accent); font-size: 18px; }.brand-product { color: var(--color-subtle); font-weight: 540; }
.header-meta { display: flex; align-items: center; gap: 18px; color: var(--color-muted); font-size: 11px; letter-spacing: .04em; }
.connection-state { color: #8ce9ba; }.connection-state i, .live-badge i, .metric-state i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 9px currentColor; }
.connection-state[data-state="connecting"], .live-badge[data-state="connecting"] { color: var(--color-warning); }
.connection-state[data-state="disconnected"], .live-badge[data-state="disconnected"] { color: var(--color-negative); }

.dashboard { width: min(1400px, calc(100% - 40px)); margin: 0 auto; padding: 30px 0 48px; }
.dashboard-heading, .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.dashboard-heading { margin-bottom: 10px; }.eyebrow { margin: 0 0 6px; color: var(--color-accent); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
h1, h2, h3, p { margin-top: 0; } h1 { margin-bottom: 0; font-size: clamp(21px, 2.3vw, 30px); letter-spacing: -.03em; } h2 { margin-bottom: 0; font-size: 16px; } h3 { margin-bottom: 7px; font-size: 13px; }
.dashboard-purpose, .section-heading > span { margin: 0; color: var(--color-muted); font-size: 11px; }
.settings-link { color: #9ddfff; font-size: 9px; text-decoration: none; }.settings-link:hover { color: #fff; }
.system-status-strip { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 12px; }.system-status-item { display:inline-flex; align-items:center; gap:5px; border:1px solid #1b3b57; border-radius:99px; padding:4px 8px; color:#7e96ad; background:rgba(10,28,45,.72); font-size:8px; }.system-status-item i { width:5px; height:5px; border-radius:50%; background:#61788f; }.system-status-item[data-state="normal"] { color:#81ddb2; }.system-status-item[data-state="normal"] i { background:var(--color-positive); }.system-status-item[data-state="degraded"] { color:#ffd28a; }.system-status-item[data-state="degraded"] i { background:var(--color-warning); }.system-status-item[data-state="unconfigured"] { color:#7f99b0; }.system-status-item[data-state="down"], .system-status-item[data-state="unavailable"] { color:#ff9aaa; }.system-status-item[data-state="down"] i, .system-status-item[data-state="unavailable"] i { background:var(--color-negative); }

.panel { position: relative; min-width: 0; border: 1px solid var(--color-border); border-radius: 13px; background: linear-gradient(145deg, rgba(15, 32, 53, .95), rgba(9, 23, 39, .98)); box-shadow: var(--shadow-panel); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 2.18fr) minmax(320px, 1fr); gap: 13px; }
.market-card { min-height: 258px; padding: 18px 20px 12px; overflow: hidden; }
.market-card::after { content: ""; position: absolute; z-index: -1; width: 310px; height: 310px; right: -95px; top: -205px; border-radius: 50%; background: rgba(35, 145, 220, .12); }
.panel-topline, .metric-heading, .dimension-title { display: flex; justify-content: space-between; align-items: start; gap: 8px; }
.panel-label { margin-bottom: 0; color: #a6bad0; font-size: 11px; }.source-label { margin: 4px 0 0; color: var(--color-subtle); font-size: 8px; letter-spacing: .14em; }
.live-badge, .data-badge { flex: none; border-radius: 999px; font-size: 9px; line-height: 1; }.live-badge { padding: 5px 8px; color: var(--color-accent); background: rgba(76, 200, 255, .08); border: 1px solid rgba(76, 200, 255, .19); }
.price-line { display: flex; align-items: baseline; gap: 14px; margin-top: 12px; }.market-price { font-size: clamp(34px, 4.2vw, 49px); line-height: 1; letter-spacing: -.045em; }.market-change { font-size: 15px; font-weight: 700; }
.positive { color: var(--color-positive) !important; }.negative { color: var(--color-negative) !important; }.accent { color: var(--color-accent) !important; }.neutral { color: var(--color-muted) !important; }.warning { color: var(--color-warning) !important; }
.market-meta { display: flex; gap: 24px; margin: 12px 0 0; }.market-meta div { display: flex; align-items: center; gap: 7px; }.market-meta dt { color: var(--color-subtle); font-size: 9px; }.market-meta dd { margin: 0; color: #c9d8e8; font-size: 10px; font-weight: 600; }
.chart-shell { min-height: 105px; margin-top: 5px; display: grid; place-items: center; color: var(--color-subtle); }.chart-shell svg { display: block; width: 100%; height: 105px; overflow: visible; }.chart-message { margin: 0; font-size: 10px; }.chart-caption { display: flex; justify-content: space-between; margin-top: -7px; color: var(--color-subtle); font-size: 8px; }
.chart-line { stroke-width: 2; }.chart-up { color: var(--color-positive); stroke: var(--color-positive); }.chart-down { color: var(--color-negative); stroke: var(--color-negative); }
.kline-shell { position: relative; min-width: 0; margin-top: 16px; border-top: 1px solid var(--color-border-soft); padding-top: 8px; overflow: hidden; }
.kline-toggle { width: 100%; border: 1px solid rgba(76, 200, 255, .23); border-radius: 8px; padding: 9px 12px; color: #a9e5ff; background: rgba(76, 200, 255, .07); font-size: 10px; font-weight: 700; cursor: pointer; }.kline-toggle:hover { background: rgba(76, 200, 255, .14); }
.kline-toolbar, .kline-chart-head, .kline-oscillator-head { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.kline-toolbar { min-height: 35px; border-bottom: 1px solid rgba(28, 53, 81, .68); }
.kline-periods, .kline-overlays, .kline-oscillators { min-width: 0; display: flex; align-items: center; gap: 3px; }
.kline-periods button, .kline-overlays button, .kline-oscillators button, .kline-error button { border: 0; border-radius: 6px; padding: 6px 9px; color: #7891aa; background: transparent; font-size: 9px; font-weight: 650; cursor: pointer; transition: color .15s ease, background .15s ease; }
.kline-periods button:hover, .kline-overlays button:hover, .kline-oscillators button:hover { color: #ccecff; background: rgba(76, 200, 255, .07); }
.kline-periods button.active, .kline-overlays button.active, .kline-oscillators button.active { color: #a6e5ff; background: rgba(76, 200, 255, .14); }
.kline-data-state { flex: none; border: 1px solid rgba(76, 200, 255, .18); border-radius: 99px; padding: 4px 7px; color: var(--color-accent); background: rgba(76, 200, 255, .07); font-size: 8px; }
.kline-shell[data-stale="true"] .kline-data-state { color: var(--color-warning); border-color: rgba(255, 191, 91, .2); background: rgba(255, 191, 91, .08); }
.kline-chart-head { min-height: 31px; }
.kline-ohlc { overflow: hidden; color: #6f88a2; font: 8px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; text-overflow: ellipsis; }
.kline-main-chart { width: 100%; height: 360px; }
.kline-oscillator-head { min-height: 31px; border-top: 1px solid rgba(28, 53, 81, .68); }
.kline-oscillator-chart { width: 100%; height: 145px; }
.kline-loading { position: absolute; z-index: 4; inset: 76px 0 0; display: none; place-items: center; color: #8da6bf; background: rgba(8, 21, 36, .76); font-size: 10px; backdrop-filter: blur(2px); }
.kline-shell.is-loading .kline-loading { display: grid; }
.kline-error { position: absolute; z-index: 5; inset: 76px 0 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: #aebfd0; background: rgba(8, 21, 36, .95); font-size: 10px; }
.kline-error[hidden] { display: none; }
.kline-error button { color: #bfeaff; background: #10334e; }
.market-error { position: absolute; z-index: 2; inset: 60px 18px 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 10px; background: rgba(9, 22, 38, .97); }.market-error[hidden] { display: none; }.market-error p { margin-bottom: 9px; color: #b9c9db; font-size: 12px; }.market-error button { border: 1px solid #285073; border-radius: 7px; padding: 6px 10px; color: #bceaff; background: #102d46; cursor: pointer; }
.skeleton { color: transparent; border-radius: 6px; background: linear-gradient(90deg, #142941, #1b3551, #142941); background-size: 200% 100%; animation: skeleton 1.4s infinite linear; }

.ai-opinion-card { min-height: 258px; padding: 18px; display: flex; flex-direction: column; overflow: hidden; }.ai-action-signal { width: fit-content; margin: 22px 0 0; padding: 5px 10px; border-radius: 8px; background: rgba(255, 191, 91, .1); color: var(--color-warning); font-size: clamp(21px, 2.5vw, 29px); font-weight: 800; letter-spacing: -.04em; }.ai-action-signal.positive { color: var(--color-positive); background: rgba(48, 214, 140, .1); }.ai-action-signal.negative { color: var(--color-negative); background: rgba(250, 96, 116, .1); }.ai-action-signal.neutral { color: var(--color-muted); background: #19334c; }.opinion-summary { margin: 11px 0 0; color: #e8f4ff; font-size: clamp(15px, 1.45vw, 19px); font-weight: 680; line-height: 1.52; letter-spacing: -.025em; }.confidence-row { margin-top: auto; color: #9db7d0; font-size: 10px; }.confidence-track { height: 5px; margin-top: 8px; overflow: hidden; border-radius: 99px; background: #19334c; }.confidence-track i { display: block; width: 72%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #37b7ef, var(--color-accent)); }.opinion-note { margin: 13px 0 0; color: var(--color-muted); font-size: 10px; line-height: 1.55; }.ai-opinion-toggle { width: fit-content; margin-top: 10px; padding: 0; border: 0; color: var(--color-accent); background: transparent; font-size: 10px; cursor: pointer; }.ai-opinion-toggle:hover { color: #c3efff; }.ai-opinion-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 11px; padding-top: 10px; border-top: 1px solid var(--color-border-soft); }.ai-opinion-details h3 { margin: 0 0 5px; color: #b8c9da; font-size: 10px; }.ai-opinion-details ul { margin: 0; padding-left: 15px; color: var(--color-muted); font-size: 9px; line-height: 1.55; }.ai-opinion-risk h3 { color: var(--color-negative); }.ai-opinion-disclaimer { margin: 7px 0 0; color: var(--color-subtle); font-size: 8px; }
.ai-meta { display: flex; flex-wrap: wrap; gap: 5px 13px; margin-top: 8px; color: var(--color-subtle); font-size: 8px; }.ai-meta b { color: #a9bed3; font-weight: 600; }
.compact-metrics { min-width: 0; width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin-top: 13px; }.metric-card { min-height: 157px; padding: 17px; display: flex; flex-direction: column; overflow: hidden; }.data-badge { padding: 4px 7px; }.simulated { color: #87d9ff; background: #10334e; }.pending { color: #a5b5c7; background: #263547; }.live-data { color: #8ce9ba; background: rgba(48, 214, 140, .11); }
.metric-value { margin-top: 22px; font-size: 34px; line-height: 1; letter-spacing: -.04em; }.metric-value small { color: var(--color-subtle); font-size: 12px; font-weight: 600; letter-spacing: 0; }.ai-value { color: var(--color-accent); }.waiting-value { color: #90a4bb; }.status-value { font-size: 29px; }.metric-state { margin: 9px 0 0; font-size: 12px; font-weight: 700; }.metric-note { margin: auto 0 0; color: var(--color-muted); font-size: 10px; line-height: 1.65; }

.section-block { margin-top: 30px; }.section-heading { margin-bottom: 11px; }.dimension-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }.dimension-card { min-height: 145px; padding: 15px; }.dimension-title { color: #9ab0c8; font-size: 11px; }.dimension-title b { display: grid; place-items: center; width: 28px; height: 28px; margin-top: -4px; border-radius: 8px; color: var(--color-accent); background: #142d48; }.dimension-card > strong { display: block; margin-top: 18px; font-size: 17px; }.dimension-card > p { margin: 5px 0 11px; color: var(--color-muted); font-size: 10px; }.dimension-card > .data-badge { position: absolute; right: 13px; bottom: 12px; }.progress { width: calc(100% - 66px); height: 4px; overflow: hidden; border-radius: 4px; background: #18304a; }.progress i { display: block; width: var(--progress); height: 100%; border-radius: inherit; background: var(--color-positive); }.accent-progress i { background: var(--color-accent); }.warning-progress i { background: var(--color-warning); }.emotion-progress i { background: var(--color-violet); }
.funding-disclaimer { display: block; margin: -5px 0 8px; color: var(--color-subtle); font-size: 7px; }.funding-confidence { position: absolute; left: 15px; bottom: 10px; color: var(--color-subtle); font-size: 7px; }
.technical-analysis-card { display: grid; grid-template-columns: minmax(170px, .65fr) minmax(0, 2.35fr); gap: 20px 28px; padding: 19px; }
.technical-summary { padding-right: 22px; border-right: 1px solid var(--color-border-soft); }
.technical-score-line { display: flex; align-items: baseline; gap: 5px; margin-top: 13px; }.technical-score-line strong { color: var(--color-accent); font-size: 39px; line-height: 1; }.technical-score-line small { color: var(--color-subtle); font-size: 10px; }
.technical-confidence { margin: 16px 0 0; color: var(--color-muted); font-size: 9px; }.technical-confidence b { color: #bdd0e3; }.technical-confidence-track { margin-top: 6px; }.technical-confidence-track i { width: 0; }
.technical-detail { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 22px; }.technical-list { min-width: 0; }.technical-list h3 { color: #b8c9da; }.technical-list ol, .technical-list ul { margin: 0; padding-left: 18px; color: var(--color-muted); font-size: 10px; line-height: 1.8; }.risk-list h3 { color: var(--color-negative); }.conflict-list h3 { color: var(--color-warning); }
.technical-meta { grid-column: 1 / -1; display: flex; gap: 22px; padding-top: 11px; border-top: 1px solid var(--color-border-soft); color: var(--color-subtle); font-size: 9px; }.technical-meta b { margin-left: 5px; color: #b7c8d9; font-weight: 600; }
.signal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }.signal-card { min-height: 118px; display: grid; grid-template-columns: 38px 1fr auto; gap: 13px; align-items: start; padding: 17px; border-left-width: 3px; }.signal-card p { max-width: 540px; margin: 0; color: var(--color-muted); font-size: 11px; line-height: 1.65; }.signal-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; font-size: 17px; font-weight: 800; }.opportunity { border-left-color: var(--color-positive); }.opportunity h3 { color: var(--color-positive); }.opportunity .signal-icon { color: var(--color-positive); background: rgba(48, 214, 140, .1); }.risk { border-left-color: var(--color-negative); }.risk h3 { color: var(--color-negative); }.risk .signal-icon { color: var(--color-negative); background: rgba(250, 96, 116, .1); }
.signal-meta { display: block; margin-top: 7px; color: var(--color-subtle); font-size: 9px; line-height: 1.55; }
.valuation-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 94px; padding: 16px 19px; }.valuation-card .panel-label { margin-bottom: 8px; }.valuation-card .waiting-value { font-size: 21px; }.ahr999-live-value { color: var(--color-accent); font-size: 27px; }.valuation-meta { display: grid; grid-template-columns: repeat(4, minmax(72px, 1fr)); align-items: center; gap: 18px; color: var(--color-subtle); font-size: 10px; }.valuation-meta span { display: grid; gap: 5px; min-width: 0; }.valuation-meta b { overflow: hidden; color: #b8c8d8; font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.focus-panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); padding: 0 16px; }.focus-row { min-height: 105px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 15px; border-right: 1px solid var(--color-border-soft); font-size: 11px; }.focus-row:last-child { border-right: 0; }.focus-row small { color: var(--color-subtle); }.focus-info { min-width: 0; display: grid; gap: 5px; }.focus-info a { overflow: hidden; color: #dbeaff; font-weight: 650; line-height: 1.45; text-decoration: none; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.focus-info a:hover { color: var(--color-accent); }.focus-info small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }.news-summary { margin: 0; overflow: hidden; color: var(--color-muted); font-size: 9px; line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.focus-info .news-original { color: var(--color-accent); font-size: 8px; font-weight: 500; }.news-metrics { flex: none; display: grid; justify-items: end; gap: 7px; }.news-impact { border-radius: 99px; padding: 3px 6px; color: var(--color-warning); background: rgba(255, 191, 91, .1); font-size: 8px; white-space: nowrap; }.news-impact[data-direction="利多BTC"] { color: var(--color-positive); background: rgba(48, 214, 140, .1); }.news-impact[data-direction="利空BTC"] { color: var(--color-negative); background: rgba(250, 96, 116, .1); }.news-importance { flex: none; color: var(--color-warning); font-size: 10px; }
.news-freshness { text-align: right; }.news-freshness[data-state="updated"] { color: var(--color-positive); }.news-freshness[data-state="error"] { color: var(--color-warning); }
.report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }.report-card { min-width: 0; padding: 17px; overflow: hidden; }.report-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; margin-top: 15px; }.report-summary strong { overflow: hidden; color: #e8f4ff; font-size: 15px; white-space: nowrap; text-overflow: ellipsis; }.report-summary span { font-size: 11px; font-weight: 700; }.report-summary b { color: var(--color-accent); font-size: 17px; }.report-view { min-height: 34px; margin: 12px 0; color: var(--color-muted); font-size: 10px; line-height: 1.7; overflow-wrap: anywhere; }.report-card details { border-top: 1px solid var(--color-border-soft); padding-top: 10px; }.report-card summary { color: #8fdcff; font-size: 9px; cursor: pointer; }.report-card pre { max-height: 300px; margin: 10px 0 0; overflow: auto; color: #b8cadc; font: 9px/1.75 var(--font-sans); white-space: pre-wrap; overflow-wrap: anywhere; }
.terminal-footer { width: min(1400px, calc(100% - 40px)); margin: 0 auto; display: flex; justify-content: space-between; border-top: 1px solid var(--color-border-soft); padding: 17px 0 25px; color: var(--color-subtle); font-size: 9px; }.terminal-footer a { color: #7994ad; }

@keyframes skeleton { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .skeleton { animation: none; } }

@media (max-width: 1060px) {
  .hero-grid { grid-template-columns: 1fr; }.ai-opinion-card { min-height: 180px; }.opinion-summary { margin-top: 17px; }.compact-metrics { min-height: 0; }.metric-card { min-height: 145px; }.metric-value { margin-top: 19px; }.dimension-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .terminal-header { height: 52px; padding: 0 13px; }.brand { font-size: 11px; }.brand-product, .header-clock { display: none; }.header-meta { font-size: 9px; }
  .dashboard { width: calc(100% - 20px); padding: 17px 0 30px; }.dashboard-heading { margin-bottom: 7px; }.dashboard-purpose { display: none; }.eyebrow { margin-bottom: 4px; font-size: 8px; } h1 { font-size: 19px; }.system-status-strip { gap:5px; margin-bottom:8px; }.system-status-item { padding:3px 6px; font-size:7px; }
  .hero-grid { gap: 8px; }.market-card { min-height: 194px; padding: 13px 13px 7px; border-radius: 11px; }.market-price { font-size: clamp(28px, 9.3vw, 38px); }.price-line { gap: 9px; margin-top: 8px; }.market-change { font-size: 12px; }.market-meta { flex-wrap: wrap; gap: 5px 11px; margin-top: 7px; }.market-meta div { gap: 4px; }.market-meta dt, .market-meta dd { font-size: 8px; }.chart-shell, .chart-shell svg { min-height: 70px; height: 70px; }
  .kline-shell { width: 100%; margin-top: 12px; }.kline-toolbar { display: block; min-height: 39px; }.kline-periods { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }.kline-periods::-webkit-scrollbar { display: none; }.kline-periods button { flex: 0 0 auto; padding: 7px 9px; }.kline-data-state { position: absolute; z-index: 2; top: 47px; right: 4px; }.kline-chart-head { min-height: 31px; padding-right: 72px; }.kline-overlays button, .kline-oscillators button { padding: 6px 7px; font-size: 8px; }.kline-ohlc { display: none; }.kline-main-chart { height: 240px; }.kline-oscillator-chart { height: 110px; }.kline-oscillator-head { overflow-x: auto; }.kline-loading, .kline-error { inset: 70px 0 0; }
  .ai-opinion-card { min-height: 134px; padding: 12px; border-radius: 11px; }.opinion-summary { margin-top: 12px; font-size: 16px; line-height: 1.42; }.confidence-row { margin-top: 12px; font-size: 8px; }.confidence-track { margin-top: 5px; }.opinion-note, .ai-meta { display: none; }
  .compact-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 8px; }.metric-card { min-height: 108px; padding: 10px 9px; border-radius: 10px; }.metric-heading .data-badge { display: none; }.panel-label { overflow: hidden; font-size: 8px; white-space: nowrap; text-overflow: ellipsis; }.metric-value, .status-value { margin-top: 17px; font-size: clamp(20px, 7vw, 28px); }.metric-value small { font-size: 8px; }.metric-state { overflow: hidden; margin-top: 7px; font-size: 9px; white-space: nowrap; text-overflow: ellipsis; }.metric-state i { width: 5px; height: 5px; margin-right: 4px; }.metric-note { display: none; }
  .section-block { margin-top: 20px; }.section-heading { margin-bottom: 8px; }.section-heading h2 { font-size: 13px; }.section-heading > span { font-size: 8px; }.dimension-grid { grid-template-columns: repeat(2, 1fr); gap: 7px; }.dimension-card { min-height: 115px; padding: 11px; border-radius: 10px; }.dimension-card > strong { margin-top: 10px; font-size: 13px; }.dimension-card > p { margin-bottom: 9px; font-size: 8px; }.dimension-title { font-size: 9px; }.dimension-title b { width: 23px; height: 23px; }.progress { width: calc(100% - 52px); }.dimension-card > .data-badge { right: 9px; bottom: 9px; font-size: 7px; }
  .technical-analysis-card { grid-template-columns: 1fr; gap: 14px; padding: 13px; border-radius: 10px; }.technical-summary { padding: 0 0 12px; border-right: 0; border-bottom: 1px solid var(--color-border-soft); }.technical-score-line { margin-top: 9px; }.technical-score-line strong { font-size: 30px; }.technical-confidence { margin-top: 10px; }.technical-detail { grid-template-columns: 1fr; gap: 12px; }.technical-list ol, .technical-list ul { font-size: 9px; line-height: 1.7; }.technical-meta { flex-wrap: wrap; gap: 7px 14px; padding-top: 9px; }
  .signal-grid { gap: 7px; }.signal-card { min-height: 88px; grid-template-columns: 25px 1fr; gap: 8px; padding: 11px 9px; border-radius: 10px; }.signal-icon { width: 24px; height: 24px; font-size: 12px; }.signal-card h3 { font-size: 10px; }.signal-card p { font-size: 8px; line-height: 1.5; }.signal-card > .data-badge { display: none; }
  .valuation-card { min-height: 78px; align-items: start; padding: 12px; border-radius: 10px; }.valuation-card .waiting-value, .ahr999-live-value { font-size: 16px; }.valuation-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; font-size: 8px; text-align: right; }.valuation-meta span { min-width: 0; gap: 4px; }.valuation-meta b { font-size: 9px; }
  .focus-panel { display: block; padding: 0 11px; }.focus-row { min-height: 84px; padding: 8px 4px; border-right: 0; border-bottom: 1px solid var(--color-border-soft); font-size: 9px; }.focus-row:last-child { border-bottom: 0; }.news-summary { font-size: 8px; }.news-impact { font-size: 7px; }
  .report-grid { grid-template-columns: 1fr; gap: 7px; }.report-card { padding: 12px; border-radius: 10px; }.report-summary { margin-top: 11px; }.report-summary strong { font-size: 12px; }.report-summary span { font-size: 9px; }.report-summary b { font-size: 13px; }.report-view { min-height: 0; margin: 8px 0; font-size: 9px; }
  .terminal-footer { width: calc(100% - 20px); display: block; text-align: center; line-height: 1.8; }.terminal-footer span:last-child { display: none; }
}

@media (max-width: 370px) {
  .metric-card { padding-inline: 7px; }.panel-label { font-size: 7.5px; }.metric-state { font-size: 8px; }.market-meta dt { display: none; }
}

/* Readable default text, with one conclusion and optional technical detail. */
.dashboard { font-size: 16px; line-height: 1.6; }
.dashboard [hidden] { display: none !important; }
.dashboard .compact-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard .panel-label, .dashboard .metric-state, .dashboard .dimension-title { font-size: 16px; }
.dashboard .metric-note, .dashboard .opinion-note, .dashboard .ai-meta,
.dashboard .technical-meta, .dashboard .technical-confidence,
.dashboard .dimension-card p, .dashboard .signal-card p,
.dashboard .signal-meta, .dashboard .news-card p { font-size: 14px; line-height: 1.7; }
.dashboard .data-badge, .dashboard .eyebrow, .dashboard .ai-opinion-disclaimer { font-size: 12px; }
.dashboard .opinion-summary, .dashboard .technical-list li { font-size: 16px; line-height: 1.7; }
.dashboard .ai-action-signal { font-size: clamp(28px, 4vw, 38px); line-height: 1.3; }
.dashboard h2 { font-size: 24px; }
.dashboard .technical-disclosure summary { cursor: pointer; padding: 18px; border: 1px solid var(--color-border); border-radius: 14px; font-size: 17px; }
.dashboard .technical-disclosure summary span { font-size: 14px; color: var(--color-muted); margin-left: 12px; }
.dashboard .technical-disclosure[open] summary { margin-bottom: 18px; }
@media (max-width: 720px) {
  .dashboard .compact-metrics { grid-template-columns: 1fr; }
  .dashboard .technical-disclosure summary span { display: block; margin-left: 0; }
}
