:root {
  --radius: 0px;
  --font-sans: "Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Sofia Sans Condensed", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-serif: ui-serif, Georgia, "Times New Roman", serif;
  --font-mono: "Spline Sans Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --ring-offset: 1px;
  --pv-radius: 0px;
  --pv-radius-md: 0px;
  --pv-radius-sm: 0px;
  --pv-radius-xl: 0px;
  --pv-bw: 2px;
  --pv-display: "Sofia Sans Condensed", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --pv-body: "Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --pv-mono: "Spline Sans Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --dur: 90ms;
  --dur-fast: 54ms;
  --dur-slow: 162ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);
  --img-filter: none;
  --background: #E5F5E7;
  --foreground: #24262A;
  --card: #DDEADF;
  --card-foreground: #24262A;
  --popover: #DDEADF;
  --popover-foreground: #24262A;
  --primary: #2A2E34;
  --primary-foreground: #F5FDF6;
  --secondary: #CFE1D2;
  --secondary-foreground: #24262A;
  --muted: #CFE1D2;
  --muted-foreground: #5D6066;
  --accent: #0B7643;
  --accent-foreground: #F5FDF6;
  --destructive: #5D0004;
  --destructive-foreground: #F5FDF6;
  --border: #BFCEC1;
  --input: #BFCEC1;
  --ring: #2A2E34;
  --chart-1: #2A446F;
  --chart-2: #61450A;
  --chart-3: #383665;
  --chart-4: #5D5316;
  --chart-5: #003B5A;
  --sidebar: #DDEADF;
  --sidebar-foreground: #24262A;
  --sidebar-primary: #2A2E34;
  --sidebar-primary-foreground: #F5FDF6;
  --sidebar-accent: #CFE1D2;
  --sidebar-accent-foreground: #24262A;
  --sidebar-border: #BFCEC1;
  --sidebar-ring: #2A2E34;
}

.dark {
  --background: #15181E;
  --foreground: #E0E7E1;
  --card: #1D2229;
  --card-foreground: #E0E7E1;
  --popover: #1D2229;
  --popover-foreground: #E0E7E1;
  --primary: #CDD1D8;
  --primary-foreground: #080D17;
  --secondary: #262D37;
  --secondary-foreground: #E0E7E1;
  --muted: #262D37;
  --muted-foreground: #8F9790;
  --accent: #6AC48C;
  --accent-foreground: #080D17;
  --destructive: #FFBFB6;
  --destructive-foreground: #080D17;
  --border: #343A43;
  --input: #343A43;
  --ring: #CDD1D8;
  --chart-1: #A3C3F6;
  --chart-2: #D2B27C;
  --chart-3: #C3C4FD;
  --chart-4: #BAB074;
  --chart-5: #A3D9FF;
  --sidebar: #1D2229;
  --sidebar-foreground: #E0E7E1;
  --sidebar-primary: #CDD1D8;
  --sidebar-primary-foreground: #080D17;
  --sidebar-accent: #262D37;
  --sidebar-accent-foreground: #E0E7E1;
  --sidebar-border: #343A43;
  --sidebar-ring: #CDD1D8;
}

/* Keyboard focus. Zero specificity — override it with any plain selector. */
@layer base {
  :where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 2px solid var(--ring);
    outline-offset: var(--ring-offset, 2px);
  }
}