:root{--bg:#f5f6f8;--card:#fff;--text:#16181d;--muted:#5b6170;--line:#dfe2e8;--accent:#1f5eff;--error:#c62828}
@media (prefers-color-scheme:dark){:root{--bg:#111318;--card:#1a1d24;--text:#eceef3;--muted:#a1a7b5;--line:#2c313c;--accent:#6d97ff;--error:#ff7a7a}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,"Microsoft YaHei","PingFang SC",sans-serif}
main{max-width:560px;margin:0 auto;padding:32px 16px 48px}
header{display:flex;gap:12px;align-items:center;margin-bottom:20px}header small{display:block;color:var(--muted)}
.mark{width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:16px}
h1{margin:0 0 6px;font-size:22px}h2{margin:0 0 6px;font-size:16px;color:var(--text)}
.muted{color:var(--muted)}.small{font-size:13px}
label{display:block;margin:14px 0 6px;font-weight:600}
input[name=code]{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font:15px ui-monospace,Consolas,monospace}
fieldset{border:0;padding:0;margin:14px 0}legend{font-weight:600;margin-bottom:4px}
.choice{font-weight:400;margin:6px 0}
button,.button{display:inline-block;margin-top:8px;padding:10px 18px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
button:disabled{opacity:.6;cursor:wait}
#status{min-height:1.6em;margin:12px 0 0}#status.error{color:var(--error)}
