:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#07111f;color:#bdd1df}*{box-sizing:border-box}body{margin:0;display:flex;flex-direction:column;height:100dvh;min-height:300px;overflow:hidden}header{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #263846;background:#0b1826;flex-wrap:wrap}.heading{display:flex;align-items:center;gap:9px;white-space:nowrap}.dot{height:8px;width:8px;border-radius:50%;background:#e0a446}.dot.ok{background:#2dd4bf;box-shadow:0 0 9px #2dd4bf55}.badge{font-size:10px;letter-spacing:1.6px;border:1px solid #2dd4bf44;color:#2dd4bf;padding:3px 6px;border-radius:4px}.controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}button,select{font:inherit;font-size:12px;color:#bdd1df;background:#122535;border:1px solid #2a4354;border-radius:5px;padding:5px 9px;cursor:pointer}button:hover{border-color:#2dd4bf}label{font-size:12px;display:flex;gap:3px;align-items:center;padding:0 3px}input{accent-color:#2dd4bf}main{position:relative;flex:1;min-height:0;isolation:isolate}#map{position:absolute;inset:0}#map>canvas{left:0;top:0}#legend{position:absolute;left:15px;bottom:13px;display:flex;flex-wrap:wrap;gap:6px 15px;pointer-events:none;font-size:11px;padding:7px 10px;border:1px solid #263846;background:#07111fe8;border-radius:5px}.item{display:flex;align-items:center;gap:6px}.swatch{width:18px;height:3px;border-radius:2px}#details{position:absolute;right:16px;top:16px;max-width:min(430px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;background:#0b1826ed;border:1px solid #315267;border-radius:8px;padding:16px;box-shadow:0 12px 35px #0008}#details h2{font-size:14px;padding-right:32px;margin:0 0 10px}#details pre{font-family:inherit;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:0}#close{float:right}footer{display:flex;justify-content:space-between;gap:10px;padding:8px 16px;border-top:1px solid #263846;font-size:11px;min-height:34px;background:#0b1826}a{color:#2dd4bf}@media(max-width:600px){header{padding:9px}.controls{gap:4px}label,button,select{font-size:11px}footer{padding:7px 9px}#legend{left:9px;right:9px;bottom:9px;font-size:10px}}
