:root{--ease-out-press:cubic-bezier(0, 0, .2, 1);--ease-out-reveal:cubic-bezier(.16, 1, .3, 1)}.world-map-wrapper{width:100%;height:100%;position:relative;overflow:hidden}.world-map{--world-map-bg:#12374d;background:var(--world-map-bg);position:absolute;inset:0}.map-control-panel{inset-inline-start:20px;z-index:10;background:var(--glass-sheen), var(--glass-tint-clear);width:64px;-webkit-backdrop-filter:var(--glass-filter-sm);backdrop-filter:var(--glass-filter-sm);box-shadow:var(--chrome-shadow), var(--glass-edge);transform-origin:0;pointer-events:none;animation:map-control-panel-materialize .35s var(--ease-out-reveal) both;border:1px solid #0000;border-radius:20px;flex-direction:column;align-items:center;padding:10px 0;display:flex;position:absolute;top:50%;transform:translateY(-50%)scale(1)}@keyframes map-control-panel-materialize{0%{opacity:0;transform:translateY(-50%)scale(.94)}to{opacity:1;transform:translateY(-50%)scale(1)}}@media (max-width:767px){.map-control-panel{inset-inline-start:50%;top:auto;bottom:calc(16px + var(--map-chrome-bottom,0px));transform-origin:bottom;width:auto;height:56px;animation:map-control-panel-materialize-bar .35s var(--ease-out-reveal) both;border-radius:28px;flex-direction:row;padding:0 10px;transform:translate(-50%)}@keyframes map-control-panel-materialize-bar{0%{opacity:0;transform:translate(-50%)scale(.94)}to{opacity:1;transform:translate(-50%)scale(1)}}.map-control-panel .map-control-panel__section{flex-direction:row;width:auto}.map-control-panel .map-control-panel__divider{background:linear-gradient(180deg, transparent, var(--chrome-hairline) 25%, var(--chrome-hairline) 75%, transparent);width:1px;height:28px;margin:0 6px}.map-control-panel .compass{width:40px;height:40px;margin-top:0}.map-control-panel .compass-point--n{top:-1px}.map-control-panel .compass-point--e{right:-3px}.map-control-panel .compass-point--s{bottom:-1px}.map-control-panel .compass-point--w{left:-3px}.map-control-panel .compass-needle{width:20px;height:20px;margin:-10px 0 0 -10px}.map-control-panel .compass-center{width:14px;height:14px}.map-control-panel .map-zoom-button{flex-direction:row;width:auto;height:44px}.map-control-panel .map-zoom-button .map-control-button+.map-control-button{border-top:none;border-left:1px solid var(--chrome-hairline)}}@media (prefers-reduced-motion:reduce){.map-control-panel{animation:.15s both map-control-panel-materialize-reduced}@keyframes map-control-panel-materialize-reduced{0%{opacity:0}to{opacity:1}}}.map-control-panel__section{flex-direction:column;align-items:center;width:100%;display:flex}.map-control-panel__divider{background:linear-gradient(90deg, transparent, var(--chrome-hairline) 25%, var(--chrome-hairline) 75%, transparent);width:36px;height:1px;margin:10px 0}.map-control-button{width:44px;height:44px;color:var(--chrome-text);cursor:pointer;transition:background-color .15s, color .15s, opacity .15s, transform .12s var(--ease-out-press);pointer-events:auto;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;font:700 16px/1 system-ui,sans-serif;display:flex}.map-control-button--text{font-size:13px}.map-control-button:hover:not(:disabled){background-color:var(--chrome-control-bg-hover)}.map-control-button:active:not(:disabled){transform:scale(.96)}.map-control-button:disabled{opacity:.35;cursor:default}.map-zoom-button{border-radius:10px;flex-direction:column;width:44px;display:flex;overflow:hidden}.map-zoom-button .map-control-button{border-radius:0}.map-zoom-button .map-control-button+.map-control-button{border-top:1px solid var(--chrome-hairline)}.map-toggle-button--dual-tone[aria-pressed=true],.map-toggle-button--dual-tone[aria-expanded=true]{color:var(--color-primary);box-shadow:none;background-color:#0000}.map-toggle-button--dual-tone[aria-pressed=true]:hover,.map-toggle-button--dual-tone[aria-expanded=true]:hover{background-color:var(--chrome-control-bg-hover)}.map-toggle-button--dual-tone[aria-pressed=false],.map-toggle-button--dual-tone[aria-expanded=false]{color:var(--chrome-text-muted)}.map-toggle-button--dual-tone:active:not(:disabled){color:#2a2115;background-color:#ffb703;box-shadow:0 0 8px 2px #ffb7038c}.map-settings-panel{inset-inline-start:96px;z-index:12;background:var(--glass-sheen), var(--glass-tint-elevated);width:216px;-webkit-backdrop-filter:var(--glass-filter-md);backdrop-filter:var(--glass-filter-md);box-shadow:var(--chrome-shadow), var(--glass-edge);color:var(--chrome-text);font-family:var(--font-sans);transform-origin:0 0;border:1px solid #0000;border-radius:18px;flex-direction:column;gap:12px;padding:14px;animation:.26s cubic-bezier(.16,1,.3,1) both map-settings-panel-materialize;display:flex;position:absolute;top:50%;transform:translateY(-50%)}[dir=rtl] .map-settings-panel{transform-origin:100% 0}@keyframes map-settings-panel-materialize{0%{opacity:0;transform:translateY(-50%)scale(.95)}to{opacity:1;transform:translateY(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.map-settings-panel{animation:.15s both map-settings-panel-materialize-reduced}@keyframes map-settings-panel-materialize-reduced{0%{opacity:0}to{opacity:1}}}@media (max-width:767px){.map-settings-panel{inset-inline-start:50%;top:auto;bottom:calc(84px + var(--map-chrome-bottom,0px));transform-origin:bottom;transform:translate(-50%)}}@media (max-width:480px){.map-settings-panel{inset-inline:12px;top:auto;bottom:calc(84px + var(--map-chrome-bottom,0px));transform-origin:bottom;width:auto;animation:.26s cubic-bezier(.16,1,.3,1) both map-settings-panel-materialize-narrow;transform:none}@keyframes map-settings-panel-materialize-narrow{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}}.map-settings-panel__header{justify-content:space-between;align-items:center;display:flex}.map-settings-panel__title{margin:0;font:700 14px/1 system-ui,sans-serif}.map-settings-panel__close{width:28px;height:28px;color:var(--chrome-text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font:700 13px/1 system-ui,sans-serif;transition:background-color .15s;display:flex}.map-settings-panel__close:hover{background-color:var(--chrome-control-bg-hover)}.map-settings-panel__toggles{justify-content:space-between;align-items:center;gap:4px;display:flex}.map-settings-panel__divider{background:linear-gradient(90deg, transparent, var(--chrome-hairline) 12%, var(--chrome-hairline) 88%, transparent);height:1px}.map-settings-panel__colors-trigger{background:var(--chrome-control-bg);width:100%;color:var(--chrome-text);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font:600 13px/1 system-ui,sans-serif;transition:background-color .15s;display:flex}.map-settings-panel__colors-trigger:hover{background-color:var(--chrome-control-bg-hover)}.map-settings-panel__colors-trigger:disabled{opacity:.35;cursor:default;pointer-events:none}.world-map .maplibregl-ctrl-attrib{visibility:hidden;pointer-events:none}.map-attribution{right:calc(16px + var(--attribution-reserved-px,0px));bottom:calc(16px + var(--map-chrome-bottom,0px));z-index:10;animation:map-attribution-materialize .35s var(--ease-out-reveal) both;flex-direction:row-reverse;align-items:flex-end;display:flex;position:absolute}@keyframes map-attribution-materialize{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.map-attribution{animation:.15s both map-attribution-materialize-reduced}@keyframes map-attribution-materialize-reduced{0%{opacity:0}to{opacity:1}}}.map-attribution__collapsible{max-width:0;transition:max-width .2s var(--ease-out-reveal), margin-right .2s var(--ease-out-reveal);justify-content:flex-end;margin-right:0;display:flex;overflow:hidden}.map-attribution__collapsible--expanded{transition:max-width .3s var(--ease-out-reveal), margin-right .3s var(--ease-out-reveal);margin-right:8px}.map-attribution__collapsible-inner{box-sizing:border-box;background:var(--glass-sheen), var(--glass-tint-elevated);width:min(260px,50vw - 24px);max-height:min(50vh,320px);-webkit-backdrop-filter:var(--glass-filter-md);backdrop-filter:var(--glass-filter-md);box-shadow:var(--chrome-shadow-sm), var(--glass-rim-inset), var(--glass-edge);color:var(--chrome-text-secondary);opacity:0;transition:opacity .15s var(--ease-out-press);border:1px solid #0000;border-radius:12px;flex-shrink:0;padding:10px 12px;font:500 12px/1.5 system-ui,sans-serif;overflow-y:auto}.map-attribution__collapsible-inner a{color:var(--chrome-text);font-weight:600}.map-attribution__collapsible--expanded .map-attribution__collapsible-inner{opacity:1;transition:opacity .2s var(--ease-out-reveal) 80ms}@media (prefers-reduced-motion:reduce){.map-attribution__collapsible,.map-attribution__collapsible--expanded{transition:none}.map-attribution__collapsible-inner,.map-attribution__collapsible--expanded .map-attribution__collapsible-inner{transition:opacity .15s}}.map-attribution__toggle{width:44px;height:44px;color:var(--chrome-text);background:var(--glass-sheen), var(--glass-tint-clear);-webkit-backdrop-filter:var(--glass-filter-sm);backdrop-filter:var(--glass-filter-sm);box-shadow:var(--chrome-shadow-sm), var(--glass-edge);cursor:pointer;transition:background-color .15s, transform .12s var(--ease-out-press);border:1px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.map-attribution__toggle:hover{background-color:color-mix(in srgb, var(--glass-tint-clear), var(--chrome-text) 14%)}.map-attribution__toggle:active{transform:scale(.96)}.map-scale-indicator{inset-inline-start:16px;bottom:calc(16px + var(--map-chrome-bottom,0px));z-index:10;pointer-events:none;flex-direction:column;align-items:flex-start;gap:2px;display:flex;position:absolute}.map-scale-bar{box-sizing:border-box;background:#f8f4e980;border:1px solid #1a12088c;border-top:none;height:8px}.map-scale-label{color:#2a2115;text-shadow:0 1px #f8f4e9d9,0 -1px #f8f4e9d9,1px 0 #f8f4e9d9,-1px 0 #f8f4e9d9;font:600 11px/1.2 system-ui,sans-serif}.compass{width:56px;height:56px;margin-top:2px;position:relative}.compass-point{min-width:0;color:var(--chrome-text);cursor:pointer;transition:background-color .15s, color .15s, transform .12s var(--ease-out-press);pointer-events:auto;background:0 0;border:none;border-radius:4px;padding:1px 3px;font:700 11px/1.2 system-ui,sans-serif;position:absolute}.compass-point:hover{background-color:var(--chrome-control-bg-hover)}.compass-point--n{top:-2px;left:50%;transform:translate(-50%)}.compass-point--e{top:50%;right:-4px;transform:translateY(-50%)}.compass-point--s{bottom:-2px;left:50%;transform:translate(-50%)}.compass-point--w{top:50%;left:-4px;transform:translateY(-50%)}.compass-point--n:active,.compass-point--s:active{transform:translate(-50%)scale(.96)}.compass-point--e:active,.compass-point--w:active{transform:translateY(-50%)scale(.96)}.compass-needle{transform-origin:13px 13px;pointer-events:none;width:26px;height:26px;margin:-13px 0 0 -13px;position:absolute;top:50%;left:50%}.compass-center{border:1px solid var(--chrome-border-top);background:var(--chrome-control-bg);cursor:pointer;width:18px;height:18px;transition:background-color .15s, box-shadow .15s, border-color .15s, transform .12s var(--ease-out-press);pointer-events:auto;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (pointer:coarse) and (hover:none){.compass-center{pointer-events:none}}.compass-center:hover{background-color:var(--chrome-control-bg-hover)}.compass-center:active{transform:translate(-50%,-50%)scale(.96)}@media (prefers-reduced-motion:reduce){.map-control-button:active:not(:disabled){opacity:.7;transform:none}.compass-point--n:active,.compass-point--s:active{opacity:.7;transform:translate(-50%)}.compass-point--e:active,.compass-point--w:active{opacity:.7;transform:translateY(-50%)}.compass-center:active{opacity:.7;transform:translate(-50%,-50%)}}.compass-center[aria-pressed=true]{background-color:#ffb703;border-color:#d99700;box-shadow:0 0 8px 2px #ffb703b3}.compass-center[aria-pressed=true]:hover{background-color:#ffc733}.map-loading-status{top:calc(16px + var(--map-chrome-top,0px));z-index:10;-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);color:#f5f1e6;white-space:nowrap;pointer-events:none;animation:map-loading-status-materialize .2s var(--ease-out-reveal) both;background:#1e1c188c;border:1px solid #ffffff1a;border-top-color:#ffffff38;border-radius:20px;align-items:center;gap:8px;padding:8px 14px;font:600 13px/1.2 system-ui,sans-serif;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}@keyframes map-loading-status-materialize{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.map-loading-status__spinner{border:2px solid #ffc7384d;border-top-color:#ffc738;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite map-loading-status-spin}@keyframes map-loading-status-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.map-loading-status{animation:none}.map-loading-status__spinner{opacity:.9;border-top-color:#ffc7384d;animation:none}}.attraction-pin-popup .maplibregl-popup-content{-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);color:#f5f1e6;background:#1e1c18d9;border:1px solid #ffffff1a;border-top-color:#ffffff38;border-radius:14px;padding:14px 16px;font-family:system-ui,sans-serif;box-shadow:0 8px 24px #00000059}.attraction-pin-popup .maplibregl-popup-tip{border-top-color:#1e1c18d9;border-bottom-color:#1e1c18d9}.attraction-pin-popup .maplibregl-popup-close-button{color:#cfc9ba;padding:4px 8px;font-size:18px}.attraction-pin-popup .maplibregl-popup-close-button:hover{color:#f5f1e6;background:#ffffff1a}.attraction-pin-popup__title{color:#f5f1e6;margin:0 0 4px;font:700 14px/1.3 system-ui,sans-serif}.attraction-pin-popup__address{color:#cfc9ba;margin:0 0 6px;font:400 12px/1.3 system-ui,sans-serif}.attraction-pin-popup__count{color:#ffc738;margin:0;font:600 12px/1.3 system-ui,sans-serif}
.map-color-panel{inset-inline-start:96px;z-index:12;background:var(--glass-sheen), var(--glass-tint-elevated);width:268px;max-height:min(560px,100% - 32px);-webkit-backdrop-filter:var(--glass-filter-md);backdrop-filter:var(--glass-filter-md);box-shadow:var(--chrome-shadow), var(--glass-rim-inset), var(--glass-edge);color:var(--chrome-text);font-family:var(--font-sans);transform-origin:0 0;animation:map-color-panel-materialize .26s var(--ease-out-reveal) both;border:1px solid #0000;border-radius:18px;flex-direction:column;gap:14px;padding:16px;display:flex;position:absolute;top:50%;overflow-y:auto;transform:translateY(-50%)}[dir=rtl] .map-color-panel{transform-origin:100% 0}@keyframes map-color-panel-materialize{0%{opacity:0;transform:translateY(-50%)scale(.95)}to{opacity:1;transform:translateY(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.map-color-panel{animation:.15s both map-color-panel-materialize-reduced}@keyframes map-color-panel-materialize-reduced{0%{opacity:0}to{opacity:1}}}@media (max-width:767px){.map-color-panel{inset-inline-start:50%;top:auto;bottom:calc(84px + var(--map-chrome-bottom,0px));max-height:min(560px, calc(100% - 100px - var(--map-chrome-bottom,0px) - var(--map-chrome-top,0px)));transform-origin:bottom;transform:translate(-50%)}}@media (max-width:480px){.map-color-panel{inset-inline:12px;top:auto;bottom:calc(84px + var(--map-chrome-bottom,0px));width:auto;max-height:min(70dvh, 520px, calc(100% - 100px - var(--map-chrome-bottom,0px) - var(--map-chrome-top,0px)));transform-origin:bottom;animation:map-color-panel-materialize-narrow .26s var(--ease-out-reveal) both;transform:none}@keyframes map-color-panel-materialize-narrow{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}}.map-color-panel__header{justify-content:space-between;align-items:center;display:flex}.map-color-panel__title{font:700 var(--font-size-subheadline)/1 var(--font-sans);letter-spacing:-.01em;margin:0}.map-color-panel__close{background:var(--chrome-control-bg);width:28px;height:28px;color:var(--chrome-text);font:700 var(--font-size-caption1)/1 var(--font-sans);cursor:pointer;transition:background-color .15s, transform .12s var(--ease-out-press);border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.map-color-panel__close:hover{background-color:var(--chrome-control-bg-hover)}.map-color-panel__close:active{transform:scale(.9)}.map-color-panel__picker{flex-direction:column;gap:8px;display:flex}.map-color-panel__sv-square{aspect-ratio:1;touch-action:none;cursor:crosshair;border:1px solid var(--chrome-border);background-position:50%;background-size:cover;border-radius:10px;width:100%;position:relative}.map-color-panel__sv-thumb{pointer-events:none;border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0006,0 2px 6px #00000059}.map-color-panel__hue-strip{touch-action:none;cursor:pointer;border:1px solid var(--chrome-border);background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:8px;width:100%;height:16px;position:relative}.map-color-panel__hue-thumb{pointer-events:none;background:0 0;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0006,0 2px 6px #00000059}.map-color-panel__hex-row{align-items:center;gap:8px;display:flex}.map-color-panel__hex-swatch{border:1px solid var(--chrome-border-top);border-radius:8px;flex:none;width:28px;height:28px}.map-color-panel__hex-input{background:var(--chrome-control-bg);border:1px solid var(--chrome-border);min-width:0;height:28px;color:var(--chrome-text);font:500 var(--font-size-footnote)/1 ui-monospace, "SF Mono", Menlo, monospace;border-radius:8px;outline:none;flex:1;padding:0 10px;transition:border-color .15s,box-shadow .15s}.map-color-panel__hex-input:focus{border-color:color-mix(in srgb, var(--color-primary) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent)}.map-color-panel__groups{flex-direction:column;gap:12px;display:flex}.map-color-panel__group-title{font:600 var(--font-size-caption2)/1 var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--chrome-text-muted);margin:0 0 6px}.map-color-panel__swatch-row{flex-wrap:wrap;gap:8px;display:flex}.map-color-panel__swatch{cursor:pointer;transition:background-color .15s, transform .12s var(--ease-out-press);background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:4px;display:flex}.map-color-panel__swatch:hover{background-color:var(--chrome-control-bg)}.map-color-panel__swatch:active{transform:scale(.95)}.map-color-panel__swatch-color{border:2px solid var(--chrome-border-top);border-radius:8px;width:32px;height:32px;transition:border-color .15s,box-shadow .15s}.map-color-panel__swatch--active .map-color-panel__swatch-color{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 35%, transparent)}.map-color-panel__swatch-label{font:500 10px/1 var(--font-sans);color:var(--chrome-text-secondary)}.map-color-panel__swatch-wrap{position:relative}.map-color-panel__swatch-reset{color:#f5f1e6;width:16px;height:16px;font:700 8px/1 var(--font-sans);cursor:pointer;transition:background-color .15s, transform .12s var(--ease-out-press);background:#6b6558;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-2px;right:-2px}.map-color-panel__swatch-reset:hover{background-color:#7d7669}.map-color-panel__swatch-reset:active{transform:scale(.9)}.map-color-panel__reset-all{background:var(--chrome-control-bg);height:44px;color:var(--chrome-text);font:700 14px/1 var(--font-sans);cursor:pointer;transition:background-color .15s, opacity .15s, transform .12s var(--ease-out-press);border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;padding:0 16px;display:flex}.map-color-panel__reset-all:hover:not(:disabled){background-color:var(--chrome-control-bg-hover)}.map-color-panel__reset-all:active:not(:disabled){transform:scale(.97)}.map-color-panel__reset-all:disabled{opacity:.35;cursor:default}
