:root{--bg:#F5F5F7;--panel:#fff;--ink:#1D1D1F;--muted:#6E6E73;--accent:#0071E3;--line:#D2D2D7;--soft:#F5F5F7;--err:#D70015;--ok:#248A3D;--nav:rgba(251,251,253,.85)}
@media (prefers-color-scheme: dark){:root{--bg:#000;--panel:#1C1C1E;--ink:#F5F5F7;--muted:#A1A1A6;--accent:#2997FF;--line:#3A3A3C;--soft:#2C2C2E;--err:#FF453A;--ok:#30D158;--nav:rgba(22,22,23,.85)}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;padding:0 16px 64px}
.wrap{max-width:960px;margin:0 auto}
.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 -16px;padding:10px 16px;background:var(--nav);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.topbar a.home{font-weight:600;color:var(--ink);text-decoration:none;font-size:17px}
.userbox{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--muted)}
.userbox a,.userbox button{color:var(--accent);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:none}
h1{font-size:clamp(30px,5vw,44px);letter-spacing:-.02em;margin:40px 0 4px}
p.sub{color:var(--muted);margin:0 0 28px;font-size:17px}
.panel{background:var(--panel);border-radius:18px;padding:24px}
label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px}
input{font:inherit;font-size:16px;color:var(--ink);background:var(--soft);border:1px solid transparent;border-radius:12px;padding:11px 12px;width:100%}
input:focus{outline:none;border-color:var(--accent);background:var(--panel)}
button.primary{margin-top:20px;width:100%;font:inherit;font-size:16px;border:0;border-radius:999px;padding:12px;background:var(--accent);color:#fff;cursor:pointer}
button.primary[disabled]{opacity:.5}
.msg{min-height:1.4em;font-size:14px;margin-top:12px}
.msg.err{color:var(--err)} .msg.ok{color:var(--ok)}
