.map-editor{height:100dvh;display:flex;flex-direction:column;color:#482b15;background:#d6dbb6;overflow:hidden}
.editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;padding:.5rem .8rem;background:#f6edcf;border-bottom:3px solid #88633b;flex-shrink:0}
.editor-toolbar h1{font-size:1.4rem;margin:0}.editor-paused{font-size:.9rem}.editor-file-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}
.editor-file-button{display:inline-flex;align-items:center;position:relative;overflow:hidden;padding:.45rem .8rem;border:1px solid #89633c;border-radius:5px;background:#eee1bb;cursor:pointer;font-weight:bold}
.editor-file-button input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.editor-file-button:focus-within{outline:3px solid #44839a;outline-offset:2px}
.editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:stretch;flex:1;min-height:0;gap:8px;padding:8px;margin:0}
.editor-map{position:relative;min-width:0;min-height:0;overflow:hidden}.editor-map .map-viewport{height:100%;width:100%}.editor-map canvas{width:100%;height:100%;touch-action:none;display:block}
.editor-map-controls{position:absolute;left:12px;top:12px;display:flex;gap:5px}.editor-working{position:absolute;inset:0;display:grid;place-items:center;background:#f6edcfd9;font-weight:bold;z-index:2}
aside.editor-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:8px;background:#f6edcf;border:2px solid #88633b;border-radius:6px;width:auto;max-width:none}
.editor-tabs{display:flex;gap:5px;flex-shrink:0}.editor-tabs button{flex:1}.map-editor button[aria-pressed=true]{background-color:#dce7bb;outline:2px solid #4b7041;outline-offset:-2px}
.editor-panel-body{flex:1;min-height:0;overflow:auto;padding:0 4px 8px}.editor-panel-body h2{font-size:1.15rem;margin:.9rem 0 .6rem}.editor-panel-body h3{font-size:1rem}.editor-panel-body p{font-size:.92rem;line-height:1.45}
.editor-panel .building-group-tabs{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:10px}.editor-panel .building-icon-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.editor-panel .asset{width:100%;height:100%;display:block}
.editor-panel .build-icon-button{width:100%;max-width:54px}
.editor-panel-footer{display:block;border-top:1px solid #ad916c;padding-top:8px;flex-shrink:0}.editor-panel-footer p{font-size:.8rem;margin:.5rem 0 0;line-height:1.3}
.editor-quick-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.editor-quick-tools button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:5px;font-size:.85rem;line-height:1.2}.editor-tool-art{display:block;width:28px;height:28px;flex-shrink:0}.editor-tool-art .demolition-tool-icon{display:block;width:28px;height:28px}
@media(max-height:450px){.editor-panel-footer p{display:none}}
.editor-terrain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-terrain-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;font-size:1rem}
.editor-terrain-swatch{width:54px;height:30px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.terrain-0{background:#2689b4}.terrain-1{background:#e5bd78}.terrain-2{background:#7caa37}.terrain-3{background:#326328}.terrain-4{background:#969082}
.editor-values{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;margin-bottom:12px}.editor-values input,.editor-field select{box-sizing:border-box;min-width:0;width:100%;padding:7px;font:inherit}
.editor-field{display:grid;gap:5px;margin:.8rem 0}.editor-inspector{border-top:1px solid #b39c74;margin-top:16px}.editor-status{flex-shrink:0;padding:6px 12px;background:#f6edcf;min-height:1.4em;font-size:.9rem;overflow-wrap:anywhere}
@media(max-width:850px){.editor-workspace{grid-template-columns:minmax(0,1fr) 290px}.editor-toolbar{gap:.4rem}.editor-toolbar h1{font-size:1.15rem}.editor-paused{font-size:.8rem}.editor-file-actions{margin-left:0}.editor-file-actions button,.editor-file-button{font-size:.85rem;padding:.35rem .5rem}}
@media(max-width:560px) and (orientation:portrait){.editor-workspace{grid-template-columns:1fr;grid-template-rows:minmax(180px,1fr) minmax(180px,1fr)}.editor-paused{margin-left:auto}.editor-panel-body{padding:0 6px 6px}}
