/* =============================================================================
   它它它 · tatata.pet — 组件层(所有页面共用)。依赖 tokens.css。
   ============================================================================= */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--container);margin:0 auto;padding:0 40px}
.muted{color:var(--ink-3)} .em{color:var(--ink);font-weight:var(--fw-semi)}
.section{padding:22px 0 4px}
.page-pad{padding-bottom:172px}     /* 给底部输入框留位 */
.page-head{padding:40px 0 8px}
.page-head .crumb{font-size:var(--fs-sm);color:var(--ink-3);font-weight:var(--fw-med);margin-bottom:12px}
.page-head h1{font-size:var(--fs-h1);font-weight:var(--fw-bold);letter-spacing:-1px}
.page-head p{font-size:var(--fs-body);color:var(--ink-2);margin-top:12px;max-width:640px}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.8);backdrop-filter:saturate(1.2) blur(16px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:32px;height:var(--nav-h);max-width:var(--container);margin:0 auto;padding:0 40px}
.brand{display:flex;align-items:center;gap:11px}
.mark{width:34px;height:34px;border-radius:9px;background:var(--red);display:grid;place-items:center;flex:none}
.mark b{color:#fff;font-size:13px;font-weight:800;letter-spacing:1.5px}
.brand .bt b{font-size:17px;letter-spacing:.5px;font-weight:700;display:block;line-height:1.1}
.brand .bt small{font-size:11px;color:var(--ink-3);letter-spacing:.02em;font-weight:500}
.menu{display:flex;gap:30px;font-size:14.5px;color:var(--ink-2);font-weight:500}
.menu a{padding:6px 0;position:relative}
.menu a.active{color:var(--ink);font-weight:600}
.menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-23px;height:2px;background:var(--red);border-radius:2px}
.menu a:hover{color:var(--ink)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:11px}
.demo-badge{font-size:11.5px;color:var(--demo-fg);background:var(--demo-bg);border:1px solid var(--demo-line);padding:4px 10px;border-radius:var(--r-pill);font-weight:600;white-space:nowrap}
.lang{font-size:13px;color:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:6px 12px;cursor:pointer;font-weight:600;background:#fff;min-width:46px;text-align:center}
.lang:hover{border-color:#cfd2d6}
.hamburger{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line-2);background:#fff;cursor:pointer;color:var(--ink);align-items:center;justify-content:center}
.nav-mobile{display:none;position:fixed;top:var(--nav-h);left:0;right:0;z-index:39;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--sh);padding:8px 18px 16px;flex-direction:column}
.nav-mobile.open{display:flex}
.nav-mobile a{padding:13px 6px;font-size:16px;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--line)}
.nav-mobile .acts{display:flex;gap:10px;margin-top:14px}
.nav-mobile .acts a{flex:1;text-align:center;border-bottom:none;padding:12px}
.nav-mobile .acts a.solid{color:#fff}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:var(--fw-semi);font-size:15px;border-radius:13px;padding:14px 22px;border:1px solid transparent;cursor:pointer;transition:var(--dur) var(--ease)}
.btn-sm{padding:9px 16px;font-size:13.5px;border-radius:10px}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}
.btn-primary:hover{background:var(--red-2);transform:translateY(-1px)}
.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-ink:hover{background:#23262b}
.btn-quiet{background:#fff;border-color:var(--line-2);color:var(--ink)}
.btn-quiet:hover{border-color:#cfd2d6;box-shadow:var(--sh-sm)}
.solid{padding:9px 16px;border-radius:10px;background:var(--red);color:#fff;font-weight:600;font-size:13.5px;border:1px solid var(--red)}
.solid:hover{background:var(--red-2)}
.ghost{padding:8px 15px;border:1px solid var(--line-2);border-radius:10px;background:#fff;font-weight:600;font-size:13.5px;color:var(--ink-2)}
.ghost:hover{border-color:#cfd2d6;color:var(--ink)}

/* ---------- badges / tags ---------- */
.tag{font-size:var(--fs-2xs);color:var(--demo-fg);background:var(--demo-bg);border:1px solid var(--demo-line);border-radius:5px;padding:1px 5px;font-weight:600}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:650;border-radius:var(--r-pill);padding:3px 10px;border:1px solid transparent}
.badge.ok{color:#fff;background:var(--ink);border-color:var(--ink)}
.badge.warn{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-line)}
.badge.danger{color:var(--danger-fg);background:var(--danger-bg);border-color:var(--danger-line)}
.badge.muted{color:var(--muted-fg);background:var(--muted-bg);border-color:var(--muted-line)}
.seal{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:650;color:var(--red);background:var(--red-soft);border:1px solid var(--red-line);border-radius:var(--r-pill);padding:3px 9px}

/* ---------- generic cards ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-sm)}
.block-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}
.block-head h2{font-size:var(--fs-h2);font-weight:720;letter-spacing:-.4px}
.block-head a{font-size:14px;color:var(--ink-2);font-weight:600}
.block-head a:hover{color:var(--ink)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);margin-top:36px;padding:30px 0;color:var(--ink-3);font-size:13px}
.foot-in{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.foot-in .links{display:flex;gap:18px;flex-wrap:wrap}
.foot-in .links a:hover{color:var(--ink)}
.foot-in .right{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* ---------- composer (bottom floating agent) ---------- */
.composer-wrap{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:0 20px 22px;background:linear-gradient(to top,#fff 50%,rgba(255,255,255,0))}
.composer{max-width:1040px;margin:0 auto;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-2xl);box-shadow:var(--sh-lg);padding:16px 18px 13px;transition:.22s}
.composer.focus{border-color:#c7cace;box-shadow:0 32px 84px rgba(11,12,14,.16),0 10px 24px rgba(11,12,14,.08)}
.composer .hint{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:7px;margin:-2px 2px 9px}
.composer .hint b{color:var(--ink);font-weight:700}.composer .hint .sp{color:var(--red)}
.cmp-row{display:flex;align-items:flex-end;gap:12px}
.cmp-input{flex:1;border:none;outline:none;resize:none;font:inherit;font-size:17px;line-height:1.5;color:var(--ink);background:transparent;max-height:160px;min-height:30px;padding:4px 2px}
.cmp-input::placeholder{color:#aab0b7}
.icn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line-2);background:#fff;display:grid;place-items:center;color:var(--ink-2);cursor:pointer;flex:none}
.icn:hover{border-color:#cfd2d6;color:var(--ink)}
.send{width:42px;height:42px;border-radius:13px;background:#EAEBEC;color:#fff;display:grid;place-items:center;border:none;cursor:not-allowed;flex:none;transition:.18s}
.send.on{background:var(--red);cursor:pointer}
.cmp-foot{display:flex;align-items:center;gap:12px;margin-top:11px}
.foot-left{font-size:12.5px;color:var(--ink-3)}.foot-left a{color:var(--red);font-weight:600}
.foot-spacer{flex:1}.foot-note{font-size:12px;color:var(--ink-3)}
.quick{display:flex;gap:8px;flex-wrap:wrap;max-height:0;overflow:hidden;opacity:0;transition:.22s}
.composer.focus .quick{max-height:60px;opacity:1;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.chip{font-size:13px;font-weight:500;color:var(--ink-2);background:#fff;border:1px solid var(--line-2);border-radius:var(--r-pill);padding:7px 13px;cursor:pointer;transition:.16s}
.chip:hover{border-color:var(--red);color:var(--red);background:var(--red-soft)}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(200,54,47,.18)}100%{box-shadow:0 0 0 14px rgba(200,54,47,0)}}
.composer.attn{animation:ring 2s ease-out 2}
/* agent result panel (above composer) */
.agent-result{display:none;max-width:1040px;margin:0 auto 12px;background:#fff;border:1px solid var(--line-2);border-radius:18px;box-shadow:var(--sh-lg);padding:14px 16px;max-height:54vh;overflow:auto}
.agent-result .ar-tag{font-size:11px;color:var(--ink-3);font-weight:600}
.agent-result .ar-head{display:flex;align-items:flex-start;gap:10px;margin:6px 0 10px}
.agent-result .ar-q{font-size:15px;font-weight:700;flex:1;line-height:1.4}
.agent-result .ar-x{border:none;background:var(--chip);width:26px;height:26px;border-radius:8px;cursor:pointer;color:var(--ink-2);flex:none;font-size:12px}
.agent-result .ar-loading{font-size:14px;color:var(--ink-3);padding:4px 0 6px}
.agent-result .ar-verify{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.agent-result .ar-no{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px}
.agent-result .ar-kv{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;margin:12px 0 4px}
.agent-result .ar-kv i{font-style:normal;color:var(--ink-3);font-size:12px;display:block}
.agent-result .ar-kv b{font-size:14px;font-weight:600}
.agent-result .ar-reply{font-size:13.5px;color:var(--ink-2);margin-top:10px;line-height:1.6}
.agent-result .ar-text{font-size:14px;color:var(--ink);line-height:1.7}
.agent-result .ar-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.agent-result .ar-item{border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.agent-result .ar-it-top{display:flex;align-items:center;gap:8px;justify-content:space-between}
.agent-result .ar-it-top b{font-size:14px}
.agent-result .ar-it-sub{font-size:12.5px;color:var(--ink-2);margin-top:4px}
.agent-result .ar-it-reason{font-size:12px;color:var(--ink-3);margin-top:6px;line-height:1.5;border-left:2px solid var(--ink);padding-left:8px}

/* ---------- home hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:center;min-height:560px;padding:46px 0 10px}
.kicker{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line);padding:6px 13px;border-radius:var(--r-pill);font-weight:600;margin-bottom:28px}
.kicker .dot{width:6px;height:6px;border-radius:50%;background:var(--red)}
h1.display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-bold)}
h1.display .ln{display:block}
.sub{font-size:18px;color:var(--ink-2);margin-top:24px;font-weight:450;max-width:500px;line-height:1.6}
.verbs{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.verb{font-size:13.5px;font-weight:500;color:var(--ink-2);background:#fff;border:1px solid var(--line-2);padding:7px 14px;border-radius:var(--r-pill)}
.verb b{color:var(--ink);font-weight:700}
.cta{display:flex;flex-wrap:wrap;gap:11px;margin-top:34px}
.h-right{position:relative;height:548px;display:grid;place-items:center}
#globe{width:100%;height:100%;display:block}
.glow{position:absolute;inset:auto 0 46px 0;height:50px;filter:blur(36px);background:radial-gradient(50% 100% at 50% 50%,rgba(11,12,14,.10),transparent 70%);z-index:-1}
.node{position:absolute;transform:translate(-50%,-50%);pointer-events:none;transition:opacity .25s}
.node .pin{width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px rgba(11,12,14,.08);margin:0 auto}
.node.home .pin{background:var(--red);box-shadow:0 0 0 5px rgba(200,54,47,.18)}
.node .card{margin-top:8px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:11px;padding:7px 11px;box-shadow:var(--sh);white-space:nowrap;text-align:center}
.node .card b{font-size:13px;font-weight:700}.node .card span{display:block;font-size:11px;color:var(--ink-3);margin-top:1px}
.statbar{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;margin:8px 0 18px;box-shadow:var(--sh-sm)}
.stat{padding:18px 22px;border-left:1px solid var(--line)}.stat:first-child{border-left:none}
.stat .k{font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:6px;font-weight:500}
.stat .v{font-size:28px;font-weight:760;margin-top:6px;letter-spacing:-.6px}
.stat .v small{font-size:15px;color:var(--ink-4);font-weight:700}

/* opinion + category (home) */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.op{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;transition:.18s}
.op:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.op .thumb{height:124px;background:linear-gradient(135deg,#F3F4F5,#E9EAEC);background-size:cover;background-position:center;position:relative}
.op .thumb .t{position:absolute;left:13px;top:13px;font-size:11px;font-weight:600;color:var(--ink-2);background:#fff;border-radius:6px;padding:3px 8px;box-shadow:var(--sh-sm)}
.op .b{padding:15px 16px 16px}.op .b h3{font-size:15px;font-weight:650;line-height:1.45}
.op .b .meta{font-size:12px;color:var(--ink-3);margin-top:10px;display:flex;gap:10px}
/* 行业动态 feed */
.feed{border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:#fff}
.feed a{display:flex;gap:14px;padding:13px 16px;border-top:1px solid var(--line);align-items:center;transition:.15s}
.feed a:first-child{border-top:none}
.feed a:hover{background:var(--bg-soft)}
.feed .th{width:88px;height:62px;border-radius:10px;background:var(--bg-sunken) center/cover no-repeat;flex:none}
.feed .ft{flex:1;min-width:0}
.feed .ft h4{font-size:14.5px;font-weight:650;line-height:1.4}
.feed .ft .m{font-size:12px;color:var(--ink-3);margin-top:6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.feed .ft .m .k{font-size:11px;font-weight:700;color:var(--ink-2);background:var(--chip);border:1px solid var(--line);border-radius:5px;padding:1px 7px}
/* 排行榜 */
.rank-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3);background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;margin:6px 0 16px}
.rank-bar b{color:var(--ink)} .rank-bar .sep{width:1px;height:13px;background:var(--line-2)}
.rank-bar .seal{margin-left:auto}
.rtabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.rtabs .rt{font-size:14px;font-weight:600;color:var(--ink-3);padding:8px 16px;border-radius:var(--r-pill);cursor:pointer;border:1px solid transparent}
.rtabs .rt.on{color:#fff;background:var(--ink)}
.rdims{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.rdims .rd{font-size:12.5px;font-weight:600;color:var(--ink-2);background:#fff;border:1px solid var(--line-2);border-radius:var(--r-pill);padding:5px 12px;cursor:pointer}
.rdims .rd.on{border-color:var(--ink);color:var(--ink)}
.rank-list{border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:#fff}
.rank-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid var(--line)}
.rank-row:first-child{border-top:none}
.rank-row:hover{background:var(--bg-soft)}
.rank-no{width:26px;text-align:center;font-weight:800;font-size:16px;color:var(--ink-3);flex:none;font-variant-numeric:tabular-nums}
.rank-row.top .rank-no{color:var(--red)}
.rank-logo{width:42px;height:42px;border-radius:12px;background:var(--bg-sunken);border:1px solid var(--line);display:grid;place-items:center;font-weight:800;color:var(--ink-2);flex:none}
.rank-mid{flex:1;min-width:0}
.rank-mid .nm{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rank-mid .ct{font-size:11px;font-weight:600;color:var(--ink-3);background:var(--chip);border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.rank-mid .why{font-size:12.5px;color:var(--ink-3);margin-top:5px;line-height:1.4}
.rank-metrics{display:flex;gap:18px;flex:none}
.rank-metrics .mt{text-align:center} .rank-metrics .mt i{font-style:normal;font-size:11px;color:var(--ink-3);display:block} .rank-metrics .mt b{font-size:14px;font-weight:700}
.rank-score{width:62px;text-align:right;flex:none}
.rank-score .sc{font-size:20px;font-weight:800;letter-spacing:-.5px}
.rank-score .ch{font-size:11px;font-weight:700;margin-top:2px}
.rank-score .ch.up{color:var(--red)} .rank-score .ch.dn{color:var(--ink-3)} .rank-score .ch.flat{color:var(--ink-4)}
.cats{display:flex;gap:13px;flex-wrap:wrap}
.cat{flex:1;min-width:150px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:15px 16px;display:flex;align-items:center;gap:12px;transition:.18s}
.cat:hover{border-color:#d7dade;box-shadow:var(--sh-sm)}
.cat .ic{width:38px;height:38px;border-radius:11px;background:var(--bg-soft);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);flex:none}
.cat .ic svg{display:block}
.cat b{font-size:15px;font-weight:650}.cat span{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}
.trust{margin:26px 0 8px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:15px 20px;display:flex;align-items:center;gap:15px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}
.trust .lead{font-weight:700;color:var(--ink)}.trust .sep{width:1px;height:14px;background:var(--line-2)}
/* how it works */
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.how-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:20px 20px 22px}
.how-card .n{font-size:13px;font-weight:800;color:var(--red);letter-spacing:.05em}
.how-card h3{font-size:16px;font-weight:700;margin-top:8px}
.how-card p{font-size:13px;color:var(--ink-2);margin-top:8px;line-height:1.65}
/* who it serves */
.serve{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.serve .s{padding:16px 18px;border-left:1px solid var(--line)}
.serve .s:first-child{border-left:none}
.serve .s b{font-size:14.5px;font-weight:700;display:block}
.serve .s span{font-size:12.5px;color:var(--ink-3);display:block;margin-top:5px;line-height:1.5}
.op .b .exc{font-size:12.5px;color:var(--ink-3);margin-top:8px;line-height:1.55}

/* ---------- verify (认证查验) ---------- */
.verify-box{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-2xl);box-shadow:var(--sh);padding:26px;max-width:780px}
.verify-tabs{display:flex;gap:6px;margin-bottom:16px}
.verify-tabs .vt{font-size:13px;font-weight:600;color:var(--ink-3);padding:7px 14px;border-radius:var(--r-pill);cursor:pointer}
.verify-tabs .vt.on{color:var(--ink);background:var(--bg-sunken)}
.verify-input{display:flex;gap:10px}
.verify-input input{flex:1;border:1px solid var(--line-2);border-radius:13px;padding:14px 16px;font:inherit;font-size:16px;outline:none;background:var(--bg-soft)}
.verify-input input:focus{border-color:#c7cace;background:#fff}
.result-card{margin-top:22px;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;max-width:780px}
.result-top{display:flex;align-items:center;gap:14px;padding:20px 24px;border-bottom:1px solid var(--line)}
.result-top.ok{background:linear-gradient(0deg,#fff,#FAFBFB)}
.result-icn{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;flex:none}
.result-icn.ok{background:var(--ink)} .result-icn.warn{background:var(--warn-fg)} .result-icn.danger{background:var(--red)} .result-icn.muted{background:var(--muted-fg)}
.result-top h3{font-size:18px;font-weight:700}
.result-top .no{font-size:13px;color:var(--ink-3);margin-top:2px;font-variant-numeric:tabular-nums}
.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.rg{padding:16px 24px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.rg:nth-child(odd){border-left:none}
.rg .k{font-size:12px;color:var(--ink-3);font-weight:500}.rg .v{font-size:15px;font-weight:600;margin-top:3px}
.result-actions{display:flex;gap:10px;padding:16px 24px;border-top:1px solid var(--line);background:var(--bg-soft)}
.evidence{margin-top:22px;max-width:780px}
.evidence h4{font-size:14px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.ev-chain{display:flex;gap:0;flex-wrap:wrap}
.ev-step{flex:1;min-width:150px;position:relative;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-md);margin-right:10px;background:#fff}
.ev-step .s{font-size:11px;color:var(--ink-3);font-weight:600}
.ev-step .l{font-size:13.5px;font-weight:600;margin-top:4px}
.ev-step .d{font-size:12px;color:var(--ink-3);margin-top:3px}

/* ---------- selection (认证选品) ---------- */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px 0 20px}
.fchip{font-size:13px;font-weight:550;color:var(--ink-2);background:#fff;border:1px solid var(--line-2);border-radius:var(--r-pill);padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.fchip:hover{border-color:#cfd2d6}.fchip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.fchip svg{opacity:.55}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pc{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;transition:.18s;display:flex;flex-direction:column}
.pc:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.pc .img{height:150px;background:linear-gradient(135deg,#F3F4F5,#E9EAEC);background-size:cover;background-position:center;position:relative}
.pc .img .seal{position:absolute;left:12px;top:12px}
.pc .bd{padding:15px 16px 16px;display:flex;flex-direction:column;flex:1}
.pc .bn{font-size:12px;color:var(--ink-3);font-weight:500}
.pc h3{font-size:15.5px;font-weight:650;margin-top:3px;line-height:1.4}
.pc .price{margin-top:10px;font-size:18px;font-weight:740;letter-spacing:-.3px}
.pc .price small{font-size:12px;color:var(--ink-3);font-weight:600;margin-left:4px}
.pc .specs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pc .spec{font-size:11.5px;color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;padding:2px 8px}
.pc .reason{font-size:12.5px;color:var(--ink-2);margin-top:12px;line-height:1.5;padding-left:10px;border-left:2px solid var(--ink)}
.pc .risk{font-size:12px;color:var(--warn-fg);margin-top:8px;display:flex;gap:6px}
.pc .pc-foot{margin-top:auto;padding-top:14px;display:flex;gap:8px}

/* ---------- brand (品牌主页) ---------- */
.brand-hero{display:flex;gap:22px;align-items:flex-start;padding:30px 0 8px}
.brand-logo{width:84px;height:84px;border-radius:20px;background:var(--bg-soft);border:1px solid var(--line);display:grid;place-items:center;font-size:30px;font-weight:800;color:var(--ink-3);flex:none}
.brand-meta h1{font-size:30px;font-weight:bold;letter-spacing:-.6px;display:flex;align-items:center;gap:12px}
.brand-meta .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;align-items:center}
.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}
.score{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px}
.score .k{font-size:12.5px;color:var(--ink-3);font-weight:550}
.score .v{font-size:26px;font-weight:760;margin-top:4px;display:flex;align-items:baseline;gap:6px}
.score .bar{height:6px;background:var(--bg-sunken);border-radius:4px;margin-top:10px;overflow:hidden}
.score .bar i{display:block;height:100%;background:var(--ink);border-radius:4px}
.b-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:start}
.cert-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px}
.cert-row .cn{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px}
.cert-row .meta{font-size:12px;color:var(--ink-3);margin-top:2px}

/* ---------- about (认证体系/合规) ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pillar{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:22px}
.pillar .pic{width:40px;height:40px;border-radius:11px;background:var(--ink);color:#fff;display:grid;place-items:center;margin-bottom:14px}
.pillar h3{font-size:16px;font-weight:700}.pillar p{font-size:13.5px;color:var(--ink-2);margin-top:8px;line-height:1.6}
.flow{display:flex;gap:0;flex-wrap:wrap;counter-reset:s}
.flow .fs{flex:1;min-width:160px;padding:18px;border:1px solid var(--line);border-radius:var(--r-md);margin:0 10px 10px 0;position:relative}
.flow .fs::before{counter-increment:s;content:counter(s);position:absolute;top:14px;right:16px;font-size:24px;font-weight:800;color:var(--bg-sunken)}
.flow .fs .l{font-size:14px;font-weight:650}.flow .fs .d{font-size:12.5px;color:var(--ink-3);margin-top:6px;line-height:1.5}
.note{background:var(--demo-bg);border:1px solid var(--demo-line);border-radius:var(--r-lg);padding:16px 18px;font-size:13px;color:var(--ink-2);margin-top:20px;line-height:1.6}
.note b{color:var(--ink)}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .menu{display:none}
  .hamburger{display:flex}
  .nav-right .demo-badge,.nav-right .ghost,.nav-right .solid{display:none}
  .hero{grid-template-columns:1fr;min-height:auto;padding:14px 0 6px}
  .h-right{height:300px}
  h1.display{font-size:46px;letter-spacing:-1.4px}
  .cards3,.pillars{grid-template-columns:1fr}
  .how{grid-template-columns:repeat(2,1fr)}
  .serve{grid-template-columns:repeat(2,1fr)}.serve .s:nth-child(odd){border-left:none}.serve .s:nth-child(n+3){border-top:1px solid var(--line)}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .b-grid{grid-template-columns:1fr}.scores{grid-template-columns:repeat(3,1fr)}
  .result-grid{grid-template-columns:1fr}.rg:nth-child(even){border-left:1px solid var(--line)}
}
@media(max-width:640px){
  .wrap{padding:0 18px}.nav-in{padding:0 18px;gap:12px}
  .page-pad{padding-bottom:148px}
  h1.display{font-size:36px;letter-spacing:-1px}
  .sub{font-size:16px}
  .page-head{padding:24px 0 6px}.page-head h1{font-size:27px}
  .statbar{grid-template-columns:repeat(2,1fr)}.stat{padding:14px 16px}
  .stat:nth-child(3){border-left:none}.stat:nth-child(n+3){border-top:1px solid var(--line)}
  .stat .v{font-size:23px}
  .cards3,.product-grid,.pillars,.scores{grid-template-columns:1fr}
  .how{grid-template-columns:1fr}.serve{grid-template-columns:1fr}.serve .s{border-left:none}.serve .s:nth-child(n+2){border-top:1px solid var(--line)}
  .h-right{height:248px}.node:not(.home) .card{display:none}
  .composer .hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .result-grid{grid-template-columns:1fr}.rg{border-left:none!important}.rg:nth-child(n+2){border-top:1px solid var(--line)}
  .brand-hero{flex-direction:column;gap:14px}.brand-logo{width:64px;height:64px;font-size:24px}
  .verify-box{padding:18px}.verify-input{flex-direction:column}
  .composer-wrap{padding:0 10px 12px}.composer{border-radius:18px;padding:12px 12px 10px}
  .cmp-input{font-size:16px}.cmp-foot{flex-wrap:wrap;gap:8px}.foot-note{display:none}
  .quick{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.composer.focus .quick{max-height:46px}
  .agent-result{max-height:46vh}.agent-result .ar-kv{grid-template-columns:1fr}
  .trust{font-size:12px;gap:9px}
  .ev-step{margin-right:0;margin-bottom:10px;min-width:100%}
  .toolbar{gap:8px}
  .rank-metrics{display:none}.rank-row{gap:11px;padding:13px 14px}.rank-score{width:50px}
  footer .right{margin-left:0}
}
