:root {
  --font-body: "Inter Display", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  --font-heading: var(--font-body);
  --heading-weight: 700;
  --bg: #F1F3F8;
  --surface: #FFFFFF;
  --surface-hover: #EDF0F7;
  --panel-border: #D9DEEA;
  --text: #141A2E;
  --muted: #4A5168;
  --heading: #0B1024;
  --primary: #2E3AC2;
  --primary-hover: #222C99;
  --on-primary: #FFFFFF;
  --link: #2A35B0;
  --field-border: #6A7188;
  --field-border-hover: #3C4359;
  --danger: #B42318;
  --danger-bg: #FEF3F2;
  --notice-bg: #EEF0FC;
  --notice-border: #2E3AC2;
  --focus: #3442D9;
  --radius: 8px;
  --radius-sm: 5px;
  --mark-bg: #2E3AC2;
  --mark-fg: #FFD54A;
  --mark-radius: 9px;
  --header-bg: #FFFFFF;
  --header-fg: #141A2E;
  --header-muted: #4A5168;
  --header-border: 1px solid #D9DEEA;
  --header-mark-bg: #2E3AC2;
  --header-mark-fg: #FFD54A;
  --header-button-border: #6A7188;
  --header-button-hover: #EDF0F7;
  --header-focus: #3442D9;
  --series-1: #2E3AC2;
  --series-2: #C2410C;
  --series-3: #0A5C73;
  --series-4: #BE185D;
  --series-prev: #4A5168;
  --grade-1: var(--ok);
  --on-grade-1: #FFFFFF;
  --grade-2: var(--ok-line);
  --on-grade-2: var(--text);
  --grade-3: var(--warn-line);
  --on-grade-3: var(--text);
  --grade-4: var(--danger);
  --on-grade-4: var(--on-danger);
  --grade-5: var(--danger-hover);
  --on-grade-5: var(--on-danger);
  --on-series: #FFFFFF;
  --tip-bg: var(--heading);
  --tip-fg: var(--surface);
  --tip-muted: color-mix(in srgb, var(--tip-fg) 70%, var(--tip-bg));
  --heat-strong: color-mix(in srgb, var(--series-1) 45%, var(--surface));
  --heat-neg: color-mix(in srgb, var(--danger) 40%, var(--surface));
  --surface-2: #F7F8FB;
  --sunk: #E2E6F0;
  --scrim: rgba(11, 16, 36, 0.5);
  --danger-hover: #8C1A11;
  --danger-line: #F3B4AC;
  --on-danger: #FFFFFF;
  --ok: #1B6B3F;
  --ok-bg: #E8F5EC;
  --ok-line: #A8D5B8;
  --warn: #8A5200;
  --warn-bg: #FFF3D6;
  --warn-line: #E6C27A;
  --info: #0A5C73;
  --info-bg: #E0F0F5;
  --info-line: #9CCBD9;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --fs-xs: 12px;
  --fs-sm: 13px;
  --fs-md: 14px;
  --fs-base: 15px;
  --fs-lg: 17px;
  --fs-xl: 20px;
  --fs-2xl: 24px;
  --fs-3xl: 30px;
  --lh: 1.5;
  --lh-tight: 1.25;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-7: 32px;
  --sp-8: 40px;
  --sp-9: 48px;
  --sh-1: 0 1px 3px rgba(28, 34, 48, 0.08);
  --sh-2: 0 4px 12px rgba(28, 34, 48, 0.1), 0 1px 3px rgba(28, 34, 48, 0.06);
  --sh-3: 0 24px 56px rgba(28, 34, 48, 0.22), 0 6px 14px rgba(28, 34, 48, 0.08);
  --z-sticky: 10;
  --z-topbar: 20;
  --z-dropdown: 30;
  --z-scrim: 40;
  --z-drawer: 50;
  --z-dialog: 60;
  --z-toast: 70;
  --tap: 44px;
  --topbar-h: 56px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-enter: cubic-bezier(0, 0, 0.35, 1);
  --dur-1: 150ms;
  --dur-2: 250ms;
  --sidebar-w: 264px;
  --sidebar-w-collapsed: 72px;
  --modal-w-sm: 400px;
  --modal-w: 560px;
  --modal-w-lg: 800px;
  --icon-sm: 16px;
  --icon: 20px;
  --icon-lg: 24px;
  --primary-tint: #E5E8FB;
  --primary-tint-line: #B4BCF0;
  --on-primary-tint: #222C99;
  --aside-bg: #161C5C;
  --aside-fg: #FFFFFF;
  --aside-muted: #C8CDF3;
  --radius-xl: 22px;
  --sh-sheet: 0 -12px 40px rgba(11, 16, 36, 0.16);
  --sh-brand: 0 8px 20px color-mix(in srgb, var(--primary) 28%, transparent);
  --container-w: 84rem;
  --ll-volt: #FFD54A;
  --ll-sw-edge: rgba(11, 16, 36, 0.24);
  --ll-c-xam-nham: #8B8F95;
  --ll-c-xam-bong: #A3A8AE;
  --ll-c-den-nham: #2C2E32;
  --ll-c-den-bong: #0F1012;
  --ll-c-trang: #F5F5F2;
  --ll-c-cam-nham: #CF7432;
  --ll-c-cam: #F07E26;
  --ll-c-do-vang: #7A1F2C;
  --ll-c-do-mazda: #A50F1E;
  --ll-c-do: #C9202E;
  --ll-c-do-cherry: #8C1532;
  --ll-c-hong-phan: #EBB7BF;
  --ll-c-hong: #E68BA4;
  --ll-c-bac-bong: #CDD1D6;
  --ll-c-bac: #B5B9BF;
  --ll-c-kem: #EFE2C4;
  --ll-c-xanh-ngoc: #2BA59A;
  --ll-sw: 0.875rem;
  --ll-sw-lg: 1.375rem;
  --ll-band-h: 0.625rem;
  --ll-tile-min: 9.25rem;
  --ll-pick-min: 8.5rem;
  --ll-tile-sm: 6.25rem;
  --ll-mat-col: 2.75rem;
  --ll-mat-name: 8rem;
  --ll-mat-name-sm: 5.5rem;
  --ll-calc-op: 1.25rem;
  --ll-mark: 1.25rem;
}
