*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a2e;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none}#app{width:100%;height:100%;position:relative}canvas{display:block;touch-action:none}.game-top-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);z-index:100}.coins-display{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700}.coin-icon{font-size:24px}.coin-amount{color:gold}.timer-display{font-size:24px;font-weight:700;color:#fff}.timer-display.warning{color:#f44;animation:pulse .5s infinite}.phase-display{font-size:16px;color:#8f8;text-transform:uppercase}.health-bars{position:absolute;top:50px;left:0;right:0;display:flex;justify-content:space-between;padding:0 15px;z-index:100}.boss-health{display:flex;flex-direction:column;gap:4px;min-width:120px}.boss-health .label{font-size:12px;opacity:.8}.health-bar{height:16px;background:#333;border-radius:8px;overflow:hidden}.health-fill{height:100%;background:linear-gradient(to right,#4f4,#8f8);transition:width .3s ease}.health-bar.enemy .health-fill{background:linear-gradient(to right,#f44,#f88)}.health-text{font-size:11px;opacity:.7}.block-selector{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#000000e6,#000000b3);padding:10px;z-index:100;display:flex;flex-direction:column;gap:10px}.blocks-container{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px}.block-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff1a;border:2px solid transparent;border-radius:8px;color:#fff;cursor:pointer;min-width:100px;transition:all .2s}.block-btn.selected{border-color:#4f4;background:#4f43}.block-btn.disabled{opacity:.5;pointer-events:none}.block-btn:active{transform:scale(.95)}.block-icon{width:32px;height:32px;border-radius:4px;border:1px solid rgba(255,255,255,.3)}.block-info{display:flex;flex-direction:column;align-items:flex-start;font-size:12px}.block-name{font-weight:700}.block-cost{color:gold}.action-buttons{display:flex;gap:10px;justify-content:center;margin-top:5px}.move-boss-btn{padding:10px 20px;background:#ffa5004d;border:2px solid orange;border-radius:8px;color:#fff;font-size:14px;cursor:pointer}.move-boss-btn:active{transform:scale(.95)}.delete-mode-btn{padding:10px 20px;background:#ff44444d;border:2px solid #ff4444;border-radius:8px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.delete-mode-btn:active{transform:scale(.95)}.delete-mode-btn.active{background:#f449;border-color:#f66;animation:pulse-delete 1s infinite}@keyframes pulse-delete{0%,to{box-shadow:0 0 5px #ff444480}50%{box-shadow:0 0 15px #f44c}}.ready-btn{padding:10px 20px;background:#44ff444d;border:2px solid #44ff44;border-radius:8px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.ready-btn:active{transform:scale(.95)}.ready-btn:disabled,.ready-btn.is-ready{background:#9696964d;border-color:#888;color:#aaa;cursor:not-allowed}.ready-status-container{position:absolute;top:50px;left:0;right:0;display:flex;justify-content:center;padding:10px;z-index:100}.ready-status{display:flex;gap:20px;background:#000000b3;padding:8px 16px;border-radius:20px;font-size:14px}.you-status,.enemy-status{display:flex;align-items:center;gap:5px}.game-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;padding:15px 30px;border-radius:10px;font-size:18px;z-index:200;animation:fadeIn .3s}.game-message.fade-out{animation:fadeOut .5s forwards}.waiting-room-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;z-index:1000}.waiting-room{text-align:center;padding:30px;max-width:400px;width:90%}.game-title{font-size:48px;margin-bottom:10px;background:linear-gradient(45deg,#ff6b6b,#ffd93d,#6bcb77,#4d96ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:rainbow 3s linear infinite;background-size:400% 400%}.game-subtitle{color:#888;margin-bottom:30px}.player-name-section{margin-bottom:20px}.player-name-section label{display:block;margin-bottom:8px;font-size:14px;color:#aaa}.player-name-section input{width:100%;padding:12px;font-size:16px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;text-align:center}.room-options{display:flex;flex-direction:column;gap:15px}.btn-create{padding:15px 30px;font-size:18px;background:linear-gradient(45deg,#4f4,#0c0);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;transition:transform .2s}.btn-create:active{transform:scale(.95)}.or-divider{color:#666}.join-section{display:flex;gap:10px}.join-section input{flex:1;padding:12px;font-size:18px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;text-align:center;text-transform:uppercase}.btn-join{padding:12px 20px;font-size:16px;background:#44f;border:none;border-radius:8px;color:#fff;cursor:pointer}.waiting-section{margin-top:20px}.room-code-display{margin-bottom:20px}.room-code-display .code{display:block;font-size:36px;font-weight:700;color:gold;margin-top:10px;letter-spacing:5px}.waiting-text{color:#888;margin-bottom:20px}.loader{width:40px;height:40px;margin:0 auto;border:4px solid rgba(255,255,255,.2);border-top-color:#4f4;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:#ff44444d;padding:10px;border-radius:8px;margin-top:15px;color:#f66}.victory-overlay{position:absolute;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000}.victory-screen{text-align:center;padding:30px;max-width:500px;width:90%;z-index:1001}.victory-screen h1{font-size:42px;margin-bottom:30px}.victory-screen h1.victory{color:gold;text-shadow:0 0 20px rgba(255,215,0,.5)}.victory-screen h1.defeat{color:#f44}.stats-container{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:30px}.player-stats{background:#ffffff1a;padding:20px;border-radius:10px;min-width:140px}.player-stats.winner{border:2px solid gold}.player-stats h2{font-size:18px;margin-bottom:15px}.stat{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px}.stat .value{color:#4f4;font-weight:700}.vs{font-size:24px;color:#f44;font-weight:700}.btn-play-again{padding:15px 40px;font-size:18px;background:linear-gradient(45deg,#4f4,#0c0);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700}.confetti-container{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;top:-10px;animation:fall linear forwards}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rainbow{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media(max-width:480px){.game-title{font-size:36px}.block-btn{min-width:80px;padding:6px 8px}.block-icon{width:24px;height:24px}}.waiting-room-overlay.fade-out,.victory-overlay.fade-out{animation:fadeOut .3s forwards}
