:root{--bg:#fbfaf7;--ink:#22201c;--ink-weak:#5c564c;--rule:#e4e0d8;--field:#f1eee8;--accent:#c08a1e}@media (prefers-color-scheme:dark){:root{--bg:#1c1b19;--ink:#f0ede6;--ink-weak:#b5afa4;--rule:#3a3833;--field:#2a2926}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font-family:Noto Sans JP,system-ui,sans-serif;font-size:16px;line-height:1.7}.card{max-width:420px;margin:64px auto;padding:0 16px}.brand{color:var(--ink-weak);letter-spacing:.02em;font-size:14px;font-weight:600}h1{margin:8px 0 4px;font-size:22px;font-weight:600}p.lead{color:var(--ink-weak);margin:0 0 24px;font-size:14px}label{color:var(--ink-weak);margin-bottom:4px;font-size:13px;display:block}input{width:100%;font:inherit;border:1px solid var(--rule);background:var(--field);color:var(--ink);border-radius:8px;padding:10px 12px}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;border:1px solid var(--ink);background:var(--ink);width:100%;color:var(--bg);cursor:pointer;border-radius:999px;margin-top:12px;padding:10px 12px}button.sub{color:var(--ink);border-color:var(--rule);background:0 0}button:disabled{opacity:.5;cursor:default}.or{color:var(--ink-weak);align-items:center;gap:12px;margin:24px 0 12px;font-size:13px;display:flex}.or:before,.or:after{content:"";border-top:1px solid var(--rule);flex:1}.msg{min-height:1.5em;margin-top:12px;font-size:13px}.msg.err{color:#b3402e}.foot{color:var(--ink-weak);margin-top:32px;font-size:12px}.foot a{color:inherit}
