.scm{--scm-ink:#172735;--scm-muted:#536664;--scm-paper:#f4f0e6;--scm-line:#cfc6bb;--scm-accent:#b64b35;--scm-teal:#203d52;color:var(--scm-ink);min-width:0}
.scm *{box-sizing:border-box}
.scm [hidden]{display:none!important}
.scm :is(input,select,button){font:inherit}
.scm :is(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--scm-accent);outline-offset:3px}
.scm-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:1.25rem 0 1rem}
.scm-modes button{display:flex;align-items:center;gap:.55rem;text-align:left;border:1px solid var(--scm-line);border-radius:3px;background:var(--scm-paper);color:var(--scm-ink);padding:.7rem .8rem;font:650 .8rem/1.4 system-ui,sans-serif;cursor:pointer}
.scm-modes small{font-size:.65rem;font-variant-numeric:tabular-nums;opacity:.75}
.scm-modes button[aria-pressed=true]{background:var(--scm-ink);border-color:var(--scm-ink);color:#fff8e9}
.scm-filter{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin:0 0 .9rem}
.scm-filter label,.scm-choose{display:block;max-width:100%;color:var(--scm-muted);font:650 .73rem/1.45 system-ui,sans-serif}
.scm-filter label{flex:1 1 18rem}
.scm-filter input,.scm-choose select{display:block;min-width:0;max-width:100%;width:100%;margin-top:.25rem;padding:.55rem .65rem;border:1px solid #b6aaa0;border-radius:3px;background:#fffdf7;color:var(--scm-ink);font:500 .82rem/1.4 system-ui,sans-serif}
.scm-outline,.scm-group button{border:1px solid var(--scm-line);border-radius:3px;background:var(--scm-paper);color:var(--scm-ink);padding:.62rem .75rem;font:650 .77rem/1.3 system-ui,sans-serif;cursor:pointer}
.scm-count{color:var(--scm-muted);font:600 .73rem/1.5 system-ui,sans-serif;padding:.58rem .2rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.scm-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(245px,1fr);align-items:stretch;background:var(--scm-paper);border:1px solid var(--scm-line)}
.scm-cart,.scm-aside{min-width:0}
.scm-stage{height:clamp(390px,43vw,520px);position:relative;overflow:hidden;background:#dce8e5}
.scm-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}
.scm-canvas:active{cursor:grabbing}
.scm-graticule path{fill:none;stroke:#b2c9c4;stroke-width:.65;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
.scm-land path{fill:#eae6da;stroke:#bdc5b9;stroke-width:.8;vector-effect:non-scaling-stroke}
.scm-land .scm-home{fill:#eee9da;stroke:#9fae9e;stroke-width:1.1}
.scm-network{pointer-events:none}
.scm-network path{fill:none;stroke:#a35343;stroke-dasharray:5 5;stroke-width:1.3;opacity:.78;vector-effect:non-scaling-stroke}
.scm-pin{cursor:pointer}
.scm-hit{fill:transparent;stroke:none}
.scm-dot{fill:var(--scm-teal);stroke:#fff9ea;stroke-width:1.7}
.scm-pin.scm-chosen .scm-dot{fill:var(--scm-accent)}
.scm-ring{fill:none;stroke:var(--scm-accent);stroke-width:2}
.scm-num{fill:#fff;font:700 10px system-ui,sans-serif;pointer-events:none}
.scm-label{font:650 11.5px/1.2 system-ui,sans-serif;fill:#334c4d;stroke:#fff9ec;stroke-width:3.5;paint-order:stroke;stroke-linejoin:round}
.scm-tools{position:absolute;left:.65rem;top:.65rem;display:flex;gap:.3rem}
.scm-tools button{height:38px;width:38px;border:1px solid #a6b5aa;border-radius:3px;background:#fffdf3ed;color:var(--scm-ink);font-size:1.15rem;line-height:1;cursor:pointer}
.scm-tools button:disabled{opacity:.5;cursor:default}
.scm-credit{position:absolute;bottom:.4rem;right:.4rem;background:#fff9eccc;color:#405754;padding:.2rem .35rem;font:600 .62rem/1.3 system-ui,sans-serif;pointer-events:none}
.scm-legend{display:grid;gap:.35rem;border-top:1px solid var(--scm-line);padding:1rem 1.1rem}
.scm-legend strong{font:600 .9rem/1.45 system-ui,sans-serif;color:var(--scm-ink)}
.scm-legend span{font-size:.78rem;line-height:1.6;color:var(--scm-muted)}
.scm-legend small{font-size:.7rem;line-height:1.5;color:var(--scm-muted)}
.scm-aside{padding:1rem 1.1rem;border-left:1px solid var(--scm-line)}
.scm-sheet{border-top:1px solid var(--scm-line);margin-top:.9rem;padding-top:.9rem;overflow-wrap:anywhere}
.scm-sheet h4{margin:.35rem 0 .7rem;color:var(--scm-ink);font:500 clamp(1.45rem,2.25vw,1.9rem)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.scm-sheet .scm-kicker{margin:0;color:var(--scm-accent);font:700 .62rem/1.55 system-ui,sans-serif;letter-spacing:.075em;text-transform:uppercase}
.scm-sheet .scm-status{display:inline-block;margin:.1rem 0 .4rem;padding:.3rem .5rem;background:#eae1d9;color:#624035;border:1px solid #d8c2b5;font:650 .69rem/1.5 system-ui,sans-serif}
.scm-sheet p:not([class]){font-size:.84rem;line-height:1.62;margin:.7rem 0}
.scm-sheet .scm-source{font-size:.71rem;line-height:1.55;color:var(--scm-muted);margin:.8rem 0}
.scm-precision{padding:.7rem .8rem;background:#efeadf;margin:.85rem 0}
.scm-precision b{display:block;font:700 .67rem/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#5e4940}
.scm-precision p:not([class]){font-size:.73rem;line-height:1.55;margin:.25rem 0 0}
.scm-sheet .scm-coordinates{font-size:.73rem;line-height:1.5;font-variant-numeric:tabular-nums;color:var(--scm-muted);margin:.65rem 0}
.scm-map-link{margin:.6rem 0}
.scm-map-link a,.scm-row-sources a{font-size:.75rem;line-height:1.5;color:#165a5b;text-decoration:underline;text-underline-offset:3px}
.scm-row-sources summary{cursor:pointer;font:650 .73rem/1.5 system-ui,sans-serif}
.scm-row-sources p:not([class]){font-size:.72rem;line-height:1.55}
.scm-group{padding:.65rem;background:#eee3d7;margin:.75rem 0}
.scm-group b{font:650 .74rem/1.4 system-ui,sans-serif}
.scm-group>div{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}
.scm-group button{padding:.4rem .5rem;font-size:.71rem;text-align:left}
.scm-method{border:1px solid var(--scm-line);padding:.8rem 1rem;background:var(--scm-paper);margin:.85rem 0}
.scm-method summary{cursor:pointer;font:650 .8rem/1.5 system-ui,sans-serif}
.scm-method p{font-size:.78rem;line-height:1.65;max-width:98ch}
.scm-method a{color:#165a5b;text-underline-offset:3px}
@media(max-width:780px){
  .scm-layout{grid-template-columns:1fr}
  .scm-aside{border-left:0;border-top:1px solid var(--scm-line)}
  .scm-stage{height:375px}
}
@media(max-width:440px){
  .scm-stage{height:325px}
  .scm-modes{gap:.3rem}
  .scm-modes button{display:block;padding:.5rem .4rem;font-size:.71rem}
  .scm-modes small{display:block;margin-bottom:.25rem}
  .scm-legend,.scm-aside{padding:.8rem}
  .scm-filter label{flex-basis:100%}
  .scm-canvas .scm-label{font-size:11px}
}

.scm-local-land path{fill:#eee8da;stroke:#adc7c2;stroke-width:1;vector-effect:non-scaling-stroke}
.scm-streets path{fill:none;stroke:#d0c6b4;stroke-width:.65;vector-effect:non-scaling-stroke;opacity:.82}
.scm-streets .scm-road-principal{stroke:#faf8f1;stroke-width:2.1;opacity:1}
.scm-rivers path{fill:none;stroke:#8fb6b1;stroke-width:3;vector-effect:non-scaling-stroke}
.scm-selection{pointer-events:none}
.scm-selection path{fill:none;stroke:#b64b35;stroke-width:3.1;opacity:.8;vector-effect:non-scaling-stroke}
.scm-sea-label{font:italic 14px Georgia,serif;fill:#547e7d;letter-spacing:.04em}
.scm-north{position:absolute;right:.75rem;top:.7rem;color:#385c60;background:#f8f5ece6;padding:.35rem .4rem;font:700 .75rem/1.2 system-ui,sans-serif;pointer-events:none}
.scm-scale{position:absolute;bottom:1.3rem;left:.8rem;display:grid;gap:3px;color:#385357;pointer-events:none}
.scm-scale i{display:block;height:5px;border:1.4px solid #385357;border-top:0}
.scm-scale b{font:650 .62rem/1.2 system-ui,sans-serif;text-shadow:0 1px #fff}
.scm-cat-instituicoes{--scm-dot:#315b75}
.scm-cat-industria{--scm-dot:#3b7475}
.scm-cat-trabalho{--scm-dot:#aa513e}
.scm-cat-urbano{--scm-dot:#97723d}
.scm-cat-conexoes{--scm-dot:#655477}
.scm-cat-infraestrutura{--scm-dot:#50724d}
.scm-pin .scm-dot{fill:var(--scm-dot,var(--scm-teal))}
.scm-pin.scm-chosen .scm-dot{fill:var(--scm-accent)}
.scm-key{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin-top:.35rem}
.scm-key span{display:inline-flex;align-items:center;gap:.35rem;font:600 .67rem/1.4 system-ui,sans-serif;color:var(--scm-muted)}
.scm-key i{width:8px;height:8px;border-radius:50%;background:var(--scm-dot);display:block;flex-shrink:0}
.scm-credit{font-size:.58rem;max-width:calc(100% - 8px);text-align:right}
@media(max-width:440px){.scm-stage{height:350px}.scm-north{font-size:.65rem}.scm-scale{bottom:1.5rem}.scm-filter :is(button,input){min-height:42px}.scm-modes button{min-height:58px}}

.scm-credit{pointer-events:auto}.scm-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}

.scm-streets .scm-road-local{display:none;stroke:#c9bfae;stroke-width:.65;opacity:.8}
.scm-streets.scm-detail .scm-road-local{display:inline}
.scm-streets .scm-road-secundaria{stroke:#c9bfad;stroke-width:.75;opacity:.85}
.scm-streets.scm-regional .scm-road-secundaria{display:none}
