html.pknin-mobile-app { width: 100%; height: 100%; overflow: hidden; overscroll-behavior: none; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.pknin-mobile-app body { width: 100%; height: 100%; overflow: hidden; overscroll-behavior: none; }
.pknin-mobile-app #root { width: 100%; height: 100%; }
.pknin-mobile-app, .pknin-mobile-app * { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent; touch-action: pan-x pan-y; }
.pknin-mobile-app input, .pknin-mobile-app textarea, .pknin-mobile-app [contenteditable="true"] { -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; touch-action: manipulation; }
.pknin-mobile-app img { -webkit-user-drag: none; }
.pknin-mobile-app .landing > .landing-masthead, .pknin-mobile-app .landing > .landing-layout { display: none; }
html.pknin-mobile-app:not(.mobile-game-viewport) .landing { height: 100vh; height: var(--app-visible-height,100dvh); overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; box-sizing: border-box; }
html.pknin-mobile-app:not(.mobile-game-viewport) .uc-page,
html.pknin-mobile-app:not(.mobile-game-viewport) .ninja-auth,
html.pknin-mobile-app:not(.mobile-game-viewport) .ninja-loading { bottom: auto; height: 100vh; height: var(--app-visible-height,100dvh); }
.pknin-mobile-app .uc-page { padding-bottom: env(safe-area-inset-bottom); }
.pknin-mobile-app .uc-header { padding-left: max(14px,env(safe-area-inset-left)); padding-right: max(14px,env(safe-area-inset-right)); }
@media(max-width: 900px) { .pknin-mobile-app .uc-main { padding-left: max(14px,env(safe-area-inset-left)); padding-right: max(14px,env(safe-area-inset-right)); } }
.pknin-mobile-app .ninja-auth .login__modal,
.pknin-mobile-app .ninja-auth .register-modal { max-height: calc(var(--app-visible-height,100dvh) - 40px); }
.pknin-mobile-app .landing .landing-info { max-height: calc(var(--app-visible-height,100dvh) - 40px); }
@media(orientation: landscape) {
  .pknin-mobile-app .ninja-auth.mobile-game-auth .login__modal,
  .pknin-mobile-app .ninja-auth.mobile-game-auth .register-modal { max-height: calc(var(--app-visible-height,100dvh) - 24px); }
}
/* Landscape canvas fallback for browsers that refuse a physical orientation lock. */
html.pknin-mobile-app.mobile-portrait:not(.mobile-game-viewport) .ninja-auth,
html.pknin-mobile-app.mobile-portrait:not(.mobile-game-viewport) .ninja-loading,
html.pknin-mobile-app.mobile-portrait:not(.mobile-game-viewport) .uc-page {
  top: 0;
  left: 100%;
  right: auto;
  bottom: auto;
  width: var(--mobile-landscape-width);
  height: var(--mobile-landscape-height);
  transform: rotate(90deg);
  transform-origin: top left;
}
html.pknin-mobile-app.mobile-portrait:not(.mobile-game-viewport) .ninja-auth::before { position: absolute; }
html.pknin-mobile-app.mobile-portrait:not(.mobile-game-viewport) .ninja-auth .login__modal,
html.pknin-mobile-app.mobile-portrait:not(.mobile-game-viewport) .ninja-auth .register-modal { max-height: calc(var(--mobile-landscape-height) - 24px); }
