/* App-local map geometry; shared controls retain their normal styling. */
.ah-builder main#builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);align-items:start;gap:28px}.town-workspace,.town-menu{min-width:0}#town-map{position:relative;width:100%;aspect-ratio:1;margin-top:14px}#map-art{height:100%}#map-art>svg{display:block;width:100%;height:100%}#blocks button{position:absolute;border:2px solid transparent;background:transparent;border-radius:10px;color:transparent;padding:0}#blocks button[aria-pressed=true]{border:3px dashed var(--ah-focus)}#blocks button:focus-visible{outline:3px solid var(--ah-focus);outline-offset:2px}#nodes button{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);border:0;background:transparent;touch-action:none;padding:0}#nodes button::after{content:'';display:block;width:8px;height:8px;margin:auto;border-radius:50%;background:#ffe581;box-shadow:0 0 0 2px #31483f}#nodes button:focus-visible{outline:3px solid var(--ah-focus);border-radius:50%}#place-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:440px;overflow:auto;padding:3px;margin-bottom:12px}#place-options button{display:flex;flex-direction:column;align-items:center;justify-content:start;gap:2px;padding:6px;font-size:14px;min-height:88px}#place-options svg{width:55px;height:55px}#route-status{font-size:14px;min-height:20px}#route-tools label{display:block;margin-top:16px;margin-bottom:6px}#route-tools select{width:100%;min-height:44px;border:1px solid var(--ah-border);border-radius:12px;padding:8px;background:var(--ah-surface);color:var(--ah-ink)}.route-actions{margin-top:16px}.town-menu .heading{margin-bottom:14px}@media(max-width:760px){.ah-builder main#builder{grid-template-columns:1fr;padding:16px;gap:20px}#place-options{grid-template-columns:repeat(4,minmax(0,1fr));max-height:310px}#nodes button{width:44px;height:44px}}@media(min-width:761px){#town-map{max-width:min(100%,calc(100vh - 220px));margin-left:auto;margin-right:auto}}

#blocks button.drop-target{border:3px dashed var(--ah-focus);background:rgba(255,255,255,.25)}#blocks button.picked-up{cursor:grabbing}.town-drag-ghost{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 4px #0005);opacity:.9}.town-drag-ghost svg{width:100%;height:100%}

#nodes button.car-node::after{visibility:hidden}
