/* V14.9 visual interaction contract: same palette & controls, labels remain SVG-local. */
.fs142-town .fs125-map-board,.gh146-ready .gh-viewport {border:2px solid #acc9ac!important;border-radius:22px!important;box-shadow:inset 0 0 0 1px #ffffff90,0 14px 36px #264d3020!important;background:radial-gradient(ellipse at 46% 32%,#e9f5df,#c5dfcc 70%,#b7d5cf)!important;}
.fs142-town .fs125-map-board{position:relative;touch-action:pan-y;overflow:hidden!important}
.fs142-hex-map{transform-origin:center center;transition:transform .12s ease-out;will-change:transform;touch-action:none}
.fs142-building rect{filter:drop-shadow(0 2px 3px #19372655)}
.fs142-building text{paint-order:stroke;stroke:#fffdf1;stroke-width:2px;stroke-linejoin:round;pointer-events:none;font-weight:800}
.fs142-building:focus-visible,.fs142-land:focus-visible{outline:none;filter:drop-shadow(0 0 5px #ffc659)}
.fs149-toolbar{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:7px;z-index:30;pointer-events:auto}
.fs149-toolbar button{border:1px solid #afc7ae;background:#fffffff2;color:#285344;width:38px;height:38px;border-radius:12px;box-shadow:0 3px 9px #133a2c1f;cursor:pointer;font-size:18px;font-weight:800;touch-action:manipulation}
.fs149-toolbar button:hover,.fs149-toolbar button:focus-visible{background:#e6f4df;outline:2px solid #568967}
.fs149-toolbar button:disabled{opacity:.35;cursor:default}
.fs149-help{position:absolute;bottom:12px;left:12px;z-index:25;border-radius:20px;background:#fffffff0;padding:6px 10px;color:#31594b;font-size:12px;font-weight:700;pointer-events:none;max-width:calc(100% - 26px)}
.gh146-ready .gh146-label-layer{pointer-events:none!important}
.gh146-ready .gh146-ground-label{border:1px solid #acc8a4!important;background:#fffcf2ec!important;color:#2c5941!important;font-weight:850;border-radius:10px;box-shadow:0 2px 6px #254e3c35}
@media(max-width:620px){.fs149-toolbar{top:7px;right:7px;gap:4px}.fs149-toolbar button{width:34px;height:34px}.fs149-help{font-size:10px;bottom:6px}}
@media(prefers-reduced-motion:reduce){.fs142-hex-map{transition:none!important}}
