.sjm{--sjm-ink:#173745;--sjm-muted:#4c6264;--sjm-paper:#fbf7ec;--sjm-line:#bdc8bd;--sjm-accent:#9b4934;color:var(--sjm-ink);min-width:0}
.sjm *{box-sizing:border-box}
.sjm [hidden]{display:none!important}
.sjm :is(select,button){font:inherit}.sjm :is(a,button,select,summary,[tabindex]):focus-visible{outline:3px solid #ad6335;outline-offset:3px}
.sjm-modes,.sjm-filter,.sjm-tools{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.sjm-modes{margin:1.3rem 0 .9rem}
.sjm-modes button,.sjm-outline,.sjm-group button{cursor:pointer;border-radius:2px;border:1px solid var(--sjm-line);background:var(--sjm-paper);color:var(--sjm-ink);padding:.56rem .76rem;font:650 .79rem/1.3 system-ui,sans-serif}
.sjm-modes small{font-size:.65rem;margin-right:.3rem;font-variant-numeric:tabular-nums;opacity:.8}
.sjm-modes button[aria-pressed=true]{background:#254d57;border-color:#254d57;color:#fff8e9}
.sjm-filter{gap:.75rem;align-items:flex-end;margin:0 0 .85rem}
.sjm-filter label,.sjm-choose{display:block;max-width:100%;color:var(--sjm-muted);font:650 .72rem/1.4 system-ui,sans-serif}
.sjm-filter select,.sjm-choose select{display:block;max-width:100%;min-width:0;width:100%;border:1px solid #a6b6ab;color:var(--sjm-ink);background:#fffdf7;padding:.49rem .6rem;margin-top:.23rem;border-radius:3px;font:500 .82rem/1.45 system-ui,sans-serif}
.sjm-outline{padding:.54rem .7rem;font-size:.75rem}
.sjm-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr);background:var(--sjm-paper);border:1px solid var(--sjm-line);align-items:stretch}
.sjm-cart,.sjm-aside{min-width:0}
.sjm-stage{height:clamp(390px,43vw,520px);position:relative;overflow:hidden;background:#dfe8e5}
.sjm-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}
.sjm-canvas:active{cursor:grabbing}.sjm-graticule path{fill:none;stroke:#acbeb9;stroke-width:.65;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
.sjm-land path{fill:#e4e7da;stroke:#b5c3b9;stroke-width:.85;vector-effect:non-scaling-stroke}.sjm-land .sjm-national{fill:#f8f3df;stroke:#899f93;stroke-width:1.4}
.sjm-areas path{fill:#dfbb82;fill-opacity:.65;stroke:#8f754f;stroke-width:1;cursor:pointer;vector-effect:non-scaling-stroke}
.sjm-areas .sjm-chosen{fill:#d6a45c;fill-opacity:.95;stroke:#975136;stroke-width:2}
.sjm-pin{cursor:pointer}.sjm-hit{fill:transparent;stroke:none}.sjm-dot{fill:#286269;stroke:#fff9ea;stroke-width:1.7}
.sjm-pin.sjm-chosen .sjm-dot{fill:#a45037}.sjm-ring{fill:none;stroke:#9b4934;stroke-width:2.1}.sjm-num{fill:white;font:700 10px system-ui,sans-serif;pointer-events:none}
.sjm-label{font:650 12px/1.2 system-ui,sans-serif;fill:#254245;stroke:#fff6e3;stroke-width:3.5;paint-order:stroke;stroke-linejoin:round}
.sjm-tools{position:absolute;left:.65rem;top:.65rem;gap:.26rem}.sjm-tools button{border-radius:2px;cursor:pointer;border:1px solid #a4b4a8;background:#fffdf3ed;color:var(--sjm-ink);height:36px;width:36px;line-height:1;font-size:1.12rem}.sjm-tools button:disabled{opacity:.5;cursor:default}
.sjm-credit{position:absolute;bottom:.4rem;right:.45rem;background:#fff9eccc;color:#3f5559;padding:.15rem .28rem;font:600 .62rem/1.4 system-ui,sans-serif;pointer-events:none}
.sjm-legend{padding:.86rem 1rem;border-top:1px solid var(--sjm-line);display:grid;gap:.24rem}.sjm-legend strong{font:700 .82rem/1.4 system-ui,sans-serif}.sjm-legend span{color:var(--sjm-muted);font-size:.76rem;line-height:1.5}
.sjm-aside{padding:1rem 1.1rem;border-left:1px solid var(--sjm-line)}.sjm-choose select{width:100%}
.sjm-sheet{padding-top:.85rem;border-top:1px solid var(--sjm-line);margin-top:.9rem;overflow-wrap:anywhere}
.sjm-sheet h4{font:500 clamp(1.4rem,2.3vw,2rem)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.025em;margin:.3rem 0 .6rem;color:var(--sjm-ink)}
.sjm-sheet .sjm-kicker{font:700 .62rem/1.55 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--sjm-accent);margin:0}
.sjm-sheet .sjm-kind{color:#355d5e;font-size:.79rem;font-weight:700;margin:.4rem 0}
.sjm-sheet p:not([class]){font-size:.86rem;line-height:1.6;margin:.65rem 0}
.sjm-sheet dl{margin:.78rem 0}.sjm-sheet dt{font:700 .67rem/1.4 system-ui,sans-serif;color:var(--sjm-accent);letter-spacing:.06em;text-transform:uppercase}.sjm-sheet dd{font-size:.8rem;line-height:1.5;margin:.15rem 0 .6rem}
.sjm-note{background:#f0ede0;padding:.62rem .72rem;font-size:.73rem;line-height:1.58;color:#3f5556}
.sjm-source-link,.sjm-source{font-size:.73rem;line-height:1.5;margin:.55rem 0 0}.sjm-source{color:#566664}.sjm-source-link{display:inline-block}
.sjm-group{margin-top:.7rem;padding:.6rem;background:#eae9da}.sjm-group b{font-size:.75rem}.sjm-group>div{display:flex;flex-wrap:wrap;gap:.3rem;padding-top:.4rem}.sjm-group button{padding:.36rem .45rem;font-size:.72rem}
.sjm-method{margin:.8rem 0;border:1px solid var(--sjm-line);padding:.7rem .85rem;background:var(--sjm-paper)}
.sjm-method summary{cursor:pointer;font:650 .8rem/1.5 system-ui,sans-serif}.sjm-method p{font-size:.78rem;line-height:1.6;max-width:95ch}
@media(max-width:780px){.sjm-layout{grid-template-columns:1fr}.sjm-aside{border-left:0;border-top:1px solid var(--sjm-line)}.sjm-stage{height:375px}.sjm-filter{gap:.5rem}.sjm-filter label{flex:1 1 12rem}}
@media(max-width:440px){.sjm-stage{height:325px}.sjm-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sjm-modes button{padding:.5rem .33rem}.sjm-legend,.sjm-aside{padding:.78rem}.sjm-canvas .sjm-label{font-size:11px}}
