/* ============================================================
   HelpGeo 2.0 升级版全局样式
   GEO信源服务第一入口 · 深色科技风（叠加于 style.css 之上）
   ============================================================ */
:root{
    --hga:#6366f1;--hgb:#8b5cf6;--hgc:#22d3ee;
    --hggrad:linear-gradient(120deg,#6366f1,#8b5cf6 55%,#22d3ee);
    --hggrad2:linear-gradient(135deg,#06b6d4,#6366f1,#8b5cf6);
    --ok:#34d399;--warn:#fbbf24;--bad:#f87171;
    --card:#111726;--card2:#0e1424;
    /* 面板 / 描边语义变量：默认值=深色主题；此前仅在 theme_*.css 中定义，
       无主题时 var(--panel*)/var(--border*) 全部失效（背景透明、边框落 currentColor） */
    --panel:#111726;--panel-2:#0f1524;
    --border:#1e2637;--border-2:#26304a;
    --line:rgba(255,255,255,.08);
    --line2:rgba(255,255,255,.14);
    /* 文字色阶语义变量：默认值=深色主题原色；theme_*.css 重定义完成换肤。
       深色卡片容器（.hg-detect 等）内会在主题里恢复为深色主题值。 */
    --t-bright:#f0f3fa;--t-light:#c9d2ff;--t-mid:#b7c0d3;--t-dim:#94a0bc;
    --t-ok:#34d399;--t-warn:#fbbf24;--t-bad:#f87171;--t-cyan:#67e8f9;--t-pink:#f472b6;
}
.hg-main{min-height:calc(100vh - 64px)}

/* ============================ 顶栏 ============================ */
.hg-top{
    position:sticky;top:0;z-index:90;
    background:rgba(8,12,22,.78);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(99,102,241,.16);
}
.hg-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.5),rgba(139,92,246,.5),transparent)}
.hg-top-in{height:64px;display:flex;align-items:center;gap:clamp(8px,1.4vw,22px);position:relative;
    /* 顶栏独立加宽：默认 1200 容器放不下"导航+搜索+项目+用户"全套，登录后必溢出重叠 */
    max-width:1440px;
}
.hg-brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
/* 后台自定义 Logo（站点设置 → 站点 Logo）：高度对齐原方块图标，宽度按比例自适应 */
.hg-brand-logo{height:38px;max-width:190px;display:block;object-fit:contain}
/* ============ 首页主线服务板块（工具 + 官网改造） ============
   首屏双入口按钮 + 官方站改造/建设双卡 + 交付能力 chips。
   配色全走 --t-*/--panel/--border 变量，深浅主题自动适配。 */
.hg-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.hg-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hg-svc-card{
    background:var(--panel);border:1px solid var(--border);border-radius:18px;
    padding:26px 24px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:.22s;
}
.hg-svc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--hggrad)}
.hg-svc-card:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.45);box-shadow:0 18px 44px rgba(19,28,51,.14)}
.hg-svc-k{
    align-self:flex-start;font-size:11.5px;font-weight:800;letter-spacing:.6px;
    color:var(--t-cyan);background:rgba(34,211,238,.1);border:1px solid var(--border);border-radius:999px;padding:3px 11px;
}
.hg-svc-k.b{color:var(--t-ok);background:rgba(16,185,129,.1)}
.hg-svc-card h3{font-size:19px;font-weight:800}
.hg-svc-fit{font-size:12.5px;color:var(--t-warn);margin:0}
.hg-svc-list{list-style:none;margin:2px 0 4px;padding:0;display:grid;gap:8px}
.hg-svc-list li{position:relative;padding-left:22px;font-size:13.5px;color:var(--t-mid);line-height:1.65}
.hg-svc-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--t-ok);font-weight:800}
.hg-svc-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.hg-svc-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}
.hg-svc-chips-t{font-size:12.5px;color:var(--muted)}
@media(max-width:820px){
    .hg-svc-grid{grid-template-columns:1fr}
    .hg-svc-card{padding:22px 18px}
}
@media (max-width:640px){.hg-brand-logo{height:32px;max-width:132px}}
.hg-brand-mark{
    width:38px;height:38px;border-radius:12px;background:var(--hggrad);
    display:flex;align-items:center;justify-content:center;color:#fff;
    font-weight:900;font-size:18px;box-shadow:0 8px 22px rgba(99,102,241,.45);flex-shrink:0;
    background-size:200% 200%;animation:hgGrad 6s ease infinite;
}
@keyframes hgGrad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hg-brand-txt{display:flex;flex-direction:column;line-height:1.2}
.hg-brand-txt b{font-size:18px;font-weight:800;letter-spacing:.4px;color:#fff}
.hg-brand-txt i{font-style:normal;font-size:10.5px;color:var(--t-mid);white-space:nowrap}
.hg-nav{display:flex;align-items:center;gap:2px;margin-right:auto;min-width:0;flex-shrink:0}
.hg-nav>a{
    font-size:14.5px;color:var(--t-light);padding:9px 13px;border-radius:10px;
    font-weight:500;transition:.18s;white-space:nowrap;position:relative;
    flex-shrink:0;
}
.hg-nav>a:hover{color:#fff;background:rgba(99,102,241,.12)}
.hg-nav>a.active{color:#fff}
.hg-nav>a.active::after{
    content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;border-radius:2px;background:var(--hggrad);
}
/* ====== 导航项 HOT 徽章 ====== */
.hg-nav-hot{
    font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.5px;line-height:1;
    color:#fff;background:linear-gradient(135deg,#f97316,#ef4444);
    padding:3px 5.5px 2.5px;border-radius:6px;margin-left:6px;
    position:relative;top:-7px;display:inline-block;vertical-align:middle;
    box-shadow:0 3px 10px rgba(239,68,68,.4);
    animation:hgHotGlow 2.4s ease-in-out infinite;
}
@keyframes hgHotGlow{
    0%,100%{box-shadow:0 3px 10px rgba(239,68,68,.4)}
    50%{box-shadow:0 3px 16px rgba(249,115,22,.7)}
}
/* ====== 「更多」分组下拉 ====== */
.hg-nav-more{position:relative;flex-shrink:0}
.hg-nav-more-btn{
    font-family:var(--font);background:none;cursor:pointer;
    color:var(--t-light);font-size:14.5px;font-weight:500;
    padding:9px 13px;border-radius:10px;display:flex;align-items:center;gap:6px;
    transition:.18s;white-space:nowrap;border:1px solid transparent;
}
.hg-nav-more-btn:hover{color:#fff;background:rgba(99,102,241,.12)}
.hg-nav-more.open .hg-nav-more-btn{color:#fff;background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.3)}
.hg-nav-more-arrow{transition:.2s}
.hg-nav-more.open .hg-nav-more-arrow{transform:rotate(180deg)}
.hg-nav-more-dot{
    display:inline-block;width:5px;height:5px;border-radius:50%;
    background:var(--hggrad);opacity:.85;
}
.hg-nav-more-menu{
    position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-6px);
    min-width:188px;background:rgba(13,18,32,.98);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(99,102,241,.26);border-radius:14px;
    padding:8px;box-shadow:0 22px 50px rgba(0,0,0,.5);
    opacity:0;pointer-events:none;transition:.2s;z-index:95;
}
.hg-nav-more-menu::before{
    content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
    width:12px;height:12px;background:rgba(13,18,32,.98);
    border-left:1px solid rgba(99,102,241,.26);
    border-top:1px solid rgba(99,102,241,.26);
}
.hg-nav-more.open .hg-nav-more-menu{
    opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;
}
.hg-nav-more-menu a{
    display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;
    font-size:13.5px;color:var(--t-light);font-weight:500;transition:.15s;white-space:nowrap;
}
.hg-nav-more-menu a:hover{background:rgba(99,102,241,.14);color:#fff}
.hg-nav-more-menu a.active{color:#fff;background:rgba(99,102,241,.18)}
.hg-nav-more-ico{font-size:15px;width:18px;text-align:center;flex-shrink:0}
.hg-nav-search{display:none}
.hg-search{
    display:flex;align-items:center;gap:6px;
    /* 允许被压缩：空间不足时先瘦搜索框，而不是让导航溢出压到右侧 */
    flex:0 1 196px;min-width:132px;
    background:rgba(255,255,255,.05);border:1px solid var(--line);
    border-radius:999px;padding:4px 4px 4px 13px;transition:.2s;
}
.hg-search:focus-within{border-color:rgba(99,102,241,.6);box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.hg-search svg{color:var(--t-dim);flex-shrink:0}
.hg-search input{flex:1;min-width:0;background:none;border:none;outline:none;color:#fff;font-size:13px;font-family:var(--font)}
.hg-search input::placeholder{color:var(--t-dim)}
.hg-search button{
    border:none;background:var(--hggrad);color:#fff;font-size:12px;font-weight:600;
    padding:5px 13px;border-radius:999px;cursor:pointer;font-family:var(--font);white-space:nowrap;
}
.hg-actions{display:flex;align-items:center;gap:10px;flex:0 1 auto;min-width:0}
/* 压缩压力只由搜索框承担，其余控件保持原尺寸不被挤变形 */
.hg-actions>*{flex-shrink:0}
.hg-actions>.hg-search{flex:0 1 196px;min-width:132px}
.hg-btn-need{
    background:linear-gradient(120deg,#f59e0b,#f43f5e);color:#fff;
    padding:8px 17px;border-radius:999px;font-size:13.5px;font-weight:700;
    box-shadow:0 8px 20px rgba(244,63,94,.28);transition:.2s;white-space:nowrap;
}
.hg-btn-need:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(244,63,94,.4)}
.hg-login{font-size:13.5px;color:var(--t-light);font-weight:500;white-space:nowrap;transition:.18s}
.hg-login:hover{color:#fff}
.hg-user{display:flex;align-items:center;gap:8px}
.hg-user-chip{display:flex;align-items:center;gap:7px;background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.3);border-radius:999px;padding:4px 13px 4px 4px;transition:.18s}
.hg-user-chip:hover{border-color:rgba(99,102,241,.6)}
.hg-user-ava{width:24px;height:24px;border-radius:50%;background:var(--hggrad);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.hg-user-name{font-size:12.5px;color:var(--t-bright);font-weight:600;max-width:86px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hg-logout{font-size:12px;color:var(--t-dim);transition:.2s}
.hg-logout:hover{color:var(--t-bad)}
.hg-burger{display:none;flex-direction:column;gap:4.5px;background:rgba(255,255,255,.05);border:1px solid var(--line);padding:9px;border-radius:10px;cursor:pointer}
.hg-burger span{width:17px;height:2px;background:#e3e8f4;border-radius:2px;transition:.25s}
.hg-burger.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hg-burger.active span:nth-child(2){opacity:0}
.hg-burger.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ============================ 通用区段 ============================ */
.hg-sec{padding:64px 0 8px;position:relative}
.hg-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.hg-sec-kicker{font-size:12px;font-weight:800;letter-spacing:3px;color:var(--t-mid);text-transform:uppercase}
.hg-sec-title{font-size:clamp(23px,3.4vw,31px);font-weight:800;line-height:1.3;margin-top:6px}
.hg-sec-title em{font-style:normal;background:var(--hggrad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hg-sec-sub{color:var(--t-mid);font-size:14.5px;margin-top:8px;max-width:640px}
.hg-more{
    display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--t-light);font-weight:600;
    background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.26);
    padding:9px 18px;border-radius:999px;transition:.2s;white-space:nowrap;
}
.hg-more:hover{color:#fff;border-color:rgba(99,102,241,.6);transform:translateX(2px)}
.hg-more svg{width:14px;height:14px}

/* ============================ 首页 Hero ============================ */
.hg-hero{
    position:relative;padding:70px 0 64px;overflow:hidden;
}
.hg-hero::before{
    content:"";position:absolute;inset:-120px -10% auto;
    height:560px;background:
      radial-gradient(600px circle at 12% 10%,rgba(99,102,241,.16),transparent 60%),
      radial-gradient(620px circle at 85% 30%,rgba(139,92,246,.15),transparent 60%);
    pointer-events:none;filter:blur(10px);
}
.hg-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:52px;align-items:center;position:relative}
.hg-hero-left{position:relative}
.hg-hero-badge{
    display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t-light);
    background:rgba(99,102,241,.1);border:1px solid rgba(139,92,246,.3);
    padding:7px 15px;border-radius:999px;font-weight:600;
}
.hg-hero-badge .dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.18);animation:hgPulse 2s infinite}
@keyframes hgPulse{0%,100%{opacity:1}50%{opacity:.45}}
.hg-hero h1{
    font-size:clamp(30px,4.6vw,50px);font-weight:900;line-height:1.22;letter-spacing:-.5px;margin:20px 0 16px;
}
.hg-hero h1 .gradline{
    background:linear-gradient(115deg,#c9d2ff 0%,#c084fc 40%,#22d3ee 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    background-size:200%;animation:gradShift 6s ease infinite;
}
.hg-hero-left>p{color:var(--t-light);font-size:17px;line-height:1.85;max-width:520px}
.hg-hero-trust{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;color:var(--t-dim);font-size:12.5px}
.hg-hero-trust .avi{display:flex}
.hg-hero-trust .avi i{
    width:24px;height:24px;border-radius:50%;border:2px solid #0b101d;margin-left:-6px;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:9px;font-style:normal;
    display:flex;align-items:center;justify-content:center;font-weight:700;
}
.hg-hero-trust .avi i:nth-child(2){background:linear-gradient(135deg,#10b981,#06b6d4)}
.hg-hero-trust .avi i:nth-child(3){background:linear-gradient(135deg,#f59e0b,#f43f5e)}
.hg-hero-trust .avi i:nth-child(4){background:linear-gradient(135deg,#ec4899,#8b5cf6)}
.hg-hero-trust b{color:var(--t-bright);font-weight:600}

/* —— 检测卡片 —— */
.hg-detect{
    background:linear-gradient(160deg,rgba(20,27,46,.92),rgba(13,18,33,.94));
    border:1px solid rgba(139,92,246,.3);border-radius:24px;padding:26px;
    box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);
    position:relative;overflow:hidden;
}
.hg-detect::before{
    content:"";position:absolute;top:-70px;right:-70px;width:230px;height:230px;border-radius:50%;
    background:radial-gradient(circle,rgba(99,102,241,.35),transparent 70%);filter:blur(20px);pointer-events:none;
}
.hg-detect::after{
    content:"";position:absolute;left:0;right:0;top:0;height:2px;
    background:linear-gradient(90deg,transparent,#8b5cf6,transparent);opacity:.7;
}
.hg-detect .dt-title{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800}
.hg-detect .dt-title .flash{
    width:26px;height:26px;border-radius:8px;background:var(--hggrad);display:flex;align-items:center;justify-content:center;font-size:14px;
}
.hg-detect .dt-sub{color:var(--t-mid);font-size:13px;margin:7px 0 16px;line-height:1.6}
.hg-input{
    width:100%;background:#0a101f;border:1px solid rgba(255,255,255,.14);border-radius:14px;
    padding:14px 17px;color:#fff;font-size:15px;outline:none;font-family:var(--font);transition:.2s;
}
.hg-input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.16)}
.hg-input::placeholder{color:#7c86a2}
.hg-field-label{font-size:13px;color:var(--t-bright);font-weight:600;margin:16px 0 9px;display:flex;align-items:center;justify-content:space-between}
.hg-field-label span{color:var(--t-dim);font-weight:400;font-size:12px}
.hg-plat-chips{display:flex;flex-wrap:wrap;gap:9px}
.hg-chip{
    position:relative;cursor:pointer;user-select:none;
}
.hg-chip input{position:absolute;opacity:0;pointer-events:none}
.hg-chip span{
    display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--t-bright);font-weight:500;
    background:rgba(255,255,255,.045);border:1px solid var(--line2);padding:8px 14px;border-radius:999px;transition:.18s;
}
.hg-chip span::before{
    content:"";width:15px;height:15px;border-radius:50%;border:1.5px solid #525e76;background:transparent;transition:.18s;flex-shrink:0;
}
.hg-chip input:checked+span{background:rgba(99,102,241,.18);border-color:#8b5cf6;color:#fff}
.hg-chip input:checked+span::before{background:#8b5cf6;border-color:#8b5cf6;box-shadow:inset 0 0 0 3.5px rgba(255,255,255,.9)}
.hg-btn-detect{
    width:100%;margin-top:18px;border:none;cursor:pointer;font-family:var(--font);
    background:var(--hggrad);color:#fff;background-size:200% auto;
    padding:15px;border-radius:14px;font-size:16.5px;font-weight:800;letter-spacing:.5px;
    box-shadow:0 14px 34px rgba(124,58,237,.4);transition:.25s;display:flex;align-items:center;justify-content:center;gap:9px;
}
.hg-btn-detect:hover{background-position:right center;transform:translateY(-2px);box-shadow:0 18px 44px rgba(124,58,237,.55)}
.hg-btn-detect:active{transform:translateY(0) scale(.99)}
.hg-detect-note{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--t-dim);font-size:12px;margin-top:12px;flex-wrap:wrap}
.hg-detect-note b{color:var(--t-mid);font-weight:600}

/* ============================ 工具矩阵 ============================ */
.hg-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.hg-tool-card{
    background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px;
    display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;transition:.25s;
}
.hg-tool-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--hggrad);opacity:0;transition:.25s}
.hg-tool-card:hover{transform:translateY(-5px);border-color:rgba(139,92,246,.45);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.hg-tool-card:hover::before{opacity:1}
.hg-tool-ico{
    width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
    background:rgba(99,102,241,.14);border:1px solid rgba(99,102,241,.25);color:var(--t-light);
}
.hg-tool-card:nth-child(2) .hg-tool-ico{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.25);color:var(--t-cyan)}
.hg-tool-card:nth-child(3) .hg-tool-ico{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.25);color:var(--t-ok)}
.hg-tool-card:nth-child(4) .hg-tool-ico{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.25);color:var(--t-warn)}
.hg-tool-ico svg{width:23px;height:23px}
.hg-tool-card h3{font-size:16.5px;font-weight:700}
.hg-tool-card p{font-size:13.5px;color:var(--t-mid);line-height:1.7;flex:1}
.hg-tool-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--t-ok);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);padding:3px 10px;border-radius:999px;align-self:flex-start}
.hg-tool-tag.free{color:var(--t-cyan);background:rgba(34,211,238,.08);border-color:rgba(34,211,238,.3)}
.hg-tool-tag.pro{color:var(--t-warn);background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.3)}
.hg-tool-link{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--t-light);margin-top:4px}
.hg-tool-link:hover{color:#fff;gap:9px}
.hg-tool-link svg{width:14px;height:14px;transition:.2s}

/* ============================ 首页知识+案例 ============================ */
.hg-split{display:grid;grid-template-columns:1fr 1.08fr;gap:34px;align-items:start}
/* 首页「信源知识 + 实战案例」只显示一侧时改单列，避免半栏留白 */
.hg-split-one{grid-template-columns:1fr}
.hg-panel{
    background:var(--card);border:1px solid var(--line);border-radius:20px;
    padding:26px;display:flex;flex-direction:column;gap:16px;
}
.hg-panel-head{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800}
.hg-panel-head .n-ico{width:32px;height:32px;border-radius:10px;background:rgba(99,102,241,.14);color:var(--t-light);display:flex;align-items:center;justify-content:center;font-size:15px}
.hg-panel-head small{margin-left:auto;font-size:12px;color:var(--t-dim);font-weight:400}
.hg-art-item{display:block;border-radius:14px;padding:14px 15px;background:rgba(255,255,255,.028);border:1px solid var(--line);transition:.2s}
.hg-art-item:hover{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.06);transform:translateY(-2px)}
.hg-art-item b{display:block;font-size:14.5px;font-weight:700;line-height:1.55;color:var(--t-bright)}
.hg-art-item span{display:flex;align-items:center;gap:8px;color:var(--t-mid);font-size:12px;margin-top:7px}
.hg-art-item span i{font-style:normal;background:rgba(99,102,241,.16);color:var(--t-light);border-radius:6px;padding:2px 8px;font-size:11px}
.hg-cases-panel{padding-bottom:20px}
.hg-case-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.hg-case-tab{
    font-size:13px;color:var(--t-mid);background:rgba(255,255,255,.04);border:1px solid var(--line);
    padding:7px 16px;border-radius:999px;cursor:pointer;transition:.18s;font-family:var(--font);
}
.hg-case-tab:hover{color:#fff;border-color:#6366f1}
.hg-case-tab.active{background:rgba(99,102,241,.18);border-color:#8b5cf6;color:#fff;font-weight:600}
.hg-case-item{display:none;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.028);padding:16px;gap:14px;flex-direction:column}
.hg-case-item.show{display:flex;animation:hgIn .4s ease}
@keyframes hgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hg-case-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.hg-case-top b{font-size:15px;line-height:1.55;font-weight:700}
.hg-case-prov{flex-shrink:0;font-size:11px;color:var(--t-mid);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.hg-case-flow{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;margin-top:4px}
.hg-case-flow>div{border-radius:12px;padding:11px 12px}
.hg-case-before{background:rgba(248,113,113,.07);border:1px solid rgba(248,113,113,.25)}
.hg-case-after{background:rgba(52,211,153,.07);border:1px solid rgba(52,211,153,.28)}
.hg-case-flow em{display:block;font-style:normal;font-size:11px;font-weight:800;letter-spacing:1px;margin-bottom:6px}
.hg-case-before em{color:var(--t-bad)}.hg-case-doing em{color:var(--t-cyan)}.hg-case-after em{color:var(--t-ok)}
.hg-case-doing{background:rgba(34,211,238,.05);border:1px solid rgba(34,211,238,.2)}
.hg-case-flow p{font-size:12px;line-height:1.75;color:var(--t-bright);margin:0}
.hg-case-doing p{color:var(--t-mid)}
.hg-case-foot{font-size:11px;color:var(--t-dim);display:flex;justify-content:flex-end;gap:4px}
.hg-case-foot b{color:var(--t-light);font-weight:600}
.hg-case-arrow{text-align:center;color:#8b5cf6;font-size:12px;font-weight:800;align-self:center}

/* ============================ 精选服务商 ============================ */
.hg-pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hg-pick-col{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:14px}
.hg-pick-col.c1 .hg-pick-tag{color:var(--t-light);background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.3)}
.hg-pick-col.c2 .hg-pick-tag{color:var(--t-cyan);background:rgba(34,211,238,.08);border-color:rgba(34,211,238,.3)}
.hg-pick-col.c3 .hg-pick-tag{color:var(--t-ok);background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.3)}
.hg-pick-tag{align-self:flex-start;font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px;border:1px solid}
.hg-pick-col h3{font-size:16px;font-weight:800;line-height:1.4}
.hg-pick-col>p{font-size:12.5px;color:var(--t-mid);line-height:1.7;margin-top:-6px}
.hg-pick-list{display:flex;flex-direction:column;gap:9px;flex:1}
.hg-pick-row{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.028);border:1px solid var(--line);border-radius:13px;padding:11px 12px;cursor:pointer;transition:.2s;text-align:left;font-family:var(--font)}
.hg-pick-row:hover{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.07);transform:translateX(2px)}
.hg-pick-logo{width:34px;height:34px;border-radius:10px;color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hg-pick-body{min-width:0;flex:1}
.hg-pick-body b{display:block;font-size:13.5px;font-weight:700;color:var(--t-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hg-pick-body span{display:flex;align-items:center;gap:6px;color:var(--t-dim);font-size:11px;margin-top:2px}
.hg-pick-body span i{font-style:normal;background:rgba(34,211,238,.1);color:var(--t-cyan);border-radius:5px;padding:1px 6px;font-size:10px}
.hg-pick-row small{color:var(--t-mid);font-size:10.5px;max-width:88px;text-align:right;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}

/* ============================ 榜单 ============================ */
.hg-rank-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:18px}
.hg-rank-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px}
.hg-rank-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.hg-rank-head h3{font-size:17px;font-weight:800}
.hg-rank-head span{font-size:12px;color:var(--t-mid);background:rgba(255,255,255,.04);border:1px solid var(--line);padding:4px 11px;border-radius:999px}
.hg-rank-row{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.hg-rank-no{width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--t-mid);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hg-rank-row:nth-child(-n+4) .hg-rank-no{background:linear-gradient(135deg,#f59e0b,#f43f5e);color:#fff;border:none}
.hg-rank-name{width:92px;font-size:13px;font-weight:600;color:var(--t-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.hg-rank-bar{flex:1;height:8px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden;position:relative}
.hg-rank-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#22d3ee);width:0;transition:width 1s ease}
.hg-rank-num{font-size:12.5px;color:var(--t-light);font-weight:700;width:40px;text-align:right;flex-shrink:0}
.hg-rank-card.dom .hg-rank-bar i{background:linear-gradient(90deg,#8b5cf6,#f59e0b)}
.hg-rank-card.dom .hg-rank-row{flex-wrap:wrap}
.hg-rank-card.dom .hg-rank-row .hg-rank-name{width:auto;max-width:62%}
/* 榜单说明文字（后台 meta 字段）：此前查询了却不展示，这里补上 */
.hg-rank-meta{
    font-size:11.5px;color:var(--t-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    max-width:96px;flex-shrink:0;
}
.hg-rank-card.dom .hg-rank-meta{max-width:120px}
/* 榜单空态：后台删空后不再是「只有标题的空卡」 */
.hg-rank-empty{
    padding:22px 14px;text-align:center;font-size:12.5px;color:var(--t-dim);
    border:1px dashed var(--line2);border-radius:14px;background:rgba(255,255,255,.02);
}
/* 柱状条：宽度由服务端写入 inline style，这里只做入场动画，
   JS（IntersectionObserver）失效时条形依然显示正确宽度 */
@keyframes hg-bar-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hg-rank-bar i{transform-origin:left center}
.hg-rank-bar i[data-w]{animation:hg-bar-in .9s cubic-bezier(.2,.7,.3,1) both}
@media (max-width:640px){
    .hg-rank-meta{display:none}
}

/* ============================ 需求横幅 ============================ */
/* 首页需求 Banner（.hg-sec-cta）：这块是「服务板块的收尾转化位」，
   若沿用 .hg-sec 的 64px 上内边距 + .hg-banner 自身的 52px 上外边距，
   与上一节 8px 下内边距叠加会撑出 120px+ 的空白带。这里让外层不带内边距，
   只保留 banner 自己的上外边距，形成「贴住上一节、与下一节正常分隔」的节奏。 */
.hg-sec-cta{padding:0}
.hg-sec-cta .hg-banner{margin:44px 0 0}
@media(max-width:640px){
    .hg-sec-cta .hg-banner{margin:26px 0 0;padding:30px 22px}
}
.hg-banner{
    margin:52px 0 8px;position:relative;border-radius:26px;overflow:hidden;
    background:linear-gradient(120deg,rgba(99,102,241,.16),rgba(139,92,246,.1) 55%,rgba(34,211,238,.12));
    border:1px solid rgba(139,92,246,.3);padding:42px 40px;
    display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
}
.hg-banner::before{content:"";position:absolute;right:-60px;top:-90px;width:300px;height:300px;background:radial-gradient(circle,rgba(139,92,246,.3),transparent 70%);filter:blur(24px)}
.hg-banner::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#6366f1,#22d3ee,transparent)}
.hg-banner h3{font-size:clamp(20px,3vw,27px);font-weight:800;position:relative}
.hg-banner p{color:var(--t-light);margin-top:9px;font-size:14.5px;position:relative}
.hg-banner .bz{display:flex;gap:14px;color:var(--t-mid);font-size:12.5px;margin-top:14px;flex-wrap:wrap;position:relative}
.hg-banner .bz span{display:inline-flex;align-items:center;gap:6px}
.hg-banner .bz span::before{content:"";width:5px;height:5px;border-radius:50%;background:#34d399}
.hg-banner-side{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.hg-banner-btn{
    background:var(--hggrad);color:#fff;font-weight:800;font-size:16px;padding:15px 34px;border-radius:15px;
    box-shadow:0 14px 34px rgba(124,58,237,.4);transition:.22s;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
}
.hg-banner-btn:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(124,58,237,.55)}
.hg-banner-btn svg{width:16px;height:16px}

/* ============================ 服务商入驻引导条 ============================ */
/* providers.php 顶部：与底部「发布需求」横幅形成双向分流 ——
   企业客户往下走「发布需求」，服务商往上走「免费入驻」，
   避免整个页面只有需求发布这一条转化路径 */
.hg-banner-invite{margin:4px 0 14px}
.hg-banner-invite::before{background:radial-gradient(circle,rgba(34,211,238,.26),transparent 70%)}
.hg-banner-invite::after{background:linear-gradient(90deg,#22d3ee,#34d399,transparent)}
.hg-invite-flag{
    display:inline-block;margin-bottom:11px;position:relative;
    font-size:11.5px;font-weight:800;letter-spacing:.06em;
    color:var(--t-cyan);background:rgba(34,211,238,.14);border:1px solid rgba(34,211,238,.34);
    border-radius:999px;padding:3px 13px;
}
.hg-banner-invite h3{font-size:clamp(19px,2.6vw,25px)}
.hg-banner-invite h3 em{
    font-style:normal;
    background:linear-gradient(120deg,#22d3ee,#34d399);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hg-banner-invite p b{color:#fff;font-weight:800}
.hg-invite-note{font-size:12px;color:#93a4bd}
/* 首页版本：首页本身很长，用紧凑尺寸，保持醒目但不占过多篇幅 */
.hg-banner-invite.is-sm{margin-top:22px;padding:30px 32px}
.hg-banner-invite.is-sm h3{font-size:clamp(18px,2.2vw,22px)}
@media (max-width:640px){
    .hg-banner-invite{padding:24px 18px;margin-top:0}
    .hg-banner-invite .bz{gap:7px 12px;font-size:12px}
    .hg-banner-invite.is-sm{padding:22px 18px}
}

/* ==================== 触屏设备 hover 兜底（微信点击错位修复） ==================== */
/* 触屏（含微信内置浏览器）没有真正的 hover：手指触摸一次后 :hover 会「粘住」，
   元素因此长期保持位移 / 抬起状态，进而让点击热区偏移 —— 微信 X5 内核尤其明显，
   表现为「点 A 却跳到 B」。这里在触屏设备统一去掉 hover 位移，
   颜色、阴影、边框类反馈保留，不影响观感。 */
@media (hover: none){
    .hg-btn-need:hover,.hg-btn-detect:hover,.hg-tool-card:hover,.hg-art-item:hover,
    .hg-banner-btn:hover,.hg-content-card:hover,.hg-btn-primary:hover,.hg-btn-amber:hover,
    .hg-about-card:hover,.hg-proj-card:hover,.hg-proj-card .acts a.primary:hover,
    .tag-cloud a:hover,.btn-primary:hover,.provider-card:hover,.back-top:hover,
    .btn-buy:hover,.btn-agency:hover,.btn-reco:hover,.qa-rel-item:hover{
        transform:none;
    }
}

/* ============================ 页脚 ============================ */
.hg-footer{margin-top:60px;background:rgba(10,14,23,.9);border-top:1px solid rgba(99,102,241,.14);position:relative;z-index:1}
.hg-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:30px;padding:50px 0 36px}
.hg-fcol{display:flex;flex-direction:column;gap:10px;min-width:0}
.hg-fcol-brand{display:flex;flex-direction:column;gap:14px}
.hg-fcol-brand>p{color:var(--t-mid);font-size:13.5px;line-height:1.85}
.hg-fcol h4{font-size:14px;font-weight:700;color:var(--t-bright);margin-bottom:6px;letter-spacing:.4px}
.hg-fcol a{color:var(--t-mid);font-size:13.5px;transition:.18s}
.hg-fcol a:hover{color:#fff;transform:translateX(3px)}
.hg-fsocial{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hg-fsocial>span{font-size:12px;color:var(--t-dim);margin-right:4px}
.hg-fsocial em{font-style:normal;font-size:11px;color:var(--t-mid);background:rgba(255,255,255,.05);border:1px solid var(--line);padding:3px 10px;border-radius:999px}
.hg-footer-bottom{border-top:1px solid var(--line);padding:18px 0}
.hg-footer-bottom .container{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--t-dim);font-size:12.5px}
.hg-footer-bottom .hg-msg{color:var(--t-mid)}
.hg-filings{display:flex;gap:18px}
.hg-filings a{color:var(--t-dim)}
.hg-filings a:hover{color:var(--t-bright)}
.hg-footer-note{margin-top:8px !important;display:block !important;color:var(--t-dim);font-size:12px}
.hg-footer-note span{display:block;padding-top:8px;border-top:1px dashed rgba(255,255,255,.06)}

/* ============================ 页面页头/列表 ============================ */
.hg-page-head{position:relative;padding:52px 0 34px;text-align:center}
.hg-page-head .hero-badge{margin-bottom:14px}
.hg-page-head h1{font-size:clamp(28px,4.4vw,42px);font-weight:900;letter-spacing:-.5px}
.hg-page-head h1 em{font-style:normal;background:var(--hggrad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hg-page-head p{color:var(--t-mid);max-width:680px;margin:14px auto 0;font-size:15.5px;line-height:1.8}
.hg-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--t-dim);padding:24px 0 4px}
.hg-breadcrumb a{color:var(--t-mid)}
.hg-breadcrumb a:hover{color:var(--t-light)}
.hg-breadcrumb .sep{color:#515d78}

/* ============================ 内容卡片（学院/报告） ============================ */
.hg-content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hg-content-card{
    background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;
    display:flex;flex-direction:column;transition:.22s;
}
.hg-content-card:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.4);box-shadow:0 18px 44px rgba(0,0,0,.35)}
.hg-cc-body{padding:20px 20px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.hg-cc-cat{align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.6px;color:var(--t-light);background:rgba(99,102,241,.12);border-radius:7px;padding:3px 10px}
.hg-cc-body h3{font-size:16.5px;line-height:1.55;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hg-cc-body p{font-size:13px;color:var(--t-mid);line-height:1.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.hg-cc-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--t-dim);padding-top:12px;border-top:1px solid var(--line)}
.hg-cc-meta .views{display:inline-flex;align-items:center;gap:5px}
/* 卡片标签行 + 置顶标识（后台「设为精华/置顶」在前台可见） */
.hg-cc-tags{display:flex;align-items:center;gap:8px;align-self:flex-start;flex-wrap:wrap}
.hg-cc-top{
    font-size:10.5px;font-weight:800;letter-spacing:.3px;color:#fff;border-radius:6px;padding:3px 8px;
    background:linear-gradient(135deg,#f59e0b,#f43f5e);box-shadow:0 6px 14px -8px rgba(244,63,94,.9);
}
/* 列表筛选条（归档年份 / 排序） */
.hg-filter-bar{
    display:flex;align-items:center;gap:22px;flex-wrap:wrap;
    margin:16px 0 18px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;
    background:rgba(255,255,255,.03);
}
.hg-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hg-filter-lab{font-size:12px;color:var(--t-dim);margin-right:2px}
.hg-filter-chip{
    font-size:12.5px;color:var(--t-mid);background:rgba(255,255,255,.045);border:1px solid var(--line);
    padding:5px 13px;border-radius:999px;transition:.18s;
}
.hg-filter-chip:hover{color:#fff;border-color:rgba(139,92,246,.5);background:rgba(139,92,246,.12)}
.hg-filter-chip.on{
    color:#fff;font-weight:700;border-color:transparent;background:var(--hggrad);
    box-shadow:0 8px 18px -10px rgba(124,58,237,.9);
}
@media (max-width:640px){
    .hg-filter-bar{gap:14px;padding:12px}
}

/* ============================ 详情长文 ============================ */
.hg-article{max-width:860px;margin:0 auto}
.hg-article-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:40px 42px}
.hg-article-head{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:26px}
.hg-article-head h1{font-size:clamp(23px,3.4vw,31px);font-weight:900;line-height:1.45}
.hg-article-meta{display:flex;gap:16px;color:var(--t-dim);font-size:13px;margin-top:14px;flex-wrap:wrap}
.hg-article-head p{color:var(--t-mid);font-size:15px;line-height:1.9;margin-top:16px}
.hg-article-content{color:var(--t-bright);font-size:15.5px;line-height:2.05}
.hg-article-content p{margin-bottom:1.1em}
.hg-article-content h3{color:var(--t-bright);font-size:18px;font-weight:800;margin:1.6em 0 .7em}
.hg-article-content strong{color:var(--t-bright)}
.hg-article-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.hg-article-tags span{font-size:12px;color:var(--t-mid);background:rgba(255,255,255,.04);border:1px solid var(--line);padding:4px 12px;border-radius:999px}

/* ============================ 工具页 ============================ */
.hg-tool-wrap{max-width:900px;margin:0 auto;padding-bottom:60px}
.hg-tool-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:18px 0 8px}
.hg-tool-nav a{
    font-size:13px;color:var(--t-mid);background:rgba(255,255,255,.04);border:1px solid var(--line);
    padding:8px 18px;border-radius:999px;transition:.18s;
}
.hg-tool-nav a:hover{color:#fff;border-color:#6366f1}
.hg-tool-nav a.active{background:rgba(99,102,241,.18);border-color:#8b5cf6;color:#fff;font-weight:600}
.hg-toolform{
    background:linear-gradient(165deg,rgba(21,28,47,.95),rgba(13,18,33,.96));
    border:1px solid rgba(139,92,246,.26);border-radius:24px;padding:30px;margin-top:8px;
    position:relative;overflow:hidden;
}
.hg-toolform::before{content:"";position:absolute;top:-80px;right:-80px;width:260px;height:260px;background:radial-gradient(circle,rgba(99,102,241,.25),transparent 70%);filter:blur(18px)}
.hg-toolform h2{font-size:20px;font-weight:800;display:flex;align-items:center;gap:10px}
.hg-toolform h2 .fi{width:34px;height:34px;border-radius:10px;background:var(--hggrad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.hg-toolform>p{color:var(--t-mid);font-size:13.5px;margin:9px 0 20px;line-height:1.8}
.hg-tool-quota{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--t-mid);margin-top:12px;justify-content:center}
.hg-tool-quota b{color:var(--t-ok);font-weight:700}

/* —— 结果区 —— */
.hg-result{margin-top:22px}
.rep-hero{
    display:flex;align-items:center;gap:28px;background:linear-gradient(165deg,rgba(21,28,47,.95),rgba(13,18,33,.96));
    border:1px solid rgba(139,92,246,.28);border-radius:22px;padding:28px;flex-wrap:wrap;position:relative;overflow:hidden;
}
.gauge{
    --p:0;width:150px;height:150px;border-radius:50%;flex-shrink:0;
    background:conic-gradient(#8b5cf6 calc(var(--p)*1%),rgba(255,255,255,.07) 0);
    display:flex;align-items:center;justify-content:center;position:relative;
}
.gauge::before{content:"";position:absolute;inset:11px;border-radius:50%;background:#0e1526}
.gauge .gv{position:relative;text-align:center}
.gauge .gv b{display:block;font-size:40px;font-weight:900;background:linear-gradient(120deg,#c9d2ff,#c084fc);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.gauge .gv span{font-size:12px;color:var(--t-dim)}
.gauge.gd-C .gv b{background:linear-gradient(120deg,#fca5a5,#f87171);-webkit-background-clip:text;background-clip:text;color:transparent}
.gauge.gd-D .gv b{background:linear-gradient(120deg,#fbbf24,#f87171);-webkit-background-clip:text;background-clip:text;color:transparent}
.rep-hero-info{flex:1;min-width:240px}
.rep-hero-info h2{font-size:22px;font-weight:900;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.grade-badge{
    font-size:14px;font-weight:900;width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#34d399,#06b6d4);color:#06281f;
}
.grade-badge.gB{background:linear-gradient(135deg,#38bdf8,#6366f1);color:#fff}
.grade-badge.gC{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1203}
.grade-badge.gD{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff}
.rep-hero-info .rh-sub{color:var(--t-mid);font-size:13.5px;margin-top:8px;line-height:1.8}
.rep-hero-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.rep-hero-meta span{font-size:12px;color:var(--t-light);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:999px;padding:5px 13px}
.rep-note{font-size:11.5px;color:var(--t-dim);line-height:1.7}
.rep-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.rep-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 20px 16px}
.rep-card h4{font-size:15.5px;font-weight:800;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.rep-card h4 .ic{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.ic.purple{background:rgba(99,102,241,.15);color:var(--t-light)}
.ic.green{background:rgba(16,185,129,.12);color:var(--t-ok)}
.ic.cyan{background:rgba(34,211,238,.12);color:var(--t-cyan)}
.ic.amber{background:rgba(245,158,11,.12);color:var(--t-warn)}
.ic.red{background:rgba(248,113,113,.12);color:var(--t-bad)}

/* 条形指标 */
.mbar{margin-bottom:15px}
.mbar-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--t-bright);margin-bottom:7px}
.mbar-top b{color:#fff;font-weight:700}
.mbar-top span{color:var(--t-light);font-weight:800}
.mbar-bar{height:9px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}
.mbar-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#8b5cf6);width:0;transition:width 1.1s ease}
.mbar.hot .mbar-bar i{background:linear-gradient(90deg,#34d399,#06b6d4)}
.mbar.warn .mbar-bar i{background:linear-gradient(90deg,#f59e0b,#f43f5e)}

/* 环形占比（情感） */
.senti{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.donut{--p:0;width:96px;height:96px;border-radius:50%;flex-shrink:0;
    background:conic-gradient(#34d399 calc(var(--p)*1%),#fbbf24 0 calc(var(--p)*1% + 22%),#f87171 0 calc(var(--p)*1% + 22% + 13%),rgba(255,255,255,.07) 0);
    position:relative}
.donut::before{content:"";position:absolute;inset:13px;border-radius:50%;background:#0e1526}
.donut .dv{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut .dv b{font-size:18px;font-weight:900;color:#fff}
.donut .dv span{font-size:9px;color:var(--t-dim)}
.senti-leg{display:flex;flex-direction:column;gap:7px;flex:1;min-width:120px}
.senti-leg div{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t-light)}
.senti-leg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.senti-leg b{margin-left:auto;color:#fff}

/* 平台表现行 */
.plat-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.06)}
.plat-row:last-child{border-bottom:none}
.plat-row .pn{width:82px;font-size:13px;font-weight:600;color:var(--t-bright);flex-shrink:0}
.plat-row .pk{width:30px;height:30px;border-radius:9px;background:rgba(99,102,241,.13);color:var(--t-light);font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}
.plat-row .pm{flex:1;height:7px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.plat-row .pm i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8b5cf6,#22d3ee);width:0;transition:width 1s ease}
.plat-row .pv{font-size:12px;color:var(--t-light);font-weight:700;width:38px;text-align:right;flex-shrink:0}
.plat-row .up{color:var(--t-ok)}.plat-row .down{color:var(--t-bad)}.plat-row .flat{color:var(--t-mid)}

/* 引用来源 TOP */
.src-item{display:flex;align-items:center;gap:11px;margin-bottom:11px}
.src-item .sr{width:56px;flex-shrink:0;font-size:12.5px;color:var(--t-light);font-weight:600}
.src-item .sb{flex:1;height:8px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.src-item .sb i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#22d3ee,#8b5cf6);width:0;transition:width 1s ease}
.src-item .sv{width:38px;text-align:right;font-size:12px;font-weight:800;color:var(--t-cyan);flex-shrink:0}

/* 覆盖清单 / 风险 / 建议 */
.hg-checklist{display:flex;flex-direction:column;gap:9px}
.hg-checklist li{list-style:none;display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--t-bright);line-height:1.7}
.hg-checklist li::before{content:"";margin-top:7px;width:9px;height:9px;border-radius:3px;background:rgba(52,211,153,.9);flex-shrink:0;box-shadow:0 0 8px rgba(52,211,153,.5)}
.risk-list{display:flex;flex-direction:column;gap:10px}
.risk-item{display:flex;gap:9px;background:rgba(248,113,113,.06);border:1px solid rgba(248,113,113,.2);border-radius:11px;padding:10px 12px;font-size:13px;color:var(--t-bright);line-height:1.7}
.risk-item::before{content:"!";flex-shrink:0;width:18px;height:18px;border-radius:50%;background:rgba(248,113,113,.25);color:var(--t-bad);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:1px}
.advice-list{counter-reset:adv;display:flex;flex-direction:column;gap:11px}
.advice-item{display:flex;gap:11px;background:rgba(34,211,238,.05);border:1px solid rgba(34,211,238,.16);border-radius:12px;padding:12px 13px;font-size:13.5px;color:var(--t-bright);line-height:1.8}
.advice-item::before{counter-increment:adv;content:counter(adv);flex-shrink:0;width:20px;height:20px;border-radius:7px;background:linear-gradient(135deg,#22d3ee,#6366f1);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px}

/* 问题卡片（语义工具输出） */
.qrow{display:flex;gap:11px;align-items:flex-start;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.028);border:1px solid var(--line);font-size:13.5px;color:var(--t-bright);line-height:1.7}
.qrow .qn{flex-shrink:0;width:20px;height:20px;border-radius:7px;background:rgba(99,102,241,.18);color:var(--t-light);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.intent-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.intent-col h5{font-size:14px;font-weight:800;display:flex;align-items:center;gap:8px;margin-bottom:11px;color:#fff}
.intent-col h5 i{font-style:normal;background:rgba(99,102,241,.16);color:var(--t-light);border-radius:7px;padding:2px 9px;font-size:11px}
.tag-cloud{display:flex;flex-wrap:wrap;gap:9px}
.tag-cloud a,.tag-cloud span{
    font-size:13px;color:var(--t-bright);background:rgba(99,102,241,.09);border:1px solid rgba(139,92,246,.26);
    padding:7px 14px;border-radius:999px;transition:.18s;cursor:pointer;
}
.tag-cloud a:hover{background:rgba(99,102,241,.2);color:#fff;transform:translateY(-1px)}
.hg-pref{background:rgba(34,211,238,.05);border:1px solid rgba(34,211,238,.18);border-radius:14px;padding:16px 18px;font-size:14px;color:var(--t-bright);line-height:2;position:relative}
.hg-pref::before{content:"AI偏好";position:absolute;top:-11px;left:16px;font-size:11px;font-weight:800;color:var(--t-cyan);background:#0d1320;padding:0 8px;letter-spacing:1px}
.hg-issue{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.028);border:1px solid var(--line);border-radius:12px;padding:12px 13px;font-size:13px;color:var(--t-bright);line-height:1.75;margin-bottom:9px}
.hg-issue .lv{flex-shrink:0;font-size:11px;font-weight:800;padding:2px 9px;border-radius:7px}
.lv-高{background:rgba(248,113,113,.16);color:var(--t-bad)}
.lv-中{background:rgba(245,158,11,.15);color:var(--t-warn)}
.lv-低{background:rgba(34,211,238,.12);color:var(--t-cyan)}

/* 对比表格 */
.cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.cmp-table th{background:rgba(99,102,241,.1);color:var(--t-bright);padding:11px 14px;font-weight:700;text-align:left;border-bottom:1px solid rgba(139,92,246,.25)}
.cmp-table th:first-child{border-radius:12px 0 0 0}
.cmp-table th:last-child{border-radius:0 12px 0 0}
.cmp-table td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--t-bright);vertical-align:middle}
.cmp-table tr:last-child td{border-bottom:none}
.cmp-winner{color:var(--t-ok);font-weight:800}
.cmp-loser{color:var(--t-bad)}

/* 扫描动画 */
.hg-scanning{display:none;flex-direction:column;align-items:center;gap:22px;padding:44px 10px;text-align:center}
.hg-scanning.active{display:flex}
.scan-ring{width:92px;height:92px;border-radius:50%;position:relative}
.scan-ring::before{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:#8b5cf6;border-right-color:var(--t-cyan);animation:spin 1s linear infinite}
.scan-ring::after{content:"";position:absolute;inset:12px;border-radius:50%;border:2px solid transparent;border-bottom-color:#6366f1;animation:spin .8s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.scan-ring .sr-ico{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px}
.hg-scanning h3{font-size:18px;font-weight:800}
.hg-scanning .steps{display:flex;flex-direction:column;gap:9px;width:min(360px,100%);text-align:left}
.hg-scanning .steps div{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--t-mid);transition:.3s}
.hg-scanning .steps div.on{color:var(--t-bright);font-weight:600}
.hg-scanning .steps div.done{color:var(--t-ok)}
.hg-scanning .steps i{width:8px;height:8px;border-radius:50%;background:#515d78;flex-shrink:0}
.hg-scanning .steps div.on i{background:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,.2)}
.hg-scanning .steps div.done i{background:#34d399}

/* 留资解锁 */
.unlock-card{display:none;margin-top:16px;background:linear-gradient(120deg,rgba(245,158,11,.09),rgba(244,63,94,.07));border:1px solid rgba(245,158,11,.3);border-radius:18px;padding:22px 24px}
.unlock-card.show{display:block;animation:hgIn .4s ease}
.unlock-card h4{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:var(--t-warn)}
.unlock-card>p{font-size:13px;color:var(--t-bright);margin:8px 0 16px;line-height:1.8}
.unlock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.unlock-grid .ug{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.unlock-grid .ug i{display:block;font-style:normal;font-size:11px;color:var(--t-mid);margin-bottom:5px}
.unlock-grid .ug b{font-size:13px;color:var(--t-bright);font-weight:700;line-height:1.6}

/* 小按钮/胶囊组 */
.hg-inline-form{display:flex;gap:10px;flex-wrap:wrap}
.hg-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;
    font-family:var(--font);border-radius:12px;font-weight:700;transition:.2s;padding:11px 22px;font-size:14px;
}
.hg-btn-primary{background:var(--hggrad);color:#fff;box-shadow:0 10px 26px rgba(124,58,237,.35)}
.hg-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(124,58,237,.5)}
.hg-btn-ghost{background:rgba(99,102,241,.1);color:var(--t-bright);border:1px solid rgba(139,92,246,.35)}
.hg-btn-ghost:hover{background:rgba(99,102,241,.18);color:#fff}
.hg-btn-amber{background:linear-gradient(120deg,#f59e0b,#f43f5e);color:#fff;box-shadow:0 10px 26px rgba(244,63,94,.3)}
.hg-btn-amber:hover{transform:translateY(-2px)}
.hg-btn-green{background:rgba(16,185,129,.14);color:var(--t-ok);border:1px solid rgba(16,185,129,.35)}
.hg-btn-green:hover{background:rgba(16,185,129,.22);color:#fff}
.hg-btn-block{width:100%}
.hg-hint{font-size:12px;color:var(--t-dim);margin-top:10px;line-height:1.8}

/* 需求大厅表单/列表 */
.hg-dem-form{max-width:840px;margin:0 auto}
.hg-dem-list{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.hg-dem-item{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 22px;transition:.2s}
.hg-dem-item:hover{border-color:rgba(99,102,241,.4)}
.hg-dem-item .hd-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}
.hg-dem-item h3{font-size:17px;font-weight:800;display:flex;align-items:center;gap:10px}
.hg-dem-badges{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.hg-dem-badges span{font-size:11.5px;color:var(--t-mid);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:999px;padding:4px 12px}
.hg-dem-badges .st0{color:var(--t-warn);border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.1)}
.hg-dem-badges .st1{color:var(--t-cyan);border-color:rgba(34,211,238,.4);background:rgba(34,211,238,.08)}
.hg-dem-badges .st2{color:var(--t-ok);border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.08)}
.hg-dem-item>p{color:var(--t-light);font-size:14px;line-height:1.9}
.hg-dem-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--t-dim);font-size:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.hg-dem-matched{display:inline-flex;gap:6px;flex-wrap:wrap}
.hg-dem-matched i{font-style:normal;font-size:11px;color:var(--t-ok);background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);border-radius:999px;padding:2px 10px}
.hg-dem-empty{background:var(--card);border:1px dashed var(--line2);border-radius:18px;text-align:center;padding:64px 20px;color:var(--t-mid);font-size:15px}

/* 留资/账号通用面板 */
.hg-form-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:34px;max-width:560px;margin:0 auto}
.hg-form-card h2{font-size:22px;font-weight:800;text-align:center}
.hg-form-card .fs-sub{text-align:center;color:var(--t-mid);font-size:13.5px;margin:8px 0 24px}
.hg-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.hg-field label{font-size:13.5px;color:var(--t-bright);font-weight:600}
.hg-field .req{color:var(--t-bad)}
.hg-select,.hg-input{padding:12px 15px}
.hg-textarea{min-height:120px;resize:vertical}
.hg-alert{font-size:13.5px;padding:12px 15px;border-radius:12px;margin-bottom:16px;line-height:1.8}
.hg-alert-err{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.3);color:var(--t-bad)}
.hg-alert-ok{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);color:var(--t-ok)}
.hg-tips{font-size:12px;color:var(--t-dim);margin-top:14px;text-align:center;line-height:1.9}

/* 空态占位 */
.hg-empty{background:var(--card);border:1px dashed var(--line2);border-radius:18px;text-align:center;padding:54px 20px;color:var(--t-mid)}
.hg-empty h3{color:var(--t-bright);font-size:18px;margin-bottom:8px}

/* toast */
.hg-toast{
    position:fixed;left:50%;bottom:40px;z-index:200;transform:translate(-50%,16px);
    background:#1c2438;color:var(--t-bright);font-size:14px;padding:12px 22px;border-radius:14px;
    border:1px solid rgba(139,92,246,.4);box-shadow:0 16px 44px rgba(0,0,0,.5);
    opacity:0;transition:.3s;pointer-events:none;max-width:86vw;
}
.hg-toast.ok{border-color:rgba(52,211,153,.5);color:#a7f3d0}
.hg-toast.show{opacity:1;transform:translate(-50%,0)}

.hg-sem-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:641px){.hg-sem-grid{grid-template-columns:repeat(3,1fr)}}
.hg-form-2col{display:grid;grid-template-columns:1fr;gap:0 18px}
.hg-cmp-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:center}
@media (min-width:641px){
    .hg-form-2col{grid-template-columns:1fr 1fr}
    .hg-cmp-grid{grid-template-columns:1fr auto 1fr}
}
.cmp-vs{display:none}
@media (min-width:641px){.cmp-vs{display:block}}

/* 响应式 */
/* 说明：顶栏登录后要装「导航 5 项 + 搜索 + 发布需求 + 项目切换 + 用户芯片 + 退出」，
   默认 1200 容器装不下，故顶层已把 .hg-top-in 放宽到 1440，并按下列 4 档渐进压缩。 */
/* 1360 以下：导航内边距与字号收紧 */
@media (max-width:1360px){
    .hg-nav>a{padding:8px 10px;font-size:13.5px}
    .hg-nav-more-btn{padding:8px 10px;font-size:13.5px}
    .hg-search{flex-basis:160px;min-width:130px}
}
/* 1240 以下：导航再紧一档；搜索、项目名、用户名开始截断 */
@media (max-width:1240px){
    .hg-nav>a{padding:8px 8px;font-size:13px}
    .hg-nav-more-btn{padding:8px 8px;font-size:13px}
    .hg-actions{gap:8px}
    .hg-search{flex-basis:140px;min-width:124px}
    .hg-btn-need{padding:7px 13px;font-size:12.5px}
    .hg-proj-btn{padding:5px 10px;font-size:12px;max-width:140px}
    .hg-proj-btn .hg-proj-name{max-width:96px}
    .hg-user-name{max-width:66px}
}
/* 1120 以下：隐藏品牌副标题 / 隐藏用户名与退出 / 项目名瘦身 */
@media (max-width:1120px){
    .hg-top-in{height:60px}
    .hg-brand-txt i{display:none}
    .hg-search{flex-basis:132px;min-width:118px}
    .hg-search button{padding:5px 10px;font-size:11.5px}
    .hg-btn-need{padding:7px 11px;font-size:12px}
    .hg-user-name,.hg-logout{display:none}
    .hg-user-chip{padding:2px 10px 2px 2px}
    .hg-user-btn{padding:2px 10px 2px 2px;gap:5px}
    .hg-user-btn .hg-user-badge{font-size:9px}
    .hg-proj-btn{padding:5px 10px;max-width:118px;font-size:11.5px}
    .hg-proj-btn .hg-proj-name{max-width:72px}
}
/* 980 以下：进入汉堡菜单模式；导航折成抽屉 */
@media (max-width:980px){
    .hg-search{display:none}
    .hg-nav-search{display:flex;align-items:center;gap:7px;margin:6px 2px 14px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:9px 13px}
    .hg-nav-search input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:14px;min-width:0}
    .hg-nav-search input::placeholder{color:var(--t-dim)}
    .hg-nav-search-btn{background:var(--hggrad);color:#fff;border:none;border-radius:9px;padding:7px 15px;font-size:13px;font-weight:700;font-family:var(--font);cursor:pointer}
    .hg-nav-search svg{color:var(--t-dim);flex-shrink:0}
    .hg-burger{display:flex}
    /* 说明：移动端下拉不能做成挂在 backdrop-filter 顶栏内的 position:fixed
       （浏览器会以顶栏为 fixed 包含块，面板高度被压扁、只露出首项）。
       改为相对顶栏的 absolute 下拉，锚定在顶栏正下方。 */
    .hg-nav{
        position:absolute;top:100%;left:0;right:0;bottom:auto;z-index:80;
        background:rgba(8,12,22,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
        flex-direction:column;align-items:stretch;gap:2px;padding:18px 20px 40px;
        transform:translateY(-8px);opacity:0;pointer-events:none;
        /* visibility 会继承，后代无法用 pointer-events:auto 单独恢复交互，
           保证抽屉收起时不遮挡正文的点击 */
        visibility:hidden;transition:.25s,visibility .25s;
        max-height:calc(100vh - 62px);max-height:calc(100dvh - 62px);overflow-y:auto;
        border-top:1px solid rgba(99,102,241,.14);
        box-shadow:0 22px 46px rgba(0,0,0,.45);
    }
    .hg-nav.open{transform:none;opacity:1;pointer-events:auto;visibility:visible}
    .hg-nav>a{font-size:16px;padding:13px 14px;border-radius:12px;border:1px solid transparent}
    .hg-nav-hot{top:-1px;margin-left:8px;font-size:10px;animation:none}
    .hg-nav>a.active{background:rgba(99,102,241,.14);border-color:rgba(139,92,246,.35)}
    .hg-nav>a.active::after{display:none}
    /* 「更多」在抽屉内被展开成普通链接组，避免下拉套下拉 */
    .hg-nav-more{order:99}
    .hg-nav-more-btn{display:none}
    .hg-nav-more.open .hg-nav-more-btn{display:none}
    /* 抽屉打开时（hg-nav.open）无论 hg-nav-more 是否 open，菜单都展开成链接组。
       此处只改排布（static 铺开），可见性与可点击性统一交给 .hg-nav.open 控制，
       避免收起状态下的菜单仍然响应点击。 */
    .hg-nav-more-menu,
    .hg-nav-more-menu[hidden]{
        position:static;transform:none;
        background:none;border:none;box-shadow:none;padding:0;display:flex;flex-direction:column;gap:2px;
    }
    .hg-nav.open .hg-nav-more-menu{opacity:1;pointer-events:auto;visibility:visible}
    .hg-nav-more-menu::before{display:none}
    .hg-nav-more-menu a{font-size:14px;padding:10px 14px;color:var(--t-light)}
    .hg-nav-more-menu a.active{background:rgba(99,102,241,.14);color:#fff}
    .hg-nav-more-dot{display:none}
    .hg-hero-grid{grid-template-columns:1fr;gap:34px}
    .hg-hero{padding:44px 0 30px}
    .hg-tool-grid{grid-template-columns:repeat(2,1fr)}
    .hg-pick-grid{grid-template-columns:1fr;gap:16px}
    .hg-rank-grid{grid-template-columns:1fr}
    .hg-split{grid-template-columns:1fr}
    .hg-content-grid{grid-template-columns:repeat(2,1fr)}
    .hg-footer-grid{grid-template-columns:repeat(2,1fr)}
    .hg-fcol-brand{grid-column:1/-1}
}
/* 工具卡内部通用重排：图标与标签同行（第 1 行），标题/描述/链接横跨整行。
   用显式 grid-column/row 定位（不依赖具名 areas，避免解析差异）。
   首页 5 列、工具页 4 列 / 3 列均适用；free5 仅额外缩小字号适配窄卡 */
.hg-tool-grid .hg-tool-card{
    display:grid;grid-template-columns:auto 1fr;align-items:center;
    grid-template-rows:auto auto 1fr auto;column-gap:10px;row-gap:8px;
}
.hg-tool-grid .hg-tool-card .hg-tool-ico{grid-column:1;grid-row:1;width:26px;height:26px;border-radius:50%;justify-self:start;align-self:center}
.hg-tool-grid .hg-tool-card .hg-tool-ico svg{width:15px;height:15px}
.hg-tool-grid .hg-tool-card .hg-tool-tag{grid-column:2;grid-row:1;justify-self:start;align-self:center}
.hg-tool-grid .hg-tool-card h3{grid-column:1/-1;grid-row:2}
.hg-tool-grid .hg-tool-card p{grid-column:1/-1;grid-row:3}
.hg-tool-grid .hg-tool-card .hg-tool-link{grid-column:1/-1;grid-row:4}

/* 免费工具区 5 个入口：桌面端强制 5 列一行，容器总宽足够；
   通过压缩卡片内边距/字号保证 5 列不溢出 */
.hg-tool-grid.free5{grid-template-columns:repeat(5,1fr);gap:14px}
/* 卡片内部重排：图标与「免费 · xx」标签同一行，标题/描述/链接依次铺满 */
.hg-tool-grid.free5 .hg-tool-card{
    padding:18px;gap:10px;border-radius:18px;
    display:grid;grid-template-columns:auto 1fr;align-items:center;
    /* p 行用 1fr 吸收卡片拉伸产生的多余高度：
       否则 align-content 会把剩余空间均分给各行，文字少的卡（如第 5 张）
       图标行会被推低，5 张卡的图标不在同一水平线 */
    grid-template-rows:auto auto 1fr auto;
    grid-template-areas:"ico tag" "h3 h3" "p p" "link link";
    column-gap:10px;row-gap:8px;
}
/* 图标缩到与右侧胶囊标签同量级（22px 圆形 : 18px 胶囊），避免一大一小显得突兀 */
.hg-tool-grid.free5 .hg-tool-ico{grid-area:ico;width:22px;height:22px;border-radius:50%}
.hg-tool-grid.free5 .hg-tool-ico svg{width:13px;height:13px}
/* grid 子项默认 justify-self:stretch，会把胶囊拉满整行留下大片空白底；
   显式 start 让其按文字长度收缩 */
/* grid 子项默认 justify-self:stretch，会把胶囊拉满整行留下大片空白底；
   显式 start 让其按文字长度收缩。
   基础样式的 align-self:flex-start 原为 flex 布局的水平控制，在 grid 中
   变成「贴行顶」，会与居中的图标错位，这里显式改回居中。 */
.hg-tool-grid.free5 .hg-tool-tag{grid-area:tag;justify-self:start;align-self:center;font-size:10px;padding:2px 8px;line-height:1.5}
/* hover 不再做位移：鼠标扫过时卡片上下跳动，多张并排时会出现「不在一条线上」的观感 */
.hg-tool-card:hover{transform:none}
.hg-tool-grid.free5 .hg-tool-card h3{grid-area:h3;font-size:14.5px}
.hg-tool-grid.free5 .hg-tool-card p{grid-area:p;font-size:12.5px;line-height:1.65}
.hg-tool-grid.free5 .hg-tool-link{grid-area:link;font-size:13px;margin-top:0}
@media (max-width:1200px){.hg-tool-grid.free5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1024px){.hg-tool-grid.free5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
    .hg-btn-need{display:none}
    .hg-login{font-size:13px}
    .hg-tool-grid{grid-template-columns:1fr}
    .hg-tool-grid.free5{grid-template-columns:1fr}
    .hg-content-grid{grid-template-columns:1fr}
    .rep-grid{grid-template-columns:1fr}
    .intent-cols{grid-template-columns:1fr}
    .hg-case-flow{grid-template-columns:1fr}
    .hg-case-arrow{display:none}
    .unlock-grid{grid-template-columns:1fr}
    .hg-banner{padding:28px 22px}
    .hg-article-card{padding:24px 18px}
    .hg-toolform{padding:22px 16px}
    .hg-dem-item{padding:16px}
    .hg-form-card{padding:24px 18px}
    .hg-brand-txt b{font-size:16px}
    .hg-user-name,.hg-logout{display:none}
    .hg-footer-bottom .container{justify-content:center;text-align:center}
}

/* ==================== 登录 / 注册 验证码 ==================== */
.hg-captcha-row{display:flex;gap:10px;align-items:stretch}
.hg-captcha-input{flex:1;min-width:0}
.hg-captcha-img{flex:0 0 132px;width:132px;height:48px;border:1px solid var(--line2,#2b3348);border-radius:10px;cursor:pointer;background:#0e1424;object-fit:cover;transition:opacity .2s}
.hg-captcha-img:hover{opacity:.85}
.hg-captcha-math{flex:0 0 132px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line2,#2b3348);border-radius:10px;font-size:20px;font-weight:700;letter-spacing:3px;color:var(--t-light);background:rgba(99,102,241,.08)}
@media (max-width:420px){
    .hg-captcha-row{flex-wrap:wrap}
    .hg-captcha-img,.hg-captcha-math{flex-basis:100%;width:100%;height:44px}
}

/* ============================ 引用检测 · 综合分析仪表盘 ============================ */
.cit-tabs{display:flex;gap:8px;justify-content:center;margin:22px 0 16px}
.cit-tab{
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:999px;
    padding:9px 22px;color:var(--t-light);font-size:14px;font-weight:600;cursor:pointer;transition:.2s;
}
.cit-tab:hover{background:rgba(255,255,255,.08);color:#fff}
.cit-tab.active{background:var(--hggrad);border-color:transparent;color:#fff;box-shadow:0 8px 24px rgba(99,102,241,.35)}
.cit-panel{display:none;animation:citFade .35s ease}
.cit-panel.active{display:block}
@keyframes citFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* 综合分析头部 */
.cit-overview-head{
    background:linear-gradient(165deg,rgba(21,28,47,.95),rgba(13,18,33,.96));
    border:1px solid rgba(139,92,246,.26);border-radius:22px;padding:22px 24px;
    display:flex;gap:28px;align-items:center;flex-wrap:wrap;
}
.cit-brand-block{min-width:140px}
.cit-brand-name{font-size:20px;font-weight:900;color:#fff}
.cit-brand-sub{font-size:12.5px;color:var(--t-dim);margin-top:6px;display:flex;align-items:center;gap:8px}
.cit-grade{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;font-size:13px;font-weight:900;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}
.cit-grade.gB{background:linear-gradient(135deg,#22d3ee,#06b6d4)}
.cit-grade.gC{background:linear-gradient(135deg,#fbbf24,#f59e0b)}
.cit-grade.gD{background:linear-gradient(135deg,#f87171,#ef4444)}
.cit-metrics{display:flex;flex:1;gap:18px;flex-wrap:wrap;justify-content:space-between}
.cit-metric{text-align:center;min-width:90px}
.cit-metric-val{font-size:22px;font-weight:900;color:#fff;line-height:1.1}
.cit-metric-label{font-size:11.5px;color:var(--t-dim);margin-top:7px}

/* AI 平台标签 */
.cit-platforms{display:flex;align-items:center;gap:10px;margin:16px 0;flex-wrap:wrap}
.cit-plat-label{font-size:13px;color:var(--t-dim);font-weight:600;display:flex;align-items:center;gap:5px}
.cit-plat-label::before{content:"";width:6px;height:6px;border-radius:50%;background:#34d399}
.cit-plat-tag{
    display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 13px;
    font-size:12.5px;font-weight:700;color:#fff;position:relative;overflow:hidden;
}
.cit-plat-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pc,#6366f1)}

/* 图表卡片 */
.cit-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.cit-chart-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px}
.cit-chart-card h4{font-size:15.5px;font-weight:800;color:var(--t-bright);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.cit-chart-card h4::before{content:"";width:4px;height:16px;border-radius:2px;background:var(--hggrad)}
.cit-chart-desc{font-size:12.5px;color:var(--t-dim);margin:-6px 0 16px}

/* 柱状趋势图 */
.cit-bar-chart{display:flex;align-items:flex-end;gap:14px;height:140px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.cit-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.cit-bar-stack{width:28px;border-radius:6px 6px 2px 2px;overflow:hidden;display:flex;flex-direction:column-reverse;transition:height .8s ease;min-height:4px;background:rgba(255,255,255,.05)}
.cit-bar-stack span{display:block;width:100%}
.cit-bar-date{font-size:11px;color:var(--t-dim)}
.cit-chart-leg{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap}
.cit-chart-leg span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--t-light)}
.cit-chart-leg i{width:10px;height:10px;border-radius:2px}

/* 水平条图 */
.cit-hbar-list{display:flex;flex-direction:column;gap:12px}
.cit-hbar{display:flex;align-items:center;gap:12px}
.cit-hbar-label{width:92px;font-size:12.5px;color:var(--t-light);flex-shrink:0;text-align:right}
.cit-hbar-track{flex:1;height:10px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}
.cit-hbar-track i{display:block;height:100%;border-radius:99px;transition:width .8s ease}
.cit-hbar-val{width:42px;font-size:12px;font-weight:800;color:#fff;text-align:right;flex-shrink:0}

/* 垂直条图 */
.cit-vbar-chart{display:flex;align-items:flex-end;justify-content:center;gap:36px;height:180px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.cit-vbar-item{display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.cit-vbar-track{width:36px;height:100%;background:rgba(255,255,255,.05);border-radius:6px 6px 2px 2px;position:relative;overflow:hidden}
.cit-vbar-track i{position:absolute;bottom:0;left:0;right:0;border-radius:6px 6px 2px 2px;transition:height .8s ease}
.cit-vbar-val{font-size:13px;font-weight:800;color:#fff}
.cit-vbar-label{font-size:11.5px;color:var(--t-dim);text-align:center;max-width:80px}

/* AI 对话结果布局 */
.cit-dialogue-layout{display:grid;grid-template-columns:180px 1fr;gap:18px;background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;min-height:520px}
.cit-platform-sidebar{background:rgba(255,255,255,.025);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:6px}
.cit-plat-side-title{font-size:12.5px;color:var(--t-dim);font-weight:700;margin-bottom:8px;padding-left:8px}
.cit-plat-side{
    display:flex;align-items:center;gap:10px;width:100%;text-align:left;
    background:transparent;border:none;border-radius:10px;padding:9px 10px;
    color:var(--t-light);font-size:13.5px;font-weight:600;cursor:pointer;transition:.18s;
}
.cit-plat-side:hover{background:rgba(255,255,255,.05);color:#fff}
.cit-plat-side.active{background:rgba(99,102,241,.18);color:#fff}
.cit-plat-dot{width:8px;height:8px;border-radius:50%}
.cit-dialogue-main{padding:20px;display:flex;flex-direction:column;gap:16px}
.cit-dialogue-tabs{display:flex;gap:8px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px}
.cit-dlg-tab{
    background:transparent;border:none;color:var(--t-dim);font-size:13.5px;font-weight:700;padding:6px 12px;border-radius:8px;cursor:pointer;transition:.18s;
}
.cit-dlg-tab:hover{color:#fff;background:rgba(255,255,255,.05)}
.cit-dlg-tab.active{color:#fff;background:var(--hggrad)}

/* 对话详情 */
.cit-dialogue-detail{flex:1;overflow:auto}
.cit-dlg-pane{animation:citFade .3s ease}
.cit-dlg-head{
    display:flex;gap:20px;align-items:center;flex-wrap:wrap;
    background:linear-gradient(165deg,rgba(21,28,47,.95),rgba(13,18,33,.96));
    border:1px solid rgba(139,92,246,.2);border-radius:16px;padding:16px 20px;
}
.cit-dlg-brand{font-size:18px;font-weight:900;color:#fff;min-width:120px}
.cit-dlg-metrics{display:flex;flex:1;gap:14px;flex-wrap:wrap;justify-content:space-between}
.cit-dlg-metrics div{display:flex;flex-direction:column;gap:4px;min-width:70px}
.cit-dlg-metrics span{font-size:11px;color:var(--t-dim)}
.cit-dlg-metrics b{font-size:13px;font-weight:800;color:#fff}
.cit-dlg-section{margin-top:18px}
.cit-dlg-section h4{font-size:14.5px;font-weight:800;color:var(--t-bright);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.cit-dlg-section h4::before{content:"";width:4px;height:14px;border-radius:2px;background:var(--hggrad)}

/* 竞争品牌 */
.cit-competitors{display:flex;flex-wrap:wrap;gap:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px}
.cit-comp-tag{
    display:inline-flex;align-items:center;background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:6px 13px;
    font-size:12.5px;color:var(--t-light);font-weight:600;
}
.cit-comp-tag.visible{background:rgba(99,102,241,.16);border-color:rgba(99,102,241,.4);color:#fff}

/* 对话原文 */
.cit-dlg-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cit-dlg-bubble{display:flex;gap:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px}
.cit-dlg-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:900;flex-shrink:0}
.cit-dlg-content{flex:1}
.cit-dlg-name{font-size:13px;font-weight:800;color:#fff;margin-bottom:6px}
.cit-dlg-query{
    display:inline-block;background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.3);
    color:var(--t-light);padding:8px 12px;border-radius:12px 12px 12px 2px;font-size:13px;margin-bottom:10px;
}
.cit-dlg-answer{color:var(--t-light);font-size:13px;line-height:1.8}

/* 信息溯源表 */
.cit-source-table{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}
.cit-source-head,.cit-source-row{display:grid;grid-template-columns:46px 100px 1fr;align-items:center;gap:10px;padding:10px 14px;font-size:12.5px}
.cit-source-head{background:rgba(255,255,255,.04);color:var(--t-dim);font-weight:700}
.cit-source-row{border-top:1px solid rgba(255,255,255,.05);color:var(--t-light)}
.cit-source-site{color:#fff;font-weight:600}
.cit-source-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--t-dim)}

/* 响应式 */
@media (max-width:980px){
    .cit-charts-grid{grid-template-columns:1fr}
    .cit-overview-head{flex-direction:column;align-items:flex-start}
    .cit-metrics{width:100%;justify-content:flex-start}
    .cit-dialogue-layout{grid-template-columns:1fr}
    .cit-platform-sidebar{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--line)}
    .cit-dlg-columns{grid-template-columns:1fr}
}
@media (max-width:640px){
    .cit-metrics{gap:12px}
    .cit-metric{min-width:70px}
    .cit-metric-val{font-size:17px}
    .cit-dlg-head{flex-direction:column;align-items:flex-start}
    .cit-dlg-metrics{width:100%}
    .cit-source-head,.cit-source-row{grid-template-columns:34px 70px 1fr;font-size:11.5px;padding:8px 10px}
}

/* ============================ 关于我们独立页 Hero ============================ */
.hg-about-hero{
    position:relative;overflow:hidden;text-align:center;
    padding:96px 0 64px;
    background:
        radial-gradient(900px 420px at 50% -10%,rgba(139,92,246,.20),transparent 60%),
        radial-gradient(700px 360px at 85% 10%,rgba(34,211,238,.14),transparent 60%);
}
.hg-about-hero .hg-hero-badge{
    display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;
    padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:600;
    color:var(--t-bright);border:1px solid rgba(139,92,246,.34);
    background:rgba(139,92,246,.10);
}
.hg-about-hero .hg-hero-badge .dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.18)}
.hg-about-hero h1{
    font-size:clamp(30px,5vw,46px);font-weight:800;line-height:1.18;letter-spacing:-.5px;
    /* 不再用白系渐变字：浅色主题下白字配浅底会隐形，统一走主题文字变量 */
    color:var(--t-bright);margin:0 0 14px;
}
.hg-about-hero-sub{max-width:720px;margin:0 auto;color:var(--t-light);font-size:16px;line-height:1.85}
.hg-about-hero-stats{
    display:flex;flex-wrap:wrap;justify-content:center;gap:14px 46px;margin-top:34px;
}
.hg-ah-stat{display:flex;flex-direction:column;align-items:center;gap:4px}
.hg-ah-stat b{font-size:30px;font-weight:800;color:var(--t-bright);line-height:1}
.hg-ah-stat span{font-size:13px;color:var(--t-mid)}
@media (max-width:640px){
    .hg-about-hero{padding:72px 0 44px}
    .hg-about-hero-stats{gap:14px 26px}
    .hg-ah-stat b{font-size:24px}
}

/* ============================ 长文正文（母公司简介 / 独立介绍页） ============================ */
.hg-prose{
    max-width:820px;margin:0 auto;
    background:var(--card);border:1px solid var(--line);border-radius:22px;
    padding:40px 44px;
}
.hg-prose > h2{
    font-size:21px;font-weight:800;color:var(--t-bright);
    margin:34px 0 14px;padding-left:13px;position:relative;line-height:1.4;
}
.hg-prose > h2::before{
    content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:3px;
    background:var(--hggrad);
}
.hg-prose > h2:first-child{margin-top:0}
.hg-prose > h3{
    font-size:17px;font-weight:700;color:var(--t-bright);
    margin:24px 0 10px;
}
.hg-prose > p{
    color:var(--t-light);font-size:15px;line-height:2.05;margin:0 0 16px;
}
.hg-prose > p:last-child{margin-bottom:0}
.hg-prose strong{color:var(--t-bright);font-weight:700}
@media (max-width:640px){
    .hg-prose{padding:26px 20px;border-radius:16px}
    .hg-prose > p{font-size:14.5px;line-height:1.95}
    .hg-prose > h2{font-size:19px}
}

/* ============================ 母公司简介页（company.php）放大版视觉 ============================ */
/* Hero：更大留白 + 缓慢流光背景，凸显“大气” */
.hg-company-hero{padding:128px 0 84px}
.hg-company-hero::before{
    content:"";position:absolute;inset:0;
    background:
        radial-gradient(620px 300px at 18% 8%,rgba(124,58,237,.20),transparent 60%),
        radial-gradient(560px 280px at 84% 16%,rgba(34,211,238,.16),transparent 60%);
    -webkit-mask-image:linear-gradient(180deg,#000,transparent 92%);
    mask-image:linear-gradient(180deg,#000,transparent 92%);
    pointer-events:none;
}
.hg-company-hero .container{position:relative}
.hg-company-hero h1{font-size:clamp(34px,6vw,56px);margin-bottom:18px}
.hg-company-hero-sub{font-size:17px;max-width:760px}

/* 关键数据条 */
.hg-company-stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:920px;margin:48px auto 0;
}
.hg-cstat{
    background:var(--card);border:1px solid var(--line);
    border-radius:16px;padding:22px 16px;text-align:center;position:relative;overflow:hidden;
    transition:.22s;
}
.hg-cstat::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--hggrad);opacity:.0;transition:.25s}
.hg-cstat:hover{border-color:var(--line2);transform:translateY(-3px)}
.hg-cstat:hover::after{opacity:1}
.hg-cstat b{display:block;font-size:clamp(24px,3.4vw,30px);font-weight:800;color:var(--t-bright);line-height:1.05;letter-spacing:.5px}
.hg-cstat span{display:block;margin-top:8px;font-size:12.5px;color:var(--t-mid)}

/* 公司概览：正文 + 档案卡 两栏 */
.hg-prose-wide{max-width:none;margin:0}
.hg-company-cols{display:grid;grid-template-columns:1.7fr .92fr;gap:32px;align-items:start}
.hg-company-facts{
    position:sticky;top:88px;
    background:linear-gradient(165deg,rgba(21,28,47,.96),rgba(13,18,33,.97));
    border:1px solid rgba(139,92,246,.26);border-radius:20px;padding:24px 24px 22px;
    overflow:hidden;
}
.hg-company-facts::after{content:"";position:absolute;top:-60px;right:-60px;width:180px;height:180px;background:radial-gradient(circle,rgba(139,92,246,.22),transparent 70%);filter:blur(16px)}
.hg-cf-t{display:block;font-size:11px;font-weight:800;letter-spacing:3px;color:var(--t-mid);position:relative;margin-bottom:6px}
.hg-cf-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px dashed rgba(255,255,255,.09);position:relative}
.hg-cf-k{flex:0 0 auto;color:var(--t-mid);font-size:13px}
.hg-cf-v{flex:1;text-align:right;color:var(--t-bright);font-size:13.5px;font-weight:600;line-height:1.5}
.hg-cf-link{display:inline-block;margin-top:16px;color:#c4b5fd;font-size:13.5px;font-weight:600;position:relative}
.hg-cf-link:hover{color:#fff}

@media (max-width:992px){
    .hg-company-cols{grid-template-columns:1fr;gap:22px}
    .hg-company-facts{position:static}
}
@media (max-width:640px){
    .hg-company-hero{padding:88px 0 56px}
    .hg-company-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:34px}
    .hg-cstat{padding:18px 12px}
}

/* ============================ 首页「关于 HelpGeo」（#about） ============================ */
.hg-about-cols{display:grid;grid-template-columns:1.55fr .9fr;gap:28px;align-items:stretch}
.hg-about-text p{color:var(--t-light);font-size:15px;line-height:2.05;margin-bottom:18px}
.hg-about-text p:last-child{margin-bottom:0}
.hg-about-aside{
    background:linear-gradient(165deg,rgba(21,28,47,.95),rgba(13,18,33,.96));
    border:1px solid rgba(139,92,246,.26);border-radius:22px;
    padding:26px 26px 24px;position:relative;overflow:hidden;
}
.hg-about-aside::after{content:"";position:absolute;top:-70px;right:-70px;width:210px;height:210px;background:radial-gradient(circle,rgba(139,92,246,.22),transparent 70%);filter:blur(18px)}
.hg-about-aside-t{font-size:11px;font-weight:800;letter-spacing:3px;color:var(--t-mid);position:relative}
.hg-about-aside h3{font-size:21px;font-weight:800;color:#fff;margin:10px 0 2px;position:relative}
.hg-about-ticks{list-style:none;margin:16px 0 0;display:flex;flex-direction:column;gap:13px;position:relative}
.hg-about-ticks li{display:flex;gap:10px;align-items:flex-start;color:var(--t-bright);font-size:13.5px;line-height:1.75}
.hg-about-ticks .hg-about-ic{
    flex:0 0 18px;width:18px;height:18px;border-radius:50%;margin-top:3px;
    background:rgba(52,211,153,.13);border:1px solid rgba(52,211,153,.45);
    display:inline-flex;align-items:center;justify-content:center;
}
.hg-about-ticks .hg-about-ic::after{content:"";width:8px;height:4px;border-left:2px solid #34d399;border-bottom:2px solid #34d399;transform:rotate(-45deg) translateY(-1px)}
.hg-about-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.hg-about-card{
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:22px 20px;transition:.22s;position:relative;overflow:hidden;
}
.hg-about-card::before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:var(--hggrad);opacity:0;transition:.25s}
.hg-about-card:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.42);box-shadow:0 16px 38px rgba(0,0,0,.32)}
.hg-about-card:hover::before{opacity:1}
.hg-about-card h4{font-size:15.5px;font-weight:700;color:var(--t-bright);margin-bottom:9px}
.hg-about-card p{font-size:13px;color:var(--t-mid);line-height:1.85}
@media (max-width:992px){
    .hg-about-cols{grid-template-columns:1fr;gap:20px}
    .hg-about-cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
    .hg-about-cards{grid-template-columns:1fr}
    .hg-about-aside{padding:22px 18px}
}
/* ==================== V2.0 椤圭洰鍒囨崲鍣?==================== */
.hg-user-v2{gap:6px;position:relative}
.hg-proj-select{position:relative}
.hg-proj-btn{
    display:inline-flex;align-items:center;gap:6px;
    background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.28);
    color:#d1fae5;border-radius:999px;padding:6px 12px;font-size:12.5px;
    font-weight:600;cursor:pointer;transition:.18s;max-width:160px;
    font-family:var(--font);
}
.hg-proj-btn:hover{background:rgba(52,211,153,.18);border-color:rgba(52,211,153,.5)}
.hg-proj-btn svg:first-child{flex-shrink:0;color:var(--t-ok)}
.hg-proj-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hg-proj-arrow{transition:.2s;flex-shrink:0}
.hg-proj-select.open .hg-proj-arrow{transform:rotate(180deg)}
.hg-proj-menu{
    position:absolute;top:calc(100% + 8px);right:0;min-width:280px;max-width:340px;
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    box-shadow:0 18px 48px rgba(0,0,0,.45);padding:8px;z-index:99;
}
.hg-proj-menu-hd{font-size:11px;color:var(--t-dim);padding:6px 10px;font-weight:700;letter-spacing:1px}
.hg-proj-item{display:flex;flex-direction:column;padding:9px 10px;border-radius:10px;cursor:pointer;transition:.15s;gap:2px;text-decoration:none}
.hg-proj-item:hover{background:rgba(99,102,241,.1)}
.hg-proj-item.active{background:rgba(52,211,153,.12);border-left:2px solid #34d399}
.hg-proj-item b{font-size:13.5px;color:var(--t-bright);font-weight:700}
.hg-proj-item i{font-style:normal;font-size:11.5px;color:var(--t-dim)}
.hg-proj-menu-ft{display:flex;gap:8px;padding:8px 6px 4px;border-top:1px dashed var(--line);margin-top:4px}
.hg-proj-menu-ft a{flex:1;text-align:center;font-size:12px;color:var(--t-dim);padding:6px;border-radius:8px;transition:.15s}
.hg-proj-menu-ft a:hover{background:rgba(99,102,241,.1);color:var(--t-light)}
.hg-user-badge{
    display:inline-block;align-self:center;white-space:nowrap;text-decoration:none;
    font-size:10px;color:var(--t-warn);font-weight:700;background:rgba(251,191,36,.12);
    padding:2px 7px;border-radius:6px;border:1px solid rgba(251,191,36,.25);margin-left:2px;
    letter-spacing:.5px;transition:.2s;
}
.hg-user-badge:hover{background:rgba(255,255,255,.14);text-decoration:none}
.hg-user-badge[data-type="pro"]   {color:var(--t-ok);background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.3)}
.hg-user-badge[data-type="agency"]{color:#8b5cf6;background:rgba(139,92,246,.12);border-color:rgba(139,92,246,.3)}
.hg-user-badge[data-type="guest"]  {display:none}

/* ==================== V2.1 顶栏三入口合一：账号 + 项目 + 会员 ====================
   原顶栏并排「项目切换 + 用户芯片 + 会员徽章 + 退出」4 个元素，拥挤；
   合并为一个用户按钮（头像 + 名字 + 等级徽章 + 箭头），点开下拉收纳
   主控台 / 会员权益 / 项目切换 / 退出。下拉复用 .hg-proj-menu（var 变量，自动适配主题）。 */
.hg-user-btn{
    display:inline-flex;align-items:center;gap:7px;
    background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.3);
    border-radius:999px;padding:4px 12px 4px 4px;
    font-family:var(--font);cursor:pointer;transition:.18s;max-width:240px;
}
.hg-user-btn:hover{border-color:rgba(99,102,241,.6)}
.hg-user-btn .hg-user-name{max-width:86px}
.hg-user-btn .hg-user-badge{cursor:default;flex-shrink:0}
.hg-user-btn .hg-proj-arrow{flex-shrink:0;color:var(--t-dim)}
.hg-user-btn:hover .hg-proj-arrow{color:var(--t-light)}
.hg-proj-menu .hg-proj-menu-ft .hg-logout-item{color:var(--t-bad)!important}
.hg-proj-menu .hg-proj-menu-ft .hg-logout-item:hover{background:rgba(248,113,113,.12);color:var(--t-bad)}

/* ==================== V3.4 用户中心：高端个人中心 ====================
   深色渐变 Hero 顶卡（文字写死浅色，任意主题下观感一致）+
   横向胶囊导航（替代原左侧栏）+ 总览全功能导航网格。 */
.hg-uc-hero{
    position:relative;overflow:hidden;border-radius:20px;margin:18px 0 14px;
    padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;
    background:linear-gradient(120deg,#101a32 0%,#16224a 55%,#1c1f3e 100%);
    color:#f0f3fa;box-shadow:0 18px 44px rgba(19,28,51,.18);
}
.hg-uc-hero::before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;
    right:-150px;top:-230px;background:radial-gradient(closest-side,rgba(99,102,241,.42),transparent);pointer-events:none}
.hg-uc-hero::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;
    left:-130px;bottom:-200px;background:radial-gradient(closest-side,rgba(34,211,238,.22),transparent);pointer-events:none}
.hg-uc-hero-main{display:flex;gap:16px;align-items:center;position:relative;z-index:1;min-width:240px}
.hg-uc-ava{
    width:58px;height:58px;border-radius:18px;background:var(--hggrad);color:#fff;
    font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;
    box-shadow:0 10px 26px rgba(99,102,241,.42);
}
.hg-uc-name{font-size:19px;font-weight:800;color:#fff;display:flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.3}
.hg-uc-badge{
    font-size:11px;font-weight:700;letter-spacing:.5px;color:#e3e8f4;
    border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:2.5px 10px;
}
.hg-uc-sub{font-size:12.5px;color:#aab4d4;margin-top:6px}
.hg-uc-sub a{color:#c7d2fe;text-decoration:none;font-weight:600}
.hg-uc-sub a:hover{color:#fff}
.hg-uc-hero-stats{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.hg-uc-stat{
    min-width:112px;padding:12px 16px;border-radius:14px;text-decoration:none;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);transition:.18s;
}
.hg-uc-stat:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}
.hg-uc-stat b{display:block;font-size:19px;font-weight:800;color:#fff;line-height:1.25}
.hg-uc-stat b span{font-size:13px}
.hg-uc-stat i{display:block;font-style:normal;font-size:11.5px;color:#aab4d4;margin-top:3px}

.hg-uc-tabs{
    /* 吸顶：滚动时标签条固定在顶栏（.hg-top 高 64px）正下方，方便长页面随时切换板块 */
    position:sticky;top:64px;z-index:80;
    display:flex;gap:6px;align-items:center;overflow-x:auto;padding:2px 2px 10px;margin-bottom:8px;
    scrollbar-width:none;
    /* 吸顶后自带底色 + 毛玻璃，避免正文从标签条缝隙透出。
       底色取主题 --bg（半透明）：深色/浅色主题下都与页面背景自然衔接，不再突兀 */
    background:var(--bg);
    background:color-mix(in srgb, var(--bg) 86%, transparent);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
@media (max-width:1120px){.hg-uc-tabs{top:60px}}
.hg-uc-tabs::-webkit-scrollbar{display:none}
.hg-uc-tab{
    display:inline-flex;align-items:center;gap:7px;flex:none;
    padding:9px 16px;border-radius:999px;text-decoration:none;white-space:nowrap;
    font-size:13.5px;font-weight:600;color:var(--t-mid);
    background:var(--panel);border:1px solid var(--line);transition:.18s;
}
.hg-uc-tab:hover{color:var(--t-bright);border-color:rgba(99,102,241,.42)}
.hg-uc-tab.active{
    color:#fff;background:var(--hggrad);border-color:transparent;
    box-shadow:0 6px 16px rgba(99,102,241,.32);
}
.hg-uc-tab .cnt{font-size:11px;font-weight:600;padding:1.5px 8px;border-radius:999px;background:rgba(99,102,241,.13);color:var(--t-light)}
.hg-uc-tab .cnt.hot{background:rgba(248,113,113,.16);color:var(--t-bad)}
.hg-uc-tab.active .cnt{background:rgba(255,255,255,.24);color:#fff}
.hg-uc-spacer{flex:1;min-width:0}
.hg-uc-exit{color:var(--t-bad)!important;border-color:rgba(248,113,113,.3)!important}
.hg-uc-exit:hover{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.5)!important}

/* 总览：全功能导航网格 */
.hg-uc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:12px;margin-bottom:16px}
.hg-uc-card{
    position:relative;display:flex;gap:12px;align-items:flex-start;padding:17px 16px;
    border-radius:16px;background:var(--panel);border:1px solid var(--line);
    text-decoration:none;transition:.2s;overflow:hidden;
}
.hg-uc-card::after{content:"";position:absolute;inset:auto -30px -40px auto;width:110px;height:110px;border-radius:50%;
    background:radial-gradient(closest-side,rgba(99,102,241,.1),transparent);opacity:0;transition:.25s;pointer-events:none}
.hg-uc-card:hover{transform:translateY(-3px);border-color:rgba(99,102,241,.45);box-shadow:0 14px 32px rgba(19,28,51,.1)}
.hg-uc-card:hover::after{opacity:1}
.hg-uc-card .ico{
    width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hg-uc-card .ico.c1{background:rgba(99,102,241,.12);color:#818cf8}
.hg-uc-card .ico.c2{background:rgba(34,211,238,.12);color:var(--t-cyan)}
.hg-uc-card .ico.c3{background:rgba(52,211,153,.12);color:var(--t-ok)}
.hg-uc-card .ico.c4{background:rgba(251,191,36,.14);color:var(--t-warn)}
.hg-uc-card .ico.c5{background:rgba(244,114,182,.12);color:var(--t-pink)}
.hg-uc-card .ico.c6{background:rgba(96,165,250,.14);color:#60a5fa}
.hg-uc-card .ico.c7{background:rgba(148,163,184,.14);color:var(--t-mid)}
.hg-uc-card .ico.c8{background:rgba(251,146,60,.14);color:#fb923c}
.hg-uc-card .tx{flex:1;min-width:0}
.hg-uc-card h4{
    margin:0 0 4px;font-size:14.5px;font-weight:800;color:var(--t-bright);
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.hg-uc-card p{margin:0;font-size:12px;color:var(--t-dim);line-height:1.65}
.hg-uc-card .pill{
    font-size:10.5px;font-weight:700;color:var(--t-light);background:rgba(99,102,241,.1);
    border:1px solid rgba(99,102,241,.22);border-radius:999px;padding:1.5px 8px;
}
.hg-uc-card .pill.ok{color:var(--t-ok);background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.28)}
.hg-uc-card .pill.warn{color:var(--t-bad);background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.3)}

@media (max-width:760px){
    .hg-uc-hero{padding:20px 18px}
    .hg-uc-hero-stats{width:100%}
    .hg-uc-stat{flex:1;min-width:calc(50% - 5px)}
    .hg-uc-grid{grid-template-columns:1fr 1fr}
    .hg-uc-card p{display:none}
    .hg-uc-card h4{font-size:13.5px}
}
@media (max-width:480px){
    .hg-uc-grid{grid-template-columns:1fr}
}

/* ==================== V2.0 涓汉涓績 / 椤圭洰绠＄悊 ==================== */
.hg-mydash{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start;margin-top:20px}
.hg-mydash-aside{
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:18px 16px;position:sticky;top:80px;
}
.hg-mydash-user{display:flex;gap:12px;align-items:center;margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed var(--line)}
.hg-mydash-ava{
    width:46px;height:46px;border-radius:50%;background:var(--hggrad);color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;
}
.hg-mydash-name{font-weight:800;color:var(--t-bright);font-size:15px}
.hg-mydash-meta{font-size:11.5px;color:var(--t-dim);margin-top:3px;display:flex;align-items:center;gap:6px}
.hg-mydash-nav{display:flex;flex-direction:column;gap:3px}
.hg-mydash-nav a{
    font-size:13.5px;color:var(--t-light);padding:9px 12px;border-radius:10px;
    transition:.15s;display:flex;align-items:center;justify-content:space-between;
}
.hg-mydash-nav a:hover{background:rgba(99,102,241,.1);color:#fff}
.hg-mydash-nav a.active{background:var(--hggrad);color:#fff;font-weight:700}
.hg-mydash-nav a .cnt{font-size:11px;background:rgba(255,255,255,.16);padding:2px 8px;border-radius:6px}
.hg-mydash-nav a.active .cnt{background:rgba(255,255,255,.25)}

.hg-mydash-main{
    background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 24px;
}
.hg-mydash-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:12px}
.hg-mydash-title{font-size:18px;font-weight:800;color:var(--t-bright)}
.hg-mydash-sub{font-size:13px;color:var(--t-dim);margin-top:2px}

.hg-proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.hg-proj-card{
    background:linear-gradient(160deg,rgba(99,102,241,.08),rgba(139,92,246,.04));
    border:1px solid var(--line);border-radius:16px;padding:18px;
    display:flex;flex-direction:column;gap:10px;transition:.2s;
    position:relative;overflow:hidden;
}
.hg-proj-card:hover{border-color:rgba(99,102,241,.5);transform:translateY(-2px);box-shadow:0 14px 32px rgba(99,102,241,.18)}
.hg-proj-card.cur{border-color:var(--t-ok);box-shadow:0 12px 28px rgba(52,211,153,.18)}
.hg-proj-card.cur::after{content:"褰撳墠";position:absolute;top:14px;right:14px;font-size:10.5px;color:var(--t-ok);background:rgba(52,211,153,.12);padding:3px 9px;border-radius:6px;font-weight:700;letter-spacing:1px}
.hg-proj-card.archived{opacity:.6}
.hg-proj-card .brand{font-size:18px;font-weight:800;color:var(--t-bright);line-height:1.3}
.hg-proj-card .card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:24px}
.hg-proj-card .tags{display:flex;flex-wrap:wrap;gap:6px}
.hg-proj-card .badge-public{font-size:11px;font-weight:600;color:var(--t-ok);background:rgba(52,211,153,.14);border:1px solid rgba(52,211,153,.3);border-radius:6px;padding:3px 8px;white-space:nowrap;flex-shrink:0}
.hg-proj-card .domain{font-size:12px;color:var(--t-dim);display:flex;align-items:center;gap:5px}
.hg-proj-card .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.hg-proj-card .tag{font-size:11px;color:var(--t-light);background:rgba(99,102,241,.12);padding:3px 9px;border-radius:6px;border:1px solid rgba(99,102,241,.25)}
.hg-proj-card .desc{font-size:12.5px;color:var(--t-mid);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}
.hg-proj-card .stats{display:flex;gap:14px;padding-top:10px;border-top:1px dashed var(--line);font-size:11.5px;color:var(--t-dim)}
.hg-proj-card .stats b{font-size:14px;color:var(--t-bright);display:block;font-weight:800}
.hg-proj-card .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.hg-proj-card .acts a{flex:1;text-align:center;font-size:12px;padding:7px 8px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--t-light);transition:.15s;text-decoration:none;min-width:56px}
.hg-proj-card .acts a:hover{background:rgba(99,102,241,.16);color:#fff}
.hg-proj-card .acts a.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;font-weight:700;flex:2;box-shadow:0 4px 12px rgba(99,102,241,.25)}
.hg-proj-card .acts a.primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 16px rgba(99,102,241,.35)}
.hg-proj-card .acts a.danger{color:var(--t-bad)}
.hg-proj-card .acts a.danger:hover{background:rgba(248,113,113,.16);border-color:rgba(248,113,113,.4)}

.hg-proj-empty{padding:46px 18px;text-align:center;color:var(--t-dim)}
.hg-proj-empty h3{color:var(--t-bright);font-size:16px;margin-bottom:6px}

@media (max-width:880px){
    .hg-mydash{grid-template-columns:1fr}
    .hg-mydash-aside{position:static}
}

/* ==================== V2.0 鍝佺墝浜嬪疄鐭ヨ瘑搴?==================== */
.kb-layout{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start;margin-top:18px}
.kb-side{
    background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;
}
.kb-side-hd{font-size:12px;font-weight:800;color:var(--t-dim);letter-spacing:1px;margin-bottom:10px}
.kb-cat{display:flex;flex-direction:column;gap:2px}
.kb-cat a{
    font-size:13px;color:var(--t-light);padding:8px 12px;border-radius:9px;
    display:flex;justify-content:space-between;align-items:center;transition:.15s;
}
.kb-cat a:hover{background:rgba(99,102,241,.1)}
.kb-cat a.active{background:var(--hggrad);color:#fff;font-weight:700}
.kb-cat a .num{font-size:10.5px;background:rgba(255,255,255,.16);padding:2px 7px;border-radius:5px}

.kb-main{
    background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 24px;
}
.kb-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.kb-title{font-size:18px;font-weight:800}
.kb-tools{display:flex;gap:8px;flex-wrap:wrap}
.kb-tools button,.kb-tools a{
    background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--t-light);
    padding:7px 14px;border-radius:8px;font-size:12.5px;cursor:pointer;
    text-decoration:none;transition:.15s;font-family:var(--font);
}
.kb-tools button:hover,.kb-tools a:hover{background:rgba(99,102,241,.16);color:#fff;border-color:rgba(99,102,241,.4)}
.kb-tools .primary{background:var(--hggrad);color:#fff;border:none;font-weight:700}

.kb-search{display:flex;gap:10px;margin-bottom:14px}
.kb-search input{
    flex:1;background:rgba(255,255,255,.04);border:1px solid var(--line);
    border-radius:10px;padding:10px 14px;color:#fff;font-size:13.5px;outline:none;
    font-family:var(--font);
}
.kb-search input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.16)}
.kb-search button{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--t-light);padding:9px 18px;border-radius:10px;font-size:13px;cursor:pointer;font-family:var(--font)}
.kb-search button:hover{background:rgba(99,102,241,.16)}

.kb-list{display:flex;flex-direction:column;gap:10px}
.kb-item{
    background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;
    padding:16px 18px;transition:.18s;cursor:pointer;
}
.kb-item:hover{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.06)}
.kb-item.conflict{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.05)}
.kb-item.duplicate{border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.05)}
.kb-item .q{font-size:15px;font-weight:700;color:var(--t-bright);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kb-item .q .cbadge{font-size:10.5px;padding:2px 7px;border-radius:5px;font-weight:700;letter-spacing:.5px}
.kb-item .q .cbadge.c0{color:var(--t-ok);background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.3)}
.kb-item .q .cbadge.c1{color:var(--t-warn);background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3)}
.kb-item .q .cbadge.c2{color:var(--t-bad);background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3)}
.kb-item .q .cbadge.cat{color:var(--t-mid);background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.3);font-weight:600}
.kb-item .a{font-size:13.5px;color:var(--t-light);line-height:1.85;margin-top:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kb-item .src{font-size:11.5px;color:var(--t-dim);margin-top:8px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.kb-item .src a{color:var(--t-cyan);text-decoration:none}
.kb-item .src a:hover{text-decoration:underline}
.kb-item .acts{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}
.kb-item .acts button,.kb-item .acts a{
    font-size:12px;padding:5px 12px;border-radius:7px;background:rgba(255,255,255,.05);
    border:1px solid var(--line);color:var(--t-light);cursor:pointer;transition:.15s;
    text-decoration:none;font-family:var(--font);
}
.kb-item .acts button:hover,.kb-item .acts a:hover{background:rgba(99,102,241,.16);color:#fff}
.kb-item .acts .danger{color:var(--t-bad)}
.kb-item .acts .danger:hover{background:rgba(248,113,113,.16)}
.kb-item .acts .ok{color:var(--t-ok)}
.kb-item .acts .ok:hover{background:rgba(52,211,153,.16)}

.kb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.kb-stat{
    background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;
    padding:14px 16px;display:flex;align-items:center;gap:10px;
}
.kb-stat .ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}
.kb-stat .ico.b1{background:linear-gradient(135deg,#6366f1,#8b5cf6)}
.kb-stat .ico.b2{background:linear-gradient(135deg,#10b981,#34d399)}
.kb-stat .ico.b3{background:linear-gradient(135deg,#f59e0b,#fbbf24)}
.kb-stat .ico.b4{background:linear-gradient(135deg,#ec4899,#f472b6)}
.kb-stat .val{font-size:22px;font-weight:900;color:var(--t-bright);line-height:1}
.kb-stat .lbl{font-size:11.5px;color:var(--t-dim);margin-top:4px}

.kb-modal-overlay{
    position:fixed;inset:0;background:rgba(2,6,23,.7);z-index:200;
    display:none;align-items:center;justify-content:center;backdrop-filter:blur(6px);
}
.kb-modal-overlay.open{display:flex}
.kb-modal{
    background:linear-gradient(160deg,#0f172a,#1e1b4b);border:1px solid var(--line);
    border-radius:20px;padding:28px 32px;max-width:620px;width:92%;max-height:90vh;overflow:auto;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.kb-modal h3{font-size:18px;font-weight:800;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.kb-modal h3 .x{background:none;border:none;color:var(--t-dim);cursor:pointer;font-size:18px;padding:0;line-height:1}
.kb-modal h3 .x:hover{color:#fff}
.kb-modal label{display:block;font-size:13px;color:var(--t-light);margin:12px 0 6px;font-weight:600}
.kb-modal label .req{color:var(--t-bad);margin-left:3px}
.kb-modal input[type=text],.kb-modal input[type=url],.kb-modal input[type=date],.kb-modal select,.kb-modal textarea{
    width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);
    border-radius:10px;padding:9px 12px;color:#fff;font-size:13.5px;outline:none;
    font-family:var(--font);box-sizing:border-box;
}
.kb-modal textarea{min-height:80px;resize:vertical}
.kb-modal input:focus,.kb-modal textarea:focus,.kb-modal select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.16)}
/* 修复：option 文字颜色各浏览器渲染不一致导致隐形，强制白底黑字保证可见 */
.kb-modal select{color-scheme:light}
.kb-modal select option{background:#fff !important;color:#111827 !important}
select option{background:#fff !important;color:#111827 !important}
.kb-modal .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kb-modal .alert-warn{
    background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);
    color:var(--t-warn);padding:10px 12px;border-radius:10px;font-size:12.5px;
    margin-top:14px;line-height:1.7;
}
.kb-modal .alert-warn b{color:var(--t-warn)}
.kb-modal .alert-warn ul{margin:6px 0 0 16px}
.kb-modal .acts{display:flex;gap:10px;margin-top:18px;justify-content:flex-end}
.kb-modal .acts button{
    padding:9px 22px;border-radius:10px;font-size:13.5px;font-weight:700;
    border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--t-light);cursor:pointer;
    transition:.15s;font-family:var(--font);
}
.kb-modal .acts button:hover{background:rgba(99,102,241,.16);color:#fff}
.kb-modal .acts .primary{background:var(--hggrad);border:none;color:#fff}
.kb-modal .acts .primary:hover{box-shadow:0 12px 30px rgba(124,58,237,.4)}

@media (max-width:880px){
    .kb-layout{grid-template-columns:1fr}
    .kb-side{position:static}
    .kb-modal .row2{grid-template-columns:1fr}
}

/* ==================== V2.0 婧簮闈㈡澘 / JSON-LD 杈撳嚭 / 鍐茬獊鎻愮ず ==================== */
.cit-sources{
    background:rgba(15,23,42,.6);border:1px solid var(--line);border-radius:16px;
    padding:18px 22px;margin-top:18px;
}
.cit-sources-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.cit-sources-hd h3{font-size:15px;font-weight:800;display:flex;align-items:center;gap:7px}
.cit-sources-hd h3 svg{color:var(--t-ok)}
.cit-sources-hd .legend{display:flex;gap:10px;font-size:11.5px;color:var(--t-dim)}
.cit-sources-hd .legend span{display:flex;align-items:center;gap:4px}
.cit-sources-hd .legend span::before{content:"";width:8px;height:8px;border-radius:50%;background:#6366f1}
.cit-sources-hd .legend span.s2::before{background:#34d399}
.cit-sources-hd .legend span.s3::before{background:#fbbf24}

.cit-source-list{display:flex;flex-direction:column;gap:8px}
.cit-source-row{
    display:grid;grid-template-columns:24px 1fr 90px 70px;gap:10px;align-items:center;
    background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:11px;
    padding:9px 13px;font-size:13px;transition:.15s;
}
.cit-source-row:hover{border-color:rgba(99,102,241,.4)}
.cit-source-row .num{color:var(--t-dim);font-weight:700;font-size:11.5px;text-align:center}
.cit-source-row .url{color:var(--t-cyan);text-decoration:none;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cit-source-row .url:hover{text-decoration:underline}
.cit-source-row .type{font-size:11px;color:var(--t-dim);background:rgba(255,255,255,.06);padding:3px 9px;border-radius:5px;text-align:center}
.cit-source-row .pct{font-weight:800;color:var(--t-bright);font-size:13.5px;text-align:right}

.cit-facts{
    background:rgba(15,23,42,.6);border:1px solid var(--line);border-radius:16px;
    padding:18px 22px;margin-top:18px;
}
.cit-facts-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:8px}
.cit-facts-hd h3{font-size:15px;font-weight:800;display:flex;align-items:center;gap:7px}
.cit-facts-hd h3 svg{color:var(--t-warn)}
.cit-facts-hd .summary{font-size:12px;color:var(--t-dim)}
.cit-fact-row{
    background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:11px;
    padding:11px 14px;margin-bottom:8px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;
}
.cit-fact-row.bad{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.05)}
.cit-fact-row .q{font-size:13.5px;color:var(--t-bright);font-weight:600}
.cit-fact-row .q small{display:block;color:var(--t-dim);font-weight:400;margin-top:3px;font-size:11.5px;line-height:1.6}
.cit-fact-row .v{font-size:11.5px;color:var(--t-dim);text-align:right;min-width:80px}
.cit-fact-row.bad .v{color:var(--t-bad);font-weight:700}

.site-conflict-list{display:flex;flex-direction:column;gap:10px}
.site-conflict-row{
    background:rgba(248,113,113,.06);border:1px solid rgba(248,113,113,.3);border-radius:12px;
    padding:12px 16px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;
}
.site-conflict-row .msg{font-size:13px;color:var(--t-bad);font-weight:600}
.site-conflict-row .msg small{color:var(--t-bad);font-weight:400;display:block;margin-top:3px;font-size:11.5px}
.site-conflict-row .v{font-size:11px;color:var(--t-bad);text-align:right;min-width:80px}

.jsonld-block{
    background:#0b1220;border:1px solid #1f2937;border-radius:14px;padding:16px;
    margin-top:14px;position:relative;
}
.jsonld-block pre{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;
    color:var(--t-cyan);max-height:340px;overflow:auto;white-space:pre-wrap;word-break:break-all;line-height:1.7;
}
.jsonld-block .copy-btn{
    position:absolute;top:10px;right:10px;background:rgba(255,255,255,.06);
    border:1px solid var(--line);color:var(--t-light);padding:5px 12px;border-radius:7px;
    font-size:11.5px;cursor:pointer;transition:.15s;font-family:var(--font);
}
.jsonld-block .copy-btn:hover{background:rgba(99,102,241,.16);color:#fff}
.jsonld-block .copy-btn.ok{color:var(--t-ok);background:rgba(52,211,153,.16);border-color:rgba(52,211,153,.4)}

/* ==================== V2.0 绔炲搧鐙崰鍦烘櫙 ==================== */
.cmp-exclusive{
    background:rgba(15,23,42,.6);border:1px solid var(--line);border-radius:16px;
    padding:18px 22px;margin-top:18px;
}
.cmp-exclusive-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:8px}
.cmp-exclusive-hd h3{font-size:15px;font-weight:800;display:flex;align-items:center;gap:7px}
.cmp-exclusive-hd h3 svg{color:var(--t-pink)}
.cmp-exclusive-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.cmp-exclusive-table th,.cmp-exclusive-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp-exclusive-table th{font-size:11.5px;color:var(--t-dim);font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.cmp-exclusive-table tr:last-child td{border-bottom:none}
.cmp-exclusive-table .scene{color:var(--t-bright);font-weight:600}
.cmp-exclusive-table .advice{color:var(--t-mid);line-height:1.7;font-size:12.5px}
.cmp-exclusive-table .pri{display:inline-block;font-size:11px;padding:2px 9px;border-radius:5px;font-weight:700}
.cmp-exclusive-table .pri.高{color:var(--t-bad);background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3)}
.cmp-exclusive-table .pri.中{color:var(--t-warn);background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3)}
.cmp-exclusive-table .pri.低{color:var(--t-dim);background:rgba(255,255,255,.06);border:1px solid var(--line)}

/* ==================== 报告频道：订阅月报 ==================== */
.hg-subscribe{
    margin:34px 0 8px;padding:24px 26px;border-radius:22px;
    border:1px solid rgba(139,92,246,.28);
    background:linear-gradient(120deg,rgba(99,102,241,.12),rgba(34,211,238,.07) 60%,rgba(139,92,246,.1));
    display:flex;align-items:center;gap:26px;flex-wrap:wrap;
}
.hg-sub-info{flex:1 1 260px;min-width:0}
.hg-sub-info h3{font-size:18px;font-weight:800;color:var(--t-bright);margin-bottom:6px}
.hg-sub-info p{font-size:13px;color:var(--t-mid);line-height:1.8}
.hg-sub-form{flex:1 1 420px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hg-sub-form input{
    flex:1 1 130px;min-width:120px;background:rgba(10,14,23,.5);border:1px solid var(--line2);
    border-radius:11px;padding:11px 14px;color:var(--t-bright);font-size:13.5px;font-family:var(--font);outline:none;transition:.2s;
}
.hg-sub-form input::placeholder{color:var(--t-dim)}
.hg-sub-form input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.16)}
.hg-sub-btn{
    border:none;cursor:pointer;font-family:var(--font);color:#fff;font-weight:800;font-size:14px;
    padding:11px 24px;border-radius:11px;background:var(--hggrad);background-size:200% auto;
    box-shadow:0 12px 26px -14px rgba(124,58,237,1);transition:.2s;flex:0 0 auto;
}
.hg-sub-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.hg-sub-tip{flex:1 1 100%;font-size:12.5px;padding:9px 14px;border-radius:10px}
.hg-sub-tip.ok{color:var(--t-ok);background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.35)}
.hg-sub-tip.err{color:var(--t-bad);background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.35)}

/* ==================== 榜单响应式：平板保留两列 + 名称不再硬截断 ==================== */
@media (min-width:641px) and (max-width:980px){
    .hg-rank-grid{grid-template-columns:1fr 1fr;gap:14px}
    .hg-rank-card{padding:20px}
}
@media (max-width:980px){
    .hg-rank-row{flex-wrap:wrap}
    .hg-rank-name{width:auto;max-width:54%}
    .hg-rank-bar{flex:1 1 90px}
    .hg-rank-meta{max-width:100%}
}
@media (max-width:640px){
    .hg-subscribe{padding:20px 18px;gap:16px}
    .hg-sub-form{flex:1 1 100%}
    .hg-sub-btn{width:100%}
}

/* ==================== PRO 工具箱 ==================== */
.rw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.hg-toolform .hg-field label .opt{font-size:11.5px;color:var(--t-dim);font-weight:400}
.hg-btn-lg{padding:13px 30px;font-size:15px;border-radius:13px}
.hg-meta-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.hg-pill{font-size:12px;color:var(--t-mid);background:rgba(255,255,255,.05);border:1px solid var(--line);padding:5px 12px;border-radius:999px}
.hg-pill b{color:#fff;font-weight:700}

/* 竞品信源矩阵 */
.mx-card{
    background:linear-gradient(165deg,rgba(21,28,47,.95),rgba(13,18,33,.96));
    border:1px solid rgba(139,92,246,.26);border-radius:22px;padding:24px;overflow:hidden;
}
.mx-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.mx-head h3{font-size:16px;font-weight:800;color:var(--t-bright);display:flex;align-items:center;gap:8px}
.mx-head h3::before{content:"";width:3px;height:15px;border-radius:99px;background:var(--hggrad)}

/* ==================== V3.3 效果趋势看板 ====================
   my.php「效果趋势」Tab 与「品牌监测」竞品对比共用 */
.hg-spark{width:170px;height:42px;display:block;flex:none}
.hg-trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;margin-bottom:20px}
.hg-trend-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px}
.hg-trend-card .n{font-size:23px;font-weight:800;color:var(--t-bright);line-height:1.25}
.hg-trend-card .l{font-size:12px;color:var(--t-dim);margin-top:3px}
.hg-trend-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hg-trend-meta{font-size:12px;color:var(--t-dim);margin-top:6px}
.hg-comp-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.hg-comp-chip{font-size:12px;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.3);
              color:var(--t-light);border-radius:999px;padding:5px 13px}
.hg-comp-chip b{color:#fff;font-weight:700}
@media(max-width:640px){
    .hg-spark{width:118px;height:34px}
}
.mx-time{font-size:12px;color:var(--t-dim)}
.mx-scroll{overflow-x:auto}
.mx-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;min-width:560px}
.mx-table th{
    font-size:12px;color:var(--t-dim);font-weight:600;padding:9px 10px;text-align:center;
    background:rgba(255,255,255,.03);border-bottom:1px solid var(--line);white-space:nowrap;
}
.mx-table th:first-child{text-align:left;border-top-left-radius:12px}
.mx-table th:last-child{border-top-right-radius:12px}
.mx-table td{padding:12px 10px;text-align:center;border-bottom:1px solid rgba(255,255,255,.05)}
.mx-table td:first-child{text-align:left}
.mx-table tbody tr{transition:background .18s}
.mx-table tbody tr:hover{background:rgba(139,92,246,.07)}
.mx-table tbody tr:last-child td{border-bottom:none}
.mx-name{display:flex;align-items:center;gap:8px;color:var(--t-bright);font-weight:600;white-space:nowrap}
.mx-main{background:linear-gradient(90deg,rgba(251,191,36,.13),transparent)}
.mx-main .mx-name{color:var(--t-warn)}
.mx-tag{font-size:10.5px;color:var(--t-warn);border:1px solid rgba(251,191,36,.4);background:rgba(251,191,36,.12);padding:1px 7px;border-radius:999px;font-weight:700}
.mx-yes,.mx-no,.mx-na{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;font-size:13px;font-weight:800}
.mx-yes{color:var(--t-ok);background:rgba(52,211,153,.14);border:1px solid rgba(52,211,153,.35)}
.mx-no{color:var(--t-bad);background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3)}
.mx-na{color:#64748b;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.mx-rate{min-width:82px;display:inline-block;text-align:left}
.mx-rate b{font-size:14px;color:var(--t-bright)}
.mx-rate .bar{height:5px;border-radius:99px;background:rgba(255,255,255,.08);margin-top:5px;overflow:hidden}
.mx-rate .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#22d3ee)}
.mx-rate.hi b{color:var(--t-ok)}
.mx-rate.hi .bar i{background:linear-gradient(90deg,#34d399,#06b6d4)}
.mx-rate.mid b{color:var(--t-warn)}
.mx-rate.mid .bar i{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.mx-legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:14px;font-size:12px;color:var(--t-dim)}
.mx-gap{margin-top:16px;border:1px solid rgba(251,191,36,.3);background:rgba(251,191,36,.08);border-radius:14px;padding:14px 16px}
.mx-gap h4{font-size:13.5px;color:var(--t-warn);margin-bottom:8px;display:flex;align-items:center;gap:7px}
.mx-gap li{list-style:none;font-size:13px;color:var(--t-bright);line-height:1.9}
.mx-gap li b{color:#fff}
.ev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:12px}
.ev-card{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;padding:14px 16px;transition:.18s}
.ev-card:hover{border-color:rgba(139,92,246,.45);background:rgba(139,92,246,.06);transform:translateY(-2px)}
.ev-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ev-brand{font-size:13px;font-weight:700;color:#fff}
.ev-plat{font-size:11px;color:var(--t-light);background:rgba(99,102,241,.16);border:1px solid rgba(99,102,241,.3);padding:2px 8px;border-radius:999px}
.ev-q{font-size:12px;color:var(--t-dim);line-height:1.7;margin-bottom:6px}
.ev-snippet{font-size:12.5px;color:var(--t-light);line-height:1.9}

/* 内容改造结果 */
.rw-sec{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:12px}
.rw-sec-h{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:800;color:#fff;margin-bottom:10px}
.rw-sec-h .num{width:24px;height:24px;border-radius:8px;background:var(--hggrad);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rw-sec-body{font-size:13.5px;color:var(--t-light);line-height:2;white-space:pre-wrap;word-break:break-word}
.rw-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
@media (max-width:640px){
    .mx-card{padding:18px 14px}
    .rw-grid{grid-template-columns:1fr}
}

/* 信源清单条（PRO 监测） */
.msrc{display:flex;flex-direction:column;gap:9px}
.msrc-row{display:flex;align-items:center;gap:12px;transition:.18s}
.msrc-row:hover{transform:translateX(2px)}
.msrc-name{
    flex:1;min-width:0;font-size:13px;color:var(--t-bright);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.msrc-row.own .msrc-name{color:var(--t-warn);font-weight:700}
.msrc-bar{flex:0 0 110px;height:6px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.msrc-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#67e8f9);transition:width .8s ease}
.msrc-row.own .msrc-bar i{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.msrc-num{width:92px;text-align:right;font-size:12px;color:var(--t-dim);flex-shrink:0}
@media (max-width:640px){
    .msrc-bar{flex:0 0 60px}
    .msrc-num{width:74px;font-size:11.5px}
}

/* 检测报告：五维能力画像 */
.hg-radar-card{margin-bottom:16px}
.hg-radar-hint{float:right;font-size:12px;font-weight:500;color:var(--muted-2)}
.hg-radar-wrap{display:grid;grid-template-columns:290px 1fr;gap:26px;align-items:start;margin-top:14px}
.hg-radar-svg{display:flex;justify-content:center}
.hg-radar-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.hg-radar-weak{font-size:13px;color:var(--muted-2);background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.24);border-radius:12px;padding:11px 14px}
.hg-radar-weak b{color:var(--t-warn);font-size:14px;margin:0 4px}
.hg-radar-weak span{display:block;margin-top:4px;font-size:12.5px;line-height:1.7}
.hg-rg-t{font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:9px}
.hg-rg-row{margin-bottom:11px}
.hg-rg-hd{display:flex;align-items:center;gap:10px}
.hg-rg-n{flex:0 0 48px;font-size:13px;font-weight:600;color:var(--text-2)}
.hg-rg-bar{flex:1;min-width:60px;height:7px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.hg-rg-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#8b5cf6)}
.hg-rg-v{flex:0 0 30px;text-align:right;font-size:12.5px;font-weight:700;color:var(--text-2)}
.hg-rg-g{flex:0 0 44px;text-align:right;font-size:12px;font-weight:700;color:var(--t-ok)}
.hg-rg-tip{margin-top:4px;font-size:12.5px;color:var(--muted-2);line-height:1.7;padding-left:58px}
@media (max-width:820px){
    .hg-radar-wrap{grid-template-columns:1fr;gap:18px}
    .hg-radar-hint{float:none;display:block;margin-top:4px}
}
@media (max-width:560px){
    .hg-rg-tip{padding-left:0}
}

/* AI 引用信源图谱 */
.sm-stat-bar{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.sm-stat{flex:1;min-width:118px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px 16px}
.sm-stat b{display:block;font-size:22px;font-weight:800;letter-spacing:-.5px}
.sm-stat span{font-size:12.5px;color:var(--muted-2)}
.sm-stat-time b{font-size:14px;font-weight:700;color:var(--muted)}
.sm-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sm-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px}
.sm-card-t{font-size:16px;font-weight:700;margin-bottom:3px}
.sm-card-s{font-size:12.5px;color:var(--muted-2);margin-bottom:16px}
.sm-type-row{margin-bottom:14px}
.sm-type-hd{display:flex;align-items:center;gap:10px}
.sm-type-n{flex:0 0 88px;font-size:13.5px;font-weight:600;color:var(--text-2)}
.sm-type-bar{flex:1;min-width:60px;height:8px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.sm-type-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#67e8f9)}
.sm-type-v{flex:0 0 48px;text-align:right;font-size:13px;font-weight:700;color:var(--text-2)}
.sm-type-note{margin:5px 0 0 98px;font-size:12.5px;color:var(--muted-2);line-height:1.65}
.sm-dom-list{display:flex;flex-direction:column;gap:9px;max-height:430px;overflow-y:auto}
.sm-dom-row{display:flex;align-items:center;gap:10px}
.sm-dom-rk{flex:0 0 20px;font-size:12px;font-weight:800;color:var(--muted-2);text-align:center}
.sm-dom-n{flex:0 0 130px;font-size:12.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-dom-t{flex:0 0 72px;font-size:11px;color:var(--t-mid);background:rgba(99,102,241,.12);border-radius:5px;padding:2px 6px;text-align:center;white-space:nowrap;overflow:hidden}
.sm-dom-bar{flex:1;min-width:40px;height:6px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.sm-dom-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8b5cf6,#6366f1)}
.sm-dom-c{flex:0 0 32px;text-align:right;font-size:12px;color:var(--muted)}
.sm-note{margin-top:18px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:14px;padding:18px 20px}
.sm-note h4{font-size:14px;font-weight:700;margin-bottom:9px}
.sm-note ul{margin:0;padding-left:18px}
.sm-note li{font-size:12.5px;color:var(--muted-2);line-height:1.85}
.sm-empty{background:var(--panel);border:1px dashed var(--border-2);border-radius:16px;padding:36px 28px;text-align:center}
.sm-empty h3{font-size:18px;font-weight:700;margin-bottom:10px}
.sm-empty p{font-size:13.5px;color:var(--muted);line-height:1.8;max-width:640px;margin:0 auto}
.sm-empty p b{color:var(--t-mid)}
.sm-empty-sub{margin-top:8px;font-size:12.5px;color:var(--muted-2)}
.sm-empty-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.sm-cta{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(139,92,246,.06));border:1px solid rgba(99,102,241,.25);border-radius:16px;padding:22px 24px}
.sm-cta h3{font-size:16px;font-weight:700;margin-bottom:4px}
.sm-cta p{font-size:13px;color:var(--muted);margin:0}
.sm-cta-acts{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:900px){
    .sm-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
    .sm-type-note{margin-left:0}
    .sm-dom-n{flex:0 0 96px}
    .sm-dom-t{display:none}
    .sm-cta{padding:18px}
}

/* 公开样本报告 */
.rsp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.rsp-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;transition:.2s}
.rsp-card:hover{border-color:rgba(99,102,241,.45);transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.3)}
.rsp-top{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.rsp-score{font-size:26px;font-weight:800;line-height:1;letter-spacing:-.5px}
.rsp-grade{font-size:12px;font-weight:800;padding:2px 9px;border-radius:7px;background:rgba(99,102,241,.18);color:var(--t-mid);border:1px solid rgba(99,102,241,.35)}
.rsp-grade.gA{background:rgba(52,211,153,.15);color:var(--t-ok);border-color:rgba(52,211,153,.35)}
.rsp-grade.gB{background:rgba(56,189,248,.15);color:var(--t-cyan);border-color:rgba(56,189,248,.35)}
.rsp-grade.gC{background:rgba(251,191,36,.15);color:var(--t-warn);border-color:rgba(251,191,36,.35)}
.rsp-grade.gD{background:rgba(248,113,113,.15);color:var(--t-bad);border-color:rgba(248,113,113,.35)}
.rsp-brand{font-size:15px;font-weight:700;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsp-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.rsp-meta span{font-size:11.5px;color:var(--muted-2);background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:6px;padding:2px 7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rsp-date{font-size:12px;color:var(--muted-2);margin-bottom:12px}
.rsp-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--t-mid)}
.rsp-link svg{width:14px;height:14px}

/* 解锁墙：免费版 / 完整版对比 */
.unlock-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.unlock-social{flex:none;font-size:12px;color:var(--t-warn);background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3);border-radius:999px;padding:3px 11px}
.unlock-cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.uc-col{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;padding:12px 14px}
.uc-col-hi{border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.06)}
.uc-t{font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:8px}
.uc-col-hi .uc-t{color:var(--t-warn)}
.uc-col ul{margin:0;padding-left:17px}
.uc-col li{font-size:12.5px;color:var(--muted-2);line-height:1.9}
.uc-col-hi li{color:var(--t-bright)}
@media (max-width:640px){
    .unlock-cmp{grid-template-columns:1fr}
}

/* GEO 实践自述（dogfooding） */
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pr-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px}
.pr-card-t{font-size:16px;font-weight:700;margin-bottom:14px}
.pr-list{display:flex;flex-direction:column;gap:12px}
.pr-row{display:flex;align-items:flex-start;gap:11px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.pr-row:last-child{border-bottom:0;padding-bottom:0}
.pr-mark{flex:none;width:20px;height:20px;border-radius:6px;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px}
.pr-mark.ok{background:rgba(52,211,153,.15);color:var(--t-ok);border:1px solid rgba(52,211,153,.35)}
.pr-mark.no{background:rgba(148,163,184,.12);color:var(--t-dim);border:1px solid rgba(148,163,184,.28)}
.pr-main{flex:1;min-width:0}
.pr-main b{display:block;font-size:13.5px;font-weight:700;margin-bottom:3px}
.pr-main span{font-size:12.5px;color:var(--muted-2);line-height:1.7}
.pr-link{flex:none;font-size:12px;color:var(--t-mid)}
.pr-crawl{margin-top:16px;background:rgba(52,211,153,.05);border:1px solid rgba(52,211,153,.2);border-radius:12px;padding:14px}
.pr-crawl-n{font-size:28px;font-weight:800;color:var(--t-ok);line-height:1}
.pr-crawl-t{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.7}
.pr-crawl-t span{color:var(--muted-2)}
.pr-plats{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.pr-plat{font-size:11.5px;color:var(--t-light);background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.22);border-radius:6px;padding:3px 9px}
.pr-plat i{font-style:normal;font-weight:700;margin-left:3px}
.pr-crawl-note{margin-top:9px;font-size:11.5px;color:var(--muted-2);line-height:1.7}
.pr-code{margin-top:18px;background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.pr-code-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02)}
.pr-code-hd b{font-size:13.5px}
.pr-code-hd a{font-size:12.5px;color:var(--t-mid)}
.pr-code pre{margin:0;padding:16px 18px;font-size:12.5px;line-height:1.8;color:var(--muted);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
@media (max-width:900px){
    .pr-grid{grid-template-columns:1fr}
}

/* ============================ 搜索页：搜索记录与热门推荐 ============================ */
/* 记录存于本机 localStorage（hg_search_history，最多 8 条），不涉及账号数据 */
.hg-sug-row{display:flex;align-items:flex-start;justify-content:center;gap:12px;margin-top:14px;text-align:left}
.hg-sug-row[hidden]{display:none}
.hg-sug-label{flex:none;font-size:12px;color:var(--t-dim);padding:5px 0}
.hg-sug-tags{display:flex;flex-wrap:wrap;gap:8px}
.hg-sug-tag{
    appearance:none;-webkit-appearance:none;outline:none;
    font-size:12.5px;color:var(--t-mid);background:var(--panel-2);border:1px solid var(--line);
    padding:4px 13px;border-radius:999px;cursor:pointer;transition:.18s;font-family:var(--font);
}
.hg-sug-tag:hover{color:var(--brand);border-color:var(--brand);background:var(--grad-soft)}
.hg-sug-clear{border:none;background:none;color:var(--t-dim);font-size:12px;cursor:pointer;padding:5px 0;font-family:var(--font)}
.hg-sug-clear:hover{color:var(--t-bad)}

/* tools.php PRO 区引导卡：横跨整行的 CTA 条（左侧图文、右侧按钮），
   替代原先「4 列网格里第 5 格孤卡、右侧大片留白」的布局 */
.hg-tool-card.hg-tool-cta{
    grid-column:1/-1;
    display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;
    background:var(--grad-soft);border-color:var(--border);
}
.hg-tool-card.hg-tool-cta .cta-l{display:flex;align-items:center;gap:14px;text-align:left}
.hg-tool-card.hg-tool-cta .cta-ico{font-size:30px;flex:none;line-height:1}
.hg-tool-card.hg-tool-cta h3{margin:0}
.hg-tool-card.hg-tool-cta p{margin:4px 0 0;text-align:left;flex:none}
.hg-tool-card.hg-tool-cta .hg-btn{margin:0;flex-shrink:0}
@media (max-width:640px){
    .hg-tool-card.hg-tool-cta{flex-direction:column;align-items:flex-start;gap:12px}
}

/* ==================== V4.0 站内信 ==================== */
/* 顶栏消息铃铛 */
.hg-bell{
    display:inline-flex;align-items:center;justify-content:center;position:relative;
    width:38px;height:38px;border-radius:12px;color:var(--t-mid);
    border:1px solid transparent;transition:.18s;flex-shrink:0;text-decoration:none;
}
.hg-bell:hover{color:#fff;background:rgba(99,102,241,.12);border-color:rgba(139,92,246,.3);text-decoration:none}
.hg-bell-n{
    position:absolute;top:-3px;right:-4px;font-style:normal;
    min-width:16px;height:16px;padding:0 4px;border-radius:999px;
    background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;
    font-size:9.5px;font-weight:800;line-height:16px;text-align:center;
    box-shadow:0 3px 8px rgba(239,68,68,.45);
}
@media (max-width:980px){
    .hg-bell{display:none}   /* 抽屉模式：入口收进用户中心「站内消息」Tab */
}

/* 消息中心 */
.hg-uc-main{padding:26px 24px}
.hg-msg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.hg-msg-head h2{font-size:20px;font-weight:900;color:var(--t-bright);letter-spacing:-.3px}
.hg-msg-head p{font-size:13px;color:var(--t-dim);margin-top:4px}
.hg-msg-actions{margin:0}
.hg-msg-flash{font-size:13px;color:var(--t-ok);background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.3);border-radius:10px;padding:9px 14px;margin-bottom:14px}
.hg-msg-list{display:flex;flex-direction:column;gap:10px}
.hg-msg-item{
    display:flex;gap:13px;background:rgba(255,255,255,.03);
    border:1px solid var(--line);border-radius:14px;padding:15px 17px;transition:.18s;
}
.hg-msg-item:hover{border-color:rgba(139,92,246,.4)}
.hg-msg-item.unread{background:rgba(99,102,241,.07);border-color:rgba(139,92,246,.32)}
.hg-msg-ico{
    flex:none;width:38px;height:38px;border-radius:11px;font-size:17px;
    display:flex;align-items:center;justify-content:center;background:rgba(139,92,246,.12);
}
.hg-msg-main{flex:1;min-width:0}
.hg-msg-t{font-size:14.5px;font-weight:700;color:var(--t-bright);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hg-msg-kind{font-size:10.5px;font-weight:700;color:var(--t-mid);border:1px solid var(--line);border-radius:999px;padding:1.5px 8px}
.hg-msg-kind.k-pay{color:#fbbf24;border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.08)}
.hg-msg-kind.k-audit{color:var(--t-ok);border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.08)}
.hg-msg-kind.k-alert{color:#f87171;border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.08)}
.hg-msg-dot{flex:none;width:7px;height:7px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.18)}
.hg-msg-main p{font-size:13px;color:var(--t-mid);line-height:1.8;margin:5px 0 0}
.hg-msg-meta{display:flex;align-items:center;gap:14px;margin-top:9px}
.hg-msg-meta time{font-size:12px;color:var(--t-dim)}
.hg-msg-go{margin:0}
.hg-msg-go button{
    background:none;border:none;cursor:pointer;font-family:var(--font);
    font-size:12.5px;font-weight:600;color:var(--brand);padding:0;
}
.hg-msg-go button:hover{color:#fff;text-decoration:underline}
.hg-msg-empty{
    text-align:center;padding:52px 20px;border:1px dashed var(--border-2);
    border-radius:16px;background:var(--panel);
}
.hg-msg-empty span{font-size:34px;display:block}
.hg-msg-empty b{display:block;font-size:16px;color:var(--t-bright);margin-top:10px}
.hg-msg-empty p{font-size:13px;color:var(--t-dim);margin:7px auto 0;max-width:420px}
@media (max-width:560px){
    .hg-uc-main{padding:18px 14px}
    .hg-msg-item{padding:13px 14px}
    .hg-msg-ico{width:32px;height:32px;font-size:14px}
}