.jsw{--jsw-ink:var(--mvds-ink,#21302d);--jsw-paper:var(--mvds-paper,#f7f3ea);--jsw-accent:var(--mvds-accent,#8f4b35);color:var(--jsw-ink);font:inherit;line-height:1.55;background:#fff;border:1px solid #d9d5ca;border-radius:18px;padding:clamp(16px,3vw,28px);max-width:920px;margin:0 auto 28px;box-sizing:border-box}.jsw *{box-sizing:border-box}.jsw h2{font-family:Georgia,serif;line-height:1.2}.jsw-badge{font-size:.8rem;background:#ede8de;padding:5px 9px;border-radius:20px}.jsw button{font:inherit;line-height:1.2;color:var(--jsw-ink);background:var(--jsw-paper);border:1px solid #8e9992;border-radius:8px;cursor:pointer;padding:9px 12px;min-height:44px;text-transform:none;letter-spacing:normal;box-shadow:none;margin:0}.jsw button:disabled{opacity:.5;cursor:default}.jsw button:focus-visible,.jsw select:focus-visible{outline:3px solid #335f68;outline-offset:2px}.jsw button:hover{border-color:var(--jsw-accent)}.jsw-scroll{overflow-x:auto;padding:24px 22px}.jsw-grid{display:grid;grid-template-columns:repeat(var(--jsw-n),48px);width:max-content;border-left:1px solid #59635e;border-top:1px solid #59635e}.jsw .jsw-cell{position:relative;width:48px;height:48px;min-height:48px;aspect-ratio:1;padding:0;border-radius:0;background:#fffcf6;border:0;border-right:1px solid #59635e;border-bottom:1px solid #59635e;display:flex;align-items:center;justify-content:center;isolation:isolate}.jsw .jsw-cell.is-selected{outline:3px solid var(--jsw-accent);outline-offset:-4px;z-index:2}.jsw .jsw-t-plaza{background:#d7d7d2}.jsw .jsw-t-water{background:#e1eef3}.jsw-symbol{font-family:Georgia,serif;font-size:26px;pointer-events:none;color:#36564c}.jsw-t-dog .jsw-symbol{font:700 9px sans-serif}.jsw-t-fire-n .jsw-symbol,.jsw-t-fire-e .jsw-symbol,.jsw-t-fire-s .jsw-symbol,.jsw-t-fire-w .jsw-symbol{font-size:18px}.jsw-t-zebra-h .jsw-symbol,.jsw-t-zebra-v .jsw-symbol,.jsw-t-bridge-h .jsw-symbol,.jsw-t-bridge-v .jsw-symbol{color:#a0a69f;font-size:38px}.jsw-cell svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.jsw-cell polyline{fill:none;stroke:#193d53;stroke-width:7;stroke-linejoin:round;stroke-linecap:butt}.jsw-cell .jsw-overpass{stroke:#9b4a29;paint-order:stroke;stroke-width:7}.jsw-cross{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:32px;color:#555;pointer-events:none}.jsw-end{position:absolute;font:700 9px sans-serif;padding:2px;color:white;z-index:3;pointer-events:none}.jsw-start{background:#326447}.jsw-end.jsw-end:not(.jsw-start){background:#9b4a29}.jsw-end.side-1{top:-17px;left:13px}.jsw-end.side-2{right:-23px;top:16px}.jsw-end.side-4{bottom:-17px;left:13px}.jsw-end.side-8{left:-22px;top:16px}.jsw-tools,.jsw-actions,.jsw-tool-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}.jsw-tools button{font-size:22px;min-width:44px}.jsw-actions button:first-child{background:var(--jsw-accent);color:white}.jsw-status{min-height:3em}.jsw select,.jsw input{font:inherit;max-width:100%}.jsw input.jsw-size{width:75px}.jsw-editor{max-width:none}.jsw-editor .jsw-tools{display:block}.jsw-editor .jsw-tools button{font-size:14px}.jsw-rules li{margin-bottom:8px}@media(max-width:500px){.jsw-grid{grid-template-columns:repeat(var(--jsw-n),44px)}.jsw .jsw-cell{width:44px;height:44px;min-height:44px}.jsw{padding:14px}.jsw-tools{gap:5px}}
