/* ── Design tokens & reset ─────────────────────────────── */

@font-face {
  font-family: "Poppins"; font-style: normal; font-weight: 400;
  font-display: swap; src: url("/fonts/poppins-400.woff2") format("woff2");
}
@font-face {
  font-family: "Poppins"; font-style: normal; font-weight: 500;
  font-display: swap; src: url("/fonts/poppins-500.woff2") format("woff2");
}
@font-face {
  font-family: "Poppins"; font-style: normal; font-weight: 600;
  font-display: swap; src: url("/fonts/poppins-600.woff2") format("woff2");
}

:root {
  --bg: #0b0b0f;
  --text: #ececf1;
  --muted: #c5c5cf;
  --faint: #9a9aaa;
  --dim: #6e6e80;
  --dis: #45455a;
  --acc: #46d392;
  --acc-ink: #07271a;
  --acc-soft: rgba(70, 211, 146, .12);
  --panel: #141419;
  --panel2: #1b1b22;
  --line: rgba(255, 255, 255, .07);
  --mut: var(--muted);
  --ink: var(--text);
  --crit: #fff;
  --chk-a: #101014;
  --chk-b: #17171d;
  --r-card: 14px;
  --r-ctl: 10px;
  --shadow: 0 10px 32px rgba(0, 0, 0, .45);
  --mono: ui-monospace, "Cascadia Code", "JetBrains Mono", "SF Mono",
          Menlo, Consolas, "Liberation Mono", monospace;
  --sans: "Poppins", system-ui, "Segoe UI", sans-serif;
  --font: var(--sans);
}

* {
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: var(--dim) transparent;

  &::-webkit-scrollbar { width: 8px; height: 8px; }
  &::-webkit-scrollbar-thumb { background: var(--dim); border-radius: 99px; }
  &::-webkit-scrollbar-track { background: transparent; }
}

[hidden] { display: none !important; }

body {
  margin: 0;
  background:
    radial-gradient(1100px 500px at 75% -200px, rgba(70, 211, 146, .05), transparent 60%),
    var(--bg);
  color: var(--text);
  font: 13px/1.6 var(--font);
  -webkit-font-smoothing: antialiased;
  font-variant-ligatures: none;
}
/* ponytail: 14px bump only on very wide screens to stay readable at zoom */
@media (min-width: 1800px) { body { font-size: 14px; } }

h1, h2 {
  margin: 0; font-weight: 600; font-size: 17px;
  letter-spacing: .02em; color: var(--text);
}

button {
  font: inherit; cursor: pointer; background: none;
  border: 0; padding: 0; color: inherit;
}

input, select, table { font: inherit; }
a { color: var(--text); }
table { border-collapse: collapse; }
html { overscroll-behavior-y: none; }

@media (min-width: 2200px) { body { zoom: 1.5; } }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
