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