.start-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:60px 0;display:flex}.start-icon{margin-bottom:4px;font-size:52px;line-height:1}.start-title{letter-spacing:6px;color:#2d3a8c;font-size:44px;font-weight:900}.start-subtitle{color:#7888b0;font-size:15px}.difficulty-section{text-align:center;margin:20px 0}.difficulty-label{color:#2d3a8c;margin-bottom:10px;font-size:1.2rem;font-weight:600;display:block}.difficulty-buttons{justify-content:center;gap:15px;margin-bottom:20px;display:flex}.diff-btn{cursor:pointer;color:#333;background:#ddd;border:none;border-radius:6px;padding:8px 24px;font-size:15px;font-weight:700;transition:background .2s,color .2s,transform .1s}.diff-btn:active{transform:scale(.95)}.diff-btn.easy.active{color:#fff;background:#4caf50}.diff-btn.normal.active{color:#fff;background:#2196f3}.start-btn{color:#fff;background:#4361ee;border:none;border-radius:10px;margin-top:20px;padding:14px 44px;font-size:16px;font-weight:700;transition:background .2s,box-shadow .2s,opacity .3s;box-shadow:0 4px 14px #4361ee59}.start-btn:not(:disabled):hover{cursor:pointer;background:#3451d1;box-shadow:0 4px 18px #4361ee80}.start-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.status-bar{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:16px;width:100%;max-width:960px;margin-bottom:20px;padding:12px 20px;display:flex;box-shadow:0 1px 4px #0000000f}.status-logo{letter-spacing:2px;color:#2d3a8c;font-size:14px;font-weight:900}.status-mode{color:#a0aec0;font-size:13px}.status-phase{text-align:center;color:#4a5568;flex:1;font-size:13px;font-weight:500}.status-new-game-btn{color:#6377d6;background:0 0;border:1px solid #c8d0e8;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s}.status-new-game-btn:hover{background:#eef0ff;border-color:#6377d6}.dialog-difficulty{margin:15px 0}.dialog-difficulty-title{margin-bottom:10px;font-weight:700}.dialog-difficulty-buttons{justify-content:center;gap:10px;display:flex}.dialog-diff-btn{cursor:pointer;color:#333;background:#ddd;border:none;border-radius:4px;padding:6px 16px;font-weight:700;transition:background .2s,color .2s}.dialog-diff-btn.easy.active{color:#fff;background:#4caf50}.dialog-diff-btn.normal.active{color:#fff;background:#2196f3}.dialog-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.dialog-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-content{text-align:center;background:#fff;border-radius:12px;width:90%;max-width:400px;padding:24px;box-shadow:0 4px 12px #00000026}.dialog-text{color:#2d3748;margin-bottom:24px;font-size:16px;line-height:1.5}.dialog-actions{justify-content:center;gap:12px;display:flex}.dialog-btn{cursor:pointer;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s}.dialog-btn.cancel{color:#4a5568;background:#fff;border:1px solid #cbd5e0}.dialog-btn.cancel:hover{background:#f7fafc}.dialog-btn.confirm{color:#fff;background:#e53e3e;border:none}.dialog-btn.confirm:hover{background:#c53030}.cell{background:#fff;border:none;justify-content:center;align-items:center;width:34px;height:34px;transition:background .1s;display:flex}.cell:hover:not(:disabled):not(.cell-hit):not(.cell-miss):not(.cell-sunk){background:#e8ecff}.cell:disabled{cursor:default}.cell-empty{background:#fff}.cell-ship{background:#6377d621}.cell-hit{background:#fff0f0}.cell-miss{background:#f5f6fc}.cell-sunk{background:#c0392b}.cell-selected-ship{outline-offset:-2px;background:#f59e0b61;outline:2px solid #f6ad55}.cell-preview-valid{outline-offset:-2px;background:#10b98157;outline:2px solid #10b981}.cell-preview-invalid{outline-offset:-2px;background:#dc262657;outline:2px solid #dc2626}.cell-dot{background:#a0aec0;border-radius:50%;width:8px;height:8px;display:block}.cell-cross{color:#e53e3e;font-size:14px;font-weight:900;line-height:1}.cell-sunk .cell-cross{color:#fff;font-size:18px}.grid{grid-template-columns:22px repeat(var(--board-cols,10), 34px);-webkit-user-select:none;user-select:none;background:#c8d0e8;border:1px solid #c8d0e8;border-radius:6px;gap:1px;width:fit-content;display:grid;overflow:hidden}.grid-corner{background:#eef0ff}.grid-col-header{color:#7888b0;background:#eef0ff;justify-content:center;align-items:center;height:22px;font-size:11px;font-weight:700;display:flex}.grid-row-header{color:#7888b0;background:#eef0ff;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.ship-list{-webkit-user-select:none;user-select:none;flex-direction:column;gap:6px;width:142px;padding-top:22px;display:flex}.ship-list-right{align-items:stretch}.ship-entry{cursor:default;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;gap:2px;width:100%;min-height:48px;padding:5px 7px;transition:background .15s;display:flex}.ship-entry-selectable{cursor:pointer}.ship-entry-draggable{cursor:grab}.ship-entry-draggable:active{cursor:grabbing}.ship-entry-selectable:hover{background:#0000000a}.ship-entry-selected{outline:1.5px solid var(--ship-c,#6377d6);outline-offset:1px;background:#6377d614}.ship-entry-completed{opacity:.38;filter:grayscale(.25);cursor:not-allowed}.ship-entry-completed:hover{background:0 0}.ship-entry-main{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.ship-block-row{align-items:center;gap:3px;min-width:0;display:flex}.ship-icon{flex-shrink:0;margin-right:1px;font-size:13px;line-height:1}.ship-block{background:#6377d61f;border:1.5px solid #6377d6;border-radius:3px;width:15px;height:15px;transition:background .15s,border-color .15s;display:block}.ship-block-completed{background:#94a3b82e!important;border-color:#94a3b8!important}.ship-count{color:#5466c6;text-align:center;background:#6377d61a;border-radius:999px;flex:none;min-width:30px;padding:1px 6px;font-size:10px;font-weight:800;line-height:16px}.ship-drag-blank{opacity:0;width:1px;height:1px;position:fixed;top:-1000px;left:-1000px}.ship-name{color:#7888b0;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;padding-left:20px;font-size:10px;font-weight:600;overflow:hidden}.setup-board{-webkit-user-select:none;user-select:none;align-items:flex-start;gap:24px;padding:8px 0;display:flex}.setup-drag-ghost{z-index:60;pointer-events:none;opacity:.52;background:#ffffff47;border:1px dashed #1e40af8c;gap:1px;padding:2px;display:flex;position:fixed}.setup-drag-ghost-vertical{flex-direction:column}.setup-drag-ghost-cell{background:#1e40af1a;border:2px dashed #1e40af7a;width:34px;height:34px}.setup-sidebar{flex-direction:column;gap:16px;min-width:140px;display:flex}.setup-controls{flex-direction:column;gap:8px;display:flex}.setup-orient-btn{color:#4a5568;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #c8d0e8;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:border-color .15s}.setup-orient-btn:hover{color:#6377d6;border-color:#6377d6}.setup-auto-btn{color:#2d3748;-webkit-user-select:none;user-select:none;background:#f7fafc;border:1px solid #c8d0e8;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:700;transition:border-color .15s,color .15s,background .15s}.setup-auto-btn:hover{color:#2d3a8c;background:#eef0ff;border-color:#6377d6}.setup-board-area{flex-direction:column;align-items:center;gap:10px;display:flex}.setup-board-label{color:#7888b0;font-size:13px}.setup-start-btn{color:#fff;-webkit-user-select:none;user-select:none;background:#4361ee;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:700;transition:background .15s}.setup-start-btn:disabled{opacity:.35;cursor:not-allowed}.setup-start-btn:not(:disabled):hover{background:#3451d1}.setup-error-msg{color:#c53030;text-align:center;max-width:380px;margin:0;font-size:13px;font-weight:600}.setup-guide-backdrop{z-index:40;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.setup-guide-modal{background:#fff;border-radius:8px;width:min(420px,100%);padding:20px;box-shadow:0 18px 50px #0f172a47}.setup-guide-modal h2{color:#2d3a8c;margin:0 0 12px;font-size:18px}.setup-guide-modal p{color:#4a5568;margin:8px 0;font-size:14px}.setup-guide-check{color:#4a5568;align-items:center;gap:8px;margin:14px 0;font-size:13px;display:flex}.setup-guide-close{color:#fff;background:#4361ee;border:none;border-radius:6px;width:100%;padding:10px 14px;font-weight:700}.attack-toast{letter-spacing:.02em;white-space:nowrap;pointer-events:none;z-index:999999;opacity:0;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:1.1rem;font-weight:700;transition:opacity .2s,transform .2s;display:flex;position:fixed;top:5%;left:50%;transform:translate(-50%)translateY(-12px);box-shadow:0 4px 20px #00000040}.attack-toast.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.attack-toast.is-hidden{opacity:0;transform:translate(-50%)translateY(-12px)}.attack-toast--miss{color:#e2e8f0;background:#4a5568;border:1.5px solid #718096}.attack-toast--hit{color:#fff5f5;background:#c53030;border:1.5px solid #fc8181}.attack-toast--sunk{color:#fefcbf;background:#744210;border:1.5px solid #f6ad55}.attack-toast__icon{font-size:1.25rem;line-height:1}.attack-toast__label{line-height:1}.game-board{align-items:flex-start;gap:64px;padding:8px 0;display:flex}.game-section{align-items:flex-start;gap:12px;display:flex}.game-board-area{flex-direction:column;align-items:center;gap:10px;display:flex}.game-board-label{color:#7888b0;text-align:center;font-size:13px}.game-board-label-sub{color:#a0aec0;font-size:12px}.error-screen{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;background-color:#ffffff80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.error-message{text-align:center;background:#fff5f5;border:1px solid #feb2b2;border-radius:12px;max-width:400px;padding:30px;box-shadow:0 4px 12px #e53e3e26}.error-message p{color:#c53030;margin-bottom:20px;font-size:16px;font-weight:600}.error-reload-btn{color:#fff;cursor:pointer;background:#e53e3e;border:none;border-radius:6px;padding:10px 20px;font-weight:600;transition:background .2s}.error-reload-btn:hover{background:#c53030}.rs-overlay{z-index:9999;color:#333;background:#000000b3;justify-content:center;align-items:center;padding:1.5rem;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:18px;display:flex;position:fixed;inset:0}.rs-modal{background:#f3f3f3;border-radius:6px;width:100%;max-width:400px;overflow:hidden;box-shadow:0 8px 32px #00000059}.rs-header-dark{text-align:center;background:#023365;padding:2rem 2rem 1.5rem;position:relative}.rs-header-dark:before{content:"";background:#fdc018;height:4px;position:absolute;top:0;left:0;right:0}.rs-icon-circle{background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;font-size:30px;display:flex}.rs-title{color:#fdc018;letter-spacing:2px;text-transform:uppercase;margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:700}.rs-reason{color:#ffffffa6;margin:0;font-size:13px}.rs-modal-body{padding:1.5rem 2rem}.rs-divider{border:none;border-top:1px solid #ddd;margin:0 0 1.25rem}.rs-reveal-section{text-align:center;margin-bottom:1.25rem}.rs-btn-outline{color:#023365;cursor:pointer;background:#fff;border:1.5px solid #023365;border-radius:4px;padding:8px 18px;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;transition:background .15s,color .15s}.rs-btn-outline:hover{color:#fff;background:#023365}.rs-enemy-reveal-box{background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:10px;padding:12px}.rs-stats-label{color:#ff6507;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px;font-size:10.5px;font-weight:700}.rs-board-grid{grid-template-columns:repeat(var(--board-cols,10), 1fr);gap:2px;width:100%;max-width:280px;margin:0 auto 10px;display:grid}.rs-cell{aspect-ratio:1;background:#d4e4f0;border-radius:2px}.rs-cell--ship-reveal{opacity:.55;background:#023365}.rs-cell--hit{background:#ff6507}.rs-cell--sunk{background:#ce0201}.rs-cell--miss{background:#a0b8cc;position:relative}.rs-cell--miss:after{content:"";background:#ffffff80;border-radius:50%;position:absolute;inset:30%}.rs-legend{flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-bottom:10px;display:flex}.rs-legend-item{color:#555;align-items:center;gap:5px;font-size:11px;display:flex}.rs-legend-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.rs-legend-dot--ship{opacity:.55;background:#023365}.rs-legend-dot--sunk{background:#ce0201}.rs-legend-dot--hit{background:#ff6507}.rs-legend-dot--miss{background:#a0b8cc}.rs-link-action{color:#4a90e2;cursor:pointer;background:0 0;border:none;font-family:Arial,Helvetica,sans-serif;font-size:12px;text-decoration:underline}.rs-actions{flex-direction:column;gap:10px;display:flex}.rs-btn{cursor:pointer;letter-spacing:.5px;border:none;border-radius:5px;width:100%;padding:13px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;transition:opacity .2s}.rs-btn-primary{color:#fff;background:#023365}.rs-btn-secondary{color:#023365;background:#fdc018}.rs-btn:hover{opacity:.85}@media (width<=1024px){.rs-modal{max-width:350px}}@media (width<=640px){.rs-modal{max-width:92%}.rs-header-dark{padding:1.5rem 1.5rem 1.25rem}.rs-modal-body{padding:1.25rem 1.5rem}.rs-title{font-size:17px}.rs-btn{padding:11px}}.app{flex-direction:column;align-items:center;min-height:100vh;padding:16px 24px 40px;display:flex}.game-area{justify-content:center;align-items:flex-start;gap:40px;width:100%;max-width:1200px;margin-top:20px;display:flex}.board-wrapper{flex-direction:column;align-items:center;gap:12px;display:flex}.board-label{color:#2d3a8c;font-size:16px;font-weight:700}.board-msg{height:20px;font-size:14px;font-weight:600}.board-msg--error,.board-msg--hit{color:#e53e3e}.board-msg--sunk{color:#e53e3e;text-transform:uppercase}.board-msg--miss{color:#718096}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1e2d4a;background:#f4f6ff;min-height:100vh;font-family:Segoe UI,Roboto,sans-serif}button{cursor:pointer;font-family:inherit}
