/* Rilayer — scala generale (J7). Un solo token: tutta l'interfaccia è disegnata in px fissi su più fogli,
   quindi la scala si applica al corpo pagina. Le unità vh/dvh dentro l'elemento zoomato vengono
   moltiplicate per lo zoom: i contenitori che le usano sono compensati qui sotto dividendo per --ui-zoom. */
:root { --ui-zoom: .88; }
@media (max-width: 700px) { :root { --ui-zoom: .92; } }

html body { zoom: var(--ui-zoom); }

/* contenitore più ampio: a scala ridotta lo stesso spazio ospita più contenuto */
html body main { max-width: calc(1320px / var(--ui-zoom)); }
html body #main:has(.hf-hero) { max-width: none; }

/* compensazione unità viewport */
html body dialog { max-height: calc(90vh / var(--ui-zoom)); width: min(calc(94vw / var(--ui-zoom)), 850px); }
html body .report-modal, html body .pr-modal { max-height: calc((100dvh - 24px) / var(--ui-zoom)); }
html body #auth-modal { width: min(440px, calc((100vw - 24px) / var(--ui-zoom))); }
html body #auth-modal .h5-auth-card { max-height: calc((100dvh - 24px) / var(--ui-zoom)); }
html body .adm-modal { width: min(720px, calc((100vw - 24px) / var(--ui-zoom))); }
@media (max-width: 760px) {
  html body .chat { height: calc((100vh - 120px) / var(--ui-zoom)); }
}
@media (max-width: 760px) {
  @supports (height: 100dvh) { html body .chat { height: calc((100dvh - 120px) / var(--ui-zoom)); } }
}
