/* =============================================================
   宠宝宝 v3 · 以付费系统为核心（AI 管家 / 分诊 / 会员）
   模块顺序 = 盈利 + 用户重要性（策划案 §9 §11 §18）
   设计体系：瓷白 + 深青碧 + 暖桃点缀 + 会员深色块香槟金
   直角铁律：圆角 0，仅真圆形 50%
   ============================================================= */

/* ---------- 1 · tokens ---------- */
:root{
  --bg:#FCFAF5; --bg-2:#F4EDE0; --surface:#FFFFFF;
  --ink:#241B12; --ink-2:#675B4D; --ink-3:#A0917F;
  --line:rgba(74,50,24,.13); --line-2:rgba(74,50,24,.07);

  --brand:#B84B18; --brand-bright:#E96322; --brand-d:#963A10;
  --brand-soft:rgba(233,99,34,.09); --brand-line:rgba(233,99,34,.26);
  --peach:#F6A66A; --peach-soft:rgba(246,166,106,.12);

  --night:#2C1810; --gold:#D9B36C; --gold-soft:rgba(217,179,108,.14);
  --on-night:#F5EEDF; --on-night-2:rgba(245,238,223,.66);
  --on-night-3:rgba(245,238,223,.42); --night-line:rgba(245,238,223,.14);

  --safe:#2E9E5B; --safe-soft:rgba(46,158,91,.1);
  --warn:#BC7E12; --warn-soft:rgba(188,126,18,.12);
  --danger:#C4413B; --danger-soft:rgba(196,65,59,.1);

  --sh:0 1px 2px rgba(60,40,18,.05),0 8px 22px rgba(60,40,18,.07);
  --sh-lg:0 4px 14px rgba(60,40,18,.07),0 26px 60px rgba(60,40,18,.11);

  --disp:"Bricolage Grotesque","PingFang SC","Hiragino Sans GB",system-ui,sans-serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",ui-monospace,monospace;

  --maxw:1240px; --gut:clamp(20px,5vw,36px); --pad:clamp(44px,5.5vw,80px);
  --e:cubic-bezier(.22,.7,.24,1); --e-out:cubic-bezier(.16,1,.3,1);
}

/* ---------- 2 · reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* hidden 属性铁律：任何 display:flex/grid 的类都不得把它顶掉（此前 imgtip/tier 都踩过这坑） */
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
input[type="search"],button{-webkit-appearance:none;appearance:none;border-radius:0}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{overflow-x:hidden;overflow-x:clip}
body{
  font-family:var(--sans);background:var(--bg);color:var(--ink);
  font-size:16px;line-height:1.65;letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}
input{font:inherit}
h1,h2,h3,h4{line-height:1.12;letter-spacing:-.02em;font-weight:600;font-family:var(--disp)}
::selection{background:var(--brand);color:#fff}
:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--brand)}

/* ---------- 3 · 原语 ---------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.section{padding:var(--pad) 0;position:relative}
.section--alt{background:var(--bg-2)}
/* 防爆：grid 子项默认 min-width:auto 会被 SVG/长内容固有尺寸撑破轨道 */
.hgrid>*,.ency2>*,.dash__grid>*,.pricing2>*,.eat__grid>*,.tm__body>*,.bento>*,.goods>*,.arts>*,.tools>*,.ency2__media>*,.stw>*{min-width:0}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);
  font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brand);margin-bottom:18px}
.eyebrow::before{content:"";width:22px;height:1px;background:linear-gradient(90deg,var(--brand),transparent)}
.eyebrow--c{justify-content:center}
.shead{max-width:700px;margin-bottom:clamp(26px,3.4vw,42px)}
.shead--c{margin-left:auto;margin-right:auto;text-align:center}
.shead--w{max-width:none}
.stitle{font-size:clamp(1.8rem,3.6vw,2.7rem);letter-spacing:-.03em;font-weight:600;line-height:1.12}
.ssub{margin-top:16px;font-size:1.03rem;color:var(--ink-2);line-height:1.7}
.hl{color:var(--brand);white-space:nowrap}

/* ---------- 4 · 按钮 / chip ---------- */
.btn{--h:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:var(--h);padding:0 22px;font-weight:600;font-size:.95rem;white-space:nowrap;
  transition:transform .4s var(--e),box-shadow .4s var(--e),background .25s,color .25s,border-color .25s}
.btn--sm{--h:40px;padding:0 16px;font-size:.88rem}
.btn--lg{--h:56px;padding:0 30px;font-size:1.02rem}
.btn--brand{background:var(--brand);color:#fff;box-shadow:0 6px 18px rgba(184,75,24,.26)}
.btn--brand:hover{background:var(--brand-d);transform:translateY(-2px);box-shadow:0 12px 28px rgba(184,75,24,.34)}
.btn--line{border:1.5px solid var(--line);color:var(--ink);background:var(--surface)}
.btn--line:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px);box-shadow:var(--sh)}
.btn--ghost{color:var(--ink-2)}
.btn--ghost:hover{color:var(--ink)}
.btn--gold{background:var(--gold);color:#231A08;box-shadow:0 6px 20px rgba(217,179,108,.3)}
.btn--gold:hover{background:#E5C384;transform:translateY(-2px);box-shadow:0 12px 30px rgba(217,179,108,.4)}
.btn--nightline{border:1.5px solid var(--night-line);color:var(--on-night)}
.btn--nightline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn--white{background:#fff;color:var(--brand);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.btn--white:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.btn--lightline{border:1.5px solid rgba(255,255,255,.42);color:#fff}
.btn--lightline:hover{border-color:#fff;background:rgba(255,255,255,.1);transform:translateY(-2px)}
.arrow{transition:transform .3s var(--e)}
.btn:hover .arrow{transform:translateX(4px)}

/* ---------- 5 · 顶栏 ---------- */
.nav{position:sticky;top:0;z-index:100;transition:.35s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(252,250,245,.82);backdrop-filter:saturate(150%) blur(18px);-webkit-backdrop-filter:saturate(150%) blur(18px);
  border-bottom-color:var(--line);box-shadow:0 1px 20px rgba(60,40,18,.05)}
.nav__in{display:flex;align-items:center;gap:26px;height:70px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand__mark{width:42px;height:38px;display:grid;place-items:center}
.brand__mark img{width:100%;height:100%;object-fit:contain}
.brand__name{font-family:var(--disp);font-weight:700;font-size:1.16rem;letter-spacing:-.01em;line-height:1}
.brand__dom{display:block;font-family:var(--mono);font-size:.62rem;color:var(--ink-3);letter-spacing:.14em;margin-top:-4px}

.menu{display:flex;align-items:center;gap:2px;margin-left:6px}
.menu__l{display:inline-flex;align-items:center;gap:5px;height:40px;padding:0 10px;font-size:.94rem;font-weight:500;color:var(--ink-2);transition:.2s}
.menu__l:hover{color:var(--brand)}
.nitem{position:relative}
.caret{transition:transform .25s var(--e);opacity:.55}
.nitem.open .caret{transform:rotate(180deg)}
.pop{position:absolute;top:calc(100% + 12px);left:0;background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--sh-lg);padding:9px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s var(--e);z-index:50}
.nitem.open .pop{opacity:1;visibility:visible;transform:none}
.pop--dd{min-width:190px}
.pop--dd a{display:block;padding:10px 13px;font-size:.9rem;color:var(--ink-2);transition:.18s}
.pop--dd a:hover{background:var(--brand-soft);color:var(--brand)}
.mega{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:430px}
.mrow{display:flex;align-items:center;gap:12px;padding:11px;transition:.2s}
.mrow:hover{background:var(--brand-soft);transform:translateX(2px)}
.mic{width:40px;height:40px;display:grid;place-items:center;font-size:21px;background:var(--bg);border:1px solid var(--line-2)}
.mrow b{display:block;font-size:.92rem;font-weight:600;font-family:var(--disp)}
.mrow i{display:block;font-family:var(--mono);font-size:.72rem;color:var(--ink-3);font-style:normal;margin-top:2px}
.mega__all{grid-column:1/-1;margin-top:5px;padding:12px;text-align:center;background:var(--ink);color:#fff;font-size:.86rem;font-weight:600;transition:.2s}
.mega__all:hover{background:var(--brand)}
.nav__r{margin-left:auto;display:flex;align-items:center;gap:9px}
/* 搜索框形按钮（⌘K 命令面板入口） */
.nav__search{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 12px 0 14px;min-width:210px;
  background:var(--surface);border:1.5px solid var(--line);color:var(--ink-3);font-size:.86rem;
  transition:.25s var(--e);cursor:pointer}
.nav__search:hover{border-color:var(--brand-line);color:var(--ink-2)}
.nav__search svg{flex-shrink:0;color:var(--ink-3)}
.nav__search span{flex:1;text-align:left;white-space:nowrap}
.kbd{font-family:var(--mono);font-size:.62rem;font-weight:600;color:var(--ink-3);border:1px solid var(--line);
  background:var(--bg);padding:2px 6px;letter-spacing:.04em}
/* 登录态三态 */
/* [data-auth] 必须 flex 居中：头像换成 img 后 inline 基线会跟着图片底边走，胶囊整体浮起 */
[data-auth]{display:inline-flex;align-items:center;gap:9px}
.uchip{position:relative;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px 0 6px;border:1px solid var(--line);
  background:var(--surface);transition:.2s}
.uchip:hover{border-color:var(--brand-line)}
/* 待办提醒角标：挂在 uchip 上压住头像右上角（av 自身 overflow:hidden 会裁掉角标，不能放里面） */
.uchip__bd{position:absolute;top:-1px;left:24px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;
  background:var(--danger);color:#fff;font-style:normal;font-family:var(--mono);font-size:.58rem;font-weight:700;
  line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--surface)}
.uchip__av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:14px;
  background:var(--peach-soft);border:1px solid var(--line-2);overflow:hidden}
.uchip__av img{width:100%;height:100%;object-fit:cover}
.uchip__n{font-size:.86rem;font-weight:500;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.probadge{font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.08em;color:#231A08;
  background:var(--gold);padding:3px 7px}
/* 搜索浮层（命令面板） */
.sm{position:fixed;inset:0;z-index:200;display:none}
.sm.open{display:block}
.sm__mask{position:absolute;inset:0;background:rgba(36,27,18,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.sm__panel{position:relative;margin:11vh auto 0;width:min(640px,calc(100vw - 32px));background:var(--surface);
  border:1px solid var(--line);box-shadow:var(--sh-lg);overflow:hidden;animation:pop .3s var(--e-out)}
.sm__panel::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand);z-index:1}
.sm__head{display:flex;align-items:center;gap:11px;padding:16px 18px;border-bottom:1px solid var(--line-2)}
.sm__head svg{color:var(--ink-3);flex-shrink:0}
.sm__head input{flex:1;border:none;outline:none;background:none;font-size:1.05rem;color:var(--ink);min-width:0}
.sm__head input::placeholder{color:var(--ink-3)}
.sm__esc{font-family:var(--mono);font-size:.62rem;color:var(--ink-3);border:1px solid var(--line);background:var(--bg);padding:2px 6px;cursor:pointer}
.sm__tabs{display:flex;gap:7px;padding:11px 18px;border-bottom:1px solid var(--line-2);overflow-x:auto}
.sm__tab{font-size:.8rem;padding:6px 12px;border:1px solid var(--line-2);color:var(--ink-2);white-space:nowrap;transition:.2s;background:none;cursor:pointer}
.sm__tab.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
.sm__body{max-height:52vh;max-height:52dvh;overflow-y:auto;padding:8px 0 12px}
.sm__group{padding:8px 18px 2px;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.sm__item{display:flex;align-items:center;gap:12px;padding:10px 18px;cursor:pointer;transition:.15s}
.sm__item:hover,.sm__item.sel{background:var(--brand-soft)}
.sm__ic{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;font-size:17px;background:var(--bg);border:1px solid var(--line-2)}
.sm__t{flex:1;min-width:0}
.sm__t b{display:block;font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm__t i{display:block;font-family:var(--mono);font-size:.66rem;color:var(--ink-3);font-style:normal;margin-top:1px}
.sm__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.sm__dot--safe{background:var(--safe)}.sm__dot--warn{background:var(--warn)}.sm__dot--danger{background:var(--danger)}
.sm__cat{font-family:var(--mono);font-size:.6rem;color:var(--ink-3);border:1px solid var(--line-2);padding:2px 7px;flex-shrink:0}
.sm__empty{padding:34px 18px;text-align:center;color:var(--ink-3);font-size:.9rem}
.sm__empty a{color:var(--brand);font-weight:600}
.sm__foot{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--line-2);font-family:var(--mono);font-size:.62rem;color:var(--ink-3)}
.hamb{display:none;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.hamb span{width:20px;height:2px;background:var(--ink);transition:.3s var(--e)}
.hamb[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamb[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamb[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- 6 · ① HERO ---------- */
.hero{position:relative;padding:clamp(44px,6vw,84px) 0 clamp(52px,6vw,88px)}
.hero::before{content:"";position:absolute;top:-84px;left:0;right:0;bottom:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(46% 52% at 84% -2%,rgba(233,99,34,.16),transparent 60%),
    radial-gradient(38% 44% at 102% 38%,rgba(246,166,106,.12),transparent 62%),
    radial-gradient(44% 50% at 2% 98%,rgba(233,99,34,.07),transparent 60%);
  animation:heromesh 13s ease-in-out infinite alternate}
@keyframes heromesh{from{transform:translate3d(0,0,0) scale(1.02)}to{transform:translate3d(-2.5%,2%,0) scale(1.1)}}
.hero::after{content:"";position:absolute;top:-84px;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;opacity:.45;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.hgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,70px);align-items:center}
.htitle{font-size:clamp(2.2rem,4.6vw,3.6rem);letter-spacing:-.04em;line-height:1.12;font-weight:650}
.hsub{margin-top:24px;font-size:clamp(1.02rem,1.5vw,1.15rem);color:var(--ink-2);line-height:1.72;max-width:36ch}
/* 服务边界规格卡：左栏的图形重量，与右侧仪表语言呼应 */
.hspec{margin-top:26px;max-width:460px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand);
  box-shadow:var(--sh);padding:16px 20px 15px}
.hspec__h{font-family:var(--mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:11px}
.hspec ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.hspec li{display:flex;align-items:baseline;gap:12px;font-size:.9rem;color:var(--ink-2);line-height:1.5}
.hspec li i{font-style:normal;font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--brand);flex-shrink:0}
.hspec li b{color:var(--ink);font-weight:600}
.hcta{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}
.hnote{margin-top:18px;font-family:var(--mono);font-size:.72rem;color:var(--brand)}

/* Hero 右 · 守护面板 v3 */
.stw{position:relative}
.stw__card{position:relative;background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--sh-lg),0 0 54px rgba(233,99,34,.12);overflow:hidden;animation:floatcard 7s ease-in-out infinite alternate}
@keyframes floatcard{from{transform:translateY(0)}to{transform:translateY(-6px)}}
.stw__card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand)}
.stw__bar{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line-2)}
.stw__orb{width:34px;height:34px;flex-shrink:0;color:var(--brand)}
.stw__orb-r{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:15 9;opacity:.55;transform-box:fill-box;transform-origin:center;animation:orbspin 6s linear infinite}
.stw__orb-c{fill:currentColor;transform-box:fill-box;transform-origin:center;animation:orbpulse 2.4s ease-in-out infinite}
@keyframes orbspin{to{transform:rotate(360deg)}}
@keyframes orbpulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.62}}
.stw__ttl b{display:block;font-family:var(--disp);font-weight:600;font-size:.98rem}
.stw__ttl i{display:block;font-family:var(--mono);font-size:.66rem;color:var(--ink-3);font-style:normal;margin-top:1px}
.stw__on{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--safe)}
.stw__on-d{width:7px;height:7px;border-radius:50%;background:var(--safe);animation:onpulse 2s ease infinite}
@keyframes onpulse{0%{box-shadow:0 0 0 0 rgba(46,158,91,.5)}70%{box-shadow:0 0 0 7px rgba(46,158,91,0)}100%{box-shadow:0 0 0 0 rgba(46,158,91,0)}}
.stw__pet{display:flex;align-items:center;gap:11px;padding:12px 18px;border-bottom:1px solid var(--line-2)}
.stw__av{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;font-size:20px;background:var(--peach-soft);border:1px solid var(--line-2)}
/* 演示档案用真实宠物头像：图片填满方形容器（直角铁律，不圆角） */
.stw__av img,.pf__av img{width:100%;height:100%;object-fit:cover;display:block}
.pf__tab-av{width:16px;height:16px;border-radius:50%;object-fit:cover;margin-right:5px;vertical-align:-3px}
.stw__pet-i b{font-family:var(--disp);font-weight:600;font-size:.9rem}
.stw__pet-i i{display:block;font-family:var(--mono);font-size:.66rem;color:var(--ink-3);font-style:normal;margin-top:1px}
.stw__health{margin-left:auto;font-family:var(--mono);font-size:.64rem;color:var(--safe);background:var(--safe-soft);padding:4px 9px}
.stw__chat{padding:16px 18px;display:flex;flex-direction:column;gap:9px;min-height:236px}
.stw__b{max-width:88%;padding:10px 13px;font-size:.86rem;line-height:1.5;opacity:0;transform:translateY(8px);animation:bub .4s var(--e-out) forwards}
.stw__b--me{align-self:flex-end;background:var(--brand);color:#fff}
.stw__b--ai{align-self:flex-start;background:var(--bg);border:1px solid var(--line-2);color:var(--ink)}
.stw__b--type{display:flex;gap:4px;padding:12px 14px}
.stw__b--type span{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:blink 1.2s infinite}
.stw__b--type span:nth-child(2){animation-delay:.2s}.stw__b--type span:nth-child(3){animation-delay:.4s}
@keyframes bub{to{opacity:1;transform:none}}
@keyframes blink{0%,60%,100%{opacity:.3}30%{opacity:1}}
/* 分诊仪表弧（签名） */
.triage{align-self:stretch;background:var(--bg);border:1px solid var(--line-2);padding:14px 16px 12px;
  display:flex;align-items:center;gap:16px;opacity:0;transform:translateY(8px);animation:bub .5s var(--e-out) forwards}
.triage__g{flex:0 1 132px;min-width:96px}
.triage__zone{fill:none;stroke-width:10;stroke-linecap:butt}
.triage__zone--s{stroke:var(--safe);opacity:.85}
.triage__zone--w{stroke:var(--warn);opacity:.85}
.triage__zone--d{stroke:var(--danger);opacity:.85}
.triage__needle{stroke:var(--ink);stroke-width:3;stroke-linecap:round;transform-origin:100px 100px;transform:rotate(-84deg);transition:transform 1.2s cubic-bezier(.34,1.3,.42,1)}
.triage.go .triage__needle{transform:rotate(0deg)}
.triage__hub{fill:var(--ink)}
.triage__t b{display:block;font-family:var(--disp);font-weight:650;font-size:1rem;color:var(--warn)}
.triage__t i{display:block;font-family:var(--mono);font-size:.7rem;color:var(--ink-3);font-style:normal;margin-top:4px;line-height:1.55}
.stw__caps{display:flex;gap:8px;padding:14px 18px;border-top:1px solid var(--line-2)}
.stw__cap{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:.75rem;font-weight:500;color:var(--ink-2);border:1px solid var(--line-2);padding:8px 4px;transition:.4s var(--e)}
.stw__cap i{font-style:normal;font-size:.92rem}
.stw__cap.active{color:var(--brand);border-color:var(--brand-line);background:var(--brand-soft);box-shadow:0 4px 14px rgba(233,99,34,.14)}
/* 三张迷你演示卡：与能力芯片同步轮播高亮 */
.stw__minis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.stw__mini{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--sh);padding:11px 12px;opacity:.55;transition:.45s var(--e)}
.stw__mini.active{opacity:1;border-color:var(--brand-line);background:var(--surface);box-shadow:var(--sh-lg),0 4px 18px rgba(233,99,34,.14)}
.stw__mini-ic{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;font-size:15px;background:var(--brand-soft);border:1px solid var(--brand-line);transform-origin:top center}
.stw__mini.active .stw__mini-ic{animation:bellring 3.2s ease-in-out .2s infinite}
@keyframes bellring{0%,84%,100%{transform:rotate(0)}87%{transform:rotate(-12deg)}91%{transform:rotate(10deg)}95%{transform:rotate(-4deg)}}
.stw__mini-t{min-width:0}
.stw__mini-t b{display:block;font-family:var(--disp);font-weight:600;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stw__mini-t i{display:block;font-family:var(--mono);font-size:.62rem;color:var(--ink-3);font-style:normal;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stw__mini-t b em{font-style:normal;color:var(--warn)}

/* ---------- 7 · ② AI 六大能力（bento） ---------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bcard{background:var(--surface);border:1px solid var(--line);padding:24px;transition:.4s var(--e);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.bcard:hover{transform:translateY(-4px);border-color:var(--brand-line);box-shadow:var(--sh)}
.bcard--w{grid-column:span 2}
.bcard__ic{width:44px;height:44px;display:grid;place-items:center;font-size:21px;background:var(--brand-soft);border:1px solid var(--brand-line)}
.bcard h3{font-size:1.12rem;font-weight:600}
.bcard p{font-size:.9rem;color:var(--ink-2);line-height:1.62;flex:1}
.bcard__edge{font-family:var(--mono);font-size:.68rem;color:var(--ink-3);border-top:1px dashed var(--line-2);padding-top:10px}
.bcard__edge b{color:var(--brand);font-weight:600}
/* 大卡内嵌图 */
.mini-triage{width:120px;margin:6px 0}
.mini-plan{display:flex;align-items:center;gap:0;margin:10px 0 4px}
.mini-plan span{position:relative;flex:1;height:2px;background:var(--line)}
.mini-plan i{position:absolute;top:-5px;left:0;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2.5px solid var(--brand);font-style:normal}
.mini-plan span:nth-child(2) i{left:50%}
.mini-plan span:last-child i{left:auto;right:0;border-color:var(--peach)}
.mini-plan__lbl{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.64rem;color:var(--ink-3);margin-top:10px}

/* ---------- 8 · ③ 会员定价（唯一深色块） ---------- */
.member{background:var(--night);padding:clamp(52px,6.5vw,92px) 0;position:relative;overflow:hidden}
.member::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(52% 60% at 82% 0,rgba(217,179,108,.1),transparent 58%),radial-gradient(44% 52% at 6% 100%,rgba(233,99,34,.09),transparent 58%)}
.member .eyebrow{color:var(--gold)}
.member .eyebrow::before{background:linear-gradient(90deg,var(--gold),transparent)}
.member .stitle{color:var(--on-night)}
.member .ssub{color:var(--on-night-2)}
/* 免费 vs 会员 对比双卡（会员卡内嵌 月/季/年 周期选择） */
.pricing2{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.pcard__old{font-family:var(--mono);font-size:1rem;color:var(--on-night-3);text-decoration:line-through;margin-right:8px}
.pcard{position:relative;background:rgba(245,238,223,.04);border:1px solid var(--night-line);padding:28px;display:flex;flex-direction:column}
.pcard--pro{background:rgba(217,179,108,.07);border-color:rgba(217,179,108,.46);overflow:hidden}
.pcard--pro::after{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(217,179,108,.16),transparent);transform:skewX(-18deg)}
.pcard--pro.shine::after{animation:shimmer 1.6s var(--e-out) .3s 1 forwards}
@keyframes shimmer{to{left:140%}}
.pcard__tag{position:absolute;top:0;right:0;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;color:#231A08;background:var(--gold);padding:6px 12px}
.pcard__name{font-family:var(--disp);font-weight:650;font-size:1.14rem;color:var(--on-night)}
.pcard__en{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-night-3);margin-top:3px}
.pcard__price{display:flex;align-items:baseline;gap:7px;margin:18px 0 16px}
.pcard__cur{font-family:var(--mono);font-size:1rem;color:var(--on-night-2)}
.pcard__num{font-family:var(--disp);font-size:2.4rem;font-weight:700;letter-spacing:-.03em;color:var(--on-night);line-height:1}
.pcard__per{font-family:var(--mono);font-size:.76rem;color:var(--on-night-3)}
/* 权益行：两卡同序平行对比 */
.pcard ul{list-style:none;display:flex;flex-direction:column;flex:1;margin-bottom:22px}
.pcard li{display:flex;align-items:baseline;gap:10px;font-size:.88rem;line-height:1.5;padding:8px 0;border-bottom:1px dashed rgba(245,238,223,.09)}
.pcard li:last-child{border-bottom:none}
.pcard li i{font-style:normal;flex-shrink:0;font-weight:600;font-family:var(--mono);font-size:.8rem}
.pcard li{color:var(--on-night-2)}
.pcard li i{color:var(--on-night-3)}
.pcard li.no{color:var(--on-night-3)}
.pcard li.no i{color:rgba(245,238,223,.28)}
.pcard--pro li{color:var(--on-night)}
.pcard--pro li i{color:var(--gold)}
.pcard li b{font-weight:600;color:inherit}
.pcard--pro li b{color:var(--gold)}
.pcard__note{font-family:var(--mono);font-size:.66rem;color:var(--on-night-3);margin:-10px 0 20px;line-height:1.6}
/* 周期选择块：月 / 季 / 年 */
.segs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px}
.seg{position:relative;text-align:left;border:1px solid var(--night-line);padding:11px 13px;transition:.25s;background:none;color:var(--on-night-2)}
.seg:hover{border-color:rgba(217,179,108,.4)}
.seg.on{border-color:var(--gold);background:rgba(217,179,108,.1);color:var(--on-night)}
.seg__t{display:block;font-size:.78rem;font-weight:600;font-family:var(--disp)}
.seg__p{display:block;font-family:var(--mono);font-size:.94rem;font-weight:600;margin-top:4px}
.seg.on .seg__p{color:var(--gold)}
.seg__m{display:block;font-family:var(--mono);font-size:.62rem;color:var(--on-night-3);margin-top:3px}
.seg__save{position:absolute;top:-9px;right:8px;font-family:var(--mono);font-size:.58rem;font-weight:600;color:#231A08;background:var(--gold);padding:2px 7px}
.member__honest{text-align:center;margin-top:18px;font-family:var(--mono);font-size:.74rem;color:var(--on-night-3)}
.member__honest b{color:var(--gold);font-weight:600}

/* ---------- 9 · ④ 好物（淘宝客·档案驱动） ---------- */
/* 物种 tabs + 全宽商品网格 */
.gtabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.gtab{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 18px;border:1px solid var(--line);
  background:var(--surface);font-size:.92rem;font-weight:500;color:var(--ink-2);transition:.25s var(--e)}
.gtab:hover{border-color:var(--brand-line);color:var(--brand)}
.gtab.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;box-shadow:0 5px 16px rgba(184,75,24,.24)}
.goods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.goods .good{animation:gfade .4s var(--e-out) both}
.goods .good:nth-child(2){animation-delay:.05s}
.goods .good:nth-child(3){animation-delay:.1s}
.goods .good:nth-child(4){animation-delay:.15s}
@keyframes gfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.good{position:relative;background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:.4s var(--e);display:flex;flex-direction:column}
.good:hover{transform:translateY(-3px);border-color:var(--brand-line);box-shadow:var(--sh)}
.good__img{aspect-ratio:1/1;display:grid;place-items:center;font-size:56px;background:#fff;border-bottom:1px solid var(--line-2)}
.good__img--photo{aspect-ratio:1/1;background:#fff;padding:0}
.good__img--photo img{width:100%;height:100%;object-fit:contain}
.good__b{padding:15px 16px 13px;display:flex;flex-direction:column;min-width:0;flex:1}
.good__b b{font-size:.92rem;font-weight:600;line-height:1.4;font-family:var(--disp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.good__why{display:block;font-size:.74rem;color:var(--brand);margin:5px 0 9px;line-height:1.5}
.good__why::before{content:"→ ";font-family:var(--mono)}
.good__p{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.good__p .now{font-family:var(--mono);font-size:1.12rem;font-weight:600;color:var(--brand)}
.good__p .old{font-family:var(--mono);font-size:.7rem;color:var(--ink-3);text-decoration:line-through}
.good__p .coupon{font-family:var(--mono);font-size:.62rem;font-weight:600;color:var(--brand);border:1px solid var(--brand-line);background:var(--brand-soft);padding:2px 7px}
.good__ft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px dashed var(--line-2)}
.good__meta{font-family:var(--mono);font-size:.62rem;color:var(--ink-3)}
.good__cta{font-size:.78rem;font-weight:600;color:var(--brand);white-space:nowrap;transition:.2s}
.good:hover .good__cta{color:var(--brand-d)}
/* 文章正文内嵌好物盒：紧凑 2 列 + 区块级「广告」标注（合规红线，标签在盒角不压商品图）*/
.goods--inline{grid-template-columns:1fr 1fr;gap:12px;position:relative;margin:28px 0;padding:32px 14px 15px;border:1px solid var(--line);background:var(--bg)}
.goods--inline::before{content:"广告 · 好物推荐";position:absolute;top:0;left:0;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;color:var(--ink-3);background:var(--line-2);padding:4px 10px}
.goods--inline .good{background:var(--surface)}
@media (max-width:560px){.goods--inline{grid-template-columns:1fr}}

/* ---------- 10 · ⑤ 档案（北极星） ---------- */
.dash__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,64px);align-items:stretch}
/* 左列文字纵向撑满：与右侧档案演示卡上下沿对齐，块间距随卡高自动拉开 */
.dash__copy{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
@media (max-width:880px){.dash__copy{display:block}}
/* 档案窗口：右栏的单一物件（与守护面板同语言） */
.profile{position:relative;background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--sh-lg),0 0 54px rgba(233,99,34,.11);overflow:hidden}
.profile::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand)}
.pf__bar{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line-2)}
.pf__lbl{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-right:auto}
.pf__tab{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;color:var(--ink-2);
  border:1px solid var(--line-2);padding:6px 12px;transition:.25s}
.pf__tab.on{color:var(--brand);border-color:var(--brand-line);background:var(--brand-soft);font-weight:600}
.pf__tab--add{color:var(--ink-3);border-style:dashed;padding:6px 10px}
.pf__hd{display:flex;align-items:center;gap:12px;padding:16px 18px 0}
.pf__av{width:46px;height:46px;display:grid;place-items:center;font-size:24px;flex-shrink:0;background:var(--peach-soft);border:1px solid var(--line-2)}
.pf__hd-t b{display:block;font-family:var(--disp);font-weight:600;font-size:1.05rem}
.pf__hd-t i{display:block;font-family:var(--mono);font-size:.68rem;color:var(--ink-3);font-style:normal;margin-top:2px}
.pf__health{margin-left:auto;font-family:var(--mono);font-size:.66rem;color:var(--safe);background:var(--safe-soft);padding:4px 10px}
.pf__chart{padding:10px 18px 4px}
.pf__stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);margin-top:12px}
.pf__stat{padding:13px 18px;text-align:center}
.pf__stat+.pf__stat{border-left:1px solid var(--line-2)}
.pf__stat b{display:block;font-family:var(--mono);font-size:1.05rem;font-weight:600;color:var(--ink)}
.pf__stat i{display:block;font-size:.7rem;color:var(--ink-3);font-style:normal;margin-top:3px}
.pf__sec{padding:12px 18px 6px}
.pf__sec-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.pf__sec-h b{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.pf__sec-h a{font-family:var(--mono);font-size:.7rem;color:var(--brand)}
.rem{display:flex;align-items:center;gap:10px;padding:9px 0}
.rem+.rem{border-top:1px solid var(--line-2)}
.rem__d{width:8px;height:8px;border-radius:50%;background:var(--ink-3);flex-shrink:0}
.rem__d--soon{background:var(--warn)}
.rem__d--ok{background:var(--safe)}
.rem b{font-size:.84rem;font-weight:500}
.rem i{display:block;font-family:var(--mono);font-size:.68rem;color:var(--ink-3);font-style:normal}
.rem__go{margin-left:auto;font-family:var(--mono);font-size:.7rem;color:var(--brand)}
.pf__foot{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-top:1px solid var(--line-2)}
.pf__foot span{font-size:.82rem;color:var(--ink-2)}
.pf__foot b{font-family:var(--mono);font-size:1rem;font-weight:600;color:var(--brand)}
/* 档案价值三条（首页 #dash 左栏；剥离 v3 内联样式时曾遗漏） */
.aifeat{list-style:none;display:flex;flex-direction:column;gap:16px}
.aifeat li{display:flex;gap:14px;align-items:flex-start}
.aifeat__ic{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;font-size:20px;
  background:var(--brand-soft);border:1px solid var(--brand-line)}
.aifeat b{display:block;font-family:var(--disp);font-weight:600;font-size:.98rem}
.aifeat p{margin-top:3px;font-size:.86rem;color:var(--ink-2);line-height:1.6}
/* 体重曲线 */
.wchart{width:100%}
.wchart__grid{stroke:var(--line-2);stroke-width:1}
.wchart__path{fill:none;stroke:var(--brand-bright);stroke-width:2.5;stroke-linecap:round;
  stroke-dasharray:320;stroke-dashoffset:320;transition:stroke-dashoffset 1.4s var(--e-out) .2s}
.wchart__area{fill:var(--brand-soft);opacity:0;transition:opacity .8s .9s}
.wchart__dot{fill:var(--surface);stroke:var(--brand);stroke-width:2.5;r:0;transition:r .35s var(--e-out)}
.wchart.draw .wchart__path{stroke-dashoffset:0}
.wchart.draw .wchart__area{opacity:1}
.wchart.draw .wchart__dot{r:4}
.wchart.draw .wchart__dot:nth-of-type(2){transition-delay:.5s}
.wchart.draw .wchart__dot:nth-of-type(3){transition-delay:.8s}
.wchart.draw .wchart__dot:nth-of-type(4){transition-delay:1.1s}
.wchart__lbl{font-family:var(--mono);font-size:10px;fill:var(--ink-3)}


/* ---------- 11 · ⑥ 百科三库 ---------- */
.ency2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,64px);align-items:center}
/* —— 生境遥测卡（v2 搬入）：品种结构化数据的实证 —— */
.telemetry{position:relative;background:var(--surface);border:1px solid var(--line);
  padding:24px;box-shadow:var(--sh-lg),0 0 54px rgba(233,99,34,.11);overflow:hidden}
.telemetry::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand)}
.tm__bar{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.tm__live{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brand);margin-left:auto}
.tm__live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-bright);
  box-shadow:0 0 0 0 rgba(233,99,34,.5);animation:pulse 2s var(--e) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(233,99,34,.45)}70%{box-shadow:0 0 0 8px rgba(233,99,34,0)}100%{box-shadow:0 0 0 0 rgba(233,99,34,0)}}
.tm__tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase}
.tm__id{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.tm__av{width:60px;height:60px;display:grid;place-items:center;font-size:32px;flex-shrink:0;
  background:var(--peach-soft);border:1px solid var(--line-2)}
.tm__sp{font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}
.tm__name{font-size:1.34rem;font-weight:600;font-family:var(--disp);margin:2px 0 1px}
.tm__en{font-family:var(--mono);font-size:.74rem;color:var(--ink-3)}
.tm__legal{margin-left:auto;text-align:right}
.tm__legal i{display:block;font-family:var(--mono);font-size:.6rem;color:var(--ink-3);font-style:normal;letter-spacing:.1em;margin-bottom:3px}
.tm__legal b{font-size:.8rem;font-weight:600;color:var(--brand)}
.tm__body{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.radar{width:100%;color:var(--line)}
.radar__grid{stroke-width:1;fill:none}
.radar__spoke{stroke:var(--line-2)}
.radar__area{fill:var(--brand-soft);stroke:var(--brand-bright);stroke-width:1.8}
.radar__pt{fill:var(--brand-bright)}
.radar__lbl{fill:var(--ink-2);font-family:var(--mono);font-size:11px}
.gauges{display:flex;flex-direction:column;gap:15px}
.g__top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px}
.g__k{font-size:.78rem;color:var(--ink-2)}
.g__v{font-family:var(--mono);font-size:.86rem;font-weight:600;color:var(--ink)}
.g__v em{font-style:normal;color:var(--ink-3);font-size:.7rem}
.grad{height:9px;position:relative;overflow:hidden;background:var(--bg);border:1px solid var(--line-2)}
.grad__zone{position:absolute;top:0;bottom:0;background:var(--brand);transform:scaleX(0);transform-origin:left;
  transition:transform .9s var(--e-out) .3s;left:52%;right:8%}
.grad__zone.on{transform:scaleX(1)}
.ring{display:flex;align-items:center;gap:12px}
.ring svg{width:52px;height:52px;flex-shrink:0}
.ring__track{fill:none;stroke:var(--line);stroke-width:6}
.ring__val{fill:none;stroke:var(--brand-bright);stroke-width:6;stroke-linecap:round;
  stroke-dasharray:163.4;stroke-dashoffset:163.4;transform:rotate(-90deg);transform-origin:center;
  transition:stroke-dashoffset 1.1s var(--e-out) .3s}
.ring__c{font-family:var(--mono);font-size:.72rem;fill:var(--ink);font-weight:600}
.ring__t b{font-family:var(--mono);font-size:1rem;font-weight:700;color:var(--ink)}
.ring__t i{display:block;font-style:normal;font-size:.72rem;color:var(--ink-3);margin-top:2px}
.bars{display:flex;align-items:flex-end;gap:4px;height:26px}
.bars i{flex:1;background:var(--bg);border:1px solid var(--line-2);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--e-out),background .3s}
.bars i.on{transform:scaleY(1);background:var(--brand-bright);border-color:var(--brand-bright)}
.bars i:nth-child(1){height:34%}.bars i:nth-child(2){height:52%}.bars i:nth-child(3){height:70%}
.bars i:nth-child(4){height:86%}.bars i:nth-child(5){height:100%}
.tm__foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}
.tm__score{display:flex;align-items:baseline;gap:6px}
.tm__score b{font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--brand)}
.tm__score i{font-style:normal;font-size:.74rem;color:var(--ink-3)}
.tm__more{font-size:.86rem;font-weight:600;color:var(--ink);transition:.2s}
.tm__more:hover{color:var(--brand)}
/* 三库紧凑行卡 */
.erows{display:flex;flex-direction:column;gap:12px;margin-top:26px}
.erow{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);padding:15px 18px;transition:.3s var(--e)}
.erow:hover{border-color:var(--brand-line);box-shadow:var(--sh);transform:translateX(3px)}
.erow__ic{width:42px;height:42px;display:grid;place-items:center;font-size:20px;flex-shrink:0;background:var(--brand-soft);border:1px solid var(--brand-line)}
.erow__t{min-width:0;flex:1}
.erow__t b{display:block;font-family:var(--disp);font-weight:600;font-size:.98rem}
.erow__t b em{font-style:normal;font-family:var(--mono);font-weight:500;font-size:.7rem;color:var(--brand);margin-left:8px}
.erow__t p{font-size:.8rem;color:var(--ink-2);margin-top:2px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.erow__go{color:var(--brand);font-weight:600;flex-shrink:0}
.ency__sp{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}
.spchip{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 16px;background:var(--surface);border:1px solid var(--line);
  font-size:.88rem;font-weight:500;color:var(--ink-2);transition:.24s var(--e)}
.spchip:hover{color:var(--brand);border-color:var(--brand);transform:translateY(-1px)}

/* ---------- 11b · 能不能吃 · 现场演示 ---------- */
/* 全宽查询工作台：与守护面板/档案窗口同语言（白卡+顶部橙条+mono 标签行） */
.eat{position:relative;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-lg);overflow:hidden}
.eat::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand);z-index:1}
.eat__bar{display:flex;align-items:center;gap:10px;padding:14px 24px;border-bottom:1px solid var(--line-2)}
.eat__lbl{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.eat__count{margin-left:auto;font-family:var(--mono);font-size:.66rem;color:var(--brand)}
.eat__grid{display:grid;grid-template-columns:1fr 1fr}
.eat__ctl{padding:26px 28px;border-right:1px solid var(--line-2)}
.eat__q{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:600;font-family:var(--disp);margin-bottom:6px}
.eat__q em{font-style:normal;color:var(--brand)}
.eat__hint{font-family:var(--mono);font-size:.7rem;color:var(--ink-3);letter-spacing:.06em;margin-bottom:18px}
.eat__search{display:flex;align-items:center;gap:8px;margin-bottom:16px;background:var(--surface);
  border:1.5px solid var(--line);padding:5px 5px 5px 15px;transition:.3s var(--e)}
.eat__search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.eat__search svg{color:var(--ink-3);flex-shrink:0}
.eat__search input{flex:1;border:none;outline:none;background:none;font-size:1rem;color:var(--ink);min-width:0}
.eat__search input::placeholder{color:var(--ink-3)}
.eat__search .btn{--h:38px;padding:0 16px;font-size:.88rem}
.eat__chips{display:flex;flex-wrap:wrap;gap:9px}
.fchip{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1.5px solid var(--line);
  font-size:.86rem;transition:.22s;background:var(--surface);color:var(--ink-2)}
.fchip:hover{border-color:var(--brand);color:var(--brand)}
.fchip.on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
/* 右侧结果区：判定色域整块铺展 */
.eat__res{display:flex;flex-direction:column;padding:26px 28px;transition:background .4s var(--e)}
.eat__res[data-v="safe"]{background:var(--safe-soft)}
.eat__res[data-v="warn"]{background:var(--warn-soft)}
.eat__res[data-v="danger"]{background:var(--danger-soft)}
.eat__res[data-v="none"]{background:var(--bg)}
.eat__v{display:flex;gap:17px;align-items:flex-start;flex:1;animation:pop .45s var(--e-out)}
@keyframes pop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.eat__badge{width:56px;height:56px;flex-shrink:0;display:grid;place-items:center;font-size:28px;font-weight:700;color:#fff}
.eat__res[data-v="safe"] .eat__badge{background:var(--safe)}
.eat__res[data-v="warn"] .eat__badge{background:var(--warn)}
.eat__res[data-v="danger"] .eat__badge{background:var(--danger)}
.eat__res[data-v="none"] .eat__badge{background:var(--ink-3)}
.eat__vt h4{font-size:1.12rem;font-weight:600;margin-bottom:6px;font-family:var(--disp)}
.eat__vt h4 em{font-style:normal}
.eat__res[data-v="safe"] h4 em{color:var(--safe)}
.eat__res[data-v="warn"] h4 em{color:var(--warn)}
.eat__res[data-v="danger"] h4 em{color:var(--danger)}
.eat__vt p{font-size:.92rem;color:var(--ink-2);line-height:1.65}
.eat__more{align-self:flex-start;margin-top:18px;font-size:.86rem;font-weight:600;color:var(--brand);transition:.2s}
.eat__more:hover{color:var(--brand-d)}

/* ---------- 12 · ⑦ 工具 ---------- */
.tools{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px;align-items:start}
.tool{background:var(--surface);border:1px solid var(--line);padding:24px;transition:.4s var(--e);height:100%}
.tool:hover{transform:translateY(-4px);border-color:var(--brand-line);box-shadow:var(--sh)}
.tool__b{display:inline-block;font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.08em;
  color:var(--brand);background:var(--brand-soft);padding:5px 11px;margin-bottom:14px;text-transform:uppercase}
.tool h3{font-size:1.16rem;font-weight:600;margin-bottom:8px}
.tool p{font-size:.88rem;color:var(--ink-2);line-height:1.6;margin-bottom:18px}
.q__q{font-size:.86rem;font-weight:600;margin-bottom:12px}
.q__opts{display:flex;flex-direction:column;gap:8px}
.q__o{text-align:left;padding:12px 15px;border:1px solid var(--line);font-size:.9rem;transition:.2s;background:var(--surface)}
.q__o:hover{border-color:var(--brand);color:var(--brand)}
.q__o.pick{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:600}
.q__res{margin-top:12px}
.q__match{display:flex;align-items:center;gap:14px;padding:15px;background:var(--bg);border:1px solid var(--line-2);margin-bottom:13px}
.q__pct{font-family:var(--disp);font-size:1.9rem;font-weight:700;color:var(--brand);line-height:1}
.q__match i{display:block;font-family:var(--mono);font-size:.68rem;color:var(--ink-3);font-style:normal}
.q__match b{font-size:1rem;font-weight:600;font-family:var(--disp)}
.cmp{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.cmp__c{flex:1;text-align:center;padding:15px 8px;background:var(--bg);border:1px solid var(--line-2)}
.cmp__c span{font-size:28px}
.cmp__c b{display:block;font-size:.88rem;font-weight:600;margin-top:5px;font-family:var(--disp)}
.cmp__c i{display:block;font-family:var(--mono);font-size:.72rem;font-style:normal;color:var(--brand);margin-top:3px}
.cmp__vs{font-family:var(--mono);font-size:.68rem;font-weight:600;color:var(--ink-3)}
.calc{list-style:none;margin-bottom:18px}
.calc li{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px dashed var(--line-2);font-size:.88rem}
.calc li:last-child{border-bottom:none}
.calc li span{color:var(--ink-2)}
.calc li b{font-family:var(--mono);font-weight:600;color:var(--brand)}

/* ---------- 13b · 最新文章（AI 养护知识 · 持续更新） ---------- */
.shead--bar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;max-width:none}
.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.acard{position:relative;background:var(--surface);border:1px solid var(--line);padding:24px;
  display:flex;flex-direction:column;gap:12px;transition:.4s var(--e)}
.acard:hover{transform:translateY(-4px);border-color:var(--brand-line);box-shadow:var(--sh)}
.acard__top{display:flex;align-items:center;gap:9px}
.sptag{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.66rem;color:var(--ink-2);
  border:1px solid var(--line-2);background:var(--bg);padding:3px 9px}
.acard__date{margin-left:auto;font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.acard__new{font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.08em;color:#fff;background:var(--brand);padding:3px 7px}
.acard h3{font-size:1.08rem;font-weight:600;line-height:1.45}
.acard p{font-size:.86rem;color:var(--ink-2);line-height:1.62;flex:1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.acard__ft{display:flex;align-items:center;justify-content:space-between;padding-top:11px;border-top:1px dashed var(--line-2)}
.acard__min{font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.acard__go{font-size:.82rem;font-weight:600;color:var(--brand);transition:.2s}
.acard:hover .acard__go{color:var(--brand-d)}

/* ---------- 14 · ⑨ CTA + 页脚 ---------- */
.cta{position:relative;padding:clamp(24px,3vw,42px) clamp(28px,5vw,64px);text-align:center;overflow:hidden;background:var(--brand);color:#fff}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 100% at 82% 0,rgba(255,255,255,.14),transparent 55%);pointer-events:none}
.cta h2{position:relative;font-size:clamp(1.7rem,3.4vw,2.6rem);letter-spacing:-.03em;margin:0 auto}
.cta p{position:relative;margin:15px auto 30px;font-size:1.04rem;color:rgba(255,255,255,.88)}
.cta__btns{position:relative;display:flex;flex-wrap:wrap;gap:13px;justify-content:center}
.foot{background:var(--bg-2);border-top:1px solid var(--line);padding:clamp(48px,6vw,76px) 0 0;margin-top:calc(var(--pad)/2)}
.foot__grid{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:44px}
.foot__brand{max-width:280px;flex-shrink:0}
.foot__cols{display:flex;gap:clamp(36px,6vw,80px)}
.foot__brand p{margin-top:14px;font-size:.85rem;color:var(--ink-3);line-height:1.6;max-width:28ch}
.foot__col h4{font-family:var(--disp);font-size:.82rem;font-weight:600;margin-bottom:14px}
.foot__col a{display:block;font-size:.85rem;color:var(--ink-3);padding:5px 0;transition:.2s}
.foot__col a:hover{color:var(--brand)}
.foot__bot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
  padding:22px 0;border-top:1px solid var(--line-2);font-family:var(--mono);font-size:.72rem;color:var(--ink-3)}

/* ---------- 15 · 回顶 / reveal / 无障碍 ---------- */
/* 右侧悬浮快捷栏：分离式独立钮，hover 向左展开成「文字+图标」胶囊 */
.quickbar{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:90;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.qb{display:flex;align-items:center;height:44px;background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--sh);color:var(--ink-2);cursor:pointer;overflow:hidden;transition:.35s var(--e);text-decoration:none}
.qb__ic{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0}
.qb__l{max-width:0;opacity:0;white-space:nowrap;font-size:.8rem;font-weight:600;color:var(--ink);
  padding:0;transition:.35s var(--e)}
.qb:hover{border-color:var(--brand-line);box-shadow:var(--sh-lg);color:var(--brand)}
.qb:hover .qb__l{max-width:110px;opacity:1;padding:0 2px 0 16px}
.qb--ai{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 18px rgba(184,75,24,.3)}
.qb--ai:hover{background:var(--brand-d);border-color:var(--brand-d);color:#fff;box-shadow:0 10px 24px rgba(184,75,24,.4)}
.qb--ai .qb__l{color:#fff}
.qb--top{opacity:0;visibility:hidden;transform:translateY(6px)}
.qb--top.show{opacity:1;visibility:visible;transform:none}

/* 移动端底部导航（App 式，中央 AI 主钮突出） */
.tabbar{position:fixed;left:0;bottom:0;width:100%;z-index:95;display:none;grid-template-columns:repeat(5,1fr);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);
  background:rgba(252,250,245,.95);backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px);
  border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tb{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;
  color:var(--ink-3);font-size:.6rem;font-weight:500;text-decoration:none;background:none;border:none;min-width:0}
.tb:hover,.tb:active{color:var(--brand)}
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--e-out),transform .8s var(--e-out);transition-delay:calc(var(--i,0)*70ms)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .hero::before,.stw__card,.stw__orb-r,.stw__orb-c,.stw__on-d,.stw__mini,.stw__mini-ic,.pcard--pro::after{animation:none!important}
  .triage__needle{transition:none}
  *,*::before,*::after{animation-duration:.001ms!important}
}

/* ---------- 16 · 响应式 ---------- */
@media (max-width:1080px){
  .bento{grid-template-columns:1fr 1fr}
  .bcard--w{grid-column:span 2}
  .tools{grid-template-columns:1fr 1fr}
  .tool--wide{grid-column:1/-1}
    .goods{grid-template-columns:1fr 1fr}
}
@media (max-width:880px){
  .menu{position:fixed;inset:70px 0 auto 0;flex-direction:column;align-items:stretch;gap:2px;
    background:var(--surface);border-bottom:1px solid var(--line);padding:16px var(--gut);box-shadow:var(--sh-lg);
    transform:translateY(-130%);transition:transform .4s var(--e);max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);overflow-y:auto}
  .menu.open{transform:none}
  .menu__l{height:48px;font-size:1rem;justify-content:space-between}
  .pop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:none;display:none;padding:2px 0 6px 14px;width:auto}
  .mega{grid-template-columns:1fr 1fr}
  .nitem.open .pop{display:grid}
  .nitem.open .pop--dd{display:block}
  .arts{grid-template-columns:1fr 1fr}
  /* —— 移动端 footer：紧凑流式链接组 + 居中分层版权 —— */
  .foot__grid{flex-direction:column;gap:26px;padding-bottom:32px}
  .foot__brand{max-width:none}
  .foot__brand p{max-width:none;margin-top:12px}
  .foot__cols{flex-direction:column;gap:20px}
  .foot__col{min-width:0}
  .foot__col h4{margin-bottom:6px;font-size:.76rem;letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase}
  .foot__col a{display:inline-block;padding:3px 0;margin-right:20px;font-size:.9rem;color:var(--ink-2)}
  .foot__bot{flex-direction:column;align-items:center;text-align:center;gap:5px;font-size:.68rem;line-height:1.8;padding:18px 0 20px}
  .foot__disc{display:block;color:var(--ink-3);opacity:.85}
  .shead--bar{flex-direction:column;align-items:flex-start;gap:14px}
  .hamb{display:flex}
  .nav__login{display:none}
  /* 已登录非会员的「开通会员」在窄屏隐藏，转化交给页内横幅 */
  .nav__cta{display:none}
  .quickbar{display:none}
  .tabbar{display:grid}
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .nav__search{min-width:0;width:42px;height:42px;padding:0;justify-content:center}
  .nav__search span,.nav__search .kbd{display:none}
  .hgrid,.dash__grid,.ency2,.pricing2,.eat__grid{grid-template-columns:1fr}
  .eat__ctl{border-right:none;border-bottom:1px solid var(--line-2)}
  .ency2__media{order:-1;max-width:520px;width:100%;margin:0 auto}
  .tm__body{grid-template-columns:1fr}
  .radar{max-width:76%;margin:0 auto}
  .stw{max-width:480px;margin:0 auto;width:100%}
}
@media (max-width:560px){
  .bento,.tools,.goods,.arts{grid-template-columns:1fr}
  .telemetry{padding:18px}
  .tm__id{flex-wrap:wrap;gap:10px}
  .tm__legal{margin-left:74px;text-align:left}
  .radar{max-width:82%}
  .bcard--w{grid-column:auto}
  .panel--w{grid-column:auto}
  .hcta .btn,.cta__btns .btn{flex:1}
  .stw__minis{grid-template-columns:1fr}
  .stw__mini{opacity:1}
}
/* 触屏设备：重置 hover 位移/展开，避免点击后状态粘滞 */
@media (hover:none){
  .btn:hover,.spc:hover,.good:hover,.acard:hover,.tool:hover,.bcard:hover,.erow:hover,.gtab:hover,
  .hchip:hover,.spchip:hover,.qb:hover{transform:none}
  .qb:hover .qb__l{max-width:0;opacity:0;padding:0}
  .btn:hover .arrow{transform:none}
}

/* =============================================================
   17 · 品种详情页（breed-v3）
   信息架构对标 AKC / PetMD：速览卡 → 六维评分 → 生境配置单
   → 十章正文（粘性 TOC）→ FAQ → 近亲互见 → 开缸清单
   ============================================================= */
.bhero__grid>*,.score2>*,.habitat>*,.guide>*,.relgrid>*,.facts>*,.pcgrid>*,.sbars>*{min-width:0}

/* 面包屑 */
.crumb{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.72rem;color:var(--ink-3);margin-bottom:clamp(20px,3vw,32px)}
.crumb a{transition:.2s}
.crumb a:hover{color:var(--brand)}
.crumb i{font-style:normal;opacity:.5}
.crumb span{color:var(--brand)}

/* 速览区：hero 的 mesh 背景复用，节奏收紧 */
.bhero{padding:clamp(26px,3.6vw,48px) 0 clamp(40px,5vw,64px)}
.bhero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,64px);align-items:center}
.bhero__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.btag{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;
  color:var(--ink-2);border:1px solid var(--line);background:var(--surface);padding:5px 11px}
.btag--sp{color:var(--brand);border-color:var(--brand-line);background:var(--brand-soft)}
.btag--ok{color:var(--safe);border-color:rgba(46,158,91,.3);background:var(--safe-soft)}
.btag--ok::before{content:"✓";font-weight:600}
.bhero__name{font-size:clamp(2.3rem,5vw,3.7rem);letter-spacing:-.04em;font-weight:650;line-height:1.06}
.bhero__en{margin-top:9px;font-family:var(--mono);font-size:.86rem;color:var(--ink-3)}
.bhero__en em{font-style:italic;color:var(--ink-2)}
.bhero__sum{margin-top:18px;font-size:1.02rem;color:var(--ink-2);line-height:1.75;max-width:52ch}
.bhero__traits{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ttag{display:inline-flex;align-items:center;height:32px;padding:0 13px;font-size:.82rem;color:var(--ink-2);
  border:1px solid var(--line-2);background:var(--surface)}
.bhero .hcta{margin-top:26px}

/* 档案卡：instrument 语言（白卡 + 顶部橙条 + mono 标签行） */
.bprof{position:relative;background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--sh-lg),0 0 54px rgba(233,99,34,.11);padding:20px 22px;overflow:hidden}
.bprof::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand)}
.bprof__visual{height:170px;display:grid;place-items:center;font-size:84px;background:var(--peach-soft);
  border:1px solid var(--line-2);margin-bottom:12px}
.bprof__morph{font-family:var(--mono);font-size:.68rem;color:var(--ink-3);line-height:1.6}
.bprof__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2)}
.bprof__starter{font-family:var(--mono);font-size:.64rem;color:var(--brand);background:var(--brand-soft);
  border:1px solid var(--brand-line);padding:5px 9px;text-align:right;line-height:1.5}

/* 速览事实条：1px 网格线拼接（gap 即分隔线，任意换行列数都成立） */
.facts{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line-2);
  border:1px solid var(--line);box-shadow:var(--sh);margin-top:clamp(28px,4vw,44px)}
.fact{background:var(--surface);padding:14px 18px}
.fact i{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-style:normal;margin-bottom:6px}
.fact b{font-family:var(--disp);font-size:.98rem;font-weight:600;white-space:nowrap}

/* 六维评分：左雷达（复用 telemetry）+ 右评分条卡 */
.score2{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(20px,3vw,32px);align-items:stretch}
.sbars{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);
  padding:10px 24px;display:flex;flex-direction:column;justify-content:center}
.sbar{padding:13px 0;border-bottom:1px dashed var(--line-2)}
.sbar:last-child{border-bottom:none}
.sbar__row{display:flex;align-items:center;gap:14px}
.sbar__k{flex:0 0 76px;font-size:.88rem;font-weight:600}
.sbar__t{flex:1;height:8px;background:var(--bg-2);overflow:hidden}
.sbar__t i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--brand-bright));
  transition:width .9s var(--e-out)}
.sbar__v{flex:0 0 38px;text-align:right;font-family:var(--mono);font-size:.92rem;font-weight:600;color:var(--brand)}
.sbar p{margin-top:6px;font-size:.78rem;color:var(--ink-3);line-height:1.55;padding-left:90px}

/* 生境配置单：6 张仪表卡 */
.habitat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hab{background:var(--surface);border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:13px;transition:.4s var(--e)}
.hab:hover{transform:translateY(-3px);border-color:var(--brand-line);box-shadow:var(--sh)}
.hab__h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.hab__k{font-size:.9rem;font-weight:600;font-family:var(--disp)}
.hab__v{font-family:var(--mono);font-size:.88rem;font-weight:600;color:var(--brand);white-space:nowrap}
.hab__v em{font-style:normal;color:var(--ink-3);font-size:.7rem}
.hab__chips{display:flex;flex-wrap:wrap;gap:7px}
.htag{font-family:var(--mono);font-size:.66rem;color:var(--ink-2);border:1px solid var(--line-2);background:var(--bg);padding:4px 8px}
.hab p{font-size:.8rem;color:var(--ink-2);line-height:1.62;margin-top:auto}

/* 正文：粘性目录 + 编号章节 */
.guide{display:grid;grid-template-columns:224px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.toc{position:sticky;top:86px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);padding-top:6px}
.toc__h{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:10px 16px 8px}
.toc a{display:flex;align-items:baseline;gap:10px;padding:8px 16px;font-size:.86rem;color:var(--ink-2);
  border-left:2px solid transparent;transition:.2s}
.toc a i{font-style:normal;font-family:var(--mono);font-size:.64rem;color:var(--ink-3)}
.toc a:hover{color:var(--brand)}
.toc a.on{color:var(--brand);font-weight:600;border-left-color:var(--brand);background:var(--brand-soft)}
.toc a.on i{color:var(--brand)}
.toc__meta{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:11px 16px;border-top:1px solid var(--line-2);
  font-family:var(--mono);font-size:.64rem;color:var(--ink-3)}
.prose{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);padding:6px clamp(22px,3vw,40px)}
.chap{padding:clamp(22px,3vw,30px) 0;border-top:1px solid var(--line-2)}
.chap:first-child{border-top:none}
.chap h2{display:flex;align-items:baseline;gap:13px;font-size:clamp(1.2rem,2vw,1.42rem);letter-spacing:-.02em}
/* markdown 长文：多个 h2 在同一 .chap 内连续出现（文章页），补章节间距；
   百科页 h2 是 .chap 首子元素，:not(:first-child) 不命中，互不影响 */
.chap h2:not(:first-child){margin-top:clamp(26px,3.4vw,38px)}
.chap h2+p,.chap h3+p{margin-top:10px}
.chap h3:not(:first-child){margin-top:clamp(18px,2.4vw,26px)}
.chap h2 i{font-style:normal;font-family:var(--mono);font-size:.74rem;font-weight:600;color:var(--brand)}
.chap p{margin-top:13px;font-size:.95rem;color:var(--ink-2);line-height:1.85}
.chap p b{color:var(--ink);font-weight:600}
/* 生成文章正文的列表/引用/表格：给 .chap 补一套克制的基础排版（原先只覆盖 h2/h3/p）*/
.chap ul,.chap ol{margin:13px 0 0;padding-left:1.45em;font-size:.95rem;color:var(--ink-2);line-height:1.8}
.chap li{margin-top:6px}.chap li::marker{color:var(--brand)}
.chap blockquote{margin:16px 0 0;padding:4px 16px;border-left:2px solid var(--brand-line);color:var(--ink-3)}
.chap table{width:100%;border-collapse:collapse;margin:16px 0 0;font-size:.9rem}
.chap th,.chap td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.chap th{background:var(--bg);font-weight:600;color:var(--ink)}
/* 红线提示：与首页分诊语义一致的 danger 语言 */
.redline{margin-top:16px;border:1px solid rgba(196,65,59,.3);border-left:3px solid var(--danger);background:var(--danger-soft);padding:14px 18px}
.redline b{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--danger);margin-bottom:7px}
.redline p{margin:0;font-size:.88rem;color:var(--ink);line-height:1.7}
/* 优缺点双卡 */
.pcgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.pc{border:1px solid var(--line);padding:18px 20px}
.pc h4{font-size:.95rem;font-weight:600;margin-bottom:11px;font-family:var(--disp)}
.pc ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.pc li{position:relative;padding-left:20px;font-size:.86rem;color:var(--ink-2);line-height:1.55}
.pc li::before{position:absolute;left:0;font-family:var(--mono);font-weight:600}
.pc--pro{background:var(--safe-soft);border-color:rgba(46,158,91,.24)}
.pc--pro h4{color:var(--safe)}
.pc--pro li::before{content:"✓";color:var(--safe)}
.pc--con{background:var(--bg)}
.pc--con h4{color:var(--warn)}
.pc--con li::before{content:"!";color:var(--warn)}

/* FAQ：原生 details 手风琴（整块居中） */
.faq{max-width:820px;margin:0 auto}
.faq details{background:var(--surface);border:1px solid var(--line);transition:.25s var(--e)}
.faq details+details{margin-top:10px}
.faq details[open]{border-color:var(--brand-line);box-shadow:var(--sh)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;
  font-size:.98rem;font-weight:600;font-family:var(--disp);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:1.15rem;font-weight:500;color:var(--ink-3);transition:.25s var(--e)}
.faq details[open] summary::after{content:"−";color:var(--brand)}
.faq details div{padding:0 20px 17px}
.faq details p{font-size:.9rem;color:var(--ink-2);line-height:1.75}

/* 近亲品种卡 */
.relgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rel{background:var(--surface);border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:11px;transition:.4s var(--e)}
.rel:hover{transform:translateY(-4px);border-color:var(--brand-line);box-shadow:var(--sh)}
.rel__av{width:52px;height:52px;display:grid;place-items:center;font-size:28px;background:var(--peach-soft);border:1px solid var(--line-2)}
.rel__t b{display:block;font-family:var(--disp);font-weight:600;font-size:1.02rem}
.rel__t i{display:block;font-family:var(--mono);font-size:.66rem;color:var(--ink-3);font-style:normal;margin-top:2px}
.rel__m{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
.rel__m b{font-size:.92rem;font-weight:600;color:var(--brand)}
.rel p{font-size:.8rem;color:var(--ink-2);line-height:1.58;flex:1}

/* 品种页响应式 */
@media (max-width:1080px){
  .habitat{grid-template-columns:1fr 1fr}
  .relgrid{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:880px){
  .bhero__grid{grid-template-columns:1fr}
  .bprof{max-width:480px;width:100%;margin:0 auto}
  .score2{grid-template-columns:1fr}
  .sbars{padding:6px 18px}
  .sbar p{padding-left:0}
  /* 移动端 TOC：竖栏改为吸顶横滚锚点条（AKC 移动端 jump-to 范式） */
  .guide{grid-template-columns:1fr}
  .toc{position:sticky;top:70px;z-index:20;display:flex;overflow-x:auto;padding:0;box-shadow:var(--sh);-webkit-overflow-scrolling:touch}
  .toc__h,.toc__meta{display:none}
  .toc a{flex-shrink:0;border-left:none;border-bottom:2px solid transparent;padding:11px 14px;white-space:nowrap}
  .toc a.on{border-bottom-color:var(--brand)}
}
@media (max-width:560px){
  .facts{grid-template-columns:repeat(2,1fr)}
  .habitat,.relgrid,.pcgrid{grid-template-columns:1fr}
  .fact b{white-space:normal}
  .bhero .hcta .btn{flex:1}
  .prose{padding:2px 18px}
}
@media (hover:none){
  .hab:hover,.rel:hover{transform:none}
}

/* =============================================================
   18 · 品种图鉴列表页（breeds-v3）
   对标 AKC Breed Explorer / Petfinder 目录：
   物种 tab + 难度/排序筛选 + 实时搜索 + 对比托盘
   ============================================================= */
.bxhero__grid>*,.bxgrid>*,.bxduo>*,.bxstats>*{min-width:0}

.bxhero{padding:clamp(26px,3.6vw,48px) 0 clamp(30px,4vw,52px)}
.bxhero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,72px);align-items:center}
.bxhero__title{font-size:clamp(2.1rem,4.4vw,3.3rem);letter-spacing:-.04em;font-weight:650;line-height:1.08}
/* 大搜索框：与能不能吃工作台同语言 */
.bxsearch{display:flex;align-items:center;gap:11px;margin-top:24px;max-width:520px;
  background:var(--surface);border:1.5px solid var(--line);padding:14px 18px;box-shadow:var(--sh);transition:.3s var(--e)}
.bxsearch:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.bxsearch svg{color:var(--ink-3);flex-shrink:0}
.bxsearch input{flex:1;border:none;outline:none;background:none;font-size:1.02rem;color:var(--ink);min-width:0}
.bxsearch input::placeholder{color:var(--ink-3)}
/* 列表页搜索按钮形态（点击唤起 ⌘K 面板） */
button.bxsearch{cursor:pointer;width:100%}
button.bxsearch>span{flex:1;text-align:left;font-size:1.02rem;color:var(--ink-3)}
/* 数据口径：竖排 mono 计数 */
.bxstats{display:flex;flex-direction:column;gap:0;border-left:1px solid var(--line)}
.bxstat{display:flex;align-items:baseline;gap:6px;padding:14px 0 14px 26px}
.bxstat+.bxstat{border-top:1px dashed var(--line-2)}
.bxstat b{font-family:var(--disp);font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:700;letter-spacing:-.03em;color:var(--brand);line-height:1}
.bxstat span{font-family:var(--disp);font-size:1.2rem;font-weight:700;color:var(--brand)}
.bxstat i{font-style:normal;font-size:.82rem;color:var(--ink-2);margin-left:8px}

/* 筛选行 */
.bxbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px 28px;margin:18px 0 22px}
.bxbar__f{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bxbar__k{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:2px}
.bxbar .fchip{height:32px;padding:0 12px;font-size:.82rem}
.bxbar__n{margin-left:auto;font-family:var(--mono);font-size:.7rem;color:var(--ink-3)}

/* 品种卡 */
.bxgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bxc{position:relative;background:var(--surface);border:1px solid var(--line);padding:18px;
  display:flex;flex-direction:column;gap:10px;transition:.4s var(--e);animation:gfade .4s var(--e-out) both}
.bxc:hover{transform:translateY(-4px);border-color:var(--brand-line);box-shadow:var(--sh)}
.bxc__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.bxc__av{width:50px;height:50px;display:grid;place-items:center;font-size:27px;background:var(--peach-soft);border:1px solid var(--line-2);transition:.4s var(--e)}
.bxc:hover .bxc__av{transform:scale(1.08)}
.bxc__cmp{font-family:var(--mono);font-size:.64rem;color:var(--ink-3);border:1px solid var(--line-2);padding:5px 9px;transition:.2s;background:var(--surface)}
.bxc__cmp:hover{color:var(--brand);border-color:var(--brand-line)}
.bxc__cmp.on{color:#fff;background:var(--brand);border-color:var(--brand);font-weight:600}
.bxc__name b{display:block;font-family:var(--disp);font-weight:600;font-size:1.06rem;transition:.2s}
.bxc__name:hover b{color:var(--brand)}
.bxc__name i{display:block;font-family:var(--mono);font-size:.64rem;color:var(--ink-3);font-style:normal;margin-top:2px}
.bxc__hook{font-size:.8rem;color:var(--ink-2);line-height:1.58;flex:1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bxc__tags{display:flex;flex-wrap:wrap;gap:6px}
.bxc__tags span{font-family:var(--mono);font-size:.62rem;color:var(--ink-2);border:1px solid var(--line-2);background:var(--bg);padding:3px 7px}
.bxc__tags span.w{color:var(--warn);border-color:rgba(188,126,18,.3);background:var(--warn-soft)}
.bxc__meta{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.bxc__foot{display:flex;align-items:center;gap:9px;padding-top:11px;border-top:1px dashed var(--line-2)}
.bxc__score{font-family:var(--mono);font-size:1.05rem;font-weight:600;color:var(--brand)}
.bxc__diff{font-family:var(--mono);font-size:.62rem;padding:3px 8px}
.bxc__diff--l{color:var(--safe);background:var(--safe-soft)}
.bxc__diff--m{color:var(--warn);background:var(--warn-soft)}
.bxc__diff--h{color:var(--danger);background:var(--danger-soft)}
.bxc__go{margin-left:auto;font-size:.78rem;font-weight:600;color:var(--brand);white-space:nowrap}
/* 空态 */
.bxempty{padding:52px 20px;text-align:center;background:var(--surface);border:1px dashed var(--line)}
.bxempty b{font-family:var(--disp);font-size:1.05rem;font-weight:600}
.bxempty p{margin-top:8px;font-size:.88rem;color:var(--ink-2)}
.bxempty button{color:var(--brand);font-weight:600}
.bxmore{margin-top:22px;text-align:center;font-family:var(--mono);font-size:.7rem;color:var(--ink-3)}

/* 两条捷径 */
.bxduo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bxpath{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--line);padding:24px 26px;transition:.4s var(--e)}
.bxpath:hover{transform:translateY(-3px);border-color:var(--brand-line);box-shadow:var(--sh)}
.bxpath__ic{width:52px;height:52px;flex-shrink:0;display:grid;place-items:center;font-size:24px;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand)}
.bxpath__t{flex:1;min-width:0}
.bxpath__t b{display:block;font-family:var(--disp);font-weight:600;font-size:1.08rem}
.bxpath__t p{margin-top:5px;font-size:.84rem;color:var(--ink-2);line-height:1.6}
.bxpath__go{font-size:.84rem;font-weight:600;color:var(--brand);white-space:nowrap}

/* 对比托盘：底部居中浮层 */
.cmptray{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:96;
  display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);
  background:var(--night);color:var(--on-night);box-shadow:var(--sh-lg);padding:10px 12px 10px 18px;
  animation:trayin .35s var(--e-out)}
@keyframes trayin{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
.cmptray__k{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-night-3);white-space:nowrap}
.cmptray__list{display:flex;gap:8px;overflow-x:auto}
.cmptray__it{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:500;white-space:nowrap;
  border:1px solid var(--night-line);padding:6px 10px}
.cmptray__it button{color:var(--on-night-3);font-size:.8rem;line-height:1}
.cmptray__it button:hover{color:var(--gold)}
.cmptray__x{color:var(--on-night-3);font-size:.9rem;padding:6px}
.cmptray__x:hover{color:var(--on-night)}

/* 图鉴页响应式 */
@media (max-width:1080px){
  .bxgrid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:880px){
  .bxhero__grid{grid-template-columns:1fr}
  .bxstats{flex-direction:row;border-left:none;border-top:1px solid var(--line)}
  .bxstat{flex:1;flex-wrap:wrap;align-items:baseline;align-content:flex-start;gap:2px;padding:16px 0 0}
  .bxstat+.bxstat{border-top:none}
  .bxstat i{width:100%;margin-left:0;margin-top:6px;font-size:.76rem}
  .bxgrid{grid-template-columns:1fr 1fr}
  .bxduo{grid-template-columns:1fr}
  .bxbar__n{margin-left:0;width:100%}
  .cmptray{bottom:calc(70px + env(safe-area-inset-bottom))}
}
@media (max-width:560px){
  .bxgrid{grid-template-columns:1fr}
  .bxpath{flex-wrap:wrap}
  .cmptray{width:calc(100vw - 24px);padding:10px 12px}
  .cmptray__k{display:none}
}
@media (hover:none){
  .bxc:hover,.bxpath:hover{transform:none}
  .bxc:hover .bxc__av{transform:none}
}

/* =============================================================
   19 · AI 管家产品页（ai-v3）
   竞品范式：可切换场景的现场演示 + 三步上手 +
   「为什么不是通用 AI」对比 + 页内定价闭环
   ============================================================= */
.steps>*,.vs>*,.trust>*,.caps2>*{min-width:0}

/* 演示面板：场景 tab 行 + 假输入条（复用 stw 卡体） */
.aid__tabs{display:flex;gap:8px;padding:12px 18px;border-bottom:1px solid var(--line-2)}
.aid__chat{min-height:300px}
.aid__input{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line-2)}
/* /ai/ 守护面板下方快捷入口：看完演示直达 AI 管家 */
.aid__go{display:flex;justify-content:center;width:100%;margin-top:14px}
.aid__input span{flex:1;font-size:.84rem;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aid__input i{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;background:var(--brand);color:#fff}
/* 判定芯片（喂养答疑场景收尾） */
.aid__verdict{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--warn);
  border:1px solid rgba(188,126,18,.32);background:var(--warn-soft);padding:7px 11px;
  opacity:0;transform:translateY(8px);animation:bub .4s var(--e-out) forwards}
.aid__verdict.safe{color:var(--safe);border-color:rgba(46,158,91,.3);background:var(--safe-soft)}
/* 提醒卡（智能提醒场景收尾） */
.demo-rem{align-self:stretch;background:var(--bg);border:1px solid var(--line-2);padding:12px 15px;
  opacity:0;transform:translateY(8px);animation:bub .5s var(--e-out) forwards}
.demo-rem b{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:8px}
.demo-rem p{display:flex;align-items:center;gap:9px;font-size:.82rem;color:var(--ink);padding:6px 0}
.demo-rem p+p{border-top:1px dashed var(--line-2)}
.demo-rem p i{font-style:normal;flex-shrink:0}
.demo-rem p em{font-style:normal;font-family:var(--mono);font-size:.68rem;color:var(--ink-3);margin-left:auto;white-space:nowrap}

/* 三步上手：卡片 + mono 编号 + 箭头连接（真实时序，编号有信息量） */
.steps{display:flex;align-items:stretch;gap:14px}
.step{flex:1;background:var(--surface);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;transition:.4s var(--e)}
.step:hover{transform:translateY(-3px);border-color:var(--brand-line);box-shadow:var(--sh)}
.step i{font-style:normal;font-family:var(--mono);font-size:.74rem;font-weight:600;color:var(--brand);margin-bottom:12px}
.step h3{font-size:1.14rem;font-weight:600}
.step p{margin-top:9px;font-size:.88rem;color:var(--ink-2);line-height:1.62;flex:1}
.step__meta{margin-top:14px;padding-top:11px;border-top:1px dashed var(--line-2);
  font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.step__arr{align-self:center;font-family:var(--mono);font-size:1.1rem;color:var(--brand);flex-shrink:0}

/* 通用 AI vs 管家：居中问题气泡 + 双答案卡 */
.vsq{display:flex;justify-content:center;margin-bottom:18px}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.vsc{background:var(--surface);border:1px dashed var(--line);padding:22px 24px;display:flex;flex-direction:column;gap:13px}
.vsc__hd{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.vsc__hd span{font-family:var(--disp);font-weight:600;font-size:.95rem;color:var(--ink-2)}
.vsc__hd i{font-style:normal;font-family:var(--mono);font-size:.64rem;color:var(--ink-3)}
.vsc>p{font-size:.9rem;color:var(--ink-3);line-height:1.75;flex:1}
.vsc__ft{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:12px;border-top:1px dashed var(--line-2);
  font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
.vsc--b{border:1px solid var(--brand-line);border-left:3px solid var(--brand);box-shadow:var(--sh)}
.vsc--b .vsc__hd span{color:var(--brand)}
.vsc--b>p{color:var(--ink)}
.vsc--b>p b{color:var(--danger);font-weight:600}
.vsc__badge{display:flex;align-items:center;gap:13px;padding-top:12px;border-top:1px dashed var(--line-2)}
.vsc__badge b{font-family:var(--disp);font-size:.92rem;font-weight:650;color:var(--warn)}

/* 能力全景：erow 双列 */
.caps2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* 边界四条 */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

/* AI 页响应式 */
@media (max-width:1080px){
  .trust{grid-template-columns:1fr 1fr}
}
@media (max-width:880px){
  .steps{flex-direction:column}
  .step__arr{transform:rotate(90deg);padding:2px 0}
  .vs,.caps2{grid-template-columns:1fr}
  .aid__chat{min-height:260px}
}
@media (max-width:560px){
  .trust{grid-template-columns:1fr}
}
@media (hover:none){
  .step:hover{transform:none}
}

/* =============================================================
   20 · 能不能吃详情页（caneat-v3）
   竞品范式（PetMD / AKC "Can dogs eat X"）：答案先行 +
   喂法步骤 + 风险红线；差异化：同一食物 × 8 物种判定矩阵
   ============================================================= */
.vgrid>*,.matrix>*{min-width:0}

.vgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,64px);align-items:center}
.vanswer{margin-top:20px;font-size:1.05rem;color:var(--ink-2);line-height:1.8;max-width:54ch}
.vanswer b{color:var(--warn);font-weight:650;font-family:var(--disp)}

/* 判定卡：instrument 语言 + 判定色染色 + 环形描边入场 */
.vpanel{position:relative;background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--sh-lg);padding:20px 22px;overflow:hidden}
.vpanel::before{content:"";position:absolute;inset:0 0 auto 0;height:3px}
.vpanel[data-v="safe"]::before{background:var(--safe)}
.vpanel[data-v="warn"]::before{background:var(--warn)}
.vpanel[data-v="danger"]::before{background:var(--danger)}
.vpanel__main{display:flex;align-items:center;gap:16px;padding:14px 0 16px}
.vpanel__badge{flex-shrink:0;display:grid;place-items:center}
.vpanel[data-v="safe"] .vpanel__badge{color:var(--safe)}
.vpanel[data-v="warn"] .vpanel__badge{color:var(--warn)}
.vpanel[data-v="danger"] .vpanel__badge{color:var(--danger)}
.vpanel__ring{stroke-dasharray:163.4;stroke-dashoffset:163.4;transform:rotate(-90deg);transform-origin:center;
  animation:vring .9s var(--e-out) .3s forwards}
@keyframes vring{to{stroke-dashoffset:0}}
.vpanel__mark{opacity:0;animation:vmark .4s ease .9s forwards}
@keyframes vmark{to{opacity:1}}
.vpanel__main b{display:block;font-family:var(--disp);font-size:1.55rem;font-weight:700;letter-spacing:-.02em}
.vpanel[data-v="safe"] .vpanel__main b{color:var(--safe)}
.vpanel[data-v="warn"] .vpanel__main b{color:var(--warn)}
.vpanel[data-v="danger"] .vpanel__main b{color:var(--danger)}
.vpanel__main i{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-style:normal;margin-top:4px}
.vpanel__rules{list-style:none;border-top:1px solid var(--line-2)}
.vpanel__rules li{display:flex;align-items:baseline;gap:12px;padding:10px 0;font-size:.9rem;color:var(--ink);border-bottom:1px dashed var(--line-2)}
.vpanel__rules li:last-child{border-bottom:none}
.vpanel__rules li i{font-style:normal;font-family:var(--mono);font-size:.68rem;font-weight:600;color:var(--brand);flex-shrink:0}
.vpanel__meta{display:flex;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line-2);
  font-family:var(--mono);font-size:.62rem;color:var(--ink-3);flex-wrap:wrap}

/* 8 物种矩阵：1px 网格线拼接，判定词按色区分 */
.matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);
  border:1px solid var(--line);box-shadow:var(--sh)}
.mx{background:var(--surface);padding:18px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:.3s var(--e)}
a.mx:hover{background:var(--brand-soft)}
.mx i{font-style:normal;font-size:26px}
.mx b{font-family:var(--disp);font-weight:600;font-size:.94rem}
.mx__v{font-family:var(--mono);font-size:.66rem;font-weight:600;padding:3px 9px}
.mx__v--safe{color:var(--safe);background:var(--safe-soft)}
.mx__v--warn{color:var(--warn);background:var(--warn-soft)}
.mx__v--danger{color:var(--danger);background:var(--danger-soft)}
.mx p{font-size:.72rem;color:var(--ink-3);line-height:1.5}
.mx--cur{outline:2px solid var(--brand);outline-offset:-2px}
.mx--na{opacity:.55}
.mx--na .mx__v{color:var(--ink-3);background:var(--bg)}

/* 居中窄栏正文（词条页篇幅短，不需要 TOC） */
.prose--c{max-width:860px;margin:0 auto}
/* 食物互链 chips */
.fdrow{display:flex;flex-wrap:wrap;gap:10px}
.fdchip{display:inline-flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);
  padding:10px 14px;font-size:.86rem;font-weight:500;color:var(--ink);transition:.25s var(--e)}
.fdchip:hover{border-color:var(--brand-line);color:var(--brand);transform:translateY(-1px);box-shadow:var(--sh)}
.fdchip b{font-family:var(--mono);font-weight:500;font-size:.8rem;color:var(--ink-3);transition:.2s}
.fdchip:hover b{color:var(--brand)}

/* 词条页响应式 */
@media (max-width:880px){
  .vgrid{grid-template-columns:1fr}
  .vpanel{max-width:480px;width:100%;margin:0 auto}
}
@media (max-width:560px){
  .matrix{grid-template-columns:1fr 1fr}
}
@media (hover:none){
  .fdchip:hover{transform:none}
}

/* =============================================================
   21 · 疾病详情页（disease-v3）
   竞品范式（PetMD / VCA / Mayo「何时就医」置顶）：
   紧急度卡 + 救治黄金窗口时间线 + 症状三级 + 七段正文 + 费用参考
   ============================================================= */
.sym>*,.utl__marks>*{min-width:0}

.btag--dg{color:var(--danger);border-color:rgba(196,65,59,.32);background:var(--danger-soft)}

/* 救治时间线：四段色带随 reveal 依次展开（纯 CSS，键于 .rv.in） */
.utl{position:relative;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);padding:22px 26px 24px;overflow:hidden}
.utl::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--danger)}
.utl__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.utl__note{font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.utl__track{display:flex;height:12px;border:1px solid var(--line-2);background:var(--bg)}
.utl__seg{flex:1;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--e-out)}
.utl__seg--s{background:var(--safe)}
.utl__seg--w{background:var(--warn)}
.utl__seg--d{background:var(--danger)}
.utl__seg--x{background:repeating-linear-gradient(-45deg,var(--danger) 0 7px,rgba(36,27,18,.35) 7px 12px)}
.utl.in .utl__seg{transform:scaleX(1)}
.utl.in .utl__seg--s{transition-delay:.15s}
.utl.in .utl__seg--w{transition-delay:.4s}
.utl.in .utl__seg--d{transition-delay:.65s}
.utl.in .utl__seg--x{transition-delay:.9s}
.utl__marks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.utl__m{opacity:0;transform:translateY(8px);transition:opacity .5s var(--e-out),transform .5s var(--e-out)}
.utl.in .utl__m{opacity:1;transform:none}
.utl.in .utl__m:nth-child(1){transition-delay:.25s}
.utl.in .utl__m:nth-child(2){transition-delay:.5s}
.utl.in .utl__m:nth-child(3){transition-delay:.75s}
.utl.in .utl__m:nth-child(4){transition-delay:1s}
.utl__m i{font-style:normal;font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--ink-3)}
.utl__m:nth-child(1) i{color:var(--safe)}
.utl__m:nth-child(2) i{color:var(--warn)}
.utl__m:nth-child(3) i{color:var(--danger)}
.utl__m--x i{color:var(--danger)}
.utl__m b{display:block;font-family:var(--disp);font-weight:600;font-size:.98rem;margin-top:5px}
.utl__m--x b{color:var(--danger)}
.utl__m p{margin-top:6px;font-size:.8rem;color:var(--ink-2);line-height:1.6}
@media (prefers-reduced-motion:reduce){.utl__seg,.utl__m{transition:none}}

/* 症状三级卡：早期黄 / 进展红 / 危重深色 */
.sym{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.symc{position:relative;background:var(--surface);border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;overflow:hidden}
.symc::before{content:"";position:absolute;inset:0 0 auto 0;height:3px}
.symc--w::before{background:var(--warn)}
.symc--d::before{background:var(--danger)}
.symc--x{background:var(--night);border-color:var(--night)}
.symc--x::before{background:var(--danger)}
.symc__hd{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.symc__hd b{font-family:var(--disp);font-weight:600;font-size:1.05rem}
.symc__hd i{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.symc ul{list-style:none;flex:1}
.symc li{padding:8px 0;font-size:.88rem;color:var(--ink-2);line-height:1.55;border-bottom:1px dashed var(--line-2)}
.symc li:last-child{border-bottom:none}
.symc__act{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-2);font-size:.8rem;font-weight:600}
.symc--w .symc__act{color:var(--warn)}
.symc--d .symc__act{color:var(--danger)}
.symc--x .symc__hd b{color:var(--on-night)}
.symc--x .symc__hd i{color:var(--on-night-3)}
.symc--x li{color:var(--on-night-2);border-bottom-color:var(--night-line)}
.symc--x .symc__act{border-top-color:var(--night-line);color:var(--gold)}

/* 费用参考卡（正文内） */
.costbox{margin-top:16px;background:var(--bg);border:1px solid var(--line-2);padding:16px 20px}
.costbox>b{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-bottom:6px}
.costbox p{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:0;padding:9px 0;
  font-size:.9rem;color:var(--ink-2);line-height:1.5;border-bottom:1px dashed var(--line-2)}
.costbox p em{font-style:normal;font-family:var(--mono);font-size:.84rem;font-weight:600;color:var(--ink);text-align:right;white-space:nowrap}
.costbox>i{display:block;margin-top:10px;font-size:.74rem;color:var(--ink-3);font-style:normal;line-height:1.6}

/* 疾病页响应式 */
@media (max-width:1080px){
  .sym{grid-template-columns:1fr}
  .symc ul{flex:none}
}
@media (max-width:880px){
  .utl__marks{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .utl__marks{grid-template-columns:1fr}
  .utl{padding:18px}
  .costbox p em{white-space:normal}
}

/* =============================================================
   22 · 个人中心（me-v3）
   App 式仪表盘：问候条 + 多宠切换 + 卡片网格（档案/体重/
   提醒/花费/医疗时间线/收藏）+ 会员横幅
   ============================================================= */
.megrid>*,.mehead>*{min-width:0}

.mehead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.me__hi{font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:-.03em;font-weight:650}
.me__hi em{display:inline-block;font-style:normal;transform-origin:70% 70%;animation:wave 2.2s var(--e) .5s 1}
@keyframes wave{0%,100%{transform:rotate(0)}15%{transform:rotate(16deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(12deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(6deg)}}
.me__date{margin-top:8px;font-family:var(--mono);font-size:.74rem;color:var(--ink-3)}
.mehead__act{display:flex;gap:9px;flex-shrink:0}
.merail{display:flex;align-items:center;gap:8px;margin-top:20px;flex-wrap:wrap}
.merail .pf__tab{cursor:pointer}
.merail__note{margin-left:auto;font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
.merail__note a{color:var(--brand);font-weight:600}

/* 仪表盘卡片：6 列网格 */
.megrid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.sp2{grid-column:span 2}.sp3{grid-column:span 3}.sp4{grid-column:span 4}
.mecard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);display:flex;flex-direction:column;overflow:hidden}
.me__empty{font-size:.78rem;color:var(--ink-3);text-align:center;padding:22px 0;margin:0}
.me__empty a{color:var(--brand);font-weight:600}
/* ---- 空态全宽引导：左卖点文案 + 右示例档案（让用户先看到"建好之后的样子"） ---- */
.mewel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden}
.mewel__l{padding:clamp(34px,4.5vw,60px) clamp(26px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.mewel__tag{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.mewel__l h2{font-size:clamp(1.45rem,2.6vw,2.05rem)}
.mewel__l>p{font-size:.9rem;color:var(--ink-2);line-height:1.75;max-width:470px}
.mewel__feats{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:4px 0}
.mewel__feats li{display:flex;align-items:center;gap:11px}
.mewel__feats i{flex:none;display:grid;place-items:center;width:38px;height:38px;font-size:1.05rem;font-style:normal;background:var(--brand-soft)}
.mewel__feats b{display:block;font-size:.84rem;line-height:1.3}
.mewel__feats small{display:block;font-size:.73rem;color:var(--ink-3);line-height:1.45}
.mewel__cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.mewel__hint{font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.mewel__r{background:var(--bg-2);border-left:1px solid var(--line-2);display:grid;place-items:center;padding:clamp(26px,3.5vw,44px)}
.mewel__demo{width:min(340px,100%)}
.mewel__demo-cap{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;color:var(--ink-3);text-align:center;margin-bottom:10px}
.mewel__demo-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-lg)}
.mewel__demo-hd{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-2)}
.mewel__demo-av{flex:none;display:grid;place-items:center;width:44px;height:44px;font-size:1.35rem;background:var(--peach-soft);border:1px solid var(--line-2);border-radius:50%}
.mewel__demo-t b{display:block;font-size:.95rem;line-height:1.25}
.mewel__demo-t i{font-style:normal;font-size:.72rem;color:var(--ink-3)}
.mewel__demo-sub{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 0}
.mewel__demo-sub span{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.mewel__demo-sub b{font-family:var(--mono);font-size:.8rem;color:var(--brand)}
.mewel__demo-chart{width:100%;padding:6px 8px 4px}
.mewel__demo-rems{display:flex;flex-direction:column;border-top:1px solid var(--line-2)}
.mewel__demo-rems span{display:flex;align-items:center;gap:9px;padding:9px 16px;font-size:.76rem;color:var(--ink-2)}
.mewel__demo-rems span+span{border-top:1px solid var(--line-2)}
.mewel__demo-rems em{flex:none;width:7px;height:7px}
.mewel__demo-rems b{margin-left:auto;font-family:var(--mono);font-size:.66rem;font-weight:500;color:var(--ink-3)}
@media (max-width:880px){
  .mewel{grid-template-columns:1fr}
  .mewel__r{border-left:0;border-top:1px solid var(--line-2)}
  .mewel__feats{grid-template-columns:1fr;gap:12px}
}

/* ---- 会员子页（建档/体重/提醒/记账/医疗/收藏）---- */
.mepg{max-width:760px;margin:0 auto}
.mepg--wide{max-width:920px}
.mepg__back{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--ink-3);margin-bottom:14px;transition:.2s}
.mepg__back:hover{color:var(--brand)}
.mepg h1{font-family:var(--display);font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.02em;margin-bottom:6px}
.mepg__sub{font-size:.84rem;color:var(--ink-2);margin-bottom:22px}
.mf{display:grid;gap:18px;padding:clamp(20px,3vw,28px)}
.mf__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}
.mf__l{display:block;font-size:.78rem;font-weight:600;margin-bottom:7px}
.mf__l i{font-style:normal;font-weight:500;color:var(--ink-3);margin-left:6px;font-size:.7rem}
.mf__l em{font-style:normal;color:var(--danger);margin-left:2px}
.mf textarea.fin{height:auto;min-height:72px;padding-top:12px;resize:vertical;line-height:1.6}
.mf__more{border:1px dashed var(--line);padding:0}
.mf__more summary{cursor:pointer;list-style:none;padding:13px 16px;font-size:.8rem;font-weight:600;color:var(--brand);display:flex;justify-content:space-between;align-items:center}
.mf__more summary::after{content:"+";font-family:var(--mono);font-size:1rem}
.mf__more[open] summary::after{content:"−"}
.mf__more>div{padding:4px 16px 18px;display:grid;gap:14px}
.mf__err{display:none;background:var(--danger-soft,rgba(196,65,59,.08));border-left:3px solid var(--danger);padding:10px 14px;font-size:.8rem;color:var(--danger)}
.mf__err.on{display:block}
.mf__foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mf .sqsp button.on{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}
.mrow2{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line-2)}
.mrow2:last-child{border-bottom:none}
.mrow2__tag{flex-shrink:0;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.08em;color:var(--brand);background:var(--brand-soft);padding:3px 8px}
.mrow2__t{flex:1;min-width:0}
.mrow2__t b{display:block;font-size:.86rem}
.mrow2__t i{font-style:normal;font-size:.72rem;color:var(--ink-3)}
.mrow2__act{display:flex;gap:8px;flex-shrink:0}
.mbtn{font-size:.72rem;font-weight:600;padding:6px 12px;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:.2s;color:var(--ink-2)}
.mbtn:hover{border-color:var(--brand-line);color:var(--brand)}
.mbtn--x:hover{border-color:var(--danger);color:var(--danger)}
.mempty{padding:36px 20px;text-align:center;font-size:.82rem;color:var(--ink-3)}
@media (max-width:640px){
  .mf__grid{grid-template-columns:1fr}
  .mrow2{flex-wrap:wrap}
}
/* ---- AI 管家对话（/ai/chat/）---- */
.achat{display:flex;flex-direction:column;min-height:60vh}
.achat__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px 18px;border-bottom:1px solid var(--line-2)}
.achat__body{flex:1;overflow-y:auto;padding:20px 18px;display:flex;flex-direction:column;gap:14px;max-height:56vh}
.acmsg{max-width:78%;padding:12px 16px;font-size:.86rem;line-height:1.75}
.acmsg p{white-space:pre-wrap}
.acmsg--ai{align-self:flex-start;background:var(--wash,#F6F1E7);border:1px solid var(--line-2)}
.acmsg--me{align-self:flex-end;background:var(--brand);color:#fff}
.acmsg--wait{align-self:flex-start;color:var(--ink-3);font-family:var(--mono);font-size:.72rem;padding:8px 0}
.acmsg--note{align-self:center;max-width:100%;background:var(--bg-2);color:var(--ink-2);font-size:.72rem;padding:4px 14px;line-height:1.6}
.achat__ctx{padding:8px 18px;font-size:.72rem;color:var(--ink-2);background:var(--bg-2);border-bottom:1px dashed var(--line-2)}
.achat__ctx a{color:var(--brand);font-weight:600;white-space:nowrap}
.achat__quick{display:flex;gap:6px;overflow-x:auto;padding:10px 16px;scrollbar-width:none}
.achat__quick::-webkit-scrollbar{display:none}
.achat__quick .fchip{flex:none;height:30px;font-size:.76rem}
/* 分诊仪表卡（问诊回复前置）：复用 .triage__* 组件，容器控制 SVG+文字并排布局 */
.actri{max-width:100%;background:var(--bg-2);border:1px solid var(--line-2);padding:10px 16px}
.actri .triage{display:flex;align-items:center;gap:14px}
.actri .triage__g{flex:0 0 92px;min-width:92px}
.actri .triage__t b{font-size:.92rem}
.actri .triage__t i{font-size:.68rem}
.achat__foot{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--line-2)}
.achat__foot .fin{flex:1}
.achat__disc{padding:0 18px 14px;font-family:var(--mono);font-size:.62rem;color:var(--ink-3)}
/* AI 免责声明加重版：与"会员放量"同色同号（--brand · .84rem · 600），醒目可读，规避纠纷 */
.achat__disc--legal{font-family:inherit;font-size:.84rem;color:var(--brand);font-weight:600}
@media (max-width:640px){.acmsg{max-width:92%}}

/* ---- 法律页（page-legal：用户协议 / 隐私政策）---- */
.lhero{padding-bottom:clamp(24px,3vw,40px)}
.lhero__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:center}
.lhero__title{font-family:var(--display);font-size:clamp(2rem,4.6vw,3.2rem);letter-spacing:-.03em;line-height:1.1;margin:14px 0 12px}
.lhero__sum{font-size:clamp(.9rem,1.4vw,1rem);color:var(--ink-2);line-height:1.8;max-width:520px}
.lhero__meta{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.lhero__badge{font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.08em;padding:6px 12px;background:var(--brand);color:#fff}
.lhero__badge--soft{background:var(--brand-soft);color:var(--brand)}
.lhero__art{width:clamp(96px,12vw,150px);flex-shrink:0}
.lgl{width:100%;height:auto;display:block}
.lgl__shield,.lgl__inner,.lgl__tick{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.lgl__shield{stroke:var(--brand);stroke-width:3.5;animation:lglDraw 1s var(--e-out) .25s forwards}
.lgl__inner{stroke:var(--line);stroke-width:1.5;animation:lglDraw 1s var(--e-out) .5s forwards}
.lgl__tick{stroke:var(--brand);stroke-width:5;animation:lglDraw .55s var(--e-out) 1.15s forwards}
@keyframes lglDraw{to{stroke-dashoffset:0}}
.lpledge{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--brand);box-shadow:var(--sh)}
.lpledge .keytak__list{padding:6px 22px 18px}
/* 条款正文：编号自动着色、层级留白、有序列表 mono 序号 */
.lprose .chap h2{margin-top:clamp(30px,4vw,44px);padding-top:clamp(22px,3vw,30px);border-top:1px solid var(--line-2)}
.lprose .chap h2:first-of-type{margin-top:0;padding-top:0;border-top:none}
.lprose .chap ol{counter-reset:lcl}
.lprose .chap ol>li{list-style:none;counter-increment:lcl;position:relative;padding-left:34px;margin:10px 0}
.lprose .chap ol>li::before{content:counter(lcl,decimal-leading-zero);position:absolute;left:0;top:2px;
  font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--brand)}
.lprose .chap table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.84rem}
.lprose .chap th{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);
  text-align:left;padding:10px 14px;border-bottom:2px solid var(--line)}
.lprose .chap td{padding:11px 14px;border-bottom:1px solid var(--line-2);vertical-align:top;line-height:1.7}
.lprose .chap tr:last-child td{border-bottom:none}
.lprose .chap blockquote{border-left:3px solid var(--brand);background:var(--brand-soft);padding:12px 18px;margin:0 0 20px;
  font-family:var(--mono);font-size:.74rem;color:var(--ink-2)}
.lprose .chap blockquote p{margin:0}
@media (max-width:720px){
  .lhero__grid{grid-template-columns:1fr}
  .lhero__art{display:none}
}
@media (prefers-reduced-motion:reduce){
  .lgl__shield,.lgl__inner,.lgl__tick{animation:none;stroke-dashoffset:0}
}

/* ---- 关于 / 联系页 ---- */
.lgl__tick2{fill:none;stroke:var(--brand);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;
  stroke-linecap:round;animation:lglDraw .8s var(--e-out) .9s forwards}
@media (prefers-reduced-motion:reduce){.lgl__tick2{animation:none;stroke-dashoffset:0}}
.abtwall__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);margin-top:2px}
.abtstat{background:var(--surface);padding:clamp(20px,3vw,30px) 18px;text-align:center}
.abtstat b{display:block;font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.6rem);letter-spacing:-.03em;color:var(--brand)}
.abtstat i{font-style:normal;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase}
.ctc{text-align:left}
.ctc i{display:block;margin-bottom:8px}
.ctc__v{font-size:clamp(.94rem,1.4vw,1.1rem)!important;letter-spacing:0!important;word-break:break-all}
.ctc__v a{color:var(--brand)}
.ctc__qr{width:96px;height:96px;object-fit:cover;border:1px solid var(--line)}
@media (max-width:720px){.abtwall__grid{grid-template-columns:repeat(2,1fr)}}
.tcmp__verdict{margin-top:16px;padding:14px 18px;background:var(--brand-soft);border-left:3px solid var(--brand);
  font-size:.88rem;line-height:1.8;color:var(--ink-2)}
/* 综合评分总分头部 */
.cmp2__total{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line-2)}
.cmp2__ts{text-align:center}
.cmp2__ts--a{text-align:left}.cmp2__ts--b{text-align:right}
.cmp2__ts b{font-family:var(--display);font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.02em;color:var(--ink-3);line-height:1}
.cmp2__ts i{display:block;font-style:normal;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--ink-3);margin-top:5px}
.cmp2__ts--win b{color:var(--brand)}
.cmp2__ts--win i{color:var(--brand)}
.cmp2__ts-vs{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase}
/* 客观属性行（体型/掉毛/叫声/照护/寿命/价格/档案）*/
.tcmp__facts2{padding:6px 22px 16px}
.cmp2__fr{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-2)}
.cmp2__fr:last-child{border-bottom:none}
.cmp2__fa,.cmp2__fb{font-size:.84rem;color:var(--ink-2)}
.cmp2__fa{text-align:right}.cmp2__fb{text-align:left}
.cmp2__fa--win,.cmp2__fb--win{color:var(--brand);font-weight:600}
.cmp2__fk{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--ink-3);white-space:nowrap}
.cmp2__fr--link a{color:var(--brand);font-size:.8rem;font-weight:600}
.cmp2__fr--link a:first-child{text-align:right}
@media (max-width:560px){.cmp2__ts b{font-size:1.6rem}}

/* 好物真实数据卡：商品图 + 广告角标（合规必标） */
.good__img--photo{position:relative;overflow:hidden}
/* 好物加载骨架屏 */
.good--skel{pointer-events:none}
.good--skel .good__img{aspect-ratio:1/1;background:var(--line-2)}
.good--skel .good__b{padding:12px 14px;display:flex;flex-direction:column;gap:9px}
.skl{display:block;height:12px;background:linear-gradient(90deg,var(--line-2) 25%,var(--bg) 37%,var(--line-2) 63%);
  background-size:400% 100%;animation:sklShine 1.3s ease infinite}
.skl--l{width:90%}.skl--s{width:55%;height:9px}.skl--m{width:70%;height:16px;margin-top:4px}
@keyframes sklShine{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.skl{animation:none}}

.mecard__hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;border-bottom:1px solid var(--line-2)}
.mecard__hd span{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.mecard__hd a{font-size:.78rem;font-weight:600;color:var(--brand);white-space:nowrap}
.mecard__num{font-family:var(--mono);font-size:1.05rem;font-weight:600;color:var(--brand)}
/* 卡头右侧组合（范围选择 + 合计）与极简 select */
.mecard__hr{display:flex;align-items:center;gap:10px}
.mesel{font-family:var(--mono);font-size:.68rem;color:var(--ink-2);background:transparent;border:1px solid var(--line);padding:3px 6px;cursor:pointer;outline:none}
.mesel:hover{border-color:var(--brand-line);color:var(--ink)}
/* ---- Chart.js 容器（canvas 由 JS 挂载；svg 留作无 JS 回退） ---- */
.vizbox{position:relative;height:190px}
.vizbox--lg{height:250px}
.vizbox canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.vizbox__empty{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:.7rem;color:var(--ink-3);margin:0}
/* 花费构成：环图（中心合计）+ 图例行 */
.expviz{display:flex;align-items:center;gap:20px}
.expviz__c{position:relative;flex:none;width:132px;height:132px}
.expviz__c canvas{width:100%!important;height:100%!important}
.expviz__ct{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none}
.expviz__ct b{font-family:var(--mono);font-size:.9rem;color:var(--ink);line-height:1.2}
.expviz__ct i{font-family:var(--mono);font-style:normal;font-size:.56rem;letter-spacing:.14em;color:var(--ink-3)}
.expviz__l{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.evrow{display:flex;align-items:center;gap:8px;font-size:.8rem;line-height:1.3}
.evrow__dot{flex:none;width:8px;height:8px}
.evrow__n{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evrow b{margin-left:auto;font-family:var(--mono);font-size:.76rem;font-weight:600}
.evrow i{flex:none;font-style:normal;font-family:var(--mono);font-size:.64rem;color:var(--ink-3);min-width:32px;text-align:right}
/* AI 管家传图问：相机按钮 + 待发预览条 + 气泡内图 */
.achat__cam{flex:none;display:grid;place-items:center;width:44px;height:52px;color:var(--ink-3);border:1.5px solid var(--line);background:var(--surface);transition:.2s}
.achat__cam:hover{color:var(--brand);border-color:var(--brand-line)}
.achat__cam[disabled]{opacity:.5;cursor:default}
.achat__imgtip{display:flex;align-items:center;gap:10px;padding:8px 16px;border-top:1px dashed var(--line-2);font-size:.74rem;color:var(--ink-2)}
.achat__imgtip img{width:40px;height:40px;object-fit:cover;border:1px solid var(--line)}
.achat__imgtip button{margin-left:auto;width:22px;height:22px;border-radius:50%;background:var(--night);color:#fff;font-size:13px;line-height:22px;text-align:center}
.acmsg__img{display:block;max-width:200px;max-height:200px;object-fit:cover;border:1px solid var(--line-2);margin-bottom:6px}
/* 仪表盘晒宠圈卡：我的动态 + 收到的赞 */
.cmm{display:flex;flex-direction:column;gap:8px}
.cmm__it{display:block;padding:8px 10px;border:1px solid var(--line-2);transition:.2s}
.cmm__it:hover{border-color:var(--brand-line)}
.cmm__it b{display:block;font-size:.82rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmm__it i{font-style:normal;font-size:.7rem;color:var(--ink-3)}
.cmm__likes{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line-2)}
.cmm__lt{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.cmm__lk{font-size:.76rem;color:var(--ink-2);line-height:1.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmm__lk b{color:var(--ink);font-weight:600}
.cmm__lk i{font-style:normal;color:var(--ink-3);font-size:.68rem;margin-left:4px}
/* 首页档案演示卡 · 花费环图（与个人中心 expviz 同视觉，静态 SVG 免 Chart.js） */
.pfexp{display:flex;align-items:center;gap:16px;padding:10px 0 4px}
.pfexp__d{width:86px;height:86px;flex:none;transform:rotate(0)}
.pfexp__num{font-family:var(--mono);font-size:6.4px;font-weight:700;fill:var(--ink)}
.pfexp__cap{font-family:var(--mono);font-size:3.4px;letter-spacing:.1em;fill:var(--ink-3)}
.pfexp__l{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.pfexp__l span{display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--ink-2)}
.pfexp__l i{width:8px;height:8px;flex:none}
.pfexp__l b{margin-left:auto;font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--ink)}
.pfexp__l em{flex:none;font-style:normal;font-family:var(--mono);font-size:.64rem;color:var(--ink-3);min-width:30px;text-align:right}
/* 首页晒宠圈板块：热门+最新混排卡片网格（有图=封面卡，无图=大字文字卡） */
.hcomm{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hcomm__card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);overflow:hidden;transition:.25s var(--e)}
.hcomm__card:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.hcomm__tag{position:absolute;top:10px;left:10px;z-index:1;font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:2px 8px;background:var(--night);color:var(--on-night)}
.hcomm__tag--hot{background:var(--brand);color:#fff}
.hcomm__pic{display:block;aspect-ratio:4/3;overflow:hidden}
.hcomm__pic img{width:100%;height:100%;object-fit:cover;transition:.4s var(--e)}
.hcomm__card:hover .hcomm__pic img{transform:scale(1.04)}
.hcomm__txt{padding:12px 14px 0;font-size:.85rem;line-height:1.7;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hcomm__txt--lg{padding-top:30px;font-size:.95rem;-webkit-line-clamp:5;min-height:130px}
.hcomm__meta{display:flex;align-items:center;gap:7px;padding:10px 14px 12px;margin-top:auto;font-size:.72rem;color:var(--ink-3)}
.hcomm__av{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:var(--peach-soft);border:1px solid var(--line-2);overflow:hidden}
.hcomm__av img{width:100%;height:100%;object-fit:cover}
.hcomm__meta b{color:var(--ink-2);font-weight:600;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hcomm__meta i{font-style:normal}
.hcomm__meta em{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:.7rem;color:var(--brand)}
@media (max-width:880px){.hcomm{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.hcomm{grid-template-columns:1fr}}
/* ---- 晒宠圈（/community/）：发帖卡 + feed 流 + 点赞 ---- */
/* 双栏：主列 680 + 侧栏 300（公约/热帖榜）；窄屏隐藏侧栏（移动端大厂同款） */
.cmlayout{display:grid;grid-template-columns:minmax(0,680px) 300px;gap:24px;justify-content:center;align-items:start}
.cmaside{position:sticky;top:86px;display:flex;flex-direction:column;gap:14px}
@media (max-width:1100px){.cmlayout{grid-template-columns:minmax(0,680px)}.cmaside{display:none}}
.cmtabs{display:flex;gap:8px;margin-bottom:14px}
.cmend{display:flex;justify-content:center;padding:18px 0;font-family:var(--mono);font-size:.7rem;color:var(--ink-3)}
.cmend i{display:block;width:1px;height:1px}
.cmrule{padding-left:18px;font-size:.8rem;color:var(--ink-2);line-height:2.1;margin:0}
.cmhot__it{display:flex;gap:8px;align-items:baseline;padding:7px 0;font-size:.8rem;border-bottom:1px dashed var(--line-2);cursor:pointer}
.cmhot__it:last-child{border-bottom:0}
.cmhot__it:hover .cmhot__t{color:var(--brand)}
.cmhot__rank{flex:none;font-family:var(--mono);font-weight:700;color:var(--brand);font-size:.74rem}
.cmhot__t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2);transition:.2s}
.cmhot__n{flex:none;font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
/* 图片灯箱 */
.cmlb{position:fixed;inset:0;z-index:200;background:rgba(24,14,7,.9);display:none;align-items:center;justify-content:center}
.cmlb.on{display:flex}
.cmlb img{max-width:92vw;max-height:90vh;object-fit:contain;box-shadow:var(--sh-lg)}
.cmlb__x{position:fixed;top:16px;right:22px;font-size:32px;color:rgba(245,238,223,.8);line-height:1;transition:.2s}
.cmlb__x:hover{color:#fff}
.cmlb__nav{position:fixed;top:50%;transform:translateY(-50%);font-size:42px;color:rgba(245,238,223,.75);padding:10px 16px;transition:.2s}
.cmlb__nav:hover{color:#fff}
.cmlb__nav--l{left:8px}
.cmlb__nav--r{right:8px}
.cmwrap{max-width:680px;min-width:0;margin:0 auto}
.cmpost{padding:16px 18px;margin-bottom:18px}
.cmpost__txt{height:auto;min-height:76px;padding:10px 12px;resize:vertical;line-height:1.65}
.cmpost__imgs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.cmthumb{position:relative;width:88px;height:88px;border:1px solid var(--line)}
.cmthumb img{width:100%;height:100%;object-fit:cover;display:block}
.cmthumb__x{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:var(--night);color:#fff;font-size:12px;line-height:20px;text-align:center}
.cmadd{width:88px;height:88px;border:1.5px dashed var(--line);display:grid;place-items:center;font-size:1.4rem;color:var(--ink-3);transition:.2s}
.cmadd:hover{border-color:var(--brand);color:var(--brand)}
.cmpost__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
.cmlogin{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;margin-bottom:18px;flex-wrap:wrap}
.cmlogin p{font-size:.88rem;color:var(--ink-2)}
.cmfeed{display:flex;flex-direction:column;gap:14px}
.cmcard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh);padding:16px 18px}
.cmcard__hd{display:flex;align-items:center;gap:10px}
.cmcard__av{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:15px;background:var(--peach-soft);border:1px solid var(--line-2);overflow:hidden}
.cmcard__av img{width:100%;height:100%;object-fit:cover}
.cmcard__who{flex:1;min-width:0}
.cmcard__who b{display:block;font-size:.88rem;line-height:1.3}
.cmcard__who i{font-style:normal;font-size:.72rem;color:var(--ink-3)}
.cmcard__x{font-size:.72rem;color:var(--ink-3);transition:.2s}
.cmcard__x:hover{color:var(--danger)}
.cmcard__txt{margin-top:10px;font-size:.92rem;line-height:1.75;white-space:pre-line;word-break:break-word}
.cmcard__imgs{display:grid;gap:6px;margin-top:10px}
.cmcard__imgs--n1{grid-template-columns:minmax(0,420px)}
.cmcard__imgs--n2{grid-template-columns:1fr 1fr}
.cmcard__imgs--n3{grid-template-columns:1fr 1fr 1fr}
.cmcard__imgs a{display:block;overflow:hidden;border:1px solid var(--line-2)}
.cmcard__imgs img{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.cmcard__imgs--n1 img{aspect-ratio:auto;max-height:420px}
.cmcard__ft{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}
/* 评论区（懒加载展开）：平铺 + "回复 @昵称" */
.cmcmts{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-2)}
.cmc{display:flex;gap:8px;padding:6px 0;align-items:flex-start}
.cmc__av{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--peach-soft);border:1px solid var(--line-2);overflow:hidden}
.cmc__av img{width:100%;height:100%;object-fit:cover}
.cmc__b{flex:1;min-width:0}
.cmc__meta{font-size:.7rem;color:var(--ink-3)}
.cmc__meta b{color:var(--ink-2);font-weight:600;font-size:.76rem}
.cmc__txt{font-size:.84rem;line-height:1.6;word-break:break-word;white-space:pre-line}
.cmc__act{display:flex;gap:12px;margin-top:2px}
.cmc__act button{font-size:.68rem;color:var(--ink-3);transition:.2s}
.cmc__act button:hover{color:var(--brand)}
.cmc__replytip{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--brand);margin-top:8px}
.cmc__replytip button{font-size:.68rem;color:var(--ink-3);border:1px solid var(--line);padding:1px 8px}
.cmcin{display:flex;gap:8px;margin-top:8px}
.cmcin .fin{height:38px;font-size:.86rem;flex:1}
.cmcin .btn{--h:38px}
.cmc__empty,.cmc__login{font-size:.76rem;color:var(--ink-3);padding:4px 0;margin:0}
.cmc__login a{color:var(--brand);font-weight:600}
.cmlike{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);color:var(--ink-3);font-size:.8rem;background:var(--surface);transition:.2s}
.cmlike svg{fill:none;stroke:currentColor;stroke-width:1.5}
.cmlike:hover{border-color:var(--brand-line);color:var(--brand)}
.cmlike.on{color:var(--brand);border-color:var(--brand-line);background:var(--brand-soft)}
.cmlike.on svg{fill:var(--brand);stroke:var(--brand)}
.cmlike.pop svg{animation:likepop .35s var(--e)}
@keyframes likepop{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}
.cmlike b{font-weight:600;font-size:.76rem;font-family:var(--mono)}
.cmmore{display:flex;justify-content:center;margin-top:16px}
/* 记账明细月分组头（支付宝/微信账单式）：月份 + 该月小计 */
.mxm{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 18px;background:var(--bg-2)}
.mxm b{font-size:.78rem;font-weight:600;color:var(--ink-2)}
.mxm em{font-style:normal;font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
/* 宠物 chip 内头像小圆图（关联宠物选择 / 仪表盘切换条共用；无头像回退 emoji） */
.petav{width:20px;height:20px;border-radius:50%;object-fit:cover;flex:none}
.fchip .petav{margin-right:6px} /* fchip 无 gap，靠 margin；pf__tab 自带 gap:6px 不需要 */
/* 头像上传行（会员资料 / 宠物档案共用）；预览方块与 meid__av 同款直角 */
.avup{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.avup__pic{flex:none;display:grid;place-items:center;width:72px;height:72px;font-size:2rem;background:var(--peach-soft);border:1px solid var(--line-2);overflow:hidden}
.avup__pic img{width:100%;height:100%;object-fit:cover}
.avup__t{flex:1;min-width:200px}
.mecard__bd{padding:16px 18px;flex:1}
.mecard__ft{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 18px;border-top:1px solid var(--line-2)}
.mecard__ft span{font-family:var(--mono);font-size:.64rem;color:var(--ink-3)}
.mecard__ft span a{color:var(--brand)}
.mecard__add{font-size:.78rem;font-weight:600;color:var(--brand);white-space:nowrap}

/* 档案卡 */
.meid{display:flex;align-items:center;gap:13px}
.meid__av{width:54px;height:54px;flex-shrink:0;display:grid;place-items:center;font-size:28px;background:var(--peach-soft);border:1px solid var(--line-2);overflow:hidden}
.meid__av img{width:100%;height:100%;object-fit:cover}
.meid__t{min-width:0;flex:1}
.meid__t b{display:block;font-family:var(--disp);font-weight:650;font-size:1.15rem}
.meid__breed{display:inline-block;font-size:.8rem;color:var(--brand);font-weight:500;margin-top:2px}
.meid__breed:hover{text-decoration:underline}
.meid__t i{display:block;font-family:var(--mono);font-size:.66rem;color:var(--ink-3);font-style:normal;margin-top:3px}
.mering{display:flex;align-items:center;gap:13px;margin-top:16px;padding-top:15px;border-top:1px dashed var(--line-2)}
.mering svg{flex-shrink:0}
.mering__t b{display:block;font-size:.82rem;font-weight:600}
.mering__t a{display:block;font-family:var(--mono);font-size:.68rem;color:var(--brand);margin-top:4px}

/* 花费分类条 */
.exp{padding:9px 0;border-bottom:1px dashed var(--line-2)}
.exp:last-child{border-bottom:none}
.exp__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}
.exp__row span{font-size:.86rem;font-weight:500}
.exp__row em{font-style:normal;font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--ink)}
.exp__t{height:7px;background:var(--bg-2);overflow:hidden}
.exp__t i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--brand-bright));transition:width .8s var(--e-out)}

/* 医疗记录时间线 */
.mtl{position:relative;padding-left:18px}
.mtl::before{content:"";position:absolute;left:4px;top:8px;bottom:8px;border-left:1px dashed var(--line)}
.mtl__it{position:relative;padding:9px 0}
.mtl__it::before{content:"";position:absolute;left:-18px;top:16px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--brand)}
.mtl__it+.mtl__it{border-top:1px dashed var(--line-2)}
.mtl__hd{display:flex;align-items:center;gap:9px}
.mtl__hd i{font-style:normal;font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
.mtl__hd em{font-style:normal;font-family:var(--mono);font-size:.6rem;font-weight:600;color:var(--brand);background:var(--brand-soft);border:1px solid var(--brand-line);padding:2px 7px}
.mtl__it b{display:block;font-size:.88rem;font-weight:600;margin-top:5px}
.mtl__it p{font-size:.76rem;color:var(--ink-3);margin-top:2px}

/* 收藏竖排 chips */
.fdrow--v{flex-direction:column;align-items:stretch}
.fdrow--v .fdchip{justify-content:flex-start}
.fdrow--v .fdchip b{margin-left:auto}

/* 会员横幅（深色） */
.membanner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:16px;background:var(--night);padding:18px 24px;overflow:hidden}
.membanner::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 120% at 90% 0,rgba(217,179,108,.14),transparent 60%)}
.membanner__l{position:relative;display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-width:0}
.membanner__l b{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.membanner__l>span{font-size:.84rem;color:var(--on-night-2)}
.membanner__bar{width:110px;height:6px;background:rgba(245,238,223,.14);overflow:hidden}
.membanner__bar i{display:block;height:100%;background:var(--gold)}
.membanner__r{position:relative;display:flex;gap:9px;flex-shrink:0}

/* 个人中心响应式 */
@media (max-width:1080px){
  .megrid{grid-template-columns:repeat(2,1fr)}
  .sp2,.sp3,.sp4{grid-column:span 1}
  .mecard.sp4{grid-column:span 2}
}
@media (max-width:880px){
  .megrid{grid-template-columns:1fr}
  .mecard.sp4{grid-column:span 1}
  .merail__note{margin-left:0;width:100%}
  .membanner__r{width:100%}
  .membanner__r .btn{flex:1}
}

/* =============================================================
   23 · 决策工具站（tools-v3）
   竞品范式：AKC Breed Selector 分步向导 / Rover·PDSA 成本计算
   （加终身 TCO）/ DogTime 对比（镜像双向条形）
   ============================================================= */
.tcalc__body>*,.tcmp__pick>*,.tcalc__out>*{min-width:0}

/* 工具卡公共骨架：instrument 语言 */
.twiz,.tcalc,.tcmp{position:relative;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-lg);overflow:hidden}
.twiz::before,.tcalc::before,.tcmp::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand);z-index:1}
.twiz__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid var(--line-2)}
.twiz__step{font-family:var(--mono);font-size:.66rem;color:var(--brand)}

/* 选宠测试向导 */
.twiz__prog{height:4px;background:var(--bg-2)}
.twiz__prog i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-bright));transition:width .5s var(--e-out)}
.twiz__body{padding:26px 28px 28px}
.twiz__q{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:600;font-family:var(--disp);margin-bottom:18px;animation:pop .35s var(--e-out)}
.twiz__opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.twiz__back{margin-top:16px;font-family:var(--mono);font-size:.72rem;color:var(--ink-3);background:none;cursor:pointer}
.twiz__back:hover{color:var(--brand)}
/* 结果面板 */
.twr{animation:pop .4s var(--e-out)}
.twr__top{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.twr__av{width:64px;height:64px;flex-shrink:0;display:grid;place-items:center;font-size:34px;background:var(--peach-soft);border:1px solid var(--line-2)}
.twr__t{flex:1;min-width:0}
.twr__t i{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-style:normal}
.twr__t b{display:block;font-family:var(--disp);font-weight:650;font-size:1.4rem;margin-top:3px}
.twr__pct{font-family:var(--disp);font-size:2.2rem;font-weight:700;color:var(--brand);letter-spacing:-.03em}
.twr__pct em{font-style:normal;font-size:.9rem}
.twr__rows{margin:6px 0 18px}
.twr__row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line-2)}
.twr__row span{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;font-size:17px;background:var(--bg);border:1px solid var(--line-2)}
.twr__row b{font-size:.92rem;font-weight:600;flex:1}
.twr__row i{font-style:normal;font-family:var(--mono);font-size:.84rem;font-weight:600;color:var(--brand)}
.twr__cta{display:flex;flex-wrap:wrap;gap:10px}

/* 成本计算器 */
.tcalc__body{display:grid;grid-template-columns:1.05fr .95fr;gap:0}
.tcalc__ctl{padding:24px 28px;border-right:1px solid var(--line-2)}
.tcalc__k{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:11px}
.tcalc__out{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-2)}
.cstat{background:var(--surface);padding:20px 22px;display:flex;flex-direction:column}
.cstat i{font-style:normal;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.cstat i em{font-style:normal;color:var(--brand)}
.cstat b{font-family:var(--disp);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;letter-spacing:-.02em;margin:8px 0 6px;color:var(--ink)}
.cstat b em{font-style:normal}
.cstat p{font-size:.72rem;color:var(--ink-3);line-height:1.5;margin-top:auto}
.cstat--hl{background:var(--brand-soft)}
.cstat--hl b{color:var(--brand)}
.tcalc__ft{padding:13px 24px;border-top:1px solid var(--line-2);font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
.tcalc__ft a{color:var(--brand);font-weight:600}

/* 品种对比：选择器 + 镜像双向条形（tornado） */
.tcmp__pick{display:flex;align-items:center;gap:14px;padding:20px 24px;border-bottom:1px solid var(--line-2)}
.csel{position:relative;flex:1;display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);background:var(--surface);padding:0 12px;transition:.25s}
.csel:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.csel__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.csel__dot--a{background:var(--brand-bright)}
.csel__dot--b{background:var(--peach)}
.csel{overflow:visible}
.csel__in{flex:1;min-width:0;height:44px;border:none;outline:none;background:none;font:inherit;font-weight:600;color:var(--ink)}
.csel__in::placeholder{color:var(--ink-3);font-weight:400}
.csel__clear{border:none;background:none;color:var(--ink-3);cursor:pointer;font-size:.9rem;padding:4px;flex-shrink:0;line-height:1}
.csel__clear:hover{color:var(--brand)}
.csel__pop{position:absolute;left:-1.5px;right:-1.5px;top:calc(100% + 6px);z-index:40;max-height:340px;overflow-y:auto;
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-lg,0 12px 40px rgba(20,14,8,.16));-webkit-overflow-scrolling:touch}
.csel__grp{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
  padding:10px 14px 5px;position:sticky;top:0;background:var(--surface);z-index:1}
.csel__grp em{font-style:normal;color:var(--ink-3);opacity:.7;margin-left:2px}
.csel__opt{display:flex;align-items:center;gap:9px;padding:9px 14px;cursor:pointer;font-size:.86rem}
.csel__opt:hover,.csel__opt.on{background:var(--brand-soft)}
.csel__opt .em{font-size:1rem;flex-shrink:0}
.csel__opt b{font-weight:600}
.csel__opt i{font-style:normal;color:var(--ink-3);font-size:.74rem;margin-left:auto}
.csel__empty{padding:18px 14px;text-align:center;color:var(--ink-3);font-size:.82rem}
.tcmp__vs{font-family:var(--mono);font-size:.74rem;font-weight:600;color:var(--ink-3);flex-shrink:0}
.tcmp__body{padding:20px 28px 8px}
.cmp2__row{display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;gap:12px;padding:8px 0}
.cmp2__k{text-align:center;font-family:var(--mono);font-size:.7rem;color:var(--ink-2)}
.cmp2__cell{display:flex;align-items:center;gap:9px;min-width:0}
.cmp2__cell--a{flex-direction:row-reverse}
.cmp2__t{flex:1;height:9px;background:var(--bg-2);overflow:hidden;display:flex}
.cmp2__cell--a .cmp2__t{justify-content:flex-end}
.cmp2__t i{display:block;height:100%;width:0;transition:width .7s var(--e-out)}
.cmp2__cell--a .cmp2__t i{background:linear-gradient(270deg,var(--brand),var(--brand-bright))}
.cmp2__cell--b .cmp2__t i{background:linear-gradient(90deg,var(--peach),#EFB98C)}
.cmp2__v{font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--ink);flex-shrink:0;width:26px}
.cmp2__cell--a .cmp2__v{text-align:left}
.cmp2__cell--b .cmp2__v{text-align:right}
.tcmp__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);border-top:1px solid var(--line-2)}
.tcf{background:var(--surface);padding:14px 18px;text-align:center}
.tcf i{display:block;font-style:normal;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
.tcf p{display:flex;align-items:baseline;justify-content:center;gap:10px;font-size:.84rem;font-weight:600}
.tcf p em{font-style:normal;color:var(--ink-3);font-weight:400;font-family:var(--mono);font-size:.68rem}

/* 工具页响应式 */
@media (max-width:880px){
  .twiz__opts{grid-template-columns:1fr}
  .tcalc__body{grid-template-columns:1fr}
  .tcalc__ctl{border-right:none;border-bottom:1px solid var(--line-2)}
  .tcmp__pick{flex-wrap:wrap}
  .tcmp__vs{width:100%;text-align:center}
  .cmp2__row{grid-template-columns:1fr 60px 1fr;gap:8px}
  .tcmp__facts{grid-template-columns:1fr}
}
@media (max-width:560px){
  .tcalc__out{grid-template-columns:1fr}
  .twiz__body,.tcmp__body{padding:20px 18px}
  .twr__top{flex-wrap:wrap}
}

/* =============================================================
   24 · 养护知识文章页（guide-v3）
   竞品范式：Medium 阅读进度 / AKC·PetMD Key Takeaways；
   差异化：文章即工具——清单可勾选、进度 localStorage 持久化
   ============================================================= */

/* 阅读进度条 */
.rprog{position:fixed;top:0;left:0;right:0;height:3px;z-index:210;pointer-events:none}
.rprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--brand-bright))}

/* 文章头：居中版式 */
.crumb--c{justify-content:center}
.ahero{padding:clamp(24px,3.4vw,44px) 0 clamp(22px,3vw,36px)}
.ahero__in{max-width:840px;margin:0 auto;text-align:center}
.ahero__tags{display:flex;justify-content:center;gap:9px;margin-bottom:16px}
.ahero__title{font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.035em;font-weight:650;line-height:1.18}
.ahero__sum{margin:18px auto 0;font-size:1.04rem;color:var(--ink-2);line-height:1.75;max-width:56ch}
.ahero__meta{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:18px;
  font-family:var(--mono);font-size:.7rem;color:var(--ink-3)}
.ahero__meta i{font-style:normal;opacity:.45}

/* 关键要点卡（含总进度条） */
.keytak{position:relative;max-width:860px;margin:0 auto;background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--sh-lg);overflow:hidden}
.keytak::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand);z-index:1}
.keytak__list{list-style:none;padding:14px 24px 18px}
.keytak__list li{display:flex;align-items:baseline;gap:13px;padding:9px 0;border-bottom:1px dashed var(--line-2);
  font-size:.92rem;color:var(--ink);line-height:1.62}
.keytak__list li:last-child{border-bottom:none}
.keytak__list li i{font-style:normal;font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--brand);flex-shrink:0}

/* 天卡：编号头 + 可勾选任务 */
.daycard__hd{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}
.daycard__n{font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.08em;color:#fff;background:var(--brand);padding:4px 10px;flex-shrink:0}
.daycard__hd h2{flex:1;min-width:0}
.daycard__hd>i{font-style:normal;font-family:var(--mono);font-size:.74rem;font-weight:600;color:var(--ink-3)}
.ck{position:relative;display:flex;align-items:flex-start;gap:12px;margin-top:10px;padding:12px 15px;
  background:var(--bg);border:1px solid var(--line-2);cursor:pointer;transition:.2s}
.ck:hover{border-color:var(--brand-line)}
.ck input{position:absolute;opacity:0;pointer-events:none}
.ck i{width:20px;height:20px;flex-shrink:0;margin-top:2px;display:grid;place-items:center;
  border:1.5px solid var(--line);background:var(--surface);transition:.2s}
.ck i::after{content:"";width:10px;height:6px;margin-top:-2px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;
  transform:rotate(-45deg) scale(0);transition:transform .25s var(--e-out)}
.ck input:checked+i{background:var(--brand);border-color:var(--brand)}
.ck input:checked+i::after{transform:rotate(-45deg) scale(1)}
.ck input:focus-visible+i{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--brand)}
.ck span{font-size:.92rem;color:var(--ink);line-height:1.62;transition:.2s}
.ck input:checked~span{color:var(--ink-3);text-decoration:line-through}

/* Tip 提示框（绿色系，与红线卡成对） */
.tipbox{margin-top:14px;border:1px solid rgba(46,158,91,.28);border-left:3px solid var(--safe);background:var(--safe-soft);padding:13px 17px}
.tipbox b{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--safe);margin-bottom:6px}
.tipbox p{margin-top:0;font-size:.88rem;color:var(--ink);line-height:1.7}

@media (hover:none){
  .ck:hover{border-color:var(--line-2)}
}

/* =============================================================
   25 · 会员独立页（membership-v3）
   竞品范式（Notion / Spotify / B站大会员）：周期切换联动大价格
   + 完整权益矩阵表 + 场景话术 + 诚实保障；深色金 Hero 是会员主场
   ============================================================= */
.voices>*,.ftable__r>*{min-width:0}

/* 深色定价 Hero */
.mhero{background:var(--night);padding:clamp(48px,6vw,84px) 0 clamp(52px,6.5vw,92px);position:relative;overflow:hidden}
.mhero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(56% 64% at 78% 0,rgba(217,179,108,.13),transparent 58%),
             radial-gradient(44% 52% at 8% 100%,rgba(233,99,34,.08),transparent 58%)}
.mhero__in{position:relative;text-align:center}
.mhero .eyebrow{color:var(--gold)}
.mhero .eyebrow::before{background:linear-gradient(90deg,var(--gold),transparent)}
.mhero__title{font-size:clamp(2rem,4.4vw,3.2rem);letter-spacing:-.04em;font-weight:650;color:var(--on-night)}
.mhero__sub{margin:16px auto 0;font-size:1.02rem;color:var(--on-night-2);line-height:1.75}
.mhero__card{max-width:580px;margin:32px auto 0;background:rgba(245,238,223,.04);border:1px solid var(--night-line);padding:26px 28px}
.mhero__price{display:flex;align-items:baseline;justify-content:center;gap:8px}
.mhero__cur{font-family:var(--mono);font-size:1.4rem;font-weight:600;color:var(--gold)}
.mhero__price b{font-family:var(--disp);font-size:clamp(3rem,6.5vw,4.4rem);font-weight:700;letter-spacing:-.04em;color:var(--on-night);line-height:1}
.mhero__per{font-family:var(--mono);font-size:.86rem;color:var(--on-night-3)}
.mhero__day{margin-top:10px;font-family:var(--mono);font-size:.78rem;color:var(--on-night-2)}
.mhero__day b{color:var(--gold);font-weight:600}
.mhero__card .btn--gold{width:100%;margin-top:20px}
.mhero__honest{margin-top:14px;font-family:var(--mono);font-size:.66rem;color:var(--on-night-3)}

/* 权益矩阵表：1px 网格线拼接，会员列香槟底 */
.ftable{display:grid;gap:1px;background:var(--line-2);border:1px solid var(--line);box-shadow:var(--sh)}
.ftable__h,.ftable__r{display:grid;grid-template-columns:1.8fr 1fr 1.2fr;gap:1px;background:inherit}
.ftable__h>span,.ftable__r>span{background:var(--surface);padding:13px 18px;display:flex;align-items:center}
.ftable__h>span{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ftable__r>span{font-size:.9rem;color:var(--ink)}
.ftable__r>span:nth-child(2),.ftable__r>span:nth-child(3),
.ftable__h>span:nth-child(2),.ftable__h>span:nth-child(3){justify-content:center;text-align:center}
.ftable__r>span:nth-child(2){color:var(--ink-2);font-size:.86rem}
.ftable__pro{background:var(--gold-soft)!important}
/* 三档权益矩阵（免费/标准/Pro）：四列变体 */
.ftable--tiers .ftable__h,.ftable--tiers .ftable__r{grid-template-columns:1.8fr .9fr 1fr 1.1fr}
.ftable--tiers .ftable__r>span:nth-child(4),.ftable--tiers .ftable__h>span:nth-child(4){justify-content:center;text-align:center}
.ftable--tiers .ftable__r>span:nth-child(3){justify-content:center;text-align:center;font-size:.86rem}
/* 两级会员定价卡（深色 hero 内）：月/年切换 + 标准/Pro 双卡 */
.mhero__card--tiers{max-width:820px}
.billsw{grid-template-columns:repeat(2,1fr);max-width:360px;margin:0 auto 22px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left}
.tier__feats{list-style:none;display:flex;flex-direction:column;gap:7px;margin:2px 0 14px;padding:0}
.tier__feats li{position:relative;padding-left:20px;font-size:.8rem;color:var(--on-night-2);line-height:1.5}
.tier__feats li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}
.tier__feats b{color:var(--on-night)}
.tier{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px;border:1px solid var(--night-line);background:rgba(245,238,223,.03)}
.tier--pro{border-color:var(--gold);background:var(--gold-soft)}
.tier__tag{position:absolute;top:-1px;right:-1px;background:var(--gold);color:#231A08;font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.1em;padding:3px 10px}
.tier__name{font-family:var(--disp);font-size:1.08rem;font-weight:600;color:var(--on-night)}
.tier__ai{font-size:.78rem;color:var(--gold)}
.tier__price{margin:8px 0 6px;color:var(--on-night)}
.tier__price s{color:var(--on-night-3);font-size:.88rem;margin-right:8px}
.tier__price b{font-family:var(--disp);font-size:2.1rem;letter-spacing:-.02em}
.tier__price i{font-style:normal;color:var(--on-night-2);font-size:.84rem;margin-left:2px}
.tier__price em{display:block;font-style:normal;font-family:var(--mono);font-size:.68rem;color:var(--on-night-3);margin-top:4px}
.tier .btn{margin-top:auto;justify-content:center}
@media (max-width:960px){.tiers{grid-template-columns:1fr}}
/* 结算页档位卡：先选档（含权益差异），卡内选周期 */
.cotiers{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cotier{border:1.5px solid var(--line);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.cotier--pro{border-color:var(--gold);background:var(--gold-soft)}
.cotier__hd b{display:block;font-size:.95rem}
.cotier__hd i{font-style:normal;font-size:.74rem;color:var(--ink-3)}
.cotier__opts{display:flex;gap:8px;flex-wrap:wrap}
.cotier__opts .fchip s{color:var(--ink-3);font-size:.85em;margin-right:3px}
@media (max-width:720px){.cotiers{grid-template-columns:1fr}}
.ftable__h .ftable__pro{color:var(--warn);font-weight:700}
.ftable__r .ftable__pro{font-weight:600}
.ftable__r .ftable__pro b{color:var(--ink);font-weight:650}
.ftable__r .ftable__pro i{font-style:normal;font-family:var(--mono);font-weight:600;color:var(--warn)}
.ftable__r .ok{color:var(--safe);font-weight:600}
.ftable__r .no{color:var(--ink-3)}
.ftable__g{grid-column:1/-1;background:var(--bg-2);padding:9px 18px;
  font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.ftable__note{margin-top:16px;text-align:center;font-family:var(--mono);font-size:.72rem;color:var(--brand)}

/* 场景话术卡 */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.voice{position:relative;margin:0;background:var(--surface);border:1px solid var(--line);padding:26px 24px 22px;transition:.4s var(--e)}
.voice:hover{transform:translateY(-3px);border-color:var(--brand-line);box-shadow:var(--sh)}
.voice::before{content:"\201C";position:absolute;top:6px;left:16px;font-family:var(--disp);font-size:3.4rem;line-height:1;color:var(--brand);opacity:.18}
.voice p{position:relative;font-size:.94rem;color:var(--ink);line-height:1.75}
.voice figcaption{display:flex;align-items:center;gap:11px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-2)}
.voice__av{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;font-size:19px;background:var(--peach-soft);border:1px solid var(--line-2)}
.voice figcaption b{display:block;font-family:var(--disp);font-weight:600;font-size:.9rem}
.voice figcaption i{display:block;font-style:normal;font-family:var(--mono);font-size:.64rem;color:var(--ink-3);margin-top:2px}

/* 会员页响应式 */
@media (max-width:880px){
  .voices{grid-template-columns:1fr}
  .ftable__h,.ftable__r{grid-template-columns:1.5fr .9fr 1.1fr}
  .ftable__h>span,.ftable__r>span{padding:11px 12px}
  .ftable__r>span{font-size:.82rem}
}
@media (max-width:560px){
  .ftable__h,.ftable__r{grid-template-columns:1.4fr .8fr 1fr}
  .ftable__r>span{font-size:.76rem;padding:10px 9px}
  .mhero__card{padding:20px 16px}
}
@media (hover:none){
  .voice:hover{transform:none}
}

/* =============================================================
   26 · 登录注册页（auth-v3）
   竞品范式（Linear / Stripe 分屏极简 + 国内验证码合一登录）：
   左品牌深色面板 + 右表单卡；登录注册一页两用
   ============================================================= */
.auth{display:grid;grid-template-columns:1fr 1.1fr;min-height:100vh;min-height:100dvh}
/* 品牌面板 */
.auth__brand{position:relative;background:var(--night);display:flex;flex-direction:column;
  padding:clamp(24px,3vw,40px) clamp(24px,4vw,56px);overflow:hidden}
.auth__brand::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(58% 62% at 82% 4%,rgba(217,179,108,.13),transparent 58%),
             radial-gradient(48% 56% at 6% 96%,rgba(233,99,34,.1),transparent 58%)}
.auth__brand>*{position:relative}
.auth__bn{color:var(--on-night)}
.auth__bd{color:var(--on-night-3)}
.auth__mid{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:400px}
.auth__orb{width:44px;height:44px;color:var(--gold);margin-bottom:22px}
.auth__slogan{font-size:clamp(1.7rem,2.8vw,2.4rem);letter-spacing:-.03em;font-weight:650;line-height:1.2;color:var(--on-night)}
.auth__feats{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:12px}
.auth__feats li{display:flex;align-items:baseline;gap:11px;font-size:.9rem;color:var(--on-night-2);line-height:1.6}
.auth__feats li i{font-style:normal;font-family:var(--mono);font-size:.78rem;font-weight:600;color:var(--gold);flex-shrink:0}
/* 迷你档案卡：全站叙事的回声 */
.auth__mini{display:flex;align-items:center;gap:12px;margin-top:30px;
  background:rgba(245,238,223,.05);border:1px solid var(--night-line);padding:13px 16px}
.auth__mini-av{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;font-size:19px;
  background:var(--peach-soft);border:1px solid var(--night-line)}
.auth__mini b{display:block;font-family:var(--disp);font-weight:600;font-size:.88rem;color:var(--on-night)}
.auth__mini i{display:block;font-style:normal;font-family:var(--mono);font-size:.64rem;color:var(--on-night-3);margin-top:3px}
.auth__mini-dot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--safe);
  box-shadow:0 0 0 0 rgba(46,158,91,.5);animation:onpulse 2s ease infinite}
.auth__copy{font-family:var(--mono);font-size:.64rem;color:var(--on-night-3)}
/* 表单面板 */
.auth__panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:clamp(56px,7vw,80px) var(--gut)}
.auth__back{position:absolute;top:22px;right:clamp(20px,3vw,36px);font-size:.86rem;font-weight:500;color:var(--ink-2);transition:.2s}
.auth__back:hover{color:var(--brand)}
.auth__card{width:min(420px,100%)}
.auth__title{font-size:clamp(1.7rem,3vw,2.2rem);letter-spacing:-.03em;font-weight:650}
.auth__sub{margin-top:10px;font-size:.92rem;color:var(--ink-2);line-height:1.6}
.auth__wx{width:100%;margin-top:24px;gap:10px}
.auth__or{display:flex;align-items:center;gap:14px;margin:20px 0;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;color:var(--ink-3)}
.auth__or::before,.auth__or::after{content:"";flex:1;border-top:1px solid var(--line-2)}
.auth__field{position:relative;display:flex;align-items:center;gap:10px}
.auth__field+.auth__field{margin-top:12px}
.auth__pre{position:absolute;left:16px;font-family:var(--mono);font-size:.92rem;font-weight:600;color:var(--ink-2);pointer-events:none}
.fin{flex:1;width:100%;height:52px;padding:0 16px;background:var(--surface);border:1.5px solid var(--line);
  font-size:1rem;color:var(--ink);outline:none;transition:.25s;min-width:0}
.auth__field .auth__pre+.fin{padding-left:58px}
.fin:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.fin::placeholder{color:var(--ink-3)}
.fin.err{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}
/* 混合日期输入：文本框可直敲，右侧按钮唤起原生日期面板（隐藏 date input 只做锚点） */
.finw{position:relative;display:flex}
.finw .fin{padding-right:48px}
.finw__btn{position:absolute;top:1.5px;right:1.5px;bottom:1.5px;width:44px;display:grid;place-items:center;color:var(--ink-3);transition:color .15s var(--e)}
.finw__btn:hover{color:var(--brand)}
.finw__btn svg{fill:none;stroke:currentColor;stroke-width:1.5}
.finw__native{position:absolute;right:10px;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}
.auth__send{--h:52px;flex-shrink:0;padding:0 18px;white-space:nowrap}
.auth__send[disabled]{opacity:.55;cursor:default;transform:none!important;box-shadow:none!important}
.auth__err{margin-top:10px;font-size:.8rem;color:var(--danger)}
.auth__submit{width:100%;margin-top:16px}
.auth__agree{margin-top:16px;background:none;border:none;padding:6px 0;gap:10px}
/* 支付页协议同意：段落式（非卡片），勾选后不划掉条款（含 AI 免责重点，需保持可读） */
.co__agree{background:none;border:none;padding:6px 0;margin:2px 0 12px;gap:10px}
.co__agree span{font-size:.76rem;color:var(--ink-2);line-height:1.65}
.co__agree input:checked~span{text-decoration:none;color:var(--ink-2)}
.co__agree b{color:var(--danger);font-weight:600}
.auth__agree:hover{border:none}
.auth__agree i{width:18px;height:18px;margin-top:2px}
.auth__agree span{font-size:.8rem;color:var(--ink-2)}
.auth__agree a{color:var(--brand);font-weight:500}
.auth__note{margin-top:22px;padding-top:18px;border-top:1px dashed var(--line-2);
  font-size:.8rem;color:var(--ink-3);text-align:center}
.auth__note a{color:var(--brand);font-weight:600}

/* =============================================================
   27 · 知识库列表（guides-v3）+ 错误页（404/50x）
   竞品范式（The Wildest / AKC 内容中心）：有状态编辑推荐大卡 +
   物种/主题双维筛选 + 实时搜索
   ============================================================= */
.gfeat>*{min-width:0}
.gfeat{position:relative;display:grid;grid-template-columns:1.15fr .85fr;background:var(--surface);
  border:1px solid var(--line);box-shadow:var(--sh-lg);overflow:hidden}
.gfeat::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand);z-index:1}
.gfeat__c{padding:clamp(24px,3.4vw,40px)}
.gfeat__t{font-size:clamp(1.35rem,2.6vw,1.9rem);letter-spacing:-.03em;line-height:1.3}
.gfeat__t a{transition:.2s}
.gfeat__t a:hover{color:var(--brand)}
.gfeat__d{margin-top:13px;font-size:.95rem;color:var(--ink-2);line-height:1.72;max-width:52ch}
.gfeat__vis{position:relative;display:grid;place-items:center;min-height:280px;
  background:var(--peach-soft);border-left:1px solid var(--line-2)}
.gfeat__vis>span{font-size:100px}
.gfeat__prog{position:absolute;left:22px;right:22px;bottom:18px;background:var(--surface);
  border:1px solid var(--line);box-shadow:var(--sh);padding:13px 16px}
.gfeat__prog p{margin-top:8px;font-family:var(--mono);font-size:.7rem;color:var(--ink-2)}
.gfeat__prog p b{color:var(--brand)}

/* 错误页：极简居中 */
.errwrap{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:40px var(--gut);text-align:center}
.err__brand{justify-content:center;margin-bottom:clamp(28px,4vw,44px)}
.err__code{font-family:var(--disp);font-size:clamp(4.6rem,15vw,8.5rem);font-weight:700;letter-spacing:-.05em;
  line-height:1;color:var(--brand)}
.err__code em{font-style:normal;font-size:.62em;display:inline-block;margin:0 .04em;
  animation:errbob 2.6s ease-in-out infinite}
@keyframes errbob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-6deg)}}
.err h1{margin-top:18px;font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:650;letter-spacing:-.02em}
.err__sub{margin-top:12px;font-size:.95rem;color:var(--ink-2);line-height:1.75}
.err__cta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.err__links{justify-content:center;margin-top:22px}
.err__meta{margin-top:clamp(28px,4vw,40px);font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.err__meta a{color:var(--brand)}
@media (prefers-reduced-motion:reduce){.err__code em{animation:none}}

@media (max-width:880px){
  .gfeat{grid-template-columns:1fr}
  .gfeat__vis{min-height:210px;border-left:none;border-top:1px solid var(--line-2)}
  .gfeat__vis>span{font-size:64px;margin-bottom:52px}
}
@media (max-width:560px){
  .err__cta .btn{flex:1}
}

/* =============================================================
   31 · SSR 通用：分页按钮组（分类页 /page/N）
   ============================================================= */
.pgn{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:clamp(26px,3.4vw,40px)}
.pgn__b{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;
  font-family:var(--mono);font-size:.86rem;font-weight:600;color:var(--ink-2);
  background:var(--surface);border:1px solid var(--line);transition:.2s}
a.pgn__b:hover{border-color:var(--brand);color:var(--brand)}
.pgn__b--on{background:var(--brand);border-color:var(--brand);color:#fff}
.pgn__b--off{color:var(--ink-3);background:var(--bg);cursor:default}

/* =============================================================
   30 · 食物库列表（caneatlist-v3）
   独创形态：可切换物种视角的红绿灯库——切物种全库变色 +
   当前物种剧毒黑名单置顶联动
   ============================================================= */
.fgrid>*{min-width:0}

/* 剧毒黑名单条 */
.fxlist{border:1px solid rgba(196,65,59,.3);border-left:3px solid var(--danger);background:var(--danger-soft);
  padding:15px 20px;margin:6px 0 18px}
.fxlist>b{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:var(--danger);margin-bottom:11px}
.fdchip--x{border-color:rgba(196,65,59,.32);background:var(--surface);color:var(--danger);font-weight:600}
.fdchip--x:hover{border-color:var(--danger);color:var(--danger)}
.fdchip--x b{color:rgba(196,65,59,.6)}
.fxlist .fdchip{background:var(--surface)}
.fxlist__none{font-size:.86rem;color:var(--ink-2)}

/* 食物小卡网格 */
.fgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.fcell{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;
  background:var(--surface);border:1px solid var(--line);padding:16px 10px 13px;
  transition:.3s var(--e);animation:gfade .3s var(--e-out) both}
a.fcell:hover{transform:translateY(-3px);border-color:var(--brand-line);box-shadow:var(--sh)}
.fcell i{font-style:normal;font-size:26px}
.fcell b{font-size:.86rem;font-weight:600;font-family:var(--disp);line-height:1.3}
.fcell .mx__v{margin-top:2px}
.fcell--na{opacity:.5}
.fcell--na .mx__v{color:var(--ink-3);background:var(--bg)}
.mx__v--x{color:#fff;background:var(--danger)}

@media (max-width:1080px){.fgrid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:880px){.fgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.fgrid{grid-template-columns:repeat(2,1fr)}}
@media (hover:none){a.fcell:hover{transform:none}}

/* =============================================================
   29 · 疾病库列表（diseases-v3）
   竞品范式（PetMD Conditions Hub）：头号急症速查置顶 +
   物种/系统双维筛选 + 严重度三色行卡
   ============================================================= */
/* 头号急症卡：rel 卡的 danger 变体；--4 固定四列（随断点降列） */
.relgrid--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1080px){.relgrid--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.relgrid--4{grid-template-columns:1fr}}
.rel--dg{position:relative;overflow:hidden}
.rel--dg::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--danger)}
.rel--dg .rel__t b{color:var(--danger)}
/* 严重度图例 */
.dlegend{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:16px;
  font-family:var(--mono);font-size:.7rem;color:var(--ink-2)}
.dlegend span{display:inline-flex;align-items:center;gap:8px}
/* 词条行卡（A-Z 库的高密度形态） */
.drows{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.drows>*{min-width:0}
.drow{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);
  padding:14px 18px;transition:.3s var(--e);animation:gfade .35s var(--e-out) both}
.drow:hover{border-color:var(--brand-line);box-shadow:var(--sh);transform:translateX(3px)}
.drow .sm__dot{flex-shrink:0}
.drow__t{flex:1;min-width:0}
.drow__t b{display:flex;align-items:baseline;gap:9px;font-family:var(--disp);font-weight:600;font-size:.98rem}
.drow__t b em{font-style:normal;font-size:.86rem;letter-spacing:.04em}
.drow__t p{margin-top:3px;font-size:.78rem;color:var(--ink-2);line-height:1.5;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drow__sys{flex-shrink:0;font-family:var(--mono);font-size:.62rem;color:var(--ink-3);
  border:1px solid var(--line-2);background:var(--bg);padding:3px 8px;white-space:nowrap}
.drow__go{flex-shrink:0;color:var(--brand);font-weight:600}
@media (max-width:880px){
  .drows{grid-template-columns:1fr}
}
@media (hover:none){
  .drow:hover{transform:none}
}

/* =============================================================
   28 · 症状自查（symptom-v3）
   竞品范式（PetMD / WebMD Symptom Checker）：急诊红线前置 +
   分步分诊向导，阈值按物种区分，保守分级
   ============================================================= */
.sqsp>*,.sqr__rel>*{min-width:0}

.redbar{border:1px solid rgba(196,65,59,.3);border-left:3px solid var(--danger);background:var(--danger-soft);
  padding:15px 20px;margin-top:clamp(20px,3vw,30px)}
.redbar b{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--danger);margin-bottom:7px}
.redbar p{font-size:.92rem;color:var(--ink);line-height:1.75}

/* 物种大格 */
.sqsp{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sqsp button{display:flex;flex-direction:column;align-items:center;gap:9px;padding:18px 8px;
  border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:.9rem;color:var(--ink);
  transition:.25s var(--e)}
.sqsp button i{font-style:normal;font-size:27px}
.sqsp button:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px);box-shadow:var(--sh)}

/* 结果面板 */
.sqr{animation:pop .4s var(--e-out)}
.sqr__top{display:flex;align-items:center;gap:clamp(16px,3vw,30px);padding-bottom:18px;border-bottom:1px solid var(--line-2)}
.sqr__g{flex:0 0 clamp(120px,16vw,168px)}
.sqr__t{flex:1;min-width:0}
.sqr__t i{display:block;font-style:normal;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.sqr__t b{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.8rem);letter-spacing:-.02em;margin-top:5px}
.sqr[data-lv="safe"] .sqr__t b{color:var(--safe)}
.sqr[data-lv="warn"] .sqr__t b{color:var(--warn)}
.sqr[data-lv="danger"] .sqr__t b{color:var(--danger)}
.sqr__t p{margin-top:8px;font-size:.92rem;color:var(--ink-2);line-height:1.68}
.sqr__advice{list-style:none;margin:16px 0}
.sqr__advice li{display:flex;align-items:baseline;gap:11px;padding:9px 0;border-bottom:1px dashed var(--line-2);
  font-size:.92rem;color:var(--ink);line-height:1.6}
.sqr__advice li:last-child{border-bottom:none}
.sqr__advice li i{font-style:normal;font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--brand);flex-shrink:0}
.sqr__rel{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 20px}
.sqr__cta{display:flex;flex-wrap:wrap;gap:10px}
.sqr__meta{margin-top:16px;font-family:var(--mono);font-size:.64rem;color:var(--ink-3)}

@media (max-width:880px){
  .sqsp{grid-template-columns:repeat(2,1fr)}
  .sqr__top{flex-wrap:wrap}
}
@media (hover:none){
  .sqsp button:hover{transform:none}
}

/* 登录页响应式：品牌面板收成顶部横条 */
@media (max-width:880px){
  .auth{grid-template-columns:1fr}
  .auth__brand{padding:18px var(--gut)}
  .auth__mid{flex-direction:row;align-items:center;gap:14px;max-width:none;margin-top:14px}
  .auth__orb{width:34px;height:34px;margin-bottom:0;flex-shrink:0}
  .auth__slogan{font-size:1.15rem;line-height:1.35}
  .auth__slogan br{display:none}
  .auth__feats,.auth__mini,.auth__copy{display:none}
  .auth__panel{align-items:start;padding-top:40px}
  .auth__back{top:auto;bottom:18px;right:auto;left:50%;transform:translateX(-50%)}
}

/* ---------- 开通成功祝贺层（支付 / 卡密共用） ---------- */
.cgmask{position:fixed;inset:0;z-index:200;background:rgba(36,27,18,.55);display:flex;align-items:center;justify-content:center;padding:20px;animation:cgin .25s ease}
@keyframes cgin{from{opacity:0}to{opacity:1}}
.cg{background:var(--surface);max-width:420px;width:100%;padding:34px 30px 24px;text-align:center;border:1.5px solid var(--line);animation:cgup .3s ease}
@keyframes cgup{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
.cg__emoji{font-size:44px;display:block;margin-bottom:10px}
.cg__t{font-family:var(--disp);font-size:1.3rem;margin-bottom:6px}
.cg--pro .cg__t{color:var(--gold)}
.cg__sub{font-size:.8rem;color:var(--ink-2);margin-bottom:4px}
.cg__list{list-style:none;text-align:left;margin:12px auto 20px;max-width:280px;display:flex;flex-direction:column;gap:8px}
.cg__list li{font-size:.86rem;padding-left:24px;position:relative}
.cg__list li::before{content:'✓';position:absolute;left:0;color:var(--brand);font-weight:700}
.cg--pro .cg__list li::before{color:var(--gold)}
.cg__go{width:100%;justify-content:center}
.cg__cd{margin-top:12px;font-size:.72rem;color:var(--ink-3)}
