/* map layer: optional map/ folder — OpenFreeMap vector tiles rendered with MapLibre GL JS */
.tool-button.map-button{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(36,104,77,.32)}
.tool-button.map-button:hover,.tool-button.map-button:focus-visible{background:var(--accent2);border-color:var(--accent2);color:#fff}
.tool-button.map-button.is-active{background:var(--accent2);border-color:var(--accent2)}
.tool-button.map-button.is-active:after{display:none}
:root[data-theme=dark] .tool-button.map-button,:root[data-theme=dark] .tool-button.map-button:hover,:root[data-theme=dark] .tool-button.map-button:focus-visible{color:#0f1512}
.tool-button.map-button svg{width:20px;height:20px}
body.tgm-map-mode{overflow:hidden}
body.tgm-map-mode .list-section{display:none!important}
body.tgm-map-mode .js-warning{display:none!important}
.tgm-view{--tgm-top:150px;position:fixed;z-index:25;left:0;right:0;top:var(--tgm-top);bottom:0;background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.tgm-view[hidden]{display:none}
.tgm-view .tgm-canvas{position:absolute;inset:0}
.tgm-view .tgm-canvas:focus-within{outline:none}
.tgm-head{position:absolute;z-index:3;top:10px;left:10px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 130px)}
.tgm-head-text{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:7px 11px;box-shadow:0 6px 18px rgba(18,46,34,.12);min-width:0}
.tgm-head-title{display:block;font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tgm-head-sub{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.tgm-fit{width:38px;height:38px;flex:0 0 auto;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:#435049;display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:0 6px 18px rgba(18,46,34,.12)}
.tgm-fit:hover{border-color:#c7d4ce;color:var(--accent2);background:var(--surface2)}
.tgm-fit:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tgm-fit svg{width:18px;height:18px}
:root[data-theme=dark] .tgm-fit{color:#a9b8af}
.tgm-legend{position:absolute;z-index:3;left:10px;bottom:10px;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px;box-shadow:0 6px 18px rgba(18,46,34,.14)}
.tgm-leg{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.tgm-leg+.tgm-leg{padding-left:10px;border-left:1px solid var(--border)}
.tgm-leg-text{font-weight:800;color:var(--text)}
.tgm-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.tgm-dot.is-visited{background:#12a150;box-shadow:0 0 0 2px rgba(18,161,80,.24)}
.tgm-dot.is-unvisited{background:#e0364a;box-shadow:0 0 0 2px rgba(224,54,74,.24)}
.tgm-empty{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 20px;text-align:center;font-size:13px;font-weight:700;color:var(--text);box-shadow:var(--shadow);max-width:min(320px,calc(100% - 32px))}
.tgm-error{position:absolute;z-index:3;left:50%;bottom:58px;transform:translateX(-50%);background:#fff2f0;border:1px solid #ecc9c2;border-radius:12px;padding:10px 14px;text-align:center;font-size:12px;font-weight:700;color:#7a2f22;max-width:min(340px,calc(100% - 32px))}
.tgm-empty[hidden],.tgm-error[hidden]{display:none}
:root[data-theme=dark] .tgm-error{background:#3a2320;border-color:#6b3a33;color:#f2b8ab}
.tgm-popup-body{min-width:168px}
.tgm-popup-dot{float:right;width:9px;height:9px;border-radius:50%;margin:4px 0 0 8px}
.tgm-popup-body.is-visited .tgm-popup-dot{background:#12a150}
.tgm-popup-body.is-unvisited .tgm-popup-dot{background:#e0364a}
.tgm-popup-title{font-size:13px;font-weight:800;line-height:1.25;padding-right:18px}
.tgm-popup-place{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.3}
.tgm-popup-place[hidden]{display:none}
.tgm-popup-dir{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px;width:100%;min-height:36px;border-radius:9px;border:1px solid var(--border);background:var(--surface2);color:var(--accent2);font-size:12px;font-weight:800;text-decoration:none}
.tgm-popup-dir:hover{border-color:#94bea6;background:#e3f0e8}
.tgm-popup-dir svg{width:15px;height:15px;flex:0 0 auto}
:root[data-theme=dark] .tgm-popup-dir:hover{background:#24322b;border-color:#3f7d5e}
.tgm-popup-dir+.tgm-popup-toggle{margin-top:7px}
.tgm-popup-detail{margin-top:9px;padding-top:9px;border-top:1px dashed var(--border);max-height:170px;overflow:auto;overscroll-behavior:contain}
.tgm-popup-detail[hidden]{display:none}
.tgm-popup-detail .detail-topic{font-size:12px;margin-bottom:5px}
.tgm-popup-detail .detail-note{font-size:12px}
.tgm-popup-detail-btn{display:block;width:100%;border:0;background:none;color:var(--accent2);font:inherit;font-size:11.5px;font-weight:800;cursor:pointer;padding:8px 0 0;text-align:center}
.tgm-popup-detail-btn:hover{text-decoration:underline}
.tgm-popup-dir:focus-visible,.tgm-popup-toggle:focus-visible,.tgm-popup-detail-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tgm-popup-toggle{margin-top:10px;width:100%;min-height:34px;border-radius:9px;border:1px solid #c7ded1;background:#e3f0e8;color:#15583d;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.tgm-popup-toggle:hover{background:#d3e8db}
.tgm-popup-body.is-visited .tgm-popup-toggle{background:var(--surface);border-color:#e8bcc2;color:#8f2230}
.tgm-popup-body.is-visited .tgm-popup-toggle:hover{background:#fff2f3}
:root[data-theme=dark] .tgm-popup-body.is-visited .tgm-popup-toggle{background:var(--surface);border-color:#6b3a33;color:#f2b8ab}
:root[data-theme=dark] .tgm-popup-body.is-visited .tgm-popup-toggle:hover{background:#3a2320}
.tgm-view .maplibregl-popup-content{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:13px;padding:11px 13px 12px;box-shadow:0 16px 38px rgba(0,0,0,.28)}
.tgm-view .maplibregl-popup-tip{border-top-color:var(--surface)!important;border-bottom-color:var(--surface)!important}
.tgm-view .maplibregl-ctrl-attrib{font-size:10.5px;color:#435049}
.tgm-view .maplibregl-ctrl-attrib a{color:#435049}
:root[data-theme=dark] .tgm-view .maplibregl-ctrl-attrib{background:rgba(15,21,18,.8);color:#cfe0d6}
:root[data-theme=dark] .tgm-view .maplibregl-ctrl-attrib a{color:#cfe0d6}
@media(max-width:640px){
.tgm-head{top:8px;left:8px;max-width:calc(100% - 104px)}
.tgm-head-title{font-size:12px}
.tgm-head-sub{font-size:10.5px}
.tgm-legend{left:8px;bottom:8px;padding:5px 10px;gap:8px}
.tgm-leg{font-size:11px}
.tgm-view .maplibregl-ctrl-attrib{font-size:10px;max-width:62%}
}
@media(prefers-reduced-motion:reduce){
.tgm-fit{transition:none}
}
