/* Siluet ana sayfa B3 Bestekar kamera. Sahibi WP4. Şartname: ANA-SAYFA-KURGU.md 2.3.
   Bölümün kendisi iz: 100svh sahne + giriş devri (G2, boy 0) + 140svh yol + çıkış devri (G3). [data-sahne] yapışık, köşesiz, gölgesiz. */
@font-face { font-family: "Geist Mono"; src: url("../../fonts/GeistMono-wght.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }

.kamera {
  --mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --yazi: #1D1D1F;                          /* gök bölgesinde ölçüldü: >= 4,5:1 (tüm satırlar, p 0-0,40) */
  --u: min(1vw, 1.6vh);                     /* başlık bloğunun birimi: gök boşluğu 16:9'da alçak kalır, blok kısa ekranda küçülür */
  position: relative; z-index: 7;
  height: calc(100svh + var(--devir-giris, 0px) + 140svh + var(--devir-cikis, 0px));
}
.kamera > [data-sahne] { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; overflow: clip; background: #A8BEE0; } /* zemin: k000'ın gök tonu, kare gelene kadar boş kare görünmez */

/* kamera: kare ve tuval aynı kutuda; ölçek 1 -> 1,06 bu kutuda (GSAP). kab: telefonda "açılan pencere" kırpımı */
.kamera__kab, .kamera__kamera { position: absolute; inset: 0; }
.kamera__kamera { transform-origin: 50% 50%; will-change: transform; }
.kamera__ilk, .kamera__tuval { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.kamera__ilk { object-fit: cover; object-position: 50% 18%; } /* = KARE.konum; B2 05 panosu ile aynı */
.kamera__tuval { visibility: hidden; }                        /* kare 0'dan ayrılınca (p > 0,005) betik açar */

/* film başlığı: gökte, k000 ve sonraki karelerde ölçülen boş bölgede (betik raporu). Satır maskesi: hareket.js'in .satir-m payı. */
.kamera__yazi { position: absolute; z-index: 3; right: var(--kenar); top: clamp(64px, 8vh, 84px); text-align: right; color: var(--yazi); pointer-events: none; } /* söndüğünde opacity 0 (erişilebilirlik ağacında kalır): görünmez metin tıklamayı tutmasın */
.kamera__yazi p, .kamera__yazi h2 { margin: 0; }
.kamera__m { display: block; overflow: hidden; }
.kamera__m > span { display: block; will-change: transform; }
.kamera__kunye { font: 400 12px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.kamera__baslik { margin-top: 10px !important; font-weight: 500; font-size: clamp(30px, 3.2 * var(--u), 46px); line-height: 1.02; letter-spacing: -.03em; }
.kamera__alt { margin-top: 12px !important; font-size: clamp(13px, 1.1 * var(--u), 17px); line-height: 1.35; letter-spacing: -.012em; }

/* çip: cam, kutu değil (açılıştaki çiple aynı dil); hap: tam fotoğraflı sayfa geçişi */
.kamera__cip { position: absolute; z-index: 3; left: var(--kenar); bottom: 28px; margin: 0; font-size: 13px; line-height: 1.4; color: var(--metin); background: rgba(255, 255, 255, .72); -webkit-backdrop-filter: blur(12px) saturate(160%); backdrop-filter: blur(12px) saturate(160%); padding: 6px 12px; border-radius: 999px; }
.kamera__git { position: absolute; z-index: 3; right: var(--kenar); bottom: 24px; }
/* hap söndüğünde (0-0,06 ve 0,94-1) opacity 0 kalır ama klavye odağı alabilir; tıklama kapalı, odakta görünür ve tıklanır (betik gitAyarla) */
.kamera__git--sakli { pointer-events: none; }
.kamera__git:focus-visible { opacity: 1 !important; pointer-events: auto; }
.kamera__cekirdek { position: fixed; left: 0; top: 0; width: 0; height: 0; visibility: hidden; pointer-events: none; }

/* ilerleme çizgisi: sahnenin en altında 2 px */
.kamera__cizgi { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255, 255, 255, .32); }
.kamera__cizgi i { display: block; height: 100%; background: #fff; transform-origin: 0 50%; transform: scaleX(0); }

/* telefon: açılan pencere (kab clip-path, betik); başlık 30 px, y 88; hap altta 96 px; yol 120svh */
@media (max-width: 899px) {
  .kamera { height: calc(100svh + 120svh); }
  .kamera > [data-sahne] { background: transparent; } /* açılan pencerenin çevresi sayfa zemini */
  .kamera__ilk { object-position: 100% 18%; }          /* = KARE.konumTel (hareket azaltmada betik kadrajı yazmaz); sağ köşe, başlık gökte okunur */
  .kamera__yazi { top: 88px; max-width: calc(100vw - 2 * var(--kenar)); }
  .kamera__baslik { font-size: 30px; margin-top: 8px !important; }
  .kamera__alt { font-size: 15px; margin-top: 8px !important; }
  .kamera__git { bottom: 96px; }
  .kamera__cip { bottom: 40px; }
}

/* hareket azaltma: HD k000 posteri, başlık, çip ve hap yerinde; kaydırmayla oynayan kare yok */
html.az-hareket .kamera { height: auto; }
html.az-hareket .kamera > [data-sahne] { position: relative; }
html.az-hareket .kamera__tuval, html.az-hareket .kamera__cizgi { display: none; }
