/* ==========================================================================
   燧锋科技 · AI 标书系统 产品页（浅色素雅版）
   白底 + 墨黑文字 + 单一强调色「墨策蓝」；兼容下限 Chrome 81（含 Windows 微信内置浏览器）
   不使用：flex gap、aspect-ratio、:is/:where、inset、color-mix、:has、嵌套、@layer
   ========================================================================== */

:root{
  color-scheme:light;

  /* ===== 第 1 层 原始值（只在这里出现色值） ===== */
  --gray-0:#FFFFFF;--gray-25:#F8FAFC;--gray-50:#F1F4F8;--gray-100:#E8ECF1;--gray-200:#E2E8F0;--gray-300:#CBD3DE;
  --gray-500:#64748B;--gray-600:#475569;--gray-800:#1F2329;--gray-900:#14171C;
  --gray-75:#EDF1F7;--gray-150:#DDE3EE;--gray-175:#E3E8F0;--gray-400:#8592A6;--gray-550:#566275;--gray-700:#2E333C;
  --night-fg:#AEB8CC;--night-fg-strong:#E6EAF2;--night-line:#1F2E55;--night-line-2:#3A4C7A;--ink-950:#0F1E2E;--amber-300:#F2C46D;
  --ink-blue-50:#EDF1FA;--ink-blue-100:#DEE6F5;--ink-blue-500:#2F55A8;--ink-blue-600:#1D3F8F;--ink-blue-700:#15306E;--ink-blue-800:#0E2A63;--ink-blue-900:#0A1F4C;--ink-blue-950:#0A1734;
  /* 墨策蓝：产品界面实际用色，只给页内产品示意（.mock / .wb）用 */
  --mc-blue-50:#EEF2FA;--mc-blue-100:#E1E8F5;--mc-blue-500:#4A68B0;--mc-blue-600:#3A5BA8;--mc-blue-700:#2F4A8C;
  --green-700:#0A6B54;--green-500:#1F9D7A;--amber-700:#8A5300;--amber-500:#D98A1C;--red-700:#9E2A24;--red-500:#E0524A;

  /* ===== 第 2 层 语义 ===== */
  --bg:var(--gray-25);--surface:var(--gray-0);--surface-2:var(--gray-50);--band:var(--gray-50);
  --line:var(--gray-200);--line-strong:var(--gray-300);
  --text:var(--gray-800);--text-2:var(--gray-600);--text-3:var(--gray-500);
  --cta:var(--ink-blue-800);--cta-hover:var(--ink-blue-900);
  --brand:var(--ink-blue-600);--brand-hover:var(--ink-blue-700);--brand-edge:var(--ink-blue-600);--on-brand:var(--gray-0);
  --glow:var(--ink-blue-600);--glow-2:var(--ink-blue-500);--pale:var(--ink-blue-600);--tint:var(--ink-blue-50);--tint-2:var(--ink-blue-100);
  --paper:var(--gray-0);--paper-2:var(--gray-75);--paper-ink:var(--ink-950);--paper-ink-2:var(--gray-600);
  --ui-bg:var(--gray-25);--ui-surface:var(--gray-0);--ui-line:var(--gray-150);--ui-line-strong:var(--gray-400);--ui-text:var(--gray-800);--ui-text-2:var(--gray-500);
  --ui-disabled-bg:var(--gray-175);--ui-disabled-text:var(--gray-550);
  --ok:var(--green-500);--ok-text:var(--green-700);--ok-ink:var(--green-700);
  --decide:var(--amber-500);--decide-text:var(--amber-700);--decide-ink:var(--amber-700);
  --block:var(--red-500);--block-text:var(--red-700);--block-ink:var(--red-700);
  /* RGB 通道（半透明叠色用，与上面色值一一对应） */
  --bg-rgb:248,250,252;--band-rgb:241,244,248;--surface-rgb:255,255,255;--glow-rgb:29,63,143;--glow-2-rgb:47,85,168;--pale-rgb:20,40,90;--ink-rgb:15,30,46;
  --ok-rgb:31,157,122;--decide-rgb:217,138,28;--block-rgb:224,82,74;--shadow-rgb:22,34,58;--brand-rgb:29,63,143;--scrim-rgb:15,23,42;

  /* 字体：系统无衬线一族到底；Windows 雅黑只有 400/700，层级靠字号与颜色 */
  --f-display:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:var(--f-display);
  --f-paper:"Songti SC","STSong","SimSun","Noto Serif CJK SC",serif;
  /* 字号阶梯（8px 网格，行高取 8 的倍数） */
  --fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-24:24px;--fs-32:32px;--fs-48:48px;--fs-64:64px;
  --fs-h1:clamp(40px,5.6vw,144px);--fs-h2:clamp(32px,3.4vw,88px);--fs-h3:clamp(20px,1.8vw,24px);--fs-lede:clamp(16px,calc(.6vw + 9px),24px);
  /* 间距（8px 网格） */
  --s-1:8px;--s-2:16px;--s-3:24px;--s-4:32px;--s-5:40px;--s-6:48px;--s-8:64px;--s-10:80px;--s-12:96px;--s-16:128px;
  /* 圆角 */
  --r-paper:4px;--r-tag:6px;--r-control:12px;--r-card:20px;--r-panel:24px;--r-pill:999px;
  /* 阴影：三档，浅而散 */
  --sh-1:0 1px 2px rgba(var(--shadow-rgb),.05),0 4px 12px -4px rgba(var(--shadow-rgb),.07);
  --sh-2:0 2px 6px rgba(var(--shadow-rgb),.04),0 24px 48px -24px rgba(var(--shadow-rgb),.14);
  --sh-3:0 4px 12px rgba(var(--shadow-rgb),.05),0 40px 80px -32px rgba(var(--shadow-rgb),.18);
  /* 布局 */
  --container:2560px;--gutter:clamp(20px,4vw,120px);
  --pad-l:max(var(--gutter),env(safe-area-inset-left));--pad-r:max(var(--gutter),env(safe-area-inset-right));
  --section-y:clamp(88px,10vw,168px);--header-h:72px;
  /* 动效 */
  --ease:cubic-bezier(.2,0,0,1);--t-hover:150ms;--t-state:240ms;--t-expand:320ms;--t-exit:180ms;

  /* ===== 第 3 层 组件 ===== */
  --btn-h:44px;--btn-h-lg:52px;--btn-radius:var(--r-pill);
  --btn-primary-bg:var(--cta);--btn-primary-bg-hover:var(--cta-hover);--btn-primary-fg:var(--gray-0);
  --btn-ghost-bg:var(--surface);--btn-ghost-border:var(--line-strong);--btn-ghost-fg:var(--text);
  --tag-bg:var(--tint);--tag-fg:var(--brand);
  --card-bg:var(--surface);--card-border:var(--line);--card-radius:var(--r-card);--card-pad:var(--s-4);
  --header-bg:rgba(var(--surface-rgb),.82);
  --footer-bg:var(--ink-blue-950);--footer-fg:var(--night-fg);--footer-fg-strong:var(--night-fg-strong);--footer-title:var(--gray-0);--footer-line:var(--night-line);--footer-link-line:var(--night-line-2);--footer-placeholder:var(--amber-300);
  --focus-ring:var(--brand);
}

/* ---------- 基础 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);overflow-x:hidden;scroll-padding-top:calc(var(--header-h) + 16px)}
html.js{scroll-behavior:smooth}
html.modal-open{overflow:hidden;padding-right:var(--sbw,0px)}
body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:var(--fs-16);line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3,.display{font-family:var(--f-display);font-weight:600;color:var(--text);letter-spacing:-.01em;font-feature-settings:"palt";text-wrap:balance}
img,svg,canvas{display:block;max-width:100%}
.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none}
button:disabled,[aria-disabled="true"]{cursor:not-allowed}
a,button,summary,label,textarea{touch-action:manipulation;-webkit-tap-highlight-color:rgba(var(--glow-rgb),.18)}
b,strong{font-weight:700}
i{font-style:normal}
::selection{background:var(--tint-2);color:var(--text)}
:focus{outline:2px solid var(--focus-ring);outline-offset:2px}
:focus:not(:focus-visible){outline:none}
#main:focus,.step:focus,.modal__dialog:focus,.wb-final:focus{outline:none}
section[tabindex="-1"]:focus,h2[tabindex="-1"]:focus,h3[tabindex="-1"]:focus{outline:none}
[hidden]{display:none !important}

.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.nobr{white-space:nowrap}
.skip-link{position:fixed;left:16px;top:12px;z-index:200;padding:10px 16px;border-radius:var(--r-control);background:var(--brand);color:var(--on-brand);font-weight:600;transform:translateY(-160%);transition:transform var(--t-state) var(--ease)}
.skip-link:focus{transform:none}
.container{max-width:none;margin:0 auto;padding-left:var(--pad-l);padding-right:var(--pad-r)}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-h);padding:0 22px;border-radius:var(--btn-radius);border:1px solid transparent;font-size:15px;font-weight:600;line-height:1.2;white-space:nowrap;transition:background-color var(--t-hover) var(--ease),border-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}
.btn--primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-fg)}
.btn--primary:active{background:var(--btn-primary-bg-hover);transform:translateY(1px)}
.btn--ghost{background:var(--btn-ghost-bg);border-color:var(--btn-ghost-border);color:var(--btn-ghost-fg)}
.btn--ghost:active{background:var(--surface-2)}
@media (hover:hover){
  .btn--primary:hover{background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover);box-shadow:var(--sh-1)}
  .btn--ghost:hover{border-color:var(--text-3);background:var(--surface)}
}
.btn--lg{min-height:var(--btn-h-lg);padding:0 30px;font-size:var(--fs-16)}
.btn--sm{min-height:40px;padding:0 16px;font-size:14px}
.text-link{color:var(--brand);border-bottom:1px solid rgba(var(--glow-rgb),.35);margin-left:.5em;transition:border-color var(--t-hover) var(--ease)}
.text-link:hover{border-bottom-color:var(--brand)}

/* ---------- 页头 ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--header-h);border-bottom:1px solid transparent;transition:background-color var(--t-state) var(--ease),border-color var(--t-state) var(--ease)}
.site-header.is-scrolled,.site-header.nav-open{background:var(--header-bg);-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);border-bottom-color:var(--line)}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header.is-scrolled{background:var(--surface)}}
.site-header.nav-open{background:var(--surface)}
.modal-open .site-header{right:var(--sbw,0px)}
.site-header__inner{display:flex;align-items:center;height:100%}
.brand{display:inline-flex;align-items:center;min-height:44px;margin-right:auto}
.brand__mark{flex:none;display:block;width:36px;height:36px;margin-right:12px;border-radius:9px}
.brand__name{font-size:18px;font-weight:700;letter-spacing:.06em;color:var(--ink-blue-800)}
.brand__sep{width:1px;height:14px;margin:0 10px;background:var(--line-strong)}
.brand__product{font-size:14px;color:var(--text-2)}
@media (max-width:479.98px){.brand__mark{width:32px;height:32px;margin-right:10px}.brand__name{font-size:17px}}
.site-nav__list{display:flex}
.site-nav__link{position:relative;display:block;padding:8px 12px;font-size:14px;color:var(--text-2);transition:color var(--t-hover) var(--ease)}
.site-nav__link:hover,.site-nav__link[aria-current="true"]{color:var(--text)}
.site-nav__link::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--text);transform:scaleX(0);transition:transform var(--t-state) var(--ease)}
.site-nav__link[aria-current="true"]::after{transform:none}
.site-nav{margin-right:12px}
.site-header__login{margin-right:8px}
.nav-toggle{display:none}
@media (min-width:768px) and (max-width:1023.98px){.site-nav__link{padding:8px 10px}.site-nav__link::after{left:10px;right:10px}}
@media (max-width:767.98px){
  .js .nav-toggle{display:block;position:relative;width:44px;height:44px;margin-left:8px;margin-right:-10px}
  .nav-toggle__bars{position:absolute;left:13px;top:17px;width:18px;height:10px}
  .nav-toggle__bars span{position:absolute;left:0;width:18px;height:2px;border-radius:2px;background:var(--text);transition:transform var(--t-state) var(--ease),top var(--t-state) var(--ease)}
  .nav-toggle__bars span:first-child{top:1px}.nav-toggle__bars span:last-child{top:7px}
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars span{top:4px}
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars span:first-child{transform:rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars span:last-child{transform:rotate(-45deg)}
  .js .site-nav{position:absolute;top:100%;left:0;right:0;margin:0;padding:8px var(--pad-r) 16px var(--pad-l);background:var(--surface);border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity var(--t-exit) var(--ease),transform var(--t-exit) var(--ease),visibility 0s linear var(--t-exit)}
  .js .site-nav.is-open{visibility:visible;opacity:1;transform:none;transition:opacity var(--t-state) var(--ease),transform var(--t-state) var(--ease),visibility 0s}
  .js .site-nav__list{display:block}
  .js .site-nav__link{padding:14px 0;font-size:16px;border-top:1px solid var(--line)}
  .js .site-nav__list li:first-child .site-nav__link{border-top:0}
  .js .site-nav__link::after{display:none}
  .no-js .site-header{position:relative;height:auto}
  .no-js .site-header__inner{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  .no-js .site-nav{order:3;width:100%;margin:4px 0 0}
  .no-js .site-nav__list{flex-wrap:wrap;margin-left:-12px}
  .no-js .hero{padding-top:40px}
}
@media (max-width:479.98px){.site-header__cta{display:none}.brand__product{font-size:13px}.brand{white-space:nowrap}.site-header__login{margin-left:auto}}
@media (max-width:399.98px){.brand__sep,.brand__product{display:none}}

/* ---------- 首屏（居中） ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;padding-top:var(--header-h);padding-bottom:clamp(64px,8vw,112px);background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 70%)}
.hero__floor{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.7}
.hero__halo{position:absolute;z-index:-1;left:50%;top:58%;width:1400px;height:820px;margin:-410px 0 0 -700px;background:radial-gradient(closest-side,rgba(var(--glow-2-rgb),.12),rgba(var(--glow-2-rgb),.04) 55%,transparent);pointer-events:none}
.hero__spot{position:absolute;z-index:-1;left:0;top:0;width:640px;height:640px;margin:-320px 0 0 -320px;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--glow-rgb),.06),transparent);opacity:0;transition:opacity 400ms var(--ease);pointer-events:none;will-change:transform}
.hero.is-pointer .hero__spot{opacity:1}
.hero__inner{position:relative;text-align:center}
/* 首屏舞台：占满一屏（留出核对板顶部露头，提示下滑） */
.hero__stage{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - var(--header-h));padding:clamp(40px,7vh,96px) 0 clamp(48px,8vh,112px)}
@supports (min-height:100svh){.hero__stage{min-height:calc(100svh - var(--header-h))}}
.hero__stage>*{width:100%}
.hero__badge{display:inline-flex;align-items:center;width:auto !important;min-height:40px;margin:0 0 clamp(20px,3.5vh,36px);padding:5px 16px 5px 6px;border:1px solid var(--line);border-radius:var(--r-pill);background:rgba(var(--surface-rgb),.8);box-shadow:var(--sh-1);font-size:var(--fs-14);font-weight:600;letter-spacing:.04em;color:var(--ink-blue-800)}
.hero__badge img{flex:none;width:28px;height:28px;margin-right:10px;border-radius:7px}
.hero__badge-sep{width:1px;height:12px;margin:0 10px;background:var(--line-strong)}
.hero__title{margin:0 auto;font-size:var(--fs-h1);font-weight:600;line-height:1.16;letter-spacing:-.025em;color:var(--text);max-width:14em}
.ht{display:inline-block;white-space:nowrap}
.ht--c{position:relative;display:inline-block}
.sign-rule{position:absolute;left:100%;bottom:.08em;display:block;width:2.2em;height:.2em;margin-left:.3em}
.sign-rule__line{position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--brand);transform:scaleX(0);transform-origin:left center;transition:transform 640ms var(--ease)}
.sign-rule__label{position:absolute;left:0;top:calc(100% + 10px);font-family:var(--f-body);font-size:var(--fs-12);font-weight:400;line-height:1.4;letter-spacing:.02em;color:var(--brand);white-space:nowrap;opacity:0;transition:opacity var(--t-state) var(--ease) 240ms}
.hero.is-signed .sign-rule__line{transform:none}
.hero.is-signed .sign-rule__label{opacity:1}
@media (max-width:767.98px){
  .ht{white-space:normal}
  .ht--c{display:block}
  .sign-rule{position:relative;left:auto;bottom:auto;width:4em;height:.3em;margin:4px auto 28px}
  .sign-rule__label{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}
}

.hero__copy{max-width:680px;margin:var(--s-4) auto 0}
.hero__lede{margin:0 auto;font-size:var(--fs-lede);line-height:1.78;color:var(--text-2);max-width:34em}
.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;margin:var(--s-4) -6px 0}
.hero__actions .btn{margin:6px}
.hero__note{position:relative;display:inline-block;margin-top:var(--s-2);padding-left:14px;font-size:var(--fs-14);color:var(--text-3)}
.hero__note::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--brand)}
.hero__steps{display:none}
@media (min-width:1024px){
  .hero__copy{max-width:none;margin-top:var(--s-5)}
  .hero__steps{display:block;margin-top:var(--s-5)}
  .hero__steps-label{font-size:var(--fs-14);color:var(--text-3);margin-bottom:var(--s-1)}
  .hero__steps-list{display:flex;flex-wrap:wrap;justify-content:center}
  .hero__steps-list li{position:relative;display:flex;align-items:center}
  .hero__steps-list li+li::before{content:"";display:block;width:20px;height:1px;margin:0 6px;background:var(--line-strong)}
  .hero__steps-list li.is-split::before{width:28px;background:none;border-top:1px dashed var(--line-strong);height:0}
  .hero__steps-list a{display:flex;align-items:center;min-height:36px;padding:0 4px;font-size:var(--fs-14);color:var(--text-2);transition:color var(--t-hover) var(--ease)}
  .hero__steps-list a:hover{color:var(--text)}
  .hs-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:8px;border-radius:50%;border:1px solid var(--line-strong);font-size:11px;font-variant-numeric:tabular-nums;line-height:1;color:var(--text-2);background:var(--surface)}
  .hero__steps-list a:hover .hs-n{border-color:var(--brand);color:var(--brand)}
}

/* 核对板 */
.hero__visual{--sheet-w:300px;--chip-w:190px;position:relative;margin-top:0;text-align:left}
@media (min-width:1024px){.hero__visual{--sheet-w:360px;--chip-w:260px}}
@media (min-width:1280px){.hero__visual{--sheet-w:420px;--chip-w:300px}}
@media (min-width:1536px){.hero__visual{--sheet-w:clamp(460px,30vw,720px);--chip-w:clamp(330px,22vw,520px)}}
.board{-webkit-perspective:1800px;perspective:1800px;max-width:none;margin:0 auto;padding:10px;border:1px solid var(--line);border-radius:calc(var(--r-panel) + 10px);background:rgba(var(--surface-rgb),.7);box-shadow:var(--sh-3)}
.board__plane{position:relative;display:grid;grid-template-columns:var(--sheet-w) minmax(40px,1fr) var(--chip-w);grid-template-rows:minmax(0,1fr) auto;padding:24px;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--tint);transform-origin:50% 50%;will-change:transform}
@media (min-width:1280px){.board__plane{padding:clamp(44px,4vw,96px) clamp(56px,5vw,128px)}}
.board__grid{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;pointer-events:none;
  background-image:linear-gradient(rgba(var(--pale-rgb),.07) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--pale-rgb),.07) 1px,transparent 1px),linear-gradient(rgba(var(--pale-rgb),.03) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--pale-rgb),.03) 1px,transparent 1px);
  background-size:96px 96px,96px 96px,24px 24px,24px 24px;background-position:-1px -1px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 78%);mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 78%)}
.tick{position:absolute;width:14px;height:14px;border:0 solid rgba(var(--pale-rgb),.3);pointer-events:none}
.tick--tl{top:8px;left:8px;border-top-width:1px;border-left-width:1px}
.tick--tr{top:8px;right:8px;border-top-width:1px;border-right-width:1px}
.tick--bl{bottom:8px;left:8px;border-bottom-width:1px;border-left-width:1px}
.tick--br{bottom:8px;right:8px;border-bottom-width:1px;border-right-width:1px}
.board__lines{position:absolute;top:0;left:0;z-index:1;overflow:visible;pointer-events:none}
.sheet-wrap{position:relative;z-index:2;grid-column:1;grid-row:1 / 3}
.evidence{position:relative;z-index:2;grid-column:3;grid-row:1;align-self:center}
.titleblock{position:relative;z-index:2;grid-column:3;grid-row:2;align-self:end;margin-top:20px}

.sheet{position:relative;padding:18px;background:var(--paper);color:var(--paper-ink);font-family:var(--f-paper);border-radius:var(--r-paper);box-shadow:var(--sh-2),0 0 0 1px var(--line)}
.sheet::before{content:"";position:absolute;z-index:-1;top:8px;left:8px;right:-8px;bottom:-8px;background:var(--paper-2);border-radius:var(--r-paper);box-shadow:0 0 0 1px var(--line)}
@media (min-width:1280px){.sheet{padding:22px}}
.sheet__head{text-align:center;padding-bottom:10px;border-bottom:2px solid var(--paper-ink)}
.sheet__title{font-size:22px;line-height:1.3;letter-spacing:.5em;text-indent:.5em}
.sheet__project{margin-top:4px;font-family:var(--f-body);font-size:11.5px;line-height:1.5;color:var(--paper-ink-2)}
.sheet__rows{margin-top:6px}
.srow{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:4px 0;border-bottom:1px dashed rgba(var(--ink-rgb),.18)}
.srow::before{content:"";position:absolute;left:-8px;right:-8px;top:0;bottom:0;background:rgba(var(--glow-2-rgb),.12);opacity:0;pointer-events:none}
.srow.is-scanned::before{-webkit-animation:rowFlash 900ms var(--ease);animation:rowFlash 900ms var(--ease)}
.srow__text{display:flex;flex-direction:column;min-width:0;margin-right:8px}
.srow__label{font-family:var(--f-body);font-size:11.5px;line-height:1.4;color:var(--paper-ink-2)}
.srow__value{font-size:13.5px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow__mark{display:inline-flex;align-items:center;flex:none;height:22px;padding:0 7px;border-radius:var(--r-tag);font-family:var(--f-body);font-size:11.5px;font-weight:600;line-height:1;white-space:nowrap;opacity:0;transform:scale(.85);transition:opacity var(--t-state) var(--ease),transform var(--t-state) var(--ease)}
.srow__mark .icon{margin-right:3px;font-size:12px}
.srow.is-marked .srow__mark{opacity:1;transform:none}
.srow__mark--ok{background:rgba(var(--ok-rgb),.16);color:var(--ok-ink)}
.srow__mark--decide{background:rgba(var(--decide-rgb),.12);color:var(--decide-ink);box-shadow:inset 0 0 0 1px rgba(var(--decide-rgb),.45)}
.srow__mark--block{background:rgba(var(--block-rgb),.14);color:var(--block-ink);box-shadow:inset 0 0 0 1px rgba(var(--block-rgb),.45)}
.sheet__foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:14px;font-family:var(--f-body);font-size:11.5px;color:var(--paper-ink-2)}
.sheet__blank{display:inline-block;width:64px;height:1em;border-bottom:1px solid rgba(var(--ink-rgb),.5);vertical-align:-2px}
.sheet__blank--short{width:44px}
.sheet__beam{position:absolute;left:-10px;right:-10px;top:0;height:64px;margin-top:-64px;background:linear-gradient(180deg,transparent,rgba(var(--glow-rgb),.14));opacity:0;pointer-events:none;will-change:transform}
.sheet__beam::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--glow);box-shadow:0 0 8px rgba(var(--glow-rgb),.4)}
#sheet-wrap.is-scanning .sheet__beam{opacity:1}
.sheet-status{display:flex;flex-wrap:wrap;margin:22px -4px 0}
.stag{display:inline-flex;align-items:center;height:26px;margin:4px;padding:0 10px;border-radius:var(--r-tag);border:1px solid;font-size:12px;font-weight:600;line-height:1;opacity:0;transform:translateY(6px);transition:opacity var(--t-state) var(--ease),transform var(--t-state) var(--ease)}
.stag--ok{color:var(--ok-text);border-color:rgba(var(--ok-rgb),.5);background:rgba(var(--ok-rgb),.1)}
.stag--decide{color:var(--decide-text);border-color:rgba(var(--decide-rgb),.5);background:rgba(var(--decide-rgb),.1);transition-delay:80ms}
.stag--block{color:var(--block-text);border-color:rgba(var(--block-rgb),.5);background:rgba(var(--block-rgb),.1);transition-delay:160ms}
.sheet-wrap.is-done .stag{opacity:1;transform:none}

.evidence__label{font-size:12px;color:var(--text-2);margin-bottom:8px}
.chip{display:flex;align-items:flex-start;padding:8px 10px;margin-bottom:8px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);transition:border-color var(--t-state) var(--ease),box-shadow var(--t-state) var(--ease),background-color var(--t-state) var(--ease)}
.chip:last-child{margin-bottom:0}
.chip__icon{margin:2px 8px 0 0;font-size:14px;color:var(--text-3)}
.chip__text{display:flex;flex-direction:column;min-width:0}
.chip__k{font-size:12px;font-weight:600;line-height:1.4;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip__v{font-size:11.5px;line-height:1.45;color:var(--text-2)}
.chip.is-lit{border-color:rgba(var(--glow-rgb),.7);box-shadow:0 0 0 3px rgba(var(--glow-rgb),.10),var(--sh-1)}
.chip.is-lit .chip__icon{color:var(--glow)}
.chip--decide.is-lit{border-color:rgba(var(--decide-rgb),.75);box-shadow:0 0 0 3px rgba(var(--decide-rgb),.12),var(--sh-1)}
.chip--decide.is-lit .chip__icon{color:var(--decide)}
.chip--block.is-lit{border-color:rgba(var(--block-rgb),.75);box-shadow:0 0 0 3px rgba(var(--block-rgb),.10),var(--sh-1)}
.chip--block.is-lit .chip__icon{color:var(--block)}
.titleblock{display:grid;grid-template-columns:auto 1fr;border:1px solid var(--line-strong);background:var(--surface);font-size:11px;line-height:1.4}
.titleblock span{padding:5px 8px;border-bottom:1px solid var(--line)}
.titleblock span:nth-child(odd){color:var(--text-2);border-right:1px solid var(--line)}
.titleblock span:nth-child(even){color:var(--pale)}
.titleblock span:nth-last-child(-n+2){border-bottom:0}

.bl-line{fill:none;stroke:rgba(var(--glow-rgb),.45);stroke-width:1.25}
.bl--decide .bl-line{stroke:rgba(var(--decide-rgb),.7);stroke-dasharray:5 5}
.bl--block .bl-line{stroke:rgba(var(--block-rgb),.7);stroke-dasharray:5 5}
.bl-pulse{fill:none;stroke:var(--glow);stroke-width:2.5;stroke-linecap:round;opacity:0}
.bl--decide .bl-pulse{stroke:var(--decide)}.bl--block .bl-pulse{stroke:var(--block)}
.bl-dot{fill:var(--glow);opacity:0;transition:opacity var(--t-state) var(--ease)}
.bl--decide .bl-dot{fill:var(--decide)}.bl--block .bl-dot{fill:var(--block)}
.bl.is-drawn .bl-dot{opacity:1}
.bl-mask{fill:none;stroke:#fff;stroke-width:6;transition:stroke-dashoffset 500ms var(--ease)}

.hero__caption{display:flex;align-items:center;justify-content:space-between;max-width:none;padding:0 4px;margin:var(--s-2) auto 0;font-size:var(--fs-14);color:var(--text-3);text-align:left}
.hero__caption-text{margin-right:12px}
.replay{display:inline-flex;align-items:center;flex:none;min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);font-size:13px;color:var(--text-2);opacity:0;visibility:hidden;transition:opacity var(--t-state) var(--ease),visibility 0s linear var(--t-state),border-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}
.replay .icon{margin-right:6px}
.replay.is-shown{opacity:1;visibility:visible;transition:opacity var(--t-state) var(--ease),visibility 0s,border-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}
.replay:hover{border-color:var(--text-3);color:var(--text)}
@media (max-width:767.98px){
  .board{padding:6px;border-radius:calc(var(--r-card) + 6px)}
  .board__plane{display:block;padding:16px;transform:none;border-radius:var(--r-card)}
  .evidence,.titleblock,.board__lines{display:none}
  .sheet-wrap{max-width:420px;margin:0 auto}
  .hero__caption-more{display:none}
}
.hero.is-resetting *,.hero.is-resetting *::before,.hero.is-resetting *::after{transition:none !important;-webkit-animation:none !important;animation:none !important}

/* ---------- 通用区块 ---------- */
.section{position:relative;padding-top:var(--section-y);padding-bottom:var(--section-y);background:var(--surface)}
.section.flow,.section.demo,.section.redline,.section.faq{background:var(--band)}
.section__head{margin-bottom:clamp(40px,5vw,64px)}
.section__tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;margin-bottom:var(--s-2);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);font-size:var(--fs-12);line-height:1;color:var(--text-2)}
.section__tag::before{content:"";width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--brand)}
.section__title{font-size:var(--fs-h2);font-weight:600;line-height:1.2;letter-spacing:-.02em;max-width:16em}
.section__lede{margin-top:var(--s-2);font-size:var(--fs-lede);line-height:1.78;color:var(--text-2);max-width:34em}
@media (min-width:1024px){
  .section__head{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);grid-column-gap:64px;column-gap:64px;align-items:end}
  .section__tag{grid-column:1;grid-row:1;justify-self:start}
  .section__title{grid-column:1;grid-row:2}
  .section__lede{grid-column:2;grid-row:2;margin-top:0;padding-bottom:.4em}
  .section__head>.redline__rule{grid-column:1 / 3;grid-row:3}
  .redline__grid .section__head,.fit__grid .section__head{display:block}
  .redline__grid .section__lede,.fit__grid .section__lede{margin-top:var(--s-2);padding-bottom:0}
}
.redline__grid .section__title,.fit__grid .section__title{font-size:clamp(32px,3.4vw,48px)}

/* ---------- 痛点 ---------- */
.pains__toggle{display:inline-flex;padding:4px;margin-bottom:var(--s-5);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2)}
.seg{min-height:40px;padding:0 20px;border-radius:var(--r-pill);font-size:var(--fs-14);font-weight:600;color:var(--text-2);transition:background-color var(--t-state) var(--ease),color var(--t-state) var(--ease),box-shadow var(--t-state) var(--ease)}
.seg+.seg{margin-left:4px}
.seg:hover{color:var(--text)}
.seg[aria-pressed="true"]{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}
.pains__list{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:40px;gap:40px}
@media (min-width:900px){.pains__list{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:32px;gap:32px}}
.pain{display:flex;flex-direction:column;padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface-2)}
.pain__title{font-size:var(--fs-h3);line-height:1.4;margin-bottom:var(--s-3)}
.frag{display:grid;flex:1 0 auto;transform:rotate(-.8deg)}
.pain:nth-child(2) .frag{transform:rotate(.6deg)}
.pain:nth-child(3) .frag{transform:rotate(-.4deg)}
.frag__face{grid-area:1 / 1;transition:opacity var(--t-state) var(--ease),transform var(--t-state) var(--ease),visibility 0s}
.pains[data-state="before"] .frag__face--after,.pains[data-state="after"] .frag__face--before{opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--t-exit) var(--ease),transform var(--t-exit) var(--ease),visibility 0s linear var(--t-exit)}
.paper{position:relative;padding:28px 22px 22px;background:var(--paper);color:var(--paper-ink);font-family:var(--f-paper);font-size:14px;line-height:1.75;border-radius:var(--r-paper);box-shadow:var(--sh-2),0 0 0 1px var(--line)}
.frag__face--before{padding-bottom:84px}
.paper__tag{position:absolute;top:10px;right:12px;font-family:var(--f-body);font-size:11px;color:var(--paper-ink-2)}
.paper__h{font-family:var(--f-body);font-weight:700;font-size:14px;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid rgba(var(--ink-rgb),.2)}
.paper__p+.paper__p{margin-top:4px}
.paper__dl div{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px dashed rgba(var(--ink-rgb),.18)}
.paper__dl dt{flex:1 1 auto;min-width:0;margin-right:10px;font-family:var(--f-body);font-size:12.5px;color:var(--paper-ink-2)}
.paper__dl dd{white-space:nowrap}
.paper__ok{margin-top:10px;font-family:var(--f-body);font-size:14px;font-weight:600;color:var(--ok-ink)}
.att__item{display:flex;align-items:center;padding:6px 0}
.att__thumb{flex:none;width:34px;height:44px;margin-right:12px;border:1px solid var(--ui-line);background-color:var(--ui-surface);background-image:repeating-linear-gradient(180deg,transparent 0,transparent 7px,rgba(var(--ink-rgb),.14) 7px,rgba(var(--ink-rgb),.14) 8px);background-clip:content-box;padding:6px 5px;border-radius:var(--r-paper)}
.att__thumb--empty{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px dashed var(--block-ink);font-family:var(--f-body);font-size:10px;font-weight:600;color:var(--block-ink)}
.att__thumb--slot{background:rgba(var(--decide-rgb),.12);border:1px dashed var(--decide-ink);padding:0}
.att__name{font-size:13.5px}
.att__item--missing .att__name{color:var(--block-ink)}
.stamp{position:absolute;right:18px;bottom:18px;padding:4px 12px;border:3px double var(--block-ink);border-radius:4px;color:var(--block-ink);font-size:18px;letter-spacing:.12em;transform:rotate(-8deg);mix-blend-mode:multiply;opacity:.92}
.wavy{text-decoration:underline wavy var(--block);-webkit-text-decoration:underline wavy var(--block);text-decoration-skip-ink:none;text-underline-position:under}
.redpen{display:block;margin-top:6px;font-family:var(--f-body);font-size:13px;font-weight:600;color:var(--block-ink)}
.okline{box-shadow:inset 0 -2px 0 rgba(var(--ok-rgb),.7)}
.uinote{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:14px;padding:8px 10px 8px 12px;background:var(--ui-surface);border:1px solid var(--ui-line);border-left:3px solid var(--decide);border-radius:var(--r-tag);font-family:var(--f-body);font-size:13px;color:var(--ui-text)}
.uinote--ok{border-left-color:var(--ok)}
.uinote__text{margin:3px 8px 3px 0}
.uinote__btn{display:inline-flex;align-items:center;height:28px;margin:3px 0;padding:0 10px;border-radius:6px;background:var(--brand);color:var(--on-brand);font-size:12px;font-weight:600}
.pain__how{margin-top:var(--s-3);font-size:15px;line-height:1.75;color:var(--text-2)}

/* ---------- 六步流程 ---------- */
.flow__aside{position:-webkit-sticky;position:sticky;top:var(--header-h);z-index:5;margin-left:calc(var(--pad-l) * -1);margin-right:calc(var(--pad-r) * -1);padding:10px var(--pad-r) 10px var(--pad-l);background:rgba(var(--band-rgb),.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.rail__list{display:flex;justify-content:space-between}
.rail__item{position:relative;flex:1 1 0;display:flex;justify-content:center}
.rail__item+.rail__item::before{content:"";position:absolute;top:15px;left:calc(-50% + 19px);right:calc(50% + 19px);border-top:1px solid var(--line-strong)}
.rail__item--split::before{border-top-style:dashed !important}
.rail__item.is-past::before,.rail__item.is-past+.rail__item::before{border-top-color:var(--brand)}
.rail__link{display:flex;flex-direction:column;align-items:center;min-width:44px;min-height:44px;text-align:center;color:var(--text-2);transition:color var(--t-hover) var(--ease)}
.rail__num{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;transition:background-color var(--t-state) var(--ease),border-color var(--t-state) var(--ease),box-shadow var(--t-state) var(--ease),color var(--t-state) var(--ease)}
.rail__item.is-past .rail__num{border-color:var(--brand);color:var(--brand)}
.rail__link[aria-current="step"]{color:var(--text)}
.rail__link[aria-current="step"] .rail__num{background:var(--brand);border-color:var(--brand-edge);color:var(--on-brand);box-shadow:0 0 0 4px rgba(var(--glow-rgb),.14)}
.rail__link:hover{color:var(--text)}
.rail__name{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important}
@media (min-width:768px){
  .rail__name{position:static !important;width:auto !important;height:auto !important;overflow:visible !important;clip:auto !important;-webkit-clip-path:none !important;clip-path:none !important;white-space:normal !important;margin-top:6px;font-size:12px;line-height:1.4;max-width:7em}
}
.flow__screen{display:none}
.step{padding:40px 0;scroll-margin-top:calc(var(--header-h) + 76px);border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:0}
.step__title{display:flex;align-items:center;font-size:var(--fs-h3);line-height:1.3;transition:color var(--t-state) var(--ease)}
.step__num{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;margin-right:14px;border-radius:50%;border:1px solid var(--line-strong);font-family:var(--f-body);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--brand);background:var(--surface);transition:background-color var(--t-state) var(--ease),border-color var(--t-state) var(--ease),color var(--t-state) var(--ease)}
.step__line{margin-top:14px;font-size:17px;line-height:1.75;color:var(--text)}
.split{margin-top:18px}
.split__row{display:grid;grid-template-columns:64px minmax(0,1fr);padding:12px 0;border-top:1px solid var(--line)}
.split__row dt{font-size:13px;font-weight:700;line-height:1.9;color:var(--brand)}
.split__row--you dt{color:var(--decide-text)}
.split__row dd{font-size:15px;line-height:1.8;color:var(--text-2)}
.step .mock{margin-top:24px}

@media (min-width:1024px){
  .flow--staged .flow__body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:64px;gap:64px;align-items:start}
  .flow--staged .flow__aside{top:calc(var(--header-h) + 20px);height:calc(100vh - var(--header-h) - 40px);max-height:720px;display:flex;flex-direction:column;margin:0;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0}
  .flow--staged .flow__screen{display:block;position:relative;flex:1 1 auto;min-height:0;margin-top:24px}
  .flow--staged .flow__screen::before{content:"";position:absolute;z-index:-1;left:-8%;right:-8%;top:10%;bottom:-6%;background:radial-gradient(closest-side,rgba(var(--glow-2-rgb),.10),transparent);pointer-events:none}
  .flow--staged .step{min-height:66vh;display:flex;flex-direction:column;justify-content:center}
  .flow--staged .step .mock{position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important}
  .flow--staged .step__title{color:var(--text-2)}
  .flow--staged .step.is-active .step__title{color:var(--text)}
  .flow--staged .step.is-active .step__num{background:var(--brand);border-color:var(--brand-edge);color:var(--on-brand)}
  .flow--staged .step:last-child{border-bottom:0}
}
.flow{isolation:isolate}
.screen__slide{position:absolute;top:0;left:0;right:0;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity var(--t-exit) var(--ease),transform var(--t-exit) var(--ease),visibility 0s linear var(--t-exit)}
.screen__slide.is-active{opacity:1;visibility:visible;transform:none;transition:opacity var(--t-expand) var(--ease) 60ms,transform var(--t-expand) var(--ease) 60ms,visibility 0s}
.screen__fit{transform-origin:0 0}

/* ---------- 产品界面示意（mock，浅色） ---------- */
/* 产品示意沿用产品界面的墨策蓝，不跟页面的 logo 深蓝走（须在容器上重设语义令牌，:root 上已解析的值会被继承） */
.mock,.wb{--brand:var(--mc-blue-600);--brand-hover:var(--mc-blue-700);--brand-edge:var(--mc-blue-600);--glow:var(--mc-blue-600);--glow-2:var(--mc-blue-500);--tint:var(--mc-blue-50);--tint-2:var(--mc-blue-100);--brand-rgb:58,91,168;--glow-rgb:58,91,168;--glow-2-rgb:74,104,176;--focus-ring:var(--mc-blue-600)}
.mock{background:var(--ui-bg);color:var(--ui-text);border-radius:var(--r-panel);overflow:hidden;font-family:var(--f-body);font-size:13px;line-height:1.6;box-shadow:0 0 0 1px var(--line),var(--sh-3)}
.mock__bar{display:flex;align-items:center;height:40px;padding:0 14px;background:var(--ui-surface);border-bottom:1px solid var(--ui-line);white-space:nowrap}
.mock__step{font-weight:700;margin-right:12px}
.mock__proj{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--paper-ink-2);font-size:12px;margin-right:10px}
.mk-sample,.wb-tag--sample{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:var(--r-tag);border:1px solid var(--ui-line-strong);font-size:11px;font-weight:600;color:var(--paper-ink-2)}
.mock__body{padding:16px}
.mk-label{font-size:12px;font-weight:700;color:var(--paper-ink-2);margin:12px 0 6px}
.mk-label:first-child{margin-top:0}
.mk-tags{display:flex;flex-wrap:wrap;margin:-3px}
.mk-tag{display:inline-flex;align-items:center;flex:none;height:22px;margin:3px;padding:0 7px;border-radius:var(--r-tag);background:rgba(var(--glow-2-rgb),.1);color:var(--brand-hover);font-size:12px;font-weight:600;white-space:nowrap}
.mk-tag--decide{background:rgba(var(--decide-rgb),.12);color:var(--decide-ink)}
.mk-tag--block{background:rgba(var(--block-rgb),.14);color:var(--block-ink)}
.mk-panel{margin-top:12px;padding:12px 14px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:10px}
.mk-panel:first-child{margin-top:0}
.mk-panel__h{font-weight:700;margin-bottom:8px}
.mk-q{margin-bottom:8px}
.mk-options{display:flex;flex-wrap:wrap;margin:-3px -6px 6px}
.mk-radio{position:relative;display:inline-flex;align-items:center;margin:3px 6px;padding-left:20px}
.mk-radio::before{content:"";position:absolute;left:0;top:50%;width:13px;height:13px;margin-top:-7px;border-radius:50%;border:1.5px solid var(--ui-line-strong);background:var(--ui-surface)}
.mk-radio.is-checked::before{border-color:var(--brand);box-shadow:inset 0 0 0 3px var(--ui-surface);background:var(--brand)}
.mk-note{font-size:12px;color:var(--paper-ink-2)}
.mk-actions{display:flex;flex-wrap:wrap;align-items:center;margin:10px -4px 0}
.mk-actions>*{margin:4px}
.mk-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;height:32px;padding:0 14px;border-radius:6px;background:var(--brand);color:var(--on-brand);font-size:13px;font-weight:600;white-space:nowrap}
.mk-btn--ghost{background:var(--ui-surface);color:var(--brand);box-shadow:inset 0 0 0 1px rgba(var(--brand-rgb),.45)}
.mk-btn--sm{height:26px;padding:0 10px;font-size:12px}
.mk-btn.is-disabled{background:var(--ui-disabled-bg);color:var(--ui-disabled-text);box-shadow:none}
.mk-summary{display:flex;flex-wrap:wrap;margin:-3px -6px 8px;font-size:12.5px}
.mk-summary>*{margin:3px 6px}
.mk-group{margin-top:10px}
.mk-group__h{display:flex;align-items:center;font-size:12.5px;font-weight:700;margin-bottom:4px}
.mk-group__h::before{content:"";flex:none;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--glow-2)}
.mk-group__h--decide::before{background:var(--decide)}
.mk-group__h--missing::before{background:var(--block)}
.mk-row{display:flex;align-items:center;flex-wrap:wrap;padding:7px 0;border-top:1px solid var(--ui-line)}
.mk-row:first-of-type{border-top:0}
.mk-row--top{align-items:flex-start}
.mk-row>*{margin-right:8px}
.mk-row>*:last-child{margin-right:0}
.mk-row__text{flex:1 1 180px;min-width:0}
.mk-seg{display:inline-flex;border:1px solid var(--ui-line);border-radius:6px;overflow:hidden;font-size:12px}
.mk-seg span{padding:2px 8px}
.mk-seg span+span{border-left:1px solid var(--ui-line)}
.mk-seg .is-checked{background:rgba(var(--brand-rgb),.08);color:var(--brand-hover);font-weight:600}
.mk-ai{font-size:12px;color:var(--brand-hover)}
.mk-collapsed{margin-top:6px;font-size:12px;color:var(--paper-ink-2)}
.mk-decision{font-size:12px;color:var(--paper-ink-2)}
.mk-rec{flex:none;font-size:12px;font-weight:600;color:var(--brand-hover)}
.mk-steps{display:flex;margin-bottom:12px;font-size:12px}
.mk-steps li{position:relative;flex:0 1 auto;margin-right:22px;padding-left:18px;color:var(--paper-ink-2)}
.mk-steps li::before{content:"";position:absolute;left:0;top:.42em;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ui-line-strong);background:var(--ui-surface)}
.mk-steps li+li::after{content:"";position:absolute;left:-18px;top:calc(.42em + 6px);width:14px;border-top:1px solid var(--ui-line-strong)}
.mk-steps--muted{margin:12px 0 0}
.mk-steps li.is-done{color:var(--ok-ink)}
.mk-steps li.is-done::before{background:var(--ok);border-color:var(--ok)}
.mk-steps li.is-current{color:var(--brand-hover);font-weight:600}
.mk-steps li.is-current::before{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.18)}
.mk-steps--muted li{color:var(--ui-disabled-text)}
.mk-price{display:flex;flex-wrap:wrap;align-items:baseline;padding:12px 14px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:10px}
.mk-price__k{font-size:12px;color:var(--paper-ink-2);margin-right:12px}
.mk-price__v{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-right:12px}
.mk-price__cn{font-size:12.5px;color:var(--paper-ink-2)}
.mk-checks{margin-top:10px;font-size:12.5px}
.mk-checks__ok{color:var(--ok-ink);font-weight:600}
.mk-muted{color:var(--paper-ink-2)}
.mk-lock{display:flex;align-items:center;margin-top:10px;padding:8px 12px;border-radius:8px;background:rgba(var(--brand-rgb),.07);color:var(--brand-hover);font-size:12.5px;font-weight:600}
.mk-lock .icon{margin-right:6px}
.mk-report{margin-top:12px;padding:8px 12px;border-radius:8px;background:var(--paper);font-size:12.5px;color:var(--paper-ink)}
.mk-gate{margin-top:12px;padding:12px 14px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:10px}
.mk-gate__h{font-size:12.5px;font-weight:700;margin-bottom:6px}
.mk-gate__list{margin-bottom:10px}
.mk-gate__list li{position:relative;padding-left:20px;font-size:12.5px;line-height:1.9}
.mk-gate__list li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--block)}
.mk-gate__list li.is-ok::before{background:var(--ok);border-color:var(--ok)}
.mk-phases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}
.mk-phases>*{position:relative;padding:10px 12px 10px 26px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:8px}
.mk-phases>*::before{content:"";position:absolute;left:10px;top:15px;width:9px;height:9px;border-radius:50%;background:var(--ui-line-strong)}
.mk-phases>.is-done::before{background:var(--ok)}
.mk-phases>.is-current{border-color:var(--brand);box-shadow:0 0 0 2px rgba(var(--brand-rgb),.12)}
.mk-phases>.is-current::before{background:var(--brand)}
.mk-phase__k{display:block;font-weight:700;font-size:12.5px}
.mk-phase__v{display:block;font-size:12px;color:var(--paper-ink-2)}
.mk-phase__act{display:block;margin-top:4px;font-size:12px;color:var(--brand-hover);font-weight:600}
.mk-phase__hint{display:block;margin-top:2px;font-size:11.5px;color:var(--paper-ink-2)}
.mk-checklist{margin-top:10px;padding:10px 14px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:10px}
.mk-checklist li{display:flex;align-items:flex-start;padding:3px 0;font-size:12.5px;line-height:1.7}
.mk-checklist .icon{margin:3px 8px 0 0;font-size:13px;color:var(--ok-ink)}
.mk-checklist li.is-bad{color:var(--block-ink);font-weight:600}
.mk-checklist li.is-bad .icon{color:var(--block-ink)}
.mk-phase__hint .icon{margin-right:4px}
@media (max-width:479.98px){.mk-phases{grid-template-columns:minmax(0,1fr)}.mock__proj{display:none}}

/* ---------- 三个保证 ---------- */
.assure__list{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--s-2);gap:var(--s-2);counter-reset:assure}
@media (min-width:900px){.assure__list{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-3);gap:var(--s-3)}}
.assure__item{position:relative;padding:var(--s-4);border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);transition:border-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.assure__item::before{content:"";display:block;width:32px;height:2px;margin-bottom:var(--s-3);border-radius:2px;background:var(--brand)}
@media (hover:hover){.assure__item:hover{border-color:var(--line-strong);box-shadow:var(--sh-1)}}
.assure__item h3{font-size:var(--fs-h3);line-height:1.4}
.assure__item p{margin-top:var(--s-1);font-size:var(--fs-16);line-height:1.8;color:var(--text-2)}

/* ---------- 动手试一下（工作台） ---------- */
.demo{isolation:isolate;overflow:hidden}
.demo::before{content:"";position:absolute;z-index:-1;left:50%;top:0;width:1400px;height:800px;margin-left:-700px;background:radial-gradient(closest-side,rgba(var(--glow-2-rgb),.08),transparent);pointer-events:none}
.wb{color-scheme:light;position:relative;background:var(--ui-bg);color:var(--ui-text);border-radius:var(--r-panel);font-family:var(--f-body);font-size:15px;line-height:1.7;box-shadow:0 0 0 1px var(--line),var(--sh-3)}
.wb :focus{outline-color:var(--brand)}
.wb__nojs{padding:32px;color:var(--ui-text)}
.wb__bar{display:flex;align-items:center;flex-wrap:wrap;min-height:48px;padding:8px 20px;background:var(--ui-surface);border-bottom:1px solid var(--ui-line);border-radius:16px 16px 0 0}
.wb__step{font-weight:700;margin-right:14px}
.wb__proj{flex:1 1 auto;min-width:0;margin-right:10px;font-size:13px;color:var(--paper-ink-2)}
.wb__body{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:24px;gap:24px;padding:20px}
@media (min-width:1024px){.wb__body{grid-template-columns:minmax(0,8fr) minmax(0,4fr);grid-gap:28px;gap:28px;padding:28px}}
.wb-section+.wb-section{margin-top:24px}
.wb-h{display:flex;align-items:center;font-size:16px;font-weight:700;margin-bottom:10px}
.wb-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;margin-left:8px;padding:0 7px;border-radius:999px;background:var(--brand);color:var(--on-brand);font-size:12.5px;font-variant-numeric:tabular-nums;transition:background-color var(--t-state) var(--ease)}
.wb-count.is-clear{background:var(--ok-ink)}
.wb-card{position:relative;padding:16px 18px;margin-top:12px;background:var(--ui-surface);border:1px solid var(--ui-line);border-left:3px solid var(--ui-line-strong);border-radius:10px;transition:border-color var(--t-state) var(--ease)}
.wb-h+div>.wb-card,.wb-legend+div>.wb-card{margin-top:0}
.wb-card--decide{border-left-color:var(--decide)}
.wb-card--block{border-left-color:var(--block)}
.wb-card--minor{border-left-color:var(--glow-2)}
.wb-card--done{border-left-color:var(--ok)}
.wb-card--accepted{border-left-color:var(--ui-line-strong)}
.wb-card__head{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.wb-card__head>*{margin-right:8px}
.wb-card__title{font-size:15.5px;font-weight:700;line-height:1.5}
.wb-card__body{color:var(--ui-text)}
.wb-tag{display:inline-flex;align-items:center;flex:none;height:22px;padding:0 7px;border-radius:var(--r-tag);font-size:12px;font-weight:700;line-height:1;white-space:nowrap}
.wb-tag--decide{background:rgba(var(--decide-rgb),.12);color:var(--decide-ink)}
.wb-tag--block{background:rgba(var(--block-rgb),.14);color:var(--block-ink)}
.wb-tag--minor{background:rgba(var(--glow-2-rgb),.12);color:var(--brand-hover)}
.wb-tag--ok{background:rgba(var(--ok-rgb),.16);color:var(--ok-ink)}
.wb-tag--accepted{background:var(--ui-disabled-bg);color:var(--ui-disabled-text)}
.wb-tag--new{background:var(--brand);color:var(--on-brand)}
.wb-level{font-size:12.5px;font-weight:600;color:var(--block-ink)}
.wb-choice{border:0;margin:12px 0 0;padding:0;min-width:0}
.wb-options{display:flex;flex-wrap:wrap;margin:-4px}
.wb-radio{position:relative;display:inline-flex;align-items:center;min-height:44px;margin:4px;padding:0 14px 0 40px;border:1px solid var(--ui-line);border-radius:var(--r-control);background:var(--ui-surface);cursor:pointer;transition:border-color var(--t-hover) var(--ease),background-color var(--t-hover) var(--ease)}
.wb-radio:hover{border-color:var(--ui-line-strong)}
.wb-radio::before{content:"";position:absolute;left:14px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:1.5px solid var(--ui-line-strong);background:var(--ui-surface);transition:border-color var(--t-hover) var(--ease)}
.wb-radio::after{content:"";position:absolute;left:19px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--brand);transform:scale(0);transition:transform var(--t-state) var(--ease)}
.wb-radio.is-checked{border-color:var(--brand);background:rgba(var(--brand-rgb),.05)}
.wb-radio.is-checked::before{border-color:var(--brand)}
.wb-radio.is-checked::after{transform:scale(1)}
.wb-radio input{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.wb-radio:focus-within{box-shadow:0 0 0 3px rgba(var(--brand-rgb),.35)}
.wb-rec{display:inline-flex;align-items:center;height:20px;margin-left:8px;padding:0 6px;border-radius:var(--r-tag);background:rgba(var(--brand-rgb),.08);color:var(--brand-hover);font-size:11.5px;font-weight:700}
.wb-reason{margin-top:8px;font-size:13.5px;color:var(--paper-ink-2)}
.wb-field{margin-top:14px}
.wb-field label{display:block;font-size:13.5px;font-weight:700;margin-bottom:6px}
.wb-field textarea{display:block;width:100%;min-height:76px;padding:10px 12px;border:1px solid var(--ui-line-strong);border-radius:var(--r-control);background:var(--ui-surface);color:var(--ui-text);font:inherit;font-size:16px;line-height:1.6;resize:vertical;-webkit-appearance:none;appearance:none;transition:border-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.wb-field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.25)}
.wb-field textarea[aria-invalid="true"]{border-color:var(--block-ink)}
.wb-field textarea[readonly]{background:var(--ui-bg);color:var(--paper-ink-2)}
.wb-hint{margin-top:6px;font-size:13px;color:var(--paper-ink-2)}
.wb-error{display:flex;align-items:flex-start;margin-top:6px;font-size:13.5px;font-weight:600;color:var(--block-ink)}
.wb-error .icon{margin:4px 6px 0 0}
.wb-link{display:inline-flex;align-items:center;min-height:32px;margin-top:4px;color:var(--brand);font-size:13.5px;font-weight:600;text-decoration:underline;text-decoration-color:rgba(var(--brand-rgb),.4)}
.wb-link:hover{text-decoration-color:var(--brand)}
.wb-actions{display:flex;flex-wrap:wrap;align-items:center;margin:9px -5px -5px}
.wb-actions>*{margin:5px}
.wb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:var(--r-control);border:1px solid var(--ui-line-strong);background:var(--ui-surface);color:var(--ui-text);font-size:14.5px;font-weight:600;white-space:nowrap;transition:background-color var(--t-hover) var(--ease),border-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.wb-btn:hover{border-color:var(--brand)}
.wb-btn--primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.wb-btn--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.wb-btn[aria-disabled="true"],.wb-btn[aria-disabled="true"]:hover{background:var(--ui-disabled-bg);border-color:var(--ui-disabled-bg);color:var(--ui-disabled-text);box-shadow:none}
.wb-card.is-checking{overflow:hidden}
.wb-card.is-checking::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,rgba(var(--glow-2-rgb),.12),transparent);-webkit-animation:wbShimmer 900ms linear infinite;animation:wbShimmer 900ms linear infinite;pointer-events:none}
.wb-checking{display:inline-flex;align-items:center;font-size:13.5px;font-weight:600;color:var(--brand-hover)}
.wb-checking::before{content:"";width:14px;height:14px;margin-right:8px;border-radius:50%;border:2px solid rgba(var(--brand-rgb),.25);border-top-color:var(--brand);-webkit-animation:wbSpin 700ms linear infinite;animation:wbSpin 700ms linear infinite}
.wb-quote{margin-top:8px;padding:6px 10px;border-left:2px solid var(--ui-line-strong);background:var(--ui-bg);font-size:13.5px;color:var(--paper-ink-2)}
.wb-rule{margin-top:8px;font-size:13px;font-weight:600;color:var(--block-ink)}
.wb-legend{font-size:13px;color:var(--paper-ink-2);margin:-4px 0 10px}
.wb-done{display:flex;align-items:flex-start;font-size:14px;font-weight:600;color:var(--ok-ink)}
.wb-done .icon{margin:5px 6px 0 0}
.wb-card--accepted .wb-done{color:var(--paper-ink-2)}
.wb-paper{position:relative;overflow:hidden;min-height:96px;padding:18px 20px;background:var(--paper);color:var(--paper-ink);font-family:var(--f-paper);font-size:15px;line-height:1.9;border-radius:var(--r-paper);box-shadow:0 0 0 1px var(--ui-line)}
.wb-paper.is-flash{-webkit-animation:paperFlash 900ms var(--ease);animation:paperFlash 900ms var(--ease)}
.wb-paper__mark{position:absolute;right:16px;top:50%;margin-top:-30px;font-family:var(--f-display);font-weight:600;font-size:44px;line-height:60px;color:rgba(var(--ink-rgb),.07);transform:rotate(-12deg);pointer-events:none;-webkit-user-select:none;user-select:none}
.wb-paper__badge{display:none;position:absolute;top:10px;right:12px;height:22px;padding:0 8px;align-items:center;border-radius:var(--r-tag);background:rgba(var(--ok-rgb),.16);color:var(--ok-ink);font-family:var(--f-body);font-size:12px;font-weight:700}
.wb-paper.is-final .wb-paper__mark{display:none}
.wb-paper.is-final .wb-paper__badge{display:inline-flex}
.wb-paper__h{font-family:var(--f-body);font-size:13.5px;font-weight:700;margin-bottom:4px}
.wb-paper__text{position:relative}
.wb-paper__text.is-muted{color:var(--paper-ink-2)}
.wb-report,.wb-gate{padding:16px 18px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:10px}
.wb-gate{margin-top:16px}
.wb-report h3,.wb-gate h3{font-family:var(--f-body);font-size:16px;font-weight:700}
.wb-report__sum{margin-top:6px;font-size:13.5px;color:var(--paper-ink-2)}
.wb-report__sum b{display:inline-block;font-size:18px;color:var(--ui-text);font-variant-numeric:tabular-nums}
.wb-report__sum b.is-bump{-webkit-animation:bump 420ms var(--ease);animation:bump 420ms var(--ease)}
.wb-report__group{margin-top:12px}
.wb-report__gh{font-size:13px;font-weight:700;margin-bottom:4px}
.wb-list li{position:relative;padding:3px 0 3px 16px;font-size:13.5px;line-height:1.6}
.wb-list li::before{content:"";position:absolute;left:2px;top:.85em;width:6px;height:6px;border-radius:50%;background:var(--ui-line-strong)}
.wb-list--open li::before{background:var(--decide)}
.wb-list--assured li::before{background:var(--ok)}
.wb-list--decision li::before{background:var(--glow-2)}
.wb-more{margin-top:10px;border-top:1px solid var(--ui-line)}
.wb-more summary{display:block;position:relative;min-height:44px;padding:11px 24px 11px 0;font-size:13.5px;font-weight:600;color:var(--brand);cursor:pointer;list-style:none}
.wb-more summary::-webkit-details-marker{display:none}
.wb-more summary::after{content:"";position:absolute;right:6px;top:18px;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--t-state) var(--ease)}
.wb-more[open] summary::after{transform:rotate(-135deg);top:21px}
.wb-report__note{margin-top:10px;padding-top:10px;border-top:1px dashed var(--ui-line);font-size:12.5px;color:var(--paper-ink-2)}
.wb-gate__lead{margin-top:4px;font-size:13.5px;color:var(--paper-ink-2)}
.wb-gate__list{margin:8px 0 12px}
.wb-gate__item{display:flex;align-items:center;min-height:40px;font-size:14px}
.wb-gate__dot{flex:none;width:12px;height:12px;margin-right:10px;border-radius:50%;border:2px solid var(--block);transition:background-color var(--t-state) var(--ease),border-color var(--t-state) var(--ease)}
.wb-gate__item.is-met .wb-gate__dot{background:var(--ok);border-color:var(--ok)}
.wb-gate__item.is-met{color:var(--ok-ink)}
.wb-gate__jump{display:flex;align-items:center;width:100%;min-height:40px;text-align:left;border-radius:6px;transition:background-color var(--t-hover) var(--ease)}
.wb-gate__jump:hover{background:var(--ui-bg)}
.wb-gate__txt{flex:1 1 auto;min-width:0}
.wb-gate__go{flex:none;margin-left:8px;font-size:13px;font-weight:600;color:var(--brand)}
.wb-gate__btn{width:100%;min-height:48px;font-size:15px}
.wb-gate__btn.is-shake{-webkit-animation:shake 360ms var(--ease);animation:shake 360ms var(--ease)}
.wb-final{display:flex;align-items:flex-start;margin-top:12px;padding:10px 12px;border-radius:8px;background:rgba(var(--ok-rgb),.16);color:var(--ok-ink);font-size:14px;font-weight:600}
.wb-final .icon{margin:5px 6px 0 0}
.wb-reset{margin-top:8px}
.wb__toast{position:fixed;left:50%;bottom:24px;z-index:60;max-width:calc(100% - 32px);padding:10px 16px;border-radius:var(--r-pill);background:var(--cta);color:var(--btn-primary-fg);border:1px solid var(--cta);box-shadow:var(--sh-2);font-size:14px;line-height:1.5;opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity var(--t-exit) var(--ease),transform var(--t-exit) var(--ease),visibility 0s linear var(--t-exit);pointer-events:none}
.wb__toast.is-shown{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity var(--t-state) var(--ease),transform var(--t-state) var(--ease),visibility 0s}
@media (max-width:767.98px){.wb__toast{bottom:calc(84px + env(safe-area-inset-bottom))}.wb__bar{padding:8px 14px}.wb__body{padding:14px}.wb-card{padding:14px}}

/* ---------- 对比 ---------- */
.compare__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:15px;line-height:1.7}
.compare__table th,.compare__table td{padding:20px 24px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare__table thead th{font-size:16px;font-weight:700;color:var(--text);border-bottom-color:var(--line-strong)}
.compare__table tbody th{font-weight:700;color:var(--text);font-size:14.5px}
.compare__table td{color:var(--text-2)}
.compare__corner{width:18%}
.compare__table .is-ours{background:var(--tint);color:var(--text);border-bottom-color:var(--tint-2)}
.compare__table thead .is-ours{color:var(--brand);border-radius:var(--r-card) var(--r-card) 0 0;border-bottom-color:var(--tint-2)}
.compare__table tbody tr:last-child .is-ours{border-radius:0 0 var(--r-card) var(--r-card);border-bottom:0}
.compare__table tbody tr:last-child th,.compare__table tbody tr:last-child td{border-bottom:0}
@media (max-width:767.98px){
  .compare__table,.compare__table tbody,.compare__table tr,.compare__table th,.compare__table td{display:block;width:auto}
  .compare__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%)}
  .compare__table tr{margin-bottom:16px;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:var(--surface)}
  .compare__table tbody th{padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
  .compare__table td{padding:14px 16px}
  .compare__table td::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:12.5px;font-weight:700;color:var(--text-2)}
  .compare__table td.is-ours::before{color:var(--brand)}
  .compare__table tbody tr:last-child .is-ours{border-radius:0}
  .compare__table tbody tr th,.compare__table tbody tr td{border-bottom:1px solid var(--line)}
  .compare__table tbody tr td:last-child{border-bottom:0}
}

/* ---------- 红线 ---------- */
.redline__grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:32px;gap:32px}
@media (min-width:1024px){.redline__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-gap:64px;gap:64px}}
.redline__rule{display:block;width:100%;height:8px;margin-top:28px;overflow:visible}
.redline__rule line{stroke:var(--block);stroke-width:2;stroke-dasharray:18 5 3 5}
.redline__list{border-top:1px solid var(--line)}
.redline__list li{display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:16px;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}
.redline__list .icon{width:24px;height:24px;margin-top:4px;color:var(--block-text)}
.redline__list h3{font-size:var(--fs-20);line-height:1.4}
.redline__list p{margin-top:6px;color:var(--text-2);font-size:15.5px}

/* ---------- 适用对象 ---------- */
.fit__grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:24px;gap:24px}
@media (min-width:1024px){.fit__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-gap:64px;gap:64px}}
.fit__grid .section__head{margin-bottom:0}
.fit__list{border-top:1px solid var(--line)}
.fit__list li{display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:14px;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16.5px;line-height:1.75}
.fit__list .icon{width:20px;height:20px;margin-top:5px;color:var(--ok-text)}

/* ---------- 常见问题 ---------- */
.faq__cols{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.faq__cols{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 48px;gap:0 48px}}
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
@media (max-width:899.98px){.faq__col:first-child .qa:last-child{border-bottom:0}}
.qa__q{display:block;position:relative;min-height:64px;padding:20px 40px 20px 0;font-family:var(--f-body);font-size:17px;font-weight:600;line-height:1.5;cursor:pointer;list-style:none;transition:color var(--t-hover) var(--ease)}
.qa__q::-webkit-details-marker{display:none}
.qa__q:hover{color:var(--brand)}
.qa__q .icon{position:absolute;right:4px;top:24px;width:18px;height:18px;color:var(--text-3);transition:transform var(--t-state) var(--ease)}
.qa[open]:not(.is-closing) .qa__q .icon{transform:rotate(45deg)}
.qa__a{overflow:hidden}
.qa__a p{padding:0 32px 20px 0;color:var(--text-2);font-size:15.5px;line-height:1.85}

/* ---------- 联系 ---------- */
.contact{overflow:hidden;isolation:isolate;text-align:center;background:linear-gradient(180deg,var(--surface),var(--tint))}
.contact__bg{position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;pointer-events:none;
  background-image:radial-gradient(ellipse 70% 60% at 50% 100%,rgba(var(--glow-2-rgb),.10),transparent 70%),linear-gradient(rgba(var(--pale-rgb),.05) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--pale-rgb),.05) 1px,transparent 1px);
  background-size:100% 100%,48px 48px,48px 48px;background-position:0 0,center -1px,-1px 0;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 35%);mask-image:linear-gradient(180deg,transparent,#000 35%)}
.contact__inner{position:relative}
.contact__title{font-size:var(--fs-h2);line-height:1.2;letter-spacing:-.02em;max-width:14em;margin:0 auto}
.contact__lede{margin-top:var(--s-2);font-size:var(--fs-lede);color:var(--text-2)}
.contact__actions{margin-top:var(--s-4)}
.contact__ways{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px;max-width:1320px;margin:48px auto 0;text-align:left}
@media (min-width:768px){.contact__ways{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}}
.contact__way{padding:var(--s-3);border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg)}
.contact__way dt{font-size:13px;color:var(--text-2)}
.contact__way dd{margin-top:6px;font-size:16px;font-weight:600}
.placeholder{color:var(--decide-text);font-weight:600}
.qr{display:flex;align-items:center;justify-content:center;width:120px;height:120px;padding:8px;border:1px dashed var(--line-strong);border-radius:var(--r-control);font-size:12px;font-weight:600;line-height:1.5;text-align:center;color:var(--decide-text)}
.qr--sm{width:96px;height:96px}

/* ---------- 页脚 ---------- */
.site-footer{padding:var(--s-8) 0 calc(var(--s-6) + env(safe-area-inset-bottom));background:var(--footer-bg);font-size:var(--fs-14);line-height:1.8;color:var(--footer-fg)}
.site-footer .brand__name{color:var(--footer-title)}.site-footer .brand__mark{width:40px;height:40px;border-radius:10px;box-shadow:0 0 0 1px rgba(255,255,255,.22)}.site-footer .brand__product{color:var(--footer-fg-strong)}.site-footer .brand__sep{background:var(--footer-link-line)}
.site-footer .placeholder{color:var(--footer-placeholder)}
.site-footer__inner{display:grid;grid-gap:var(--s-2);gap:var(--s-2)}
.site-footer__brand{display:flex;align-items:center;margin-bottom:var(--s-1)}
.site-footer__disclaimer{color:var(--footer-fg-strong)}
.site-footer__legal{display:flex;flex-wrap:wrap;margin:var(--s-2) -8px 0;padding-top:var(--s-3);border-top:1px solid var(--footer-line)}
.site-footer__legal>*{margin:2px 8px}
.site-footer__legal a{border-bottom:1px solid var(--footer-link-line)}
.site-footer__legal a:hover{color:var(--footer-title);border-bottom-color:var(--footer-fg)}
@media (max-width:767.98px){.js .site-footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}}

/* ---------- 弹窗 ---------- */
.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.modal__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--scrim-rgb),.36);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity var(--t-exit) var(--ease)}
.modal__dialog{position:relative;width:100%;max-width:520px;max-height:100%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--s-5) var(--s-4) var(--s-4);border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3);opacity:0;transform:translateY(12px) scale(.98);transition:opacity var(--t-exit) var(--ease),transform var(--t-exit) var(--ease)}
.modal.is-open .modal__scrim{opacity:1;transition-duration:var(--t-state)}
.modal.is-open .modal__dialog{opacity:1;transform:none;transition-duration:var(--t-state)}
.modal__close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--text-2);transition:background-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}
.modal__close:hover{background:var(--surface-2);color:var(--text)}
.modal__close .icon{width:18px;height:18px}
.modal__title{font-size:var(--fs-32);line-height:1.25;padding-right:40px}
.modal__desc{margin-top:8px;color:var(--text-2)}
.modal__ways{margin-top:20px;border-top:1px solid var(--line)}
.modal__ways>div{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}
.modal__ways dt{color:var(--text-2);font-size:14px;margin-right:16px}
.modal__ways dd{font-weight:600;text-align:right}
.modal__hours{margin-top:14px;font-size:13.5px;color:var(--text-2)}

/* ---------- 手机底部操作条 ---------- */
.m-cta{display:none}
@media (max-width:767.98px){
  .js .m-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding:10px var(--pad-r) calc(10px + env(safe-area-inset-bottom)) var(--pad-l);background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);transform:translateY(100%);visibility:hidden;transition:transform var(--t-exit) var(--ease),visibility 0s linear var(--t-exit)}
  .js .m-cta.is-shown{transform:none;visibility:visible;transition:transform var(--t-state) var(--ease),visibility 0s}
  .m-cta .btn{width:100%}
}

/* ---------- 关键帧 ---------- */
@-webkit-keyframes rowFlash{0%{opacity:0}25%{opacity:1}100%{opacity:0}}
@keyframes rowFlash{0%{opacity:0}25%{opacity:1}100%{opacity:0}}
@-webkit-keyframes bump{0%{transform:none}40%{transform:translateY(-3px) scale(1.12)}100%{transform:none}}
@keyframes bump{0%{transform:none}40%{transform:translateY(-3px) scale(1.12)}100%{transform:none}}
@-webkit-keyframes shake{0%,100%{transform:none}25%{transform:translateX(-5px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-5px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@-webkit-keyframes paperFlash{0%{box-shadow:0 0 0 1px var(--ui-line),0 0 0 0 rgba(var(--glow-2-rgb),.5)}40%{box-shadow:0 0 0 1px var(--glow-2),0 0 0 6px rgba(var(--glow-2-rgb),.18)}100%{box-shadow:0 0 0 1px var(--ui-line),0 0 0 0 rgba(var(--glow-2-rgb),0)}}
@keyframes paperFlash{0%{box-shadow:0 0 0 1px var(--ui-line),0 0 0 0 rgba(var(--glow-2-rgb),.5)}40%{box-shadow:0 0 0 1px var(--glow-2),0 0 0 6px rgba(var(--glow-2-rgb),.18)}100%{box-shadow:0 0 0 1px var(--ui-line),0 0 0 0 rgba(var(--glow-2-rgb),0)}}
@-webkit-keyframes wbShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
@keyframes wbShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
@-webkit-keyframes wbSpin{to{transform:rotate(360deg)}}
@keyframes wbSpin{to{transform:rotate(360deg)}}

/* ---------- 减少动态 ---------- */
@media (prefers-reduced-motion:reduce){
  html.js{scroll-behavior:auto}
  *,*::before,*::after{-webkit-animation-duration:.01ms !important;animation-duration:.01ms !important;-webkit-animation-iteration-count:1 !important;animation-iteration-count:1 !important;-webkit-animation-delay:0s !important;animation-delay:0s !important;transition-duration:.01ms !important;transition-delay:0s !important}
  .replay{display:none}
  .wb-card.is-checking::after{display:none}
}

/* ---------- 无脚本兜底（放在最后） ---------- */
.no-js .srow .srow__mark{opacity:1;transform:none}
.no-js .sheet-wrap .stag{opacity:1;transform:none}
.no-js .hero .sign-rule__line{transform:none}
.no-js .hero .sign-rule__label{opacity:1}
.no-js .board__lines,.no-js .replay{display:none}
.no-js .pains__toggle{display:none}
.no-js .frag{display:block}
.no-js .pains[data-state] .frag__face{opacity:1;visibility:visible;transform:none}
.no-js .frag__face+.frag__face{margin-top:16px}
