/* ── Reset / Base ────────────────────────────────────────────────────────── */

* { box-sizing: border-box; }
.htmx-request, .htmx-swapping, .htmx-settling { opacity: 1; }
* { scrollbar-width: thin; scrollbar-color: var(--accent-mid) var(--bg-main); }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--bg-main); border-radius: 999px; }
::-webkit-scrollbar-thumb { background: var(--accent-mid); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--silver); }
[hidden] { display: none !important; }
body {
  margin: 0;
  font-family: "Avenir Next", "Segoe UI", sans-serif;
  background: radial-gradient(circle at top left, var(--bg-glow) 0%, var(--bg-main) 55%);
  color: var(--text-1);
}
a { color: var(--interactive); }
:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }

/* ── Layout ──────────────────────────────────────────────────────────────── */

.shell { max-width: 875px; margin: 0 auto; padding: 24px; min-height: 100vh; }
.page-body { display: flex; flex-direction: column; gap: 16px; }
