/* Nocturne — light variant. Opt in by linking this AFTER styles.css; it does
   nothing unless the OS asks for a light appearance. Dark remains the system's
   default and its documented ground. Only the role tokens flip: the 100–900
   ramps are perceptual and are read from the other end (light steps for fills,
   dark steps for text) — no ramp is redefined. */
@media (prefers-color-scheme: light) {
  :root {
    --color-bg: #f4f5fb;
    --color-surface: #ffffff;
    --color-text: #232532;
    --color-accent: #6558ad;      /* accent-600/700 range: the same blurple hue at
       the lightness a light ground needs to keep the 3:1 chrome contrast */
    --color-accent-2: #6f68a0;
    --color-divider: color-mix(in srgb, #232532 14%, transparent);
    --color-section: #2b3070;     /* deck dividers stay a saturated deep field */
    --color-section-glow: #3a4090;
    --color-section-ghost: #545ba4;
    --shadow-sm: 0 0 0 1px color-mix(in srgb, #232532 12%, transparent);
    --shadow-md: 0 0 0 1px color-mix(in srgb, #232532 10%, transparent), 0 6px 18px rgba(35,37,50,0.10);
    --shadow-lg: 0 0 0 1px color-mix(in srgb, #232532 10%, transparent), 0 16px 40px rgba(35,37,50,0.16);
  }
  /* the blend that makes a dark-background photograph fall away on a dark page
     would flood a light one; on light the image simply sits in its frame */
  .lighten { mix-blend-mode: normal; }
  .tag-accent { background: var(--color-accent-200); color: var(--color-accent-800); }
  .tag-accent-2 { background: var(--color-accent-2-200); color: var(--color-accent-2-800); }
  .tag-neutral { background: var(--color-neutral-200); color: var(--color-neutral-800); }
  .radio input:checked + .dot { box-shadow: inset 0 0 0 4px var(--color-surface); }
  .dialog-backdrop { background: color-mix(in srgb, var(--color-neutral-900) 35%, transparent); }
}
