/* iPhone safe areas and type guards (Phase 11, v1).

   The site layout now carries viewport-fit=cover. It did not before, and that one missing word
   made every env(safe-area-inset-*) rule on the site add zero: the viewer, the notification sheet,
   the create camera and the story bars were all written for a notch the page was never allowed to
   see. Cover lets the page run under the notch and the home indicator, so the one piece of chrome
   that pins itself to the top edge has to take its own clearance back.

   At env() == 0 — a desktop, an Android browser, or the app while its native bars still own the
   inset — every rule here computes to the padding the screen already had.

   Fresh filename: hCDN caches css/* for a week and ignores query strings. */

/* iOS rescales text it decides is too small, which breaks a measured layout, and the default blue
   flash on tap is the last thing that still reads "website inside an app". */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
a, button, summary, label, [role="button"], .mtv-bubble, .mtv-mediatile, .mtv-dock a { -webkit-tap-highlight-color: transparent; }

@media (max-width: 820px) {
  /* The header is sticky at top:0, so the notch lands on it before anything else. 11px is the
     padding app.css already gives it at this width. */
  .mtv-header { padding-top: calc(11px + env(safe-area-inset-top, 0px)); }
  /* An anchor jump has to land under the whole bar, not under its first row. */
  html { scroll-padding-top: calc(64px + env(safe-area-inset-top, 0px)); }
}

@media (max-width: 640px) {
  /* app.css drops the header to 10px at this width, so the inset rides on 10px, not 11px. */
  .mtv-header { padding-top: calc(10px + env(safe-area-inset-top, 0px)); }
}

/* The launch intro fades with opacity, and an invisible full-screen layer still takes the taps.
   QA found it sitting over the DM composer for the 460 ms of its exit — real bug, real lost taps.
   It is fixed here rather than in mode-intro-v1.css because hCDN holds a css/* file for a week
   whatever the query string says, so only a new filename reaches the phones now. */
.mtv-intro.is-out { pointer-events: none; }
