/* 设计 token（颜色/字号/间距/圆角/动效）+ 全局基线 —— 必须最先引入 */
:root{
  --bg:#f4f6f5; --bg-2:#e9eeec; --surface:#ffffff; --surface-2:#f1f4f3; --surface-3:#e3e9e6;
  --line:#d8e0dc; --line-soft:#e9eeeb;
  --txt:#1d2926; --txt-2:#43534e; --mut:#687772; --faint:#8d9a96;
  --accent:#0f766e; --accent-2:#148a80; --accent-ink:#ffffff;
  --ok:#21854a; --bad:#c63832; --warn:#bd7213;
  --ok-text:#176538; --bad-text:#a62e29; --warn-text:#8f540c; --accent-text:#0e6e67;
  --ok-bg:rgba(33,133,74,.10); --bad-bg:rgba(198,56,50,.08);
  --warn-bg:rgba(189,114,19,.10); --accent-bg:rgba(15,118,110,.08);
  --accent-line:rgba(15,118,110,.28);
  --font:-apple-system,"PingFang SC","Segoe UI","Microsoft YaHei",system-ui,sans-serif;
  --mono:"SF Mono","JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --t-xs:11px; --t-sm:12.5px; --t-base:14px; --t-md:15px; --t-lg:18px; --t-xl:22px;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:22px; --s-6:32px;
  --r-sm:5px; --r-md:8px; --r-lg:12px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(15,23,42,.05),0 6px 18px rgba(15,23,42,.035);
  --sh-2:0 18px 46px rgba(15,23,42,.16);
  --dur:160ms; --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
html{scroll-behavior:smooth}
body{margin:0; min-height:100vh; display:flex; flex-direction:row;
  font-family:var(--font); font-size:var(--t-base); line-height:1.55; color:var(--txt);
  background:var(--bg);}
button,a,input,select,textarea{touch-action:manipulation;-webkit-tap-highlight-color:rgba(15,118,110,.12)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
[tabindex]:focus-visible{outline:3px solid var(--accent-line); outline-offset:2px}
h1,h2,h3{text-wrap:balance}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important; animation-duration:.01ms!important;
    animation-iteration-count:1!important; transition-duration:.01ms!important}
}
