/* Wreck Map research edition — geographic map + historical archive */
.geographic-map{position:absolute;inset:0;z-index:1;background:#0a2630}
.sea-map:after{z-index:2;box-shadow:inset 0 0 35px rgba(1,12,20,.32)}
.leaflet-container{background:#0b2631;font-family:var(--sans);outline:0}
.leaflet-control-attribution{font-size:10px!important;background:#071923dc!important;color:#c5dddd!important}
.leaflet-control-attribution a{color:#a7e9d9!important}
.leaflet-bar{border:1px solid rgba(164,235,213,.4)!important;box-shadow:0 8px 20px #0005!important}
.leaflet-bar a,.leaflet-bar a:hover{background:#0a2732!important;color:#b5ebdd!important;border-bottom:1px solid rgba(164,235,213,.2)!important}
.wreck-map-marker{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(167,238,220,.65);background:#0b2a31d9;box-shadow:0 0 0 6px rgba(143,228,210,.09),0 0 24px rgba(138,223,202,.15);transition:transform .2s}
.wreck-map-marker .marker-core{width:12px;height:12px;border-radius:50%;background:#c5e8d4;border:3px solid #d5ffec}
.wreck-map-marker.marker-sub{border-color:#d6b67e;box-shadow:0 0 0 6px rgba(229,181,111,.15),0 0 22px rgba(229,181,111,.2)}
.wreck-map-marker.marker-sub .marker-core{background:#d6b67e;border-color:#f4d09c}
.wreck-map-marker.selected{transform:scale(1.3);border-color:#f7f4d9;box-shadow:0 0 0 8px rgba(143,228,210,.17),0 0 28px rgba(143,228,210,.42)}
.wreck-tooltip{background:#0a2832;color:#eafff4;border:1px solid rgba(159,230,216,.55);box-shadow:0 10px 30px #0008;padding:7px 9px;font:800 10px var(--display);letter-spacing:.06em}
.wreck-tooltip::before{border-top-color:#0a2832!important}
.map-status{position:absolute;pointer-events:none;bottom:26px;left:19px;z-index:500;max-width:calc(100% - 38px);font:800 9px/1.6 var(--display);color:#e1fbf4;letter-spacing:.13em;background:#08212dcc;border:1px solid #669d984c;padding:9px 12px}
.map-status .pulse-dot{display:inline-block;margin-right:7px}
.map-status-separator{color:#94b3b3;margin:0 4px}
.map-reset{z-index:499;position:absolute;top:16px;right:15px;background:#0a2832e9;color:#b8eadc;border:1px solid #669d9880;padding:9px 11px;font:800 9px var(--display);letter-spacing:.08em;cursor:pointer}
.map-reset:hover{background:#1b424c}
.map-unavailable{position:absolute;z-index:600;inset:10% 8%;background:linear-gradient(140deg,#0b2837ee,#061923ee);border:1px solid #477975;padding:35px;place-content:center;text-align:center}
.map-unavailable:not([hidden]){display:grid}
.map-unavailable h3{font:800 28px var(--display);margin:14px 0}
.map-unavailable p{font:400 14px/1.7 var(--sans);color:#a5c7c7;max-width:360px}
.explorer-body{min-height:700px}
.wreck-list{max-height:260px;overflow-y:auto;scrollbar-color:#52857c #0b2530;scrollbar-width:thin;padding-right:3px}
.dossier-card{margin-top:8px;padding-top:18px}
.dossier-card h4{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.protected-tag{font:800 8px/1.3 var(--display);letter-spacing:.12em;background:#6c4a1b;border:1px solid #d6b37a;color:#ffe2b2;padding:5px 6px}
.protected-list-icon{color:#d6b37a;font-size:9px}
.position-note{font-size:10px!important;color:#98b1b5!important;padding-top:3px}
.dossier-link{display:inline-flex;align-items:center;gap:18px;justify-content:space-between;color:#0a2730;background:#b1e8d4;border:1px solid #b1e8d4;padding:12px 14px;margin-top:7px;font:800 10px var(--display);letter-spacing:.1em;width:100%;transition:background .15s}
.dossier-link:hover{background:#ecfff5}
.dossier-link span{font-size:15px}
@media(max-width:930px){.archive-panel{display:flex}.explorer-body{min-height:0}.sea-map{height:480px}.wreck-list{max-height:236px}.map-reset{right:15px;top:17px}}
@media(max-width:680px){.sea-map{height:430px;min-height:430px}.map-status{bottom:23px;left:9px;font-size:7px;letter-spacing:.05em;padding:7px 9px}.map-reset{font-size:8px;padding:8px;top:12px;right:10px}.map-unavailable{padding:20px}.wreck-list{max-height:250px}.archive-panel{padding:22px 17px}}

/* Browser-independent North Yorkshire backup map */
.local-map-canvas{position:absolute;inset:0;z-index:0;background:#0a2531;overflow:hidden}
.local-map-canvas[hidden]{display:none!important}
.local-map-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.offline-map-mode .local-map-canvas{z-index:10}
.local-map-marker{position:absolute;z-index:11;transform:translate(-50%,-50%);background:transparent;border:0;padding:12px 5px;cursor:pointer;color:#edfdf7;display:flex;align-items:center;gap:6px;white-space:nowrap}
.local-map-marker[hidden]{display:none!important}
.local-map-marker:hover,.local-map-marker:focus-visible,.local-map-marker.is-selected{z-index:12;filter:drop-shadow(0 0 12px #98f3dc)}
.local-map-marker:focus-visible{outline:2px solid #d3faed;outline-offset:5px}
.local-dot{width:14px;height:14px;display:block;border:3px solid #e7f8eb;border-radius:100%;box-shadow:0 0 0 7px #b5e7d41f,0 0 16px #9cebd781;background:#73d7bb;flex:none}
.local-dot.is-sub{background:#ddb96f;border-color:#ffdbac}
.local-pin-label{display:none;background:#09232de8;border:1px solid #a1ddca66;padding:6px 8px;font:700 10px/1.15 var(--sans)}
.local-map-marker.is-selected .local-pin-label,.local-map-marker:hover .local-pin-label,.local-map-marker:focus-visible .local-pin-label{display:block}
.local-map-mode{position:absolute;z-index:12;top:14px;left:12px;padding:9px 10px;font:800 9px var(--display);letter-spacing:.10em;background:#08212ce7;color:#bfece1;border:1px solid #9ce5d344}
.local-map-mode[hidden]{display:none!important}
.offline-map-mode .map-reset{z-index:13}
.offline-map-mode .map-status{z-index:13}
@media(max-width:680px){.local-map-marker{padding:10px 3px}.local-pin-label{font-size:8px;padding:5px 7px}.local-map-mode{font-size:7px;top:52px;left:8px;padding:6px 8px}}

/* Version 2.2: stable full-bleed local coastline renderer, independent of remote map tiles. */
.local-map-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:10;overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none}
.local-map-canvas:active{cursor:grabbing}
.local-map-world{position:absolute;inset:0;width:100%;height:100%;transform-origin:50% 50%;will-change:transform}
.local-map-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.local-map-marker{z-index:15}
.local-map-zoom{position:absolute;top:55px;right:15px;z-index:30;display:grid;border:1px solid #699a91;background:#08222ddf;overflow:hidden}
.local-map-zoom button{background:transparent;color:#e4fbef;border:0;min-width:42px;min-height:43px;font:700 25px/1 var(--display);padding:0}
.local-map-zoom button+button{border-top:1px solid #699a91}
.local-map-zoom button:focus-visible{background:#154b4f}
.local-map-mode{left:14px;top:15px;z-index:31;pointer-events:none}
.map-reset{z-index:31}
.map-status{z-index:30}
/* Display the user's chosen shipwreck-and-sonar symbol without changing its artwork. */
.brand-mark{overflow:hidden;border-radius:10px;border:1px solid rgba(119,246,221,.45);background:#001522;flex:none}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
@media(max-width:680px){.local-map-zoom{top:55px;right:9px}.local-map-zoom button{min-width:37px;min-height:37px;font-size:21px}.local-map-mode{top:14px;left:9px;font-size:7px;max-width:70%;line-height:1.5}.map-reset{top:auto;bottom:62px;right:10px}.sea-map{height:480px;min-height:480px}}

/* V3: preserve the working offline coastal map, avoid placing reset atop bottom markers */
@media(max-width:680px){.offline-map-mode .map-reset{top:12px;bottom:auto;right:8px;max-width:92px;padding:10px 7px;font-size:8px}.offline-map-mode .local-map-mode{max-width:calc(100% - 112px);font-size:7px}.offline-map-mode .local-map-zoom{top:62px;right:8px}}
.gx-feature-banner{background:linear-gradient(110deg,#0b3039,#08212d 70%);border-top:1px solid #40716e;border-bottom:1px solid #40716e;color:#e4fcf0;overflow:hidden}
.gx-feature-inner{padding:62px 0;display:flex;justify-content:space-between;align-items:center;gap:40px}
.gx-feature-mark>span{font:800 10px/1.6 var(--display);letter-spacing:.2em;color:#9adac8}
.gx-feature-mark>strong{display:block;font:800 clamp(41px,6vw,76px)/.96 var(--display);letter-spacing:-.065em;margin:14px 0}.gx-feature-mark>strong span{color:#9ce8cc}
.gx-feature-mark p{font:400 14px/1.7 var(--sans);max-width:540px;color:#b7d1cf;margin:0 0 24px}
.gx-feature-mark>a{display:inline-block;background:#b7ead5;color:#0a2d34;font:800 11px var(--display);letter-spacing:.1em;padding:16px 22px}
.gx-feature-mark>a:hover{background:white}.gx-feature-side{display:grid;justify-items:end;gap:18px;font:800 11px var(--display);letter-spacing:.18em;color:#83aba8}
@media(max-width:680px){.gx-feature-inner{padding:48px 0;align-items:flex-start}.gx-feature-side{display:none}.gx-feature-mark>strong{font-size:47px}}
