/* Domula — tokens.css compiled from tokens.json for local use (2026-10-22). Edit tokens.json, not this file. */
:root, [data-theme="default"] {
  --neutral-0: #ffffff;
  --neutral-25: #fafafa;
  --neutral-50: #f4f4f4;
  --neutral-100: #eaeaea;
  --neutral-200: #d9d9d9;
  --neutral-300: #bdbdbd;
  --neutral-400: #888888;
  --neutral-500: #6b6b6b;
  --neutral-600: #545454;
  --neutral-700: #3b3b3b;
  --neutral-800: #262626;
  --neutral-900: #161616;
  --red-50: #fbeff1;
  --red-100: #f3d7db;
  --red-500: #a6192e;
  --red-600: #8c1426;
  --red-700: #701020;
  --green-600: #2f6a4f;
  --green-50: #edf5f0;
  --amber-700: #8a5300;
  --logo-ink: #4b4846;
  --bg-page: var(--neutral-0);
  --bg-band: var(--neutral-50);
  --bg-app: var(--neutral-25);
  --bg-inverse: var(--neutral-900);
  --surface-card: var(--neutral-0);
  --surface-muted: var(--neutral-50);
  --surface-selected: var(--neutral-50);
  --text-primary: var(--neutral-900);
  --text-secondary: var(--neutral-600);
  --text-subtle: var(--neutral-500);
  --text-disabled: var(--neutral-300);
  --text-inverse: var(--neutral-0);
  --text-inverse-muted: var(--neutral-300);
  --text-accent: var(--red-500);
  --border-subtle: var(--neutral-100);
  --border-default: var(--neutral-200);
  --border-strong: var(--neutral-900);
  --control-border: var(--neutral-400);
  --control-border-hover: var(--neutral-600);
  --action-primary: var(--red-500);
  --action-primary-hover: var(--red-600);
  --action-primary-active: var(--red-700);
  --action-primary-text: var(--neutral-0);
  --action-secondary-border: var(--neutral-900);
  --action-secondary-hover: var(--neutral-50);
  --action-disabled: var(--neutral-100);
  --accent-mark: var(--red-500);
  --selection-mark: var(--neutral-900);
  --status-action-text: var(--red-600);
  --status-action-bg: var(--red-50);
  --status-progress-text: var(--neutral-900);
  --status-progress-bg: var(--neutral-50);
  --status-done-text: var(--green-600);
  --status-done-bg: var(--green-50);
  --status-wait-text: var(--amber-700);
  --status-wait-bg: var(--neutral-50);
  --feedback-error-text: var(--red-600);
  --feedback-error-bg: var(--red-50);
  --scrim: rgba(0, 0, 0, 0.45);
  --photo-scrim: rgba(0, 0, 0, 0.38);
  --focus-ring-color: var(--neutral-900);
  --focus-ring-inverse-color: var(--neutral-0);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(0, 0, 0, 0.05);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(0, 0, 0, 0.06);
  --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #161616;
  --focus-ring-inverse: 0 0 0 2px #161616, 0 0 0 4px #ffffff;
}
:root {
  --space-2: 2px;
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-64: 64px;
  --space-80: 80px;
  --space-96: 96px;
  --gutter: 48px;
  --gutter-t: 32px;
  --gutter-m: 16px;
  --section-y: 112px;
  --section-y-t: 80px;
  --section-y-m: 56px;
  --panel-pad: 24px;
  --panel-pad-t: 20px;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 999px;
  --display-1: 64px;
  --display-1-t: 52px;
  --display-1-m: 40px;
  --display-2: 48px;
  --display-2-t: 40px;
  --display-2-m: 34px;
  --heading-h1: 40px;
  --heading-h1-t: 34px;
  --heading-h1-m: 30px;
  --heading-h2: 32px;
  --heading-h2-t: 28px;
  --heading-h2-m: 26px;
  --heading-h3: 24px;
  --heading-h3-m: 21px;
  --heading-h4: 20px;
  --heading-h4-m: 18px;
  --heading-h5: 17px;
  --heading-h5-m: 16px;
  --body-large: 19px;
  --body-large-m: 17px;
  --body-base: 16px;
  --body-small: 14px;
  --body-caption: 12px;
  --zh-display-1: 56px;
  --zh-display-1-t: 44px;
  --zh-display-1-m: 34px;
  --zh-display-2: 42px;
  --zh-display-2-t: 36px;
  --zh-display-2-m: 28px;
  --zh-heading-h1: 34px;
  --zh-heading-h1-t: 30px;
  --zh-heading-h1-m: 26px;
  --zh-heading-h2: 28px;
  --zh-heading-h2-t: 25px;
  --zh-heading-h2-m: 23px;
  --zh-heading-h3: 21px;
  --zh-heading-h3-m: 19px;
  --zh-heading-h4: 19px;
  --zh-heading-h4-m: 17px;
  --zh-heading-h5: 16px;
  --zh-heading-h5-m: 15px;
  --zh-body-large: 18px;
  --zh-body-large-m: 16px;
  --control-lg: 52px;
  --control-md: 44px;
  --control-sm: 36px;
  --icon-sm: 16px;
  --icon-md: 20px;
  --icon-lg: 24px;
  --sidebar-w: 248px;
  --rail-w: 76px;
  --topbar-h: 64px;
  --bp-max-mobile: 599px;
  --bp-max-tablet: 1023px;
  --bp-max-laptop: 1279px;
  --container-max: 1280px;
  --content-narrow: 720px;
  --grid-gap: 24px;
  --grid-gap-m: 16px;
  --z-header: 100;
  --z-drawer: 300;
  --z-toast: 500;
  --font-sans: "Albert Sans", "Helvetica Neue", Arial, sans-serif;
  --font-zh: "Albert Sans", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}
.display-1 { font-family: var(--font-sans); font-size: 64px; line-height: 1.05; font-weight: 500; }
.display-2 { font-family: var(--font-sans); font-size: 48px; line-height: 1.1; font-weight: 500; }
.heading-h1 { font-family: var(--font-sans); font-size: 40px; line-height: 1.15; font-weight: 500; }
.heading-h2 { font-family: var(--font-sans); font-size: 32px; line-height: 1.2; font-weight: 500; }
.heading-h3 { font-family: var(--font-sans); font-size: 24px; line-height: 1.3; font-weight: 500; }
.heading-h4 { font-family: var(--font-sans); font-size: 20px; line-height: 1.35; font-weight: 600; }
.heading-h5 { font-family: var(--font-sans); font-size: 17px; line-height: 1.4; font-weight: 600; }
.body-large { font-family: var(--font-sans); font-size: 19px; line-height: 1.6; font-weight: 400; }
.body-base { font-family: var(--font-sans); font-size: 16px; line-height: 1.6; font-weight: 400; }
.body-small { font-family: var(--font-sans); font-size: 14px; line-height: 1.5; font-weight: 400; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 1.45; font-weight: 500; }
.label { font-family: var(--font-sans); font-size: 12px; line-height: 1.2; font-weight: 600; }
.button { font-family: var(--font-sans); font-size: 15px; line-height: 1.2; font-weight: 600; }
.data { font-family: var(--font-sans); font-size: 14px; line-height: 1.4; font-weight: 500; }
.zh-display-1 { font-family: var(--font-zh); font-size: 56px; line-height: 1.2; font-weight: 500; }
.zh-display-2 { font-family: var(--font-zh); font-size: 42px; line-height: 1.25; font-weight: 500; }
.zh-heading-h2 { font-family: var(--font-zh); font-size: 28px; line-height: 1.35; font-weight: 500; }
.zh-heading-h3 { font-family: var(--font-zh); font-size: 21px; line-height: 1.45; font-weight: 500; }
.zh-body-base { font-family: var(--font-zh); font-size: 16px; line-height: 1.8; font-weight: 400; }
.zh-body-small { font-family: var(--font-zh); font-size: 14px; line-height: 1.7; font-weight: 400; }
.zh-label { font-family: var(--font-zh); font-size: 13px; line-height: 1.3; font-weight: 600; }
