/* Kuzgun hareket katmanı (Can, 29 Eyl: "her yere animasyon koyalım ki premium hissettirsin").
   Kurallar:
   - Yalnızca opaklık ve bağımsız translate/scale (transform'u ezmez; ortalanmış öğeler kaymaz).
   - Gezinme anında tetiklenir (kuzgun-motion.js sınıf ekler); arka planda yenilenen listeler oynamaz.
   - "Hareketi azalt" (sistem ya da Ayarlar) açıksa hiçbiri çalışmaz. "Sakin animasyonlar" (varsayılan)
     mesafeleri kısaltır, yaylanmayı yumuşatır. */
:root{
  --kz-ease:cubic-bezier(.22,1,.36,1);
  --kz-spring:cubic-bezier(.34,1.56,.64,1);
  --kz-lift:10px;
  --kz-t:.34s;
}
html.kz-calm{--kz-spring:cubic-bezier(.22,1.18,.36,1);--kz-lift:6px;--kz-t:.3s}

@keyframes kzFadeIn{from{opacity:0}}
@keyframes kzAppear{from{opacity:0;translate:0 var(--kz-lift)}}
@keyframes kzPop{from{opacity:0;translate:0 -6px;scale:.97}}
@keyframes kzDialogIn{from{opacity:0;translate:0 14px;scale:.97}}
@keyframes kzUnderline{from{opacity:0;scale:.3 1}}
@keyframes kzLivePulse{0%,100%{box-shadow:0 0 0 0 rgba(255,93,122,.55)}60%{box-shadow:0 0 0 7px rgba(255,93,122,0)}}

@media (prefers-reduced-motion:no-preference){
  /* ---- Sol menü: kayan seçim vurgusu (öğe ::before/::after'ı değil, tek parça kayar) ---- */
  html:not(.bv-reduce) #rail .rail-item{z-index:1;transition:color .25s var(--kz-ease),background-color .25s var(--kz-ease)}
  html:not(.bv-reduce) #rail .rail-item svg.sic{transition:color .25s var(--kz-ease),translate .3s var(--kz-spring)}
  html:not(.bv-reduce) #rail .rail-item:not(.active):hover svg.sic{translate:3px 0}
  html:not(.bv-reduce) #rail .rail-item .ri-label{transition:color .25s var(--kz-ease),opacity .25s var(--kz-ease)}
  html:not(.bv-reduce) #rail.kz-glide-on .rail-item.active{background:transparent}
  html:not(.bv-reduce) #rail.kz-glide-on .rail-item.active::before,
  html:not(.bv-reduce) #rail.kz-glide-on .rail-item.active::after{opacity:0}
  html:not(.bv-reduce) .kz-rail-glide{position:absolute;z-index:0;left:0;top:0;pointer-events:none;background:#252233;
    transition:transform .5s var(--kz-spring),width .35s var(--kz-ease),height .35s var(--kz-ease),opacity .2s ease}
  html:not(.bv-reduce) .kz-rail-glide.kz-no-anim{transition:none}
  html:not(.bv-reduce) .kz-rail-glide::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:0 4px 4px 0;background:var(--kz-gold);box-shadow:0 0 18px rgba(242,200,121,.55)}
  html:not(.bv-reduce) .kz-rail-glide::after{content:"";position:absolute;right:0;top:50%;width:12px;height:26px;translate:0 -50%;clip-path:polygon(100% 0,0 50%,100% 100%);background:var(--kz-gold)}
  html:not(.bv-reduce) body.railmini .kz-rail-glide::after{display:none}
  html[data-bvmode=light]:not(.bv-reduce) .kz-rail-glide{background:var(--kz-card-3)}
  /* Yayındayken menüdeki kırmızı nokta nabız gibi atar */
  html:not(.bv-reduce) #navLiveTag{animation:kzLivePulse 2.2s ease-out infinite}

  /* ---- Bölüm değişimi: tahta belirir, içerik sırayla yükselir ---- */
  html:not(.bv-reduce) #bvboard.kz-enter{animation:kzFadeIn .28s var(--kz-ease) both}
  html:not(.bv-reduce) #bvboard.kz-enter>.bvw:not(.added){animation:kzFadeIn .42s var(--kz-ease) backwards}
  html:not(.bv-reduce) #bvboard.kz-enter>.kz-studio-head{animation:kzAppear var(--kz-t) var(--kz-ease) backwards}
  html:not(.bv-reduce) #bvboard.kz-enter .kz-enter-item{animation:kzAppear var(--kz-t) var(--kz-ease) backwards;animation-delay:calc(var(--kz-i,0) * 45ms + 40ms)}
  html:not(.bv-reduce) #bvboard.kz-enter>.bvw:nth-of-type(2){animation-delay:40ms}
  html:not(.bv-reduce) #bvboard.kz-enter>.bvw:nth-of-type(3){animation-delay:80ms}
  html:not(.bv-reduce) #bvboard.kz-enter>.bvw:nth-of-type(4){animation-delay:120ms}
  html:not(.bv-reduce) #bvboard.kz-enter>.bvw:nth-of-type(5){animation-delay:160ms}
  html:not(.bv-reduce) #bvboard.kz-enter>.bvw:nth-of-type(n+6){animation-delay:200ms}

  /* ---- Sekme ve alt sayfa değişimi: yeni içerik (kuzgun-motion.js işaretler) ---- */
  html:not(.bv-reduce) .kz-appear{animation:kzAppear var(--kz-t) var(--kz-ease) backwards;animation-delay:calc(var(--kz-i,0) * 38ms)}
  /* Seçili sekmenin alt çizgisi soldan sağa açılır */
  html:not(.bv-reduce) :is([role=tablist],nav,[class*="-tabs"]) :is(button,a).on::after,
  html:not(.bv-reduce) :is([role=tablist],nav,[class*="-tabs"]) [aria-selected="true"]::after{animation:kzUnderline .38s var(--kz-ease) both}
  html:not(.bv-reduce) :is([role=tablist],[class*="-tabs"],.kz-overlay-toolbar nav,.st-side) :is(button,a){transition:color .22s var(--kz-ease),background-color .22s var(--kz-ease),border-color .22s var(--kz-ease)}
  html:not(.bv-reduce) :is([role=tablist],[class*="-tabs"],.kz-overlay-toolbar nav) :is(button,a) :is(i,svg){transition:color .22s var(--kz-ease),translate .3s var(--kz-spring)}
  html:not(.bv-reduce) :is([role=tablist],[class*="-tabs"],.kz-overlay-toolbar nav) :is(button,a):not(.on):hover :is(i,svg){translate:0 -2px}

  /* ---- Açılır menüler, listeler, balonlar ---- */
  html:not(.bv-reduce) :is(.kz-studio-editmenu,.eqf-pop,.bvtpl-menu,.wmenu.show,.deck-pop.show,.bvlang-menu.open,.cat-drop.show,.kz-conn-menu,.kz-period-menu,.kz-auto-menu,.kze-menu,.kzo-pop,.gw-sheet.show,.kzb-drop){animation:kzPop .2s var(--kz-ease) both;transform-origin:top center}
  html:not(.bv-reduce) details[open]>:not(summary){animation:kzAppear .28s var(--kz-ease) backwards}

  /* ---- Pencereler ---- */
  html:not(.bv-reduce) dialog[open]{animation:kzDialogIn .3s var(--kz-spring) both}
  html:not(.bv-reduce) dialog[open]::backdrop{animation:kzFadeIn .25s ease both}
  html:not(.bv-reduce) .modal-bg.show{animation:kzFadeIn .22s ease both}
  html:not(.bv-reduce) .modal-bg.show>*{animation:kzDialogIn .3s var(--kz-spring) both}
  html:not(.bv-reduce) .connect-screen.show .cs-modal{animation:kzDialogIn .45s var(--kz-ease) both}
  html:not(.bv-reduce) .connect-screen.show :is(.kza-center>*,.kza-buttons>.cs-btn){animation:kzAppear .45s var(--kz-ease) backwards}
  html:not(.bv-reduce) .connect-screen.show .kza-center>*:nth-child(2){animation-delay:50ms}
  html:not(.bv-reduce) .connect-screen.show .kza-center>*:nth-child(3){animation-delay:90ms}
  html:not(.bv-reduce) .connect-screen.show .kza-buttons>.cs-btn:nth-child(1){animation-delay:140ms}
  html:not(.bv-reduce) .connect-screen.show .kza-buttons>.cs-btn:nth-child(2){animation-delay:180ms}
  html:not(.bv-reduce) .connect-screen.show .kza-buttons>.cs-btn:nth-child(3){animation-delay:220ms}

  /* ---- Düğmeler: basınca hafif çöker, birincil düğmeler üzerine gelince parlar ---- */
  html:not(.bv-reduce) :is(.cs-btn,.kza-demo,.kz-studio-action,.kz-overlay-toolbar-actions button,.kzs-seg button,.kzo-primary,.kzo-back,.eqf-btn,.wh-font,.kz-overlay-preview-actions button,[class*="-primary"],[class*="-save"],.kzs-themes button,.kzs-swatches button){transition:scale .16s var(--kz-ease),filter .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .25s ease}
  html:not(.bv-reduce) :is(.cs-btn,.kza-demo,.kz-studio-action,.kz-overlay-toolbar-actions button,.kzs-seg button,.kzo-primary,.kzo-back,.eqf-btn,.kz-overlay-preview-actions button,[class*="-primary"],[class*="-save"],.kzs-themes button,.kzs-swatches button):active:not(:disabled){scale:.97}
  html:not(.bv-reduce) :is(.cs-twitch,.kzo-primary,.kz-overlay-save,[class*="-primary"]):hover:not(:disabled){filter:brightness(1.08)}
  html:not(.bv-reduce) .connect-screen.kz-auth .cs-btn .kza-chev{transition:translate .3s var(--kz-spring)}
  html:not(.bv-reduce) .connect-screen.kz-auth .cs-btn:hover .kza-chev{translate:4px 0}

  /* ---- Tıklanabilir kartlar üzerine gelince hafifçe yükselir ---- */
  html:not(.bv-reduce) :is(a,button)[class*="card"]:not(.bvw):not(:disabled){transition:translate .28s var(--kz-ease),box-shadow .28s var(--kz-ease),border-color .2s ease,background-color .2s ease}
  html:not(.bv-reduce) :is(a,button)[class*="card"]:not(.bvw):not(:disabled):hover{translate:0 -2px;box-shadow:0 12px 30px rgba(6,5,13,.28)}

  /* ---- Onay kutuları dolarken hafifçe büyür ---- */
  html:not(.bv-reduce) :is(.kza-box,.eqf-check){transition:background-color .2s ease,border-color .2s ease,scale .25s var(--kz-spring)}
  html:not(.bv-reduce) :is(.kza-consent input:checked+.kza-box,.eqf-item.on .eqf-check){scale:1.06}

  /* ---- Widget başlıkları ve satırlar: yumuşak renk geçişleri ---- */
  html:not(.bv-reduce) :is(.eq-row,.mrow,.eqf-item,.kz-studio-editmenu button){transition:background-color .18s ease,color .18s ease,border-color .18s ease}
}
