:root{color-scheme:dark;--bg:#11191b;--panel:#182123;--line:#34403d;--gold:#d6b77a;--text:#e9e6db;--muted:#96a19b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#202b2c;border:1px solid var(--line);border-radius:5px;color:var(--text);padding:9px 12px;transition:background .15s,border-color .15s}button:hover{background:#2a3735;border-color:#7a795d}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.gold{background:var(--gold);color:#182022;border-color:var(--gold);font-weight:650}.gold:hover{background:#ebcc91}.danger{color:#f19c8c}.muted{color:var(--muted)}header{height:78px;display:flex;align-items:center;gap:30px;padding:0 24px;border-bottom:1px solid #52614c55;position:relative;z-index:600}.brand{display:flex;align-items:center;gap:13px;color:var(--text);text-decoration:none;font-family:Georgia,serif;letter-spacing:5px;font-size:25px;flex-shrink:0}.sigil{font-size:43px;line-height:1;color:var(--gold)}.brand small{display:block;letter-spacing:2px;font:8px system-ui;margin-top:5px;color:var(--muted)}.searchbox{display:flex;align-items:center;gap:10px;position:relative;max-width:410px;flex:1;color:var(--gold)}input,select,textarea{border:1px solid #40504a;background:#10191b;border-radius:4px;padding:10px;color:var(--text);width:100%}.searchbox input{background:#1a2425;border-color:#34413b}.searchbox>span{font-size:24px}.header-actions{display:flex;gap:7px;margin-left:auto}.header-actions button{white-space:nowrap;background:transparent}.header-actions .gold{background:var(--gold)}main{display:flex;height:calc(100dvh - 118px)}#map{flex:1;background:#0a181c;isolation:isolate;overscroll-behavior:none;min-width:0}#map:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.leaflet-container{font-family:inherit}#sidebar{width:300px;min-width:300px;background:linear-gradient(160deg,#1b2727,#141e20);display:flex;flex-direction:column;border-left:1px solid #5c634455;z-index:450}.panel-heading{padding:26px 24px 22px}.eyebrow{color:var(--gold);font-size:9px;font-weight:600;letter-spacing:2px}.panel-heading h2{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:12px 0}.panel-heading h2 span{font:11px system-ui;border:1px solid #49574b;color:var(--gold);border-radius:20px;padding:3px 7px;vertical-align:middle}.panel-heading p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:0}.tabs{display:flex;border-block:1px solid var(--line);padding:0 14px}.tabs button{flex:1;border:0;border-radius:0;background:none;color:var(--muted);padding:15px 8px;position:relative}.tabs button.active{color:var(--gold)}.tabs button.active:after{content:'';position:absolute;bottom:0;left:10px;right:10px;height:2px;background:var(--gold)}#panelContent{overflow-y:auto;padding:18px;flex:1;scrollbar-width:thin;scrollbar-color:#495c51 transparent}.section-label{display:flex;align-items:center;justify-content:space-between;color:#b8c0b5;letter-spacing:1.4px;font-size:9px;margin:22px 0 12px;text-transform:uppercase}.section-label:first-child{margin-top:0}.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.icon-button{padding:6px 2px 9px;background:#101a1b80;border-color:#35443b;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:10px;color:#bfc5b8}.icon-button img{height:57px;width:62px;object-fit:contain;filter:drop-shadow(0 3px 3px #0008)}.icon-button.selected{border-color:var(--gold);background:#77683d33}.city-button{display:flex;align-items:center;text-align:left;width:100%;background:transparent;margin:5px 0;padding:8px;font-size:12px}.city-button img{height:34px;width:34px;object-fit:contain;margin-right:10px}.city-button small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.city-button .arrow{margin-left:auto;color:var(--gold)}.panel-footer{padding:16px 20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.panel-footer small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:12px;color:#72847b}.status-dot{width:5px;height:5px;background:#9ebd92;display:inline-block;border-radius:100%;margin-right:6px}footer{height:40px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 20px;color:var(--muted);font-size:10px;letter-spacing:.4px}#coordinates{border:0;background:transparent;padding:0;color:var(--gold);font-variant-numeric:tabular-nums;font-size:11px}#coordinates i{display:inline-block;height:10px;border-left:1px solid #57604b;margin:0 12px}#saveStatus{margin-left:auto}#toolStatus{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-title{position:absolute;top:25px;left:30px;z-index:400;pointer-events:none;text-shadow:0 2px 9px #000,0 0 20px #000}.map-title>span{color:#dbd1a1;font-size:8px;letter-spacing:3px}.map-title h1{font-family:Georgia,serif;font-weight:400;font-size:26px;letter-spacing:1px;margin:7px 0;color:#fff0cd}.map-title p{font-size:10px;color:#c7cfbc;letter-spacing:.5px}.compass{position:absolute;bottom:28px;left:30px;z-index:400;display:flex;align-items:center;flex-direction:column;font-family:Georgia,serif;color:#d6cb9b;font-size:9px;pointer-events:none;text-shadow:0 2px 3px #000}.compass span{font-size:54px;line-height:1.1}.leaflet-control-zoom{border:1px solid #7b7955!important;box-shadow:0 3px 12px #0006!important}.leaflet-control-zoom a{background:#182426!important;color:var(--gold)!important;border-color:#4c5947!important}.leaflet-control-attribution{background:#10191bd9!important;color:#a1b2aa!important;font-size:8px!important}.leaflet-control-attribution a{color:var(--gold)!important}.leaflet-tooltip{background:#132024ee;color:#eee2ba;border:1px solid #687154;border-radius:3px;box-shadow:0 2px 10px #0005;font-size:10px}.leaflet-tooltip:before{display:none}.atlas-marker{background:none;border:0}.atlas-marker img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #000b)}.atlas-marker.rumor{opacity:.65}.node-icon{border:2px solid #fff6d2;background:#b99a59;border-radius:50%;box-shadow:0 0 0 3px #10202499}.curve-stroke{pointer-events:stroke;cursor:pointer;vector-effect:non-scaling-stroke}.curve-hit{pointer-events:stroke;cursor:pointer;vector-effect:non-scaling-stroke;stroke:transparent;stroke-width:18;fill:none}.grid-line{vector-effect:non-scaling-stroke;stroke:#fff2bc;stroke-opacity:.27;stroke-width:.6}.grid-label{fill:#fff0ba;font:32px system-ui;paint-order:stroke;stroke:#14252b;stroke-width:6px}.line-tool{display:flex;gap:12px;align-items:center;width:100%;background:transparent;margin-bottom:8px;text-align:left}.line-swatch{width:32px;border-top:3px solid var(--gold)}.line-tool small{display:block;color:var(--muted);margin-top:4px;font-size:10px}.layer-row{display:flex;align-items:center;gap:10px;margin:15px 0;color:#ccd1c4}.layer-row input{width:auto;accent-color:var(--gold)}#drawingBar{position:fixed;bottom:60px;left:20px;z-index:700;background:#152023f5;border:1px solid var(--gold);border-radius:7px;box-shadow:0 6px 30px #0007;padding:10px;display:flex;align-items:center;gap:8px}#drawingBar[hidden]{display:none}#drawingBar span{padding:0 10px;font-size:11px}#editor{position:fixed;top:95px;right:320px;z-index:650;width:345px;max-height:calc(100dvh - 160px);overflow:auto;background:linear-gradient(150deg,#24302d,#142022);border:1px solid #827a51;border-radius:7px;box-shadow:0 15px 50px #0009;padding:20px}#editor[hidden]{display:none}.editor-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.editor-top button{border:0;background:none;font-size:22px;padding:0 5px}.editor-hero{display:flex;align-items:center;gap:16px;margin-bottom:15px}.editor-hero img{height:72px;width:72px;object-fit:contain}.editor-hero h2{font-family:Georgia,serif;font-weight:400;font-size:23px;margin:0 0 7px}.coord-detail{font-size:10px;color:var(--gold);line-height:1.8;font-variant-numeric:tabular-nums}.text-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.badge{display:inline-block;font-size:10px;padding:4px 7px;background:#75623d55;border-radius:3px;color:#ecd7a2;margin-right:4px}label{display:block;font-size:11px;color:#b8c4b7;margin-bottom:14px}label input,label select,label textarea{margin-top:6px}textarea{resize:vertical;min-height:80px;line-height:1.5}textarea[name="notes"]{min-height:140px}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}dialog{background:#182527;border:1px solid #7c7854;border-radius:8px;color:var(--text);padding:28px;width:min(460px,92vw);max-height:85dvh;box-shadow:0 20px 80px #0009}dialog h2{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:0 0 16px}dialog p{font-size:12px;color:var(--muted);line-height:1.7}dialog:modal{overscroll-behavior:contain}dialog::backdrop{background:#061013aa;overflow:hidden;overscroll-behavior:contain}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head button{background:none;border:0;font-size:20px;padding:0}.error{color:#f4a090!important;min-height:20px}.history-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.history-row small{display:block;margin:4px 0;color:var(--muted)}.history-row button{margin-left:auto;font-size:10px}.import-label{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}#toast{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);z-index:2000;background:#26372f;border:1px solid #9a9568;padding:12px 20px;max-width:min(560px,90vw);border-radius:5px;line-height:1.5;box-shadow:0 6px 30px #0008}#results{position:absolute;left:0;right:0;top:45px;background:#162427;border:1px solid #53614e;border-radius:5px;max-height:300px;overflow:auto;box-shadow:0 8px 20px #0008}#results button{display:block;width:100%;border:0;border-radius:0;text-align:left;background:transparent}.hint{font-size:11px;color:var(--muted);line-height:1.7}.empty{padding:12px 0;color:var(--muted);font-size:11px;line-height:1.7}.panel-hidden #sidebar{display:none}.panel-hidden #editor{right:20px}.no-labels .leaflet-tooltip{display:none}.readonly-hint{font-size:10px;line-height:1.6;color:#c9b583;border-left:2px solid #a58e59;padding-left:10px;margin-bottom:15px}#historyList{max-height:48dvh;overflow:auto}
@media(min-width:1600px){#sidebar{width:330px;min-width:330px}#editor{right:350px}.icon-button img{height:66px;width:72px}}@media(max-width:1050px){header{gap:15px;padding:0 15px}.brand{font-size:21px;letter-spacing:3px}.brand small{font-size:7px}.header-actions button span{display:none}#sidebar{width:270px;min-width:270px}#editor{right:285px}.searchbox{max-width:300px}}@media(max-width:720px){header{height:112px;flex-wrap:wrap;gap:8px;padding:10px 12px;align-content:center}.brand{font-size:20px}.brand small{font-size:6px}.sigil{font-size:32px}.searchbox{order:3;max-width:none;flex-basis:100%}.searchbox input{padding:8px}.header-actions{gap:3px}.header-actions button{padding:7px 8px}main{height:calc(100dvh - 152px)}#sidebar{position:absolute;right:0;top:112px;bottom:40px;width:265px;min-width:0;box-shadow:-12px 0 35px #0007}.panel-heading{padding:18px}.panel-heading h2{font-size:22px}.panel-heading p{display:none}#editor{left:10px;right:10px;width:auto;top:auto;bottom:50px;max-height:65dvh}.map-title{left:18px;top:18px}.map-title h1{font-size:20px}.map-title p{display:none}footer{gap:8px;padding:0 10px;font-size:9px}#coordinates{font-size:10px}#coordinates i{margin:0 5px}#toolStatus{display:none}#drawingBar{left:10px;right:10px;bottom:48px;flex-wrap:wrap}#drawingBar span{width:100%}.compass{left:17px;bottom:16px}#toast{bottom:90px}}
/* Leaflet's image reset has greater specificity than generic marker styles. */
.leaflet-container .leaflet-marker-pane .atlas-marker>div{width:100%;height:100%}
.leaflet-container .leaflet-marker-pane .atlas-marker img{width:100%!important;height:100%!important;display:block;object-fit:contain}
.map-title{z-index:450}
