.map-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-canvas{background:var(--surface);overscroll-behavior:contain;touch-action:none;width:100%;height:100%}.map-canvas .leaflet-container{background:var(--surface);width:100%;height:100%;font:inherit;outline-offset:-2px}.map-canvas .tile-map__tiles{image-rendering:auto}.map-canvas .leaflet-tile-pane,.map-canvas .leaflet-marker-pane{will-change:transform}.map-canvas .leaflet-tile{backface-visibility:hidden}.map-canvas .leaflet-control-zoom a{background:var(--surface);color:var(--foreground);border-color:var(--border)}.map-canvas .leaflet-control-zoom a:hover{background:color-mix(in srgb, var(--accent) 18%, var(--surface))}.map-canvas .leaflet-control-attribution{background:color-mix(in srgb, var(--surface) 85%, transparent);color:var(--foreground);font-size:.6875rem}:root{--map-phone-height:58svh}@media (max-width:47.9375rem){.map-screen__canvas{height:var(--map-phone-height);flex:none}.map-popup .leaflet-popup-content{max-height:calc(var(--map-phone-height) - 8rem);overscroll-behavior:contain;touch-action:pan-y;overflow-y:auto}}.map-pin,.map-cluster{contain:layout style}.map-pin{--pin:var(--pin-color,var(--accent));background:0 0;border:0}.map-pin .map-pin__body{background:color-mix(in srgb, var(--pin-color,var(--accent)) 82%, #000 18%);color:#fff;border:2px solid color-mix(in srgb, var(--pin-color,var(--accent)) 40%, #fff 60%);border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;transition:transform .12s,opacity .12s;display:flex;box-shadow:0 1px 4px #00000073}.map-pin:hover .map-pin__body,.map-pin:focus-visible .map-pin__body{transform:scale(1.15)}.map-pin .map-pin__body svg{width:15px;height:15px}.map-pin--found .map-pin__body{opacity:.45;filter:saturate(.35)}.map-pin__check{background:var(--foreground);width:14px;height:14px;color:var(--background);border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-4px;right:-4px}.map-pin__check svg{width:9px;height:9px}.map-pin__gate{background:var(--gated);border:1px solid color-mix(in srgb, var(--gated) 30%, #000 70%);pointer-events:none;border-radius:999px;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.map-collection-chip{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--radius-pill,999px);background:color-mix(in oklab, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(10px)saturate(140%);align-items:center;gap:.5rem;min-width:0;padding:.3rem .35rem .3rem .7rem;font-size:.8125rem;line-height:1.4;display:flex;box-shadow:0 2px 10px #0000002e}.map-collection-chip__label{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 80%, var(--foreground));flex:none;font-size:.5625rem;font-weight:600}.map-collection-chip__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.map-collection-chip__count{color:var(--muted);flex:none;font-size:.75rem}.map-collection-chip__clear{width:1.4rem;height:1.4rem;color:var(--muted);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.map-collection-chip__clear:hover{background:color-mix(in oklab, var(--foreground) 10%, transparent);color:var(--foreground)}.map-collection-chip__clear svg{width:.7rem;height:.7rem}.map-popup__requirement{color:color-mix(in srgb, var(--gated) 70%, var(--foreground));align-items:flex-start;gap:.375rem;margin:0;font-size:.75rem;display:flex}.map-popup__requirement svg{flex:none;width:.75rem;height:.75rem;margin-top:.15rem}.map-popup__area{opacity:.6;margin:-.25rem 0 0;font-size:.75rem}.map-layers{border-radius:var(--radius-sm,10px);border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:.25rem;padding:.1875rem;display:inline-flex;box-shadow:0 2px 10px #0000002e}.map-layers__option{background:0 0;border-color:#0000}.map-canvas .tile-map__tiles{transition:opacity .22s var(--ease-out,ease-out)}.map-note{background:0 0;border:0}.map-note .map-note__body,.map-note__swatch{background:var(--accent);border:2px solid color-mix(in srgb, var(--accent) 30%, #fff 70%);border-radius:2px;width:12px;height:12px;display:block;transform:rotate(45deg);box-shadow:0 1px 4px #00000073}.map-note .map-note__body{transition:transform var(--dur,.18s) var(--ease-out,ease);margin:3px}.map-note:hover .map-note__body,.map-note:focus-visible .map-note__body{transform:rotate(45deg)scale(1.18)}.map-note__swatch{box-shadow:none;flex:none;margin:0 .25rem}.map-canvas--notes,.map-canvas--notes .leaflet-grab,.map-canvas--notes .leaflet-interactive{cursor:crosshair}.map-canvas--notes .map-note{cursor:pointer}.map-note-editor__text{border-radius:var(--radius-xs,6px);border:1px solid var(--border);background:color-mix(in srgb, var(--foreground) 5%, transparent);width:100%;min-height:5.5rem;color:var(--foreground);font:inherit;resize:vertical;padding:.5rem;font-size:.8125rem;line-height:1.45}.map-draw-stroke{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.85}.map-draw-stroke--accent{stroke:var(--accent)}.map-draw-stroke--warm{stroke:var(--gated)}.map-draw-stroke--cool{stroke:var(--draw-cool)}.map-draw-stroke--danger{stroke:var(--draw-danger)}.map-canvas--draw,.map-canvas--draw .leaflet-grab,.map-canvas--draw .leaflet-interactive{cursor:crosshair}.map-canvas--draw .leaflet-container,.map-canvas--draw.leaflet-container{touch-action:none}.map-canvas--draw .leaflet-marker-pane,.map-canvas--draw .leaflet-map-notes-pane{pointer-events:none}.map-canvas--erase,.map-canvas--erase .leaflet-grab,.map-canvas--erase .leaflet-interactive{cursor:cell}.map-draw-tools{border-radius:var(--radius-sm,10px);border:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.375rem;max-width:13rem;padding:.375rem;display:flex}.map-draw-tools__row{align-items:center;gap:.25rem;display:flex}.map-draw-swatch{cursor:pointer;width:1.375rem;height:1.375rem;transition:border-color var(--dur,.18s) var(--ease-out,ease), transform var(--dur,.18s) var(--ease-out,ease);background:0 0;border:2px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.map-draw-swatch:before{content:"";background:var(--ink,var(--accent));border-radius:999px;width:.875rem;height:.875rem;display:block;box-shadow:0 1px 3px #00000059}.map-draw-swatch:active{transform:scale(.94)}.map-draw-swatch[aria-pressed=true]{border-color:color-mix(in srgb, var(--ink,var(--accent)) 70%, var(--border))}.map-draw-swatch--accent{--ink:var(--accent)}.map-draw-swatch--warm{--ink:var(--gated)}.map-draw-swatch--cool{--ink:var(--draw-cool)}.map-draw-swatch--danger{--ink:var(--draw-danger)}.map-draw-weight{border-radius:var(--radius-xs,6px);border:1px solid var(--border);width:1.75rem;height:1.375rem;color:var(--foreground);cursor:pointer;transition:background var(--dur,.18s) var(--ease-out,ease), border-color var(--dur,.18s) var(--ease-out,ease);background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.map-draw-weight[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 26%, transparent);border-color:color-mix(in srgb, var(--accent) 60%, var(--border))}.map-draw-weight__bar{background:currentColor;border-radius:999px;width:.875rem;display:block}.map-draw__swatch{background:var(--ink,var(--accent));border-radius:999px;flex:none;width:.75rem;height:.75rem;margin:0 .25rem;display:block}.map-draw__swatch--accent{--ink:var(--accent)}.map-draw__swatch--warm{--ink:var(--gated)}.map-draw__swatch--cool{--ink:var(--draw-cool)}.map-draw__swatch--danger{--ink:var(--draw-danger)}.map-cluster{background:0 0;border:0}.map-cluster .map-cluster__body{background:color-mix(in srgb, var(--pin-color,var(--accent)) 70%, transparent);border:2px solid color-mix(in srgb, var(--pin-color,var(--accent)) 45%, #fff 55%);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;width:100%;height:100%;font-weight:600;display:flex;box-shadow:0 2px 8px #0006}.map-cluster--sm .map-cluster__body{font-size:.75rem}.map-cluster--md .map-cluster__body{font-size:.8125rem}.map-cluster--lg .map-cluster__body{font-size:.875rem}.map-popup .leaflet-popup-content-wrapper{background:var(--surface);color:var(--foreground);border:1px solid var(--border);border-radius:var(--game-radius-card,.75rem);box-shadow:0 8px 28px #00000059}.map-popup .leaflet-popup-tip{background:var(--surface);border:1px solid var(--border)}.map-popup .leaflet-popup-content{font:inherit;margin:0;line-height:1.45}.map-popup .leaflet-popup-close-button{color:var(--foreground);opacity:.6}.map-popup__inner{flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.map-popup__eyebrow{text-transform:uppercase;letter-spacing:.04em;opacity:.7;align-items:center;gap:.375rem;font-size:.6875rem;display:flex}.map-popup__swatch{background:var(--pin-color,var(--accent));border-radius:999px;width:.5rem;height:.5rem}.map-popup__title{margin:0;font-size:.9375rem;font-weight:600;line-height:1.3}.map-popup__thumb{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);border-radius:.5rem;width:100%;height:auto}.map-popup__description{opacity:.82;margin:0;font-size:.8125rem}.map-popup__actions{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.map-popup__coords{opacity:.55;font-variant-numeric:tabular-nums;font-size:.6875rem}.map-button{border:1px solid var(--border);background:color-mix(in srgb, var(--foreground) 6%, transparent);color:var(--foreground);font:inherit;cursor:pointer;transition:background var(--dur,.18s) var(--ease-out,ease), border-color var(--dur,.18s) var(--ease-out,ease), transform var(--dur,.18s) var(--ease-out,ease);border-radius:.5rem;align-items:center;gap:.375rem;padding:.3125rem .625rem;font-size:.8125rem;line-height:1.2;text-decoration:none;display:inline-flex}.map-button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 20%, transparent)}.map-button:active:not(:disabled){transform:scale(.97)}.map-button:disabled{opacity:.5;cursor:not-allowed}.map-button--primary{background:color-mix(in srgb, var(--accent) 24%, transparent);border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.map-button--active{background:color-mix(in srgb, var(--accent) 32%, transparent);border-color:color-mix(in srgb, var(--accent) 65%, var(--border))}.map-button svg{flex:none;width:.875rem;height:.875rem}.map-button--icon{padding:.3125rem}.map-tabs{border-radius:var(--radius-sm,10px);border:1px solid var(--border);background:color-mix(in srgb, var(--foreground) 4%, transparent);gap:.1875rem;padding:.1875rem;display:flex}.map-tab{white-space:nowrap;border-radius:var(--radius-xs,6px);min-width:0;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;flex:auto;justify-content:center;align-items:center;gap:.3rem;padding:.3125rem .5rem;font-size:.8125rem;font-weight:500;line-height:1.2;display:inline-flex}.map-tab:hover{color:var(--foreground);background:color-mix(in srgb, var(--foreground) 7%, transparent)}.map-tab--active{color:var(--foreground);background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.map-tab__count{font-variant-numeric:tabular-nums;opacity:.7;font-size:.6875rem}.map-tabs~[role=tabpanel]:focus{outline:none}.map-legend__swatch{background:color-mix(in srgb, var(--pin-color,var(--accent)) 78%, #000 22%);color:#fff;border:1px solid color-mix(in srgb, var(--pin-color,var(--accent)) 40%, #fff 60%);border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:inline-flex}.map-legend__swatch svg{width:.875rem;height:.875rem}.map-legend__btn{border-radius:var(--radius-xs,6px);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.1875rem .375rem;font-size:.8125rem;display:flex}.map-legend__btn:hover{background:color-mix(in srgb, var(--foreground) 8%, transparent)}.map-legend__name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.map-legend__count{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;font-size:.75rem}.map-legend__eye{width:1rem;height:1rem;color:var(--muted);flex:none;display:inline-flex}.map-legend__eye svg{width:100%;height:100%}.map-legend__row{border-radius:var(--radius-xs,6px);transition:opacity var(--dur,.18s) var(--ease-out,ease)}.map-legend__row[data-hidden=true]{opacity:.45}.map-legend__row[data-hidden=true] .map-legend__swatch{filter:grayscale()}.map-legend__group+.map-legend__group{margin-top:.5rem}.map-legend__group-head{align-items:center;gap:.25rem;display:flex}.map-legend__group-toggle{border-radius:var(--radius-xs,6px);min-width:0;color:var(--muted);font:inherit;letter-spacing:.08em;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:.375rem;padding:.1875rem .25rem;font-size:.6875rem;font-weight:600;display:flex}.map-legend__group-toggle:hover,.map-legend__eye-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--foreground) 8%, transparent)}.map-legend__eye-btn{border-radius:var(--radius-xs,6px);color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;padding:.25rem;display:inline-flex}.map-legend__chevron{width:.75rem;height:.75rem;transition:transform var(--dur,.18s) var(--ease-out,ease);flex:none}.map-legend__group[data-collapsed=true] .map-legend__chevron{transform:rotate(-90deg)}.map-check{border-radius:var(--radius-xs,6px);transition:opacity var(--dur,.18s) var(--ease-out,ease), background var(--dur,.18s) var(--ease-out,ease);align-items:center;gap:.5rem;padding:.1875rem .25rem;display:flex}.map-check:hover{background:color-mix(in srgb, var(--foreground) 8%, transparent)}.map-check__main{border-radius:var(--radius-xs,6px);text-align:left;flex-direction:column;flex:auto;align-items:flex-start;gap:.0625rem;min-width:0;display:flex}.map-check__line{align-items:center;gap:.375rem;width:100%;min-width:0;display:flex}.map-check__title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;position:relative;overflow:hidden}.map-check__title:after{content:"";transform-origin:0;height:1px;transition:transform var(--dur,.18s) var(--ease-out,ease);background:currentColor;position:absolute;top:50%;left:0;right:0;transform:scaleX(0)}.map-check[data-found=true]{opacity:.55}.map-check[data-found=true] .map-check__title:after{transform:scaleX(1)}.map-check__area{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--muted);font-size:.6875rem;line-height:1.25;overflow:hidden}.map-check__box{appearance:none;border:1.5px solid color-mix(in srgb, var(--pin-color,var(--accent)) 45%, var(--border));border-radius:var(--radius-xs,6px);background:color-mix(in srgb, var(--pin-color,var(--accent)) 8%, transparent);cursor:pointer;width:1.0625rem;height:1.0625rem;transition:border-color var(--dur,.18s) var(--ease-out,ease), background var(--dur,.18s) var(--ease-out,ease), transform var(--dur,.18s) var(--ease-out,ease);flex:none;margin:0;position:relative}.map-check__box:hover{border-color:color-mix(in srgb, var(--pin-color,var(--accent)) 80%, transparent);background:color-mix(in srgb, var(--pin-color,var(--accent)) 16%, transparent)}.map-check__box:active{transform:scale(.92)}.map-check__box:after{content:"";border:solid color-mix(in srgb, var(--pin-color,var(--accent)) 90%, var(--foreground));opacity:0;width:.3rem;height:.55rem;transition:opacity var(--dur-fast,.15s) var(--ease-out,ease), transform var(--dur-fast,.15s) var(--ease-out,ease);border-width:0 2px 2px 0;margin:-.33rem 0 0 -.17rem;position:absolute;top:47%;left:50%;transform:rotate(45deg)scale(.4)}.map-check__box:checked{border-color:color-mix(in srgb, var(--pin-color,var(--accent)) 85%, transparent);background:color-mix(in srgb, var(--pin-color,var(--accent)) 18%, transparent)}.map-check__box:checked:after{opacity:1;transform:rotate(45deg)scale(1)}@media (prefers-reduced-motion:reduce){.map-check__box,.map-check__box:after{transition:none}.map-check__box:active{transform:none}}.map-check__found-mark{width:.8125rem;height:.8125rem;color:var(--pin-color,var(--accent));flex:none}.map-check__found-mark .map-count__check{vertical-align:top;width:100%;height:100%;margin:0}@media (prefers-reduced-motion:reduce){.map-check,.map-check__title:after{transition:none}}.map-progress-bar{background:color-mix(in srgb, var(--foreground) 12%, transparent);border-radius:999px;height:3px;overflow:hidden}.map-progress-bar>span{background:var(--pin-color,var(--accent));border-radius:999px;height:100%;display:block}.map-pin__burst{border:2px solid var(--pin-color,var(--accent));pointer-events:none;width:26px;height:26px;animation:map-pin-burst .46s var(--ease-out,ease-out) forwards;border-radius:999px;margin:-13px 0 0 -13px;position:absolute;top:50%;left:50%}@keyframes map-pin-burst{0%{opacity:.9;transform:scale(.55)}to{opacity:0;transform:scale(2.3)}}.map-count--tick{animation:map-count-tick .42s var(--ease-out,ease-out);display:inline-block}@keyframes map-count-tick{0%{transform:scale(1)}35%{transform:scale(1.22)}to{transform:scale(1)}}.map-count--complete{color:color-mix(in srgb, var(--pin-color,var(--accent)) 85%, var(--foreground));font-weight:600}.map-count__check{vertical-align:-.09rem;width:.75rem;height:.75rem;margin-right:.2rem;display:inline-block}.map-celebrate{border-radius:var(--radius-sm,10px);position:relative;overflow:hidden}.map-celebrate:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(105deg, transparent 32%, color-mix(in srgb, var(--pin-color,var(--accent)) 38%, transparent) 50%, transparent 68%);animation:map-celebrate-sweep .62s var(--ease-out,ease-out) forwards;position:absolute;inset:0}@keyframes map-celebrate-sweep{0%{transform:translate(-110%)}to{transform:translate(110%)}}@media (prefers-reduced-motion:reduce){.map-pin__burst,.map-celebrate:after{display:none}.map-count--tick{animation:none}.map-canvas .tile-map__tiles,.map-note .map-note__body{transition:none}}
