#europe-map{display:block;background:var(--c-sea);cursor:grab}#europe-map:active{cursor:grabbing}#europe-map:focus{outline:var(--focus-ring);outline-offset:-2px}.country{stroke:#140f0a80;stroke-width:.5;transition:filter .12s ease,stroke-width .12s ease}.country--covered{cursor:pointer}.country--covered:hover,.country--covered.is-hover{stroke-width:1.5;stroke:var(--c-ink);filter:brightness(1.08)}.country--covered.is-highlighted{stroke-width:2;stroke:var(--c-accent)}.country--covered.is-dimmed{opacity:.35}.country--outside{fill:var(--c-outside);stroke:var(--c-outside-line);stroke-width:.4;cursor:default;transition:filter .1s ease-out}.country--outside:hover{filter:brightness(.92);stroke:var(--c-ink-mute);stroke-width:.6}.country--outside.hatched{fill:url(#hatch-outside)}.tooltip{position:absolute;background:var(--c-bg-elev);border:1px solid var(--c-line);box-shadow:0 6px 24px #00000026;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm);min-width:240px;max-width:320px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .1s ease,transform .1s ease;z-index:10}.tooltip[data-visible=true]{opacity:1;transform:translateY(0)}.tooltip__name{font-family:var(--font-serif);font-size:var(--fs-md);font-weight:600;margin-bottom:var(--sp-2);display:flex;align-items:center;gap:6px}.tooltip__row{display:flex;justify-content:space-between;gap:var(--sp-3);margin:2px 0}.tooltip__row .k{color:var(--c-ink-mute);font-size:var(--fs-xs)}.tooltip__row .v{text-align:right}.tooltip__badge{display:inline-block;padding:1px 6px;font-size:10px;border-radius:8px;color:#fff;background:var(--c-ink-soft);vertical-align:middle}.tooltip__note{font-size:var(--fs-xs);color:var(--c-ink-mute);margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--c-line-soft)}.map-controls{position:absolute;top:var(--sp-3);left:var(--sp-3);display:flex;flex-direction:column;gap:4px}.map-controls button{width:32px;height:32px;padding:0;background:var(--c-bg-elev);color:var(--c-ink);border:1px solid var(--c-line);border-radius:var(--r-sm);font-family:var(--font-mono)}.map-zoom{position:absolute;bottom:var(--sp-3);left:var(--sp-3);display:flex;flex-direction:row;align-items:center;gap:6px;background:var(--c-bg-elev);border:1px solid var(--c-line);border-radius:var(--r-md);padding:4px 8px;box-shadow:0 4px 14px #0000001f;z-index:5;-webkit-user-select:none;user-select:none}.map-zoom__btn{width:26px;height:26px;padding:0;background:transparent;color:var(--c-ink);border:1px solid var(--c-line-soft);border-radius:var(--r-sm);font-family:var(--font-serif);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s ease,border-color .1s ease,color .1s ease;flex-shrink:0}.map-zoom__btn:hover,.map-zoom__btn:focus-visible{background:var(--c-accent);border-color:var(--c-accent);color:#fff;outline:none}.map-zoom__btn:active{transform:translateY(1px)}.map-zoom__slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:130px;height:5px;background:linear-gradient(to right,var(--c-line-soft) 0%,var(--c-line-soft) var(--zoom-fill, 0%),var(--c-line-soft) var(--zoom-fill, 0%));border-radius:3px;cursor:pointer;outline:none;padding:10px 0;background-clip:content-box;margin:0}.map-zoom__slider{background-image:linear-gradient(to right,var(--c-accent) 0%,var(--c-accent) var(--zoom-fill, 0%),var(--c-line-soft) var(--zoom-fill, 0%),var(--c-line-soft) 100%)}.map-zoom__slider::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:transparent}.map-zoom__slider::-moz-range-track{height:5px;border-radius:3px;background:transparent}.map-zoom__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--c-accent);box-shadow:0 2px 4px #0000002e;cursor:grab;margin-top:-5.5px;transition:transform .1s ease}.map-zoom__slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.map-zoom__slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.25)}.map-zoom__slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--c-accent);box-shadow:0 2px 4px #0000002e;cursor:grab}.map-zoom__slider:focus-visible::-webkit-slider-thumb{outline:3px solid var(--c-accent);outline-offset:2px}.map-zoom__pct{font-family:var(--font-mono);font-size:11px;color:var(--c-ink-mute);min-width:38px;text-align:right;font-variant-numeric:tabular-nums}.sea-label{font-family:var(--font-serif);font-style:italic;fill:#5d7f95;pointer-events:none;-webkit-user-select:none;user-select:none;text-anchor:middle;dominant-baseline:middle;paint-order:stroke fill;stroke:var(--c-bg, #F6F2EA);stroke-width:3px;stroke-linejoin:round}.sea-label--lg{font-size:15px;letter-spacing:.22em;fill:#4a6b81;text-transform:uppercase;font-weight:400}.sea-label--md{font-size:12px;letter-spacing:.15em;fill:#5d7f95}.sea-label--sm{font-size:10px;letter-spacing:.08em;fill:#6a8a9e}@media (prefers-color-scheme: dark){.sea-label{stroke:var(--c-bg, #1a1815);fill:#7fa4bd}.sea-label--lg{fill:#93b3c9}.sea-label--sm{fill:#6d95ae}}.maritime-choke__halo{filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));transition:r .15s ease-out,stroke-width .15s}.maritime-choke__dot{transition:r .15s ease-out}.maritime-choke:hover .maritime-choke__halo,.maritime-choke:focus-visible .maritime-choke__halo{r:10;stroke-width:3}.maritime-choke:hover .maritime-choke__dot,.maritime-choke:focus-visible .maritime-choke__dot{r:4.5}.maritime-choke:focus-visible{outline:none}.maritime-choke:focus-visible .maritime-choke__halo{stroke:var(--c-accent)}.tooltip__pirate{margin-top:8px;padding:6px 8px;border-radius:3px;font-size:11.5px;line-height:1.4}.tooltip__pirate--high{background:#8b1e1e24;color:#6a1414}.tooltip__pirate--mid{background:#f4a82c3d;color:#5d3a04}.tooltip__pirate--low{background:var(--c-bg-inset);color:var(--c-ink-soft)}.tooltip__section-label{font-size:10.5px;color:var(--c-ink-soft);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin:4px 0}.tooltip__badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.tooltip__badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--c-bg-inset);color:var(--c-ink);font-size:11px;font-weight:600;border:1px solid var(--c-line-soft)}
