/* ชมรม AI นิติศาสตร์ — generated from tokens.json by web/build-tokens.js; do not edit by hand */
:root {
  --brand-night: #080d25;
  --brand-navy: #1f44b4;
  --brand-sky: #38a8f0;
  --brand-white: #f5f6fa;
  --on-cover: #ffffff;
  --on-cover-muted: #dfe6fb;
  --on-navy: #ffffff;
}
:root, [data-theme="day"] {
  --surface: #fbfaf7;
  --surface-raised: #ffffff;
  --surface-panel: #f1efe9;
  --line: #1d22301f;
  --line-strong: #868b97;
  --ink: #1d2230;
  --ink-muted: #575d6c;
  --accent: #1f4fbf;
  --link: #1f4fbf;
  --focus: var(--link);
  --primary: #1d2230;
  --primary-hover: #353c50;
  --on-primary: #fbfaf7;
  --cover: #1f44b4;
  --cover-raised: #2a50c0;
  --sky-soft: #e8eefb;
  --sky-ink: #1a4699;
  --on-sky: var(--brand-night);
  --amber-ink: #8a4a00;
  --amber-soft: #fbf0dc;
  --violet-ink: #5b3fc4;
  --violet-soft: #efebfb;
  --teal-ink: #0d6b58;
  --teal-soft: #e1f3ed;
  --logo-ink: var(--ink);
  --danger: #b42318;
  --focus-ring: 0 0 0 2px #fbfaf7, 0 0 0 4px #1f4fbf;
}
[data-theme="night"] {
  --surface: #17191e;
  --surface-raised: #1e2127;
  --surface-panel: #262a31;
  --line: #e9e7e124;
  --line-strong: #7d828d;
  --ink: #e9e7e1;
  --ink-muted: #a9adb6;
  --accent: #8fb0ff;
  --link: #9dbaff;
  --focus: var(--link);
  --primary: #e9e7e1;
  --primary-hover: #ffffff;
  --on-primary: #17191e;
  --cover: #1e3a87;
  --cover-raised: #27479c;
  --sky-soft: #1f2a44;
  --sky-ink: #bccffc;
  --on-sky: var(--brand-night);
  --amber-ink: #f0c27a;
  --amber-soft: #30291a;
  --violet-ink: #cbbffb;
  --violet-soft: #2a2540;
  --teal-ink: #86d9c2;
  --teal-soft: #17302c;
  --logo-ink: var(--ink);
  --danger: #ff9a8c;
  --focus-ring: 0 0 0 2px #17191e, 0 0 0 4px #9dbaff;
}
[data-theme="day"] { color-scheme: light; }
[data-theme="night"] { color-scheme: dark; }
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-40: 160px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --radius-full: 9999px;
  --container: 1200px;
  --measure: 720px;
  --header-height: 72px;
  --font-display: "Anuphan", "IBM Plex Sans Thai", "Noto Sans Thai", system-ui, sans-serif;
  --font-sans: "IBM Plex Sans Thai", "Noto Sans Thai", "Leelawadee UI", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", "IBM Plex Sans Thai", ui-monospace, Consolas, monospace;
}
.display { font-family: var(--font-display); font-size: 52px; line-height: 68px; font-weight: 500; }
.h1 { font-family: var(--font-display); font-size: 40px; line-height: 56px; font-weight: 500; }
.h2 { font-family: var(--font-display); font-size: 28px; line-height: 40px; font-weight: 500; }
.h3 { font-family: var(--font-display); font-size: 20px; line-height: 30px; font-weight: 600; }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 32px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 28px; font-weight: 400; }
.small { font-family: var(--font-sans); font-size: 14px; line-height: 24px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 13px; line-height: 20px; font-weight: 500; }
.code-label { font-family: var(--font-mono); font-size: 12px; line-height: 20px; font-weight: 500; }
.code { font-family: var(--font-mono); font-size: 14px; line-height: 22px; font-weight: 400; }
