.map-board{display:grid;grid-template-columns:290px minmax(0,1fr);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;overflow:hidden}
.map-controls{padding:22px;border-right:1px solid var(--ui-border);display:flex;flex-direction:column;gap:18px;max-height:850px;overflow:auto}
.map-controls label{display:grid;gap:8px;font-size:.8rem}.map-controls input:not([type=checkbox]){width:100%;min-width:0}.map-controls input[type=color]{height:40px;padding:3px}
.map-controls .inline-check{display:flex;align-items:center}.map-controls h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;color:var(--ui-muted)}
.map-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.map-tool-grid button{font-size:.78rem;padding:10px 6px;min-height:42px}.map-tool-grid button[aria-pressed=true]{border-color:var(--ui-accent);background:var(--studio-glow);color:var(--ui-accent)}
.map-preview{min-width:0}.map-preview-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--ui-border)}
.map-preview-toolbar output{font-size:.75rem;min-width:44px;text-align:center}.map-preview-toolbar .map-spacer{flex:1}
#map-stage{height:640px;height:clamp(420px,67vh,850px);position:relative;overflow:hidden;touch-action:none;background:radial-gradient(ellipse,#203642,#0e1b26);cursor:crosshair}
#map-canvas{position:absolute;max-width:none;max-height:none;transform-origin:0 0;box-shadow:0 8px 50px #0005;touch-action:none}
.map-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 18px}.map-footer p{margin:0;font-size:.75rem;color:var(--ui-muted)}.map-footer>div{display:flex;gap:8px}
#map-status{font-size:.8rem;min-height:1.5em;margin:10px 0;color:var(--ui-muted)}#map-status[data-error=true]{color:#e46767}
#map-items{display:grid;gap:5px;max-height:240px;overflow:auto}#map-items button{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px;font-size:.8rem}#map-items button[aria-pressed=true]{border-color:var(--ui-accent)}
.map-controls fieldset{border:0;padding:0;min-width:0;display:grid;gap:12px;margin:0}.map-controls fieldset:disabled{opacity:.5}
.map-board.controls-hidden{grid-template-columns:1fr}.map-board.controls-hidden .map-controls{display:none}.map-attribution{font-size:.7rem;color:var(--ui-muted);margin:12px 0;line-height:1.7}.map-attribution a{color:inherit}
@media(max-width:800px){.map-board{grid-template-columns:1fr}.map-controls{max-height:none;border-right:0;border-bottom:1px solid var(--ui-border);display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:16px}.map-controls>label:first-child,.map-controls>.map-list-section{grid-column:1/-1}.map-controls .map-tool-grid{grid-template-columns:1fr 1fr}#map-stage{height:480px}.map-preview-toolbar{padding:10px;gap:5px}.map-preview-toolbar button{font-size:.72rem;padding:8px}.map-footer{padding:12px}.map-attribution{padding:0 5px}}
@media(max-width:430px){.map-controls{grid-template-columns:1fr}.map-footer>div{width:100%}.map-footer button{flex:1}#map-stage{height:420px}}
