/* Login özel gün katmanı (OzelGunKatmani.razor + ozel-gun.js) — docs/LOGIN-OZEL-GUN-PLAN.md FAZ 1 v3 (fotoğraf + Lottie).
   Katman .auth-brand içinde, mutlak konumlu, metinlerin (z 2) ALTINDA (z 1). Rozet kardeş öğe, z 3, tıklanabilir.
   Sahne = gerçek fotoğraf (wwwroot/images/ozelgun, Pexels/CC0) + yavaş Ken Burns + renk düzenleme (og-grade: sol taraf
   metin için koyulaşır, alt vinyet) + film greni + Lottie figürler + canvas parçacıklar. */
.og-katman { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; background: #0b1020; }   /* görsel inmeden de koyu zemin (ilk boyama) */
.og-arkaplan { position: absolute; inset: 0; background: #0b1020; }
.og-foto-sar { position: absolute; inset: -5%; transform: translate(calc(var(--og-px, 0) * -10px), calc(var(--og-py, 0) * -8px)); transition: transform .35s cubic-bezier(.2,.7,.3,1); will-change: transform; }   /* fare parallax: arka plan ters yöne az kayar */
.og-foto { position: absolute; inset: 0; background-size: cover; background-position: center; animation: og-kenburns 46s ease-in-out infinite alternate; will-change: transform; }
/* Saydam ön plan katmanı (gpt-image-1, background=transparent): parallax'ta fareyle aynı yöne ve daha çok kayar → derinlik */
.og-on { position: absolute; right: -4%; bottom: -3%; width: 68%; aspect-ratio: 1 / 1; background-size: contain; background-repeat: no-repeat; background-position: right bottom; pointer-events: none; transform: translate(calc(var(--og-px, 0) * 22px), calc(var(--og-py, 0) * 14px)); transition: transform .35s cubic-bezier(.2,.7,.3,1); filter: drop-shadow(0 24px 40px rgba(0,0,0,.45)); will-change: transform; }
.og-on .og-nokta { position: absolute; }
@keyframes og-kenburns { from { transform: scale(1) translate(0, 0); } to { transform: scale(1.09) translate(-1.2%, 1%); } }
.og-grade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,10,26,.78) 0%, rgba(6,10,26,.55) 38%, rgba(6,10,26,.18) 70%, rgba(6,10,26,.05) 100%), linear-gradient(180deg, rgba(6,10,26,.25) 0%, rgba(6,10,26,0) 30%, rgba(6,10,26,0) 60%, rgba(6,10,26,.7) 100%); }
.og-isik-vurgu { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 60% 45% at calc(50% + var(--og-px, 0) * 12%) calc(40% + var(--og-py, 0) * 10%), rgba(255,255,255,.08), transparent 70%); transition: background .35s; }   /* fareyi izleyen yumuşak ışık */
.og-gren { position: absolute; inset: 0; opacity: .07; mix-blend-mode: overlay; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }
.og-canvas { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 40; pointer-events: none; }   /* parçacıklar (kar/konfeti/yaprak/yarasa) tüm ekranı kat eder; form tarafında JS yarı soldurur (kullanıcı 31.10: Çanakkale çiçekleri ortada yok oluyordu) */
.og-lottieler { position: absolute; inset: 0; }
.og-lottie { position: absolute; }
.og-lottie svg { display: block; width: 100% !important; height: 100% !important; }
.og-figur { position: absolute; }
.og-rozet { position: absolute; z-index: 3; left: 3.5rem; bottom: 6.2rem; display: flex; align-items: center; gap: .6rem; padding: .6rem 1rem .6rem 1.05rem; border-radius: 999px; background: rgba(255,255,255,.86); color: #0f172a; font: 600 .92rem/1.2 system-ui, -apple-system, 'Segoe UI', sans-serif; box-shadow: 0 10px 30px rgba(15,23,42,.18); backdrop-filter: blur(8px); pointer-events: auto; max-width: calc(100% - 7rem); }
.og-rozet .og-ikon { font-size: 1.15rem; line-height: 1; }
.og-rozet button { border: 0; background: transparent; cursor: pointer; color: inherit; opacity: .55; font-size: .95rem; line-height: 1; padding: .15rem .25rem; border-radius: 6px; }
.og-rozet button:hover { opacity: 1; background: rgba(15,23,42,.08); }
.og-geri-sayim { font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: .03em; }
.og-geri-sayim.og-bitti { color: #e30a17; }

/* Koyu zeminli temalarda marka metinleri beyaza döner (JS .og-koyu); cam etkili özellik şeridi */
.auth-brand:is(.og-koyu, :has(.og-katman)) .brand-top-title, .auth-brand:is(.og-koyu, :has(.og-katman)) .brand-headline, .auth-brand:is(.og-koyu, :has(.og-katman)) .brand-desc, .auth-brand:is(.og-koyu, :has(.og-katman)) .brand-copyright, .auth-brand:is(.og-koyu, :has(.og-katman)) .brand-bottom { color: #f8fafc; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.auth-brand:is(.og-koyu, :has(.og-katman)) .brand-ai-grad { color: rgba(255,255,255,.78) !important; filter: none; text-shadow: 0 2px 14px rgba(0,0,0,.45); }   /* 'Yapay Zeka Destekli' koyu gri yerine yumuşak beyaz (kullanıcı 31.10: temaya uymuyordu) */
/* Koyu/kırmızı zeminde mavi-mor gradyan başlık okunmuyor → düz beyaz (marka gradyanı yalnız açık zeminde) */
.auth-brand:is(.og-koyu, :has(.og-katman)) .brand-headline, .auth-brand:is(.og-koyu, :has(.og-katman)) .brand-headline span, .auth-brand:is(.og-koyu, :has(.og-katman)) .brand-headline * { background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important; -webkit-text-fill-color: #fff !important; color: #fff !important; }
.auth-brand:is(.og-koyu, :has(.og-katman)) .brand-desc { opacity: .88; }
.auth-brand:is(.og-koyu, :has(.og-katman)) .tick-item { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.16); color: #f1f5f9; backdrop-filter: blur(6px); }
.auth-brand:is(.og-koyu, :has(.og-katman))::before { opacity: .2; }
.auth-brand:is(.og-koyu, :has(.og-katman)) .og-rozet { background: rgba(10,14,30,.6); color: #f8fafc; border: 1px solid rgba(255,255,255,.14); }
.auth-brand:is(.og-koyu, :has(.og-katman)) .og-rozet button:hover { background: rgba(255,255,255,.12); }

/* ── Yılbaşı: yıldızlı kış ormanı fotoğrafı + kar + kızak geçişi + havai fişek ── */
.og-yilbasi .og-foto { background-image: url("../images/ozelgun/yilbasi.webp"); background-position: 50% 30%; }
.og-yilbasi .og-grade { background: linear-gradient(90deg, rgba(6,12,32,.72) 0%, rgba(6,12,32,.42) 40%, rgba(6,12,32,.08) 75%, rgba(6,12,32,0) 100%), linear-gradient(180deg, rgba(6,12,32,.2) 0%, rgba(6,12,32,0) 35%, rgba(6,12,32,.65) 100%); }
.og-l-kizak { top: 7%; left: -520px; width: 460px; height: 345px; animation: og-kizak-yol 26s linear infinite; filter: drop-shadow(0 12px 22px rgba(0,0,0,.5)); will-change: transform; }
@keyframes og-kizak-yol { 0% { transform: translate(0, 70px) scale(.8); opacity: 0; } 5% { opacity: 1; } 30% { transform: translate(calc((50vw + 520px) * .3), -14px) scale(.88); } 60% { transform: translate(calc((50vw + 520px) * .6), 34px) scale(.98); } 95% { opacity: 1; } 100% { transform: translate(calc(50vw + 520px), 100px) scale(1.04); opacity: 0; } }
.og-l-fisek { top: -4%; left: 38%; right: -16%; height: 46%; opacity: .85; mix-blend-mode: screen; }

/* ── Noel: ışıklı kulübe illüstrasyonu + canlı noktalar (pencere/fener/ışık) + kar + kızak ── */
.og-noel .og-foto { background-image: url("../images/ozelgun/noel.webp"); background-position: 50% 18%; }
.og-noel .og-grade { background: linear-gradient(90deg, rgba(8,14,30,.66) 0%, rgba(8,14,30,.4) 40%, rgba(8,14,30,.05) 72%, rgba(8,14,30,0) 100%), linear-gradient(180deg, rgba(8,14,30,.1), rgba(8,14,30,0) 35%, rgba(8,14,30,.55) 100%); }

/* ── 29 Ekim: dalgalanan bayrak fotoğrafı + kırmızı-beyaz konfeti ── */
.og-cumhuriyet .og-foto { background-image: url("../images/ozelgun/cumhuriyet.webp"); background-position: 62% 40%; }
.og-cumhuriyet .og-grade { background: linear-gradient(90deg, rgba(20,8,12,.8) 0%, rgba(20,8,12,.55) 40%, rgba(20,8,12,.12) 72%, rgba(20,8,12,0) 100%), linear-gradient(180deg, rgba(20,8,12,.18), rgba(20,8,12,0) 35%, rgba(20,8,12,.62) 100%); }
.og-cumhuriyet .og-yil { position: absolute; right: 6%; top: 7%; text-align: right; font: 900 3rem/1 system-ui, sans-serif; color: #fff; letter-spacing: -.02em; text-shadow: 0 4px 24px rgba(0,0,0,.45); }
.og-cumhuriyet .og-yil small { display: block; font-size: .85rem; font-weight: 700; letter-spacing: .18em; opacity: .85; margin-top: .3rem; }

/* ── 10 Kasım: anma — Anıtkabir alacakaranlık sahnesi (gpt-image-2.5), yarıya indirilmiş bayrak ön planı, yavaş gri bulut/sis; parçacık/ses yok ── */
@keyframes og-bayrak-sal { 0%, 100% { transform: translate(calc(var(--og-px, 0) * 22px), calc(var(--og-py, 0) * 14px)) skewY(0deg); } 50% { transform: translate(calc(var(--og-px, 0) * 22px), calc(var(--og-py, 0) * 14px)) skewY(.8deg) scaleX(1.01); } }
.og-bulut-gri { opacity: .3; background: radial-gradient(ellipse 30% 55% at 20% 50%, rgba(200,205,215,.5), transparent 70%), radial-gradient(ellipse 36% 60% at 55% 40%, rgba(190,195,210,.45), transparent 70%), radial-gradient(ellipse 28% 50% at 85% 55%, rgba(200,205,215,.4), transparent 70%); animation-duration: 110s; }
.og-sis-gri { background: radial-gradient(ellipse at 30% 100%, rgba(180,190,210,.22), transparent 60%), radial-gradient(ellipse at 70% 100%, rgba(180,190,210,.18), transparent 62%); height: 36%; }
.og-ataturk-anma .og-baslik .og-gun, .og-ataturk-anma .og-baslik .og-ayad { background: linear-gradient(180deg, #ffffff 0%, #d9dee8 45%, #9aa3b5 70%, #f1f4f9 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-ataturk-anma .og-baslik .og-ust { color: #e2e8f0; letter-spacing: .22em; }
.og-ataturk-anma .og-baslik .og-yilrozet { border-color: rgba(226,232,240,.5); }
.og-ataturk-anma .og-baslik .og-alt { max-width: none; white-space: nowrap; }   /* "Gazi Mustafa Kemal ATATÜRK'ü saygı ve özlemle anıyoruz." tek satır */
.og-ataturk-anma .og-saat { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); font: 900 5rem/1 system-ui, sans-serif; color: #f8fafc; letter-spacing: .04em; opacity: .9; }
.og-ataturk-anma .og-cizgi { position: absolute; left: 3.5rem; right: 3.5rem; top: 52%; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent); }

/* ── Halloween: dolunay-orman fotoğrafı (mor-turuncu düzenleme) + sis + balkabağı + yarasalar ── */
.og-halloween .og-foto { background-image: url("../images/ozelgun/halloween.webp"); background-position: 50% 25%; filter: saturate(1) brightness(.95); }
.og-halloween .og-grade { background: linear-gradient(90deg, rgba(22,8,40,.82) 0%, rgba(22,8,40,.55) 42%, rgba(22,8,40,.18) 75%, rgba(40,10,60,.12) 100%), linear-gradient(180deg, rgba(60,20,90,.25), rgba(22,8,40,0) 40%, rgba(10,4,18,.75) 100%); }
.og-halloween .og-sis { position: absolute; left: -20%; right: -20%; bottom: 0; height: 40%; background: radial-gradient(ellipse at 30% 100%, rgba(255,255,255,.16), transparent 60%), radial-gradient(ellipse at 75% 100%, rgba(255,255,255,.12), transparent 60%); animation: og-sis 12s ease-in-out infinite alternate; }
@keyframes og-sis { from { transform: translateX(-3%); } to { transform: translateX(3%); } }
.og-l-balkabagi { right: 4%; bottom: 6.2rem; width: 250px; height: 250px; filter: drop-shadow(0 18px 26px rgba(0,0,0,.55)); }
.og-l-yarasa { width: 170px; height: 128px; right: -200px; animation: og-yarasa-yol 16s linear infinite; will-change: transform; }
.og-l-yarasa-1 { top: 8%; }
.og-l-yarasa-2 { top: 24%; width: 120px; height: 90px; animation-duration: 22s; animation-delay: -9s; opacity: .85; }
.og-l-yarasa-3 { top: 40%; width: 86px; height: 64px; animation-duration: 30s; animation-delay: -17s; opacity: .7; }
@keyframes og-yarasa-yol { 0% { transform: translate(0, 0); } 25% { transform: translate(calc((-50vw - 420px) * .25), -30px); } 50% { transform: translate(calc((-50vw - 420px) * .5), 20px); } 75% { transform: translate(calc((-50vw - 420px) * .75), -24px); } 100% { transform: translate(calc(-50vw - 420px), 10px); } }

/* ── Ramazan / bayramlar: hilal fotoğrafı + fenerler ── */
.og-ramazan .og-foto, .og-ramazan-bayrami .og-foto, .og-kurban-bayrami .og-foto { background-image: url("../images/ozelgun/ramazan.webp"); background-position: 60% 35%; }
.og-ramazan .og-grade, .og-ramazan-bayrami .og-grade, .og-kurban-bayrami .og-grade { background: linear-gradient(90deg, rgba(6,14,40,.78) 0%, rgba(6,14,40,.5) 40%, rgba(6,14,40,.1) 75%, rgba(6,14,40,0) 100%), linear-gradient(180deg, rgba(6,14,40,.1), rgba(6,14,40,0) 40%, rgba(6,14,40,.7) 100%); }
.og-l-fenerler { right: 4%; top: 2%; width: 340px; height: 272px; filter: drop-shadow(0 10px 20px rgba(0,0,0,.4)); }

@media (prefers-reduced-motion: reduce) { .og-foto { animation: none; } .og-l-kizak, .og-l-yarasa { animation-duration: 60s; } }
@media print { .og-katman, .og-rozet { display: none; } }

/* ── Canlı illüstrasyon noktaları (ozel-gun.js sahneKur → .og-foto içine eklenir, Ken Burns ile birlikte hareket eder) ── */
.og-nokta { position: absolute; pointer-events: none; will-change: opacity, transform; }
.og-nokta-pencere { border-radius: 10px; background: radial-gradient(ellipse at 50% 55%, rgba(255,214,140,.95) 0%, rgba(255,180,80,.65) 45%, rgba(255,150,40,0) 75%); mix-blend-mode: screen; filter: blur(5px); animation: og-pencere 6s ease-in-out infinite; }
.og-nokta-pencere.og-soluk { opacity: .55; }
@keyframes og-pencere { 0%, 100% { opacity: .85; } 12% { opacity: .55; } 16% { opacity: .95; } 40% { opacity: .7; } 55% { opacity: 1; } 58% { opacity: .45; } 61% { opacity: .9; } 80% { opacity: .65; } }
.og-nokta-fener { width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%; background: radial-gradient(circle, rgba(255,230,170,.95) 0%, rgba(255,190,90,.5) 40%, rgba(255,160,60,0) 70%); mix-blend-mode: screen; animation: og-fener 5s ease-in-out infinite; }
@keyframes og-fener { 0%, 100% { opacity: .9; transform: scale(1); } 30% { opacity: .6; transform: scale(.92); } 50% { opacity: 1; transform: scale(1.08); } 70% { opacity: .75; } }
.og-nokta-isik { width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: #fff6d0; box-shadow: 0 0 6px 2px rgba(255,236,170,.9), 0 0 16px 6px rgba(255,210,110,.45); animation: og-isik-pir 2s ease-in-out infinite; }
@keyframes og-isik-pir { 0%, 100% { opacity: .35; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.25); } }

/* ── Afişler (29 Ekim, 18 Mart, 30 Ağustos): kırmızı ipek + altın tipografi + imza + bayrak + martılar ── */
.og-afis .og-arkaplan { background: radial-gradient(ellipse at 20% 15%, #e81426 0%, #c40a18 35%, #8c0010 75%, #5e000a 100%); }
.og-ipek { position: absolute; left: -30%; top: -10%; width: 160%; height: 120%; opacity: .9; animation: og-ipek 38s ease-in-out infinite alternate; }
@keyframes og-ipek { from { transform: translate(0, 0); } to { transform: translate(-6%, 2%); } }
.og-bokeh { position: absolute; inset: 0; background-image: radial-gradient(circle at 18% 78%, rgba(255,255,255,.14) 0 9%, transparent 9.5%), radial-gradient(circle at 34% 86%, rgba(255,255,255,.10) 0 7%, transparent 7.5%), radial-gradient(circle at 78% 70%, rgba(255,255,255,.12) 0 11%, transparent 11.5%), radial-gradient(circle at 90% 88%, rgba(255,255,255,.09) 0 6%, transparent 6.5%), radial-gradient(circle at 62% 92%, rgba(255,255,255,.08) 0 8%, transparent 8.5%); animation: og-bokeh 9s ease-in-out infinite alternate; }
@keyframes og-bokeh { from { opacity: .7; transform: scale(1); } to { opacity: 1; transform: scale(1.04); } }
.og-afis .og-bayrak { position: absolute; right: 7%; top: 7%; width: 290px; height: 194px; overflow: visible; filter: drop-shadow(0 18px 30px rgba(0,0,0,.35)); }
.og-afis .og-direk { position: absolute; right: calc(7% + 290px); top: 6%; width: 6px; height: 330px; border-radius: 3px; background: linear-gradient(90deg, #cbd5e1, #f8fafc, #94a3b8); box-shadow: 0 6px 14px rgba(0,0,0,.3); }
.og-afis .og-direk::before { content: ''; position: absolute; top: -14px; left: -6px; width: 18px; height: 18px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fde68a, #d4a017); }
.og-imza { position: absolute; right: 7%; top: calc(7% + 215px); width: 230px; height: 83px; background: #fff; opacity: .92; -webkit-mask: url("../images/ozelgun/imza.svg") no-repeat center / contain; mask: url("../images/ozelgun/imza.svg") no-repeat center / contain; filter: drop-shadow(0 4px 10px rgba(0,0,0,.35)); }
.og-kuslar { position: absolute; inset: 0; overflow: hidden; }
.og-kus { position: absolute; left: -40px; width: 26px; height: 12px; fill: #fff; opacity: .9; animation: og-kus-yol 26s linear infinite; }
.og-kus path { transform-origin: 50% 50%; animation: og-kus-kanat .7s ease-in-out infinite alternate; }
.og-kus:nth-child(1) { top: 46%; }
.og-kus:nth-child(2) { top: 50%; width: 20px; animation-duration: 30s; animation-delay: -6s; opacity: .75; }
.og-kus:nth-child(3) { top: 43%; width: 16px; animation-duration: 34s; animation-delay: -14s; opacity: .6; }
.og-kus:nth-child(4) { top: 54%; width: 22px; animation-duration: 28s; animation-delay: -20s; opacity: .8; }
.og-kus:nth-child(5) { top: 40%; width: 14px; animation-duration: 38s; animation-delay: -9s; opacity: .5; }
@keyframes og-kus-yol { 0% { transform: translate(0, 0); } 50% { transform: translate(calc(25vw + 60px), -40px); } 100% { transform: translate(calc(50vw + 120px), -90px); } }
@keyframes og-kus-kanat { from { transform: scaleY(1); } to { transform: scaleY(.35); } }
.og-baslik { position: absolute; right: 7%; bottom: 7.4rem; text-align: right; color: #fff; }
.og-baslik .og-gun { display: block; font: 900 7.2rem/1 Georgia, 'Times New Roman', serif; letter-spacing: -.03em; background: linear-gradient(180deg, #fff3b8 0%, #f6c646 38%, #c18e0e 66%, #ffe59a 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 8px 18px rgba(0,0,0,.4)); }
.og-baslik .og-ayad { display: block; margin-top: .45rem; font: 800 2.6rem/1 Georgia, 'Times New Roman', serif; letter-spacing: .12em; background: linear-gradient(180deg, #fff3b8, #f6c646 50%, #d4a017); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 6px 14px rgba(0,0,0,.35)); margin-top: .25rem; }
.og-baslik .og-ust { display: block; font: 600 .95rem/1.2 system-ui, sans-serif; letter-spacing: .28em; color: #ffe8a3; opacity: .95; margin-top: .9rem; }
.og-baslik .og-yilrozet { display: inline-block; margin-top: .9rem; padding: .45rem 1rem; border: 1px solid rgba(255,232,163,.55); border-radius: 999px; font: 800 1.05rem/1 system-ui, sans-serif; letter-spacing: .08em; color: #fff; background: rgba(0,0,0,.18); backdrop-filter: blur(4px); }
.og-baslik .og-alt { display: none; font: 500 .9rem/1.3 system-ui, sans-serif; color: rgba(255,255,255,.85); margin-top: .7rem; margin-left: auto; }   /* max-width yok: tek satır (Tıp Bayramı sığmıyordu) */
.og-afis .og-canvas { mix-blend-mode: screen; }

/* ── Rozet (mesaj) sağ altta, köşede; "bu yıl gösterme" ayrı küçük düğme sağ üstte ── */
.og-rozet { left: 3.5rem; right: auto; bottom: 5.5rem; max-width: 64%; font-size: .82rem; padding: .45rem .8rem .45rem .9rem; }   /* özellik şeridinin solan kuyruğu üstünde; telif satırına değmez */
.og-gizle { position: absolute; z-index: 3; top: .9rem; right: .9rem; display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .7rem .35rem .6rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(10,14,30,.35); color: rgba(255,255,255,.85); font: 600 .72rem/1 system-ui, sans-serif; letter-spacing: .02em; cursor: pointer; pointer-events: auto; backdrop-filter: blur(6px); transition: background .2s, color .2s; }
.og-gizle:hover { background: rgba(255,255,255,.92); color: #0f172a; }
.og-gizle span { font-size: .85rem; line-height: 1; }
.auth-brand:not(.og-koyu):not(:has(.og-katman)) .og-gizle { border-color: rgba(15,23,42,.18); background: rgba(255,255,255,.65); color: #334155; }

/* ── 18 Mart Çanakkale: alacakaranlık gelincik tarlası / abide fotoğrafı + sis katmanları + süzülen gelincik yaprakları + gümüş tipografi ── */
.og-canakkale .og-foto { background-image: url("../images/ozelgun/canakkale.webp"); background-position: 50% 38%; filter: saturate(.95) contrast(1.04); }
.og-canakkale .og-grade { background: linear-gradient(90deg, rgba(8,10,22,.82) 0%, rgba(8,10,22,.55) 40%, rgba(8,10,22,.15) 72%, rgba(8,10,22,.05) 100%), linear-gradient(180deg, rgba(8,10,22,.35) 0%, rgba(8,10,22,0) 35%, rgba(8,10,22,.75) 100%); }
.og-sis-katman { position: absolute; left: -25%; width: 150%; height: 46%; bottom: -4%; pointer-events: none; background: radial-gradient(ellipse at 30% 100%, rgba(200,210,230,.28), transparent 60%), radial-gradient(ellipse at 70% 100%, rgba(200,210,230,.22), transparent 62%); filter: blur(14px); animation: og-sis-kay 28s ease-in-out infinite alternate; }
.og-sis-katman.og-sis-2 { height: 34%; bottom: 2%; opacity: .7; animation-duration: 40s; animation-direction: alternate-reverse; }
@keyframes og-sis-kay { from { transform: translateX(-4%) scaleX(1); } to { transform: translateX(4%) scaleX(1.08); } }
.og-mum { position: absolute; left: 3.6rem; bottom: 9.6rem; width: 14px; height: 14px; border-radius: 50%; background: radial-gradient(circle, #fff5d6 0%, #ffd27a 35%, rgba(255,160,60,0) 70%); box-shadow: 0 0 28px 12px rgba(255,190,90,.35), 0 0 70px 30px rgba(255,150,50,.15); animation: og-mum 2.4s ease-in-out infinite alternate; }
@keyframes og-mum { from { transform: scale(1); opacity: .9; } 50% { transform: scale(.92); opacity: .75; } to { transform: scale(1.06); opacity: 1; } }
.og-canakkale .og-baslik .og-gun, .og-canakkale .og-baslik .og-ayad { background: linear-gradient(180deg, #ffffff 0%, #d9dee8 45%, #9aa3b5 70%, #f1f4f9 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-canakkale .og-baslik .og-ust { color: #e2e8f0; }
.og-canakkale .og-baslik .og-yilrozet { border-color: rgba(226,232,240,.5); }
.og-canakkale .og-baslik .og-alt { display: block; color: rgba(241,245,249,.9); }
.og-canakkale .og-baslik { bottom: 5.6rem; }

/* ── 30 Ağustos: şafak fotoğrafı + dönen ışık huzmeleri + süzülen bulut katmanları + altın toz + bayrak + altın tipografi ── */
.og-30agustos .og-foto { background-image: url("../images/ozelgun/30agustos.webp"); background-position: 50% 30%; filter: saturate(1.05) contrast(1.04); }
.og-30agustos .og-grade { background: linear-gradient(90deg, rgba(30,10,8,.78) 0%, rgba(30,10,8,.5) 40%, rgba(30,10,8,.12) 72%, rgba(30,10,8,0) 100%), linear-gradient(180deg, rgba(30,10,8,.15) 0%, rgba(30,10,8,0) 35%, rgba(30,10,8,.7) 100%); }
.og-huzme { position: absolute; left: 62%; top: 20%; width: 220vmax; height: 220vmax; margin: -110vmax 0 0 -110vmax; pointer-events: none; mix-blend-mode: screen; opacity: .55; background: conic-gradient(from 0deg, rgba(255,214,120,0) 0deg, rgba(255,214,120,.5) 6deg, rgba(255,214,120,0) 14deg, rgba(255,214,120,0) 40deg, rgba(255,230,160,.4) 46deg, rgba(255,230,160,0) 54deg, rgba(255,214,120,0) 90deg, rgba(255,214,120,.45) 97deg, rgba(255,214,120,0) 106deg, rgba(255,214,120,0) 150deg, rgba(255,230,160,.35) 156deg, rgba(255,230,160,0) 164deg, rgba(255,214,120,0) 210deg, rgba(255,214,120,.4) 218deg, rgba(255,214,120,0) 226deg, rgba(255,214,120,0) 270deg, rgba(255,230,160,.45) 278deg, rgba(255,230,160,0) 287deg, rgba(255,214,120,0) 330deg, rgba(255,214,120,.4) 337deg, rgba(255,214,120,0) 346deg, rgba(255,214,120,0) 360deg); -webkit-mask: radial-gradient(circle at 50% 50%, #000 0%, rgba(0,0,0,.6) 18%, transparent 46%); mask: radial-gradient(circle at 50% 50%, #000 0%, rgba(0,0,0,.6) 18%, transparent 46%); animation: og-huzme 90s linear infinite; }
@keyframes og-huzme { to { transform: rotate(360deg); } }
.og-bulut { position: absolute; left: -30%; width: 160%; height: 42%; top: 2%; pointer-events: none; opacity: .5; background: radial-gradient(ellipse 30% 55% at 20% 50%, rgba(255,235,210,.45), transparent 70%), radial-gradient(ellipse 36% 60% at 55% 40%, rgba(255,225,190,.4), transparent 70%), radial-gradient(ellipse 28% 50% at 85% 55%, rgba(255,235,210,.35), transparent 70%); filter: blur(18px); animation: og-bulut 60s linear infinite; }
.og-bulut.og-bulut-2 { top: 14%; height: 30%; opacity: .35; animation-duration: 95s; animation-direction: reverse; }
@keyframes og-bulut { from { transform: translateX(-6%); } to { transform: translateX(6%); } }
.og-30agustos .og-bayrak { position: absolute; right: 4%; top: 5%; width: 225px; height: 150px; overflow: visible; filter: drop-shadow(0 16px 28px rgba(0,0,0,.45)); }
.og-30agustos .og-direk { position: absolute; right: calc(4% + 225px); top: 4%; width: 5px; height: 280px; border-radius: 3px; background: linear-gradient(90deg, #cbd5e1, #f8fafc, #94a3b8); box-shadow: 0 6px 14px rgba(0,0,0,.35); }
.og-30agustos .og-direk::before { content: ''; position: absolute; top: -12px; left: -5px; width: 15px; height: 15px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fde68a, #d4a017); }
.og-30agustos .og-imza { right: 6%; top: 6%; width: 200px; height: 72px; }
.og-30agustos .og-baslik .og-gun { font-size: 6.8rem; }

/* ── Ön plan katmanları (tema bazlı dosya/konum) ── */
.og-canakkale .og-on { background-image: url("../images/ozelgun/canakkale-on.webp"); width: 56%; right: -7%; bottom: -5%; opacity: .95; }
.og-30agustos .og-on { background-image: url("../images/ozelgun/30agustos-on.webp"); width: 74%; right: -4%; bottom: 4%; }
.og-cumhuriyet .og-on { background-image: url("../images/ozelgun/cumhuriyet-on.webp"); width: 72%; right: -6%; bottom: 3%; }
.og-noel .og-on { background-image: url("../images/ozelgun/noel-on.webp"); width: 62%; right: -2%; bottom: 2%; }
.og-yilbasi .og-on { background-image: url("../images/ozelgun/yilbasi-on.webp"); inset: -3% -3% -3% -3%; width: auto; aspect-ratio: auto; background-size: 112% auto; background-position: 50% 0; filter: drop-shadow(0 10px 20px rgba(0,0,0,.4)); transform: translate(calc(var(--og-px, 0) * 26px), calc(var(--og-py, 0) * 16px)); }
.og-halloween .og-on { background-image: url("../images/ozelgun/halloween-on.webp"); width: 58%; right: -5%; bottom: -3%; }
.og-ramazan .og-on, .og-ramazan-bayrami .og-on, .og-kurban-bayrami .og-on { background-image: url("../images/ozelgun/ramazan-on.webp"); width: 46%; right: 2%; bottom: auto; top: -2%; background-position: right top; }
/* Yıldız pırıltısı (Noel ağacı tepesi, ön plan katmanı üzerinde) */
.og-nokta-yildiz { width: 18px; height: 18px; margin: -9px 0 0 -9px; pointer-events: none; }
.og-nokta-yildiz::before, .og-nokta-yildiz::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, #fffbe6 0%, rgba(255,230,150,.9) 30%, rgba(255,210,90,0) 70%); animation: og-yildiz 2.2s ease-in-out infinite; }
.og-nokta-yildiz::after { background: conic-gradient(from 0deg, transparent 0 10deg, rgba(255,245,200,.9) 12deg, transparent 14deg 100deg, rgba(255,245,200,.9) 102deg, transparent 104deg 190deg, rgba(255,245,200,.9) 192deg, transparent 194deg 280deg, rgba(255,245,200,.9) 282deg, transparent 284deg 360deg); -webkit-mask: radial-gradient(circle, #000 0 20%, transparent 70%); mask: radial-gradient(circle, #000 0 20%, transparent 70%); transform: scale(3.2); animation: og-yildiz-isin 4.5s linear infinite; }
@keyframes og-yildiz { 0%, 100% { transform: scale(1); opacity: .8; } 50% { transform: scale(1.9); opacity: 1; } }
@keyframes og-yildiz-isin { from { transform: scale(3.2) rotate(0deg); opacity: .5; } 50% { opacity: 1; } to { transform: scale(3.2) rotate(180deg); opacity: .5; } }
/* 29 Ekim artık fotoğraf sahnesi: imza + martılar üstte kalır, ipek/bokeh yok */
.og-cumhuriyet .og-imza { right: 6%; top: 6%; width: 210px; height: 76px; }
.og-cumhuriyet .og-grade { background: linear-gradient(90deg, rgba(20,6,10,.78) 0%, rgba(20,6,10,.5) 40%, rgba(20,6,10,.1) 72%, rgba(20,6,10,0) 100%), linear-gradient(180deg, rgba(20,6,10,.2), rgba(20,6,10,0) 35%, rgba(20,6,10,.65) 100%); }
.og-cumhuriyet .og-foto { background-image: url("../images/ozelgun/cumhuriyet.webp"); background-position: 50% 45%; }
.og-cumhuriyet .og-l-fisek { top: -2%; left: 20%; right: -10%; height: 48%; opacity: .8; mix-blend-mode: screen; }

/* ── 22 Kasım Diş Hekimleri Günü: kristal diş sahnesi + saydam kristal diş ön planı + turkuaz/altın konfeti ── */
.og-dis-hekimleri .og-foto { background-image: url("../images/ozelgun/dis-hekimleri.webp"); background-position: 50% 45%; }
.og-dis-hekimleri .og-grade { background: linear-gradient(90deg, rgba(4,30,40,.78) 0%, rgba(4,30,40,.52) 40%, rgba(4,30,40,.12) 72%, rgba(4,30,40,0) 100%), linear-gradient(180deg, rgba(4,30,40,.2), rgba(4,30,40,0) 35%, rgba(4,30,40,.6) 100%); }
.og-dis-hekimleri .og-on { background-image: url("../images/ozelgun/dis-hekimleri-on.webp"); width: 38%; right: 4%; bottom: 34%; filter: drop-shadow(0 20px 40px rgba(0,0,0,.4)) drop-shadow(0 0 30px rgba(45,212,191,.35)); animation: og-yuz 6s ease-in-out infinite alternate; }
@keyframes og-yuz { from { margin-bottom: 0; } to { margin-bottom: 14px; } }
.og-dis-hekimleri .og-baslik .og-gun, .og-dis-hekimleri .og-baslik .og-ayad { background: linear-gradient(180deg, #ffffff 0%, #99f6e4 45%, #14b8a6 70%, #e0fffa 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-dis-hekimleri .og-baslik .og-ust { color: #ccfbf1; }
.og-dis-hekimleri .og-baslik .og-yilrozet { border-color: rgba(153,246,228,.55); }
/* ── Paskalya: bahar çayırı + saydam yumurta kümesi + pembe taç yaprakları ── */
.og-paskalya .og-foto { background-image: url("../images/ozelgun/paskalya.webp"); background-position: 50% 45%; }
.og-paskalya .og-grade { background: linear-gradient(90deg, rgba(30,20,30,.7) 0%, rgba(30,20,30,.42) 40%, rgba(30,20,30,.06) 72%, rgba(30,20,30,0) 100%), linear-gradient(180deg, rgba(30,20,30,.12), rgba(30,20,30,0) 35%, rgba(30,20,30,.5) 100%); }
.og-paskalya .og-on { background-image: url("../images/ozelgun/paskalya-on.webp"); width: 56%; right: -4%; bottom: -4%; }

/* ── Tebrik mesajı (hap rozet yerine): başlıksız temalarda sol altta serif blok; başlıklı temalarda .og-baslik .og-alt ── */
.og-mesaj { position: absolute; z-index: 3; left: 3.5rem; right: 3.5rem; bottom: 6.5rem; white-space: nowrap;   /* tebrik TEK satır (kullanıcı 31.10); sığmazsa JS mesajSigdir yazıyı küçültür */ color: #fff; font: 500 1.08rem/1.45 Georgia, 'Times New Roman', serif; letter-spacing: .01em; text-shadow: 0 2px 18px rgba(0,0,0,.6), 0 0 2px rgba(0,0,0,.4); pointer-events: none; }
.og-mesaj::before { content: ''; display: block; width: 54px; height: 2px; margin-bottom: .55rem; border-radius: 2px; background: linear-gradient(90deg, rgba(255,255,255,.95), rgba(255,255,255,0)); }
.og-mesaj .og-geri-sayim { display: block; margin-top: .35rem; font: 800 1.6rem/1 system-ui, sans-serif; letter-spacing: .04em; color: #ffe8a3; }
.og-ramazan .og-mesaj::before, .og-ramazan-bayrami .og-mesaj::before, .og-kurban-bayrami .og-mesaj::before, .og-yilbasi .og-mesaj::before { background: linear-gradient(90deg, #ffd166, rgba(255,209,102,0)); }
.og-halloween .og-mesaj::before { background: linear-gradient(90deg, #fb923c, rgba(251,146,60,0)); }
.og-paskalya .og-mesaj::before { background: linear-gradient(90deg, #f9a8d4, rgba(249,168,212,0)); }
.og-noel .og-mesaj::before { background: linear-gradient(90deg, #fca5a5, rgba(252,165,165,0)); }
.og-baslik .og-alt { display: block; font: 500 .95rem/1.45 Georgia, 'Times New Roman', serif; color: rgba(255,255,255,.92); margin-top: .85rem; white-space: nowrap; margin-left: auto; text-shadow: 0 2px 14px rgba(0,0,0,.55); }
.auth-brand:not(.og-koyu):not(:has(.og-katman)) .og-mesaj { color: #0f172a; text-shadow: none; }

/* ── Gerçekçi kızak (images/ozelgun/kizak.webp, saydam): sol dışarıdan girer, sağa süzülür; iniş-çıkış + hafif yatış; arkasında ışıltı izi ── */
/* Kızak tüm ekranı kat eder (sol panelde kesilip kaybolmasın — kullanıcı 31.10): fixed konum, panel dışına taşar, form üstünden tıklanamaz geçer */
.og-kizak-g { position: fixed; z-index: 40; top: 6%; left: -620px; width: 560px; height: 202px; filter: drop-shadow(0 18px 26px rgba(0,0,0,.5)); animation: og-kizak-g-yol 44s linear infinite; will-change: transform; pointer-events: none; }
/* dört nala: 4 kare (kizak-k1..k4.webp, aynı kırpma 1024×370) sırayla; gövde hafif iniş-çıkış */
.og-kizak-kare { position: absolute; inset: 0; background: no-repeat center / 100% 100%; opacity: 0; animation: og-kare .56s steps(1, end) infinite, og-govde-sal 1.1s ease-in-out infinite alternate; }
.og-kizak-kare-1 { background-image: url("../images/ozelgun/kizak-k1.webp"); animation-delay: 0s, 0s; }
.og-kizak-kare-2 { background-image: url("../images/ozelgun/kizak-k2.webp"); animation-delay: -.14s, 0s; }
.og-kizak-kare-3 { background-image: url("../images/ozelgun/kizak-k3.webp"); animation-delay: -.28s, 0s; }
.og-kizak-kare-4 { background-image: url("../images/ozelgun/kizak-k4.webp"); animation-delay: -.42s, 0s; }
@keyframes og-kare { 0%, 24.99% { opacity: 1; } 25%, 100% { opacity: 0; } }
@keyframes og-govde-sal { from { transform: translateY(0); } to { transform: translateY(-3px); } }
@keyframes og-kizak-g-yol { 0% { transform: translate(0, 90px) scale(.72) rotate(-3deg); opacity: 0; } 4% { opacity: 1; } 28% { transform: translate(calc((100vw + 660px) * .28), 0) scale(.82) rotate(-6deg); } 55% { transform: translate(calc((100vw + 660px) * .55), 56px) scale(.94) rotate(2deg); } 80% { transform: translate(calc((100vw + 660px) * .8), 10px) scale(1.02) rotate(-4deg); } 96% { opacity: 1; } 100% { transform: translate(calc(100vw + 660px), 120px) scale(1.08) rotate(-2deg); opacity: 0; } }
.og-kizak-iz { position: absolute; right: 78%; top: 52%; width: 70%; height: 26%; pointer-events: none; background: radial-gradient(ellipse at 100% 50%, rgba(255,230,150,.55), rgba(255,210,110,.25) 35%, transparent 70%); filter: blur(10px); mix-blend-mode: screen; animation: og-iz 1.2s ease-in-out infinite alternate; }
@keyframes og-iz { from { opacity: .55; transform: scaleX(1); } to { opacity: .9; transform: scaleX(1.12); } }
.og-noel .og-kizak-g { top: 3%; width: 480px; height: 173px; animation-duration: 48s; }

/* ── Özellik şeridi tema açıkken daha sakin akar ve temanın rengini alır (kullanıcı 31.10: "çok hızlı akıyor") ── */
.auth-brand:is(.og-koyu, :has(.og-katman)) .brand-ticker-track { animation-duration: 150s; }
.auth-brand:is(.og-koyu, :has(.og-katman)) .tick-item { border-width: 1px; border-style: solid; transition: border-color .4s, background .4s; }
.auth-brand:is(.og-tema-yilbasi, :has(.og-katman.og-yilbasi)) .tick-item, .auth-brand:is(.og-tema-noel, :has(.og-katman.og-noel)) .tick-item { background: rgba(20,30,70,.38); border-color: rgba(255,255,255,.22); }
.auth-brand:is(.og-tema-cumhuriyet, :has(.og-katman.og-cumhuriyet)) .tick-item, .auth-brand:is(.og-tema-30agustos, :has(.og-katman.og-30agustos)) .tick-item { background: rgba(60,10,16,.42); border-color: rgba(255,214,120,.28); }
.auth-brand:is(.og-tema-canakkale, :has(.og-katman.og-canakkale)) .tick-item { background: rgba(20,14,30,.46); border-color: rgba(226,232,240,.2); }
.auth-brand:is(.og-tema-ataturk-anma, :has(.og-katman.og-ataturk-anma)) .tick-item { background: rgba(10,12,20,.5); border-color: rgba(226,232,240,.18); }
.auth-brand:is(.og-tema-halloween, :has(.og-katman.og-halloween)) .tick-item { background: rgba(40,14,60,.46); border-color: rgba(251,146,60,.3); }
.auth-brand:is(.og-tema-ramazan, :has(.og-katman.og-ramazan)) .tick-item, .auth-brand:is(.og-tema-ramazan-bayrami, :has(.og-katman.og-ramazan-bayrami)) .tick-item, .auth-brand:is(.og-tema-kurban-bayrami, :has(.og-katman.og-kurban-bayrami)) .tick-item { background: rgba(10,22,60,.46); border-color: rgba(255,209,102,.3); }
.auth-brand:is(.og-tema-dis-hekimleri, :has(.og-katman.og-dis-hekimleri)) .tick-item { background: rgba(4,40,50,.46); border-color: rgba(45,212,191,.32); }
.auth-brand:is(.og-tema-paskalya, :has(.og-katman.og-paskalya)) .tick-item { background: rgba(60,30,50,.4); border-color: rgba(249,168,212,.32); }
.auth-brand:is(.og-koyu, :has(.og-katman)) .tick-item svg { opacity: .85; }

/* ── 30 Ağustos: sahnedeki boyalı bayrak dalgalanır (og-nokta-dalga: aynı görselin bayrak bölgesi, displacement + yumuşak maske) ── */
.og-nokta-dalga { filter: url(#og-dalga-sahne); -webkit-mask: radial-gradient(ellipse at 52% 50%, #000 46%, transparent 74%); mask: radial-gradient(ellipse at 52% 50%, #000 46%, transparent 74%); }
.og-nokta-dalga.og-hafif { filter: url(#og-dalga-on); -webkit-mask: radial-gradient(ellipse at 50% 55%, #000 40%, transparent 72%); mask: radial-gradient(ellipse at 50% 55%, #000 40%, transparent 72%); }   /* kumaş: daha hafif dalga (giysi/etek) */

/* ── Ses düğmesi (gizle düğmesinin solunda) ── */
.og-ses { position: absolute; z-index: 3; bottom: 1rem; right: 1rem; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(10,14,30,.35); color: rgba(255,255,255,.85); cursor: pointer; pointer-events: auto; backdrop-filter: blur(6px); transition: background .2s, color .2s; }
.og-ses:hover { background: rgba(255,255,255,.92); color: #0f172a; }
.og-ses.og-ses-acik { border-color: rgba(255,214,120,.6); color: #ffe8a3; }
.auth-brand:not(.og-koyu):not(:has(.og-katman)) .og-ses { border-color: rgba(15,23,42,.18); background: rgba(255,255,255,.65); color: #334155; }
/* ── Sevgililer / Anneler / Öğretmenler / Kadınlar Günü sahneleri ── */
.og-sevgililer .og-foto { background-image: url("../images/ozelgun/sevgililer.webp"); background-position: 50% 25%; }   /* yağmurda kırmızı şemsiyeli çift, neon şehir (kullanıcı referansı 31.10) */
.og-sevgililer .og-grade { background: linear-gradient(90deg, rgba(40,6,18,.78) 0%, rgba(40,6,18,.5) 40%, rgba(40,6,18,.1) 72%, rgba(40,6,18,0) 100%), linear-gradient(180deg, rgba(40,6,18,.2), rgba(40,6,18,0) 35%, rgba(40,6,18,.65) 100%); }
.og-sevgililer .og-mesaj::before { background: linear-gradient(90deg, #ff758f, rgba(255,117,143,0)); }
.og-anneler-gunu .og-foto { background-image: url("../images/ozelgun/anneler-gunu.webp"); background-position: 50% 12%; }   /* anne daha aşağıda (kullanıcı 31.10) */
.og-anneler-gunu .og-grade { background: linear-gradient(90deg, rgba(50,30,40,.7) 0%, rgba(50,30,40,.42) 40%, rgba(50,30,40,.06) 72%, rgba(50,30,40,0) 100%), linear-gradient(180deg, rgba(50,30,40,.12), rgba(50,30,40,0) 35%, rgba(50,30,40,.5) 100%); }
.og-anneler-gunu .og-on { background-image: url("../images/ozelgun/anneler-gunu-on.webp"); width: 46%; right: -2%; bottom: -2%; }
.og-anneler-gunu .og-mesaj::before { background: linear-gradient(90deg, #f9a8d4, rgba(249,168,212,0)); }
.og-ogretmenler-gunu .og-foto { background-image: url("../images/ozelgun/ogretmenler-gunu.webp"); background-position: 50% 50%; }   /* insansız sınıf */
.og-ogretmenler-gunu .og-grade { background: linear-gradient(90deg, rgba(40,26,10,.78) 0%, rgba(40,26,10,.5) 40%, rgba(40,26,10,.1) 72%, rgba(40,26,10,0) 100%), linear-gradient(180deg, rgba(40,26,10,.2), rgba(40,26,10,0) 35%, rgba(40,26,10,.62) 100%); }
.og-ogretmenler-gunu .og-on { background-image: url("../images/ozelgun/ogretmenler-gunu-on.webp"); width: 66%; right: 18%; bottom: -16%; aspect-ratio: 1000 / 1600; background-position: center bottom; filter: drop-shadow(0 24px 40px rgba(0,0,0,.45)); transform-origin: 50% 100%; animation: og-aile-nese 4.6s ease-in-out infinite; }   /* saydam öğretmen + öğrenciler, bacaklar panel altında, hafif salınım */
.og-ogretmenler-gunu .og-baslik .og-gun, .og-ogretmenler-gunu .og-baslik .og-ayad { background: linear-gradient(180deg, #fff6e0 0%, #f2c76a 45%, #b8862b 70%, #ffe6ad 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-kadinlar-gunu .og-foto { background-image: url("../images/ozelgun/kadinlar-gunu.webp"); background-position: 50% 45%; }
.og-kadinlar-gunu .og-grade { background: linear-gradient(90deg, rgba(40,16,60,.78) 0%, rgba(40,16,60,.5) 40%, rgba(40,16,60,.1) 72%, rgba(40,16,60,0) 100%), linear-gradient(180deg, rgba(40,16,60,.2), rgba(40,16,60,0) 35%, rgba(40,16,60,.62) 100%); }
.og-kadinlar-gunu .og-on { background-image: url("../images/ozelgun/kadinlar-gunu-on.webp"); width: 42%; right: 0; bottom: 24%; }
.og-kadinlar-gunu .og-baslik .og-gun, .og-kadinlar-gunu .og-baslik .og-ayad { background: linear-gradient(180deg, #fdf4ff 0%, #d8b4fe 45%, #9333ea 70%, #f3e8ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-kadinlar-gunu .og-baslik .og-ust { color: #e9d5ff; }
.auth-brand:is(.og-tema-sevgililer, :has(.og-katman.og-sevgililer)) .tick-item { background: rgba(70,10,30,.42); border-color: rgba(255,117,143,.32); }
.auth-brand:is(.og-tema-anneler-gunu, :has(.og-katman.og-anneler-gunu)) .tick-item { background: rgba(70,40,55,.38); border-color: rgba(249,168,212,.32); }
.auth-brand:is(.og-tema-ogretmenler-gunu, :has(.og-katman.og-ogretmenler-gunu)) .tick-item { background: rgba(60,40,16,.42); border-color: rgba(242,199,106,.3); }
.auth-brand:is(.og-tema-kadinlar-gunu, :has(.og-katman.og-kadinlar-gunu)) .tick-item { background: rgba(60,24,90,.42); border-color: rgba(216,180,254,.32); }

/* ── 23 Nisan / Babalar Günü / 15 Temmuz ── */
.og-23nisan .og-foto { background-image: url("../images/ozelgun/23nisan.webp"); background-position: 50% 40%; }
.og-23nisan .og-grade { background: linear-gradient(90deg, rgba(10,20,50,.72) 0%, rgba(10,20,50,.45) 40%, rgba(10,20,50,.08) 72%, rgba(10,20,50,0) 100%), linear-gradient(180deg, rgba(10,20,50,.15), rgba(10,20,50,0) 35%, rgba(10,20,50,.55) 100%); }
.og-23nisan .og-on { background-image: url("../images/ozelgun/23nisan-on.webp"); width: 44%; right: 0; bottom: 26%; animation: og-yuz 5s ease-in-out infinite alternate; }
.og-23nisan .og-baslik .og-gun, .og-23nisan .og-baslik .og-ayad { background: linear-gradient(180deg, #ffffff 0%, #ffd166 45%, #ef476f 75%, #fff3b8 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-babalar-gunu .og-foto { background-image: url("../images/ozelgun/babalar-gunu.webp"); background-position: 50% 45%; }   /* insansız çayır */
.og-babalar-gunu .og-grade { background: linear-gradient(90deg, rgba(20,24,30,.78) 0%, rgba(20,24,30,.5) 40%, rgba(20,24,30,.1) 72%, rgba(20,24,30,0) 100%), linear-gradient(180deg, rgba(20,24,30,.2), rgba(20,24,30,0) 35%, rgba(20,24,30,.62) 100%); }
.og-babalar-gunu .og-on { background-image: url("../images/ozelgun/babalar-gunu-on.webp"); width: 64%; right: 8%; bottom: -36%; aspect-ratio: 1000 / 1664; background-position: center bottom; filter: drop-shadow(0 24px 40px rgba(0,0,0,.45)); transform-origin: 50% 100%; animation: og-aile-nese 4.2s ease-in-out infinite; }   /* biraz solda, yavaş salınım; bacaklar panel altında; pozlar .og-on-kare ile değişir */
.og-on-kare { position: absolute; inset: 0; background-size: contain; background-repeat: no-repeat; background-position: center bottom; opacity: 0; animation: og-on-kare-3 18s linear infinite; }   /* keyframes JS'te n'e göre üretilir (og-on-kare-<n>): kareler ardışık, üst üste binmez */   /* gülen aile saydam figür: hafif zıplama + yatış (kullanıcı: mutlu ve hareketli) */
.og-babalar-gunu .og-mesaj::before { background: linear-gradient(90deg, #f2c76a, rgba(242,199,106,0)); }
.og-15temmuz .og-foto { background-image: url("../images/ozelgun/15temmuz.webp"); background-position: 50% 40%; filter: saturate(.85); }
.og-15temmuz .og-grade { background: linear-gradient(90deg, rgba(6,10,30,.82) 0%, rgba(6,10,30,.55) 40%, rgba(6,10,30,.15) 72%, rgba(6,10,30,.05) 100%), linear-gradient(180deg, rgba(6,10,30,.3), rgba(6,10,30,0) 35%, rgba(6,10,30,.75) 100%); }
.og-15temmuz .og-on { background-image: url("../images/ozelgun/15temmuz-on.webp"); width: 30%; right: 5%; bottom: 36%; transform-origin: 12% 100%; filter: url(#og-dalga-on) saturate(.9) drop-shadow(0 20px 36px rgba(0,0,0,.55)); animation: og-bayrak-sal 7s ease-in-out infinite; }
.og-15temmuz .og-baslik .og-gun, .og-15temmuz .og-baslik .og-ayad { background: linear-gradient(180deg, #ffffff 0%, #d9dee8 45%, #9aa3b5 70%, #f1f4f9 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-15temmuz .og-baslik .og-ust { color: #e2e8f0; letter-spacing: .2em; }
.og-15temmuz .og-foto { animation-duration: 70s; }
.auth-brand:is(.og-tema-23nisan, :has(.og-katman.og-23nisan)) .tick-item { background: rgba(20,30,70,.4); border-color: rgba(255,209,102,.35); }
.auth-brand:is(.og-tema-babalar-gunu, :has(.og-katman.og-babalar-gunu)) .tick-item { background: rgba(30,34,40,.44); border-color: rgba(242,199,106,.28); }
.auth-brand:is(.og-tema-15temmuz, :has(.og-katman.og-15temmuz)) .tick-item { background: rgba(10,14,34,.5); border-color: rgba(226,232,240,.2); }

/* ── Gerçekçi yarasalar (images/ozelgun/yarasa.webp): fixed, tüm ekranı kat eder; kanatlar iki yarım, 3B çırpma ── */
.og-yarasa-g { position: fixed; z-index: 40; top: 12%; right: -220px; width: 110px; height: 64px; pointer-events: none; filter: drop-shadow(0 14px 18px rgba(0,0,0,.5)); animation: og-yarasa-g-yol 30s linear infinite; will-change: transform; perspective: 400px; }
.og-kanat { position: absolute; inset: 0; background: url("../images/ozelgun/yarasa.webp") no-repeat center / 100% 100%; backface-visibility: hidden; }
.og-kanat-sol { clip-path: inset(0 50% 0 0); transform-origin: 50% 50%; animation: og-kanat-sol .42s ease-in-out infinite alternate; }
.og-kanat-sag { clip-path: inset(0 0 0 50%); transform-origin: 50% 50%; animation: og-kanat-sag .42s ease-in-out infinite alternate; }
@keyframes og-kanat-sol { from { transform: rotateY(38deg); } to { transform: rotateY(-22deg); } }
@keyframes og-kanat-sag { from { transform: rotateY(-38deg); } to { transform: rotateY(22deg); } }
.og-yarasa-g-1 { top: 8%; width: 118px; height: 68px; animation-duration: 38s; }
.og-yarasa-g-2 { top: 22%; width: 84px; height: 48px; animation-duration: 50s; animation-delay: -14s; opacity: .9; }
.og-yarasa-g-2 .og-kanat { animation-duration: .36s; }
.og-yarasa-g-3 { top: 35%; width: 60px; height: 35px; animation-duration: 62s; animation-delay: -31s; opacity: .8; }
.og-yarasa-g-3 .og-kanat { animation-duration: .3s; }
.og-yarasa-g-4 { display: none; top: 15%; width: 42px; height: 24px; animation-duration: 74s; animation-delay: -50s; opacity: .7; }
.og-yarasa-g-4 .og-kanat { animation-duration: .26s; }
@keyframes og-yarasa-g-yol { 0% { transform: translate(0, 0) rotate(-6deg); } 20% { transform: translate(calc((-100vw - 440px) * .2), -60px) rotate(4deg); } 45% { transform: translate(calc((-100vw - 440px) * .45), 30px) rotate(-8deg); } 70% { transform: translate(calc((-100vw - 440px) * .7), -40px) rotate(6deg); } 100% { transform: translate(calc(-100vw - 440px), 20px) rotate(-4deg); } }
/* ── Ramazan Bayramı / Kurban Bayramı ayrı sahneler ── */
.og-ramazan-bayrami .og-foto { background-image: url("../images/ozelgun/ramazan-bayrami.webp"); background-position: 50% 45%; }
.og-ramazan-bayrami .og-grade { background: linear-gradient(90deg, rgba(30,20,10,.72) 0%, rgba(30,20,10,.45) 40%, rgba(30,20,10,.08) 72%, rgba(30,20,10,0) 100%), linear-gradient(180deg, rgba(30,20,10,.15), rgba(30,20,10,0) 35%, rgba(30,20,10,.6) 100%); }
.og-ramazan-bayrami .og-on { background-image: url("../images/ozelgun/ramazan-bayrami-on.webp"); width: 46%; right: -2%; bottom: -2%; top: auto; background-position: right bottom; }
.og-kurban-bayrami .og-foto { background-image: url("../images/ozelgun/kurban-bayrami.webp"); background-position: 50% 50%; }   /* bayram sabahı: kapı önü bayram sofrası (kullanıcı 31.10: daha farklı) */
.og-kurban-bayrami .og-grade { background: linear-gradient(90deg, rgba(40,24,10,.76) 0%, rgba(40,24,10,.48) 40%, rgba(40,24,10,.08) 72%, rgba(40,24,10,0) 100%), linear-gradient(180deg, rgba(40,24,10,.15), rgba(40,24,10,0) 35%, rgba(40,24,10,.6) 100%); }
.og-kurban-bayrami .og-on { background-image: url("../images/ozelgun/kurban-bayrami-on.webp"); width: 46%; right: -2%; bottom: -2%; top: auto; background-position: right bottom; filter: drop-shadow(0 18px 34px rgba(0,0,0,.45)); }
.og-gizle { display: none; }

/* ── Balkabağı gözleri: çoğunlukla sönük, ara sıra parlayıp ışık fışkırtır (büyüklük --og-b) ── */
.og-nokta-goz { width: calc(26px * var(--og-b, 1)); height: calc(26px * var(--og-b, 1)); margin: calc(-13px * var(--og-b, 1)) 0 0 calc(-13px * var(--og-b, 1)); border-radius: 50%; pointer-events: none; background: radial-gradient(circle, rgba(255,250,200,.95) 0%, rgba(255,190,60,.8) 30%, rgba(255,120,0,0) 70%); mix-blend-mode: screen; filter: blur(1px); opacity: .15; animation: og-goz-isik 7.5s ease-in-out infinite; }
.og-nokta-goz::after { content: ''; position: absolute; inset: -140%; border-radius: 50%; background: radial-gradient(circle, rgba(255,170,40,.5) 0%, rgba(255,120,0,0) 60%); opacity: 0; animation: og-goz-hale 7.5s ease-in-out infinite; }
@keyframes og-goz-isik { 0%, 64% { opacity: .15; transform: scale(1); } 68% { opacity: 1; transform: scale(1.6); } 72% { opacity: .35; transform: scale(1.1); } 76% { opacity: 1; transform: scale(1.9); } 82% { opacity: .2; transform: scale(1); } 100% { opacity: .15; } }
@keyframes og-goz-hale { 0%, 64% { opacity: 0; } 70% { opacity: .9; } 80% { opacity: 0; } 100% { opacity: 0; } }
/* ── Cadı (images/ozelgun/cadi-k1..k3 + cadi-bak.webp, sola bakar): fixed, sağdan sola tüm ekran; kızak gibi iniş-çıkış ve yatış; süpürge ucunda ışıltı izi ── */
.og-cadi-g { position: fixed; z-index: 41; top: 9%; right: -400px; width: 300px; height: 277px; pointer-events: none; filter: drop-shadow(0 18px 26px rgba(0,0,0,.55)); animation: og-cadi-yol 52s linear infinite; will-change: transform; }
/* pelerin: aynı kadrajda 3 kare (images/edits, pelerin maskesi) çapraz solmayla dalgalanır; bak: baş ara sıra izleyiciye döner (16 sn'de ~2 sn) */
.og-cadi-pel, .og-cadi-k { position: absolute; inset: 0; background: no-repeat center / contain; }
.og-cadi-k1 { background-image: url("../images/ozelgun/cadi-k1.webp"); animation: og-cadi-pelerin 12s ease-in-out infinite; }
.og-cadi-k2 { background-image: url("../images/ozelgun/cadi-k2.webp"); display: none; }   /* yüksek dalga karesi: kullanıcı 31.10 "pelerin çok hareketli" → kapalı, dosya duruyor */
.og-cadi-k3 { background-image: url("../images/ozelgun/cadi-k3.webp"); animation: og-cadi-pelerin 12s ease-in-out infinite -6s; }
@keyframes og-cadi-pelerin { 0%, 38% { opacity: 1; } 50%, 88% { opacity: 0; } 100% { opacity: 1; } }   /* k1 ↔ k3 yavaş çapraz solma (12 sn), hafif pelerin salınımı */
.og-cadi-pel { animation: og-cadi-pel-gizle 16s ease-in-out infinite; }
.og-cadi-bak { background-image: url("../images/ozelgun/cadi-bak.webp"); opacity: 0; animation: og-cadi-bak-goster 16s ease-in-out infinite; }
@keyframes og-cadi-pel-gizle { 0%, 60% { opacity: 1; } 64%, 76% { opacity: 0; } 80%, 100% { opacity: 1; } }
@keyframes og-cadi-bak-goster { 0%, 60% { opacity: 0; } 64%, 76% { opacity: 1; } 80%, 100% { opacity: 0; } }
@keyframes og-cadi-yol { 0% { transform: translate(0, 60px) scale(.7) rotate(4deg); opacity: 0; } 4% { opacity: 1; } 30% { transform: translate(calc((-100vw - 440px) * .3), -20px) scale(.82) rotate(-3deg); } 55% { transform: translate(calc((-100vw - 440px) * .55), 50px) scale(.95) rotate(5deg); } 80% { transform: translate(calc((-100vw - 440px) * .8), 0) scale(1.02) rotate(-2deg); } 96% { opacity: 1; } 100% { transform: translate(calc(-100vw - 440px), 70px) scale(1.06) rotate(3deg); opacity: 0; } }
.og-cadi-iz { position: absolute; left: 70%; top: 58%; width: 70%; height: 22%; pointer-events: none; background: radial-gradient(ellipse at 0% 50%, rgba(170,200,255,.55), rgba(140,170,255,.25) 35%, transparent 70%); filter: blur(10px); mix-blend-mode: screen; animation: og-iz 1.4s ease-in-out infinite alternate; }

/* ── Sol sahne ↔ sağ form geçişi: sahnenin sağ kenarı tüy gibi solar; form tarafı temanın tonuyla başlar ve sahnenin bulanık yansımasını alır ── */
.og-katman::after { content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 18%; pointer-events: none; z-index: 2; background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.06) 55%, rgba(0,0,0,.16) 100%); }   /* sol sayfanın sırta doğru gölgelenmesi (kitap kıvrımı) */
.auth-root:is(.og-aktif, :has(.og-katman)) .auth-form-side { background: linear-gradient(90deg, color-mix(in srgb, var(--og-ton, #334155) 14%, #fff) 0%, #fff 42%); box-shadow: none; }
.auth-root:is(.og-aktif, :has(.og-katman)) .auth-form-side::after { content: ''; position: absolute; inset: -40px; pointer-events: none; z-index: 0; background: var(--og-foto, none) center / cover no-repeat; filter: blur(46px) saturate(1.15); opacity: .26; -webkit-mask: linear-gradient(90deg, #000 0%, rgba(0,0,0,.6) 30%, transparent 62%); mask: linear-gradient(90deg, #000 0%, rgba(0,0,0,.6) 30%, transparent 62%); }
.auth-root:is(.og-aktif, :has(.og-katman)) .auth-form-card { position: relative; z-index: 1; }
/* "Robot değilim" kutusu tema tonuna uyar (kullanıcı 31.10: yeşil kutu temayla uyumsuzdu) */
.auth-root:is(.og-aktif, :has(.og-katman)) .human-verify { background: color-mix(in srgb, var(--og-ton, #334155) 6%, #fff); border-color: color-mix(in srgb, var(--og-ton, #334155) 22%, #fff); }
.auth-root:is(.og-aktif, :has(.og-katman)) .human-verify.is-ok { background: color-mix(in srgb, var(--og-ton, #334155) 8%, #fff); border-color: color-mix(in srgb, var(--og-ton, #334155) 40%, #fff); box-shadow: 0 0 0 3px rgba(34,197,94,.14); }   /* kutu tema tonunda, onay işaretleri yeşil (sol şerit kaldırıldı, kullanıcı 31.10) */
.auth-root:is(.og-aktif, :has(.og-katman)) .human-verify.is-ok .hv-box { border-color: #22c55e; background: #f0fdf4; }   /* onay yeşil kalır (kullanıcı 31.10) */
.auth-root:is(.og-aktif, :has(.og-katman)) .human-verify .hv-check, .auth-root:is(.og-aktif, :has(.og-katman)) .human-verify.is-ok .hv-sub { color: #16a34a; }
.auth-root:is(.og-aktif, :has(.og-katman)) .human-verify.is-ok .hv-badge { color: #22c55e; }
.auth-root:is(.og-aktif, :has(.og-katman)) .hv-box:hover:not(:disabled) { border-color: var(--og-ton, #334155); background: color-mix(in srgb, var(--og-ton, #334155) 8%, #fff); }

/* ── Açık kitap görünümü: ortada sırt (gutter) gölgesi + ince sayfa kenarı ışığı; sağ sayfa sırt tarafında içe gölgeli ── */
.auth-root:is(.og-aktif, :has(.og-katman)) { position: relative; }
.auth-root:is(.og-aktif, :has(.og-katman))::before { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 320px; margin-left: -160px; z-index: 6; pointer-events: none; background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.05) 32%, rgba(0,0,0,.14) 47%, rgba(0,0,0,.18) 50%, rgba(0,0,0,.10) 54%, rgba(0,0,0,.03) 70%, rgba(0,0,0,0) 100%); }   /* kitap sırtı: geniş ve yumuşak, sert çizgi yok */
.auth-root:is(.og-aktif, :has(.og-katman)) .auth-form-side { box-shadow: inset 90px 0 120px -80px rgba(0,0,0,.12); }
.auth-root:is(.og-aktif, :has(.og-katman)) .auth-form-side::after { -webkit-mask: linear-gradient(90deg, #000 0%, rgba(0,0,0,.5) 35%, transparent 60%); mask: linear-gradient(90deg, #000 0%, rgba(0,0,0,.5) 35%, transparent 60%); opacity: .2; }
/* ses engellendi, ilk etkileşimi bekliyor → hoparlör yumuşak nabız */
.og-ses.og-ses-bekliyor { animation: og-ses-nabiz 1.6s ease-in-out infinite; }
@keyframes og-ses-nabiz { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,214,120,.0); } 50% { box-shadow: 0 0 0 8px rgba(255,214,120,.35); } }
/* ── Dünya Gülümseme Günü (Ekim ilk Cuma): ayçiçeği tarlası + sarı balon buketi ── */
.og-dunya-gulumseme .og-foto { background-image: url("../images/ozelgun/dunya-gulumseme.webp"); background-position: 50% 40%; }
.og-dunya-gulumseme .og-grade { background: linear-gradient(90deg, rgba(40,30,8,.72) 0%, rgba(40,30,8,.44) 40%, rgba(40,30,8,.08) 72%, rgba(40,30,8,0) 100%), linear-gradient(180deg, rgba(40,30,8,.15), rgba(40,30,8,0) 35%, rgba(40,30,8,.55) 100%); }
.og-dunya-gulumseme .og-on { background-image: url("../images/ozelgun/dunya-gulumseme-on.webp"); width: 40%; right: 2%; bottom: -2%; animation: og-yuz 7s ease-in-out infinite alternate; }
.og-dunya-gulumseme .og-mesaj::before { background: linear-gradient(90deg, #ffd60a, rgba(255,214,10,0)); }
/* ── 20 Mart Dünya Ağız ve Diş Sağlığı Günü: nane + su damlası diş ── */
.og-agiz-dis-sagligi .og-foto { background-image: url("../images/ozelgun/agiz-dis-sagligi.webp"); background-position: 50% 45%; }
.og-agiz-dis-sagligi .og-grade { background: linear-gradient(90deg, rgba(4,30,40,.76) 0%, rgba(4,30,40,.5) 40%, rgba(4,30,40,.1) 72%, rgba(4,30,40,0) 100%), linear-gradient(180deg, rgba(4,30,40,.18), rgba(4,30,40,0) 35%, rgba(4,30,40,.58) 100%); }
.og-agiz-dis-sagligi .og-on { background-image: url("../images/ozelgun/agiz-dis-sagligi-on.webp"); width: 36%; right: 3%; bottom: 36%; filter: drop-shadow(0 20px 40px rgba(0,0,0,.4)) drop-shadow(0 0 30px rgba(165,243,252,.35)); animation: og-yuz 6s ease-in-out infinite alternate; }
.og-agiz-dis-sagligi .og-baslik .og-gun, .og-agiz-dis-sagligi .og-baslik .og-ayad { background: linear-gradient(180deg, #ffffff 0%, #a5f3fc 45%, #06b6d4 70%, #ecfeff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-agiz-dis-sagligi .og-baslik .og-ust { color: #cffafe; }
/* ── 14 Mart Tıp Bayramı: eski hekim masası, pirinç steteskop ── */
.og-tip-bayrami .og-foto { background-image: url("../images/ozelgun/tip-bayrami.webp"); background-position: 50% 50%; }
.og-tip-bayrami .og-grade { background: linear-gradient(90deg, rgba(20,22,14,.78) 0%, rgba(20,22,14,.5) 40%, rgba(20,22,14,.1) 72%, rgba(20,22,14,0) 100%), linear-gradient(180deg, rgba(20,22,14,.2), rgba(20,22,14,0) 35%, rgba(20,22,14,.62) 100%); }
.og-tip-bayrami .og-on { background-image: url("../images/ozelgun/tip-bayrami-on.webp"); width: 36%; right: 30%; bottom: -3%; filter: drop-shadow(0 18px 36px rgba(0,0,0,.5)); }
.og-tip-bayrami .og-baslik .og-gun, .og-tip-bayrami .og-baslik .og-ayad { background: linear-gradient(180deg, #fffbe8 0%, #f1dca8 45%, #b8860b 70%, #fff4d6 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-tip-bayrami .og-baslik .og-ust { color: #f5e6c4; }
.og-tip-bayrami .og-baslik .og-yilrozet { border-color: rgba(241,220,168,.55); }
/* ── 19 Mayıs: Samsun şafağı, Bandırma Vapuru, meşaleli gençler; ön plan bayrak dalgalanır ── */
.og-19mayis .og-foto { background-image: url("../images/ozelgun/19mayis.webp"); background-position: 50% 45%; }
.og-19mayis .og-grade { background: linear-gradient(90deg, rgba(30,8,10,.78) 0%, rgba(30,8,10,.5) 40%, rgba(30,8,10,.12) 72%, rgba(30,8,10,0) 100%), linear-gradient(180deg, rgba(30,8,10,.2), rgba(30,8,10,0) 35%, rgba(30,8,10,.62) 100%); }
.og-19mayis .og-on { background-image: url("../images/ozelgun/19mayis-on.webp"); width: 34%; right: 4%; bottom: 26%; transform-origin: 10% 100%; filter: url(#og-dalga-on) drop-shadow(0 20px 36px rgba(0,0,0,.55)); animation: og-bayrak-sal 7s ease-in-out infinite; }
.og-19mayis .og-baslik .og-gun, .og-19mayis .og-baslik .og-ayad { background: linear-gradient(180deg, #ffffff 0%, #fecaca 45%, #dc2626 70%, #fff1f2 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-19mayis .og-baslik .og-ust { color: #fee2e2; letter-spacing: .14em; }
.og-19mayis .og-foto { animation-duration: 70s; }
/* ── 21 Mart Nevruz: gün batımı ateş + lale çayırı ── */
.og-nevruz .og-foto { background-image: url("../images/ozelgun/nevruz.webp"); background-position: 50% 50%; }
.og-nevruz .og-grade { background: linear-gradient(90deg, rgba(40,18,8,.74) 0%, rgba(40,18,8,.46) 40%, rgba(40,18,8,.08) 72%, rgba(40,18,8,0) 100%), linear-gradient(180deg, rgba(40,18,8,.15), rgba(40,18,8,0) 35%, rgba(40,18,8,.58) 100%); }
.og-nevruz .og-on { background-image: url("../images/ozelgun/nevruz-on.webp"); width: 50%; right: -4%; bottom: -4%; }
.og-nevruz .og-mesaj::before { background: linear-gradient(90deg, #fb923c, rgba(251,146,60,0)); }
/* ── 6 Mayıs Hıdırellez: dilek kâğıtlı gül bahçesi ── */
.og-hidirellez .og-foto { background-image: url("../images/ozelgun/hidirellez.webp"); background-position: 50% 45%; }
.og-hidirellez .og-grade { background: linear-gradient(90deg, rgba(20,8,26,.76) 0%, rgba(20,8,26,.48) 40%, rgba(20,8,26,.08) 72%, rgba(20,8,26,0) 100%), linear-gradient(180deg, rgba(20,8,26,.18), rgba(20,8,26,0) 35%, rgba(20,8,26,.6) 100%); }
.og-hidirellez .og-on { background-image: url("../images/ozelgun/hidirellez-on.webp"); width: 52%; right: -3%; bottom: -2%; animation: og-yuz 8s ease-in-out infinite alternate; }
.og-hidirellez .og-mesaj::before { background: linear-gradient(90deg, #f9a8d4, rgba(249,168,212,0)); }
/* Mobil/dar ekran: tema yalnız masaüstü web (JS masaustuMu da kurmaz; bu CSS güvenlik ağı) */
@media (max-width: 860px) { .og-katman, .og-canvas, .og-kizak-g, .og-cadi-g, .og-yarasa-g, .og-ses, .auth-root:is(.og-aktif, :has(.og-katman))::before { display: none !important; } }
/* ── Kadir Gecesi: mum denizi, rahle ve Kur'an ön planı ── */
.og-kadir-gecesi .og-foto { background-image: url("../images/ozelgun/kadir-gecesi.webp"); background-position: 50% 45%; }
.og-kadir-gecesi .og-grade { background: linear-gradient(90deg, rgba(8,10,34,.8) 0%, rgba(8,10,34,.55) 40%, rgba(8,10,34,.15) 72%, rgba(8,10,34,.05) 100%), linear-gradient(180deg, rgba(8,10,34,.25), rgba(8,10,34,0) 35%, rgba(8,10,34,.7) 100%); }
.og-kadir-gecesi .og-on { background-image: url("../images/ozelgun/kadir-gecesi-on.webp"); width: 46%; right: -2%; bottom: -3%; filter: drop-shadow(0 16px 36px rgba(0,0,0,.55)) drop-shadow(0 0 28px rgba(255,214,140,.28)); }
.og-kadir-gecesi .og-mesaj::before { background: linear-gradient(90deg, #ffd166, rgba(255,209,102,0)); }
.auth-brand:is(.og-tema-kandil-mevlid, :has(.og-katman.og-kandil-mevlid)) .tick-item, .auth-brand:is(.og-tema-kandil-regaip, :has(.og-katman.og-kandil-regaip)) .tick-item, .auth-brand:is(.og-tema-kandil-mirac, :has(.og-katman.og-kandil-mirac)) .tick-item, .auth-brand:is(.og-tema-kandil-berat, :has(.og-katman.og-kandil-berat)) .tick-item, .auth-brand:is(.og-tema-kadir-gecesi, :has(.og-katman.og-kadir-gecesi)) .tick-item { background: rgba(10,22,60,.46); border-color: rgba(255,209,102,.3); }
/* ── Kandiller: her kandil ayrı sahne ── */
.og-kandil-mevlid .og-foto { background-image: url("../images/ozelgun/kandil-mevlid.webp"); background-position: 50% 40%; }
.og-kandil-mevlid .og-grade { background: linear-gradient(90deg, rgba(6,20,16,.78) 0%, rgba(6,20,16,.52) 40%, rgba(6,20,16,.12) 72%, rgba(6,20,16,.04) 100%), linear-gradient(180deg, rgba(6,20,16,.22), rgba(6,20,16,0) 35%, rgba(6,20,16,.66) 100%); }
.og-kandil-mevlid .og-on { background-image: url("../images/ozelgun/kandil-mevlid-on.webp"); width: 44%; right: -2%; bottom: -3%; filter: drop-shadow(0 16px 36px rgba(0,0,0,.5)); }
.og-kandil-regaip .og-foto { background-image: url("../images/ozelgun/kandil-regaip.webp"); background-position: 50% 45%; }
.og-kandil-regaip .og-grade { background: linear-gradient(90deg, rgba(14,8,30,.78) 0%, rgba(14,8,30,.52) 40%, rgba(14,8,30,.12) 72%, rgba(14,8,30,.04) 100%), linear-gradient(180deg, rgba(14,8,30,.22), rgba(14,8,30,0) 35%, rgba(14,8,30,.66) 100%); }
.og-kandil-regaip .og-on { background-image: url("../images/ozelgun/kandil-regaip-on.webp"); width: 36%; right: 4%; top: -2%; bottom: auto; background-position: right top; filter: drop-shadow(0 16px 36px rgba(0,0,0,.5)) drop-shadow(0 0 26px rgba(255,200,110,.3)); animation: og-yuz 8s ease-in-out infinite alternate; }
.og-kandil-mirac .og-foto { background-image: url("../images/ozelgun/kandil-mirac.webp"); background-position: 50% 40%; }
.og-kandil-mirac .og-grade { background: linear-gradient(90deg, rgba(6,10,30,.8) 0%, rgba(6,10,30,.55) 40%, rgba(6,10,30,.15) 72%, rgba(6,10,30,.05) 100%), linear-gradient(180deg, rgba(6,10,30,.25), rgba(6,10,30,0) 35%, rgba(6,10,30,.7) 100%); }
.og-kandil-mirac .og-on { background-image: url("../images/ozelgun/kandil-mirac-on.webp"); width: 34%; right: 4%; top: 4%; bottom: auto; background-position: right top; filter: drop-shadow(0 0 30px rgba(220,230,255,.4)); animation: og-yuz 9s ease-in-out infinite alternate; }
.og-kandil-berat .og-foto { background-image: url("../images/ozelgun/kandil-berat.webp"); background-position: 50% 45%; }
.og-kandil-berat .og-grade { background: linear-gradient(90deg, rgba(4,18,22,.8) 0%, rgba(4,18,22,.55) 40%, rgba(4,18,22,.15) 72%, rgba(4,18,22,.05) 100%), linear-gradient(180deg, rgba(4,18,22,.25), rgba(4,18,22,0) 35%, rgba(4,18,22,.7) 100%); }
.og-kandil-berat .og-on { background-image: url("../images/ozelgun/kandil-berat-on.webp"); width: 44%; right: -2%; bottom: -3%; filter: drop-shadow(0 16px 36px rgba(0,0,0,.5)) drop-shadow(0 0 26px rgba(255,210,130,.3)); }
.og-kandil-mevlid .og-mesaj::before, .og-kandil-regaip .og-mesaj::before, .og-kandil-mirac .og-mesaj::before, .og-kandil-berat .og-mesaj::before { background: linear-gradient(90deg, #ffd166, rgba(255,209,102,0)); }
/* Dua eden eller: canvas parçacığı 'dua' (ozel-gun.js) — yapraklar gibi küçük küçük süzülür; DOM katmanı kaldırıldı (v18) */
/* ── Yıl varyantları (2026 v1 = ilk sahneler, 2027 v2, 2028 v3; önizleme ?v=2). Dosya: <kod>-v2.webp / <kod>-v2-on.webp. Kavramlar kasten çok farklı (gündüz/iç mekân/suluboya/retro). ── */
.og-yilbasi.og-v2 .og-foto { background-image: url("../images/ozelgun/yilbasi-v2.webp"); background-position: 50% 50%; }
.og-yilbasi.og-v2 .og-on { background-image: url("../images/ozelgun/yilbasi-v2-on.webp"); inset: auto; right: -2%; bottom: -3%; width: 48%; aspect-ratio: 900 / 876; background-size: contain; background-position: right bottom; filter: drop-shadow(0 16px 30px rgba(0,0,0,.35)); }
.og-yilbasi.og-v3 .og-foto { background-image: url("../images/ozelgun/yilbasi-v3.webp"); background-position: 50% 40%; }
.og-yilbasi.og-v3 .og-on { background-image: url("../images/ozelgun/yilbasi-v3-on.webp"); inset: auto; right: 2%; top: 3%; width: 38%; aspect-ratio: 900 / 936; background-size: contain; background-position: right top; filter: drop-shadow(0 20px 40px rgba(0,0,0,.35)); animation: og-yuz 8s ease-in-out infinite alternate; }
.og-noel.og-v2 .og-foto { background-image: url("../images/ozelgun/noel-v2.webp"); background-position: 50% 45%; }
.og-noel.og-v3 .og-foto { background-image: url("../images/ozelgun/noel-v3.webp"); background-position: 50% 45%; }
.og-cumhuriyet.og-v2 .og-foto { background-image: url("../images/ozelgun/cumhuriyet-v2.webp"); background-position: 50% 40%; }
.og-cumhuriyet.og-v3 .og-foto { background-image: url("../images/ozelgun/cumhuriyet-v3.webp"); background-position: 50% 50%; }
.og-ramazan-bayrami.og-v2 .og-foto { background-image: url("../images/ozelgun/ramazan-bayrami-v2.webp"); background-position: 50% 50%; }
.og-ramazan-bayrami.og-v2 .og-on { background-image: url("../images/ozelgun/ramazan-bayrami-v2-on.webp"); width: 48%; }
.og-ramazan-bayrami.og-v3 .og-foto { background-image: url("../images/ozelgun/ramazan-bayrami-v3.webp"); background-position: 50% 50%; }
.og-ramazan-bayrami.og-v3 .og-on { background-image: url("../images/ozelgun/ramazan-bayrami-v3-on.webp"); width: 44%; }
.og-halloween.og-v2 .og-foto { background-image: url("../images/ozelgun/halloween-v2.webp"); background-position: 50% 50%; filter: none; }
.og-halloween.og-v2 .og-on { background-image: url("../images/ozelgun/halloween-v2-on.webp"); }
.og-halloween.og-v3 .og-foto { background-image: url("../images/ozelgun/halloween-v3.webp"); background-position: 50% 45%; filter: none; }
.og-halloween.og-v3 .og-on { background-image: url("../images/ozelgun/halloween-v3-on.webp"); width: 40%; right: 0; bottom: -2%; aspect-ratio: 900 / 1245; }
.og-halloween.og-v2 .og-sis { opacity: .25; }   /* gündüz tarla: sis hafif */
/* ── JS'siz ilk boyama: tema tonu ve yansıma (ozel-gun.js TONLAR ile aynı; JS inline değişkenle üzerine yazar) ── */
.auth-root:has(.og-katman.og-yilbasi) { --og-ton: #1b2a6b; --og-foto: url("../images/ozelgun/yilbasi.webp"); }
.auth-root:has(.og-katman.og-noel) { --og-ton: #2a3a6e; --og-foto: url("../images/ozelgun/noel.webp"); }
.auth-root:has(.og-katman.og-cumhuriyet) { --og-ton: #7a0b14; --og-foto: url("../images/ozelgun/cumhuriyet.webp"); }
.auth-root:has(.og-katman.og-canakkale) { --og-ton: #4a1a2a; --og-foto: url("../images/ozelgun/canakkale.webp"); }
.auth-root:has(.og-katman.og-30agustos) { --og-ton: #7a4a12; --og-foto: url("../images/ozelgun/30agustos.webp"); }
.auth-root:has(.og-katman.og-ataturk-anma) { --og-ton: #1f2937; --og-foto: url("../images/ozelgun/ataturk-anma.webp"); }
.auth-root:has(.og-katman.og-15temmuz) { --og-ton: #1a2347; --og-foto: url("../images/ozelgun/15temmuz.webp"); }
.auth-root:has(.og-katman.og-halloween) { --og-ton: #3b1a5a; --og-foto: url("../images/ozelgun/halloween.webp"); }
.auth-root:has(.og-katman.og-ramazan) { --og-ton: #1f2a5c; --og-foto: url("../images/ozelgun/ramazan.webp"); }
.auth-root:has(.og-katman.og-ramazan-bayrami) { --og-ton: #5a3a16; --og-foto: url("../images/ozelgun/ramazan-bayrami.webp"); }
.auth-root:has(.og-katman.og-kurban-bayrami) { --og-ton: #2f4a2a; --og-foto: url("../images/ozelgun/kurban-bayrami.webp"); }
.auth-root:has(.og-katman.og-paskalya) { --og-ton: #6b4a5e; --og-foto: url("../images/ozelgun/paskalya.webp"); }
.auth-root:has(.og-katman.og-dis-hekimleri) { --og-ton: #0f4d5a; --og-foto: url("../images/ozelgun/dis-hekimleri.webp"); }
.auth-root:has(.og-katman.og-sevgililer) { --og-ton: #6b1230; --og-foto: url("../images/ozelgun/sevgililer.webp"); }
.auth-root:has(.og-katman.og-anneler-gunu) { --og-ton: #7a4a66; --og-foto: url("../images/ozelgun/anneler-gunu.webp"); }
.auth-root:has(.og-katman.og-ogretmenler-gunu) { --og-ton: #6b4a1e; --og-foto: url("../images/ozelgun/ogretmenler-gunu.webp"); }
.auth-root:has(.og-katman.og-kadinlar-gunu) { --og-ton: #4a2a6e; --og-foto: url("../images/ozelgun/kadinlar-gunu.webp"); }
.auth-root:has(.og-katman.og-23nisan) { --og-ton: #1e3a8a; --og-foto: url("../images/ozelgun/23nisan.webp"); }
.auth-root:has(.og-katman.og-babalar-gunu) { --og-ton: #3a4a52; --og-foto: url("../images/ozelgun/babalar-gunu.webp"); }
.auth-root:has(.og-katman.og-dunya-gulumseme) { --og-ton: #7a5a08; --og-foto: url("../images/ozelgun/dunya-gulumseme.webp"); }
.auth-root:has(.og-katman.og-agiz-dis-sagligi) { --og-ton: #0e4f5e; --og-foto: url("../images/ozelgun/agiz-dis-sagligi.webp"); }
.auth-root:has(.og-katman.og-tip-bayrami) { --og-ton: #4a4a2a; --og-foto: url("../images/ozelgun/tip-bayrami.webp"); }
.auth-root:has(.og-katman.og-19mayis) { --og-ton: #7a1f2a; --og-foto: url("../images/ozelgun/19mayis.webp"); }
.auth-root:has(.og-katman.og-nevruz) { --og-ton: #7a3a14; --og-foto: url("../images/ozelgun/nevruz.webp"); }
.auth-root:has(.og-katman.og-hidirellez) { --og-ton: #4a2a4a; --og-foto: url("../images/ozelgun/hidirellez.webp"); }
.auth-root:has(.og-katman.og-kandil-mevlid) { --og-ton: #2a4a3a; --og-foto: url("../images/ozelgun/kandil-mevlid.webp"); }
.auth-root:has(.og-katman.og-kandil-regaip) { --og-ton: #3a2a5a; --og-foto: url("../images/ozelgun/kandil-regaip.webp"); }
.auth-root:has(.og-katman.og-kandil-mirac) { --og-ton: #1c2a5a; --og-foto: url("../images/ozelgun/kandil-mirac.webp"); }
.auth-root:has(.og-katman.og-kandil-berat) { --og-ton: #1e3a44; --og-foto: url("../images/ozelgun/kandil-berat.webp"); }
.auth-root:has(.og-katman.og-kadir-gecesi) { --og-ton: #1e2550; --og-foto: url("../images/ozelgun/kadir-gecesi.webp"); }
/* ── 10 Kasım afişi (v24, kullanıcı seçimi: büyük portre afişi) ── */
.og-ataturk-anma .og-foto { background-image: url("../images/ozelgun/ataturk-anma.webp"); background-position: 50% 40%; filter: brightness(.34) saturate(.35) contrast(1.05); }   /* kasvetli Anıtkabir yalnız silik doku */
.og-ataturk-anma .og-grade { background: linear-gradient(90deg, rgba(5,6,12,.92) 0%, rgba(5,6,12,.78) 38%, rgba(5,6,12,.45) 70%, rgba(5,6,12,.3) 100%), linear-gradient(180deg, rgba(5,6,12,.55) 0%, rgba(5,6,12,.1) 40%, rgba(5,6,12,.75) 100%); }
.og-ataturk-anma .og-on { background-image: url("../images/ozelgun/ataturk-anma-on.webp"); width: 54%; right: -2%; top: 9%; bottom: auto; aspect-ratio: 1280 / 1960; background-size: contain; background-position: right top; filter: none; transform: translate(calc(var(--og-px, 0) * 8px), calc(var(--og-py, 0) * 5px)); }   /* büyük gri portre (kamu malı), sol/alt kenarı görselin alfasında sönümlü */
.og-ataturk-anma .og-anma-metin { position: absolute; right: 5%; top: 3.2%; text-align: right; color: #f8fafc; font: 700 1rem/1.3 system-ui, sans-serif; letter-spacing: .02em; text-shadow: 0 2px 16px rgba(0,0,0,.7); z-index: 3; }
.og-ataturk-anma .og-anma-metin .og-tarih { display: block; font-size: 1.55rem; font-weight: 900; letter-spacing: .1em; opacity: .95; }
.og-ataturk-anma .og-anma-metin .og-saat-kucuk { display: block; margin-top: .15rem; font: 300 1.15rem/1 'Segoe UI', system-ui, sans-serif; letter-spacing: .32em; color: rgba(255,255,255,.72); }
.og-ataturk-anma .og-baslik { right: 7%; bottom: 6.5rem; }   /* bayrak kaldırıldı (kullanıcı 31.10), blok sağ altta */
.og-ataturk-anma .og-baslik .og-gun { font-size: 6.4rem; }
.og-ataturk-anma .og-sis-katman { opacity: .5; }
/* sahne kareleri: .og-foto üstüne çapraz solma (9 sn döngü; 2 kare → biri 0 sn, diğeri −4,5 sn); Ken Burns .og-foto ile aynı süre, JS currentTime eşitler */
.og-foto-kare { position: absolute; inset: 0; background-size: cover; background-repeat: no-repeat; opacity: 0; animation: og-kare-solma 9s ease-in-out infinite; }   /* .og-foto içinde: Ken Burns ebeveynden, faz eşitleme gerekmez */
@keyframes og-kare-solma { 0%, 100% { opacity: 0; } 14% { opacity: 1; } 32% { opacity: 1; } 46%, 100% { opacity: 0; } }
@keyframes og-aile-nese { 0%, 100% { transform: translate(calc(var(--og-px, 0) * 22px), calc(var(--og-py, 0) * 14px)) rotate(-.5deg); } 50% { transform: translate(calc(var(--og-px, 0) * 22px), calc(var(--og-py, 0) * 14px - 6px)) rotate(.5deg); } }
/* ── Varsayılan sahne (özel gün yokken): sağlık / diş hekimliği — teal-lacivert, ışıktan diş, EKG nabzı, ışık halkaları ── */
.og-varsayilan .og-foto { background-image: url("../images/ozelgun/varsayilan.webp"); background-position: 50% 50%; }   /* net modern tedavi odası (insansız) */
.og-varsayilan .og-grade { background: linear-gradient(90deg, rgba(4,16,28,.82) 0%, rgba(4,16,28,.58) 40%, rgba(4,16,28,.18) 72%, rgba(4,16,28,.06) 100%), linear-gradient(180deg, rgba(4,16,28,.3), rgba(4,16,28,0) 35%, rgba(4,16,28,.66) 100%); }
.og-varsayilan .og-on { background-image: url("../images/ozelgun/varsayilan-c-on.webp"); width: 92%; right: -16%; bottom: -70%; top: auto; aspect-ratio: 1000 / 1700; background-size: contain; background-position: center bottom; filter: drop-shadow(0 24px 40px rgba(0,0,0,.4)); transform-origin: 50% 100%; }   /* saydam diş hekimi, elinde tablet: ekranında NovaWeb ekranları döner (.og-nokta-ekran katman on); figür sabit (ekran hizası bozulmasın) */
.og-varsayilan .og-ekg { position: absolute; left: 0; right: 0; bottom: 11%; height: 70px; width: 100%; z-index: 2; opacity: .85; pointer-events: none; }
.og-varsayilan .og-ekg-yol { fill: none; stroke: #7ff0ff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 6px rgba(127,240,255,.9)); stroke-dasharray: 260 1400; stroke-dashoffset: 1660; animation: og-ekg-ak 6s linear infinite; }
@keyframes og-ekg-ak { to { stroke-dashoffset: 0; } }
.og-varsayilan .og-halka { position: absolute; right: 30%; top: 40%; width: 120px; height: 120px; margin: -60px -60px 0 0; border-radius: 50%; border: 1.5px solid rgba(140,240,255,.5); opacity: 0; animation: og-halka-yay 5s ease-out infinite; pointer-events: none; }
.og-varsayilan .og-halka-2 { animation-delay: -2.5s; }
@keyframes og-halka-yay { 0% { transform: scale(.4); opacity: .7; } 100% { transform: scale(3.2); opacity: 0; } }
.auth-brand:is(.og-tema-varsayilan, :has(.og-katman.og-varsayilan)) .tick-item { background: rgba(6,40,56,.46); border-color: rgba(127,240,255,.3); }
.auth-root:has(.og-katman.og-varsayilan) { --og-ton: #0e3b4a; --og-foto: url("../images/ozelgun/varsayilan.webp"); }
/* ── Ünit monitörü: uygulama ekranları slayt (varsayılan sahne) ── */
.og-nokta-ekran { overflow: hidden; border-radius: 3px; background: #061a22; box-shadow: 0 0 14px rgba(127,240,255,.3), inset 0 0 0 1px rgba(255,255,255,.12); z-index: 2; }   /* tablet ekranı: önden, düz; yüz karelerinin (.og-on-kare) üstünde */
.og-ekran-slayt { position: absolute; inset: 0; background-size: 100% 100%; background-position: center; opacity: 0; animation: og-ekran-slayt linear infinite; }
.og-nokta-ekran::after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 38%), repeating-linear-gradient(0deg, rgba(0,0,0,.06) 0 1px, transparent 1px 3px); pointer-events: none; }
.og-katman-ust { position: absolute; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; }   /* ön plan kayan satırların önünde (varsayılan sahne); parallax değişkenleri .og-katman'dan gelmez → sabit */
.og-katman-ust .og-on { transform: none; }
/* 30 Ağustos: saydam bayrak katmanı maskesiz dalgalanır (zemin bayraksız → çift bayrak yok); şaha kalkma kareleri hızlı geçiş */
.og-nokta-dalga.og-kesik { -webkit-mask: none; mask: none; filter: url(#og-dalga-bayrak); }   /* bayrak boyunca akan yumuşak dalga (pürüzsüz kenar) */
.og-foto-kare.og-sah { animation: none; opacity: 0; transition: opacity .28s ease-in-out; }
.og-foto-kare.og-sah.og-acik { opacity: 1; }
/* Varsayılan hekim derinliği: sol pencere ışığından kenar parıltısı + duvara düşen sabit yumuşak gölge (hekim hareket etmez) */
.og-katman-ust.og-varsayilan .og-on { transform: none; filter: none; }   /* 🪤 PERFORMANS (02.11): figürde filtre YOK — içindeki tablet slaytları/yüz geçişleri her karede değişince filtre (2 gölge + renk) tüm 1000×1700 katmanda her karede yeniden işleniyordu. Gölge ve kenar ışığı aşağıda DURAĞAN sözde öğelerde (bir kez çizilir). */
.og-katman-ust.og-varsayilan .og-on::after { content: ''; position: absolute; inset: 0; z-index: -1; background: url("../images/ozelgun/varsayilan-on.webp") center bottom / contain no-repeat; filter: brightness(0) invert(1) sepia(.35) hue-rotate(150deg) blur(1.5px); opacity: .4; transform: translateX(-2px); pointer-events: none; }   /* sol pencere ışığından kenar parıltısı */   /* hekim SABİT (kullanıcı 1.11: 3B hareket etmesin); yalnız kenar ışığı */
.og-katman-ust.og-varsayilan .og-on::before { content: ''; position: absolute; inset: 0; z-index: -1; background: url("../images/ozelgun/varsayilan-on.webp") center bottom / contain no-repeat; filter: brightness(0) blur(22px); opacity: .5; transform: translate(-34px, 18px) scale(1.03); pointer-events: none; }   /* duvara düşen yumuşak gölge (eski drop-shadow 0 24px 40px'in yerini de tutar) */
.og-katman-ust.og-varsayilan.og-f2 .og-on { background-image: url("../images/ozelgun/varsayilan-erkek8-on.webp"); }   /* erkek hekim (dakikaya göre sırayla) */
.og-katman-ust.og-varsayilan.og-f2 .og-on::before, .og-katman-ust.og-varsayilan.og-f2 .og-on::after { background-image: url("../images/ozelgun/varsayilan-erkek8-on.webp"); }
.og-ekran-kare { position: absolute; inset: 0; background-repeat: no-repeat; background-position: 0 0; animation-name: og-kare-don; animation-iteration-count: infinite; animation-direction: alternate; }   /* 3D çene: şerit görsel kare kare sağa-sola döner */
@keyframes og-kare-don { from { background-position: 0% 0; } to { background-position: 100% 0; } }
.og-ekran-kare.og-dongu { animation-name: og-kare-dongu; animation-direction: normal; }   /* otomatik döndür: sinüs salınımlı kareler kesintisiz döngü */
@keyframes og-kare-dongu { from { background-position: 0% 0; } to { background-position: var(--og-kare-son) 0; } }
.og-katman-ust.og-varsayilan:not(.og-hazir) .og-on { visibility: hidden; }   /* hekim seçilene kadar (JS) figür görünmez */
.og-on-kirp { opacity: 0; transition: opacity .06s linear; z-index: 1; }   /* anlık göz kırpma bindirmesi */
.og-on-logo { position: absolute; inset: 0; background-size: contain; background-repeat: no-repeat; background-position: center bottom; z-index: 2; pointer-events: none; }   /* sabit önlük nakışı */
/* kadın hekim canlı renk (saturate 1.14 · contrast 1.06 · brightness 1.03; kullanıcı 2.11) artık GÖRSELE GÖMÜLÜ: varsayilan-c-*.webp (performans, 02.11) */
