#mpJoin,#mpReady { background:#175b70; color:#fff; border:2px solid #46bcd0; opacity:1; }
#mpJoin:hover,#mpReady:hover { background:#21738a; }
.lobby-player {display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #b9cbd0;font-size:18px;}
.ready-state {font-size:14px;color:#176c70;align-self:center;}
#actionsToggle {position:absolute;right:calc(10px + env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));z-index:38;pointer-events:auto;border-radius:50%;width:50px;height:50px;}
#actionsToggle svg,#shopTrapBtn svg {width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
#actionsToggle svg {position:absolute;top:3px;left:11px;}
/* Utility buttons stay visible; audio and leaving now live in Settings. */
/* 即時技能、攻擊與道具不受輔助選單控制，僅由玩法決定是否可用。 */
body.story-active #towerActionRail {pointer-events:none;}
#towerActionRail > button {pointer-events:auto;}
#gameScreen .game-action-btn {width:56px;height:56px;border-width:2px;}
#gameScreen #shovelBtn {right:calc(70px + env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));}
#gameScreen #atkBtn,#gameScreen #robBtn {right:calc(136px + env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));}
#gameScreen #skillBtn,#gameScreen #coBtn {right:calc(202px + env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));}
#gameScreen #kiteBtn {right:calc(70px + env(safe-area-inset-right));bottom:calc(142px + env(safe-area-inset-bottom));}
#gameScreen #whistleBtn {right:calc(136px + env(safe-area-inset-right));bottom:calc(142px + env(safe-area-inset-bottom));}
#gameScreen #shopTrapBtn {right:calc(202px + env(safe-area-inset-right));bottom:calc(142px + env(safe-area-inset-bottom));}
body.story-active #towerTalkBtn {right:calc(100% + 12px);bottom:136px;}
#hudRightBtns {bottom:calc(72px + env(safe-area-inset-bottom));gap:6px;pointer-events:none;}
#hudRightBtns > button {pointer-events:auto;}
#hudRightBtns .round-btn {width:46px;height:46px;}
#towerTalkBtn {right:calc(100% + 12px);top:auto;bottom:calc(-62px);}
#shopTrapBtn {position:absolute;right:var(--action-right-far);bottom:calc(168px + env(safe-area-inset-bottom));z-index:30;border-radius:50%;width:58px;height:58px;background:#895818;border:2px solid #ffe19a;color:white;}
#shopTrapCount {position:absolute;right:-6px;top:-7px;font-size:13px;background:#152638;padding:3px 6px;border-radius:9px;}
#shopItemName {position:absolute;bottom:3px;left:0;right:0;font-size:10px;line-height:1.1;}
#shopTrapBtn svg {margin-top:-10px;}
#shopMission {position:absolute;top:var(--shop-mission-top,126px);left:10px;z-index:25;width:220px;max-width:calc(100vw - 170px);padding:4px 6px;border:1px solid #5a8e9f;border-radius:9px;background:#102537df;color:#fff3cf;}
#shopMission[hidden],#shopEggSplat[hidden] {display:none;}
#shopMissionTitle {font-size:12px;line-height:16px;font-weight:700;margin-bottom:2px;}
#shopMissionItems {display:flex;gap:3px;}
#shopMissionItems button {position:relative;flex:1;min-width:0;height:32px;padding:1px;border:1px solid #586e7b;border-radius:6px;background:#203244;color:#eef7ff;display:grid;justify-items:center;}
#shopMissionItems canvas {width:28px;height:28px;}
#shopMissionItems span,#shopMissionItems small {display:none;}
#shopMissionItems .carried {border-color:#ffdf7c;background:#554b26;}
#shopMissionItems .paid {border-color:#78e3bb;background:#184f48;}
#shopMissionItems .carried::after {content:'•';position:absolute;right:1px;bottom:-2px;color:#ffe797;font-size:17px;line-height:15px;}
#shopMissionItems .paid::after {content:'✓';position:absolute;right:1px;bottom:0;color:#acffdd;font-size:12px;line-height:13px;}
#shopMission.complete {width:max-content;max-width:calc(100vw - 170px);padding:4px 8px;}
#shopMission.complete #shopMissionTitle {margin:0;}
#shopMission.complete #shopMissionItems {display:none;}
#shopEggSplat {position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;}
#shopEggSplat i {position:absolute;width:49%;height:65%;left:10%;top:4%;border-radius:46% 57% 41% 62%;background:radial-gradient(ellipse at 45% 45%,#ffd13b 0 25%,#fff4cffc 27% 62%,#fff7d300 71%);transform:rotate(-20deg);}
#shopEggSplat i:nth-child(2) {left:45%;top:23%;width:45%;height:65%;transform:rotate(24deg);}
#shopEggSplat i:nth-child(3) {left:37%;top:53%;width:20%;height:55%;background:#fff4cff5;transform:rotate(-8deg);}
#shopSaleHud {position:absolute;top:var(--shop-sale-top,194px);left:10px;z-index:25;max-width:240px;padding:5px 8px;border:1px solid #ffd367;border-radius:8px;background:#772d24ed;color:#fff5cf;font-size:12px;line-height:1.4;pointer-events:none;}
#shopSaleHud[hidden] {display:none;}
@media(max-height:500px){#shopSaleHud{max-width:220px;font-size:11px;}}
#lookZone {height:78%;width:55%;}
#toast {top:auto;bottom:calc(8px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:58%;padding:6px 10px;font-size:13px;line-height:1.3;pointer-events:none;max-height:44px;overflow:hidden;}
#tagAnnounce {top:auto!important;bottom:calc(55px + env(safe-area-inset-bottom))!important;left:50%!important;transform:translateX(-50%)!important;font-size:15px!important;padding:6px 10px!important;pointer-events:none;max-width:60%;}
#preWarn {top:calc(51px + env(safe-area-inset-top));left:12px;transform:none;font-size:13px;padding:4px 10px;pointer-events:none;}
#tagBanner,#treasureBanner {top:calc(54px + env(safe-area-inset-top))!important;left:12px!important;transform:none!important;max-width:58vw;font-size:12px!important;white-space:normal;pointer-events:none;}
#shiftWarn {pointer-events:none;background:transparent!important;align-items:flex-end!important;padding-bottom:55px;}
#shiftWarn .box {font-size:14px!important;padding:8px 14px!important;}
#roomCountdown {position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#071526e8;color:#ffdf94;font-weight:800;font-size:clamp(32px,7vw,70px);pointer-events:auto;}
#roomCountdown[hidden] {display:none;}
#compassArrow::before,#smellArrow::before {content:'';display:inline-block;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:24px solid #ffdd6b;filter:drop-shadow(0 1px 2px #173447);}
@media(max-height:500px){#toast{font-size:12px;max-width:55%;}#hudRightBtns{bottom:68px;}#actionsToggle{width:46px;height:46px;}#actionsToggle svg{left:9px;}#towerTalkBtn{bottom:-58px;}}
