/* Atrium base: reset, page canvas, typography, focus, selection.
   Loaded only when the page runs in Atrium mode (body[data-ui="atrium"]). */
@layer atrium.base {
  .at-body, .at-body *, .at-body *::before, .at-body *::after { box-sizing: border-box; }
  html { scroll-padding-top: 90px; }
  .at-body {
    margin: 0;
    min-height: 100vh;
    min-height: 100dvh;
    background:
      radial-gradient(ellipse at 100% 0%, var(--at-glow-1), transparent 58%),
      var(--at-canvas);
    background-attachment: fixed;
    color: var(--at-ink);
    font: 15px/1.6 var(--at-font-ui);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  .at-body button, .at-body input, .at-body select, .at-body textarea { font: inherit; color: inherit; }
  .at-body button, .at-body a { touch-action: manipulation; }
  .at-body button { cursor: pointer; }
  .at-body a { color: inherit; text-underline-offset: 4px; }
  .at-body h1, .at-body h2, .at-body h3, .at-body h4, .at-body p { margin: 0; }
  .at-body h1, .at-body h2, .at-body h3 { font-family: var(--at-font-display); }
  .at-body ::selection { background: var(--at-amber-highlight); }
  .at-body :is(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--at-focus);
    outline-offset: 3px;
  }
  .at-body small, .at-muted { color: var(--at-ink-2); }
  .at-body small { font-size: var(--at-fs-meta); }
  .at-sr-only {
    position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  .at-body [hidden] { display: none !important; }
  .at-num { font-variant-numeric: tabular-nums; }
  .at-neg { color: var(--at-neg); }

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