/* Section `locuri`: strip, relief map, shares, list. No inline styles (CSP style-src 'self'). */
.locuri-map{
  --m-sea:#e4e0d6; --m-land:#6b6558; --m-riv:#6a8fa8; --m-dan:#4a7391;
  --m-halo:#ffffff; --m-card:#fffdf9; --m-line:#d8d1c3; --m-focus:#b00020;
  --m-ink:#1b1a17; --m-muted:#4a463f; --m-btn:#f1ece1; --m-ring:#1b1a17;
  --m-bar:#2b4a63; --m-barbg:#e6e0d3;
  --k1:#1b4f9c; --k2:#8a1f1a; --k3:#a64d00; --k4:#5b1f6e; --k5:#176144; --k6:#000000; --k7:#00717f; --k8:#b3124f; --k9:#5e5e00; --k10:#4d4d4d;
  --sg1:#2b4a63; --sg2:#8a1f1a; --sg3:#6a5530; --sg4:#176144; --sg5:#5b1f6e;
  --u:1.4;
  color:var(--m-ink);
}
:root:not([data-theme="light"]) .locuri-map{}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .locuri-map{
    --m-sea:#1b1a14; --m-land:#a39c8c; --m-riv:#5f87a3; --m-dan:#7fa8c4;
    --m-halo:#15140f; --m-card:#1f1d17; --m-line:#3a362c; --m-focus:#ffd24d;
    --m-ink:#ece7dc; --m-muted:#b8b1a2; --m-btn:#2a2720; --m-ring:#ece7dc;
    --m-bar:#8fb4d3; --m-barbg:#2d2a22;
    --k1:#7aa9ff; --k2:#ff8d85; --k3:#ffb15c; --k4:#c79bff; --k5:#6fdcae; --k6:#f2f2f2; --k7:#5fd6e6; --k8:#ff8fc0; --k9:#d9d95c; --k10:#bdbdbd;
    --sg1:#8fb4d3; --sg2:#e0908a; --sg3:#d0b57d; --sg4:#6fdcae; --sg5:#c79bff;
  }
}
:root[data-theme="dark"] .locuri-map{
  --m-sea:#1b1a14; --m-land:#a39c8c; --m-riv:#5f87a3; --m-dan:#7fa8c4;
  --m-halo:#15140f; --m-card:#1f1d17; --m-line:#3a362c; --m-focus:#ffd24d;
  --m-ink:#ece7dc; --m-muted:#b8b1a2; --m-btn:#2a2720; --m-ring:#ece7dc;
  --m-bar:#8fb4d3; --m-barbg:#2d2a22;
  --k1:#7aa9ff; --k2:#ff8d85; --k3:#ffb15c; --k4:#c79bff; --k5:#6fdcae; --k6:#f2f2f2; --k7:#5fd6e6; --k8:#ff8fc0; --k9:#d9d95c; --k10:#bdbdbd;
  --sg1:#8fb4d3; --sg2:#e0908a; --sg3:#d0b57d; --sg4:#6fdcae; --sg5:#c79bff;
}
.locuri-map [hidden]{display:none!important}
.locuri-map *{box-sizing:border-box}
.locuri-map .lm-h3{font:600 1.05rem/1.3 var(--sans,system-ui,sans-serif);margin:2rem 0 .6rem}
.locuri-map .lm-intro,.locuri-map .lm-note{max-width:66ch}
.locuri-map .lm-note{color:var(--m-muted);font-size:.95rem}

/* strip */
.strip-bar{display:block;width:100%;height:2.2rem;border-radius:3px}
.seg{stroke:var(--m-card);stroke-width:1}
.sg1{fill:var(--sg1)}.sg2{fill:var(--sg2)}.sg3{fill:var(--sg3)}.sg4{fill:var(--sg4)}.sg5{fill:var(--sg5)}
.strip-list{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.35rem 1.2rem;grid-template-columns:repeat(auto-fill,minmax(15rem,max-content));justify-content:start}
.strip-list li{display:flex;gap:.55rem;align-items:flex-start}
.strip-list .sl{min-width:0}
.strip-list .sn{flex:none;min-width:2ch;text-align:right}
.strip-list .strip-sw{order:-2}
.strip-list .sn{order:-1}
.strip-sw{width:.8rem;height:.8rem;margin-top:.5em;flex:none}
.strip-list .sn{font:600 1rem var(--mono,ui-monospace,monospace);font-variant-numeric:tabular-nums}

/* map */
.mapgrid{display:grid;gap:1rem;margin-top:1.4rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:56rem){.mapgrid{grid-template-columns:minmax(0,1fr) minmax(15rem,21rem);align-items:start}}
.mapwrap{position:relative;border:1px solid var(--m-line);background:var(--m-sea);overflow:hidden;scroll-margin-top:5rem;min-width:0}
.msvg{display:block;width:100%;height:auto;aspect-ratio:1000/706;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;-webkit-user-select:none}
.msvg.zoomed{touch-action:none}
.msvg.drag{cursor:grabbing}
.msvg .sea{fill:var(--m-sea)}
.msvg .rl{display:none}
.msvg .rl-light{display:inline}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .msvg .rl-light{display:none}:root:not([data-theme="light"]) .msvg .rl-dark{display:inline}}
:root[data-theme="dark"] .msvg .rl-light{display:none}
:root[data-theme="dark"] .msvg .rl-dark{display:inline}
.msvg .land{fill:none;stroke:var(--m-land);stroke-width:calc(var(--u)*1.1px);stroke-linejoin:round}
.msvg .riv{fill:none;stroke:var(--m-riv);stroke-width:calc(var(--u)*1px);opacity:.8}
.msvg .riv.dan{stroke:var(--m-dan);stroke-width:calc(var(--u)*2px);opacity:.95}
.msvg .ring{fill:var(--m-ring);fill-opacity:.1;stroke:var(--m-ring);stroke-width:1.6;stroke-dasharray:4 3;transform:scale(var(--u));vector-effect:none}
.msvg .pt{cursor:pointer;outline:none}
.msvg .pt .sh{transform:scale(var(--u));stroke:var(--m-halo);stroke-width:1.6;stroke-linejoin:round;paint-order:stroke fill}
.msvg .pt .fr{transform:scale(var(--u));fill:none;stroke:none;stroke-width:2.4}
.msvg .pt:focus-visible .fr{stroke:var(--m-focus)}
.msvg .pt.sel .fr{stroke:var(--m-focus);fill:var(--m-halo);fill-opacity:.55}
.msvg .pt.sel .sh{stroke-width:2.2}
.k1 .sh,.sw.k1 path{fill:var(--k1)}.k2 .sh,.sw.k2 path{fill:var(--k2)}.k3 .sh,.sw.k3 path{fill:var(--k3)}
.k4 .sh,.sw.k4 path{fill:var(--k4)}.k5 .sh,.sw.k5 path{fill:var(--k5)}.k6 .sh,.sw.k6 path{fill:var(--k6)}
.k7 .sh,.sw.k7 path{fill:var(--k7)}.k8 .sh,.sw.k8 path{fill:var(--k8)}.k9 .sh,.sw.k9 path{fill:var(--k9)}
.k10 .sh,.sw.k10 path{fill:var(--k10)}
.msvg .lab{font:600 calc(var(--u)*11px) var(--sans,system-ui,sans-serif);fill:var(--m-ink);stroke:var(--m-halo);stroke-width:calc(var(--u)*3.2px);paint-order:stroke fill;stroke-linejoin:round;
  text-anchor:var(--ta,start);dominant-baseline:central;
  transform:translate(calc(var(--dx,13)*var(--u)*1px),calc(var(--dy,0)*var(--u)*1px));pointer-events:none}
.msvg .lab.off{visibility:hidden}
.mapctl{position:absolute;bottom:.5rem;left:.5rem;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}
.zb{min-width:44px;min-height:44px;padding:0 .7rem;border:1px solid var(--m-line);border-radius:6px;background:var(--m-btn);color:var(--m-ink);font:600 1.15rem var(--sans,system-ui,sans-serif);cursor:pointer}
.zb.zr{font-size:.85rem}
.zb:hover{border-color:var(--m-ink)}
.zb:focus-visible,.mx:focus-visible,.rowbtn:focus-visible,.more:focus-visible{outline:3px solid var(--m-focus);outline-offset:2px}

.mapside{display:flex;flex-direction:column;gap:1rem;min-width:0}
.mcard{position:relative;border:1px solid var(--m-ink);background:var(--m-card);padding:1rem 3.2rem 1rem 1rem;border-radius:6px;min-width:0}
.mcard .mx{position:absolute;top:.2rem;right:.2rem;width:44px;height:44px;border:0;background:transparent;color:var(--m-ink);font-size:1.7rem;line-height:1;cursor:pointer}
.mc-h{margin:0 0 .5rem;font:600 1.1rem/1.25 var(--sans,system-ui,sans-serif);overflow-wrap:anywhere}
.mc-dl{margin:0}
.mc-dl>div{margin:.3rem 0}
.mc-dl dt{font-size:.8rem;color:var(--m-muted);text-transform:none}
.mc-dl dd{margin:0;overflow-wrap:anywhere}
.mc-page,.mc-prec{margin:.5rem 0 0;font-size:.92rem;color:var(--m-muted)}
.legend{min-width:0}
.lg-h{margin:0 0 .4rem;font:600 .9rem var(--sans,system-ui,sans-serif)}
.lg-list{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.lg-list li{display:grid;grid-template-columns:1.4rem minmax(0,1fr);gap:.5rem;align-items:center;font-size:.9rem;line-height:1.3}
.sw{width:1.3rem;height:1.3rem}
.sw path{stroke:var(--m-ink);stroke-width:.7}
.sw.ringsw circle{fill:var(--m-ring);fill-opacity:.1;stroke:var(--m-ring);stroke-width:1.2;stroke-dasharray:3 2}

/* shares */
.shares{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;max-width:44rem}
.shares li{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 4rem;gap:.7rem;align-items:center}
.shv{font:600 1rem var(--mono,ui-monospace,monospace);text-align:right;font-variant-numeric:tabular-nums}
.shb{width:100%;height:1.1rem;display:block}
.shbg{fill:var(--m-barbg)}.shfg{fill:var(--m-bar)}
@media (max-width:30rem){.shares li{grid-template-columns:5.5rem minmax(0,1fr) 3.6rem;gap:.5rem}}

/* list */
.places{width:100%;border-collapse:collapse;font-size:.95rem}
.places th,.places td{padding:.55rem .6rem;border-bottom:1px solid var(--m-line);text-align:left;vertical-align:top}
.places thead th{font:600 .8rem var(--sans,system-ui,sans-serif);color:var(--m-muted)}
.places tbody th{font-weight:400}
.places tbody tr{cursor:pointer}
.places tbody tr.on{background:var(--m-btn);box-shadow:inset 4px 0 0 var(--m-focus)}
.rowbtn{background:none;border:0;padding:.25rem 0;min-height:44px;font:600 1rem var(--sans,system-ui,sans-serif);color:inherit;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer;overflow-wrap:anywhere}
.more-wrap{margin:1rem 0 0}
.more{min-height:44px;padding:0 1.2rem;border:1px solid var(--m-ink);border-radius:6px;background:var(--m-btn);color:var(--m-ink);font:600 1rem var(--sans,system-ui,sans-serif);cursor:pointer}
@media (max-width:40rem){
  .places thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .places,.places tbody,.places tr,.places th,.places td{display:block;width:100%}
  .places tr{border-bottom:1px solid var(--m-line);padding:.4rem 0}
  .places th,.places td{border:0;padding:.15rem .2rem}
  .places td::before{content:attr(data-label) ": ";color:var(--m-muted);font-size:.85rem}
}
@media (prefers-reduced-motion:reduce){.mapwrap{scroll-behavior:auto}}

.locuri-map .lm-intro,.locuri-map .lm-mapnote{max-width:66ch;margin-left:auto;margin-right:auto}
.places th,.places td{vertical-align:middle}
.places thead th{vertical-align:bottom}
