/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
button { cursor: pointer; -webkit-tap-highlight-color: transparent; }
input { -webkit-appearance: none; appearance: none; }

/* ── Design tokens ── */
:root {
  --bg:          #0a0a0a;
  --bg-card:     #141414;
  --bg-input:    #1c1c1c;
  --bg-hover:    rgba(255,255,255,0.06);
  --border:      #252525;
  --border-hi:   #3a3a3a;
  --text:        #f0f0f0;
  --text-sub:    #aaaaaa;
  --text-muted:  #555555;
  --green:       #22c55e;
  --green-dim:   rgba(34,197,94,0.12);
  --green-ring:  rgba(34,197,94,0.25);
  --amber:       #f59e0b;
  --amber-dim:   rgba(245,158,11,0.12);
  --red:         #ef4444;
  --red-dim:     rgba(239,68,68,0.10);
  --r:           14px;
  --r-sm:        8px;
  --font:        -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', system-ui, sans-serif;
  --mono:        'SF Mono', 'Cascadia Code', 'Consolas', monospace;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

/* ── Base ── */
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  line-height: 1.55;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overscroll-behavior: none;
}

/* ── Utilities ── */
.hidden { display: none !important; }

/* ── Scrollbar ── */
::-webkit-scrollbar { display: none; }
* { scrollbar-width: none; }
