/* ACPA shared visual foundation. Load after each interface's local stylesheet. */
:root {
  color-scheme: light;
  --acpa-page: #f6f8fc;
  --acpa-surface: #ffffff;
  --acpa-surface-soft: #f8faff;
  --acpa-ink: #142943;
  --acpa-navy: #0f2038;
  --acpa-muted: #71829a;
  --acpa-border: #dce5f1;
  --acpa-primary: #1455cc;
  --acpa-primary-hover: #0e46b1;
  --acpa-primary-soft: #edf4ff;
  --acpa-focus: #3979e8;
  --acpa-success: #13775b;
  --acpa-warning: #98600c;
  --acpa-danger: #b42338;
  --acpa-shadow: 0 12px 40px rgb(23 48 82 / 6%);

  /* Compatibility aliases for the current PHP/CSS interfaces. */
  --bg: var(--acpa-page);
  --page: var(--acpa-page);
  --surface: var(--acpa-surface);
  --card: var(--acpa-surface);
  --surface-soft: var(--acpa-surface-soft);
  --ink: var(--acpa-ink);
  --navy: var(--acpa-navy);
  --muted: var(--acpa-muted);
  --line: var(--acpa-border);
  --border: var(--acpa-border);
  --blue: var(--acpa-primary);
  --blue-hover: var(--acpa-primary-hover);
  --blue-soft: var(--acpa-primary-soft);
  --primary: var(--acpa-primary);
  --primary-color: var(--acpa-primary);
  --success: var(--acpa-success);
  --green: var(--acpa-success);
  --warning: var(--acpa-warning);
  --amber: var(--acpa-warning);
  --error: var(--acpa-danger);
  --red: var(--acpa-danger);
  --danger: var(--acpa-danger);
  --shadow: var(--acpa-shadow);

  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --acpa-page: #0b1220;
  --acpa-surface: #111c2e;
  --acpa-surface-soft: #17263a;
  --acpa-ink: #dbe5f3;
  --acpa-navy: #f1f5fb;
  --acpa-muted: #a8b7ca;
  --acpa-border: #29384d;
  --acpa-primary: #8ab8ff;
  --acpa-primary-hover: #bfdbfe;
  --acpa-primary-soft: #182f4e;
  --acpa-focus: #9bc3ff;
  --acpa-success: #86efc1;
  --acpa-warning: #f6c66f;
  --acpa-danger: #fda4af;
  --acpa-shadow: 0 12px 40px rgb(0 0 0 / 22%);
}

:where(html) {
  color-scheme: light;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-size-adjust: 100%;
}

:where(body) {
  color: var(--acpa-ink);
  background-color: var(--acpa-page);
  font-family: inherit;
}

:where(button, input, select, textarea) {
  font-family: inherit;
}

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
  border-color: var(--acpa-border);
  border-radius: 10px;
  color: var(--acpa-ink);
}

:where(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--acpa-primary);
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--acpa-focus);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  :where(html) { scroll-behavior: auto !important; }
  :where(*, *::before, *::after) {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
