body{background:#080d1a;color:#e5f0f7}h1{letter-spacing:.12em;font-style:italic;margin-bottom:8px}body>p{color:#97adbf;max-width:640px;margin:18px auto;padding:0 16px;line-height:1.5}button{cursor:pointer;transition:background .15s,transform .15s}button:focus-visible,a:focus-visible{outline:3px solid #67e9ed;outline-offset:4px}button:disabled{cursor:default;opacity:.5}.lobby{background:#101b2b;border-color:#2b4056;padding:24px}.lobby h2{font-size:13px;letter-spacing:.16em;color:#9bb5c9}.timer{font-size:16px;margin:10px;color:#78e4e6}#chars{gap:12px}#chars button{display:flex;flex-direction:column;align-items:center;width:132px;padding:5px 4px 12px;background:#17263a;border-color:#34475d;color:#dbe7f0;font-size:12px}#chars canvas{width:120px;height:96px;border:0;background:none;aspect-ratio:auto}#chars button.sel{background:#24434c;border-color:#70e5e1;box-shadow:0 0 0 1px #70e5e1}.hot{background:#e8427e}.racehud{font-variant-numeric:tabular-nums;letter-spacing:.08em;padding:10px}.raceControls button{background:#1b2c42;color:#dbeaf5;border:1px solid #405873}.raceControls .hot{background:#bd3264}.raceShell{position:relative}.finishPanel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:20;width:min(82%,560px);box-sizing:border-box;padding:24px;border:1px solid #67dfe2;border-radius:18px;background:#14283af2;box-shadow:0 24px 70px #000c;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);margin:0;text-align:center}.finishPanel:before{content:'';position:fixed;inset:0;background:#02071188;z-index:-1;pointer-events:none}.finishPanel[hidden]{display:none}.finishPanel h2{color:#82f2ec;margin-top:0}.finishPanel p{color:#bacddc}.finishPanel button{min-width:132px;min-height:48px;margin:6px}#managedActions{padding:12px}.chatbox{margin-bottom:100px}canvas#c{box-sizing:border-box;border-color:#395166}.touchactions button{min-height:56px;min-width:56px}.racing .touchjoy{width:90px;height:90px}.racing .touchknob{left:20px;top:20px}.racing .touchactions{gap:4px}.racing .touchactions button{width:56px;height:56px}body.racing>h1{font-size:20px;margin:12px 0}body.racing>p{display:none}@media(max-width:700px){.lobby{margin:12px 8px;padding:14px 6px}#chars{gap:8px}#chars button{width:calc(33.333% - 8px);max-width:132px}#chars canvas{width:100%;height:auto}.gamewrap{padding-bottom:112px;background:#101c2e;border-radius:16px}.touchjoy{bottom:10px;left:12px}.touchactions{bottom:24px;right:8px}.racehud{font-size:12px}.raceShell{padding-top:5px}.modes button{flex:1 1 40%;margin:0}.modes{padding:12px}.ready{min-height:52px}#managedPlayers{font-size:12px}body{padding-bottom:env(safe-area-inset-bottom)}}@media(prefers-reduced-motion:reduce){button{transition:none}}

#chars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:8px 0}#chars button{box-sizing:border-box;width:100%;margin:0}#chars canvas{max-width:100%;height:auto}@media(max-width:700px){#chars{grid-template-columns:repeat(3,minmax(0,1fr))}#chars button{width:100%;max-width:none}}
.finishPanel ol{max-width:400px;margin:18px auto;text-align:left;line-height:2}.yourResult{color:#7dece4;font-weight:800}
.itemStatus{font-size:12px;letter-spacing:.05em;color:#ffe29b;margin:10px}

.rush-app{display:grid;grid-template-rows:auto auto auto;min-height:100dvh}.rush-app>header{padding:8px 8px 2px}.rush-app .chatbox{width:calc(100% - 16px);box-sizing:border-box;margin:10px auto max(12px,env(safe-area-inset-bottom))}.rush-app #gameScreen{width:100%}.rush-menu{box-sizing:border-box;width:calc(100% - 16px)}@media(max-width:700px){.rush-app>header h1{font-size:18px;margin:6px}.rush-menu{margin:6px 8px;padding:12px}.rush-menu .modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rush-menu .modes button{margin:0;min-height:58px}.rush-app .chatbox{margin-top:6px;margin-bottom:max(8px,env(safe-area-inset-bottom));max-height:28dvh}.rush-app .chatlog{height:82px}.racing .rush-app{grid-template-rows:auto minmax(0,1fr) auto}.racing .rush-app>header{display:none}.racing .chatbox{max-height:25dvh}.racing .chatlog{height:64px}}

.kart-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px auto;max-width:820px}.kart-slot{min-height:120px;border:1px solid #52e7ef44;border-radius:16px;background:linear-gradient(180deg,#14243c,#091222);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;box-sizing:border-box;position:relative;overflow:hidden}.kart-slot canvas{width:112px;height:64px;border:0;background:transparent;aspect-ratio:auto}.kart-slot b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kart-slot small{color:#9bb5c9}.kart-slot.empty{border-style:dashed;opacity:.65}.kart-slot .host-badge{position:absolute;top:6px;right:7px;font-size:9px;background:#ff2f79;padding:3px 6px;border-radius:9px}.kart-slot.bot small{color:#ffe04b}@media(max-width:700px){.kart-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.kart-slot{min-height:104px}.kart-slot canvas{width:92px;height:52px}}

.rush-room{max-width:1120px;background:radial-gradient(circle at 50% 0,#183b4a 0,#101a31 45%,#080f20 100%);box-shadow:0 24px 70px #0009}.rush-room-head{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.rush-room-head .timer{margin:0}.room-rule{margin:8px;color:#9bb5c9}.racer-picker{margin:8px auto;max-width:840px}.racer-picker summary{cursor:pointer;font-weight:900;color:#7dece4;padding:8px}.kart-slots{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1040px}.kart-slot{min-height:158px;background:radial-gradient(circle at 50% 35%,#21465a,#101b31 58%,#070d19);border-color:#5ce8e944;box-shadow:inset 0 1px #ffffff12}.kart-slot canvas{width:150px;height:86px}.kart-slot b{font-size:15px}.kart-slot.empty:before{content:'+';font-size:36px;color:#65e6e777}.rush-player-row{display:none}#managedActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}#hostControls{display:contents}.chatbox{border-color:#5ce8e933;background:#081323;box-shadow:0 18px 50px #0007}@media(min-width:901px){body:not(.racing) .rush-app{max-width:1180px;grid-template-columns:minmax(0,1fr) 310px;grid-template-rows:auto auto;gap:10px;padding:0 10px;box-sizing:border-box}body:not(.racing) .rush-app>header{grid-column:1/-1}body:not(.racing) #menuScreen,body:not(.racing) #lobbyScreen{grid-column:1}body:not(.racing) .chatbox{grid-column:2;grid-row:2;margin:10px 0;width:100%;align-self:stretch;display:flex;flex-direction:column}body:not(.racing) .chatlog{height:auto;min-height:260px;flex:1}.rush-room{margin:10px 0}.kart-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.rush-room-head{padding:0 6px}.kart-slot{min-height:112px}.kart-slot canvas{width:96px;height:56px}.kart-slot b{font-size:12px}.racer-picker[open]{max-height:210px;overflow:auto}}

.rush-pop{position:fixed;inset:0;z-index:10000;background:#020711cc;display:grid;place-items:center;padding:18px}.rush-pop>div{width:min(92vw,430px);box-sizing:border-box;background:linear-gradient(145deg,#14243b,#091222);border:1px solid #62e8e955;border-radius:20px;padding:24px;box-shadow:0 28px 90px #000c}.rush-pop b{font-size:22px}.rush-pop p{color:#b6c7d8;line-height:1.5}.rush-pop button{background:#1b3049;color:white;border:1px solid #ffffff22}.rush-pop button[data-sign]{background:#e8427e}

.held-power{position:absolute;right:12px;top:52px;z-index:7;width:72px;height:72px;border-radius:18px;border:2px solid #77f2ed;background:radial-gradient(circle at 35% 25%,#284b66,#0a1324 68%);box-shadow:0 0 24px #4ee7e655,inset 0 1px #ffffff55;display:grid;place-items:center;align-content:center;pointer-events:none}.held-power span{font-size:30px;line-height:30px;filter:drop-shadow(0 3px 6px #000)}.held-power small{font-size:8px;font-weight:900;letter-spacing:.04em;margin-top:5px;max-width:66px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.held-power.empty{opacity:.45;filter:saturate(.4)}@media(max-width:700px){.held-power{right:8px;top:42px;width:58px;height:58px;border-radius:14px}.held-power span{font-size:24px;line-height:24px}.held-power small{font-size:7px;max-width:52px}}
/* Keep the approved room composition; one embedded chat surface, one seat per kart. */
[hidden],#managedActions[hidden],#hostControls[hidden]{display:none!important}
.in-room #menuScreen{display:none}
.in-room .chatbox>#chatlog,.in-room .chatbox>#chatForm{display:none}
.chatbox #binxLobby.chat-only{padding:0;margin:0;border:0;box-shadow:none;background:none}
#binxLobby.chat-only .bl-layout{display:block}
#binxLobby.chat-only .bl-side{border:0;background:none}
.slot-remove{font-size:10px;padding:6px 10px;min-height:36px;background:#341b30;color:#ffe5ed}
.rush-app .chatbox{margin-bottom:76px}
.held-power img{width:48px;height:48px;object-fit:contain}.held-power small{white-space:normal;text-align:center;line-height:1.1}@media(max-width:700px){.held-power img{width:37px;height:37px}}

@media(max-width:700px){.finishPanel{width:min(88%,520px);padding:20px 16px;top:48%}.finishPanel button{min-height:48px;min-width:120px}}

@media(max-width:700px){.finishPanel{width:min(92%,520px);padding:18px;top:50%}.finishPanel h2{font-size:22px}.finishPanel p{font-size:13px}.finishPanel button{min-width:120px;min-height:50px}}
