*,:before,:after{box-sizing:border-box}html,body{color:#1a202c;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background-color:#f7fafc;min-height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#app{flex-direction:column;width:100%;min-height:100vh;margin:0 auto;display:flex}.lobby-container[data-v-42613a8f]{background-color:#f7fafc;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.lobby-card[data-v-42613a8f]{text-align:center;background:#fff;border-radius:14px;width:100%;max-width:480px;padding:36px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d}.title[data-v-42613a8f]{color:#2d3748;margin:0;font-size:2.1rem;font-weight:800}.subtitle[data-v-42613a8f]{color:#718096;margin-top:4px;margin-bottom:24px}.error-alert[data-v-42613a8f]{color:#c53030;background-color:#fff5f5;border:1px solid #feb2b2;border-radius:6px;margin-bottom:20px;padding:12px;font-size:.9rem}.action-section[data-v-42613a8f]{flex-direction:column;gap:12px;display:flex}.action-section h3[data-v-42613a8f]{color:#2d3748;margin:0;font-size:1.15rem}.help-text[data-v-42613a8f]{color:#718096;margin:0;font-size:.875rem}.gamemodes-container[data-v-42613a8f]{text-align:left;flex-direction:column;gap:10px;margin:4px 0 8px;display:flex}.gamemode-card[data-v-42613a8f]{cursor:pointer;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.gamemode-card[data-v-42613a8f]:hover{background:#f1f5f9;border-color:#cbd5e0}.gamemode-card.selected[data-v-42613a8f]{background:#ebf8ff;border-color:#3182ce;box-shadow:0 0 0 1px #3182ce}.gamemode-icon[data-v-42613a8f]{font-size:1.6rem;line-height:1}.gamemode-content[data-v-42613a8f]{flex:1}.gamemode-title-row[data-v-42613a8f]{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.gamemode-name[data-v-42613a8f]{color:#2d3748;font-size:.95rem;font-weight:700}.gamemode-badge[data-v-42613a8f]{color:#4a5568;background:#edf2f7;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.gamemode-card.selected .gamemode-badge[data-v-42613a8f]{color:#2b6cb0;background:#bee3f8}.gamemode-desc[data-v-42613a8f]{color:#718096;margin:0;font-size:.78rem;line-height:1.3}.btn[data-v-42613a8f]{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:700;transition:all .2s}.btn[data-v-42613a8f]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-42613a8f]{color:#fff;background-color:#3182ce}.btn-primary[data-v-42613a8f]:hover:not(:disabled){background-color:#2b6cb0}.btn-secondary[data-v-42613a8f]{color:#2d3748;background-color:#edf2f7}.btn-secondary[data-v-42613a8f]:hover:not(:disabled){background-color:#e2e8f0}.join-group[data-v-42613a8f]{gap:8px;display:flex}.code-input[data-v-42613a8f]{text-align:center;letter-spacing:2px;border:2px solid #e2e8f0;border-radius:8px;flex:1;padding:12px;font-family:monospace;font-size:1.2rem}.code-input[data-v-42613a8f]:focus{border-color:#3182ce;outline:none}.divider[data-v-42613a8f]{text-align:center;color:#a0aec0;align-items:center;margin:24px 0;display:flex}.divider[data-v-42613a8f]:before,.divider[data-v-42613a8f]:after{content:"";border-bottom:1px solid #e2e8f0;flex:1}.divider span[data-v-42613a8f]{padding:0 16px;font-size:.875rem;font-weight:700}@media (width<=480px){.lobby-container[data-v-42613a8f]{padding:16px 12px}.lobby-card[data-v-42613a8f]{border-radius:12px;padding:24px 16px}.title[data-v-42613a8f]{font-size:1.75rem}.subtitle[data-v-42613a8f]{margin-bottom:18px;font-size:.9rem}.gamemode-card[data-v-42613a8f]{gap:10px;padding:10px 12px}.gamemode-icon[data-v-42613a8f]{font-size:1.35rem}.gamemode-name[data-v-42613a8f]{font-size:.9rem}.gamemode-badge[data-v-42613a8f]{font-size:.7rem}.btn[data-v-42613a8f]{padding:11px 18px;font-size:.95rem}}.board-container[data-v-841d84c3]{-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;align-items:center;width:100%;max-width:400px;margin:0 auto;display:flex}.grid-header[data-v-841d84c3]{width:100%;margin-bottom:2px;display:flex}.empty-corner[data-v-841d84c3]{width:24px;min-width:24px}.col-labels-row[data-v-841d84c3]{flex:1;grid-template-columns:repeat(10,1fr);gap:2px;display:grid}.col-label[data-v-841d84c3]{text-align:center;color:#4a5568;font-size:clamp(.7rem,2.5vw,.85rem);font-weight:700}.grid-body[data-v-841d84c3]{width:100%;display:flex}.row-labels[data-v-841d84c3]{grid-template-rows:repeat(10,1fr);gap:2px;width:24px;min-width:24px;margin-right:2px;display:grid}.row-label[data-v-841d84c3]{color:#4a5568;justify-content:center;align-items:center;font-size:clamp(.7rem,2.5vw,.85rem);font-weight:700;display:flex}.battleship-grid[data-v-841d84c3]{aspect-ratio:1;box-sizing:border-box;background-color:#2c3e50;border:2px solid #2c3e50;border-radius:6px;flex:1;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(10,1fr);gap:2px;display:grid;position:relative;overflow:hidden}.grid-cell[data-v-841d84c3]{cursor:pointer;background-color:#ecf0f1;justify-content:center;align-items:center;font-size:clamp(.75rem,3vw,1.15rem);line-height:1;transition:background-color .15s;display:flex}@media (hover:hover){.board-container:has(.target-board) .grid-cell[data-v-841d84c3]:hover{background-color:#bdc3c7}}.grid-cell[data-v-841d84c3]:active{filter:brightness(.9)}.grid-cell.is-ship[data-v-841d84c3]{background-color:#7f8c8d}.grid-cell.is-miss[data-v-841d84c3]{background-color:#3498db}.grid-cell.is-hit[data-v-841d84c3]{background-color:#e74c3c}.grid-cell.is-sunk[data-v-841d84c3]{background-color:#c0392b}.marker[data-v-841d84c3]{pointer-events:none;-webkit-user-select:none;user-select:none}.sunk-ship-overlay[data-v-841d84c3]{z-index:10;pointer-events:none;justify-content:center;align-items:center;display:flex}.strike-line[data-v-841d84c3]{background-color:#000000bf;border-radius:4px;animation:.3s ease-out forwards drawLine-841d84c3;box-shadow:0 0 6px #00000080}.sunk-ship-overlay.is-horizontal .strike-line[data-v-841d84c3]{width:0;height:5px}.sunk-ship-overlay.is-vertical .strike-line[data-v-841d84c3]{width:5px;height:0}@keyframes drawLine-841d84c3{to{width:90%;height:90%}}@media (width<=480px){.empty-corner[data-v-841d84c3],.row-labels[data-v-841d84c3]{width:18px;min-width:18px}.battleship-grid[data-v-841d84c3]{border-width:1.5px;gap:1.5px}}.setup-container[data-v-5842869d]{justify-content:center;align-items:flex-start;gap:24px;width:100%;max-width:850px;margin:0 auto;display:flex}.sidebar[data-v-5842869d]{flex-direction:column;gap:14px;width:260px;display:flex}.sidebar h3[data-v-5842869d]{color:#2d3748;margin:0}.controls[data-v-5842869d]{gap:8px;display:flex}.controls .btn[data-v-5842869d]{flex:1}.ship-list[data-v-5842869d]{flex-direction:column;gap:6px;display:flex}.ship-item[data-v-5842869d]{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;transition:all .15s;display:flex}.ship-item.selected[data-v-5842869d]{background:#ebf8ff;border-color:#3182ce;box-shadow:0 0 0 1px #3182ce}.size-dots[data-v-5842869d]{gap:3px;display:flex}.dot[data-v-5842869d]{background:#7f8c8d;border-radius:50%;width:10px;height:10px;display:inline-block}.ready-btn[data-v-5842869d]{padding:14px;font-size:1.05rem}.board-area[data-v-5842869d]{-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:center;width:100%;max-width:400px;display:flex}.battleship-grid[data-v-5842869d]{aspect-ratio:1;box-sizing:border-box;background-color:#2c3e50;border:2px solid #2c3e50;border-radius:6px;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(10,1fr);gap:2px;width:100%;display:grid;overflow:hidden}.grid-cell[data-v-5842869d]{cursor:crosshair;background-color:#ecf0f1;transition:background-color .15s}.grid-cell.is-placed[data-v-5842869d]{background-color:#7f8c8d}.grid-cell.is-hover-valid[data-v-5842869d]{opacity:.85;background-color:#2ecc71}.grid-cell.is-hover-invalid[data-v-5842869d]{opacity:.85;background-color:#e74c3c}.btn[data-v-5842869d]{cursor:pointer;border:none;border-radius:8px;padding:10px 14px;font-size:.95rem;font-weight:700;transition:all .15s}.btn-primary[data-v-5842869d]{color:#fff;background:#3182ce}.btn-primary[data-v-5842869d]:hover:not(:disabled){background:#2b6cb0}.btn-primary[data-v-5842869d]:disabled{cursor:not-allowed;background:#a0aec0}.btn-secondary[data-v-5842869d]{color:#2d3748;background:#edf2f7}.btn-secondary[data-v-5842869d]:hover:not(:disabled){background:#e2e8f0}.btn-danger[data-v-5842869d]{color:#c53030;background:#fed7d7}.btn-danger[data-v-5842869d]:hover:not(:disabled){background:#feb2b2}@media (width<=768px){.setup-container[data-v-5842869d]{flex-direction:column;align-items:center;gap:16px}.sidebar[data-v-5842869d]{width:100%;max-width:400px}.ship-list[data-v-5842869d]{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;display:grid}.ship-item[data-v-5842869d]{padding:8px 10px;font-size:.85rem}}.chess-clock[data-v-96fda14f]{color:#edf2f7;text-align:center;box-sizing:border-box;background:#2d3748;border:2px solid #0000;border-radius:6px;width:100%;max-width:120px;padding:6px 12px;font-family:monospace;font-size:clamp(1.1rem,4vw,1.45rem);font-weight:700;transition:all .2s}.chess-clock.is-active[data-v-96fda14f]{background:#3182ce;border-color:#bee3f8;box-shadow:0 0 10px #3182ce80}.chess-clock.is-danger[data-v-96fda14f]{color:#fff;background:#e53e3e;border-color:#feb2b2;animation:1s infinite pulse-96fda14f}@keyframes pulse-96fda14f{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.game-container[data-v-443422e9]{color:#1a202c;width:100%;max-width:1000px;margin:0 auto;padding:16px 12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.game-header[data-v-443422e9]{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.match-info[data-v-443422e9]{background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex;box-shadow:0 1px 3px #00000014}.match-code-wrapper[data-v-443422e9]{align-items:center;gap:8px;display:flex}.match-code-wrapper .label[data-v-443422e9]{color:#4a5568;font-weight:700}.badge[data-v-443422e9]{color:#2b6cb0;letter-spacing:1px;background:#edf2f7;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:1.1rem;font-weight:700}.mode-tag[data-v-443422e9]{border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:700;display:flex}.mode-tag.mode-classic[data-v-443422e9]{color:#234e52;background:#e6fffa;border:1px solid #b2f5ea}.mode-tag.mode-rapid[data-v-443422e9]{color:#2b6cb0;background:#ebf8ff;border:1px solid #bee3f8}.mode-tag.mode-blitz[data-v-443422e9]{color:#c05621;background:#fffaf0;border:1px solid #feebc8}.header-right[data-v-443422e9]{align-items:center;gap:10px;display:flex}.connection-status[data-v-443422e9]{color:#a0aec0;font-size:.85rem;font-weight:500}.connection-status.is-connected[data-v-443422e9]{color:#38a169}.btn[data-v-443422e9]{cursor:pointer;border:none;border-radius:6px;padding:8px 12px;font-size:.88rem;font-weight:600;transition:all .2s}.btn-copy[data-v-443422e9]{color:#2d3748;background:#edf2f7}.btn-copy[data-v-443422e9]:hover{background:#e2e8f0}.btn-leave[data-v-443422e9]{color:#e53e3e;background:#fff5f5;border:1px solid #fed7d7}.btn-leave[data-v-443422e9]:hover{background:#fed7d7}.status-banner[data-v-443422e9]{text-align:center;border-radius:8px;padding:10px 14px;transition:background .3s}.status-banner h3[data-v-443422e9]{margin:0;font-size:clamp(.9rem,3.2vw,1.1rem)}.status-banner.waiting-banner[data-v-443422e9]{color:#2b6cb0;background-color:#ebf8ff;border:1px solid #bee3f8}.status-banner.my-turn[data-v-443422e9]{color:#276749;background-color:#f0fff4;border:1px solid #9ae6b4}.status-banner.opponent-turn[data-v-443422e9]{color:#c05621;background-color:#fffaf0;border:1px solid #feebc8}.error-message[data-v-443422e9]{color:#e53e3e;margin:6px 0 0;font-size:.88rem;font-weight:600}.scoreboard[data-v-443422e9]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.player-card[data-v-443422e9]{background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 12px;display:flex}.player-card.active[data-v-443422e9]{border-color:#3182ce;box-shadow:0 0 8px #3182ce40}.player-name[data-v-443422e9]{font-size:1rem;font-weight:700}.ship-count[data-v-443422e9]{color:#718096;font-size:.82rem}.infinite-clock-badge[data-v-443422e9]{color:#a0aec0;text-align:center;box-sizing:border-box;background:#2d3748;border-radius:6px;justify-content:center;align-items:center;width:100%;max-width:120px;padding:6px 12px;font-family:monospace;font-size:clamp(.85rem,2.8vw,.95rem);font-weight:700;display:flex}.main-content[data-v-443422e9]{justify-content:center;width:100%;display:flex}.battle-section[data-v-443422e9]{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.mobile-board-tabs[data-v-443422e9]{box-sizing:border-box;background:#edf2f7;border-radius:10px;gap:4px;width:100%;max-width:400px;padding:4px;display:none}.tab-btn[data-v-443422e9]{color:#4a5568;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:.95rem;font-weight:700;transition:all .2s;display:flex;position:relative}.tab-btn.active[data-v-443422e9]{color:#2b6cb0;background:#fff;box-shadow:0 2px 4px #0000001a}.damage-dot[data-v-443422e9]{background:#e53e3e;border-radius:50%;width:8px;height:8px;animation:1s infinite pulse-443422e9;display:inline-block}.waiting-phase[data-v-443422e9]{justify-content:center;width:100%;display:flex}.waiting-card[data-v-443422e9]{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:480px;padding:32px 24px;box-shadow:0 4px 6px -1px #0000001a}.pulse-icon[data-v-443422e9]{margin-bottom:12px;font-size:3rem;animation:2s ease-in-out infinite pulse-443422e9}.waiting-desc[data-v-443422e9]{color:#4a5568;margin:16px 0 24px;font-size:.95rem;line-height:1.5}.highlight-code[data-v-443422e9]{color:#2b6cb0;background:#ebf8ff;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:1.2rem}.btn-redeploy[data-v-443422e9]{color:#4a5568;background:#edf2f7}.boards-wrapper[data-v-443422e9]{justify-content:center;align-items:flex-start;gap:28px;width:100%;display:flex}.board-section[data-v-443422e9]{flex-direction:column;flex:1;align-items:center;gap:10px;max-width:420px;display:flex}.board-title[data-v-443422e9]{color:#2d3748;margin:0;font-size:1.1rem}.modal-overlay[data-v-443422e9]{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;display:flex;position:fixed;top:0;left:0}.modal-content[data-v-443422e9]{text-align:center;box-sizing:border-box;background:#fff;border-top:8px solid;border-radius:16px;width:100%;max-width:440px;padding:32px 24px;box-shadow:0 25px 50px -12px #00000040}.modal-content.win-theme[data-v-443422e9]{border-color:#48bb78}.modal-content.lose-theme[data-v-443422e9]{border-color:#f56565}.result-title[data-v-443422e9]{letter-spacing:2px;margin:0 0 10px;font-size:clamp(2rem,6vw,2.5rem);font-weight:900}.win-theme .result-title[data-v-443422e9]{color:#2f855a}.lose-theme .result-title[data-v-443422e9]{color:#c53030}.result-subtitle[data-v-443422e9]{color:#4a5568;margin-bottom:20px;font-size:1rem}.stats-box[data-v-443422e9]{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:12px;font-size:.95rem}.stats-box p[data-v-443422e9]{margin:4px 0}.modal-actions[data-v-443422e9]{flex-direction:column;gap:10px;display:flex}.btn-primary[data-v-443422e9]{color:#fff;background-color:#3182ce}.btn-primary[data-v-443422e9]:hover{background-color:#2b6cb0}.btn-secondary[data-v-443422e9]{color:#2d3748;background-color:#edf2f7}.btn-secondary[data-v-443422e9]:hover{background-color:#e2e8f0}.btn-danger[data-v-443422e9]{color:#fff;background-color:#e53e3e}.btn-danger[data-v-443422e9]:hover{background-color:#c53030}.btn-large[data-v-443422e9]{padding:12px;font-size:1.05rem}.leave-modal[data-v-443422e9]{border-top-color:#e53e3e}.leave-icon[data-v-443422e9]{margin-bottom:8px;font-size:2.8rem}.leave-desc[data-v-443422e9]{color:#4a5568;margin:12px 0 20px;font-size:1rem;line-height:1.5}@media (width<=768px){.mobile-board-tabs[data-v-443422e9]{display:flex}.boards-wrapper[data-v-443422e9]{flex-direction:column;align-items:center;gap:0}.board-section.mobile-hidden[data-v-443422e9],.board-title[data-v-443422e9]{display:none}.board-section[data-v-443422e9]{width:100%;max-width:400px}}@media (width<=480px){.game-container[data-v-443422e9]{padding:10px 8px}.match-info[data-v-443422e9]{gap:6px;padding:8px 10px}.scoreboard[data-v-443422e9]{gap:8px}.player-card[data-v-443422e9]{padding:8px 6px}}@keyframes pulse-443422e9{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}body{background-color:#f7fafc;margin:0}
