/* Sumi design tokens — generated from tokens.json. Themes: light, dark (default: light).
   Switch theme with <html data-theme="dark">. */
:root, [data-theme="light"] {
  --washi: #f3eee3;
  --paper: #fbf8f1;
  --wash: #e7e1d4;
  --wash-strong: #d6cebf;
  --hairline: #ddd5c7;
  --edge: #857c6d;
  --ink: #1c1a17;
  --ink-soft: #5b544a;
  --on-ink: #fbf8f1;
  --brush: #22201c;
  --stone: #3d3934;
  --shu: #b8352a;
  --on-shu: #fffaf2;
  --shu-text: #a8321f;
  --shu-wash: #f4dfd6;
  --focus: #b8352a;
  --scrim: rgba(28, 26, 23, 0.34);
  --shadow-rest: 0 1px 0 rgba(60, 48, 30, 0.05), 0 1px 3px rgba(60, 48, 30, 0.06);
  --shadow-lift: 0 2px 4px rgba(60, 48, 30, 0.05), 0 14px 28px -16px rgba(60, 48, 30, 0.32);
  --shadow-float: 0 4px 10px rgba(60, 48, 30, 0.06), 0 30px 60px -24px rgba(60, 48, 30, 0.4);
  --shadow-press: inset 0 1px 2px rgba(60, 48, 30, 0.18);
  --shadow-groove: inset 0 1px 2px rgba(60, 48, 30, 0.16);
  --shadow-stone: 0 1px 1px rgba(30, 24, 16, 0.3), 0 3px 6px -2px rgba(30, 24, 16, 0.35);
  color-scheme: light;
}
[data-theme="dark"] {
  --washi: #12110f;
  --paper: #1b1916;
  --wash: #26231f;
  --wash-strong: #35312b;
  --hairline: #2e2a25;
  --edge: #6f675b;
  --ink: #ece5d7;
  --ink-soft: #a69d8e;
  --on-ink: #141210;
  --brush: #e6dece;
  --stone: #cfc6b6;
  --shu: #c2412f;
  --on-shu: #fffaf2;
  --shu-text: #f08a74;
  --shu-wash: #3b201a;
  --focus: #ef7a64;
  --scrim: rgba(0, 0, 0, 0.62);
  --shadow-rest: 0 1px 0 rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.35);
  --shadow-lift: 0 2px 4px rgba(0, 0, 0, 0.4), 0 16px 30px -16px rgba(0, 0, 0, 0.8);
  --shadow-float: 0 4px 10px rgba(0, 0, 0, 0.5), 0 30px 60px -24px rgba(0, 0, 0, 0.9);
  --shadow-press: inset 0 1px 2px rgba(0, 0, 0, 0.6);
  --shadow-groove: inset 0 1px 2px rgba(0, 0, 0, 0.55);
  --shadow-stone: 0 1px 1px rgba(0, 0, 0, 0.6), 0 3px 6px -2px rgba(0, 0, 0, 0.7);
  color-scheme: dark;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-10: 40px;
  --space-16: 64px;
  --space-24: 96px;
  --radius-cut: 2px;
  --radius-sheet: 6px;
  --radius-card: 10px;
  --radius-stone: 9999px;
  --font-display: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;
  --font-body: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-brush: "Yuji Boku", "Shippori Mincho B1", serif;
  --type-display-family: var(--font-display);
  --type-display-size: 64px;
  --type-display-line: 72px;
  --type-display-weight: 500;
  --type-display-tracking: 0.01em;
  --type-title-family: var(--font-display);
  --type-title-size: 36px;
  --type-title-line: 46px;
  --type-title-weight: 500;
  --type-heading-family: var(--font-display);
  --type-heading-size: 22px;
  --type-heading-line: 32px;
  --type-heading-weight: 600;
  --type-vertical-family: var(--font-display);
  --type-vertical-size: 18px;
  --type-vertical-line: 28px;
  --type-vertical-weight: 500;
  --type-vertical-tracking: 0.28em;
  --type-body-family: var(--font-body);
  --type-body-size: 16px;
  --type-body-line: 28px;
  --type-body-weight: 400;
  --type-small-family: var(--font-body);
  --type-small-size: 14px;
  --type-small-line: 22px;
  --type-small-weight: 400;
  --type-label-family: var(--font-body);
  --type-label-size: 12px;
  --type-label-line: 16px;
  --type-label-weight: 500;
  --type-label-tracking: 0.18em;
  --type-brush-family: var(--font-brush);
  --type-brush-size: 34px;
  --type-brush-line: 40px;
  --type-brush-weight: 400;
}
/* Type styles as utility classes (optional) */
.type-display { font-family: var(--type-display-family); font-size: var(--type-display-size); line-height: var(--type-display-line); font-weight: var(--type-display-weight); letter-spacing: var(--type-display-tracking); }
.type-title { font-family: var(--type-title-family); font-size: var(--type-title-size); line-height: var(--type-title-line); font-weight: var(--type-title-weight); }
.type-heading { font-family: var(--type-heading-family); font-size: var(--type-heading-size); line-height: var(--type-heading-line); font-weight: var(--type-heading-weight); }
.type-vertical { font-family: var(--type-vertical-family); font-size: var(--type-vertical-size); line-height: var(--type-vertical-line); font-weight: var(--type-vertical-weight); letter-spacing: var(--type-vertical-tracking); }
.type-body { font-family: var(--type-body-family); font-size: var(--type-body-size); line-height: var(--type-body-line); font-weight: var(--type-body-weight); }
.type-small { font-family: var(--type-small-family); font-size: var(--type-small-size); line-height: var(--type-small-line); font-weight: var(--type-small-weight); }
.type-label { font-family: var(--type-label-family); font-size: var(--type-label-size); line-height: var(--type-label-line); font-weight: var(--type-label-weight); letter-spacing: var(--type-label-tracking); }
.type-brush { font-family: var(--type-brush-family); font-size: var(--type-brush-size); line-height: var(--type-brush-line); font-weight: var(--type-brush-weight); }
