.europe-map,.shell .reader .europe-map{margin:32px auto 32px 0;transform:none}.europe-map-frame{border-radius:var(--r-xl);background:var(--canvas);border:1px solid var(--line-soft);position:relative;overflow:hidden}.europe-svg{-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;height:auto;display:block;overflow:hidden}.europe-svg.is-pannable{cursor:grab}.europe-svg.is-panning{cursor:grabbing}.land path{fill:var(--surface-2);stroke:var(--line);stroke-width:.6px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.europe-map:not(:has(.pin)){max-width:660px}.shell .reader .europe-map:not(:has(.pin)){max-width:660px}.pin-dot,.pin-arc{--mark:var(--sg-neutral)}.pin-dot[data-priority=Pursue],.pin-arc[data-priority=Pursue]{--mark:var(--pri-pursue)}.pin-dot[data-priority=Watch],.pin-arc[data-priority=Watch]{--mark:var(--pri-watch)}.pin-dot[data-priority=Pass],.pin-arc[data-priority=Pass]{--mark:var(--pri-pass)}.pin-dot{fill:var(--mark);stroke:var(--canvas);stroke-width:1px}.pin-arc{fill:none;stroke:var(--mark);stroke-width:4.5px;stroke-linecap:butt}.pin-disc{fill:var(--canvas);stroke:var(--line);stroke-width:1px}.pin-count{font-family:var(--font-numeric);font-size:var(--t2);fill:var(--ink);font-variant-numeric:tabular-nums}.pin-hit{fill:transparent;stroke:none}.pin-dot,.pin-arc,.pin-disc,.pin-count{pointer-events:none}.pin{cursor:pointer;outline:none}.pin:hover .pin-hit{fill:var(--accent-wash)}.pin.is-open .pin-hit{fill:var(--accent-wash);stroke:var(--ink);stroke-width:1.5px}.pin:focus-visible .pin-hit{fill:var(--accent-wash);stroke:var(--ink);stroke-width:1.5px}@media (prefers-reduced-motion:no-preference){.pin-hit{transition:fill .12s ease-out}}.map-zoom{z-index:3;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.mz-btn{border:1px solid var(--border-control);border-radius:var(--r-m);background:var(--canvas);width:29px;height:29px;color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow-1);flex:none;place-items:center;line-height:1;display:grid}.mz-btn:hover:not(:disabled){border-color:var(--mf-grey-700);color:var(--ink)}.mz-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.mz-btn:disabled{color:var(--ink-3);opacity:.4;cursor:default}.mz-reset{margin-top:4px}.map-hint{z-index:3;border-radius:var(--r-m);background:var(--canvas);border:1px solid var(--line);box-shadow:var(--shadow-1);font-size:var(--t1);color:var(--ink-2);pointer-events:none;margin:0;padding:6px 10px;position:absolute;bottom:12px;left:12px}@media (prefers-reduced-motion:no-preference){.map-hint{animation:.12s ease-out map-hint-in}}@keyframes map-hint-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pc{visibility:hidden;z-index:2;background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-xl);width:330px;max-height:min(100% - 24px,496px);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:absolute;top:0;left:0;overflow:hidden}@media (prefers-reduced-motion:no-preference){.pc{animation:.17s cubic-bezier(.16,1,.3,1) both pc-in}}@keyframes pc-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:none}}.pc .pc-city,.pc .pc-sub,.pc .pc-foot,.pc .pc-list,.pc .pc-list li{margin:0}.pc-head{border-bottom:1px solid var(--line-soft);flex:none;align-items:flex-start;gap:8px;padding:12px 12px 10px 14px;display:flex}.pc-title{min-width:0}.pc-city{font-size:var(--t5);letter-spacing:-.006em;color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.25}.pc .pc-sub{font-size:var(--t2);color:var(--ink-2);margin-top:2px;line-height:1.3}.pc-close{border-radius:var(--r-s);width:26px;height:26px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid transparent;flex:none;place-items:center;margin-left:auto;display:grid}.pc-close:hover{background:var(--surface);color:var(--ink)}.pc-close:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.pc .pc-list{overscroll-behavior:contain;flex:auto;min-height:0;padding:4px 0;list-style:none;overflow-y:auto}.pc .pc-row{min-height:34px;color:var(--ink-2);align-items:flex-start;gap:9px;padding:7px 12px 7px 14px;text-decoration:none;display:flex}.pc-id{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.pc .pc-row:hover{background:var(--surface)}.pc .pc-row:hover .pc-name{color:var(--ink)}.pc .pc-row:hover .pc-town{color:var(--ink-2)}.pc .pc-row:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;background:var(--surface)}.pc .pc-row:focus-visible .pc-name{color:var(--ink)}.pc-name{font-size:var(--t4);color:var(--ink);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.pc-town{font-size:var(--t1);color:var(--ink-3);overflow-wrap:anywhere;line-height:1.3}.pc-go{height:17px;color:var(--ink-3);opacity:0;flex:none;place-items:center;display:grid}.pc-row:hover .pc-go{opacity:1}.pc-row:focus-visible .pc-go{opacity:1}@media (hover:none){.pc-go{opacity:1}}@media (prefers-reduced-motion:no-preference){.pc-go{transition:opacity .11s ease-out}}.pc-foot{border-top:1px solid var(--line-soft);font-size:var(--t1);color:var(--ink-2);flex:none;margin:0;padding:8px 14px 9px;line-height:1.35}.pri-key{font-size:var(--t3);color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.pri-key:before{content:"";border-radius:var(--r-pill);background:var(--mark,var(--sg-neutral));flex:none;width:8px;height:8px}.pri-key[data-priority=Pursue]{--mark:var(--pri-pursue)}.pri-key[data-priority=Watch]{--mark:var(--pri-watch)}.pri-key[data-priority=Pass]{--mark:var(--pri-pass)}.map-lists{margin:0 0 12px}.map-lists button{font:inherit;font-size:var(--t4);color:var(--ink-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 12px;font-weight:500}.map-lists button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.map-legend{justify-content:center;gap:18px;margin:10px 0 0;display:flex}.map-legend .vt-n{font-variant-numeric:tabular-nums;margin-left:6px}.map-legend-label{color:var(--ink-2);font-size:var(--t3)}

