:root {
  --bg: #0b0b0c;
  --fg: #f2f3f5;
  --muted: #9aa0a6;
  --accent: #4f8cff;
  --card: #15171a;
  --border: #23262b;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--fg);
}

.container {
  max-width: 560px;
  margin: 40px auto;
  padding: 24px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
}

h1, h2 { margin-top: 0; }

label { display: block; margin: 12px 0 6px; color: var(--muted); }

input[type="text"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #0f1113;
  color: var(--fg);
}

.row { margin: 12px 0; display: flex; gap: 12px; align-items: center; }

button#gen {
  margin-top: 12px;
  background: var(--accent);
  color: white;
  border: none;
  padding: 12px 16px;
  border-radius: 10px;
  cursor: pointer;
}

button#gen:hover { filter: brightness(1.05); }

.result { margin-top: 24px; }
.result.hidden { display: none; }

#qr {
  display: block;
  margin: 12px 0;
  max-width: 100%;
  height: auto;
}

a#download {
  color: white;
  text-decoration: none;
  border: 1px solid var(--border);
  padding: 8px 12px;
  border-radius: 8px;
  background: transparent;
}
a#download:hover { background: #1d2126; }

.hint { color: var(--muted); font-size: 14px; }
