/* Shared token + reset layer for every page. Edit here, changes everywhere. */
:root {
  --bg: #08080a;
  --well: #0b0b0c;
  --card: rgba(255,255,255,0.025);
  --fg: #f5f5f7;
  --fg2: #a1a1a6;
  --fg3: #8a8a91;
  --edge: rgba(255,255,255,0.08);
  --edge-strong: rgba(255,255,255,0.2);
  --hi: rgba(255,255,255,0.06);
  --hover-1: rgba(255,255,255,0.055);
  --hover-2: rgba(255,255,255,0.14);
  --glass-strong: rgba(15,15,18,0.86);
  --glass-bar: rgba(15,15,18,0.72);
  --solid: rgba(15,15,18,0.95);
  --sheen: rgba(255,255,255,0.08);
  --grid-line: rgba(255,255,255,0.15);
  --vignette: rgba(8,8,10,0.6);
  --num: rgba(255,255,255,0.1);
  --num-soft: rgba(255,255,255,0.06);
  --sh-card: rgba(0,0,0,0.45);
  --sh-modal: rgba(0,0,0,0.8);
  --scrim: rgba(0,0,0,0.8);
  --btn-glow: rgba(255,255,255,0.15);
  --err: #ff9f9f;
  --logo-bg: #ffffff;
  --logo-fg: #000000;
  --img-dim: 0.7;
  --blur: 20px;
  --display: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;
  --body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html { background: var(--bg); }
html body {
  margin: 0; background: var(--bg); color: var(--fg);
  font-family: var(--body); font-size: 16px; line-height: 1.6; letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
  transition: background-color 420ms cubic-bezier(0.2,0,0,1), color 420ms cubic-bezier(0.2,0,0,1);
}
h1, h2, h3, h4, p, figure, form, label { margin: 0; }
img { display: block; max-width: 100%; }
a { color: var(--fg); text-decoration: none; }
input, textarea, select, button { font: inherit; color: inherit; }
::placeholder { color: var(--fg3); }
::selection { background: var(--fg); color: var(--bg); }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 4px; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--fg); outline-offset: 4px; border-radius: 8px; }
@keyframes blink { 50% { opacity: 0; } }
@keyframes pulse-green { 0%, 100% { box-shadow: 0 0 0 0 rgba(74,222,128,0.5); } 50% { box-shadow: 0 0 0 6px rgba(74,222,128,0); } }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes scroll-down { 0% { top: -100%; } 100% { top: 100%; } }
@keyframes scrim-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes modal-in { from { opacity: 0; transform: scale(0.96) translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes toast-cycle { 0% { transform: translateX(-50%) translateY(100px); } 9%, 91% { transform: translateX(-50%) translateY(0); } 100% { transform: translateX(-50%) translateY(100px); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
@media (prefers-reduced-transparency: reduce) { [data-glass] { background: var(--solid) !important; backdrop-filter: none !important; } }
@media (prefers-contrast: more) { [data-glass] { background: var(--solid) !important; border-color: var(--fg) !important; } }
