/* Brand tokens, sourced from the approved paper/ink theme. */
:root {
  color-scheme: light;
  --ground:#f7f3ec; --ground-deep:#efe9dd; --surface:#fff; --line:#cfc6b4; --line-strong:#8c8576;
  --text:#0b1220; --text-muted:#5c574c; --brass:#7a5c14; --brass-soft:#8a6a1f; --on-brass:#fff; --seal:#a63323;
  --mod-youshu:#1e7a5a; --mod-shengxin:#a85f0c; --mod-ime:#bc3b27; --mod-yougongshi:#3d4fb5; --mod-gongbi:#6a4c9c; --mod-haoshangliang:#0e6f80; --mod-pending:#5c574c;
  --font-display:'SX Display','Noto Serif TC','Source Han Serif TC',serif;
  --font-text:'SX Text','Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;
  --font-latin:'SX Latin','Cormorant Garamond',Georgia,serif;
  --font-mono:'SX Mono','IBM Plex Mono',ui-monospace,monospace;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:48px; --space-8:72px; --space-9:112px; --space-10:160px;
  --radius-square:0px; --radius-soft:2px; --radius-round:999px;
  --lift:0 0 0 1px rgba(11,18,32,.08),0 16px 32px -20px rgba(11,18,32,.3);
  --duration-press:160ms; --duration-step:320ms; --duration-page:720ms; --ease-out:cubic-bezier(.22,1,.36,1);
  /* Existing layout aliases mapped by role to the brand palette. */
  --ys-bg:var(--ground); --ys-surface:var(--surface); --ys-text:var(--text); --ys-muted:var(--text-muted); --ys-line:var(--line); --ys-control-line:var(--line-strong);
  --ys-brand:var(--text); --ys-brand-bg:var(--surface); --ys-info:var(--text); --ys-info-bg:var(--ground);
  --ys-approved:var(--text); --ys-approved-bg:var(--ground); --ys-ready:var(--text); --ys-ready-bg:var(--ground); --ys-pending-bg:var(--ground);
  --ys-error:var(--text); --ys-error-bg:var(--ground); --ys-warning:var(--text); --ys-warning-bg:var(--ground); --ys-on-primary:var(--on-brass); --ys-hover:var(--brass-soft);
  --ys-disabled-opacity:1; --ys-disabled:var(--text-muted); --ys-disabled-bg:var(--surface); --ys-focus:var(--line-strong); --ys-hover-wash:var(--surface);
  --ys-font:var(--font-text); --ys-font-figures:var(--font-mono);
  --ys-text-small:14px; --ys-text-body:16px; --ys-text-subhead:19px; --ys-text-title:22px; --ys-text-amount:32px; --ys-text-amount-mobile:22px;
  --ys-leading:1.85; --ys-leading-title:1.4; --ys-weight-normal:400; --ys-weight-strong:700;
  --ys-space-1:var(--space-1); --ys-space-2:var(--space-2); --ys-space-3:var(--space-3); --ys-space-4:var(--space-4); --ys-space-6:var(--space-5); --ys-space-8:var(--space-6); --ys-space-12:var(--space-7);
  --ys-radius-xs:var(--radius-square); --ys-radius-control:var(--radius-square); --ys-radius-card:var(--radius-square); --ys-radius-sheet:var(--radius-square); --ys-radius-pill:var(--radius-round); --ys-radius-panel:var(--radius-square);
  --ys-border:1px; --ys-border-none:0; --ys-focus-width:3px; --ys-focus-offset:3px; --ys-control-height:44px; --ys-container:60rem; --ys-ledger-date-width:3.5rem; --ys-batch-height:12rem; --ys-layer-batch:2; --ys-ledger-container:90rem;
  --ys-shadow-rest:none; --ys-shadow-float:var(--lift); --ys-duration-press:var(--duration-press); --ys-duration-small:var(--duration-step); --ys-duration-medium:var(--duration-step); --ys-duration-sheet:var(--duration-step); --ys-duration-micro:var(--duration-press); --ys-duration-static:0ms; --ys-ease-drawer:var(--ease-out); --ys-ease-out:var(--ease-out);
  --ys-snap:var(--text); --ys-entry:var(--text); --ys-pending:var(--text); --ys-summary:var(--text); --ys-ledger:var(--text); --ys-help:var(--text);
  --ys-backdrop:rgba(11,18,32,.55); --ys-shadow-ink:rgba(11,18,32,.2); --neutral-icon:var(--text-muted); --off-icon-bg:var(--surface); --off-icon:var(--text-muted);
  --mod-haorenhaoshi:var(--mod-pending); --mod-youdi:var(--mod-pending);
  --chip-bg-youshu:var(--surface); --chip-bg-haorenhaoshi:var(--surface); --chip-bg-yougongshi:var(--surface); --chip-bg-haoshangliang:var(--surface); --chip-bg-youdi:var(--surface);
  --ys-length-0px:0px; --ys-length-100dvh:100dvh; --ys-length-100px:100px; --ys-length-10px:10px; --ys-length-11px:11px; --ys-length-125px:125px; --ys-length-13px:13px; --ys-length-14px:14px; --ys-length-150px:150px; --ys-length-15px:15px; --ys-length-160px:160px; --ys-length-17px:17px; --ys-length-18px:18px; --ys-length-20px:20px; --ys-length-22px:22px; --ys-length-23px:23px; --ys-length-25px:25px; --ys-length-260px:260px; --ys-length-26px:26px; --ys-length-27px:27px; --ys-length-28px:28px; --ys-length-2px:2px; --ys-length-30px:30px; --ys-length-32dvh:32dvh; --ys-length-36px:36px; --ys-length-40px:40px; --ys-length-44px:44px; --ys-length-460px:460px; --ys-length-526px:526px; --ys-length-550px:550px; --ys-length-560px:560px; --ys-length-56px:56px; --ys-length-5px:5px; --ys-length-5vw:5vw; --ys-length-600px:600px; --ys-length-60px:60px; --ys-length-64px:64px; --ys-length-6vw:6vw; --ys-length-72px:72px; --ys-length-7px:7px; --ys-length-900px:900px; --ys-length-94px:94px; --ys-length-9px:9px; --ys-length-minus2px:-2px; --ys-length-minus4px:-4px; --ys-length-50px:50px; --ys-length-52px:52px;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--ground:#0b1220;--ground-deep:#070b14;--surface:#121c30;--line:#2c3a57;--line-strong:#5a6c92;--text:#e8ecf3;--text-muted:#aeb6c6;--brass:#c9a961;--brass-soft:#d8be82;--on-brass:#0b1220;--seal:#e2674f;--mod-youshu:#4fb58e;--mod-shengxin:#e9a04a;--mod-ime:#f0806c;--mod-yougongshi:#8794e8;--mod-gongbi:#a98bd6;--mod-haoshangliang:#4db9cc;--mod-pending:#aeb6c6;--lift:0 0 0 1px rgba(90,108,146,.35),0 24px 48px -24px rgba(0,0,0,.6);--ys-bg:var(--ground);--ys-surface:var(--surface);--ys-text:var(--text);--ys-muted:var(--text-muted);--ys-line:var(--line);}}
:root[data-theme="dark"]{color-scheme:dark;--ground:#0b1220;--ground-deep:#070b14;--surface:#121c30;--line:#2c3a57;--line-strong:#5a6c92;--text:#e8ecf3;--text-muted:#aeb6c6;--brass:#c9a961;--brass-soft:#d8be82;--on-brass:#0b1220;--seal:#e2674f;--mod-youshu:#4fb58e;--mod-shengxin:#e9a04a;--mod-ime:#f0806c;--mod-yougongshi:#8794e8;--mod-gongbi:#a98bd6;--mod-haoshangliang:#4db9cc;--mod-pending:#aeb6c6;--lift:0 0 0 1px rgba(90,108,146,.35),0 24px 48px -24px rgba(0,0,0,.6);--ys-bg:var(--ground);--ys-surface:var(--surface);--ys-text:var(--text);--ys-muted:var(--text-muted);--ys-line:var(--line);}

/* Tab tokens: project/tokens.json shadow section, paper/ink roles. */
:root { --shadow-tab:rgba(11, 18, 32, 0.30);--shadow-tab-width:4px;--shadow-tab-offset:-2px;--shadow-tab-blur:1.6px; }
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--shadow-tab:rgba(90, 108, 146, 0.68);}}
:root[data-theme="dark"]{--shadow-tab:rgba(90, 108, 146, 0.68);}
