:root{--bg:#f4f6fb;--card:#ffffff;--text:#1f2937;--muted:#6b7280;--accent:#2563eb;--accent-dark:#1d4ed8;--border:#d9dee8;--warn-bg:#fff8e1;--warn-border:#f0c36d;--ok-bg:#eafaf1;--ok-border:#59c08a;--err-bg:#fdecea;--err-border:#e57373}*{box-sizing:border-box}body{margin:0;padding:32px 16px 64px;background:var(--bg);color:var(--text);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;line-height:1.7}.wrap{max-width:560px;margin:0 auto}.notice{background:var(--warn-bg);border:2px solid var(--warn-border);border-radius:12px;padding:16px 20px;margin-bottom:24px;font-size:15px}.notice strong{display:block;font-size:17px;margin-bottom:6px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px 24px;box-shadow:0 2px 12px rgba(31,41,55,.06)}h1{font-size:24px;margin:0 0 8px}.lead{color:var(--muted);font-size:15px;margin:0 0 24px}.creds{background:#f0f4ff;border:1px dashed var(--accent);border-radius:12px;padding:16px 20px;margin-bottom:24px}.creds h2{font-size:15px;margin:0 0 10px;color:var(--accent-dark)}.creds dl{margin:0;display:grid;grid-template-columns:6.5em 1fr;grid-gap:6px 12px;gap:6px 12px}.creds dt{color:var(--muted);font-size:14px}.creds dd{margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:16px;font-weight:700;word-break:break-all}label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}input[type=password],input[type=text]{width:100%;padding:12px 14px;font-size:16px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);margin-bottom:18px}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{width:100%;padding:14px;font-size:17px;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:10px;cursor:pointer}button:hover{background:var(--accent-dark)}.error:empty{display:none}.error{background:var(--err-bg);border:1px solid var(--err-border);border-radius:10px;padding:12px 16px;margin-bottom:20px;font-size:15px}.success-card{text-align:center;border-top:6px solid var(--ok-border)}.success-mark{font-size:48px;line-height:1;margin-bottom:12px}.success-message{font-size:22px;font-weight:700;margin:0 0 20px}.back{display:inline-block;margin-top:12px;color:var(--accent-dark);font-size:15px}.foot{margin-top:24px;color:var(--muted);font-size:13px;text-align:center}