.auth-page{margin:0;padding:20px;min-height:100vh;box-sizing:border-box}
.auth-theme{display:flex;justify-content:flex-end;max-width:460px;margin:auto}
.auth-card{max-width:460px;margin:32px auto;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface,#fff);overflow-wrap:anywhere;box-sizing:border-box}
.auth-card h1{font-size:clamp(26px,6vw,32px);line-height:1.2;margin:24px 0 12px}
.auth-card p{line-height:1.5}
.auth-field{margin:20px 0;min-width:0}
.auth-field label{display:block;margin-bottom:8px;font-weight:600}
.auth-card input:not([type=hidden]){display:block;width:100%;min-width:0;min-height:48px;box-sizing:border-box;font-size:16px;padding:12px;border:1px solid var(--control-line);border-radius:10px;background:var(--paper);color:var(--ink)}
.auth-card .primary{width:100%;min-height:48px}
.auth-reveal{background:transparent;color:var(--blue,#3155e7);border:0;min-height:44px;padding:8px 0;font-size:14px;text-align:left}
.auth-help{font-size:14px;color:var(--muted);line-height:1.5;margin-top:8px}
.auth-error{color:#b42318;font-size:15px;line-height:1.5;margin:8px 0}
html[data-theme=dark] .auth-error{color:#ffb4ab}
html[data-theme=dark] .auth-reveal{color:#b6c5ff}
.auth-card ul{padding-left:20px;margin:8px 0}
.auth-link,.auth-guest{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
.auth-guest{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;font-size:14px}
.auth-card :focus-visible{outline:3px solid var(--blue,#3155e7);outline-offset:3px}
.auth-card [aria-invalid=true]{border-color:#b42318}
@media(max-width:480px){.auth-page{padding:16px}.auth-card{margin:16px auto;padding:20px}}
@media(prefers-reduced-motion:reduce){.auth-page *{transition:none!important}}
