.map-root{--map-bg:var(--bg,#0b0b14);--map-surface:var(--surface,#12121c);--map-text:var(--text,#e9eaf4);--map-muted:var(--muted,#9aa0b5);--map-magenta:var(--accent-magenta,#ff2fb3);--map-cyan:var(--accent-cyan,#22e5ff);--map-orange:var(--accent-orange,#ff7a3d);--map-radius:var(--radius,14px);--map-line:color-mix(in srgb, var(--map-cyan) 22%, transparent);--map-ocean:var(--bg,#0b0b14);--map-sea:radial-gradient(78% 60% at 46% 38%, color-mix(in srgb, var(--map-magenta) 9%, transparent), transparent 72%), radial-gradient(62% 52% at 82% 82%, color-mix(in srgb, var(--map-cyan) 8%, transparent), transparent 70%), repeating-linear-gradient(0deg, color-mix(in srgb, var(--map-cyan) 5%, transparent) 0 1px, transparent 1px 72px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--map-cyan) 5%, transparent) 0 1px, transparent 1px 72px);--map-label-size:14px;--map-h-full:max(700px, calc(100vh - 11rem));border:1px solid var(--map-line,#22e5ff38);border-radius:var(--map-radius);background:var(--map-surface);width:100%;min-height:220px;color:var(--map-text);isolation:isolate;flex-direction:column;display:flex;position:relative;overflow:hidden}@supports (height:100dvh){.map-root{--map-h-full:max(700px, calc(100dvh - 11rem))}}@media (width>=60rem){.map-root{--map-h-full:max(780px, calc(100vh - 9rem))}@supports (height:100dvh){.map-root{--map-h-full:max(780px, calc(100dvh - 9rem))}}}.map-root *{box-sizing:border-box}.map-vh{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.map-chrome{border-bottom:1px solid var(--map-line,#22e5ff38);background:color-mix(in srgb, var(--map-bg) 70%, var(--map-surface));flex-direction:column;flex:none;gap:.55rem;padding:.7rem .8rem;display:flex}.map-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.map-search{flex:14rem;min-width:10rem;position:relative}.map-search input{width:100%;font:inherit;color:var(--map-text);background:var(--map-bg);border:1px solid var(--map-line,#22e5ff38);border-radius:calc(var(--map-radius) / 2);padding:.45rem .7rem;font-size:.9rem}.map-search input::placeholder{color:var(--map-muted);opacity:.8}.map-search input:focus-visible{outline:2px solid var(--map-cyan);outline-offset:1px}.map-meta{color:var(--map-muted);flex-wrap:wrap;gap:.15rem .75rem;margin:0;font-size:.78rem;line-height:1.5;display:flex}.map-meta b{color:var(--map-text);font-weight:600}.map-filters{flex-direction:column;gap:.4rem;min-height:3.8rem;display:flex}.map-chipset{scrollbar-width:none;overscroll-behavior-x:contain;flex-wrap:nowrap;align-items:center;gap:.35rem;min-height:1.9rem;padding-bottom:1px;display:flex;overflow:auto hidden}.map-chipset::-webkit-scrollbar{display:none}.map-chipset>*{flex:none}.map-chipset__label{letter-spacing:.09em;text-transform:uppercase;color:var(--map-muted);flex:none;margin-right:.15rem;font-size:.68rem}.map-chip{--chip:var(--map-cyan);font:inherit;color:var(--map-text);border:1px solid color-mix(in srgb, var(--chip) 45%, transparent);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .6rem;font-size:.78rem;line-height:1.5;transition:background-color .15s,color .15s;display:inline-flex}.map-chip:before{content:"";background:var(--chip);border-radius:50%;flex:none;width:.55rem;height:.55rem}.map-chipset[data-filter-group=region] .map-chip:before,.map-chipset[data-filter-group=status] .map-chip:before{display:none}.map-chip:hover{background:color-mix(in srgb, var(--chip) 16%, transparent)}.map-chip:focus-visible{outline:2px solid var(--map-cyan);outline-offset:2px}.map-chip[aria-pressed=true]{color:var(--map-bg);background:var(--chip);border-color:var(--chip);font-weight:600}.map-chip[aria-pressed=true]:before{background:var(--map-bg)}.map-stage{flex:auto;width:100%;min-height:0;position:relative}.map-canvas{background:var(--map-sea), var(--map-ocean);width:100%;height:100%;position:absolute;inset:0}.map-root[data-dev="1"] .map-canvas,.map-root[data-dev="1"] .leaflet-grab,.map-root[data-dev="1"] .leaflet-container{cursor:crosshair}.map-fallback{text-align:center;color:var(--map-muted);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1rem;font-size:.85rem;display:flex;position:absolute;inset:0}.map-fallback a{color:var(--map-cyan)}.map-fallback__spinner{border:2px solid color-mix(in srgb, var(--map-cyan) 30%, transparent);border-top-color:var(--map-cyan);border-radius:50%;width:1.6rem;height:1.6rem;animation:.9s linear infinite map-spin}@keyframes map-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.map-fallback__spinner{animation:none}}.map-root.is-ready .map-fallback,.map-root.is-error .map-fallback__spinner{display:none}.map-legend{z-index:900;max-width:min(22rem,100% - 1.2rem);color:var(--map-text);background:color-mix(in srgb, var(--map-surface) 92%, transparent);border:1px solid var(--map-line,#22e5ff38);border-radius:calc(var(--map-radius) / 1.6);backdrop-filter:blur(6px);font-size:.76rem;position:absolute;bottom:.6rem;left:.6rem}.map-legend>summary{cursor:pointer;letter-spacing:.04em;padding:.35rem .7rem;font-weight:600;list-style:none}.map-legend>summary::-webkit-details-marker{display:none}.map-legend>summary:after{content:" ▸";color:var(--map-cyan)}.map-legend[open]>summary:after{content:" ▾"}.map-legend>summary:focus-visible{outline:2px solid var(--map-cyan);outline-offset:2px}.map-legend ul{gap:.4rem;margin:0;padding:0 .7rem .6rem;list-style:none;display:grid}.map-legend li{color:var(--map-muted);grid-template-columns:.9rem 1fr;align-items:start;gap:.5rem;line-height:1.4;display:grid}.map-legend b{color:var(--map-text)}.legend-dot{background:var(--map-cyan);border:2px solid var(--map-cyan);border-radius:50%;width:.85rem;height:.85rem;margin-top:.22rem}.legend-dot.st-confirmed{background:var(--map-cyan)}.legend-dot.st-trailer-sighting{background:var(--map-bg)}.legend-dot.st-rumor{background:var(--map-bg);opacity:.75;border-style:dotted}.legend-dot.st-leak-free-speculation{background:var(--map-bg);opacity:.85;border-style:dashed}.map-root .map-region-label{pointer-events:none;background:0 0;border:0;width:0!important;height:0!important}.map-root .map-region-label>span{white-space:nowrap;font-family:var(--font-display,"Bebas Neue", "Inter Variable", system-ui, sans-serif);font-size:var(--map-label-size);letter-spacing:.18em;text-transform:uppercase;color:var(--map-text);opacity:.7;text-shadow:0 0 9px #060810f2, 0 1px 3px #060810e6, 0 0 24px color-mix(in srgb, var(--map-cyan) 28%, transparent);font-weight:400;line-height:1;transition:opacity .18s;display:block;position:absolute;top:0;left:0;transform:translate(calc(-50% - .09em),-50%)}.map-root .map-region-label.is-hidden>span{opacity:0}@media (prefers-reduced-motion:reduce){.map-root .map-region-label>span{transition:none}}.map-pin{background:0 0;border:0}.map-pin svg{filter:drop-shadow(0 2px 4px #0009);width:26px;height:34px;display:block;overflow:visible}.map-pin .pin-core{fill:var(--map-bg,#0b0b14)}.map-pin.st-confirmed .pin-core{fill:#fff}.map-pin.st-rumor .pin-body{opacity:.6;stroke:#fff;stroke-opacity:.55;stroke-width:1.4px;stroke-dasharray:2.5 2.5}.map-pin.st-leak-free-speculation .pin-body{opacity:.8;stroke:#fff;stroke-opacity:.5;stroke-width:1.4px;stroke-dasharray:5 3}.map-pin:focus{outline:none}.map-pin:focus-visible svg,.map-pin.is-active svg{filter:drop-shadow(0 0 0 #0000) drop-shadow(0 0 6px var(--map-cyan)) drop-shadow(0 0 2px var(--map-cyan))}.map-pin:focus-visible{outline:2px solid var(--map-cyan);outline-offset:3px;border-radius:4px}.leaflet-marker-icon.map-cluster{width:42px;height:42px;color:var(--map-bg,#0b0b14);background:var(--map-cyan,#22e5ff);border:2px solid color-mix(in srgb, var(--map-bg,#0b0b14) 60%, transparent);box-shadow:0 0 0 6px color-mix(in srgb, var(--map-cyan,#22e5ff) 22%, transparent);border-radius:50%;place-items:center;font-size:.85rem;font-weight:700;display:grid!important}.map-cluster:focus-visible{outline:2px solid var(--map-magenta,#ff2fb3);outline-offset:3px}.map-popup{gap:.4rem;min-width:12rem;max-width:17rem;display:grid}.map-popup h3{color:var(--map-text);margin:0;font-size:1rem;line-height:1.25}.map-popup p{color:var(--map-muted);margin:0;font-size:.82rem;line-height:1.5}.map-popup__tags{flex-wrap:wrap;gap:.3rem;display:flex}.map-badge{letter-spacing:.05em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:.1rem .45rem;font-size:.68rem;display:inline-block}.map-badge.st-confirmed{color:#4ade80}.map-badge.st-trailer-sighting{color:var(--map-cyan)}.map-badge.st-rumor{color:var(--map-orange)}.map-badge.st-leak-free-speculation{color:var(--map-magenta)}.map-badge--cat{color:var(--cat,var(--map-cyan))}.map-popup__link{color:var(--map-cyan);justify-self:start;font-size:.84rem;font-weight:600}.map-ctrl{flex-direction:column;display:flex;overflow:hidden}.map-ctrl__btn{width:30px;height:30px;font:inherit;color:var(--map-text);background:color-mix(in srgb, var(--map-surface) 92%, transparent);border:0;border-bottom:1px solid var(--map-line,#22e5ff38);cursor:pointer;place-items:center;padding:0;display:grid}.map-ctrl__btn:last-child{border-bottom:0}.map-ctrl__btn svg{width:18px;height:18px;display:block}.map-ctrl__btn:hover{background:var(--map-surface);color:var(--map-cyan)}.map-ctrl__btn:focus-visible{outline:2px solid var(--map-cyan);outline-offset:-2px}.map-ctrl__btn[aria-pressed=true]{color:var(--map-cyan)}.map-root:fullscreen,.map-root:-webkit-full-screen{border:0;border-radius:0;width:100%;max-height:none;height:100%!important}.map-root:fullscreen,.map-root:fullscreen{border:0;border-radius:0;width:100%;max-height:none;height:100%!important}.map-root.is-pseudo-fullscreen{z-index:10000;border:0;border-radius:0;width:auto;position:fixed;inset:0;height:auto!important}:root.map-fs-lock,:root.map-fs-lock body{overflow:hidden}.map-placeholder-badge{z-index:900;letter-spacing:.02em;max-width:min(13rem,62%);color:var(--map-muted);background:color-mix(in srgb, var(--map-surface) 88%, transparent);border:1px solid var(--map-line,#22e5ff38);backdrop-filter:blur(6px);pointer-events:none;border-radius:999px;margin:0;padding:.25rem .6rem;font-size:.7rem;line-height:1.4;position:absolute;top:.6rem;right:.6rem}.map-toast{z-index:1000;color:var(--map-bg,#0b0b14);background:var(--map-magenta,#ff2fb3);opacity:0;pointer-events:none;border-radius:999px;padding:.4rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;transition:opacity .18s,transform .18s;position:absolute;bottom:1rem;left:50%;transform:translate(-50%,.6rem)}.map-toast.is-on{opacity:1;transform:translate(-50%)}.map-devbar{z-index:1000;position:absolute;bottom:.6rem;right:.6rem}.map-devbar__btn{font:inherit;color:var(--map-bg,#0b0b14);background:var(--map-cyan,#22e5ff);cursor:pointer;border:0;border-radius:999px;padding:.3rem .7rem;font-size:.76rem;font-weight:600}.map-devbar__btn:focus-visible{outline:2px solid var(--map-magenta,#ff2fb3);outline-offset:2px}.map-pin--ghost svg{opacity:.75;filter:drop-shadow(0 0 6px var(--map-cyan,#22e5ff))}.map-root .map-repin-old{opacity:.9}.map-root .leaflet-container{width:100%;height:100%;font:inherit;background:var(--map-sea), var(--map-ocean);outline-offset:2px}.map-root .leaflet-container a{color:var(--map-cyan)}.map-root .leaflet-image-layer{image-rendering:auto}.map-root .leaflet-bar,.map-root .leaflet-bar a{border-color:var(--map-line,#22e5ff38);color:var(--map-text);background:color-mix(in srgb, var(--map-surface) 92%, transparent)}.map-root .leaflet-bar a:hover{background:var(--map-surface);color:var(--map-cyan)}.map-root .leaflet-popup-content-wrapper,.map-root .leaflet-popup-tip{background:var(--map-surface);color:var(--map-text);border:1px solid var(--map-line,#22e5ff38);box-shadow:0 10px 30px #0000008c}.map-root .leaflet-popup-content-wrapper{border-radius:calc(var(--map-radius) / 1.6)}.map-root .leaflet-popup-content{margin:.75rem .85rem;line-height:1.5}.map-root .leaflet-popup-close-button{color:var(--map-muted);padding:.35rem .4rem 0 0}.map-root .leaflet-popup-close-button:hover{color:var(--map-text)}.map-root .leaflet-marker-icon:focus-visible,.map-root .leaflet-interactive:focus-visible{outline:2px solid var(--map-cyan);outline-offset:3px}.map-root .marker-cluster,.map-root .marker-cluster div{background:0 0}@media (width<=40rem){.map-legend{max-width:calc(100% - 1.2rem);font-size:.72rem}}
