/* NMIP — glow+grain 暗色氛围 · 顶部导航 + 居中内容布局 */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  /* 冷调近黑底 + 蓝紫/电光青/翡翠绿辉光,冷白前景(安全仪器气质) */
  --bg:#090b12; --bg2:#0e1119; --card:#10131d; --card2:#161a27;
  --border:#232837; --border2:#333b52;
  --t1:#eef2f7; --t2:#a3aec0; --t3:#6b7487;
  --ink:#eef2f7; --muted:#a3aec0; --faint:#6b7487;
  --ac:#94a0ff; --acl:#bcc5ff; --acg:rgba(148,160,255,.16);
  --accent:#22d3ee; --accent-dim:#155e6b;
  --glow1:#7c8cf8; --glow2:#22d3ee; --glow3:#34d399;
  --g:#10b981; --y:#f59e0b; --r:#ef4444;
  --good:#34d399; --good-bg:rgba(16,185,129,.1); --warn:#fbbf24; --warn-bg:rgba(245,158,11,.1); --bad:#f87171; --bad-bg:rgba(239,68,68,.1);
  --rd:10px; --page:1440px;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --display:"Bricolage Grotesque",var(--sans);
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
html,body{max-width:100vw;overflow-x:hidden}
body{
  font-family:var(--sans);background:
    radial-gradient(ellipse 70% 40% at 50% -8%,rgba(124,140,248,.13),transparent),
    linear-gradient(180deg,#090b12 0%,#0c0f17 52%,#090b12 100%);
  color:var(--t1);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased
}
a{color:var(--acl);text-decoration:none}
::selection{background:var(--accent);color:#090b12}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:5px}

/* ---------- 顶部导航(透明氛围,滚动模糊) ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(9,11,18,.66);border-bottom:1px solid rgba(238,242,247,.06);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3)}
.header-inner{max-width:var(--page);margin:0 auto;padding:0 26px;min-height:64px;display:flex;align-items:center;gap:22px}
.brand-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;font-weight:700;font-size:22px;color:var(--t1);letter-spacing:-.02em;font-family:var(--display)}
.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--glow1),var(--glow2));color:#090b12;box-shadow:0 0 26px rgba(124,140,248,.4)}
.brand-mark svg{width:22px;height:22px}
.top-nav{display:flex;align-items:stretch;gap:8px;min-width:0;flex:1;align-self:stretch}
.nav-link{position:relative;display:flex;align-items:center;gap:8px;min-height:64px;padding:0 14px;color:var(--t2);font-weight:600;font-size:14px;white-space:nowrap;transition:.18s}
.nav-link::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px;background:transparent;box-shadow:none;transition:.18s}
.nav-link:hover{color:var(--t1);background:rgba(238,242,247,.04)}
.nav-link.active{color:var(--t1);background:linear-gradient(180deg,rgba(148,160,255,.14),rgba(148,160,255,.02))}
.nav-link.active::after{background:var(--ac);box-shadow:0 0 16px var(--ac)}
.nav-ico{position:relative;width:16px;height:16px;border-radius:5px;display:inline-block;flex-shrink:0;color:var(--ac)}
.nav-ico::before,.nav-ico::after{content:"";position:absolute;inset:3px;border:1.6px solid currentColor;border-radius:inherit}
.nav-ico-check{border-radius:50%;background:rgba(9,215,233,.18)}
.nav-ico-check::before{inset:5px;border:none;background:currentColor;border-radius:50%}
.nav-ico-env::before{inset:2px;border-radius:50%}.nav-ico-env::after{inset:6px;border:none;background:currentColor;border-radius:50%}
.nav-ico-grid::before{inset:2px;border-radius:2px}.nav-ico-grid::after{inset:6px;border-radius:1px;background:currentColor;border:none;box-shadow:-5px 0 0 currentColor,5px 0 0 currentColor,0 -5px 0 currentColor,0 5px 0 currentColor}
.nav-ico-book::before{inset:2px 3px;border-radius:2px;transform:skewY(-8deg)}.nav-ico-book::after{inset:auto 4px 4px;height:1.5px;border:none;background:currentColor}
.nav-ico-box::before{inset:2px;border-radius:3px;transform:rotate(45deg)}.nav-ico-box::after{inset:6px;border:none;background:currentColor;border-radius:1px}
.nav-ico-dot::before{inset:4px;border-radius:50%}.nav-ico-dot::after{display:none}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header-tool{height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 15px;border:1px solid var(--border);border-radius:8px;background:rgba(16,19,29,.6);color:var(--t2);font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;transition:.18s}
.header-tool:hover{border-color:rgba(148,160,255,.45);background:rgba(148,160,255,.1);color:var(--t1)}
.header-tool-primary{border-color:rgba(34,211,238,.35);background:rgba(34,211,238,.1);color:var(--accent)}
.header-tool-primary:hover{background:rgba(34,211,238,.16);border-color:rgba(34,211,238,.55)}
.tool-ico{position:relative;width:15px;height:15px;display:inline-block;flex-shrink:0}
.tool-refresh::before{content:"";position:absolute;inset:2px;border:1.7px solid currentColor;border-left-color:transparent;border-radius:50%}.tool-refresh::after{content:"";position:absolute;right:0;top:1px;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}
.tool-export::before{content:"";position:absolute;left:3px;right:3px;bottom:2px;height:6px;border:1.6px solid currentColor;border-top:none;border-radius:0 0 2px 2px}.tool-export::after{content:"";position:absolute;left:6px;top:1px;width:4px;height:8px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg)}
.sb-lang{display:flex;gap:4px;background:rgba(16,19,29,.6);border:1px solid var(--border);border-radius:8px;padding:4px}
.sb-lang a{min-width:38px;text-align:center;padding:5px 8px;border-radius:5px;color:var(--t2);font-size:12px;font-weight:700}
.sb-lang a.lang-active{background:var(--acg);color:var(--acl)}
.status-tag{font-family:var(--mono);font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:7px;white-space:nowrap}
.status-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}

/* ---------- 主区 ---------- */
.app{min-width:0;display:flex;flex-direction:column;min-height:calc(100vh - 65px)}
.content{flex:1;width:min(100%,var(--page));margin:0 auto;padding:16px 26px 58px}

/* ---------- hero ---------- */
.hero{margin-bottom:34px;padding-top:18px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:48px;align-items:center}
.hero.compact{margin-bottom:24px}
.hero-badge{display:inline-block;padding:6px 14px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(9,215,233,.08);color:var(--acl);border:1px solid rgba(9,215,233,.28);margin-bottom:20px;letter-spacing:.08em;font-family:var(--mono);text-transform:uppercase}
.main-title{display:flex;align-items:center;gap:16px;margin-bottom:18px}
h1{font-size:clamp(32px,3.6vw,52px);font-weight:700;letter-spacing:-.03em;line-height:1.08;color:var(--t1)}
.hero-features{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}
.hero-features span{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;background:rgba(8,20,34,.78);border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:700;color:#d5e4f4}
.hero-features span::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ac);box-shadow:0 0 12px rgba(79,140,255,.55);flex-shrink:0}
.hero-features span[data-kind="live"]::before{background:var(--warn);box-shadow:0 0 12px rgba(251,191,36,.45)}
.hero-features span[data-kind="transparent"]::before{background:var(--t2);box-shadow:0 0 12px rgba(148,163,184,.38)}
.subtitle,.sub{color:var(--t2);font-size:16px;max-width:680px;line-height:1.7;overflow-wrap:anywhere}
.hero.compact .subtitle{font-family:var(--mono);font-size:14px;color:var(--t3)}
.src-panel{background:linear-gradient(145deg,rgba(8,24,40,.95),rgba(5,14,26,.96));border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 18px 42px rgba(0,0,0,.22)}
.src-panel-h{font-family:var(--mono);font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.src-panel-h::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}
.src-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.src-pill{font-family:var(--mono);font-size:11.5px;color:var(--t2);background:rgba(4,12,22,.72);border:1px solid var(--border);border-radius:6px;padding:7px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 搜索框 */
.search-box{display:flex;gap:12px;margin:0;max-width:640px}
.search-input-wrap{flex:1;position:relative;display:flex;align-items:center}
.search-icon{position:absolute;left:18px;width:20px;height:20px;color:var(--t3);pointer-events:none}
.search-box input{width:100%;padding:16px 20px 16px 50px;border:1px solid var(--border2);border-radius:8px;background:rgba(10,24,42,.84);color:var(--t1);font-size:16px;font-family:var(--mono);outline:none;transition:.25s}
.search-box input:focus{border-color:var(--ac);box-shadow:0 0 0 4px var(--acg)}
.search-box input::placeholder{color:var(--t3);font-family:var(--sans)}
.search-box button{padding:0 32px;border:none;border-radius:8px;background:linear-gradient(120deg,#07d6e8,#00e69a);color:#04111f;font-size:15px;font-weight:800;cursor:pointer;white-space:nowrap;transition:.2s}
.search-box button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.self-hint{color:var(--t3);font-size:13px;margin:16px 0 0;font-family:var(--mono)}

/* ---------- 结果页 ---------- */
/* 评分横幅 */
.score-banner{display:grid;grid-template-columns:auto minmax(260px,1fr) minmax(420px,1.1fr) auto;align-items:center;gap:28px;background:linear-gradient(145deg,rgba(8,24,40,.94),rgba(5,13,25,.98));border:1px solid var(--border);border-radius:8px;padding:18px 24px;margin-bottom:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 20px 52px rgba(0,0,0,.22)}
.score-ring{position:relative;width:142px;height:142px;flex-shrink:0}
.score-ring svg{width:100%;height:100%;transform:rotate(-90deg);filter:drop-shadow(0 0 20px rgba(0,230,154,.28))}
.ring-bg{fill:none;stroke:#0d2a36;stroke-width:10}
.ring-progress{fill:none;stroke-width:10;stroke-linecap:round;animation:ring-draw 1.2s cubic-bezier(.4,0,.2,1) forwards;filter:drop-shadow(0 0 8px currentColor)}
@keyframes ring-draw{from{stroke-dashoffset:var(--circ)}to{stroke-dashoffset:var(--final)}}
.score-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.score-number{font-size:48px;font-weight:800;line-height:1;letter-spacing:-2px;font-family:var(--mono);text-shadow:0 0 24px rgba(0,230,154,.3)}
.score-label{font-size:10px;color:var(--t2);margin-top:5px;font-weight:700;letter-spacing:1px}
.score-summary{flex:1;min-width:260px}
.grade{font-size:24px;font-weight:800;margin-bottom:8px;letter-spacing:0}
.desc{color:#c5d4e4;font-size:14.5px;line-height:1.75;max-width:620px;overflow-wrap:anywhere}
.score-kpis{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:rgba(8,20,34,.64)}
.kpi-card{min-height:68px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:10px;padding:11px 14px;border-right:1px solid var(--border)}
.kpi-card:last-child{border-right:none}
.kpi-card span:not(.kpi-ico){color:var(--t2);font-size:12px;font-weight:700}
.kpi-card strong{grid-column:2;color:#fff;font-family:var(--mono);font-size:14px}
.kpi-ico{grid-row:1/3;position:relative;width:36px;height:36px;border-radius:50%;background:rgba(9,215,233,.13);border:1px solid rgba(9,215,233,.35);color:var(--ac);box-shadow:0 0 18px rgba(9,215,233,.12)}
.kpi-ico::before{content:"";position:absolute;inset:10px;border:2px solid currentColor;border-radius:4px}
.kpi-shield::before{inset:8px 10px;border-radius:8px 8px 11px 11px;clip-path:polygon(50% 0,100% 18%,86% 82%,50% 100%,14% 82%,0 18%)}
.kpi-table::before{inset:9px;border-radius:2px}.kpi-table::after{content:"";position:absolute;left:12px;right:12px;top:17px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor}
.kpi-source::before{inset:11px;border-radius:2px;background:currentColor;box-shadow:-7px 0 0 currentColor,7px 0 0 currentColor;border:none}
.score-meta{flex-shrink:0;min-width:210px;font-family:var(--mono);font-size:12px;color:#c1d0e1;line-height:2;background:rgba(4,12,22,.54);padding:13px 16px;border-radius:8px;border:1px solid var(--border)}
.legal-notice-inline{background:linear-gradient(90deg,rgba(245,158,11,.13),rgba(245,158,11,.04));border:1px solid rgba(245,158,11,.22);border-radius:7px;color:#c8d3df;font-size:12px;line-height:1.6;padding:10px 16px;margin-bottom:12px}
.legal-notice-inline strong{color:#fbbf24;margin-right:6px}

/* 标签 / 源条 */
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.4}
.tag-safe{background:var(--good-bg);color:#34d399;border:1px solid rgba(16,185,129,.25)}
.tag-warn{background:var(--warn-bg);color:#fbbf24;border:1px solid rgba(245,158,11,.25)}
.tag-danger{background:var(--bad-bg);color:#f87171;border:1px solid rgba(239,68,68,.25)}
.source-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.source-chip{font-size:10.5px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(8,20,34,.72);color:var(--t2);font-weight:700;font-family:var(--mono)}
.source-chip.ok{border-color:rgba(16,185,129,.3);color:#34d399;background:rgba(16,185,129,.05)}
.source-chip.err{border-color:rgba(239,68,68,.3);color:#f87171;background:rgba(239,68,68,.05)}

/* 卡片：满宽自适应多列 */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:10px}
.card{background:linear-gradient(145deg,rgba(8,24,40,.95),rgba(5,14,26,.96));border:1px solid var(--border);border-radius:8px;padding:17px;transition:.2s;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.card:hover{border-color:rgba(9,215,233,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 34px rgba(0,0,0,.2)}
.card h3{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--t1);margin-bottom:12px;font-weight:800}
.card h3::before{content:"";width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,rgba(9,215,233,.24),rgba(0,230,154,.12));border:1px solid rgba(9,215,233,.28);box-shadow:0 0 18px rgba(9,215,233,.12);flex-shrink:0}
.cards .card:nth-child(2) h3::before{background:linear-gradient(135deg,rgba(79,140,255,.24),rgba(9,215,233,.12))}
.cards .card:nth-child(3) h3::before{background:linear-gradient(135deg,rgba(0,230,154,.24),rgba(9,215,233,.12))}
.cards .card:nth-child(4) h3::before{background:linear-gradient(135deg,rgba(248,113,113,.24),rgba(245,158,11,.12))}
.cards .card:nth-child(5) h3::before{background:linear-gradient(135deg,rgba(167,139,250,.24),rgba(9,215,233,.12))}
.card-row{display:flex;justify-content:space-between;align-items:flex-start;padding:7px 0;border-bottom:1px solid rgba(36,66,95,.62);font-size:13px;gap:12px}
.card-row:last-child{border-bottom:none;padding-bottom:0}
.card-row:first-of-type{padding-top:0}
.card-row .label{color:var(--t2);flex-shrink:0}
.card-row .value{color:var(--t1);font-weight:500;text-align:right;overflow-wrap:anywhere;min-width:0;font-family:var(--mono)}

/* 评分明细 + 场景：宽屏并排 */
.report-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:18px;align-items:start}
.breakdown{background:linear-gradient(145deg,rgba(8,24,40,.95),rgba(5,14,26,.96));border:1px solid var(--border);border-radius:8px;padding:17px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.breakdown h3{font-size:15px;color:var(--t1);margin-bottom:12px;font-weight:800}
.bd-item{display:flex;align-items:center;padding:8px 7px;border-bottom:1px solid rgba(36,66,95,.62);font-size:13px;gap:10px;border-radius:6px;transition:.15s}
.bd-item:hover{background:rgba(79,140,255,.05)}
.bd-item:last-child{border-bottom:none}
.bd-item .bd-label{flex:1;color:var(--t1);font-weight:500;min-width:0;overflow-wrap:anywhere}
.bd-item .bd-sources{flex:0 0 150px;color:var(--t2);font-size:12px;text-align:right;overflow-wrap:anywhere}
.bd-item .bd-status{width:78px;text-align:center;flex-shrink:0;font-weight:600;font-size:12.5px}
.bd-item .bd-score{width:70px;text-align:right;font-weight:800;flex-shrink:0;font-variant-numeric:tabular-nums;font-size:14px;font-family:var(--mono)}
.status-pass{color:#34d399}.status-fail{color:#f87171}.status-warn{color:#fbbf24}
.bd-total{border-top:2px dashed var(--border2)!important;margin-top:10px;padding-top:16px!important}
.bd-total .bd-label{color:#fff;font-size:15px}
.scenes-card .bd-item .bd-sources{flex:0 0 auto}

/* 全球可达性 */
.reach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.reach-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.18);font-size:13px}
.reach-item .reach-loc{color:var(--t1);font-weight:600}
.reach-item .reach-stat{font-family:var(--mono);font-size:12px;color:var(--t2)}
.reach-item.up{border-color:rgba(16,185,129,.25)}
.reach-item.up .reach-stat{color:var(--good)}
.reach-item.down{border-color:rgba(239,68,68,.25);opacity:.8}
.reach-item.down .reach-stat{color:var(--bad)}
.reach-gfw{margin-top:14px;padding:12px 16px;border-radius:10px;font-weight:600;font-size:14px}
.reach-gfw.up{background:var(--good-bg);color:var(--good);border:1px solid rgba(16,185,129,.25)}
.reach-gfw.down{background:var(--bad-bg);color:var(--bad);border:1px solid rgba(239,68,68,.25)}

/* 子网邻居声誉 */
.nb-verdict{font-size:14px;font-weight:600;margin-bottom:14px}
.nb-verdict.ok{color:var(--good)}.nb-verdict.bad{color:var(--warn)}
.nb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.nb-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:rgba(0,0,0,.18);font-size:13px}
.nb-item .nb-ip{font-family:var(--mono);color:var(--t1)}
.nb-item .nb-tag{font-size:12px}
.nb-item.ok .nb-tag{color:var(--good)}
.nb-item.bad{border-color:rgba(248,113,113,.3)}.nb-item.bad .nb-tag{color:var(--bad);font-weight:600}

/* 历史画像 */
.history-line{font-size:13px;color:var(--t2);margin-bottom:14px;font-family:var(--mono)}
.spark{display:flex;align-items:flex-end;gap:3px;height:64px;padding:6px 0}
.spark-bar{flex:1;min-width:4px;max-width:18px;border-radius:3px 3px 0 0;opacity:.85;transition:.15s}
.spark-bar:hover{opacity:1}

/* 原始矩阵 */
.raw-section{background:linear-gradient(145deg,rgba(8,24,40,.95),rgba(5,14,26,.96));border:1px solid var(--border);border-radius:8px;padding:17px;margin-bottom:14px}
.raw-section h3{font-size:14px;color:var(--t2);margin-bottom:16px;font-weight:600;display:flex;justify-content:space-between;cursor:pointer;user-select:none}
.raw-section h3::after{content:'▼';font-size:11px;transition:transform .3s;color:var(--t3)}
.raw-section.collapsed h3{margin-bottom:0}
.raw-section.collapsed h3::after{transform:rotate(-90deg)}
.raw-table-wrap{overflow-x:auto;transition:max-height .3s,opacity .3s;max-height:1400px;opacity:1}
.raw-section.collapsed .raw-table-wrap{max-height:0;opacity:0;overflow:hidden}
.raw-table{width:100%;border-collapse:collapse;font-size:12.5px;font-family:var(--mono)}
.raw-table th{text-align:center;padding:10px 8px;border-bottom:2px solid var(--border2);color:var(--t2);font-weight:600;white-space:nowrap}
.raw-table td{padding:10px 8px;border-bottom:1px solid rgba(44,58,89,.5);color:var(--t1);text-align:center}
.raw-table td:first-child,.raw-table th:first-child{text-align:left;position:sticky;left:0;background:var(--card)}
.raw-table tr:hover td{background:rgba(79,140,255,.05)}
.val-true{color:#f87171;font-weight:600}.val-false{color:#34d399}.val-text{color:var(--t1)}.val-na{color:var(--faint)}

/* ---------- 扫描 ---------- */
.loading{text-align:center;padding:50px 20px;color:var(--t2);background:var(--card);border-radius:var(--rd);border:1px solid var(--border);margin-bottom:24px}
.loading-text{font-size:16px;font-weight:500;margin-bottom:18px;color:var(--t1)}
.spinner{width:46px;height:46px;border:4px solid var(--border2);border-top-color:var(--ac);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 18px}
@keyframes spin{to{transform:rotate(360deg)}}
.api-status{margin-top:14px;font-size:12.5px;display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.api-status div{background:rgba(0,0,0,.22);padding:5px 12px;border-radius:18px;border:1px solid var(--border);transition:.3s;font-family:var(--mono)}
.api-status .done{color:var(--good);border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.06)}
.api-status .fail{color:var(--bad);border-color:rgba(239,68,68,.3)}
.api-status .wait{color:var(--t3)}
.scan-finished{opacity:0;transition:opacity .4s}

/* ---------- 次级页（env/proxy/academy/article/badge） ---------- */
.btn{font-family:var(--sans);padding:13px 26px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(120deg,#4f8cff,#6f7dff);border:none;border-radius:11px;cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.server-ip{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--acl)}
.env-results{margin-top:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--border2);border:1px solid var(--border2);border-radius:12px;overflow:hidden}
.grid>div{display:flex;flex-direction:column;gap:4px;background:var(--card);padding:14px 16px}
.grid .k{font-size:11px;color:var(--t2);text-transform:uppercase;letter-spacing:.05em}
.grid .v{font-family:var(--mono);font-size:14px;color:var(--t1);overflow-wrap:anywhere}.grid .v.ua{font-size:11px}
.leak-note{margin-top:16px;font-weight:600;font-family:var(--mono);font-size:13px}
.leak-note.ok{color:var(--good)}.leak-note.warn{color:var(--bad)}
.card.notice{background:rgba(245,158,11,.05);border-color:rgba(245,158,11,.3)}
.proxy-list,.article-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:10px}
.proxy-card,.article-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;transition:.2s}
.proxy-card:hover,.article-card:hover{border-color:var(--acl)}
.proxy-head{display:flex;align-items:center;justify-content:space-between}
.proxy-name{font-weight:700;font-size:16px;color:var(--t1)}
.proxy-desc{color:var(--t2);margin:8px 0;font-size:14px}.proxy-cta{color:var(--acl);font-size:13px;font-weight:600}
.article-card h3{margin:0 0 6px;color:var(--t1);font-size:16px}
.disclaimer{font-size:12px;color:var(--t3);margin-top:18px}
.article{max-width:780px}.article .back{margin:8px 0 18px;font-size:13px}
.article-body{line-height:1.85;color:#cbd5e1}.article-body h3{margin-top:26px;color:var(--t1);font-size:18px}
.article-body ul,.article-body ol{padding-left:22px}.cta-card{margin-top:32px}
.snippet{background:#070b15;color:#cbd5e1;padding:14px 16px;border-radius:10px;overflow-x:auto;font-family:var(--mono);font-size:13px;border:1px solid var(--border2)}
code{background:var(--card2);color:var(--acl);padding:2px 7px;border-radius:5px;font-family:var(--mono);font-size:13px}
.chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:18px;font-size:12px;font-weight:600}
.chip.good{background:var(--good-bg);color:#34d399;border:1px solid rgba(16,185,129,.25)}

/* ---------- footer(氛围淡出) ---------- */
.site-footer{border-top:1px solid rgba(238,242,247,.06);padding:34px 24px;background:linear-gradient(180deg,transparent,rgba(9,11,18,.85))}
.footer-grid{width:min(100%,var(--page));margin:0 auto;display:grid;grid-template-columns:auto repeat(3,auto) 1fr;gap:40px;align-items:start}
.footer-col h4{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.22em;margin-bottom:10px}
.footer-col a{display:block;font-size:13px;color:var(--t3);padding:3px 0}.footer-col a:hover{color:var(--acl)}
.footer-note{font-size:12px;color:var(--t3);opacity:.75;align-self:end;text-align:right;line-height:1.9}
.footer-attrib{font-size:11px;opacity:.7}

/* ==================== 结果页 v2(rp-*,对齐设计稿) ==================== */

.rp-card{background:linear-gradient(160deg,rgba(19,23,35,.66),rgba(11,14,22,.82));border:1px solid rgba(238,242,247,.08);border-radius:14px;padding:20px 22px;box-shadow:0 18px 50px rgba(0,0,0,.3),inset 0 1px 0 rgba(238,242,247,.05)}
.rp-card h3{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:700;color:var(--t1);margin-bottom:14px;letter-spacing:-.01em}
.rp-h-ico{width:24px;height:24px;border-radius:7px;flex-shrink:0;display:inline-block;border:1px solid rgba(148,160,255,.3);background:linear-gradient(135deg,rgba(124,140,248,.28),rgba(34,211,238,.12));box-shadow:0 0 16px rgba(124,140,248,.16)}
.i-isp{background:linear-gradient(135deg,rgba(34,211,238,.28),rgba(124,140,248,.1));border-color:rgba(34,211,238,.3)}
.i-sec{background:linear-gradient(135deg,rgba(52,211,153,.28),rgba(34,211,238,.1));border-color:rgba(52,211,153,.3)}
.i-threat{background:linear-gradient(135deg,rgba(251,113,133,.28),rgba(245,158,11,.1));border-color:rgba(251,113,133,.3)}
.i-nb{background:linear-gradient(135deg,rgba(148,160,255,.28),rgba(251,113,133,.1))}
.i-scene{background:linear-gradient(135deg,rgba(245,158,11,.28),rgba(251,113,133,.12));border-color:rgba(245,158,11,.3)}

/* 报告头 */
.rp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:10px 0 18px}
.rp-title{font-family:var(--display);font-size:clamp(26px,2.6vw,34px);font-weight:600;letter-spacing:-.02em}
.rp-ip{font-family:var(--mono);font-size:14px;color:var(--t2);margin-top:4px}
.rp-time{font-family:var(--mono);font-size:12px;color:var(--t3);white-space:nowrap}

/* 顶部双卡 */
.rp-top{display:grid;grid-template-columns:minmax(380px,1fr) minmax(420px,1.15fr);gap:14px;margin-bottom:14px}
.rp-score{display:flex;align-items:center;gap:26px}
.rp-ring{position:relative;width:158px;height:158px;flex-shrink:0}
.rp-ring svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible} /* 辉光超出 viewBox,不裁切 */
.rp-ring .ring-bg{fill:none;stroke:rgba(238,242,247,.07);stroke-width:11}
.rp-ring .ring-progress{fill:none;stroke-width:11;stroke-linecap:round;animation:ring-draw 1.2s cubic-bezier(.4,0,.2,1) forwards;filter:drop-shadow(0 0 10px currentColor)}
.rp-ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rp-ring-txt b{font-family:var(--mono);font-size:42px;font-weight:700;line-height:1;letter-spacing:-.04em}
.rp-ring-txt span{font-family:var(--mono);font-size:11px;color:var(--t3);margin-top:3px}
.rp-ring-txt i{font-style:normal;font-size:10px;color:var(--t3);margin-top:5px;letter-spacing:.12em}
.rp-verdict{flex:1;min-width:0}
.rp-grade{font-size:24px;font-weight:800;letter-spacing:-.01em;margin-bottom:8px}
.rp-desc{font-size:13px;line-height:1.75;color:var(--t2);margin-bottom:16px}
.rp-level-label{font-size:12px;color:var(--t3)}
.rp-level-th{color:var(--t3)}
.rp-bar{height:7px;border-radius:99px;background:rgba(238,242,247,.07);margin-top:8px;overflow:hidden}
.rp-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#fbbf24,#fb7185 60%,#7c8cf8);box-shadow:0 0 14px rgba(251,113,133,.35);transition:width .8s cubic-bezier(.4,0,.2,1)}

.rp-stats{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:10px}
.rp-stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:8px 4px}
.rp-stat-ico{position:relative;width:46px;height:46px;border-radius:50%;border:1px solid rgba(148,160,255,.35);background:radial-gradient(circle at 50% 35%,rgba(124,140,248,.3),rgba(124,140,248,.06));box-shadow:0 0 22px rgba(124,140,248,.2)}
.rp-ico-pass{border-color:rgba(34,211,238,.4);background:radial-gradient(circle at 50% 35%,rgba(34,211,238,.3),rgba(34,211,238,.05));box-shadow:0 0 22px rgba(34,211,238,.18)}
.rp-ico-risk{border-color:rgba(251,113,133,.4);background:radial-gradient(circle at 50% 35%,rgba(251,113,133,.28),rgba(251,113,133,.05));box-shadow:0 0 22px rgba(251,113,133,.18)}
.rp-stat-ico::before{content:"";position:absolute;inset:14px;border:2px solid rgba(238,242,247,.75);border-radius:4px}
.rp-ico-pass::before{border-radius:50%}
.rp-ico-pass::after{content:"";position:absolute;left:17px;top:21px;width:9px;height:5px;border-left:2px solid rgba(238,242,247,.85);border-bottom:2px solid rgba(238,242,247,.85);transform:rotate(-45deg)}
.rp-stat-label{font-size:12px;color:var(--t2)}
.rp-stat b{font-family:var(--mono);font-size:19px;font-weight:700;color:var(--t1);letter-spacing:-.02em}
.rp-meta{border-left:1px solid rgba(238,242,247,.08);padding:6px 4px 6px 20px;display:flex;flex-direction:column;gap:9px;min-width:230px}
.rp-meta div{display:flex;justify-content:space-between;gap:14px;font-size:12px}
.rp-meta span{color:var(--t3);white-space:nowrap}
.rp-meta b{font-family:var(--mono);font-weight:500;color:var(--t1);text-align:right;overflow-wrap:anywhere}

/* 提示条 */
.rp-notice{display:flex;align-items:center;gap:10px;font-size:12.5px;line-height:1.6;color:var(--t2);background:linear-gradient(90deg,rgba(245,158,11,.1),rgba(245,158,11,.02));border:1px solid rgba(245,158,11,.2);border-radius:11px;padding:11px 16px;margin-bottom:14px}
.rp-notice strong{color:var(--warn);flex-shrink:0}
.rp-notice-ico{width:16px;height:16px;flex-shrink:0;border:1.6px solid var(--warn);border-radius:5px 5px 7px 7px;clip-path:polygon(50% 0,100% 18%,86% 82%,50% 100%,14% 82%,0 18%)}

/* 分类 / 快速导航条 */
.rp-band{display:flex;align-items:center;gap:16px;background:rgba(16,19,29,.5);border:1px solid rgba(238,242,247,.07);border-radius:12px;padding:10px 16px;margin-bottom:12px}
.rp-band-t{font-size:13px;font-weight:700;color:var(--t1);white-space:nowrap}
.rp-pills{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.rp-pill{font-family:var(--mono);font-size:11.5px;color:var(--t2);padding:5px 13px;border-radius:999px;border:1px solid rgba(238,242,247,.09);background:rgba(238,242,247,.03);white-space:nowrap;transition:.15s}
.rp-pill.active{color:#090b12;background:linear-gradient(120deg,var(--glow2),#34d399);border-color:transparent;font-weight:700}
a.rp-pill:hover{border-color:rgba(148,160,255,.5);color:var(--t1)}
.rp-pill.err{color:var(--bad);border-color:rgba(239,68,68,.25)}
.rp-band-n{font-family:var(--mono);font-size:11.5px;color:var(--t3);white-space:nowrap}

/* 五张信息卡 */
.rp-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}
.rp-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid rgba(238,242,247,.06);font-size:12.5px}
.rp-row:last-child{border-bottom:none;padding-bottom:0}
.rp-row span{color:var(--t3);flex-shrink:0}
.rp-row b{font-family:var(--mono);font-weight:500;color:var(--t1);text-align:right;min-width:0;overflow-wrap:anywhere}

/* 评分明细 + 右栏 */
.rp-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:14px;margin-bottom:14px;align-items:start}
.rp-bd-head,.rp-bd-item{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1.1fr) 86px 78px;gap:10px;align-items:center}
.rp-bd-head{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);padding:4px 8px 10px;border-bottom:1px solid rgba(238,242,247,.09)}
.rp-bd-head span:nth-child(3),.rp-bd-head span:nth-child(4){text-align:right}
.rp-bd-item{padding:8px;border-bottom:1px solid rgba(238,242,247,.05);font-size:13px;border-radius:7px;transition:.15s}
.rp-bd-item:hover{background:rgba(148,160,255,.05)}
.rp-bd-label{color:var(--t1);font-weight:600;min-width:0;overflow-wrap:anywhere}
.rp-bd-detail{color:var(--t3);font-size:12px;min-width:0;overflow-wrap:anywhere}
.rp-bd-status{text-align:right;font-size:12px;font-weight:700;white-space:nowrap}
.rp-bd-score{text-align:right;font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.st-pass{color:var(--good)}.st-warn{color:var(--warn)}.st-danger{color:var(--bad)}
.rp-bd-final{margin-top:14px;padding-top:16px;border-top:2px dashed rgba(238,242,247,.12)}
.rp-bd-final-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.rp-bd-final-row span{font-size:15px;font-weight:800;color:var(--t1)}
.rp-bd-final-row b{font-family:var(--mono);font-size:26px;letter-spacing:-.03em}
.rp-bd-final-row b i{font-style:normal;font-size:14px;color:var(--t3)}
.rp-bar-final{height:9px}
.rp-bd-formula{margin-top:9px;font-family:var(--mono);font-size:11px;color:var(--t3)}

.rp-side{display:flex;flex-direction:column;gap:14px}
.rp-scene{display:flex;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid rgba(238,242,247,.06);font-size:13.5px}
.rp-scene:last-child{border-bottom:none}
.rp-scene-name{flex:1;color:var(--t1);font-weight:600;min-width:0}
.rp-scene-note{color:var(--t3);font-size:12px;white-space:nowrap}
.rp-stars{white-space:nowrap;letter-spacing:2px}
.rp-stars i{font-style:normal;color:rgba(238,242,247,.14)}
.rp-stars i.on{color:var(--warn);text-shadow:0 0 10px rgba(245,158,11,.5)}

/* 升级推广卡(变现位) */
.rp-promo{position:relative;overflow:hidden;text-align:center;padding:30px 24px 26px;background:linear-gradient(155deg,rgba(76,92,200,.42),rgba(16,20,32,.9) 68%);border-color:rgba(148,160,255,.28)}
.rp-promo::before{content:"";position:absolute;inset:-40% -20% auto;height:120%;background:radial-gradient(circle at 50% 0,rgba(124,140,248,.35),transparent 65%);pointer-events:none}
.rp-promo-shield{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 14px;color:var(--acl)}
.rp-promo-shield svg{width:76px;height:76px;filter:drop-shadow(0 0 22px rgba(124,140,248,.55))}
.rp-promo h3{justify-content:center;font-size:17px;margin-bottom:14px}
.rp-promo ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:20px;text-align:left;max-width:220px;margin-left:auto;margin-right:auto}
.rp-promo li{font-size:13px;color:var(--t2);display:flex;align-items:center;gap:9px}
.rp-promo li::before{content:"";width:13px;height:8px;flex-shrink:0;border-left:2px solid var(--glow2);border-bottom:2px solid var(--glow2);transform:rotate(-45deg) translateY(-2px)}
.rp-promo-cta{display:block;padding:12px;border-radius:11px;background:linear-gradient(120deg,#7c8cf8,#94a3ff);color:#090b12;font-size:14px;font-weight:800;box-shadow:0 0 30px rgba(124,140,248,.4);transition:.2s}
.rp-promo-cta:hover{box-shadow:0 0 46px rgba(124,140,248,.6);color:#090b12}

/* 源矩阵 */
.rp-matrix{margin-bottom:14px}
.rp-matrix-h{display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;margin-bottom:16px!important}
.rp-matrix-h>span{display:flex;align-items:center;gap:10px}
.rp-caret{width:9px;height:9px;border-right:2px solid var(--t3);border-bottom:2px solid var(--t3);transform:rotate(45deg);transition:transform .25s;flex-shrink:0}
.rp-matrix.collapsed .rp-matrix-h{margin-bottom:0!important}
.rp-matrix.collapsed .rp-caret{transform:rotate(-45deg)}
.rp-matrix .raw-table-wrap{overflow-x:auto;transition:max-height .3s,opacity .3s;max-height:1400px;opacity:1}
.rp-matrix.collapsed .raw-table-wrap{max-height:0;opacity:0;overflow:hidden}
.raw-label{color:var(--t2)!important;font-weight:600;text-align:left!important}

@media(max-width:1280px){
  .nm-dashboard::before{width:220px}
  .nm-dashboard.sidebar-collapsed::before{width:82px}
  .rp-cards{grid-template-columns:repeat(3,1fr)}
  .rp-top{grid-template-columns:1fr}
  .rp-stats{grid-template-columns:1fr 1fr 1fr}
  .rp-meta{grid-column:1/-1;border-left:none;border-top:1px solid rgba(238,242,247,.08);padding:14px 4px 2px}
}
@media(max-width:1020px){
  .rp-cols{grid-template-columns:1fr}
}
@media(max-width:760px){
  .rp-cards{grid-template-columns:1fr}
  .rp-score{flex-direction:column;text-align:center}
  .rp-head{flex-direction:column;align-items:flex-start}
  .rp-bd-head{display:none}
  .rp-bd-item{grid-template-columns:1fr auto;grid-template-rows:auto auto}
  .rp-bd-detail{grid-column:1;grid-row:2}
  .rp-bd-status{grid-column:2;grid-row:1}
  .rp-bd-score{grid-column:2;grid-row:2}
  .rp-stats{grid-template-columns:1fr}
}

/* footer 品牌栏 */
.footer-brand{max-width:280px}
.footer-brand .brand-logo{font-size:19px;margin-bottom:10px}
.footer-brand p{font-size:12.5px;color:var(--t3);line-height:1.8}

/* ==================== 首页 · glow+grain ==================== */

/* 氛围层:三团辉光缓慢漂移(紫/青/珊瑚),置于内容之下 */
.gw-atmo{position:fixed;inset:0;z-index:-1;overflow:hidden}
.gw-blob{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform}
.gw-b1{width:56vw;height:56vw;left:-14vw;top:-22vw;opacity:.34;background:radial-gradient(circle,var(--glow1) 0%,transparent 62%);animation:gw-drift1 34s ease-in-out infinite alternate}
.gw-b2{width:44vw;height:44vw;right:-12vw;top:4vw;opacity:.2;background:radial-gradient(circle,var(--glow2) 0%,transparent 62%);animation:gw-drift2 42s ease-in-out infinite alternate}
.gw-b3{width:38vw;height:38vw;left:34vw;bottom:-24vw;opacity:.14;background:radial-gradient(circle,var(--glow3) 0%,transparent 62%);animation:gw-drift3 50s ease-in-out infinite alternate}
@keyframes gw-drift1{to{transform:translate(9vw,7vw) scale(1.12)}}
@keyframes gw-drift2{to{transform:translate(-7vw,9vw) scale(.92)}}
@keyframes gw-drift3{to{transform:translate(-9vw,-7vw) scale(1.08)}}

/* 颗粒层:SVG 噪点,全页覆盖 */
.gw-grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.content{position:relative;z-index:1}

/* 载入递次浮现 */
.gw-in{opacity:0;transform:translateY(14px);animation:gw-in .7s cubic-bezier(.2,.6,.2,1) forwards;animation-delay:calc(var(--d,0)*90ms)}
@keyframes gw-in{to{opacity:1;transform:none}}

/* 首屏:左文案 + 右标本卡,不对称网格 */
.gw-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,5fr);gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(40px,7vh,88px) 0 clamp(36px,6vh,64px)}
.gw-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--t2);margin-bottom:22px}
.gw-pulse{width:7px;height:7px;border-radius:50%;background:var(--glow2);box-shadow:0 0 10px var(--glow2);animation:gw-pulse 2.4s ease-in-out infinite}
@keyframes gw-pulse{50%{opacity:.35}}
.gw-title{font-family:var(--display);font-size:clamp(40px,5.2vw,76px);font-weight:600;letter-spacing:-.035em;line-height:1.06;color:var(--t1);margin-bottom:22px}
.gw-title em{font-style:normal;background:linear-gradient(105deg,var(--glow1) 8%,var(--glow2) 60%,var(--glow3) 105%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.gw-sub{color:var(--t2);font-size:clamp(15px,1.25vw,17px);line-height:1.85;max-width:56ch;margin-bottom:34px}

/* 检测框:发光焦点,页面唯一强 CTA */
.gw-search{display:flex;gap:10px;max-width:560px;padding:8px;border-radius:16px;border:1px solid rgba(238,242,247,.1);background:rgba(16,19,29,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .25s,box-shadow .25s}
.gw-search:focus-within{border-color:rgba(148,160,255,.55);box-shadow:0 0 0 4px rgba(148,160,255,.12),0 0 44px rgba(124,140,248,.22)}
.gw-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;padding:13px 14px;color:var(--t1);font-family:var(--mono);font-size:16px}
.gw-search input::placeholder{color:var(--t3);font-family:var(--sans);font-size:15px}
.gw-search button{padding:0 30px;border:none;border-radius:11px;background:linear-gradient(120deg,#5ce4f7,var(--accent) 55%,#0ea5e9);color:#04141a;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 0 26px rgba(34,211,238,.3);transition:box-shadow .25s,transform .15s}
.gw-search button:hover{box-shadow:0 0 44px rgba(34,211,238,.45);transform:translateY(-1px)}
.gw-search button:active{transform:none}
.gw-selfip{margin-top:18px;font-family:var(--mono);font-size:12.5px;color:var(--t3)}
.gw-selfip a{color:var(--acl)}
.rp-search{margin:14px 0 6px}

/* 标本卡:玻璃质感的微缩报告,产品即证明 */
.gw-specimen{position:relative;border-radius:20px;border:1px solid rgba(238,242,247,.1);background:linear-gradient(160deg,rgba(19,23,35,.72),rgba(11,14,22,.85));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:22px 24px 26px;box-shadow:0 30px 80px rgba(0,0,0,.4),inset 0 1px 0 rgba(238,242,247,.07);animation:gw-in .7s cubic-bezier(.2,.6,.2,1) forwards,gw-float 9s ease-in-out 1s infinite}
@keyframes gw-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.gw-spec-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);padding-bottom:16px;border-bottom:1px solid rgba(238,242,247,.07);margin-bottom:20px}
.gw-spec-ip{letter-spacing:.04em;color:var(--t2)}
.gw-spec-main{display:flex;align-items:center;gap:24px}
.gw-ring{position:relative;width:128px;height:128px;flex-shrink:0}
.gw-ring svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.gw-ring-bg{fill:none;stroke:rgba(238,242,247,.08);stroke-width:7}
.gw-ring-fg{fill:none;stroke:var(--glow2);stroke-width:7;stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:13;filter:drop-shadow(0 0 9px rgba(34,211,238,.65));animation:gw-ring 1.6s cubic-bezier(.3,0,.2,1) .5s backwards}
@keyframes gw-ring{from{stroke-dashoffset:326.7}}
.gw-ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.gw-ring-txt b{font-family:var(--mono);font-size:38px;font-weight:700;letter-spacing:-.04em;color:var(--t1);text-shadow:0 0 28px rgba(34,211,238,.4)}
.gw-ring-txt i{font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--t3)}
.gw-spec-rows{list-style:none;flex:1;min-width:0}
.gw-spec-rows li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(238,242,247,.06);font-size:12.5px}
.gw-spec-rows li:last-child{border-bottom:none}
.gw-spec-rows span{color:var(--t3)}
.gw-spec-rows b{font-family:var(--mono);font-weight:500;color:var(--good);white-space:nowrap}

/* 数据源带:等宽低调陈列,氛围透出 */
.gw-sources{padding:8px 0 40px}
.gw-band-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin-bottom:14px}
.gw-src-band{display:flex;flex-wrap:wrap;gap:8px 10px}
.gw-src-band span{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;color:var(--t2);padding:6px 12px;border:1px solid rgba(238,242,247,.07);border-radius:999px;background:rgba(16,19,29,.4)}
.gw-src-band span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--glow2);box-shadow:0 0 7px var(--glow2);opacity:.85}
.gw-src-band span:nth-child(3n)::before{background:var(--glow1);box-shadow:0 0 7px var(--glow1)}
.gw-src-band span:nth-child(3n+2)::before{background:var(--glow3);box-shadow:0 0 7px var(--glow3)}

/* 三步:编辑部式编号行,不做图标卡片 */
.gw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);padding:34px 0;border-top:1px solid rgba(238,242,247,.07)}
.gw-n{font-family:var(--mono);font-size:12px;color:var(--t3);letter-spacing:.18em;display:block;margin-bottom:12px}
.gw-step h3{font-size:16.5px;font-weight:700;color:var(--t1);margin-bottom:8px;letter-spacing:-.01em}
.gw-step p{font-size:13.5px;color:var(--t2);line-height:1.8}

/* 宣言:一段情绪化陈述收尾 */
.gw-manifesto{padding:44px 0 26px;border-top:1px solid rgba(238,242,247,.07);max-width:760px}
.gw-manifesto p{font-size:clamp(17px,1.6vw,21px);line-height:1.9;color:var(--t2);margin-bottom:18px}
.gw-manifesto p::before{content:"§";font-family:var(--mono);color:var(--ac);margin-right:12px;opacity:.8}
.gw-manifesto a{font-family:var(--mono);font-size:13px;color:var(--acl);letter-spacing:.04em}
.gw-manifesto a:hover{text-shadow:0 0 18px rgba(148,160,255,.6)}

@media(max-width:1020px){
  .gw-hero{grid-template-columns:1fr;gap:36px;padding-top:36px}
  .gw-specimen{max-width:460px}
}
@media(max-width:640px){
  .gw-title{font-size:clamp(34px,9vw,44px)}
  .gw-search{flex-direction:column;padding:10px}
  .gw-search button{padding:14px;width:100%}
  .gw-steps{grid-template-columns:1fr;gap:24px}
  .gw-spec-main{flex-direction:column;align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){
  .ring-progress{animation:none;stroke-dashoffset:var(--final)}.spinner{animation:none}
  .gw-blob,.gw-pulse{animation:none}
  .gw-in{animation:none;opacity:1;transform:none}
  .gw-specimen{animation:none;opacity:1;transform:none}
  .gw-ring-fg{animation:none}
}

/* ---------- 响应式 ---------- */
@media(max-width:1280px){
  .score-banner{grid-template-columns:auto 1fr;align-items:center}
  .score-kpis{grid-column:1/-1}
  .score-meta{grid-column:1/-1}
}
@media(max-width:1080px){
  .report-cols{grid-template-columns:1fr}
  .header-tool{display:none}
}
@media(max-width:900px){
  .nm-dashboard::before{display:none}
  .site-header{position:static}
  .header-inner{min-height:auto;padding:12px 18px;display:grid;grid-template-columns:1fr auto;gap:12px}
  .brand-logo{grid-column:1}
  .header-actions{grid-column:2;grid-row:1}
  .top-nav{grid-column:1/-1;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .top-nav::-webkit-scrollbar{display:none}
  .nav-link{min-height:38px;padding:0 11px;font-size:13px;border-radius:7px}
  .nav-link::after{display:none}
  .status-tag{display:none}
  .content{padding:18px 18px 48px}
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-right{display:none}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-note{text-align:left;grid-column:1/-1}
}
@media(max-width:560px){
  .search-box{flex-direction:column}.search-box button{padding:14px;width:100%}
  .score-banner{grid-template-columns:1fr;text-align:center;padding:18px}
  .score-ring{margin:0 auto}
  .score-kpis{grid-template-columns:1fr}
  .kpi-card{border-right:none;border-bottom:1px solid var(--border);text-align:left}
  .kpi-card:last-child{border-bottom:none}
  .header-inner{grid-template-columns:1fr}
  .header-actions{grid-column:1;grid-row:2;justify-content:space-between}
  .top-nav{grid-row:3}
  .sb-lang a{min-width:38px}
  .cards{grid-template-columns:1fr}
  .bd-item{align-items:flex-start;flex-wrap:wrap}
  .bd-item .bd-sources{flex:1 1 100%;text-align:left}
}

/* ==================== NMIP 浅色检测控制台（截图还原版） ==================== */
body.result-shell,
body:has(.nm-dashboard){
  --nm-bg:#f8fafc;
  --nm-panel:#ffffff;
  --nm-line:#e6ebf2;
  --nm-line2:#dfe6ef;
  --nm-ink:#101827;
  --nm-text:#334155;
  --nm-muted:#64748b;
  --nm-soft:#f4f7fb;
  --nm-green:#2bbf7f;
  --nm-red:#ff444a;
  --nm-red2:#ef3d45;
  --nm-blue:#3478f6;
  --nm-orange:#f59e0b;
  --nm-radius:10px;
  background:var(--nm-bg);
  color:var(--nm-ink);
}
body.result-shell .site-header,
body.result-shell .site-footer,
body:has(.nm-dashboard) .site-header,
body:has(.nm-dashboard) .site-footer{display:none}
body.result-shell .app,
body:has(.nm-dashboard) .app{min-height:100vh}
body.result-shell .content,
body:has(.nm-dashboard) .content{width:100%;max-width:none;padding:0;margin:0;z-index:auto}
.nm-dashboard{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f8fafc;color:var(--nm-ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;line-height:1.45}
.nm-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:rgba(255,255,255,.92);border-right:1px solid #e7edf4;padding:24px 18px 18px;box-shadow:14px 0 40px rgba(15,23,42,.03)}
.nm-brand{display:flex;align-items:center;gap:12px;margin:0 6px 28px;color:#111827}
.nm-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:#25bf80;background:linear-gradient(145deg,#27c789,#20b972);box-shadow:0 14px 24px rgba(35,190,127,.18)}
.nm-brand-mark svg{width:28px;height:28px;color:#fff}
.nm-brand b{display:block;font-size:21px;line-height:1;font-weight:800;letter-spacing:0}
.nm-brand i{display:block;margin-top:4px;font-style:normal;font-size:13px;color:#475569;font-weight:600}
.nm-menu{display:flex;flex-direction:column;gap:8px}
.nm-menu a{display:flex;align-items:center;gap:13px;height:44px;padding:0 15px;border-radius:8px;color:#334155;font-size:14px;font-weight:700}
.nm-menu a.active{background:linear-gradient(90deg,rgba(43,191,127,.14),rgba(43,191,127,.05));color:#18a66b}
.nm-menu a:hover{background:#f3f7fb;color:#0f172a}
.mi{position:relative;width:17px;height:17px;display:inline-block;color:currentColor;flex:0 0 auto}
.mi::before,.mi::after{content:"";position:absolute;border:1.8px solid currentColor;border-radius:3px}
.mi-grid::before{inset:1px 10px 10px 1px;box-shadow:9px 0 0 -1.8px currentColor,0 9px 0 -1.8px currentColor,9px 9px 0 -1.8px currentColor}
.mi-grid::after{display:none}
.mi-clock::before{inset:1px;border-radius:50%}.mi-clock::after{left:8px;top:4px;width:5px;height:6px;border-top:none;border-right:none}
.mi-bell::before{left:3px;right:3px;top:2px;bottom:4px;border-radius:8px 8px 4px 4px}.mi-bell::after{left:7px;right:7px;bottom:1px;height:2px;border:none;background:currentColor;border-radius:4px}
.mi-box::before{inset:2px}.mi-box::after{inset:6px;border-radius:1px}
.mi-api::before{inset:2px;border-radius:4px}.mi-api::after{left:5px;right:5px;top:8px;height:1.8px;border:none;background:currentColor;box-shadow:0 -4px 0 currentColor,0 4px 0 currentColor}
.mi-data::before{inset:2px 3px;border-radius:3px}.mi-data::after{left:5px;right:5px;top:6px;height:1.8px;border:none;background:currentColor;box-shadow:0 4px 0 currentColor}
.mi-team::before{left:1px;top:3px;width:6px;height:6px;border-radius:50%;box-shadow:9px 0 0 -1.8px currentColor}.mi-team::after{left:0;right:0;bottom:2px;height:6px;border-radius:7px 7px 2px 2px}
.mi-gear::before{inset:2px;border-radius:50%}.mi-gear::after{inset:6px;border-radius:50%}
.mi-mail::before{inset:2px 1px;border-radius:3px}.mi-mail::after{left:3px;right:3px;top:4px;height:7px;border-width:0 0 1.8px 1.8px;border-radius:0;transform:rotate(-45deg)}
.mi-search::before{left:1px;top:1px;width:9px;height:9px;border-radius:50%}.mi-search::after{width:7px;height:1.8px;right:0;bottom:2px;border:0;background:currentColor;transform:rotate(45deg);transform-origin:right center}
.mi-radar::before{inset:1px;border-radius:50%}.mi-radar::after{inset:5px;border-radius:50%;box-shadow:0 0 0 1px currentColor}
.mi-info::before{inset:1px;border-radius:50%}.mi-info::after{left:7.5px;top:6px;width:2px;height:7px;border:0;background:currentColor;border-radius:2px;box-shadow:0 -3px 0 -0.25px currentColor}
.mi-refresh::before{inset:2px;border-radius:50%;border-left-color:transparent}.mi-refresh::after{right:0;top:1px;width:5px;height:5px;border-left:0;border-bottom:0;border-radius:1px;transform:rotate(8deg)}
.mi-scan::before{inset:2px;border-radius:50%}.mi-scan::after{left:7px;top:0;width:3px;height:8px;border:0;border-left:1.8px solid currentColor;transform:rotate(45deg);transform-origin:bottom}.mi-shield::before{left:2px;right:2px;top:1px;bottom:1px;border-radius:8px 8px 5px 5px;clip-path:polygon(50% 0,100% 18%,90% 72%,50% 100%,10% 72%,0 18%)}.mi-shield::after{display:none}
.nm-quota{margin-top:auto;margin-bottom:28px;border:1px solid #e1e8f0;border-radius:8px;padding:16px 14px;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.04)}
.nm-quota span{display:block;font-size:13px;font-weight:700;color:#0f172a;margin-bottom:10px}
.nm-quota b{display:block;color:#16b773;font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}
.nm-quota b i{font-style:normal;color:#475569;font-weight:700}
.nm-quota em{display:block;margin-top:12px;font-style:normal;color:#64748b;font-size:12px}
.nm-user{display:grid;grid-template-columns:38px minmax(0,1fr) 12px;align-items:center;gap:12px;border-top:1px solid #e7edf4;border-bottom:1px solid #e7edf4;padding:18px 0;margin-bottom:15px}
.nm-avatar,.nm-profile{display:grid;place-items:center;border-radius:50%;background:#ffe7e9;color:#ef3d45;font-weight:800;font-size:12px}
.nm-avatar{width:38px;height:38px}.nm-user b{display:block;font-size:14px;color:#111827}.nm-user b i{font-style:normal;font-size:11px;color:#5d83c9;background:#edf4ff;border-radius:999px;padding:3px 7px;margin-left:5px}.nm-user small{display:block;color:#64748b;font-size:12px;margin-top:2px}
.nm-chevron{width:7px;height:7px;border-right:1.5px solid #94a3b8;border-bottom:1.5px solid #94a3b8;transform:rotate(45deg)}
.nm-collapse{display:flex;align-items:center;gap:10px;color:#64748b;font-size:13px}.nm-collapse span{width:8px;height:8px;border-left:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg)}
.nm-main{min-width:0;padding:14px 22px 22px;background:#f8fafc}
.nm-topbar{height:42px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.nm-topbar h1{font-size:18px;font-weight:800;color:#111827;letter-spacing:0;line-height:1}
.nm-actions{display:flex;align-items:center;gap:12px}
.nm-actions button,.nm-actions a{height:34px;display:inline-flex;align-items:center;gap:8px;border:1px solid #dfe6ef;border-radius:8px;background:#fff;color:#172033;padding:0 14px;font-size:13px;font-weight:750;box-shadow:0 3px 10px rgba(15,23,42,.02);font-family:inherit;cursor:pointer}
.nm-actions .dark{background:#171c29;border-color:#171c29;color:#fff;box-shadow:0 8px 18px rgba(15,23,42,.16)}
.nm-profile{width:34px;height:34px;background:#edf1f6;color:#475569;position:relative}.nm-profile i{position:absolute;right:-10px;width:7px;height:7px;border-right:1.5px solid #64748b;border-bottom:1.5px solid #64748b;transform:rotate(45deg)}
.ai{position:relative;width:15px;height:15px;display:inline-block}.ai::before,.ai::after{content:"";position:absolute;color:currentColor}
.ai-download::before{left:7px;top:1px;width:2px;height:9px;background:currentColor}.ai-download::after{left:3px;bottom:2px;width:10px;height:6px;border:1.7px solid currentColor;border-top:none}
.ai-radar::before{inset:2px;border:1.7px solid currentColor;border-radius:50%}.ai-radar::after{left:7px;top:7px;width:2px;height:2px;background:currentColor;border-radius:50%;box-shadow:4px -3px 0 currentColor}
.ai-refresh::before{inset:2px;border:1.7px solid currentColor;border-left-color:transparent;border-radius:50%}.ai-refresh::after{right:0;top:1px;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}
.ai-share::before{inset:3px;border:1.7px solid currentColor;border-radius:50%}.ai-share::after{left:2px;top:7px;width:11px;height:1.7px;background:currentColor;transform:rotate(-25deg)}
.nm-ipbar,.nm-card{background:#fff;border:1px solid var(--nm-line);border-radius:10px;box-shadow:0 8px 26px rgba(15,23,42,.03)}
.nm-ipbar{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;margin-bottom:18px}
.nm-ipline{display:flex;align-items:center;gap:16px}.nm-ipline strong{font-size:24px;letter-spacing:0;color:#111827;font-weight:800;font-family:Arial,var(--sans)}.nm-ipline button{width:19px;height:19px;border:none;background:transparent;position:relative;cursor:pointer}.nm-ipline button::before,.nm-ipline button::after{content:"";position:absolute;width:10px;height:12px;border:1.7px solid #334155;border-radius:2px;background:#fff}.nm-ipline button::before{left:2px;top:4px}.nm-ipline button::after{left:7px;top:1px}
.nm-ipbar p{font-size:12px;color:#64748b;margin-top:10px}.nm-ipbar p span{margin-left:26px}
.nm-tags{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.nm-tags span{height:28px;display:inline-flex;align-items:center;padding:0 13px;border-radius:8px;background:#f4f6fa;color:#263445;font-size:12px;font-weight:750}.nm-tags .asn{color:#1e3a8a}.nm-tags .asn::before{content:"";width:16px;height:16px;background:#3578f6;border-radius:4px;margin-right:7px}
.nm-hero-grid{display:grid;grid-template-columns:minmax(430px,1.42fr) minmax(300px,.98fr) minmax(320px,1.1fr);gap:18px;margin-bottom:18px}
.nm-card{padding:18px 20px;min-width:0}.nm-card h2{font-size:15px;line-height:1.2;color:#111827;font-weight:800;letter-spacing:0;margin:0}
.nm-card-title{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:18px}.nm-card-title h2{display:flex;align-items:center;gap:8px}
.nm-danger-pill,.nm-ok-pill{border-radius:999px;font-size:12px;font-weight:800;padding:4px 10px}.nm-danger-pill{color:#fff;background:#ff5d61}.nm-ok-pill{color:#1fa973;background:#e9f8f0}
.nm-risk-card{background:linear-gradient(138deg,#fff 0%,#fff7f7 100%);border-color:#ffdfe1}.nm-risk-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:center}
.nm-gauge{position:relative;height:170px}.nm-gauge svg{position:absolute;left:0;top:0;width:240px;height:145px;overflow:visible}.nm-gauge path{fill:none;stroke-width:12;stroke-linecap:round}.nm-gauge .g-bg{stroke:#e8edf3}.nm-gauge .g-fg{stroke-dasharray:267;stroke-dashoffset:calc(267 - (var(--score) * 2.67));filter:drop-shadow(0 5px 8px rgba(239,61,69,.18))}
.nm-gauge div{position:absolute;left:0;top:48px;width:220px;text-align:center}.nm-gauge b{font-size:50px;line-height:1;color:#111827;font-weight:800}.nm-gauge span{font-size:15px;color:#334155;margin-left:4px}.nm-gauge em{display:block;font-style:normal;color:#64748b;font-size:13px;margin-top:8px}
.nm-risk-copy span,.nm-meter-row span,.nm-data-row span{color:#64748b;font-size:13px;font-weight:650}.nm-risk-copy strong{display:block;font-size:27px;line-height:1.15;margin:8px 0 5px;font-weight:900}.nm-risk-copy>i{display:inline-flex;color:#ff4d51;background:#fff0f1;border-radius:999px;padding:4px 10px;font-style:normal;font-size:12px;font-weight:800;margin-bottom:14px}
.nm-risk-copy>i>b{width:14px;height:14px;margin-left:7px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:8px;font-family:serif}
.nm-meter-row,.nm-data-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.nm-meter-row b,.nm-data-row b{font-size:13px;color:#111827}.nm-meter{height:5px;background:#e9edf3;border-radius:99px;overflow:hidden;margin:7px 0 8px}.nm-meter i{display:block;height:100%;background:#28bf7e;border-radius:99px}.nm-alert{height:34px;display:flex;align-items:center;border-radius:6px;background:#ffe2e4;color:#ef3d45;font-size:13px;font-weight:750;padding:0 14px;margin-top:6px}.nm-alert::before{content:"!";display:grid;place-items:center;width:16px;height:16px;border:1.6px solid currentColor;border-radius:50%;margin-right:8px;font-size:11px}
.nm-confidence{display:flex;align-items:center;gap:7px!important;color:#19a66c!important}.nm-confidence i{width:15px;height:17px;display:block;border:1.6px solid currentColor;clip-path:polygon(50% 0,100% 18%,86% 82%,50% 100%,14% 82%,0 18%)}
.nm-data-row .nm-confidence{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px!important;line-height:1.2}.nm-data-row .nm-confidence>i{width:18px;height:20px;display:grid;place-items:center;flex:0 0 18px;border:0;clip-path:none}.nm-data-row .nm-confidence>i svg{width:18px;height:20px;display:block;overflow:visible;fill:currentColor;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nm-data-row .nm-confidence .nm-health-mark{fill:none}.nm-confidence.health-healthy .nm-health-warn,.nm-confidence.health-healthy .nm-health-cross,.nm-confidence.health-degraded .nm-health-check,.nm-confidence.health-degraded .nm-health-cross,.nm-confidence.health-poor .nm-health-check,.nm-confidence.health-poor .nm-health-warn{display:none}.nm-data-row .nm-confidence>span{display:inline-block;white-space:nowrap}
.ai-grid{display:grid;grid-template-columns:repeat(5,54px);gap:18px 20px;margin-bottom:22px}.logo{position:relative;width:54px;height:54px;display:grid;place-items:center;border:1px solid #dfe6ef;border-radius:12px;background:#fff;font-weight:900;font-size:24px;color:#111827;box-shadow:0 8px 18px rgba(15,23,42,.04)}.logo::after{content:"";position:absolute;right:-4px;bottom:-4px;width:10px;height:10px;border-radius:50%;border:2px solid #fff}.logo.ok::after{background:#28bf7e}.logo.bad::after{background:#ef3d45}.logo.unk::after{background:#94a3b8}.claude{background:#ffe0cf}.google{color:#4285f4}.meta{color:#3067d6}.tiktok{background:#080b0f;color:#fff}.whatsapp{color:#21c466}.telegram{color:#229ed9}.aws{font-size:17px}.facebook{color:#1877f2}
.logo svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.logo b{font:inherit}.logo.openai svg{width:34px;height:34px}.logo.claude{background:linear-gradient(145deg,#ffd9c7,#f6a77f);color:#111827}.logo.claude b{font-size:24px}.logo.google b{font-family:Arial,sans-serif;font-size:27px}.logo.meta svg{width:36px;color:#2871da}.logo.tiktok svg{width:31px;height:31px;filter:drop-shadow(-2px 0 #20d5d2) drop-shadow(2px 0 #ff315b)}.logo.whatsapp{background:#24d366;color:#fff;border-color:#24d366}.logo.telegram{background:#279ed8;color:#fff;border-color:#279ed8}.logo.aws b{font-family:Arial,sans-serif;font-size:17px;text-transform:lowercase}.logo.aws i{position:absolute;width:27px;height:8px;bottom:10px;border-bottom:2px solid #f59e0b;border-radius:0 0 50% 50%;transform:rotate(5deg)}.logo.facebook{background:#1877f2;color:#fff;border-color:#1877f2}.logo.facebook b{font-family:Arial,sans-serif;font-size:34px;line-height:1;align-self:end;margin-bottom:-3px}
.nm-legend{border-top:1px solid #edf1f6;padding-top:12px;color:#475569;font-size:12px;display:flex;align-items:center;gap:10px}.nm-legend span{width:9px;height:9px;border-radius:50%;display:inline-block}.nm-legend .ok{background:#2bbf7f}.nm-legend .warn{background:#f59e0b}.nm-legend .bad{background:#ef3d45}.nm-legend .unk{background:#94a3b8}.nm-link{display:inline-flex;align-items:center;gap:8px;color:#3478f6;font-size:12px;font-weight:800;margin-top:14px}.nm-link::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.nm-advice-body{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:18px;align-items:center}.nm-advice strong{display:block;color:#ff3038;font-size:16px;margin:12px 0 16px}.nm-advice ul{padding-left:18px;color:#334155;font-size:13px;line-height:2}.nm-shield{position:relative;width:104px;height:104px;margin:auto;border-radius:50%;background:radial-gradient(circle,#ffe6e8 0,#fff4f5 55%,transparent 56%)}.nm-shield::before{content:"";position:absolute;inset:16px;background:linear-gradient(145deg,#ff5c62,#ef3d45);clip-path:polygon(50% 0,88% 16%,82% 72%,50% 100%,18% 72%,12% 16%);box-shadow:0 18px 24px rgba(239,61,69,.22)}.nm-shield::after{content:"!";position:absolute;left:41px;top:41px;width:23px;height:23px;border-radius:50%;background:#fff;color:#ef3d45;display:grid;place-items:center;font-weight:900}.nm-wide-link{height:42px;display:flex;align-items:center;justify-content:space-between;border:1px solid #e2e8f0;border-radius:8px;padding:0 14px;color:#1f2937;font-size:13px;font-weight:800;margin-top:18px}.nm-wide-link span{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg)}
.nm-advice.advice-safe strong{color:#16a66d}.nm-advice.advice-caution strong{color:#d98a00}.nm-advice.advice-danger strong{color:#ef3038}
.nm-advice.advice-safe .nm-shield{background:radial-gradient(circle,#ddf8ea 0,#f1fcf6 55%,transparent 56%)}.nm-advice.advice-safe .nm-shield::before{background:linear-gradient(145deg,#39ca8c,#18a969);box-shadow:0 18px 24px rgba(24,169,105,.2)}.nm-advice.advice-safe .nm-shield::after{content:"✓";color:#18a969}
.nm-advice.advice-caution .nm-shield{background:radial-gradient(circle,#fff1ca 0,#fff9e9 55%,transparent 56%)}.nm-advice.advice-caution .nm-shield::before{background:linear-gradient(145deg,#ffc94d,#e89a0a);box-shadow:0 18px 24px rgba(232,154,10,.2)}.nm-advice.advice-caution .nm-shield::after{content:"!";color:#d98a00}
.nm-mid-grid{display:grid;grid-template-columns:minmax(520px,1.65fr) minmax(230px,.72fr) minmax(300px,.96fr);gap:18px;margin-bottom:18px}.nm-summary .nm-card-title{justify-content:flex-start}.nm-summary .nm-card-title span{font-size:12px;color:#94a3b8;font-weight:800}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.summary-grid div{position:relative;min-height:68px;border:1px solid #e5ebf3;border-radius:8px;padding:13px 44px 12px 14px;background:#fff}.summary-grid b{display:block;font-size:12px;color:#1f2937;margin-bottom:8px}.summary-grid strong{display:block;font-size:12px;font-weight:850}.summary-grid .bad{color:#ff3b42}.summary-grid .ok{color:#21b979}.summary-grid i{position:absolute;right:15px;top:23px;width:25px;height:25px;border:1.8px solid currentColor;border-radius:7px;color:#ff6b70;opacity:.9}
.nm-summary{padding:18px 20px 16px}
.nm-summary .nm-card-title{margin-bottom:14px}
.nm-summary .nm-card-title h2{font-size:15px}
.nm-summary .nm-card-title span{font-size:12px;color:#9aa8bc;font-weight:800}
.summary-grid{gap:10px 10px}
.summary-grid div{
  min-height:68px;
  border:1px solid #e3e9f1;
  border-radius:8px;
  padding:13px 48px 11px 14px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.025);
}
.summary-grid b{
  font-size:12px;
  line-height:1.1;
  color:#172033;
  font-weight:800;
  margin-bottom:9px;
}
.summary-grid strong{
  display:block;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
}
.summary-grid .bad{color:#ff3f48}
.summary-grid .ok{color:#1fbd83}
.summary-grid i{
  position:absolute;
  right:16px;
  top:25px;
  width:24px;
  height:24px;
  color:#ff6a72;
  border:0;
  border-radius:0;
  opacity:1;
}
.summary-grid i::before,
.summary-grid i::after{content:"";position:absolute;box-sizing:border-box}
.summary-grid .s-tor{color:#55c99a}
.s-proxy::before{left:3px;top:4px;width:14px;height:14px;border:1.8px solid currentColor;border-radius:50%}
.s-proxy::after{left:11px;top:12px;width:8px;height:8px;border:1.8px solid currentColor;border-radius:50%;box-shadow:-7px 6px 0 -2px currentColor,6px 5px 0 -2px currentColor}
.s-vpn::before{inset:0;border-radius:50%;background:color-mix(in srgb,currentColor 12%,transparent)}
.s-vpn::after{content:"VPN";left:3px;top:8px;color:currentColor;font-size:8px;font-weight:900;line-height:1;font-style:normal}
.s-tor::before{left:8px;top:3px;width:10px;height:17px;border:1.7px solid currentColor;border-radius:50% 50% 48% 48%;border-top-color:transparent;transform:rotate(18deg)}
.s-tor::after{left:11px;top:0;width:6px;height:8px;border:1.6px solid currentColor;border-bottom:none;border-radius:8px 8px 0 0;transform:rotate(-20deg)}
.s-dc::before{left:5px;top:2px;width:14px;height:20px;border:1.8px solid currentColor;border-radius:3px}
.s-dc::after{left:8px;top:6px;width:8px;height:1.8px;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor}
.s-home::before{left:4px;top:10px;width:16px;height:12px;border:1.8px solid currentColor;border-top:none;border-radius:2px}
.s-home::after{left:4px;top:4px;width:16px;height:16px;border-left:1.8px solid currentColor;border-top:1.8px solid currentColor;transform:rotate(45deg);border-radius:2px}
.s-phone::before{left:7px;top:2px;width:11px;height:20px;border:1.8px solid currentColor;border-radius:3px}
.s-phone::after{left:11px;bottom:4px;width:3px;height:3px;background:currentColor;border-radius:50%}
.s-smile::before{inset:2px;border:1.8px solid currentColor;border-radius:50%}
.s-smile::after{left:7px;top:8px;width:10px;height:7px;border-left:1.7px solid currentColor;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;border-radius:0 0 10px 10px;box-shadow:1px -3px 0 -1px currentColor,-5px -3px 0 -1px currentColor}
.s-warn::before{left:2px;top:3px;width:20px;height:18px;border:1.8px solid currentColor;clip-path:polygon(50% 0,100% 100%,0 100%)}
.s-warn::after{left:11px;top:9px;width:2px;height:7px;background:currentColor;box-shadow:0 9px 0 0 currentColor}
.summary-grid i{
  width:28px;
  height:28px;
  right:14px;
  top:22px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:28px 28px;
}
.summary-grid i::before,
.summary-grid i::after{display:none}
.summary-grid .s-proxy{background-image:url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='11' r='6.5' stroke='%23ff6a72' stroke-width='1.8'/%3E%3Ccircle cx='18.5' cy='18.5' r='3.6' stroke='%23ff6a72' stroke-width='1.8'/%3E%3Cpath d='M8 22h3M20 7l2-2M5 18l-2 2' stroke='%23ff6a72' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='11' r='1.6' fill='%23ff6a72'/%3E%3Ccircle cx='18.5' cy='18.5' r='1.1' fill='%23ff6a72'/%3E%3C/svg%3E")}
.summary-grid .s-vpn{background-image:url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14' cy='14' r='12' fill='%23ffedf0'/%3E%3Ctext x='14' y='17' text-anchor='middle' font-family='Arial,sans-serif' font-size='7.5' font-weight='800' fill='%23ff5962'%3EVPN%3C/text%3E%3C/svg%3E")}
.summary-grid .s-tor{background-image:url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 5c-1.4 2.7-4.5 4.8-4.5 9 0 4 2.3 6.6 5.1 6.6 3 0 5-2.6 5-6.2 0-3.7-2.8-6-5.6-9.4Z' stroke='%2355c99a' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M16.2 5c.8-1.6 2.1-2.6 3.7-3' stroke='%2355c99a' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.summary-grid .s-dc{background-image:url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='7' y='5' width='14' height='18' rx='2.5' stroke='%23ff6a72' stroke-width='1.8'/%3E%3Cpath d='M10 10h8M10 14h8M10 18h8' stroke='%23ff6a72' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='18' cy='10' r='1' fill='%23ff6a72'/%3E%3Ccircle cx='18' cy='14' r='1' fill='%23ff6a72'/%3E%3Ccircle cx='18' cy='18' r='1' fill='%23ff6a72'/%3E%3C/svg%3E")}
.summary-grid .s-home{background-image:url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 13.5 14 6l9 7.5' stroke='%23ff6a72' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 12.5V23h12V12.5' stroke='%23ff6a72' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M12 23v-6h4v6' stroke='%23ff6a72' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E")}
.summary-grid .s-phone{background-image:url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='9' y='4' width='10' height='20' rx='2.2' stroke='%23ff6a72' stroke-width='1.8'/%3E%3Cpath d='M12.5 7h3' stroke='%23ff6a72' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='14' cy='20.5' r='1.1' fill='%23ff6a72'/%3E%3C/svg%3E")}
.summary-grid .s-smile{background-image:url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14' cy='14' r='9' stroke='%23ff6a72' stroke-width='1.8'/%3E%3Ccircle cx='10.7' cy='11.5' r='1.1' fill='%23ff6a72'/%3E%3Ccircle cx='17.3' cy='11.5' r='1.1' fill='%23ff6a72'/%3E%3Cpath d='M10.5 16.2c1.7 2 5.3 2 7 0' stroke='%23ff6a72' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.summary-grid .s-warn{background-image:url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 4.5 24 22H4L14 4.5Z' stroke='%23ff6a72' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M14 11v5' stroke='%23ff6a72' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='14' cy='19.5' r='1.1' fill='%23ff6a72'/%3E%3C/svg%3E")}
.trust-card h2,.nm-netinfo h2{margin-bottom:18px}.trust-ring{width:150px;height:150px;margin:0 auto;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(#2bbf7f calc(var(--trust)*1%),#e7ebf1 0);position:relative}.trust-ring::before{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.trust-ring b,.trust-ring span,.trust-ring em,.trust-ring i{position:relative;z-index:1}.trust-ring b{font-size:34px;line-height:1;font-weight:900}.trust-ring span{font-size:12px;color:#64748b}.trust-ring em{font-style:normal;font-size:12px;color:#475569;margin-top:7px}.trust-ring i{font-style:normal;margin-top:7px;color:#ef3d45;background:#fff1f2;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}
.nm-netinfo dl{display:grid;grid-template-columns:80px 1fr;gap:8px 10px;font-size:13px}.nm-netinfo dt{color:#64748b}.nm-netinfo dd{color:#111827;font-weight:750;min-width:0;overflow-wrap:anywhere}
.nm-info-grid{display:grid;grid-template-columns:1.45fr .72fr 1.25fr .72fr .72fr;gap:18px;margin-bottom:18px}.geo-content{display:grid;grid-template-columns:1fr 180px;gap:16px;align-items:center}.flag{font-size:33px;display:block;margin:6px 0}.geo-card b,.asn-card>b{font-size:15px;color:#111827}.geo-card p,.geo-card em,.asn-card p,.rdns-card p,.black-card p,.port-card p,.trend-card p,.mini-stat p{font-style:normal;color:#64748b;font-size:12px;margin-top:7px}.mini-map{height:92px;border-radius:8px;background:linear-gradient(135deg,#f7fbff,#eaf2fb);position:relative;overflow:hidden}.mini-map::before{content:"";position:absolute;inset:0;background:linear-gradient(25deg,transparent 45%,rgba(99,146,203,.12) 46% 52%,transparent 53%),linear-gradient(155deg,transparent 42%,rgba(99,146,203,.12) 43% 48%,transparent 49%)}.mini-map i{position:absolute;left:46%;top:48%;width:16px;height:16px;background:#2bbf7f;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.mini-map i::after{content:"";position:absolute;inset:5px;background:#fff;border-radius:50%}
.asn-card span{display:block;margin-top:16px;font-size:12px;color:#64748b}.asn-card span i{font-style:normal;background:#e8f1ff;color:#3478f6;border-radius:5px;padding:4px 8px;font-weight:800}.rdns-card code{display:inline-block;max-width:100%;background:#eafaf0;color:#0e9f6e;border-radius:6px;padding:7px 10px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rdns-card span{display:block;margin-top:15px;color:#64748b;font-size:12px}.rdns-card span b{color:#13a86f}.black-card b,.port-card b,.mini-stat b{display:block;color:#ff333b;font-size:23px;line-height:1;margin:12px 0 4px}.black-card b span,.port-card b span,.mini-stat b span{font-size:13px;color:#64748b;font-weight:750}.port-card p{display:flex;flex-wrap:wrap;gap:7px}.port-card p i{font-style:normal;color:#19a76e;background:#e9f8ef;border:1px solid #bee8d0;border-radius:5px;padding:4px 9px;font-size:12px}
.nm-bottom-grid{display:grid;grid-template-columns:1.75fr .72fr .72fr .72fr;gap:18px;margin-bottom:18px}.factor-line{display:grid;grid-template-columns:repeat(5,1fr);align-items:start;position:relative;padding-top:26px}.factor-line::before{content:"";position:absolute;left:8%;right:8%;top:35px;height:3px;background:#ccd4df}.factor-line span{position:relative;text-align:center;color:#ef3d45;font-size:12px;font-weight:850}.factor-line span b{display:block;position:relative;z-index:1;width:26px;height:26px;border-radius:50%;border:7px solid #ffdfe2;background:#ff484e;margin:0 auto 12px}.factor-line span.warn{color:#f59e0b}.factor-line span.warn b{background:#f5a43a;border-color:#ffe6c6}.factor-line span:not(.on):not(.warn){color:#64748b}.factor-line span:not(.on):not(.warn) b{background:#94a3b8;border-color:#e5e9ef}.factor-line em{display:block;font-style:normal;color:#64748b;font-size:11px;margin-top:5px;font-weight:650}.trend-card svg{width:100%;height:60px;margin-top:10px}.trend-card small{display:flex;justify-content:space-between;color:#64748b;font-size:11px}.mini-stat b{color:#111827}.mini-stat .neighbor-body{margin-top:8px;max-height:64px;overflow:hidden;font-size:11px;color:#64748b}.mini-stat .nb-grid{display:none}.mini-stat .nb-verdict{font-size:11px;margin-bottom:0}
.nm-accordions{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}.nm-accordions details{padding:0;overflow:hidden}.nm-accordions summary{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;cursor:pointer;color:#111827;font-size:13px;font-weight:850;list-style:none}.nm-accordions summary::-webkit-details-marker{display:none}.nm-accordions summary::after{content:"";width:8px;height:8px;border-right:1.7px solid #334155;border-bottom:1.7px solid #334155;transform:rotate(45deg)}.nm-accordions details[open] summary::after{transform:rotate(225deg)}.nm-accordions summary span{color:#64748b;font-weight:700}.detail-list{border-top:1px solid #edf1f6;max-height:320px;overflow:auto}.detail-list div{display:grid;grid-template-columns:1fr 1.1fr 50px 55px;gap:10px;padding:10px 14px;border-bottom:1px solid #edf1f6;font-size:12px}.detail-list b{color:#111827}.detail-list span{color:#64748b;overflow-wrap:anywhere}.detail-list i,.detail-list em{font-style:normal;text-align:right;font-weight:800}.detail-list .st-pass{color:#21b979}.detail-list .st-warn{color:#f59e0b}.detail-list .st-danger{color:#ef3d45}.nm-accordions pre{margin:0;border-top:1px solid #edf1f6;padding:14px;max-height:320px;overflow:auto;background:#fbfdff;color:#334155;font-family:var(--mono);font-size:11px}
.nm-accordions .raw-table-wrap{border-top:1px solid #edf1f6;max-height:320px;overflow:auto}.nm-dashboard .raw-table{font-size:11px;color:#334155;background:#fff}.nm-dashboard .raw-table th{color:#64748b;border-bottom:1px solid #e5ebf3;background:#f8fafc}.nm-dashboard .raw-table td{color:#334155;border-bottom:1px solid #edf1f6}.nm-dashboard .raw-table td:first-child,.nm-dashboard .raw-table th:first-child{background:#fff;color:#111827}.nm-dashboard .val-true{color:#ef3d45;font-weight:800}.nm-dashboard .val-false{color:#16a66d;font-weight:800}.nm-dashboard .val-na{color:#94a3b8}
@media(max-width:1500px){
  .nm-hero-grid{grid-template-columns:minmax(430px,1.25fr) minmax(320px,.9fr)}
  .nm-advice{grid-column:1/-1}
  .nm-advice-body{grid-template-columns:minmax(0,1fr) 140px}
  .nm-mid-grid{grid-template-columns:minmax(520px,1.55fr) minmax(220px,.72fr) minmax(280px,.9fr)}
  .nm-netinfo{grid-column:auto}
  .nm-info-grid{grid-template-columns:1.45fr .72fr 1.1fr .72fr .72fr}
}
@media(max-width:1120px){
  .nm-dashboard{grid-template-columns:220px minmax(0,1fr)}
  .nm-hero-grid,.nm-mid-grid{grid-template-columns:1fr}
  .nm-info-grid{grid-template-columns:repeat(2,1fr)}
  .nm-bottom-grid,.nm-accordions{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .nm-dashboard{display:block}
  .nm-side{position:relative;height:auto;padding:18px}.nm-menu{display:grid;grid-template-columns:repeat(2,1fr)}.nm-quota,.nm-user,.nm-collapse{display:none}
  .nm-main{padding:14px}.nm-topbar,.nm-ipbar{height:auto;align-items:flex-start;flex-direction:column}.nm-actions{flex-wrap:wrap}.nm-tags{justify-content:flex-start}.nm-risk-body,.geo-content{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}.nm-info-grid,.nm-bottom-grid,.nm-accordions{grid-template-columns:1fr}.factor-line{grid-template-columns:1fr;gap:16px}.factor-line::before{display:none}
}
@media(max-width:560px){
  .nm-menu,.summary-grid{grid-template-columns:1fr}
  .ai-grid{grid-template-columns:repeat(3,54px)}
  .nm-ipline strong{font-size:20px}.nm-card{padding:16px}.nm-gauge svg{width:220px}.nm-gauge div{width:210px}
}

/* 结果页精修：非全屏容器、统一节奏、修正细节错位 */
body.result-shell,
body:has(.nm-dashboard){
  background:#eef3f8;
}
/* 全局工作台页面切换：短促分层进入，避免整屏内容瞬间出现 */
.nm-motion-enabled .nm-dashboard .nm-page-enter{opacity:0;transform:translateY(8px)}.nm-motion-enabled .nm-dashboard.nm-page-ready .nm-page-enter{opacity:1;transform:none;transition:opacity .34s ease var(--page-enter-delay,0ms),transform .34s cubic-bezier(.2,.75,.25,1) var(--page-enter-delay,0ms)}.nm-motion-enabled .nm-dashboard>.nm-main{transition:opacity .12s ease,transform .12s ease}.nm-motion-enabled .nm-dashboard.nm-page-leaving>.nm-main{opacity:.72;transform:translateY(2px)}.nm-motion-enabled .nm-menu a.is-leaving{background:#e8f7f1;color:#159b65;transform:scale(.97)}.nm-motion-enabled .nm-menu a{transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .12s}.nm-motion-enabled .nm-card,.nm-motion-enabled .tool-panel,.nm-motion-enabled .mailrep-summary-grid>article,.nm-motion-enabled .aienv-primary-grid>.nm-card{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.nm-motion-enabled .nm-card:hover{box-shadow:0 10px 30px rgba(15,23,42,.055)}
@media(prefers-reduced-motion:reduce){.nm-dashboard .nm-page-enter,.nm-dashboard.nm-page-ready .nm-page-enter,.nm-dashboard>.nm-main{opacity:1!important;transform:none!important;transition:none!important}}
.nm-dashboard{
  position:relative;
  width:min(100% - 32px,1680px);
  min-height:100vh;
  margin:0 auto;
  border:1px solid #dde6ef;
  border-top:0;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(15,23,42,.08);
}
.nm-dashboard::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0 auto 0 0;
  width:248px;
  background:#fbfdff;
  border-right:1px solid #e7edf4;
  pointer-events:none;
}
.nm-dashboard>.nm-side,.nm-dashboard>.nm-main{position:relative;z-index:1}
.nm-dashboard.sidebar-collapsed::before{width:82px}
.nm-sidebar-pref-collapsed .nm-dashboard{grid-template-columns:82px minmax(0,1fr)}.nm-sidebar-pref-collapsed .nm-dashboard::before{width:82px}
.nm-side{
  height:100vh;
  top:0;
  background:#fbfdff;
}
.nm-main{
  padding:18px 22px 24px;
  background:#f6f9fc;
}
.nm-topbar{
  height:38px;
  margin-bottom:14px;
}
.nm-ipbar{
  min-height:84px;
  padding:17px 20px;
}
.nm-tags{
  gap:10px;
}
.nm-tags span{
  height:28px;
  padding:0 12px;
  border-radius:7px;
}
.nm-card{
  border-color:#dfe7f0;
  border-radius:10px;
  box-shadow:0 10px 28px rgba(15,23,42,.035);
}
.nm-hero-grid,
.nm-mid-grid,
.nm-info-grid,
.nm-bottom-grid,
.nm-accordions{
  gap:16px;
  margin-bottom:16px;
}
.nm-risk-card,
.nm-ai-card,
.nm-advice{
  min-height:304px;
}
.nm-risk-card{display:flex;flex-direction:column;padding:19px 22px 18px}.nm-risk-card .nm-card-title{justify-content:flex-start;margin-bottom:10px}.nm-risk-card .nm-card-title h2{font-size:16px;line-height:1;font-weight:700}.nm-risk-card .nm-risk-pill{margin-left:8px;padding:5px 11px;font-size:11px;line-height:1}.nm-risk-card .nm-risk-body{flex:1}.nm-risk-card .nm-alert{margin-top:auto}
.nm-risk-body{
  grid-template-columns:250px minmax(0,1fr);
  gap:26px;
  align-items:center;
}
.nm-risk-gauge{position:relative;width:250px;aspect-ratio:300/202;align-self:center;justify-self:center}
.nm-risk-gauge svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.nm-risk-gauge path{fill:none;stroke-width:12;stroke-linecap:round}
.nm-risk-gauge .g-bg{stroke:#e8edf3}
.nm-risk-gauge .g-fg{stroke:var(--risk-color);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--risk-score));filter:drop-shadow(0 5px 8px color-mix(in srgb,var(--risk-color) 24%,transparent));animation:nm-gauge-draw 1.05s cubic-bezier(.22,.8,.25,1) both}
.nm-risk-gauge-copy{position:absolute;inset:0;text-align:center;pointer-events:none}
.nm-risk-gauge-copy>div{position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);display:flex;align-items:flex-end;justify-content:center;gap:7px;line-height:1;white-space:nowrap}
.nm-risk-gauge-copy b{font-size:48px;line-height:.88;color:#111827;font-weight:650}
.nm-risk-gauge-copy span{font-size:13px;line-height:1;color:#475569;margin-bottom:3px}
.nm-risk-gauge-copy em{position:absolute;left:50%;top:84%;transform:translateX(-50%);font-style:normal;color:#64748b;font-size:12px;line-height:1;white-space:nowrap}
.nm-risk-card .nm-risk-copy{padding:5px 2px 0 0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.nm-risk-card .nm-risk-copy>span{font-size:12px;line-height:1.2;font-weight:500;margin:0 0 5px}
.nm-risk-card .nm-risk-copy>strong{font-size:24px;line-height:1.1;font-weight:700;margin:0 0 7px}
.nm-risk-card .nm-risk-copy>i{align-self:flex-start;min-height:25px;align-items:center;font-size:11px;line-height:1;padding:5px 10px;margin:0 0 15px}
.nm-risk-card .nm-risk-copy>i>b{width:13px;height:13px;margin-left:6px;font-size:7px}
.nm-risk-card .nm-meter-row,.nm-risk-card .nm-data-row{min-height:25px;margin:0;font-size:12px}
.nm-risk-card .nm-meter-row span,.nm-risk-card .nm-data-row span{font-size:12px;line-height:1;font-weight:500}
.nm-risk-card .nm-meter-row b,.nm-risk-card .nm-data-row b{font-size:12px;line-height:1;font-weight:600}
.nm-risk-card .nm-meter{height:4px;margin:2px 0 8px}
.nm-risk-card .nm-alert{height:36px;min-height:36px;padding:0 14px;font-size:12px;line-height:1.2;border-radius:7px}
@keyframes nm-gauge-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:calc(100 - var(--risk-score))}}
.nm-alert{
  margin-top:2px;
  height:34px;
}
.ai-grid{
  grid-template-columns:repeat(5,52px);
  justify-content:space-between;
  gap:18px 10px;
}
.logo{
  width:52px;
  height:52px;
}
.nm-advice-body{
  min-height:158px;
}
.summary-grid div{
  min-height:66px;
}
.trust-card,
.nm-netinfo{
  min-height:220px;
}
.trust-ring{
  width:150px;
  height:150px;
}
.trust-card h2{margin-bottom:8px}
.trust-ring{position:relative;margin:0 auto;background:none;display:block;border-radius:0}
.trust-ring::before{display:none}
.trust-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.trust-ring circle{fill:none;stroke-width:8;stroke-linecap:round}
.trust-ring-bg{stroke:#e7eaf0}
.trust-ring-value{stroke:#27b77b}
.trust-ring-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:4px}
.trust-value{display:flex;align-items:flex-end;justify-content:center;gap:3px;line-height:1}
.trust-ring .trust-value b{font-size:34px;line-height:.92;font-weight:800;color:#111827;letter-spacing:0}
.trust-ring .trust-value span{font-size:11px;line-height:1;color:#64748b;margin-bottom:2px}
.trust-ring-copy em{font-style:normal;font-size:11px;line-height:1;color:#64748b;margin-top:9px}
.trust-ring-copy i{font-style:normal;font-size:11px;line-height:1;color:#ff5962;background:#fff0f1;border-radius:999px;padding:5px 9px;margin-top:8px;font-weight:800}

/* 结果页字体标尺：按 1536px 原设计统一字号与字重 */
.nm-dashboard{font-size:13px}
.nm-brand b{font-size:19px;font-weight:800}
.nm-brand i{font-size:12px;font-weight:600}
.nm-menu a{font-size:14px;font-weight:600}
.nm-quota span,.nm-user b{font-size:13px}
.nm-quota b{font-size:17px}
.nm-quota em,.nm-user small,.nm-collapse{font-size:11px}
.nm-topbar h1{font-size:18px;font-weight:700}
.nm-actions button,.nm-actions a{font-size:13px;font-weight:600}
.nm-ipline strong{font-size:21px;font-weight:700}
.nm-ipbar p{font-size:11px}
.nm-tags span{font-size:11px;font-weight:600}
.nm-card h2,.nm-summary .nm-card-title h2{font-size:15px;font-weight:700}
.nm-danger-pill,.nm-ok-pill{font-size:11px;font-weight:700}
.nm-gauge b{font-size:46px;font-weight:700}
.nm-gauge span{font-size:12px}
.nm-gauge em{font-size:11px}
.nm-risk-copy span,.nm-meter-row span,.nm-data-row span{font-size:12px;font-weight:500}
.nm-risk-copy strong{font-size:22px;font-weight:700}
.nm-risk-copy>i{font-size:10px;font-weight:700}
.nm-meter-row b,.nm-data-row b{font-size:12px;font-weight:600}
.nm-alert{font-size:12px;font-weight:600}
.nm-legend,.nm-link{font-size:12px}
.nm-advice strong{font-size:15px;font-weight:700}
.nm-advice ul{font-size:12px;line-height:1.9}
.nm-wide-link{font-size:12px;font-weight:600}
.nm-summary .nm-card-title span{font-size:12px;font-weight:600}
.summary-grid b{font-size:12px;font-weight:600}
.summary-grid strong{font-size:12px;font-weight:700}
.trust-ring .trust-value b{font-size:34px;font-weight:700}
.trust-ring .trust-value span,.trust-ring-copy em,.trust-ring-copy i{font-size:11px}
.nm-netinfo dl{font-size:12px;grid-template-columns:76px 1fr}
.nm-netinfo dd{font-weight:600}
.geo-card b,.asn-card>b{font-size:14px;font-weight:600}
.geo-card p,.geo-card em,.asn-card p,.rdns-card p,.black-card p,.port-card p,.trend-card p,.mini-stat p{font-size:12px}
.asn-card span,.rdns-card span{font-size:12px}
.rdns-card code{font-size:12px}
.black-card b,.port-card b,.mini-stat b{font-size:20px;font-weight:700}
.black-card b span,.port-card b span,.mini-stat b span{font-size:11px;font-weight:600}
.port-card p i{font-size:11px}
.factor-line span{font-size:11px;font-weight:700}
.factor-line em,.trend-card small{font-size:10px;font-weight:500}
.nm-accordions summary{font-size:12px;font-weight:600}
.detail-list div{font-size:11px}

/* 首页 v2：保留后台侧栏，主区域按首页设计稿还原 */
body.home-shell{background:#eef3f8;color:#101827}
body.home-shell .site-header,body.home-shell .site-footer{display:none}
body.home-shell .content{width:100%;max-width:none;margin:0;padding:0}
.hm-dashboard .nm-main{padding:18px 22px 20px}
.hm-topbar{margin-bottom:14px}
.hm-topbar .nm-actions a{background:transparent;border-color:transparent;box-shadow:none}
.hm-topbar .nm-actions a:hover{background:#fff;border-color:#dfe6ef}
.hm-topbar .mi{width:16px;height:16px}
.hm-hero-v2{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(470px,1fr);gap:16px;margin-bottom:16px}
.hm-search-card,.hm-result-card{min-height:480px}
.hm-search-card{padding:30px 30px 24px;display:flex;flex-direction:column;align-items:flex-start}
.hm-live{height:32px;display:inline-flex;align-items:center;gap:9px;padding:0 13px;border-radius:999px;background:#e8faf1;color:#12a66c;font-size:13px;font-weight:700;margin-bottom:24px}
.hm-live i{width:15px;height:17px;border:1.8px solid currentColor;border-radius:5px 5px 7px 7px;clip-path:polygon(50% 0,100% 18%,86% 82%,50% 100%,14% 82%,0 18%);position:relative}
.hm-search-card h2{font-size:44px;line-height:1.12;font-weight:700;color:#0f172a;margin-bottom:20px}
.hm-search-card h2 strong{color:#20b977;font-weight:700}
.hm-search-card>p{font-size:16px;line-height:1.85;color:#53647b;margin-bottom:30px}
.hm-search-v2{width:100%;height:68px;display:grid;grid-template-columns:28px minmax(0,1fr) 172px;gap:14px;align-items:center;padding:0 10px 0 20px;border:1px solid #d9e2ed;border-radius:12px;background:#fff;box-shadow:0 16px 36px rgba(15,23,42,.06)}
.hm-search-v2:focus-within{border-color:#2bbf7f;box-shadow:0 0 0 4px rgba(43,191,127,.1),0 16px 36px rgba(15,23,42,.06)}
.hm-search-v2 input{min-width:0;border:0;outline:0;background:transparent;font-family:var(--sans);font-size:16px;color:#111827}
.hm-search-v2 input::placeholder{color:#8190a6}
.hm-search-v2 button{height:54px;border:0;border-radius:9px;background:#111b2e;color:#fff;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:22px;box-shadow:0 10px 24px rgba(15,23,42,.16)}
.hm-search-v2 button i{width:10px;height:10px;border-right:1.8px solid #fff;border-bottom:1.8px solid #fff;transform:rotate(-45deg)}
.hm-examples{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0 0 10px;color:#64748b;font-size:13px}
.hm-examples a{height:30px;display:inline-flex;align-items:center;padding:0 13px;border-radius:999px;background:#f2f5f9;color:#53647b;font-family:var(--mono);font-size:12px}
.hm-result-card{padding:22px 20px 20px;display:flex;flex-direction:column}
.hm-result-foot{min-height:28px;margin:8px 2px 0;padding-top:9px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf1f5}.hm-result-foot .hm-exit-note{margin:0;color:#8793a2;font-size:9px;line-height:1.5}.hm-result-foot>a{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:#3478f6;font-size:9px;font-weight:700}.hm-result-foot>a[hidden]{display:none}.hm-result-foot>a i{width:6px;height:6px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(-45deg)}
.hm-exit-note{margin:10px 2px 0;color:#8793a2;font-size:9px;line-height:1.5}.hm-result-card[data-tone="safe"] .hm-result-head>em,.hm-result-card[data-tone="safe"] .hm-risk-content>i{background:#e8faf1;color:#16a66d}.hm-result-card[data-tone="safe"] .hm-risk-value{stroke:#2bbf7f}.hm-result-card[data-tone="warn"] .hm-result-head>em,.hm-result-card[data-tone="warn"] .hm-risk-content>i{background:#fff5dc;color:#c27b00}.hm-result-card[data-tone="warn"] .hm-risk-value{stroke:#e0a019}.hm-result-card[data-tone="warn"] .hm-ai-status>p,.hm-result-card[data-tone="warn"] [data-home-ai-status]{color:#b77909}.hm-result-card[data-tone="danger"] .hm-result-head>em,.hm-result-card[data-tone="danger"] .hm-risk-content>i{background:#fff0f1;color:#df3740}.hm-result-card[data-tone="danger"] .hm-risk-value{stroke:#e33b43}.hm-result-card[data-tone="danger"] .hm-ai-status>p,.hm-result-card[data-tone="danger"] [data-home-ai-status]{color:#d93645}.hm-result-card[data-tone="neutral"] .hm-result-head>em,.hm-result-card[data-tone="neutral"] .hm-risk-content>i{background:#eef2f6;color:#64748b}.hm-result-card[data-tone="neutral"] .hm-risk-value{stroke:#94a3b8}
.hm-result-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.hm-result-head b{display:block;font-size:25px;line-height:1.1;color:#0f172a;font-weight:700}
.hm-result-head span{display:block;font-size:12px;color:#475569;margin-top:7px;font-weight:600}
.hm-result-head em{font-style:normal;font-size:13px;color:#0da66a;background:#e8faf1;border-radius:999px;padding:7px 13px;font-weight:700}
.hm-result-body{display:grid;grid-template-columns:174px minmax(336px,1fr);gap:14px;align-items:center;margin-bottom:16px}
.hm-risk-ring{width:168px;height:168px;position:relative;justify-self:center}
.hm-risk-ring svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}
.hm-risk-ring circle{fill:none;stroke-width:9;stroke-linecap:round}
.hm-risk-bg{stroke:#e8ebf1}.hm-risk-value{stroke:#2cbd7d}
.hm-risk-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:4px}
.hm-risk-score{display:flex;align-items:flex-end;justify-content:center;gap:4px;line-height:1}
.hm-risk-ring .hm-risk-score b{font-size:39px;line-height:.88;font-weight:700;color:#0f172a}
.hm-risk-ring .hm-risk-score span{font-size:11px;line-height:1;color:#64748b;margin:0 0 3px}
.hm-risk-ring .hm-risk-content>em{font-style:normal;font-size:12px;line-height:1;color:#64748b;margin-top:12px}
.hm-risk-ring .hm-risk-content>i{position:static;width:auto;height:auto;border:0;border-radius:999px;background:#e8faf1;color:#16a66d;font-style:normal;font-size:10px;line-height:1;padding:5px 9px;margin-top:9px;font-weight:800;display:block}
.hm-ai-status{min-width:0;align-self:center;width:100%}
.hm-ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hm-ai-grid>span{height:62px;display:grid;grid-template-columns:30px minmax(70px,1fr);grid-template-rows:1fr 1fr;align-items:center;column-gap:7px;border:1px solid #dfe6ef;border-radius:10px;padding:9px 8px;background:#fff;position:relative;min-width:0}
.hm-ai-grid>span>i{grid-row:1/-1;width:28px;height:28px;display:grid;place-items:center;font-style:normal;font-size:18px;font-weight:800;color:#101827}.hm-ai-grid>span>i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hm-ai-grid>span>b{font-size:11.5px;line-height:1.15;color:#111827;font-weight:650;white-space:nowrap}.hm-ai-grid>span>em{font-size:11px;line-height:1.1;color:#13ad70;font-style:normal;font-weight:700}.hm-ai-grid .more{grid-template-columns:26px minmax(0,1fr) 10px}.hm-ai-grid .more>i::before{content:"";width:8px;height:8px;border-right:1.6px solid #64748b;border-bottom:1.6px solid #64748b;transform:rotate(-45deg)}.hm-ai-grid .more small{width:6px;height:6px;border-right:1.5px solid #64748b;border-bottom:1.5px solid #64748b;transform:rotate(45deg)}
.p-google{font-family:Arial;color:#2455ac!important}.p-cloud svg{width:25px!important}.p-tiktok svg{width:23px!important;height:23px!important}
.hm-ai-status>p{display:flex;align-items:center;gap:8px;color:#0baa6c;font-size:12px;font-weight:700;margin:14px 0 0}.hm-ai-status>p i{width:14px;height:14px;border-radius:50%;background:#24bd7d;position:relative;flex:0 0 auto}.hm-ai-status>p i::after{content:"";position:absolute;left:4px;top:3px;width:5px;height:3px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg)}
.hm-result-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dfe6ef;border-radius:10px;overflow:hidden}
.hm-result-summary div{height:72px;padding:13px 15px;border-right:1px solid #dfe6ef;border-bottom:1px solid #dfe6ef;display:flex;flex-direction:column;justify-content:center}.hm-result-summary div:nth-child(2n){border-right:0}.hm-result-summary div:nth-child(n+3){border-bottom:0}.hm-result-summary b{display:block;font-size:12px;line-height:1;color:#111827;margin-bottom:10px}.hm-result-summary strong{font-size:13px;line-height:1.2;color:#16b773}.hm-result-summary strong.dark{color:#111827}
.hm-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.hm-feature-grid article{height:132px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:start;position:relative;overflow:hidden;padding:23px 24px}
.hm-feature-grid article>div{position:relative;z-index:2;min-width:0;padding-right:60px}
.hm-feature-icon{width:54px;height:54px;border-radius:13px;background:#e6f9f0;position:relative;color:#19b774}.hm-feature-grid article:nth-child(3) .hm-feature-icon{background:#eaf3ff;color:#3478f6}
.hm-feature-icon{display:grid;place-items:center}.hm-feature-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hm-feature-grid h2{font-size:15px;line-height:1.2;margin:2px 0 8px}.hm-feature-grid p{font-size:12px;line-height:1.7;color:#64748b;max-width:270px;margin:0}
.hm-cubes{position:absolute;z-index:1;right:-3px;bottom:-5px;width:138px;height:92px;overflow:visible;opacity:.78}.hm-cubes .top{fill:#c9f6df}.hm-cubes .left{fill:#b8efd3}.hm-cubes .right{fill:#e2faed}.hm-cubes .c2{opacity:.72}.hm-cubes .c3{opacity:.56}.hm-cubes.blue .top{fill:#c9dcff}.hm-cubes.blue .left{fill:#a9c8ff}.hm-cubes.blue .right{fill:#e5edff}.hm-cubes.blue .c2{opacity:.8}.hm-cubes.blue .c3{opacity:.64}.hm-cubes.blue .c4{opacity:.45}
.hm-source-panel{padding:22px 24px;margin-bottom:16px}
.hm-source-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.hm-source-head h2{display:flex;align-items:center;gap:10px;font-size:16px}.hm-source-head h2>span{width:15px;height:15px;border:2px solid #334155;border-radius:3px;position:relative}.hm-source-head h2>span::after{content:"";position:absolute;inset:4px;background:#334155;border-radius:1px}.hm-source-head p{font-size:12px;color:#64748b;margin-top:8px}.hm-source-head strong{display:flex;align-items:center;gap:8px;font-size:13px;color:#111827;font-weight:600;margin-top:12px}.hm-source-head strong i{width:8px;height:8px;border-radius:50%;background:#24bd7d}.hm-source-head strong::first-letter{color:#16b773}
.hm-source-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px 12px}.hm-source-grid>span{height:44px;display:grid;grid-template-columns:22px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:0 10px;border:1px solid #dfe6ef;border-radius:10px;background:#fff}.hm-source-grid span>i{width:18px;height:18px;border-radius:6px;background:#eaf3ff;position:relative}.hm-source-grid span>i::after{content:"";position:absolute;inset:5px;border:1.5px solid #3478f6;border-radius:50%}.hm-source-grid b{font-size:11px;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hm-source-grid em{width:14px;height:14px;border-radius:50%;background:#24bd7d;color:#fff;font-style:normal;font-size:9px;display:grid;place-items:center;font-weight:800}
.hm-footnote{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-radius:12px;background:#f0f3f7;color:#64748b;font-size:11px}.hm-footnote>span{display:flex;align-items:center;gap:8px}.hm-footnote>span:first-child>i{width:13px;height:13px;border:1.5px solid #64748b;border-radius:3px}.hm-footnote .refresh{width:13px;height:13px;border:1.5px solid #64748b;border-left-color:transparent;border-radius:50%}

/* 首页进入与数据状态反馈 */
.nm-motion-enabled:not(.nm-menu-transition) .hm-dashboard:not(.is-ready) .hm-source-panel{opacity:1;transform:none}.nm-motion-enabled:not(.nm-menu-transition) .hm-dashboard:not(.is-ready) .hm-source-grid>span{opacity:1;transform:none;background:#fff}.nm-motion-enabled:not(.nm-menu-transition) .hm-dashboard:not(.is-ready) .hm-source-grid>span em{background:#24bd7d;color:#fff}.nm-motion-enabled:not(.nm-menu-transition) .hm-dashboard .hm-risk-content,.nm-motion-enabled:not(.nm-menu-transition) .hm-dashboard .hm-ai-grid>span{opacity:1;transform:none}
.nm-menu-transition .hm-dashboard .hm-hero-v2>.nm-card,.nm-menu-transition .hm-dashboard .hm-feature-grid>.nm-card,.nm-menu-transition .hm-dashboard .hm-source-panel,.nm-menu-transition .hm-dashboard .hm-footnote{opacity:0;transform:translateY(12px)}
.hm-dashboard.is-ready .hm-hero-v2>.nm-card,.hm-dashboard.is-ready .hm-feature-grid>.nm-card,.hm-dashboard.is-ready .hm-source-panel,.hm-dashboard.is-ready .hm-footnote{opacity:1;transform:none;transition:opacity .48s ease var(--home-delay,0ms),transform .48s cubic-bezier(.2,.75,.25,1) var(--home-delay,0ms),border-color .2s ease,box-shadow .2s ease}
.hm-dashboard .hm-risk-value{stroke-dasharray:0 100}
.hm-dashboard.is-ready .hm-risk-value{animation:none}
.nm-menu-transition .hm-dashboard .hm-risk-content{opacity:0;transform:translateY(5px)}
.hm-dashboard.is-ready .hm-risk-content{animation:hm-value-in .42s ease .72s forwards}
.nm-menu-transition .hm-dashboard .hm-ai-grid>span{opacity:0;transform:translateY(5px)}
.hm-dashboard.is-ready .hm-ai-grid>span{animation:hm-status-in .34s ease var(--status-delay,0ms) forwards}
.nm-menu-transition .hm-dashboard .hm-source-grid>span{opacity:0;transform:translateY(4px)}
.hm-dashboard.is-ready .hm-source-grid>span{animation:hm-status-in .28s ease var(--source-delay,0ms) forwards}
.hm-dashboard.is-ready .hm-live i,.hm-dashboard.is-ready .hm-ai-status>p i,.hm-dashboard.is-ready .hm-source-head strong i{animation:hm-live-pulse 2s ease-in-out infinite}
.hm-dashboard.is-ready .hm-cubes .c1{animation:hm-cube-float 4.8s ease-in-out infinite}.hm-dashboard.is-ready .hm-cubes .c2{animation:hm-cube-float 5.4s ease-in-out -.9s infinite}.hm-dashboard.is-ready .hm-cubes .c3,.hm-dashboard.is-ready .hm-cubes .c4{animation:hm-cube-float 5.8s ease-in-out -1.8s infinite}
@keyframes hm-risk-draw{to{stroke-dasharray:18 100}}
@keyframes hm-value-in{to{opacity:1;transform:none}}
@keyframes hm-status-in{to{opacity:1;transform:none}}
@keyframes hm-live-pulse{0%,100%{box-shadow:0 0 0 0 rgba(36,189,125,.18)}50%{box-shadow:0 0 0 5px rgba(36,189,125,0)}}
@keyframes hm-cube-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:1500px){.hm-hero-v2{grid-template-columns:minmax(0,1.05fr) minmax(570px,1fr)}.hm-search-card h2{font-size:38px}.hm-source-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px 8px}.hm-source-grid>span{grid-template-columns:18px minmax(0,1fr) 14px;gap:6px;padding:0 8px}.hm-source-grid b{font-size:10px}}
@media(max-width:1280px){.hm-hero-v2,.hm-feature-grid{grid-template-columns:1fr}.hm-search-card,.hm-result-card{min-height:auto}.hm-result-card{max-width:720px;width:100%;justify-self:center}.hm-result-body{grid-template-columns:174px minmax(336px,1fr);gap:14px}.hm-feature-grid article>div{padding-right:110px}.hm-source-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hm-source-grid>span{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:0 10px}.hm-source-grid b{font-size:11px}}
@media(max-width:1120px){.hm-source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.hm-result-card{max-width:none}.hm-result-body{grid-template-columns:1fr}.hm-risk-ring{margin:0 auto}.hm-ai-status{max-width:420px;margin:0 auto}.hm-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-search-card h2{font-size:34px}.hm-search-card>p br{display:none}.hm-footnote{height:auto;min-height:64px;align-items:flex-start;flex-direction:column;justify-content:center;gap:8px}}
@media(max-width:560px){.hm-search-card{padding:22px 18px}.hm-search-v2{height:auto;grid-template-columns:24px minmax(0,1fr);padding:12px}.hm-search-v2 button{grid-column:1/-1;width:100%}.hm-result-card{padding:18px}.hm-ai-grid,.hm-result-summary,.hm-source-grid{grid-template-columns:1fr}.hm-result-summary div{border-right:0!important;border-bottom:1px solid #dfe6ef!important}.hm-result-summary div:last-child{border-bottom:0!important}.hm-feature-grid article{grid-template-columns:48px minmax(0,1fr);height:auto;min-height:112px;padding:18px}.hm-feature-grid article>div{padding-right:0}.hm-feature-icon{width:44px;height:44px}.hm-cubes{display:none}}

/* 全局状态语义与交互动效：绿色安全、黄色注意、红色高风险 */
body:has(.nm-dashboard){--state-safe:#16a66d;--state-safe-bg:#e9f8f0;--state-warn:#d98a00;--state-warn-bg:#fff5d9;--state-danger:#e63e46;--state-danger-bg:#fff0f1;--state-neutral:#64748b;--state-neutral-bg:#f1f5f9}
.nm-card,.nm-ipbar,.hm-search-v2,.hm-source-grid>span,.hm-ai-grid>span{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background-color .2s ease}
@media(hover:hover){.nm-result-dashboard .nm-card:hover,.hm-feature-grid .nm-card:hover,.hm-source-panel:hover{transform:translateY(-2px);border-color:#d7e2ec;box-shadow:0 14px 32px rgba(15,23,42,.07)}.hm-source-grid>span:hover,.hm-ai-grid>span:hover{transform:translateY(-1px);border-color:#cddbe8;box-shadow:0 7px 18px rgba(15,23,42,.06)}.nm-actions button:hover,.nm-actions a:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(15,23,42,.08)}}
.nm-risk-pill{border-radius:999px;font-size:11px;font-weight:800;padding:5px 11px;color:var(--risk-color);background:var(--risk-bg);border:1px solid color-mix(in srgb,var(--risk-color) 18%,transparent)}
.risk-pristine,.risk-clean{--risk-color:var(--state-safe);--risk-bg:var(--state-safe-bg)}
.risk-moderate{--risk-color:var(--state-warn);--risk-bg:var(--state-warn-bg)}
.risk-polluted,.risk-high_risk,.risk-critical{--risk-color:var(--state-danger);--risk-bg:var(--state-danger-bg)}
.risk-pristine .nm-risk-card,.risk-clean .nm-risk-card{background:linear-gradient(138deg,#fff 0%,#f4fcf8 100%);border-color:#d9f1e5}.risk-moderate .nm-risk-card{background:linear-gradient(138deg,#fff 0%,#fffaf0 100%);border-color:#f4e5bd}.risk-polluted .nm-risk-card,.risk-high_risk .nm-risk-card,.risk-critical .nm-risk-card{background:linear-gradient(138deg,#fff 0%,#fff7f7 100%);border-color:#ffdfe1}
.nm-result-dashboard .nm-risk-gauge .g-fg,.nm-result-dashboard .trust-ring-value{stroke:var(--risk-color)!important}.nm-result-dashboard .nm-risk-pill{color:#fff;background:var(--risk-color);border-color:var(--risk-color)}
.nm-result-dashboard .nm-risk-copy>strong{color:var(--risk-color)!important}
.nm-result-dashboard .nm-alert{color:var(--risk-color);background:var(--risk-bg)}
.nm-result-dashboard .nm-risk-copy>i,.nm-result-dashboard .trust-ring-copy i{color:var(--risk-color);background:var(--risk-bg)}
.nm-result-dashboard .nm-meter i{background:var(--risk-color)}
.summary-grid .state-safe strong,.summary-grid .state-safe i{color:var(--state-safe)}
.summary-grid .state-danger strong,.summary-grid .state-danger i{color:var(--state-danger)}
.summary-grid .state-neutral strong,.summary-grid .state-neutral i{color:var(--state-neutral)}
.summary-grid .state-safe .summary-icon{color:var(--state-safe)}
.summary-grid .state-danger .summary-icon{color:var(--state-danger)}
.summary-grid .state-neutral .summary-icon{color:var(--state-neutral)}
.summary-grid .summary-icon{position:absolute;right:12px;top:20px;width:25px;height:25px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.summary-grid .summary-icon .fill{fill:currentColor;stroke:none}.summary-grid .summary-icon .soft-fill{fill:currentColor;fill-opacity:.12;stroke:none}.summary-grid .vpn-icon text{fill:currentColor;stroke:none;font:800 7px Arial,sans-serif;letter-spacing:0}
.summary-grid .state-safe i,.summary-grid .state-danger i,.summary-grid .state-neutral i{background-image:none}
.summary-grid .state-safe i::before,.summary-grid .state-safe i::after,.summary-grid .state-danger i::before,.summary-grid .state-danger i::after,.summary-grid .state-neutral i::before,.summary-grid .state-neutral i::after{display:block}
.summary-grid .state-safe{background:linear-gradient(145deg,#fff,var(--state-safe-bg))}
.summary-grid .state-danger{background:linear-gradient(145deg,#fff,var(--state-danger-bg))}
.summary-grid .state-neutral{background:linear-gradient(145deg,#fff,var(--state-neutral-bg))}
.hm-search-error{min-height:18px;margin:7px 0 -8px 10px!important;font-size:12px!important;line-height:18px!important;color:var(--state-danger)!important}
.hm-search-v2.is-invalid{border-color:var(--state-danger);box-shadow:0 0 0 4px rgba(230,62,70,.09)}
.hm-search-v2.is-submitting button{position:relative;color:rgba(255,255,255,.82);cursor:wait}
.hm-search-v2.is-submitting button i{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;transform:none;animation:nm-spin .7s linear infinite}
.nm-ipline button.is-copied{border-color:var(--state-safe);background:var(--state-safe-bg)}
.nm-ipline button.is-copied::after{border-color:var(--state-safe)}
.nm-actions button.is-loading .ai-refresh{animation:nm-spin .7s linear infinite}
.nm-actions button.is-shared::after{content:"链接已复制";position:absolute;right:0;top:calc(100% + 8px);padding:6px 9px;border-radius:6px;background:#111827;color:#fff;font-size:11px;white-space:nowrap;z-index:4}
.nm-actions button{position:relative}

/* 与详情页同壳的实时扫描页 */
.scan-main{display:flex;flex-direction:column;min-height:calc(100vh - 32px)}
.scan-console{flex:1;min-height:610px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:46px 6%;overflow:hidden;position:relative;text-align:center;background:radial-gradient(circle at 50% 30%,rgba(43,191,127,.08),transparent 34%),#fff}
.scan-orbit{width:138px;height:138px;position:relative;margin-bottom:24px;border:1px solid rgba(43,191,127,.17);border-radius:50%;box-shadow:0 0 0 18px rgba(43,191,127,.035),0 0 0 36px rgba(43,191,127,.02)}
.scan-orbit::before,.scan-orbit::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(43,191,127,.26)}
.scan-orbit::before{inset:14px}.scan-orbit::after{inset:34px}
.scan-orbit span{position:absolute;inset:47px;border-radius:18px;background:linear-gradient(145deg,#2ac686,#18ab6e);box-shadow:0 14px 30px rgba(31,183,119,.28)}
.scan-orbit span::before{content:"";position:absolute;inset:12px;border:2px solid #fff;clip-path:polygon(50% 0,100% 18%,86% 82%,50% 100%,14% 82%,0 18%)}
.scan-orbit i{position:absolute;width:10px;height:10px;border-radius:50%;background:#23bb7b;box-shadow:0 0 0 5px rgba(35,187,123,.12);left:64px;top:-5px;transform-origin:5px 74px;animation:scan-orbit 2.2s linear infinite}
.scan-orbit i:nth-child(2){animation-delay:-.75s}.scan-orbit i:nth-child(3){animation-delay:-1.5s}
.scan-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--state-safe);font-size:12px;font-weight:800;background:var(--state-safe-bg);border-radius:999px;padding:7px 11px;margin-bottom:14px}.scan-kicker i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:scan-pulse 1.2s ease-in-out infinite}
.scan-console h2{font-family:var(--mono);font-size:30px;letter-spacing:0;margin:0;color:#111827}.scan-console>p{font-size:14px;color:#64748b;margin:9px 0 24px}
.scan-progress{width:min(620px,100%);height:8px;border-radius:99px;background:#edf2f6;overflow:hidden;box-shadow:inset 0 1px 2px rgba(15,23,42,.05)}.scan-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#21b878,#43cf91);box-shadow:0 0 16px rgba(33,184,120,.35);transition:width .35s ease}
.scan-count{display:flex;align-items:baseline;gap:5px;margin:13px 0 25px;color:#64748b;font-size:12px}.scan-count strong{font-family:var(--mono);font-size:20px;color:#111827}
.scan-console .api-status{width:min(920px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.scan-console .api-status div{height:48px;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 12px;border:1px solid #e3eaf1;border-radius:8px;background:#fbfdff;text-align:left;font-family:inherit;color:#64748b;transition:.25s}.scan-console .api-status div>i{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.scan-console .api-status div>span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan-console .api-status div>em{font-size:10px;font-style:normal;color:#94a3b8}.scan-console .api-status .done{color:#174a36;border-color:rgba(22,166,109,.2);background:var(--state-safe-bg)}.scan-console .api-status .done>i{background:var(--state-safe);box-shadow:0 0 0 4px rgba(22,166,109,.1)}.scan-console .api-status .done>em{color:var(--state-safe)}.scan-console .api-status .fail{color:#7f3136;border-color:rgba(230,62,70,.18);background:var(--state-danger-bg)}.scan-console .api-status .fail>i{background:var(--state-danger)}.scan-console .api-status .fail>em{color:var(--state-danger)}
.scan-complete{height:0;opacity:0;display:flex;align-items:center;gap:9px;color:var(--state-safe);font-size:13px;font-weight:700;transition:.25s;margin-top:0}.scan-complete i{width:18px;height:18px;border-radius:50%;background:var(--state-safe);position:relative}.scan-complete i::after{content:"";position:absolute;left:5px;top:4px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}.scan-finished .scan-complete{height:24px;opacity:1;margin-top:20px}.scan-finished .scan-orbit i{animation-duration:.55s}.scan-recovering .scan-kicker{color:var(--state-warn);background:var(--state-warn-bg)}

/* 页面进入时逐层出现，避免信息突然堆满屏幕 */
.nm-menu-transition .nm-result-dashboard .nm-card,.nm-menu-transition .nm-result-dashboard .nm-ipbar{opacity:0;transform:translateY(7px)}
.nm-result-dashboard.is-ready .nm-card,.nm-result-dashboard.is-ready .nm-ipbar{opacity:1;transform:none;transition:opacity .38s ease var(--enter-delay,0ms),transform .38s ease var(--enter-delay,0ms),border-color .2s ease,box-shadow .2s ease}
.trust-ring-value{animation:nm-ring-in .9s cubic-bezier(.22,.8,.25,1) both}
@keyframes nm-spin{to{transform:rotate(360deg)}}
@keyframes scan-orbit{to{transform:rotate(360deg)}}
@keyframes scan-pulse{50%{opacity:.38;transform:scale(.8)}}
@keyframes nm-ring-in{from{stroke-dasharray:0 100}}
@media(max-width:860px){.scan-main{min-height:auto}.scan-console{min-height:570px;padding:36px 18px}.scan-console .api-status{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.scan-console{min-height:620px}.scan-orbit{width:112px;height:112px}.scan-orbit i{left:51px;transform-origin:5px 61px}.scan-orbit span{inset:37px}.scan-orbit span::before{inset:10px}.scan-console h2{font-size:22px}.scan-console .api-status{grid-template-columns:1fr}.nm-actions button.is-shared::after{display:none}}
@media(prefers-reduced-motion:reduce){.nm-card,.nm-ipbar,.hm-search-v2,.hm-source-grid>span,.hm-ai-grid>span,.scan-progress i{transition:none!important}.scan-orbit i,.scan-kicker i,.nm-risk-gauge .g-fg,.trust-ring-value,.nm-actions button.is-loading .ai-refresh,.hm-search-v2.is-submitting button i,.hm-risk-value,.hm-risk-content,.hm-ai-grid>span,.hm-source-grid>span,.hm-live i,.hm-ai-status>p i,.hm-source-head strong i,.hm-cubes .cube{animation:none!important}.nm-result-dashboard .nm-card,.nm-result-dashboard .nm-ipbar,.hm-dashboard .hm-hero-v2>.nm-card,.hm-dashboard .hm-feature-grid>.nm-card,.hm-dashboard .hm-source-panel,.hm-dashboard .hm-footnote,.hm-dashboard .hm-ai-grid>span,.hm-dashboard .hm-source-grid>span,.hm-dashboard .hm-risk-content{opacity:1!important;transform:none!important}}
.nm-info-grid .nm-card{
  min-height:160px;
}
.geo-content{
  grid-template-columns:minmax(0,1fr) 170px;
}
.risk-factors{
  min-height:154px;
}
.factor-line{
  padding-top:22px;
}
.factor-line::before{
  top:31px;
}
.nm-accordions summary{
  height:50px;
}
@media(max-width:900px){
  .nm-dashboard{
    width:100%;
    min-height:100vh;
    margin:0;
    border-radius:0;
    border-left:none;
    border-right:none;
  }
  .nm-side{height:100vh;top:0}
}

/* 首页：与检测结果页同色系的居中浅色工作台 */
body.home-shell{
  --hm-bg:#eef3f8;
  --hm-panel:#ffffff;
  --hm-line:#dfe7f0;
  --hm-ink:#101827;
  --hm-muted:#64748b;
  --hm-green:#28bf7e;
  --hm-red:#ff4b55;
  background:var(--hm-bg);
  color:var(--hm-ink);
}
body.home-shell .site-header,
body.home-shell .site-footer{
  display:none;
}
body.home-shell .content{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.hm-page{
  width:min(100% - 32px,1280px);
  margin:16px auto;
}
.hm-top{
  height:64px;
  display:flex;
  align-items:center;
  gap:20px;
  padding:0 18px;
  background:#fff;
  border:1px solid var(--hm-line);
  border-radius:16px;
  box-shadow:0 16px 42px rgba(15,23,42,.055);
  margin-bottom:16px;
}
.hm-brand{
  display:flex;
  align-items:center;
  gap:11px;
  color:#111827;
  min-width:190px;
}
.hm-brand-mark{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(145deg,#2cc98a,#22b978);
  color:#fff;
  box-shadow:0 12px 24px rgba(35,190,127,.2);
}
.hm-brand-mark svg{width:25px;height:25px}
.hm-brand b{display:block;font-size:19px;line-height:1;font-weight:900}
.hm-brand i{display:block;margin-top:4px;font-style:normal;font-size:12px;color:#64748b;font-weight:700}
.hm-nav{
  display:flex;
  align-items:center;
  gap:6px;
  flex:1;
}
.hm-nav a{
  color:#334155;
  font-size:13px;
  font-weight:800;
  padding:8px 12px;
  border-radius:8px;
}
.hm-nav a:hover{background:#f4f7fb;color:#0f172a}
.hm-actions{
  display:flex;
  align-items:center;
  gap:5px;
  padding:4px;
  border:1px solid #e3eaf2;
  border-radius:9px;
  background:#f8fafc;
}
.hm-actions a{
  min-width:42px;
  text-align:center;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  padding:6px 8px;
  border-radius:6px;
}
.hm-actions a.active{
  background:#fff;
  color:#111827;
  box-shadow:0 4px 10px rgba(15,23,42,.05);
}
.hm-shell{
  background:#f6f9fc;
  border:1px solid var(--hm-line);
  border-radius:18px;
  padding:22px;
  box-shadow:0 24px 70px rgba(15,23,42,.08);
}
.hm-hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);
  gap:22px;
  align-items:stretch;
}
.hm-copy,
.hm-preview,
.hm-panels article,
.hm-sources{
  background:#fff;
  border:1px solid var(--hm-line);
  border-radius:12px;
  box-shadow:0 10px 28px rgba(15,23,42,.035);
}
.hm-copy{
  padding:38px 36px;
}
.hm-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:28px;
  padding:0 12px;
  border-radius:999px;
  background:#eafaf2;
  color:#169b66;
  font-size:12px;
  font-weight:900;
  margin-bottom:20px;
}
.hm-kicker i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--hm-green);
  box-shadow:0 0 0 4px rgba(40,191,126,.14);
}
.hm-copy h1{
  max-width:600px;
  font-size:48px;
  line-height:1.06;
  letter-spacing:0;
  color:#101827;
  margin-bottom:18px;
}
.hm-copy p{
  max-width:620px;
  color:#526173;
  font-size:16px;
  line-height:1.8;
  margin-bottom:26px;
}
.hm-search{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 118px;
  align-items:center;
  gap:12px;
  max-width:620px;
  height:58px;
  padding:0 8px 0 18px;
  border:1px solid #dbe4ee;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.hm-search:focus-within{
  border-color:#2bbf7f;
  box-shadow:0 0 0 4px rgba(43,191,127,.12),0 14px 34px rgba(15,23,42,.06);
}
.hm-search-ico{
  position:relative;
  width:18px;
  height:18px;
}
.hm-search-ico::before{
  content:"";
  position:absolute;
  inset:1px 4px 4px 1px;
  border:2px solid #94a3b8;
  border-radius:50%;
}
.hm-search-ico::after{
  content:"";
  position:absolute;
  right:1px;
  bottom:2px;
  width:8px;
  height:2px;
  background:#94a3b8;
  transform:rotate(45deg);
  border-radius:2px;
}
.hm-search input{
  min-width:0;
  border:0;
  outline:0;
  color:#111827;
  font-family:var(--mono);
  font-size:16px;
  background:transparent;
}
.hm-search input::placeholder{
  color:#94a3b8;
  font-family:var(--sans);
}
.hm-search button{
  height:42px;
  border:0;
  border-radius:9px;
  background:#111827;
  color:#fff;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}
.hm-self{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  color:#3478f6;
  font-size:13px;
  font-weight:800;
}
.hm-self span{
  width:7px;
  height:7px;
  border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;
  transform:rotate(-45deg);
}
.hm-preview{
  padding:20px;
}
.hm-preview-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:18px;
}
.hm-preview-head b{
  display:block;
  font-size:22px;
  color:#101827;
}
.hm-preview-head span{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
}
.hm-preview-head em{
  font-style:normal;
  color:#1fa973;
  background:#e9f8f0;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:900;
}
.hm-preview-grid{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:16px;
  align-items:center;
  margin-bottom:16px;
}
.hm-ring{
  width:150px;
  height:150px;
  border-radius:50%;
  display:grid;
  place-items:center;
  align-content:center;
  background:conic-gradient(#2bbf7f 92%,#e7ebf1 0);
  position:relative;
}
.hm-ring::before{
  content:"";
  position:absolute;
  inset:14px;
  background:#fff;
  border-radius:50%;
}
.hm-ring b,.hm-ring span,.hm-ring em{position:relative;z-index:1}
.hm-ring b{font-size:36px;font-weight:900;line-height:1}
.hm-ring span{font-size:12px;color:#64748b}
.hm-ring em{font-style:normal;color:#64748b;font-size:12px;margin-top:6px}
.hm-platforms{
  display:grid;
  grid-template-columns:repeat(3,52px);
  gap:12px;
}
.hm-platforms span{
  position:relative;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid #dfe7f0;
  border-radius:12px;
  color:#111827;
  font-weight:900;
  background:#fff;
}
.hm-platforms span::after{
  content:"";
  position:absolute;
  right:-4px;
  bottom:-4px;
  width:10px;
  height:10px;
  border-radius:50%;
  border:2px solid #fff;
  background:#2bbf7f;
}
.hm-platforms small{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:7px;
  color:#1fa973;
  font-size:12px;
  font-weight:800;
  margin-top:2px;
}
.hm-platforms small i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2bbf7f;
}
.hm-mini-summary{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.hm-mini-summary div{
  border:1px solid #e3e9f1;
  border-radius:8px;
  padding:12px 13px;
}
.hm-mini-summary b{
  display:block;
  color:#172033;
  font-size:12px;
  margin-bottom:7px;
}
.hm-mini-summary strong{
  color:#111827;
  font-size:12px;
}
.hm-mini-summary strong.ok{
  color:#1fbd83;
}
.hm-panels{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:16px;
}
.hm-panels article{
  padding:18px;
}
.hm-panel-icon{
  display:block;
  width:34px;
  height:34px;
  border-radius:9px;
  background:#eafaf2;
  margin-bottom:14px;
  position:relative;
}
.hm-panel-icon::before{
  content:"";
  position:absolute;
  inset:9px;
  border:2px solid #2bbf7f;
  border-radius:5px;
}
.hm-panel-icon.i-ai::before{border-radius:50%}
.hm-panel-icon.i-json::before{border-radius:3px;box-shadow:6px 0 0 -2px #2bbf7f,-6px 0 0 -2px #2bbf7f}
.hm-panels h2,
.hm-sources h2{
  font-size:16px;
  color:#111827;
  margin-bottom:8px;
}
.hm-panels p,
.hm-sources p{
  color:#64748b;
  font-size:13px;
  line-height:1.7;
}
.hm-sources{
  margin-top:16px;
  padding:18px;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:16px;
}
.hm-source-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.hm-source-list span{
  height:28px;
  display:inline-flex;
  align-items:center;
  border:1px solid #e1e8f0;
  border-radius:999px;
  padding:0 11px;
  color:#475569;
  background:#f8fafc;
  font-size:12px;
  font-weight:800;
}
@media(max-width:900px){
  .hm-page{width:100%;margin:0}
  .hm-top,.hm-shell{border-radius:0;border-left:0;border-right:0}
  .hm-top{height:auto;flex-wrap:wrap;padding:14px}
  .hm-nav{order:3;flex:1 1 100%;overflow:auto}
  .hm-shell{padding:14px}
  .hm-hero{grid-template-columns:1fr}
  .hm-copy{padding:26px 22px}
  .hm-copy h1{font-size:36px}
  .hm-panels,.hm-sources{grid-template-columns:1fr}
}
@media(max-width:560px){
  .hm-search{grid-template-columns:22px minmax(0,1fr);height:auto;padding:12px}
  .hm-search button{grid-column:1/-1;width:100%}
  .hm-preview-grid,.hm-mini-summary{grid-template-columns:1fr}
}

/* 详情页全局精修：统一网格、字号、留白与响应式节奏 */
.nm-result-dashboard .nm-main{padding:18px 20px 22px}
.nm-result-dashboard .nm-topbar{height:40px;margin-bottom:14px}
.nm-result-dashboard .nm-topbar h1{font-size:18px;line-height:1;font-weight:700}
.nm-result-dashboard .nm-actions{gap:8px}.nm-result-dashboard .nm-actions button,.nm-result-dashboard .nm-actions a{height:34px;padding:0 12px;border-radius:7px;font-size:12px}
.nm-result-dashboard .nm-ipbar{min-height:82px;padding:16px 18px;margin-bottom:16px;border-radius:10px}
.nm-result-dashboard .nm-ipline{gap:12px}.nm-result-dashboard .nm-ipline strong{font-size:22px;line-height:1;font-weight:700}.nm-result-dashboard .nm-ipbar p{margin-top:9px;line-height:1.3}.nm-result-dashboard .nm-tags{gap:7px}.nm-result-dashboard .nm-tags span{height:27px;padding:0 10px;border-radius:6px;font-size:11px}

.nm-result-dashboard .nm-hero-grid{grid-template-columns:minmax(620px,1.35fr) minmax(410px,.85fr);align-items:stretch;gap:16px;margin-bottom:16px}
.nm-result-dashboard .nm-risk-card{grid-column:1;grid-row:1;min-height:320px}
.nm-result-dashboard .nm-ai-card{grid-column:2;grid-row:1;min-height:320px;padding:20px 20px 18px;display:flex;flex-direction:column}
.nm-result-dashboard .nm-advice{grid-column:1/-1;grid-row:2;min-height:252px;padding:20px 22px 18px}
.nm-result-dashboard .nm-card-title{min-height:24px;margin-bottom:16px}.nm-result-dashboard .nm-card-title h2,.nm-result-dashboard .nm-card>h2{font-size:15px;line-height:1.2;font-weight:700}.nm-result-dashboard .nm-ok-pill{font-size:11px;line-height:1;padding:5px 10px}

.nm-result-dashboard .nm-risk-body{min-height:214px}.nm-result-dashboard .nm-risk-gauge{width:250px}.nm-result-dashboard .nm-risk-copy{min-width:230px}
.nm-result-dashboard .nm-alert{margin-top:8px;white-space:normal}

.nm-result-dashboard .nm-ai-card .ai-grid{width:100%;grid-template-columns:repeat(5,52px);grid-auto-rows:52px;align-content:start;justify-content:space-between;gap:18px 8px;margin:4px 0 18px}
.nm-result-dashboard .nm-ai-card .logo{width:52px;height:52px;border-radius:11px;box-shadow:0 5px 14px rgba(15,23,42,.045)}
.nm-result-dashboard .nm-ai-card .nm-legend{margin-top:auto;min-height:40px;padding-top:13px;gap:9px 11px;flex-wrap:wrap;font-size:11px}
.nm-result-dashboard .nm-ai-card .nm-link{margin-top:12px;padding-top:12px;border-top:1px solid #edf1f6;font-size:12px}

.nm-result-dashboard .nm-advice .nm-card-title{margin-bottom:8px}.nm-result-dashboard .nm-advice-body{grid-template-columns:minmax(0,1fr) 150px;min-height:150px;gap:28px;padding:0 10px}.nm-result-dashboard .nm-advice strong{font-size:17px;line-height:1.35;margin:10px 0 12px}.nm-result-dashboard .nm-advice ul{font-size:12px;line-height:1.75;padding-left:18px;margin:0}.nm-result-dashboard .nm-advice li+li{margin-top:2px}.nm-result-dashboard .nm-shield{width:116px;height:116px}.nm-result-dashboard .nm-shield::after{left:47px;top:47px}.nm-result-dashboard .nm-wide-link{height:42px;margin-top:10px;padding:0 16px;font-size:12px}

.nm-result-dashboard .nm-mid-grid{grid-template-columns:minmax(500px,1.7fr) minmax(210px,.7fr) minmax(280px,.95fr);align-items:stretch;gap:16px;margin-bottom:16px}
.nm-result-dashboard .nm-mid-grid>.nm-card{min-height:216px;padding:18px}.nm-result-dashboard .nm-summary .nm-card-title{margin-bottom:14px}.nm-result-dashboard .summary-grid{gap:8px}.nm-result-dashboard .summary-grid div{min-height:64px;padding:12px 42px 10px 12px;border-radius:7px}.nm-result-dashboard .summary-grid b{margin-bottom:7px}.nm-result-dashboard .summary-grid i,.nm-result-dashboard .summary-grid .summary-icon{right:12px;top:20px;width:24px;height:24px}
.nm-result-dashboard .trust-card h2,.nm-result-dashboard .nm-netinfo h2{margin-bottom:14px}.nm-result-dashboard .trust-ring{width:146px;height:146px}.nm-result-dashboard .nm-netinfo dl{grid-template-columns:74px minmax(0,1fr);gap:7px 9px;margin:0;font-size:12px}.nm-result-dashboard .nm-netinfo .nm-link{margin-top:12px}

.nm-result-dashboard .nm-info-grid{grid-template-columns:minmax(260px,1.35fr) minmax(150px,.72fr) minmax(210px,1.05fr) minmax(145px,.7fr) minmax(145px,.7fr);gap:16px;margin-bottom:16px}.nm-result-dashboard .nm-info-grid>.nm-card{min-height:158px;padding:17px 18px}.nm-result-dashboard .nm-info-grid h2{margin-bottom:10px}.nm-result-dashboard .geo-content{grid-template-columns:minmax(0,1fr) 150px;gap:12px}.nm-result-dashboard .mini-map{height:88px}.nm-result-dashboard .rdns-card code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nm-result-dashboard .black-card b,.nm-result-dashboard .port-card b{margin:10px 0 4px}

.nm-result-dashboard .nm-bottom-grid{grid-template-columns:minmax(500px,1.7fr) repeat(3,minmax(150px,.65fr));gap:16px;margin-bottom:16px}.nm-result-dashboard .nm-bottom-grid>.nm-card{min-height:154px;padding:17px 18px}.nm-result-dashboard .factor-line{padding-top:22px}.nm-result-dashboard .factor-line::before{top:31px}.nm-result-dashboard .factor-line span b{width:24px;height:24px;margin-bottom:9px}.nm-result-dashboard .trend-card svg{height:52px}.nm-result-dashboard .mini-stat b{margin:10px 0 4px}

.nm-result-dashboard .nm-accordions{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:0}.nm-result-dashboard .nm-accordions details{border-radius:8px}.nm-result-dashboard .nm-accordions summary{height:48px;padding:0 15px;font-size:12px}.nm-result-dashboard .detail-list div{grid-template-columns:minmax(100px,1fr) minmax(130px,1.2fr) 48px 52px;padding:9px 12px}

@media(max-width:1500px){
  .nm-result-dashboard .nm-hero-grid{grid-template-columns:minmax(590px,1.3fr) minmax(390px,.85fr)}
  .nm-result-dashboard .nm-mid-grid{grid-template-columns:minmax(470px,1.6fr) minmax(200px,.7fr) minmax(260px,.9fr)}
  .nm-result-dashboard .nm-info-grid{grid-template-columns:1.3fr .7fr 1fr .68fr .68fr}
  .nm-result-dashboard .nm-bottom-grid{grid-template-columns:minmax(450px,1.6fr) repeat(3,minmax(140px,.62fr))}
}
@media(max-width:1320px){
  .nm-result-dashboard .nm-hero-grid,.nm-result-dashboard .nm-mid-grid{grid-template-columns:1fr}
  .nm-result-dashboard .nm-risk-card,.nm-result-dashboard .nm-ai-card,.nm-result-dashboard .nm-advice{grid-column:1;grid-row:auto}
  .nm-result-dashboard .nm-ai-card .ai-grid{justify-content:start;gap:18px 22px}
  .nm-result-dashboard .nm-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nm-result-dashboard .geo-card{grid-column:1/-1}
  .nm-result-dashboard .nm-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nm-result-dashboard .risk-factors{grid-column:1/-1}
  .nm-result-dashboard .nm-accordions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .nm-result-dashboard .nm-main{padding:14px}.nm-result-dashboard .nm-topbar{gap:12px}.nm-result-dashboard .nm-actions{width:100%;gap:7px}.nm-result-dashboard .nm-actions button,.nm-result-dashboard .nm-actions a{flex:1;justify-content:center;min-width:120px}
  .nm-result-dashboard .nm-ipbar{gap:14px}.nm-result-dashboard .nm-tags{width:100%}
  .nm-result-dashboard .nm-risk-body{grid-template-columns:1fr;gap:8px}.nm-result-dashboard .nm-risk-copy{width:min(100%,420px);margin:0 auto;padding-top:0}.nm-result-dashboard .nm-risk-gauge{width:min(270px,82vw)}
  .nm-result-dashboard .nm-advice-body{grid-template-columns:minmax(0,1fr) 110px;gap:14px;padding:0}.nm-result-dashboard .nm-shield{width:100px;height:100px}.nm-result-dashboard .nm-shield::after{left:39px;top:39px}
  .nm-result-dashboard .nm-info-grid,.nm-result-dashboard .nm-bottom-grid,.nm-result-dashboard .nm-accordions{grid-template-columns:1fr}.nm-result-dashboard .geo-card,.nm-result-dashboard .risk-factors{grid-column:auto}
  .nm-result-dashboard .geo-content{grid-template-columns:1fr 140px}
}
@media(max-width:560px){
  .nm-result-dashboard .nm-actions button,.nm-result-dashboard .nm-actions a{flex:1 1 calc(50% - 7px);min-width:0}.nm-result-dashboard .nm-profile{display:none}
  .nm-result-dashboard .nm-ipline strong{font-size:19px}.nm-result-dashboard .nm-ipbar p span{display:block;margin-top:5px}.nm-result-dashboard .nm-tags span{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .nm-result-dashboard .nm-risk-card,.nm-result-dashboard .nm-ai-card,.nm-result-dashboard .nm-advice{padding:16px;min-height:auto}.nm-result-dashboard .nm-risk-card .nm-card-title{margin-bottom:6px}.nm-result-dashboard .nm-risk-gauge-copy b{font-size:43px}
  .nm-result-dashboard .nm-ai-card .ai-grid{grid-template-columns:repeat(5,46px);grid-auto-rows:46px;gap:16px 10px;justify-content:space-between}.nm-result-dashboard .nm-ai-card .logo{width:46px;height:46px}.nm-result-dashboard .logo svg{width:28px;height:28px}
  .nm-result-dashboard .nm-advice-body{grid-template-columns:1fr}.nm-result-dashboard .nm-shield{display:none}.nm-result-dashboard .nm-advice strong{font-size:15px}.nm-result-dashboard .nm-wide-link{margin-top:14px}
  .nm-result-dashboard .summary-grid{grid-template-columns:1fr}.nm-result-dashboard .geo-content{grid-template-columns:1fr}.nm-result-dashboard .mini-map{height:110px}.nm-result-dashboard .factor-line{grid-template-columns:1fr;gap:12px;padding-top:0}.nm-result-dashboard .factor-line::before{display:none}.nm-result-dashboard .factor-line span{display:grid;grid-template-columns:24px minmax(0,1fr);text-align:left;align-items:center;gap:10px}.nm-result-dashboard .factor-line span b{margin:0}.nm-result-dashboard .factor-line em{grid-column:2;margin:0}
}

/* 恢复详情页原始卡片排列，仅保留组件内部精修 */
.nm-result-dashboard .nm-hero-grid{grid-template-columns:minmax(430px,1.42fr) minmax(300px,.98fr) minmax(320px,1.1fr);align-items:stretch;gap:18px;margin-bottom:18px}
.nm-result-dashboard .nm-risk-card,.nm-result-dashboard .nm-ai-card,.nm-result-dashboard .nm-advice{grid-column:auto;grid-row:auto;min-height:304px}
.nm-result-dashboard .nm-ai-card{padding:18px 20px;display:block}
.nm-result-dashboard .nm-advice{padding:18px 20px}
.nm-result-dashboard .nm-advice-body{grid-template-columns:minmax(0,1fr) 118px;gap:18px;padding:0;min-height:142px}
.nm-result-dashboard .nm-shield{width:104px;height:104px}.nm-result-dashboard .nm-shield::after{left:41px;top:41px}
.nm-result-dashboard .nm-mid-grid{grid-template-columns:minmax(520px,1.65fr) minmax(230px,.72fr) minmax(300px,.96fr);gap:18px;margin-bottom:18px}
.nm-result-dashboard .nm-info-grid{grid-template-columns:1.45fr .72fr 1.25fr .72fr .72fr;gap:18px;margin-bottom:18px}
.nm-result-dashboard .nm-bottom-grid{grid-template-columns:1.75fr .72fr .72fr .72fr;gap:18px;margin-bottom:18px}
.nm-result-dashboard .nm-accordions{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:18px}

@media(max-width:1500px){
  .nm-result-dashboard .nm-hero-grid{grid-template-columns:minmax(430px,1.25fr) minmax(320px,.9fr)}
  .nm-result-dashboard .nm-advice{grid-column:1/-1}
  .nm-result-dashboard .nm-advice-body{grid-template-columns:minmax(0,1fr) 140px}
  .nm-result-dashboard .nm-mid-grid{grid-template-columns:minmax(520px,1.55fr) minmax(220px,.72fr) minmax(280px,.9fr)}
  .nm-result-dashboard .nm-info-grid{grid-template-columns:1.45fr .72fr 1.1fr .72fr .72fr}
}
@media(max-width:1120px){
  .nm-result-dashboard .nm-hero-grid,.nm-result-dashboard .nm-mid-grid{grid-template-columns:1fr}
  .nm-result-dashboard .nm-risk-card,.nm-result-dashboard .nm-ai-card,.nm-result-dashboard .nm-advice{grid-column:auto;grid-row:auto}
  .nm-result-dashboard .nm-info-grid{grid-template-columns:repeat(2,1fr)}
  .nm-result-dashboard .geo-card{grid-column:auto}
  .nm-result-dashboard .nm-bottom-grid,.nm-result-dashboard .nm-accordions{grid-template-columns:1fr 1fr}
  .nm-result-dashboard .risk-factors{grid-column:auto}
}
@media(max-width:860px){
  .nm-result-dashboard .nm-info-grid,.nm-result-dashboard .nm-bottom-grid,.nm-result-dashboard .nm-accordions{grid-template-columns:1fr}
  .nm-result-dashboard .nm-risk-body{grid-template-columns:1fr}
}
@media(max-width:560px){
  .nm-result-dashboard .summary-grid{grid-template-columns:1fr}
}

/* 工作台功能页 */
.tool-main{padding:18px 20px 22px;min-width:0}.tool-main .nm-topbar{height:48px;align-items:flex-start;margin-bottom:16px}.tool-subtitle{font-size:11px;color:#64748b;margin-top:7px}.tool-panel{padding:20px;margin-bottom:16px}.tool-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.tool-heading h2{font-size:16px}.tool-heading p{font-size:12px;color:#64748b;margin-top:7px}.tool-commands,.tool-row-actions{display:flex;align-items:center;gap:8px}.tool-commands input,.integration-panel input{height:34px;border:1px solid #dfe6ef;border-radius:7px;padding:0 11px;font:inherit;color:#111827;background:#fff;outline:0}.tool-commands input:focus,.integration-panel input:focus,.batch-input:focus{border-color:#2bbf7f;box-shadow:0 0 0 3px rgba(43,191,127,.1)}.tool-commands button,.tool-heading>button,.integration-panel button,.tool-row-actions button{height:34px;border:1px solid #dfe6ef;border-radius:7px;background:#fff;color:#334155;padding:0 11px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.tool-primary{height:36px;display:inline-flex;align-items:center;justify-content:center;border:0!important;border-radius:7px!important;background:#172033!important;color:#fff!important;padding:0 15px!important;font-size:12px!important;font-weight:700!important;cursor:pointer;text-decoration:none}.tool-table-wrap{overflow:auto;border:1px solid #e5ebf2;border-radius:8px}.tool-table{width:100%;border-collapse:collapse;font-size:12px;min-width:760px}.tool-table th{height:40px;padding:0 13px;text-align:left;background:#f7f9fc;color:#64748b;font-weight:600;border-bottom:1px solid #e5ebf2}.tool-table td{height:50px;padding:8px 13px;color:#334155;border-bottom:1px solid #edf1f5;white-space:nowrap}.tool-table tr:last-child td{border-bottom:0}.tool-table code{font-family:var(--mono);color:#111827;font-size:12px}.tool-row-actions a,.tool-row-actions button{color:#3478f6;background:transparent;border:0;padding:0;height:auto;font-size:11px}.tool-row-actions button{color:#ef4444}.tool-badge,.monitor-state{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:700}.tool-badge.safe,.monitor-state.safe{color:#159b65;background:#e9f8f0}.tool-badge.warn{color:#c67b00;background:#fff4d6}.tool-badge.danger,.monitor-state.danger{color:#e33b43;background:#fff0f1}.state-safe{color:#16a66d}.state-warn{color:#d98a00}.state-danger,.danger{color:#e63e46!important}.tool-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#64748b}.tool-empty[hidden]{display:none}.tool-empty .mi{width:28px;height:28px;margin-bottom:14px}.tool-empty b{color:#111827;font-size:14px}.tool-empty p{font-size:12px;margin:8px 0 14px}.tool-empty a{color:#3478f6;font-size:12px;font-weight:700}.tool-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.tool-stat-grid article{min-height:120px;padding:20px}.tool-stat-grid span{display:block;color:#64748b;font-size:12px}.tool-stat-grid b{display:block;font-size:30px;line-height:1;color:#111827;margin:13px 0 8px}.tool-stat-grid b i{font-style:normal}.tool-stat-grid em{font-style:normal;color:#94a3b8;font-size:11px}.tool-split{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.batch-input{width:100%;height:190px;resize:vertical;border:1px solid #dfe6ef;border-radius:8px;padding:13px;font:12px/1.7 var(--mono);outline:0;background:#fbfdff}.batch-run{margin-top:10px}.tool-error{min-height:18px;color:#e63e46;font-size:11px;margin-top:6px}.batch-progress-panel{display:flex;flex-direction:column}.batch-progress{height:8px;border-radius:99px;background:#edf2f6;overflow:hidden;margin:28px 0 24px}.batch-progress i{display:block;width:0;height:100%;border-radius:inherit;background:#2bbf7f;transition:width .25s}.batch-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.batch-summary span{border:1px solid #e5ebf2;border-radius:8px;padding:13px;color:#64748b;font-size:11px}.batch-summary b{display:block;color:#111827;font-size:24px;margin-top:8px}.settings-panel{max-width:860px}.setting-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #edf1f5}.setting-row span b{display:block;color:#111827;font-size:13px}.setting-row span em{display:block;color:#64748b;font-style:normal;font-size:11px;margin-top:6px}.setting-row input[type=checkbox]{width:42px;height:23px;accent-color:#2bbf7f}.setting-row input[type=number]{width:80px;height:34px;border:1px solid #dfe6ef;border-radius:7px;padding:0 10px}.settings-panel>.tool-primary{margin-top:18px}.tool-success{color:#16a66d;font-size:11px;margin-top:10px}.integration-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.integration-grid article{min-height:220px;border:1px solid #e5ebf2;border-radius:8px;padding:20px;display:flex;flex-direction:column;align-items:flex-start}.integration-grid article>.mi{width:24px;height:24px;color:#2bbf7f;margin-bottom:16px}.integration-grid h3{font-size:14px;color:#111827}.integration-grid p{font-size:12px;line-height:1.7;color:#64748b;margin:8px 0 16px}.integration-grid input{width:100%;margin-bottom:10px}.integration-grid em{font-style:normal;color:#64748b;font-size:11px;margin-top:10px}.team-placeholder{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.team-placeholder>.mi{width:38px;height:38px;color:#2bbf7f;margin-bottom:18px}.team-placeholder>b{font-size:18px;color:#111827}.team-placeholder>p{font-size:12px;color:#64748b;margin:9px 0 18px}.team-placeholder>div{display:flex;gap:10px}.team-placeholder>div span{background:#f1f5f9;border-radius:999px;padding:6px 10px;color:#475569;font-size:11px}
.nm-actions [data-monitor-ip].is-active{color:#16a66d;border-color:#bde8d2;background:#eaf9f1}.nm-collapse{width:100%;border:0;background:transparent;font-family:inherit;cursor:pointer}.sidebar-collapsed{grid-template-columns:82px minmax(0,1fr)}.sidebar-collapsed .nm-side{padding-left:14px;padding-right:14px}.sidebar-collapsed .nm-brand>span:last-child,.sidebar-collapsed .nm-menu a:not(.active)::after,.sidebar-collapsed .nm-menu a{font-size:0;justify-content:center;padding:0}.sidebar-collapsed .nm-menu a .mi{width:18px;height:18px}.sidebar-collapsed .nm-quota,.sidebar-collapsed .nm-user,.sidebar-collapsed .nm-collapse{display:none}.sidebar-collapsed .nm-brand{justify-content:center;margin-left:0;margin-right:0}.sidebar-collapsed .nm-brand-mark{width:42px;flex:0 0 42px}
.nm-sidebar-expand{display:none;position:fixed;left:19px;bottom:22px;z-index:40;width:42px;height:42px;border:1px solid #dce4ed;border-radius:8px;background:#fff;color:#334155;box-shadow:0 10px 28px rgba(15,23,42,.14);cursor:pointer}.nm-sidebar-expand .mi{width:18px;height:18px;margin:auto}.sidebar-collapsed>.nm-sidebar-expand{display:grid;place-items:center}.ai-detail-trigger{border:0;background:transparent;padding:0;font-family:inherit;cursor:pointer}.nm-ui-toast{position:fixed;left:50%;bottom:28px;z-index:120;max-width:min(420px,calc(100vw - 32px));padding:10px 14px;border-radius:7px;color:#fff;background:#172033;box-shadow:0 14px 36px rgba(15,23,42,.22);font-size:12px;font-weight:700;opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .18s,transform .18s}.nm-ui-toast.is-visible{opacity:1;transform:translate(-50%,0)}.nm-ui-toast.is-error{background:#d9363e}.nm-ui-toast.is-success{background:#159b65}

/* 侧栏折叠态：固定图标节奏并保留明确的当前页状态 */
.nm-dashboard.sidebar-collapsed .nm-menu a{gap:0}
.nm-sidebar-pref-collapsed .nm-side{align-items:center;padding:20px 14px 76px}.nm-sidebar-pref-collapsed .nm-brand{width:52px;justify-content:center;margin:0 auto 24px}.nm-sidebar-pref-collapsed .nm-brand>span:last-child{display:none}.nm-sidebar-pref-collapsed .nm-brand-mark{width:40px;height:40px;flex:0 0 40px;border-radius:10px}.nm-sidebar-pref-collapsed .nm-brand-mark svg{width:25px;height:25px}.nm-sidebar-pref-collapsed .nm-menu{width:100%;align-items:center;gap:7px}.nm-sidebar-pref-collapsed .nm-menu a{position:relative;width:52px;height:42px;margin:0 auto;padding:0;gap:0;justify-content:center;border:1px solid transparent;border-radius:8px;font-size:0;color:#526174}.nm-sidebar-pref-collapsed .nm-menu a .mi{width:17px;height:17px}.nm-sidebar-pref-collapsed .nm-quota,.nm-sidebar-pref-collapsed .nm-user,.nm-sidebar-pref-collapsed .nm-collapse{display:none}.nm-sidebar-pref-collapsed .nm-sidebar-expand{display:grid;place-items:center;position:absolute;left:14px;bottom:20px;width:52px;height:42px}.nm-sidebar-pref-collapsed .nm-menu a.active{border-color:#cbeadd;background:#e8f7f1;color:#13a66b;box-shadow:inset 3px 0 0 #20b978}.nm-sidebar-pref-collapsed .nm-menu a.active::after{content:"";position:absolute;right:6px;top:7px;width:4px;height:4px;border-radius:50%;background:#20b978}
.nm-dashboard.sidebar-collapsed{position:relative;grid-template-columns:82px minmax(0,1fr)}.sidebar-collapsed .nm-side{align-items:center;padding:20px 14px 76px}.sidebar-collapsed .nm-brand{width:52px;justify-content:center;margin:0 auto 24px}.sidebar-collapsed .nm-brand>span:last-child{display:none}.sidebar-collapsed .nm-brand-mark{width:40px;height:40px;flex:0 0 40px;border-radius:10px}.sidebar-collapsed .nm-brand-mark svg{width:25px;height:25px}.sidebar-collapsed .nm-menu{width:100%;align-items:center;gap:7px}.sidebar-collapsed .nm-menu a{position:relative;width:52px;height:42px;margin:0 auto;padding:0;justify-content:center;border:1px solid transparent;border-radius:8px;font-size:0;color:#526174;transition:color .18s,background .18s,border-color .18s,box-shadow .18s}.sidebar-collapsed .nm-menu a .mi{width:17px;height:17px}.sidebar-collapsed .nm-menu a:hover{border-color:#e1e8ef;background:#f5f8fa;color:#172033}.sidebar-collapsed .nm-menu a.active{border-color:#cbeadd;background:#e8f7f1;color:#13a66b;box-shadow:inset 3px 0 0 #20b978}.sidebar-collapsed .nm-menu a.active::after{content:"";position:absolute;right:6px;top:7px;width:4px;height:4px;border-radius:50%;background:#20b978}.sidebar-collapsed .nm-sidebar-expand{display:grid;place-items:center;position:absolute;left:14px;bottom:20px;width:52px;height:42px;border-color:#dce5ed;background:#fff;color:#526174;box-shadow:0 8px 22px rgba(15,23,42,.1)}.sidebar-collapsed .nm-sidebar-expand:hover{border-color:#bfe4d4;background:#edf9f4;color:#159b65}.sidebar-collapsed .nm-sidebar-expand .mi{width:17px;height:17px}
.nm-ai-modal{width:min(720px,calc(100vw - 40px));max-height:min(680px,calc(100vh - 40px));padding:0;border:1px solid #dce4ed;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22);overflow:hidden}.nm-ai-modal::backdrop{background:rgba(15,23,42,.46);backdrop-filter:blur(2px)}.ai-modal-shell{display:flex;flex-direction:column;max-height:min(680px,calc(100vh - 40px))}.ai-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid #e7edf3}.ai-modal-header>div>span{display:block;color:#3478f6;font-size:10px;font-weight:800;margin-bottom:5px}.ai-modal-header h2{margin:0;color:#111827;font-size:18px;line-height:1.3}.ai-modal-header p{margin:5px 0 0;color:#64748b;font-size:11px}.ai-modal-header>button{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border:1px solid #dce4ed;border-radius:7px;background:#fff;color:#64748b;font-size:21px;line-height:1;cursor:pointer}.ai-modal-notice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:10px 22px;background:#f2f7ff;border-bottom:1px solid #dce8f8}.ai-modal-notice b{color:#3478f6;font-size:11px}.ai-modal-notice span{color:#52677f;font-size:11px}.ai-scene-list{min-height:0;overflow:auto;padding:8px 22px}.ai-scene-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 52px;align-items:center;gap:14px;min-height:66px;border-bottom:1px solid #edf1f6}.ai-scene-row:last-child{border-bottom:0}.ai-scene-row>div:first-child b{display:block;color:#111827;font-size:12px}.ai-scene-row>div:first-child span{display:block;color:#64748b;font-size:11px;margin-top:6px}.ai-scene-stars{color:#f1a928;font-size:14px;letter-spacing:1px;white-space:nowrap}.ai-scene-row>em{display:inline-flex;align-items:center;justify-content:center;height:24px;border-radius:999px;font-style:normal;font-size:10px;font-weight:750}.scene-4>em,.scene-5>em{color:#159b65;background:#e9f8f0}.scene-3>em{color:#b97800;background:#fff5d9}.scene-1>em,.scene-2>em{color:#df3740;background:#fff0f1}.ai-modal-basis{margin:6px 22px 18px;padding:14px 15px;border:1px solid #e5ebf2;border-radius:7px;background:#fafcfe}.ai-modal-basis h3{margin:0 0 9px;color:#111827;font-size:12px}.ai-modal-basis>div{display:flex;flex-wrap:wrap;gap:7px}.ai-modal-basis span{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:5px;background:#eef3f8;color:#526173;font-size:10px}.ai-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;border-top:1px solid #e7edf3;background:#f8fafc}.ai-modal-footer span{color:#94a3b8;font-size:10px}.ai-modal-footer button{height:34px;padding:0 18px;border:0;border-radius:7px;background:#111827;color:#fff;font-size:11px;font-weight:700;cursor:pointer}
.detail-action-trigger,.neighbor-detail-trigger{border:0;background:transparent;padding:0;font-family:inherit;cursor:pointer}.neighbor-detail-trigger{margin-top:7px}.neighbor-detail-trigger:disabled{opacity:.45;cursor:not-allowed}.nm-detail-modal{width:min(800px,calc(100vw - 40px));max-height:min(700px,calc(100vh - 40px));padding:0;border:1px solid #dce4ed;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22);overflow:hidden}.nm-detail-modal::backdrop{background:rgba(15,23,42,.46);backdrop-filter:blur(2px)}.detail-modal-shell{display:flex;flex-direction:column;max-height:min(700px,calc(100vh - 40px))}.detail-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid #e7edf3}.detail-modal-header>div>span{display:block;color:#3478f6;font-size:10px;font-weight:800;margin-bottom:5px}.nm-threat-modal .detail-modal-header>div>span{color:#df3740}.detail-modal-header h2{margin:0;color:#111827;font-size:18px;line-height:1.3}.detail-modal-header p{margin:5px 0 0;color:#64748b;font-size:11px}.detail-modal-header>button{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border:1px solid #dce4ed;border-radius:7px;background:#fff;color:#64748b;font-size:21px;line-height:1;cursor:pointer}.detail-modal-notice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 22px;background:#fff7f7;border-bottom:1px solid #f4dddd}.detail-modal-notice b{color:#df3740;font-size:11px}.detail-modal-notice span{color:#735b5d;font-size:11px}.detail-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;border-top:1px solid #e7edf3;background:#f8fafc}.detail-modal-footer span{color:#94a3b8;font-size:10px}.detail-modal-footer button{height:34px;padding:0 18px;border:0;border-radius:7px;background:#111827;color:#fff;font-size:11px;font-weight:700;cursor:pointer}.threat-source-list{min-height:0;overflow:auto;padding:6px 22px}.threat-source-row{display:grid;grid-template-columns:190px minmax(0,1fr) 58px;align-items:center;gap:14px;min-height:62px;border-bottom:1px solid #edf1f6}.threat-source-row:last-child{border-bottom:0}.threat-source-row>div:first-child b{display:block;color:#111827;font-size:12px}.threat-source-row>div:first-child span{display:block;color:#94a3b8;font-size:10px;margin-top:5px;overflow-wrap:anywhere}.threat-source-evidence{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#64748b;font-size:11px}.threat-source-evidence code{padding:4px 7px;border-radius:5px;background:#fff0f1;color:#df3740;font:700 10px var(--mono)}.threat-source-row>em{display:inline-flex;align-items:center;justify-content:center;height:24px;border-radius:999px;font-style:normal;font-size:10px;font-weight:750}.threat-source-row.safe>em{color:#159b65;background:#e9f8f0}.threat-source-row.caution>em{color:#b97800;background:#fff5d9}.threat-source-row.danger>em{color:#df3740;background:#fff0f1}.threat-source-row.unknown>em{color:#64748b;background:#eef2f6}.network-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px 22px}.network-detail-grid section{border:1px solid #e5ebf2;border-radius:7px;padding:14px}.network-detail-grid h3{margin:0 0 12px;color:#111827;font-size:12px}.network-detail-grid dl{display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px 12px;margin:0;font-size:11px}.network-detail-grid dt{color:#94a3b8}.network-detail-grid dd{margin:0;color:#334155;font-weight:650;overflow-wrap:anywhere}.network-source-table-wrap{min-height:0;overflow:auto;border-top:1px solid #edf1f6}.network-source-table{width:100%;border-collapse:collapse;font-size:11px}.network-source-table th,.network-source-table td{padding:10px 16px;text-align:left;border-bottom:1px solid #edf1f6}.network-source-table th{position:sticky;top:0;background:#f7f9fb;color:#64748b;font-weight:700}.network-source-table td{color:#475569}.source-state{display:inline-flex;align-items:center;height:23px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:750}.source-state.ok{color:#159b65;background:#e9f8f0}.source-state.error{color:#df3740;background:#fff0f1}.neighbor-modal-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;background:#f2f7ff;border-bottom:1px solid #dce8f8}.neighbor-modal-summary b{color:#3478f6;font-size:11px}.neighbor-modal-summary span{color:#64748b;font-size:11px}.neighbor-modal-list{min-height:180px;overflow:auto;padding:6px 22px}.neighbor-detail-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;border-bottom:1px solid #edf1f6}.neighbor-detail-row:last-child{border-bottom:0}.neighbor-detail-row>div{display:flex;align-items:center;gap:12px}.neighbor-detail-row code{min-width:130px;background:#f8fafc;color:#111827;border:1px solid #dce4ed;font:700 11px var(--mono)}.neighbor-detail-row span{font-size:11px}.neighbor-detail-row.safe span{color:#159b65}.neighbor-detail-row.danger span{color:#df3740}.neighbor-detail-row.unknown span{color:#64748b}.neighbor-detail-row a{color:#3478f6;font-size:11px;font-weight:700}.api-json-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;background:#f8fafc}.api-json-toolbar>code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;color:#475569;font-size:10px}.api-json-toolbar>span{display:flex;gap:7px}.api-json-toolbar button{height:28px;border:1px solid #dce4ed;border-radius:6px;background:#fff;color:#334155;padding:0 9px;font-size:10px;font-weight:700;cursor:pointer}.api-json-panel>pre{border-top:0!important;max-height:440px!important;white-space:pre;tab-size:2}
.nm-confidence.health-degraded{color:#b97800!important}.nm-confidence.health-poor{color:#df3740!important}.score-explain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;background:#edf1f6}.score-explain>div{min-width:0;padding:12px;background:#f8fafc}.score-explain span,.score-explain small{display:block}.score-explain span{color:#64748b;font-size:10px}.score-explain b{display:block;margin:5px 0 3px;color:#111827;font:800 15px var(--mono)}.score-explain small{color:#94a3b8;font-size:9px;line-height:1.45}.score-explain>p{grid-column:1/-1;margin:0;padding:9px 12px;background:#fff;color:#64748b;font-size:10px;line-height:1.55}.source-health-summary{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;background:#f8fafc}.source-health-summary span{display:inline-flex;align-items:center;height:23px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:750}.source-health-summary .ok{color:#159b65;background:#e9f8f0}.source-health-summary .failed{color:#df3740;background:#fff0f1}.source-health-summary .limited{color:#b97800;background:#fff5d9}.source-health-summary .unsupported{color:#64748b;background:#eef2f6}.source-health-list{max-height:320px;overflow:auto}.source-health-list>div{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(120px,1.2fr) 52px;align-items:center;gap:9px;min-height:42px;padding:8px 12px;border-bottom:1px solid #edf1f6;font-size:10px}.source-health-list b{color:#111827;overflow-wrap:anywhere}.source-health-list span{color:#64748b;overflow-wrap:anywhere}.source-health-list i{display:inline-flex;align-items:center;justify-content:center;height:22px;border-radius:999px;font-style:normal;font-weight:750}.source-health-list i.ok{color:#159b65;background:#e9f8f0}.source-health-list i.failed{color:#df3740;background:#fff0f1}.source-health-list i.limited{color:#b97800;background:#fff5d9}.source-health-list i.unsupported{color:#64748b;background:#eef2f6}
.claude-env-card{display:flex!important;flex-direction:column}.claude-env-card .nm-card-title{margin-bottom:10px}.claude-env-idle{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:18px;min-height:150px}.claude-env-idle strong,.claude-env-result-copy>strong{display:block;margin:0 0 9px!important;color:#111827!important;font-size:15px!important;line-height:1.45}.claude-env-idle p,.claude-env-result-copy>p{margin:0;color:#475569;font-size:11px;line-height:1.65}.claude-env-idle small{display:block;margin-top:10px;color:#94a3b8;font-size:10px;line-height:1.55}.claude-env-visual{width:104px;height:104px;display:grid;place-items:center;border-radius:50%;background:#edf9f3;color:#16a66d}.claude-env-visual svg{width:68px;height:68px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.claude-env-running{min-height:150px;padding-top:25px}.claude-env-running>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#334155;font-size:12px}.claude-env-running b{color:#16a66d;font:800 12px var(--mono)}.claude-env-progress{height:7px;margin:17px 0 12px;border-radius:999px;background:#edf2f6;overflow:hidden}.claude-env-progress i{display:block;width:0;height:100%;border-radius:inherit;background:#16a66d;transition:width .2s ease}.claude-env-running p{margin:0;color:#64748b;font-size:11px}.claude-env-result{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:20px;min-height:150px}.claude-env-score{width:118px;height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:10px solid #dff4e9;border-radius:50%;background:#fff}.claude-env-score>span{color:#64748b;font-size:9px}.claude-env-score>b{margin:6px 0 3px;color:#111827;font:900 31px var(--mono)}.claude-env-score>em,.claude-env-modal-summary em{font-style:normal;font-size:10px;font-weight:800}.claude-env-score>em.low,.claude-env-modal-summary em.low{color:#159b65}.claude-env-score>em.medium,.claude-env-modal-summary em.medium{color:#b97800}.claude-env-score>em.high,.claude-env-modal-summary em.high{color:#df3740}.claude-env-result-copy>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.claude-env-result-copy>div span{padding:5px 8px;border-radius:5px;background:#f1f5f9;color:#64748b;font-size:10px}.claude-env-result-copy>div b{color:#111827}.claude-env-actions{display:flex;gap:8px;margin-top:auto}.claude-env-actions .nm-wide-link{flex:1;margin-top:10px;background:#fff;cursor:pointer}.claude-env-actions .claude-env-run{border-color:#cfe9dc;color:#117c54}.claude-env-actions button:disabled{opacity:.6;cursor:not-allowed}.claude-env-modal-summary{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:18px;padding:14px 22px;background:#f8fafc;border-bottom:1px solid #edf1f6}.claude-env-modal-summary>div{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:4px 8px}.claude-env-modal-summary span{grid-column:1/-1;color:#64748b;font-size:10px}.claude-env-modal-summary b{color:#111827;font:800 18px var(--mono)}.claude-env-modal-summary p{margin:0;color:#475569;font-size:11px;line-height:1.6}.claude-env-signal-list{min-height:0;overflow:auto;padding:4px 22px}.claude-env-signal{display:grid;grid-template-columns:190px minmax(0,1fr) 64px 56px;align-items:center;gap:12px;min-height:60px;border-bottom:1px solid #edf1f6}.claude-env-signal:last-child{border-bottom:0}.claude-env-signal>div b{display:block;color:#111827;font-size:11px}.claude-env-signal>div span{display:block;margin-top:4px;color:#94a3b8;font-size:9px;line-height:1.4}.claude-env-signal code{min-width:0;padding:0;background:transparent;color:#475569;font:10px/1.45 var(--mono);white-space:normal;overflow-wrap:anywhere}.claude-env-signal em{font-style:normal;text-align:right;color:#64748b;font:700 10px var(--mono)}.claude-env-signal>i{height:23px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-style:normal;font-size:10px;font-weight:750}.claude-env-signal.safe>i{color:#159b65;background:#e9f8f0}.claude-env-signal.caution>i{color:#b97800;background:#fff5d9}.claude-env-signal.danger>i{color:#df3740;background:#fff0f1}.claude-env-signal.unknown>i{color:#64748b;background:#eef2f6}.claude-env-disclaimer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 22px;background:#fff8e8;border-top:1px solid #f2e3bd}.claude-env-disclaimer b{color:#a96a00;font-size:10px}.claude-env-disclaimer span{color:#715d37;font-size:10px;line-height:1.55}
.claude-env-card{--env-color:#159b65;--env-soft:#e9f8f0;--env-border:#cdebdc}.claude-env-card[data-env-band="medium"]{--env-color:#b97800;--env-soft:#fff5d9;--env-border:#f0d99c}.claude-env-card[data-env-band="high"]{--env-color:#df3740;--env-soft:#fff0f1;--env-border:#f2c6ca}.claude-env-card[data-env-band] .claude-env-score{border-color:var(--env-border);box-shadow:0 0 0 8px var(--env-soft)}.claude-env-card[data-env-band] .claude-env-score>b,.claude-env-card[data-env-band] .claude-env-result-copy>strong{color:var(--env-color)!important}.claude-env-card[data-env-band] .claude-env-score>em{color:var(--env-color)}.claude-env-card[data-env-band] .claude-env-run{color:var(--env-color);border-color:var(--env-border)}.nm-claude-env-modal{--env-color:#159b65;--env-soft:#e9f8f0;--env-border:#cdebdc;position:fixed!important;inset:0!important;margin:auto!important;width:min(880px,calc(100vw - 32px))!important;max-width:880px;max-height:min(760px,calc(100dvh - 32px))!important;overflow:hidden}.nm-claude-env-modal[data-env-band="medium"]{--env-color:#b97800;--env-soft:#fff5d9;--env-border:#f0d99c}.nm-claude-env-modal[data-env-band="high"]{--env-color:#df3740;--env-soft:#fff0f1;--env-border:#f2c6ca}.nm-claude-env-modal .detail-modal-shell{max-height:min(760px,calc(100dvh - 32px));background:#fff}.claude-env-modal-header>div>span{color:var(--env-color)!important;letter-spacing:.04em}.claude-env-modal-hero{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:26px;padding:20px 24px;background:linear-gradient(135deg,#fff 0%,var(--env-soft) 100%);border-bottom:1px solid var(--env-border)}.claude-env-modal-ring{width:126px;height:126px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:11px solid var(--env-border);border-radius:50%;background:#fff;box-shadow:0 0 0 7px color-mix(in srgb,var(--env-color) 7%,transparent)}.claude-env-modal-ring>div{display:flex;align-items:baseline}.claude-env-modal-ring b{color:var(--env-color);font:900 34px/1 var(--mono)}.claude-env-modal-ring span{color:#94a3b8;font-size:10px}.claude-env-modal-ring em{margin-top:6px;color:var(--env-color)!important;font-style:normal;font-size:11px;font-weight:800}.claude-env-modal-copy>span{display:block;color:var(--env-color);font-size:10px;font-weight:800}.claude-env-modal-copy>strong{display:block;margin:5px 0 6px;color:#111827;font-size:18px;line-height:1.35}.claude-env-modal-copy>p{margin:0;color:#475569;font-size:11px;line-height:1.65}.claude-env-modal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.claude-env-modal-stats span{padding:8px 10px;border:1px solid color-mix(in srgb,var(--env-color) 14%,#e5ebf2);border-radius:6px;background:rgba(255,255,255,.72);color:#64748b;font-size:9px}.claude-env-modal-stats b{display:block;margin-top:4px;color:#111827;font:800 11px var(--mono)}.claude-env-list-head{display:grid;grid-template-columns:190px minmax(0,1fr) 64px 56px;gap:12px;padding:8px 22px;background:#f8fafc;border-bottom:1px solid #e7edf3;color:#94a3b8;font-size:9px;font-weight:700}.nm-claude-env-modal .claude-env-signal-list{flex:1;min-height:180px}.nm-claude-env-modal .claude-env-signal:hover{background:#fbfcfe}.nm-claude-env-modal .detail-modal-footer button{background:var(--env-color)}.nm-claude-env-modal .detail-modal-footer button:hover{filter:brightness(.92)}
.mini-stat> b>i{font-style:normal}.trend-card small b{font:inherit;color:inherit}.tool-badge.error{color:#64748b;background:#eef2f6}.tool-error-inline{color:#64748b;font-size:11px}.tool-row-actions button:disabled,.tool-commands button:disabled{opacity:.55;cursor:not-allowed}
.api-panel{max-width:960px}.api-endpoint{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #dfe6ef;border-radius:8px;padding:12px 14px;background:#fbfdff}.api-endpoint>span{color:#fff;background:#16a66d;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:800}.api-endpoint code{overflow:auto;color:#0f172a;font-size:12px}.api-endpoint button{border:0;background:transparent;color:#3478f6;font-size:11px;font-weight:700;cursor:pointer}.api-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.api-fields>div{border:1px solid #e5ebf2;border-radius:8px;padding:14px}.api-fields b{display:block;color:#111827;font:700 12px var(--mono)}.api-fields span{display:block;color:#64748b;font-size:11px;margin-top:6px}.api-example{margin:0;border-radius:8px;background:#101827;color:#d7e3ef;padding:16px;overflow:auto;font:11px/1.7 var(--mono)}
.port-card>b{color:#64748b}.port-card>b.has-ports{color:#111827}.port-card p i.port-normal{color:#159b65;background:#e9f8f0;border-color:#bde8d2}.port-card p i.port-caution{color:#b97800;background:#fff5d9;border-color:#f4d998}.port-card p i.port-high{color:#df3740;background:#fff0f1;border-color:#f6c9cd}.port-detail-trigger{border:0;background:transparent;padding:0;cursor:pointer;font-family:inherit}.has-modal-open{overflow:hidden}.nm-port-modal{width:min(760px,calc(100vw - 40px));max-height:min(680px,calc(100vh - 40px));padding:0;border:1px solid #dce4ed;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22);overflow:hidden}.nm-port-modal::backdrop{background:rgba(15,23,42,.46);backdrop-filter:blur(2px)}.port-modal-shell{display:flex;flex-direction:column;max-height:min(680px,calc(100vh - 40px))}.port-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid #e7edf3}.port-modal-header>div>span{display:block;color:#16a66d;font-size:10px;font-weight:800;margin-bottom:5px}.port-modal-header h2{margin:0;color:#111827;font-size:18px;line-height:1.3}.port-modal-header p{margin:5px 0 0;color:#64748b;font-size:11px}.port-modal-header>button{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border:1px solid #dce4ed;border-radius:7px;background:#fff;color:#64748b;font-size:21px;line-height:1;cursor:pointer;transition:background .16s,color .16s,border-color .16s}.port-modal-header>button:hover{color:#111827;border-color:#cbd5e1;background:#f8fafc}.port-modal-notice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:10px 22px;background:#effaf4;border-bottom:1px solid #d7eee1}.port-modal-notice b{color:#159b65;font-size:11px}.port-modal-notice span{color:#527063;font-size:11px}.port-source-state{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 22px;background:#fff;border-bottom:1px solid #e7edf3;font-size:11px}.port-source-state span{display:inline-flex;align-items:center;width:max-content;height:24px;padding:0 9px;border-radius:999px;font-weight:750}.port-source-state span.ok{color:#159b65;background:#e9f8f0}.port-source-state span.error{color:#df3740;background:#fff0f1}.port-source-state b{color:#64748b;font-weight:650}.port-source-state p{margin:0 0 0 auto;color:#64748b;text-align:right}.port-modal-body{min-height:0;overflow:auto;background:#fff}.port-detail-table-wrap{overflow:auto}.port-detail-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px;table-layout:fixed}.port-detail-table th,.port-detail-table td{padding:12px 22px;text-align:left;border-bottom:1px solid #edf1f6;vertical-align:middle}.port-detail-table th{position:sticky;top:0;z-index:1;color:#64748b;background:#f7f9fb;font-weight:700}.port-detail-table th:first-child{width:88px}.port-detail-table th:nth-child(2){width:145px}.port-detail-table th:nth-child(3){width:105px}.port-detail-table tbody tr:hover td{background:#fbfdfc}.port-detail-table td{color:#475569}.port-number{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:28px;padding:0 9px;border:1px solid #dce4ed;border-radius:6px;background:#f8fafc;color:#1f2937;font:800 12px var(--mono);font-variant-numeric:tabular-nums}.port-service{color:#111827;font-size:11px;font-weight:750}.port-advice{display:block;line-height:1.55;color:#64748b}.port-level{display:inline-flex;align-items:center;height:23px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:750;white-space:nowrap}.port-level.normal{color:#159b65;background:#e9f8f0}.port-level.caution{color:#b97800;background:#fff5d9}.port-level.high{color:#df3740;background:#fff0f1}.port-modal-empty{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.port-modal-empty b{color:#111827;font-size:13px}.port-modal-empty p{max-width:480px;margin:7px 0 0;color:#64748b;font-size:11px;line-height:1.6}.port-cve-block{margin:14px 22px 18px;padding:14px 15px;border:1px solid #e5ebf2;border-radius:7px;background:#fafcfe}.port-cve-block h3{margin:0 0 7px;color:#111827;font-size:12px}.port-cve-block>div{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.port-cve-block code{padding:5px 8px;border-radius:5px;background:#fff0f1;color:#df3740;font:700 10px var(--mono)}.port-cve-block p{margin:0;color:#64748b;font-size:11px;line-height:1.6}.port-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;border-top:1px solid #e7edf3;background:#f8fafc}.port-modal-footer span{color:#94a3b8;font-size:10px}.port-modal-footer button{height:34px;padding:0 18px;border:0;border-radius:7px;background:#111827;color:#fff;font-size:11px;font-weight:700;cursor:pointer}.port-modal-footer button:hover{background:#273244}
@media(max-width:560px){.api-fields{grid-template-columns:1fr}.api-endpoint{grid-template-columns:auto minmax(0,1fr)}.api-endpoint button{grid-column:1/-1;justify-self:end}.nm-port-modal,.nm-ai-modal,.nm-detail-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.port-modal-shell,.ai-modal-shell,.detail-modal-shell{max-height:calc(100vh - 16px)}.port-modal-header,.ai-modal-header,.detail-modal-header{padding:16px}.port-modal-notice,.ai-modal-notice,.detail-modal-notice{grid-template-columns:1fr;gap:4px;padding:10px 16px}.detail-modal-header h2{font-size:16px}.detail-modal-footer{align-items:flex-start;flex-direction:column;padding:12px 16px}.detail-modal-footer button{width:100%}.threat-source-list,.neighbor-modal-list{padding:4px 16px}.threat-source-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:11px 0}.threat-source-evidence{grid-column:1/-1;grid-row:2}.threat-source-row>em{grid-column:2;grid-row:1;min-width:56px}.network-detail-grid{grid-template-columns:1fr;padding:12px 16px}.network-detail-grid dl{grid-template-columns:76px minmax(0,1fr)}.network-source-table{min-width:620px}.network-source-table th,.network-source-table td{padding:10px 12px}.neighbor-modal-summary{align-items:flex-start;flex-direction:column;gap:4px;padding:11px 16px}.neighbor-detail-row{align-items:flex-start;flex-direction:column;gap:8px;padding:11px 0}.neighbor-detail-row>div{width:100%;align-items:flex-start;flex-direction:column;gap:7px}.neighbor-detail-row code{box-sizing:border-box;min-width:0;max-width:100%;padding:5px 8px;border-radius:5px;overflow-wrap:anywhere;white-space:normal}.neighbor-detail-row a{align-self:flex-end}.api-json-toolbar{align-items:stretch;flex-direction:column}.api-json-toolbar>code{white-space:normal;overflow-wrap:anywhere}.api-json-toolbar>span{width:100%}.api-json-toolbar button{flex:1}.api-json-panel>pre{max-height:55vh!important}.port-source-state{align-items:flex-start;flex-wrap:wrap;padding:11px 16px}.port-source-state p{width:100%;margin:0;text-align:left}.port-detail-table{min-width:650px}.port-detail-table th,.port-detail-table td{padding:10px 12px}.port-cve-block,.ai-modal-basis{margin:12px 16px 16px}.port-modal-footer,.ai-modal-footer{padding:12px 16px}.ai-scene-list{padding:6px 16px}.ai-scene-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 0}.ai-scene-row>em{grid-column:2}.ai-scene-stars{grid-column:1/-1;grid-row:2}.nm-sidebar-expand{left:12px;bottom:12px}}
/* 历史检测：概览、筛选与高密度记录列表 */
.history-table .history-ip code{display:block;padding:0;border:0;background:transparent;color:#172033;font-weight:700;box-shadow:none}
.history-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.history-summary{min-height:96px;padding:17px 18px;display:flex;align-items:center;gap:14px;border-radius:8px}.history-summary-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;background:#eef4fa;color:#477091}.history-summary-icon .mi{width:17px;height:17px}.history-summary small{display:block;color:#718096;font-size:10px;font-weight:700}.history-summary b{display:inline-block;margin-top:5px;color:#172033;font:800 25px/1 var(--mono)}.history-summary p{margin-top:5px;color:#94a3b8;font-size:9px}.history-summary-safe .history-summary-icon{background:#e9f8f1;color:#159b65}.history-summary-warn .history-summary-icon{background:#fff5dc;color:#c27b00}.history-summary-danger .history-summary-icon{background:#fff0f1;color:#df3740}.history-summary-safe b{color:#159b65}.history-summary-warn b{color:#c27b00}.history-summary-danger b{color:#df3740}.history-panel{padding:0;overflow:hidden}.history-panel-head{min-height:98px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e9eef4}.history-eyebrow{display:block;margin-bottom:5px;color:#159b65;font:700 9px/1 var(--mono);letter-spacing:1.1px}.history-panel-head h2{color:#172033;font-size:17px}.history-panel-head p{margin-top:5px;color:#718096;font-size:10px}.history-new-check{gap:8px}.history-new-check .mi{width:14px;height:14px}.history-toolbar{min-height:64px;padding:13px 22px;display:grid;grid-template-columns:minmax(230px,340px) 1fr auto;align-items:center;gap:14px;background:#fafbfd;border-bottom:1px solid #e9eef4}.history-search{height:36px;display:flex;align-items:center;gap:9px;padding:0 10px;border:1px solid #dce5ee;border-radius:6px;background:#fff;color:#8290a1}.history-search:focus-within{border-color:#39b986;box-shadow:0 0 0 3px rgba(43,191,127,.09)}.history-search .mi{width:14px;height:14px}.history-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#172033;font:inherit;font-size:11px}.history-search kbd{height:20px;min-width:20px;display:grid;place-items:center;border:1px solid #dfe6ee;border-radius:4px;background:#f7f9fb;color:#94a3b8;font:9px var(--mono)}.history-filters{display:flex;align-items:center;gap:5px}.history-filters button{height:32px;padding:0 10px;display:flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:5px;background:transparent;color:#64748b;font:700 10px inherit;cursor:pointer}.history-filters button>span{width:6px;height:6px;border-radius:50%;background:#94a3b8}.history-filters button[data-history-filter=safe]>span{background:#22b978}.history-filters button[data-history-filter=warn]>span{background:#e0a019}.history-filters button[data-history-filter=danger]>span{background:#e33b43}.history-filters button i{font-style:normal;color:#94a3b8;font-size:9px}.history-filters button:hover{background:#f0f4f7;color:#334155}.history-filters button.active{border-color:#d9e2ea;background:#fff;color:#172033;box-shadow:0 2px 6px rgba(15,23,42,.04)}.history-clear{height:32px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid #e3e8ee;border-radius:5px;background:#fff;color:#8b5260;font:700 10px inherit;cursor:pointer}.history-clear .mi{width:13px;height:13px}.history-clear:hover{border-color:#f0cdd1;background:#fff5f6;color:#d43c46}.history-list-head{height:42px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;color:#8491a1;font-size:9px}.history-list-head b{color:#334155}.history-table-wrap{margin:0 22px 22px;border-radius:7px}.history-table{min-width:890px}.history-table th{height:38px;font-size:10px}.history-table td{height:64px}.history-table tbody tr{transition:background .18s}.history-table tbody tr:hover{background:#fbfdfc}.history-ip{display:flex;align-items:center;gap:10px;color:inherit}.history-ip-icon{width:31px;height:31px;display:grid;place-items:center;border:1px solid #e3eaf1;border-radius:6px;background:#f8fafc;color:#51718f}.history-ip-icon .mi{width:14px;height:14px}.history-ip code{display:block;font-weight:700}.history-ip small{display:block;margin-top:4px;color:#9aa6b5;font-size:8px}.history-score{display:flex;align-items:center;gap:9px}.history-score>b{min-width:24px;font:800 13px var(--mono)}.history-score>span{width:54px;height:4px;overflow:hidden;border-radius:99px;background:#edf1f5}.history-score>span i{display:block;height:100%;border-radius:inherit;background:currentColor}.history-risk{font:800 12px var(--mono)}.history-table .tool-badge{gap:6px;border-radius:5px}.history-table .tool-badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.history-table time{color:#526174;font:10px var(--mono)}.history-table .tool-row-actions{gap:12px}.history-table .tool-row-actions a,.history-table .tool-row-actions button{font-size:10px;font-weight:700}.history-empty{min-height:300px}.history-empty-icon{width:48px;height:48px;margin-bottom:15px;display:grid;place-items:center;border-radius:50%;background:#edf8f3;color:#19a66c}.history-empty-icon .mi{width:20px;height:20px;margin:0}.history-empty .tool-primary{margin-top:3px}
@media(max-width:1180px){.history-overview{grid-template-columns:repeat(2,1fr)}.history-toolbar{grid-template-columns:minmax(220px,1fr) auto}.history-filters{grid-column:1/-1;grid-row:2}.history-clear{grid-column:2;grid-row:1}}
@media(max-width:900px){.tool-dashboard>.nm-side{position:relative;top:0;height:auto;padding:16px 14px 12px}.tool-dashboard .nm-brand{margin-bottom:12px}.tool-dashboard .nm-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tool-dashboard .nm-menu a{height:38px}.sidebar-collapsed{display:block}.tool-stat-grid,.tool-split,.integration-grid{grid-template-columns:1fr}.tool-main .nm-topbar{height:auto}.tool-heading{flex-direction:column}.tool-commands{width:100%}.tool-commands input{flex:1}.history-overview{grid-template-columns:repeat(2,1fr)}.history-panel-head{align-items:flex-start}.history-toolbar{grid-template-columns:1fr auto}.history-filters{overflow-x:auto;padding-bottom:2px}.history-list-head{padding:0 16px}.history-table-wrap{margin:0 16px 18px}}
@media(max-width:560px){.tool-main{padding:14px}.tool-panel{padding:16px}.tool-stat-grid{grid-template-columns:1fr}.batch-summary{grid-template-columns:1fr}.setting-row{align-items:flex-start;padding:16px 0}.team-placeholder>div{flex-wrap:wrap;justify-content:center}.history-overview{grid-template-columns:1fr 1fr;gap:8px}.history-summary{min-height:88px;padding:13px;gap:10px}.history-summary-icon{width:34px;height:34px}.history-summary b{font-size:21px}.history-summary p{display:none}.history-panel{padding:0}.history-panel-head{min-height:0;padding:17px;flex-direction:column}.history-new-check{width:100%}.history-toolbar{padding:12px 16px;grid-template-columns:1fr}.history-search,.history-clear{grid-column:1;grid-row:auto}.history-clear{justify-content:center}.history-filters{grid-column:1;grid-row:auto}.history-filters button{flex:0 0 auto}.history-list-head span:last-child{display:none}.history-table-wrap{overflow:visible;border:0;background:transparent}.history-table{display:block;min-width:0}.history-table thead{display:none}.history-table tbody{display:grid;gap:10px}.history-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 14px;padding:14px;border:1px solid #e2e9f0;border-radius:8px;background:#fff;box-shadow:0 5px 15px rgba(15,23,42,.025)}.history-table td{height:auto;padding:0;border:0;white-space:normal}.history-table td:first-child{grid-column:1/-1}.history-table td:nth-child(2){grid-column:1}.history-table td:nth-child(3){display:none}.history-table td:nth-child(4){grid-column:2;grid-row:2;align-self:center}.history-table td:nth-child(5){grid-column:1/-1;padding-top:10px;border-top:1px solid #edf1f5}.history-table td:nth-child(5)::before{content:"检测时间";margin-right:10px;color:#94a3b8;font-size:9px}.history-table td:nth-child(6){grid-column:1/-1;padding-top:10px;display:flex;justify-content:flex-end;border-top:1px solid #edf1f5}.history-ip{gap:11px}.history-ip-icon{width:36px;height:36px}.history-ip code{font-size:13px}.history-ip small{font-size:9px}.history-score::before{content:"信任指数";color:#94a3b8;font-size:9px}.history-score>span{flex:1;max-width:70px}.history-table .tool-badge{height:25px}.history-table .tool-row-actions a,.history-table .tool-row-actions button{height:28px;padding:0 9px;border:1px solid #e1e7ee;border-radius:5px;background:#fff}.history-table .tool-row-actions button{border-color:#f2d8db;background:#fff7f7}.history-table time{font-size:9px}}
@media(max-width:560px){.score-explain{grid-template-columns:repeat(2,minmax(0,1fr))}.source-health-list>div{grid-template-columns:minmax(90px,.8fr) minmax(100px,1.2fr) 48px}.claude-env-idle{grid-template-columns:1fr}.claude-env-visual{display:none}.claude-env-result{grid-template-columns:1fr}.claude-env-score{width:104px;height:104px;margin:auto}.claude-env-actions{flex-direction:column}.nm-claude-env-modal{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}.nm-claude-env-modal .detail-modal-shell{max-height:calc(100dvh - 16px)}.claude-env-modal-hero{grid-template-columns:1fr;gap:14px;padding:16px}.claude-env-modal-ring{width:106px;height:106px;margin:auto;border-width:9px}.claude-env-modal-ring b{font-size:29px}.claude-env-modal-copy{text-align:center}.claude-env-modal-stats{grid-template-columns:repeat(3,minmax(0,1fr));text-align:left}.claude-env-list-head{display:none}.claude-env-signal-list{padding:4px 16px}.claude-env-signal{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:10px 0}.claude-env-signal code{grid-column:1/-1}.claude-env-signal em{grid-column:1;text-align:left}.claude-env-signal>i{grid-column:2;grid-row:1}.claude-env-disclaimer{grid-template-columns:1fr;padding:10px 16px}}
.claude-env-card[data-env-band] .claude-env-score{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,conic-gradient(var(--env-color) calc(var(--env-score,0)*1%),#e8edf2 0) border-box}
.nm-claude-env-modal .claude-env-modal-ring{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,conic-gradient(var(--env-color) calc(var(--env-score,0)*1%),#e8edf2 0) border-box;box-shadow:0 0 0 7px color-mix(in srgb,var(--env-color) 9%,transparent)}
.nm-result-dashboard dialog.nm-detail-modal,.nm-result-dashboard dialog.nm-ai-modal,.nm-result-dashboard dialog.nm-port-modal{position:fixed!important;inset:0!important;margin:auto!important;width:min(820px,calc(100vw - 32px));max-width:820px;max-height:min(720px,calc(100dvh - 32px));padding:0;border:1px solid #dce4ed;border-radius:8px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.28);overflow:hidden;color:#111827}.nm-result-dashboard dialog.nm-ai-modal{width:min(760px,calc(100vw - 32px));max-width:760px}.nm-result-dashboard dialog.nm-port-modal{width:min(800px,calc(100vw - 32px));max-width:800px}.nm-result-dashboard dialog::backdrop{background:rgba(15,23,42,.52);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.nm-result-dashboard .detail-modal-shell,.nm-result-dashboard .ai-modal-shell,.nm-result-dashboard .port-modal-shell{display:flex;flex-direction:column;max-height:min(720px,calc(100dvh - 32px));background:#fff}.nm-result-dashboard .detail-modal-header,.nm-result-dashboard .ai-modal-header,.nm-result-dashboard .port-modal-header{min-height:78px;padding:18px 22px 15px}.nm-result-dashboard .detail-modal-header h2,.nm-result-dashboard .ai-modal-header h2,.nm-result-dashboard .port-modal-header h2{font-size:17px;letter-spacing:0}.nm-result-dashboard .detail-modal-header p,.nm-result-dashboard .ai-modal-header p,.nm-result-dashboard .port-modal-header p{font-size:10px;line-height:1.55}.nm-result-dashboard .detail-modal-header>button,.nm-result-dashboard .ai-modal-header>button,.nm-result-dashboard .port-modal-header>button{width:32px;height:32px;border-radius:6px;transition:.16s}.nm-result-dashboard .detail-modal-header>button:hover,.nm-result-dashboard .ai-modal-header>button:hover,.nm-result-dashboard .port-modal-header>button:hover{color:#111827;border-color:#cbd5e1;background:#f8fafc}.nm-result-dashboard .detail-modal-footer,.nm-result-dashboard .ai-modal-footer,.nm-result-dashboard .port-modal-footer{min-height:58px;padding:11px 22px}.nm-result-dashboard .detail-modal-footer button,.nm-result-dashboard .ai-modal-footer button,.nm-result-dashboard .port-modal-footer button{min-width:72px;height:34px;border-radius:6px}.nm-result-dashboard .nm-threat-modal{--modal-accent:#df3740;--modal-soft:#fff0f1}.nm-result-dashboard .nm-network-modal{--modal-accent:#3478f6;--modal-soft:#eef5ff}.nm-result-dashboard .nm-neighbor-modal{--modal-accent:#159b65;--modal-soft:#e9f8f0}.nm-result-dashboard .nm-ai-modal{--modal-accent:#3478f6;--modal-soft:#eef5ff}.nm-result-dashboard .nm-port-modal{--modal-accent:#159b65;--modal-soft:#e9f8f0}.nm-result-dashboard .detail-modal-header>div>span,.nm-result-dashboard .ai-modal-header>div>span,.nm-result-dashboard .port-modal-header>div>span{color:var(--modal-accent,var(--env-color,#3478f6))}.nm-result-dashboard .detail-modal-footer button,.nm-result-dashboard .ai-modal-footer button,.nm-result-dashboard .port-modal-footer button{background:var(--modal-accent,var(--env-color,#111827))}.nm-result-dashboard .detail-modal-footer button:hover,.nm-result-dashboard .ai-modal-footer button:hover,.nm-result-dashboard .port-modal-footer button:hover{filter:brightness(.92)}.claude-env-card [hidden]{display:none!important}
body.content-shell{background:#eef3f8;color:#111827}.content-shell .site-header{position:sticky;background:rgba(255,255,255,.94);border-bottom:1px solid #dfe6ef;box-shadow:0 5px 18px rgba(15,23,42,.035);backdrop-filter:blur(16px)}.content-shell .header-inner{max-width:1180px;min-height:58px;padding:0 20px}.content-shell .brand-logo{color:#111827;font-family:var(--sans);font-size:19px;letter-spacing:0}.content-shell .brand-mark{width:30px;height:30px;border-radius:7px;background:#21bf82;color:#fff;box-shadow:none}.content-shell .top-nav{gap:2px}.content-shell .nav-link{min-height:58px;padding:0 12px;color:#64748b;font-size:12px}.content-shell .nav-link:hover{color:#111827;background:#f4f7fb}.content-shell .nav-link.active{color:#159b65;background:#edf9f3}.content-shell .nav-link.active::after{background:#21bf82;box-shadow:none}.content-shell .header-tool{height:34px;border-color:#dfe6ef;background:#fff;color:#475569;font-size:11px}.content-shell .header-tool-primary{border-color:#cfe9dc;background:#edf9f3;color:#159b65}.content-shell .sb-lang{border-color:#dfe6ef;background:#f8fafc}.content-shell .sb-lang a{color:#64748b}.content-shell .sb-lang a.lang-active{background:#fff;color:#111827}.content-shell .app{min-height:calc(100vh - 59px)}.content-shell .content{width:min(100%,1120px);padding:30px 24px 54px}.content-shell .hero.compact{margin:0 0 18px;padding:0}.content-shell .hero.compact h1{color:#111827;font-size:27px;letter-spacing:0}.content-shell .hero.compact .sub,.content-shell .hero.compact .subtitle{margin-top:7px;color:#64748b;font-family:var(--sans);font-size:13px}.content-shell .card{margin-bottom:14px;padding:20px;border:1px solid #dfe6ef;border-radius:8px;background:#fff;color:#334155;box-shadow:0 8px 22px rgba(15,23,42,.035)}.content-shell .card:hover{border-color:#d5e0ea;box-shadow:0 12px 28px rgba(15,23,42,.055)}.content-shell .card h3{margin-bottom:10px;color:#111827;font-size:14px}.content-shell .muted{color:#64748b}.content-shell .card.notice{border-color:#f0dca8;background:#fff9ea;color:#715d37}.content-shell .card.notice strong{color:#a96a00}.content-shell .server-ip{color:#111827;font:800 24px var(--mono)}.content-shell .btn,.content-shell .search-box button{height:38px;border:0;border-radius:7px;background:#172033;color:#fff;padding:0 16px;font:700 12px var(--sans);cursor:pointer}.content-shell .btn:hover,.content-shell .search-box button:hover{background:#273244}.content-shell .env-results .grid{gap:10px}.content-shell .env-results .grid>div{border:1px solid #e5ebf2;border-radius:7px;background:#f8fafc}.content-shell .env-results .k{color:#64748b}.content-shell .env-results .v{color:#111827}.content-shell .proxy-list,.content-shell .article-list{gap:14px}.content-shell .proxy-card,.content-shell .article-card{border:1px solid #dfe6ef;border-radius:8px;background:#fff;color:#334155;padding:20px;box-shadow:0 8px 22px rgba(15,23,42,.035)}.content-shell .proxy-card:hover,.content-shell .article-card:hover{transform:translateY(-2px);border-color:#cfe4da;box-shadow:0 14px 30px rgba(15,23,42,.07)}.content-shell .proxy-name,.content-shell .article-card h3{color:#111827}.content-shell .proxy-cta,.content-shell .back a{color:#159b65}.content-shell .chip.good{color:#159b65;background:#e9f8f0;border-color:#cdebdc}.content-shell .article{max-width:820px;margin:0 auto}.content-shell .article>h1{color:#111827;font-size:30px;letter-spacing:0}.content-shell .article-body{color:#334155}.content-shell .article-body h3{color:#111827}.content-shell .article-body strong{color:#111827}.content-shell .cta-card{margin-top:24px}.content-shell code,.content-shell .snippet{border-color:#dfe6ef;background:#f8fafc;color:#334155}.content-shell .site-footer{border-top:1px solid #dfe6ef;background:#fff;color:#64748b}.content-shell .footer-grid{max-width:1120px}.content-shell .footer-col h4{color:#111827}.content-shell .footer-col a{color:#64748b}.content-shell .footer-col a:hover{color:#159b65}
@media(max-width:760px){.content-shell .site-header{position:static}.content-shell .header-inner{padding:12px 16px}.content-shell .top-nav{order:3;flex-basis:100%;overflow:auto}.content-shell .nav-link{min-height:38px}.content-shell .header-actions{display:none}.content-shell .content{padding:22px 16px 42px}.content-shell .hero.compact h1{font-size:23px}}
.nm-result-dashboard .detail-modal-footer button,.nm-result-dashboard .ai-modal-footer button,.nm-result-dashboard .port-modal-footer button,.nm-result-dashboard .nm-claude-env-modal .detail-modal-footer button{background:#172033!important;color:#fff}.nm-result-dashboard .detail-modal-footer button:hover,.nm-result-dashboard .ai-modal-footer button:hover,.nm-result-dashboard .port-modal-footer button:hover,.nm-result-dashboard .nm-claude-env-modal .detail-modal-footer button:hover{background:#273244!important;filter:none}.nm-result-dashboard .nm-threat-modal{--modal-accent:#64748b;--modal-soft:#f1f5f9}.nm-result-dashboard .nm-threat-modal .detail-modal-notice.is-clear{background:#edf9f3;border-bottom-color:#cdebdc}.nm-result-dashboard .nm-threat-modal .detail-modal-notice.is-clear b{color:#159b65}.nm-result-dashboard .nm-threat-modal .detail-modal-notice.is-clear span{color:#4f6f61}.nm-result-dashboard .nm-threat-modal .detail-modal-notice.has-hits{background:#fff0f1;border-bottom-color:#f2c6ca}.nm-result-dashboard .nm-threat-modal .detail-modal-notice.has-hits b{color:#df3740}.nm-result-dashboard .nm-threat-modal .detail-modal-notice.has-hits span{color:#735b5d}.nm-result-dashboard .claude-env-idle{min-height:112px}.nm-result-dashboard .claude-env-running{min-height:112px;padding-top:12px}.nm-result-dashboard .claude-env-visual{width:88px;height:88px}.nm-result-dashboard .claude-env-visual svg{width:56px;height:56px}.content-shell .privacy-notice{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;line-height:1.7}.content-shell .notice-icon{width:22px;height:22px;display:grid;place-items:center;color:#b97800}.content-shell .notice-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){.nm-result-dashboard dialog.nm-detail-modal,.nm-result-dashboard dialog.nm-ai-modal,.nm-result-dashboard dialog.nm-port-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.nm-result-dashboard .detail-modal-shell,.nm-result-dashboard .ai-modal-shell,.nm-result-dashboard .port-modal-shell{max-height:calc(100dvh - 16px)}.nm-result-dashboard .detail-modal-header,.nm-result-dashboard .ai-modal-header,.nm-result-dashboard .port-modal-header{min-height:70px;padding:15px 16px 12px}.nm-result-dashboard .detail-modal-footer,.nm-result-dashboard .ai-modal-footer,.nm-result-dashboard .port-modal-footer{padding:10px 16px}.nm-result-dashboard .detail-modal-footer span,.nm-result-dashboard .ai-modal-footer span,.nm-result-dashboard .port-modal-footer span{max-width:68%;line-height:1.45}}
.logo.claude{background:#f3b58f;color:#171717}.logo.claude svg{width:31px;height:31px;stroke:#171717;stroke-width:1.7}.logo.google svg{width:31px;height:31px;fill:currentColor;stroke:none}.logo.google .google-blue{color:#4285f4}.logo.google .google-green{color:#34a853}.logo.google .google-yellow{color:#fbbc05}.logo.google .google-red{color:#ea4335}.logo.google-ai{color:#4285f4;background:#f7faff}.logo.google-ai svg{width:32px;height:32px;fill:#4285f4;stroke:none}.country-mark{width:38px;height:28px;display:inline-flex;align-items:center;justify-content:center;margin:5px 0 8px;border:1px solid #cfe2f3;border-radius:6px;background:#eef7ff;color:#2868a9;font:800 11px var(--mono);letter-spacing:.08em}.detail-modal-header>button svg,.ai-modal-header>button svg,.port-modal-header>button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.mobile-scroll-hint{display:none}.network-source-table-wrap,.port-detail-table-wrap{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.network-source-table-wrap::-webkit-scrollbar,.port-detail-table-wrap::-webkit-scrollbar{height:6px}.network-source-table-wrap::-webkit-scrollbar-thumb,.port-detail-table-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5e1}.network-source-table th:first-child,.network-source-table td:first-child,.port-detail-table th:first-child,.port-detail-table td:first-child{position:sticky;left:0;z-index:2;background:#fff}.network-source-table th:first-child,.port-detail-table th:first-child{z-index:3;background:#f7f9fc}.nm-result-dashboard button:focus-visible,.nm-result-dashboard a:focus-visible,.content-shell button:focus-visible,.content-shell a:focus-visible{outline:2px solid #3478f6;outline-offset:2px}.hm-dashboard .hm-source-panel{min-height:160px}.hm-dashboard:not(.is-ready) .hm-source-panel{opacity:1;transform:none}.hm-dashboard:not(.is-ready) .hm-source-grid>span{opacity:.55;transform:none;background:#f8fafc}.hm-dashboard:not(.is-ready) .hm-source-grid>span em{background:#cbd5e1;color:transparent}.hm-dashboard.is-ready .hm-source-grid>span{animation-duration:.22s}
@media(max-width:560px){.mobile-scroll-hint{display:flex;align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid #e7edf3;background:#f8fafc;color:#64748b;font-size:10px}.mobile-scroll-hint svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.network-source-table-wrap,.port-detail-table-wrap{position:relative;overscroll-behavior-inline:contain}.network-source-table,.port-detail-table{min-width:680px}.network-source-table th:first-child,.network-source-table td:first-child{min-width:94px;box-shadow:8px 0 12px -12px rgba(15,23,42,.55)}.port-detail-table th:first-child,.port-detail-table td:first-child{min-width:76px;box-shadow:8px 0 12px -12px rgba(15,23,42,.55)}.nm-result-dashboard .detail-modal-header>button,.nm-result-dashboard .ai-modal-header>button,.nm-result-dashboard .port-modal-header>button{width:34px;height:34px;flex:0 0 34px}.hm-dashboard .hm-source-panel{min-height:0}}
@keyframes claude-current-pulse{0%,100%{opacity:.58;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}.claude-env-running [data-claude-env-current]{min-height:18px;color:#159b65;font-weight:650;animation:claude-current-pulse .72s ease-in-out infinite}.claude-env-progress i{transition:width .2s ease}.claude-env-running [data-claude-env-progress]{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.claude-env-running [data-claude-env-current]{animation:none}.claude-env-progress i{transition:none}}
.nm-result-dashboard .trust-card{display:flex;flex-direction:column}.nm-result-dashboard .trust-card h2{margin-bottom:6px}.nm-result-dashboard .trust-ring{width:160px;height:160px;margin:auto}.nm-result-dashboard .trust-ring circle{stroke-width:7}.nm-result-dashboard .trust-ring-copy{padding-top:2px}.nm-result-dashboard .trust-ring .trust-value{gap:2px}.nm-result-dashboard .trust-ring .trust-value b{font-size:32px;line-height:.9}.nm-result-dashboard .trust-ring .trust-value span{font-size:9px;margin-bottom:2px}.nm-result-dashboard .trust-ring-copy em{font-size:10px;margin-top:7px}.nm-result-dashboard .trust-ring-copy i{font-size:10px;padding:4px 8px;margin-top:7px}
@media(max-width:1120px){.nm-result-dashboard .trust-ring{width:156px;height:156px}}
.nm-result-dashboard .nm-risk-card{padding:18px 21px 17px}.nm-result-dashboard .nm-risk-card .nm-card-title{margin-bottom:5px}.nm-result-dashboard .nm-risk-card .nm-risk-body{grid-template-columns:258px minmax(0,1fr);gap:22px;min-height:202px;align-items:center}.nm-result-dashboard .nm-risk-gauge{width:258px;transform:translateY(-5px)}.nm-result-dashboard .nm-risk-gauge path{stroke-width:11}.nm-result-dashboard .nm-risk-gauge-copy>div{top:59%;gap:5px}.nm-result-dashboard .nm-risk-gauge-copy b{font-size:45px;font-weight:650}.nm-result-dashboard .nm-risk-gauge-copy span{font-size:12px;margin-bottom:3px}.nm-result-dashboard .nm-risk-gauge-copy em{top:83%;font-size:11px}.nm-result-dashboard .nm-risk-card .nm-risk-copy{padding:0 1px 0 0;justify-content:center}.nm-result-dashboard .nm-risk-card .nm-risk-copy>span{font-size:11px;margin-bottom:4px}.nm-result-dashboard .nm-risk-card .nm-risk-copy>strong{font-size:22px;margin-bottom:6px}.nm-result-dashboard .nm-risk-card .nm-risk-copy>i{min-height:23px;padding:4px 9px;margin-bottom:11px;font-size:10px}.nm-result-dashboard .nm-risk-card .nm-risk-copy>i>b{width:14px;height:14px;margin-left:5px;border:0;display:inline-grid;place-items:center}.nm-result-dashboard .nm-risk-card .nm-risk-copy>i>b svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.nm-result-dashboard .nm-risk-card .nm-meter-row,.nm-result-dashboard .nm-risk-card .nm-data-row{min-height:22px;gap:14px}.nm-result-dashboard .nm-risk-card .nm-meter-row span,.nm-result-dashboard .nm-risk-card .nm-data-row span{flex:0 0 64px;font-size:11px;line-height:1.3}.nm-result-dashboard .nm-risk-card .nm-meter-row b,.nm-result-dashboard .nm-risk-card .nm-data-row b{min-width:0;font-size:11px;line-height:1.3;text-align:right;overflow-wrap:anywhere}.nm-result-dashboard .nm-risk-card .nm-data-row:last-child{align-items:flex-start}.nm-result-dashboard .nm-risk-card .nm-meter{height:4px;margin:1px 0 6px}.nm-result-dashboard .nm-risk-card .nm-alert{height:auto;min-height:34px;margin-top:5px;padding:8px 13px;font-size:11px;line-height:1.35}.nm-result-dashboard .nm-risk-card .nm-alert::before{flex:0 0 16px;margin-right:7px}
@media(max-width:1120px){.nm-result-dashboard .nm-risk-card .nm-risk-body{grid-template-columns:1fr;gap:2px}.nm-result-dashboard .nm-risk-gauge{width:min(280px,82vw);transform:translateY(-2px)}.nm-result-dashboard .nm-risk-card .nm-risk-copy{width:min(100%,440px);margin:0 auto}}
@media print{.nm-side,.nm-topbar,.nm-actions,.nm-collapse,.nm-accordions,.site-header,.site-footer{display:none!important}.nm-dashboard{display:block;width:100%;margin:0;border:0;box-shadow:none}.nm-main{padding:0!important;background:#fff}.nm-card,.nm-ipbar{break-inside:avoid;box-shadow:none!important}.nm-result-dashboard .nm-card{opacity:1!important;transform:none!important}}

/* Mail reputation workbench */
.mailrep-main{padding-bottom:54px;background:#f7f9fc}.mailrep-top-subtitle{margin:3px 0 0;color:#64748b;font-size:12px}.mailrep-main>.nm-card,.mailrep-results>.nm-card,.mailrep-summary-grid>.nm-card{border:1px solid #e5ebf2;border-radius:8px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.035)}
.mailrep-search{margin:24px 28px 18px;padding:25px 28px;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(480px,1.2fr);align-items:center;gap:48px}.mailrep-kicker{display:flex;align-items:center;gap:8px;color:#159b65;font:700 10px/1.2 "JetBrains Mono",monospace;letter-spacing:.08em}.mailrep-kicker .mi{width:15px;height:15px}.mailrep-search h2{margin:9px 0 7px;color:#0f172a;font-size:21px;line-height:1.3;letter-spacing:0}.mailrep-search-copy p{max-width:540px;margin:0;color:#64748b;font-size:12px;line-height:1.75}.mailrep-form label{display:block;margin:0 0 8px;color:#334155;font-size:12px;font-weight:700}.mailrep-input-row{height:50px;display:grid;grid-template-columns:42px minmax(0,1fr) 126px;border:1px solid #cad5e2;border-radius:7px;background:#fff;transition:border-color .2s,box-shadow .2s}.mailrep-input-row:focus-within{border-color:#19a66c;box-shadow:0 0 0 3px rgba(25,166,108,.12)}.mailrep-input-icon{display:grid;place-items:center;color:#94a3b8}.mailrep-input-row input{min-width:0;border:0;outline:0;background:transparent;color:#0f172a;font:600 14px/1.2 "JetBrains Mono",monospace}.mailrep-input-row input::placeholder{color:#a1adba;font:400 12px/1.2 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}.mailrep-input-row>button{margin:5px;height:38px;border:0;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px;background:#172133;color:#fff;font:700 13px/1 inherit;cursor:pointer;transition:background .2s,transform .2s}.mailrep-input-row>button:hover{background:#0f172a;transform:translateY(-1px)}.mailrep-input-row>button:disabled{opacity:.56;cursor:wait;transform:none}.mailrep-form-foot{min-height:25px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:7px;color:#94a3b8;font-size:10px}.mailrep-form-foot p{margin:0;color:#dc3545}.mailrep-form-foot button{border:0;background:transparent;color:#5780bd;font:600 10px/1 inherit;cursor:pointer;padding:2px 4px}
.mailrep-loading{margin:0 28px 18px;padding:22px 28px}.mailrep-loading[hidden],.mailrep-results[hidden]{display:none}.mailrep-loading-head{display:flex;align-items:center;justify-content:space-between}.mailrep-loading-head>div{display:flex;align-items:center;gap:11px}.mailrep-loading-head h2{margin:0;font-size:15px;color:#172033}.mailrep-loading-head>b{font:700 12px/1 "JetBrains Mono",monospace;color:#159b65}.mailrep-spinner{width:18px;height:18px;border:2px solid #d9e3ec;border-top-color:#16a66d;border-radius:50%;animation:mailrep-spin .8s linear infinite}.mailrep-progress{height:5px;margin:17px 0;background:#edf2f6;border-radius:10px;overflow:hidden}.mailrep-progress i{display:block;width:0;height:100%;background:#18a66b;border-radius:inherit;transition:width .25s ease}.mailrep-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.mailrep-steps span{display:flex;align-items:center;gap:7px;color:#94a3b8;font-size:10px;white-space:nowrap}.mailrep-steps i{width:7px;height:7px;border-radius:50%;background:#dce4ec}.mailrep-steps span.is-active{color:#0f172a;font-weight:700}.mailrep-steps span.is-active i{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.13)}.mailrep-steps span.is-done{color:#159b65}.mailrep-steps span.is-done i{background:#18a66b}.mailrep-loading>p{margin:14px 0 0;color:#64748b;font-size:11px}
.mailrep-results{margin:0 28px;display:grid;gap:18px}.mailrep-summary-grid{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(520px,1.28fr);gap:18px}.mailrep-summary-grid>article{padding:23px 25px}.mailrep-card-heading,.mailrep-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.mailrep-card-heading span,.mailrep-section-title p{color:#64748b;font-size:11px}.mailrep-card-heading h2{margin:4px 0 0;color:#0f172a;font-size:18px;letter-spacing:0}.mailrep-grade{padding:5px 9px;border-radius:999px!important;background:#eef2f6;color:#64748b!important;font-size:10px!important;font-weight:700}.mailrep-score-ring{position:relative;width:180px;height:180px;margin:9px auto 12px;color:#94a3b8}.mailrep-score-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.mailrep-score-ring circle{fill:none;stroke:#edf1f5;stroke-width:9}.mailrep-score-ring .mailrep-score-line{stroke:currentColor;stroke-linecap:round;stroke-dasharray:var(--mail-score) 100;transition:stroke-dasharray 1s ease}.mailrep-score-ring>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.mailrep-score-ring b{font:700 42px/.9 "JetBrains Mono",monospace;color:#0f172a}.mailrep-score-ring span{margin:18px 0 0 3px;color:#94a3b8;font:600 10px/1 "JetBrains Mono",monospace}.mailrep-score-ring em{position:absolute;top:112px;color:#94a3b8;font-style:normal;font-size:10px}.mailrep-score-card>p{min-height:40px;margin:0;color:#64748b;font-size:11px;line-height:1.7;text-align:center}.mailrep-score-card[data-tone="good"] .mailrep-score-ring,.mailrep-score-card[data-tone="usable"] .mailrep-score-ring{color:#19a66c}.mailrep-score-card[data-tone="caution"] .mailrep-score-ring{color:#e6a317}.mailrep-score-card[data-tone="high"] .mailrep-score-ring,.mailrep-score-card[data-tone="critical"] .mailrep-score-ring{color:#dc3545}.mailrep-score-card[data-tone="good"] .mailrep-grade,.mailrep-score-card[data-tone="usable"] .mailrep-grade{background:#e9f8f1;color:#16895d!important}.mailrep-score-card[data-tone="caution"] .mailrep-grade{background:#fff6de;color:#b77909!important}.mailrep-score-card[data-tone="high"] .mailrep-grade,.mailrep-score-card[data-tone="critical"] .mailrep-grade{background:#fff0f1;color:#d23845!important}
.mailrep-status-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%!important;background:#eef2f6;color:#64748b!important}.mailrep-ability-card[data-ability-tone="ready"] .mailrep-status-icon{background:#e8f8f0;color:#159b65!important}.mailrep-ability-card[data-ability-tone="limited"] .mailrep-status-icon{background:#fff5dc;color:#bd7d0a!important}.mailrep-ability-card[data-ability-tone="blocked"] .mailrep-status-icon{background:#ffedef;color:#d93645!important}.mailrep-ability-metrics{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mailrep-ability-metrics>div{min-height:70px;padding:13px 15px;border:1px solid #e9eef4;border-radius:7px;background:#fafbfd;overflow:hidden}.mailrep-ability-metrics span{display:block;color:#7c8999;font-size:10px}.mailrep-ability-metrics b{display:block;margin-top:7px;color:#172033;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.mailrep-mini-bar{height:4px;margin-top:9px;border-radius:5px;background:#e8edf2;overflow:hidden}.mailrep-mini-bar i{display:block;width:0;height:100%;background:#19a66c;transition:width .8s ease}.mailrep-disclaimer{margin-top:15px;padding:10px 12px;display:flex;align-items:flex-start;gap:8px;border:1px solid #e6ecf2;border-radius:6px;background:#f8fafc;color:#64748b;font-size:10px;line-height:1.55}.mailrep-disclaimer .mi{margin-top:1px;color:#6a8bb8}
.mailrep-evidence-card{padding:22px 25px}.mailrep-section-title h2{margin:0;color:#0f172a;font-size:16px}.mailrep-section-title p{margin:5px 0 0}.mailrep-section-title button{height:34px;padding:0 12px;border:1px solid #dce4ec;border-radius:6px;background:#fff;display:flex;align-items:center;gap:7px;color:#475569;font:700 11px/1 inherit;cursor:pointer}.mailrep-check-grid{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mailrep-check{min-height:132px;padding:14px;border:1px solid #e8edf3;border-radius:7px;background:#fff}.mailrep-check-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mailrep-check-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:6px;background:#f1f4f7;color:#738093}.mailrep-check-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mailrep-check-status{font-size:9px;font-weight:700;padding:4px 7px;border-radius:999px}.mailrep-check h3{margin:11px 0 5px;color:#172033;font-size:12px}.mailrep-check strong{display:block;color:#334155;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.mailrep-check p{margin:6px 0 0;color:#8793a2;font-size:9px;line-height:1.55}.mailrep-check.is-pass .mailrep-check-icon,.mailrep-check.is-pass .mailrep-check-status{background:#e9f8f1;color:#168f60}.mailrep-check.is-warn .mailrep-check-icon,.mailrep-check.is-warn .mailrep-check-status{background:#fff5dc;color:#b77909}.mailrep-check.is-danger .mailrep-check-icon,.mailrep-check.is-danger .mailrep-check-status{background:#ffedef;color:#d93645}.mailrep-check.is-unknown .mailrep-check-icon,.mailrep-check.is-unknown .mailrep-check-status{background:#eef2f6;color:#718096}.mailrep-source-card{padding:17px 20px;display:grid;grid-template-columns:1fr 1.25fr;gap:20px}.mailrep-source-card>div{display:flex;align-items:flex-start;gap:11px}.mailrep-source-card>div>.mi{margin-top:2px;color:#5d82b9}.mailrep-source-card b{display:block;color:#334155;font-size:11px}.mailrep-source-card p{margin:4px 0 0;color:#7b8796;font-size:10px;line-height:1.6}
@keyframes mailrep-spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.mailrep-search{grid-template-columns:1fr;gap:21px}.mailrep-summary-grid{grid-template-columns:1fr 1.25fr}.mailrep-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mailrep-steps{grid-template-columns:repeat(3,1fr);row-gap:14px}}
@media(max-width:760px){.mailrep-dashboard>.nm-side{position:relative;height:auto!important;padding:13px 14px 10px;border-right:0;border-bottom:1px solid #e4eaf1;box-shadow:none}.mailrep-dashboard .nm-brand{margin:0 0 10px}.mailrep-dashboard .nm-brand-mark{width:32px;height:32px;flex-basis:32px;border-radius:7px}.mailrep-dashboard .nm-brand-mark svg{width:22px;height:22px}.mailrep-dashboard .nm-brand b{font-size:16px}.mailrep-dashboard .nm-brand i{font-size:9px;margin-top:2px}.mailrep-dashboard .nm-menu{display:flex;flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.mailrep-dashboard .nm-menu::-webkit-scrollbar{display:none}.mailrep-dashboard .nm-menu a{height:34px;flex:0 0 auto;padding:0 10px;gap:7px;border:1px solid transparent;font-size:11px;white-space:nowrap}.mailrep-dashboard .nm-menu a .mi{width:14px;height:14px}.mailrep-dashboard .nm-menu a.active{border-color:#cdeede}.mailrep-dashboard .nm-quota,.mailrep-dashboard .nm-user,.mailrep-dashboard .nm-collapse{display:none}.mailrep-main{padding-bottom:28px}.mailrep-search,.mailrep-loading,.mailrep-results{margin-left:14px;margin-right:14px}.mailrep-search{padding:20px 17px}.mailrep-input-row{height:auto;grid-template-columns:38px minmax(0,1fr)}.mailrep-input-row input{height:46px}.mailrep-input-row>button{grid-column:1/-1;margin:0 5px 5px;height:40px}.mailrep-form-foot{display:block}.mailrep-form-foot>div{margin-top:5px}.mailrep-summary-grid{grid-template-columns:1fr}.mailrep-ability-metrics{grid-template-columns:1fr}.mailrep-check-grid{grid-template-columns:1fr}.mailrep-source-card{grid-template-columns:1fr}.mailrep-steps{grid-template-columns:repeat(2,1fr)}.mailrep-loading{padding:20px 17px}.mailrep-summary-grid>article,.mailrep-evidence-card{padding:20px 17px}.mailrep-section-title{align-items:center}.mailrep-section-title p{display:none}}
@media(prefers-reduced-motion:reduce){.mailrep-spinner{animation:none}.mailrep-progress i,.mailrep-score-ring .mailrep-score-line,.mailrep-mini-bar i{transition:none}.mailrep-input-row>button:hover{transform:none}}
.aienv-scene.is-unknown>span{background:#eef2f6;color:#64748b}
.aienv-platforms,.aienv-quality,.aienv-history{padding:22px 25px}.aienv-policy-version{color:#718096;font:600 9px/1.3 "JetBrains Mono",monospace}.aienv-platform-grid{margin-top:17px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.aienv-platform{min-height:155px;padding:14px;border:1px solid #e8edf3;border-radius:7px;background:#fafbfd}.aienv-platform>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.aienv-platform>div:first-child b{color:#243044;font-size:11px}.aienv-platform>div:first-child span{padding:4px 7px;border-radius:999px;background:#eef2f6;color:#64748b;font-size:9px;font-weight:700}.aienv-platform.is-pass>div:first-child span{background:#e9f8f1;color:#168f60}.aienv-platform.is-warn>div:first-child span{background:#fff5dc;color:#b77909}.aienv-platform.is-danger>div:first-child span{background:#ffedef;color:#d93645}.aienv-platform-metrics{margin:13px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.aienv-platform-metrics span{padding:5px 6px;border-radius:4px;background:#fff;color:#64748b;font:600 8px/1.3 "JetBrains Mono",monospace}.aienv-platform>p{margin:0;color:#7c8998;font-size:9px;line-height:1.5}.aienv-platform>em{display:block;margin-top:8px;color:#8a96a5;font-size:8px;font-style:normal}.aienv-quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.aienv-quality-grid>.nm-card{border:1px solid #e5ebf2;border-radius:8px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.035)}.aienv-quality-metrics,.aienv-history-summary{margin-top:17px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.aienv-quality-metrics>div,.aienv-history-summary>div{padding:12px;border:1px solid #e8edf3;border-radius:6px;background:#fafbfd}.aienv-quality-metrics span,.aienv-history-summary span{display:block;color:#7c8999;font-size:9px}.aienv-quality-metrics b,.aienv-history-summary b{display:block;margin-top:7px;color:#243044;font-size:11px}.aienv-history-summary{grid-template-columns:repeat(3,1fr)}.aienv-history .mailrep-section-title button{height:30px;padding:0 10px;border:1px solid #dce4ec;border-radius:5px;background:#fff;color:#64748b;font:600 9px/1 inherit;cursor:pointer}.aienv-trend{height:66px;margin-top:14px;padding:8px 6px 0;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid #dfe6ed}.aienv-trend i{flex:1;max-width:22px;min-height:8px;border-radius:3px 3px 0 0;background:#36b77d;opacity:.75}.aienv-trend:empty::before{content:"完成两次以上检测后显示趋势";align-self:center;margin:auto;color:#94a3b8;font-size:9px}
@media(max-width:1180px){.aienv-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aienv-quality-grid{grid-template-columns:1fr}}
@media(max-width:760px){.aienv-platforms,.aienv-quality,.aienv-history{padding:20px 17px}.aienv-platform-grid{grid-template-columns:1fr}.aienv-quality-metrics{grid-template-columns:repeat(2,1fr)}.aienv-history-summary{grid-template-columns:1fr}.aienv-policy-version{display:none}}

/* AI environment compact operations layout */
.aienv-command{grid-template-columns:minmax(300px,1fr) auto minmax(310px,.82fr);gap:24px;padding:18px 22px}.aienv-command .aienv-start-copy h2{margin:6px 0 3px;font-size:18px}.aienv-command .aienv-start-copy>p{font-size:10px;line-height:1.55}.aienv-scope{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.aienv-scope>span{height:30px;padding:0 9px;display:flex;align-items:center;gap:6px;border:1px solid #e2e9f0;border-radius:5px;background:#f8fafc;color:#526174;font-size:9px;font-weight:700;white-space:nowrap}.aienv-scope .mi{width:13px;height:13px;color:#4c7fb5}.aienv-command .aienv-consent{padding:10px 11px;display:grid;grid-template-columns:minmax(180px,1fr) 136px;align-items:center;gap:10px}.aienv-command .aienv-consent>label{margin:0;padding:0;border:0}.aienv-command .aienv-consent>button{height:38px}.aienv-command .aienv-consent>p{grid-column:1/-1;min-height:0;margin:0}.aienv-situation{grid-template-columns:minmax(380px,.9fr) minmax(540px,1.1fr)}.aienv-situation>article{min-height:220px;padding:18px 22px}.aienv-score-inline{height:100%;display:grid;grid-template-columns:164px minmax(0,1fr);align-items:center;gap:18px}.aienv-score-inline .mailrep-score-ring{width:156px;height:156px;margin:0}.aienv-score-inline .mailrep-score-ring b{font-size:36px}.aienv-score-inline .mailrep-score-ring em{top:98px}.aienv-score-copy>span:first-child,.aienv-overview-head span{color:#718096;font-size:10px}.aienv-score-copy h2{margin:5px 0 7px;color:#172033;font-size:21px}.aienv-score-copy .mailrep-grade{display:inline-flex}.aienv-score-copy p{margin:14px 0 0;color:#64748b;font-size:10px;line-height:1.6}.aienv-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.aienv-overview-head h2{margin:4px 0 0;color:#172033;font-size:19px}.aienv-confidence{width:148px}.aienv-confidence>b{display:block;margin-top:5px;color:#172033;font:700 14px/1 "JetBrains Mono",monospace}.aienv-confidence .mailrep-mini-bar{margin-top:7px}.aienv-overview-card .aienv-overview-grid{margin-top:15px;grid-template-columns:.8fr .8fr 1.4fr;gap:8px}.aienv-overview-card .aienv-overview-grid>div{min-height:58px;padding:10px 12px}.aienv-overview-card .mailrep-disclaimer{margin-top:10px}.aienv-primary-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:18px}.aienv-primary-grid>.nm-card{border:1px solid #e5ebf2;border-radius:8px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.035)}.aienv-primary-grid .aienv-evidence,.aienv-primary-grid .aienv-scenes{padding:18px 20px}.aienv-primary-grid .mailrep-stat-strip{grid-template-columns:repeat(4,82px) minmax(160px,1fr);margin-top:13px}.aienv-primary-grid .mailrep-stat-strip>div{min-height:39px;padding:7px 9px}.aienv-primary-grid .aienv-check-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.aienv-primary-grid .aienv-check{min-height:112px;padding:11px}.aienv-primary-grid .aienv-check-top>span{width:24px;height:24px}.aienv-primary-grid .aienv-check h3{margin:8px 0 3px;font-size:10px}.aienv-primary-grid .aienv-check strong{font-size:9px}.aienv-primary-grid .aienv-check p{margin-top:4px;font-size:8px}.aienv-primary-grid .aienv-scene-grid{display:flex;flex-direction:column;gap:6px;margin-top:13px}.aienv-primary-grid .aienv-scene{min-height:0;padding:11px 12px}.aienv-primary-grid .aienv-scene>b{font-size:10px}.aienv-primary-grid .aienv-scene>span{top:9px;right:9px}.aienv-primary-grid .aienv-scene>p{margin:9px 54px 0 0;font-size:8px;line-height:1.45}.aienv-platforms{padding:18px 20px}.aienv-platform-grid{margin-top:13px;gap:7px}.aienv-platform{min-height:132px;padding:11px}.aienv-platform-metrics{margin:9px 0 7px;gap:4px}.aienv-platform>p{font-size:8px}.aienv-quality,.aienv-history{padding:18px 20px}.aienv-quality-metrics,.aienv-history-summary{margin-top:12px}.aienv-trend{height:50px}.aienv-results{gap:14px}
@media(max-width:1180px){.aienv-command{grid-template-columns:1fr}.aienv-scope{justify-content:flex-start}.aienv-command .aienv-consent{grid-template-columns:1fr 150px}.aienv-situation{grid-template-columns:1fr 1.25fr}.aienv-primary-grid{grid-template-columns:1fr}.aienv-primary-grid .aienv-scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.aienv-primary-grid .aienv-scene>p{margin-right:0}.aienv-primary-grid .mailrep-stat-strip{grid-template-columns:repeat(4,1fr)}.aienv-primary-grid .mailrep-coverage{grid-column:1/-1}}
@media(max-width:760px){.aienv-command{padding:17px;gap:14px}.aienv-scope{display:grid;grid-template-columns:1fr 1fr}.aienv-scope>span:last-child{grid-column:1/-1}.aienv-command .aienv-consent{grid-template-columns:1fr}.aienv-command .aienv-consent>button{width:100%}.aienv-situation{grid-template-columns:1fr}.aienv-situation>article{min-height:0;padding:17px}.aienv-score-inline{grid-template-columns:126px minmax(0,1fr);gap:12px}.aienv-score-inline .mailrep-score-ring{width:122px;height:122px}.aienv-score-inline .mailrep-score-ring b{font-size:29px}.aienv-score-inline .mailrep-score-ring em{top:77px}.aienv-score-copy h2{font-size:17px}.aienv-overview-card .aienv-overview-grid{grid-template-columns:1fr}.aienv-primary-grid .aienv-check-grid{grid-template-columns:1fr}.aienv-primary-grid .aienv-scene-grid{display:flex}.aienv-primary-grid .mailrep-stat-strip{grid-template-columns:repeat(2,1fr)}.aienv-primary-grid .aienv-evidence,.aienv-primary-grid .aienv-scenes{padding:17px}.aienv-platform{min-height:118px}}
.mailrep-stat-strip{margin-top:17px;display:grid;grid-template-columns:repeat(4,104px) minmax(180px,1fr);gap:8px}.mailrep-stat-strip>div{min-height:48px;padding:9px 11px;border:1px solid #e8edf3;border-radius:6px;background:#fafbfd;display:flex;align-items:center;justify-content:space-between;gap:8px}.mailrep-stat-strip span{font-size:10px;color:#718096}.mailrep-stat-strip b{font:700 16px/1 "JetBrains Mono",monospace;color:#334155}.mailrep-stat-strip .is-pass b{color:#159b65}.mailrep-stat-strip .is-warn b{color:#b77909}.mailrep-stat-strip .is-danger b{color:#d93645}.mailrep-stat-strip .is-unknown b{color:#64748b}.mailrep-stat-strip .mailrep-coverage{justify-content:flex-start}.mailrep-stat-strip .mailrep-coverage b{margin-left:auto;font-size:11px}.mailrep-action-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.mailrep-action-grid>.nm-card{padding:22px 25px;border:1px solid #e5ebf2;border-radius:8px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.035)}.mailrep-finding-sections{margin-top:17px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mailrep-finding-sections>section{padding:14px;border:1px solid #e8edf3;border-radius:7px;background:#fafbfd}.mailrep-finding-sections h3,.mailrep-blacklists>h3{margin:0 0 10px;display:flex;align-items:center;gap:7px;color:#334155;font-size:11px}.mailrep-finding-sections h3 i{width:7px;height:7px;border-radius:50%;background:#94a3b8}.mailrep-finding-sections h3 i.danger{background:#dc3545}.mailrep-finding-sections h3 i.warn{background:#e6a317}.mailrep-finding-sections h3 b{margin-left:auto;min-width:21px;padding:3px 6px;border-radius:999px;background:#eef2f6;text-align:center;font:700 9px/1 "JetBrains Mono",monospace}.mailrep-finding-row{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid #e8edf3}.mailrep-finding-row:first-child{border-top:0}.mailrep-finding-row>span{color:#9aa6b5;font:600 9px/1.5 "JetBrains Mono",monospace}.mailrep-finding-row b{display:block;color:#243044;font-size:10px}.mailrep-finding-row p{margin:3px 0 0;color:#7c8998;font-size:9px;line-height:1.55}.mailrep-finding-empty{margin:0;padding:10px 0;color:#159b65;font-size:10px}.mailrep-blacklists{margin-top:12px;padding:14px;border:1px solid #e8edf3;border-radius:7px}.mailrep-blacklists[hidden]{display:none}.mailrep-blacklist-group{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid #edf1f5;font-size:9px}.mailrep-blacklist-group:first-child{border-top:0}.mailrep-blacklist-group b{color:#334155}.mailrep-blacklist-group span{color:#718096;overflow-wrap:anywhere}.mailrep-blacklist-group.is-malicious b{color:#d93645}.mailrep-blacklist-group.is-policy b,.mailrep-blacklist-group.is-dynamic b{color:#b77909}.mailrep-advice-card>[data-result-advice]{margin-top:17px}.mailrep-advice-card .mailrep-finding-row{grid-template-columns:28px minmax(0,1fr);padding:12px 0}.mailrep-advice-card .mailrep-finding-row>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#eaf4ff;color:#4f7cb5}.mailrep-advice-card .mailrep-finding-row b{font-size:11px}.mailrep-advice-card .mailrep-finding-row p{font-size:10px}
@media(max-width:1180px){.mailrep-stat-strip{grid-template-columns:repeat(4,1fr)}.mailrep-stat-strip .mailrep-coverage{grid-column:1/-1}.mailrep-action-grid{grid-template-columns:1fr}}
@media(max-width:760px){.mailrep-action-grid>.nm-card{padding:20px 17px}.mailrep-stat-strip{grid-template-columns:repeat(2,1fr)}.mailrep-stat-strip .mailrep-coverage{grid-column:1/-1}.mailrep-finding-sections{grid-template-columns:1fr}.mailrep-blacklist-group{grid-template-columns:1fr;gap:4px}}

/* AI environment workbench */
.aienv-main{padding-bottom:54px;background:#f7f9fc}.aienv-top-subtitle{margin:3px 0 0;color:#64748b;font-size:12px}.aienv-main>.nm-card,.aienv-results>.nm-card,.aienv-summary-grid>.nm-card,.aienv-results .mailrep-action-grid>.nm-card{border:1px solid #e5ebf2;border-radius:8px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.035)}.aienv-start{margin:24px 28px 18px;padding:27px 29px;display:grid;grid-template-columns:minmax(340px,1fr) minmax(440px,.9fr);gap:45px;align-items:center}.aienv-kicker{display:flex;align-items:center;gap:8px;color:#159b65;font:700 10px/1.2 "JetBrains Mono",monospace;letter-spacing:.08em}.aienv-start h2{margin:10px 0 8px;color:#101827;font-size:22px;letter-spacing:0}.aienv-start-copy>p{max-width:610px;margin:0;color:#64748b;font-size:12px;line-height:1.8}.aienv-consent{padding:17px;border:1px solid #e1e8ef;border-radius:7px;background:#fafbfd}.aienv-privacy{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px}.aienv-privacy>.mi{width:25px;height:25px;color:#5b83b9}.aienv-privacy b{display:block;color:#253247;font-size:12px}.aienv-privacy p{margin:4px 0 0;color:#7b8796;font-size:10px;line-height:1.6}.aienv-consent>label{margin:14px 0;padding:11px 0;border-top:1px solid #e7edf3;border-bottom:1px solid #e7edf3;display:flex;align-items:center;gap:10px;cursor:pointer}.aienv-consent input{width:16px;height:16px;accent-color:#18a66b}.aienv-consent label b,.aienv-consent label em{display:block}.aienv-consent label b{color:#334155;font-size:11px}.aienv-consent label em{margin-top:3px;color:#8894a3;font-size:9px;font-style:normal}.aienv-consent>button{width:100%;height:42px;border:0;border-radius:6px;background:#172133;color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font:700 12px/1 inherit;cursor:pointer}.aienv-consent>button:disabled{opacity:.55;cursor:wait}.aienv-consent>p{min-height:15px;margin:7px 0 0;color:#d93645;font-size:10px}.aienv-loading{margin:0 28px 18px;padding:22px 28px}.aienv-loading[hidden],.aienv-results[hidden]{display:none}.aienv-loading-head{display:flex;align-items:center;justify-content:space-between}.aienv-loading-head>div{display:flex;align-items:center;gap:11px}.aienv-loading-head h2{margin:0;font-size:15px}.aienv-loading-head>b{color:#159b65;font:700 12px/1 "JetBrains Mono",monospace}.aienv-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.aienv-steps span{display:flex;align-items:center;gap:7px;color:#94a3b8;font-size:10px;white-space:nowrap}.aienv-steps i{width:7px;height:7px;border-radius:50%;background:#dce4ec}.aienv-steps .is-active{color:#172033;font-weight:700}.aienv-steps .is-active i{background:#e6a317;box-shadow:0 0 0 4px rgba(230,163,23,.13)}.aienv-steps .is-done{color:#159b65}.aienv-steps .is-done i{background:#18a66b}.aienv-loading>p{margin:14px 0 0;color:#64748b;font-size:11px}.aienv-results{margin:0 28px;display:grid;gap:18px}.aienv-summary-grid{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(520px,1.28fr);gap:18px}.aienv-summary-grid>article{padding:23px 25px}.aienv-score-card>p{min-height:40px;margin:0;color:#64748b;font-size:11px;line-height:1.7;text-align:center}.aienv-score-card[data-tone="good"] .mailrep-score-ring,.aienv-score-card[data-tone="usable"] .mailrep-score-ring{color:#19a66c}.aienv-score-card[data-tone="caution"] .mailrep-score-ring{color:#e6a317}.aienv-score-card[data-tone="high"] .mailrep-score-ring,.aienv-score-card[data-tone="critical"] .mailrep-score-ring{color:#dc3545}.aienv-score-card[data-tone="good"] .mailrep-grade,.aienv-score-card[data-tone="usable"] .mailrep-grade{background:#e9f8f1;color:#16895d!important}.aienv-score-card[data-tone="caution"] .mailrep-grade{background:#fff6de;color:#b77909!important}.aienv-score-card[data-tone="high"] .mailrep-grade,.aienv-score-card[data-tone="critical"] .mailrep-grade{background:#fff0f1;color:#d23845!important}.aienv-overview-grid{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.aienv-overview-grid>div{min-height:70px;padding:13px 15px;border:1px solid #e9eef4;border-radius:7px;background:#fafbfd;overflow:hidden}.aienv-overview-grid span{display:block;color:#7c8999;font-size:10px}.aienv-overview-grid b{display:block;margin-top:7px;color:#172033;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.aienv-evidence,.aienv-scenes{padding:22px 25px}.aienv-check-grid{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.aienv-check{min-height:135px;padding:14px;border:1px solid #e8edf3;border-radius:7px;background:#fff}.aienv-check-top{display:flex;align-items:center;justify-content:space-between}.aienv-check-top>span{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;background:#eef2f6;color:#718096}.aienv-check-top svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.aienv-check-top em{padding:4px 7px;border-radius:999px;background:#eef2f6;color:#718096;font-size:9px;font-style:normal;font-weight:700}.aienv-check h3{margin:11px 0 5px;color:#172033;font-size:12px}.aienv-check strong{display:block;color:#334155;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.aienv-check p{margin:6px 0 0;color:#8793a2;font-size:9px;line-height:1.55}.aienv-check.is-pass .aienv-check-top>span,.aienv-check.is-pass .aienv-check-top em{background:#e9f8f1;color:#168f60}.aienv-check.is-warn .aienv-check-top>span,.aienv-check.is-warn .aienv-check-top em{background:#fff5dc;color:#b77909}.aienv-check.is-danger .aienv-check-top>span,.aienv-check.is-danger .aienv-check-top em{background:#ffedef;color:#d93645}.aienv-scene-grid{margin-top:17px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.aienv-scene{position:relative;min-height:114px;padding:15px;border:1px solid #e8edf3;border-radius:7px;background:#fafbfd}.aienv-scene>b{display:block;padding-right:60px;color:#243044;font-size:11px}.aienv-scene>span{position:absolute;right:12px;top:12px;padding:4px 7px;border-radius:999px;background:#eef2f6;color:#64748b;font-size:9px;font-weight:700}.aienv-scene>p{margin:18px 0 0;color:#7d8998;font-size:9px;line-height:1.6}.aienv-scene.is-good>span{background:#e9f8f1;color:#168f60}.aienv-scene.is-warn>span{background:#fff5dc;color:#b77909}.aienv-scene.is-danger>span{background:#ffedef;color:#d93645}
@media(max-width:1180px){.aienv-start{grid-template-columns:1fr;gap:22px}.aienv-summary-grid{grid-template-columns:1fr 1.25fr}.aienv-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aienv-scene-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.aienv-steps{grid-template-columns:repeat(3,1fr);row-gap:14px}}
@media(max-width:760px){.aienv-dashboard>.nm-side{position:relative;height:auto!important;padding:13px 14px 10px;border-right:0;border-bottom:1px solid #e4eaf1;box-shadow:none}.aienv-dashboard .nm-brand{margin:0 0 10px}.aienv-dashboard .nm-brand-mark{width:32px;height:32px;flex-basis:32px;border-radius:7px}.aienv-dashboard .nm-brand-mark svg{width:22px;height:22px}.aienv-dashboard .nm-brand b{font-size:16px}.aienv-dashboard .nm-brand i{font-size:9px;margin-top:2px}.aienv-dashboard .nm-menu{display:flex;flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.aienv-dashboard .nm-menu::-webkit-scrollbar{display:none}.aienv-dashboard .nm-menu a{height:34px;flex:0 0 auto;padding:0 10px;gap:7px;border:1px solid transparent;font-size:11px;white-space:nowrap}.aienv-dashboard .nm-menu a .mi{width:14px;height:14px}.aienv-dashboard .nm-menu a.active{border-color:#cdeede}.aienv-dashboard .nm-quota,.aienv-dashboard .nm-user,.aienv-dashboard .nm-collapse{display:none}.aienv-main{padding-bottom:28px}.aienv-start,.aienv-loading,.aienv-results{margin-left:14px;margin-right:14px}.aienv-start{padding:20px 17px}.aienv-summary-grid{grid-template-columns:1fr}.aienv-overview-grid{grid-template-columns:1fr}.aienv-check-grid{grid-template-columns:1fr}.aienv-scene-grid{grid-template-columns:1fr}.aienv-steps{grid-template-columns:repeat(2,1fr)}.aienv-loading{padding:20px 17px}.aienv-summary-grid>article,.aienv-evidence,.aienv-scenes{padding:20px 17px}}

/* 详情页首组卡片：摘要占主要宽度，信任指数与网络信息保持紧凑同排。 */
@media(min-width:1181px){
  .nm-result-dashboard .nm-mid-grid{grid-template-columns:minmax(720px,2.25fr) minmax(180px,.55fr) minmax(250px,.78fr);gap:14px}
  .nm-result-dashboard .nm-summary .summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .nm-result-dashboard .nm-mid-grid>.nm-summary{grid-column:auto}
  .nm-result-dashboard .trust-card,.nm-result-dashboard .nm-netinfo{padding:16px}
  .nm-result-dashboard .trust-ring{width:132px;height:132px}
  .nm-result-dashboard .trust-ring .trust-value b{font-size:29px}
  .nm-result-dashboard .nm-netinfo dl{grid-template-columns:66px minmax(0,1fr);gap:6px 8px;font-size:11px}
  .nm-result-dashboard .nm-netinfo .nm-link{margin-top:9px}
}

@media(min-width:761px){
  .nm-result-dashboard .factor-line{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* 风险原因直接映射评分引擎的全部指标，避免展示层漏项。 */
.nm-result-dashboard .nm-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(150px,.22fr) minmax(150px,.22fr)}
.nm-result-dashboard .risk-factors{min-width:0}
.risk-factor-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.risk-factor-title h2{margin:0}
.risk-factor-title span{color:#94a3b8;font-size:11px;font-weight:700}
.score-factor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.score-factor-grid>div{position:relative;min-width:0;min-height:86px;padding:12px 12px 28px;border:1px solid #e6ebf1;border-radius:7px;background:#fafbfd}
.score-factor-grid>div>span{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.score-factor-grid>div b{color:#273244;font-size:11px;line-height:1.35}
.score-factor-grid>div i{flex:0 0 auto;padding:3px 6px;border-radius:999px;font-size:9px;font-style:normal;font-weight:800}
.score-factor-grid>div p{margin:7px 0 0;color:#718096;font-size:9px;line-height:1.45;overflow-wrap:anywhere}
.score-factor-grid>div em{position:absolute;right:11px;bottom:9px;color:#64748b;font-size:9px;font-style:normal;font-weight:800}
.score-factor-grid .factor-pass i{background:#e9f8f1;color:#168f60}
.score-factor-grid .factor-warn i{background:#fff5dc;color:#b77909}
.score-factor-grid .factor-danger i{background:#ffedef;color:#d93645}
.score-factor-grid .factor-warn{border-color:#f5dfaa;background:#fffcf3}
.score-factor-grid .factor-danger{border-color:#f3cfd3;background:#fff8f8}
@media(max-width:1180px){.nm-result-dashboard .nm-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nm-result-dashboard .risk-factors{grid-column:1/-1}.score-factor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.nm-result-dashboard .nm-bottom-grid{grid-template-columns:1fr}.nm-result-dashboard .risk-factors{grid-column:auto}.score-factor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.score-factor-grid{grid-template-columns:1fr}}

.nm-side>.nm-collapse{margin-top:auto}

/* AI 环境页可读性：避免 9px 浅灰中文在普通显示器上发虚。 */
.ai-environment-shell,.aienv-dashboard{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
.aienv-top-subtitle,.aienv-start-copy p,.aienv-consent em,.aienv-loading>p,.aienv-score-copy p,.mailrep-section-title p{color:#596779;font-size:12px;font-weight:500;line-height:1.65}
.aienv-kicker,.aienv-scope span,.aienv-policy-version{font-weight:750}
.aienv-consent b,.aienv-steps span,.aienv-overview-grid b,.aienv-check h3,.aienv-scene>b{font-weight:700}
.aienv-check-top em,.aienv-scene>span{font-size:10px;font-weight:750}
.aienv-check h3{font-size:13px;line-height:1.4}
.aienv-check strong{font-size:12px;font-weight:650;line-height:1.5;color:#273449}
.aienv-check p{font-size:11px;font-weight:500;line-height:1.6;color:#657386}
.aienv-scene>b{font-size:12px;line-height:1.45;color:#1f2b3d}
.aienv-scene>p{margin-top:20px;font-size:11px;font-weight:500;line-height:1.65;color:#657386}
.aienv-overview-grid span{font-size:11px;font-weight:600;color:#647286}
.aienv-overview-grid b{font-size:13px;line-height:1.45}
.aienv-check,.aienv-scene{min-height:142px}
.aienv-platform-grid,.aienv-quality-grid,.aienv-history-summary,.aienv-finding-sections{font-weight:500}
@media(max-width:760px){
  .aienv-check p,.aienv-scene>p{font-size:11px}
  .aienv-check strong,.aienv-scene>b{font-size:12px}
}
