/* Shared semantic aliases. Components inherit the active appearance palette;
   game board geometry, mascot artwork and local game palettes remain scoped. */
:root {
  --home-surface: var(--surface);
  --home-panel: var(--surface);
  --home-text: var(--home-ink);
  --text-primary: var(--home-ink);
  --text-secondary: var(--home-muted);
  --text-muted: var(--home-muted);
  --bg-soft: var(--surface-soft);
  --surface-alt: var(--surface-soft);
  --page-bg: var(--home-bg);
  --positive: var(--green);
  --negative: var(--red);
  --ui-font: Inter, 'Segoe UI', sans-serif;
}
:where(.app-shell, .site-header, .site-chat-panel) {
  font-family: var(--ui-font);
}
:where(button, input, select, textarea) {
  font-family: inherit;
}
.app-shell .ticket-mode-tabs button[aria-pressed=true] {
  color: var(--home-accent);
  background: var(--accent-soft);
}
.app-shell .events-status {
  color: var(--home-accent);
}
.app-shell .events-status:is(.status-registration,.status-live) {
  color: var(--green);
}
.app-shell .events-status.status-finished {
  color: var(--home-muted);
}
:where(.app-shell, .site-header, .site-chat-panel)
:where(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--home-accent);
  outline-offset: 3px;
}
@media (forced-colors: active) {
  :where(.app-shell, .site-header, .site-chat-panel)
  :where(button, a, input, select, textarea, summary):focus-visible {
    outline-color: Highlight;
  }
}
