.map-dialog{width:min(1000px,96vw);max-height:94dvh;border:0;border-radius:12px;padding:26px;background:#f7f8f2;color:#21382e;overflow:auto}.map-dialog::backdrop{background:#0c221dc9}.map-dialog h2{font-size:28px;margin:5px 0}.map-dialog p{font-size:13px;margin:10px 0}.map-head{display:flex;justify-content:space-between;gap:20px}.map-head small{font-size:10px;letter-spacing:2px}.map-head button{font-size:28px;border:0;background:transparent;cursor:pointer}.map-search-row{display:flex;gap:10px;margin:5px 0 15px}.map-dialog input{padding:10px;border:1px solid #bbccba;border-radius:5px;font:inherit;min-width:0}.map-search-row input{flex:1}.map-dialog label{font-size:13px}#map-canvas{height:420px;background:#e0e8da;border-radius:7px}#map-area{display:block;font-size:22px;color:#214b3c;margin:12px 0}.map-tools{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.map-tools button:not(.btn){border:1px solid #b9cbb0;background:white;color:#214b3c;border-radius:5px;padding:9px 12px;cursor:pointer}.map-dialog button:disabled{opacity:.45;cursor:not-allowed}.map-name{display:block}.map-name input{margin-left:10px}.map-entry{display:block;margin:12px 0 15px;border:1px solid #a8bfa0;border-radius:5px;background:#edf4e5;color:#214b3c;padding:12px;cursor:pointer;font-size:13px;width:100%;text-align:left}#map-saved{overflow-wrap:anywhere;font-size:14px;padding:10px 0}@media(max-width:600px){.map-dialog{padding:16px}.map-dialog h2{font-size:23px}#map-canvas{height:340px}.map-name input{display:block;margin:6px 0;width:100%}.map-tools .btn{width:100%}}

.editor-intro{padding:38px 0 20px}.editor-intro h1{font-size:clamp(32px,4vw,48px)}#editor-slot{padding-bottom:60px}#editor-slot .map-dialog{position:relative;margin:0;width:100%;max-width:none;max-height:none;background:white;border:1px solid #d5dfce;padding:25px;overflow:visible}#editor-slot #map-canvas{height:540px}#editor-slot .map-head #map-close{display:none}#editor-slot .map-head h2{font-size:23px}#map-zoom-in,#map-zoom-out{font-size:20px!important;min-width:44px;font-weight:bold}@media(max-width:600px){#editor-slot #map-canvas{height:440px}#editor-slot .map-dialog{padding:14px}.editor-intro{padding-top:25px}}

.map-tools button[aria-pressed="true"]{background:#214b3c!important;color:#fff!important;border-color:#214b3c!important;box-shadow:0 0 0 2px #b3cba3}.map-tools button[aria-pressed="true"]::before{content:'✓ ';font-weight:bold}
.map-workspace{background:white;border:1px solid #d5dfce;padding:25px;border-radius:10px}.map-mode{display:flex;gap:12px;flex-wrap:wrap}.map-mode button,.map-tools button{min-height:46px;touch-action:manipulation}.map-mode button{background:white;border:1px solid #a8bfa0;padding:12px 18px;border-radius:6px;color:#214b3c;font:inherit;cursor:pointer}.map-mode button[aria-pressed=true]{background:#214b3c;color:white}.map-workspace input,.map-workspace select,.map-workspace textarea{font:inherit;padding:12px;border:1px solid #bbccba;border-radius:6px;min-width:0}.map-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.map-fields label{font-size:13px;font-weight:600}.map-fields input,.map-fields textarea{width:100%;display:block;margin-top:7px}.map-workspace .import-box{padding:12px 0;margin-bottom:16px}.map-workspace .import-box label{display:block}.map-workspace #map-saved{background:#edf4e5;border-radius:7px;padding:20px;display:flex;gap:14px;flex-wrap:wrap}.map-workspace #map-saved:empty{display:none}.map-workspace #map-saved h2,.map-workspace #map-saved p{width:100%;margin:0}.map-vertex{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:#e6f4b8;border:2px solid #173e35;color:#173e35;text-align:center;font:bold 12px/22px Arial;pointer-events:none}.map-workspace #map-status{min-height:28px;font-size:14px;color:#214b3c}.map-workspace #map-area{font-weight:600}.map-workspace #map-import{max-width:100%}#save-drawing{margin-top:24px;border-top:1px solid #d5dfce;padding-top:20px}@media(max-width:600px){.map-workspace{padding:14px}.map-fields{grid-template-columns:1fr}.map-search-row{flex-wrap:wrap}.map-search-row input{width:100%;flex-basis:100%}.map-search-row button{width:100%}.map-tools{gap:8px}.map-tools button{flex:1 1 42%;font-size:13px}.map-mode button{flex:1;font-size:13px;padding:12px 8px}.map-workspace #map-area{font-size:20px}#editor-slot #map-canvas{height:430px;max-height:62dvh}.map-workspace #map-saved .btn{width:100%}}
