:root{color-scheme:light dark;--bg:#f4f5f7;--card:#fff;--text:#1c1f24;--muted:#6a717c;--border:#e2e5ea;--accent:#2a6fdb;--err:#c63a3a}
@media (prefers-color-scheme:dark){:root{--bg:#14171c;--card:#1e2229;--text:#eceef1;--muted:#9aa1ac;--border:#2f343d;--accent:#6ea2f5;--err:#ef6b6b}}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text);
font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Noto Sans JP',sans-serif;padding:24px 16px}
.box{width:100%;max-width:380px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px 22px;text-align:center}
.box img{border-radius:12px}h1{font-size:22px;margin:12px 0 4px}.sub{color:var(--muted);font-size:14px;margin:0 0 18px}
form{display:grid;gap:10px;text-align:left}label{font-weight:600;font-size:14px}
input{font:inherit;font-size:16px;width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);min-height:48px}
input:focus{outline:2px solid var(--accent);border-color:transparent}
button{font:inherit;font-weight:700;font-size:16px;min-height:50px;border:0;border-radius:12px;background:var(--accent);color:#fff;margin-top:6px;cursor:pointer}
.error{color:var(--err);font-weight:600;font-size:14px;margin:0 0 12px}