#missionMap[hidden]{display:none!important}
.choosing-mission #ui,.choosing-mission #shipLabels,.choosing-mission #mission,.choosing-mission #ownedFleet,body.choosing-mission>header,.choosing-mission #sea{visibility:hidden}
#missionMap{position:fixed;inset:0;z-index:210;display:grid;grid-template-rows:64px minmax(0,1fr) 106px;gap:8px;padding:14px 28px;background:#102e36;color:#efdcb0;isolation:isolate}
#missionMap .mission-map-heading{all:unset;box-sizing:border-box;position:relative;display:flex;width:100%;height:100%;justify-content:space-between;align-items:center;gap:16px;padding:0;background:none;color:inherit;min-height:0;z-index:1}
#missionMap .mission-map-heading h1{margin:0;font:600 34px/40px var(--font-display);letter-spacing:.6px;white-space:nowrap}
#missionMap #mapBack{display:flex;align-items:center;gap:6px;min-height:44px;width:170px;padding:7px 10px;font:600 18px/23px var(--font-display);color:#efdcb0;background:none;border:0;box-shadow:none;clip-path:none}
#missionMap #mapBack img{width:26px;height:26px;object-fit:contain}
#missionMap .map-heading-spacer{width:170px;flex-shrink:0}
#missionMap .mission-map-stage{position:relative;display:block;overflow:auto;min-height:0;min-width:0;touch-action:none;user-select:none;cursor:grab;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5a571 #193d45}
#missionMap .mission-map-stage.dragging{cursor:grabbing}
#missionMap .mission-map-stage::-webkit-scrollbar{width:10px;height:10px}
#missionMap .mission-map-stage::-webkit-scrollbar-track{background:#193d45}
#missionMap .mission-map-stage::-webkit-scrollbar-thumb{background:#c5a571}
#missionMap .mission-map-board{position:relative;max-width:none;max-height:none;margin:0 auto}
#missionMap .caribbean-art,#missionMap .mission-route,#missionMap .map-place-labels,#missionMap .mission-points{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#missionMap .caribbean-art{object-fit:fill}
#missionMap .map-place-labels{fill:#604928;font:600 21px var(--font-display);letter-spacing:1.4px}
#missionMap .map-route-segment{fill:none;stroke:#865c35;stroke-width:4;stroke-dasharray:9 12;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.7}
#missionMap .map-route-segment.available{stroke:#a05636;opacity:1}
#missionMap .map-route-segment.done{stroke:#47644b;opacity:.95}
#missionMap .map-mission-point{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;min-height:48px;margin:0;padding:3px;border:2px solid #795333;border-radius:50%;background:#eedcb5;color:#4b311e;box-shadow:0 2px 5px #4b2b1644;clip-path:none;font:700 22px/26px var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer}
#missionMap .map-mission-point.available{background:#a05636;border-color:#6c3c27;color:#fff0c9}
#missionMap .map-mission-point.done{background:#c6ce9d;border-color:#546444;color:#344729}
#missionMap .map-mission-point.locked{background:#decca7;color:#766448;border-color:#9b8260}
#missionMap .map-mission-point.selected,#missionMap .map-mission-point:focus-visible{outline:3px solid #b9793a;outline-offset:4px}
#missionMap .map-mission-point:hover{outline:3px solid #a27443;outline-offset:4px}
#missionMap .map-node-lock{position:absolute;right:-3px;bottom:-5px;width:24px;height:24px;object-fit:contain}
#missionMap .map-boss-mark{position:absolute;right:-7px;top:-10px;width:26px;height:26px;object-fit:contain}
#missionMap .map-point-caption{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);width:max-content;max-width:190px;white-space:nowrap;color:#4d351e;background:#f0dfbbee;padding:3px 7px;font:600 17px/20px var(--font-display);border-radius:2px;opacity:0;visibility:hidden;pointer-events:none}
#missionMap .map-mission-point:is(:hover,:focus-visible,.selected) .map-point-caption{opacity:1;visibility:visible}
#missionMap #mapMissionDock{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:22px;align-self:center;width:min(100%,1120px);margin:0 auto;padding:8px 0;color:#eeddb8}
#missionMap .map-mission-summary{display:flex;align-items:center;gap:14px;min-width:0;flex:1}
#missionMap .map-mission-index{font:600 40px/44px var(--font-body);color:#c7a269;min-width:44px;text-align:center}
#missionMap .map-mission-summary h2{margin:0;font:600 27px/30px var(--font-display)}
#missionMap .map-mission-state{font:17px/22px var(--font-body);color:#d6c29b}
#missionMap .map-enemies{display:flex;align-items:center;gap:10px}
#missionMap .map-enemies figure{margin:0;min-width:80px;text-align:center}
#missionMap .map-enemies img{display:block;width:80px;height:60px;object-fit:contain}
#missionMap .map-enemies figcaption{font:16px/18px var(--font-body);color:#d6c29b}
#missionMap #mapLaunch{min-width:190px;min-height:50px;padding:10px 16px;font:600 22px/26px var(--font-display);background:#965037;border:2px solid #d1ac72;color:#fff1d0;box-shadow:none;clip-path:none;cursor:pointer}
#missionMap #mapLaunch:disabled{background:#29414a;color:#d6c29b;border-color:#71818a;opacity:1;filter:none;cursor:default}
#missionMap button:focus-visible{outline:2px solid #edd5a1;outline-offset:4px}
@media(max-width:1400px),(max-height:850px){#missionMap{grid-template-rows:44px minmax(0,1fr) 88px;padding:10px 18px;gap:6px}#missionMap .mission-map-heading h1{font-size:27px;line-height:32px}#missionMap .map-mission-summary h2{font-size:23px;line-height:26px}#missionMap .map-enemies img{width:64px;height:48px}#missionMap .map-enemies figure{min-width:64px}#missionMap #mapLaunch{min-width:170px;font-size:19px}}
#preparation #prepBattle{white-space:normal}
#missionMap .map-controls{position:absolute;top:100px;right:46px;z-index:2;display:flex;gap:6px}
#missionMap .map-controls button{position:relative;width:46px;height:46px;min-height:46px;padding:6px;border:1px solid #8b693d;background:#eedbb2;color:#51351e;box-shadow:none;clip-path:none}
#missionMap .map-controls img{width:32px;height:32px;object-fit:contain}
#missionMap .map-controls b{position:absolute;bottom:0;right:2px;font:700 21px/22px var(--font-body);color:#4b311e;background:#eedbb2}
#missionMap .map-controls span{position:absolute;top:calc(100% + 7px);right:0;width:max-content;padding:4px 8px;background:#eddbb4;color:#51351e;font:16px/20px var(--font-body);opacity:0;visibility:hidden;pointer-events:none}
#missionMap .map-controls button:is(:hover,:focus-visible) span{opacity:1;visibility:visible}
@media(max-width:1400px),(max-height:850px){#missionMap .map-controls{top:66px;right:28px}}

.choosing-mission #toast{z-index:260}

#missionMap .map-node-done{position:absolute;right:-3px;bottom:-4px;width:24px;height:24px;background:#c6ce9d;border-radius:50%;fill:none;stroke:#385330;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
