/* Shared semantic palette. Dark is the default, including without JavaScript. */
:root {
  color-scheme: dark;
  --signal-red: #d1121b; --signal-green: #4d815e; --signal-yellow: #ddbc3d;
  --bg: #050505; --bg-soft: #101010; --bg-card: #151515; --surface: #1c1c20;
  --text: #f6f6f6; --muted: #b8b8b8; --red: #d1121b; --red-dark: #8d0c12;
  --border: rgba(255,255,255,.16); --control-border: #707070; --button-border: #666;
  --header-bg: rgba(5,5,5,.94); --nav-bg: #080808; --footer-bg: #030303;
  --control-bg: #0b0b0b; --form-bg: #1b1b1b; --raised-bg: #1c1c1c;
  --hover-bg: #252525; --hover-border: #999; --badge-bg: #292929; --badge-text: #ddd;
  --accent-text: #ed515b; --link-text: #ff8a90; --focus: #82b4ff;
  --active-text: #ffa4ad; --active-bg: #3b242a; --active-border: #81505a;
  --danger-bg: #38252c; --error-text: #ffb3b7; --success-text: #b7ffcf; --warning-text: #f5ce63;
  --subtle-bg: rgba(255,255,255,.04); --subtle-hover: rgba(255,255,255,.07);
  --gallery-bg: #202125; --portrait-bg: linear-gradient(145deg,#303135,#1e2023); --grade-text: #dfc697;
  --hero-bg: linear-gradient(90deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.84) 48%,rgba(5,5,5,.55) 100%),radial-gradient(circle at 80% 30%,rgba(209,18,27,.24),transparent 34%),linear-gradient(135deg,#050505,#161616 55%,#2a0508);
  --page-hero-bg: linear-gradient(90deg,rgba(5,5,5,.96),rgba(5,5,5,.78)),radial-gradient(circle at 85% 20%,rgba(209,18,27,.28),transparent 38%),#0d0d0d;
  --hero-stripe: #fff; --answer-bg: #23432e;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f6f6f5; --bg-soft: #eee; --bg-card: #fff; --surface: #fff;
  --text: #202020; --muted: #595959; --border: #ccc; --control-border: #999; --button-border: #aaa;
  --header-bg: rgba(255,255,255,.96); --nav-bg: #fff; --footer-bg: #ebebeb;
  --control-bg: #fff; --form-bg: #f7f7f7; --raised-bg: #f0f0f0;
  --hover-bg: #e5e5e5; --hover-border: #737373; --badge-bg: #e6e6e6; --badge-text: #454545;
  --accent-text: #a71019; --link-text: #a71019; --focus: #175ac6;
  --active-text: #95141c; --active-bg: #fce8e9; --active-border: #dca8ad;
  --danger-bg: #fff0f1; --error-text: #a51621; --success-text: #176334; --warning-text: #795400;
  --subtle-bg: rgba(0,0,0,.035); --subtle-hover: rgba(0,0,0,.065);
  --gallery-bg: #e6e6e6; --portrait-bg: linear-gradient(145deg,#eee,#d9d9d9); --grade-text: #755422;
  --hero-bg: linear-gradient(90deg,rgba(246,246,245,.97) 0%,rgba(246,246,245,.89) 48%,rgba(246,246,245,.7) 100%),radial-gradient(circle at 80% 30%,rgba(209,18,27,.18),transparent 34%),linear-gradient(135deg,#fff,#e7e7e7 55%,#f3dfe0);
  --page-hero-bg: linear-gradient(90deg,rgba(246,246,245,.96),rgba(246,246,245,.75)),radial-gradient(circle at 85% 20%,rgba(209,18,27,.18),transparent 38%),#eee;
  --hero-stripe: #202020; --answer-bg: #dceee2;
}
/* The white calligraphy remains legible on a light header; photos and belt colors keep their original colors. */
:root[data-theme="light"] .logo-secondary img { filter: invert(1); }

:root[data-theme="light"] .design-alt main::before { filter: invert(1); }
