/* Mesaivo animasyon kütüphanesi (E) — js/mv-ui.js ile birlikte.
   Yalnız tema değişkenleri. Hareket: html[data-anim=tam|az|kapali], yoksa prefers-reduced-motion → az.
   --mv-k: hareket çarpanı (tam=1, az/kapali=0). Bileşen düzenleri :where() ile sıfır özgüllükte — sayfa CSS'i her zaman kazanır.
   JS'e bağlı gizlemeler yalnız html.mv-js ve JS'in eklediği .mv-bekle ile olur; kütüphane yoksa her şey görünür. */
:root{--mv-k:1;--mv-ease:cubic-bezier(.2,.7,.2,1);--mv-yay:cubic-bezier(.3,1.5,.5,1);--mv-sure:.7s}
html[data-anim=az],html[data-anim=kapali],html.mv-az{--mv-k:0}
@media (prefers-reduced-motion:reduce){html:not([data-anim=tam]){--mv-k:0}}

/* Kapalı: her şey anında son hâline */
html[data-anim=kapali] *,html[data-anim=kapali] ::before,html[data-anim=kapali] ::after{
  animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important;
  transition-duration:0s!important;transition-delay:0s!important;scroll-behavior:auto!important}

/* ---------- R01–R09 giriş ---------- */
html.mv-js [data-rv]:not(.mv-son){
  transition:opacity var(--mv-sure) var(--mv-ease),transform var(--mv-sure) var(--mv-ease),filter var(--mv-sure) var(--mv-ease),clip-path .9s var(--mv-ease);
  transition-delay:calc(min(var(--i,0),14)*70ms)}
html.mv-js:not([data-anim=kapali]) [data-rv]:not(.mv-in){opacity:0;transform:translateY(calc(28px*var(--mv-k)))}
html.mv-js:not([data-anim=kapali]) :is([data-rv=zoom],html[data-rv-tur=zoom] [data-rv=""]):not(.mv-in){transform:scale(calc(1 - .12*var(--mv-k)))}
html.mv-js:not([data-anim=kapali]) :is([data-rv=blur],html[data-rv-tur=blur] [data-rv=""]):not(.mv-in){transform:none;filter:blur(calc(10px*var(--mv-k)))}
html.mv-js:not([data-anim=kapali]) :is([data-rv=slide],html[data-rv-tur=slide] [data-rv=""]):not(.mv-in){transform:translateX(calc(-48px*var(--mv-k)))}
html.mv-js:not([data-anim=kapali]) :is([data-rv=pop],html[data-rv-tur=pop] [data-rv=""]):not(.mv-in){transform:scale(calc(1 - .35*var(--mv-k)))}
html.mv-js :is([data-rv=pop],html[data-rv-tur=pop] [data-rv=""]):not(.mv-son){transition-timing-function:var(--mv-yay)}
html.mv-js:not([data-anim=kapali]) :is([data-rv=fade],html[data-rv-tur=fade] [data-rv=""]):not(.mv-in){transform:none}
html.mv-js:not([data-anim=kapali]) :is([data-rv=perde],html[data-rv-tur=perde] [data-rv=""]):not(.mv-in){transform:none;opacity:var(--mv-k);clip-path:inset(0 calc(100%*var(--mv-k)) 0 0)}
html.mv-js :is([data-rv=perde],html[data-rv-tur=perde] [data-rv=""]).mv-in:not(.mv-son){clip-path:inset(0)}
html.mv-js:not([data-anim=kapali]) :is([data-rv=kapak],html[data-rv-tur=kapak] [data-rv=""]):not(.mv-in){transform:perspective(800px) rotateX(calc(-70deg*var(--mv-k)))}
html.mv-js :is([data-rv=kapak],html[data-rv-tur=kapak] [data-rv=""]){transform-origin:50% 0}
/* R09 harf / T03 kelime: kapsayıcı görünür, parçalar gelir */
html.mv-js:not([data-anim=kapali]) :is([data-rv=harf],[data-rv=kelime]):not(.mv-in){opacity:1;transform:none;filter:none}
.mv-kel{display:inline-block;white-space:nowrap}
.mv-par{display:inline-block;transition:transform .6s var(--mv-ease),opacity .6s var(--mv-ease);transition-delay:calc(var(--j,0)*var(--mv-ara,35ms) + min(var(--i,0),14)*70ms)}
[data-rv=kelime]{--mv-ara:80ms}
html.mv-js:not([data-anim=kapali]) [data-rv]:not(.mv-in) .mv-par{opacity:0;transform:translateY(calc(.7em*var(--mv-k))) rotate(calc(4deg*var(--mv-k)))}
[data-rv=harf] .mv-kel{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em;vertical-align:bottom}
/* R06 sırayla liste */
html.mv-js [data-rv-liste]:not(.mv-son)>*{transition:opacity .5s var(--mv-ease),transform .5s var(--mv-ease);transition-delay:calc(min(var(--i,0),14)*70ms)}
html.mv-js:not([data-anim=kapali]) [data-rv-liste]:not(.mv-in)>*{opacity:0;transform:translateX(calc(-24px*var(--mv-k)))}
@media print{html.mv-js [data-rv],html.mv-js [data-rv] .mv-par,html.mv-js [data-rv-liste]>*,.mv-bekle,.mv-bekle>*{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}

/* ---------- H01–H10 hover (yalnız fare/iz sürücü) ---------- */
.hv-kalk{transition:transform .35s var(--mv-ease),box-shadow .35s var(--mv-ease)}
.hv-parilti{position:relative;overflow:hidden;isolation:isolate}
.hv-parilti::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,color-mix(in srgb,var(--surface) 55%,transparent) 50%,transparent 70%);transform:translateX(-120%)}
.hv-cerceve,.hv-spot{position:relative}
.hv-cerceve::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,0%),var(--brand),var(--brand2,var(--brand)) 35%,var(--line) 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.75;transition:opacity .3s}
.hv-spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(200px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--brand) 20%,transparent),transparent 65%)}
.hv-egim{transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s var(--mv-ease)}
.hv-egim.mv-aktif{transition-duration:.08s;will-change:transform}
:is(a.hv-cizgi,.hv-cizgi a){background-image:linear-gradient(var(--brand),var(--brand));background-repeat:no-repeat;background-size:0 2px;background-position:100% 100%;transition:background-size .35s var(--mv-ease)}
.hv-ikon .ikon{display:inline-block;transition:transform .45s var(--mv-yay)}
.hv-miknatis{transition:translate .25s var(--mv-ease)}
.hv-miknatis.mv-aktif{transition-duration:.1s}
.hv-dolgu{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:.55em;border:2px solid var(--brand);color:var(--brand);background:transparent;transition:color .35s var(--mv-ease)}
.hv-dolgu::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--mv-ease)}
.hv-dolgu :is(svg,.ikon){width:1.1em;height:1.1em;flex:none;transition:transform .35s var(--mv-ease)}
.hv-yakin{position:relative;overflow:hidden}
.hv-yakin img{display:block;transition:transform .6s var(--mv-ease)}
.hv-yakin :is(figcaption,.aciklama){position:absolute;left:0;right:0;bottom:0;padding:10px 12px;color:var(--brand-ink,var(--surface));background:linear-gradient(transparent,color-mix(in srgb,var(--ink) 70%,transparent));transform:translateY(100%);transition:transform .45s var(--mv-ease)}
@media (hover:hover) and (pointer:fine){
  .hv-kalk:hover{transform:translateY(calc(-6px*var(--mv-k)));box-shadow:var(--shadow)}
  .hv-parilti:is(:hover,:focus-visible)::after{transform:translateX(120%);transition:transform .8s var(--mv-ease)}
  .hv-cerceve:hover::before,.hv-spot:hover::before{opacity:1}
  :is(a.hv-cizgi,.hv-cizgi a):hover{background-size:100% 2px;background-position:0 100%}
  .hv-ikon:hover .ikon{transform:translateY(calc(-5px*var(--mv-k))) rotate(calc(-10deg*var(--mv-k))) scale(calc(1 + .1*var(--mv-k)))}
  .hv-dolgu:hover{color:var(--brand-ink,var(--surface))}
  .hv-dolgu:hover::before{transform:scaleX(1)}
  .hv-dolgu:hover :is(svg,.ikon){transform:translateX(calc(5px*var(--mv-k)))}
  .hv-yakin:hover img{transform:scale(calc(1 + .08*var(--mv-k)))}
  .hv-yakin:hover :is(figcaption,.aciklama){transform:none}
}
:is(a.hv-cizgi,.hv-cizgi a):focus-visible{background-size:100% 2px;background-position:0 100%}
.hv-dolgu:focus-visible{color:var(--brand-ink,var(--surface))}.hv-dolgu:focus-visible::before{transform:scaleX(1)}
.hv-yakin:focus-within :is(figcaption,.aciklama){transform:none}
@media not ((hover:hover) and (pointer:fine)){.hv-egim{transform:none}}

/* ---------- T01–T08 metin ---------- */
.mv-daktilo-imlec{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.12em;background:var(--brand);animation:mv-blink .9s steps(1) infinite}
@keyframes mv-blink{50%{opacity:0}}
.t-akan{background:linear-gradient(90deg,var(--brand),var(--vurgu,var(--brand)),var(--brand2,var(--brand)),var(--brand));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mv-akan 6s linear infinite}
@keyframes mv-akan{to{background-position:300% 0}}
[data-sayac]{font-variant-numeric:tabular-nums}
.t-fosfor{color:inherit;background:linear-gradient(transparent 55%,color-mix(in srgb,var(--vurgu,var(--brand)) 45%,transparent) 55%) no-repeat 0 0/100% 100%;padding:0 .1em;transition:background-size 1s var(--mv-ease) .15s}
html.mv-js:not([data-anim=kapali]) .t-fosfor.mv-bekle:not(.mv-in){background-size:0 100%}
.t-parilti{background:linear-gradient(100deg,var(--muted) 40%,var(--ink) 50%,var(--muted) 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mv-parilti 2.2s linear infinite}
@keyframes mv-parilti{from{background-position:120% 0}to{background-position:-120% 0}}

/* ---------- B01–B04 arka plan ---------- */
.bg-bulut,.bg-kuzey,.bg-izgara{position:relative;isolation:isolate;overflow:hidden}
.bg-bulut::before,.bg-kuzey::before,.bg-kuzey::after,.bg-izgara::before{content:"";position:absolute;z-index:-1;pointer-events:none}
.bg-bulut::before{inset:-35%;opacity:.55;animation:mv-bulut 16s ease-in-out infinite alternate;
  background:radial-gradient(30% 35% at 25% 30%,color-mix(in srgb,var(--brand) 60%,transparent),transparent 70%),radial-gradient(30% 35% at 75% 55%,color-mix(in srgb,var(--brand2,var(--brand)) 55%,transparent),transparent 70%),radial-gradient(28% 30% at 45% 80%,color-mix(in srgb,var(--vurgu,var(--brand)) 40%,transparent),transparent 70%)}
@keyframes mv-bulut{to{transform:rotate(40deg) scale(1.15)}}
.bg-kuzey::before{width:70%;height:80%;left:-15%;top:-25%;background:radial-gradient(closest-side,color-mix(in srgb,var(--brand) 45%,transparent),transparent),radial-gradient(closest-side at 80% 90%,color-mix(in srgb,var(--vurgu,var(--brand)) 25%,transparent),transparent);animation:mv-kuzey1 14s ease-in-out infinite}
.bg-kuzey::after{width:65%;height:75%;right:-15%;bottom:-25%;background:radial-gradient(closest-side,color-mix(in srgb,var(--brand2,var(--brand)) 40%,transparent),transparent);animation:mv-kuzey2 17s ease-in-out infinite}
@keyframes mv-kuzey1{50%{transform:translate(18%,12%) scale(1.15)}}
@keyframes mv-kuzey2{50%{transform:translate(-20%,-10%) scale(.9)}}
.bg-izgara::before{inset:-50% -20% 0;transform:perspective(320px) rotateX(58deg);background-size:40px 40px;animation:mv-izgara 2.4s linear infinite;
  background-image:linear-gradient(color-mix(in srgb,var(--brand) 30%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--brand) 30%,transparent) 1px,transparent 1px);
  -webkit-mask-image:linear-gradient(transparent,#000 70%);mask-image:linear-gradient(transparent,#000 70%)}
@keyframes mv-izgara{to{background-position:0 40px}}
.mv-gizli::before,.mv-gizli::after,.mv-gizli.t-akan,.mv-gizli.t-parilti{animation-play-state:paused!important}
canvas[data-parcacik]{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block;color:var(--brand)}

/* ---------- D01–D07 veri ---------- */
:where(.d-cubuk){display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;gap:8px;height:var(--yuk,140px)}
:where(.d-cubuk)>*{height:var(--h,50%);min-width:4px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--brand2,var(--brand)),var(--brand))}
.d-cubuk>*{transform-origin:50% 100%;transition:transform .8s var(--mv-ease),height .6s var(--mv-ease);transition-delay:calc(min(var(--i,0),14)*60ms)}
.d-cubuk.mv-yatay>*{transform-origin:0 50%}
html.mv-js:not([data-anim=kapali]) .d-cubuk.mv-bekle:not(.mv-in)>*{transform:scaleY(calc(1 - var(--mv-k)))}
html.mv-js:not([data-anim=kapali]) .d-cubuk.mv-yatay.mv-bekle:not(.mv-in)>*{transform:scaleX(calc(1 - var(--mv-k)))}
:where(.d-cizgi){fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.d-cizgi.mv-cz{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.4s var(--mv-ease)}
html.mv-js:not([data-anim=kapali]) .d-cizgi.mv-cz.mv-bekle:not(.mv-in){stroke-dashoffset:1}
.d-cizgi.mv-sil,.d-mini .mv-mc{transition:clip-path 1.4s var(--mv-ease)}
html.mv-js:not([data-anim=kapali]) :is(.d-cizgi.mv-sil,.d-mini .mv-mc).mv-bekle:not(.mv-in){clip-path:inset(-10px calc(100% + 10px) -10px -10px)}
.d-cizgi.mv-sil.mv-in,.d-mini .mv-mc.mv-in{clip-path:inset(-10px -10px -10px -10px)}
.d-alan{transition:opacity .8s .8s}
html.mv-js:not([data-anim=kapali]) .d-alan.mv-bekle:not(.mv-in){opacity:0}
:where(.d-halka){--boyut:120px;position:relative;display:inline-grid;place-items:center;width:var(--boyut);height:var(--boyut);font-weight:800;text-align:center}
.d-halka>.mv-halka{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}
:where(.d-halka>:not(.mv-halka)){position:relative}
.mv-halka circle{fill:none;stroke-width:var(--kalin,10)}
.mv-halka .z{stroke:var(--halka-zemin,var(--line))}
.mv-halka .d{stroke:var(--halka-renk,var(--brand));stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p,0));transition:stroke-dashoffset 1.4s var(--mv-ease)}
html.mv-js:not([data-anim=kapali]) .d-halka.mv-bekle:not(.mv-in)>.mv-halka .d{stroke-dashoffset:100}
.d-mini{display:block;overflow:visible}
.d-mini .mv-mc{fill:none;stroke:var(--mini-renk,var(--ok));stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:clip-path 1.2s var(--mv-ease),d .6s var(--mv-ease)}
.d-mini .mv-ma{fill:color-mix(in srgb,var(--mini-renk,var(--ok)) 14%,transparent);stroke:none;transition:opacity .6s .6s,d .6s var(--mv-ease)}
html.mv-js:not([data-anim=kapali]) .d-mini .mv-ma.mv-bekle:not(.mv-in){opacity:0}
html.mv-js:not([data-anim=kapali]) .d-takvim.mv-bekle:not(.mv-in)>*{opacity:0}
.d-takvim.mv-in>*{animation:mv-hucre .45s var(--mv-yay) both;animation-delay:calc(min(var(--d,0),16)*40ms)}
.d-takvim.mv-son>*{animation:none}
@keyframes mv-hucre{from{opacity:0;transform:scale(calc(1 - .6*var(--mv-k)))}}
:where(.d-bar){position:relative;display:block;height:var(--kalin,10px);border-radius:99px;background:var(--line);overflow:hidden}
.d-bar:not(:has(>*))::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p,0%);border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand2,var(--brand)))}
:where(.d-bar)>*{display:block;height:100%;width:var(--p,0%);border-radius:inherit;background:var(--brand)}
.d-bar::after,.d-bar>*{transform-origin:0 50%;transition:transform 1.3s var(--mv-ease),width .6s var(--mv-ease)}
html.mv-js:not([data-anim=kapali]) .d-bar.mv-bekle:not(.mv-in)>*{transform:scaleX(calc(1 - var(--mv-k)))}
html.mv-js:not([data-anim=kapali]) .d-bar.mv-bekle:not(.mv-in)::after{transform:scaleX(calc(1 - var(--mv-k)))}
@property --mv-t{syntax:"<number>";inherits:false;initial-value:1}
:where(.d-pasta){--boyut:140px;position:relative;display:inline-grid;place-items:center;width:var(--boyut);aspect-ratio:1;border-radius:50%;background:var(--line);font-weight:800;text-align:center}
:where(.d-pasta)::after{content:"";position:absolute;inset:var(--kalin,22%);border-radius:50%;background:var(--surface)}
:where(.d-pasta)>*{position:relative;z-index:1}
.d-pasta{--mv-t:1;transition:--mv-t 1.4s var(--mv-ease)}
html.mv-js:not([data-anim=kapali]) .d-pasta.mv-bekle:not(.mv-in){--mv-t:calc(1 - var(--mv-k))}

/* ---------- G01 açılan pencere (@starting-style) ---------- */
:is(.modal,.sheet,.basari):not([hidden]){transition:opacity .25s var(--mv-ease)}
:is(.modal>*,.sheet>*,[role=dialog]:not(.cekmece)):not([hidden]),dialog[open]{transition:opacity .25s var(--mv-ease),scale .4s var(--mv-yay),translate .4s var(--mv-yay)}
@starting-style{
  :is(.modal,.sheet,.basari):not([hidden]){opacity:0}
  :is(.modal>*,.sheet>*,[role=dialog]:not(.cekmece)):not([hidden]),dialog[open]{opacity:0;scale:calc(1 - .08*var(--mv-k));translate:0 calc(12px*var(--mv-k))}
}
.mv-kapaniyor{opacity:0!important;transition:opacity .18s!important}
/* G02 çekmece */
.cekmece{position:fixed;top:0;bottom:0;right:0;z-index:900;width:min(420px,92vw);overflow:auto;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));
  transform:translateX(calc(105%*var(--mv-k)));opacity:var(--mv-k);visibility:hidden;transition:transform .42s var(--mv-ease),opacity .3s,visibility 0s .42s}
.cekmece[data-yon=sol]{right:auto;left:0;transform:translateX(calc(-105%*var(--mv-k)))}
.cekmece.acik{transform:none;opacity:1;visibility:visible;transition:transform .42s var(--mv-ease),opacity .3s,visibility 0s}
.mv-perde{position:fixed;inset:0;z-index:899;background:color-mix(in srgb,var(--ink) 40%,transparent);opacity:0;transition:opacity .3s}
.mv-perde.acik{opacity:1}
/* G03 kayan bildirim */
.mv-toastlar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px) + var(--mv-toast-alt,0px));transform:translateX(-50%);z-index:10000;display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 24px);pointer-events:none}
.mv-toast{--tr:var(--ok);display:flex;align-items:center;gap:10px;max-width:100%;padding:11px 16px 11px 12px;border-radius:14px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--tr);box-shadow:var(--shadow);font-weight:700;font-size:14.5px;line-height:1.35;pointer-events:auto;cursor:pointer;animation:mv-toast-gir .45s var(--mv-yay)}
.mv-toast svg{flex:none;width:20px;height:20px;color:var(--tr)}
.mv-toast[data-tur=hata]{--tr:var(--bad)}.mv-toast[data-tur=bilgi]{--tr:var(--brand)}.mv-toast[data-tur=uyari]{--tr:var(--warn)}
.mv-toast.mv-cik{opacity:0;transform:translateY(calc(10px*var(--mv-k))) scale(calc(1 - .04*var(--mv-k)));transition:opacity .25s,transform .25s}
@keyframes mv-toast-gir{from{opacity:0;transform:translateY(calc(24px*var(--mv-k))) scale(calc(1 - .06*var(--mv-k)))}}
/* G04 iskelet */
.iskelet{display:block;min-height:14px;border-radius:8px;color:transparent!important;background:linear-gradient(90deg,var(--line) 40%,color-mix(in srgb,var(--line) 35%,var(--surface)) 50%,var(--line) 60%) 0 0/250% 100%;animation:mv-iskelet 1.3s linear infinite}
.iskelet+.iskelet{margin-top:10px}
.iskelet.mv-is-1{width:60%;height:20px}.iskelet.mv-is-k{width:80%}
@keyframes mv-iskelet{from{background-position:100% 0}to{background-position:-150% 0}}
.mv-belir{animation:mv-belir .4s var(--mv-ease)}
@keyframes mv-belir{from{opacity:0;transform:translateY(calc(8px*var(--mv-k)))}}
/* G05 konfeti */
.mv-konfeti{position:fixed;inset:0;width:100vw;height:100vh;z-index:10001;pointer-events:none}
/* G06 sayfa geçişi (az/kapali'da JS atlar, CSS de animasyonu kaldırır) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:mv-vt-cik .28s var(--mv-ease) both}
::view-transition-new(root){animation:mv-vt-gir .32s var(--mv-ease) both}
html:is([data-anim=az],[data-anim=kapali],.mv-az)::view-transition-old(root),html:is([data-anim=az],[data-anim=kapali],.mv-az)::view-transition-new(root){animation:none}
@media (prefers-reduced-motion:reduce){html:not([data-anim=tam])::view-transition-old(root),html:not([data-anim=tam])::view-transition-new(root){animation:none}}
@keyframes mv-vt-cik{to{opacity:0;transform:translateX(-28px)}}
@keyframes mv-vt-gir{from{opacity:0;transform:translateX(28px)}}
/* G07 zil */
.mv-zil svg,.mv-zil:not(:has(svg)){animation:mv-zil .9s ease-in-out;transform-origin:50% 10%}
.mv-zil>:is(i,b,.rozet):not([hidden]){animation:mv-pop .45s .45s var(--mv-yay) both}
@keyframes mv-zil{15%{transform:rotate(calc(18deg*var(--mv-k)))}30%{transform:rotate(calc(-15deg*var(--mv-k)))}45%{transform:rotate(calc(11deg*var(--mv-k)))}60%{transform:rotate(calc(-7deg*var(--mv-k)))}75%{transform:rotate(calc(3deg*var(--mv-k)))}}
@keyframes mv-pop{from{opacity:0;transform:scale(calc(1 - var(--mv-k)))}}
/* G08 başarı ekranı */
.basari{position:fixed;inset:0;z-index:10002;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.basari-kutu{width:min(380px,100%);padding:28px 24px 22px;border-radius:var(--radius,22px);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}
.basari-kutu h2{margin:14px 0 6px;font:800 22px/1.25 var(--display,inherit);animation:mv-yuksel .5s .5s var(--mv-ease) both}
.basari-kutu p{margin:0 0 18px;color:var(--muted);animation:mv-yuksel .5s .62s var(--mv-ease) both}
.basari-kutu .mv-b-dugme{animation:mv-yuksel .5s .74s var(--mv-ease) both;min-width:140px;justify-content:center}
@keyframes mv-yuksel{from{opacity:0;transform:translateY(calc(10px*var(--mv-k)))}}

/* ---------- M01–M10 mikro ---------- */
.mv-dalga-kap{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0}
.mv-dalga{position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);animation:mv-dalga .6s ease-out forwards;pointer-events:none}
@keyframes mv-dalga{to{transform:scale(2.6);opacity:0}}
input[type=checkbox].anahtar{-webkit-appearance:none;appearance:none;flex:none;width:46px;height:28px;margin:0;border-radius:99px;cursor:pointer;vertical-align:middle;
  --kn:var(--muted);background:radial-gradient(circle closest-side,var(--kn) 0 calc(100% - 1px),transparent 100%) 3px 50%/22px 22px no-repeat,var(--line2,var(--line));
  transition:background-position .45s var(--mv-yay),background-color .25s}
input[type=checkbox].anahtar:checked{--kn:var(--brand-ink,var(--surface));background-position:21px 50%,0 0;background-color:var(--brand);background-image:radial-gradient(circle closest-side,var(--kn) 0 calc(100% - 1px),transparent 100%),linear-gradient(var(--brand),var(--brand))}
input[type=checkbox].anahtar:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
input[type=checkbox].anahtar:disabled{opacity:.5;cursor:not-allowed}
.m-tik{--boyut:64px;display:inline-grid;place-items:center;width:var(--boyut);height:var(--boyut);border-radius:50%;background:var(--ok-bg,color-mix(in srgb,var(--ok) 16%,var(--surface)));color:var(--ok)}
.m-tik svg{width:55%;height:55%;overflow:visible}
.m-tik path{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
html.mv-js:not([data-anim=kapali]) .m-tik.mv-bekle:not(.mv-in){transform:scale(calc(1 - .4*var(--mv-k)));opacity:.3}
html.mv-js:not([data-anim=kapali]) .m-tik.mv-bekle:not(.mv-in) path{stroke-dashoffset:1}
.m-tik.mv-in{animation:mv-pop2 .5s var(--mv-yay) both}
.m-tik.mv-in path{animation:mv-ciz .45s .25s ease-out both}
@keyframes mv-pop2{from{transform:scale(calc(1 - .4*var(--mv-k)));opacity:.3}}
@keyframes mv-ciz{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.basari .m-tik{--boyut:78px;background:var(--ok);color:var(--ok-bg,var(--surface))}
button.m-kalp{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
button.m-kalp svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;transition:fill .2s}
button.m-kalp[aria-pressed=true]{color:var(--bad)}
button.m-kalp[aria-pressed=true] svg{fill:currentColor}
button.m-kalp.mv-pat svg{animation:mv-kalp .5s var(--mv-yay)}
button.m-kalp i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--bad);opacity:0;pointer-events:none}
button.m-kalp i:nth-of-type(even){background:var(--vurgu,var(--brand))}
button.m-kalp.mv-pat i{animation:mv-sac .6s ease-out}
button.m-kalp:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@keyframes mv-kalp{30%{transform:scale(calc(1 - .3*var(--mv-k)))}60%{transform:scale(calc(1 + .3*var(--mv-k)))}}
@keyframes mv-sac{0%{opacity:calc(var(--mv-k));transform:none}100%{opacity:0;transform:translate(calc(var(--x)*var(--mv-k)),calc(var(--y)*var(--mv-k))) scale(.4)}}
.mv-salla{animation:mv-salla .45s;border-color:var(--bad)!important;outline-color:var(--bad)}
@keyframes mv-salla{20%,60%{transform:translateX(calc(-7px*var(--mv-k)))}40%,80%{transform:translateX(calc(7px*var(--mv-k)))}}
.mv-yuk{position:relative;cursor:progress}
.mv-spin{display:inline-block;width:1.15em;height:1.15em;border-radius:50%;border:2.5px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;animation:mv-don .8s linear infinite;vertical-align:-.2em}
html[data-anim=kapali] .mv-spin,html.mv-az .mv-spin{animation-duration:1.6s!important;animation-iteration-count:infinite!important}
@keyframes mv-don{to{transform:rotate(360deg)}}
.mv-tamam{background:var(--ok-bg)!important;color:var(--ok)!important;border-color:var(--ok)!important;transition:background-color .3s,color .3s}
.mv-tamam svg,.mv-kopyalandi svg{width:1.1em;height:1.1em;vertical-align:-.18em}
.mv-kopyalandi{color:var(--ok)!important;border-color:var(--ok)!important}
details.akordeon{border-bottom:1px solid var(--line);overflow:hidden}
details.akordeon>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px;cursor:pointer;font-weight:800;list-style:none}
details.akordeon>summary::-webkit-details-marker{display:none}
details.akordeon>summary::after{content:"";flex:none;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .35s var(--mv-ease);opacity:.7}
details.akordeon[open]:not(.mv-kapan)>summary::after{transform:translateY(2px) rotate(-135deg)}
details.akordeon>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
.m-sekme{position:relative;isolation:isolate}
.m-sekme>.mv-gosterge{position:absolute;left:0;top:0;z-index:-1;border-radius:10px;background:var(--brand);pointer-events:none;transition:transform .4s var(--mv-ease),width .4s var(--mv-ease),height .4s var(--mv-ease),opacity .2s}
.m-sekme:not(.mv-hazir)>.mv-gosterge{transition:none;opacity:0}
.m-sekme.mv-hazir>.mv-ak{background:transparent!important;box-shadow:none!important;border-color:transparent!important}
.m-adim{display:inline-flex;align-items:stretch;border:1px solid var(--line2,var(--line));border-radius:13px;background:var(--surface);overflow:hidden;max-width:100%}
.m-adim:focus-within{outline:2px solid var(--brand);outline-offset:1px}
.m-adim>input[type=number]{-moz-appearance:textfield;appearance:textfield;width:var(--gen,4.5em);min-width:0;border:0;border-radius:0;background:transparent;color:var(--ink);text-align:center;font:inherit;font-weight:800;font-variant-numeric:tabular-nums;padding:8px 4px;margin:0;outline:0;box-shadow:none}
.m-adim>input[type=number]::-webkit-inner-spin-button,.m-adim>input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.m-adim>button{flex:none;width:42px;min-height:42px;margin:0;border:0;border-radius:0;background:var(--surface2,var(--surface));color:var(--ink);font:800 20px/1 var(--sans,inherit);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.m-adim>button:hover{background:var(--brand-soft,var(--line))}
.m-adim>button:disabled{opacity:.35;cursor:not-allowed}
.m-adim>button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.m-adim>input.mv-yukari{animation:mv-adim-y .3s var(--mv-ease)}
.m-adim>input.mv-asagi{animation:mv-adim-a .3s var(--mv-ease)}
@keyframes mv-adim-y{from{transform:translateY(calc(55%*var(--mv-k)));opacity:0}}
@keyframes mv-adim-a{from{transform:translateY(calc(-55%*var(--mv-k)));opacity:0}}
.mv-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Az hareket: sonsuz döngüler durur */
:is(html[data-anim=az],html.mv-az) :is(.bg-bulut,.bg-kuzey,.bg-izgara)::before,:is(html[data-anim=az],html.mv-az) .bg-kuzey::after,
:is(html[data-anim=az],html.mv-az) :is(.t-akan,.t-parilti,.iskelet,.mv-daktilo-imlec,.mv-zil svg,.mv-dalga){animation:none}
@media (prefers-reduced-motion:reduce){html:not([data-anim=tam]) :is(.bg-bulut,.bg-kuzey,.bg-izgara)::before,html:not([data-anim=tam]) .bg-kuzey::after,html:not([data-anim=tam]) :is(.t-akan,.t-parilti,.iskelet,.mv-daktilo-imlec){animation:none}}
