.loading-spinner[data-v-140df4b6]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.spinner[data-v-140df4b6]{width:48px;height:48px;border:4px solid #4f545c;border-top-color:#5865f2;border-radius:50%;animation:spin-140df4b6 1s linear infinite}@keyframes spin-140df4b6{to{transform:rotate(360deg)}}.message[data-v-140df4b6]{color:#b9bbbe;font-size:14px}.player-slot[data-v-60b83d71]{background-color:#2f3136;border-radius:12px;padding:20px;min-width:200px;display:flex;flex-direction:column;align-items:center;gap:12px;border:2px solid transparent;transition:border-color .2s,background-color .2s}.player-slot.ready[data-v-60b83d71]{border-color:#3ba55c;background-color:#3ba55c1a}.player-slot.empty[data-v-60b83d71]{border-style:dashed;border-color:#4f545c}.empty-content[data-v-60b83d71]{display:flex;flex-direction:column;align-items:center;gap:12px}.empty-avatar[data-v-60b83d71]{width:80px;height:80px;border-radius:50%;background-color:#202225;display:flex;align-items:center;justify-content:center}.empty-avatar .symbol[data-v-60b83d71]{font-size:36px;color:#4f545c;font-weight:700}.empty-text[data-v-60b83d71]{color:#72767d;font-size:14px}.btn-join[data-v-60b83d71]{background-color:#5865f2;color:#fff;border:none;padding:8px 24px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-join[data-v-60b83d71]:hover{background-color:#4752c4}.player-content[data-v-60b83d71]{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.avatar-wrapper[data-v-60b83d71]{position:relative}.avatar[data-v-60b83d71]{width:80px;height:80px;border-radius:50%;border:3px solid #4f545c}.player-slot.ready .avatar[data-v-60b83d71]{border-color:#3ba55c}.symbol-badge[data-v-60b83d71]{position:absolute;bottom:-4px;right:-4px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff}.symbol-badge.symbol-o[data-v-60b83d71]{background-color:#5865f2}.symbol-badge.symbol-x[data-v-60b83d71]{background-color:#ed4245}.player-info[data-v-60b83d71]{display:flex;flex-direction:column;align-items:center;gap:4px}.username[data-v-60b83d71]{font-size:16px;font-weight:600;color:#fff}.status[data-v-60b83d71]{font-size:12px;color:#72767d}.status.ready[data-v-60b83d71]{color:#3ba55c}.my-badge[data-v-60b83d71]{position:absolute;top:-8px;right:-8px;background-color:#faa61a;color:#202225;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px}.btn-ready[data-v-60b83d71]{background-color:#3ba55c;color:#fff;border:none;padding:10px 28px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;width:100%}.btn-ready[data-v-60b83d71]:hover{background-color:#2d7d46}.btn-ready.is-ready[data-v-60b83d71]{background-color:#4f545c}.btn-ready.is-ready[data-v-60b83d71]:hover{background-color:#5d6269}.btn-kick[data-v-60b83d71]{background-color:#ed4245;color:#fff;border:none;padding:8px 20px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-kick[data-v-60b83d71]:hover{background-color:#c73e41}.ready-timer[data-v-e68c0156]{width:100%;max-width:400px;display:flex;flex-direction:column;gap:8px}.timer-bar[data-v-e68c0156]{height:8px;background-color:#202225;border-radius:4px;overflow:hidden}.timer-fill[data-v-e68c0156]{height:100%;background-color:#3ba55c;transition:width .1s linear,background-color .3s;border-radius:4px}.ready-timer.warning .timer-fill[data-v-e68c0156]{background-color:#faa61a}.ready-timer.critical .timer-fill[data-v-e68c0156]{background-color:#ed4245;animation:pulse-bar-e68c0156 .5s ease-in-out infinite}.timer-text[data-v-e68c0156]{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;color:#b9bbbe}.ready-timer.warning .timer-text[data-v-e68c0156]{color:#faa61a}.ready-timer.critical .timer-text[data-v-e68c0156]{color:#ed4245;font-weight:600}.timer-icon[data-v-e68c0156]{font-size:16px}@keyframes pulse-bar-e68c0156{0%,to{opacity:1}50%{opacity:.6}}.lobby[data-v-029b4edd]{display:flex;flex-direction:column;align-items:center;padding:24px;gap:24px;width:100%;max-width:600px;margin:0 auto}.lobby-title[data-v-029b4edd]{font-size:28px;font-weight:700;color:#fff;margin:0}.lobby-subtitle[data-v-029b4edd]{font-size:16px;color:#b9bbbe;margin:0}.players-area[data-v-029b4edd]{display:flex;align-items:center;justify-content:center;gap:24px;width:100%}.vs-divider[data-v-029b4edd]{display:flex;flex-direction:column;align-items:center;gap:8px}.vs-text[data-v-029b4edd]{font-size:24px;font-weight:700;color:#72767d}.spectator-info[data-v-029b4edd]{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#2f3136;border-radius:8px;color:#b9bbbe;font-size:14px}.spectator-icon[data-v-029b4edd]{font-size:18px}.start-countdown[data-v-029b4edd]{padding:16px 32px;background:linear-gradient(135deg,#5865f2,#3ba55c);border-radius:8px;animation:pulse-029b4edd 1s ease-in-out infinite}.countdown-text[data-v-029b4edd]{color:#fff;font-size:18px;font-weight:600}@keyframes pulse-029b4edd{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@media(max-width:500px){.players-area[data-v-029b4edd]{flex-direction:column}.vs-divider[data-v-029b4edd]{transform:rotate(90deg)}}.app[data-v-5776aee6]{width:100%;height:100%;display:flex;flex-direction:column}.center-container[data-v-5776aee6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.error-container[data-v-5776aee6]{gap:12px}.error-title[data-v-5776aee6]{font-size:20px;font-weight:600;color:#ed4245}.error-message[data-v-5776aee6]{color:#b9bbbe;font-size:14px;text-align:center;max-width:300px}.main-container[data-v-5776aee6]{flex:1;display:flex;flex-direction:column}.header[data-v-5776aee6]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#2f3136;border-bottom:1px solid #202225}.user-info[data-v-5776aee6]{display:flex;align-items:center;gap:10px}.avatar[data-v-5776aee6]{width:32px;height:32px;border-radius:50%}.username[data-v-5776aee6]{font-weight:500}.role-badge[data-v-5776aee6]{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.role-badge.player1[data-v-5776aee6]{background-color:#5865f2;color:#fff}.role-badge.player2[data-v-5776aee6]{background-color:#ed4245;color:#fff}.role-badge.spectator[data-v-5776aee6]{background-color:#4f545c;color:#b9bbbe}.connection-status[data-v-5776aee6]{display:flex;align-items:center;gap:6px;font-size:12px;color:#b9bbbe}.status-dot[data-v-5776aee6]{width:8px;height:8px;border-radius:50%}.status-dot.connected[data-v-5776aee6]{background-color:#3ba55c}.content[data-v-5776aee6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:20px}.game-info[data-v-5776aee6]{text-align:center;color:#b9bbbe}.game-info p[data-v-5776aee6]{margin:4px 0}.your-turn[data-v-5776aee6]{color:#3ba55c;font-weight:600}.board-placeholder[data-v-5776aee6]{width:300px;height:300px;background-color:#2f3136;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#72767d}.game-view[data-v-5776aee6]{display:flex;flex-direction:column;align-items:center;gap:20px}.game-ended[data-v-5776aee6]{display:flex;align-items:center;justify-content:center}.result-card[data-v-5776aee6]{background-color:#2f3136;border-radius:12px;padding:32px 48px;text-align:center}.result-title[data-v-5776aee6]{font-size:28px;font-weight:700;margin:0 0 8px;color:#fff}.result-reason[data-v-5776aee6]{color:#b9bbbe;margin:0 0 24px}.rematch-section[data-v-5776aee6]{display:flex;flex-direction:column;gap:12px}.rematch-section p[data-v-5776aee6]{color:#dcddde;font-weight:500;margin:0}.rematch-buttons[data-v-5776aee6]{display:flex;gap:12px;justify-content:center}.btn-success[data-v-5776aee6]{background-color:#3ba55c;color:#fff;border:none;padding:10px 24px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-success[data-v-5776aee6]:hover{background-color:#2d7d46}.btn-danger[data-v-5776aee6]{background-color:#ed4245;color:#fff;border:none;padding:10px 24px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger[data-v-5776aee6]:hover{background-color:#c73e41}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#36393f;color:#dcddde}button{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;transition:background-color .2s}button:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#5865f2;color:#fff}.btn-primary:hover:not(:disabled){background-color:#4752c4}.btn-success{background-color:#3ba55c;color:#fff}.btn-success:hover:not(:disabled){background-color:#2d8049}.btn-danger{background-color:#ed4245;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c93b3e}
