﻿/* ============================================================================
   LLVIP - GERCEK FULL SCREEN KILIT (TUM SAYFALAR ICIN ORTAK)
   11.5.2026 v20260511S
   ----------------------------------------------------------------------------
   KULLANICI TALEBI: "kusursuz ekran adaptasyonu, asla bı seyı onun dısına
   cıkaramaycam, butun llvip ana menusu alt htmlleri ve yokdil hepsinin ekran
   ayarini kusursuz yap, hangi cihazda olursa olsun her png yazi hero video ne
   varsa orantili".

   AMAC:
   - html / body / sahne kapsayicilari overflow:hidden -> sahne disina cikan
     piksel GORUNMEZ. Kullanici VIP kumandadan element buyutse / kaydirsa
     bile sahnenin disina FIZIKSEL OLARAK tasamaz.
   - Body scrollbar kapali -> "gercek full screen" hissi.
   - Mevcut sahne CSS'lerini (llvip-app, llvip-menu, llvip-core, exam-cat)
     KIRMAZ; yalnizca overflow:hidden EKLER (additive).
   - Bu CSS TUM SAYFALARA ortak yuklenir.
   ============================================================================ */

/* 1) HTML + BODY = viewport sinirini kilitle (overflow yok). */
html, body{
  overflow:hidden !important;
  overscroll-behavior:none;
  margin:0 !important;
  padding:0 !important;

  /* 13.5.2026 v20260513AB SPEC: Dinamik viewport yuksekligi (dvh).
     - iPhone Safari adres cubugu girer/cikar -> 100vh degismez, 100dvh degisir
       (dogru olcu). Eski tarayicilar 100vh fallback'i kullanir.
     - Android Chrome ayni
     - Smart board / TV -> dvh==vh, fark yok */
  height:100vh;     /* fallback for older browsers */
  height:100dvh;

  /* 13.5.2026 v20260513AB SPEC UYUMU - Apple/iOS/Android dokunmatik koruma:
     - user-select:none  -> sahnedeki PNG/yazi tutuldugunda secim/kopyalama menusu yok
     - -webkit-touch-callout:none -> iPhone uzun-basili-tut menusunu (Save Image/Copy) engelle
     - -webkit-tap-highlight-color:transparent -> tap halinde gri kutuyu engelle
     Form elementlerinde (input/textarea) -text- ile geri aciliyor (asagida).
     ----------------------------------------------------------------------- */
  user-select:none;
  -webkit-user-select:none;
  -ms-user-select:none;
  -webkit-touch-callout:none;
  -webkit-tap-highlight-color:transparent;
}

/* Form girisleri yazilabilir kalsin - user-select:none body'den miras almasin */
input, textarea, [contenteditable="true"], [contenteditable=""]{
  user-select:text !important;
  -webkit-user-select:text !important;
  -webkit-touch-callout:default !important;
}

/* 2) SAHNE KAPSAYICILARI - hangisi varsa overflow:hidden.
   #vip-stage, #scaleRoot ve #ykPageStage zaten kendi CSS'lerinde
   overflow:hidden kullanir; burada yedek olarak !important ile garanti. */
#scaleRoot,
#scaleRoot,
#vip-stage,
#scaleRoot,
#ykPageStage{
  overflow:hidden !important;
  /* 13.5.2026 v20260513AB SPEC UYUMU - Sahnede pan/zoom/scroll yok:
     iPhone iki-parmak zoom + Android cift-tap zoom + smart board parmak
     scroll dokunusunu sahnede yutar. Butonlar/input'lar disinda. */
  touch-action:none;
}

/* Buton/clickable hedef icin double-tap gecikmesini kaldir (manipulation) */
button, .clickable, [data-vip-click], a, summary{
  touch-action:manipulation;
}

/* 3) Mobil double-tap-zoom engeli (PWA full screen hissi). */
html{ touch-action:manipulation; }

/* 4) GLOBAL GORSEL ADAPTASYON GARANTISI (v20260511S)
   ----------------------------------------------------------------------------
   KULLANICI TALEBI: "butun sayfalardaki butun kullanilan gorseller ekran
   adaptasyonunu garantile her cihazda iphone tablet tv telefon pc".

   STRATEJI - MINIMAL & GUVENLI:
   - Sadece "intrinsic" gorseller (img/svg/canvas): max-width / max-height
     -> kapsayiciyi TASMAYACAK guvencesi.
   - Mevcut CSS'lerin width/height/object-fit ayarlarini EZMEZ (!important
     yok, spesifik kurallar geçerli kalir).
   - Sadece spesifik kural OLMAYAN gorseller default kapsayici icinde kalır.
   - video: zaten object-fit:contain default; ek kural koymadik.
   - iframe: tam kontrol mevcut sayfa CSS'inde, dokunmadik.
   - max-width yerine max-inline-size yazip, max-height yerine max-block-size
     yazsak yatay/dikey yazim yonune saygi, ama eski browser uyumu icin
     basit max-width/max-height kullaniyoruz. */
img, picture, svg, canvas{
  max-width:100%;
  max-height:100%;
}

/* 5) HTML bg = ana sayfa rengi (PWA standalone'da beyaz strip gorunmesin) */
html{ background:#020817; }
