:root {
  --color-paper: oklch(98.5% 0.02 84);
  --color-paper-muted: oklch(96% 0.028 82);
  --color-paper-strong: oklch(93% 0.04 80);
  --color-ink: oklch(28% 0.04 65);
  --color-muted: oklch(48% 0.032 67);
  --color-rule: oklch(86% 0.04 80);
  --color-accent: oklch(72% 0.13 80);
  --color-accent-deep: oklch(57% 0.115 73);
  --color-on-accent: oklch(98% 0.014 82);
  --color-accent-ink: var(--color-ink);
  --color-focus: oklch(56% 0.16 244);
  --color-error: oklch(54% 0.19 28);
  --color-success: oklch(55% 0.13 145);
  --color-overlay: oklch(18% 0.015 65 / 0.42);
  --color-media-overlay: oklch(18% 0.015 65 / 0.54);
  --font-display: "Noto Sans Lao", "Noto Sans Thai", "Plus Jakarta Sans", sans-serif;
  --font-body: "Noto Sans Lao", "Noto Sans Thai", "Plus Jakarta Sans", sans-serif;
  --text-xs: 0.74rem; --text-sm: 0.88rem; --text-base: 1rem; --text-lg: 1.24rem; --text-xl: clamp(1.7rem, 4.2vw, 2.65rem); --text-heading: clamp(1.45rem, 2.6vw, 2rem); --text-display: clamp(2rem, 4.4vw, 3rem);
  --space-1: 0.3rem; --space-2: 0.55rem; --space-3: 0.8rem; --space-4: 1.1rem; --space-5: 1.55rem; --space-6: 2.2rem; --space-7: 3.25rem; --space-8: 4.75rem;
  --radius-sm: 0.25rem; --radius-md: 0.25rem; --radius-lg: 0.5rem; --radius-xl: 0.5rem; --radius-pill: 999rem;
  --size-market-banner: clamp(24rem, 40vw, 34rem); --page-max: 90rem;
  --line-thin: 1px; --line-strong: 0.14rem; --focus-width: 0.18rem; --shadow-dialog: none;
  --shadow-card: none;
  --ease-in: cubic-bezier(0.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, 0.2, 1); --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
}
