/* ==========================================================================
   熵一 · 产品使用手册
   与官网共用一套品牌令牌：brand #15803D / deep #166534 / cream #FAF7F4
   ========================================================================== */

:root{
  --cream:#FAF7F4;
  --cream-2:#F5F1EC;
  --ink:#2B2622;
  --ink-2:#7E6E63;
  --ink-3:#A79A8E;
  --line:#E8DFD6;
  --line-2:#F1EAE3;

  --deep:#166534;
  --brand:#15803D;
  --soft:#16A34A;
  --mint:#E3F4EA;
  --mint-2:#F1FAF4;

  --amber:#C77005;
  --amber-soft:#FBF0DC;
  --red:#D92D20;
  --red-soft:#FEF3F2;
  --yellow:#C79305;

  --r-lg:22px;
  --r-md:16px;
  --r-sm:11px;

  --shadow-sm:0 6px 24px -14px rgba(43,38,34,.20);
  --shadow-md:0 24px 50px -30px rgba(43,38,34,.30);

  --ease:cubic-bezier(.22,1,.36,1);
  --sans:"PingFang SC","HarmonyOS Sans SC","Hiragino Sans GB","Microsoft YaHei",
         "Source Han Sans SC","Noto Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Consolas,"Courier New",monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.8;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
svg{display:block;max-width:100%}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
::selection{background:var(--mint);color:var(--deep)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:42px;padding:0 18px;border-radius:999px;
  font-size:13.5px;font-weight:650;white-space:nowrap;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),
             background .25s ease,border-color .25s ease;
}
.btn svg{width:17px;height:17px}
.btn--sm{height:40px;padding:0 16px;font-size:13px}
.btn--primary{background:var(--brand);color:#fff;box-shadow:0 12px 26px -14px rgba(21,128,61,.7)}
.btn--primary:hover{background:var(--deep);transform:translateY(-1px)}
.btn--ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:#cfc3b6;transform:translateY(-1px);box-shadow:var(--shadow-sm)}

/* ---------- 顶栏 ---------- */
.topbar{
  position:fixed;inset:0 0 auto;z-index:40;
  background:rgba(250,247,244,.88);
  backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid rgba(43,38,34,.07);
}
.topbar__in{
  max-width:1160px;margin:0 auto;height:64px;padding:0 24px;
  display:flex;align-items:center;gap:16px;
}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand__mark{width:32px;height:32px;display:block;object-fit:contain}
.brand__text{display:flex;align-items:baseline;gap:6px;font-size:16px;font-weight:750;letter-spacing:.02em}
.brand__text em{font-style:normal;font-size:11.5px;font-weight:500;color:var(--ink-2)}
.topbar__tag{
  font-size:12px;font-weight:600;letter-spacing:.06em;
  color:var(--deep);background:var(--mint);
  padding:4px 11px;border-radius:999px;
}
.topbar__actions{margin-left:auto;display:flex;gap:10px}
.toc-toggle{
  display:none;flex-direction:column;gap:4px;justify-content:center;
  width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:#fff;
}
.toc-toggle span{display:block;height:1.8px;width:16px;margin:0 auto;background:var(--ink);border-radius:2px}

/* ---------- 布局 ---------- */
.shell{
  max-width:1160px;margin:0 auto;padding:88px 24px 40px;
  display:grid;grid-template-columns:212px minmax(0,1fr);gap:44px;
  align-items:start;
}

/* ---------- 目录 ---------- */
.toc{position:sticky;top:88px}
.toc__label{
  font-size:11px;font-weight:700;letter-spacing:.16em;
  color:var(--ink-3);text-transform:uppercase;margin-bottom:14px;
}
.toc__list{display:flex;flex-direction:column;gap:1px}
.toc__list a{
  position:relative;display:block;
  padding:8px 12px;border-radius:9px;
  font-size:13.5px;color:var(--ink-2);
  transition:color .22s ease,background .22s ease;
}
.toc__list a::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:2px;height:0;border-radius:2px;background:var(--brand);
  transition:height .28s var(--ease);
}
.toc__list a:hover{color:var(--ink);background:rgba(43,38,34,.04)}
.toc__list a.is-active{
  color:var(--deep);font-weight:650;background:var(--mint-2);
}
.toc__list a.is-active::before{height:18px}
.toc__foot{
  margin-top:22px;padding-top:16px;border-top:1px solid var(--line);
  font-size:11.5px;color:var(--ink-3);line-height:1.8;
}
.toc__foot b{color:var(--ink-2);font-weight:650}
.toc__back{display:none}

/* ---------- 正文容器 ---------- */
.doc{min-width:0;max-width:840px}
.ch{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:38px 40px 42px;
  margin-bottom:22px;
  box-shadow:var(--shadow-sm);
}

/* 标题 */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:.16em;
  color:var(--brand);text-transform:uppercase;
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px rgba(21,128,61,.12)}
h1{font-size:clamp(34px,4.4vw,52px);line-height:1.14;font-weight:800;letter-spacing:-.02em;margin:16px 0 0}
h2{font-size:26px;line-height:1.3;font-weight:800;letter-spacing:-.01em}
h3.sub{
  font-size:16px;font-weight:750;margin:34px 0 12px;
  display:flex;align-items:center;gap:9px;
}
h3.sub::before{
  content:"";width:3px;height:15px;border-radius:2px;
  background:linear-gradient(180deg,var(--soft),var(--deep));
}
h4{font-size:14.5px;font-weight:750}

.ch-head{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;align-items:start;
  padding-bottom:22px;margin-bottom:8px;
  border-bottom:1px solid var(--line-2);
}
.ch-no{
  font-size:13px;font-weight:800;letter-spacing:.06em;
  color:var(--brand);background:var(--mint);
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  margin-top:3px;
}
.ch-head p{margin-top:4px;font-size:13.5px;color:var(--ink-2);line-height:1.65}
.ch-where{
  font-size:11.5px;color:var(--ink-3);white-space:nowrap;
  justify-self:end;min-width:max-content;
  padding-top:8px;
  border-top:1px dashed var(--line);
}

/* 正文段落 / 列表 */
.body{margin:10px 0;font-size:14.5px;line-height:1.85;color:var(--ink-2)}
.body b{color:var(--ink);font-weight:650}
.bullets{margin:10px 0;display:flex;flex-direction:column;gap:9px}
.bullets li{
  position:relative;padding-left:18px;
  font-size:14px;line-height:1.75;color:var(--ink-2);
}
.bullets li::before{
  content:"";position:absolute;left:2px;top:9px;
  width:6px;height:6px;border-radius:50%;
  background:var(--soft);opacity:.65;
}
.bullets li b{color:var(--ink);font-weight:650}

/* 步骤 */
.steps{display:flex;flex-direction:column;gap:14px;margin:12px 0;counter-reset:s}
.steps li{
  position:relative;padding-left:38px;counter-increment:s;
  font-size:14.5px;line-height:1.7;
}
.steps li::before{
  content:counter(s);
  position:absolute;left:0;top:0;
  width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--mint);color:var(--deep);
  font-size:11.5px;font-weight:750;
}
.steps li b{display:block;font-size:14.5px;font-weight:700;color:var(--ink)}
.steps li span{display:block;font-size:13.5px;color:var(--ink-2);line-height:1.7;margin-top:1px}

/* 提示块 */
.note,.warn,.stop{
  position:relative;
  margin:20px 0;padding:16px 20px 16px 46px;
  border-radius:var(--r-md);
  font-size:13.5px;line-height:1.75;
}
.note::before,.warn::before,.stop::before{
  position:absolute;left:17px;top:16px;
  width:18px;height:18px;border-radius:50%;
  display:grid;place-items:center;
  font-size:11px;font-weight:800;color:#fff;
}
.note{background:var(--mint-2);border:1px solid rgba(21,128,61,.16)}
.note::before{content:"i";background:var(--brand);font-family:Georgia,serif}
.warn{background:var(--amber-soft);border:1px solid rgba(199,112,5,.18)}
.warn::before{content:"!";background:var(--amber)}
.stop{background:var(--red-soft);border:1px solid rgba(217,45,32,.16)}
.stop::before{content:"!";background:var(--red)}
.note b,.warn b,.stop b{display:block;font-size:13.5px;font-weight:750;margin-bottom:3px;color:var(--ink)}
.note p,.warn p,.stop p{color:var(--ink-2);margin:0}
.note p b,.warn p b,.stop p b{display:inline;color:var(--ink)}

/* ==========================================================================
   封面
   ========================================================================== */
.cover{
  position:relative;overflow:hidden;
  border-radius:var(--r-lg);
  padding:48px 44px 44px;
  margin-bottom:22px;
  color:#fff;
  background:
    radial-gradient(520px 260px at 14% 0%,rgba(34,197,94,.30),transparent 62%),
    radial-gradient(460px 240px at 88% 100%,rgba(199,112,5,.20),transparent 62%),
    linear-gradient(155deg,#0D3B21,#166534 58%,#11512B);
  box-shadow:0 40px 80px -46px rgba(22,101,52,.55);
}
.cover::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 30px);
  mask-image:linear-gradient(to bottom,#000,transparent 72%);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 72%);
}
.cover .eyebrow{color:#ADF0EA}
.cover .eyebrow::before{background:#ADF0EA;box-shadow:0 0 0 3px rgba(173,240,234,.16)}
.cover h1{color:#fff}
.cover__sub{
  max-width:520px;margin-top:16px;
  font-size:14.5px;line-height:1.85;color:rgba(255,255,255,.76);
}
.cover__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.cover__chips span{
  padding:6px 13px;border-radius:999px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
  font-size:12px;color:rgba(255,255,255,.85);
}
.cover__hint{
  margin-top:26px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.16);
  font-size:12px;color:rgba(255,255,255,.5);
}

/* ==========================================================================
   导航地图
   ========================================================================== */
.navmap{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  margin:22px 0 6px;
}
.navmap__item{
  padding:16px 14px;border-radius:var(--r-md);
  background:var(--cream);border:1px solid var(--line);
  text-align:center;
}
.navmap__ico{
  width:34px;height:34px;border-radius:11px;margin:0 auto 10px;
  display:grid;place-items:center;
  background:var(--mint);color:var(--deep);
}
.navmap__ico svg{width:18px;height:18px}
.navmap__ico--home{background:#FBF0DC;color:var(--amber)}
.navmap__item b{display:block;font-size:13.5px;font-weight:700}
.navmap__item p{font-size:11.5px;color:var(--ink-3);margin-top:2px;line-height:1.5}

/* ==========================================================================
   两栏（文 + 手机）
   ========================================================================== */
.split{
  display:grid;grid-template-columns:minmax(0,1fr) 320px;
  gap:32px;align-items:start;margin:18px 0 6px;
}
.split--rev{grid-template-columns:320px minmax(0,1fr)}
.split__text{min-width:0}

/* ==========================================================================
   手机 mock
   ========================================================================== */
.mock-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}
.mock{
  width:240px;flex:none;
  padding:7px;border-radius:32px;
  background:linear-gradient(150deg,#3a332d,#1d1916 45%,#2e2823);
  box-shadow:0 26px 50px -26px rgba(43,38,34,.45),0 0 0 1px rgba(0,0,0,.08);
}
.mock--sm{width:224px}
.mock__screen{
  position:relative;overflow:hidden;
  border-radius:26px;background:var(--cream);
  padding:16px 12px 14px;
  display:flex;flex-direction:column;
  min-height:330px;
}
/* 真实截图卡（替代手绘手机壳） */
.shot{
  width:300px;flex:none;
  border-radius:24px;overflow:hidden;
  background:#0b0a09;
  box-shadow:0 26px 50px -26px rgba(43,38,34,.45),0 0 0 1px rgba(0,0,0,.05);
}
.shot img{display:block;width:100%;height:auto}

.mock__cap{
  font-size:11.5px;color:var(--ink-3);text-align:center;line-height:1.6;
  max-width:240px;
}
.mock__date{font-size:9px;color:var(--ink-3)}
.mock__h{font-size:14px;font-weight:800;display:block;margin:2px 0 10px;letter-spacing:-.01em}
.mock__h--pad{padding:4px 2px 0}
.mock__sec{font-size:9px;font-weight:700;color:var(--ink-2);margin:12px 2px 6px;letter-spacing:.04em}

/* 五档格 */
.mock__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  border-radius:12px;overflow:hidden;
  background:rgba(255,255,255,.16);
  background-color:var(--deep);
  background-image:linear-gradient(145deg,#166534,#15803D 52%,#16A34A);
  box-shadow:0 10px 20px -12px rgba(22,101,52,.6);
}
.mock__cell{
  padding:7px 6px;display:flex;flex-direction:column;gap:0;
}
.mock__cell b{font-size:13px;color:#fff;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums}
.mock__cell span{font-size:7px;color:rgba(255,255,255,.72)}
.mock__cell--all{justify-content:center;font-size:7.5px;color:#fff}

/* 到期行 */
.mock__row{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:9px;background:#fff;margin-bottom:4px}
.dot{width:5px;height:5px;border-radius:50%;background:var(--c);flex:none;box-shadow:0 0 0 2.5px color-mix(in srgb,var(--c) 14%,transparent)}
.mock__row div{flex:1;min-width:0}
.mock__row b{display:block;font-size:9px;font-weight:650;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mock__row span{display:block;font-size:7px;color:var(--ink-3)}
.tag{font-style:normal;font-size:7px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 10%,transparent);padding:2px 5px;border-radius:999px;flex:none}

/* 列表屏 */
.mock__search{
  display:flex;align-items:center;gap:5px;
  padding:6px 7px;border-radius:9px;background:#fff;
  font-size:8px;color:var(--ink-3);
  border:1px solid var(--line-2);
}
.mock__search svg{width:11px;height:11px;color:var(--ink-3);flex:none}
.mock__search span{flex:1}
.mock__search em{font-style:normal;font-size:7.5px;color:var(--brand);background:var(--mint);padding:2px 5px;border-radius:5px}
.mock__chips{display:flex;gap:4px;margin:8px 0 6px;overflow:hidden}
.mock__chips span{font-size:7.5px;padding:2.5px 7px;border-radius:999px;background:#fff;color:var(--ink-2);border:1px solid var(--line-2)}
.mock__chips .on{background:var(--brand);color:#fff;border-color:var(--brand)}
.mock__item{
  display:flex;align-items:center;gap:6px;
  padding:7px 8px;border-radius:10px;background:#fff;margin-bottom:4px;
  border:1px solid transparent;
}
.mock__item div{flex:1;min-width:0}
.mock__item b{display:block;font-size:9px;font-weight:650;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mock__item span{display:block;font-size:6.5px;color:var(--ink-3);letter-spacing:.02em}
.mock__item strong{font-size:12px;font-weight:750;color:var(--deep);font-variant-numeric:tabular-nums}
.mock__item--faint{opacity:.5}
.mock__item--hit{border-color:rgba(22,163,74,.5);box-shadow:0 0 0 3px rgba(34,197,94,.14)}
.mock__tags{display:flex;gap:3px;margin-top:3px}
.mock__tags i{font-style:normal;font-size:6px;color:#fff;background:var(--c);padding:1px 4px;border-radius:999px}

/* 扫码屏 */
.mock__screen--scan{padding:0;background:#141110;min-height:360px}
.mock__camera{
  position:relative;height:42%;min-height:158px;
  background:
    radial-gradient(60% 60% at 50% 45%,#3d3a35,#23201d 70%,#141110);
  overflow:hidden;
}
.mock__camera--short{min-height:150px}
.mock__frame{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:112px;height:60px;border-radius:8px;
  box-shadow:0 0 0 1.5px rgba(255,255,255,.55);
}
.mock__laser{
  position:absolute;left:50%;transform:translateX(-50%);
  width:100px;height:1.5px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#22C55E,#ADF0EA,#22C55E,transparent);
  box-shadow:0 0 10px rgba(34,197,94,.9);
  animation:laser 3.4s ease-in-out infinite;
}
@keyframes laser{0%,100%{top:38%}50%{top:62%}}
.mock__camtop{
  position:absolute;left:8px;right:8px;top:8px;
  display:flex;justify-content:space-between;
}
.mock__round{
  width:20px;height:20px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(0,0,0,.42);color:#fff;font-size:9px;font-style:normal;
  border:1px solid rgba(255,255,255,.2);
}
.mock__round--ok{background:var(--brand);border-color:rgba(255,255,255,.3)}
.mock__torch{
  position:absolute;right:10px;bottom:8px;
  display:grid;place-items:center;color:#fff;opacity:.85;
}
.mock__torch svg{width:11px;height:11px}
.mock__blind{
  position:absolute;left:50%;bottom:8px;transform:translateX(-50%);
  font-size:7px;color:rgba(255,255,255,.85);
  background:rgba(0,0,0,.42);padding:2.5px 8px;border-radius:999px;
  white-space:nowrap;
}
.mock__scanlist{padding:8px 8px 0;background:var(--cream);flex:1}
.mock__check{
  display:flex;align-items:center;gap:5px;margin-top:6px;
  padding:6px 10px;font-size:8px;color:var(--ink-2);
  background:var(--cream);
}
.mock__box{
  width:11px;height:11px;border-radius:3px;
  background:var(--brand);color:#fff;
  display:grid;place-items:center;
}
.mock__box svg{width:7px;height:7px}
.mock__round svg{width:9px;height:9px}
.mock__count{font-size:12px;font-weight:750;color:var(--deep)}
.mock__bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 10px;background:#fff;border-top:1px solid var(--line-2);
  font-size:7.5px;color:var(--ink-2);
}
.mock__bottom em{font-style:normal;font-size:7.5px;font-weight:700;color:#fff;background:var(--brand);padding:3px 9px;border-radius:999px}

/* 步进器 */
.stepper{display:flex;align-items:center;gap:6px;flex:none}
.stepper i{
  width:16px;height:16px;border-radius:5px;font-style:normal;
  display:grid;place-items:center;
  background:var(--cream-2);color:var(--ink-2);font-size:10px;line-height:1;
}
.stepper b{font-size:11px;font-weight:750;min-width:12px;text-align:center;font-variant-numeric:tabular-nums}
.stepper--static i{width:22px;height:22px;font-size:12px;background:var(--mint);color:var(--deep)}
.stepper--static b{font-size:12.5px;color:var(--deep)}

/* 门店 / 成员 */
.store{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 10px;border-radius:10px;background:#fff;margin-bottom:5px;
}
.store b{display:block;font-size:9.5px;font-weight:650}
.store span{display:block;font-size:7.5px;color:var(--ink-3)}
.store__badge{
  font-style:normal;font-size:7px;font-weight:700;
  color:var(--deep);background:var(--mint);padding:2.5px 7px;border-radius:999px;
}
.store__switch{
  font-style:normal;font-size:7px;font-weight:650;
  color:var(--ink-2);border:1px solid var(--line);padding:2.5px 7px;border-radius:999px;
}
.member{display:flex;align-items:center;gap:7px;padding:7px 4px}
.member b{display:block;font-size:9px;font-weight:650}
.member span{display:block;font-size:7px;color:var(--ink-3)}
.avatar{
  width:22px;height:22px;border-radius:50%;flex:none;
  display:grid;place-items:center;
  background:var(--mint);color:var(--deep);font-size:8.5px;font-weight:700;
}
.avatar--g{background:#EAF6FF;color:#1D74B8}
.avatar--o{background:var(--amber-soft);color:var(--amber)}

/* ==========================================================================
   各种小模块
   ========================================================================== */
/* 三小卡 */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
.mini{
  padding:15px 16px;border-radius:var(--r-md);
  background:var(--cream);border:1px solid var(--line);
}
.mini__dot{
  display:block;width:8px;height:8px;border-radius:50%;
  background:var(--c);margin-bottom:9px;
  box-shadow:0 0 0 3.5px color-mix(in srgb,var(--c) 13%,transparent);
}
.mini > b{display:block;font-size:13px;font-weight:700;margin-bottom:3px}
.mini p{font-size:12px;line-height:1.65;color:var(--ink-2)}

/* 结果摘要条 */
.resultbar{
  display:grid;grid-template-columns:repeat(3,1fr) auto;
  align-items:center;gap:10px;
  padding:14px 18px;border-radius:var(--r-md);
  background:linear-gradient(145deg,#166534,#15803D 60%,#16A34A);
  color:#fff;margin:14px 0;
}
.resultbar i{display:block;font-style:normal;font-size:10.5px;color:rgba(255,255,255,.65)}
.resultbar b{display:block;font-size:18px;font-weight:750;line-height:1.3;font-variant-numeric:tabular-nums}
.resultbar__actions{display:flex;gap:6px}
.resultbar__actions span{
  display:flex;align-items:center;gap:4px;
  font-size:10.5px;padding:5px 10px;border-radius:999px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2);
}
.resultbar__actions svg{width:12px;height:12px}

/* 字段网格 */
.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.field{padding:15px 17px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--cream)}
.field > b{display:block;font-size:13px;font-weight:700;margin-bottom:4px}
.field p{font-size:12.5px;line-height:1.7;color:var(--ink-2)}

/* 弹窗演示 */
.dialog-demo{display:grid;grid-template-columns:300px 1fr;gap:26px;align-items:center;margin:16px 0}
.dlg{
  border-radius:18px;background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
  padding:22px 22px 16px;
  text-align:center;
}
.dlg__title{display:block;font-size:15px;font-weight:750;margin-bottom:8px}
.dlg__msg{font-size:12px;line-height:1.8;color:var(--ink-2);text-align:left}
.dlg__msg b{color:var(--deep)}
.dlg__btns{display:flex;gap:10px;margin-top:16px}
.dlg__btns span,.dlg__btns em{
  flex:1;height:38px;border-radius:11px;font-style:normal;
  display:grid;place-items:center;font-size:12.5px;font-weight:650;
}
.dlg__btns span{background:var(--cream-2);color:var(--ink-2)}
.dlg__btns em{background:var(--brand);color:#fff}
.dlg__side{margin:0}

/* 到期色阶 */
.tiers{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.tier{
  display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;
  padding:8px 12px;border-radius:10px;
  background:color-mix(in srgb,var(--c) 7%,#fff);
  border-left:3px solid var(--c);
  font-size:12.5px;color:var(--ink-2);
}
.tier b{color:var(--c);font-weight:750;font-size:12.5px;white-space:nowrap}

/* 两种录入模式 */
.modes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.mode{display:flex;flex-direction:column;padding:18px 18px 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--cream)}
.mode__badge{
  display:inline-block;align-self:flex-start;
  font-size:11px;font-weight:700;letter-spacing:.04em;
  padding:3px 10px;border-radius:999px;margin-bottom:9px;
}
.mode__badge--green{background:var(--mint);color:var(--deep)}
.mode__badge--amber{background:var(--amber-soft);color:var(--amber)}
.mode > b{display:block;font-size:13.5px;font-weight:750;margin-bottom:4px}
.mode > p{font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.mode__demo{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line)}
.mode__demo div{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:11.5px}
.mode__demo i{font-style:normal;color:var(--ink-3);width:56px;flex:none}
.mode__demo span{color:var(--ink);font-weight:650}
.mode__demo .auto{color:var(--deep);font-weight:550}
.mode__tip{font-size:11px;color:var(--ink-3);line-height:1.6;margin:2px 0 0}

/* 对比两列 */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.compare__col{padding:18px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--cream)}
.compare__col h4{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.compare__col h4 em{
  font-style:normal;font-size:10px;font-weight:700;color:var(--brand);
  background:var(--mint);padding:2px 7px;border-radius:999px;
}
.compare__col > p{font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.compare__col .bullets{margin:8px 0}
.compare__col .bullets li{font-size:12px}
.compare__use{
  margin-top:10px;padding-top:9px;border-top:1px dashed var(--line);
  font-size:11.5px !important;color:var(--ink-3) !important;
}

/* 二选一 */
.choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.choice__item{padding:16px 18px;border-radius:var(--r-md);border:1px solid var(--line);background:#fff}
.choice__item > b{display:block;font-size:13.5px;font-weight:750;margin-bottom:4px}
.choice__item p{font-size:12.5px;line-height:1.7;color:var(--ink-2)}

/* 结果三组 */
.result-sum{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  border-radius:var(--r-md);overflow:hidden;background:var(--line);
  border:1px solid var(--line);margin:14px 0;
}
.result-sum div{padding:14px 16px;background:#fff}
.result-sum i{display:block;font-style:normal;font-size:11px;color:var(--ink-3)}
.result-sum b{display:block;font-size:21px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.3}
.warnv{color:var(--amber)}
.okv{color:var(--brand)}

.groups{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.group{padding:13px 16px;border-radius:var(--r-sm);background:var(--cream);border:1px solid var(--line)}
.group > b{display:block;font-size:13px;font-weight:700;margin-bottom:2px}
.group p{font-size:12.5px;line-height:1.7;color:var(--ink-2)}

/* 打印三法 */
.printways{display:flex;flex-direction:column;gap:12px;margin:18px 0 6px}
.way{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:16px 18px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--cream)}
.way__no{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:var(--mint);color:var(--deep);font-size:13px;font-weight:800;
}
.way > b{display:block;font-size:13.5px;font-weight:750}
.way p{font-size:12.5px;line-height:1.75;color:var(--ink-2);margin-top:3px}
.way em{display:inline-block;font-style:normal;font-size:11px;color:var(--ink-3);margin-top:5px}

/* 席位 */
.seats{display:flex;gap:10px;margin:12px 0}
.seats div{flex:1;padding:14px 16px;border-radius:var(--r-md);background:var(--cream);border:1px solid var(--line)}
.seats b{display:block;font-size:26px;font-weight:800;color:var(--deep);line-height:1.1;font-variant-numeric:tabular-nums}
.seats span{display:block;font-size:12px;color:var(--ink-2);margin-top:3px}
.seats em{display:block;font-style:normal;font-size:11px;color:var(--ink-3)}

/* 权益表 */
.plan-table{
  border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;
  margin:18px 0;font-size:13px;
}
.plan-table__row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line-2)}
.plan-table__row:last-child{border-bottom:0}
.plan-table__row span:first-child{color:var(--ink-2)}
.plan-table__row span:nth-child(2){color:var(--ink-2);font-variant-numeric:tabular-nums}
.plan-table__row span:nth-child(3){font-weight:650;color:var(--deep);font-variant-numeric:tabular-nums}
.plan-table__row--head{background:var(--cream-2);font-weight:700;color:var(--ink)}
.plan-table__row--head span{color:var(--ink) !important;font-weight:700}
.plan-table .ok{color:var(--brand)}
.plan-table__row:nth-child(2n+3){background:#FDFBF9}

/* 价格 */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.price{
  position:relative;padding:18px 18px 16px;border-radius:var(--r-md);
  border:1px solid var(--line);background:#fff;
}
.price > span{font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:6px}
.price b{display:block;font-size:30px;font-weight:800;color:var(--ink);line-height:1.2;margin-top:6px;font-variant-numeric:tabular-nums}
.price b i{font-style:normal;font-size:15px;font-weight:650;color:var(--ink-2);margin-right:1px}
.price em{font-style:normal;font-size:11.5px;color:var(--ink-3)}
.price--hot{
  background:linear-gradient(158deg,#0F4A28,#166534 58%,#15803D);
  border-color:transparent;color:#fff;
}
.price--hot > span{color:rgba(255,255,255,.7)}
.price--hot b{color:#fff}
.price--hot b i{color:rgba(255,255,255,.75)}
.price--hot em{color:rgba(255,255,255,.55)}
.price__tag{
  font-style:normal;font-size:9.5px;font-weight:700;
  background:linear-gradient(100deg,#C77005,#E8A33D);
  color:#fff;padding:2px 7px;border-radius:999px;
}

/* 额度三步 */
.quota{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.quota__step{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start}
.quota__step > b{
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:var(--mint);color:var(--deep);font-size:11.5px;font-weight:750;
}
.quota__step p{font-size:13px;line-height:1.75;color:var(--ink-2)}

/* 设置 */
.settings{display:flex;flex-direction:column;gap:1px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin:16px 0}
.setting{
  display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;
  padding:14px 18px;background:#fff;border-bottom:1px solid var(--line-2);
}
.setting:last-child{border-bottom:0}
.setting > b{font-size:13.5px;font-weight:700}
.setting p{grid-column:1 / -1;font-size:12px;line-height:1.7;color:var(--ink-3)}
.setting code{
  font-family:var(--mono);font-size:11.5px;
  background:var(--cream-2);padding:1px 5px;border-radius:5px;color:var(--ink);
}
.switch{
  width:40px;height:23px;border-radius:999px;background:#E6DDD4;position:relative;flex:none;
  transition:background .3s ease;
}
.switch::after{
  content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);
  transition:transform .3s var(--ease);
}
.switch.is-on{background:var(--brand)}
.switch.is-on::after{transform:translateX(17px)}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:8px;margin:18px 0 4px}
.faq details{
  border:1px solid var(--line);border-radius:var(--r-md);
  background:var(--cream);overflow:hidden;
  transition:background .25s ease,border-color .25s ease;
}
.faq details[open]{background:#fff;border-color:rgba(21,128,61,.26)}
.faq summary{
  position:relative;padding:14px 44px 14px 18px;
  font-size:13.5px;font-weight:650;cursor:pointer;list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:18px;top:50%;
  width:8px;height:8px;margin-top:-5px;
  border-right:1.6px solid var(--ink-2);border-bottom:1.6px solid var(--ink-2);
  transform:rotate(45deg);transition:transform .28s var(--ease);
}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-1px}
.faq p{padding:0 18px 16px;font-size:13px;line-height:1.85;color:var(--ink-2)}

/* 结尾 */
.endnote{
  padding:42px 40px;
  border-radius:var(--r-lg);
  background:
    radial-gradient(420px 220px at 12% 0%,rgba(34,197,94,.22),transparent 60%),
    linear-gradient(155deg,#0D3B21,#166534 60%,#11512B);
  color:#fff;
  box-shadow:0 40px 80px -48px rgba(22,101,52,.55);
}
.endnote .eyebrow{color:#ADF0EA}
.endnote .eyebrow::before{background:#ADF0EA}
.endnote h2{color:#fff;font-size:clamp(22px,2.6vw,30px);line-height:1.35;margin-top:14px}
.endnote p{margin-top:12px;font-size:13.5px;line-height:1.85;color:rgba(255,255,255,.7);max-width:560px}
.endnote__actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.endnote .btn--light{background:#fff;color:var(--deep)}
.endnote .btn--light:hover{background:var(--mint-2);transform:translateY(-1px)}
.endnote .btn--ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.endnote .btn--ghost:hover{background:rgba(255,255,255,.14)}

/* 页脚 */
.foot{padding:0 24px 46px}
.foot__in{
  max-width:1160px;margin:0 auto;
  padding-top:20px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:11.5px;color:var(--ink-3);
}
.foot__icp{color:inherit;text-decoration:none;white-space:nowrap}
.foot__icp:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}

/* ==========================================================================
   响应式
   ========================================================================== */
@media (max-width:1080px){
  .shell{grid-template-columns:1fr;gap:0;padding-top:80px}
  .toc{
    position:fixed;left:0;right:0;top:64px;z-index:35;
    background:#fff;border-bottom:1px solid var(--line);
    padding:14px 24px 18px;
    box-shadow:var(--shadow-md);
    transform:translateY(-8px);opacity:0;visibility:hidden;
    transition:opacity .28s ease,transform .28s var(--ease),visibility .28s;
  }
  .toc.is-open{opacity:1;visibility:visible;transform:none}
  .toc__list{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}
  .toc__foot{display:block;margin-top:14px;padding-top:12px}
  .toc__back{display:inline-block;color:var(--deep);font-weight:650;font-size:12.5px}
  .toc-toggle{display:flex}
  .topbar__actions .btn--ghost{display:none}
  .doc{max-width:none}
}

@media (max-width:860px){
  .split,.split--rev{grid-template-columns:1fr;gap:24px}
  .split--rev .mock-wrap{order:2}
  .mock-wrap{flex-direction:row;align-items:flex-start;justify-content:center;gap:18px}
  .mock-wrap /* 真实截图卡（替代手绘手机壳） */
.shot{
  width:300px;flex:none;
  border-radius:24px;overflow:hidden;
  background:#0b0a09;
  box-shadow:0 26px 50px -26px rgba(43,38,34,.45),0 0 0 1px rgba(0,0,0,.05);
}
.shot img{display:block;width:100%;height:auto}

.mock__cap{text-align:left;max-width:180px;padding-top:8px}
  .split .mock-wrap{flex-direction:column}
  .split /* 真实截图卡（替代手绘手机壳） */
.shot{
  width:300px;flex:none;
  border-radius:24px;overflow:hidden;
  background:#0b0a09;
  box-shadow:0 26px 50px -26px rgba(43,38,34,.45),0 0 0 1px rgba(0,0,0,.05);
}
.shot img{display:block;width:100%;height:auto}

.mock__cap{text-align:center;max-width:none}
  .dialog-demo{grid-template-columns:1fr;gap:20px}
}

@media (max-width:720px){
  body{font-size:14.5px}
  .shell{padding:76px 14px 28px}
  .ch{padding:26px 20px 30px;border-radius:18px}
  .cover{padding:34px 24px 30px;border-radius:18px}
  .ch-head{grid-template-columns:auto 1fr;gap:12px}
  .ch-where{grid-column:2;border-top:0;padding-top:2px;font-size:11px}
  .navmap{grid-template-columns:1fr 1fr}
  .cards3,.fieldgrid,.modes,.compare,.choice,.prices{grid-template-columns:1fr}
  .result-sum{grid-template-columns:1fr 1fr}
  .result-sum div:nth-child(3),.result-sum div:nth-child(4){border-top:1px solid var(--line)}
  .plan-table__row{grid-template-columns:1fr 1fr 1fr;padding:9px 12px;font-size:12px}
  .topbar__in{padding:0 14px;gap:10px}
  .brand__text em{display:none}
  .topbar__tag{display:none}
  .steps li{padding-left:34px}
  .endnote{padding:32px 22px;border-radius:18px}
  .foot{padding:0 14px 34px}
}

@media (max-width:560px){
  .btn__txt{display:none}
  #printBtn{width:44px;padding:0;border-radius:50%}
  .toc-toggle{width:38px;height:38px}
}

/* ==========================================================================
   打印
   ========================================================================== */
@media print{
  @page{size:A4;margin:14mm 12mm}
  html,body{background:#fff}
  body{font-size:10.5pt;line-height:1.65}
  .topbar,.toc,.toc-toggle,.foot,.endnote__actions,.btn{display:none !important}
  .shell{display:block;padding:0;max-width:none}
  /* 强制正文宽 = 可用版心 - 6mm，避免 grid 贴到页边 */
  .doc,.ch{width:180mm;max-width:180mm;margin-left:auto;margin-right:auto}
  .ch,.cover,.endnote{
    box-shadow:none;border-radius:0;
    border:0;border-bottom:1px solid #ddd;
    padding:0 0 14pt;margin:0 0 16pt;
    break-inside:auto;
  }
  .cover,.endnote{
    background:#F1FAF4 !important;color:#111;
    border:1px solid #CFE3D6;padding:16pt;border-radius:6pt;
  }
  .cover h1,.endnote h2{color:#111}
  .cover__sub,.endnote p,.cover__hint{color:#444}
  .cover__chips span{border:1px solid #ccc;background:#f6f6f6;color:#333}
  .cover::after,.endnote::after{display:none}
  .eyebrow{color:#15803D !important}
  .ch-head{break-after:avoid}
  h2,h3.sub,h4{break-after:avoid}
  .note,.warn,.stop,.mock,.dlg,.mini,.field,.mode,.compare__col,.way,.group,.price,.setting{
    break-inside:avoid;
  }
  .note,.warn,.stop{border:1px solid #ddd;background:#fafafa !important}
  .mock{box-shadow:none;border:1px solid #ccc;background:#EDE8E1}
  .shot{box-shadow:none;border:1px solid #ccc;width:300px}
  .mock__screen{background:#fafafa}
  .mock__camera{background:#e9e9e9}
  .mock__laser{display:none}
  .faq details{border:1px solid #ddd;background:#fff;break-inside:avoid}
  .cover,.endnote{break-inside:avoid}
  .ch-head + *{break-before:auto}
  .faq details:not([open]) summary::after{transform:rotate(45deg)}
  .faq p{display:block}
  /* 打印用窄两列：整块高度小、不易被推页；右侧留边防止贴页边 */
  /* 两列在 A4 上会被挤出页边：改为图在文字下方居中，保证不裁切 */
  .split,.split--rev{display:block}
  .mock,.mock--sm{width:184px;margin:10px auto 0}
  .shot{width:184px;margin:10px auto 0}
  a{color:inherit;text-decoration:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
