:root {
  --bg: #0d1117;
  --card: #161b22;
  --line: #30363d;
  --ink: #e6edf3;
  --dim: #8b949e;
  --accent: #2dd4bf;
  --warn: #f0b429;
  --bad: #f87171;
  color-scheme: dark;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.6 system-ui, -apple-system, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
  padding: max(16px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));
}
main { max-width: 480px; margin: 0 auto; display: grid; gap: 14px; }
h1 { font-size: 20px; margin: 4px 0 0; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; display: grid; gap: 8px; }
.dim { color: var(--dim); font-size: 14px; }
.warn { color: var(--warn); }
.bad { color: var(--bad); }
button, .btn {
  font: inherit; font-size: 16px; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--line);
  background: #21262d; color: var(--ink); width: 100%; text-align: center; text-decoration: none; display: block;
}
button.primary { background: var(--accent); color: #04211d; border-color: var(--accent); font-weight: 600; }
button:disabled { opacity: .5; }
.row { display: flex; gap: 8px; align-items: center; }
.row > .grow { flex: 1; min-width: 0; }
.row button { width: auto; padding: 8px 12px; font-size: 14px; }
code { background: #21262d; padding: 1px 5px; border-radius: 4px; font-size: 13px; word-break: break-all; }
ol { margin: 0; padding-left: 20px; }
[hidden] { display: none !important; }
