@import url('/interface-control-charter.css');
/* Close artwork stays unframed, including on automatic dialog focus. This
   shared first layer wins over component focus rings in the themed layers.
   Focus, keyboard navigation and the controls' hit areas remain unchanged. */
@layer gameCloseControls {
  :is(.minimal-close, .arena-close-minimal, .uni-close, .library-reader-close,
      .auth-close, .profile-social-close, .ach-detail-close, .close-dialog,
      #study-close, #settings-close, button[aria-label^="Fermer"],
      button:has(img[src*="/logo-rom-retirer"])):not(.city-home-button) {
    outline: none !important;
    outline-width: 0 !important;
    outline-color: transparent !important;
    outline-offset: 0 !important;
    border: 0 !important;
    border-image: none !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition-property: opacity, filter, transform !important;
  }
  :is(.minimal-close, .arena-close-minimal, .uni-close, .library-reader-close,
      .auth-close, .profile-social-close, .ach-detail-close, .close-dialog,
      #study-close, #settings-close, button[aria-label^="Fermer"],
      button:has(img[src*="/logo-rom-retirer"])):not(.city-home-button) * {
    -webkit-tap-highlight-color: transparent !important;
  }
}
/* Page gestures: scrolling stays native, taps and pinches never scale the UI.
   Apply the default inside scroll containers too. Component touch-action:none
   rules (game pads, DS screen, furniture) retain their higher specificity. */
:where(html, body, body *) { touch-action: pan-x pan-y; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
/* Game surfaces are never browser selection targets, including the document
   root and the emulator iframe. Do not cancel pointer/click events: rapid
   presses, thumb sliding and native focus still belong to the controls. */
html:root, html:root body, html:root body * {
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none;
}
/* Only real text fields may select/copy text. Native haptic switches and
   button/range inputs are controls, not editors. */
html:root :is(input:not([type]), input:is([type=text], [type=search], [type=url], [type=tel], [type=email], [type=password], [type=number]), textarea):not([data-haptic-direct]),
html:root [contenteditable]:not([contenteditable=false]),
html:root [contenteditable]:not([contenteditable=false]) *:not([contenteditable=false]):not([contenteditable=false] *) {
  -webkit-user-select: text !important;
  user-select: text !important;
  -webkit-touch-callout: default;
}
