:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body { font: 16px/1.5 system-ui, sans-serif; margin: 0; padding: 2rem 1rem; background: #f4f4f6; color: #111; }
.card { max-width: 480px; margin: 0 auto; background: #fff; border-radius: 14px; padding: 1.5rem; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
h1 { margin: 0 0 .25rem; font-size: 1.4rem; }
.hint { color: #666; margin: 0 0 1rem; font-size: .9rem; }
progress { width: 100%; height: 6px; margin-bottom: 1rem; }
.step { display: none; }
.step.active { display: block; }
label { display: block; font-weight: 600; margin-bottom: .35rem; }
input, textarea { width: 100%; padding: .65rem .75rem; border: 1px solid #d0d3d8; border-radius: 8px; font: inherit; }
input:focus, textarea:focus { outline: 2px solid #4f8cff; outline-offset: 1px; }
button { margin-top: 1rem; margin-right: .5rem; padding: .6rem 1rem; border: 0; border-radius: 8px; background: #4f8cff; color: #fff; font: inherit; cursor: pointer; }
button[data-prev] { background: #e6e8ee; color: #111; }
button:hover { filter: brightness(.95); }
.err { color: #c0392b; min-height: 1.2em; margin: .4rem 0 0; font-size: .9rem; }
@media (prefers-color-scheme: dark) {
  body { background: #15171c; color: #e8eaed; }
  .card { background: #1d2027; box-shadow: 0 10px 30px rgba(0,0,0,.4); }
  .hint { color: #9aa0a6; }
  input, textarea { background: #14161b; border-color: #303641; color: inherit; }
  button[data-prev] { background: #2a2f38; color: #e8eaed; }
}
