/* ============================================================
   秒景 GEO 优化系统 · 主题层 theme.css
   ① 浅色/深色 CSS 变量  ② 硬编码色变量化  ③ 视觉增强
   本文件在 index.html 内联样式之后加载，选择器特异性更高
   由 tools/build-theme.py 生成 —— 改样式请改脚本后重跑，勿直接改本文件
   ============================================================ */

html:root{
  /* ===== 基础色板（浅色）===== */
  --primary:#2f6bff; --primary-2:#5b8cff; --primary-3:#7b9dff; --primary-ink:#1d4ed8;
  --primary-solid:#2f6bff; --primary-2-solid:#5b8cff; --primary-3-solid:#7b9dff;
  --primary-light:#eaf0ff; --primary-soft:#f2f6ff; --primary-tint:#eef3fe;
  --bg:#f4f6fb; --bg-2:#eef1f7; --bg-3:#e8ecf3;
  --card:#ffffff; --surface:#ffffff; --surface-2:#fafbfe; --surface-3:#f7f9fc;
  --surface-4:#fbfcfe; --surface-hover:#f4f7fe; --surface-hover-2:#ecf1fd;
  --track:#f0f3fa; --track-2:#f2f4f9; --track-3:#f0f2f7;
  --border:#e8ecf3; --border-2:#eef1f6; --border-3:#eaeef5; --border-4:#eef2f9;
  --border-5:#f2f5f9; --line-soft:#e3e7ee; --line-softer:#eef2f9;
  --line:#e3e1d8; --bg-soft:#f7f9fc;
  --text:#1f2430; --text-1:#1f2430; --text-2:#5a6478; --text-3:#9aa3b5; --text-4:#8b93a5;
  --on-primary:#ffffff;
  /* ===== 语义色（浅底 + 深字）===== */
  --green:#10b981; --green-text:#0d9f6e; --green-text-2:#1d8a4e; --green-text-3:#0e9f6e;
  --green-tint:#e6f9f1; --green-tint-2:#e8f7ef; --green-line:#c6f0df; --green-line-2:#bfe8cf;
  --green-deep:#047857; --green-mid:#15803d;
  --orange:#f59e0b; --orange-text:#c47d00; --orange-text-2:#e08a00; --orange-text-3:#b26a00;
  --orange-solid:#f59e0b; --orange-text-solid:#c47d00; --orange-text-2-solid:#e08a00;
  --orange-tint:#fff4e0; --orange-tint-2:#fff7e6; --orange-tint-3:#fff6e6; --orange-tint-4:#fffdf5;
  --orange-line:#ffe3ab; --orange-line-2:#f2dcb0; --orange-line-3:#ffe0a3; --orange-line-4:#f5ddb4;
  --orange-deep:#c2740a; --orange-mid:#a86b00; --orange-mid-2:#8a6d00;
  --red:#ef4444; --red-text:#c93a3a; --red-text-2:#e04040; --red-text-3:#d64541; --red-text-4:#dc2626;
  --red-text-solid:#c93a3a; --red-text-4-solid:#dc2626;
  --red-tint:#feecec; --red-tint-2:#fef2f2; --red-tint-3:#fdeaea; --red-tint-4:#fff4f4;
  --red-line:#f8cfcf; --red-line-2:#fca5a5; --red-line-3:#f7c9c4; --red-line-4:#f7dedb;
  --red-deep:#b91c1c;
  --purple:#8b5cf6; --purple-text:#6b3fd4; --purple-text-2:#4b5cd6; --purple-line:#d9d2f5;
  --purple-tint:#f3ecff;
  --cyan:#0e9bb5; --cyan-text:#0e9bb5; --cyan-tint:#e4f7fb;
  --blue-text:#2563eb; --blue-text-2:#2f5bd0; --blue-text-3:#185FA5; --blue-text-3-solid:#185FA5;
  --blue-tint:#eaf1ff; --blue-tint-2:#eef3fe; --blue-line:#c9dbff; --blue-line-2:#dbe6ff;
  --blue-line-3:#d9e4fb; --blue-line-4:#d7e0f5;
  --ink-soft:#2b3a55;
  --tag-orange:#ff7043; --tag-orange-tint:#ffefe5;
  /* ===== 提示框底色 ===== */
  --tip-green-bg:#f1f8f3; --tip-green-bg-2:#eef2ea; --tip-green-bg-3:#f2f7f2; --tip-green-bg-4:#f0fdf6;
  --tip-red-bg:#fef7f6; --tip-red-bg-2:#fdeceb; --tip-red-bg-3:#fffafa; --tip-red-bg-4:#fdecea;
  --tip-orange-bg:#fffaf1; --tip-orange-bg-2:#faf8f0; --tip-orange-bg-3:#fdf1e6; --tip-orange-bg-4:#fff8e6;
  --tip-blue-bg:#fcfdff; --tip-blue-bg-2:#fafbff; --tip-blue-bg-3:#f7f9ff; --tip-blue-bg-4:#e3ecff;
  --tip-cream-bg:#faf9f5; --tip-cream-bg-2:#eceadf; --tip-amber-bg:#fff3cd; --tip-ink-bg:#fdfdfb;
  --tip-purple-bg:#faf8ff;
  --sw-green:#2f9e6b; --sw-blue:#2557e0; --sw-gray:#c9c6bb;
  --overlay-bar:rgba(245,247,251,.78);
  --grad-amber-from:#ffe9a8; --grad-amber-to:#ffd166;
  --glow-green:#e6f5ee;
  /* ===== 评分档位（五档）===== */
  --t1-bg:rgba(5,150,105,.13);  --t1-fg:#047857;
  --t2-bg:rgba(22,163,74,.13); --t2-fg:#15803d;
  --t3-bg:rgba(47,107,255,.10); --t3-fg:#2f6bff;
  --t4-bg:rgba(245,158,11,.16);--t4-fg:#c2740a;
  --t5-bg:#ef4444;            --t5-fg:#ffffff;
  --t5-glow:rgba(239,68,68,.18); --t5-glow-2:rgba(239,68,68,.04);
  /* ===== 阴影 ===== */
  --sh-sm:0 1px 2px rgba(20,26,40,.05);
  --sh-md:0 2px 8px rgba(20,26,40,.06);
  --sh-lg:0 8px 24px rgba(20,40,80,.08);
  --sh-primary:0 4px 14px rgba(47,107,255,.32);
  --sh-primary-h:0 6px 18px rgba(47,107,255,.40);
  --sh-primary-soft:0 12px 32px rgba(47,107,255,.10);
  --overlay:rgba(20,26,40,.42);
  --sh-overlay:0 20px 60px rgba(20,26,40,.20);
  --sidebar-w:224px; --topbar-h:60px;
  color-scheme:light;
}


html[data-theme="dark"]{
  /* ===== 深色基础 ===== */
  --primary:#5b8cff; --primary-2:#7b9dff; --primary-3:#93b0ff; --primary-ink:#a8c4ff;
  --primary-solid:#4b7bff; --primary-2-solid:#5b8cff; --primary-3-solid:#7b9dff;
  --primary-light:rgba(91,140,255,.16); --primary-soft:rgba(91,140,255,.10); --primary-tint:rgba(91,140,255,.14);
  --bg:#0d1117; --bg-2:#131a24; --bg-3:#1b2432;
  --card:#151c27; --surface:#151c27; --surface-2:#1a2230; --surface-3:#1c2431;
  --surface-4:#182031; --surface-hover:#1d2634; --surface-hover-2:#222d3e;
  --track:#232c3b; --track-2:#212a38; --track-3:#242e3d;
  --border:#26303f; --border-2:#212a37; --border-3:#232c3a; --border-4:#1f2835;
  --border-5:#222b39; --line-soft:#2b3546; --line-softer:#1e2734;
  --line:#2b3546; --bg-soft:#1a2230;
  --text:#e6ebf5; --text-1:#e6ebf5; --text-2:#a3aec2; --text-3:#7b8699; --text-4:#8b95a8;
  --on-primary:#ffffff;
  /* ===== 深色语义色（暗底 + 亮字）===== */
  --green:#10b981; --green-text:#3ddba4; --green-text-2:#34d3a0; --green-text-3:#3ddba4;
  --green-tint:rgba(16,185,129,.14); --green-tint-2:rgba(16,185,129,.16);
  --green-line:rgba(16,185,129,.32); --green-line-2:rgba(16,185,129,.28);
  --green-deep:#34d3a0; --green-mid:#4ade80;
  --orange:#f59e0b; --orange-text:#fbbf24; --orange-text-2:#fbbf24; --orange-text-3:#fcd34d;
  --orange-solid:#b45309; --orange-text-solid:#fbbf24; --orange-text-2-solid:#fbbf24;
  --orange-tint:rgba(245,158,11,.15); --orange-tint-2:rgba(245,158,11,.17);
  --orange-tint-3:rgba(245,158,11,.14); --orange-tint-4:rgba(245,158,11,.10);
  --orange-line:rgba(245,158,11,.34); --orange-line-2:rgba(245,158,11,.30);
  --orange-line-3:rgba(245,158,11,.32); --orange-line-4:rgba(245,158,11,.28);
  --orange-deep:#fbbf24; --orange-mid:#fcd34d; --orange-mid-2:#fbbf24;
  --red:#ef4444; --red-text:#f87171; --red-text-2:#f87171; --red-text-3:#f87171; --red-text-4:#f87171;
  --red-text-solid:#b91c1c; --red-text-4-solid:#b91c1c;
  --red-tint:rgba(239,68,68,.16); --red-tint-2:rgba(239,68,68,.14);
  --red-tint-3:rgba(239,68,68,.15); --red-tint-4:rgba(239,68,68,.10);
  --red-line:rgba(239,68,68,.34); --red-line-2:rgba(239,68,68,.40);
  --red-line-3:rgba(239,68,68,.36); --red-line-4:rgba(239,68,68,.32);
  --red-deep:#f87171;
  --purple:#a78bfa; --purple-text:#b79dff; --purple-text-2:#a5b4fc; --purple-line:rgba(167,139,250,.34);
  --purple-tint:rgba(139,92,246,.16);
  --cyan:#22d3ee; --cyan-text:#22d3ee; --cyan-tint:rgba(34,211,238,.14);
  --blue-text:#7b9dff; --blue-text-2:#93b0ff; --blue-text-3:#7b9dff; --blue-text-3-solid:#1d4ed8;
  --blue-tint:rgba(91,140,255,.16); --blue-tint-2:rgba(91,140,255,.13);
  --blue-line:rgba(91,140,255,.34); --blue-line-2:rgba(91,140,255,.30);
  --blue-line-3:rgba(91,140,255,.32); --blue-line-4:rgba(91,140,255,.28);
  --ink-soft:#c3cddd;
  --tag-orange:#ff8a5b; --tag-orange-tint:rgba(255,112,67,.16);
  --tip-green-bg:rgba(16,185,129,.10); --tip-green-bg-2:rgba(16,185,129,.12); --tip-green-bg-3:rgba(16,185,129,.09); --tip-green-bg-4:rgba(16,185,129,.11);
  --tip-red-bg:rgba(239,68,68,.10); --tip-red-bg-2:rgba(239,68,68,.12); --tip-red-bg-3:rgba(239,68,68,.08); --tip-red-bg-4:rgba(239,68,68,.11);
  --tip-orange-bg:rgba(245,158,11,.10); --tip-orange-bg-2:rgba(245,158,11,.12); --tip-orange-bg-3:rgba(245,158,11,.09); --tip-orange-bg-4:rgba(245,158,11,.11);
  --tip-blue-bg:rgba(91,140,255,.09); --tip-blue-bg-2:rgba(91,140,255,.11); --tip-blue-bg-3:rgba(91,140,255,.08); --tip-blue-bg-4:rgba(91,140,255,.12);
  --tip-cream-bg:rgba(212,175,55,.10); --tip-cream-bg-2:rgba(212,175,55,.14); --tip-amber-bg:rgba(245,158,11,.16);
  --tip-ink-bg:rgba(148,163,184,.12); --tip-purple-bg:rgba(139,92,246,.10);
  --sw-green:#10b981; --sw-blue:#5b8cff; --sw-gray:#64748b;
  --overlay-bar:rgba(13,17,23,.82);
  --grad-amber-from:#b45309; --grad-amber-to:#f59e0b;
  --glow-green:rgba(16,185,129,.22);
  --t1-bg:rgba(16,185,129,.16);  --t1-fg:#34d3a0;
  --t2-bg:rgba(74,222,128,.16); --t2-fg:#4ade80;
  --t3-bg:rgba(91,140,255,.18); --t3-fg:#93b0ff;
  --t4-bg:rgba(245,158,11,.20);--t4-fg:#fbbf24;
  --t5-bg:#dc2626;            --t5-fg:#ffffff;
  --t5-glow:rgba(239,68,68,.26); --t5-glow-2:rgba(239,68,68,.06);
  --sh-sm:0 1px 2px rgba(0,0,0,.40);
  --sh-md:0 2px 10px rgba(0,0,0,.45);
  --sh-lg:0 8px 28px rgba(0,0,0,.50);
  --sh-primary:0 4px 16px rgba(91,140,255,.34);
  --sh-primary-h:0 6px 22px rgba(91,140,255,.45);
  --sh-primary-soft:0 12px 32px rgba(91,140,255,.14);
  --overlay:rgba(3,6,12,.66);
  --sh-overlay:0 20px 60px rgba(0,0,0,.60);
  color-scheme:dark;
}

/* ---------- 内联样式的变量化覆盖（特异性已提升，压过 index.html 内联样式） ---------- */

html body .topbar{position:fixed;top:0;left:0;right:0;height:56px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;z-index:100;}
html body .logo .mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#2f6bff,#7b9dff);display:flex;align-items:center;justify-content:center;color:var(--on-primary);font-size:15px;font-weight:800;}
html body .src-badge.ok{background:var(--green-tint);color:var(--green-text);border-color:var(--green-line);}
html body .src-badge.warn{background:var(--orange-tint-2);color:var(--orange-text);border-color:var(--orange-line);}
html body .src-badge.off{background:var(--red-tint-3);color:var(--red-text);border-color:var(--red-line);}
html body .src-badge.web{background:var(--blue-tint);color:var(--blue-text-2);border-color:var(--blue-line);}
html body .caliber-tag.site{display:inline-block;background:var(--green-tint-2);color:var(--green-text-2);border:1px solid var(--green-line-2);}
html body .caliber-tag.ai{display:inline-block;background:var(--orange-tint-2);color:var(--orange-text);border:1px solid var(--orange-line);}
html body .web-note{display:none;margin:0 0 14px;padding:11px 14px;border-radius:10px;background:var(--primary-soft);border:1px solid var(--blue-line);color:var(--ink-soft);font-size:12.5px;line-height:1.85;}
html body .web-note b{color:var(--blue-text-2);}
html body .web-note .wn-src{margin-top:6px;color:var(--text-2);}
html body .icon-btn{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 12px;font-size:13px;color:var(--text-2);cursor:pointer;}
html body .avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ffb56b,#ff8a5b);display:flex;align-items:center;justify-content:center;color:var(--on-primary);font-size:13px;}
html body .btn-upgrade{background:linear-gradient(135deg,#ff6b6b,#ff8f5b);color:var(--on-primary);border:none;padding:7px 16px;border-radius:18px;font-size:13px;cursor:pointer;}
html body .sidebar{position:fixed;top:56px;left:0;bottom:0;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;padding:12px 10px 24px;z-index:90;}
html body .sidebar::-webkit-scrollbar-thumb{background:var(--track);border-radius:2px;}
html body .nav-item .tag{margin-left:auto;font-size:10px;background:var(--tag-orange-tint);color:var(--tag-orange);padding:1px 6px;border-radius:8px;}
html body .brand-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--surface-hover);cursor:pointer;font-weight:700;font-size:13.5px;color:var(--text);}
html body .brand-head:hover{background:var(--surface-hover-2);}
html body .brand-head .bmark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,#2f6bff,#7b9dff);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;}
html body .brand-item .radio{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;}
html body .btn-capture{margin-left:auto;display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,#2f6bff,#5b8cff);
    color:var(--on-primary);border:none;border-radius:22px;padding:9px 18px;font-size:13.5px;font-weight:600;cursor:pointer;
    box-shadow:0 4px 14px var(--sh-primary);transition:.18s;position:relative;}
html body .btn-capture:hover{transform:translateY(-1px);box-shadow:0 6px 18px var(--sh-primary-h);}
html body .btn-capture .cap-pulse{position:absolute;inset:-3px;border-radius:24px;border:2px solid var(--primary);animation:capPulse 1.4s ease-out infinite;pointer-events:none;}
/* 页头内嵌的紧凑采集按钮（品牌感知等页） */
html body .btn-capture.btn-ph{padding:7px 15px;font-size:13px;border-radius:20px;margin-left:auto;flex:none;}
html body .btn-capture.btn-ph .cap-pulse{inset:-2px;border-radius:20px;}
html body .seg button.on{background:var(--primary);color:var(--on-primary);font-weight:500;box-shadow:0 2px 6px var(--sh-primary);}
html body .pill{display:inline-flex;align-items:center;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 16px;font-size:13px;color:var(--text-2);cursor:pointer;margin-right:8px;}
html body .rank-list li{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px dashed var(--track-3);font-size:13px;}
html body .rank-no{width:20px;height:20px;border-radius:5px;background:var(--track);color:var(--text-2);font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;}
html body .rank-no.top{background:var(--primary);color:var(--on-primary);}
html body td{padding:12px;border-bottom:1px solid var(--track-2);color:var(--text-2);}
html body tr:hover td{background:var(--surface-2);}
html body .pb-blue{background:var(--primary-light);color:var(--primary);}
html body .pb-green{background:var(--green-tint);color:var(--green-text);}
html body .pb-orange{background:var(--orange-tint);color:var(--orange-text-2);}
html body .pb-purple{background:var(--purple-tint);color:var(--purple);}
html body .pb-cyan{background:var(--cyan-tint);color:var(--cyan-text);}
html body .bar-cell .track{flex:1;height:6px;background:var(--track);border-radius:3px;overflow:hidden;min-width:60px;}
html body .bar-cell .fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#2f6bff,#7b9dff);}
html body .kpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;position:relative;overflow:hidden;}
html body .sbar .track{height:6px;background:var(--track);border-radius:3px;overflow:hidden;}
html body .lvl-t1{background:var(--t1-bg);color:var(--t1-fg);}
html body .lvl-t2{background:var(--t2-bg);color:var(--t2-fg);}
html body .lvl-t3{background:var(--t3-bg);color:var(--primary);}
html body .lvl-t4{background:var(--t4-bg);color:var(--t4-fg);}
html body .lvl-t5{background:var(--t5-bg);color:var(--on-primary);font-weight:700;box-shadow:0 0 0 3px var(--t5-glow);animation:lvlPulse 1.5s ease-in-out infinite;}
html body .sbar .fill.f3{background:linear-gradient(90deg,#2f6bff,#7b9dff);}
html body .sbar .s-top span.v-f4{color:var(--t4-fg);font-weight:600;}
html body .card.score-fail{border-color:var(--red-line-2);background:linear-gradient(180deg,var(--red-tint-4),var(--surface) 40%);box-shadow:0 0 0 3px rgba(239,68,68,.07);}
html body .card.score-fail .card-title{color:var(--red-deep);}
html body .score-big.s-f1{color:var(--t1-fg);}
html body .score-big.s-f2{color:var(--t2-fg);}
html body .score-big.s-f4{color:var(--t4-fg);}
html body .ld-pass-note{margin-top:12px;padding:10px 14px;border-radius:8px;background:var(--green-tint);border:1px solid var(--green-text);color:var(--t1-fg);font-size:13px;font-weight:600;line-height:1.7;}
html body .ld-fail-note{margin-top:12px;padding:10px 14px;border-radius:8px;background:var(--red-tint-2);border:1px solid var(--red-line-2);color:var(--red-deep);font-size:13px;font-weight:700;line-height:1.7;animation:noteGlow 1.6s ease-in-out infinite;}
html body .input{border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:13px;outline:none;width:260px;background:var(--surface);}
html body .btn{border:none;border-radius:8px;padding:9px 18px;font-size:13px;cursor:pointer;background:var(--primary);color:var(--on-primary);font-weight:500;}
html body .btn.ghost{background:var(--surface);border:1px solid var(--border);color:var(--text-2);}
html body .switch{width:36px;height:20px;border-radius:10px;background:var(--surface-3);position:relative;cursor:pointer;transition:.2s;}
html body .switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);transition:.2s;}
html body .src-auth.a-high{background:var(--t1-bg);color:var(--t1-fg);}
html body .src-auth.a-mid{background:var(--t3-bg);color:var(--primary);}
html body .src-auth.a-low{background:var(--surface-3);color:var(--text-4);}
html body .src-auth.a-ref{background:var(--orange-tint);color:var(--t4-fg);}
html body .src-tag.t-own{background:var(--blue-tint-2);color:var(--purple-text-2);}
html body .src-tag.t-ai{background:var(--green-tint);color:var(--green-text);}
html body .src-tag.t-web{background:var(--purple-tint);color:var(--purple);}
html body .br-empty{padding:22px;text-align:center;color:var(--text-3);font-size:12.5px;background:var(--surface-2);border-radius:10px;line-height:1.9;}
html body .article-body h2{font-size:18px;margin:22px 0 10px;border-left:4px solid var(--primary);padding-left:10px;}
html body .article-body blockquote{margin:12px 0;padding:10px 14px;background:var(--surface-3);border-left:4px solid var(--border);color:var(--text-2);border-radius:0 8px 8px 0;font-size:13px;}
html body .article-body th{background:var(--surface-4);}
html body .article-body code{background:var(--surface-3);padding:1px 5px;border-radius:4px;font-size:.9em;}
html body .art-src.real{background:var(--green-tint-2);color:var(--green-text-3);}
html body .art-src.demo{background:var(--orange-tint);color:var(--orange-text-2);}
html body .br-url .br-link{color:var(--primary);text-decoration:none;cursor:pointer;}
html body .adv-steps{margin-top:8px;padding:10px 12px;background:var(--bg-soft);border:1px dashed var(--border);border-radius:8px;}
html body .adv-pri.p-high{background:var(--red-tint);color:var(--red-text-2);}
html body .adv-pri.p-mid{background:var(--orange-tint);color:var(--orange-text-2);}
html body .adv-pri.p-low{background:var(--blue-tint-2);color:var(--blue-text);}
html body .loading{position:fixed;inset:0;background:var(--overlay-bar);display:none;align-items:center;justify-content:center;gap:12px;z-index:200;color:var(--text-2);font-size:14px;}
html body .loading .spin{width:22px;height:22px;border-radius:50%;border:3px solid var(--blue-line-4);border-top-color:var(--primary);animation:spin .8s linear infinite;}
html body .modal{position:fixed;inset:0;background:var(--overlay);display:none;align-items:center;justify-content:center;z-index:300;}
html body .modal-box{background:var(--surface);border-radius:14px;width:540px;max-width:92vw;padding:24px;box-shadow:0 20px 60px var(--sh-overlay);}
html body .prov-item .p-on{background:var(--green-tint);color:var(--green-text-3);}
html body .prov-item .p-off{background:var(--surface-hover);color:var(--text-4);}
html body .prov-item .p-net{background:var(--t3-bg);color:var(--primary);}
html body .toast{background:var(--text-1);color:var(--on-primary);font-size:13px;padding:10px 18px;border-radius:10px;box-shadow:0 8px 24px var(--sh-lg);transition:.3s;max-width:420px;}
html body .toast.warn{background:var(--orange-text-solid);}
html body .toast.err{background:var(--red-text-solid);}
html body code{background:var(--track);border-radius:4px;padding:1px 6px;font-size:12px;}
html body .tool-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px 26px;display:flex;flex-direction:column;gap:12px;transition:.2s;cursor:default;}
html body .tool-card:hover{box-shadow:0 12px 32px var(--sh-primary-soft);transform:translateY(-2px);border-color:var(--primary);}
html body .btn-run{width:100%;border:none;border-radius:10px;background:var(--primary);color:var(--on-primary);font-size:15px;font-weight:600;padding:14px;margin-top:14px;cursor:pointer;transition:.15s;}
html body .btn-run:hover{background:var(--primary-solid);}
html body .btn2{border:1px solid var(--primary);border-radius:8px;background:var(--surface);color:var(--primary);font-size:13px;font-weight:600;padding:9px 15px;cursor:pointer;transition:.15s;}
html body .btn2:hover{background:var(--primary-soft);}
html body .btn2.gray{border-color:var(--line);color:var(--text-2);}
html body .btn2.gray:hover{background:var(--bg);}
html body .br-export-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px var(--sh-lg);min-width:262px;padding:6px;flex-direction:column;}
html body .br-export-menu button:hover{background:var(--primary-soft);color:var(--primary);}
html body .br-sum-head{font-size:14px;line-height:1.9;color:var(--text-1);background:var(--tip-blue-bg-3);border:1px solid var(--blue-line-2);border-radius:10px;padding:12px 15px;}
html body .br-sum-cell{border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:12.5px;line-height:1.9;color:var(--text-2);background:var(--tip-ink-bg);}
html body .br-sum-cell .bad{color:var(--red-text-3);}
html body .br-sum-cell .good{color:var(--green-text);}
html body .vip-badge{display:inline-block;font-size:10.5px;font-weight:700;color:var(--orange-mid-2);background:linear-gradient(135deg,var(--grad-amber-from),var(--grad-amber-to));border:1px solid #e9c46a;border-radius:20px;padding:1px 7px;vertical-align:middle;margin-left:6px;letter-spacing:.5px;}
html body .cmp-entry{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--line-soft);background:linear-gradient(180deg,var(--orange-tint-4),var(--surface));border-radius:12px;padding:14px 18px;margin-top:16px;}
html body .cmp-max{color:var(--green-text);font-weight:700;}
html body .cmp-min{color:var(--red-text-3);}
html body .cmp-champ{display:inline-block;font-size:11px;color:var(--orange-mid-2);background:var(--tip-amber-bg);border-radius:6px;padding:1px 6px;margin-left:4px;}
html body .kw-tag{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--primary-tint);color:var(--blue-text-3);border:1px solid var(--blue-line-3);font-size:12px;margin:0 6px 6px 0;}
html body .kw-tag.b{background:var(--orange-tint-3);color:var(--orange-mid);border-color:var(--orange-line-2);}
html body .kw-tag.l{background:var(--tip-green-bg);color:var(--green-text);border-color:var(--green-line);}
html body .kw-num .cell{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-4);}
html body .kw-num .cell b{display:block;font-size:20px;color:var(--blue-text-3);line-height:1.4;}
html body .kw-rule-tag{display:inline-block;font-size:10.5px;color:var(--orange-mid);background:var(--orange-tint-3);border:1px solid var(--orange-line-2);border-radius:5px;padding:0 5px;margin-left:6px;vertical-align:1px;}
html body .kw-prio.p0{background:var(--tip-red-bg-4);color:var(--red-text-4);border:1px solid var(--red-line-3);}
html body .kw-prio.p1{background:var(--orange-tint-3);color:var(--orange-text-3);border:1px solid var(--orange-line-4);}
html body .kw-prio.p2{background:var(--primary-tint);color:var(--blue-text-3);border:1px solid var(--blue-line-3);}
html body .kw-batch{border:1px solid var(--border);border-radius:12px;margin-bottom:14px;overflow:hidden;}
html body .kw-batch-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 14px;background:var(--surface-4);border-bottom:1px solid var(--border-2);}
html body .kw-batch-hd.p0{background:var(--tip-red-bg);border-bottom-color:var(--red-line-4);}
html body .kw-batch-hd.p1{background:var(--tip-orange-bg);border-bottom-color:var(--orange-line);}
html body .kw-batch-goal{padding:9px 14px;font-size:12.5px;line-height:1.85;color:var(--text-2);background:var(--tip-blue-bg);border-bottom:1px dashed var(--border-3);}
html body .kw-step{display:flex;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border-5);align-items:flex-start;}
html body .kw-step .no{flex:0 0 26px;height:26px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px;}
html body .kw-step .no.p0{background:var(--red-text-4-solid);}
html body .kw-step .no.p1{background:var(--orange-text-2-solid);}
html body .kw-step .no.p2{background:var(--blue-text-3-solid);}
html body .kw-step .ac{font-size:12px;color:var(--green-text);background:var(--tip-green-bg);border:1px solid var(--green-line);border-radius:7px;padding:5px 9px;margin-top:6px;line-height:1.75;}
html body .kw-step .ac b{color:var(--green-text-2);}
html body .ai-toggle{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:11px 18px;border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--text-2);cursor:pointer;user-select:none;background:var(--surface);}
html body .ai-toggle .t-tag{font-size:11px;padding:2px 8px;border-radius:20px;background:var(--tip-green-bg-2);color:var(--green-text-3);}
html body .ai-toggle.on{border-color:var(--primary);background:var(--primary-soft);}
html body .ai-toggle.on .t-tag{background:var(--tip-blue-bg-4);color:var(--primary);}
html body .br-prog-bar{height:8px;border-radius:6px;background:var(--tip-cream-bg-2);margin-top:12px;overflow:hidden;}
html body .aq-kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
html body .aq-row{display:grid;grid-template-columns:190px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line-softer);}
html body .aq-dot.on{background:var(--sw-green);box-shadow:0 0 0 3px var(--glow-green);}
html body .aq-dot.off{background:var(--sw-gray);}
html body .aq-cell{background:var(--bg);border-radius:9px;padding:9px 11px;}
html body .aq-bal{margin-top:10px;font-size:12.5px;line-height:1.75;padding:9px 11px;border-radius:9px;background:var(--tip-green-bg-3);color:var(--green-text-3);}
html body .aq-bal.none{background:var(--tip-orange-bg-2);color:var(--orange-mid-2);}
html body .aq-badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:20px;background:var(--tip-green-bg-2);color:var(--green-text-3);}
html body .aq-badge.warn{background:var(--tip-orange-bg-3);color:var(--orange-mid);}
html body .aq-badge.err{background:var(--tip-red-bg-2);color:var(--red-text-2);}
html body .br-ring-center.s-f1 b{color:var(--t1-fg);}
html body .br-ring-center.s-f2 b{color:var(--t2-fg);}
html body .br-ring-center.s-f4 b{color:var(--t4-fg);}
html body .v-f1{color:var(--t1-fg);}
html body .v-f2{color:var(--t2-fg);}
html body .v-f3{color:var(--primary);}
html body .v-f4{color:var(--t4-fg);font-weight:600;}
html body .stat{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;}
html body .issue{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:12px;background:var(--surface);}
html body .issue.lv-severe{border-left-color:var(--red-text-2);background:var(--tip-red-bg-3);}
html body .issue.lv-warn{border-left-color:var(--orange);background:var(--orange-tint-4);}
html body .issue.lv-info{border-left-color:var(--primary);background:var(--tip-blue-bg-2);}
html body .issue .i-score{font-size:11px;color:var(--red-text-2);font-weight:600;}
html body .issue .i-sev{font-size:11px;padding:2px 9px;border-radius:20px;background:var(--red-tint);color:var(--red-text-2);}
html body .issue.lv-warn .i-sev{background:var(--orange-tint);color:var(--orange-text-2);}
html body .issue.lv-info .i-sev{background:var(--blue-tint-2);color:var(--blue-text);}
html body .issue .i-adv{margin-top:9px;background:var(--tip-green-bg-4);border-radius:8px;padding:9px 12px;font-size:12.5px;color:var(--green-text-2);line-height:1.8;}
html body .issue .i-adv b{color:var(--green-text-3);}
html body .ld-block .ld-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:12.5px;flex-wrap:wrap;}
html body .ld-block pre{margin:0;padding:12px 14px;font-size:11.5px;line-height:1.7;background:var(--surface);overflow-x:auto;max-height:220px;color:var(--text-2);}
html body .ai-note{background:var(--tip-orange-bg-4);border:1px solid var(--orange-line-3);color:var(--orange-mid-2);border-radius:10px;padding:10px 14px;font-size:12.5px;line-height:1.8;margin-bottom:12px;}
html body .ai-note b{color:var(--orange-mid);}
html body .ai-row{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--surface);}
html body .ai-row.dis{background:var(--surface-2);}
html body details.qa .qa-body{background:var(--surface-2);border-radius:8px;padding:9px 11px;margin-top:6px;line-height:1.8;white-space:pre-wrap;}
html body .p-tag.p-think{background:var(--purple-tint);color:var(--purple-text);}
html body details.qa .ref-box{margin-top:9px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface);white-space:normal;}
html body details.qa .ref-h{padding:5px 10px;background:var(--surface-3);font-size:12px;font-weight:600;color:var(--text-2);}
html body details.qa .think{margin-top:9px;border:1px dashed var(--purple-line);background:var(--tip-purple-bg);border-radius:8px;}
html body details.qa .think summary{padding:7px 10px;font-size:12px;color:var(--purple-text);font-weight:600;}
html body details.qa .qa-empty{color:var(--red-text-3);font-size:12px;}


/* ===================== 视觉增强（参照参考图） ===================== */
/* 主题切换过渡：避免颜色瞬变刺眼 */
html.theme-anim body, html.theme-anim .topbar, html.theme-anim .sidebar,
html.theme-anim .card, html.theme-anim .kpi{transition:background-color .24s ease, border-color .24s ease, color .24s ease, box-shadow .24s ease;}

/* ---- 顶栏：轻盈层次 + 毛玻璃 ---- */
html body .topbar{height:var(--topbar-h);padding:0 20px;background:var(--overlay-bar);
  -webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--border);box-shadow:var(--sh-sm);}
html body .logo{width:auto;min-width:calc(var(--sidebar-w) - 34px);gap:10px;font-size:17px;}
html body .logo .mark{width:32px;height:32px;border-radius:9px;font-size:16px;box-shadow:0 2px 10px rgba(47,107,255,.35);}
html body .logo .sub{font-size:11px;letter-spacing:.3px;}
html body .top-right{gap:8px;}
html body .top-right .icon-btn,html body .top-right .icon-toggle{border-radius:999px;padding:7px 14px;
  font-size:12.5px;background:var(--surface);border:1px solid var(--border);color:var(--text-2);
  transition:all .16s ease;white-space:nowrap;font-family:inherit;}
html body .top-right .icon-btn:hover,html body .top-right .icon-toggle:hover{
  border-color:var(--primary);color:var(--primary);background:var(--primary-light);transform:translateY(-1px);}
html body .top-right .icon-toggle.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600;}
html body .brand-chip{border-radius:999px;padding:7px 15px;font-size:12.5px;
  background:var(--primary-light);border:1px solid var(--blue-line-3);}
html body .btn-upgrade{border-radius:999px;padding:8px 17px;font-size:12.5px;font-weight:600;
  box-shadow:0 3px 12px rgba(255,107,107,.34);transition:transform .16s ease, box-shadow .16s ease;}
html body .btn-upgrade:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,107,107,.44);}
html body .avatar{width:34px;height:34px;font-size:13px;font-weight:600;box-shadow:0 2px 8px rgba(255,138,91,.4);}
html body .last-sync{font-size:11.5px;color:var(--text-3);white-space:nowrap;}
html body .src-badge{font-size:11.5px;padding:6px 13px;}

/* ---- 侧栏：更清晰的选中态与分组层次 ---- */
html body .sidebar{top:var(--topbar-h);background:var(--card);padding:14px 12px 28px;}
html body .nav-group-title{font-size:12.5px;letter-spacing:.2px;padding:10px 12px;color:var(--text-2);font-weight:600;}
html body .nav-group-title:hover{background:var(--surface-hover);color:var(--text);}
html body .nav-item{padding:9px 12px 9px 14px;font-size:13px;border-radius:9px;margin:1px 0;gap:10px;
  transition:background .14s ease, color .14s ease;}
html body .nav-item .ico{font-size:14.5px;opacity:1;}
html body .nav-item:hover{background:var(--surface-hover);color:var(--text);}
html body .nav-item.active{background:var(--primary-light);color:var(--primary);font-weight:600;
  box-shadow:inset 0 0 0 1px var(--blue-line-3);}
html body .nav-item .tag{font-size:9.5px;padding:2px 6px;border-radius:6px;
  background:var(--tag-orange-tint);color:var(--tag-orange);font-weight:700;letter-spacing:.3px;}
html body .brand-head{background:var(--surface-hover);border:1px solid var(--border);border-radius:10px;padding:9px 11px;}
html body .brand-head:hover{background:var(--surface-hover-2);border-color:var(--blue-line-3);}
html body .brand-item{border-radius:8px;padding:8px 10px 8px 12px;}
html body .brand-item:hover{background:var(--surface-hover);}
html body .brand-item.active{background:var(--primary-light);}
html body .foot{font-size:11px;color:var(--text-3);line-height:1.8;}

/* ---- 主区域：更宽留白与内容节奏 ---- */
html body .main{padding:84px 28px 48px;max-width:1560px;}
html body .page-header h1{font-size:22px;font-weight:700;letter-spacing:-.2px;}
html body .page-desc{font-size:13px;color:var(--text-3);margin-bottom:22px;line-height:1.7;}

/* ---- 卡片：柔和阴影 + 明确层次 ---- */
html body .card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px;
  margin-bottom:18px;box-shadow:var(--sh-md);transition:box-shadow .2s ease, border-color .2s ease;}
html body .card:hover{box-shadow:var(--sh-lg);}
html body .card-title{font-size:15px;font-weight:600;margin-bottom:18px;color:var(--text);gap:10px;}
html body .card-title .right{font-size:11.5px;color:var(--text-3);}

/* ---- KPI 卡：主色描边 + 质感 ---- */
html body .kpi{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px 22px;
  box-shadow:var(--sh-md);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
html body .kpi:hover{transform:translateY(-2px);box-shadow:var(--sh-lg);border-color:var(--blue-line-3);}
html body .kpi .k-label{font-size:12.5px;color:var(--text-2);font-weight:500;}
html body .kpi .k-value{font-size:30px;font-weight:700;margin:12px 0 6px;letter-spacing:-.5px;color:var(--text);}
html body .kpi .k-value small{font-size:14px;color:var(--text-3);}
html body .kpi .k-delta{font-size:11.5px;color:var(--text-3);}
html body .kpi .k-deco{font-size:66px;opacity:.05;}

/* ---- 表格：斑马纹 + 悬浮高亮 ---- */
html body table{border-collapse:separate;border-spacing:0;font-size:13px;}
html body th{background:var(--surface-3);color:var(--text-2);font-weight:600;font-size:12px;padding:11px 14px;
  border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:2;}
html body th:first-child{border-radius:8px 0 0 0;}
html body th:last-child{border-radius:0 8px 0 0;}
html body td{padding:12px 14px;border-bottom:1px solid var(--border-5);color:var(--text-2);}
html body tbody tr:nth-child(even) td{background:var(--surface-2);}
html body tbody tr:hover td{background:var(--primary-light);}
html body tbody tr:last-child td{border-bottom:none;}
html body .td-main{color:var(--text);font-weight:600;}

/* ---- 宽表容器：圆角裁切 ---- */
html body .cmp-tbl-wide{border:1px solid var(--border);border-radius:12px;overflow:hidden;
  background:var(--card);box-shadow:var(--sh-sm);}
html body .cmp-tbl-wide table{margin:0;}
html body .cmp-tbl-wide th{background:var(--surface-3);}
html body .cmp-tbl-wide td{border-bottom:1px solid var(--border-5);}

/* ---- 表单控件 ---- */
html body .input{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);
  transition:border-color .16s ease, box-shadow .16s ease;}
html body .input:hover{border-color:var(--blue-line-3);}
html body .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);outline:none;}
html body .diag-bar{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;
  box-shadow:var(--sh-md);}
html body .btn,html body .btn2,html body .btn-run{border-radius:10px;font-weight:600;transition:all .16s ease;}
html body .btn-run{box-shadow:var(--sh-primary);}
html body .btn-run:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-primary-h);}

/* ---- 诊断 hero：渐变标题 ---- */
html body .diag-hero{padding:4px 0 20px;}
html body .diag-hero h1{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-3) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  font-size:24px;font-weight:800;letter-spacing:-.3px;}
html body .diag-hero p{color:var(--text-3);font-size:13px;line-height:1.75;margin-top:6px;}

/* ---- 分段控件 / 药丸 ---- */
html body .seg{background:var(--surface-3);border-radius:9px;padding:3px;}
html body .seg button{border-radius:7px;transition:all .16s ease;}
html body .seg button.on{box-shadow:var(--sh-primary);}
html body .pill{background:var(--surface);transition:all .16s ease;}
html body .pill:hover{border-color:var(--primary);color:var(--primary);}

/* ---- 评分 / 徽标微调 ---- */
html body .lvl{letter-spacing:.2px;font-weight:600;}
html body .score-foot{color:var(--text-3);line-height:1.85;}
html body .tier-legend{color:var(--text-3);}

/* ---- 滚动条 ---- */
html ::-webkit-scrollbar{width:9px;height:9px;}
html ::-webkit-scrollbar-track{background:transparent;}
html ::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px;
  border:2px solid transparent;background-clip:padding-box;}
html ::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:padding-box;}
html body .sidebar::-webkit-scrollbar{width:5px;}
html body .sidebar::-webkit-scrollbar-thumb{background:var(--border);border:none;}

/* ---- 提示词提及页：AI 回答原文展开 ---- */
html body .mention-row.has-detail{cursor:pointer;}
html body .mention-row.has-detail:hover td{background:var(--primary-light);}
html body .md-caret{color:var(--text-3);font-size:11px;}
html body .mention-detail td{padding:0;border-bottom:1px solid var(--border);}
html body .md-box{margin:0;padding:14px 16px;background:var(--surface-2);
  border-left:3px solid var(--primary);}
html body .md-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:11.5px;color:var(--text-3);margin-bottom:9px;}
html body .md-senti{padding:1px 8px;border-radius:20px;}
html body .md-q{font-size:12.5px;color:var(--text-2);margin-bottom:7px;}
html body .md-a{font-size:12.5px;line-height:1.9;color:var(--text);
  background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;
  white-space:pre-wrap;word-break:break-word;}
html[data-theme="dark"] body .mention-detail td{background:var(--surface-2);}
html[data-theme="dark"] body .md-a{background:var(--surface);}

/* ---- GEO 四维体检 ---- */
html body .dims-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:14px;}
html body .dim-box{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;
  padding:16px 18px;display:flex;flex-direction:column;gap:8px;}
html body .dim-box.dim-na{background:var(--surface-3);border-style:dashed;opacity:.92;}
html body .dim-hd{display:flex;align-items:center;gap:8px;font-size:13px;}
html body .dim-hd b{flex:1;font-weight:500;}
html body .dim-ico{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;
  justify-content:center;font-size:12px;}
html body .dim-na-tag{font-size:10.5px;padding:1px 7px;border-radius:20px;
  background:var(--red-tint);color:var(--red);}
html body .dim-val{font-size:28px;font-weight:500;letter-spacing:-.5px;color:var(--text);line-height:1.2;}
html body .dim-val small{font-size:13px;color:var(--text-3);}
html body .dim-track{height:6px;border-radius:3px;background:var(--track);overflow:hidden;}
html body .dim-fill{height:100%;border-radius:3px;}
html body .dim-note{font-size:11.5px;color:var(--text-2);line-height:1.7;}
html body .dim-why{font-size:11px;color:var(--text-3);line-height:1.7;
  padding-top:7px;border-top:1px dashed var(--border-3);}

/* ---- GEO 内容可引用性 ---- */
html body .citable-card{border-left:3px solid var(--green);}
html body .cb-run{display:flex;gap:10px;align-items:center;margin:4px 0 14px;flex-wrap:wrap;}
html body .cb-run .input{flex:1;min-width:260px;}
html body .cb-hero{display:flex;align-items:center;gap:18px;padding:16px 0 14px;
  border-bottom:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap;}
html body .cb-score{font-size:34px;font-weight:500;letter-spacing:-1px;color:var(--text);}
html body .cb-score small{font-size:14px;color:var(--text-3);margin-left:2px;}
html body .cb-score .lvl{font-size:12px;vertical-align:middle;}
html body .cb-why{font-size:12.5px;color:var(--text-2);line-height:1.8;}
html body .cb-url{font-family:ui-monospace,monospace;color:var(--text-3);font-size:11.5px;}
html body .cb-dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;}
html body .cb-dim{background:var(--surface-2);border:1px solid var(--border);
  border-radius:10px;padding:14px 16px;}
html body .cb-dim-hd{display:flex;align-items:center;justify-content:space-between;
  font-size:13px;font-weight:500;color:var(--text);}
html body .cb-track{height:5px;border-radius:3px;background:var(--track);margin:9px 0;}
html body .cb-fill{height:100%;border-radius:3px;}
html body .cb-why-t{font-size:11.5px;color:var(--text-2);line-height:1.75;}
html body .cb-metrics{font-size:11px;color:var(--text-3);margin-top:7px;
  padding-top:7px;border-top:1px dashed var(--border-3);}
html body .cb-issues{margin-top:20px;}
html body .cb-issues-hd{font-size:13px;font-weight:500;color:var(--text);margin-bottom:10px;}
html body .cb-issue{background:var(--surface-2);border-left:3px solid var(--orange);
  border-radius:0 8px 8px 0;padding:12px 15px;margin-bottom:10px;}
html body .cb-issue-t{font-size:12.5px;color:var(--text);line-height:1.8;}
html body .cb-lv{display:inline-block;margin-right:7px;padding:1px 7px;border-radius:20px;
  font-size:10.5px;}
html body .cb-lv.bad{background:var(--red-tint);color:var(--red);}
html body .cb-lv.warn{background:var(--orange-tint);color:var(--orange-deep);}
html body .cb-fix{font-size:12px;color:var(--text-2);line-height:1.85;margin-top:7px;}
html body .cb-sample{font-size:11.5px;color:var(--text-3);line-height:1.75;margin-top:7px;
  padding:8px 11px;background:var(--surface);border-radius:6px;
  border:1px dashed var(--border-3);}
html body .cb-ok{margin-top:16px;padding:12px 15px;border-radius:9px;font-size:12.5px;
  background:var(--green-tint);color:var(--green);}

/* ---- 搜索可见度检测页 ---- */
html body .sv-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px;}
html body .sv-hint{font-size:11.5px;color:var(--text-3);line-height:1.8;margin-top:10px;}
html body .sv-own td{background:var(--primary-light) !important;}
html body .sv-own td:first-child{box-shadow:inset 3px 0 0 var(--primary);}
html body .sv-raw{margin-top:12px;font-size:12px;}
html body .sv-raw summary{cursor:pointer;color:var(--text-2);padding:6px 0;font-weight:500;}
html body .sv-raw table{margin-top:8px;}
html body .sv-warn{margin:12px 0;padding:12px 14px;border-radius:9px;line-height:1.85;
  font-size:12.5px;background:var(--orange-tint);border:1px solid var(--orange-line);color:var(--orange-deep);}
html body .sv-warn code{font-family:ui-monospace,monospace;background:rgba(0,0,0,.05);
  padding:1px 6px;border-radius:4px;font-weight:500;}
html body .sv-hint code{font-family:ui-monospace,monospace;color:var(--text-2);}
html body .sv-info{margin:12px 0;padding:12px 14px;border-radius:9px;line-height:1.85;
  font-size:12.5px;background:var(--primary-light);border:1px solid var(--border);
  color:var(--text-2);}
html body .sv-nofile{margin:12px 0;padding:13px 15px;border-radius:9px;line-height:1.85;
  font-size:12.5px;background:var(--red-tint);border:1px solid var(--red-line);color:var(--red);}
html body .sv-penalty{margin:10px 0;padding:11px 14px;border-radius:9px;line-height:1.85;
  font-size:12px;background:var(--surface-2);border:1px dashed var(--orange-line);
  color:var(--orange-deep);}
html body .sv-block{margin-left:4px;font-size:10px;padding:0 5px;border-radius:20px;
  background:var(--red-tint);color:var(--red);}
/* 低分原因与优化建议 */
html body .sv-adv{margin:10px 0;padding:12px 14px;border-radius:9px;line-height:1.85;
  font-size:12.5px;border:1px solid;}
html body .sv-adv-red{background:var(--red-tint);border-color:var(--red-line);color:var(--red-text-2);}
html body .sv-adv-org{background:var(--orange-tint);border-color:var(--orange-line);color:var(--orange-deep);}
html body .sv-adv-blu{background:var(--primary-light);border-color:var(--border);color:var(--text-2);}
html body .sv-adv-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap;}
html body .sv-adv-tag{flex:none;font-size:10px;padding:1px 8px;border-radius:20px;
  background:rgba(0,0,0,.06);font-weight:600;}
html body .sv-adv-why,html body .sv-adv-how{font-size:12px;margin-top:3px;}
html body .sv-adv-how{color:var(--text-1);}
html body .sv-ok{margin:12px 0;padding:13px 15px;border-radius:9px;line-height:1.85;font-size:12.5px;
  background:var(--green-tint);border:1px solid var(--green-line);color:var(--green-deep);}

/* ---- 页面口径标注（GEO / SEO · 额度） ---- */
html body .tag-cost{display:inline-block;margin-left:8px;font-size:10px;padding:1px 7px;
  border-radius:8px;font-weight:600;vertical-align:middle;white-space:nowrap;}
/* 口径标注只用于页面头部，不进侧栏：侧栏宽度塞不下 标题+NEW+徽标，会把中文压成竖排 */
html body .page-header .tag-cost{font-size:10.5px;}

/* ---- 品牌感知 · 正向/负向明细 ---- */
html body .sen-item{border:1px solid var(--border);border-left:3px solid var(--blue-text);
  border-radius:9px;padding:11px 13px;margin-bottom:10px;background:var(--surface);}
html body #negDetail .sen-item{border-left-color:var(--red,#ef4444);}
html body #posDetail .sen-item{border-left-color:var(--green-deep,#10b981);}
html body .sen-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px;}
html body .sen-q{font-size:13px;color:var(--text);}
html body .sen-text{font-size:12.5px;line-height:1.75;color:var(--text-2);white-space:normal;
  word-break:break-word;}
html body .sen-more{margin-top:6px;}
html body .sen-more summary{font-size:12px;color:var(--primary);cursor:pointer;user-select:none;}
html body .sen-more .sen-text{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);}
html body .sen-empty{font-size:12.5px;color:var(--text-3);padding:14px 12px;text-align:center;
  border:1px dashed var(--border);border-radius:9px;line-height:1.7;}
html body .sen-hint{font-size:12px;color:var(--text-3);margin-top:8px;}
html body .tag-cost.tc-zero{background:var(--green-tint);color:var(--green-deep);}
html body .tag-cost.tc-seo{background:var(--blue-tint);color:var(--blue-text);}
html body .tag-cost.tc-ai{background:var(--orange-tint);color:var(--orange-deep);}
html body .tag-cost.tc-mix{background:var(--purple-tint);color:var(--purple-text);}

/* ---- toast / 弹层 ---- */
html body .toast{border-radius:11px;box-shadow:var(--sh-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
html body .modal,html body .br-export-menu{background:var(--card);border:1px solid var(--border);
  border-radius:14px;box-shadow:var(--sh-overlay);}

/* ---- 深色主题微调 ---- */
html[data-theme="dark"] body .card:hover{border-color:var(--border-5);}
html[data-theme="dark"] body .kpi:hover{border-color:var(--blue-line);}
html[data-theme="dark"] body th{background:var(--surface-2);}
html[data-theme="dark"] body .cmp-tbl-wide th{background:var(--surface-2);}
html[data-theme="dark"] body tbody tr:nth-child(even) td{background:rgba(255,255,255,.014);}
html[data-theme="dark"] body .topbar{border-bottom-color:var(--border);}
html[data-theme="dark"] body .toast{background:var(--surface-3);border:1px solid var(--border-4);}

/* ==========================================================================
   品牌知识库（page-knowledge）
   版式：顶部品牌条 → 左右两栏（身份定位 / 业务详情）→ 底部保存条
   ========================================================================== */

/* ---------- 顶部品牌条 ---------- */
html body .kb-top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding:14px 20px;margin-bottom:16px;
}
html body .kb-top-l{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;}
html body .kb-top-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
html body .kb-top-label{font-size:13px;font-weight:600;color:var(--text-2);flex:none;}
html body .kb-top select.input{width:auto;min-width:170px;flex:none;}
html body .kb-top-tip{font-size:12px;color:var(--text-3);}

/* ---------- 两栏布局 ---------- */
html body .kb-layout{
  display:grid;grid-template-columns:minmax(340px,0.92fr) minmax(420px,1.08fr);
  gap:16px;align-items:start;
}
html body .kb-col{display:flex;flex-direction:column;gap:16px;min-width:0;}

/* ---------- 分区面板 ---------- */
html body .kb-panel{padding:18px 20px 20px;margin-bottom:0;}
html body .kb-pt{
  display:flex;align-items:center;gap:9px;margin-bottom:16px;
  padding-bottom:12px;border-bottom:1px solid var(--border);
}
html body .kb-pt-i{
  width:6px;height:16px;border-radius:3px;flex:none;
}
html body .kb-pt-i1{background:#2f6bff;}
html body .kb-pt-i2{background:#f59e0b;}
html body .kb-pt-i3{background:#10b981;}
html body .kb-pt-i4{background:#8b5cf6;}
html body .kb-pt-tip{
  margin-left:auto;font-size:11.5px;font-weight:400;color:var(--text-3);
}

/* ---------- 字段 ---------- */
html body .kb-field{margin-bottom:15px;min-width:0;}
html body .kb-field:last-child{margin-bottom:0;}
html body .kb-label{
  font-size:12.5px;font-weight:500;color:var(--text-2);
  margin-bottom:6px;display:flex;align-items:center;gap:6px;
}
html body .kb-opt{color:var(--text-3);font-weight:400;}
/* 待确认标记：该字段含系统自动补全、需人工核实的内容 */
html body .kb-todo{
  font-size:10.5px;font-weight:600;color:#b45309;
  background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.32);
  padding:1px 6px;border-radius:4px;margin-left:auto;
  cursor:help;white-space:nowrap;
}
html body .kb-req{
  font-size:10px;font-weight:600;color:#ef4444;
  background:rgba(239,68,68,.09);padding:1px 6px;border-radius:4px;
}
html body .kb-hint{
  font-size:11.5px;color:var(--text-3);margin-top:5px;line-height:1.55;
}

/* ---------- 控件 ---------- */
html body .kb-input,html body .kb-area{width:100%;box-sizing:border-box;}
html body .kb-input{height:36px;padding:7px 12px;font-family:inherit;}
html body .kb-area{
  padding:10px 12px;line-height:1.75;resize:vertical;
  font-family:inherit;white-space:pre-wrap;overflow-y:auto;
  min-height:88px;
}
html body .kb-area-lg{min-height:132px;}
html body .kb-area-sm{min-height:62px;}
html body .kb-area::placeholder,html body .kb-input::placeholder{
  color:var(--text-3);opacity:.8;line-height:1.7;
}
html[data-theme="dark"] body .kb-input,
html[data-theme="dark"] body .kb-area{color:var(--text);background:var(--surface);}

/* ---------- 右栏内的两列网格 ---------- */
html body .kb-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px;}

/* ---------- 底部保存条 ---------- */
html body .kb-foot{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:16px;padding:14px 20px;
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  box-shadow:var(--sh-md);
}
html body .kb-status{font-size:12.5px;color:var(--text-3);}
html body .kb-status.dirty{color:#e8890c;}
html body .kb-status.saved{color:#10b981;}
html body .kb-foot-tip{margin-left:auto;font-size:11.5px;color:var(--text-3);}
/* 填写进度：文字 + 独立进度条，比裸数字更有信息量 */
html body .kb-count{
  display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3);
  white-space:nowrap;
}
html body .kb-bar2{
  width:64px;height:5px;border-radius:3px;background:var(--border);
  overflow:hidden;flex:none;
}
html body .kb-bar2 i{
  display:block;height:100%;width:0;border-radius:3px;
  background:linear-gradient(90deg,#2f6bff,#7b9dff);
  transition:width .3s ease;
}

/* ---------- 响应式 ---------- */
@media (max-width:1360px){
  html body .kb-layout{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:820px){
  html body .kb-grid2{grid-template-columns:minmax(0,1fr);}
  html body .kb-foot-tip{margin-left:0;width:100%;}
  html body .kb-top{align-items:flex-start;}
}
