:root{
  /* Color — neutral + primary */
  --c-bg:            #ffffff;
  --c-bg-alt:        #f6f7f9;
  --c-surface:       #ffffff;
  --c-surface-2:     #f3f4f6;
  --c-border:        #e3e6ea;
  --c-border-strong: #cbd2d9;

  --c-text:          #14181f;
  --c-text-muted:    #545c66;
  --c-text-subtle:   #7a828c;
  --c-text-invert:   #ffffff;

  --c-primary:       #1a56db;
  --c-primary-hover: #1447b8;
  --c-primary-press: #0f3a99;
  --c-primary-soft:  #e8efff;

  --c-accent:        #0b7a4b;
  --c-danger:        #c22b1e;
  --c-warn:          #b25a00;
  --c-focus:         #1a56db;

  /* Type */
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --fs-100: 0.75rem;
  --fs-200: 0.8125rem;
  --fs-300: 0.875rem;
  --fs-400: 0.9375rem;
  --fs-500: 1rem;
  --fs-600: 1.125rem;
  --fs-700: 1.375rem;
  --fs-800: 1.75rem;
  --fs-900: 2.25rem;
  --fs-1000: 3rem;

  --lh-tight: 1.15;
  --lh-snug:  1.3;
  --lh-base:  1.55;
  --lh-loose: 1.7;

  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semi:    600;
  --fw-bold:    700;

  /* Space */
  --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: 56px;
  --sp-10: 80px;
  --sp-11: 112px;

  /* Radius */
  --r-1: 4px;
  --r-2: 6px;
  --r-3: 8px;
  --r-4: 12px;
  --r-5: 16px;
  --r-full: 999px;

  /* Shadow */
  --sh-1: 0 1px 2px rgba(20,24,31,.06);
  --sh-2: 0 1px 3px rgba(20,24,31,.08), 0 1px 2px rgba(20,24,31,.04);
  --sh-3: 0 4px 12px rgba(20,24,31,.08), 0 2px 4px rgba(20,24,31,.04);
  --sh-4: 0 10px 30px rgba(20,24,31,.10), 0 4px 10px rgba(20,24,31,.05);

  /* Layout */
  --container: 1200px;
  --container-narrow: 780px;
  --header-h: 60px;

  /* Motion */
  --ease: cubic-bezier(.2,.7,.2,1);
  --dur-1: 120ms;
  --dur-2: 200ms;

  --z-header: 100;
  --z-drawer: 200;
  --z-modal:  300;
  --z-toast:  400;
}

@media (prefers-color-scheme: dark){
  :root{
    --c-bg:#0e1116; --c-bg-alt:#12161c; --c-surface:#12161c; --c-surface-2:#1a1f27;
    --c-border:#242a34; --c-border-strong:#39414d;
    --c-text:#eef1f5; --c-text-muted:#a5adb8; --c-text-subtle:#7b8492;
    --c-primary:#5a8bf0; --c-primary-hover:#7ba3f5; --c-primary-press:#9bbaff;
    --c-primary-soft:#16233d;
  }
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}