/* ==========================================================================
   HOT 热核量化 · 量子情报终端皮肤 (v2 · 2026-11-07)
   加载顺序：spider.css 之后。只覆盖视觉，不改任何数据与交互逻辑。
   想回退：删掉 spider.html 里这一行 <link ... spider_theme.css> 即可。
   ========================================================================== */

:root {
  --q-ink: #03070a;
  --q-panel: rgba(7, 15, 17, .82);
  --q-line: rgba(99, 255, 187, .17);
  --q-line-2: rgba(99, 255, 187, .34);
  --q-green: #63ffbb;
  --q-cyan: #51e6ff;
  --q-violet: #a98cff;
  --q-amber: #ffd489;
  --q-rose: #ff6b8a;
  --q-text: #e6fbf3;
  --q-dim: #7fa79b;
  --q-dimmer: #4d6a61;
  --q-mono: "SF Mono", "Menlo", "Roboto Mono", ui-monospace, monospace;
  --green: var(--q-green);
  --cyan: var(--q-cyan);
  --amber: var(--q-amber);
  --line: #123c33;
  --muted: var(--q-dim);
  --text: var(--q-text);
}

/* ---------- 底色与大气层 ---------- */
html { background: #03070a; }
body {
  background-color: #03070a !important;
  background-image:
    radial-gradient(1200px 720px at 22% -10%, rgba(30, 120, 96, .30), transparent 62%),
    radial-gradient(900px 640px at 88% 8%, rgba(40, 70, 150, .18), transparent 66%),
    radial-gradient(1000px 800px at 60% 110%, rgba(20, 90, 80, .16), transparent 60%) !important;
  background-attachment: fixed;
  color: var(--q-text);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", var(--q-mono);
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(90, 200, 170, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(90, 200, 170, .045) 1px, transparent 1px),
    linear-gradient(rgba(90, 200, 170, .022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(90, 200, 170, .022) 1px, transparent 1px);
  background-size: 192px 192px, 192px 192px, 48px 48px, 48px 48px;
  mask-image: radial-gradient(1300px 900px at 50% 30%, #000 45%, transparent 94%);
  animation: qGrid 42s linear infinite;
}
body::after {
  content: ""; position: fixed; inset: 0; z-index: 1; pointer-events: none;
  background:
    repeating-linear-gradient(180deg, rgba(0, 0, 0, .16) 0 1px, transparent 1px 3px),
    radial-gradient(120% 90% at 50% 44%, transparent 52%, rgba(0, 4, 6, .58) 100%);
  opacity: .85; mix-blend-mode: multiply;
}
@keyframes qGrid {
  to { background-position: 192px 192px, 192px 192px, 48px 48px, 48px 48px; }
}
header, .layout { position: relative; z-index: 2; }

/* ---------- 顶栏 ---------- */
header {
  height: 74px !important;
  padding: 0 30px !important;
  border-bottom: 1px solid var(--q-line) !important;
  background: linear-gradient(180deg, rgba(6, 14, 16, .92), rgba(4, 10, 12, .55)) !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 rgba(99, 255, 187, .06), 0 18px 48px -32px rgba(0, 255, 190, .45);
}
header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--q-green), transparent 62%);
  opacity: .55;
}
.brand-symbol {
  width: 40px !important; height: 40px !important;
  border: 1px solid var(--q-line-2) !important;
  background: radial-gradient(circle at 50% 50%, rgba(99, 255, 187, .16), transparent 70%);
  box-shadow: 0 0 26px rgba(99, 255, 187, .25), inset 0 0 18px rgba(99, 255, 187, .18);
  animation: qBreath 5.5s ease-in-out infinite;
}
.brand-symbol span { color: var(--q-green); font-size: 21px; text-shadow: 0 0 14px rgba(99, 255, 187, .9); }
@keyframes qBreath { 50% { box-shadow: 0 0 38px rgba(99, 255, 187, .42), inset 0 0 24px rgba(99, 255, 187, .3); } }
.brand b {
  font-size: 21px !important; letter-spacing: 2.5px !important; font-weight: 700 !important;
  background: linear-gradient(100deg, #f2fffa, #8dffd0 60%, #6fe9ff);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.sub { color: var(--q-cyan) !important; letter-spacing: 2.4px !important; opacity: .85; }
.header-right { gap: 16px !important; font-family: var(--q-mono); }
.status {
  color: var(--q-green) !important; letter-spacing: .16em;
  padding: 5px 10px; border: 1px solid rgba(99, 255, 187, .22);
  background: rgba(99, 255, 187, .05);
}
.status .dot, .dot { box-shadow: 0 0 14px var(--q-green); animation: qPulse 2.4s infinite; }
@keyframes qPulse { 50% { opacity: .35; } }
.clock { color: var(--q-text) !important; letter-spacing: .14em; font-variant-numeric: tabular-nums; }
.back {
  color: var(--q-dim) !important; border: 1px solid transparent; padding: 5px 10px;
  transition: .22s;
}
.back:hover { color: var(--q-cyan) !important; border-color: rgba(81, 230, 255, .3); background: rgba(81, 230, 255, .06); }
.mode {
  font-family: var(--q-mono); letter-spacing: .16em; padding: 5px 10px !important;
  border: 1px solid rgba(255, 212, 137, .35) !important; color: var(--q-amber) !important;
  background: rgba(255, 212, 137, .05);
}
.mode.live {
  border-color: rgba(99, 255, 187, .4) !important; color: var(--q-green) !important;
  background: rgba(99, 255, 187, .07);
  box-shadow: 0 0 18px rgba(99, 255, 187, .18), inset 0 0 12px rgba(99, 255, 187, .08);
}

/* ---------- 标题区 ---------- */
.layout { padding: 26px 30px 22px !important; max-width: 1860px !important; }
.intro { margin-bottom: 22px !important; align-items: end; }
.eyebrow {
  color: var(--q-cyan) !important; letter-spacing: 3.2px !important;
  display: inline-flex; align-items: center; gap: 9px;
}
.eyebrow::before {
  content: ""; width: 5px; height: 5px; background: var(--q-cyan);
  box-shadow: 0 0 10px var(--q-cyan); transform: rotate(45deg);
}
.intro h1 {
  font-size: 34px !important; font-weight: 700 !important; letter-spacing: 1.5px !important;
  line-height: 1.35 !important;
  background: linear-gradient(100deg, #f4fffb 8%, #8dffd0 52%, #63e6ff 92%) !important;
  -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
  filter: drop-shadow(0 0 26px rgba(80, 255, 200, .18));
}
.intro p { color: var(--q-dim) !important; letter-spacing: .06em; }
.intro p::before {
  content: "◈ "; color: var(--q-green); opacity: .8;
}

/* ---------- 搜索 ---------- */
.search { min-width: 420px; }
.input-shell {
  border: 1px solid rgba(99, 255, 187, .22) !important;
  background: linear-gradient(180deg, rgba(8, 22, 20, .92), rgba(4, 12, 11, .92)) !important;
  box-shadow: inset 0 0 22px rgba(0, 255, 190, .05);
  transition: .25s;
}
.input-shell:focus-within {
  border-color: var(--q-cyan) !important;
  box-shadow: 0 0 0 1px rgba(81, 230, 255, .25), 0 0 26px -6px rgba(81, 230, 255, .7), inset 0 0 22px rgba(81, 230, 255, .08);
}
.input-shell span { color: var(--q-cyan) !important; }
.search input { font-family: var(--q-mono) !important; letter-spacing: .12em; }
.search button {
  background: linear-gradient(120deg, #63ffbb, #7cf0ff) !important;
  color: #03211a !important; font-weight: 700 !important; letter-spacing: .12em;
  border: 0 !important; position: relative; overflow: hidden;
  box-shadow: 0 0 28px -6px rgba(99, 255, 187, .8);
}
.search button::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .55), transparent 70%);
  transform: translateX(-120%);
  animation: qShine 4.6s ease-in-out infinite;
}
@keyframes qShine { 0%, 62% { transform: translateX(-120%); } 82%, 100% { transform: translateX(120%); } }
.search button:hover { filter: brightness(1.06); }
.search-support { color: var(--q-dim) !important; letter-spacing: .1em; }
.search-support::before { content: "⌁ "; color: var(--q-green); }

/* ---------- 面板外壳 ---------- */
.panel {
  background: linear-gradient(180deg, rgba(8, 18, 18, .92), rgba(4, 10, 11, .96)) !important;
  border: 1px solid var(--q-line) !important;
  position: relative;
  background-image:
    linear-gradient(var(--q-line-2), var(--q-line-2)), linear-gradient(var(--q-line-2), var(--q-line-2)),
    linear-gradient(var(--q-line-2), var(--q-line-2)), linear-gradient(var(--q-line-2), var(--q-line-2)),
    linear-gradient(var(--q-line-2), var(--q-line-2)), linear-gradient(var(--q-line-2), var(--q-line-2)),
    linear-gradient(var(--q-line-2), var(--q-line-2)), linear-gradient(var(--q-line-2), var(--q-line-2)),
    linear-gradient(180deg, rgba(8, 18, 18, .92), rgba(4, 10, 11, .96)) !important;
  background-repeat: no-repeat !important;
  background-size: 12px 1px, 1px 12px, 12px 1px, 1px 12px, 12px 1px, 1px 12px, 12px 1px, 1px 12px, 100% 100% !important;
  background-position:
    left top, left top, right top, right top,
    left bottom, left bottom, right bottom, right bottom, 0 0 !important;
  transition: border-color .25s, box-shadow .25s;
}
.panel:hover { border-color: rgba(99, 255, 187, .3) !important; box-shadow: 0 0 0 1px rgba(99, 255, 187, .04), 0 24px 60px -40px rgba(0, 255, 190, .7); }
.workspace { border: 1px solid var(--q-line) !important; box-shadow: 0 40px 120px -80px rgba(0, 255, 200, .55); }
.left { border-right: 1px solid var(--q-line) !important; }
.right { border-left: 1px solid var(--q-line) !important; }

.panel-head {
  min-height: 52px !important; padding: 12px 18px !important;
  border-bottom: 1px solid var(--q-line) !important;
  background: linear-gradient(180deg, rgba(12, 26, 24, .55), transparent);
  position: relative;
}
.panel-head::before {
  content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 2px;
  background: linear-gradient(180deg, var(--q-green), transparent);
  box-shadow: 0 0 12px rgba(99, 255, 187, .6);
}
.panel-title {
  font-family: var(--q-mono) !important; font-size: 12.5px !important;
  letter-spacing: .18em !important; font-weight: 600 !important; color: #eafff7 !important;
  text-shadow: 0 0 18px rgba(99, 255, 187, .25);
}
.tiny {
  font-family: var(--q-mono) !important; color: var(--q-dimmer) !important;
  letter-spacing: .18em !important; font-size: 9.5px !important;
}
.tiny::before { content: "▮ "; color: var(--q-green); opacity: .5; }

/* ---------- 左栏：因子 / 日历 / 事件 ---------- */
.factor-focus { position: relative; }
.focus-row {
  position: relative; border-bottom: 1px solid rgba(99, 255, 187, .08) !important;
  padding: 15px 0 !important;
}
.focus-row::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, rgba(99, 255, 187, .35), transparent 55%);
  opacity: 0; transition: .3s;
}
.focus-row:hover::after { opacity: 1; }
.focus-row small, .focus-row span { color: var(--q-dim) !important; letter-spacing: .08em; }
.focus-row b {
  font-family: var(--q-mono) !important; color: #f0fffa !important;
  font-weight: 600 !important; letter-spacing: .02em;
  text-shadow: 0 0 24px rgba(99, 255, 187, .3);
}

.calendar-title, .event-title {
  color: var(--q-text) !important; border-top: 1px solid var(--q-line) !important;
  font-family: var(--q-mono); letter-spacing: .1em;
}
.calendar-item { border-bottom: 1px solid rgba(99, 255, 187, .07) !important; transition: background .25s; }
.calendar-item:hover { background: rgba(99, 255, 187, .03); }
.calendar-meta { color: var(--q-cyan) !important; letter-spacing: .08em; }
.calendar-item b { color: #e8fff8 !important; }
.calendar-item p { color: var(--q-dim) !important; }
.calendar-item.urgent {
  border: 1px solid rgba(255, 107, 138, .38) !important; border-radius: 0 !important;
  background: linear-gradient(120deg, rgba(255, 60, 90, .10), rgba(80, 10, 20, .06)) !important;
  box-shadow: 0 0 24px -10px rgba(255, 80, 110, .8), inset 0 0 22px rgba(255, 80, 110, .06) !important;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
.calendar-item.tonight { border-color: rgba(255, 139, 158, .4) !important; }
.event-item { border-bottom: 1px solid rgba(99, 255, 187, .07) !important; }
.event-meta { color: var(--q-dimmer) !important; }
.event-head { color: #dffbf1 !important; }
.event-coins { letter-spacing: .06em; }
.event-logic, .calendar-foot, .event-foot { color: var(--q-dimmer) !important; }

/* ---------- 中央：蛛网 ---------- */
.graph {
  background:
    radial-gradient(circle at 49% 45%, rgba(20, 80, 66, .35), transparent 62%),
    linear-gradient(180deg, #050d0c, #03080a) !important;
  position: relative;
  border-left: 1px solid var(--q-line); border-right: 1px solid var(--q-line);
}
.graph::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 3;
  background-image:
    linear-gradient(rgba(99, 255, 187, .30), rgba(99, 255, 187, .30)), linear-gradient(rgba(99, 255, 187, .30), rgba(99, 255, 187, .30)),
    linear-gradient(rgba(99, 255, 187, .30), rgba(99, 255, 187, .30)), linear-gradient(rgba(99, 255, 187, .30), rgba(99, 255, 187, .30)),
    linear-gradient(rgba(99, 255, 187, .30), rgba(99, 255, 187, .30)), linear-gradient(rgba(99, 255, 187, .30), rgba(99, 255, 187, .30)),
    linear-gradient(rgba(99, 255, 187, .30), rgba(99, 255, 187, .30)), linear-gradient(rgba(99, 255, 187, .30), rgba(99, 255, 187, .30));
  background-repeat: no-repeat;
  background-size: 18px 1px, 1px 18px, 18px 1px, 1px 18px, 18px 1px, 1px 18px, 18px 1px, 1px 18px;
  background-position: left top, left top, right top, right top, left bottom, left bottom, right bottom, right bottom;
  opacity: .5;
}
.graph::after {
  content: ""; position: absolute; left: 0; right: 0; top: -20%; height: 22%; pointer-events: none; z-index: 2;
  background: linear-gradient(180deg, transparent, rgba(99, 255, 187, .055), transparent);
  animation: qScan 7.5s linear infinite;
}
@keyframes qScan { to { top: 105%; } }
.graph canvas { z-index: 1; }
.graph .center-label { z-index: 4; }
.graph .graph-caption, .graph .graph-number, .graph .graph-bottom, .graph .analysis-hud { z-index: 5; }
.center-label strong {
  font-family: var(--q-mono) !important; font-weight: 600 !important;
  background: linear-gradient(180deg, #ffffff, #7dffcf);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 26px rgba(99, 255, 187, .55));
}
.center-label span { color: var(--q-dim) !important; letter-spacing: .16em !important; }
.graph-caption b { color: var(--q-green) !important; letter-spacing: .2em !important; }
.graph-caption .tag {
  border: 1px solid var(--q-line-2) !important; color: var(--q-green) !important;
  background: rgba(99, 255, 187, .06); letter-spacing: .16em;
  padding: 4px 8px !important;
}
.graph-number strong {
  font-family: var(--q-mono) !important; color: #eafff7 !important;
  text-shadow: 0 0 30px rgba(99, 255, 187, .45);
}
.graph-number span { color: var(--q-dimmer) !important; letter-spacing: .12em; }
.analysis-hud {
  font-family: var(--q-mono); letter-spacing: .1em; color: var(--q-dim);
  background: linear-gradient(90deg, rgba(4, 12, 12, .7), transparent);
  padding: 6px 10px; border-left: 2px solid var(--q-green);
}
.analysis-hud b { color: var(--q-cyan) !important; }
.graph-bottom .legend { color: var(--q-dim) !important; letter-spacing: .1em; }
.legend i { box-shadow: 0 0 10px currentColor; }
.pause {
  border: 1px solid var(--q-line-2) !important; color: var(--q-green) !important;
  background: rgba(99, 255, 187, .05) !important; letter-spacing: .14em;
  transition: .22s;
}
.pause:hover { background: rgba(99, 255, 187, .12) !important; box-shadow: 0 0 22px -8px rgba(99, 255, 187, .9); }
.scan-progress { background: linear-gradient(90deg, var(--q-green), var(--q-cyan)) !important; box-shadow: 0 0 18px rgba(99, 255, 187, .8) !important; }

/* ---------- 右栏：雷达 ---------- */
.radar-box {
  background:
    radial-gradient(circle at 50% 50%, rgba(16, 70, 56, .45), transparent 66%),
    transparent !important;
  position: relative;
}
.radar-box::after {
  content: ""; position: absolute; inset: 12% 12%; border: 1px solid rgba(99, 255, 187, .08);
  border-radius: 50%; pointer-events: none;
}
.radar-label {
  color: var(--q-green) !important; letter-spacing: .16em;
  font-family: var(--q-mono); text-shadow: 0 0 16px rgba(99, 255, 187, .55);
}
.scanlist-head { color: var(--q-dim) !important; letter-spacing: .1em; }
.ticker-pause {
  border: 1px solid var(--q-line-2) !important; color: var(--q-green) !important;
  background: rgba(99, 255, 187, .05) !important;
}
.prediction-viewport { scrollbar-color: rgba(99, 255, 187, .3) transparent; }
.prediction.coin {
  border-bottom: 1px solid rgba(99, 255, 187, .08) !important;
  transition: background .25s, padding-left .25s;
  position: relative;
}
.prediction.coin:hover { background: linear-gradient(90deg, rgba(99, 255, 187, .07), transparent 70%); }
.prediction.coin b { color: #eafff7 !important; letter-spacing: .06em; }
.prediction.coin small { color: var(--q-dim) !important; }
.prediction.long .direction, .await.long { color: var(--q-green) !important; }
.prediction.short .direction, .await.short { color: var(--q-rose) !important; }
.scanlist-note { color: var(--q-dimmer) !important; }
.radar-stats { border-top: 1px solid var(--q-line) !important; }
.stats-heading { color: var(--q-dim) !important; }
.stats-score {
  font-family: var(--q-mono) !important; color: var(--q-green) !important;
  text-shadow: 0 0 34px rgba(99, 255, 187, .5);
}
.stats-counts, .stats-asof, .stats-scope { color: var(--q-dim) !important; }
.stats-details summary { color: var(--q-cyan) !important; }

/* ---------- 钻石矩阵 ---------- */
.matrix-heading {
  font-family: var(--q-mono) !important; letter-spacing: .18em !important;
  color: var(--q-dim) !important; margin: 26px 0 14px !important;
}
.matrix-heading span:first-child { color: var(--q-green) !important; }
#metric-summary { color: var(--q-dimmer) !important; letter-spacing: .1em; }
.diamond-grid { gap: 12px !important; }
.diamond-card {
  background:
    linear-gradient(180deg, rgba(9, 22, 20, .92), rgba(4, 12, 12, .96)) !important;
  border: 1px solid var(--q-line) !important;
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
  position: relative; overflow: hidden;
  transition: transform .3s cubic-bezier(.2, .8, .2, 1), border-color .3s, box-shadow .3s;
}
.diamond-card::before {
  content: ""; position: absolute; left: 0; top: 0; width: 60%; height: 1px;
  background: linear-gradient(90deg, var(--q-green), transparent);
  opacity: .8;
}
.diamond-card::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 42%;
  background: linear-gradient(100deg, transparent, rgba(99, 255, 187, .08), transparent);
  transform: translateX(-130%); transition: none;
}
.diamond-card:hover { transform: translateY(-3px); border-color: rgba(99, 255, 187, .38) !important; box-shadow: 0 30px 60px -46px rgba(0, 255, 190, .9); }
.diamond-card:hover::after { animation: qCardSweep 1.1s ease-out; }
@keyframes qCardSweep { to { transform: translateX(330%); } }
.diamond-card h2 { color: #effff9 !important; letter-spacing: .08em; }
.diamond-sub { color: var(--q-dim) !important; letter-spacing: .08em; }
.diamond-number { font-family: var(--q-mono) !important; color: var(--q-dimmer) !important; }
.diamond-icon { filter: drop-shadow(0 0 12px rgba(99, 255, 187, .5)); }
.data-badge {
  border: 1px solid var(--q-line) !important; color: var(--q-dim) !important;
  background: rgba(99, 255, 187, .04); letter-spacing: .12em;
}
.metric { border-top: 1px solid rgba(99, 255, 187, .08) !important; }
.metric-label { color: var(--q-dim) !important; letter-spacing: .1em; }
.metric-value {
  font-family: var(--q-mono) !important; font-weight: 600 !important;
  color: #f2fffb !important; text-shadow: 0 0 26px rgba(99, 255, 187, .28);
}
.metric-meta, .stale-label, .diamond-foot { color: var(--q-dimmer) !important; }
.stale-label { color: var(--q-amber) !important; }

/* ---------- 底部：K线 / 结果 / 深度 ---------- */
.bottom { border: 1px solid var(--q-line) !important; border-top: 0 !important; }
.bottom > section { background: linear-gradient(180deg, rgba(8, 18, 18, .9), rgba(4, 10, 11, .95)) !important; border-right: 1px solid var(--q-line) !important; }
.chart-head strong { font-family: var(--q-mono) !important; letter-spacing: .1em; color: #f0fff9; }
.chart-head span { color: var(--q-dimmer) !important; }
.result .await { color: var(--q-cyan) !important; letter-spacing: .06em; }
.result .explain { color: var(--q-dim) !important; }
.result-grid small { color: var(--q-dimmer) !important; letter-spacing: .12em; }
.result-grid b { color: var(--q-text) !important; }
.result-foot { color: var(--q-dimmer) !important; }
.signal-details { color: var(--q-dim); }

.deep-panel {
  border: 1px solid var(--q-line) !important;
  background: linear-gradient(135deg, rgba(8, 24, 20, .9), rgba(3, 9, 10, .96)) !important;
  box-shadow: 0 40px 120px -90px rgba(0, 255, 190, .8);
}
.report-sections { background: var(--q-line) !important; gap: 1px !important; }
.report-block { background: linear-gradient(135deg, rgba(7, 20, 17, .96), rgba(3, 9, 10, .98)) !important; }
.report-index { color: var(--q-green) !important; opacity: .55; letter-spacing: .24em; }
.report-block h3 { color: #ddfff3 !important; letter-spacing: .04em; }
.report-body { color: #a9c9bd !important; }
.report-block:first-child { border-bottom: 1px solid var(--q-line) !important; }
.report-block:last-child { border-top: 1px solid var(--q-line) !important; }

/* ---------- 页脚 ---------- */
.footer { color: var(--q-dimmer) !important; border-top: 1px solid rgba(99, 255, 187, .08); padding-top: 12px; }
.footer span:first-child { color: var(--q-dim) !important; }

/* ---------- 滚动条 / 选中 ---------- */
::selection { background: rgba(99, 255, 187, .25); color: #fff; }
* { scrollbar-width: thin; scrollbar-color: rgba(99, 255, 187, .28) transparent; }
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-thumb { background: rgba(99, 255, 187, .28); }

/* ---------- 窄屏微调 ---------- */
@media (max-width: 1280px) {
  .layout { padding: 20px 18px 18px !important; }
  .intro h1 { font-size: 28px !important; }
  .search { min-width: 0; }
}
@media (max-width: 640px) {
  header { height: auto !important; padding: 14px 16px !important; }
  .intro h1 { font-size: 25px !important; }
  .diamond-card { clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%); }
}

@media (prefers-reduced-motion: reduce) {
  body::before, .search button::after, .graph::after, .brand-symbol { animation: none !important; }
  .diamond-card:hover { transform: none; }
}

/* ---------- v2 追加：能量边 / 环场 / 页角标记 ---------- */
.workspace { position: relative; }
.workspace::before {
  content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; z-index: 6;
  background: linear-gradient(90deg, transparent, rgba(99,255,187,.0) 10%, rgba(99,255,187,.85) 48%, rgba(81,230,255,.9) 52%, transparent 90%);
  background-size: 42% 100%; background-repeat: no-repeat;
  animation: qEdge 6.5s linear infinite; pointer-events: none;
  opacity: .8;
}
@keyframes qEdge { 0% { background-position: -50% 0; } 100% { background-position: 150% 0; } }

.graph {
  background-image:
    repeating-radial-gradient(circle at 49% 45%, rgba(99,255,187,.028) 0 1px, transparent 1px 92px),
    radial-gradient(circle at 49% 45%, rgba(24, 96, 78, .38), transparent 60%),
    linear-gradient(180deg, #050d0c, #03080a) !important;
}
.graph .center-label strong { font-size: clamp(26px, 2.6vw, 44px) !important; }
.graph-number strong { font-size: clamp(28px, 3vw, 46px) !important; }

.layout { position: relative; }
.layout::before, .layout::after {
  content: ""; position: absolute; width: 26px; height: 26px; pointer-events: none;
  border-color: rgba(99,255,187,.45); border-style: solid; border-width: 0; z-index: 1;
}
.layout::before { left: 12px; top: 10px; border-left-width: 1px; border-top-width: 1px; }
.layout::after { right: 12px; top: 10px; border-right-width: 1px; border-top-width: 1px; }

.focus-row b { position: relative; }
.focus-row b::after {
  content: ""; position: absolute; left: 0; right: 12%; bottom: -6px; height: 1px;
  background: linear-gradient(90deg, rgba(99,255,187,.55), transparent);
}
.focus-row small::before { content: "▸ "; color: var(--q-green); opacity: .6; }

.panel-title { font-size: 13px !important; }
.graph-caption .tag { animation: qTag 3.2s ease-in-out infinite; }
@keyframes qTag { 50% { box-shadow: 0 0 18px -4px rgba(99,255,187,.75); } }
