*{box-sizing:border-box}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#111;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}
body{display:grid;place-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app{width:min(100vw,562.5px,calc(100dvh * 9 / 16));max-height:100dvh}
.stage{position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;background:#000;touch-action:manipulation;user-select:none}
.screen-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.hit-layer{position:absolute;inset:0}
.hit-button{position:absolute;margin:0;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}
.hit-button:focus-visible{outline:3px solid rgba(255,255,255,.95);outline-offset:-3px}
.debug .hit-button{background:rgba(255,0,0,.30);outline:2px solid rgba(255,255,255,.7)}
.contact-form{position:absolute;left:8%;right:8%;bottom:5%;z-index:10;display:grid;gap:10px;padding:16px;background:rgba(0,0,0,.82);border:3px solid #fff;border-radius:18px;color:#fff}
.contact-form[hidden]{display:none}
.contact-form label{display:grid;gap:5px;font-weight:700}
.contact-form input{width:100%;font-size:18px;padding:12px;border:2px solid #fff;border-radius:8px;background:#fff;color:#111}
.contact-form button{min-height:48px;font-size:16px;font-weight:700;border-radius:8px;border:0}
.submit-btn{background:#fff;color:#111;transition:background-color .08s ease}.submit-btn:active,.submit-btn:disabled{background:#ffd400;color:#111}
.cancel-btn{background:#333;color:#fff;border:1px solid #fff!important}
