.phone{background:#2f2137}.game{min-height:100vh;background:linear-gradient(#8a5338,#33233b);position:relative}.topbar{height:58px;background:#281c31;display:flex;align-items:center;gap:8px;padding:7px}.topbar>button{width:38px;height:38px;border-radius:50%;background:#ffffff18;font-size:27px}.room-code{font-size:10px;text-align:center;color:#bcaac4}.room-code b{display:block;color:#ffe477;letter-spacing:2px}.rival{flex:1;font-size:11px}.rival.right{text-align:right}.rival i{display:block;height:8px;background:#140f19;border-radius:8px;overflow:hidden;margin-top:3px}.rival em{display:block;width:0;height:100%;background:linear-gradient(90deg,#46dc62,#f1d94f);transition:.3s}.mission{height:30px;display:grid;place-items:center;background:#1d1625dd;color:#ffe57d;font-weight:800;font-size:13px}.stage{position:relative;width:100%;background:#4f3341}.stage canvas{display:block;width:100%;height:auto;max-height:calc(100vh - 158px);touch-action:none}.controls{height:70px;background:#281c31;display:flex;justify-content:space-around;align-items:center}.controls button{width:82px;height:50px;border-radius:13px;background:linear-gradient(#68d547,#299536);box-shadow:0 4px #155d24;font-size:20px}.controls button#ready{width:70px;height:58px;border-radius:50%;background:linear-gradient(#ffce55,#e57c20);box-shadow:0 4px #9b481a;font-size:15px}.controls small{font-size:10px;display:block}.toast{bottom:78px}#floatText{position:absolute;inset:0;pointer-events:none}.poptext{position:absolute;color:#fff36c;font-weight:1000;font-size:22px;text-shadow:0 2px 2px #521;animation:popup .8s forwards}@keyframes popup{to{transform:translateY(-55px) scale(1.3);opacity:0}}
