*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#75b57d;color:#213d48;font-family:Arial,Helvetica,sans-serif}button{cursor:pointer;font:800 14px Arial;border:0}button:focus-visible{outline:3px solid #176ff0;outline-offset:4px}canvas{position:fixed;inset:0;display:block;width:100%;height:100%;touch-action:none}.gameHeader{position:absolute;top:24px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}.logo{display:flex;align-items:center;gap:10px;color:white;text-shadow:0 2px 0 #234a5c;font-size:24px;font-weight:900;letter-spacing:-1.5px}.logo>div>span{color:#a4f0ff}.logoGem{font-size:38px;color:#92f1ff;filter:drop-shadow(0 3px 0 #2388bc)}.logo small{display:block;font-size:6px;letter-spacing:1.8px;margin-top:5px;color:#e3f9e3;text-shadow:0 1px 2px #234a5c}.timer{position:absolute;left:50%;transform:translateX(-50%);background:#fffdf3;border-radius:13px;box-shadow:0 4px 0 #25473930;display:flex;align-items:center;gap:14px;padding:13px 22px}.timer>span:first-child{font-size:9px;color:#7b8d84;font-weight:800;letter-spacing:1px}.timer strong{font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:1px}.dot{width:7px;height:7px;border-radius:50%;background:#f4b84b}.topActions{display:flex;align-items:center;gap:8px;pointer-events:auto}.topActions button{width:38px;height:38px;border-radius:10px;background:#fffdf1;color:#34575c;box-shadow:0 3px 0 #25473925}.solo{font-size:9px;letter-spacing:1px;font-weight:800;color:#fff;background:#33594290;padding:10px 13px;border-radius:8px}.leaderboard{position:absolute;left:28px;top:113px;width:222px;background:#fffdf4f2;border:1px solid #fff9;border-radius:15px;overflow:hidden;box-shadow:0 5px 0 #375b3c20;z-index:2}.boardHeading{display:flex;align-items:center;gap:8px;font-weight:900;font-size:9px;letter-spacing:.7px;padding:16px 14px;border-bottom:1px solid #294f3910}.boardHeading span{font-size:16px}.boardHeading small{margin-left:auto;background:#e8eee4;padding:4px 6px;border-radius:4px;color:#708674}#scores{padding:6px 8px}.score{display:flex;align-items:center;gap:9px;height:34px;padding:0 8px;border-radius:7px;font-size:10px;font-weight:700}.score.you{background:#d9f2f0;color:#137c85}.score .position{width:12px;color:#82948b;font-size:9px}.score .avatar{width:17px;height:19px;border-radius:6px 6px 4px 4px;border-bottom:3px solid #0002}.score .value{margin-left:auto;color:#1a909f}.score .value::after{content:' ◆';font-size:9px;color:#69cddd}.boardFoot{border-top:1px solid #294f3910;font-size:8px;text-align:center;color:#85978a;padding:13px}.objective{position:absolute;top:113px;right:28px;display:flex;align-items:center;gap:12px;border-radius:13px;background:#fffdf1eb;padding:14px 18px;box-shadow:0 4px 0 #375b3c20;z-index:2}.questIcon{display:grid;place-items:center;background:#ffca5e;border:2px solid #d89a33;width:34px;height:34px;border-radius:8px;color:white;font-size:25px;font-weight:900;text-shadow:0 2px #b88025}.objective b{display:block;font-size:12px;margin-bottom:6px}.objective div>span{font-size:9px;color:#829084}kbd{font:800 9px Arial;padding:4px 6px;border:1px solid #ccd7c9;border-bottom-width:3px;background:#f8faf1;border-radius:4px;color:#547064;display:inline-block}.bottom{position:absolute;bottom:24px;left:28px;right:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px;pointer-events:none;z-index:2}.wallet,.gadget{display:flex;align-items:center;gap:13px;border-radius:14px;background:#fffdf4;padding:14px 20px;box-shadow:0 5px 0 #375b3c30}.wallet{min-width:222px}.gemIcon{font-size:43px;color:#65d8ec;text-shadow:0 3px #188bb4}.wallet small,.gadget small{font-size:8px;letter-spacing:1px;color:#81958d;font-weight:800;display:block}.wallet b{font-size:31px;color:#244953;display:block;margin-top:4px;font-variant-numeric:tabular-nums}#rank{margin-left:auto;font-weight:800;font-size:13px;color:#7da5a0}.gadget>span{font-size:32px;color:#a783cd}.gadget b{display:block;font-size:11px;color:#688877;margin-top:7px}.gadget kbd{margin-left:5px}.controls{display:flex;gap:15px;align-items:center;font-size:9px;background:#254c3990;padding:10px 15px;border-radius:10px;color:#f1fae7}.controls span{display:flex;align-items:center;gap:6px}#effects{position:absolute;bottom:119px;left:28px;color:white;font-size:10px;font-weight:800;letter-spacing:.7px;text-shadow:0 1px 2px #265638}#miniLabel{position:absolute;bottom:125px;right:32px;font-size:8px;letter-spacing:2px;color:#fff;font-weight:800;text-shadow:0 1px 2px #265638}#miniLabel span{color:#ffdb89;margin-left:5px}#interact{position:fixed;left:50%;top:calc(50% + 48px);transform:translateX(-50%);padding:8px 12px;background:#213d48eb;border-radius:9px;box-shadow:0 3px 0 #0002;color:white;font-size:9px;font-weight:800;letter-spacing:.5px;pointer-events:none;z-index:2}#interact kbd{margin-right:5px}#announcement{position:absolute;top:100px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;background:#fffdf2;padding:13px 23px;border-radius:14px;box-shadow:0 5px 0 #254c3930;z-index:4;min-width:240px;animation:pop .2s ease-out}#eventIcon{font-size:30px;color:#efad37}#eventName{display:block;font-size:15px}#eventDetail{display:block;color:#83948b;font-size:10px;margin-top:5px}[hidden]{display:none!important}#modal{position:fixed;inset:0;z-index:10;background:#173d3260;backdrop-filter:blur(5px);display:grid;place-items:center;padding:15px}.modalCard{width:min(405px,94vw);text-align:center;border:3px solid #fff8;border-radius:24px;padding:28px 38px;background:#fffdf1;box-shadow:0 12px 0 #20483935,0 20px 80px #153f4940}.introBadge{font-size:8px;letter-spacing:2px;color:#81a094;font-weight:800}.bigGem{font-size:60px;line-height:1.1;color:#67d1e8;text-shadow:0 4px #248da9;margin-top:16px}h1{font-size:45px;line-height:.97;letter-spacing:-2px;margin:14px 0;color:#234b52;font-weight:900}h1 span{color:#27a0a8}.modalCard p{font-size:12px;color:#7d9388;line-height:1.7}.instructions{text-align:left;border-top:1px dashed #ccdccc;margin:22px 0 24px;padding-top:12px}.instructions>div{display:flex;gap:14px;align-items:center;margin:11px 0;font-size:10px;color:#7a9086}.instructions b{font-size:8px;color:#21a2aa;background:#ddf0e5;padding:5px;border-radius:5px}.instructions strong{color:#395d5b}.primary{background:#f5bc53;color:#553c20;box-shadow:0 4px 0 #d79933;padding:17px 22px;border-radius:10px;width:100%;font-size:12px;letter-spacing:1px}.primary:hover{background:#ffcf72}.primary span{float:right;font-size:16px}.noQuiz{display:block;font-size:7px;letter-spacing:2px;color:#9aad9e;margin-top:21px}.secondary{background:transparent;color:#709083;margin-top:20px;font-size:10px}.resultsList{margin:18px 0;text-align:left}.resultLine{display:flex;justify-content:space-between;padding:10px;font-size:12px;border-bottom:1px solid #ddd9}#touchControls{display:none;position:fixed;bottom:120px;left:24px;right:24px;justify-content:space-between;align-items:center;z-index:3;pointer-events:none}#touchControls button,#stick{pointer-events:auto;touch-action:none}#stick{width:90px;height:90px;border-radius:50%;background:#fff6;border:2px solid #fff8;display:grid;place-items:center}#stick i{width:36px;height:36px;border-radius:50%;background:#fffd;box-shadow:0 3px 0 #0002}#touchControls button{width:55px;height:55px;margin-left:10px;border-radius:50%;background:#fffce8db;color:#2a6064;box-shadow:0 3px 0 #0003}#touchOpen{background:#ffd174!important}@keyframes pop{from{margin-top:-10px;opacity:0}to{margin-top:0;opacity:1}}@media(pointer:coarse){#touchControls{display:flex}.controls{display:none}}@media(max-width:1000px){.objective{display:none}.controls{font-size:8px;gap:7px;padding:9px}.leaderboard{width:180px}.boardHeading{font-size:8px;padding:12px 9px}.wallet{min-width:180px;padding:12px 15px}.gadget{padding:14px}.solo{display:none}}@media(max-width:650px){.gameHeader{top:15px;left:16px;right:16px}.logo{font-size:18px;gap:5px}.logoGem{font-size:25px}.logo small{display:none}.timer{padding:10px 12px;gap:5px;left:53%}.timer>span:first-child{display:none}.timer strong{font-size:20px}.topActions button{width:31px;height:31px}.topActions{gap:5px}.leaderboard{top:77px;left:16px;width:140px}.boardHeading{font-size:7px;gap:4px}.boardHeading span{font-size:11px}.boardHeading small{display:none}.score{height:27px;font-size:9px;gap:5px;padding:0 3px}.score .avatar{width:12px;height:14px}.boardFoot{font-size:7px;padding:10px 4px}.bottom{left:16px;right:16px;bottom:16px}.wallet{min-width:140px;padding:10px;gap:8px}.wallet b{font-size:24px}.wallet small,.gadget small{font-size:6px}.gemIcon{font-size:31px}.gadget{padding:12px;gap:8px}.gadget>span{font-size:25px}.gadget kbd{display:none}.controls{display:none}#effects{left:16px;bottom:100px;font-size:8px}#miniLabel{bottom:100px;right:16px;font-size:6px}#announcement{top:80px;left:auto;right:16px;transform:none;min-width:0;max-width:190px;padding:11px;gap:8px}#eventIcon{font-size:23px}#eventName{font-size:11px}#eventDetail{font-size:8px}.modalCard{padding:22px 30px}.bigGem{font-size:42px}h1{font-size:40px}.instructions{margin:15px 0}#touchControls{bottom:115px}}
#health{position:absolute;bottom:125px;left:28px;width:222px;background:#fffdf4;padding:10px 12px;border-radius:10px;z-index:2;box-shadow:0 3px 0 #375b3c20}#health>span{font-size:9px;font-weight:800;letter-spacing:1px;display:block;margin-bottom:6px}#health>div{height:7px;border-radius:5px;background:#d7e3d5;overflow:hidden}#healthFill{display:block;height:100%;width:100%;background:#7bd991;transition:width .15s}#effects{bottom:190px}#respawn{position:fixed;left:50%;top:52%;transform:translate(-50%,-50%);background:#213d48ed;color:#fff7d7;padding:20px 26px;border-radius:14px;font-size:14px;font-weight:800;z-index:4;white-space:nowrap}#weaponDamage{margin-top:5px;font-size:7px;color:#a47750}@media(max-width:650px){#health{bottom:104px;left:16px;width:140px}#effects{bottom:165px}#respawn{font-size:10px;padding:15px}#touchControls{bottom:190px}}
#weapons{position:absolute;bottom:82px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:3;background:#fffdf1e8;padding:7px;border-radius:12px}#weapons button{font-size:8px;padding:7px;border-radius:7px;background:#e1eadc;color:#496b63;white-space:nowrap}#weapons button.selected{background:#f8cf7b;color:#5d4828}#weapons button:disabled{opacity:.4;cursor:default}#weapons kbd{font-size:7px;padding:2px 4px;margin-right:3px}@media(max-width:1000px){#weapons{bottom:215px;left:auto;right:18px;transform:none;display:grid;grid-template-columns:repeat(2,1fr);max-width:180px}}@media(max-width:650px){#weapons{bottom:285px;right:10px;max-width:145px}#weapons button{font-size:7px;padding:5px}}
#announcement{top:95px;min-width:380px;max-width:560px;padding:22px 28px;gap:20px;border:3px solid #fff5cb;box-shadow:0 8px 0 #33544735,0 12px 40px #21453230;pointer-events:none}#eventIcon{font-size:52px;min-width:55px;text-align:center}#eventName{font-size:26px;font-weight:900;letter-spacing:-.5px}#eventDetail{font-size:14px;line-height:1.45;max-width:380px}#announcement[data-kind="power"],#announcement[data-kind="speed"]{background:#fff2cc;border-color:#f6c65f}#announcement[data-kind="secret"]{background:#ffe5e7;border-color:#e65b69}#effects{bottom:190px;left:28px;display:flex;flex-direction:column;gap:8px;text-shadow:none;pointer-events:none;max-height:45vh;overflow:auto}.boostCard{display:flex;align-items:center;gap:12px;background:#fffdf3f5;border:2px solid #deefdf;box-shadow:0 3px 0 #34583c20;border-radius:12px;padding:10px 14px;min-width:222px;color:#2b585a}.boostCard>span{font-size:28px;color:#299da8;min-width:30px}.boostCard>div{flex:1}.boostCard b{font-size:16px;display:block}.boostCard small{font-size:11px;font-weight:500;color:#7b9087;display:block;margin-top:3px}.boostCard i{display:block;height:4px;background:#69c8b0;margin-top:7px;border-radius:4px}.boostCard.rare{background:#fff0c3;border-color:#f1c35d}.boostCard.spider{background:#ffe4e7;border-color:#e89aa1}.slotsTitle{display:block;font-size:9px;letter-spacing:1px;font-weight:800;color:#6d867c;margin:3px 0 8px;grid-column:1/-1}#weapons{display:grid;grid-template-columns:1fr 1fr;bottom:90px;min-width:330px;padding:12px;gap:9px}#weapons button{display:flex;align-items:center;font-size:12px;padding:12px;text-align:left}#weapons button small{display:block;font-size:8px;font-weight:500;margin-top:5px}#weapons kbd{font-size:11px;padding:5px 8px;margin-right:8px}#weapons button.selected{outline:2px solid #d89e35}@media(max-width:1000px){#weapons{bottom:165px;right:18px;min-width:240px;max-width:270px}#weapons button{font-size:10px;padding:8px}}@media(max-width:650px){#announcement{top:72px;left:16px;right:16px;transform:none;min-width:0;max-width:none;padding:14px 16px;gap:12px}#eventIcon{font-size:35px;min-width:35px}#eventName{font-size:20px}#eventDetail{font-size:11px}#effects{left:16px;bottom:280px;max-height:34vh;gap:5px}.boostCard{min-width:140px;max-width:170px;padding:7px 9px;gap:7px}.boostCard b{font-size:12px}.boostCard small{font-size:9px}.boostCard>span{font-size:22px;min-width:20px}#weapons{bottom:280px;right:10px;min-width:0;max-width:155px;grid-template-columns:1fr;padding:8px}#weapons button{font-size:10px}.slotsTitle{font-size:7px;line-height:1.5}#weapons button small{font-size:7px}.leaderboard{max-height:185px;overflow:auto}}
#shopOpen{width:auto;min-width:110px;background:#ffd16c;font-size:11px;padding:0 12px}#accountBar{position:fixed;bottom:3px;left:28px;right:28px;display:flex;gap:12px;font-size:9px;z-index:11;color:#fff;background:#244c3cbf;border-radius:5px;padding:4px 8px;pointer-events:auto}#accountBar a{color:#fff;cursor:pointer;text-decoration:none}#savedStatus{color:#cfedc8;flex:1}#shop{position:fixed;inset:0;background:#163e39ab;backdrop-filter:blur(7px);z-index:20;display:grid;place-items:center;padding:25px}.shopPanel{background:#fffdf2;border:3px solid #fff9;border-radius:23px;width:min(1030px,96vw);max-height:90vh;overflow:auto;padding:28px;box-shadow:0 20px 70px #163b4266}.shopHeader{display:flex;justify-content:space-between;align-items:center;gap:15px}.shopHeader small{font-size:9px;letter-spacing:2px;color:#729888}.shopHeader h2{font-size:30px;margin:7px 0;color:#284f55}.shopHeader p{font-size:12px;color:#7e9587;line-height:1.5}.shopHeader>div:last-child{display:flex;gap:16px;align-items:center}.shopHeader b{font-size:24px;white-space:nowrap;color:#a67926}.shopHeader button{background:#e7eddf;border-radius:50%;width:34px;height:34px}#shopMessage{font-size:12px;color:#537e6b;min-height:17px}#shopGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.skinCard{text-align:center;background:#eaf0df;border:2px solid transparent;border-radius:15px;padding:15px}.skinCard.equipped{border-color:#4caf9a;background:#ddf1e3}.skinCard h3{font-size:14px;margin:12px 0 5px}.skinCard p{font-size:11px;color:#7c8d77;margin:7px}.skinCard button{background:#f6ca6a;color:#5b472b;border-radius:7px;padding:10px;width:100%;font-size:10px}.skinCard button:disabled{opacity:.55;cursor:default}.skinArt{height:95px;position:relative;display:grid;place-items:center}.skinArt>i{width:51px;height:61px;background:var(--skin);border-radius:18px 18px 13px 13px;border-bottom:7px solid #0002;display:flex;gap:7px;justify-content:center;align-items:center;box-shadow:0 8px 0 #416d4020}.skinArt b{width:10px;height:13px;background:white;border-radius:6px;position:relative}.skinArt b:after{content:'';position:absolute;left:4px;top:4px;width:4px;height:6px;border-radius:50%;background:#30434d}.skinArt>span{position:absolute;top:-4px;left:50%;transform:translateX(-50%);z-index:1;font-size:32px;filter:drop-shadow(0 2px 0 #0002)}@media(max-width:650px){#shop{padding:10px}.shopPanel{padding:17px}#shopGrid{grid-template-columns:repeat(2,1fr);gap:10px}.shopHeader h2{font-size:21px}.shopHeader p{font-size:10px}.shopHeader b{font-size:18px}.shopHeader>div:last-child{gap:8px}#accountBar{font-size:7px;left:10px;right:10px;gap:7px}#accountLabel{display:inline-block;max-width:130px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}#shopOpen{min-width:76px;font-size:9px}.solo{display:none}.skinCard{padding:10px}.skinCard h3{font-size:12px}.skinArt{height:85px}}
.gameHeader{z-index:12}#shopOpen{pointer-events:auto}#modal .modalCard{max-height:85vh;overflow:auto}.primary:disabled{opacity:.55;cursor:wait}
/* Keep the exit reachable even after scrolling the skins. */
.shopPanel{position:relative;scroll-padding-top:110px}.shopHeader{position:sticky;top:-28px;z-index:2;background:#fffdf2;padding:10px 0;border-bottom:1px solid #dbe6d4}.shopHeader>div:first-child{min-width:0;flex:1}.shopHeader>div:last-child{flex-shrink:0}#shopClose{min-width:46px;width:46px;height:46px;flex-shrink:0;touch-action:manipulation}.shopExit{position:sticky;bottom:-28px;z-index:3;background:#fffdf2;padding:16px 0 8px;display:flex;justify-content:center;align-items:center;gap:15px;border-top:1px solid #dbe6d4;margin-top:20px}#shopBack{background:#f6ca6a;color:#503c25;padding:15px 25px;border-radius:10px;min-height:46px;font-size:13px}.shopExit span{font-size:11px;color:#6c877b}@media(max-width:650px){.shopHeader{top:-17px}.shopExit{bottom:-17px;gap:10px}#shopBack{font-size:11px;padding:14px 18px}.shopHeader p{display:none}.shopHeader h2{font-size:18px}#shopClose{width:42px;min-width:42px;height:42px}.shopHeader>div:last-child{gap:7px}}

.roundSettings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;text-align:left}.roundSettings label{font-size:12px;font-weight:800;color:#31574d}.roundSettings select{display:block;width:100%;margin-top:7px;border:2px solid #bdd8cc;background:#fffef5;border-radius:10px;padding:12px 8px;font:700 15px Arial;color:#244c42}.roundSettings small{grid-column:1/-1;font-size:12px;line-height:1.5;color:#537265}.modalCard{max-height:calc(100dvh - 56px);overflow-y:auto}#modal{overflow-y:auto}

.characterPreview{display:block;width:140px;height:133px;object-fit:contain;margin:0 auto 6px;filter:drop-shadow(0 7px 0 #294a4815)}

.simpleRules{display:grid;gap:10px;text-align:left;margin:18px 0}.simpleRules div{display:grid;gap:4px;background:#edf5e8;border-radius:12px;padding:12px 15px}.simpleRules b{font-size:12px;color:#366557}.simpleRules span{font-size:14px;line-height:1.4}.modalCard h1{font-size:42px;margin:15px 0}.modalCard .roundSettings{margin:14px 0}#learnToPlay{width:100%;margin:6px 0 10px}#howToPlay{font-size:11px;font-weight:800;white-space:nowrap}
.tutorialDialog{border:0;border-radius:24px;background:#fffdf2;color:#264c43;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:26px;box-sizing:border-box;overflow:auto;box-shadow:0 24px 100px #102a3c55;font-family:Arial,sans-serif}.tutorialDialog::backdrop{background:#172a3bd9}.tutorialTop{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:800;letter-spacing:1px}.tutorialDialog button{cursor:pointer;border:0;border-radius:10px;padding:13px 16px;font-weight:800;font-size:14px;background:#e1ecdf;color:#284c40;min-height:44px}.tutorialDialog button:focus-visible{outline:3px solid #3687c9;outline-offset:3px}.tutorialDialog button:disabled{opacity:.4;cursor:default}.tutorialDialog progress{width:100%;height:8px;margin:16px 0;accent-color:#57ad8c}.tutorialDialog h2{font-size:29px;margin:7px 0 14px}.tutorialDialog p{font-size:16px;line-height:1.55;margin:12px 0}.tutorialDialog .tutorialTip{background:#eef2df;padding:12px 15px;border-radius:12px;font-size:14px}.tutorialNav{display:flex;gap:12px;margin-top:18px}.tutorialNav .primary{flex:1;background:#315e4b;color:white;margin:0}.tutorialDialog .tutorialSkip{display:block;margin:12px auto 0;background:transparent;text-decoration:underline}.tutorialRuleCards{display:flex;gap:12px;margin:24px 0}.tutorialRuleCards div{flex:1;padding:20px 12px;border-radius:14px;background:#e8f4f2;display:grid;gap:10px;text-align:center}.tutorialRuleCards span{font-size:13px}.practiceArena{position:relative;height:160px;background:repeating-linear-gradient(90deg,#d9eace 0 39px,#d4e6ca 40px);border:2px solid #bed4b2;border-radius:15px;overflow:hidden;margin-top:18px}.practiceActor{position:absolute;width:95px;height:95px;object-fit:contain;transform:translate(-50%,-50%);left:15%;top:50%;pointer-events:none;transition:left .08s,top .08s}.tutorialDialog .practiceTarget{position:absolute;left:78%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;padding:0;background:#f1c756;font-size:27px;border:3px solid #fff4b2}.tutorialDialog .practiceTarget.move{border-radius:50%;background:#bdeab1}.tutorialDialog .practiceTarget.shoot{background:#edac96}.tutorialDialog .practiceTarget.complete{background:#78c59d;font-size:16px}.practiceControls{display:flex;justify-content:center;gap:8px;margin-top:12px}#practiceStatus{min-height:36px;font-size:13px;line-height:1.4;text-align:center;margin-top:12px;color:#416c59}@media(max-width:600px){.tutorialDialog{padding:18px}.tutorialDialog h2{font-size:24px}.tutorialDialog p{font-size:14px}#howToPlay{padding:8px;font-size:10px}.modalCard h1{font-size:32px}.simpleRules{gap:6px}.simpleRules div{padding:9px 12px}}

#vipRadar{position:fixed;right:18px;top:92px;padding:10px;background:#fffdf1ee;border-radius:14px;z-index:4;display:grid;gap:6px;color:#284a40;text-align:center;font:700 11px Arial}#vipRadar canvas{width:130px;height:130px;border-radius:8px}#vipRadar small{font:10px Arial}@media(max-width:650px){#vipRadar{top:90px;right:8px;padding:6px}#vipRadar canvas{width:90px;height:90px}#vipRadar small{font-size:8px}}

.singleGun{display:grid;gap:7px;background:#fffdf1f2;border:2px solid #d7e5d2;border-radius:12px;padding:12px 16px}.singleGun b{font:800 16px Arial}.singleGun span{font:11px Arial;color:#34574a}#weapons{display:flex;flex-direction:column;max-width:310px}#world{cursor:crosshair}

#coinPending{display:block;font-size:10px;color:#946b17}#coinPending[hidden]{display:none}#coinReceipt{font-weight:700;color:#365746}#retrySave{border:0;padding:7px 10px;border-radius:8px;background:#ffe49b;color:#4a3b20;font-weight:700;cursor:pointer}#accountBar{flex-wrap:wrap;max-width:calc(100vw - 24px)}

.gunPreview{width:100px;height:58px;object-fit:contain;float:left}.singleGun{grid-template-columns:90px 1fr;align-items:center;column-gap:8px}.singleGun .gunPreview{grid-row:1/3}.singleGun span{grid-column:2}.codesDialog{width:min(420px,calc(100vw - 28px));box-sizing:border-box;border:0;border-radius:20px;background:#fffdf1;color:#294c42;padding:26px;font-family:Arial,sans-serif}.codesDialog::backdrop{background:#172a3bd9}.codesDialog h2{font-size:24px;margin:12px 0}.codesDialog p{font-size:14px;line-height:1.5}.codesDialog label{display:block;font-weight:700;font-size:13px;margin-bottom:8px}.codesDialog input{box-sizing:border-box;width:100%;padding:14px;border:2px solid #abc8b3;border-radius:10px;font:18px Arial}.codesDialog .primary{width:100%;margin-top:14px}#codeClose{float:right;border:0;border-radius:8px;background:#dce8db;padding:10px;cursor:pointer}#codeMessage{min-height:44px;font-weight:700;color:#3a6b4c}#codesOpen{font-weight:800}.topActions{gap:6px}@media(max-width:650px){#codesOpen,#howToPlay{font-size:9px;padding:7px}.singleGun{grid-template-columns:65px 1fr}.gunPreview{width:65px}}

.codesDialog{max-height:calc(100dvh - 32px);overflow-y:auto}#adminPanel{border-top:2px solid #dce8db;margin-top:12px;padding-top:8px}#adminMessage{font-weight:700;color:#3a6b4c;overflow-wrap:anywhere}

/* Event selection stays scrollable while the action buttons remain accessible. */
.codesDialog:has(#adminPanel:not([hidden])){width:min(560px,calc(100vw - 28px))}
.adminEventList{max-height:280px;overflow-y:auto;overscroll-behavior:contain;border:2px solid #dce8db;border-radius:12px;padding:6px}
.codesDialog .adminEvent{display:flex;align-items:center;gap:12px;margin:0;padding:12px 8px;border-bottom:1px solid #dce8db;cursor:pointer}
.codesDialog .adminEvent:last-child{border-bottom:0}
.codesDialog .adminEvent input{width:20px;height:20px;flex-shrink:0;accent-color:#39785d}
.adminEvent b,.adminEvent small{display:block}.adminEvent small{font-weight:400;font-size:12px;line-height:1.5;margin-top:5px}
.adminEvent:has(input:checked){background:#e5f3d8;border-radius:8px}
.eventActions{display:grid;gap:8px}.eventActions #stopEvents{padding:12px;background:#f4e0d4;color:#703b31;border:0;border-radius:10px;font-weight:bold;cursor:pointer}
#eventMessage{font-size:13px;overflow-wrap:anywhere}#adminBack{position:sticky;bottom:0;box-shadow:0 -6px 15px #fffdf1}
#worldEventStatus{position:absolute;top:100px;left:50%;transform:translateX(-50%);width:min(360px,42vw);padding:10px 14px;background:#243f37ed;color:#fff6ce;border:1px solid #edd592;border-radius:12px;z-index:3;font-family:Arial,sans-serif;pointer-events:auto}
#worldEventStatus strong{font-size:11px;display:block;text-align:center;letter-spacing:.5px}#worldEventStatus small{font-size:10px;display:block;text-align:center;margin-top:5px;color:#d5e8cf}
.activeEventList{max-height:120px;overflow:auto;margin-top:7px}.activeEventList span{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:5px 2px;border-top:1px solid #ffffff20}
@media(max-width:650px){#worldEventStatus{top:83px;width:42vw;padding:7px}.activeEventList{max-height:85px}.activeEventList span{font-size:10px}#worldEventStatus strong{font-size:9px}.codesDialog{padding:18px}.adminEventList{max-height:230px}}

/* Minimal arena HUD: remove the large corner cards and keep a compact side readout. */
.leaderboard,.objective,.bottom,#weapons,#effects,#health,#miniLabel,#vipRadar{display:none!important}
.sideHud{position:fixed;top:104px;left:24px;z-index:3;display:grid;gap:8px;pointer-events:none;width:148px}
.sideHud .timer{position:static;left:auto;top:auto;transform:none;display:grid;grid-template-columns:1fr auto;gap:5px 8px;padding:12px 14px;border-radius:12px;background:#fffdf1ed;box-shadow:0 3px 0 #25473920}
.sideHud .timer>span:first-child{display:block;grid-column:1/-1;font-size:9px}
.sideHud .timer strong{font-size:25px}.sideHud .dot{align-self:center}
.sideDiamonds{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#243f37dc;color:#fffdf1;padding:10px 12px;border-radius:10px}
.sideDiamonds>span{color:#77e0f2;font-size:20px}.sideDiamonds b{font-size:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%}
.sideDiamonds small{width:100%;font-size:8px;letter-spacing:1.4px;color:#c5e1d4}
@media(max-width:650px){.sideHud{top:83px;left:12px;width:106px}.sideHud .timer{padding:9px 11px}.sideHud .timer strong{font-size:21px}.sideDiamonds{padding:8px;gap:5px}.sideDiamonds b{font-size:15px}#worldEventStatus{left:auto;right:12px;transform:none;width:min(230px,50vw)}#touchControls{bottom:55px}}

#settingsOpen{display:grid;place-items:center;width:34px;height:34px;font-size:23px;line-height:1;padding:0}
#settingsDialog{width:min(430px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow-y:auto;border:0;border-radius:20px;padding:24px;background:#fffdf1;color:#294c42;box-shadow:0 20px 80px #102d4050}
#settingsDialog::backdrop{background:#173d32bd;backdrop-filter:blur(4px)}
.settingsHeading{display:flex;align-items:center;justify-content:space-between;gap:12px}.settingsHeading h2{font-size:22px;margin:0}
#settingsClose{width:38px;height:38px;border-radius:9px;background:#e1ecdb;color:#294c42}
#settingsDialog h3{font-size:13px;letter-spacing:1px;margin:0 0 8px}
#settingsDialog p{font-size:12px;color:#64816f;line-height:1.5;margin:6px 0 12px}
.musicSettings{margin-top:18px;background:#eaf1df;padding:16px;border-radius:12px}
#musicPlay{width:100%;padding:13px;border-radius:9px;background:#315e4b;color:#fff;font-size:12px}
.musicSettings label{display:flex;justify-content:space-between;margin-top:16px;font-size:12px;font-weight:700}
#musicVolume{width:100%;margin:10px 0 0;accent-color:#398767}
#musicMessage{min-height:18px;margin-bottom:0!important}
.settingsLeaderboard{margin:20px 0}.settingsLeaderboard #scores{padding:0}.settingsLeaderboard .score{height:34px;font-size:12px;padding:0 10px}
#settingsBack{position:sticky;bottom:0;box-shadow:0 -6px 12px #fffdf1}
@media(max-width:650px){#settingsOpen{width:30px;height:30px;font-size:21px}#settingsDialog{padding:18px}.settingsLeaderboard .score{height:30px}}

#radioNowPlaying{display:block;background:#243f37;color:#e7f4d3;padding:12px;border-radius:8px;font-size:14px;margin-bottom:12px}
#musicTrack{width:100%;margin:8px 0 12px;padding:11px 8px;background:#fffdf1;border:1px solid #abc8b3;border-radius:8px;color:#294c42;font-size:14px}
.radioTransport{display:grid;grid-template-columns:42px 1fr 42px;gap:7px;align-items:stretch}
.radioTransport>button{border-radius:8px;background:#315e4b;color:#fff;font-size:20px}
.radioTransport #musicPlay{font-size:11px;padding:13px 7px}
.musicSettings label.followEvents{justify-content:flex-start;align-items:center;gap:9px;font-size:12px}
#musicFollowEvents{width:17px;height:17px;accent-color:#398767}.musicSettings .radioHint{font-size:10px;margin-top:8px}

.brazilianMix{padding:14px;background:#27382e;color:#effbd4;border-radius:10px;margin-bottom:16px}.brazilianMix b{font-size:13px}.brazilianMix p{color:#c6d9ba!important}.brazilianMix button{width:100%;padding:13px;background:#c1f078;color:#233720;border-radius:8px;font-size:12px}.brazilianMix small{display:block;margin-top:9px;font-size:10px;line-height:1.5;color:#c6d9ba}
#youtubeRadio{position:fixed;right:16px;bottom:34px;z-index:8;width:356px;max-width:calc(100vw - 24px);background:#15271f;color:white;padding:8px;border-radius:12px;box-shadow:0 5px 22px #0005}
.youtubeRadioHeading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 6px;font-size:10px}.youtubeRadioHeading button{background:#385044;color:white;width:30px;height:30px;border-radius:7px}
#youtubeRadio iframe{display:block;border:0;width:100%;height:210px;border-radius:6px}
#youtubeRadio>a{display:block;margin-top:7px;font-size:10px;line-height:1.4;color:#d1eebf}
@media(max-width:650px){#youtubeRadio{right:12px;bottom:155px;width:300px}}
/* Admin controls: one scrolling surface and reachable actions. */
.codesDialog:has(#adminPanel:not([hidden])){width:min(720px,calc(100vw - 20px));padding:0 20px 16px;scroll-padding-top:130px}
.adminHeader{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fffdf1;z-index:3;padding:12px 0}
.adminHeader h2{margin:0}.adminHeader #codeClose{float:none;min-width:46px;min-height:46px;font-size:20px}
#adminPanel{border:0;padding:0;margin:0}.adminTabs{display:flex;gap:8px;position:sticky;top:70px;background:#fffdf1;padding:8px 0;z-index:2}
.adminTabs button,.adminSecondary button,.diamondPresets button,#adminBack{min-height:46px;border:1px solid #abc8b3;border-radius:10px;background:#eef3e9;color:#294c42;font-weight:800;cursor:pointer;padding:10px 14px}
.adminTabs button{flex:1}.adminTabs button[aria-pressed=true]{background:#294c42;color:white}
.codesDialog .adminEventList{max-height:none;overflow:visible;border:0;padding:10px 0}
.adminEventRow{display:flex;align-items:center;gap:8px;border:1px solid #cfddcb;border-radius:12px;margin-bottom:8px;background:#f8faef}
.adminEventRow[hidden]{display:none}.codesDialog .adminEvent{flex:1;min-height:60px;border:0;padding:12px;margin:0}
.codesDialog .adminEvent input{width:26px;height:26px}.adminEvent small{font-size:13px}
.eventPlay{min-height:48px;padding:12px;margin-right:10px;border:0;border-radius:10px;background:#39785d;color:white;font-weight:900;cursor:pointer}
.adminSticky{position:sticky;bottom:0;padding:10px 0;background:#fffdf1;border-top:1px solid #cfddcb;z-index:2}
.adminSticky .primary{margin:0;min-height:48px}.adminSticky .primary:disabled{opacity:.5;cursor:default}
.adminSecondary,.diamondPresets{display:flex;gap:8px;margin-top:8px}.adminSecondary button,.diamondPresets button{flex:1}
#stopEvents{background:#f4e0d4;color:#703b31}#adminBack{width:100%;margin-top:12px}#eventMessage:empty{display:none}
@media(max-width:480px){.codesDialog:has(#adminPanel:not([hidden])){padding-left:10px;padding-right:10px}.eventPlay{font-size:11px;padding:8px;margin-right:6px}.codesDialog .adminEvent{gap:8px}.adminSecondary button{font-size:11px}}
#joinRace{position:fixed;z-index:12;bottom:20px;left:50%;transform:translateX(-50%);max-width:85vw;padding:16px 22px;border:2px solid #ffedac;border-radius:14px;background:#ffe08b;color:#293c46;font-weight:900;box-shadow:0 8px 30px #0005;cursor:pointer}
@media(pointer:coarse){#joinRace{bottom:150px;padding:12px;font-size:12px}}

.adminSecondary{flex-wrap:wrap}.adminSecondary button{min-width:120px}
.kittyScare{position:fixed;inset:0;z-index:9999;background:#100715;display:grid;place-items:center;overflow:hidden;pointer-events:none}
.kittyScare[hidden]{display:none}.kittyScare svg{width:100vw;height:100dvh;object-fit:cover;animation:kittyLunge .22s ease-out both}
.kittyScare strong{position:absolute;bottom:5%;font:900 clamp(36px,9vw,100px) Arial;color:#fff1f5;text-shadow:0 5px 0 #b21651;letter-spacing:.05em}
@keyframes kittyLunge{from{transform:scale(.45)}to{transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.kittyScare svg{animation:none}}
.globalChat{position:fixed;right:14px;bottom:14px;z-index:30;font-family:Arial,sans-serif;color:#24483e}
#chatToggle,#chatSend{border:0;border-radius:10px;padding:12px 16px;background:#294f46;color:#fff9df;font-weight:900;cursor:pointer}
#chatUnread{color:#ffd975}
#chatPanel{width:min(350px,calc(100vw - 28px));max-height:75dvh;background:#fffdf1;border:2px solid #aac5b1;border-radius:16px;box-shadow:0 12px 50px #10292155;padding:14px;box-sizing:border-box;margin-bottom:8px;position:absolute;right:0;bottom:100%;overflow:auto}
#chatPanel[hidden]{display:none}#chatPanel header{display:flex;align-items:center;justify-content:space-between}
#chatClose{border:0;background:#e5eedf;padding:8px 12px;border-radius:8px;cursor:pointer}
.chatHelp,#chatStatus{font-size:11px;line-height:1.4;margin:8px 0;color:#526e61}
#chatPanel label{display:block;font-weight:bold;font-size:12px;margin:7px 0}
#chatPanel input{min-width:0;box-sizing:border-box;border:1px solid #abc8b3;border-radius:8px;background:white;padding:10px;font:14px Arial;color:#243d34}
#chatName{width:100%}#chatMessages{height:min(260px,30dvh);overflow-y:auto;overscroll-behavior:contain;margin:10px 0;border-top:1px solid #dbe6d4}
.chatMessage{padding:9px 4px;border-bottom:1px solid #e0e9d9;overflow-wrap:anywhere}.chatMessage b{font-size:12px}.chatMessage time{float:right;font-size:10px;color:#6e8276}.chatMessage p{margin:4px 0 0;font-size:14px;line-height:1.4;white-space:pre-wrap}.chatMessage.mine{background:#eaf4df}
.chatCompose{display:flex;gap:6px}#chatInput{flex:1}#chatSend{padding:10px}#chatSend:disabled{opacity:.5}
@media(pointer:coarse){.globalChat{bottom:160px}#chatPanel{max-height:65dvh}#chatMessages{height:22dvh}}
#ownerAnnouncement{position:fixed;z-index:45;top:12px;left:50%;transform:translateX(-50%);width:min(620px,calc(100vw - 28px));box-sizing:border-box;padding:12px 20px;border:2px solid #ffe5a2;border-radius:14px;background:#263d51f5;color:#fff5ce;text-align:center;box-shadow:0 8px 30px #0006;pointer-events:none}
#ownerAnnouncement[hidden]{display:none}#ownerAnnouncement strong{font:900 12px Arial;letter-spacing:.08em;color:#ffd377}#ownerAnnouncement p{font:800 clamp(15px,2.5vw,22px)/1.35 Arial;margin:6px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
#announceText{width:100%;box-sizing:border-box;padding:12px;border:2px solid #abc8b3;border-radius:10px;font:17px Arial;resize:vertical}
#announceClear{width:100%;margin-top:10px;padding:12px;border:1px solid #abc8b3;border-radius:10px;background:#eef3e9;cursor:pointer;font-weight:800}
.adminTabs{flex-wrap:wrap}.adminTabs button[hidden]{display:none}

#ownerAdminOpen{position:fixed;left:14px;bottom:14px;z-index:30;border:2px solid #ffe0a1;border-radius:12px;background:#294f46;color:#fff0c0;padding:13px 20px;font:900 14px Arial;box-shadow:0 5px 18px #17382e40;cursor:pointer}
#ownerAdminOpen[hidden]{display:none}
@media(pointer:coarse){#ownerAdminOpen{bottom:160px;padding:11px 16px}}

/* Friend-server controls remain accessible while playing. */
#roomStatus{position:fixed;left:14px;top:100px;z-index:25;display:flex;flex-wrap:wrap;align-items:center;gap:7px;max-width:290px;padding:10px;background:#fffdf1ed;border:2px solid #7fa58a;border-radius:14px;font:700 12px Arial;color:#234d40}
#roomStatus[hidden]{display:none}#roomCode{letter-spacing:2px;font-size:16px}#roomStatus button{padding:6px 8px;font-size:10px}#roomConnection{width:100%;overflow-wrap:anywhere}
.roundSettings input{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:2px solid #b8cbb6;border-radius:9px;text-transform:uppercase;font:700 15px Arial}
@media(max-width:650px){#roomStatus{top:150px;left:8px;max-width:210px;padding:7px;font-size:10px}#roomCode{font-size:13px}}

/* Personal lucky-block results stay visible independently of other announcements. */
#luckyRewards{position:fixed;top:76px;left:50%;transform:translateX(-50%);width:min(440px,calc(100vw - 24px));z-index:9;pointer-events:none;display:grid;gap:7px}
.luckyReward{display:flex;align-items:center;gap:14px;padding:12px 18px;border:2px solid #f5cc69;border-radius:14px;background:#fff9e8f5;color:#234b52;box-shadow:0 5px 20px #123d3940;animation:pop .2s ease-out}
.luckyReward>span{font-size:32px;color:#d89a24;flex:none}.luckyReward small{display:block;font-size:9px;letter-spacing:1.5px;color:#8c6b28;font-weight:800}.luckyReward b{display:block;font-size:19px;margin-top:3px;overflow-wrap:anywhere}.luckyReward p{font-size:12px;line-height:1.4;margin:4px 0 0;color:#62796d}
@media(max-width:650px){#luckyRewards{top:68px}.luckyReward{padding:9px 12px;gap:10px}.luckyReward b{font-size:16px}.luckyReward p{font-size:11px}}

.skinTabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.skinTabs button{padding:12px 16px;border-radius:9px;background:#e5ecdf;color:#34574b}.skinTabs button[aria-pressed="true"]{background:#355c4e;color:white}.specialSkinGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.specialSkinGrid .skinCard{background:#f5ebcd;border-color:#d8b962}.specialSkinGrid .characterPreview{max-width:100%;height:100px;object-fit:contain}#skinRecipient{width:100%;padding:12px;border:2px solid #b8cbbb;border-radius:10px;background:#fffdf3}#skinGiftMessage{line-height:1.5;min-height:24px}

/* Server details belong to the lobby, not the arena overlay. */
.roundSettings #roomStatus{position:static;inset:auto;z-index:auto;max-width:none;width:100%;grid-column:1/-1;margin:4px 0;padding:10px;text-align:left}

/* Keep HUD hit-testing rules out of interactive menu headers. */
.adminHeader,#chatPanel header{pointer-events:auto;left:auto;right:auto;}
#chatPanel header{position:sticky;top:-14px;z-index:3;background:#fffdf1;padding:8px 0;}
.settingsHeading,.tutorialTop{position:sticky;top:-24px;z-index:4;background:#fffdf1;padding:12px 0;}
.tutorialTop{top:-26px;background:#fffdf2;}
#shopClose,#settingsClose,#codeClose,#tutorialClose,#chatClose{pointer-events:auto;touch-action:manipulation;min-width:48px;min-height:48px;width:48px;height:48px;flex-shrink:0;position:relative;z-index:5;}
#settingsBack,#adminBack{position:sticky;bottom:0;z-index:4;min-height:48px;touch-action:manipulation;}
button{touch-action:manipulation;}
@media(pointer:coarse){
 dialog input,dialog select,dialog textarea,#chatPanel input{font-size:16px;}
 #chatToggle{min-height:44px;min-width:44px;}
 #chatPanel{max-height:calc(100dvh - 100px);}
}

/* Large, touch-friendly admin aim toggle. */
#adminAimToggle,#infiniteHealth{display:block;width:100%;min-height:80px;padding:20px 24px;font-size:22px;font-weight:900;line-height:1.3;border:3px solid #355c6b;border-radius:16px;background:#e5f1f5;color:#183543;touch-action:manipulation;cursor:pointer}
#adminAimToggle[aria-pressed="true"],#infiniteHealth[data-enabled="true"]{background:#b9f3cf;border-color:#21744a;color:#124c30}
#adminAimToggle:focus-visible,#infiniteHealth:focus-visible{outline:4px solid #e3ac39;outline-offset:4px}
/* Fair match guidance stays clear of movement and fire controls. */
#bankHud{position:fixed;top:150px;left:18px;background:#fff8d9;color:#244b40;border:2px solid #bfa45d;border-radius:12px;padding:9px 12px;font-size:12px;font-weight:900;pointer-events:none;z-index:8}
#bankHud[hidden]{display:none}.progressSettings{margin:20px 0;padding:16px;background:#edf5e9;border-radius:14px;color:#234d40}.progressSettings small{display:block;margin-top:8px;line-height:1.5}.progressSettings button{min-height:44px;padding:10px;border-radius:10px}.progressSettings p{line-height:1.6}#practiceStart{min-height:48px}.roundSettings select{min-height:44px}
@media(max-width:650px){#bankHud{top:130px;left:8px;font-size:10px;padding:6px}.objective{max-width:calc(100vw - 20px)}.modalCard{max-height:calc(100dvh - 24px);overflow-y:auto}.simpleRules{display:none}.progressSettings{padding:10px}}
.objective{display:flex;position:fixed;pointer-events:none;max-width:360px}.objective div>span{display:block;line-height:1.4}#bankHud{top:265px}
@media(max-width:650px){.objective{top:84px;left:130px;right:8px;max-width:none;padding:8px;gap:6px;font-size:10px}.objective .questIcon{display:none}#bankHud{top:205px;font-size:10px;max-width:160px}}
#bossHud{position:fixed;top:78px;left:50%;transform:translateX(-50%);width:min(380px,calc(100vw - 270px));background:#252442ed;color:#fff6db;border:2px solid #b4a2f4;border-radius:12px;padding:10px 14px;z-index:6;pointer-events:none;text-align:center;font-size:12px}#bossHud[hidden]{display:none}#bossHud span{display:block;margin:4px}#bossHud>div{height:10px;border-radius:6px;overflow:hidden;background:#11152b}#bossFill{display:block;background:linear-gradient(90deg,#aa7de3,#f084ba);height:100%;width:100%;transition:width .15s linear}
@media(max-width:650px){#bossHud{top:155px;left:auto;right:8px;transform:none;width:calc(100vw - 150px);max-width:260px;padding:7px;font-size:10px}}
#progressionPanel{width:min(920px,94vw);max-height:90dvh;overflow:auto;border:3px solid #2c6653;border-radius:24px;background:#fffdf1;color:#234d40;padding:22px}#progressionPanel::backdrop{background:#122e2bcc}.progressionHead{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:-22px;background:#fffdf1;padding:12px 0;z-index:1}.progressionHead h2{margin:5px 0}.progressionHead button{min-width:48px;min-height:48px}.progressionTotals{display:flex;flex-wrap:wrap;gap:18px;background:#d9f0dc;padding:16px;border-radius:12px}.progressionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.progressionGrid article{padding:16px;border:2px solid #d7e6ce;border-radius:16px;background:white;display:flex;flex-direction:column;gap:8px}.progressionGrid h4,.progressionGrid p{margin:0}.progressionGrid button{margin-top:auto;min-height:44px;background:#d7efc7;border:1px solid #78ab83;border-radius:10px;font-weight:800;cursor:pointer}.progressionGrid button:disabled{opacity:.55;cursor:default}.progressionGrid progress{width:100%;accent-color:#39895c}#progressionStatus{position:sticky;top:68px;background:#fffdf1;z-index:1;font-weight:bold}#progressionBack{margin-top:20px;width:100%}

.chatMessage .chatJoin{margin-left:8px;min-height:36px;padding:5px 12px;border:1px solid #4b8b69;border-radius:8px;background:#d6f2c6;color:#194c34;font-weight:800;cursor:pointer}.chatMessage .chatJoin:disabled{opacity:.5}

#fakeBanAll{width:100%;min-height:64px;font-size:18px}#fakeBanScreen{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;padding:24px;background:#11151e;color:#fff;text-align:center}#fakeBanScreen[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}#fakeBanScreen h1{font-size:clamp(32px,7vw,80px);line-height:1.05;color:#ff565e;margin:0;max-width:1000px}#fakeBanScreen h2{font-size:clamp(24px,4vw,44px);margin:0}#fakeBanScreen p{font-size:16px;color:#d8dce5}#fakeBanScreen::backdrop{background:#11151e}

.maxGiftButtons{display:grid;gap:12px}.maxGiftButtons button{width:100%;min-height:64px;font-size:18px}
.wellPanel{width:min(520px,94vw);border:2px solid #62baa9;border-radius:24px;padding:30px;background:#13283e;color:#efffff;box-shadow:0 20px 80px #0008}.wellPanel::backdrop{background:#102333aa}.wellPanel h2{font-size:30px}.wellPanel small{color:#83ead2;letter-spacing:2px}.wellPanel p{line-height:1.6}.wellClose{float:right;min-width:44px;min-height:44px}.wellPanel select{display:block;width:100%;padding:14px;margin:14px 0}.cityGo{display:block;width:100%;padding:18px;border:0;border-radius:12px;background:#7be5cc;color:#16344a;font-weight:bold;text-decoration:none;text-align:center;cursor:pointer}

.ownerToolbar{display:grid;gap:8px;padding:14px;background:#eff5f9;border-radius:14px;margin-bottom:18px}.ownerToolbar select{width:100%;padding:12px;font-size:16px}.ownerGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ownerGrid button{text-align:left;padding:16px;white-space:normal}.ownerGrid small{display:block;font-size:13px;line-height:1.4;margin-top:6px;opacity:.8}#ownerTools label{display:block;margin:14px 0}#ownerTools select,#ownerTools input{display:block;width:100%;padding:12px;margin-top:6px}#ownerHistory article{padding:12px;border-bottom:1px solid #cad8df}#ownerHistory p{overflow-wrap:anywhere;font-size:13px}#ownerToolMessage,#ownerStopStatus{font-weight:bold;min-height:1em}.codesDialog .adminTabs[hidden]{display:none}@media(max-width:520px){.ownerGrid{grid-template-columns:1fr}}

.codesDialog select.ownerPlayerList{height:190px;max-height:32vh;overflow-y:auto;overscroll-behavior:contain;padding:4px;width:100%;border:2px solid #b2cbd9;border-radius:10px;background:#fff;color:#203647}.codesDialog select.ownerPlayerList option{padding:12px 10px;min-height:42px;border-radius:6px}.codesDialog select.ownerPlayerList option:checked{background:#d9eef8;color:#123b56;font-weight:bold}#ownerSelectedPlayer{font-weight:bold;color:#234e65}

.careerTabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;position:sticky;top:0;background:#f3f7f9;padding:10px;z-index:2;border-radius:12px}.careerTabs button[aria-pressed=true]{background:#254e67;color:white}.careerHero{padding:22px;border-radius:18px;background:linear-gradient(135deg,#213c59,#325d73);color:#fff}.careerHero h2{font-size:40px;margin:6px 0}.careerHero progress{width:100%;height:18px}.careerBonus{padding:18px;margin-top:14px;background:#fff3cb;border-radius:14px}.careerMedal span{font-size:32px}.careerMedal{opacity:.7}.careerMedal.earned{opacity:1;border:2px solid #d6b855;background:#fff9e4}.careerSkinList{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.careerSkinList span{padding:10px;background:#eef0f3;border-radius:9px}.careerSkinList .collected{background:#d8eee2;color:#1d5339}.careerNote{font-size:12px;line-height:1.5;color:#596c7c;margin:20px 0}.careerNextUnlock{display:block;width:100%;font-size:11px;text-align:left;margin-top:6px;padding:6px 9px;border-radius:8px;background:#fff3cb;color:#4b431f;pointer-events:auto}.objective{flex-wrap:wrap}.progressionGrid article svg,.progressionGrid article img{max-width:90px;max-height:90px}

button.careerNextUnlock{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;z-index:9;padding:10px 14px;box-shadow:0 3px 10px #0003;font-size:12px;white-space:normal}.careerTabs button{padding:10px 12px;border-radius:9px}.careerHero button,.careerBonus button{padding:12px 16px;border-radius:10px}.careerHero button:disabled,.careerBonus button:disabled{opacity:.6}

.chatPresence{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:#9baba0;border:1px solid #6e8276;vertical-align:middle}.chatPresence.online{background:#26b957;border-color:#167c39;box-shadow:0 0 0 2px #26b95722}
