html,body,#map{height:100%;margin:0}body{font:13px Arial,sans-serif;background:#111821;color:#edf2f7;overflow:hidden}#map{background:#10151b}button{border:1px solid #617587;border-radius:7px;background:#273a48;color:#f3f7fb;padding:8px 10px;cursor:pointer}button:hover{filter:brightness(1.16)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #a6cbff;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}.panel,.detail{box-sizing:border-box;position:absolute;z-index:1000;background:rgba(16,22,29,.96);border:1px solid #526172;border-radius:12px;box-shadow:0 12px 35px #000a;backdrop-filter:blur(12px)}.panel{top:10px;left:10px;width:370px;max-height:calc(100dvh - 20px);overflow:auto;padding:14px;scrollbar-width:thin}.brand{display:flex;align-items:center;gap:10px;padding-bottom:11px;border-bottom:1px solid #3f4d5e}.brand img{width:60px;height:60px;border-radius:12px;object-fit:contain;background:#1b2135;box-shadow:0 0 16px #8859e777}.brandText{min-width:0;flex:1}.eyebrow{font-size:9px;font-weight:800;letter-spacing:.14em;color:#8bc7ff}.brand h1{font-size:18px;line-height:1.06;text-transform:uppercase;letter-spacing:.02em;color:#e9f3ff;margin:4px 0;text-shadow:0 0 9px #5c91ff88}.brand h1 span{color:#d5a5ff;text-shadow:0 0 9px #a856ff88}.credit{font-size:11px;color:#bccbd9}.brand button{align-self:flex-start;padding:4px 8px}.access{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0}.access button{white-space:nowrap;background:#3e5b73}#syncStatus{font-size:11px;text-align:right;color:#b6c9d7}#notice:not(:empty){margin-bottom:8px;padding:8px;background:#3b2e25;border-left:3px solid #e0ac65;border-radius:5px;line-height:1.4}details{margin:8px 0;padding:9px;background:#1d2932;border:1px solid #40505c;border-radius:8px}summary{font-weight:700;cursor:pointer}details>div,details>p,details>button{margin-top:9px}.layerList{display:grid;gap:5px}.layerList label{display:block;padding:6px;border-radius:5px;background:#293640;cursor:pointer}.layerList input{accent-color:#93bce0}.legend{display:grid;gap:7px}.legendRow{display:flex;align-items:center;gap:8px}.legendSwatch{width:14px;height:14px;box-sizing:border-box;border:2px solid;border-radius:3px;background:#ffffff26}.legendIcon{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#3f8fac;color:#fff;font-size:13px}.hint{color:#afc0cd;font-size:11px;line-height:1.4}.toolbar{display:flex;flex-wrap:wrap;gap:6px}.toolbar button{flex:1;white-space:nowrap}.editOnly{display:none}body.editorMode .editOnly{display:block}#drawActions{display:flex;flex-wrap:wrap;gap:5px;align-items:center}#drawActions[hidden]{display:none}#drawStatus{width:100%;color:#ffd680}#finishArea{background:#3e765b}#cancelDraw{background:#694545}.factionRow{display:flex;align-items:center;gap:7px;margin:5px 0;padding:6px;border:1px solid #3b4a57;border-radius:6px}.factionRow span:nth-child(2){flex:1}.factionRow button{padding:5px 7px}.detail{top:10px;right:10px;width:340px;max-height:calc(100dvh - 55px);overflow:auto;padding:15px}.detail h2{font-size:17px;margin:0 28px 10px 0}.detail p{line-height:1.5}.detail label{display:block;margin:10px 0;color:#c4d2de;font-weight:700;font-size:11px}.detail input,.detail select{box-sizing:border-box;width:100%;margin-top:5px;padding:8px;border-radius:5px;border:1px solid #637583;background:#182530;color:#fff}.detail input[type=color]{height:38px;padding:3px}.detail button{margin:4px 3px 4px 0}.detail .save{background:#3e765b}.detail .danger{background:#703e40}#closeDetail{float:right;background:#613c40}.detail .emblem{width:42px;height:42px;object-fit:contain;background:#27323c;border-radius:8px}.detail .upload{font-size:11px;color:#b6c7d2}#showPanel{position:absolute;z-index:1100;top:10px;left:10px;background:#192631}#coords{position:absolute;z-index:900;right:10px;bottom:10px;padding:7px 9px;background:#111c24d9;border-radius:6px;color:#e6f0f7;font:12px monospace}.locationLabel{background:#17232ee6!important;border:1px solid #ffe44a!important;color:#fff!important;border-radius:6px!important;padding:3px 7px!important;font-weight:700!important;white-space:nowrap!important;box-shadow:0 2px 5px #000a!important;pointer-events:none!important}.locationLabel:before{display:none!important}.locationLabel.active{font-size:14px!important;box-shadow:0 0 13px #ffe44a!important}.safeLabel{background:#1c586ae8!important;color:#fff!important;border:1px solid #82dcff!important;border-radius:5px!important;padding:2px 5px!important;font-weight:700!important}.safeLabel:before{display:none!important}.mapBadge{display:grid;place-items:center;width:32px;height:32px;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 9px #000b;color:#fff;font-weight:800;overflow:hidden}.mapBadge img{width:100%;height:100%;object-fit:cover}.mapBadge.safe{background:#348eab}.mapBadge.faction{background:#344356}#loginModal[hidden]{display:none}#loginModal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:#000b}#loginForm{box-sizing:border-box;width:min(360px,calc(100vw - 36px));padding:24px;border-radius:10px;background:#25313b;box-shadow:0 12px 35px #000c}#loginForm h2{margin:0 0 18px}#loginForm label{display:block;margin:12px 0}#loginForm input{box-sizing:border-box;width:100%;margin-top:5px;padding:9px}#loginForm button{margin-top:8px}#closeLogin{float:right}#loginError{color:#ffb9a8;min-height:16px}@media(max-width:800px){.panel{top:8px;left:8px;right:8px;width:auto;max-height:54dvh}.detail{top:auto;bottom:8px;left:8px;right:8px;width:auto;max-height:52dvh}#coords{bottom:8px}.brand img{width:48px;height:48px}.brand h1{font-size:16px}}
/* The faction palette remains editable; the selected faction is used by both drawing tools. */
.factionPickerLabel{display:block;margin:9px 0;color:#c3d5e0;font-size:11px;font-weight:700}.factionPickerLabel select{box-sizing:border-box;width:100%;margin-top:5px;padding:8px;border:1px solid #637583;border-radius:5px;background:#182530;color:#fff}
.locationLabel{border-color:var(--zone-color,#ffe44a)!important}
.mapBadge.poi{background:#c48939;border-radius:9px}
.detail textarea{box-sizing:border-box;width:100%;min-height:85px;margin-top:5px;padding:8px;border-radius:5px;border:1px solid #637583;background:#182530;color:#fff;resize:vertical;font:13px Arial,sans-serif}
.poiDescription{white-space:pre-wrap;color:#d9e5ec}
