body.aiming #ui,body.aiming #ownedFleet,body.aiming #shipLabels,body.aiming .shipLabel,body.aiming .shipHoverTip,body.aiming #mission,body.aiming>header{visibility:hidden!important;pointer-events:none!important}body.aiming #sea{cursor:none}
#aimOverlay{position:fixed;inset:0;z-index:14;pointer-events:none;color:#3d281c}#aimOverlay[hidden]{display:none!important}#aimOverlay button{pointer-events:auto;border:0;background:none;box-shadow:none;color:inherit}
#aimClose{position:absolute;left:20px;top:22px;width:48px;height:48px;padding:3px}#aimClose img{width:100%;height:100%}
#aimTargets{position:absolute;top:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px;max-width:calc(100vw - 180px)}#aimTargets button{font:600 24px/28px 'Alegreya',serif;padding:8px 15px;background:#ecd4a0!important;border-radius:3px;white-space:nowrap;opacity:.65}#aimTargets button.selected{opacity:1;background:#f7e3b7!important}
#aimFuse{position:absolute;left:50%;top:84px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;background:#e3c795d9;padding:6px 10px;border-radius:3px}#aimFuse>.painted-ui-icon{width:27px;height:30px}#aimFuse b{font:600 24px/28px 'Alegreya',serif;min-width:24px;text-align:center}.fuse-track{position:relative;width:180px;height:8px;border-radius:4px;background:#72604366;box-shadow:inset 0 1px #50361e66}.fuse-track i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--fuse,1)*100%);background:#514331;border-radius:4px}.fuse-track>img{position:absolute;left:calc(var(--fuse,1)*100% - 10px);top:-9px;width:23px;height:27px;object-fit:contain}
#aimReticle{position:absolute;transform:translate(-50%,-50%);border:3px solid #e6c28bd9;background:#d4b48619;box-shadow:0 1px 3px #041b2488;border-radius:2px;pointer-events:none}#aimReticle.over-ship{border-color:#e99b78;background:#b84f4226}.aim-center{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%)}.aim-center:before,.aim-center:after{content:'';position:absolute;background:#ffe4b2;box-shadow:0 1px 2px #061a20}.aim-center:before{top:8px;left:0;right:0;height:3px}.aim-center:after{left:8px;top:0;bottom:0;width:3px}#aimZone{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);padding:3px 8px;background:#efd7a5ed;border-radius:3px;font:600 21px/25px 'Alegreya',serif;white-space:nowrap}
#aimFire{position:absolute;right:32px;bottom:30px;width:78px;height:68px;padding:5px;background:url('assets/equipment/planking.png') center/100% 100% no-repeat!important}#aimFire img{width:100%;height:100%;object-fit:contain}.aim-help{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font:19px/24px 'Alegreya',serif;color:#e9d3a8;text-shadow:0 2px 3px #051a21}
@media(max-width:1350px){#aimTargets button{font-size:20px;line-height:24px;padding:7px 10px}#aimFuse{top:72px}.aim-help{font-size:16px}#aimZone{font-size:18px;line-height:22px}}

#aimStats{position:absolute;left:50%;top:calc(100% + 48px);transform:translateX(-50%);padding:3px 8px;color:#f4e5c5;background:#14313de8;font:600 18px Alegreya,Georgia,serif;white-space:nowrap}.aim-band path{fill:#fff9df22;stroke:#fff4d7;stroke-width:2;vector-effect:non-scaling-stroke}#aimReticle{border:0!important;background:none!important;box-shadow:none!important;border-radius:50%}

#aimReticle .aim-band{height:100%!important;top:0!important;left:0!important}#aimReticle .aim-center{top:50%!important}#aimZone{top:calc(100% + 12px)!important}.over-ship .aim-band path{stroke:#fff8e6;fill:#fff0c633}

#aimOverlay #aimReadout{position:absolute;top:136px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:5px}#aimOverlay #aimReadout>span{position:static!important;transform:none!important;white-space:nowrap}#aimOverlay #aimReadout #aimZone{font-size:18px;line-height:22px}
#aimFuse{gap:12px;padding:9px 14px;background:linear-gradient(110deg,#ead2a9ed,#b99b72ed);border:1px solid #8b6740;box-shadow:inset 0 0 0 1px #fff0c388,0 3px 12px #031a2470;border-radius:4px;color:#49331d}
#aimFuse>.painted-ui-icon{display:none}#aimFuse b{font-variant-numeric:tabular-nums;font-size:21px;line-height:25px}
#aimFuse .fuse-track{width:196px;height:10px;border-radius:6px;background:repeating-linear-gradient(125deg,#211d19 0 3px,#453c2f 3px 5px);box-shadow:0 1px 1px #fff0bb77,inset 0 1px 2px #0f0b07}
#aimFuse .fuse-track>i{height:10px;top:0;background:repeating-linear-gradient(125deg,#674923 0 2px,#c3a06a 2px 4px,#ebcf96 4px 5px,#9b793f 5px 7px);box-shadow:inset 0 1px 1px #ffeac2aa,inset 0 -2px 2px #4d321d99}
.fuse-ember{position:absolute;left:calc(var(--fuse,1)*100% - 5px);top:-7px;width:12px;height:22px;opacity:0;pointer-events:none}
.fuse-ember:before{content:'';position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:50%;background:#fff3aa;box-shadow:0 0 4px 2px #ffb732,0 0 14px 5px #f5641d88}
.fuse-ember svg{position:absolute;left:-5px;bottom:9px;width:22px;height:35px;transform-origin:50% 95%;filter:drop-shadow(0 0 3px #ff9c23)}
.fuse-ember .spark{position:absolute;left:4px;top:8px;width:2px;height:2px;background:#fff0a6;border-radius:50%;box-shadow:0 0 3px #f9a424}
.fuse-ember:after{content:'';position:absolute;left:0;top:-16px;width:14px;height:18px;border-radius:50%;background:radial-gradient(#514c4566,transparent 70%);filter:blur(2px)}
#aimFuse.is-lit .fuse-ember{opacity:1}#aimFuse.is-lit .fuse-ember svg{animation:fuse-flame .16s ease-in-out infinite alternate}#aimFuse.is-lit .spark{animation:fuse-spark .7s ease-out infinite}#aimFuse.is-lit .spark:nth-of-type(2){animation-delay:-.35s}#aimFuse.is-lit .fuse-ember:after{animation:fuse-smoke 1.8s ease-out infinite}
#aimFuse.firing .fuse-track>i{width:0;transition:width .38s ease-in}#aimFuse.firing .fuse-ember{left:-5px;transition:left .38s ease-in}#aimFuse.firing{box-shadow:inset 0 0 14px #fb9f2977,0 0 22px #f4a23155}
@keyframes fuse-flame{from{transform:rotate(-8deg) scale(.88,.93)}to{transform:rotate(9deg) scale(1.04,1.12)}}@keyframes fuse-spark{from{transform:translate(0,0);opacity:1}to{transform:translate(16px,-23px);opacity:0}}@keyframes fuse-smoke{from{transform:translate(0,0) scale(.7);opacity:.5}to{transform:translate(15px,-20px) scale(1.6);opacity:0}}
@media(prefers-reduced-motion:reduce){#aimFuse.is-lit .fuse-ember :is(svg,.spark),#aimFuse.is-lit .fuse-ember:after{animation:none}}
@media(max-width:1350px){#aimOverlay #aimReadout{top:120px}#aimOverlay #aimReadout #aimStats{font-size:16px}}
#aimOverlay #aimReticle .aim-band path{stroke-width:1.5;stroke:#fff0d3d9;fill:#fff0c618}

#aimStick{display:none;position:absolute;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:124px;height:124px;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:50%;background:radial-gradient(circle,#173a43c9 0 38%,#173a4366 39% 67%,transparent 68%);box-shadow:inset 0 0 0 2px #e3c99080}
#aimStick .stick-ring{position:absolute;inset:22px;border:1px solid #ebd49b80;border-radius:50%}
#aimStick .stick-thumb{position:absolute;left:40px;top:40px;width:44px;height:44px;border:2px solid #d7b572;border-radius:50%;background:radial-gradient(circle at 35% 30%,#efdfb7,#b58b4f);box-shadow:0 3px 8px #001c25b0;transform:translate(var(--stick-x,0px),var(--stick-y,0px))}
#aimOverlay.touch-aim #aimStick{display:block}
#aimOverlay.touch-aim .aim-help{bottom:12px;font-size:15px;white-space:nowrap}
#aimOverlay #aimFire{touch-action:manipulation}
@media(pointer:coarse){#aimStick{display:block}.aim-help{display:none}#aimFire{right:max(24px,env(safe-area-inset-right));bottom:max(32px,env(safe-area-inset-bottom));min-width:96px;min-height:80px}}
@media(max-height:500px){#aimStick{width:108px;height:108px;bottom:18px}#aimStick .stick-thumb{left:32px;top:32px}#aimTargets{top:10px}#aimTargets button{min-height:40px!important;font-size:18px;line-height:24px;padding:4px 8px}#aimTargets button img{width:28px!important;height:28px!important}#aimOverlay #aimReadout{top:110px}#aimFuse{top:58px!important;padding:5px 10px}#aimFuse b{font-size:18px}}

/* Actual aiming view: one target, one explicit shot. No scene image replaces3D. */
#aimTargetRail{display:contents}#aimTargetPrev,#aimTargetNext,#aimFine,#aimFireState,.aim-target-meta{display:none}#aimStatus{position:absolute;left:50%;bottom:100px;transform:translateX(-50%);font:600 18px/24px Alegreya,serif;color:#f2dfb6;background:#102930;padding:5px 10px}#aimStatus:empty{display:none}
#aimOverlay .aim-fire-copy{display:contents}
#aimOverlay.touch-aim.aim-assisted{z-index:360;overflow:hidden;max-width:100vw;--aim-paper:#1b3941;--aim-ink:#f2e4c8}
#aimOverlay.touch-aim.aim-assisted #aimClose{left:max(8px,env(safe-area-inset-left));top:max(8px,env(safe-area-inset-top));width:52px;height:52px;padding:3px}
#aimOverlay.touch-aim.aim-assisted #aimTargetRail{position:absolute;top:max(8px,env(safe-area-inset-top));left:max(72px,calc(env(safe-area-inset-left) + 64px));right:max(8px,env(safe-area-inset-right));height:60px;display:flex;gap:6px;pointer-events:auto}
#aimOverlay.touch-aim.aim-assisted #aimTargets{position:static!important;left:auto!important;top:auto!important;transform:none!important;flex:0 1 720px;width:100%;min-width:0;max-width:min(720px,100%)!important;gap:6px;overflow:hidden}
#aimOverlay.touch-aim.aim-assisted #aimTargetRail{justify-content:center}
#aimOverlay.touch-aim.aim-assisted #aimTargets[data-count='1']{flex-basis:420px;max-width:min(420px,100%)!important}
#aimOverlay.touch-aim.aim-assisted #aimTargets button{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:24px 22px;align-items:center;column-gap:6px;flex:1;min-width:0!important;max-width:none!important;min-height:56px!important;height:60px;padding:5px 9px!important;opacity:1;font:600 20px/24px var(--naval-ui-font,system-ui,sans-serif)!important;background:var(--aim-paper)!important;color:var(--aim-ink);border:1px solid #77908b;border-radius:3px;white-space:normal!important}
#aimOverlay.touch-aim.aim-assisted #aimTargets button.selected{box-shadow:none!important;border-color:#d3b46f}
#aimOverlay.touch-aim.aim-assisted #aimTargets button img{grid-row:1/3;width:32px!important;height:32px!important;object-fit:contain}
#aimOverlay.touch-aim.aim-assisted .aim-target-name{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 20px/24px var(--naval-ui-font,system-ui,sans-serif)}
#aimOverlay.touch-aim.aim-assisted .aim-target-meta{display:block;font:500 16px/20px var(--naval-ui-font,system-ui,sans-serif);white-space:nowrap}
#aimOverlay.touch-aim.aim-assisted :is(#aimTargetPrev,#aimTargetNext){display:grid;place-items:center;width:44px;min-width:44px;height:60px;min-height:44px;background:var(--aim-paper);padding:4px;border:1px solid #77908b}
#aimOverlay.touch-aim.aim-assisted :is(#aimTargetPrev,#aimTargetNext) img{width:32px;height:32px;object-fit:contain}
#aimOverlay.touch-aim.aim-assisted [hidden]{display:none!important}
#aimOverlay.touch-aim.aim-assisted #aimReadout{display:none!important}
#aimOverlay.touch-aim.aim-assisted #aimFire{position:absolute!important;right:max(8px,env(safe-area-inset-right))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:164px!important;height:68px!important;min-width:164px!important;min-height:68px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:6px 10px!important;background:#82432f!important;border:2px solid #c4a578!important;border-radius:5px!important;color:#f5e4bc;touch-action:manipulation}
#aimOverlay.touch-aim.aim-assisted #aimFire img{position:static!important;width:44px!important;height:44px!important;object-fit:contain;flex:0 0 44px!important;transform:none!important}
#aimOverlay.touch-aim.aim-assisted #aimFire .aim-fire-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:0}
#aimOverlay.touch-aim.aim-assisted #aimFire b{position:static!important;inset:auto!important;margin:0!important;padding:0!important;width:auto!important;height:auto!important;transform:none!important;font:700 23px/28px var(--naval-ui-font,system-ui,sans-serif)!important;white-space:nowrap}
#aimOverlay.touch-aim.aim-assisted #aimFireState{display:block;font:500 16px/20px var(--naval-ui-font,system-ui,sans-serif);white-space:nowrap}
#aimOverlay.touch-aim.aim-assisted #aimFire:disabled{opacity:.72;filter:saturate(.6)}
#aimOverlay.touch-aim.aim-assisted #aimFine{position:absolute;left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));display:block;width:116px;height:56px;min-height:56px;padding:5px 9px;border:1px solid #a88a54;border-radius:3px;background:#14313be8;color:#f2dfb8;font:600 17px/21px var(--naval-ui-font,system-ui,sans-serif);touch-action:manipulation}
#aimOverlay.touch-aim.aim-assisted #aimFuse{left:50%;top:auto!important;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:6px 9px;gap:8px;color:#f6e4ba;background:#13313be8;border-color:#ad8a51;pointer-events:none}
#aimOverlay.touch-aim.aim-assisted #aimFuse .fuse-track{width:100px;height:8px}#aimOverlay.touch-aim.aim-assisted #aimFuse b{font:600 22px/26px var(--naval-ui-font,system-ui,sans-serif)}
#aimOverlay.touch-aim.aim-assisted #aimStick{display:none!important}
#aimOverlay.touch-aim.aim-assisted.fine-aim #aimStick{display:block!important;left:12px;bottom:80px;width:100px;height:100px}
#aimOverlay.touch-aim.aim-assisted.fine-aim #aimStick .stick-thumb{left:28px;top:28px}
#aimOverlay.touch-aim.aim-assisted .aim-help{display:none!important}
#aimOverlay.touch-aim.aim-assisted #aimStatus{bottom:84px;max-width:calc(100vw - 36px);text-align:center;font:600 16px/21px var(--naval-ui-font,system-ui,sans-serif);border:1px solid #9b8052;pointer-events:none}
#aimOverlay.touch-aim.aim-assisted #aimStatus:empty{display:none}
#aimOverlay.touch-aim.aim-assisted #aimReticle .aim-center{width:28px;height:28px}#aimOverlay.touch-aim.aim-assisted #aimReticle .aim-center:before{top:12px;height:3px}#aimOverlay.touch-aim.aim-assisted #aimReticle .aim-center:after{left:12px;width:3px}
@media(max-width:720px){#aimOverlay.touch-aim.aim-assisted #aimTargets button{grid-template-columns:24px minmax(0,1fr);column-gap:4px;padding-inline:6px!important}#aimOverlay.touch-aim.aim-assisted #aimTargets button img{width:24px!important;height:28px!important}#aimOverlay.touch-aim.aim-assisted .aim-target-name{font-size:18px}#aimOverlay.touch-aim.aim-assisted .aim-target-meta{font-size:16px}#aimOverlay.touch-aim.aim-assisted #aimFuse .fuse-track{width:80px}}

#aimOverlay.touch-aim.aim-assisted :is(#aimClose,#aimTargetPrev,#aimTargetNext) img{filter:brightness(0) invert(.93)}
#aimOverlay.touch-aim.aim-assisted,#aimOverlay.touch-aim.aim-assisted :is(button,b,span,small){font-family:var(--naval-ui-font,system-ui,sans-serif)!important}

/* Target switching stays available without covering the aimed ship with prose. */
#aimTargets .aim-target-index{display:none}
#aimOverlay.touch-aim.aim-assisted #aimTargetRail{left:auto!important;right:max(8px,env(safe-area-inset-right))!important;max-width:calc(100vw - 88px);height:48px;gap:6px}
#aimOverlay.touch-aim.aim-assisted #aimTargetRail[data-count="1"]{display:none!important}
#aimOverlay.touch-aim.aim-assisted #aimTargets{flex:0 0 auto!important;width:auto!important;max-width:118px!important;gap:6px}
#aimOverlay.touch-aim.aim-assisted #aimTargets button{display:flex!important;flex:0 0 56px!important;width:56px!important;min-width:56px!important;height:48px!important;min-height:48px!important;justify-content:center;gap:4px;padding:4px!important;border-radius:6px}
#aimOverlay.touch-aim.aim-assisted #aimTargets button img{width:24px!important;height:24px!important}
#aimOverlay.touch-aim.aim-assisted #aimTargets :is(.aim-target-name,.aim-target-meta){display:none!important}
#aimOverlay.touch-aim.aim-assisted #aimTargets .aim-target-index{display:block;font:600 16px/20px var(--naval-ui-font,system-ui,sans-serif)}
#aimOverlay.touch-aim.aim-assisted :is(#aimTargetPrev,#aimTargetNext){height:48px;min-height:48px;border-radius:6px}

#aimOverlay.touch-aim.aim-assisted #aimTargets>button[hidden]{display:none!important}

/* Action and keyboard hint have separate owners and lifetimes. */
#aimFire kbd{font:inherit;white-space:nowrap}
#aimFire kbd:before{content:" · "}
#aimFire kbd[hidden],#aimOverlay.touch-aim #aimFire kbd{display:none!important}

/* The same nautical control surface is used throughout touch screens. */
#aimOverlay.touch-aim.aim-assisted :is(button,#aimFine){background:#12343b!important;background-image:none!important;border:1px solid #b59c67!important;border-radius:4px!important;box-shadow:none!important;clip-path:none!important}
