.spot-map{--map-surface:var(--color-white);--map-ink:var(--color-text-primary);--map-ink-soft:var(--color-text-secondary);--map-line:var(--color-border);--map-line-strong:var(--control-border);color:var(--map-ink)}.spot-map--dark{--map-surface:var(--color-petroleum-800);--map-ink:var(--color-white);--map-ink-soft:#ffffffd1;--map-line:#fff3;--map-line-strong:var(--color-white)}.spot-map__toolbar{align-items:center;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-3);padding:var(--space-2);border:1px solid var(--map-line);border-radius:var(--radius-m);background:var(--map-surface);flex-wrap:wrap;display:flex}@media (width>=40rem){.spot-map__toolbar{padding:var(--space-4)}}.spot-map__scroller{overscroll-behavior-x:contain;scrollbar-width:none;flex:22rem;gap:.5rem;min-width:0;margin:-4px;padding:4px;display:flex;overflow-x:auto}.spot-map__scroller::-webkit-scrollbar{display:none}.spot-map__scroller .chip{flex:none}.spot-map__swipe{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:.25rem;display:none}@media (width<=39.99rem){.spot-map__swipe{display:block}}.spot-map__segmented{flex-wrap:wrap;gap:.25rem .5rem;max-width:100%;display:inline-flex}.spot-map__segmented .chip{white-space:normal;background:0 0;border-color:#0000}.spot-map__segmented .chip:hover{border-color:var(--color-hairline)}.spot-map__segmented .chip[aria-pressed=true]{background:var(--color-cloud-dancer);color:var(--color-text-primary);border-color:#0000;font-weight:600}.spot-map__segmented .chip[aria-pressed=true] .num{background:var(--color-white)}@media (width<=39.99rem){.spot-map__status,.spot-map__segmented{width:100%}.spot-map__segmented{flex-direction:column;align-items:flex-start}}.spot-map--dark .chip{color:var(--map-ink);border-color:var(--map-line-strong);background:0 0}.spot-map--dark .chip:hover{border-color:var(--map-ink)}.spot-map--dark .chip[aria-pressed=true]{background:var(--color-white);border-color:var(--color-white);color:var(--color-text-primary)}.spot-map__count{margin-bottom:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-data);color:var(--map-ink-soft)}.spot-map__heading{flex-basis:100%;gap:.25rem;display:grid}.spot-map__heading strong{font-size:var(--font-size-body);color:var(--color-text-primary);font-weight:650;line-height:1.5rem}.spot-map__heading span{font-size:var(--text-sm);line-height:var(--leading-data);color:var(--map-ink-soft)}.spot-map__tools{gap:var(--space-2) var(--space-3);flex-wrap:wrap;flex-basis:100%;display:flex}.spot-map__search{min-width:0;color:var(--map-ink-soft);flex:16rem;align-items:center;display:flex;position:relative}.spot-map__search svg,.spot-map__view svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.spot-map__search svg{pointer-events:none;position:absolute;left:.85rem}.spot-map__search input{border:1px solid var(--map-line-strong);border-radius:var(--radius-s);background:var(--color-white);width:100%;min-height:3rem;color:var(--color-text-primary);font:inherit;font-size:var(--font-size-body);padding:.5rem .75rem .5rem 2.75rem}.spot-map__view{flex:none;display:inline-flex}.spot-map__view .chip{border-radius:0;min-height:3rem}.spot-map__view .chip:first-child{border-radius:var(--radius-s) 0 0 var(--radius-s)}.spot-map__view .chip:last-child{border-radius:0 var(--radius-s) var(--radius-s) 0;margin-left:-1.5px}.spot-map__status-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;flex-basis:100%;display:flex}.spot-map__status-row:empty{display:none}.spot-map__status{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.spot-map__status-label{font-size:var(--text-sm);font-weight:600;line-height:var(--leading-data);color:var(--color-text-primary)}.spot-map__dot{background:var(--state-open);border-radius:50%;flex:none;width:.625rem;height:.625rem}.spot-map__dot--closed{background:var(--state-closed)}.spot-map__count--inline{color:var(--color-text-primary);margin-bottom:0;font-weight:600}.spot-map__active{align-items:center;gap:var(--space-2) var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--map-line);font-size:var(--text-sm);line-height:var(--leading-data);color:var(--color-text-primary);flex-wrap:wrap;flex-basis:100%;display:flex}.spot-map__active [data-map-active-list]{font-weight:600}.spot-map__list{max-height:clamp(22rem,55vh,38rem);padding:var(--space-3);background:var(--color-white);overflow-y:auto}.spot-map__list ul{gap:var(--space-2);display:grid}.spot-map__list li{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-s);gap:.25rem;display:grid}.spot-map__list .row-name{font-size:var(--font-size-body);color:var(--color-text-primary);font-weight:650;line-height:1.5rem}.spot-map__list .row-meta{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--text-sm);line-height:var(--leading-data);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.spot-map__list [data-map-more]{margin-top:var(--space-3)}.spot-map[data-view=list] .spot-map__canvas,.spot-map[data-view=list] .spot-map__gate{display:none}.spot-map[data-view=list] .spot-map__empty{width:auto;margin:var(--space-3);box-shadow:none;position:static;transform:none}.spot-map__notes{gap:var(--space-2);flex-basis:100%;max-width:75ch;line-height:1.5rem;display:grid}button.spot-map__list-link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.spot-map__empty{z-index:2;gap:var(--space-3);width:min(100% - 2rem,22rem);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-white);color:var(--color-text-primary);text-align:center;box-shadow:var(--shadow-card);justify-items:center;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.spot-map__frame{border:1px solid var(--map-line);border-radius:var(--radius-m);background:var(--color-surface);position:relative;overflow:hidden}.spot-map__home{top:var(--space-3);right:var(--space-3);z-index:660;align-items:center;gap:var(--space-2);max-width:calc(100% - 5.5rem);min-height:var(--size-control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-s);background:var(--color-white);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-data);text-align:left;cursor:pointer;display:inline-flex;position:absolute}@media (width<=39.99rem){.spot-map__home{top:var(--space-2);right:var(--space-2);padding:var(--space-2);font-size:.75rem;line-height:1.25rem}}.spot-map__home svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.spot-map__home:hover{border-color:var(--color-brand)}.spot-map[data-view=list] .spot-map__home,.spot-map:not([data-ready=true]) .spot-map__home{display:none}.spot-map__canvas{z-index:0;height:clamp(22rem,55vh,38rem);font-family:var(--font-family-ui);position:relative}.spot-map__canvas:focus-visible{outline-offset:-3px;border-radius:var(--radius-m)}.spot-map .leaflet-tile-pane{filter:saturate(.82)}.spot-map__loading{color:var(--color-text-secondary);place-items:center;display:grid;position:absolute;inset:0}.spot-map__error{padding:var(--gutter);text-align:center;color:var(--color-text-primary);place-items:center;max-width:40ch;margin-inline:auto;display:grid;position:absolute;inset:0}.spot-map__gate{z-index:500;min-height:var(--size-control-height);border:1px solid var(--control-border);border-radius:var(--radius-pill);background:var(--color-white);color:var(--color-text-primary);font-size:var(--text-sm);box-shadow:var(--shadow-card);touch-action:manipulation;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-weight:700;display:inline-flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.spot-map__foot{font-size:var(--text-sm);color:var(--map-ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;margin-top:.85rem;display:flex}.spot-map__legend{flex-wrap:wrap;gap:.35rem 1.1rem;display:flex}.spot-map__legend-item{align-items:center;gap:.45rem;min-height:1.75rem;display:inline-flex}.spot-map__legend-dot{background:var(--state-sign-open) center / .75rem no-repeat, var(--color-brand);border-radius:50%;width:1.25rem;height:1.25rem}.spot-map__legend-item--closed .spot-map__legend-dot{background:var(--state-sign-closed) center / .75rem no-repeat, var(--state-closed)}.spot-map__legend-item--restricted .spot-map__legend-dot{background:var(--state-sign-restricted) center / .75rem no-repeat, var(--state-restricted)}.spot-map__legend-item--seasonal .spot-map__legend-dot{background:var(--state-sign-season) center / .75rem no-repeat, var(--color-brand)}.spot-map__legend-item--unverified .spot-map__legend-dot{background:var(--state-sign-unconfirmed) center / .75rem no-repeat, var(--state-chip-background);outline:1px dashed var(--state-unconfirmed);outline-offset:-1px}.spot-map__links{flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;margin-left:auto;display:flex}.spot-map__list-link{min-height:var(--size-control-height);color:var(--map-ink);align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.spot-map__credit,.spot-map__credit a{color:var(--map-ink-soft)}.spot-map__credit a{text-decoration-color:var(--color-brand-accent)}.pin-hit{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.pin{border:2px solid var(--color-white);background:var(--x-text,var(--state-open));width:32px;height:32px;color:var(--color-white);font:700 var(--text-sm) / 1 var(--font-family-ui);font-variant-numeric:tabular-nums;box-shadow:0 1px 2px rgb(var(--shadow-ink) / .2), 0 6px 14px -6px rgb(var(--shadow-ink) / .5);transition:transform var(--motion-duration-base) var(--motion-easing-out), box-shadow var(--motion-duration-fast);border-radius:50%;place-items:center;display:grid;position:relative}.pin--closed{background:var(--state-closed);color:var(--color-white)}.pin--restricted{background:var(--state-restricted);color:var(--color-white)}.pin--seasonal{background:var(--x-text,var(--state-season));color:var(--color-white)}.pin--unverified{background:var(--state-chip-background);color:var(--state-unconfirmed);outline:1.5px dashed var(--state-unconfirmed)}.pin__badge{border:1.5px solid var(--color-white);background:var(--state-open);width:17px;height:17px;color:var(--color-white);border-radius:50%;place-items:center;display:grid;position:absolute;top:-6px;right:-6px}.pin__badge svg{width:10px;height:10px}.pin--closed .pin__badge{background:var(--state-closed);color:var(--color-white)}.pin--restricted .pin__badge{background:var(--state-restricted);color:var(--color-white)}.pin--seasonal .pin__badge{background:var(--state-season);color:var(--color-white)}.pin--unverified .pin__badge{background:var(--state-chip-background);color:var(--state-unconfirmed);outline:1px dashed var(--state-unconfirmed)}.pin-hit:hover .pin,.pin-hit.is-active .pin{transform:scale(1.12)}.pin-hit.is-active .pin{box-shadow:0 0 0 2px var(--color-white), 0 0 0 5px var(--color-petroleum-800), 0 6px 14px -6px rgb(var(--shadow-ink) / .5)}.dest-pin{border:2px solid var(--color-white);background:var(--color-brand);width:44px;height:44px;color:var(--color-white);font:700 1rem / 1 var(--font-family-ui);font-variant-numeric:tabular-nums;box-shadow:0 1px 2px rgb(var(--shadow-ink) / .2), 0 8px 18px -8px rgb(var(--shadow-ink) / .55);transition:transform var(--motion-duration-base) var(--motion-easing-out), background-color var(--motion-duration-fast), box-shadow var(--motion-duration-fast);border-radius:50%;place-items:center;display:grid}.pin-hit--dest{width:44px;height:44px}.spot-map .leaflet-container a.dest-pin{color:var(--color-white);text-decoration:none}.spot-map .leaflet-container a.btn--text{color:var(--color-text-primary)}.spot-map .leaflet-container a.btn--text:hover{text-decoration:underline}.pin-hit--dest:hover .dest-pin,.pin-hit--dest.is-active .dest-pin{background:var(--color-petroleum-800);transform:scale(1.08)}.cluster-pin{position:relative}.cluster-pin:before{content:"";z-index:-1;background:var(--ring,none);border-radius:50%;position:absolute;inset:-6px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 4px))}.pin-hit--dest.is-active .dest-pin{box-shadow:0 0 0 2px var(--color-white), 0 0 0 5px var(--color-petroleum-800), 0 8px 18px -8px rgb(var(--shadow-ink) / .55)}.spot-map .leaflet-bar{border:1px solid var(--control-border);border-radius:var(--radius-s);box-shadow:var(--shadow-card);overflow:hidden}.spot-map .leaflet-bar a,.spot-map .leaflet-touch .leaflet-bar a{border:0;border-bottom:1px solid var(--color-border);background:var(--color-white);width:44px;height:44px;color:var(--color-text-primary);border-radius:0;place-items:center;line-height:44px;display:grid}.spot-map .leaflet-bar a:last-child{border-bottom:0}.spot-map .leaflet-bar a:hover{background:var(--color-surface);color:var(--color-text-primary)}.spot-map .leaflet-bar a.leaflet-disabled{color:var(--color-text-secondary);background:var(--color-white)}.spot-map .leaflet-bar a:focus-visible{outline-offset:-4px;box-shadow:none;border-radius:0}.spot-map .leaflet-control-zoom svg{width:20px;height:20px}.spot-map .leaflet-top,.spot-map .leaflet-left{z-index:600}.spot-map .leaflet-tooltip.dest-tip{border:1px solid var(--color-border);border-radius:var(--radius-s);background:var(--color-white);color:var(--color-text-primary);font:400 var(--text-sm) / 1.4 var(--font-family-ui);box-shadow:var(--shadow-card);white-space:nowrap;padding:.5rem .75rem}.spot-map .leaflet-tooltip.dest-tip:before{border-top-color:var(--color-white)}.spot-map .dest-tip strong{font-weight:700;display:block}.spot-map .dest-tip .dest-tip__hint{color:var(--color-text-secondary);display:block}.spot-map .leaflet-popup-content-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-white);color:var(--color-text-primary);font-family:var(--font-family-ui);box-shadow:var(--shadow-lift);padding:0}.spot-map .leaflet-popup-tip{box-shadow:none;border:1px solid var(--color-border);border-top:0;border-left:0}.spot-map .leaflet-popup-content{font-size:var(--text-sm);margin:1.1rem 1.1rem 1rem;line-height:1.5}.spot-map .leaflet-popup-content p{margin:0}.spot-map .leaflet-container a.leaflet-popup-close-button{width:var(--size-control-height);height:var(--size-control-height);color:var(--color-text-primary);font:0/0 a;border-radius:50%;place-items:center;padding:0;display:grid;top:.25rem;right:.25rem}.spot-map .leaflet-container a.leaflet-popup-close-button span{display:none}.spot-map .leaflet-container a.leaflet-popup-close-button:before{content:"";background:currentColor;width:18px;height:18px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") 50%/contain no-repeat}.spot-map .leaflet-container a.leaflet-popup-close-button:hover{background:var(--color-surface);color:var(--color-text-primary)}.pop{max-height:var(--pop-max,none);flex-direction:column;display:flex}.pop-body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.pop-title{font-family:var(--font-family-display);font-size:var(--text-h4);letter-spacing:-.01em;text-wrap:balance;flex:none;margin:0;padding-right:2.5rem;font-weight:700;line-height:1.25}.pop-meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:.35rem .6rem;display:flex;margin-top:.5rem!important}.pop-facts{border-top:1px solid var(--color-border);color:var(--color-text-primary);flex-wrap:wrap;gap:.25rem .75rem;padding-top:.6rem;display:flex;margin-top:.6rem!important}.pop-facts span{gap:.35rem;display:inline-flex}.pop-facts b{color:var(--color-text-secondary);font-weight:700}.pop-count{color:var(--color-text-secondary);margin-top:.35rem!important}.pop-actions{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.85rem;display:flex}.pop-actions .btn{font-size:var(--text-sm);padding-inline:1rem}.pop-save svg{flex:none;width:16px;height:16px}.pop-save[aria-pressed=true]{background:var(--color-petroleum-800);border-color:var(--color-petroleum-800);color:var(--color-white)}.pop-save[aria-pressed=true] svg path{fill:currentColor}@media (prefers-reduced-motion:reduce){.pin,.dest-pin{transition:none}}
