.ex{margin:8px 0 28px}.ex-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.ex-chips .chip{display:inline-flex;align-items:center;gap:8px}.ex-chips .chip i{width:14px;height:4px;border-radius:2px;display:inline-block}.ex-chips .chip:not(.is-on) i{opacity:.35}.ex-frame{position:relative;height:72vh;min-height:420px;max-height:860px;border-radius:var(--r-lg, 14px);border:1px solid var(--line);overflow:hidden;background:var(--map-sea-1, #bfe6f0)}.ex-frame>.ex-map{position:absolute;inset:0;width:100%;height:100%}.ex-frame.is-fallback{height:auto;min-height:0;max-height:none;background:var(--surface)}.ex-fb{padding:12px}.ex-fb>p{margin:0 0 10px;color:var(--ink-2)}.ex-ph{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(60% 50% at 40% 55%,color-mix(in srgb,var(--pine, #2f6b3a) 26%,transparent),transparent 70%),linear-gradient(170deg,var(--sky-soft, #e6f4f8) 0%,var(--map-sea-1, #bfe6f0) 60%,var(--map-sea-2, #8fd3e8) 100%)}.ex-ph span{font:600 15px var(--body);color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 16px;max-width:80%;text-align:center}.ex-ph[hidden]{display:none}.ex p.ex-readout{position:absolute;left:12px;top:12px;margin:0;z-index:2;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font:700 14px var(--body);box-shadow:var(--shadow-sm);pointer-events:none;max-width:calc(100% - 70px)}.ex p.ex-readout small{display:block;font-weight:500;color:var(--muted);font-size:12.5px}.ex-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 10px}.ex-actions[hidden],.ex-chips[hidden]{display:none}.ex-quick{display:inline-flex;flex-wrap:wrap;gap:6px}.ex-actions button[disabled],.ex-go[disabled]{opacity:.55;cursor:default;transform:none}.ex-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--ink-2);margin:4px 0 8px}.ex-legend span{display:inline-flex;align-items:center;gap:8px}.ex-legend .ln{width:22px;height:4px;border-radius:2px;display:inline-block}.ex-legend .ln.dash{background:repeating-linear-gradient(90deg,var(--c) 0 6px,transparent 6px 9px)}.ex-legend .pt{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid;display:inline-block;box-sizing:border-box}.ex p.ex-credit{font:12.5px/1.5 var(--body);color:var(--muted);margin:6px 0 0;max-width:none}.ex-map .maplibregl-ctrl-attrib{font-size:11px;line-height:1.35;white-space:normal;max-width:calc(100% - 10px)}.ex-map .maplibregl-ctrl-attrib-inner{white-space:normal}.ex-map .maplibregl-popup.exp .maplibregl-popup-content{font:14px/1.45 var(--body);color:#141a26;border-radius:12px;padding:0 0 12px;overflow:hidden}.ex-map .exp img{display:block;width:100%;height:auto;aspect-ratio:2 / 1;object-fit:cover}.ex-map .exp .exp-credit{display:block;font-size:10.5px;color:#667;padding:2px 14px 0}.ex-map .exp b{display:block;font-size:15.5px;padding:10px 14px 0}.ex-map .exp .exp-meta{display:block;font-size:12.5px;color:#556;padding:0 14px}.ex-map .exp p{margin:6px 0 0;padding:0 14px;font-size:13.5px}.ex-map .exp a{display:inline-block;margin:8px 14px 0;font-weight:650}.ex-map .exp .maplibregl-popup-close-button{font-size:20px;width:30px;height:30px;background:#ffffffd9;border-radius:0 12px 0 10px}.exp-wild{width:30px;height:30px;border-radius:50%;border:2px solid #2b8a3e;background:#fff;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 2px 6px #00000040}.exp-wild[hidden]{display:none}.exp-wild img{display:block}.ex-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 28px}.ex-list h3{margin:10px 0 6px;font-size:16px}.ex-list ul{list-style:none;padding:0;margin:0}.ex-list li{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--line);font-size:15px}.ex-list li small{color:var(--muted)}.ex-list li small.ex-en{font:700 10.5px var(--body);letter-spacing:.04em;border:1px solid var(--line-strong);border-radius:4px;padding:0 4px}.ex-go{margin-left:auto;font:700 12px var(--body);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:4px 10px;min-height:30px;cursor:pointer}.ex-go:hover:not([disabled]){border-color:var(--ink);color:var(--ink)}@media (max-width: 640px){.ex-frame{height:64vh;min-height:360px}.ex-legend{font-size:13px;gap:6px 14px}.ex-actions .btn{flex:1 1 100%}.ex-actions .btn-secondary[data-reset]{flex:0 0 auto}}
