:root{--design-w:1080;--design-h:1920}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#000;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif}
.stage{position:relative;width:min(100vw, calc(100vh*var(--design-w)/var(--design-h)));aspect-ratio:var(--design-w)/var(--design-h);margin:0 auto;overflow:hidden;background:#000;touch-action:manipulation}
.layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .5s ease-in-out}
.cover{object-fit:cover} /* background riempie sempre */
.show{opacity:1}

/* Modal base */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal[aria-hidden="false"]{display:flex}
.modal__dialog{background:#111;color:#fff;border-radius:16px;max-width:420px;width:100%;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.modal__dialog h2{font-size:20px;margin-bottom:12px}
.modal__dialog label{display:block;font-size:14px;margin:10px 0 4px}
.modal__dialog input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #444;background:#181818;color:#fff;outline:none}
.modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.modal__actions button{padding:10px 14px;border-radius:10px;border:0;background:#2b2b2b;color:#fff;cursor:pointer}
.modal__actions #submitLogin{background:#3b82f6}

/* Accessibilità focus */
button:focus, input:focus{outline:2px solid #3b82f6;outline-offset:2px}
