#authGate,.account-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:radial-gradient(ellipse at 50% 28%,#17608b99,#020b19ed 68%),url('empire-city.png') center/cover}.auth-card,.account-sheet{width:min(100%,440px);border:1px solid #37d4ff;border-radius:22px;padding:30px;background:linear-gradient(155deg,#0e3554f5,#03142bf7);box-shadow:0 0 0 4px #05182fbb,0 18px 60px #000c;color:#f7fbff}.auth-logo{font-size:27px;font-weight:900;letter-spacing:1px}.auth-logo b{color:#ffb91f}.auth-kicker{display:block;color:#55dfff;font-size:12px;font-weight:800;letter-spacing:2px;margin-top:15px}.auth-card h1,.account-sheet h2{font-size:29px;margin:7px 0 22px}.auth-card form{display:grid;gap:13px}.auth-card label{display:grid;gap:6px;font-size:15px;color:#d9eafa}.auth-card label[hidden]{display:none}.auth-card input,.account-sheet input{min-width:0;width:100%;padding:12px;border:1px solid #4cbce2;border-radius:10px;background:#04152a;color:#fff;font:inherit}.auth-submit,.auth-card button,.account-sheet button{padding:12px 15px;border:1px solid #52e978;border-radius:11px;background:linear-gradient(#3cdf50,#098a38);color:#fff;font:bold 17px inherit;cursor:pointer}.auth-submit:disabled,.account-sheet button:disabled{opacity:.5}.auth-switch{display:block;width:100%;margin-top:12px;border-color:#3287b5!important;background:#0d3659!important}.auth-card small{display:block;margin-top:18px;color:#b9d2e3;line-height:1.4}.auth-error{color:#ff9ca5;min-height:20px}.account-modal{z-index:10001;background:#010a13cc;backdrop-filter:blur(7px)}.account-sheet{display:grid;gap:10px}.account-sheet p{margin:0;color:#d3e4ef;line-height:1.45}.account-sheet>button{background:linear-gradient(#17699a,#07375e);border-color:#4ecfff}.account-sheet .account-warn{background:linear-gradient(#ffc445,#d37a00);border-color:#ffe180;color:#1c190d}.account-sheet .account-delete{background:linear-gradient(#ec4551,#a41425);border-color:#ff8590}.profile-summary{padding:12px;border-radius:10px;background:#061a30}.authenticated .shell{visibility:visible}.profile{cursor:pointer}.profile:focus-visible{outline:3px solid #ffe14e}
body:not(.authenticated) .shell{visibility:hidden}

.account-sheet{box-sizing:border-box;width:min(100%,480px);max-height:min(88vh,760px);overflow:auto;padding:clamp(20px,5vw,30px);border-color:#58dcff;background:linear-gradient(155deg,#123a59f7,#04152bf8);box-shadow:0 0 0 4px #06182dbb,0 22px 64px #000d,0 0 35px #25cfff30}
.account-sheet .auth-kicker{margin-top:0;font-size:10px;letter-spacing:1.5px}
.account-sheet h2{margin:4px 0 7px;font-size:clamp(22px,6vw,29px);line-height:1.15}
.account-sheet .profile-summary{padding:13px;border:1px solid #335b75;background:linear-gradient(115deg,#071c30,#102a40);font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.account-sheet>button{min-height:46px;font-size:14px}
.account-sheet .account-warn,.account-sheet .account-delete{font-weight:900}
#serverSyncStatus{position:fixed;right:12px;bottom:82px;z-index:19;max-width:min(86vw,290px);padding:7px 11px;border:1px solid #48cf83;border-radius:999px;background:#071c2bef;color:#caffd9;box-shadow:0 3px 12px #0008;font:700 12px/1.2 Arial,sans-serif;letter-spacing:.01em;pointer-events:none;transition:opacity .18s,background .18s,border-color .18s}#serverSyncStatus[data-state=saving]{border-color:#50cfff;color:#d2f5ff}#serverSyncStatus[data-state=offline],#serverSyncStatus[data-state=error]{border-color:#ff8b72;background:#321c22f2;color:#ffe0d9}
@media(max-width:520px){.account-modal{padding:10px}.account-sheet{width:100%;max-height:calc(100dvh - 20px);padding:20px 16px;border-radius:17px}.account-sheet p{font-size:14px;line-height:1.5}}
