/* ============================================================
   theme-bridge.css · 视觉升级桥接层（不改动 HTML 标记 / 不删旧 style）
   目标：把现有暗绿主题升级为「玻璃纵深 + 数据流光 + 入场错峰」的 Technology 观感
   依赖：css/tokens.css（变量）、css/glass.css（工具类）、css/animations.css（动效）
   加载顺序：必须放在行内 <style> 之后、mini-map.css / floating-assistant.css 之前
   原则：保留粟子农业绿 identity（--accent #5EEAD4），只加深纵深与氛围，不改色相
   ============================================================ */

/* ---------- ① 背景层：更深邃的农业夜航 + 三点全息辉光 ---------- */
:root{
  --bg:#1a0d1f;                                  /* 比 #1a0d1f 更深，托出玻璃 */
  --panel:rgba(43,16,48,.72);                    /* 半透明 → 可玻璃模糊 */
  --panel-2:rgba(43,16,48,.62);
  --line:rgba(94,234,212,.14);                  /* 更细的描边 */
  --text:#f7eafb;
  --muted:#8fb5a5;
}
body{
  background:
    repeating-linear-gradient(0deg, rgba(94,234,212,.02) 0 1px, transparent 1px 3px),
    linear-gradient(rgba(193,63,224,.05) 1px,transparent 1px) 0 0/32px 32px,
    linear-gradient(90deg,rgba(193,63,224,.05) 1px,transparent 1px) 0 0/32px 32px,
    radial-gradient(1150px 560px at 78% -8%,  rgba(193,63,224,.16), transparent 60%),
    radial-gradient(920px 520px  at -8% 108%, rgba(56,189,248,.11), transparent 62%),
    radial-gradient(720px 440px  at 106% 26%, rgba(34,211,238,.06), transparent 62%),
    var(--bg);
  background-attachment:fixed;
}

/* ---------- ② 主要面板玻璃化：backdrop + 渐变 + 内高光 + 柔和投影 ---------- */
.card, .agri-card, .rt-card, .tpl-group, .synthesis, .scene, .intel, .realtime, .agri,
.composer, .mb-card, .pulse-ticker, .hud, .agri-context, .scene-roi, .map-block{
  background:linear-gradient(180deg, rgba(43,16,48,.68), rgba(43,16,48,.58));
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border:1px solid var(--line);
  box-shadow:0 8px 28px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
}
/* 顶部 1px 高光条（玻璃"厚度"）+ 半透明底（可玻璃模糊） */
.card, .synthesis, .scene, .intel, .realtime, .agri, .composer{
  position:relative; overflow:hidden;
  background-image:
    linear-gradient(90deg, transparent, rgba(255,255,255,.06) 50%, transparent) ,
    linear-gradient(180deg, rgba(43,16,48,.68), rgba(43,16,48,.58));
  background-size:100% 1px, 100% 100%;
  background-repeat:no-repeat;
  background-position:0 0, 0 0;
  border-top:1px solid rgba(255,255,255,.07);
}

/* ---------- ③ 数据流光彩：主面板顶部流动光带（Technology 氛围核心） ---------- */
.synthesis, .agri, .realtime, .intel{ position:relative; }
.synthesis::before, .agri::before, .realtime::before, .intel::before{
  content:""; position:absolute; top:0; left:0; width:42%; height:2px;
  background:linear-gradient(90deg, transparent, var(--accent), transparent);
  opacity:.8; pointer-events:none; border-radius:2px;
  animation:flow var(--duration-flow,2400ms) cubic-bezier(.4,0,.2,1) infinite;
}
/* 三产/创新面板用紫色流光，二产用蓝，战略用橙（与分组色呼应） */
.agri::before{ background:linear-gradient(90deg, transparent, var(--accent), transparent); }
.realtime::before{ background:linear-gradient(90deg, transparent, #38bdf8, transparent); }
.synthesis::before{ background:linear-gradient(90deg, transparent, #C13FE0, transparent); }
.intel::before{ background:linear-gradient(90deg, transparent, #38bdf8, transparent); }

/* ---------- ④ 交互卡 hover：抬起 + 描边发光（沿用绿 accent） ---------- */
.card:hover, .agri-card:hover, .rt-card:hover, .tpl-group:hover{
  transform:translateY(-2px);
  border-color:rgba(193,63,224,.32);
  box-shadow:0 12px 34px rgba(0,0,0,.42), 0 0 18px rgba(193,63,224,.14), inset 0 1px 0 rgba(255,255,255,.07);
}
.tpl:hover{ box-shadow:0 0 12px rgba(193,63,224,.22); }

/* ---------- ⑤ 数字/脉冲：等宽表格数字防跳动 + 状态点发光 ---------- */
.rt-body, .mb-body, .hud, .statusbar, .pt-item, .mb-delta, .tgh-count, .rt-date{
  font-variant-numeric:tabular-nums;
}
.hud .hud-dot, .cs-dot, .mode-badge.live::before, .mb-light.green{
  box-shadow:0 0 10px rgba(193,63,224,.9);
}

/* ---------- ⑥ 入场错峰：卡片/感知列错峰淡入（只在首屏可见，性能可控） ---------- */
.role-grid > .card, .rt-grid > .rt-card, .agri-grid > .agri-card, .morning-brief > .mb-card{
  animation:fadeInUp var(--duration-slow,400ms) cubic-bezier(.16,1,.3,1) both;
}
.role-grid > .card:nth-child(2), .rt-grid > .rt-card:nth-child(2){ animation-delay:70ms; }
.role-grid > .card:nth-child(3), .rt-grid > .rt-card:nth-child(3){ animation-delay:140ms; }
.role-grid > .card:nth-child(4), .rt-grid > .rt-card:nth-child(4){ animation-delay:210ms; }
.role-grid > .card:nth-child(5), .agri-grid > .agri-card:nth-child(2){ animation-delay:90ms; }
.role-grid > .card:nth-child(6), .agri-grid > .agri-card:nth-child(3){ animation-delay:160ms; }
.role-grid > .card:nth-child(7), .agri-grid > .agri-card:nth-child(4){ animation-delay:230ms; }
.role-grid > .card:nth-child(8){ animation-delay:300ms; }

/* ---------- ⑦ 细分件精修：pill / chip / 列表行 加玻璃质感 ---------- */
.prod-chip, .cat-tag, .tb, .ib, .statusbar span, .rt-pill, .hl, .sensor, .scene-kv .skv{
  background:linear-gradient(180deg, rgba(43,16,48,.55), rgba(43,16,48,.45));
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  border:1px solid var(--line);
}

/* ---------- ⑧ 降级与无障碍 ---------- */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .card, .agri-card, .rt-card, .tpl-group, .synthesis, .scene, .intel, .realtime, .agri,
  .composer, .mb-card, .pulse-ticker, .hud, .agri-context, .scene-roi, .map-block{
    background:#1a0d1f;
  }
}
@media (prefers-reduced-motion: reduce){
  .synthesis::before, .agri::before, .realtime::before, .intel::before{ animation:none; }
  .role-grid > .card, .rt-grid > .rt-card, .agri-grid > .agri-card, .morning-brief > .mb-card{ animation:none; }
}

/* ---------- ⑨ 六号一端账号矩阵卡（C/D 真实账号·成绩待补） ---------- */
.account-matrix{ margin-top:14px; }
.account-matrix .ac-sub{ font-size:11px; color:var(--muted); font-weight:500; margin-left:8px; }
.ac-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:10px; margin-top:10px; }
.ac-item{ display:flex; flex-direction:column; gap:3px; padding:10px 12px; border-radius:10px;
  background:linear-gradient(180deg, rgba(43,16,48,.6), rgba(43,16,48,.5));
  border:1px solid var(--line); border-left:3px solid var(--accent);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  transition:transform .18s ease, box-shadow .18s ease; }
.ac-item:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.3); }
.ac-plat{ font-size:11px; color:var(--accent); font-weight:700; letter-spacing:.3px; }
.ac-name{ font-size:13px; color:#f7eafb; font-weight:600; }
.ac-id{ font-size:11px; color:var(--muted); font-family:ui-monospace,Menlo,Consolas,monospace; }
.ac-metric{ font-size:11px; color:#ffb86b; margin-top:2px; }

/* ===== prod-collapse：品种/产品分级折叠（details 标签） ===== */
.prod-collapse{
  grid-column:1 / -1;
  border:1px solid var(--line);
  border-left:3px solid var(--accent);
  border-radius:9px;
  background:linear-gradient(180deg, rgba(43,16,48,.45), rgba(43,16,48,.35));
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  overflow:hidden;
  transition:border-color .15s, background .15s;
}
.prod-collapse[open]{ border-left-color:#5eead4; background:linear-gradient(180deg, rgba(59,22,66,.55), rgba(43,16,48,.4)); }
.prod-collapse > summary{
  list-style:none; cursor:pointer;
  padding:9px 12px; font-size:13px; color:var(--text);
  display:flex; align-items:center; justify-content:space-between;
  user-select:none; position:relative;
}
.prod-collapse > summary::-webkit-details-marker{ display:none; }
.prod-collapse > summary::after{
  content:"▾"; font-size:11px; color:var(--accent);
  transition:transform .2s ease-out;
}
.prod-collapse[open] > summary::after{ transform:rotate(180deg); }
.prod-collapse > summary:hover{ background:rgba(193,63,224,.08); }
.prod-collapse-body{
  padding:4px 10px 12px;
  display:flex; flex-wrap:wrap; gap:6px;
  border-top:1px dashed rgba(193,63,224,.18);
}
.prod-collapse-body .prod-chip{ font-size:12px; padding:4px 9px; }

/* 决策场景按钮：田园保卫战（点此进游戏）与其他场景的视觉区分 */
.tpl[data-game]{ border-color: rgba(255,184,107,.4); background:linear-gradient(180deg, rgba(255,184,107,.08), rgba(193,63,224,.06)); }

/* ===== ipo-detail：投资人详版折叠（企业战略·上市四梁八柱） ===== */
.ipo-detail{ margin-top:10px; }
.ipo-detail > summary{ font-size:12.5px; color:#D98CF0; font-weight:700; }
.ipo-body{ padding:10px 14px; font-size:12.5px; line-height:1.8; color:#DCC3DE; }
.ipo-body p{ margin:9px 0; }
.ipo-body b{ color:#f7eafb; }
.ipo-body ul{ margin:6px 0 6px 18px; padding:0; }
.ipo-body li{ margin:4px 0; }
.ipo-foot{ margin-top:10px; font-size:11px; color:var(--muted); border-top:1px solid var(--hairline); padding-top:8px; }

/* ===== ac-summary：账号矩阵聚合指标（不列单号粉丝，用全网口径） ===== */
.ac-summary{ margin-top:10px; padding:9px 12px; border-radius:10px; background:rgba(193,63,224,.1); border:1px solid rgba(193,63,224,.25); font-size:12px; color:#DCC3DE; line-height:1.6; }
.ac-summary b{ color:#5eead4; }
.tpl[data-game]:hover{ box-shadow:0 0 14px rgba(255,184,107,.25); border-color:rgba(255,184,107,.7); }

/* ===== bg-tech：背景科技感增强层（drift 网格 + 浮动数据节点 + 扫描光带，置于极光之下 z-index:-3） ===== */
.bg-tech{ position:fixed; inset:0; z-index:-3; pointer-events:none; overflow:hidden; }
.bg-tech::before{  /* 缓慢漂移的细网格（蓝图纵深感） */
  content:""; position:absolute; inset:-50%;
  background-image:
    linear-gradient(rgba(193,63,224,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(193,63,224,.045) 1px, transparent 1px);
  background-size:54px 54px;
  animation:gridDrift 80s linear infinite;
}
@keyframes gridDrift{ to{ transform:translate(54px,54px); } }
.bg-tech::after{  /* 自上而下的扫描光带 */
  content:""; position:absolute; left:0; right:0; top:-40vh; height:40vh;
  background:linear-gradient(180deg, transparent, rgba(193,63,224,.05), transparent);
  animation:scanSweep 14s linear infinite;
}
@keyframes scanSweep{ 0%{ top:-40vh } 100%{ top:110vh } }
.bg-dot{
  position:absolute; width:5px; height:5px; border-radius:50%;
  background:rgba(193,63,224,.85); box-shadow:0 0 10px rgba(193,63,224,.9);
  animation:dotFloat 9s ease-in-out infinite;
}
.bg-dot:nth-child(1){ left:12%; top:30%; animation-delay:0s; }
.bg-dot:nth-child(2){ left:78%; top:22%; animation-delay:-2s; background:rgba(72,150,255,.8); box-shadow:0 0 10px rgba(72,150,255,.9); }
.bg-dot:nth-child(3){ left:62%; top:68%; animation-delay:-4s; }
.bg-dot:nth-child(4){ left:30%; top:78%; animation-delay:-1.5s; background:rgba(193,63,224,.7); box-shadow:0 0 10px rgba(193,63,224,.8); }
.bg-dot:nth-child(5){ left:88%; top:58%; animation-delay:-3s; }
@keyframes dotFloat{ 0%,100%{ transform:translateY(0); opacity:.5 } 50%{ transform:translateY(-14px); opacity:1 } }
@media (prefers-reduced-motion: reduce){
  .bg-tech::before, .bg-tech::after{ animation:none; }
  .bg-dot{ animation:none; opacity:.5; }
  .fa-fab::after{ animation:none; opacity:.4; }
}

/* ===== benchmark-card：标杆超越（证明国外研究已"拿为己用再超越"回流进产品） ===== */
.benchmark-card{ margin-top:14px; }
.benchmark-card .bm-head{ display:flex; align-items:center; gap:8px; font-size:13px; color:#D98CF0; font-weight:700; margin-bottom:8px; }
.benchmark-card .bm-row{ display:flex; gap:8px; align-items:flex-start; font-size:11.5px; line-height:1.5; padding:5px 0; border-top:1px dashed rgba(193,63,224,.14); }
.benchmark-card .bm-row:first-of-type{ border-top:none; }
.benchmark-card .bm-from{ flex:0 0 92px; color:var(--accent); font-weight:600; }
.benchmark-card .bm-txt{ color:#DCC3DE; }
.benchmark-card .bm-txt b{ color:#f7eafb; }
.benchmark-card .bm-foot{ margin-top:8px; font-size:11px; color:var(--muted); border-top:1px solid var(--hairline); padding-top:6px; }

/* ===== ipo-disclaimer：上市详版公开可见性 gate（保持公开但加非要约声明） ===== */
.ipo-detail > summary{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ipo-disclaimer{
  display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600;
  color:#ffcf8b; background:rgba(255,184,107,.12); border:1px solid rgba(255,184,107,.35);
  padding:2px 8px; border-radius:999px; letter-spacing:.2px; white-space:nowrap;
}
