/* Shared GTG foundation. Loaded after Bootstrap and before page styles. */
:root {
  color-scheme: dark;
  --bg: #101310;
  --bg-2: #151a16;
  --surface: #1b211c;
  --surface-2: #242c25;
  --line: #343e35;
  --line-2: #556255;
  --text: #f1f2ea;
  --muted: #b5bdb2;
  --dim: #a1ac9e;
  --accent: #d6bb83;
  --accent-2: #ead4a9;
  --cyan: #d6bb83;
  --amber: #e6bc70;
  --green: #a9d09b;
  --red: #f19b96;
  --display: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
  --serif: Georgia, serif;
  --radius-sm: 6px;
  --radius: 12px;
  --radius-lg: 20px;
  --content-width: 1240px;
  --page-gutter: clamp(1rem, 4vw, 3rem);
  --header-height: 76px;
  /* Aliases used by existing tools during their migration. */
  --glass-bg: var(--surface);
  --glass-border: var(--line);
  --text-primary: var(--text);
  --text-secondary: var(--muted);
  --accent-blue: var(--accent);
  --accent-green: var(--green);
  --accent-red: var(--red);
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--text);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--header-height) + 20px); }
body { font-family: var(--display); color: var(--text); background: var(--bg); }
.text-muted { color: var(--muted) !important; }
img { max-width: 100%; }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { touch-action: manipulation; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--accent-2);
  outline-offset: 4px;
}
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1100;
  padding: 12px 20px;
  color: var(--bg);
  background: var(--accent);
  border-radius: var(--radius-sm);
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }

@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;
    scroll-behavior: auto !important;
  }
}
