/* Controls float over the continuous world without resizing its camera viewport. */
body.layout-editing #scena{inset:0}
body.layout-editing #dock,body.layout-editing #garden-toolbar,body.layout-editing #garden-helper,body.layout-editing #save-indicator,body.layout-editing #comandi,body.layout-editing #basso,body.layout-editing #posa-barra,body.layout-editing #avatar,body.layout-editing #costruisci{display:none!important}
body.layout-editing #targa{left:28px;max-width:calc(100vw - 56px)}
body.layout-editing .cella:hover .su{transform:none}
body.layout-editing #mappa .posa path{display:none}
body.layout-editing #mappa .posa polygon{fill:#fffcf01a;stroke-width:2;stroke:#f8f9e7;opacity:.7}
body.layout-editing #mappa .cella:focus-visible{outline:none}
body.layout-editing #mappa .cella:focus-visible>polygon{stroke:#fff5b1;stroke-width:7;opacity:1;fill:transparent}
#layout-editor{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 100px);overflow-y:auto;z-index:15;background:var(--crema);border:1px solid var(--linea);border-radius:12px;padding:14px 18px;box-shadow:0 8px 28px #22392320;color:var(--ink);touch-action:pan-y}
.layout-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.layout-top strong{display:block;font-size:17px;line-height:1.2}.layout-top>div>span{display:block;font-size:12px;color:var(--tenue);margin-top:3px}.layout-history{display:flex;gap:6px}.layout-history button{border:1px solid var(--linea);border-radius:8px;background:#fff;color:var(--ink);min-width:40px;min-height:40px;padding:6px 10px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.layout-history button:first-child,.layout-history button:nth-child(2){font-size:22px}
.layout-tool-list{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}.layout-tool-list button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;height:74px;border:1px solid #d3ddc9;border-radius:8px;background:#f1f5e8;color:var(--ink);font:inherit;cursor:pointer}.layout-tool-list button>svg{display:block;width:55px;height:43px;pointer-events:none}.layout-tool-list button>span{font-size:12px;font-weight:700;line-height:1.2}.layout-tool-list button[aria-pressed=true]{background:#dcebc8;border-color:#355e40;box-shadow:inset 0 0 0 1px #355e40}.layout-tool-list button:hover{background:#e6efda}
.layout-guidance{margin:10px 0 8px}.layout-guidance p{font-size:13px;line-height:1.35;margin:0;color:var(--tenue)}#layout-message:empty{display:none}#layout-message{color:#356244;margin-top:4px}#layout-message.error{color:#a13b29}
.layout-footer{display:flex;gap:10px;align-items:center;border-top:1px solid var(--linea);padding-top:10px}.layout-footer .btn{min-height:44px;padding:8px 18px;font-size:14px}.layout-footer .text-link{font-size:12px;min-height:40px;padding:5px 0}.layout-gesture{font-size:11px;color:var(--tenue);margin-right:auto}.layout-footer>.btn.quieto{margin-left:auto}
.layout-size{background:#edf2e5;border-radius:8px;padding:12px;margin-bottom:12px}.layout-size form{display:flex;align-items:flex-end;gap:10px}.layout-size label{display:block;font-size:12px;font-weight:700;flex:1}.layout-size input{display:block;width:100%;min-height:42px;padding:8px;border:1px solid #bacaae;border-radius:8px;background:white;color:var(--ink);font:inherit}.layout-size .btn{font-size:13px;min-height:42px;padding:8px 16px}.layout-size small{display:block;color:var(--tenue);margin-top:8px;font-size:11px}
.layout-discard{background:#fbefdf;padding:12px;border-radius:8px;margin-bottom:12px}.layout-discard p{margin:0 0 8px;font-size:13px}.layout-discard .btn{min-height:40px;font-size:13px;padding:8px 14px}.layout-discard .text-link{font-size:12px}
@media(max-width:700px){
 body.layout-editing #alto{top:10px;left:12px;right:12px}
 body.layout-editing #targa{background:transparent;border:0;box-shadow:none;padding:0;min-height:48px;height:48px;max-width:none}
 #layout-editor{width:calc(100vw - 16px);bottom:max(8px,env(safe-area-inset-bottom));padding:10px 12px;max-height:70dvh}
 .layout-top{margin-bottom:8px;gap:8px}.layout-top strong{font-size:15px}.layout-top>div>span{font-size:10px}.layout-history button{min-width:36px;padding:4px 7px;min-height:36px;font-size:11px}
 .layout-tool-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.layout-tool-list button{height:55px;flex-direction:row;gap:1px;flex-wrap:wrap;align-content:center}.layout-tool-list button>svg{width:34px;height:28px}.layout-tool-list button>span{font-size:10px;display:block;width:100%}
 .layout-guidance{margin:8px 0}.layout-guidance p{font-size:12px}.layout-gesture{display:none}.layout-footer{gap:8px;padding-top:8px}.layout-footer .btn{font-size:12px;padding:8px 12px;min-height:44px}.layout-footer .text-link{font-size:11px}.layout-size form{gap:8px}.layout-size label{min-width:0}
}

#live-map-zoom{position:fixed;right:18px;top:98px;z-index:12;display:flex;flex-direction:column;gap:6px}#live-map-zoom button{width:44px;height:44px;border:1px solid var(--linea);border-radius:8px;background:var(--crema);color:var(--ink);font:700 24px system-ui;cursor:pointer;box-shadow:var(--ombra)}
@media(max-width:700px){#live-map-zoom{top:86px;right:12px}}

/* Readable reset-view action and finger-sized history controls on small screens. */
.layout-top>div:first-child{flex:1;min-width:0}
.layout-history{flex-shrink:0}
@media(max-width:700px){.layout-history button{min-width:44px;min-height:44px}.layout-top{align-items:center}.layout-top>div>span{font-size:11px}}
@media(max-width:380px){.layout-top{flex-wrap:wrap}.layout-top>div:first-child{flex-basis:100%}.layout-history{width:100%;justify-content:flex-end}}
