/* Player accounts: bright blue actions, dark frosted panels, readable at game scale. */
#menu .account-top-button{height:36px;padding:0 12px;border:1px solid #58cfff;border-radius:3px;background:#0a344b;color:#a9efff;white-space:nowrap;font:900 11px/1 Arial,sans-serif;letter-spacing:.06em;cursor:pointer}
#menu .account-top-button:hover{background:#1a84b3;color:#fff}
#menu .account-top-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.account-overlay[hidden],#accountSignedOut[hidden],#accountSignedIn[hidden],#accountGuest[hidden],#accountEmailLabel[hidden],#accountForm[hidden],#accountVerifyPending[hidden]{display:none!important}
.account-overlay{position:fixed;z-index:30000;inset:0;padding:18px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:rgba(0,10,20,.83);backdrop-filter:blur(9px)}
.account-card{width:min(440px,100%);max-height:calc(100dvh - 36px);box-sizing:border-box;overflow-y:auto;padding:26px;background:linear-gradient(155deg,#123751,#071a2a);border:2px solid #32beff;box-shadow:10px 12px 0 #020e19;border-radius:3px;color:#e7faff;font-family:Arial,Helvetica,sans-serif}
.account-head{display:flex;align-items:start;gap:12px;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid #3a95b744}
.account-head small{display:block;margin-bottom:7px;color:#6ad9ff;font-size:10px;letter-spacing:.14em;font-weight:900}
.account-head h2{margin:0;color:#fff;font:1000 clamp(20px,5vw,26px)/1.1 'Arial Black',Impact,Arial,sans-serif;font-style:italic}
.account-head button{background:transparent;color:#c3edff;border:1px solid #69bfd5;border-radius:3px;padding:5px 9px;font-size:17px;cursor:pointer}
.account-card h3{margin:18px 0 12px;color:#76e0ff;font-size:15px;letter-spacing:.09em}
#accountForm{display:grid;gap:12px}
#accountForm label{display:grid;gap:6px;color:#add6e7;font-size:10px;font-weight:900;letter-spacing:.08em}
#accountForm input{width:100%;box-sizing:border-box;min-height:46px;padding:11px 12px;border:2px solid #337f9c;border-radius:3px;background:#041525;color:#fff;font:700 14px Arial,sans-serif;outline:none}
#accountForm input:focus{border-color:#79dfff;box-shadow:0 0 0 2px #79dfff44}
.account-primary{display:block;width:100%;min-height:46px;padding:12px;border:0;border-radius:2px;background:#27bdff;color:#071323;font:1000 15px 'Arial Black',Arial,sans-serif;letter-spacing:.05em;cursor:pointer;box-shadow:4px 5px 0 #001322}
.account-primary:hover{background:#7cddff}
.account-primary:disabled,.account-link:disabled{opacity:.55;cursor:wait}
.account-link{display:block;margin:14px auto 0;border:0;background:none;color:#9ce8ff;font:900 11px Arial,sans-serif;letter-spacing:.06em;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.account-connected{margin:20px 0;padding:14px;border:1px solid #2b8ea5;background:#081e30}
.account-connected span{display:block;margin-bottom:9px;color:#82ffcc;font:900 12px Arial,sans-serif}
.account-connected strong{display:block;overflow-wrap:anywhere;font-size:16px}
.account-connected p{margin:10px 0 0;color:#a7cbd9;font-size:12px;line-height:1.55}
#accountStatus{min-height:1.3em;margin:15px 0 0;color:#98ffd4;font-size:11px;line-height:1.5}
#accountStatus.error{color:#ffb2ab}
.account-verify-pending{padding:16px;background:#0a3043;border:1px solid #5bd8ff75;color:#d9f6ff}
.account-verify-pending strong{display:block;font:900 13px Arial,sans-serif;color:#8cf2ff;line-height:1.4}
.account-verify-pending p{font:12px/1.55 Arial,sans-serif;margin:9px 0;color:#b9dce7;overflow-wrap:anywhere}
.account-verify-pending .account-primary{margin-top:12px;font-size:12px}
.account-footnote{margin:10px 0 0;color:#8db2c3;font-size:10px;line-height:1.5}
.account-guest-divider{position:relative;margin:17px 0 14px;border-top:1px solid #5b99b655;text-align:center;height:0}
.account-guest-divider span{position:relative;top:-7px;padding:0 12px;background:#071e30;color:#85b8cd;font:900 9px Arial,sans-serif;letter-spacing:.14em}
.account-guest-play{width:100%;min-height:44px;border:1px solid #72dfff;border-radius:3px;background:#123c56e8;color:#c8f5ff;font:1000 13px 'Arial Black',Arial,sans-serif;letter-spacing:.08em;cursor:pointer;transition:background .15s,transform .15s}
.account-guest-play:hover{background:#246d92;color:#fff;transform:translateY(-1px)}
.account-guest-play:focus-visible{outline:3px solid #fff;outline-offset:3px}
.account-guest-warning{margin:10px 3px 0;font:11px/1.45 Arial,sans-serif;color:#9bbdcb;text-align:center}
.account-guest-info{padding:15px;margin:22px 0;background:#072a3b;border:1px solid #368ca5}
.account-guest-info span{display:block;color:#85f8d4;font:900 10px Arial,sans-serif;letter-spacing:.1em}
.account-guest-info strong{display:block;color:#fff;font:1000 19px/1.15 'Arial Black',Arial,sans-serif;margin:12px 0}
.account-guest-info p{font:12px/1.6 Arial,sans-serif;color:#b1d9e5;margin:0}
.account-entry-art,.account-entry-brand{display:none}
/* A full-screen second title stage, reusing the exact artwork and atmosphere. */
.account-overlay.account-entry{isolation:isolate;overflow:hidden;background:#2879a8;backdrop-filter:none;padding:clamp(10px,3vh,30px)}
.account-entry .account-entry-art{display:block;position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;object-position:50% 50%;z-index:-3;pointer-events:none;animation:title-landscape-drift 32s ease-in-out infinite alternate}
.account-entry::before{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,#07244044 0%,#071a3970 78%),linear-gradient(180deg,#08234622 5%,#03152477 100%)}
.account-entry .account-entry-brand{display:block;position:absolute;top:clamp(12px,4vh,44px);left:0;right:0;text-align:center;margin:0;color:#fff;font:1000 italic clamp(43px,8vw,105px)/1 Impact,'Arial Black',Arial,sans-serif;letter-spacing:.018em;transform:rotate(-2deg);-webkit-text-stroke:1.5px #163a56;paint-order:stroke fill;text-shadow:0 2px 0 #d5faff,0 5px 0 #79dfe3,0 8px 0 #17445d,0 11px 0 #10344e,0 16px 28px #06182da6;pointer-events:none}
.account-entry .account-card{position:relative;z-index:1;width:min(470px,100%);margin-top:clamp(18px,10vh,120px);background:linear-gradient(150deg,#123751f2,#061726f2);border-color:#92e9ff;box-shadow:0 18px 65px #00101cbb,6px 7px 0 #082a3e;max-height:min(76dvh,660px)}
.account-entry .account-head h2{font-size:clamp(18px,4vw,25px)}
.account-entry #accountClose{font:900 11px Arial,sans-serif;white-space:nowrap;letter-spacing:.05em;background:#10445f;padding:9px 10px}
.account-entry #accountStatus{text-align:center}
@media(max-width:600px){.account-entry .account-entry-art{object-position:41% 50%}.account-entry .account-entry-brand{font-size:clamp(38px,12vw,70px)}.account-entry .account-card{margin-top:clamp(35px,11vh,90px)}}
@media(max-height:570px){.account-entry .account-entry-brand{font-size:38px;top:8px}.account-entry .account-card{margin-top:39px;max-height:calc(100dvh - 52px);padding:14px}.account-entry .account-card h3{margin:10px 0 6px}.account-entry #accountForm{gap:7px}.account-entry #accountForm input{min-height:38px;padding:7px}.account-entry .account-primary{min-height:39px;padding:8px}.account-entry .account-link{margin-top:7px}.account-entry .account-footnote{margin-top:5px}}
@media(prefers-reduced-motion:reduce){.account-entry .account-entry-art{animation:none}}
@media(max-width:760px){#menu .account-top-button{padding:0 8px;font-size:10px;height:32px}}
@media(max-width:460px){#menu .account-top-button{font-size:9px;padding:0 7px}.account-card{padding:17px;box-shadow:5px 6px 0 #020e19}}

/* New accounts choose a multiplayer identity over the existing title artwork. */
.username-setup[hidden]{display:none!important}
.username-setup{position:fixed;z-index:30010;inset:0;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:#2879a8;overflow:hidden;font-family:Arial,Helvetica,sans-serif;color:#f0fbff}
.username-art{position:absolute;z-index:-3;inset:-2%;width:104%;height:104%;object-fit:cover;object-position:center;pointer-events:none;animation:title-landscape-drift 32s ease-in-out infinite alternate}
.username-setup::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#061a3155,#06182d99),radial-gradient(ellipse at center,#0d628b0a,#00121e85 90%);pointer-events:none}
.username-brand{position:absolute;top:clamp(14px,4vh,42px);left:0;right:0;margin:0;text-align:center;font:1000 italic clamp(43px,8vw,105px)/1 Impact,'Arial Black',Arial,sans-serif;letter-spacing:.018em;transform:rotate(-2deg);-webkit-text-stroke:1.5px #163a56;paint-order:stroke fill;text-shadow:0 2px 0 #d5faff,0 5px 0 #79dfe3,0 8px 0 #17445d,0 11px 0 #10344e,0 16px 28px #06182da6;pointer-events:none}
.username-panel{position:relative;width:min(438px,100%);box-sizing:border-box;padding:clamp(22px,4vw,36px);margin-top:clamp(35px,9vh,105px);border:1px solid #a2e9ffb0;background:linear-gradient(160deg,#0b2942f2,#061624f5);box-shadow:0 22px 70px #000c17b9,5px 6px 0 #05283b;border-radius:5px;animation:username-panel-enter .35s cubic-bezier(.2,.8,.2,1) both}
.username-kicker{display:flex;align-items:center;gap:8px;color:#9beaff;font:900 10px Arial,sans-serif;letter-spacing:.15em}
.username-kicker i{width:6px;height:6px;border-radius:50%;background:#55eeff;box-shadow:0 0 11px #49dbff;animation:username-beacon 2.8s ease-in-out infinite}
.username-panel h3{font:1000 clamp(22px,5.5vw,29px)/1.08 'Arial Black',Impact,Arial,sans-serif;letter-spacing:.02em;margin:17px 0 9px;color:#fff}
.username-panel>p:not(#usernameStatus){font-size:13px;line-height:1.5;color:#b9ddeb;margin:0 0 24px}
#usernameForm{display:grid;gap:9px}
#usernameForm label{font:900 10px Arial,sans-serif;letter-spacing:.13em;color:#9ce1ff}
#usernameInput{width:100%;box-sizing:border-box;min-height:52px;background:#051627;border:1.5px solid #478bae;border-radius:3px;padding:0 15px;color:#fff;font:900 18px Arial,sans-serif;letter-spacing:.045em;outline:none;transition:border-color .16s,box-shadow .16s}
#usernameInput::placeholder{font-size:14px;color:#7a9caf}
#usernameInput:focus-visible{border-color:#89edff;box-shadow:0 0 0 3px #47cfff44}
#usernameRules{color:#9dbaca;font-size:11px;margin-bottom:15px}
#usernameSubmit{margin-top:0;background:#37c6ff;color:#061627;transition:transform .16s,background .16s,box-shadow .16s}
#usernameSubmit:hover{background:#82e5ff;transform:translateY(-2px);box-shadow:4px 7px 0 #001322}
#usernameStatus{font-size:12px;color:#ffb5ad;min-height:1.2em;text-align:center;margin:11px 0 2px}
#usernameBack{display:block;border:0;background:transparent;color:#9bdcf7;font:900 11px Arial,sans-serif;letter-spacing:.08em;cursor:pointer;margin:12px auto 0;padding:10px}
#usernameBack:hover{color:#fff}
#usernameBack:focus-visible,#usernameSubmit:focus-visible{outline:3px solid white;outline-offset:3px}
@keyframes username-panel-enter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes username-beacon{50%{opacity:.35;box-shadow:0 0 2px #49dbff}}
@media(max-height:570px){.username-brand{font-size:38px;top:8px}.username-panel{margin-top:38px;max-height:calc(100dvh - 50px);overflow-y:auto;padding:19px}.username-panel h3{margin-top:10px}.username-panel>p:not(#usernameStatus){margin-bottom:12px}#usernameRules{margin-bottom:3px}#usernameInput{min-height:44px}}
@media(prefers-reduced-motion:reduce){.username-art,.username-panel,.username-kicker i{animation:none}#usernameSubmit{transition:none}}
