*{box-sizing:border-box}body{color:#22352f;background:#f1f3ef;margin:0;font:14px/1.45 ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:#fff;border:1px solid #d9e0da;border-radius:8px;padding:9px 12px}button:hover{background:#eef3ee}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline-offset:2px;outline:3px solid #6b9e82}#map{width:100%;height:100dvh;position:relative;overflow:hidden}#map-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}#map-canvas:active{cursor:grabbing}.brand{background:#ffffffed;border:1px solid #e3e9e3;border-radius:14px;align-items:center;gap:11px;padding:11px 17px;display:flex;position:absolute;top:24px;left:26px;box-shadow:0 4px 24px #243d3010}.brand-icon{color:#315e47;font-size:31px;font-weight:750;line-height:1}.brand strong{letter-spacing:-.6px;font-size:19px;display:block}.brand div>span{letter-spacing:1px;color:#607369;font-size:10px}.brand i{color:#75a785;padding:0 3px;font-style:normal}.editor-toggle{color:#fff;background:#244d3c;border:0;padding:13px 18px;position:absolute;top:24px;right:26px}.navigation{display:grid;position:absolute;bottom:76px;left:26px;box-shadow:0 4px 24px #243d3015}.navigation button{border-bottom:0;border-radius:0;width:42px;height:42px;font-size:23px}.navigation button:first-child{border-radius:10px 10px 0 0}.navigation button:last-child{border-bottom:1px solid #d9e0da;border-radius:0 0 10px 10px}.map-footer{color:#52655b;background:#ffffffde;justify-content:space-between;gap:20px;padding:9px 20px;font-size:10px;display:flex;position:absolute;bottom:0;left:0;right:0}#scale{text-align:center;border-bottom:2px solid;min-width:65px}#status{pointer-events:none;background:#ffffffed;border:1px solid #dce5dc;border-radius:8px;max-width:calc(100% - 150px);padding:7px 13px;font-size:12px;position:absolute;bottom:45px;left:50%;transform:translate(-50%)}#status.error{color:#9a3029;pointer-events:auto}#editor{backdrop-filter:blur(12px);background:#fbfcf9f5;border:1px solid #dce4db;border-radius:18px;width:338px;padding:23px;position:absolute;top:24px;bottom:58px;right:24px;overflow:auto;box-shadow:0 14px 55px #17302520}[hidden]{display:none!important}.panel-heading{justify-content:flex-end;display:flex}.eyebrow{letter-spacing:1.8px;color:#708479;font-size:9px;font-weight:650}h1{letter-spacing:-1.2px;margin:9px 0 0;font-size:28px;font-weight:550;line-height:1.15}.panel-heading button{background:0 0;border:0;padding:0;font-size:25px;line-height:1}.field{color:#62766a;gap:6px;font-size:11px;display:grid}select{color:#294936;background:#fff;border:1px solid #dbe3d9;border-radius:8px;padding:9px}.presets{gap:6px;margin:18px 0 24px;display:flex}.presets button{flex:1;font-size:12px}.presets button[data-preset=night]{color:#e6efe4;background:#21352f}.section-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}h2{margin:0;font-size:13px}.section-title>span{color:#8a958c;font-size:10px}.layer-row{border-bottom:1px solid #e5eae2;grid-template-columns:20px 1fr 32px;align-items:center;gap:9px;padding:12px 0;display:grid}.layer-row label{cursor:pointer;font-size:12px}.layer-row input[type=checkbox]{accent-color:#416a51;margin:0}.layer-row input[type=color]{cursor:pointer;background:0 0;border:0;width:30px;height:27px;padding:0}.opacity-row{grid-column:2/4;align-items:center;gap:8px;display:flex}.opacity-row input{accent-color:#698b70;width:100%;height:4px}.opacity-row output{color:#839080;text-align:right;min-width:30px;font-size:10px}.layer-row:has(input[type=checkbox]:not(:checked)){opacity:.5}.panel-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:24px;display:grid}.panel-actions button{font-size:11px}.panel-actions #export{color:#fff;background:#31573f;border-color:#31573f}.save-status{color:#7a8b7d;text-align:center;margin:13px 0;font-size:10px}.diagnostics{color:#6c7f70;border-top:1px solid #dfe6dd;padding-top:13px;font-size:10px}.diagnostics summary{cursor:pointer}.diagnostics p{margin:6px 0}@media (width<=700px){.brand{padding:8px 12px;top:14px;left:14px}.brand strong{font-size:16px}.editor-toggle{font-size:12px;top:14px;right:14px}#editor{width:min(338px,100% - 24px);padding:20px;top:80px;bottom:50px;right:12px}.map-footer{gap:10px;padding:7px 12px}.map-footer #coordinates{display:none}.navigation{bottom:76px;left:14px}#status{max-width:calc(100% - 90px);font-size:10px;left:72px;transform:none}}.typography{border-block:1px solid #dce2dc;margin-bottom:12px;padding:14px 0}.typography summary{cursor:pointer;margin-bottom:12px;font-weight:650}.typography input:not([type=checkbox]):not([type=color]),.typography select{width:100%;min-width:0;font:inherit;color:#263e36;background:#fff;border:1px solid #cbd5cc;border-radius:7px;padding:8px}.type-grid{grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;display:grid}.type-grid label{flex-direction:column;gap:6px;font-size:12px;display:flex}.typography .check{flex-direction:row;align-items:center;gap:7px;font-size:12px;display:flex}#text-status.error{color:#ab332a}.font-picker{margin-bottom:14px}.loading-indicators{pointer-events:none;gap:8px;max-width:calc(100% - 420px);display:grid;position:absolute;top:100px;left:26px}.loading-indicator{color:#315e47;background:#ffffffed;border:1px solid #dce5dc;border-radius:10px;align-items:center;gap:9px;width:fit-content;max-width:100%;padding:10px 13px;font-size:12px;display:flex;box-shadow:0 4px 24px #243d3015}.loading-indicator>span:last-child{overflow-wrap:anywhere;min-width:0}.loading-spinner{border:2px solid #315e4730;border-top-color:#315e47;border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite loading-spin;display:inline-block}#font-picker-spinner{margin-left:auto;margin-right:10px}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}@media (width<=700px){.loading-indicators{max-width:calc(100% - 28px);top:78px;left:14px}#map:has(#editor:not([hidden])) .loading-indicators{z-index:1;max-width:calc(100% - 90px);top:auto;bottom:95px;left:72px}}.field-label{color:#62766a;margin-bottom:6px;font-size:11px;display:block}#font-picker-toggle{text-align:left;background:#fff;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;display:flex}.font-picker-selection{overflow-wrap:anywhere;flex-direction:column;gap:4px;min-width:0;display:flex}#font-picker-value,#font-picker-sample{font-synthesis:none;font-size:22px;line-height:1.4}#font-picker-panel{color:#22352f;box-sizing:border-box;background:#f6f8f3;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(18px,3vw,40px);position:fixed;inset:0;overflow:hidden}#font-picker-panel[open]{grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:16px;display:grid}.font-modal-language{max-width:520px}#font-picker-panel::backdrop{background:#f6f8f3}.font-dialog-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.font-dialog-heading h1{margin:5px 0 0;font-size:32px}#font-close{width:44px;height:44px;padding:0;font-size:28px;line-height:1}#font-search{color:#263e36;width:100%;font:inherit;background:#fff;border:1px solid #cbd5cc;border-radius:9px;margin:6px 0 0;padding:13px 16px}.font-language-control{align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.font-language-control input{accent-color:#416a51}.font-note{color:#6c7f70;margin:6px 0;font-size:10px;line-height:1.45}.font-note.error{color:#ab332a}#font-picker-actions{border-top:1px solid #dce4db;align-items:center;gap:10px;padding-top:16px;display:flex}#font-preview-status{overflow-wrap:anywhere;margin:0 auto 0 0;font-size:14px}#font-picker-actions button{padding:12px 20px;font-size:13px}#font-apply{color:#fff;background:#31573f;border-color:#31573f}#font-options{overscroll-behavior:contain;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(100px,max-content);align-content:start;gap:12px;min-height:0;padding:4px 10px 4px 4px;scroll-padding:4px;display:grid;overflow:auto}.font-option{cursor:pointer;color:#263e36;background:#fff;border:1px solid #dce4db;border-radius:10px;flex-direction:column;justify-content:center;gap:6px;min-width:0;min-height:100px;padding:18px 22px;display:flex}.font-option:hover{background:#eff4ef}.font-option[aria-selected=true]{background:#e0ecdf;box-shadow:inset 3px 0 #416a51}.font-option-name{color:#66796d;font:11px/1.3 ui-sans-serif,system-ui,sans-serif}.font-option-sample{overflow-wrap:anywhere;font-synthesis:none;font-size:30px;line-height:1.4}.font-option-state{color:#849086;font:10px/1.3 ui-sans-serif,system-ui,sans-serif}#font-options:focus-visible{outline-offset:2px;outline:3px solid #6b9e82}@media (width<=1000px){#font-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){#font-picker-panel[open]{gap:14px}#font-options{grid-template-columns:minmax(0,1fr)}.font-dialog-heading h1{font-size:25px}#font-picker-actions{flex-wrap:wrap}#font-preview-status{flex-basis:100%}#font-apply{flex:1}.font-option-sample{font-size:26px}}#retry-map{pointer-events:auto;margin-left:10px;font-size:12px}
