/* One camera, four places in the same world. Panels never crossfade. */
.maintenance-site{overflow:hidden}
.scene-stage{position:relative;z-index:1;width:100%;height:100%;overflow:hidden}
.scene-panel{position:absolute;inset:0;display:none;flex-direction:column;width:100%;height:100%;padding:28px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#35445e transparent}
.scene-panel.is-current,.scene-panel.is-moving{display:flex}
.scene-panel[hidden]{display:none!important}
.scene-panel.is-moving{will-change:transform;pointer-events:none;overflow:hidden}
.scene-panel.is-arriving{animation:auth-arrival 920ms 280ms cubic-bezier(.65,0,.35,1) both;pointer-events:none}
@keyframes auth-arrival{from{transform:translate3d(105vw,0,0)}to{transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.scene-panel.is-arriving{animation:none;pointer-events:auto}}
.scene-panel.maintenance-main{min-height:0}
.auth-shell{width:100%;max-width:480px;margin:auto;flex-shrink:0;padding-bottom:16px}
.auth-back{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;color:#aab7cd;font-size:12px;font-weight:500;line-height:24px}
.auth-back:hover{color:#fff}.auth-back svg{width:18px;height:18px}
.auth-card{padding:28px 34px 26px;text-align:center}
.auth-brand{display:block;width:48px;height:52px;object-fit:contain;margin:0 auto 16px}
.auth-heading{margin:0 0 8px;color:#e3edff;font-size:30px;line-height:1.2;letter-spacing:-.035em;font-weight:750}
.auth-heading:focus{outline:none}
.auth-subtitle{margin:0 0 25px;font-size:13px;line-height:1.7;color:#a3b0c6}
.auth-form{display:flex;flex-direction:column;gap:17px;text-align:left}
.auth-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.auth-field>label{font-size:12px;font-weight:600;color:#c8d1e2;line-height:1.4}
.auth-field input:not([type=checkbox]):not([type=radio]),.auth-field select,.auth-field textarea{width:100%;min-height:46px;padding:12px 14px;background:#0e1420;color:#eef4ff;border:1px solid #333e53;border-radius:5px;font:400 13px/20px Geist,Arial,sans-serif;box-shadow:inset 0 2px 3px #0002;transition:border-color .18s,box-shadow .18s}
.auth-field input::placeholder,.auth-field textarea::placeholder{color:#64738e}
.auth-field input:focus,.auth-field textarea:focus,.auth-field select:focus{outline:none;border-color:#7397f5;box-shadow:0 0 0 3px #4370af26}
.auth-input-wrap{position:relative}.auth-input-wrap input{padding-right:50px!important}
.auth-eye{display:grid;place-items:center;position:absolute;right:5px;top:5px;width:36px;height:36px;background:none;border:0;border-radius:3px;color:#7f91af;cursor:pointer}.auth-eye:hover{color:#e7f1ff;background:#1d293d}.auth-eye svg{width:18px;height:18px}.auth-eye[aria-pressed=true]{color:#b5d2fc}
.auth-form-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#b5d2fc}
.auth-check{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.65;color:#a9b7ce;cursor:pointer;text-align:left}.auth-check input{appearance:none;width:17px;height:17px;flex:none;margin:0;cursor:pointer;border:1px solid #52627b;border-radius:3px;background:#0d1420;display:grid;place-content:center}.auth-check input:checked{background:#3f61ea;border-color:#7895fb}.auth-check input:checked::after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.auth-terms{align-items:flex-start;padding:12px 13px;background:#111723;border:1px solid #2e384a;border-radius:5px;font-size:10px}.auth-terms input{margin-top:2px}.auth-card a:not(.link-button){transition:color .15s}.auth-card a:not(.link-button):hover{color:#fff}.auth-terms a{color:#b5d2fc;text-decoration:underline;text-underline-offset:3px}
.auth-submit{width:100%;min-height:46px;font-size:13px}.auth-submit:disabled{opacity:.6;cursor:wait}
[data-auth-disabled] .auth-submit:disabled,.auth-provider:disabled,.recovery-option:disabled{opacity:.45;cursor:not-allowed;filter:none;transform:none}
.auth-divider{display:flex;align-items:center;gap:13px;margin:23px 0 16px;color:#8191ac;font-size:10px}.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:#2a3447}
/* The unavailable form is replaced by a quiet, solid cover. */
.auth-registration-closed{margin:2px 0 0}
.auth-registration-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:184px;padding:28px 18px;background:#1e222d;border:2px solid #080b12;border-radius:6px;box-shadow:inset 0 0 0 1px #353b48,inset 0 -4px #171a23;text-align:center}
.auth-registration-cover h2{margin:0;color:#e0e5ee;font-size:17px;font-weight:650;line-height:1.4;letter-spacing:-.025em}
.auth-registration-cover p{margin:10px 0 0;color:#929eb1;font-size:12px;line-height:1.8}
.auth-providers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.auth-provider{display:flex;align-items:center;justify-content:center;gap:7px;min-height:41px;background:#1e2635;border:1px solid #344057;border-radius:5px;color:#cad5e8;font:500 11px Geist,Arial,sans-serif;cursor:pointer;transition:background .15s,border-color .15s}.auth-provider:not(:disabled):hover{background:#273248;border-color:#586e96}.auth-provider svg,.auth-provider img{width:17px;height:17px;object-fit:contain;flex:none}
.auth-switch{margin:23px 0 0;padding-top:20px;border-top:1px solid #2c3444;font-size:12px;line-height:1.7;color:#95a4bd}.auth-switch a{color:#b5d2fc;font-weight:600;margin-left:4px}
.auth-feedback{padding:12px 14px;text-align:left;font-size:12px;line-height:1.65;color:#ffcad1;background:#391f2b;border:1px solid #68394b;border-radius:5px;margin:18px 0 0}.auth-feedback[data-success]{color:#c0e7dc;background:#152d2c;border-color:#365851}.auth-feedback ul{margin:0;padding-left:18px}
.auth-strength{display:flex;align-items:center;gap:12px;margin-top:-9px;font-size:10px;color:#9aaccc}.auth-strength-bars{display:flex;gap:4px;flex:1}.auth-strength-bars i{height:3px;flex:1;background:#2b3547;border-radius:1px}.auth-strength-bars i.is-filled{background:#779cef}.auth-strength span{min-width:65px;text-align:right}
.recovery-options{display:flex;flex-direction:column;gap:11px;text-align:left}.recovery-option{display:flex;align-items:center;gap:13px;width:100%;padding:17px 14px;background:#111825;border:1px solid #34415a;border-radius:5px;text-align:left;color:#dce8fc;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s}.recovery-option:not(:disabled):hover{background:#1a2941;border-color:#6686b5}.recovery-option>span:nth-child(2){flex:1}.recovery-option strong{display:block;font-size:12px;font-weight:600}.recovery-option small{display:block;color:#8ea3c2;font-size:11px;line-height:1.65;margin-top:5px}.recovery-option>svg{width:15px;height:15px;flex:none;color:#7892b9}.recovery-icon{display:grid;place-items:center;width:35px;height:39px;color:#b5d2fc;background:#233450;border:1px solid #384f73;border-radius:4px;flex:none}.recovery-icon svg{width:19px;height:19px}
.recovery-help p{font-size:13px;line-height:1.9;color:#b3bfd4;text-align:left;margin:0 0 22px}.recovery-help svg{width:16px;height:16px}.auth-text-button{display:block;margin:5px auto 0;padding:8px;background:none;border:0;color:#abc6ee;font:500 11px Geist,Arial,sans-serif;cursor:pointer}.auth-text-button:hover{color:#fff}
.scene-message{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);z-index:35;padding:12px 18px;background:#161e2b;border:1px solid #44536f;border-radius:5px;font-size:12px;color:#d6e4fc;max-width:calc(100% - 32px)}.scene-message:empty{display:none}
@media(max-width:540px){.scene-panel{padding:20px 16px 62px}.scene-panel.maintenance-main{padding:24px 16px 62px}.auth-card{padding:25px 23px}.auth-heading{font-size:28px}.auth-subtitle{font-size:12px;margin-bottom:22px}.auth-back{margin-bottom:14px}.auth-form-meta{font-size:10px}.auth-providers{gap:6px}.auth-provider{font-size:10px;gap:5px}.auth-provider svg{width:15px;height:15px}.recovery-option{padding:15px 11px;gap:10px}.recovery-option small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.auth-card *{transition:none!important;animation:none!important}}
.auth-optional{font-size:10px;font-weight:400;color:#7f91ac}.recovery-hint{margin:0;font-size:11px;line-height:1.7;color:#879ab8}.recovery-hint a{color:#b5d2fc;text-decoration:underline}.auth-recovered{margin:0 0 24px;padding:20px 16px;background:#152838;border:1px solid #426786;border-radius:5px}.auth-recovered span{font-size:11px;color:#91acc9}.auth-recovered strong{display:block;margin-top:8px;font-size:18px;overflow-wrap:anywhere;color:#d7ecff}.auth-recovered p{margin:12px 0 0;font-size:12px;color:#b0c2d9}.auth-feedback+.auth-form{margin-top:20px}

/* Keep focus inside the field; never draw a travelling bottom rule. */
.scene-panel{overflow-x:hidden}
.auth-field input:focus,.auth-field textarea:focus,.auth-field select:focus{outline:none;box-shadow:inset 0 0 0 1px #7397f5}
.recovery-option:focus{outline:none}.recovery-option:focus-visible{border-color:#8fabd9;box-shadow:inset 0 0 0 1px #8fabd9}
.auth-password-rules{margin-top:3px;padding:12px 14px;border:1px solid #2e394e;border-radius:5px;background:#111722;font-size:11px;line-height:1.6;color:#8192ac}
.auth-rules-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;color:#aebdd4;font-weight:500}.auth-rules-heading strong{color:#b5d2fc;font-weight:550;font-size:10px}
.auth-password-rules ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.auth-password-rules li{display:flex;align-items:center;gap:8px;transition:color .18s}.auth-rule-mark{width:13px;text-align:center;font-size:13px}.auth-password-rules li.is-met{color:#9cd6ba}
.wm-username-warning{padding:0;width:min(420px,calc(100% - 36px));max-height:calc(100dvh - 48px);border:2px solid #050810;border-radius:8px;outline:2px solid #414c6373;outline-offset:-4px;background:#171c28;color:#c4cee1;box-shadow:0 24px 90px #0008;font-family:Geist,Arial,sans-serif}
.wm-username-warning::backdrop{background:#020611aa;backdrop-filter:blur(4px)}.wm-warning-content{padding:30px;text-align:center}.wm-warning-icon{display:grid;place-items:center;margin:0 auto 14px;border:1px solid #44628a;border-radius:5px;width:38px;height:38px;background:#21334d;color:#bdd6fc;font:600 22px Georgia,serif}.wm-warning-kicker{display:block;font-size:10px;color:#92acd2;letter-spacing:.12em;text-transform:uppercase}.wm-warning-content h2{margin:9px 0 12px;font-size:22px;letter-spacing:-.03em;color:#e3edff}.wm-warning-content p{font-size:13px;line-height:1.8;margin:0 0 16px}.wm-warning-note{padding:11px 13px;background:#101622;border:1px solid #303d54;border-radius:4px;color:#9cacc5}.wm-warning-content .link-button{width:100%;justify-content:center}

.auth-password-rules{overflow:hidden}

[data-recovery-code]{overflow:hidden}

a.auth-provider{text-decoration:none}a.auth-provider:focus-visible{outline:2px solid #a3c4ff;outline-offset:3px}

.auth-providers-beta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}
.auth-beta-invite{--button-shadow:#481724;--beta-surface:linear-gradient(145deg,transparent 55%,#38151e),linear-gradient(130deg,#702332 54%,#842c3d 54%);background:var(--beta-surface);box-shadow:inset 0 2px #ffffff38,inset 0 -3px var(--button-shadow);color:#fff1f3;font-weight:650}
.auth-providers-beta .auth-beta-invite{grid-column:1/-1;min-height:56px;padding:12px 16px;border:2px solid #04060b;border-radius:6px;font-size:14px;text-align:center}
.auth-beta-invite:not(:disabled):hover{background:var(--beta-surface);border-color:#04060b;filter:brightness(1.07)}

.auth-notice-content{margin-top:-9px}
.auth-registration-notice{margin:0;padding:17px 18px;border-color:#783344;background:#2b1823;color:#f2c6ce;font-size:13px;line-height:1.8;text-align:center;box-shadow:inset 0 2px #ffffff08,inset 0 -2px #09071026}
.auth-notice-help{margin:18px 0 22px;color:#9daec6;font-size:12px;line-height:1.85}
.auth-notice-help a{text-decoration:underline;text-underline-offset:3px;color:#c0d2ed}
.auth-notice-retry{--button-shadow:#481724;width:100%;background:#702332;box-shadow:inset 0 2px #bf61704d,inset 0 -3px var(--button-shadow)}

/* Shared pressed state comes after hover styles, including Discord's glow. */
.scene-stage :is(.link-button,.auth-provider,.recovery-option){transition:transform .12s ease-out,box-shadow .12s ease-out,filter .15s,background .15s,border-color .15s;touch-action:manipulation}
.scene-stage :is(.link-button,.auth-provider,.recovery-option):not(:disabled):not([aria-disabled="true"]):active{transform:translateY(2px)}
.scene-stage :is(.link-button,.auth-provider,.recovery-option):not(:disabled):not([aria-disabled="true"]):active{box-shadow:inset 0 2px 4px #0005,inset 0 -1px #0005;filter:brightness(.96)}
.scene-stage .auth-notice-retry:not(:disabled):active{background:#64202e;box-shadow:inset 0 2px 4px #390c1c99,inset 0 -1px var(--button-shadow);border-color:#210c13;filter:brightness(.98)}
@media(prefers-reduced-motion:reduce){.scene-stage :is(.link-button,.auth-provider,.recovery-option){transition:none!important;transform:none!important}}
/* Email verification uses the same card and button surfaces as registration. */
.auth-email-step{margin-top:24px}
.auth-email-step .auth-form{gap:0}
.auth-email-inbox{width:100%;min-height:44px;margin-top:12px;font-size:12px}
.auth-email-inbox[hidden]{display:none}
.auth-email-address{margin:14px 0 22px;text-align:left;overflow-wrap:anywhere;font-size:12px;line-height:1.7;color:#8e9fb9}
.auth-email-address span{display:inline}
.auth-email-address strong{font-size:inherit;color:#c6d5ec;font-weight:500}
.auth-otp{position:relative;margin-top:8px}
.auth-otp-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;pointer-events:none}
.auth-otp-digit{display:grid;place-items:center;min-width:0;height:60px;background:#0e1420;border:2px solid #04060b;border-radius:6px;box-shadow:inset 0 0 0 1px #333e53,inset 0 -3px #080d16;color:#e5edff;font-size:28px;font-weight:650;font-variant-numeric:tabular-nums;transition:box-shadow .15s,background .15s}
.auth-otp-digit.is-active{background:#142037;box-shadow:inset 0 0 0 2px #7397f5,inset 0 -3px #172d50}
.auth-otp .auth-email-code{opacity:0!important;position:absolute;inset:0;z-index:1;width:100%;height:100%;min-height:0!important;margin:0;padding:0!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:transparent!important;caret-color:transparent;font-size:16px!important;letter-spacing:0;cursor:text;-webkit-text-fill-color:transparent}
.auth-otp .auth-email-code::selection{background:transparent;color:transparent}
@media(max-width:380px){.auth-otp-boxes{gap:5px}.auth-otp-digit{height:52px;font-size:25px}}
@media(prefers-reduced-motion:reduce){.auth-otp-digit{transition:none}}
.auth-email-hint{margin:20px 0 14px;font-size:12px;line-height:1.65;color:#8e9fb9;text-align:center}
.auth-email-hint a[href]{color:#b7cced;text-decoration:underline;text-underline-offset:3px}
.auth-email-hint a[href]:hover{color:#e3ecfc}
.auth-email-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.auth-email-actions form{margin:0;min-width:0}
.auth-email-actions .link-button{display:flex;flex-direction:column;gap:2px;width:100%;height:100%;min-height:54px;padding:8px 6px;font-size:12px;line-height:1.4;white-space:normal;text-align:center}
.auth-email-actions .link-button:disabled{cursor:not-allowed;opacity:.55;filter:none}
.auth-email-countdown{font-size:11px;line-height:1.3;font-weight:500;font-variant-numeric:tabular-nums;color:#9baac3}
.auth-email-countdown[hidden]{display:none}
.auth-email-step .auth-feedback{margin-bottom:18px;font-size:13px}

.auth-java-step{display:grid;gap:16px;text-align:center}
.auth-java-identity{display:grid;justify-items:center;gap:10px;padding:22px 16px;background:#0d1420;border:2px solid #050910;border-radius:6px;box-shadow:inset 0 0 0 1px #2d3c53}
.auth-java-identity .profile-java-badge{width:38px;height:38px;margin-bottom:2px}
.auth-java-identity strong{font-size:20px;color:#e2edff;overflow-wrap:anywhere}
.auth-java-identity>span:last-child{font-size:11px;color:#9eb2cf}
.auth-java-description{margin:0;color:#a6b5cc;font-size:12px;line-height:1.85}
.auth-java-step .auth-form,.auth-java-step .auth-email-hint,.auth-java-step .auth-feedback{margin:0}
