.map-block{--map-paper: var(--paper, #fafafa);--map-ink: var(--ink, #222);--map-accent: var(--accent, #d33228);--map-muted: var(--muted, #666);--map-rule: var(--rule, #dedbd7);position:relative;isolation:isolate;width:100%;height:640px;min-height:480px;overflow:hidden;color:var(--map-ink);background:var(--map-paper);font-family:var(--font-body, system-ui, sans-serif);font-synthesis:none;border:0;border-radius:clamp(12px,var(--radius-lg, 20px),20px);scrollbar-color:var(--map-muted) var(--map-paper)}.map-block *,.map-block *:before,.map-block *:after{box-sizing:border-box}.map-block button,.map-block input{font:inherit;border-radius:var(--radius-sm, 12px)}.map-block button{color:inherit;cursor:pointer}.map-block a{color:inherit;text-decoration-color:var(--map-accent);text-underline-offset:.22em;text-decoration-thickness:1px}.map-block a:is(:hover,:focus-visible){text-decoration-thickness:var(--link-hover-thickness, 2px)}.map-block :is(button,a,input,[tabindex],summary):focus-visible{outline:3px solid var(--map-accent);outline-offset:3px}.map-block ::selection{color:var(--map-paper);background:var(--map-accent)}.map-block input{caret-color:var(--map-accent)}.map-block svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.map-block :is(a,button,summary)>svg{width:22px;height:22px;flex:0 0 22px}.map-block :is(h3,h4,p){margin:0}.map-block :is(h3,h4){font-family:inherit;font-weight:600;text-wrap:balance}.map-block .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.map-block .map-viewport{position:absolute;inset:0;container-type:size;overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-width:thin;display:flex;align-items:flex-start;align-items:safe center;justify-content:flex-start;justify-content:safe center}.map-block .world-map{display:block;flex:0 0 auto;width:100%;min-width:1000px;max-width:max(1000px,calc(100cqh * 1000 / 480));height:auto}.map-block .land{fill:#e9e7e3;stroke:#b5b0a9;stroke-width:.7;stroke-linecap:butt;stroke-linejoin:round}.map-block .map-place{cursor:pointer;outline:none}.map-block .label-leader{stroke:#89837c;stroke-width:.6;pointer-events:none}.map-block .point-hit{fill:transparent;stroke:none}.map-block .point-cross{stroke:var(--map-ink);stroke-width:.8;pointer-events:none}.map-block .point-dot{fill:var(--map-ink);stroke:var(--map-paper);stroke-width:1;pointer-events:none}.map-block .point-selection{fill:none;stroke:var(--map-accent);stroke-width:1.4;opacity:0;pointer-events:none}.map-block .place-label{stroke:var(--map-paper);stroke-width:3.8;paint-order:stroke;fill:var(--map-ink);font-family:inherit;font-size:13px;font-weight:400;stroke-linecap:butt;stroke-linejoin:round}.map-block :is(.map-place.is-active,.map-place.is-selected) .place-label{fill:var(--map-accent)}.map-block :is(.map-place.is-active,.map-place.is-selected) .label-leader{stroke:var(--map-accent);stroke-width:1.2}.map-block :is(.map-place.is-active,.map-place.is-selected) .point-dot{fill:var(--map-accent);r:4}.map-block .map-place.is-selected .point-selection{opacity:1}.map-block .map-place:focus-visible .place-label{text-decoration:underline;text-underline-offset:3px}.map-block .map-place:focus-visible .point-selection{opacity:1;stroke-width:3}.map-block .ocean-label{fill:var(--map-muted);stroke:none;font-size:9px;letter-spacing:.22em;pointer-events:none}.map-block .place-picker{position:absolute;z-index:3;top:16px;left:16px;width:248px;background:var(--map-paper);border:1px solid var(--map-rule);border-radius:var(--radius-md, 16px);overflow:hidden}.map-block .place-picker summary{min-height:48px;padding:12px 14px;display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer;list-style:none}.map-block .place-picker summary::-webkit-details-marker{display:none}.map-block .picker-content{border-top:1px solid var(--map-rule);padding:0 12px 12px}.map-block .search-field{display:block;border-bottom:1px solid var(--map-ink)}.map-block .search-field input{border:0;padding:12px 0;min-width:0;width:100%;background:transparent;color:var(--map-ink);font-size:16px}.map-block .search-field input::placeholder{color:var(--map-muted);opacity:1}.map-block .place-list{list-style:none;margin:0;padding:0 6px 0 0;max-height:380px;overflow-y:auto;overscroll-behavior-y:auto;scrollbar-width:thin}.map-block .place-list li{border-top:1px solid var(--map-rule)}.map-block .place-list button{border:0;width:100%;min-height:54px;padding:9px 4px;background:none;display:flex;align-items:center;gap:10px;text-align:left}.map-block .place-list button:hover{background:#eeece8}.map-block .place-list button.is-selected{background:var(--map-accent);color:var(--map-paper);padding-left:8px;padding-right:8px}.map-block .place-list button:focus-visible{outline-offset:-3px}.map-block .place-list button.is-selected:focus-visible{outline-color:var(--map-paper)}.map-block .list-place-name{flex:1;font-size:16px;line-height:1.1}.map-block .list-place-name small{display:block;font-size:12px;line-height:1.4;margin-top:3px;color:var(--map-muted)}.map-block .is-selected .list-place-name small{color:var(--map-paper)}.map-block .place-list button>svg{width:18px;height:18px;flex-basis:18px}.map-block .search-empty{padding:12px 0;font-size:15px;line-height:1.4}.map-block .search-empty button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;padding:12px 0;color:var(--map-accent)}.map-block .map-scroll-hint{display:none;position:absolute;z-index:1;bottom:12px;left:16px;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm, 12px);background:var(--map-paper);font-size:12px;color:var(--map-muted);pointer-events:none}.map-block .map-scroll-hint svg{width:20px;height:20px}.map-block .event-panel{position:absolute;z-index:4;inset:auto 16px 16px auto;width:330px;max-height:55%;border:1px solid var(--map-rule);border-radius:var(--radius-md, 16px);background:var(--map-paper);display:flex;flex-direction:column;overflow:hidden}.map-block .panel-heading{padding:16px;border-bottom:1px solid var(--map-rule);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:0 0 auto}.map-block .panel-heading>div{min-width:0}.map-block .panel-heading h3{font-size:28px;line-height:1.05;overflow-wrap:anywhere}.map-block .panel-heading p{margin-top:7px;color:var(--map-muted);font-size:13px;line-height:1.4}.map-block .panel-country{display:flex;align-items:center;gap:8px}.map-block .country-flag{display:block;flex:0 0 24px;width:24px;height:18px;object-fit:cover;border:1px solid var(--map-rule);border-radius:3px}.map-block .close-panel{width:44px;height:44px;margin:-8px -8px 0 0;flex:0 0 44px;background:none;border:0;display:grid;place-items:center}.map-block .close-panel:hover{color:var(--map-accent)}.map-block .panel-scroll{overflow-y:auto;overscroll-behavior-y:auto;min-height:0;padding:0 16px;scrollbar-width:thin}.map-block .nearby-places{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;padding:9px 0;font-size:13px}.map-block .nearby-places>span{color:var(--map-muted)}.map-block .nearby-places button{border:0;padding:10px 0;min-height:44px;background:none;text-decoration:underline;text-underline-offset:4px}.map-block :is(.nearby-places,.search-empty) button:is(:hover,:focus-visible){text-decoration-thickness:var(--link-hover-thickness, 2px)}.map-block .event-card{padding:18px 0 14px;min-width:0}.map-block .event-card+.event-card{border-top:1px solid var(--map-rule)}.map-block .event-meta{font-size:12px;color:var(--map-muted);margin-bottom:8px;font-variant-numeric:tabular-nums}.map-block .event-card h4{font-size:23px;line-height:1.15;overflow-wrap:anywhere}.map-block .event-card h4 a{text-decoration-line:underline}.map-block .event-card .external-icon{display:inline-block;width:18px;height:18px;margin-left:.3em;vertical-align:-.1em;color:var(--map-accent)}.map-block .events-empty{padding:20px 0;font-size:16px;line-height:1.5;color:var(--map-muted)}@media(prefers-reduced-motion:no-preference){.map-block .land{animation:map-land-arrive .85s cubic-bezier(.16,1,.3,1) both}.map-block .label-leader{animation:map-leader-arrive .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.12s + var(--place-delay))}.map-block :is(.place-label,.point-dot,.point-cross){animation:map-point-arrive .45s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.1s + var(--place-delay))}.map-block :is(.point-dot,.label-leader,.place-label){transition:fill .15s ease-out,stroke .15s ease-out}.map-block .place-list button{transition:background-color .14s ease-out,color .14s ease-out}@keyframes map-land-arrive{0%{opacity:.45;stroke-dasharray:1;stroke-dashoffset:1}to{opacity:1;stroke-dasharray:1;stroke-dashoffset:0}}@keyframes map-leader-arrive{0%{opacity:.4;stroke-dasharray:1;stroke-dashoffset:1}to{opacity:1;stroke-dasharray:1;stroke-dashoffset:0}}@keyframes map-point-arrive{0%{opacity:.3}to{opacity:1}}}@media(max-width:1000px){.map-block .map-scroll-hint{display:flex}}@media(max-width:700px){.map-block{height:560px}.map-block .place-picker{top:12px;left:12px;width:230px}.map-block .place-picker[open]{z-index:5}.map-block .place-list{max-height:300px}.map-block .event-panel{inset:auto 12px 12px;width:auto;height:44%;max-height:400px}.map-block .panel-heading{padding:13px 16px}.map-block .panel-heading h3{font-size:26px}.map-block .panel-heading p{margin-top:5px}.map-block .event-card h4{font-size:22px}.map-block .map-scroll-hint{left:12px;bottom:8px;font-size:11px}}
