/* ============================================================
   Forum Design System — BASE
   Resets, body baseline, links, the centered page container, and
   small shared helpers. Depends on tokens.css.
   ============================================================ */

/* ── RESETS ─────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-sans);
  font-feature-settings:'ss01','cv11';
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
button{font-family:inherit;cursor:pointer;border:0;background:transparent;color:inherit;padding:0}
:focus-visible{outline:2px solid var(--nd-green);outline-offset:2px;border-radius:3px}

/* ── SHARED HELPERS ─────────────────────────────────────── */
.eyebrow{
  font-family:var(--font-mono);font-size:var(--type-mono-label-size);
  letter-spacing:var(--type-mono-label-tracking);text-transform:uppercase;
  color:var(--ink-3);font-weight:500;
}
.page{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-pad)}

/* Generic error / notice text used inline */
.errortext,.tinytexterror{
  color:var(--danger);font-family:var(--font-sans);font-weight:600;
}

/* Flash / notice banner — used for post-action messages (invalid login,
   logged out, permission errors, etc.). The wrapper uses flex to guarantee
   true centering; the inner box shrinks to content width. */
.errornote-wrap{
  text-align:center;
  padding:20px 0 4px;
}
.errornote{
  display:inline-block;
  padding:11px 24px;
  background:#fff;
  border:1px solid var(--line);
  border-top:3px solid var(--nd-navy);
  border-radius:var(--r-card);
  box-shadow:var(--shadow-sm);
  font-family:var(--font-sans);font-size:14px;line-height:1.5;
  color:var(--ink-2);
}

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