/* W284 3D map editor (#maps, admin/world/map-editor.js): 3D view with an overlay, tools, side panel, publish bar. */
#maps.map-editor-page{display:flex;flex-direction:column;gap:10px}
#maps .me-bar{display:flex;flex-wrap:wrap;align-items:end;gap:8px}
#maps .me-bar label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#6d5643}
#maps .me-bar select{min-width:220px}
#maps .me-view-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}
#maps .me-view-tools button{min-width:36px}
#maps .me-check{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:#5a4128;user-select:none}
#maps .me-tools{display:flex;flex-wrap:wrap;gap:6px}
#maps .me-tool{font:inherit;font-size:13px;font-weight:700;padding:6px 12px;border:1px solid #c9ad80;border-radius:999px;background:#fffaf1;color:#5a4128;cursor:pointer}
#maps .me-tool[aria-pressed="true"]{border-color:#7a5520;background:linear-gradient(#f6e2b4,#e9c983);color:#3b2a14;box-shadow:inset 0 1px 0 #fff8}
#maps .me-tool:disabled{opacity:.5;cursor:default}
#maps .me-main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:10px;min-height:0}
.me-stage{position:relative;height:min(72vh,760px);min-height:380px;border:1px solid #9b7a4c;border-radius:10px;overflow:hidden;background:#1d2a1f}
.me-scene,.me-scene>*{position:absolute;inset:0}
.me-scene canvas{width:100%!important;height:100%!important;display:block}
.me-overlay{position:absolute;inset:0;touch-action:none;cursor:grab}
.me-hint{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:4px 10px;border-radius:6px;background:#120b18cc;color:#fff3d6;font-size:12px;pointer-events:none}
.me-hint:empty{display:none}
#maps .me-side{max-height:min(72vh,760px);overflow:auto;padding:10px;border:1px solid #dcc3a2;border-radius:10px;background:#fffcf3}
#maps .me-side h3{margin:0 0 4px;font-size:17px;color:#4f381f}
#maps .me-side h4{margin:10px 0 6px;font-size:13.5px;color:#5a4128}
#maps .me-side .muted{font-size:12px;color:#8c7b6b;margin:0 0 6px}
#maps .me-card{padding:10px;border:1px solid #d4bc95;border-radius:8px;background:#fff7e8;display:flex;flex-direction:column;gap:6px}
#maps .me-card h4{margin:0}
#maps .me-row{display:flex;gap:6px}
#maps .me-row>*{flex:1;min-width:0}
#maps .me-field{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#6d5643}
#maps .me-field input:not([type=checkbox]),#maps .me-field select{width:100%;box-sizing:border-box}
#maps .me-field small{color:#9a8670;font-size:11px}
#maps .me-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
#maps .me-list button.link{all:unset;cursor:pointer;display:block;width:100%;box-sizing:border-box;padding:3px 6px;border-radius:5px;font-size:12.5px;color:#4f381f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#maps .me-list button.link:hover,#maps .me-list button.link.is-active{background:#f1dfb8}
#maps .me-problems{margin:0;padding:8px 12px 8px 28px;border:1px solid #e3b4a8;border-radius:8px;background:#fff1ec;font-size:13px}
#maps .me-problems .bad{color:#9d2a17}
#maps .me-problems .warn{color:#8a5a00}
#maps .me-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#maps .me-actions input{flex:1;min-width:200px}
#maps .me-history ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
#maps .me-history li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:#5a4128}
#maps #map-message.bad{color:#9d2a17}
@media (max-width:980px){#maps .me-main{grid-template-columns:1fr}#maps .me-side{max-height:none}.me-stage{height:58vh}}
#maps .me-danger{color:#9d2a17!important;border-color:#d9a596!important;background:#fff3ef!important}
/* "เลือกบนแมพ" dialog (MeadowMapEditor.pick): the editor's own 3D view moves in while picking. */
.me-pick-dialog{width:min(1100px,96vw);max-height:92vh;padding:12px;border:1px solid #9b7a4c;border-radius:12px;background:#fffaf1;box-shadow:0 18px 60px #0008}
.me-pick-dialog::backdrop{background:#120b1899}
.me-pick-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:8px;color:#4f381f}
.me-pick-head span{font-size:12.5px;color:#8c7b6b}
.me-pick-body .me-stage{height:min(66vh,640px)}
.me-pick-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}
.me-pick-xy{margin-right:auto;font-weight:700;color:#5a4128}