/* =========================================================================
   Saga player base styles
   =========================================================================
   Element defaults for the player-facing surface. Everything is scoped
   under `.saga-player` (applied by PlayerLayout / player page roots) so
   Dev/Admin pages are unaffected.

   Consumes tokens from tokens.css only — no raw color values here.
   ========================================================================= */

.saga-player {
  font-family: var(--sg-font-body);
  color: var(--sg-ink);
  line-height: 1.6;
}

.saga-player h1,
.saga-player h2,
.saga-player h3,
.saga-player h4 {
  font-family: var(--sg-font-display);
  color: var(--sg-ink-strong);
  font-weight: 700;
  line-height: 1.2;
}

.saga-player h1 { font-size: 1.875rem; }
.saga-player h2 { font-size: 1.375rem; }
.saga-player h3 { font-size: 1.125rem; }
.saga-player h4 { font-size: 1rem; }

.saga-player a:not([class]) {
  color: var(--sg-link);
  text-decoration: none;
}

.saga-player a:not([class]):hover {
  text-decoration: underline;
}

.saga-player code {
  font-family: var(--sg-font-mono);
  font-size: 0.875em;
  background: var(--sg-surface-raised);
  border-radius: var(--sg-radius-sm);
  padding: 0.125rem 0.375rem;
}

.saga-player hr {
  border: 0;
  border-top: 1px solid var(--sg-edge);
}

/* Player-surface JS (settings tabs, manual search) toggles visibility with a
   bare `hidden` class; don't depend on the Tailwind build emitting it. */
.saga-player .hidden {
  display: none !important;
}

/* FocusOnNavigate (Routes.razor) focuses the page h1 on navigation; don't
   draw a focus indicator on a non-interactive heading. */
.saga-player h1[tabindex]:focus,
.saga-player h1[tabindex]:focus-visible {
  outline: none;
  box-shadow: none;
}

/* Interactive elements only get the custom focus ring. */
.saga-player a:focus-visible,
.saga-player button:focus-visible,
.saga-player input:focus-visible,
.saga-player select:focus-visible,
.saga-player textarea:focus-visible,
.saga-player summary:focus-visible,
.saga-player label:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--sg-focus);
  border-radius: var(--sg-radius-sm);
}

.saga-player ::placeholder {
  color: var(--sg-ink-faint);
}

.saga-player ::selection {
  background: var(--sg-accent-soft);
}
