/* Tekdüzen Akademi — ortak hareket katmanı (yalnızca transform/opacity) */
:root{
  --h-hizli:140ms;--h-orta:240ms;--h-yavas:420ms;
  --h-cikis:cubic-bezier(.22,.8,.24,1);          /* yumuşak yavaşlama */
  --h-yay:cubic-bezier(.34,1.45,.64,1);           /* küçük geri yaylanma (yalnızca basma bırakma) */
}

/* ---- Basma geri bildirimi: basıldığı anda tepki, bırakınca yaylı dönüş ---- */
.btn,.ders,.fk,.unite,.yi,.yb,button.nd{transition-property:transform,box-shadow,border-color,background-color,color,filter;transition-duration:.34s;transition-timing-function:var(--h-yay)}
.btn:active,.ders:active,.fk:active,.unite:active{transform:scale(.972);transition-duration:70ms;transition-timing-function:ease-out}
.fk:hover,.unite:hover{transform:translateY(-3px)}
.fk:active,.unite:active{transform:translateY(-1px) scale(.978)}
.ders:hover{transform:translateY(-4px)}
.ders:active{transform:translateY(-1px) scale(.978)}
@media (hover:none){.fk:hover,.unite:hover,.ders:hover{transform:none}}

/* ---- Sayfa girişi: içerik sırayla, tek hareketle gelir ---- */
@keyframes hrGir{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hrSol{from{opacity:0}to{opacity:1}}
.hr-sayfa>*{animation:hrGir var(--h-yavas) var(--h-cikis) both;animation-delay:calc(var(--hr-i,0)*45ms)}
.hr-sayfa>*:nth-child(1){--hr-i:0}.hr-sayfa>*:nth-child(2){--hr-i:1}.hr-sayfa>*:nth-child(3){--hr-i:2}
.hr-sayfa>*:nth-child(4){--hr-i:3}.hr-sayfa>*:nth-child(5){--hr-i:4}.hr-sayfa>*:nth-child(6){--hr-i:5}
.hr-sayfa>*:nth-child(n+7){--hr-i:6}
/* kart ızgaraları: kartlar kendi aralarında dalga halinde */
.hr-sayfa .fk-grid>*,.hr-sayfa .uniteler>*,.hr-sayfa .ozet>*{animation:hrGir var(--h-yavas) var(--h-cikis) both;animation-delay:calc(220ms + var(--hr-k,0)*55ms)}
.hr-sayfa .fk-grid>*:nth-child(1),.hr-sayfa .uniteler>*:nth-child(1),.hr-sayfa .ozet>*:nth-child(1){--hr-k:0}
.hr-sayfa .fk-grid>*:nth-child(2),.hr-sayfa .uniteler>*:nth-child(2),.hr-sayfa .ozet>*:nth-child(2){--hr-k:1}
.hr-sayfa .fk-grid>*:nth-child(3),.hr-sayfa .uniteler>*:nth-child(3),.hr-sayfa .ozet>*:nth-child(3){--hr-k:2}
.hr-sayfa .fk-grid>*:nth-child(4),.hr-sayfa .uniteler>*:nth-child(4){--hr-k:3}
.hr-sayfa .fk-grid>*:nth-child(5),.hr-sayfa .uniteler>*:nth-child(5){--hr-k:4}
.hr-sayfa .fk-grid>*:nth-child(n+6),.hr-sayfa .uniteler>*:nth-child(n+6){--hr-k:5}
/* üst düzey kapsayıcı animasyonunu kartlara tekrar uygulama */
.hr-sayfa>.fk-grid,.hr-sayfa>.uniteler,.hr-sayfa>.ozet{animation:none}

/* ---- Ana sayfa: karşılama bittikten sonra kartlar sırayla gelir ---- */
.hr-ana .dersler>.ders,.hr-ana h1,.hr-ana .lead,.hr-ana .devam,.hr-ana .alt{animation:hrGir var(--h-yavas) var(--h-cikis) both}
.hr-ana h1{animation-delay:0ms}.hr-ana .lead{animation-delay:70ms}.hr-ana .devam{animation-delay:120ms}
.hr-ana .dersler>.ders:nth-child(1){animation-delay:170ms}.hr-ana .dersler>.ders:nth-child(2){animation-delay:250ms}
.hr-ana .dersler>.ders:nth-child(3){animation-delay:330ms}.hr-ana .dersler>.ders:nth-child(4){animation-delay:410ms}
.hr-ana .alt{animation-delay:480ms}
html.hg-on .hr-ana h1,html.hg-on .hr-ana .lead,html.hg-on .hr-ana .devam,html.hg-on .hr-ana .dersler>.ders,html.hg-on .hr-ana .alt{animation-play-state:paused;opacity:0}

/* ---- FM: görünüm bölümleri açılırken ---- */
main>section.hr-gir{animation:hrGir var(--h-yavas) var(--h-cikis) both}

/* ---- İlerleme çubukları: soldan dolar ---- */
@keyframes hrDol{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.bar>i,.hr-dol{transform-origin:left center}
.hr-sayfa .bar>i,.hr-ana .bar>i,.hr-dol{animation:hrDol .9s var(--h-cikis) both;animation-delay:260ms}

/* ---- Menü grupları, panel, perde, modal ---- */
@keyframes hrAsagi{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.yl:not([hidden]){animation:hrAsagi var(--h-orta) var(--h-cikis) both}
@keyframes hrSagdan{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
.asist-panel:not([hidden]){animation:hrSagdan var(--h-yavas) var(--h-cikis) both}
.yan-perde:not([hidden]){animation:hrSol var(--h-orta) ease both}
@keyframes hrModal{from{opacity:0;transform:translateY(10px) scale(.965)}to{opacity:1;transform:none}}
@keyframes hrBulan{from{opacity:0}to{opacity:1}}
.hr-modal{animation:hrModal var(--h-orta) var(--h-cikis) both}
.hr-perde{animation:hrBulan var(--h-orta) ease both;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}

/* ---- Sınav geri bildirimi ---- */
@keyframes hrDogru{0%{transform:scale(1)}40%{transform:scale(1.025)}100%{transform:scale(1)}}
@keyframes hrYanlis{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.sec button.dogru{animation:hrDogru .42s var(--h-yay)}
.sec button.yanlis{animation:hrYanlis .42s ease}
.sec .h{transition:background-color .2s,color .2s}
@keyframes hrHalka{from{stroke-dashoffset:var(--hr-tam)}}
.hr-halka circle.hr-ic{animation:hrHalka 1.1s var(--h-cikis) .15s both}

/* ---- Okuma ilerleme çizgisi + üst çubuk gölgesi ---- */
.hr-okuma{position:fixed;left:0;top:0;right:0;height:3px;z-index:60;transform:scaleX(0);transform-origin:left center;background:var(--acc-fill,var(--acc,#2f5fd0));pointer-events:none;opacity:0;transition:opacity .2s}
.hr-okuma.on{opacity:1}
.ust,.site-header{transition:box-shadow .25s ease,background-color .25s}
.ust.hr-kay,.site-header.hr-kay{box-shadow:0 6px 22px rgba(10,22,40,.10)}
[data-theme="dark"] .ust.hr-kay,.site-header.hr-kay{box-shadow:0 6px 22px rgba(0,0,0,.45)}

/* ---- Tema değişimi: ani parlaklık sıçramasını yumuşat ---- */
html.hr-tema *,html.hr-tema *::before,html.hr-tema *::after{transition:background-color .28s ease,color .28s ease,border-color .28s ease,fill .28s ease,box-shadow .28s ease!important}

/* ---- Yükleniyor kayması (iskelet) ---- */
@keyframes hrIskelet{0%{background-position:120% 0}100%{background-position:-120% 0}}
.hr-iskelet{border-radius:10px;background:linear-gradient(90deg,var(--soft,#eef2f8) 25%,color-mix(in srgb,var(--paper,#fff) 70%,var(--soft,#eef2f8)) 50%,var(--soft,#eef2f8) 75%);background-size:240% 100%;animation:hrIskelet 1.4s linear infinite}

/* ---- Hareket azaltma: kayma ve yay yok, yalnızca kısa solma ---- */
@media (prefers-reduced-motion:reduce){
  .hr-sayfa>*,.hr-sayfa .fk-grid>*,.hr-sayfa .uniteler>*,.hr-sayfa .ozet>*,main>section.hr-gir,
  .hr-ana h1,.hr-ana .lead,.hr-ana .devam,.hr-ana .dersler>.ders,.hr-ana .alt,
  .yl:not([hidden]),.asist-panel:not([hidden]),.hr-modal{animation:hrSol .2s ease both!important;animation-delay:0ms!important}
  .bar>i,.hr-dol{animation:none!important}
  .sec button.dogru,.sec button.yanlis,.hr-halka circle.hr-ic,.hr-iskelet{animation:none!important}
  .btn:active,.ders:active,.fk:active,.unite:active{transform:none}
  .fk:hover,.unite:hover,.ders:hover{transform:none}
  .hr-okuma{display:none}
}
@media (prefers-reduced-transparency:reduce){.hr-perde{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media print{.hr-okuma{display:none!important}*{animation:none!important;transition:none!important}}
