/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  background: var(--canvas);
  /* Force mobile width — never wider than 480px centered */
  max-width: 480px;
  margin: 0 auto;
  min-height: 100vh;
  position: relative;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: var(--canvas);
  color: var(--text-primary);
  line-height: 1.5;
  min-height: 100vh;
  /* Pad bottom for fixed bottom nav */
  padding-bottom: calc(var(--botnav-h) + env(safe-area-inset-bottom));
  padding-top: var(--topbar-h);
  overflow-x: hidden;
}

/* BinancePlex substitute — monospace for numbers */
.plex {
  font-family: 'SF Mono', 'Roboto Mono', 'Courier New', monospace;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

a { color: var(--yellow); text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
input, select, textarea {
  font-family: inherit;
  font-size: 14px;
  background: var(--surface-input);
  border: 1px solid var(--hairline);
  color: var(--text-primary);
  border-radius: var(--r-md);
  outline: none;
  width: 100%;
  padding: 11px 14px;
  transition: border-color .15s;
}
input:focus, select:focus { border-color: var(--yellow); }
select { appearance: none; cursor: pointer; }

::-webkit-scrollbar { width: 0; height: 0; }
img { display: block; }
