
:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:#30223a}*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at top left,#51336d,#261335 68%)}
.panel{width:min(100%,470px);background:white;border-radius:21px;box-shadow:0 25px 100px #16092155;padding:32px 30px 26px}
.brand{display:flex;gap:13px;align-items:center;margin-bottom:24px}.brand img{width:62px;height:auto}.brand strong{font-size:17px;letter-spacing:.06em}.brand small{display:block;color:#826b90;font-size:11px;letter-spacing:.14em;margin-top:4px}
h1{font-size:27px;letter-spacing:-.05em;margin:0 0 9px}p{line-height:1.6;color:#75677e;font-size:13px}form{display:grid;gap:13px;margin:23px 0 15px}
label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#554165}input{width:100%;border:1px solid #dcd2e4;border-radius:11px;padding:13px 12px;font:inherit;font-size:15px}input:focus{outline:2px solid #cbaa7d;outline-offset:1px}
button{border:0;border-radius:11px;padding:13px;font-size:14px;font-weight:750;cursor:pointer;background:#32194f;color:white}button:disabled{opacity:.7;cursor:wait}
.mini{background:#fbf6eb;border:1px solid #ead9bc;color:#86683a;padding:12px 14px;border-radius:12px;font-size:12px;line-height:1.6}
#status{margin:12px 0;min-height:20px;font-size:13px;font-weight:650;color:#914657}#status.ok{color:#137b5e}
.footer{font-size:11px;color:#94889b;margin-top:15px;text-align:center}.member{display:none;background:#f8f3fa;border-radius:12px;padding:14px;margin:16px 0}.member b{display:block;color:#3d2256;margin-bottom:7px}.member small{display:block;font-size:12px;color:#816c8d}
#continue,#signout,#revoke{display:none;width:100%;margin-top:10px}#signout{background:#f2edf6;color:#4c315e}
@media(max-width:520px){.panel{padding:25px 20px}h1{font-size:24px}}
#legal-gate{display:none;background:#fbf8ff;border:1px solid #d9cce4;border-radius:14px;padding:17px;margin:15px 0;line-height:1.55}
#legal-gate h2{margin:0 0 6px;color:#44215e;font-size:20px}#legal-gate p{font-size:12px;margin:8px 0}
#legal-gate a{color:#5b258e;font-weight:750;text-decoration:underline}#legal-gate label{display:flex;align-items:start;gap:9px;margin:13px 0;font-weight:500;line-height:1.5}#legal-gate input{width:19px;height:19px;flex:0 0 auto;margin:1px 0 0}
#legal-confirm{width:100%}#legal-confirm:disabled{opacity:.45;cursor:not-allowed}
#revoke{background:#fff1f1;color:#8d3434;border:1px solid #ebc3c3}
