/* mobile shell: zoom guards, install hint, fullscreen */
html,body{overscroll-behavior:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{touch-action:manipulation}
#game,#touch,#touch *,.tc-stick,.tc-b{touch-action:none}
input,textarea,select{font-size:16px!important;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;touch-action:manipulation}
.pwa-bar{position:fixed;z-index:60;top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));display:flex;gap:6px}
.pwa-btn{width:40px;height:40px;padding:0;font-size:18px;line-height:1;background:rgba(var(--bg-rgb),.5)}
.pwa-hint{position:fixed;z-index:61;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));background:var(--panel);border:1px solid var(--faint);border-radius:4px;padding:8px 10px;font-size:12px;color:var(--ink)}
.pwa-hint[hidden],.pwa-bar[hidden]{display:none}
.pwa-hint button{min-height:32px;padding:0 10px;font-size:12px}.pwa-hint .pwa-x{background:transparent;border:0;color:var(--dim)}
