:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--tg-theme-text-color, #000000);background-color:var(--tg-theme-bg-color, #ffffff);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000)}h1{font-size:3.2em;line-height:1.1}button{border-radius:12px;border:none;padding:8px 16px;font-size:14px;font-weight:600;font-family:inherit;background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover{opacity:.9;transform:translateY(-1px)}button:active{transform:translateY(0)}button:focus,button:focus-visible{outline:none}a{font-weight:500;color:var(--tg-theme-link-color, #646cff);text-decoration:inherit}a:hover{color:var(--tg-theme-link-color, #535bf2)}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;width:100%;box-sizing:border-box}.card{padding:2em}.game-room{max-width:600px;margin:0 auto;padding:1rem}.room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--tg-theme-hint-color, rgba(0,0,0,.1))}.room-header h2{margin:0;font-size:1.25rem;font-weight:600}.room-id{font-size:.875rem;color:var(--tg-theme-hint-color, #999)}.connection-status{margin-bottom:1rem;text-align:center;font-size:.8rem}.status-indicator{display:inline-block;padding:4px 8px;border-radius:12px;background:var(--tg-theme-secondary-bg-color, #f0f0f0)}.status-indicator.connected{color:#4ade80}.status-indicator.disconnected{color:#f87171}.bet-info{margin-bottom:1.5rem;text-align:center}.bet-card{background:var(--tg-theme-secondary-bg-color, #f9f9f9);border-radius:16px;padding:1.5rem;display:inline-block;min-width:200px}.bet-card h3{margin:0 0 .5rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.bet-amount{font-size:2rem;font-weight:700;margin:.5rem 0}.bet-details{margin:0;font-size:.85rem;opacity:.6}.participants-section{margin-top:2rem}.participants-section h3{margin:0 0 1rem;font-size:1rem;opacity:.8}.participants-list{display:flex;flex-direction:column;gap:.5rem}.empty-state{text-align:center;padding:2rem;opacity:.5;font-size:.9rem;background:var(--tg-theme-secondary-bg-color, #f9f9f9);border-radius:12px}.participant-card{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--tg-theme-bg-color, #fff);border-bottom:1px solid var(--tg-theme-hint-color, rgba(0,0,0,.05))}.participant-card:last-child{border-bottom:none}.participant-card.current-user{font-weight:600}.participant-avatar{width:36px;height:36px;border-radius:50%;background:var(--tg-theme-button-color, #2481cc);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#fff;flex-shrink:0}.participant-info{flex:1;display:flex;flex-direction:column;gap:2px}.participant-name{font-size:.95rem}.participant-status{font-size:.8rem}.status-paid{color:#4ade80}.status-pending{color:#fbbf24}.room-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.invite-btn,.bet-btn,.start-btn,.new-game-btn{width:100%;justify-content:center}.game-finished{text-align:center;padding:2rem 0}.winner-announcement h2{font-size:1.5rem;margin-bottom:1rem}.winner-card{background:var(--tg-theme-secondary-bg-color, #f9f9f9);border-radius:16px;padding:2rem;margin:0 auto 2rem;max-width:300px}.trophy{font-size:3rem;margin-bottom:1rem}.winner-card h3{font-size:1.25rem;margin:.5rem 0}.prize{font-size:1.1rem;color:#fbbf24;font-weight:700;margin:.5rem 0 0}.final-standings{text-align:left;margin-bottom:2rem}.standing-row{display:flex;align-items:center;gap:1rem;padding:.75rem;border-bottom:1px solid var(--tg-theme-hint-color, rgba(0,0,0,.05))}.standing-position{font-weight:700;min-width:1.5rem;opacity:.5}.standing-name{flex:1}.standing-progress{opacity:.7;font-size:.9rem}._inputGroup_fadtt_5{display:flex;flex-direction:column;gap:.5rem}._label_fadtt_11{display:block;font-size:.9rem;color:#aaa}._input_fadtt_5{width:100%;padding:.75rem;border-radius:8px;border:1px solid #333;background:#2a2a2a;color:#fff;font-size:1rem;box-sizing:border-box;transition:all .2s ease}._input_fadtt_5:focus{outline:none;border-color:#667eea;background:#333}._input_fadtt_5:disabled{cursor:not-allowed;opacity:.5}._input_fadtt_5[type=number]{appearance:textfield;-moz-appearance:textfield}._input_fadtt_5[type=number]::-webkit-outer-spin-button,._input_fadtt_5[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.battleship-board{display:flex;justify-content:center;margin:1rem 0;position:relative}.board-container{display:flex;flex-direction:column;gap:4px;background:#001428cc;padding:12px;border-radius:12px;border:1px solid rgba(0,255,255,.1);box-shadow:0 0 20px #00ffff0d}.col-labels{display:flex;padding-left:24px}.col-labels .label{flex:1;text-align:center;color:#00ffff80;font-size:.7rem;font-family:monospace}.corner-label{width:24px}.grid-row{display:flex}.row-labels{display:flex;flex-direction:column;width:24px;justify-content:space-around}.row-labels .label{text-align:center;color:#00ffff80;font-size:.7rem;font-family:monospace;line-height:1}.grid{display:grid;grid-template-columns:repeat(10,1fr);gap:1px;background-color:#00ffff1a;border:1px solid rgba(0,255,255,.2);width:100%;max-width:320px;aspect-ratio:1;position:relative;overflow:hidden}.grid:after{content:"";position:absolute;top:50%;left:50%;width:150%;height:150%;background:conic-gradient(from 0deg,transparent 0deg,rgba(0,255,255,.1) 60deg,transparent 100deg);transform-origin:center;animation:radar-sweep 4s linear infinite;pointer-events:none;z-index:0;opacity:.3}@keyframes radar-sweep{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.cell{background-color:#000a14cc;width:100%;height:100%;cursor:pointer;transition:all .2s ease;position:relative;z-index:1;border:1px solid rgba(0,255,255,.05)}.cell:hover{background-color:#00ffff1a;box-shadow:inset 0 0 10px #0ff3}.cell.ship{background-color:#0ff9;box-shadow:0 0 10px #0ff6;border:1px solid rgba(0,255,255,.8)}.cell.hit{background-color:#ff323299;animation:hit-pulse 1s infinite}@keyframes hit-pulse{0%{box-shadow:0 0 #ff323266}70%{box-shadow:0 0 0 10px #ff323200}to{box-shadow:0 0 #ff323200}}.cell.hit:after{content:"";position:absolute;inset:10%;background:linear-gradient(45deg,transparent 45%,#fff 45%,#fff 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,#fff 45%,#fff 55%,transparent 55%);opacity:.8}.cell.miss{background-color:#ffffff1a}.cell.miss:after{content:"";position:absolute;top:50%;left:50%;width:20%;height:20%;background-color:#ffffff80;border-radius:50%;transform:translate(-50%,-50%)}.cell.preview{background-color:#00ffff4d;border:1px dashed rgba(0,255,255,.8)}.cell.preview.invalid{background-color:#ff32324d;border-color:#ff3232cc;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.enemy .cell:hover:not(.hit):not(.miss){background-color:#ff32321a;cursor:crosshair}.battleship-game{display:flex;flex-direction:column;align-items:center;width:100%;max-width:600px;margin:0 auto;padding:1rem;background:linear-gradient(180deg,#001020,#000510);min-height:100vh;color:#fff}.game-header{width:100%;text-align:center;margin-bottom:1rem;border-bottom:1px solid rgba(0,255,255,.2);padding-bottom:1rem}.game-header h3{margin:0;color:#0ff;text-shadow:0 0 10px rgba(0,255,255,.5);font-family:Courier New,monospace;letter-spacing:2px}.phase-indicator{font-size:.8rem;color:#0ff9;margin-top:.5rem;font-family:monospace}.placement-area{display:flex;flex-direction:column;align-items:center;width:100%;gap:1rem}.fleet-dock{width:100%;background:#001428cc;border:1px solid rgba(0,255,255,.2);border-radius:12px;padding:1rem;margin-top:1rem}.dock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,255,255,.1);color:#0ff;font-family:monospace;font-size:.9rem}.rotate-btn{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);color:#0ff;padding:4px 8px;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s}.rotate-btn:hover{background:#0ff3;box-shadow:0 0 10px #0ff3}.ship-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.ship-option{background:#0000004d;border:1px solid rgba(0,255,255,.1);border-radius:8px;padding:8px;cursor:pointer;transition:all .2s}.ship-option:hover{background:#00ffff0d}.ship-option.selected{background:#00ffff26;border-color:#00ffff80;box-shadow:0 0 10px #00ffff1a}.ship-option.done{opacity:.5;cursor:default}.ship-info{display:flex;justify-content:space-between;font-size:.8rem;color:#0ffc;margin-bottom:4px;font-family:monospace}.ship-preview-mini{height:4px;background:#0ff6;border-radius:2px}.ship-option.selected .ship-preview-mini{background:#0ff;box-shadow:0 0 5px #0ff}.instruction{text-align:center;font-size:.9rem;color:#fffc;font-family:monospace}.placement-controls.complete{width:100%;text-align:center;animation:fade-in .5s ease-out}.fleet-status{color:#0f0;font-family:monospace;margin-bottom:1rem;text-shadow:0 0 10px rgba(0,255,0,.5)}.action-buttons{display:flex;gap:1rem;justify-content:center}.confirm-btn{background:#0f03;border:1px solid #00ff00;color:#0f0;padding:12px 24px;border-radius:8px;font-family:monospace;font-weight:700;cursor:pointer;transition:all .2s;text-shadow:0 0 5px rgba(0,255,0,.5)}.confirm-btn:hover{background:#00ff004d;box-shadow:0 0 20px #00ff004d}.reset-btn{background:#ff323233;border:1px solid #ff3232;color:#ff3232;padding:12px 24px;border-radius:8px;font-family:monospace;font-weight:700;cursor:pointer;transition:all .2s}.reset-btn:hover{background:#ff32324d;box-shadow:0 0 20px #ff32324d}.waiting-screen{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-top:2rem}.radar-spinner{width:60px;height:60px;border:2px solid rgba(0,255,255,.3);border-radius:50%;border-top-color:#0ff;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.boards-container{display:flex;flex-direction:column;gap:2rem;width:100%}.board-section h4{text-align:center;margin-bottom:.5rem;font-family:monospace;letter-spacing:1px}.enemy-waters h4{color:#ff3232;text-shadow:0 0 10px rgba(255,50,50,.3)}.friendly-waters h4{color:#0ff;text-shadow:0 0 10px rgba(0,255,255,.3)}.turn-indicator{display:inline-block;padding:8px 16px;border-radius:20px;font-family:monospace;font-weight:700;margin-bottom:1rem}.turn-indicator.your-turn{background:#00ff001a;border:1px solid #00ff00;color:#0f0;box-shadow:0 0 15px #0f03;animation:pulse-green 2s infinite}.turn-indicator.enemy-turn{background:#ff32321a;border:1px solid #ff3232;color:#ff3232;animation:pulse-red 2s infinite}@keyframes pulse-green{0%{box-shadow:0 0 #0f06}70%{box-shadow:0 0 0 10px #0f00}to{box-shadow:0 0 #0f00}}@keyframes pulse-red{0%{box-shadow:0 0 #ff323266}70%{box-shadow:0 0 0 10px #ff323200}to{box-shadow:0 0 #ff323200}}
