:root{
  --ink:#000000;
  --paper:#FFFFFF;
  --pink:#E85A92;

  --set:#F1EFEC;
  --floor:#E6E3DF;
  --mute:#57534E;
  --ok:#1B7A47;
  --bad:#B42318;

  --line:rgba(0,0,0,.14);
  --line-strong:rgba(0,0,0,.28);
  --scrim:rgba(0,0,0,.42);
  --on-stage:rgba(255,255,255,.85);
  --on-stage-mute:rgba(255,255,255,.72);
  --on-stage-line:rgba(255,255,255,.3);

  --font-display:'Huninn','Noto Sans TC','PingFang TC',system-ui,sans-serif;
  --font-body:'Noto Sans TC','PingFang TC','Microsoft JhengHei',system-ui,sans-serif;

  --fs-micro:6px;
  --fs-issue:8px;
  --fs-xs:12px;
  --fs-note:13px;
  --fs-sm:14px;
  --fs-md:16px;
  --fs-ui:15px;
  --fs-btn:17px;
  --fs-lg:18px;
  --fs-card:20px;
  --fs-xl:22px;
  --fs-count:26px;
  --fs-2xl:28px;
  --fs-hero:31px;
  --fs-stage:34px;
  --lh-tight:1.25;
  --lh-body:1.6;

  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px;
  --gutter:16px;
  --col:430px;
  --tap:44px;
  --sp-half:6px;
  --btn-h:52px;
  --dock-h:76px;

  --r-work:14px;
  --r-work-in:9px;
  --r-none:0;
  --r-hair:3px;
  --r-xs:8px;
  --r-sm:12px;
  --r-field:14px;
  --r-panel:16px;
  --r-card-lg:18px;
  --r-sheet:22px;
  --r-pill:999px;

  --sh-work:0 1px 0 rgba(0,0,0,.08),0 14px 28px -12px rgba(0,0,0,.45);
  --sh-press:0 4px 0 var(--ink);
  --sh-sheet:0 -10px 40px rgba(0,0,0,.25);
  --sh-fly:0 10px 30px rgba(0,0,0,.35);
  --sh-ring:0 0 0 6px var(--pink);

  --ease:cubic-bezier(.2,.8,.2,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --t-fast:.15s;
  --t-base:.28s;
  --t-sheet:.42s;
  --t-stage:.6s;
  --t-work:.5s;
  --lb-interval:3.2s;

  --z-top:20;
  --z-dock:15;
  --kb:0px;
  --vvh:100dvh;
  --z-banner:30;
  --z-stage:70;
  --z-scrim:75;
  --z-sheet:80;
  --z-lightbox:95;
  --z-fx:96;

  --toast-top:calc(132px + env(safe-area-inset-top,0px));

  color-scheme:light;
}
