:root{--sea-900:#04283b;--sea-800:#0b3a53;--sea-700:#145877;--sea-500:#2a8eb8;--foam-200:#d8f0f8;--sand-200:#f0e7d6;--alert:#df5f37;--ok:#2f9e7f}*{box-sizing:border-box}body{min-height:100vh;color:var(--foam-200);background:radial-gradient(1100px 480px at 12% -8%, #2a8eb84a 0%, transparent 58%), radial-gradient(900px 500px at 90% 112%, #df5f3726 0%, transparent 62%), linear-gradient(145deg, var(--sea-900) 0%, #052131 44%, #0a2f43 100%);background-attachment:fixed;margin:0;font-family:Space Grotesk,system-ui,-apple-system,sans-serif}.shell{width:min(1160px,100% - 2rem);margin:0 auto;padding:1.3rem 0 2.2rem}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.home-link{color:#c8e8f6;background:#8ecbe412;border:1px solid #8ecbe430;border-radius:999px;padding:.45rem .9rem;font-size:.86rem;text-decoration:none;transition:transform .16s,background .16s}.home-link:hover{background:#8ecbe429;transform:translateY(-1px)}.title{margin:0;font-size:clamp(1.35rem,2.1vw + .8rem,2.35rem);line-height:1.1}.subtitle{color:#b2d8e8;margin:.35rem 0 0;font-size:.96rem}.panel{background:linear-gradient(170deg,#0f425d9a,#083249bf);border:1px solid #9fd1e01e;border-radius:18px;padding:1rem;box-shadow:0 22px 54px #0015207a}.controls{flex-wrap:wrap;gap:.6rem;margin-bottom:.7rem;display:flex}.controls select,.controls button{appearance:none;color:#e8f7ff;font:inherit;cursor:pointer;background:#0b36529c;border:1px solid #92c8dd55;border-radius:10px;padding:.5rem .8rem;font-size:.92rem}.controls button:hover,.controls select:hover{background:#145877b8}.controls button.active{background:#64320f;border-color:#eeb16b}.label-with-icon{align-items:center;gap:.38rem;display:inline-flex}.stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.55rem;margin-bottom:.8rem;display:grid}.stat-box{background:#06283dcc;border:1px solid #a9d5e517;border-radius:12px;padding:.6rem .7rem}.stat-name{text-transform:uppercase;letter-spacing:.08em;color:#87bbcf;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.stat-value{margin-top:.15rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.08rem}.status-line{color:#d5ecf6;min-height:1.4rem;margin:.45rem 0 .8rem;font-size:.97rem}.board-wrap{background:#04273bd6;border:1px solid #96cae223;border-radius:14px;padding:.9rem;position:relative;overflow:auto}.board-scene{--cell-size:46px;width:max-content;position:relative}.board-scene.shake{animation:.36s board-shake}.board{--cols:9;grid-template-columns:repeat(var(--cols), var(--cell-size));gap:5px;width:max-content;display:grid}.fx-layer{z-index:30;pointer-events:none;position:absolute;inset:0;overflow:visible}.rocket-flight{width:calc(var(--cell-size) * .7);height:calc(var(--cell-size) * .7);opacity:0;filter:drop-shadow(0 0 18px #ffbb73cc);background-position:50%;background-repeat:no-repeat;background-size:contain;transition:transform .65s cubic-bezier(.18,.72,.24,1),opacity .12s;position:absolute;top:0;left:0}.rocket-trail{transform-origin:0;opacity:0;background:linear-gradient(90deg,#ffd28b00 0%,#ffd28bcc 15%,#ff7f5dbf 52%,#ff5d4f00 100%),linear-gradient(90deg,#fff7d080 0%,#fff7d000 100%);border-radius:999px;height:5px;animation:.8s forwards rocket-trail-show;position:absolute;top:0;left:0;box-shadow:0 0 14px #ff9f6f9a}.impact-burst{width:calc(var(--cell-size) * .72);height:calc(var(--cell-size) * .72);margin-left:calc(var(--cell-size) * -.36);margin-top:calc(var(--cell-size) * -.36);background:url(/assets/sea-minesweeper/explosion.svg) 50%/contain no-repeat;animation:.62s ease-out forwards impact-pop;position:absolute}.impact-wave{width:calc(var(--cell-size) * .9);height:calc(var(--cell-size) * .9);margin-left:calc(var(--cell-size) * -.45);margin-top:calc(var(--cell-size) * -.45);border:2px solid #7ed4f2cc;border-radius:999px;animation:.68s ease-out forwards impact-wave-expand;position:absolute;box-shadow:0 0 20px #8ce0fc66}.flyover-zone{background:linear-gradient(#dbf7ff54 0%,#8ecfe838 100%);border:2px dashed #d8eefad9;border-radius:16px;animation:1.35s ease-out forwards flyover-zone-pulse;position:absolute;box-shadow:inset 0 0 0 1px #7dd7f88a,0 0 42px #8bd4f07d}.flyover-plane{width:calc(var(--cell-size) * 1.45);height:calc(var(--cell-size) * 1.45);margin-top:calc(var(--cell-size) * -.73);filter:drop-shadow(0 0 16px #daf1ffbf);background:url(/assets/sea-minesweeper/avia-drone.svg) 50%/contain no-repeat;animation:1.32s cubic-bezier(.2,.72,.24,1) forwards flyover-plane-pass;position:absolute;top:50%;left:-28px}.mission-success{text-align:center;color:#fff9cf;opacity:0;pointer-events:none;z-index:90;background:radial-gradient(circle at 30% 20%,#fff2b63b 0%,#0000 55%),radial-gradient(circle at 78% 82%,#ffb26f36 0%,#0000 55%),linear-gradient(145deg,#3b7f73f0 0%,#a95c2ef0 100%);border:1px solid #f7f1b2aa;border-radius:20px;min-width:min(92vw,700px);padding:1.1rem 1.3rem;position:fixed;top:18%;left:50%;transform:translate(-50%,-30%)scale(.9);box-shadow:0 24px 70px #081822bf}.mission-success.visible{animation:2.6s forwards mission-success-show}.mission-success .big{letter-spacing:.03em;font-size:clamp(1.7rem,3vw + .7rem,3.2rem);font-weight:700;line-height:1.05;display:block}.mission-success .small{letter-spacing:.08em;text-transform:uppercase;opacity:.94;margin-top:.32rem;font-size:clamp(.86rem,1vw + .5rem,1.08rem);display:block}.cell{width:var(--cell-size);height:var(--cell-size);color:#f3fbff;cursor:pointer;background:linear-gradient(#3ba0c430 0%,#215f7d4d 52%,#1a4d694f 100%),repeating-linear-gradient(-35deg,#a6d6e31f 0 3px,#0000 3px 6px);border:1px solid #7ec2dd47;border-radius:8px;padding:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.08rem;font-weight:600;line-height:1;transition:transform 90ms,background .17s,border-color .17s}.token{width:calc(var(--cell-size) * .56);height:calc(var(--cell-size) * .56);background-position:50%;background-repeat:no-repeat;background-size:contain;display:inline-block}.token-small{vertical-align:middle;background-position:50%;background-repeat:no-repeat;background-size:contain;width:1rem;height:1rem;display:inline-block}.icon-mine{background-image:url(/assets/sea-minesweeper/mine.svg)}.icon-neutralized-mine{background-image:url(/assets/sea-minesweeper/neutralized-mine.svg)}.icon-explosion{background-image:url(/assets/sea-minesweeper/explosion.svg)}.icon-sea-drone{background-image:url(/assets/sea-minesweeper/sea-drone.svg)}.icon-avia-drone{background-image:url(/assets/sea-minesweeper/avia-drone.svg)}.icon-rocket{background-image:url(/assets/sea-minesweeper/rocket.svg)}.icon-flag{background-image:url(/assets/sea-minesweeper/flag.svg)}.icon-jam{background-image:url(/assets/sea-minesweeper/jam.svg)}.cell:hover{border-color:#a7dbed8a;transform:translateY(-1px)}.cell.revealed{cursor:default;background:linear-gradient(#daf0f62d 0%,#b8deea21 100%);border-color:#9fcfe069}.cell.flagged{background:linear-gradient(#5f42271f 0%,#8a572b4f 100%);border-color:#e3b28570}.cell.locked{background:linear-gradient(#3f445f4f 0%,#2b2f4257 100%);border-color:#99abd16e}.cell.hit-mine{background:linear-gradient(#762c2c 0%,#531515 100%);border-color:#f3a08d}.cell.neutralized{background:linear-gradient(#0d513f 0%,#123d31 100%);border-color:#7fc8a5}.n1{color:#67d5ff}.n2{color:#9ee386}.n3{color:#ffc06b}.n4{color:#ef9bff}.n5{color:#ff9e83}.n6{color:#8be8d9}.n7{color:#f6f6f6}.n8{color:#ced4f1}.log-title{letter-spacing:.08em;color:#91c0d2;text-transform:uppercase;margin:.85rem 0 .35rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.76rem}.event-log{background:#042334ce;border:1px solid #8ecbe426;border-radius:10px;margin:0;padding:0;list-style:none}.event-log li{color:#d0eaf5;border-bottom:1px solid #83bed31a;padding:.5rem .7rem;font-size:.88rem}.event-log li:last-child{border-bottom:0}.rules{color:#c2e1ee;background:#062638cf;border:1px solid #93c9de22;border-radius:12px;margin-top:.9rem;padding:.8rem;font-size:.9rem}.rules p{margin:.35rem 0}.status-good{color:#98e3c5}.status-bad{color:#ff9d85}@keyframes impact-pop{0%{opacity:0;transform:scale(.35)}30%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(.78)}}@keyframes impact-wave-expand{0%{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(4.2)}}@keyframes board-shake{0%{transform:translate(0)}20%{transform:translate(-10px,3px)}40%{transform:translate(8px,-4px)}60%{transform:translate(-7px,3px)}80%{transform:translate(5px,-1px)}to{transform:translate(0)}}@keyframes rocket-trail-show{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes flyover-zone-pulse{0%{opacity:0;transform:scale(.96)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.03)}}@keyframes flyover-plane-pass{0%{opacity:0;transform:translate(0)translateY(0)scale(.88)rotate(-10deg)}12%{opacity:1}to{opacity:0;transform:translateX(var(--flyover-distance,200px)) translateY(-6px) scale(1.03) rotate(7deg)}}@keyframes mission-success-show{0%{opacity:0;transform:translate(-50%,-30%)scale(.9)}15%{opacity:1;transform:translate(-50%)scale(1.02)}70%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-20%)scale(.96)}}@media (width<=860px){.board-scene{--cell-size:38px}.board{gap:4px}}@media (width<=500px){.shell{width:min(100% - 1rem,1160px);padding-top:.8rem}.board-scene{--cell-size:32px}.board{gap:3px}.controls select,.controls button{padding:.46rem .62rem;font-size:.86rem}}
