:root{--menu-border: rgba(125, 211, 252, .28);--menu-panel-top: rgba(6, 15, 31, .9);--menu-panel-bottom: rgba(8, 22, 42, .8);--menu-shadow: rgba(0, 0, 0, .5);--menu-panel-radius: 1.2rem;--menu-close-inset: .95rem;--menu-close-size: 2.2rem;--menu-button-base: linear-gradient(180deg, rgba(17, 34, 53, .94), rgba(9, 20, 35, .96));--menu-button-border: rgba(110, 188, 226, .34);--menu-button-shadow: rgba(2, 8, 16, .42)}html,body{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden;font-family:Trebuchet MS,Segoe UI,sans-serif;color:#fff;background:#010611}body{position:relative;isolation:isolate;overscroll-behavior:none;touch-action:none}.backgroundImage{display:block;width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:0;pointer-events:none;object-fit:cover;background-repeat:no-repeat;filter:saturate(1.12) brightness(.72) contrast(1.06)}canvas{display:block;position:relative;z-index:1;opacity:0;transition:opacity .12s ease}body.app-ready canvas{opacity:1}body.app-loading .menuRoot{opacity:0}.menuRoot{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;z-index:40;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease}.menuRoot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:0;pointer-events:none;background:linear-gradient(180deg,#070f1c3d,#070f1c5c 38%,#060d1880);transition:opacity .18s ease}.menuRoot.is-active{opacity:1;pointer-events:auto}.menuRoot.has-gameplay-shade:before{opacity:1;-webkit-backdrop-filter:blur(6px) saturate(.88);backdrop-filter:blur(6px) saturate(.88)}.menuScene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.menuRoot:not(.has-scene) .menuScene{display:none}.menuBackdrop{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;width:108%;height:108%;background-image:url(/assets/background.jpg);background-position:center;background-repeat:no-repeat;background-size:cover;opacity:.64;filter:saturate(1.08) brightness(.82) contrast(1.08) blur(3px);transform:scale(1.03);z-index:0}.menuGlow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(77,166,255,.2),transparent 32%),radial-gradient(circle at 75% 24%,rgba(255,170,92,.16),transparent 24%),radial-gradient(circle at 72% 78%,rgba(80,205,255,.14),transparent 28%);z-index:1}.menuScenePane{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#070f1c2e,#070f1c4d 38%,#060d1875);-webkit-backdrop-filter:blur(8px) saturate(1.02);backdrop-filter:blur(8px) saturate(1.02);z-index:3}.menuRock{position:absolute;left:var(--rock-left);top:var(--rock-top);width:var(--rock-size);opacity:var(--rock-opacity);filter:drop-shadow(0 1rem 2rem rgba(0,0,0,.5)) saturate(.7) brightness(.86);transform-origin:center;animation:menuRockFloat var(--rock-duration) ease-in-out infinite;animation-delay:var(--rock-delay);z-index:2}.menuContent{position:relative;z-index:4;display:flex;width:100%;justify-content:center;padding:1rem}.menuPanel{position:relative;width:min(36rem,calc(100vw - 2rem));padding:2rem;border:1px solid var(--menu-border);border-radius:var(--menu-panel-radius);background:linear-gradient(180deg,var(--menu-panel-top),var(--menu-panel-bottom));box-shadow:0 1.5rem 4rem var(--menu-shadow),inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:center}.menuPanel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(140deg,rgba(255,255,255,.06),transparent 36%,rgba(120,200,255,.04));pointer-events:none}.menuPanelClose{position:absolute;top:var(--menu-close-inset);right:var(--menu-close-inset);z-index:100;width:var(--menu-close-size);height:var(--menu-close-size);border:1px solid rgba(173,220,244,.3);border-radius:calc(var(--menu-panel-radius) - .2rem);background:linear-gradient(180deg,#0f1d2ee6,#0a1320eb);color:#e8f4fce0;font:inherit;font-size:.86rem;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 .75rem 1.7rem #02081047,inset 0 1px #ffffff0f;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.menuPanelClose:hover,.menuPanelClose:focus-visible{transform:translateY(-1px);border-color:#c8ecfc8f;background:linear-gradient(180deg,#172b42f5,#0c1928f5);color:#f5fbfffa;outline:none}.menuTitle{position:relative;margin:0 0 .75rem;box-sizing:border-box;font-size:clamp(2rem,5vw,3rem);line-height:1.05;letter-spacing:.08em;text-transform:uppercase}.menuTitle--main-menu{padding:.35rem 1.2rem 1rem}.menuTitle--compact{padding-inline:calc(var(--menu-close-inset) + var(--menu-close-size) + .15rem);margin-bottom:.95rem;font-size:clamp(1.7rem,4.2vw,2.45rem)}.menuSubtitle{position:relative;margin:0;font-size:1rem;line-height:1.6;color:#e1ebf5eb}.menuActions{position:relative;display:grid;gap:.85rem;margin-top:1.5rem}.menuPanel--pause{padding-top:1.85rem;padding-bottom:2.3rem}.menuActions--pause{margin-top:2rem}.menuButton{position:relative;overflow:hidden;width:100%;min-height:3.5rem;border-radius:.9rem;border:1px solid var(--menu-button-border);padding:.9rem 1.2rem;font-size:1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:#edf7fff5;background:var(--menu-button-base);box-shadow:0 .95rem 2.2rem var(--menu-button-shadow),inset 0 1px #ffffff0f,inset 0 -1px #0000004d;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease,color .12s ease}.menuButton:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 48%);pointer-events:none}.menuButton:hover,.menuButton:focus-visible{transform:translateY(-2px);outline:none}.menuButton:active{transform:translateY(0)}.menuButton--primary{background:linear-gradient(180deg,#276790fa,#123551f5);border-color:#8edfff8a;box-shadow:0 1rem 2.3rem #04121f75,0 0 0 1px #7acff62e,inset 0 1px #d2f5ff24}.menuButton--primary:hover,.menuButton--primary:focus-visible{background:linear-gradient(180deg,#3279a5,#1a4669fa);border-color:#bbecffd1;box-shadow:0 1.25rem 2.7rem #07162485,0 0 0 1px #9ae7ff47,inset 0 1px #e8faff38}.menuButton--secondary{background:linear-gradient(180deg,#122337f5,#0a1525f5);border-color:#6abce25c}.menuButton--secondary:hover,.menuButton--secondary:focus-visible{background:linear-gradient(180deg,#19324afa,#0c1c2efa);border-color:#93dbfa9e}.menuButton--ghost{background:linear-gradient(180deg,#09101cc2,#080e18d1);border-color:#ffffff38;color:#ebf1f8e6}.menuButton--ghost:hover,.menuButton--ghost:focus-visible{background:linear-gradient(180deg,#121e2ee0,#0a1422e6);border-color:#addcf47a;color:#f5fafffa}.menuHelper{position:relative;margin:1.2rem 0 0;font-size:.92rem;letter-spacing:.03em;color:#cddeebc7}body.app-loading .backgroundImage{opacity:0}.mobileControlsRoot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6;opacity:0;pointer-events:none;transition:opacity .14s ease}.mobileControlsRoot.is-visible{opacity:1}.mobileControlsTopBar{position:absolute;top:calc(env(safe-area-inset-top,0px) + .9rem);left:50%;transform:translate(-50%);display:flex;justify-content:center;pointer-events:none}.mobileControlsTopBarActions{display:flex;gap:.65rem;pointer-events:auto}.mobileMenuButton{min-width:5.3rem;min-height:2.6rem;border:1px solid rgba(145,215,255,.42);border-radius:999px;background:#102334c2;color:#eaf6fff5;font:inherit;font-size:.92rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 .75rem 1.6rem #02070f57}.mobileMenuButton--secondary{background:#0b1826b3;border-color:#8dcbeb4d}.mobileControlsBottomRow{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:0 1rem;box-sizing:border-box}.mobileControlCluster{display:flex;gap:.8rem;pointer-events:none}.mobileControlCluster--left{justify-content:flex-start}.mobileControlCluster--right{justify-content:flex-end}.mobileControlButton{pointer-events:auto;min-width:min(23vw,6.4rem);min-height:min(19vw,5.4rem);padding:.9rem 1rem;border:1px solid rgba(152,218,255,.32);border-radius:1.35rem;background:linear-gradient(180deg,#112334d1,#0a1724e6);color:#eaf6fff7;font:inherit;font-size:clamp(.88rem,2.4vw,1rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1rem 2.4rem #01050c52,inset 0 1px #ffffff0f;transition:transform 90ms ease,background-color 90ms ease,box-shadow 90ms ease}.mobileControlButton--accent{background:linear-gradient(180deg,#26658ee0,#143f5ff0);border-color:#90ddff80}.mobileControlButton.is-pressed{transform:translateY(1px) scale(.98);box-shadow:0 .5rem 1.2rem #01050c47,inset 0 1px #ffffff14}.mobileRotatePrompt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;display:flex;align-items:center;justify-content:center;padding:1.25rem;box-sizing:border-box;background:radial-gradient(circle at 20% 18%,rgba(95,162,215,.24),transparent 30%),#060c16e0;opacity:0;pointer-events:none;transition:opacity .16s ease}.mobileRotatePrompt.is-visible{opacity:1;pointer-events:auto}.mobileRotateCard{width:min(24rem,100%);padding:1.35rem 1.25rem;border:1px solid rgba(135,208,255,.32);border-radius:1.25rem;background:linear-gradient(180deg,#0f1c2bf2,#0b1421f0);box-shadow:0 1.4rem 3rem #0000006b;text-align:center}.mobileRotateCard h2{margin:0 0 .7rem;font-size:clamp(1.35rem,5vw,1.75rem)}.mobileRotateCard p{margin:0;color:#dbebf5e0;line-height:1.5}.mobileRotateButton{margin-top:1rem;min-width:9rem;min-height:2.9rem;border:1px solid rgba(142,220,255,.38);border-radius:999px;background:#356e9138;color:#ecf8fff5;font:inherit;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mobileRotateButton--secondary{margin-top:.6rem;background:#ffffff0f}@keyframes menuRockFloat{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(var(--rock-drift-x),var(--rock-drift-y),0) rotate(180deg)}to{transform:translateZ(0) rotate(360deg)}}@media (max-width: 640px){:root{--menu-panel-radius: 1rem;--menu-close-inset: .8rem;--menu-close-size: 2rem}.menuContent{padding:.75rem}.menuPanel{padding:1.5rem}.menuTitle{letter-spacing:.05em}.menuTitle--main-menu{padding:.25rem .85rem .8rem}.menuTitle--compact{padding-inline:calc(var(--menu-close-inset) + var(--menu-close-size) + .1rem)}.menuPanel--pause{padding-top:1.45rem;padding-bottom:1.9rem}.menuActions--pause{margin-top:1.7rem}.menuRock{opacity:calc(var(--rock-opacity) * .85)}.mobileControlsBottomRow{gap:.75rem;padding:0 .75rem}.mobileControlsTopBarActions{gap:.45rem}.mobileControlCluster{gap:.55rem}.mobileControlButton{min-width:4.6rem;min-height:4.4rem;border-radius:1.15rem;font-size:.82rem}.mobileMenuButton{min-width:4.7rem;min-height:2.45rem;font-size:.8rem}.menuButton{border-radius:.8rem}}@media (prefers-reduced-motion: reduce){.menuRoot{transition:none}.menuRock{animation:none}}.creditsSection{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid rgba(125,211,252,.15);text-align:center}.creditsSectionTitle{margin:0 0 .6rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#8edfff99}.creditsLine{margin:.25rem 0;font-size:.78rem;line-height:1.5;color:#cddeeb99}.creditsLine a{color:#8edfffcc;text-decoration:none;transition:color .12s ease}.creditsLine a:hover{color:#bbecff;text-decoration:underline}.shipSelection{margin-top:1.5rem;margin-bottom:2rem;padding:1.25rem;background:#0f192d66;border:1px solid rgba(125,211,252,.15);border-radius:1rem}.shipSelectionLabel{margin:0 0 1.25rem;font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#8edfffd9}.shipGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.shipItem{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem .5rem;background:#14233c80;border:1px solid rgba(142,223,255,.15);border-radius:.75rem;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden;color:inherit;font-family:inherit}.shipItem:hover{background:#1e3255b3;border-color:#8edfff66;transform:translateY(-2px)}.shipItem.is-selected{background:#2d4b7d80;border-color:#ff9d4d;box-shadow:0 0 1.5rem #ff9d4d40}.shipItem.is-selected:after{content:"";position:absolute;top:.2rem;right:-1.2rem;background:#ff9d4d;color:#060f1f;font-size:.55rem;font-weight:900;padding:.15rem 1.5rem;transform:rotate(45deg)}.shipImage{width:2.5rem;height:5rem;object-fit:contain;filter:drop-shadow(0 .5rem 1rem rgba(0,0,0,.4));transition:transform .15s ease;pointer-events:none}.shipItem:hover .shipImage{transform:scale(1.05)}.shipItem.is-selected .shipImage{filter:drop-shadow(0 .5rem 1.25rem rgba(255,157,77,.3))}.shipName{font-size:.7rem;font-weight:700;letter-spacing:.02em;color:#edf7ffe6;text-align:center;pointer-events:none}@media (max-width: 480px){.shipGrid{grid-template-columns:repeat(2,1fr)}.shipSelection{padding:1rem .75rem}}
