﻿/* ============================================================
 * 米脂小米产业数字化展示大屏 · 全局样式
 * 基准分辨率 1920×1080，外层 #screen 用 scale(sx, sy) 铺满视口
 * 深色科技底 + 小米金黄主色
 * ============================================================ */
:root {
  --bg0: #060D1D;
  --bg1: #0A1428;
  --bg2: #0E1B33;
  --bg3: #12213D;
  --line: #24365C;
  --line2: #33497A;
  --gold: #E8B94F;
  --gold2: #D9A441;
  --gold3: #8A6A28;
  --txt: #E8EDF7;
  --txt2: #9FB0CC;
  --txt3: #6C7FA3;
  --blue: #4E9BEF;
  --green: #3DD68C;
  --red: #F2637B;
  --purple: #A78BFA;
  --cyan: #3DD6D0;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width: 100%; height: 100%; overflow: hidden; background: #0a1528; }
body {
  font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  color: var(--txt);
  -webkit-font-smoothing: antialiased;
}
.num { font-family: "DIN Alternate", "Bahnschrift", Consolas, monospace; }
.ico-svg { width: 1em; height: 1em; display: block; flex: none; }

/* ============ 舞台 ============ */
#screen {
  position: relative;
  width: 1920px; height: 1080px;
  transform-origin: 0 0;
  background:
    radial-gradient(1200px 700px at 82% -10%, rgba(40, 90, 160, 0.45), transparent 60%),
    radial-gradient(1000px 600px at 8% 110%, rgba(140, 110, 40, 0.2), transparent 60%),
    linear-gradient(180deg, #122848 0%, #0e1e38 45%, #0c1830 100%);
  overflow: hidden;
}

/* ============ 页面容器 ============ */
.page {
  position: absolute; inset: 0;
  display: none;
  flex-direction: column;
  padding: 22px 30px 74px;
}
.page.on { display: flex; animation: pageIn .6s ease both; }
@keyframes pageIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.p1, .p2, .p3, .p4, .p5, .p6 {
  background: #0a1830;
  overflow: hidden;
}
.p1::before, .p2::before, .p3::before, .p4::before, .p5::before, .p6::before {
  content: "";
  position: absolute; inset: -24px; z-index: 0;
  background: url("../images/page-bg.jpg") center center / cover no-repeat;
  filter: blur(8px) brightness(1.15);
  pointer-events: none;
}
.p1::after, .p2::after, .p3::after, .p4::after, .p5::after, .p6::after {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(180deg, rgba(8, 24, 48, .48), rgba(8, 22, 44, .42));
  pointer-events: none;
}

/* ============ 顶部标题栏 ============ */
.hd {
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: center;
  height: 78px; flex: none;
  margin-bottom: 14px;
  overflow: visible;
}
/* 智慧农业：标题栏抬高层级，避免智能体下拉被下方卡片盖住 */
.p5 .hd { z-index: 40; }
.hd .deco {
  position: absolute; left: 50%; top: 6px; width: 560px; height: 66px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(232,185,79,.16), transparent 70%);
  filter: blur(2px); pointer-events: none;
}
.hd .title {
  font-size: 36px; font-weight: 700; letter-spacing: 6px;
  color: #FFF7E6;
  text-shadow: 0 0 24px rgba(232,185,79,.35);
}
.hd .title em { font-style: normal; color: var(--gold); }
.hd-main {
  position: relative; z-index: 3;
  display: flex; align-items: center; justify-content: center; gap: 18px;
}
.hd .side {
  position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  font-size: 15px; color: var(--txt2); text-align: right; line-height: 1.6;
}
.hd .side b { color: var(--gold); font-weight: 600; }
.hd .brand {
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  display: flex; align-items: center; gap: 10px;
  font-size: 17px; color: var(--gold); letter-spacing: 2px; font-weight: 600;
}
.hd .brand .logo {
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(135deg, #F5CE6B, var(--gold2));
  color: #1A1408;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; box-shadow: 0 0 18px rgba(232,185,79,.4);
}
.hd .brand .logo .ico-svg { width: 24px; height: 24px; }

/* ============ 面板组件 ============ */
.panel {
  position: relative; z-index: 1;
  background: linear-gradient(180deg, rgba(28, 48, 82, .78), rgba(18, 34, 62, .74));
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 18px 16px;
  backdrop-filter: blur(4px);
}
.panel::before, .panel::after {
  content: ""; position: absolute; width: 14px; height: 14px; pointer-events: none;
}
.panel::before { left: -1px; top: -1px; border-left: 2px solid var(--gold3); border-top: 2px solid var(--gold3); border-top-left-radius: 12px; }
.panel::after { right: -1px; bottom: -1px; border-right: 2px solid var(--gold3); border-bottom: 2px solid var(--gold3); border-bottom-right-radius: 12px; }

.ptitle {
  display: flex; align-items: center; gap: 10px;
  height: 28px; flex: none;
  font-size: 21px; font-weight: 600; color: #F4EFE4;
  margin: 0 0 12px; letter-spacing: 1px;
  line-height: 1;
}
.ptitle::before {
  content: ""; width: 5px; height: 18px; border-radius: 3px; flex: none;
  background: linear-gradient(180deg, var(--gold), var(--gold3));
  box-shadow: 0 0 10px rgba(232,185,79,.5);
}
.ptitle .sub {
  font-size: 13px; color: var(--txt3); font-weight: 400;
  margin-left: auto; letter-spacing: 0; line-height: 1;
  padding-top: 1px;
}

/* ============ KPI 指标卡 ============ */
.kpi-row { display: flex; gap: 12px; flex: none; z-index: 2; margin-bottom: 14px; }
.kpi {
  flex: 1; position: relative; overflow: hidden;
  background: linear-gradient(180deg, rgba(22, 44, 82, .78), rgba(14, 32, 62, .74));
  border: 1px solid rgba(80,140,210,.28);
  border-radius: 12px; padding: 12px 14px 10px;
  display: flex; flex-direction: column; gap: 8px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.kpi-top { display: flex; align-items: center; gap: 12px; min-width: 0; }
.kpi .ico {
  width: 46px; height: 46px; flex: none;
  border-radius: 12px; color: var(--tone, var(--gold));
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--tone, var(--gold)) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--tone, var(--gold)) 45%, transparent);
}
.kpi .ico .ico-svg { width: 24px; height: 24px; }
.kpi .kv { min-width: 0; }
.kpi .kv .v { font-size: 32px; font-weight: 700; color: #f4f7fb; line-height: 1.05; }
.kpi .kv .v .u { font-size: 14px; color: #c5d4ea; margin-left: 4px; font-weight: 400; }
.kpi .kv .n { font-size: 13px; color: #d5e2f4; margin-top: 4px; }
.spark-row { display: flex; align-items: flex-end; gap: 8px; }
.spark-row .spark { flex: 1; height: 28px; display: block; }
.spark-row .d { flex: none; max-width: 46%; font-size: 11px; color: #8ea3c2; line-height: 1.35; text-align: right; }

/* ============ 三栏主区 ============ */
.mid3 { display: flex; gap: 14px; flex: 1; min-height: 0; z-index: 2; }
.mid3 .panel { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.mid3 .panel.c-map { flex: 1.55; }
.mid3 .panel.c-narrow { flex: .92; }
.panel .body { flex: 1; min-height: 0; position: relative; }
.bot2 { display: flex; gap: 14px; flex: none; z-index: 2; margin-top: 14px; align-items: stretch; }
.bot2 .panel { flex: 1; min-width: 0; }

/* ============ 企业 TOP 榜 ============ */
.top-viewport { flex: 1; min-height: 0; overflow: hidden; }
.top-head, .top-item {
  display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 100px) 76px;
  gap: 8px; align-items: center;
}
.top-head { flex: none; font-size: 12px; color: #8ea3c2; padding: 0 6px 6px; }
.top-head span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top-head span:last-child { text-align: right; }
.top-list { display: flex; flex-direction: column; gap: 4px; animation: topUp 28s linear infinite; }
.top-item {
  background: rgba(8,22,48,.45); border: 1px solid rgba(70,110,170,.25);
  border-radius: 6px; padding: 6px;
}
.top-item .rank {
  width: 22px; height: 22px; border-radius: 50%; font-size: 12px;
  background: rgba(120,150,190,.25); color: #d5e4f7;
}
.top-item .rank.r1 { background: linear-gradient(160deg, #F5CE6B, #C08A2E); color: #1a1408; }
.top-item .rank.r2 { background: linear-gradient(160deg, #d5deea, #8a97ad); color: #1a1408; }
.top-item .rank.r3 { background: linear-gradient(160deg, #e0b07a, #a56a32); color: #1a1408; }
.top-item .nm .t { font-size: 13px; }
.top-item .tp { font-size: 12px; color: #9fb4d0; text-align: right; white-space: nowrap; }
@keyframes topUp { from { transform: translateY(0); } to { transform: translateY(calc(-50% - 2px)); } }
.map-side {
  position: absolute; right: 6px; top: 8px; z-index: 3;
  display: flex; flex-direction: column; gap: 12px; pointer-events: none;
}
.map-side .ms { text-align: right; }
.map-side .v { font-size: 26px; font-weight: 700; color: #7ee0ff; line-height: 1; }
.map-side .u { font-size: 12px; color: #d5e8f8; margin-top: 2px; }
.map-slogan {
  position: absolute; left: 14px; bottom: 8px; z-index: 3;
  font-size: 20px; font-weight: 700; color: #f0c14a; line-height: 1.35;
  text-shadow: 0 2px 10px rgba(0,0,0,.55); pointer-events: none;
}
.chain-body { display: flex; flex-direction: column; }
#chainRing { flex: 1; min-height: 0; }
.chain-pano { flex: none; margin-top: 6px; }
.pano-title { font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.pano-row { display: flex; gap: 6px; }
.pano-step { flex: 1; min-width: 0; text-align: center; }
.pano-step .ph {
  height: 54px; border-radius: 8px; border: 1px solid;
  display: flex; align-items: center; justify-content: center;
  background: rgba(8,24,48,.55);
}
.pano-step .ph .ico-svg { width: 22px; height: 22px; }
.pano-step .nm { margin-top: 4px; font-size: 12px; color: #e8f1ff; }
.pano-step .vl { font-size: 12px; color: #f0c14a; font-family: "DIN Alternate", Consolas, monospace; }
.top-item .rank {
  width: 22px; height: 22px; border-radius: 50%;
  font-family: "DIN Alternate", Consolas, monospace;
  font-size: 12px; font-weight: 700; color: #d5e4f7;
  display: flex; align-items: center; justify-content: center;
  background: rgba(120,150,190,.28);
}
.top-item .rank.r1 { background: linear-gradient(160deg, #F5CE6B, #C08A2E); color: #1a1408; }
.top-item .rank.r2 { background: linear-gradient(160deg, #d5deea, #8a97ad); color: #1a1408; }
.top-item .rank.r3 { background: linear-gradient(160deg, #e0b07a, #a56a32); color: #1a1408; }
.top-item .nm { min-width: 0; }
.top-item .nm .t { font-size: 13px; color: #F0EDE4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.top-item .tags { display: block; min-width: 0; overflow: hidden; }
.top-item .tags span {
  display: block; max-width: 100%;
  font-size: 11px; color: #7ee0ff; border: 1px solid rgba(126,224,255,.35);
  border-radius: 4px; padding: 1px 6px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.chain-ring { display: flex; align-items: center; height: 100%; gap: 6px; min-height: 0; }
.chain-ring svg { width: 48%; height: 100%; flex: none; }
.cr-legs { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 10px; min-width: 0; }
.cr-leg { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--txt2); }
.cr-leg i { width: 10px; height: 10px; border-radius: 2px; flex: none; }
.cr-leg span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cr-leg b { color: var(--txt); font-weight: 600; font-family: "DIN Alternate", Consolas, monospace; }
.cr-leg em { font-style: normal; color: var(--gold); width: 38px; text-align: right; font-family: "DIN Alternate", Consolas, monospace; }
.map-box {
  position: absolute; inset: 0;
  /* 仅纯色衬底，不加其他底图；提亮以便轮廓清晰 */
  background: radial-gradient(80% 70% at 50% 48%, #1a4a7a 0%, #123a62 45%, #0e2c4e 100%);
}
.map-box svg { width: 100%; height: 100%; }
.map-relief {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; object-position: center; z-index: 0;
  opacity: 1;
}
.map-shade {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: none;
}
.map-overlay {
  position: absolute; inset: 0; z-index: 2;
  width: 100%; height: 100%;
  pointer-events: none;
}
.map-overlay .pt-dot { pointer-events: auto; }
.map-overlay text { text-shadow: 0 1px 4px rgba(0,0,0,.9), 0 0 3px rgba(0,0,0,.95); }
.pt-dot { cursor: pointer; }
.pt-dot circle { transition: r .3s; }
.pt-dot:hover circle { r: 13; }
.pt-pulse { animation: pulse 2s ease-out infinite; transform-origin: center; transform-box: fill-box; }
@keyframes pulse { 0% { opacity: .8; transform: scale(.4); } 100% { opacity: 0; transform: scale(2.2); } }
.pt-card {
  position: absolute; display: none; width: 300px; z-index: 20;
  background: linear-gradient(180deg, rgba(24,40,74,.97), rgba(13,24,47,.97));
  border: 1px solid var(--gold3); border-radius: 10px; padding: 12px 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.5);
}
.pt-card.show { display: block; }
.pt-card .t { font-size: 15px; color: var(--gold); font-weight: 600; margin-bottom: 4px; }
.pt-card .r { font-size: 12px; color: var(--txt2); line-height: 1.7; }
.pt-card .r b { color: var(--txt); font-weight: 500; }
.pt-card .tip { margin-top: 6px; font-size: 11px; color: #7ec8ff; }

.news-panel { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.news-panel .ptitle { flex: none; margin-bottom: 8px; }
.news-viewport { height: 108px; flex: none; overflow: hidden; position: relative; }
.news-viewport .track { display: flex; flex-direction: column; animation: newsUp 16s linear infinite; }
.news-row { display: flex; align-items: center; gap: 10px; height: 36px; flex: none; }
@keyframes newsUp { from { transform: translateY(0); } to { transform: translateY(-50%); } }
.news-row i { width: 7px; height: 7px; border-radius: 50%; background: #4E9BEF; flex: none; box-shadow: 0 0 6px rgba(78,155,239,.8); }
.news-row span { flex: 1; min-width: 0; font-size: 14px; color: #d7e4f6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ============ 品牌价值栏 ============ */
.brand-bar { display: flex; align-items: stretch; gap: 10px; height: 100%; }
.brand-bar .bb {
  flex: 1; text-align: center;
  border: 1px solid rgba(80,130,190,.28); border-radius: 10px;
  background: rgba(8,24,52,.55); padding: 14px 6px 12px;
  display: flex; flex-direction: column; justify-content: center;
}
.brand-bar .bb .v { font-size: 28px; font-weight: 700; color: #f0c14a; font-family: "DIN Alternate", Consolas, monospace; line-height: 1; }
.brand-bar .bb .v small { font-size: 13px; margin-left: 2px; font-weight: 500; }
.brand-bar .bb .k { font-size: 12px; color: #9fb4d0; margin-top: 8px; }

/* ============ 产业链四段（P2） ============ */
.chain-flow { display: flex; align-items: stretch; gap: 0; flex: none; z-index: 2; margin-bottom: 14px; }
.cf-node {
  flex: 1; position: relative; border-radius: 14px; padding: 14px 14px 12px;
  background: linear-gradient(180deg, rgba(10,32,68,.9), rgba(6,18,42,.86));
  border: 1px solid color-mix(in srgb, var(--c) 55%, transparent);
  box-shadow: 0 0 16px color-mix(in srgb, var(--c) 22%, transparent);
  overflow: hidden;
}
.cf-node .cf-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.cf-node .cf-ico {
  width: 40px; height: 40px; border-radius: 10px; flex: none;
  display: flex; align-items: center; justify-content: center;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 45%, transparent);
}
.cf-node .cf-ico .ico-svg { width: 22px; height: 22px; }
.cf-node .cf-tit { min-width: 0; }
.cf-node .cf-name { font-size: 20px; font-weight: 700; color: #f4f7fb; line-height: 1.2; }
.cf-node .cf-sub { font-size: 12px; color: #9fb0cc; margin-top: 3px; }
.cf-node .cf-no {
  margin-left: auto; font-family: "DIN Alternate", Consolas, monospace;
  font-size: 28px; font-weight: 700; color: var(--c); line-height: 1; opacity: .9;
}
.cf-node .cf-items { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cf-node .cf-cell {
  background: rgba(4,14,32,.55);
  border: 1px solid rgba(90,140,200,.22);
  border-radius: 8px; padding: 8px 8px;
  font-size: 12px; color: #d5e2f4; line-height: 1.45;
}
.cf-node .cf-cell b { font-weight: 700; font-family: "DIN Alternate", Consolas, monospace; }
.cf-arrow {
  flex: none; width: 36px; display: flex; align-items: center; justify-content: center;
  position: relative; z-index: 2;
}
.cf-arrow b {
  width: 28px; height: 28px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(8,24,52,.95);
  border: 1px solid rgba(90,170,255,.65);
  color: #8ec8ff;
  animation: arrowGlow 1.4s ease-in-out infinite;
}
.cf-arrow .ico-svg { animation: arrowNudge 1.4s ease-in-out infinite; }
.chain-flow .cf-arrow:nth-child(4) b,
.chain-flow .cf-arrow:nth-child(4) .ico-svg { animation-delay: .25s; }
.chain-flow .cf-arrow:nth-child(6) b,
.chain-flow .cf-arrow:nth-child(6) .ico-svg { animation-delay: .5s; }
@keyframes arrowGlow {
  0%, 100% { box-shadow: 0 0 0 rgba(90,170,255,0); }
  50% { box-shadow: 0 0 14px rgba(90,170,255,.9); }
}
@keyframes arrowNudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}

/* ============ P2 双栏主区 ============ */
.p2-mid { display: flex; gap: 14px; flex: 1; min-height: 0; z-index: 2; }
.p2-mid .panel { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.p2-mid .panel.w60 { flex: 1.3; }
.base-wall {
  flex: 1; min-height: 0; overflow: hidden; position: relative;
}
.base-track {
  display: flex; gap: 12px; height: 100%; width: max-content;
  animation: baseLeft 32s linear infinite;
}
.base-wall:hover .base-track { animation-play-state: paused; }
@keyframes baseLeft {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.bw-card {
  position: relative; border-radius: 10px; overflow: hidden;
  border: 1px solid var(--line2); cursor: pointer;
  background: #0C1A33;
  flex: none; width: 280px; height: 100%;
}
.bw-card .img { width: 100%; height: 100%; object-fit: cover; opacity: .78; transition: transform .6s, opacity .3s; }
.bw-card:hover .img { transform: scale(1.06); opacity: .92; }
.bw-card .ov {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 8px 10px;
  background: linear-gradient(180deg, transparent, rgba(6,13,29,.92));
}
.bw-card .ov .t { font-size: 13px; color: #FFF; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bw-card .ov .s { font-size: 11px; color: var(--gold); margin-top: 2px; }
.comp-matrix { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; flex: 1; min-height: 0; overflow: hidden; }
.cm-item {
  background: rgba(18,33,61,.55); border: 1px solid rgba(51,73,122,.45);
  border-radius: 8px; padding: 8px 10px; cursor: pointer; overflow: hidden;
  transition: border-color .3s, background .3s;
}
.cm-item:hover { border-color: var(--gold3); background: rgba(26,44,80,.7); }
.cm-item .t { font-size: 13px; color: #F0EDE4; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-item .s { font-size: 11px; color: var(--txt3); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-item .g { display: inline-block; font-size: 10.5px; color: var(--cyan); margin-top: 3px; border: 1px solid rgba(61,214,208,.3); border-radius: 3px; padding: 0 5px; }
.p2-bot { display: flex; gap: 14px; flex: none; z-index: 2; margin-top: 14px; }
.p2-bot .panel { flex: 1; min-width: 0; }

.p2-bot .seed-panel { border-color: rgba(78,155,239,.5); box-shadow: 0 0 18px rgba(78,155,239,.16); }
.p2-bot .coop-panel { border-color: rgba(61,214,140,.45); box-shadow: 0 0 18px rgba(61,214,140,.14); }
.seed-title .bic, .coop-title .bic { width: 18px; height: 18px; display: flex; color: #7ec8ff; }
.coop-title .bic { color: #3DD68C; }
.seed-title .bic .ico-svg, .coop-title .bic .ico-svg { width: 18px; height: 18px; }
#seedBlock .desc { color: #d5e2f4; }
#seedBlock .chips span {
  font-size: 13px; color: #e8f2ff;
  background: rgba(16,40,80,.55);
  border: 1px solid rgba(90,160,255,.55);
  border-radius: 8px; padding: 7px 14px;
  box-shadow: 0 0 10px rgba(78,155,239,.12);
}
#coopGrid { gap: 10px; }
#coopGrid .cg {
  text-align: center;
  border: 1px solid rgba(61,214,140,.55);
  border-radius: 10px;
  background: rgba(8,28,24,.28);
  box-shadow: inset 0 0 16px rgba(61,214,140,.08), 0 0 10px rgba(61,214,140,.08);
  padding: 14px 6px;
}
#coopGrid .cg .v { font-size: 26px; color: #3DD68C; }
#coopGrid .cg .k { font-size: 13px; color: #cfe8dc; margin-top: 4px; }
.seed-block { display: flex; gap: 14px; align-items: center; height: 100%; }
.seed-block .desc { flex: 1.6; font-size: 13.5px; color: var(--txt2); line-height: 1.9; }
.seed-block .desc b { color: var(--gold); font-weight: 600; }
.seed-block .chips { flex: 1; display: flex; flex-wrap: wrap; align-content: center; gap: 8px; }
.seed-block .chips span {
  font-size: 13px; color: var(--txt); background: rgba(232,185,79,.1);
  border: 1px solid rgba(232,185,79,.4); border-radius: 20px; padding: 5px 14px;
}
.coop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; height: 100%; align-content: center; }
.coop-grid .cg {
  text-align: center; border: 1px solid rgba(61,214,140,.35); border-radius: 8px;
  background: rgba(61,214,140,.06); padding: 8px 4px;
}
.coop-grid .cg .v { font-size: 22px; font-weight: 700; color: var(--green); font-family: "DIN Alternate", Consolas, monospace; }
.coop-grid .cg .k { font-size: 12px; color: var(--txt2); margin-top: 2px; }

/* ============ P3 布局 ============ */
.p3-main { display: flex; gap: 14px; flex: 1.4; min-height: 0; z-index: 2; }
.p3-main .panel { display: flex; flex-direction: column; min-width: 0; }
.p3-main .panel.w70 { flex: 1.9; }
.p3-main .panel.w30 { flex: 1; }
.p3 > .p2-bot {
  flex: 1; min-height: 300px; margin-top: 14px;
}
.p3 > .p2-bot .panel { min-height: 0; overflow: hidden; }
.p3 > .p2-bot .panel .body { min-height: 0; overflow: hidden; }
.prod-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 10px; flex: none; }
.prod-filters button {
  border: 1px solid rgba(140,170,210,.35); background: transparent; color: #d5e4f7;
  border-radius: 16px; padding: 4px 12px; font-size: 13px; cursor: pointer;
}
.prod-filters button.on {
  background: linear-gradient(180deg, #F5CE6B, #D9A441); color: #1a1408;
  border-color: transparent; font-weight: 700;
}
.prod-grid {
  flex: 1; min-height: 0; overflow: hidden; position: relative;
}
.prod-track {
  display: flex; gap: 12px; height: 100%; width: max-content;
  animation: prodLeft 36s linear infinite;
}
.prod-grid:hover .prod-track { animation-play-state: paused; }
@keyframes prodLeft {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.prod-empty {
  height: 100%; display: flex; align-items: center; justify-content: center;
  color: #8ea3c2; font-size: 14px;
}
.pd-card {
  position: relative; border-radius: 12px; overflow: hidden;
  border: 1px solid rgba(80,120,170,.35); background: #0c1a33; cursor: pointer;
  display: flex; flex-direction: column; min-height: 0;
  flex: none; width: 200px; height: 100%;
}
.pd-card:hover { border-color: var(--gold3); }
.pd-card .ph {
  flex: 1.35; min-height: 0; position: relative;
  background: linear-gradient(180deg, #152848, #0e1c34);
  display: flex; align-items: center; justify-content: center;
}
.pd-card .ph img {
  width: 100%; height: 100%; object-fit: contain; object-position: center;
  padding: 4px 6px 0; box-sizing: border-box;
}
.pd-card .ph .cat {
  position: absolute; left: 8px; top: 8px; z-index: 2;
  font-size: 11px; color: #1a1408; font-weight: 700;
  background: linear-gradient(180deg, #F5CE6B, #D9A441);
  border-radius: 10px; padding: 2px 8px;
}
.pd-card .info { flex: none; padding: 8px 10px 10px; background: #0c1830; }
.pd-card .info .n { font-size: 14px; color: #fff; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-card .info .c { font-size: 12px; color: #8ea3c2; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-card .info .p { font-size: 13px; color: #f0c14a; margin-top: 4px; font-family: "DIN Alternate", Consolas, monospace; }

/* 品牌资产墙 */
.honor-wall {
  display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4, 1fr);
  gap: 10px; flex: 1; min-height: 0; height: auto; align-content: stretch;
}
.honor {
  display: flex; align-items: center; gap: 10px; min-width: 0; height: 100%;
  border: 1px solid rgba(80,120,170,.32); border-radius: 10px;
  background: rgba(8,24,52,.5); padding: 12px 10px;
}
.honor .hi {
  width: 42px; height: 42px; flex: none; border-radius: 10px;
  border: 1px solid rgba(232,185,79,.5); color: #E8B94F;
  background: rgba(232,185,79,.08);
  display: flex; align-items: center; justify-content: center;
}
.honor .hi .ico-svg { width: 22px; height: 22px; }
.honor .ht { font-size: 13px; color: #f2f6fc; font-weight: 700; line-height: 1.35; min-width: 0; }
.honor .ht small { display: block; font-size: 11px; color: #8ea3c2; font-weight: 400; margin-top: 3px; }

/* 实力榜 */
.p2-bot .panel { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.p2-bot .panel .body { flex: 1; min-height: 0; }
.ex-wrap { display: flex; flex-direction: column; gap: 10px; height: 100%; min-height: 0; }
.ex-kpis { display: flex; gap: 10px; flex: none; }
.ex-kpi {
  flex: 1; display: flex; align-items: center; gap: 10px; min-width: 0;
  padding: 10px 12px; border-radius: 10px;
  background: rgba(8, 24, 52, .55);
  border: 1px solid color-mix(in srgb, var(--c) 45%, transparent);
}
.ex-kpi i {
  width: 36px; height: 36px; flex: none; border-radius: 8px; color: var(--c);
  background: color-mix(in srgb, var(--c) 16%, transparent);
  display: flex; align-items: center; justify-content: center;
}
.ex-kpi .ico-svg { width: 20px; height: 20px; }
.ex-kpi .tx { min-width: 0; }
.ex-kpi b { display: block; font-size: 24px; color: #f0c14a; line-height: 1; font-weight: 700; }
.ex-kpi b small { font-size: 12px; margin-left: 3px; font-weight: 500; }
.ex-kpi span { display: block; margin-top: 4px; font-size: 12px; color: #c5d6ee; }
.ex-main { flex: 1; min-height: 0; display: flex; gap: 14px; }
.ex-growth, .ex-mkts {
  flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column;
  padding: 8px 10px 10px; border-radius: 10px;
  background: rgba(8, 24, 52, .4); border: 1px solid rgba(80, 140, 210, .28);
}
.ex-h { flex: none; font-size: 13px; color: #9fb4d0; margin-bottom: 8px; }
.ex-bars { flex: 1; min-height: 0; display: flex; align-items: flex-end; gap: 14px; padding: 0 6px; }
.ex-bar { flex: 1; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; min-width: 0; }
.ex-bar .col {
  width: 100%; max-width: 42px; flex: 1; min-height: 0; display: flex; align-items: flex-end;
  background: rgba(18, 33, 61, .75); border-radius: 6px 6px 2px 2px; overflow: hidden;
}
.ex-bar .col i {
  display: block; width: 100%; border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #F0C14A, #8A6A28);
  box-shadow: 0 0 12px rgba(232,185,79,.35);
}
.ex-bar b { margin-top: 6px; font-size: 14px; color: #f0c14a; font-weight: 700; line-height: 1; }
.ex-bar em { font-style: normal; font-size: 11px; color: #3DD68C; margin-top: 2px; }
.ex-bar em.mute { color: #6C7FA3; }
.ex-bar span { font-size: 12px; color: #9fb4d0; margin-top: 2px; }
.ex-mkts { justify-content: center; gap: 6px; }
.ex-mkt { display: flex; align-items: center; gap: 8px; }
.ex-mkt .nm { width: 52px; flex: none; font-size: 13px; color: #e8f1ff; }
.ex-mkt .bar { flex: 1; height: 8px; border-radius: 4px; background: rgba(18,33,61,.9); overflow: hidden; }
.ex-mkt .bar i { display: block; height: 100%; border-radius: 4px; }
.ex-mkt b { width: 36px; text-align: right; font-size: 13px; color: #f0c14a; font-family: "DIN Alternate", Consolas, monospace; }
.ch-wrap { display: flex; flex-direction: column; gap: 8px; flex: 1; height: 100%; min-height: 0; overflow: hidden; }
.ch-sum {
  flex: none; display: flex; align-items: center; gap: 14px;
  padding: 8px 12px; border-radius: 10px;
  background: linear-gradient(90deg, rgba(78,155,239,.16), rgba(8,24,52,.35));
  border: 1px solid rgba(78,155,239,.35);
}
.ch-total { flex: none; min-width: 88px; }
.ch-total b { display: block; font-size: 30px; color: #f0c14a; line-height: 1; font-weight: 700; }
.ch-total span { display: block; margin-top: 4px; font-size: 12px; color: #c5d6ee; }
.ch-note { font-size: 13px; color: #9fb4d0; line-height: 1.45; }
.ch-note em { font-style: normal; color: #7ec8ff; font-weight: 700; }
.ch-grid {
  flex: 1; min-height: 0;
  display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px;
}
.ch-card {
  display: flex; flex-direction: column; justify-content: space-between; min-height: 0;
  padding: 8px 10px; border-radius: 10px; overflow: hidden;
  background: rgba(8, 24, 52, .5);
  border: 1px solid color-mix(in srgb, var(--c) 42%, transparent);
}
.ch-card .hd { display: flex; align-items: center; gap: 8px; color: var(--c); flex: none; min-width: 0; }
.ch-card .hd i {
  width: 26px; height: 26px; flex: none; border-radius: 8px;
  background: color-mix(in srgb, var(--c) 16%, transparent);
  display: flex; align-items: center; justify-content: center;
}
.ch-card .hd .ico-svg { width: 15px; height: 15px; }
.ch-card .hd span {
  font-size: 13px; color: #e8f1ff; font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ch-card .val {
  display: flex; align-items: baseline; gap: 4px; margin: 4px 0;
  flex: 1; min-height: 0; min-width: 0;
}
.ch-card .val b { font-size: 24px; color: #f0c14a; font-weight: 700; line-height: 1; }
.ch-card .val small { font-size: 12px; color: #9fb4d0; }
.ch-card .val em {
  margin-left: auto; font-style: normal; font-size: 13px; color: var(--c);
  font-family: "DIN Alternate", Consolas, monospace; flex: none;
}
.ch-card .bar { flex: none; height: 6px; border-radius: 3px; background: rgba(18,33,61,.9); overflow: hidden; }
.ch-card .bar i { display: block; height: 100%; border-radius: 3px; background: var(--c); }
.str-list { display: flex; flex-direction: column; justify-content: space-between; gap: 8px; height: 100%; }
.str-item { display: flex; align-items: center; gap: 12px; }
.str-item .nm { flex: 0 0 176px; width: 176px; font-size: 13px; color: #e8f1ff; line-height: 1.3; }
.str-item .nm small { display: block; font-size: 11px; color: #8ea3c2; font-weight: 400; }
.str-item .bar { flex: 1; min-width: 0; height: 8px; border-radius: 4px; background: rgba(18,33,61,.9); overflow: hidden; }
.str-item .bar i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #8A6A28, #F0C14A); }
.str-item .v { flex: none; width: 56px; text-align: right; font-family: "DIN Alternate", Consolas, monospace; font-size: 18px; font-weight: 700; color: #f0c14a; }
.str-item .v small { font-size: 12px; margin-left: 2px; font-weight: 500; }

/* ============ P4 布局 ============ */
.p4-main { display: flex; gap: 14px; flex: 1.35; min-height: 0; z-index: 2; }
.p4-main .panel { flex: 1 1 0; display: flex; flex-direction: column; min-width: 0; }
.p4-bot { display: flex; gap: 14px; flex: 1; min-height: 0; z-index: 2; margin-top: 14px; }
.p4-bot .panel { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.p4 .ptitle::before, .p6 .ptitle::before { display: none; }
.p4-ico, .p6-ico { width: 22px; height: 22px; color: #7ec8ff; display: flex; flex: none; }
.p4-ico .ico-svg, .p6-ico .ico-svg { width: 20px; height: 20px; }

.p4-slot {
  flex: 1; min-height: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 10px; text-align: center;
  border-radius: 12px; padding: 20px 16px;
  border: 1px dashed rgba(120, 170, 230, .4);
  background:
    linear-gradient(180deg, rgba(8, 28, 58, .45), rgba(6, 18, 40, .55));
}
.p4-slot .slot-ico {
  width: 64px; height: 64px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #7ec8ff;
  border: 1px solid rgba(110, 175, 255, .45);
  background: rgba(20, 60, 120, .28);
  box-shadow: 0 0 18px rgba(60, 140, 255, .22);
}
.p4-slot .slot-ico .ico-svg { width: 30px; height: 30px; }
.p4-slot b { font-size: 18px; color: #e8f1ff; font-weight: 700; }
.p4-slot span { font-size: 13px; color: #8ea3c2; line-height: 1.5; max-width: 220px; }
.p4-slot-video .slot-ico { color: #f0c14a; border-color: rgba(232, 185, 79, .5); background: rgba(232, 185, 79, .1); }
.p4-slot-news .slot-ico { color: #3DD68C; border-color: rgba(61, 214, 140, .45); background: rgba(61, 214, 140, .1); }
.park-news {
  flex: 1; min-height: 0; overflow: hidden; position: relative;
  border-radius: 10px;
}
.pn-track {
  display: flex; flex-direction: column; gap: 8px;
  animation: pnUp 26s linear infinite;
}
.park-news:hover .pn-track { animation-play-state: paused; }
@keyframes pnUp {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}
.pn-item {
  flex: none; display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 12px; border-radius: 10px;
  background: rgba(8, 24, 52, .5);
  border: 1px solid color-mix(in srgb, var(--c) 40%, transparent);
}
.pn-item .tag {
  flex: none; font-size: 11px; font-weight: 700; color: #0b1730;
  background: var(--c); border-radius: 8px; padding: 2px 8px; margin-top: 2px;
}
.pn-item .tx { min-width: 0; flex: 1; }
.pn-item .tx b {
  display: block; font-size: 13px; color: #e8f1ff; font-weight: 600; line-height: 1.45;
}
.pn-item .tx span {
  display: block; margin-top: 4px; font-size: 11px; color: #8ea3c2;
}
.p4-video {
  flex: 1; min-height: 0; border-radius: 12px; overflow: hidden;
  border: 1px solid rgba(232, 185, 79, .35);
  background: #06121f;
  position: relative;
}
.p4-video video {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* P6 科技创新 */
.p6-top {
  flex: none; display: flex; gap: 14px; z-index: 2; margin-bottom: 14px; height: 280px;
}
.p6-top .panel { min-width: 0; display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.p6-top .panel:first-child { flex: 1; }
.p6-top .panel.p6-experts { flex: 2; }
.p6-orgs {
  flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 8px; overflow: hidden;
}
.org-tabs {
  flex: none; display: flex; gap: 6px;
}
.org-tab {
  flex: 1; min-width: 0; cursor: pointer; font: inherit;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  padding: 6px 4px; border-radius: 10px;
  color: #c5d6ee; background: rgba(8, 24, 52, .5);
  border: 1px solid rgba(90, 150, 220, .28);
  transition: background .2s, border-color .2s, color .2s, box-shadow .2s;
}
.org-tab i { width: 16px; height: 16px; display: flex; align-items: center; justify-content: center; color: var(--c); }
.org-tab .ico-svg { width: 15px; height: 15px; }
.org-tab span { font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.org-tab:hover { border-color: color-mix(in srgb, var(--c) 55%, transparent); color: #fff; }
.org-tab.on {
  color: #fff;
  background: color-mix(in srgb, var(--c) 18%, rgba(8, 24, 52, .7));
  border-color: color-mix(in srgb, var(--c) 70%, transparent);
  box-shadow: 0 0 14px color-mix(in srgb, var(--c) 28%, transparent);
}
.org-detail {
  flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 8px;
  padding: 10px 12px; border-radius: 12px; overflow: hidden;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--c) 16%, transparent), rgba(8, 24, 52, .35)),
    rgba(8, 24, 52, .5);
  border: 1px solid color-mix(in srgb, var(--c) 42%, transparent);
}
.org-head { flex: none; display: flex; gap: 10px; align-items: flex-start; min-width: 0; }
.org-mark {
  width: 36px; height: 36px; flex: none; border-radius: 10px;
  display: flex; align-items: center; justify-content: center; color: var(--c);
  background: color-mix(in srgb, var(--c) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 55%, transparent);
  box-shadow: 0 0 12px color-mix(in srgb, var(--c) 25%, transparent);
}
.org-mark .ico-svg { width: 18px; height: 18px; }
.org-tit { min-width: 0; flex: 1; }
.org-tit em {
  display: inline-block; font-style: normal; font-size: 11px; font-weight: 700; color: #0b1730;
  background: var(--c); border-radius: 8px; padding: 1px 7px; margin-bottom: 4px;
}
.org-tit b {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; font-size: 13.5px; color: #f4efe4; font-weight: 700; line-height: 1.35;
}
.org-tit span {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; margin-top: 4px; font-size: 11px; color: #9fb4d0; line-height: 1.4;
}
.org-points {
  flex: 1; min-height: 0; overflow: hidden;
  display: flex; flex-direction: column; justify-content: flex-start; gap: 6px;
}
.org-points div {
  flex: none; display: flex; align-items: flex-start; gap: 8px;
  font-size: 12px; color: #d5e4f7; line-height: 1.35;
}
.org-points div::before {
  content: ""; width: 6px; height: 6px; margin-top: 5px; border-radius: 50%;
  background: var(--c); flex: none; box-shadow: 0 0 6px color-mix(in srgb, var(--c) 80%, transparent);
}
.p6-grid {
  flex: 1.35; min-height: 0; z-index: 2;
  display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px;
}
.p6-grid .panel { min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.p6-list {
  flex: 1; min-height: 0; overflow: hidden; position: relative;
}
.p6-track {
  display: flex; flex-direction: column; gap: 8px;
  animation: p6Up 22s linear infinite;
}
.p6-list:hover .p6-track { animation-play-state: paused; }
@keyframes p6Up {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}
.p6-row {
  display: flex; align-items: center; gap: 10px; min-width: 0; flex: none;
  padding: 8px 10px; border-radius: 8px;
  background: rgba(8, 24, 52, .4); border: 1px solid rgba(80, 140, 210, .22);
}
.p6-row .nm { flex: 1; min-width: 0; }
.p6-row .nm b {
  display: block; font-size: 14px; color: #e8f1ff; font-weight: 700;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.p6-row .nm small { display: block; margin-top: 2px; font-size: 11px; color: #8ea3c2; }
.p6-row > span { flex: none; font-size: 12px; color: #9fb4d0; max-width: 42%; text-align: right; }
.p6-row em {
  flex: none; font-style: normal; font-size: 12px; font-weight: 700;
  border: 1px solid; border-radius: 10px; padding: 2px 8px;
}
.p6-stats {
  flex: 1; min-height: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1fr 1fr; gap: 10px;
}
.p6-stat {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border-radius: 10px; padding: 8px 6px;
  background: rgba(8, 24, 52, .45); border: 1px solid rgba(61, 214, 140, .35);
}
.p6-stat .v {
  font-size: 26px; font-weight: 700; color: #f0c14a;
  font-family: "DIN Alternate", Consolas, monospace; line-height: 1;
}
.p6-stat .v small { font-size: 12px; margin-left: 2px; font-weight: 500; }
.p6-stat .k { margin-top: 6px; font-size: 12px; color: #c5d6ee; text-align: center; line-height: 1.35; }
.p6-experts { display: flex; flex-direction: column; min-height: 0; }
.p6-experts .body { flex: 1; min-height: 0; overflow: hidden; }
.exp-feed { height: 100%; overflow: hidden; }
.exp-track {
  display: flex; flex-direction: row; align-items: stretch; gap: 12px;
  height: 100%; width: max-content;
  animation: expLeft 28s linear infinite;
}
.exp-feed:hover .exp-track { animation-play-state: paused; }
@keyframes expLeft {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.exp-card {
  flex: none; width: 200px; height: 100%; box-sizing: border-box;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 10px 12px; border-radius: 12px;
  background: rgba(8, 24, 52, .55);
  border: 1px solid color-mix(in srgb, var(--c) 42%, transparent);
}
.exp-card .av {
  width: 108px; height: 132px; flex: none; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 36px; font-weight: 800; color: #0b1730; background: var(--c);
  box-shadow: 0 0 16px color-mix(in srgb, var(--c) 35%, transparent);
  overflow: hidden;
}
.exp-card .av.has-img {
  background: #1a2a44; color: transparent; border: 1px solid color-mix(in srgb, var(--c) 55%, transparent);
}
.exp-card .av img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 18%;
  display: block;
}
.exp-card .tx { min-width: 0; width: 100%; text-align: center; }
.exp-card .tx b { display: block; font-size: 16px; color: #fff; font-weight: 700; }
.exp-card .tx span { display: block; margin-top: 3px; font-size: 12px; color: #9fb4d0; }
.exp-card .tx small { display: block; margin-top: 2px; font-size: 12px; color: var(--c); }

/* 创新平台：两张平台卡 + 要点 */
.plat-switch { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.plat-cards { display: flex; gap: 10px; flex: none; }
.plat-card {
  flex: 1; min-width: 0; border-radius: 8px; padding: 10px 12px; text-align: left;
  background: rgba(16, 40, 78, .55); border: 1px solid rgba(90, 150, 220, .35);
  cursor: pointer; font: inherit; color: inherit; transition: background .2s, border-color .2s;
}
.plat-card:hover:not(.on) { border-color: rgba(126, 200, 255, .55); background: rgba(24, 52, 96, .7); }
.plat-card.on {
  background: linear-gradient(180deg, rgba(232,185,79,.28), rgba(232,185,79,.08));
  border-color: rgba(232,185,79,.75);
}
.plat-card b { display: block; font-size: 14px; line-height: 1.45; color: #f4efe4; font-weight: 700; }
.plat-card span { display: block; margin-top: 4px; font-size: 12px; color: #9fb4d0; }
.plat-switch .pts { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 10px; margin-top: 12px; min-height: 0; }
.plat-switch .pts div { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: #d5e4f7; line-height: 1.5; }
.plat-switch .pts div::before { content: ""; width: 7px; height: 7px; margin-top: 7px; border-radius: 50%; background: #4E9BEF; flex: none; box-shadow: 0 0 6px rgba(78,155,239,.8); }

/* 沙盘：可点选的功能区 */
.sand-stage {
  position: relative; flex: 1; min-height: 0; border-radius: 10px; overflow: hidden;
  background:
    linear-gradient(180deg, rgba(4,14,28,.42), rgba(4,12,22,.62)),
    url("../images/page-bg.jpg") center 46% / cover no-repeat;
}
.sand-lines { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.sand-line {
  fill: none; stroke-width: 0.7; stroke-opacity: .72;
  transition: stroke-opacity .25s, stroke-width .25s;
}
.sand-line.flow { stroke-dasharray: 2.2 1.4; animation: sandFlow 18s linear infinite; }
.sand-line.soft { stroke-width: 0.45; stroke-opacity: .35; stroke-dasharray: 1.2 1.6; }
.sand-line.on { stroke-width: 1.15; stroke-opacity: 1; }
.sand-line.dim { stroke-opacity: .18; }
.sand-stage.has-sel .sand-line.soft { stroke-opacity: .12; }
@keyframes sandFlow { to { stroke-dashoffset: -60; } }
.sand-zone, .sand-hub, .sand-leg { font: inherit; cursor: pointer; }
.sand-zone {
  position: absolute; z-index: 2; transform: translate(-50%, -50%);
  display: flex; align-items: center; gap: 8px;
  height: 46px; padding: 0 12px 0 8px; border-radius: 10px;
  color: var(--c); background: color-mix(in srgb, var(--c) 16%, rgba(6,16,32,.78));
  border: 1px solid color-mix(in srgb, var(--c) 70%, transparent);
  box-shadow: 0 0 14px color-mix(in srgb, var(--c) 35%, transparent);
}
.sand-zone i { width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; flex: none; }
.sand-zone .ico-svg { width: 20px; height: 20px; }
.sand-zone b { font-size: 14px; font-weight: 700; white-space: nowrap; }
.sand-zone:hover, .sand-zone.on {
  background: color-mix(in srgb, var(--c) 32%, rgba(6,16,32,.82));
  box-shadow: 0 0 22px color-mix(in srgb, var(--c) 70%, transparent);
}
.sand-stage.has-sel .sand-zone:not(.on) { opacity: .62; }
.sand-hub {
  position: absolute; z-index: 3; left: 50%; top: 40%; transform: translate(-50%, -50%);
  width: 112px; height: 112px; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #f0c14a; background: rgba(6,16,32,.84);
  border: 1px solid rgba(232,185,79,.85);
  box-shadow: 0 0 0 8px rgba(232,185,79,.12), 0 0 24px rgba(232,185,79,.4);
}
.sand-hub b { font-size: 15px; }
.sand-hub span { margin-top: 4px; font-size: 11px; color: #c5d6ee; }
.sand-hub:hover, .sand-hub.on { box-shadow: 0 0 0 10px rgba(232,185,79,.2), 0 0 28px rgba(232,185,79,.65); }
.sand-compass {
  position: absolute; z-index: 3; right: 10px; bottom: 46px;
  width: 28px; display: flex; flex-direction: column; align-items: center; color: #d5e4f7;
}
.sand-compass span { font-size: 12px; line-height: 1; }
.sand-compass i {
  width: 0; height: 0; margin-top: 2px;
  border-left: 5px solid transparent; border-right: 5px solid transparent;
  border-bottom: 12px solid #f0c14a;
}
.sand-tip {
  position: absolute; z-index: 4; left: 10px; right: 48px; bottom: 8px;
  display: flex; align-items: baseline; gap: 10px;
  padding: 6px 10px; border-radius: 8px;
  background: rgba(6,16,32,.78); border: 1px solid rgba(232,185,79,.55);
}
.sand-tip b { flex: none; font-size: 13px; color: #f0c14a; }
.sand-tip span { font-size: 12px; color: #d5e4f7; }
.sand-legend { display: flex; flex-wrap: wrap; gap: 6px 12px; justify-content: center; flex: none; margin-top: 8px; }
.sand-leg {
  display: flex; align-items: center; gap: 6px;
  background: none; border: none; color: #c5d6ee; font-size: 12px; padding: 2px 0;
}
.sand-leg i { width: 10px; height: 10px; border-radius: 2px; }
.sand-leg.on, .sand-leg:hover { color: #fff; }

/* 育种联合体 */
.breed-wrap { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.breed-num { display: flex; gap: 10px; flex: none; }
.breed-num .bn {
  flex: 1; text-align: center; border: 1px solid rgba(232,185,79,.35); border-radius: 8px;
  background: rgba(8, 24, 52, .55); padding: 10px 4px;
}
.breed-num .bn .v { font-size: 26px; font-weight: 700; color: #f0c14a; font-family: "DIN Alternate", Consolas, monospace; line-height: 1; }
.breed-num .bn .v small { font-size: 12px; margin-left: 2px; color: #f0c14a; font-weight: 500; }
.breed-num .bn .k { font-size: 12px; color: #c5d6ee; margin-top: 6px; }
.breed-flow { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 0; margin-top: 10px; }
.bf-step {
  flex: 1; text-align: center; padding: 10px 6px; border-radius: 10px; min-width: 0;
  background: rgba(8, 24, 52, .72); border: 1px solid rgba(90, 150, 220, .4);
}
.bf-step .bi { color: #7ec8ff; display: flex; justify-content: center; }
.bf-step .bi .ico-svg { width: 26px; height: 26px; }
.bf-step .bt { font-size: 14px; color: #f4efe4; margin-top: 6px; font-weight: 700; }
.bf-step .bs { font-size: 11px; color: #9fb4d0; margin-top: 3px; line-height: 1.45; }
.bf-arr { flex: none; color: #f0c14a; display: flex; }
.bf-arr .ico-svg { width: 18px; height: 18px; }
.breed-desc { flex: none; font-size: 12px; color: #9fb4d0; line-height: 1.7; margin-top: 10px; }

/* 建设进度 */
.prog-list { display: flex; flex-direction: column; gap: 10px; flex: 1; justify-content: center; min-height: 0; }
.prog-row { display: flex; align-items: center; gap: 10px; }
.prog-row .nm { width: 92px; font-size: 13px; color: #d5e4f7; flex: none; }
.prog-row .bar { flex: 1; height: 10px; border-radius: 5px; background: rgba(18,33,61,.9); overflow: hidden; }
.prog-row .bar i { display: block; height: 100%; border-radius: 5px; background: linear-gradient(90deg, #8A6A28, #F0C14A); transition: width 1s ease; }
.prog-row:nth-child(2) .bar i { background: linear-gradient(90deg, #1d4e8f, #4E9BEF); }
.prog-row:nth-child(3) .bar i { background: linear-gradient(90deg, #0f766e, #3DD68C); }
.prog-row:nth-child(4) .bar i { background: linear-gradient(90deg, #9a3412, #fb923c); }
.prog-row .v { width: 118px; text-align: right; font-family: "DIN Alternate", Consolas, monospace; font-size: 16px; font-weight: 700; color: #f0c14a; }
.prog-row .v small { font-size: 12px; color: #c5d6ee; font-weight: 400; }
.prog-photo {
  flex: none; height: 78px; margin-top: 10px; border-radius: 8px;
  background: url("../images/page-bg.jpg") center 42% / cover no-repeat;
  border: 1px solid rgba(80,140,210,.35);
}

/* 渠道分布 */
.p4-channel { display: flex; align-items: center; height: 100%; gap: 8px; min-height: 0; }
.p4-donut { flex: none; width: 46%; height: 100%; }
.p4-donut svg { width: 100%; height: 100%; }
.p4-donut path { opacity: .88; cursor: pointer; transition: opacity .2s; }
.p4-donut path.on { opacity: 1; filter: brightness(1.15); }
.p4-ch-leg { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 8px; min-width: 0; }
.p4-ch {
  display: flex; align-items: center; gap: 8px; width: 100%;
  background: rgba(8,24,52,.35); border: 1px solid transparent; border-radius: 8px;
  color: #e8f1ff; font: inherit; text-align: left; padding: 7px 8px; cursor: pointer;
}
.p4-ch i { width: 18px; height: 18px; display: flex; flex: none; }
.p4-ch .ico-svg { width: 16px; height: 16px; }
.p4-ch .nm { flex: 1; font-size: 14px; }
.p4-ch b { font-family: "DIN Alternate", Consolas, monospace; font-size: 18px; color: #f0c14a; }
.p4-ch em { width: 36px; text-align: right; font-style: normal; font-size: 12px; color: #9fb4d0; }
.p4-ch.on, .p4-ch:hover { border-color: rgba(120,170,230,.45); background: rgba(20,48,90,.45); }

.p4 .str-list { display: flex; flex-direction: column; justify-content: space-around; gap: 6px; height: 100%; }

/* ============ P5 布局 ============ */
.p5-main { display: flex; gap: 14px; flex: 1.15; min-height: 0; z-index: 2; }
.p5-main .panel { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.p5-bot { display: flex; gap: 14px; flex: 1.15; min-height: 0; z-index: 2; margin-top: 14px; }
.p5-bot .panel { flex: 1; display: flex; flex-direction: column; min-width: 0; }

/* 智能体 */
.agent-wrap { display: flex; flex-direction: column; height: 100%; }
.agent-chat { flex: 1; min-height: 0; overflow: hidden; position: relative; background: rgba(6,13,29,.5); border-radius: 10px; padding: 12px; }
.msg { display: flex; gap: 10px; margin-bottom: 12px; }
.msg .av { width: 34px; height: 34px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; font-size: 17px; }
.msg.q .av { background: rgba(78,155,239,.2); border: 1px solid rgba(78,155,239,.5); }
.msg.a .av { background: rgba(232,185,79,.2); border: 1px solid rgba(232,185,79,.5); }
.msg .bubble {
  max-width: 82%; font-size: 14px; line-height: 1.7; border-radius: 10px; padding: 9px 13px;
}
.msg.q .bubble { background: rgba(78,155,239,.14); color: var(--txt); border: 1px solid rgba(78,155,239,.3); }
.msg.a .bubble { background: rgba(232,185,79,.1); color: #F4EFE4; border: 1px solid rgba(232,185,79,.35); }
.msg .bubble .caret { display: inline-block; width: 8px; height: 15px; background: var(--gold); vertical-align: -2px; margin-left: 2px; animation: blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.agent-input { flex: none; display: flex; gap: 8px; margin-top: 10px; }
.agent-input .ipt {
  flex: 1; height: 38px; border-radius: 8px; padding: 0 14px;
  background: rgba(6,13,29,.6); border: 1px solid var(--line2); color: var(--txt); font-size: 14px; outline: none;
}
.agent-input .send {
  height: 38px; padding: 0 20px; border: none; border-radius: 8px; cursor: pointer;
  font-size: 14px; font-weight: 700; color: #0B1730;
  background: linear-gradient(160deg, #F5CE6B, #D9A441);
}

/* 农技服务 */
.agri-grid {
  flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 10px;
}
.agri-kpis {
  flex: none; display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
.agri-cell {
  text-align: center; border: 1px solid var(--line2); border-radius: 10px;
  background: rgba(18,33,61,.5); padding: 10px 6px;
  transition: border-color .3s, background .3s, box-shadow .3s;
}
.agri-cell.on {
  border-color: rgba(78,155,239,.7);
  background: rgba(30, 58, 110, .62);
  box-shadow: 0 0 16px rgba(78,155,239,.22);
}
.agri-cell .v { font-size: 26px; font-weight: 700; color: var(--blue); font-family: "DIN Alternate", Consolas, monospace; line-height: 1.1; }
.agri-cell .v.ok { color: #3DD68C; }
.agri-cell .k { font-size: 12px; color: var(--txt2); margin-top: 4px; line-height: 1.45; }
.agri-feed {
  flex: 1; min-height: 0; overflow: hidden; position: relative;
  border: 1px solid rgba(80,140,210,.28); border-radius: 10px;
  background: rgba(8, 24, 52, .4);
}
.agri-track {
  display: flex; align-items: stretch; gap: 10px; height: 100%;
  width: max-content; padding: 10px;
  animation: agriLeft 28s linear infinite;
  box-sizing: border-box;
}
.agri-feed:hover .agri-track { animation-play-state: paused; }
@keyframes agriLeft {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.agri-item {
  flex: none; width: 220px; min-height: 0;
  display: flex; flex-direction: column; overflow: hidden;
  border-radius: 8px;
  background: rgba(12, 28, 56, .75);
  border: 1px solid color-mix(in srgb, var(--c) 45%, transparent);
}
.agri-item .pic {
  position: relative; flex: 1.15; min-height: 72px; overflow: hidden;
  background: #102038;
}
.agri-item .pic img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  opacity: .92; transition: transform .4s;
}
.agri-item:hover .pic img { transform: scale(1.05); }
.agri-item .tag {
  position: absolute; left: 8px; top: 8px; z-index: 2;
  font-size: 11px; font-weight: 700; color: #0b1730;
  background: var(--c); border-radius: 10px; padding: 2px 8px;
}
.agri-item .meta {
  flex: none; display: flex; flex-direction: column; gap: 4px;
  padding: 8px 10px 9px;
}
.agri-item .tx {
  font-size: 12.5px; color: #e8f1ff; line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.agri-item .tm { font-size: 11px; color: #8ea3c2; }
.agri-note { flex: none; font-size: 12px; color: var(--txt3); margin-top: 2px; text-align: center; }
.agri-note b { color: var(--green); font-weight: 600; }

/* 基地监测折线 */
.mon-wrap { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.mon-leg { flex: none; display: flex; gap: 18px; justify-content: flex-end; margin-bottom: 4px; }
.mon-leg span { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #c5d6ee; }
.mon-leg i { width: 10px; height: 3px; border-radius: 2px; display: inline-block; }
.mon-wrap svg { flex: 1; width: 100%; min-height: 0; }

/* 订单流 */
.order-flow { flex: 1; min-height: 0; overflow: hidden; position: relative; }
.order-track { display: flex; flex-direction: column; animation: orderUp 28s linear infinite; }
.order-flow:hover .order-track { animation-play-state: paused; }
.order-item {
  display: flex; align-items: center; gap: 10px; font-size: 13px; flex: none;
  border-bottom: 1px dashed rgba(51,73,122,.4); padding: 9px 4px; color: var(--txt2);
}
@keyframes orderUp { from { transform: translateY(0); } to { transform: translateY(-50%); } }
.order-item .city { width: 52px; color: var(--gold); font-weight: 600; flex: none; }
.order-item .it { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.order-item .n { width: 60px; text-align: right; color: var(--txt3); flex: none; }
.order-item .amt { width: 86px; text-align: right; font-family: "DIN Alternate", Consolas, monospace; color: var(--txt); flex: none; }
.order-more { flex: none; font-size: 11.5px; color: var(--txt3); text-align: right; margin-top: 4px; }

/* 溯源雷达 */
.tr-wrap { display: flex; align-items: center; gap: 8px; height: 100%; min-height: 0; }
.tr-radar { flex: 1.15; min-width: 0; height: 100%; }
.tr-radar svg { width: 100%; height: 100%; }
.tr-list { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.tr-row { display: flex; align-items: center; gap: 8px; }
.tr-row span { width: 64px; flex: none; font-size: 12px; color: #c5d6ee; }
.tr-row .bar { flex: 1; height: 6px; border-radius: 3px; background: rgba(18,33,61,.9); overflow: hidden; }
.tr-row .bar i { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, #0f766e, #3DD68C); }
.tr-row b { width: 28px; text-align: right; font-size: 13px; color: #f0c14a; font-family: "DIN Alternate", Consolas, monospace; }

/* ============ 导航与控制 ============ */
.nav {
  position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 50;
  display: flex; align-items: center; gap: 2px;
  background: rgba(8, 22, 52, .78);
  border: 1px solid rgba(90, 150, 220, .35);
  border-radius: 28px;
  padding: 5px;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
}
.nav .n-item {
  display: flex; align-items: center; gap: 6px; cursor: pointer;
  color: #c5d6ee; font-size: 14px; padding: 8px 16px; border-radius: 22px;
  transition: background .2s, color .2s; white-space: nowrap;
}
.nav .n-item .ic { width: 16px; height: 16px; display: flex; align-items: center; justify-content: center; }
.nav .n-item .ic .ico-svg { width: 16px; height: 16px; }
.nav .n-item:not(.on):hover { color: #fff; background: rgba(61, 130, 220, .22); }
.nav .n-item.on,
.nav .n-item.on:hover {
  color: #fff;
  background: linear-gradient(180deg, #4aa0ff, #1d6fe8);
  box-shadow: 0 0 16px rgba(50, 130, 255, .55);
  font-weight: 700;
}
.nav .n-split {
  width: 1px; height: 22px; margin: 0 4px 0 6px; flex: none;
  background: rgba(140, 180, 230, .35);
}
.nav .n-set {
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  color: #c5d6ee; width: 40px; height: 40px; padding: 0; border-radius: 50%;
  background: transparent; border: none; font: inherit;
  transition: background .2s, color .2s;
}
.nav .n-set .ic { width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; }
.nav .n-set .ic .ico-svg { width: 18px; height: 18px; }
.nav .n-set:hover, .nav .n-set.on {
  color: #fff; background: rgba(61, 130, 220, .28);
}
.set-panel {
  display: none; position: absolute; right: 0; bottom: calc(100% + 12px);
  width: 320px; padding: 14px 14px 12px; border-radius: 14px;
  background: rgba(8, 22, 52, .94);
  border: 1px solid rgba(90, 150, 220, .4);
  box-shadow: 0 12px 32px rgba(0,0,0,.4);
  backdrop-filter: blur(10px);
}
.set-panel.on { display: block; }
.set-panel .set-h {
  font-size: 15px; font-weight: 700; color: #f0c14a; margin-bottom: 12px;
}
.set-panel .set-row {
  display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px;
}
.set-panel .set-row > span { font-size: 12px; color: #9fb4d0; }
.set-panel .set-row.off { opacity: .4; pointer-events: none; }
.set-seg { display: flex; gap: 6px; }
.set-seg button {
  flex: 1; cursor: pointer; border-radius: 8px; padding: 8px 6px;
  font-size: 13px; color: #d5e4f7; font: inherit;
  background: rgba(16, 40, 78, .7);
  border: 1px solid rgba(90, 150, 220, .3);
  transition: background .2s, border-color .2s, color .2s;
}
.set-seg button:hover { border-color: rgba(126, 200, 255, .55); color: #fff; }
.set-seg button.on {
  color: #fff; font-weight: 700;
  background: linear-gradient(180deg, #4aa0ff, #1d6fe8);
  border-color: transparent;
  box-shadow: 0 0 12px rgba(50, 130, 255, .45);
}
.set-tip { font-size: 12px; color: #8ea3c2; line-height: 1.45; min-height: 34px; }
.ctrl { position: absolute; right: 24px; bottom: 18px; z-index: 50; display: flex; gap: 10px; }
.ctrl button {
  width: 44px; height: 44px; border-radius: 50%; cursor: pointer;
  background: rgba(10,20,40,.75); border: 1px solid var(--line2); color: var(--gold);
  font-size: 16px; backdrop-filter: blur(6px); transition: all .3s;
}
.ctrl button:hover { border-color: var(--gold); }
.ctrl .time-tag { height: 44px; display: flex; align-items: center; padding: 0 14px; border-radius: 22px; background: rgba(10,20,40,.75); border: 1px solid var(--line2); color: var(--txt2); font-size: 13px; }

/* ============ P0 欢迎页（参考版式） ============ */
.p0 {
  padding: 0 0 62px; align-items: stretch; justify-content: flex-start;
  background: #04101f;
  color: #e8f1ff;
}
.w-earth {
  position: absolute; inset: 0; z-index: 0;
  background: url("../images/welcome-earth.jpg?v=2") center center / cover no-repeat;
  pointer-events: none;
}
.w-shade {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(3,12,28,.55) 0%, rgba(3,12,28,.28) 42%, rgba(3,12,28,.12) 100%);
}
.w-top, .w-main, .w-bottom { position: relative; z-index: 2; }
.w-top {
  height: 72px; flex: none; display: flex; align-items: center; justify-content: space-between;
  padding: 0 36px;
}
.w-brand { display: flex; align-items: center; gap: 10px; flex: none; }
.w-brand b {
  font-family: "SimHei", "Heiti SC", "STHeiti", "黑体", sans-serif;
  font-size: 18px; font-weight: 400; letter-spacing: 1px; white-space: nowrap;
}
.w-main {
  flex: 1; min-height: 0; display: grid;
  grid-template-columns: 280px 1fr 280px; gap: 22px;
  padding: 72px 36px 0; align-items: start;
}
.w-main::before { content: ""; }
.w-card {
  background: linear-gradient(180deg, rgba(8,28,62,.72), rgba(6,20,48,.45));
  border: 1px solid rgba(80,150,230,.35);
  border-radius: 16px;
  box-shadow: inset 0 0 0 1px rgba(120,180,255,.06), 0 10px 30px rgba(0,0,0,.18);
}
.w-h { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; margin-bottom: 12px; }
.w-h-ico { width: 22px; height: 22px; color: #7ec8ff; display: flex; }
.w-h-ico .ico-svg { width: 20px; height: 20px; }
.w-hero { text-align: center; padding-top: 18px; }
.w-pill {
  display: inline-block; font-size: 13px; color: #d7e6ff; letter-spacing: 1px;
  border: 1px solid rgba(120,180,255,.45); border-radius: 20px; padding: 5px 16px;
  background: rgba(20,50,100,.35); margin-bottom: 18px;
}
.w-hero h1 { font-size: 86px; font-weight: 800; letter-spacing: 2px; color: #fff; line-height: 1.25; }
.w-hero h1 em { font-style: normal; color: #f0c14a; }
.w-sub { margin-top: 40px; font-size: 28px; color: #d5e2f5; letter-spacing: 1px; }
.w-cta {
  position: absolute; left: 50%; top: 78%; transform: translate(-50%, -50%);
  z-index: 4; margin: 0;
  height: 52px; padding: 0 42px; border: none; border-radius: 26px; cursor: pointer;
  color: #fff; font-size: 18px; font-weight: 700; letter-spacing: 1px;
  background: linear-gradient(180deg, #3d92ff, #1d6fe8);
  box-shadow: 0 8px 24px rgba(40,120,255,.45);
}
.w-cta i { font-style: normal; margin-left: 6px; }
.w-kpis {
  position: absolute; left: 50%; top: 50%; transform: translateX(-50%);
  z-index: 3; display: flex; justify-content: center; gap: 48px; margin: 0;
}
.w-kpis .wk { min-width: 120px; text-align: center; text-shadow: 0 2px 10px rgba(0,0,0,.65); }
.w-kpis .n { font-family: "DIN Alternate", Consolas, monospace; font-size: 36px; font-weight: 700; color: #f0c14a; }
.w-kpis .n small { font-size: 18px; margin-left: 4px; color: #f0c14a; }
.w-kpis .k { margin-top: 6px; font-size: 16px; color: #c5d6ee; }
.w-right { display: flex; flex-direction: column; gap: 14px; }
.w-qr {
  display: block; padding: 16px 16px 14px;
}
.w-qr .w-h { margin-bottom: 10px; }
.w-qrbox {
  width: 168px; height: 168px; margin: 8px auto 10px; background: #fff; border-radius: 8px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.w-qrbox img { width: 150px; height: 150px; object-fit: contain; display: block; }
.w-qr p { display: block; text-align: center; font-size: 13px; color: #d5e4f7; line-height: 1.6; margin: 0; }
.w-bottom {
  flex: none; display: flex; flex-direction: column; align-items: center;
  width: 100%; height: 168px; margin-top: -28px;
}
.w-docks {
  flex: none; display: flex; align-items: center; justify-content: space-between;
  width: 860px; margin: 0; padding: 14px 8px;
  background: rgba(8, 24, 58, .62);
  border: 1px solid rgba(130, 180, 240, .28);
  border-radius: 18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 12px 30px rgba(0,0,0,.25);
}
.w-dock {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 12px;
  cursor: default; color: #e8f1ff; background: none; border: none; padding: 6px 10px;
}
.w-dock .ic {
  width: 46px; height: 46px; flex: none; margin: 0;
  border-radius: 50%; color: #8ec8ff;
  border: 1px solid rgba(110, 175, 255, .55);
  background: rgba(20, 60, 120, .28);
  box-shadow: 0 0 14px rgba(60, 140, 255, .28);
  display: flex; align-items: center; justify-content: center;
}
.w-dock .ic .ico-svg { width: 22px; height: 22px; }
.w-dock .tx { text-align: left; }
.w-dock b { display: block; font-size: 16px; font-weight: 700; letter-spacing: 1px; }
.w-dock span { display: block; margin-top: 3px; font-size: 12px; color: #9fb4d0; font-weight: 400; }
.w-foot {
  flex: 1; min-height: 0; width: 100%;
  display: flex; align-items: center; justify-content: center;
  text-align: center; font-size: 14px; color: #c5d6ee;
  letter-spacing: 1px; padding: 0; margin: 0;
}
.nav.hide { display: none; }
/* 提示条：屏号 */
.pg-tag {
  position: absolute; right: 30px; top: 26px; z-index: 3;
  font-size: 12px; color: var(--txt3); letter-spacing: 2px; border: 1px solid var(--line); border-radius: 20px; padding: 4px 14px;
  background: rgba(10,20,40,.5);
}

/* ============ 面板内容区弹性布局（统一） ============ */
.panel .body { display: flex; flex-direction: column; }
/* 需要撑满 body 的块内容与图表容器 */
.top-viewport, .brand-bar, .seed-block, .coop-grid, .str-list, .honor-wall,
.plat-switch, .breed-wrap, .agent-wrap, .drive-wrap,
#chainRing, #marketChart, #channelChart, #weatherChart, #soilChart, #pestChart, #machChart, #traceRadar,
#p6Orgs, #p6Summary, #p6Demand {
  flex: 1; min-height: 0; min-width: 0;
}
/* 绝对定位层不参与 flex；说明卡默认隐藏，移入点位后再显示 */
.map-box { display: block; }

.msg .av .ico-svg { width: 18px; height: 18px; }
.cf-arrow .ico-svg { width: 18px; height: 18px; color: var(--gold); }
.pd-card .ph-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:42px; background:rgba(10,20,40,.35); }
.pd-card .ph-fallback .ico-svg { width:42px; height:42px; }
.bf-step .bi .ico-svg { width:22px; height:22px; }

/* ============ P6 科技创新（重构） ============ */
.p6-orgs { flex: 1.6; min-height: 0; z-index: 2; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.org-card {
  display: flex; flex-direction: column; gap: 10px; min-width: 0; min-height: 0;
  padding: 14px; border-radius: 14px; overflow: hidden;
  background: linear-gradient(160deg, color-mix(in srgb, var(--c) 14%, rgba(8,24,52,.82)), rgba(8,20,42,.85));
  border: 1px solid color-mix(in srgb, var(--c) 50%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--c) 18%, transparent);
}
.org-card-head { display: flex; gap: 10px; align-items: flex-start; min-width: 0; flex: none; }
.org-card .org-mark {
  width: 40px; height: 40px; flex: none; border-radius: 10px;
  display: flex; align-items: center; justify-content: center; color: var(--c);
  background: color-mix(in srgb, var(--c) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 55%, transparent);
  box-shadow: 0 0 12px color-mix(in srgb, var(--c) 25%, transparent);
}
.org-card .org-mark .ico-svg { width: 20px; height: 20px; }
.org-card .org-tit { min-width: 0; flex: 1; }
.org-card .org-tit em {
  display: inline-block; font-style: normal; font-size: 11px; font-weight: 700; color: #0b1730;
  background: var(--c); border-radius: 8px; padding: 1px 7px; margin-bottom: 5px;
}
.org-card .org-tit b {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; font-size: 14px; color: #f4efe4; font-weight: 700; line-height: 1.35;
}
.org-card .org-tit span {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; margin-top: 4px; font-size: 11px; color: #9fb4d0; line-height: 1.4;
}
.org-card-sec { display: flex; flex-direction: column; gap: 8px; min-height: 0; flex: 1; }
.org-card-sec.org-sec-exp { flex: 1.35; }
.org-card-sec.org-sec-out { flex: 1; }
.org-sec-h {
  flex: none; display: flex; align-items: center; gap: 7px;
  font-size: 14px; font-weight: 700; color: #d5e4f7;
  padding-bottom: 5px; border-bottom: 1px dashed rgba(120,160,210,.25);
}
.org-sec-h .ic { width: 16px; height: 16px; display: flex; color: var(--c); }
.org-sec-h .ic .ico-svg { width: 15px; height: 15px; }
.org-exp-row {
  flex: 1; min-height: 0;
  overflow: hidden;
  position: relative;
}
.org-exp-track {
  display: flex; gap: 10px; align-items: stretch;
  height: 100%; width: max-content;
}
.org-exp-row:not(.scrolling) .org-exp-track { width: 100%; }
.org-exp-row.scrolling .org-exp-track {
  animation: orgExpLeft var(--exp-dur, 24s) linear infinite;
}
.org-exp-row.scrolling:hover .org-exp-track { animation-play-state: paused; }
@keyframes orgExpLeft {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.org-exp {
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  min-width: 0; min-height: 0; height: 100%;
  gap: 8px; padding: 10px 8px 12px;
  border-radius: 12px;
  background: rgba(8,24,52,.55); border: 1px solid rgba(90,150,220,.35);
  text-align: center;
  box-sizing: border-box;
}
.org-exp-row:not(.scrolling) .org-exp { flex: 1 1 0; }
.org-exp-row.scrolling .org-exp { flex: none; width: 158px; }
.org-exp-av {
  width: 100%; aspect-ratio: 1; max-height: none; flex: 1 1 auto;
  min-height: 0; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 42px; font-weight: 700; color: #0b1730; background: var(--c); overflow: hidden;
  box-shadow: 0 0 14px color-mix(in srgb, var(--c) 35%, transparent);
}
.org-exp-av.has-img { background: #1a2a44; border: 1px solid color-mix(in srgb, var(--c) 55%, transparent); }
.org-exp-av img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.org-exp-tx { flex: none; min-width: 0; width: 100%; }
.org-exp-tx b { display: block; font-size: 16px; color: #f0f4fb; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.org-exp-tx span { display: block; margin-top: 4px; font-size: 12px; color: #a8bbd8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.org-out-list { display: flex; flex-direction: column; gap: 5px; min-height: 0; overflow: hidden; }
.org-out {
  display: flex; align-items: flex-start; gap: 7px; min-width: 0;
  padding: 5px 8px; border-radius: 8px;
  background: rgba(4,14,32,.45); border: 1px solid rgba(80,140,210,.2);
}
.org-out em { flex: none; font-style: normal; font-size: 10.5px; font-weight: 700; border: 1px solid; border-radius: 6px; padding: 1px 6px; margin-top: 1px; }
.org-out-tx { min-width: 0; flex: 1; }
.org-out-tx b { display: block; font-size: 12px; color: #e8f1ff; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.org-out-tx span { display: block; font-size: 10.5px; color: #8ea3c2; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.p6-bot { display: flex; gap: 14px; flex: none; z-index: 2; margin-top: 14px; height: 200px; }
.p6-bot .panel { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.p6-summary { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1fr 1fr; gap: 10px; height: 100%; }
.p6-sum-card {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border-radius: 10px; padding: 8px 4px;
  background: rgba(8,24,52,.5); border: 1px solid color-mix(in srgb, var(--c) 45%, transparent);
}
.p6-sum-card b { font-size: 26px; color: var(--c); font-family: "DIN Alternate", Consolas, monospace; line-height: 1; font-weight: 700; }
.p6-sum-card b small { font-size: 12px; margin-left: 2px; font-weight: 500; }
.p6-sum-card span { margin-top: 5px; font-size: 12px; color: #c5d6ee; }

/* ============ P3 市场概况 ============ */
.p3-bot { display: flex; gap: 14px; flex: 1; min-height: 0; z-index: 2; margin-top: 14px; }
.p3-bot .panel { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.p3-bot .panel.p3-market { flex: 1.5; }
.mk-wrap { display: flex; flex-direction: column; gap: 10px; height: 100%; min-height: 0; }
.mk-kpis { display: flex; gap: 8px; flex: none; }
.mk-kpi {
  flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0;
  padding: 8px 10px; border-radius: 10px;
  background: rgba(8,24,52,.5); border: 1px solid color-mix(in srgb, var(--c) 42%, transparent);
}
.mk-kpi b { font-size: 22px; color: var(--c); font-family: "DIN Alternate", Consolas, monospace; line-height: 1; font-weight: 700; }
.mk-kpi b small { font-size: 11px; margin-left: 2px; font-weight: 500; }
.mk-kpi span { font-size: 11.5px; color: #c5d6ee; }
.mk-main { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.mk-dom, .mk-exp, .mk-growth {
  min-height: 0; display: flex; flex-direction: column; gap: 6px;
  padding: 8px 10px; border-radius: 10px;
  background: rgba(8,24,52,.4); border: 1px solid rgba(80,140,210,.25);
}
.mk-growth .ex-bars { flex: 1; min-height: 0; display: flex; align-items: flex-end; gap: 8px; padding: 0 4px; }
.mk-growth .ex-bar .col { max-width: 36px; }

/* ============ P5 智能体入口（标题后） ============ */
.p5-agent-entry {
  position: relative; z-index: 50; flex: none;
  width: auto;
  border-radius: 10px;
  background: rgba(8,22,52,.92); border: 1px solid rgba(232,185,79,.4);
  box-shadow: 0 4px 14px rgba(0,0,0,.28);
}
.p5-agent-head {
  display: flex; align-items: center; gap: 6px; cursor: pointer;
  padding: 5px 10px; border-radius: 10px;
  background: linear-gradient(90deg, rgba(232,185,79,.18), rgba(8,22,52,.35));
}
.p5-agent-entry.open .p5-agent-head { border-radius: 10px 10px 0 0; }
.p5-agent-ico { width: 16px; height: 16px; display: flex; color: #f0c14a; }
.p5-agent-ico .ico-svg { width: 14px; height: 14px; }
.p5-agent-head b { flex: 1; font-size: 12px; color: #f4efe4; font-weight: 600; white-space: nowrap; }
.p5-agent-toggle { width: 12px; height: 12px; display: flex; color: #9fb4d0; transform: rotate(90deg); transition: transform .2s; }
.p5-agent-entry.open .p5-agent-toggle { transform: rotate(-90deg); }
.p5-agent-toggle .ico-svg { width: 12px; height: 12px; }
.p5-agent-body {
  display: none; position: absolute; right: 0; left: auto; top: calc(100% - 1px); z-index: 51;
  width: 520px; min-height: 460px;
  padding: 14px 16px 16px; border-radius: 0 0 14px 14px;
  background: rgba(8,22,52,.98); border: 1px solid rgba(232,185,79,.45); border-top: none;
  box-shadow: 0 12px 28px rgba(0,0,0,.45);
}
.p5-agent-entry.open .p5-agent-body { display: flex; flex-direction: column; gap: 12px; }
.p5-agent-entry .agent-chat { flex: 1; min-height: 360px; height: 360px; }
.p5-agent-entry .agent-input .ipt { height: 40px; font-size: 14px; }
.p5-agent-entry .agent-input .send { height: 40px; padding: 0 18px; font-size: 14px; }

/* P5 气象 */
.p5-weather .body { display: flex; flex-direction: column; gap: 10px; }
.weather-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; flex: none; }
.weather-card {
  display: flex; align-items: center; gap: 8px; min-width: 0;
  padding: 8px 10px; border-radius: 10px;
  background: rgba(8,24,52,.5); border: 1px solid color-mix(in srgb, var(--c) 42%, transparent);
}
.weather-card i { width: 32px; height: 32px; flex: none; border-radius: 8px; color: var(--c); display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--c) 16%, transparent); }
.weather-card i .ico-svg { width: 18px; height: 18px; }
.weather-card .tx { min-width: 0; }
.weather-card .tx b { font-size: 18px; color: #f0c14a; font-family: "DIN Alternate", Consolas, monospace; line-height: 1; font-weight: 700; }
.weather-card .tx b small { font-size: 11px; margin-left: 2px; font-weight: 500; }
.weather-card .tx span { display: block; font-size: 11px; color: #9fb4d0; margin-top: 3px; }

/* P5 土壤墒情 */
.soil-wrap { display: flex; flex-direction: column; gap: 8px; height: 100%; min-height: 0; }
.soil-leg { flex: none; display: flex; gap: 14px; justify-content: flex-end; }
.soil-leg span { display: flex; align-items: center; gap: 5px; font-size: 11px; color: #c5d6ee; }
.soil-leg i { width: 10px; height: 3px; border-radius: 2px; display: inline-block; }
.soil-plots { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; }
.soil-plot {
  display: flex; flex-direction: column; gap: 6px; min-width: 0; min-height: 0;
  padding: 8px 10px; border-radius: 10px;
  background: rgba(8,24,52,.45); border: 1px solid rgba(80,140,210,.25);
}
.sp-head { display: flex; align-items: center; justify-content: space-between; flex: none; }
.sp-head b { font-size: 13px; color: #f0f4fb; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sp-head em { font-style: normal; font-size: 10.5px; font-weight: 700; border: 1px solid; border-radius: 6px; padding: 1px 6px; flex: none; }
.sp-rows { flex: 1; min-height: 0; display: flex; flex-direction: column; justify-content: center; gap: 5px; }
.sp-row { display: flex; align-items: center; gap: 7px; }
.sp-row span { width: 40px; flex: none; font-size: 11px; color: #9fb4d0; }
.sp-row .bar { flex: 1; height: 6px; border-radius: 3px; background: rgba(18,33,61,.9); overflow: hidden; }
.sp-row .bar i { display: block; height: 100%; border-radius: 3px; }
.sp-row b { width: 48px; text-align: right; font-size: 12px; color: #f0c14a; font-family: "DIN Alternate", Consolas, monospace; font-weight: 700; }

/* P5 病虫害预警 */
.pest-wrap { display: flex; flex-direction: column; gap: 10px; height: 100%; min-height: 0; }
.pest-top { flex: none; display: flex; gap: 10px; align-items: stretch; }
.pest-level {
  flex: none; width: 130px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  border-radius: 10px; padding: 8px 6px;
  background: color-mix(in srgb, var(--c) 14%, rgba(8,24,52,.6));
  border: 1px solid color-mix(in srgb, var(--c) 60%, transparent);
}
.pest-level b { font-size: 12px; color: #c5d6ee; font-weight: 600; }
.pest-level em { font-style: normal; font-size: 24px; color: var(--c); font-weight: 800; line-height: 1.1; }
.pest-level span { font-size: 11px; color: #9fb4d0; }
.pest-stats { flex: 1; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; }
.pest-stat {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border-radius: 10px; padding: 6px 4px;
  background: rgba(8,24,52,.5); border: 1px solid color-mix(in srgb, var(--c) 42%, transparent);
}
.pest-stat b { font-size: 22px; color: var(--c); font-family: "DIN Alternate", Consolas, monospace; line-height: 1; font-weight: 700; }
.pest-stat b small { font-size: 11px; margin-left: 2px; font-weight: 500; }
.pest-stat span { margin-top: 4px; font-size: 11.5px; color: #c5d6ee; }
.pest-feed { flex: 1; min-height: 0; overflow: hidden; position: relative; border-radius: 10px; background: rgba(8,24,52,.35); }

/* P5 农机调度 */
.mach-wrap { display: flex; flex-direction: column; gap: 10px; height: 100%; min-height: 0; }
.mach-stats { flex: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.mach-stat {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border-radius: 10px; padding: 8px 4px;
  background: rgba(8,24,52,.5); border: 1px solid color-mix(in srgb, var(--c) 42%, transparent);
}
.mach-stat b { font-size: 22px; color: var(--c); font-family: "DIN Alternate", Consolas, monospace; line-height: 1; font-weight: 700; }
.mach-stat b small { font-size: 11px; margin-left: 2px; font-weight: 500; }
.mach-stat span { margin-top: 4px; font-size: 11.5px; color: #c5d6ee; }
.mach-list { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 6px; overflow: hidden; }
.mach-item {
  flex: 1; min-height: 0;
  display: grid; grid-template-columns: 1.4fr 2fr 3fr 48px; gap: 8px; align-items: center;
  padding: 0 10px; border-radius: 8px;
  background: rgba(8,24,52,.45); border: 1px solid color-mix(in srgb, var(--c) 35%, transparent);
}
.mi-head { display: flex; align-items: center; gap: 6px; min-width: 0; }
.mi-head b { font-size: 12.5px; color: #f0f4fb; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mi-head em { font-style: normal; font-size: 10px; font-weight: 700; color: var(--c); border: 1px solid color-mix(in srgb, var(--c) 50%, transparent); border-radius: 5px; padding: 0 5px; flex: none; }
.mi-task { font-size: 11.5px; color: #c5d6ee; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mi-bar { height: 6px; border-radius: 3px; background: rgba(18,33,61,.9); overflow: hidden; }
.mi-bar i { display: block; height: 100%; border-radius: 3px; background: var(--c); }
.mi-pct { font-size: 12px; color: #f0c14a; font-family: "DIN Alternate", Consolas, monospace; font-weight: 700; text-align: right; }

/* ============ 基地详情二级层 ============ */
.bd-mask {
  position: absolute; inset: 0; z-index: 80;
  display: flex; align-items: center; justify-content: center;
  background: rgba(2, 10, 24, .72);
  backdrop-filter: blur(6px);
  padding: 40px 48px 90px;
}
.bd-mask[hidden] { display: none !important; }
.bd-panel {
  position: relative;
  width: min(1180px, 100%); height: min(720px, 100%);
  display: grid; grid-template-columns: 1.05fr 1.15fr; gap: 0;
  border-radius: 18px; overflow: hidden;
  border: 1px solid rgba(120, 170, 230, .4);
  background: linear-gradient(160deg, rgba(18, 36, 68, .98), rgba(8, 20, 42, .98));
  box-shadow: 0 24px 60px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.04);
  animation: bdIn .28s ease both;
}
@keyframes bdIn {
  from { opacity: 0; transform: translateY(18px) scale(.98); }
  to { opacity: 1; transform: none; }
}
.bd-close {
  position: absolute; top: 14px; right: 14px; z-index: 2;
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid rgba(140,180,230,.45); background: rgba(8,20,42,.75);
  color: #e8f1ff; font-size: 26px; line-height: 1; cursor: pointer;
}
.bd-close:hover { border-color: var(--gold3); color: var(--gold); }
.bd-media { position: relative; min-width: 0; background: #061224; }
.bd-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bd-media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 55%, rgba(8,20,42,.55));
  pointer-events: none;
}
.bd-body {
  min-width: 0; min-height: 0; overflow: auto;
  padding: 28px 36px 28px 28px;
  display: flex; flex-direction: column; gap: 12px;
}
.bd-kicker {
  font-size: 13px; color: #7ec8ff; letter-spacing: 2px;
}
.bd-title {
  font-size: 28px; font-weight: 700; color: #f4efe4; line-height: 1.35;
  letter-spacing: 1px; margin: 0; padding-right: 36px;
}
.bd-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.bd-meta span {
  font-size: 12.5px; color: #d5e4f7;
  border: 1px solid rgba(110,170,230,.35);
  background: rgba(20,50,100,.35);
  border-radius: 999px; padding: 4px 12px;
}
.bd-meta span b { color: var(--gold); font-weight: 600; margin-right: 4px; }
.bd-desc {
  font-size: 15px; color: #c5d6ee; line-height: 1.7; margin: 0;
  padding: 12px 14px; border-radius: 10px;
  background: rgba(8,24,52,.45); border: 1px solid rgba(80,140,210,.22);
}
.bd-content { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 10px; }
.bd-content h3 {
  margin: 6px 0 0; font-size: 16px; color: var(--gold); font-weight: 700;
  display: flex; align-items: center; gap: 8px;
}
.bd-content h3::before {
  content: ""; width: 4px; height: 14px; border-radius: 2px;
  background: linear-gradient(180deg, var(--gold), var(--gold3));
}
.bd-content p {
  margin: 0; font-size: 14px; color: #d5e2f5; line-height: 1.75;
}
.bw-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
