:root{font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;color:#193b3f;background:#f7f1e5;line-height:1.7;font-size:18px}
.actions{align-items:center}.actions form{margin:0}.error:empty{display:none}
*{box-sizing:border-box}body{margin:0;min-width:320px}.site-header{background:#2c5a63;color:#fff;padding:1rem 1.25rem}.header-inner{max-width:920px;margin:auto;display:flex;justify-content:space-between;gap:1rem;align-items:center}.brand{font-weight:800;color:#fff;text-decoration:none;font-size:1.15rem}.header-note{font-size:.8rem;opacity:.9}.page{max-width:920px;margin:0 auto;padding:2rem 1rem 4rem}.card{background:#fff;border-radius:18px;padding:1.5rem;margin:1rem 0;box-shadow:0 4px 18px #24494d15}.hero{padding:2rem 1.5rem}.eyebrow{color:#2c5a63;font-weight:700;margin:0 0 .3rem}.step-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:0;margin:1rem 0 1.5rem;list-style:none}.step-nav li{background:#e3eeee;border-radius:12px;padding:.65rem;text-align:center;font-size:.86rem}.step-nav .active{background:#2c5a63;color:#fff}.notice{background:#fff5d9;border-left:5px solid #d4932c;padding:.8rem 1rem;border-radius:8px}.form-note{font-size:.9rem;margin-top:0}.field{margin:1rem 0}.field label{display:block;font-weight:700;margin-bottom:.35rem}input{font:inherit;width:100%;border:2px solid #9db9b9;border-radius:10px;padding:.65rem .75rem;color:#193b3f;background:#fff}input:focus,button:focus,a:focus,summary:focus{outline:3px solid #e1a32e;outline-offset:2px}.password-row{display:flex;gap:.5rem}.password-row input{min-width:0}.password-row button{white-space:nowrap}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem}button,.button{font:inherit;font-weight:700;border:0;border-radius:10px;padding:.7rem 1rem;background:#2c5a63;color:#fff;cursor:pointer;text-decoration:none;display:inline-block}button.secondary,.button.secondary{background:#dceaea;color:#193b3f}button.danger{background:#9e3f3f}button:disabled{opacity:.45;cursor:not-allowed}.error{color:#9e3f3f;font-weight:700;min-height:1.7em}.success{color:#176b4b;font-weight:700;background:#e5f4ea;padding:.7rem 1rem;border-radius:8px}.muted{color:#4f6b6d;font-size:.9rem}.progress{height:12px;background:#dceaea;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:#2c5a63}.checklist{padding-left:1.2rem}.checklist li{margin:.4rem 0}.inline-link{color:#1d5e68;font-weight:700}.danger-zone{border:2px solid #edd1d1}.guide summary{cursor:pointer;font-weight:700}.guide p{margin-bottom:0}.dialog-card{max-width:34rem;margin:10vh auto}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.status-grid div{background:#f3f8f7;border-radius:10px;padding:.7rem}.status-grid dt{font-size:.8rem;color:#4f6b6d}.status-grid dd{margin:0;font-weight:700}@media(max-width:600px){:root{font-size:17px}.header-inner{align-items:flex-start;flex-direction:column;gap:.25rem}.page{padding:1.25rem .75rem 3rem}.hero,.card{padding:1.1rem}.step-nav{grid-template-columns:repeat(2,1fr)}.actions>*{width:100%;text-align:center}.status-grid{grid-template-columns:1fr}.password-row{flex-direction:column}}

[hidden]{display:none!important}.qr-panel{max-width:320px;background:white;padding:12px;margin:20px auto}.qr-panel svg{display:block;width:100%;height:auto}.setup-key{display:block;overflow-wrap:anywhere;background:#edf4f4;padding:12px;margin:12px 0}form[data-otp-setup-form],form[data-otp-login-form]{max-width:480px;margin-top:24px}form[data-otp-setup-form] button,form[data-otp-login-form] button{margin-top:14px}input[autocomplete="one-time-code"]{font-size:1.5rem;letter-spacing:.25em;margin-top:8px}
