@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}.account-screen{min-height:100dvh;overflow-y:auto;position:fixed;inset:0;display:grid;place-items:center;padding:32px 20px;background:var(--ink)}.account-form{width:min(100%,380px)}.account-form h1{font:600 42px/1.1 Barlow Condensed,sans-serif;margin:0 0 12px;color:var(--accent)}.account-form p{line-height:1.5}.account-form form{display:grid;gap:18px;margin-top:28px}.account-form label{display:grid;gap:7px}.account-form input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:3px;background:#193641;color:#edf1ec;font:inherit;padding:10px 12px;caret-color:var(--accent)}.account-form input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.account-form input::selection{color:var(--ink);background:var(--accent)}.account-form button,.account-control button{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:3px;background:#193641}.account-form button:hover,.account-control button:hover{border-color:var(--accent)}.account-form .account-primary{background:var(--accent);color:var(--ink);font-weight:600}.account-form small,.account-note{color:var(--muted);line-height:1.5}.account-error{color:#ffb9a8;margin:0}.account-error:empty{display:none}.account-switch{width:100%;margin-top:16px}.account-note{margin-top:28px;font-size:14px}.account-control{position:fixed;right:16px;bottom:16px;z-index:200;font-size:14px}.account-control>div{position:absolute;right:0;bottom:48px;width:min(350px,calc(100vw - 32px));max-height:70dvh;overflow:auto;background:var(--ink);border:1px solid var(--line);padding:16px;scrollbar-color:var(--muted) var(--ink)}.account-control section{display:grid;gap:12px;margin-bottom:16px}.account-control section div{display:grid;gap:8px}.account-control h2{font:600 22px Barlow Condensed,sans-serif;margin:8px 0}@media(max-height:650px){.account-screen{place-items:start center}}.design-delete{display:flex;align-items:center;gap:12px;flex-shrink:0}.design-delete[data-confirming=true]{flex:1 0 100%;flex-wrap:wrap;padding:8px 0 12px}.design-delete p{flex-basis:100%;margin:0;color:#edf1ec;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.design-delete button{min-height:36px;padding:6px 8px;border:0;background:transparent;color:#ffb5a6;font:inherit;cursor:pointer}.design-delete button:hover:not(:disabled){background:#ffb5a618}.design-delete button:focus-visible{outline:2px solid #86e4c5;outline-offset:2px}.design-delete button:disabled{cursor:default;opacity:.45}.design-delete .design-delete-confirm,.design-delete p[role=alert]{color:#ffb5a6}.shipbuilder .design-delete button{min-height:36px;padding:6px 8px;color:var(--sb-salmon)}.shipbuilder .design-delete p{color:var(--sb-text)}.shipbuilder .design-delete p[role=alert]{color:var(--sb-salmon)}:root{font-family:Barlow,sans-serif;color:#edf1ec;background:#132d38;font-synthesis:none;--ink: #10252e;--muted: #bacbd0;--accent: #e0c58d;--line: #cfdfdf35}*{box-sizing:border-box}body{margin:0;overflow:hidden}html,body{overscroll-behavior:none}.game-shell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.game-shell *{overscroll-behavior:contain}.game-shell img,.game-shell a{-webkit-user-drag:none}.game-shell input,.game-shell textarea,.game-shell [contenteditable]:not([contenteditable=false]){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.game-shell :focus,.game-shell :has(>:focus-visible){outline:none!important}.game-shell :is(button,a,summary):focus-visible{text-decoration:underline;text-underline-offset:3px}button,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{-webkit-tap-highlight-color:transparent}button svg{flex-shrink:0}button:disabled{opacity:.4;cursor:default}button,select{touch-action:manipulation}.game-shell,.ocean-viewport{position:fixed;inset:0}.ocean-viewport canvas{display:block;touch-action:none;outline:none}.hud-viewport,.ocean-viewport :is(.ship-label-layer,.hit-label-layer,.gun-aim-layer),.game-shell>.hit-direction-layer{position:absolute;inset:0 auto auto 0;width:calc(100% / var(--hud-scale, 1));height:calc(100% / var(--hud-scale, 1));transform:scale(var(--hud-scale, 1));transform-origin:top left;container:hud / size;pointer-events:none}.hud-viewport .restore-hud{pointer-events:auto}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--line);border-radius:3px}.icon-button:hover{background:#d9eeed1f;border-color:#d9eeed88}kbd{font-family:inherit;font-weight:400;font-size:10px;border:1px solid #c0d4d24a;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;min-width:19px;padding:2px 4px;line-height:1.2;color:#e1e9e8}.restore-hud{position:fixed;bottom:25px;left:50%;transform:translate(-50%);padding:10px 16px;border:0;background:transparent;text-shadow:0 2px 4px #07131bea;font-size:12px;animation:restore-hud-dismiss .3s ease 3s forwards}@keyframes restore-hud-dismiss{to{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){.restore-hud{animation-duration:.01s}}.restore-hud kbd{margin-left:8px}.loading-screen{position:fixed;inset:0;background:#142d38;display:flex;flex-direction:column;padding:42px 48px}.loading-brand{display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:.22em;color:var(--accent)}.loading-content{width:min(480px,100%);margin:auto;text-align:center}.loading-content>h1{font:500 clamp(64px,9vw,104px)/1 "Barlow Condensed",sans-serif;letter-spacing:.065em;margin:0}.loading-subtitle{font-size:20px;color:#bfced2;margin:18px 0 36px}.ship-measure{display:flex;align-items:center;gap:16px;width:80%;margin:0 auto 65px;color:var(--accent);font-size:9px;letter-spacing:.1em}.ship-measure>div{flex:1;height:1px;background:#e0c58d45;position:relative}.ship-measure>div:first-child:before,.ship-measure>div:last-child:after{content:"";width:1px;height:7px;background:#e0c58d66;position:absolute;left:0;top:-3px}.ship-measure>div:last-child:after{left:auto;right:0}.loading-progress{height:2px;background:#d1e3e22b}.loading-progress span{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left;transition:transform .6s ease}.loading-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;color:#a9bcc3}.error-message h2{font-weight:500;font-size:23px}.error-message p{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.error-message .primary-button{margin-top:24px}.pause-menu{padding:32px;background:#142d38;color:#edf1ec;border:1px solid #b8cfd14a;width:min(430px,calc(100% - 32px));max-height:calc(100dvh - 32px);border-radius:4px;box-shadow:0 25px 90px #0006}.pause-menu::backdrop{background:#04151fc2}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.menu-heading h2{font:500 32px/1.1 Barlow Condensed,sans-serif;margin:0}.menu-heading .icon-button{border:0}.menu-description{margin:11px 0 25px;font-size:13px;color:var(--muted)}.pause-menu>.menu-heading+.ui-button{margin-top:24px}.primary-button,.secondary-button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;border-radius:3px;font-weight:500;font-size:14px}.primary-button{background:var(--accent);color:#152b32;border:1px solid var(--accent)}.primary-button:hover{background:#efd5a0}.secondary-button{background:transparent;border:1px solid var(--line)}.secondary-button:hover{background:#d7e6e710}.setting-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:9px 0}.setting-row .ui-select{width:142px}.restart-button{margin-top:15px;font-size:12px}.settings-note{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0 23px}.menu-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:11px;color:#c4d4d7}.menu-controls kbd{margin-right:5px}@media(max-width:760px){.loading-screen{padding:28px}}@media(max-width:480px){.loading-bottom{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}.aim-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:8px;color:#f3d59a;text-shadow:0 1px 4px #102733}.aim-marker>span{width:20px;height:20px;border:1px solid #f3d59a;border-radius:50%}.aim-marker small{font-size:9px;letter-spacing:.06em;white-space:nowrap}@container hud (max-width: 760px){.environment-caption{display:none}.sailing-hint{top:230px}}@container hud (max-height: 620px) and (min-width: 761px){.chart-area{display:none}.camera-controls{bottom:50px}}.camera-controls{left:36px;right:auto;bottom:310px}@container hud (max-width: 760px){.camera-controls{left:20px;right:auto;bottom:290px}}@media(pointer:coarse){.camera-controls{bottom:340px}}@container hud (max-height: 620px) and (min-width: 761px){.camera-controls{bottom:275px}}.menu-action{margin-top:12px}.close-game-button{margin-top:24px;color:#f3b4a7}.pause-menu .menu-controls{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.pause-menu-covered{visibility:hidden}.pause-menu-covered::backdrop{visibility:visible}.game-exit{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.game-exit>svg{color:var(--accent)}.game-exit h1{font:500 42px/1.1 Barlow Condensed,sans-serif;margin:24px 0 12px}.game-exit p{max-width:360px;margin:0 0 28px;color:var(--muted);line-height:1.6}.game-exit .primary-button{max-width:280px}
