[hidden] { display: none !important; }
:root { color-scheme: light dark; --text: #2b1d16; --muted: #6b5a50; --bg: #fff8f5; --accent: #8a4b2a; }
@media (prefers-color-scheme: dark) { :root { --text: #f3e6de; --muted: #c8b5aa; --bg: #1b1310; --accent: #f0b48e; } }
body { margin: 0; background: var(--bg); color: var(--text); font: 17px/1.55 system-ui, sans-serif; }
main { max-width: 640px; margin: 0 auto; padding: 32px 16px 64px; }
h1 { font-size: 1.7rem; margin: 0 0 8px; }
h2 { font-size: 1.15rem; margin: 32px 0 8px; }
p, li { color: var(--text); }
.muted { color: var(--muted); }
a { color: var(--accent); }
table { border-collapse: collapse; width: 100%; font-size: 0.95rem; }
th, td { text-align: left; vertical-align: top; padding: 8px 6px; border-bottom: 1px solid color-mix(in srgb, var(--muted) 35%, transparent); }
.step { margin: 16px 0 8px; display: grid; gap: 10px; }
label { font-weight: 600; }
label.check { font-weight: normal; display: flex; gap: 10px; align-items: flex-start; }
input[type=email], input:not([type]), input[inputmode] {
  font: inherit; padding: 12px; border-radius: 10px; color: var(--text); background: transparent;
  border: 1px solid color-mix(in srgb, var(--muted) 60%, transparent); min-height: 48px; box-sizing: border-box; width: 100%;
}
input[type=checkbox] { width: 22px; height: 22px; margin-top: 3px; }
button { font: inherit; min-height: 48px; padding: 0 20px; border-radius: 24px; border: 0; cursor: pointer;
  background: var(--accent); color: var(--bg); font-weight: 600; justify-self: start; }
button.danger { background: #b3261e; color: #fff; }
button.link { background: none; color: var(--accent); padding: 0; min-height: 44px; }
button:disabled { opacity: .5; cursor: default; }
.error { color: #b3261e; font-weight: 600; }
@media (prefers-color-scheme: dark) { button.danger { background: #f2b8b5; color: #601410; } .error { color: #f2b8b5; } }
