*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#10212a;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial;color:#fff}button,input{font:inherit}button{cursor:pointer}#game{position:fixed;inset:0;width:100%;height:100%;display:block}.hidden{display:none!important}.screen{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,rgba(31,61,72,.66),rgba(5,13,18,.90));backdrop-filter:blur(5px)}.panel{width:min(560px,calc(100vw - 28px));border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(18,33,44,.96),rgba(8,17,24,.97));border-radius:28px;padding:28px;box-shadow:0 30px 100px rgba(0,0,0,.48)}.joinPanel{text-align:center}.logoMark{font-weight:1000;font-size:14px;color:#ffcb44;margin-bottom:8px}h1,h2{margin:0;letter-spacing:-1.5px}h1{font-size:40px}h2{font-size:34px}.sub{color:#aebfca;margin:9px 0 24px}.field{text-align:left;display:block}.field span,.eyebrow,.shareLabel{font-size:11px;font-weight:900;letter-spacing:1px;color:#91a9b7}.field input{width:100%;margin-top:8px;padding:15px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#0b1821;color:#fff;outline:none;font-size:18px}.primary,.secondary{border:0;border-radius:16px;padding:14px 20px;font-weight:1000}.primary{width:100%;margin-top:14px;background:linear-gradient(#ffd54d,#f09b17);color:#17202a;box-shadow:inset 0 -4px 0 rgba(0,0,0,.14)}.secondary{width:100%;margin-top:10px;background:#253848;color:#fff}.shareBox{margin-top:18px;display:flex;gap:10px;align-items:center;text-align:left;background:#0a1720;border-radius:14px;padding:11px 12px}.shareBox>div{min-width:0;flex:1}.shareBox b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;font-size:13px}.shareBox button{border:0;border-radius:10px;background:#243d4d;color:#fff;font-size:12px;font-weight:900;padding:9px 11px}.lobbyTop{display:flex;justify-content:space-between}.roleChip,#roleBadge{border-radius:999px;padding:7px 11px;font-size:11px;font-weight:1000;background:#f3b92e;color:#17202a}.playerList{display:grid;gap:8px;margin:18px 0}.playerRow{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.055);border-radius:13px;padding:10px 12px}.playerDot{width:12px;height:12px;border-radius:50%}.playerRow b{flex:1}.hostTag{font-size:10px;color:#ffd356;font-weight:1000}.sizeButtons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 4px}.sizeButtons button{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:#fff;border-radius:12px;padding:10px 5px;font-size:20px;font-weight:1000}.sizeButtons small{display:block;font-size:9px;color:#94a9b6}.sizeButtons .selected{border-color:#72d0ff;background:rgba(65,169,228,.19)}.guestOnly{color:#a6b9c4;text-align:center;padding:18px 0}.waitingPulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#70e1a0;margin-right:8px;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.25;transform:scale(.7)}}.shareMini{margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;color:#91a9b7;font-size:11px}.shareMini b{color:#fff}
#hud{position:fixed;inset:0;pointer-events:none;z-index:5;text-shadow:0 2px 5px rgba(0,0,0,.5)}#timerCard{position:absolute;left:18px;top:18px;background:rgba(10,20,25,.78);padding:9px 15px;border-radius:16px}#timer{font-weight:1000;font-size:30px}#roundState{font-size:9px;font-weight:900;color:#ffd54a}#roleBadge{position:absolute;left:18px;top:92px;text-shadow:none}#scoreBoard{position:absolute;right:18px;top:18px;width:205px;background:rgba(9,17,22,.76);border-radius:17px;padding:10px 12px}.boardTitle{font-size:10px;color:#9cb2bd;font-weight:1000}.scoreRow{display:grid;grid-template-columns:20px 1fr auto;gap:6px;align-items:center;font-size:12px;line-height:1.7}.scoreRow.me{color:#ffd84a;font-weight:1000}.scoreDot{width:8px;height:8px;border-radius:50%}#statusCard{position:absolute;left:50%;top:18px;transform:translateX(-50%);display:flex;gap:7px;background:rgba(9,17,22,.70);padding:7px;border-radius:14px}.stat{display:flex;gap:4px;align-items:center;background:rgba(255,255,255,.07);border-radius:9px;padding:6px 8px;font-size:12px}#powerHud{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;pointer-events:auto}.ability{border:0;color:#fff;font-weight:1000}.ability.item{width:100px;height:70px;border-radius:18px;background:linear-gradient(#733bd4,#43238b);display:flex;align-items:center;justify-content:center;flex-direction:column}.ability.item img{width:52px;height:44px;object-fit:contain}.ability.item.empty img{display:none}.ability.item.empty{filter:saturate(.25);opacity:.65}#itemText{font-size:9px}#shockWrap{height:70px;min-width:220px;border-radius:18px;background:linear-gradient(#253f5a,#14273b);padding:9px;display:grid;grid-template-columns:52px 1fr 42px;align-items:center;gap:8px}.ability.shock{width:52px;height:52px;border-radius:50%;font-size:24px;background:linear-gradient(#9a3ee8,#6321b8)}#shockMeter{height:12px;background:#09141c;border-radius:99px;overflow:hidden}#shockFill{height:100%;width:0;background:linear-gradient(90deg,#ffad18,#ffe14d)}#shockText{font-size:12px;font-weight:1000}#desktopHint{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);font-size:10px;color:rgba(255,255,255,.72)}.overlayText{position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);font-size:120px;font-weight:1000}.finalScores{display:grid;gap:8px;margin:18px 0}.finalRow{display:flex;gap:10px;background:rgba(255,255,255,.055);border-radius:12px;padding:10px 12px}.finalRow b{flex:1}#toast{position:fixed;z-index:40;left:50%;top:18%;transform:translate(-50%,-50%) scale(.8);opacity:0;background:rgba(8,18,24,.90);border-radius:14px;padding:10px 15px;font-weight:1000;transition:.15s}#toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
#mobileControls{position:fixed;inset:0;z-index:8;pointer-events:none}#joystick{position:absolute;left:24px;bottom:25px;width:160px;height:160px;pointer-events:auto;touch-action:none}#joyRing{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.26);background:rgba(255,255,255,.09)}#joyKnob{position:absolute;width:66px;height:66px;border-radius:50%;left:47px;top:47px;background:rgba(255,255,255,.78)}#mobileButtons{position:absolute;right:20px;bottom:22px;display:grid;grid-template-columns:72px 72px 92px;gap:9px;align-items:end;pointer-events:auto}.mBtn{border:0;color:#fff;border-radius:50%;font-size:25px;font-weight:1000;aspect-ratio:1;box-shadow:0 7px 20px rgba(0,0,0,.28),inset 0 -5px 0 rgba(0,0,0,.17)}.mBtn small{display:block;font-size:8px}.shockBtn{background:linear-gradient(#9d48ef,#6121b5)}.itemBtn{background:linear-gradient(#42b564,#248345)}.kickBtn{background:linear-gradient(#ffc63f,#ec8714);font-size:31px}@media(pointer:coarse),(max-width:900px){#mobileControls:not(.hidden){display:block!important}#desktopHint,#powerHud{display:none}#scoreBoard{width:165px}#statusCard{top:auto;bottom:190px;left:18px;transform:none}}@media(min-width:901px) and (pointer:fine){#mobileControls{display:none!important}}

.connectionStatus{margin:13px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:800;color:#9fb3bf}
.connectionStatus span{width:9px;height:9px;border-radius:50%;background:#efb738}
.connectionStatus.good{color:#72e3a2}.connectionStatus.good span{background:#62dc94;box-shadow:0 0 12px rgba(98,220,148,.8)}
.connectionStatus.bad{color:#ff9088}.connectionStatus.bad span{background:#ff6e64}
.connectionStatus.connecting span{animation:pulse 1s infinite}
.joinError{margin-top:10px;padding:9px 11px;border-radius:10px;background:rgba(190,45,45,.18);border:1px solid rgba(255,104,104,.28);color:#ffaaa5;font-size:12px;text-align:left}
#joinBtn:disabled{opacity:.52;filter:saturate(.55);cursor:default}

.connectionStatus.bad + #joinBtn{filter:saturate(.35)}

.startStatus{margin-top:10px;padding:9px 11px;border-radius:10px;text-align:left;font-size:12px;background:rgba(74,148,197,.14);border:1px solid rgba(107,195,255,.22);color:#bfe8ff}.startStatus.error{background:rgba(190,45,45,.18);border-color:rgba(255,104,104,.28);color:#ffaaa5}#startBtn:disabled{opacity:.58;filter:saturate(.55);cursor:default}

.rendererStatus{
  position:fixed;z-index:60;left:12px;bottom:12px;
  max-width:min(560px,calc(100vw - 24px));
  padding:9px 12px;border-radius:10px;
  background:rgba(22,65,88,.94);
  border:1px solid rgba(126,210,255,.35);
  color:#d8f3ff;font-size:12px;font-weight:800;
  box-shadow:0 6px 24px rgba(0,0,0,.28)
}
.rendererStatus.error{
  background:rgba(105,25,25,.95);
  border-color:rgba(255,112,112,.5);
  color:#ffd1cd
}
.rendererStatus button{margin-left:10px;padding:4px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);color:inherit;font:inherit;cursor:pointer}

.controlChoice{margin-top:16px;text-align:left}.controlChoiceTitle{font-size:11px;font-weight:900;letter-spacing:1px;color:#91a9b7;margin-bottom:8px}.controlChoiceOptions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.controlChoiceOptions label{cursor:pointer}.controlChoiceOptions input{display:none}.controlChoiceOptions span{min-height:72px;display:flex;flex-direction:column;justify-content:center;padding:10px 12px;border-radius:13px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055)}.controlChoiceOptions b{font-size:12px}.controlChoiceOptions small{font-size:10px;line-height:1.3;color:#9fb2bd;margin-top:5px}.controlChoiceOptions input:checked + span{border-color:#6ed1ff;background:rgba(75,173,224,.18);box-shadow:inset 0 0 0 2px rgba(100,196,245,.10)}
#mShockWrap{width:76px;display:flex;flex-direction:column;align-items:center;gap:4px}#mShockWrap .mBtn{width:72px}#mShockMeter{width:68px;height:8px;border-radius:99px;overflow:hidden;background:rgba(4,14,21,.82);border:1px solid rgba(255,255,255,.16);box-shadow:0 2px 6px rgba(0,0,0,.25)}#mShockFill{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#ffae18,#ffe052)}#mShockPct{font-size:9px;font-weight:1000;line-height:1;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7)}
@media(max-width:560px){.controlChoiceOptions{grid-template-columns:1fr}#mobileButtons{grid-template-columns:66px 66px 86px;gap:7px;right:12px;bottom:15px}#mShockWrap{width:66px}#mShockWrap .mBtn{width:62px}#mShockMeter{width:60px}.mBtn{font-size:22px}.kickBtn{font-size:28px}}

.botTitle{margin-top:14px}.botButtons{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin:7px 0 5px}.botButtons button{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:#fff;border-radius:9px;padding:8px 2px;font-size:14px;font-weight:1000}.botButtons .selected{border-color:#72d0ff;background:rgba(65,169,228,.19)}.botButtons button:disabled{opacity:.25;cursor:default}.botNote{font-size:10px;color:#8fa9b7;margin:4px 0 12px}.botTag{font-size:9px;color:#75d5ff;font-weight:1000;background:rgba(65,169,228,.14);padding:3px 6px;border-radius:999px}
@media(max-width:560px){.botButtons{grid-template-columns:repeat(4,1fr)}}

/* ---------- 10 second Hide & Bluff setup ---------- */
#setupHud{position:fixed;z-index:35;inset:0;pointer-events:none;color:#fff}
#setupHeader{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;min-width:360px;max-width:calc(100vw - 28px);padding:10px 14px;border-radius:14px;background:rgba(19,47,60,.86);border:1px solid rgba(255,255,255,.16);box-shadow:0 7px 25px rgba(0,0,0,.22)}
#setupHeader>div:first-child{display:flex;flex-direction:column;gap:2px}#setupHeader b{font-size:13px;letter-spacing:.9px}#setupInstruction{font-size:11px;color:#bcd0d9}
#setupCountdownSmall{margin-left:auto;min-width:34px;text-align:center;font-size:25px;line-height:1;font-weight:1000;color:#ffe278}
#setupTools{pointer-events:auto;position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px;border-radius:16px;background:rgba(18,43,55,.91);border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 30px rgba(0,0,0,.28)}
#setupTools>i{width:1px;height:45px;background:rgba(255,255,255,.15);margin:0 2px}.setupTool{width:70px;height:58px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.07);color:#fff;display:grid;grid-template-columns:24px 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:6px;cursor:pointer}.setupTool span{grid-row:1/3;font-size:21px}.setupTool b{font-size:10px;text-align:left}.setupTool small{font-size:8px;color:#9eb4bf;text-align:left}.setupTool.selected{border-color:#71d5ff;background:rgba(52,164,220,.25);box-shadow:0 0 0 2px rgba(64,188,243,.12)}.setupTool.used{opacity:.30}.setupTool:disabled{opacity:.22;cursor:default}.setupTool.token{border-color:rgba(255,215,88,.35)}.setupTool.token.selected{border-color:#ffd64d;background:rgba(255,193,50,.20)}
#setupHint{position:absolute;bottom:99px;left:50%;transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.35);font-size:10px;color:#e6f3f7;white-space:nowrap}
#mobileControls.setupMode #mobileButtons{display:none!important}#mobileControls.setupMode #joystick{display:block}
@media(max-width:700px){#setupHeader{top:9px;min-width:0;width:calc(100vw - 24px)}#setupTools{bottom:12px;max-width:calc(100vw - 120px);left:auto;right:8px;transform:none;display:grid;grid-template-columns:repeat(4,58px);gap:4px;padding:5px;overflow:auto}.setupTool{width:58px;height:50px;grid-template-columns:20px 1fr;padding:4px}.setupTool span{font-size:17px}.setupTool b{font-size:8px}.setupTool small{font-size:7px}#setupTools>i{display:none}#setupHint{display:none}}
.roomJoinRow{display:flex;gap:10px;align-items:flex-end;margin-top:14px}.roomJoinRow .field{flex:1}.roomJoinRow .field input{text-transform:uppercase;letter-spacing:4px;font-weight:900}.roomJoinRow .secondary{width:auto;margin:0;padding:15px 22px}
.shareLabel .roomCode{display:inline;margin-left:6px;font-size:15px;letter-spacing:3px;color:#ffd54d}
.roundRewards{margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(255,213,77,.10);border:1px solid rgba(255,213,77,.35);text-align:center}.roundRewards small{display:block;margin-top:4px;color:#d9c48a;font-size:12px}.rewardMain{font-size:20px;font-weight:1000;color:#ffd54d}.rewardLevel{margin-top:6px;font-weight:1000;color:#7cf35c}.rewardUnlock{margin-top:4px;font-weight:800}
