:root { color-scheme: light dark; --fg: #111; --bg: #f6f6f4; --card: #fff; --muted: #666; --accent: #1f6feb; --line: #ddd; }
@media (prefers-color-scheme: dark) { :root { --fg: #eee; --bg: #0f1115; --card: #171a21; --muted: #9aa; --accent: #4c8dff; --line: #2a2f3a; } }
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: var(--bg); color: var(--fg); font: 16px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.door { max-width: 420px; margin: 12vh auto 0; padding: 32px 28px; background: var(--card); border: 1px solid var(--line); border-radius: 14px; }
header { text-align: center; margin-bottom: 22px; }
.mark { width: 44px; height: 44px; margin: 0 auto 10px; border-radius: 12px; background: linear-gradient(135deg, var(--accent), #7cc0ff); }
h1 { margin: 0; font-size: 24px; letter-spacing: .02em; }
.sub { margin: 2px 0 0; color: var(--muted); font-size: 13px; }
.pick { display: flex; flex-direction: column; gap: 10px; }
label { font-size: 13px; color: var(--muted); }
select, button { font: inherit; padding: 11px 12px; border-radius: 9px; border: 1px solid var(--line); background: var(--bg); color: var(--fg); }
button { background: var(--accent); color: #fff; border-color: transparent; cursor: pointer; font-weight: 600; }
button:hover { filter: brightness(1.06); }
.hint { margin: 6px 0 0; font-size: 13px; color: var(--muted); }
.bad { margin: 6px 0 0; font-size: 13px; color: #c0392b; }
footer { margin-top: 22px; text-align: center; color: var(--muted); }
