/* Login: blue sign-up page in the Blockyard palette. */
body.login-page{min-height:100vh;display:flex;flex-direction:column;color:#fff;background:linear-gradient(#3a6cc4,#1f4a94 70%,#153a78);background-attachment:fixed}
body.login-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.22;background:repeating-linear-gradient(90deg,#0000 0 46px,#0a2a6055 46px 48px),repeating-linear-gradient(0deg,#0000 0 46px,#0a2a6033 46px 48px);-webkit-mask-image:linear-gradient(#0000,#000 80%);mask-image:linear-gradient(#0000,#000 80%)}
.login-main{display:block;flex:1 0 auto;min-height:0;max-width:1100px;padding:38px 20px 30px;grid-template-columns:none}
.login-hero{text-align:center}
.login-logo{display:inline-flex;align-items:center;gap:10px;font-size:40px;font-weight:800;letter-spacing:-2px;color:#fff}
.login-logo img{filter:none;border-radius:5px}.login-logo span{color:#ffda8f;margin-left:-9px}
.login-hero h1{margin:20px 0 6px;font-size:clamp(34px,5vw,58px);letter-spacing:-2.5px;line-height:1.05;color:#fff}
.login-sub{margin:0;font-size:clamp(20px,2.8vw,34px);font-weight:700;letter-spacing:-1px}
.login-columns{display:grid;grid-template-columns:minmax(0,380px) minmax(0,310px);gap:90px;justify-content:center;align-items:start;margin-top:42px}
.login-art img{display:block;width:100%;height:auto;aspect-ratio:380/250;object-fit:cover;background:#dbe9f7;border-radius:2px}
.login-art p{margin:22px 0 0;text-align:center;font-size:26px;font-weight:700;letter-spacing:-1px}
body.login-page .account-area{padding:0}
body.login-page .account-card{background:#1e4f9ccc;border:0;border-radius:0;padding:24px 30px 26px;box-shadow:none;color:#fff}
body.login-page .loading-card{color:#fff}
body.login-page h2{margin:0 0 16px;font-size:21px;letter-spacing:-.5px}
body.login-page .card-topline,body.login-page .account-note,body.login-page #form-description{display:none}
body.login-page .auth-switch{margin:0 0 18px;background:#0d2c66aa;border-radius:4px}
body.login-page .auth-switch button{color:#c9d8f3;border-radius:3px}
body.login-page .auth-switch button[aria-pressed=true]{background:#fff;color:#1d4a94;box-shadow:none}
body.login-page label{color:#fff;font-size:13px;margin-bottom:6px}
body.login-page input:not([type=checkbox]),body.login-page #auth-view select{background:#fff;border:1px solid #fff;border-radius:2px;height:28px;font-size:13px;color:#222;margin-bottom:0}
body.login-page #auth-view select{height:30px;margin-bottom:14px}
body.login-page input:focus{border-color:#ffda8f;outline:none}
body.login-page .field-hint{color:#dbe6f8;font-size:11px;margin:5px 0 16px}
body.login-page .field-hint a,body.login-page .signup-terms a,body.login-page .text-button{color:#fff}
body.login-page .signup-terms{font-size:12px}
body.login-page .primary-button{background:#00a2ff;border-radius:2px;min-height:48px;justify-content:center;gap:8px;font-size:22px;font-weight:600;margin-top:10px}
body.login-page .primary-button:hover:enabled{background:#0074bd}
body.login-page .primary-button:disabled{background:#30567a;color:#d6e6da}
body.login-page .error-message{background:#fff0e8;color:#933813;border-radius:2px}
body.login-page .site-footer{background:#123472;color:#fff}
body.login-page .site-footer hr{border-color:#4d6cab}
body.login-page .spinner{border-color:#fff5;border-top-color:#fff}
@media(max-width:820px){.login-columns{grid-template-columns:minmax(0,420px);gap:36px}.login-art{display:none}}
html:has(body.login-page){background:#153a78}
body.login-page input[type=checkbox]{display:inline-block;width:16px;height:16px;flex:none;margin:2px 0 0}
body.login-page .signup-terms{display:flex;gap:8px;font-weight:400}
body.login-page #confirm-password{margin-bottom:14px}
body.login-page .signup-agree{margin:12px 0 0;font-size:11px;line-height:1.5;color:#dbe6f8;text-align:center}
body.login-page .signup-agree a{color:#fff;text-decoration:underline}
body.reset-page .reset-lead{margin:0 0 18px;font-size:13px;line-height:1.5;color:#dbe6f8}
body.reset-page input:not([type=checkbox]){margin-bottom:6px}
body.reset-page .ok-message{background:#e6f6ec;color:#14602d;border-radius:2px;padding:8px 10px;font-size:12px;margin:8px 0 12px}
body.reset-page .field-hint:empty{display:none}
body.reset-page #confirm-password{margin-bottom:6px}
body.login-page #passkey-login{width:100%;margin-top:12px;min-height:42px;border:1px solid #afc2df;border-radius:3px;background:transparent;color:#fff;font-weight:600}
body.login-page #passkey-login:disabled{opacity:.6;cursor:wait}

.signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#signup-challenge{margin:12px 0;max-width:100%}
body.login-page .quick-login .muted{color:#dbe6f8}
body.login-page .quick-code{font:700 44px/1.1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.12em;text-align:center;color:#fff;background:#0b2a5c;border:2px dashed #7fb4ff;border-radius:6px;padding:18px 8px;margin:14px 0 10px;user-select:all;word-break:keep-all}
body.login-page .quick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
body.login-page .quick-actions .primary-button{font-size:16px;min-height:42px;margin-top:0;padding-inline:18px}
@media(max-width:420px){body.login-page .quick-code{font-size:34px}}
