/* Arena Football Boss v60 mobile wrapper patch. Keeps v58 game logic intact. */
:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --afb-vw: 100vw;
  --afb-vh: 100vh;
}
html, body {
  min-height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  overscroll-behavior: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  background: #080c19;
}
body.mobile-shell {
  min-height: 100dvh;
  padding-top: var(--safe-top);
  padding-right: var(--safe-right);
  padding-bottom: var(--safe-bottom);
  padding-left: var(--safe-left);
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
body.mobile-shell input,
body.mobile-shell textarea,
body.mobile-shell select,
body.mobile-shell [contenteditable="true"] {
  user-select: text;
  -webkit-user-select: text;
}
body.mobile-shell button,
body.mobile-shell .btn,
body.mobile-shell [role="button"] {
  touch-action: manipulation;
  cursor: pointer;
}
#afbLandscapeStage {
  min-height: calc(100dvh - var(--safe-top) - var(--safe-bottom));
}
#app {
  min-height: calc(100dvh - var(--safe-top) - var(--safe-bottom));
}
.modal-root,
.modal,
.overlay,
.panel,
.page,
.office-page {
  -webkit-overflow-scrolling: touch;
}

/* Phone-only forced landscape view for browser/PWA testing.
   Tablets are left untouched because the user confirmed tablet view is good. */
@media (orientation: portrait) and (max-width: 560px) and (max-height: 980px) {
  html.afb-phone-portrait-landscape,
  html.afb-phone-portrait-landscape body.mobile-shell {
    width: var(--afb-vw) !important;
    height: var(--afb-vh) !important;
    min-width: var(--afb-vw) !important;
    min-height: var(--afb-vh) !important;
    overflow: hidden !important;
    position: fixed !important;
    inset: 0 !important;
    padding: 0 !important;
  }
  body.mobile-shell.afb-phone-portrait-landscape #afbLandscapeStage {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: var(--afb-vh) !important;
    height: var(--afb-vw) !important;
    min-width: var(--afb-vh) !important;
    min-height: var(--afb-vw) !important;
    max-width: none !important;
    max-height: none !important;
    transform: rotate(90deg) translateY(-100%) !important;
    transform-origin: top left !important;
    overflow: hidden !important;
    background: #080c19 !important;
    z-index: 1 !important;
  }
  body.mobile-shell.afb-phone-portrait-landscape #app,
  body.mobile-shell.afb-phone-portrait-landscape #modalRoot {
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
  }
  body.mobile-shell.afb-phone-portrait-landscape #modalRoot {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147480000 !important;
    pointer-events: none;
  }
  body.mobile-shell.afb-phone-portrait-landscape #modalRoot:not(.hidden),
  body.mobile-shell.afb-phone-portrait-landscape #modalRoot:not([hidden]) {
    pointer-events: auto;
  }
  body.mobile-shell.afb-phone-portrait-landscape::before {
    content: "Yatay telefon modu aktif";
    position: fixed;
    right: max(8px, var(--safe-right));
    bottom: max(8px, var(--safe-bottom));
    z-index: 2147483647;
    padding: 7px 10px;
    border: 1px solid rgba(214,168,64,.55);
    border-radius: 999px;
    background: rgba(8,12,25,.72);
    color: #f7dfa0;
    font: 700 11px/1.2 system-ui, -apple-system, Segoe UI, sans-serif;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
    pointer-events: none;
    opacity: .72;
  }
}
@media (max-width: 760px) {
  body.mobile-shell button,
  body.mobile-shell .btn {
    min-height: 38px;
    font-size: 12px;
  }
  body.mobile-shell input,
  body.mobile-shell select,
  body.mobile-shell textarea {
    font-size: 16px; /* prevents iOS focus zoom */
  }
}
/* v71 mobile injury badge fit */
@media(max-width:720px){.match-injury-alert{flex-direction:column;gap:6px}.availability-badges{gap:5px}.injury-badge,.suspension-badge{font-size:10px;padding:5px 7px}.unavailable-card{align-items:flex-start;flex-direction:column}}


/* v72 mobile injury notification visual */
@media(max-width:720px){.injury-scene:before{width:68px;height:40px}.injury-scene span:after{font-size:25px}.match-alert.injury{grid-template-columns:1fr}}
