/* public/assets/css/smart-scaler.css */
/* "Le Projecteur" - Largeur fixe immuable UNIQUEMENT SUR DESKTOP */
@media (min-width: 1280px) {
  .scaling-root { transform-origin: center top; /* [V10.2] Zone de projection stable à 2000px : référence visuelle validée */ width: 2000px !important; min-width: 2000px !important; max-width: 2000px !important; margin: 0 auto; /* Marges de sécurité latérales par défaut (DFI) */ padding: 0 5vh; box-sizing: border-box; transition: opacity 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
  body.page-game_play .scaling-root { transition: none !important; }
  /* Mode Full-Bleed : On libère toute la largeur native du projecteur (Ex: Hero Scene, Play) */
  .scaling-root.is-full-bleed { padding: 0 !important; }
}
/* [V10.1] Smart Vertical Centering (Look Refined) 
   Si l'écran est suffisamment haut (>950px), on descend le contenu pour éviter l'effet "collé au plafond" */
@media (min-height: 950px) and (min-width: 1280px) {
  #main-content { padding-top: 10vh !important; transition: padding 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); }
  .jgtr-hud-topbar__center { top: -5vh !important; }
}
@media (min-width: 1921px) and (min-height: 950px) {
  .jgtr-hud-topbar__center { top: calc(-5vh + 32px) !important; }
}
@media (min-width: 1921px) {
  .jgtr-page-background-stage,
  .bp-background-stage,
  .ms-background-stage,
  .jgtr-public-profile-stage {
    width: max(2160px, calc(100vw * var(--smart-inverse-scale, 1))) !important;
    max-width: none !important;
  }
}
/* RESET MOBILE & LAPTOP - On neutralise totalement le projecteur pour laisser Tailwind travailler */
@media (max-width: 1279px) {
  .scaling-root { width: 100% !important; min-width: 0 !important; max-width: none !important; transform: none !important; zoom: 1 !important; padding: 0 !important; margin: 0 !important; visibility: visible !important; opacity: 1 !important; /* OVERFLOW:VISIBLE (mobile) */ overflow: visible !important; }
}
.scaling-root { /* VISIBILITY:HIDDEN (JS ready toggle) */ visibility: hidden; opacity: 0; }
.scaling-root.is-ready { visibility: visible; opacity: 1; }
/* Correctif spécifique Webkit (Safari, DuckDuckGo sur Mac) */
@media not all and (min-resolution:.001dpcm) {
  @supports (-webkit-appearance:none) {
    .scaling-root { /* FONT-SMOOTHING:SUBPIXEL */ -webkit-font-smoothing: subpixel-antialiased !important; text-rendering: optimizeLegibility !important; /* GPU:SINGLE-LAYER */ will-change: transform; -webkit-transform: translateZ(0); -webkit-backface-visibility: hidden; }
  }
}
/* LAYOUT:CENTER-STATIC */
#main-content { display: flex; justify-content: center; align-items: flex-start; width: 100%; /* [V8.0] OVERFLOW:CLIP (projecteur mode) */ overflow-x: clip; box-sizing: border-box; }
@media (max-width: 1279px) {
  #main-content { overflow-x: visible; }
}
/* On retire la classe no-blur qui forçait le crisp-edges (source du trouble) */
.no-blur { /* Propriétés supprimées car elles nuisent au rendu Retina/Standard mix */ }
/* Harmonisation des containers internes pour le Projecteur */
.dashboard-content-wrapper { width: 100%; /* On laisse le padding du scaling-root gérer l'aération latérale */ }
/* Éviter que le scaling ne casse les éléments fixes à l'intérieur s'il y en a */
.scaling-root .fixed { /* Attention: un transform sur un parent change le référentiel du fixed en absolute */ /* On devra peut-être ajuster certains widgets si besoin */ }
