:root {
  color-scheme: light;
  --page: #faf8f2; --panel: #ffffff; --panel-soft: #f0f3ed; --panel-green: #eaf4ed;
  --text-main: #263b31; --text-muted: #52665b; --heading: #124d37;
  --line: #c9d5cd; --accent: #8c651c; --accent-bright: #f5cf76;
  --brand-solid: #124d37; --brand-deep: #092f23; --brand-hover: #216447; --on-brand: #ffffff;
  --success-text: #256342; --success-bg: #e5f3e9; --warning-text: #78551b; --warning-bg: #fcf1da;
  --danger-text: #a13232; --danger-bg: #fceceb; --focus: #946710;
  --overlay: rgba(6, 27, 20, .65); --soft-shadow: 0 4px 20px rgba(10, 40, 28, .08);
  --logo-paper: #ffffff;
  --spruce: var(--brand-solid); --deep: var(--brand-deep); --light: var(--brand-hover);
  --gold: var(--accent); --gold-light: var(--accent-bright); --canvas: var(--page);
  --surface: var(--panel-soft); --mint: var(--panel-green); --ink: var(--text-main); --border: var(--line); --shadow: var(--soft-shadow);
  --ops-green: var(--heading); --ops-deep: var(--heading); --ops-gold: var(--accent);
  --ops-ink: var(--text-main); --ops-muted: var(--text-muted); --ops-line: var(--line); --ops-paper: var(--page);
  font-size: 103.125%;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --page: #101c17; --panel: #192a22; --panel-soft: #21362b; --panel-green: #243e2e;
  --text-main: #eef3ec; --text-muted: #bacbbe; --heading: #9cdbb4;
  --line: #486151; --accent: #ebc16a; --accent-bright: #f5cf76;
  --brand-solid: #124d37; --brand-deep: #092f23; --brand-hover: #216447;
  --success-text: #b4e8c5; --success-bg: #244730; --warning-text: #f2d28d; --warning-bg: #443a23;
  --danger-text: #ffbdb5; --danger-bg: #4c2b2b; --focus: #f5cf76;
  --soft-shadow: 0 4px 20px rgba(0, 0, 0, .22);
}
html, body { background: var(--page); color: var(--text-main); }
body { line-height: 1.65; }
input, select, textarea, button { font-family: inherit; }
input::placeholder, textarea::placeholder { color: var(--text-muted); opacity: 1; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.appearance-controls { display: inline-flex; align-items: center; flex: 0 0 auto; }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: 54px; min-height: 44px; padding: 4px; border: 0; border-radius: 24px; background: transparent; cursor: pointer; flex-shrink: 0; }
.theme-toggle-track { display: block; width: 46px; height: 28px; padding: 3px; border-radius: 20px; background: var(--line); box-shadow: inset 0 0 0 1px var(--text-muted); transition: background .2s; }
.theme-toggle-thumb { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--logo-paper); color: var(--brand-deep); box-shadow: 0 1px 3px #0004; transition: transform .2s; font: 18px/1 system-ui, sans-serif; }
.theme-toggle[aria-checked="true"] .theme-toggle-track { background: var(--brand-solid); }
.theme-toggle[aria-checked="true"] .theme-toggle-thumb { transform: translateX(18px); }
.theme-toggle .theme-moon, .theme-toggle[aria-checked="true"] .theme-sun { display: none; }
.theme-toggle[aria-checked="true"] .theme-moon { display: inline; }
.theme-toggle:hover .theme-toggle-track { box-shadow: inset 0 0 0 2px var(--focus); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
