/* Rehber (yk-g2) konu sahneleri · partials/ori/guide-scene.htm, oynatma: guide-anim.js.
   Koyu panelde ince beyaz çizgi, tek vurgu kırmızı. Yalnız transform, opacity, stroke-dashoffset canlanır; düzen ölçüsü değişmez.
   Varsayılan (animasyonsuz) hâl sahnenin son hâlidir: JS yoksa ya da hareket azaltma açıksa durağan, tam çizili görünür.
   Oynatma: açık konu (.is-on) + panel ekranda (.gsa-run). Kapalı konuda animasyon kuralı eşleşmez, sahne durur. */
.ori .gsa{overflow:visible;fill:none;stroke:rgba(13,16,21,.42);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ori .gsa .d{stroke-dasharray:1;stroke-dashoffset:0}
.ori .gsa .f,.ori .gsa .ln.f{stroke:rgba(13,16,21,.2)}
.ori .gsa .r{stroke:#E1243A}
.ori .gsa .link{stroke-width:1.2;opacity:.85}
.ori .gsa .thick{stroke-width:3;stroke:rgba(13,16,21,.15)}
.ori .gsa .solid,.ori .gsa .drop rect{fill:#F4F4F2}
.ori .gsa .tx{fill:rgba(13,16,21,.42);stroke:none;font:600 11px 'DM Sans',system-ui,sans-serif;letter-spacing:.12em}
.ori .gsa .cur{fill:rgba(13,16,21,.55);stroke:none;font:600 26px 'DM Sans',system-ui,sans-serif}
.ori .gsa .rec{fill:#E1243A;stroke:none}
.ori .gsa .cone{fill:#E1243A;fill-opacity:.07;stroke:none}
.ori .gsa .wave{stroke:#E1243A;stroke-width:1.3;opacity:.3;transform-box:view-box;transform-origin:124px 118px}
.ori .gsa .trk{fill:rgba(13,16,21,.08);stroke:none}
.ori .gsa .bar{fill:rgba(13,16,21,.5);stroke:none;transform-box:fill-box;transform-origin:left center;transform:scaleX(var(--w,1))}
.ori .gsa .bar.rb{fill:#E1243A}
.ori .gsa .pop circle{fill:#E1243A;stroke:none}
.ori .gsa .pop path{stroke:#fff;stroke-width:1.8}
.ori .gsa .pop text{fill:#fff;stroke:none;font:700 15px 'DM Sans',system-ui,sans-serif}
.ori .gsa .pop,.ori .gsa .p,.ori .gsa .drop,.ori .gsa .ping{transform-box:fill-box;transform-origin:center}
.ori .gsa .ping{stroke:#E1243A;opacity:0}
.ori .gsa .px{fill:#23262c;stroke:none}.ori .gsa .px2{fill:#34373e}
.ori .gsa .shk{transform-box:fill-box}
.ori .gsa .cell{fill:rgba(13,16,21,.2);stroke:none}.ori .gsa .cell.last{fill:rgba(225,36,58,.3)}
.ori .gsa .flow{stroke:#E1243A;stroke-width:1.3;stroke-dasharray:3 7}
.ori .gsa .typ{opacity:0}
.ori .gsa .dot3{fill:rgba(13,16,21,.6);stroke:none;transform-box:fill-box;transform-origin:center}

/* yerleşim: kısa konuda gövde altındaki boşluk (mevcut .yk-g2__vf kutusu), uzun konuda üst satırdaki sayaç yanında küçük (JS .gsa-slot'a taşır) */
.ori .yk-g2__meta .gsa-slot{position:relative;flex:1 1 0;align-self:stretch;min-width:0}
.ori .yk-g2__meta .gsa-slot .gsa{position:absolute;top:0;right:0;width:auto;max-width:100%;height:100%}
.ori .yk-g2__meta .gsa-slot .gsa .tx{display:none}
/* küçük hâlde çizgi kalınlaşır, ölçek 0,45 civarı: ince çizgi kaybolmasın */
.ori .yk-g2__meta .gsa-slot .gsa{stroke-width:2.8;stroke:rgba(13,16,21,.5)}
.ori .yk-g2__meta .gsa-slot .gsa .f,.ori .yk-g2__meta .gsa-slot .gsa .ln.f{stroke:rgba(13,16,21,.3)}
.ori .yk-g2__meta .gsa-slot .gsa .link,.ori .yk-g2__meta .gsa-slot .gsa .flow,.ori .yk-g2__meta .gsa-slot .gsa .wave{stroke-width:2.4}
.ori .yk-g2__meta .gsa-slot .gsa .thick{stroke-width:5}
@media (max-width:991.98px){
  .ori .yk-g2__vf.gsa-on{display:block;flex:none;height:120px;margin-bottom:24px}
  .ori .yk-g2__vf.gsa-on .gsa{height:100%}
  .ori .yk-g2__meta .gsa-slot{display:none}
}

/* oynat */
.gsa-run .is-on .gsa .d{animation:gsDraw 8s var(--yk-ease,cubic-bezier(.2,.8,.2,1)) var(--d,0s) infinite both}
.gsa-run .is-on .gsa .p{animation:gsIn 8s var(--yk-ease,cubic-bezier(.2,.8,.2,1)) var(--d,0s) infinite both}
.gsa-run .is-on .gsa .pop{animation:gsPop 8s cubic-bezier(.3,1.6,.5,1) var(--d,0s) infinite both}
.gsa-run .is-on .gsa .bar{animation:gsBar 8s var(--yk-ease,cubic-bezier(.2,.8,.2,1)) var(--d,0s) infinite both}
.gsa-run .is-on .gsa .drop{animation:gsDrop 8s var(--yk-ease,cubic-bezier(.2,.8,.2,1)) var(--d,0s) infinite both}
.gsa-run .is-on .gsa .rec{animation:gsRec 1.4s steps(1) var(--d,0s) infinite}
.gsa-run .is-on .gsa .wave{animation:gsWave 2.4s ease-out var(--d,0s) infinite both}
.gsa-run .is-on .gsa .cone{animation:gsCone 3.2s ease-in-out infinite}
.gsa-run .is-on .gsa .ping{animation:gsPing 8s ease-out var(--d,0s) infinite both}
.gsa-run .is-on .gsa .px,.gsa-run .is-on .gsa .cell{animation:gsFade 8s ease-out var(--d,0s) infinite both}
.gsa-run .is-on .gsa .shk{animation:gsShk 8s var(--yk-ease,cubic-bezier(.2,.8,.2,1)) infinite both}
.gsa-run .is-on .gsa .flow{animation:gsFlow 1s linear infinite}
.gsa-run .is-on .gsa .typ{animation:gsTyp 8s ease-out var(--d,0s) infinite both}
.gsa-run .is-on .gsa .dot3{animation:gsDot 1s ease-in-out calc(var(--i,0) * .15s) infinite}
@keyframes gsDraw{0%{stroke-dashoffset:1}16%,82%{stroke-dashoffset:0}94%,100%{stroke-dashoffset:1}}
@keyframes gsIn{0%{opacity:0;transform:translateY(6px)}10%,82%{opacity:1;transform:none}94%,100%{opacity:0;transform:translateY(6px)}}
@keyframes gsPop{0%{opacity:0;transform:scale(1.7) rotate(-12deg)}8%,80%{opacity:1;transform:none}92%,100%{opacity:0;transform:scale(.6)}}
@keyframes gsBar{0%{transform:scaleX(0)}18%,80%{transform:scaleX(var(--w,1))}92%,100%{transform:scaleX(0)}}
@keyframes gsDrop{0%{opacity:0;transform:translateY(-26px)}10%{opacity:1;transform:translateY(2px)}13%,80%{opacity:1;transform:none}92%,100%{opacity:0;transform:translateY(-26px)}}
@keyframes gsRec{0%{opacity:1}50%,100%{opacity:.15}}
@keyframes gsWave{0%{opacity:0;transform:scale(.4)}15%{opacity:.9}70%,100%{opacity:0;transform:scale(1.06)}}
@keyframes gsCone{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes gsPing{0%{opacity:.9;transform:scale(.75)}22%,100%{opacity:0;transform:scale(1.3)}}
@keyframes gsFade{0%{opacity:0}4%,82%{opacity:1}94%,100%{opacity:0}}
@keyframes gsShk{0%,18%{transform:translateY(-7px)}26%,82%{transform:none}94%,100%{transform:translateY(-7px)}}
@keyframes gsFlow{to{stroke-dashoffset:-20}}
@keyframes gsTyp{0%{opacity:0}4%,12%{opacity:1}15%,100%{opacity:0}}
@keyframes gsDot{0%,60%,100%{transform:none}30%{transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.ori .gsa,.ori .gsa *{animation:none!important}}
