/* eBattery · enhance.css — ek animasyon ve cila katmanı (premium.css üzerine eklenir) */
:root{--ease:cubic-bezier(.22,.8,.25,1);--spring:cubic-bezier(.34,1.56,.64,1)}

/* ---------- Her zaman aktif (hareketsiz) iyileştirmeler ---------- */
.read-progress{box-shadow:0 0 14px #2f6bffaa}
.site-header{transition:background .3s,box-shadow .35s,border-color .3s}
.site-header.is-scrolled{background:#ffffffee;box-shadow:0 10px 34px #11243b12;border-bottom-color:#e3eaf4}
.nav-shell{transition:height .35s var(--ease)}
.site-header.is-scrolled .nav-shell{height:70px}
.desktop-nav>a{position:relative}
.desktop-nav>a::after{content:"";position:absolute;left:0;right:0;bottom:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,#2f6bff,#9676e9);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.desktop-nav>a:hover::after,.desktop-nav>a[aria-current=page]::after{transform:scaleX(1)}

.button{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,background .25s,translate .3s var(--ease)}
.button::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#ffffff55 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s var(--ease)}
.button:hover::after{transform:translateX(130%)}
.button.secondary::after{background:linear-gradient(110deg,transparent 30%,#2f6bff14 50%,transparent 70%)}
.button:active{transform:translateY(-1px) scale(.98)}
.text-link span{display:inline-block;transition:translate .3s var(--ease)}
.text-link:hover span{translate:5px 0}
.round-arrow{transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s}
.bento:hover .round-arrow{background:#2f6bff;color:#fff;border-color:#2f6bff}
.bento-screen{transition:translate .6s var(--ease)}
.bento:hover .bento-screen{translate:0 -10px}
.product-ribbon a{transition:transform .3s var(--ease),color .3s}
.product-ribbon a:hover{transform:translateY(-3px)}
.product-ribbon a img{transition:transform .4s var(--spring)}
.product-ribbon a:hover img{transform:scale(1.18) rotate(-6deg)}
.site-footer a{transition:color .25s,translate .3s var(--ease)}
.site-footer .footer-grid a:hover{translate:4px 0}
.back-top{transition:opacity .3s,transform .35s var(--spring),translate .3s}
.back-top:hover{translate:0 -3px}

/* kart ışığı: imleci takip eden parıltı + kenar vurgusu */
.fx-spot{position:relative}
.fx-spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;z-index:2;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),#2f6bff12,transparent 45%)}
.fx-spot::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .4s;z-index:3;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),#2f6bffaa,#9676e955 45%,transparent 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.fx-spot:hover::after,.fx-spot:hover::before{opacity:1}
.bento-game.fx-spot::after,.dark.fx-spot::after,.cta-panel.fx-spot::after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),#ffffff14,transparent 45%)}

/* ---------- Hareket (azaltılmış hareket tercihinde uygulanmaz) ---------- */
@media (prefers-reduced-motion:no-preference){
  @keyframes fx-in{from{opacity:0;translate:0 30px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
  @keyframes fx-rise{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
  @keyframes fx-phone{from{opacity:0;translate:0 70px;scale:.92}to{opacity:1;translate:0 0;scale:1}}
  @keyframes fx-badge{from{opacity:0;translate:0 24px;scale:.85}to{opacity:1;translate:0 0;scale:1}}
  @keyframes fx-shift{from{background-position:0% 50%}to{background-position:100% 50%}}
  @keyframes fx-pulse{0%{box-shadow:0 0 0 0 #36bd9255}70%,100%{box-shadow:0 0 0 9px #36bd9200}}
  @keyframes fx-drift-a{0%,100%{translate:0 0}50%{translate:60px 40px}}
  @keyframes fx-drift-b{0%,100%{translate:0 0}50%{translate:-50px -30px}}
  @keyframes fx-word{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:none}}
  @keyframes fx-spin{to{rotate:360deg}}

  /* açılış: hero metinleri sırayla gelir */
  .hero-copy>*,.page-hero .container>*:not(.hero-ring),.article-hero-grid>*{animation:fx-rise 1s var(--ease) backwards}
  .hero-copy>:nth-child(1),.page-hero .container>:nth-child(1){animation-delay:.05s}
  .hero-copy>:nth-child(2),.page-hero .container>:nth-child(2){animation-delay:.15s}
  .hero-copy>:nth-child(3),.page-hero .container>:nth-child(3){animation-delay:.27s}
  .hero-copy>:nth-child(4),.page-hero .container>:nth-child(4){animation-delay:.39s}
  .hero-copy>:nth-child(5),.page-hero .container>:nth-child(5){animation-delay:.5s}
  .hero-copy>:nth-child(n+6),.page-hero .container>:nth-child(n+6){animation-delay:.6s}

  /* telefonlar: giriş + mevcut süzülme + fare paralaksı */
  .hero-phone-main{animation:fx-phone 1.2s var(--ease) .25s backwards,float-main 8s 1.45s infinite ease-in-out;translate:calc(var(--px,0)*18px) calc(var(--py,0)*14px);transition:translate .6s var(--ease)}
  .hero-phone-back{animation:fx-phone 1.2s var(--ease) .1s backwards,float-back 10s 1.3s infinite ease-in-out;translate:calc(var(--px,0)*-12px) calc(var(--py,0)*-9px);transition:translate .6s var(--ease)}
  .floating-insight{transition:translate .6s var(--ease)}
  .insight-top{animation:fx-badge .9s var(--spring) .8s backwards,float-badge 6s 1.7s infinite ease-in-out;translate:calc(var(--px,0)*26px) calc(var(--py,0)*18px)}
  .insight-bottom{animation:fx-badge .9s var(--spring) 1s backwards,float-badge 7s 1.9s infinite ease-in-out reverse;translate:calc(var(--px,0)*-22px) calc(var(--py,0)*-14px)}
  .hero-showcase{translate:0 calc(var(--sy,0)*-34px)}
  .hero-glow{animation:fx-in 1.4s var(--ease) backwards}

  /* gradyan başlık canlanır, canlı nokta nabız atar */
  .hero-copy h1>span{background:linear-gradient(105deg,#2f6bff,#8c5fe2,#17b5a8,#2f6bff);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;animation:fx-shift 9s linear infinite alternate}
  .launch-pill i{animation:fx-pulse 2.2s infinite}
  .hero-ring{translate:0 calc(var(--sy,0)*70px)}
  .cta-orbit::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid transparent;border-top-color:#ffffff70;animation:fx-spin 14s linear infinite}

  /* arka plan ışık küreleri (JS ekler) */
  .home-hero,.page-hero{isolation:isolate}
  .fx-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
  .fx-orbs i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}
  .fx-orbs i:nth-child(1){width:380px;height:380px;left:-90px;top:-70px;background:#2f6bff2e;animation:fx-drift-a 18s infinite ease-in-out}
  .fx-orbs i:nth-child(2){width:340px;height:340px;right:6%;bottom:-120px;background:#8359e92b;animation:fx-drift-b 22s infinite ease-in-out}
  .fx-orbs i:nth-child(3){width:240px;height:240px;left:42%;top:8%;background:#28b68a22;animation:fx-drift-a 26s infinite ease-in-out reverse}

  /* kaydırma ile beliren öğeler (JS .fx ve .in ekler) */
  .fx-on .fx:not(.in){opacity:0}
  .fx-on .fx.in{animation:fx-in .9s var(--ease) var(--d,0ms) backwards}
  .motion .reveal{transform:translateY(38px) scale(.98);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .motion .reveal.in-view{transform:none}
  .motion .reveal.in-view .app-icon{animation-delay:.2s}

  /* sekme/panel içeriği değişince yumuşak geçiş */
  .prompt-user{animation:fx-rise .5s var(--ease) backwards}
  .prompt-response{animation:fx-rise .6s var(--ease) .25s backwards}
  .prompt-response span[aria-hidden]{display:inline-block;animation:fx-spin 6s linear infinite}
  .fx-word{display:inline-block;animation:fx-word .45s var(--ease) backwards}
  details[open]>*:not(summary){animation:fx-rise .45s var(--ease) backwards}
  .screen-frame.changing img{transition:opacity .2s,scale .2s}
  .stop{animation:fx-rise .5s var(--ease) backwards}
  .stop:nth-child(2){animation-delay:.1s}.stop:nth-child(3){animation-delay:.2s}
}

/* dokunmatik cihazlarda ağır efektleri kapat */
@media (hover:none),(pointer:coarse){
  .fx-spot::before,.fx-spot::after{display:none}
  .hero-phone-main,.hero-phone-back,.insight-top,.insight-bottom{translate:none}
}
@media (max-width:700px){.fx-orbs i{filter:blur(50px)}.fx-orbs i:nth-child(3){display:none}}

/* ---------- Tema düğmesi ---------- */
.theme-toggle{flex-shrink:0;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:transparent;display:grid;place-items:center;color:var(--ink);transition:background .25s,border-color .25s,transform .35s var(--spring)}
.theme-toggle:hover{background:#2f6bff14;border-color:#2f6bff55;transform:rotate(18deg) scale(1.06)}
.theme-toggle svg{width:19px;height:19px;grid-area:1/1;transition:opacity .35s,transform .5s var(--spring)}
.theme-toggle .i-moon{opacity:0;transform:rotate(-70deg) scale(.4)}
html[data-theme=dark] .theme-toggle .i-sun{opacity:0;transform:rotate(70deg) scale(.4)}
html[data-theme=dark] .theme-toggle .i-moon{opacity:1;transform:none}
.nav-shell .theme-toggle{margin-left:4px}
@media (max-width:900px){.nav-shell .theme-toggle{margin-left:auto}}
html.theme-switching *,html.theme-switching *::before,html.theme-switching *::after{transition:background-color .45s,color .45s,border-color .45s,box-shadow .45s!important}

/* ---------- Logo şeridi: kayan marquee ---------- */
@keyframes fx-marquee{to{transform:translateX(-50%)}}
.logo-landscape.is-marquee{display:block;overflow:hidden;padding:4px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.logo-landscape.is-marquee .fx-track{display:flex;width:max-content}
.logo-landscape.is-marquee a{flex:0 0 172px;margin-right:14px;height:98px}
@media (prefers-reduced-motion:no-preference){
  .logo-landscape.is-marquee .fx-track{animation:fx-marquee 42s linear infinite}
  .logo-landscape.is-marquee:hover .fx-track,.logo-landscape.is-marquee:focus-within .fx-track{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){.logo-landscape.is-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}}
@media (max-width:650px){.logo-landscape.is-marquee a{flex-basis:132px;height:78px}}
