:root {
  --bg: #ffffff;
  --fg: #1c1b1f;
  --muted: #5f5b66;
  --border: #c9c5d0;
  --accent: #b3261e;
  --accent-fg: #ffffff;
  --ok: #1b6e3a;
  --disabled: #d9d6df;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #141318;
    --fg: #e6e1e9;
    --muted: #b0abb8;
    --border: #49454f;
    --accent: #f2b8b5;
    --accent-fg: #601410;
    --ok: #8fd8a4;
    --disabled: #36343b;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: 16px/1.5 system-ui, sans-serif;
}

main {
  max-width: 32rem;
  margin: 0 auto;
  padding: 24px 16px 48px;
}

.app { margin: 0; color: var(--muted); font-weight: 600; }
h1 { font-size: 1.6rem; line-height: 1.25; margin: 4px 0 20px; }
h2 { font-size: 1.05rem; margin: 20px 0 6px; }
ul { margin: 0; padding-left: 1.25rem; }

label { display: block; margin: 16px 0 6px; font-weight: 600; }

input {
  width: 100%;
  padding: 12px;
  font: inherit;
  color: var(--fg);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
}

button {
  display: block;
  width: 100%;
  margin-top: 16px;
  padding: 12px;
  font: inherit;
  font-weight: 600;
  color: var(--accent-fg);
  background: var(--accent);
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

button:disabled { color: var(--muted); background: var(--disabled); cursor: not-allowed; }
button.secondary { color: var(--fg); background: transparent; border: 1px solid var(--border); }

#message { margin-top: 20px; font-weight: 600; }
#message.ok { color: var(--ok); }
#message.error { color: var(--accent); }
[hidden] { display: none !important; }
