/* CharMasks design tokens. Dark = the evening saleroom (default); light = the printed catalogue. */
:root {
  --bg: #0C0C0D;
  --plinth: #141415;
  --line: #262523;
  --fg: #E9E4D8;
  --muted: #8D887E;
  --faint: #5E5A53;
  --gilt: #BFA06A;
  --danger: #C9826B;

  --display: "Cormorant Garamond", "Noto Serif TC", Georgia, serif;
  --serif: "Noto Serif TC", "Songti TC", "PMingLiU", Georgia, serif;
  --sans: "Noto Sans TC", -apple-system, "PingFang TC", "Microsoft JhengHei", sans-serif;

  --gutter: max(20px, env(safe-area-inset-left, 0px));
  --gutter-r: max(20px, env(safe-area-inset-right, 0px));
  --section: clamp(72px, 10vw, 128px);
  --maxw: 1180px;
  color-scheme: dark;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --bg: #F1EEE8; --plinth: #F8F6F1; --line: #DAD4C9; --fg: #1B1A17;
    --muted: #6F6A60; --faint: #A39D92; --gilt: #86672E; --danger: #9A4A33;
    color-scheme: light;
  }
}
:root[data-theme="light"] {
  --bg: #F1EEE8; --plinth: #F8F6F1; --line: #DAD4C9; --fg: #1B1A17;
  --muted: #6F6A60; --faint: #A39D92; --gilt: #86672E; --danger: #9A4A33;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --bg: #0C0C0D; --plinth: #141415; --line: #262523; --fg: #E9E4D8;
  --muted: #8D887E; --faint: #5E5A53; --gilt: #BFA06A; --danger: #C9826B;
  color-scheme: dark;
}

/* Sidecar languages: native glyphs (fonts loaded on demand by i18n.js). */
html:lang(ja) { --display: "Cormorant Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; --serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; --sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif; }
html:lang(ko) { --display: "Cormorant Garamond", "Noto Serif KR", "AppleMyungjo", serif; --serif: "Noto Serif KR", "AppleMyungjo", "Batang", serif; --sans: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; }
html:lang(th) { --display: "Cormorant Garamond", "Noto Serif Thai", serif; --serif: "Noto Serif Thai", "Thonburi", serif; --sans: "Noto Sans Thai", "Thonburi", "Leelawadee UI", sans-serif; }
/* Long single words (ru/tr/id/es/pt/vi) must wrap instead of clipping on phones. */
:is(html:lang(ru), html:lang(tr), html:lang(id), html:lang(es), html:lang(pt), html:lang(vi), html:lang(th)) :is(h1, h2, h3, .eyebrow, .kicker) { overflow-wrap: break-word; hyphens: auto; }
