/* Dominion Gate — dark-fantasy account landing pages */
.auth-page{background:#08090c}
.auth-hero{min-height:calc(100vh - 1rem);display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;padding:clamp(1rem,4vw,3rem);background:linear-gradient(115deg,rgba(5,7,10,.96),rgba(8,10,14,.78) 45%,rgba(31,10,13,.84)),url('../assets/iron-dominion-banner.svg') center/cover fixed}
.auth-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 35%,rgba(190,38,42,.2),transparent 52%),linear-gradient(0deg,#07090c 0%,transparent 28%,rgba(0,0,0,.2) 100%)}
.auth-shell{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;gap:clamp(1.5rem,5vw,4.5rem)}
.auth-art{text-align:center;position:relative;padding:1rem}
.auth-kicker{color:#e8b9a0;font-size:.78rem;font-weight:900;letter-spacing:.25em;text-transform:uppercase}
.auth-art h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:.94;letter-spacing:.045em;margin:.9rem 0 1.1rem;text-shadow:0 6px 28px #000}
.auth-art h1 span{display:block;color:#d74740;font-size:.47em;letter-spacing:.22em;margin-top:.9rem}
.auth-art p{max-width:520px;margin:0 auto;color:#c3c7cd}
.lock-stage{width:min(340px,72vw);aspect-ratio:1;margin:0 auto 1.3rem;display:grid;place-items:center;position:relative;filter:drop-shadow(0 24px 34px #000c)}
.lock-stage:before{content:"";position:absolute;inset:12%;border:1px solid #b94b3c40;border-radius:50%;box-shadow:0 0 65px #b3262420,inset 0 0 50px #b3262418}
.lock-stage svg{width:100%;height:100%;position:relative;animation:lockBreath 5s ease-in-out infinite;overflow:visible}
.auth-card{border:1px solid #a9a39b38;border-radius:20px;padding:clamp(1.4rem,4vw,2.5rem);background:linear-gradient(145deg,rgba(24,27,32,.97),rgba(9,11,15,.98));box-shadow:0 30px 90px #0009;backdrop-filter:blur(12px)}
.auth-card h2{font-size:1.8rem;margin:.2rem 0 .45rem}
.auth-card>p{color:#b9c0c9;margin-top:0}
.auth-status{display:flex;gap:.7rem;align-items:flex-start;padding:1rem;border:1px solid #e5a34a55;border-radius:12px;background:#a95e1615;color:#f1d4a9;margin:1.3rem 0}
.auth-status strong{display:block;color:#ffe5bd}
.auth-status p{margin:.2rem 0 0;font-size:.9rem}
.auth-actions{display:grid;gap:.75rem;margin-top:1.2rem}
.auth-actions .button{width:100%;text-align:center;justify-content:center}
.auth-note{font-size:.83rem;color:#9ea6b0;margin-top:1.25rem}
.auth-links{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1.2rem}
.auth-links a{color:#f3b3ac;text-underline-offset:3px}
.auth-stamp{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #a9a39b38;border-radius:999px;padding:.4rem .75rem;color:#cbd0d7;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.auth-divider{height:1px;background:linear-gradient(90deg,transparent,#a9a39b45,transparent);margin:1.4rem 0}
@keyframes lockBreath{0%,100%{transform:translateY(0);filter:brightness(.92)}50%{transform:translateY(-5px);filter:brightness(1.12)}}
@media(max-width:800px){.auth-hero{min-height:100vh;background-attachment:scroll}.auth-shell{grid-template-columns:1fr;gap:1.4rem;max-width:560px}.auth-art{padding:.25rem}.lock-stage{width:min(210px,54vw);margin-bottom:.7rem}.auth-art h1{font-size:clamp(2.4rem,10vw,4rem)}.auth-art p{font-size:.94rem}.auth-card{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){.lock-stage svg{animation:none}}

/* Supabase email authentication forms */
.auth-form{display:grid;gap:.65rem;margin-top:1rem}
.auth-form label{font-weight:700;color:#e1e5eb;font-size:.92rem}
.auth-form input[type=email],.auth-form input[type=password]{width:100%;min-height:46px;padding:.75rem .85rem;border:1px solid #777b84;border-radius:9px;background:#0b0d11;color:#fff;font:inherit}
.auth-form input:focus-visible,.auth-form button:focus-visible,.auth-links a:focus-visible{outline:3px solid #f0b16a;outline-offset:3px}
.auth-form button{width:100%;margin-top:.5rem;cursor:pointer}
.auth-form button:disabled{opacity:.65;cursor:wait}
.auth-checkbox{display:flex;gap:.55rem;align-items:flex-start;font-weight:400!important;line-height:1.5}
.auth-checkbox input{margin-top:.35rem;flex-shrink:0}
.auth-checkbox a{color:#f3b3ac}
.auth-status[hidden],.auth-form[hidden],#signedInPanel[hidden]{display:none}
.auth-status[data-kind=success]{border-color:#4dba8a66;background:#14734820;color:#c8f7df}
.auth-status[data-kind=error]{border-color:#e56a6a80;background:#8e202020;color:#ffd4d4}
.auth-status[data-kind=info]{border-color:#e5a34a55;background:#a95e1615;color:#f1d4a9}
