:root{color-scheme:dark;font:14px/1.45 system-ui,sans-serif;background:#090d10;color:#e5ddc7}*{box-sizing:border-box}body{margin:0}main{padding:8px;position:relative}header,.controls,nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}header{justify-content:space-between;padding-bottom:8px}button,select{font:inherit;color:#e5c577;background:#171b1c;border:1px solid #625231;border-radius:4px;padding:5px 10px;cursor:pointer}button:hover,button:focus-visible,button[aria-pressed=true]{background:#332b19;border-color:#e5c577}label{display:flex;gap:4px;align-items:center}#status{margin:0 0 8px;color:#b8b4a8;font-size:12px}#status.error{color:#ffad99}#viewport{overflow:auto;max-height:calc(100dvh - 100px);background:#080b0c;border:1px solid #463d29;border-radius:5px;touch-action:pan-x pan-y}#map{display:block;width:100%;height:auto;min-height:200px}.marker{cursor:pointer;outline:none}.marker circle{fill:transparent;stroke:transparent;stroke-width:3}.marker:hover circle,.marker:focus circle,.marker[aria-pressed=true] circle{stroke:#ffe092}.marker image{pointer-events:none}.marker text{fill:#fff1c9;paint-order:stroke;stroke:#16120e;stroke-width:4;stroke-linejoin:round;pointer-events:none}.hide-labels .marker text{display:none}.hide-labels .marker:hover text,.hide-labels .marker:focus text{display:block}#details{position:fixed;right:18px;bottom:18px;max-width:360px;width:calc(100vw - 36px);max-height:55dvh;overflow:auto;padding:16px;background:#111719f5;border:1px solid #947c46;border-radius:6px;box-shadow:0 6px 30px #0009}#details[hidden]{display:none}#details h2{margin:0 30px 6px 0;color:#e5c577;font-size:18px}#closeDetails{float:right;padding:1px 8px}#details p{white-space:pre-line}#details p:empty{display:none}#category{font-size:12px;color:#b8b4a8;text-transform:capitalize}dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px}dd{margin:0}dt{color:#b8b4a8}@media(max-width:600px){main{padding:4px}header{gap:8px}nav{flex-wrap:nowrap;overflow:auto;width:100%}nav button{white-space:nowrap;flex:none}.controls{width:100%}#viewport{max-height:calc(100dvh - 135px)}}
/* Share the screenshot control positions used by the local editor. */
#mapCanvas{position:relative;container-type:inline-size;width:100%}
#mapActs{position:absolute;z-index:5;left:36%;top:5.15%;width:28%;min-height:26px;background:#11130f;border:1px solid #7d693f}
#mapActs[hidden],#actsHome[hidden],#mapLayerSwitch[hidden]{display:none}
#mapActs nav{display:flex;gap:2px;width:100%;overflow:visible;flex-wrap:nowrap}
#mapActs button{flex:1;min-width:0;padding:5px 2px;font-size:clamp(9px,1cqw,15px);white-space:nowrap;border:0;border-radius:2px}
#mapLayerSwitch{position:absolute;z-index:6;left:97.9%;top:43.9%;transform:translate(-50%,-50%);width:3.8%;min-width:32px;aspect-ratio:1;padding:0;background:transparent;border:2px solid transparent;border-radius:50%}
#mapLayerSwitch:hover,#mapLayerSwitch:focus-visible{border-color:#efd28b;outline:2px solid #574721;outline-offset:1px;background:rgba(239,210,139,.12)}
#viewport{touch-action:none;overscroll-behavior:contain;cursor:grab;user-select:none}
#viewport.is-panning,#viewport.is-panning .marker{cursor:grabbing}
#viewport:focus-visible{outline:2px solid #e5c577;outline-offset:-2px}
.controls button:disabled{opacity:.45;cursor:default}
