/* Hallmark · genre: modern-minimal · tone: operational · anchor: SMLOT source blue · macrostructure: Split Studio · theme: studied-DNA (source: member.smlot.com) · enrichment: none · designed-as-app */
/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V5 */
:root {
  --color-paper: oklch(99% 0.004 92);
  --color-paper-2: oklch(97% 0.008 92);
  --color-paper-3: oklch(94% 0.014 92);
  --color-ink: oklch(18% 0.018 78);
  --color-ink-2: oklch(32% 0.018 78);
  --color-muted: oklch(49% 0.012 78);
  --color-rule: oklch(84% 0.01 92);
  --color-rule-strong: oklch(69% 0.014 92);
  --color-rail: oklch(11% 0.012 78);
  --color-rail-2: oklch(17% 0.012 78);
  --color-rail-ink: oklch(96% 0.008 92);
  --color-green: oklch(64% 0.17 145);
  --color-green-deep: oklch(54% 0.16 145);
  --color-green-cart: oklch(53% 0.16 145);
  --color-green-soft: oklch(93% 0.045 145);
  --color-orange: oklch(76% 0.17 55);
  --color-orange-deep: oklch(66% 0.17 52);
  --color-salmon: oklch(73% 0.14 34);
  --color-salmon-deep: oklch(62% 0.16 30);
  --color-salmon-soft: oklch(96% 0.028 28);
  --color-salmon-rule: oklch(82% 0.075 28);
  --color-restricted-row: oklch(88% 0.07 25);
  --color-restricted-row-rule: oklch(77% 0.12 25);
  --color-beige: oklch(95% 0.04 82);
  --color-closed: oklch(88% 0.008 92);
  --color-closed-2: oklch(82% 0.01 92);
  --color-blue: oklch(56% 0.18 250);
  --color-liveboard-blue: oklch(52.72% 0.2189 260.76);
  --color-liveboard-blue-deep: oklch(50.05% 0.1712 257.24);
  --color-liveboard-blue-copy: oklch(44.90% 0.0757 252.84);
  --color-liveboard-blue-soft: oklch(96.48% 0.0178 245.38);
  --color-liveboard-blue-soft-2: oklch(97.83% 0.01 238.51);
  --color-liveboard-blue-rule: oklch(90.62% 0.0316 243.72);
  --color-workbench-surface: var(--color-liveboard-blue-soft);
  --color-workbench-surface-subtle: var(--color-liveboard-blue-soft-2);
  --color-workbench-rule: var(--color-liveboard-blue-rule);
  --color-workbench-focus: var(--color-liveboard-blue);
  --color-workbench-ink: var(--color-liveboard-blue-deep);
  --color-smlot-violet: oklch(48% 0.30 290);
  --color-smlot-violet-deep: oklch(38% 0.27 290);
  --color-smlot-violet-soft: oklch(90% 0.075 293);
  --color-smlot-violet-soft-2: oklch(95% 0.038 293);
  --color-smlot-yellow: oklch(86% 0.18 92);
  --color-smlot-cream: oklch(97% 0.055 92);
  --color-smlot-blue: oklch(60% 0.22 253);
  --color-smlot-blue-deep: oklch(49% 0.21 255);
  --color-smlot-table-rule: oklch(84% 0.018 255);
  --shadow-smlot-button: 0 1px 2px oklch(20% 0.01 290 / 0.07);
  /* Exact visual DNA sampled from the live SMLOT member key page. */
  --color-smlot-source-panel: #ccdfff;
  --color-smlot-source-primary: #0061ff;
  --color-smlot-source-primary-deep: #004ecc;
  --color-smlot-source-table: #087ff5;
  --color-smlot-source-ink: #212529;
  --color-smlot-source-ink-blue: #003285;
  --color-smlot-source-control-ink: #343a40;
  --color-smlot-source-selected: #ffc107;
  --color-smlot-source-option: #fff3cd;
  --color-smlot-source-option-rule: #ffeeba;
  --color-smlot-source-input-rule: #80bdff;
  --color-smlot-source-danger: #dc3545;
  --color-smlot-source-danger-ink: #ffffff;
  --color-smlot-source-grid: #d7dde4;
  --color-smlot-source-label: #eef2ff;
  --shadow-smlot-source-button: 0 0.125rem 0.25rem oklch(20% 0.02 255 / 0.09);

  /* Lottery-family surfaces: one calm identity per market family. */
  --color-lottery-hanoi-surface: oklch(96.09% 0.0188 255.53);
  --color-lottery-hanoi-rule: oklch(76.80% 0.0929 253.86);
  --color-lottery-hanoi-action: oklch(56.02% 0.1483 252.39);
  --color-lottery-laos-surface: oklch(96.09% 0.0167 178.28);
  --color-lottery-laos-rule: oklch(75.18% 0.0676 177.50);
  --color-lottery-laos-action: oklch(53.56% 0.0948 175.77);
  --color-lottery-usa-surface: oklch(95.29% 0.0125 255.51);
  --color-lottery-usa-rule: oklch(72.43% 0.0508 255.17);
  --color-lottery-usa-action: oklch(51.89% 0.0843 252.90);
  --color-lottery-japan-surface: oklch(95.85% 0.0164 8.17);
  --color-lottery-japan-rule: oklch(76.30% 0.0698 8.54);
  --color-lottery-japan-action: oklch(54.20% 0.1167 9.66);
  --color-lottery-china-surface: oklch(96.43% 0.0211 56.13);
  --color-lottery-china-rule: oklch(78.74% 0.0806 56.88);
  --color-lottery-china-action: oklch(55.61% 0.1274 49.33);
  --color-lottery-europe-surface: oklch(95.30% 0.0178 300.06);
  --color-lottery-europe-rule: oklch(73.47% 0.0714 297.72);
  --color-lottery-europe-action: oklch(52.79% 0.1133 295.51);
  --color-lottery-thai-surface: oklch(97.36% 0.0341 90.50);
  --color-lottery-thai-rule: oklch(79.56% 0.1077 89.17);
  --color-lottery-thai-action: oklch(53.35% 0.1051 80.49);
  --color-lottery-other-surface: oklch(96.57% 0.0051 247.88);
  --color-lottery-other-rule: oklch(77.85% 0.0204 252.91);
  --color-lottery-other-action: oklch(52.82% 0.0311 250.11);

  --color-focus: oklch(59% 0.2 253);
  --color-error: oklch(58% 0.2 25);
  --color-success: oklch(58% 0.16 145);
  --color-accent: var(--color-green);
  --color-accent-ink: var(--color-paper);

  --font-display: "Prompt", "Noto Sans Thai", sans-serif;
  --font-body: "Prompt", "Noto Sans Thai", sans-serif;
  --font-outlier: "Outfit", "Noto Sans Thai", sans-serif;

  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;

  --text-3xs: 0.6875rem;
  --text-2xs: 0.75rem;
  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 1.875rem;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 180ms;
  --dur-long: 300ms;

  --rule-thin: 1px;
  --rule-strong: 2px;
  --radius-card: 0;
  --radius-button: 0.25rem;
  --radius-input: 0.25rem;
  --radius-pill: 999px;
  --hh-rail-width: 10.25rem;
  --hh-control-height: 2.75rem;
  --hh-action-width: 7.5rem;
  --hh-tab-font-size: 0.875rem;
  --hh-restricted-board-max-height: 10rem;
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;
  --z-modal: 400;
  --z-toast: 500;
}
