/* Per-app visual identity — the accent palette. Loaded after css/variables.css,
   which derives all other accent shades (--color-primary-100..900, --border-accent,
   etc.) from --color-primary. Re-skinning is a one-line change: set --color-primary
   (the shades + translucent accents below all derive from it). */
:root {
	/* Purple identity. --color-primary IS the app's true accent — theme-adaptive via
	   light-dark() (lighter in dark mode), matching the app's light-dark theme tokens.
	   Everything below derives from it so a re-skin can't leave stale channels behind. */
	--color-primary: light-dark(#6d44ff, #7c5cff);
	--color-primary-light: color-mix(in oklch, var(--color-primary) 40%, white);
	--color-primary-dark:  color-mix(in oklch, var(--color-primary) 75%, black);

	/* Surface tints — derived from --color-primary so they carry a faint purple
	   cast (were hardcoded green #f0fdf4 / #d1fae5, an outlier against the accent). */
	--color-surface-alt: color-mix(in oklch, var(--color-primary) 4%, white);
	--color-border:      color-mix(in oklch, var(--color-primary) 16%, white);

	/* Translucent accents derived from --color-primary (were hardcoded green rgba,
	   which would have drifted from the purple accent). For a pure-alpha change
	   rgb(from … r g b / A) is byte-identical to the rgba() it replaces. */
	--color-outline:    rgb(from var(--color-primary) r g b / 0.55);
	--color-focus-ring: rgb(from var(--color-primary) r g b / 0.30);
	--shadow-button: 0 2px 4px rgba(0, 0, 0, 0.05), 0 4px 10px rgb(from var(--color-primary) r g b / 0.25);
	--border-subtle: 1px solid rgb(from var(--color-primary) r g b / 0.12);
}
