/* EŞİK — 7-17 "Yaklaşan Kötülük" (todd.js) */
/* GİRİŞ */
#ekFx .ekStage.tdGiris{background:transparent!important;cursor:default!important;animation:none!important}
#ekFx .ekStage.tdGiris.ekLeaving{animation:none!important}
.tdGirisKara{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,#07080b 0%,#020203 70%);animation:tdKara var(--td-ms,7.6s) linear both!important}
@keyframes tdKara{0%{opacity:0}5%{opacity:1}76%{opacity:1}100%{opacity:0}}
.tdGirisYarik{position:absolute;left:50%;top:14%;width:2px;height:72%;margin-left:-1px;border-radius:2px;
 background:linear-gradient(transparent,rgba(255,255,255,.9) 22%,#f4fff8 50%,rgba(255,255,255,.9) 78%,transparent);
 box-shadow:0 0 22px 5px rgba(200,255,225,.45),0 0 90px 22px rgba(120,255,190,.12);opacity:0;transform:scaleY(0);
 animation:tdYarik 1.5s .78s cubic-bezier(.12,.9,.1,1) both!important}
@keyframes tdYarik{0%{opacity:0;transform:scaleY(0)}5%{opacity:1;transform:scaleY(1)}16%{opacity:.5;transform:scaleY(1) scaleX(.6)}100%{opacity:0;transform:scaleY(1) scaleX(.2)}}
.tdGirisBaslik{position:absolute;left:0;right:0;top:41%;text-align:center;color:#ebe6da;font-family:Georgia,'Times New Roman',serif}
.tdGirisBaslik h2{display:inline-block;transform-origin:0 0;animation:tdYaklas 5.2s .4s cubic-bezier(.3,0,.3,1) both!important}
@keyframes tdYaklas{from{scale:.97}to{scale:1.02}}
.tdGirisBaslik.tdIn small,.tdGirisBaslik.tdIn em{transition:opacity .7s ease-in!important;opacity:0!important;animation:none!important}
html.tdGirisAcik .chapterOpening h2{opacity:0!important}
.tdGirisBaslik small{display:block;font:600 11px/1 Ui,Arial,sans-serif;letter-spacing:.42em;color:rgba(214,206,190,.55);margin-bottom:22px;opacity:0;animation:tdIn 1.4s 1.7s ease-out forwards!important}
.tdGirisBaslik h2{margin:0;font-weight:400;font-size:clamp(38px,5.4vw,68px);letter-spacing:.06em;line-height:1.1}
.tdGirisBaslik h2 span{display:inline-block;opacity:0;filter:blur(9px);transform:translateY(7px);will-change:opacity,filter,transform;
 animation:tdHarf 1.7s calc(1.95s + var(--i)*68ms) cubic-bezier(.2,.7,.1,1) forwards!important}
@keyframes tdHarf{60%{filter:blur(0)}to{opacity:1;filter:blur(0);transform:none}}
.tdGirisBaslik em{display:block;margin-top:20px;font:italic 15px/1 Georgia,serif;color:rgba(214,206,190,.5);letter-spacing:.08em;opacity:0;animation:tdIn 1.4s 3.4s ease-out forwards!important}
@keyframes tdIn{to{opacity:1}}
.tdGirisGoz{position:absolute;left:79%;top:27%;width:40px;height:10px;transition:translate .6s cubic-bezier(.2,.8,.2,1)!important}
.tdGirisGoz i{position:absolute;top:0;width:7px;height:4px;border-radius:50%;background:#c9ffd9;
 box-shadow:0 0 6px 2px rgba(80,255,150,.85),0 0 22px 6px rgba(40,220,120,.35);opacity:0;animation:tdGoz 1.7s 4.55s ease-out both!important}
.tdGirisGoz i:first-child{left:0}.tdGirisGoz i:last-child{left:24px}
@keyframes tdGoz{0%{opacity:0;transform:scaleY(.1)}14%{opacity:1;transform:scaleY(1)}48%{opacity:1;transform:scaleY(1)}54%{opacity:1;transform:scaleY(.08)}62%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(.6)}}

/* p11: “Ölüm” kısmı atlanmış */
.tdAtla{color:transparent!important;-webkit-text-stroke:.7px rgba(216,217,219,.55);letter-spacing:.02em}

/* Satır tuvali ve yarık */
.tdTasiyici{position:relative!important}
.tdTuval{position:absolute;pointer-events:none;z-index:3}
.tdYarik{position:relative!important}
.tdYarik>.tdUst{display:block;position:relative;z-index:1}
.tdYarik>.tdAlt{display:block;position:absolute;left:0;top:0;right:0;z-index:1;pointer-events:none;user-select:none}

/* p137: kan, kan, kankankan… */
.tdS137 .tdKan{color:#d0293a!important;text-shadow:0 0 1px rgba(120,0,10,.6)}
.tdS137a .tdKan{animation:tdKan .5s calc(var(--i)*85ms) cubic-bezier(.3,0,.2,1) both!important}
@keyframes tdKan{0%{color:inherit;text-shadow:none}35%{color:#ff4a55}100%{color:#d0293a}}
.tdKan{display:inline-block;position:relative}
.tdS137 .tdKan::after{content:'';position:absolute;left:46%;top:82%;width:2px;height:10px;border-radius:0 0 2px 2px;background:linear-gradient(#b2101e,#d0293a);transform-origin:top;transform:scaleY(calc(.5 + var(--i)*.08))}
.tdS137a .tdKan::after{animation:tdDamla 1.6s calc(var(--i)*85ms + 300ms) cubic-bezier(.5,0,.2,1) both!important}
@keyframes tdDamla{from{transform:scaleY(0)}}
.tdDur{display:inline-block}
.tdS137 .tdDur{translate:calc(var(--i)*.2px - 3px) calc(sin(var(--i)*1.7)*1.6px);color:#cfc6c0}
.tdS137a .tdDur{animation:tdTakil .7s calc(var(--i)*85ms) steps(7) both!important}
@keyframes tdTakil{0%{translate:0 0}20%{translate:-2px 1px}40%{translate:2px -1px}60%{translate:-1px 2px}80%{translate:1px -2px}}
.tdS137 .tdUzun{letter-spacing:.38em;opacity:.45}
.tdS137a .tdUzun{animation:tdUzan 2.4s 1.2s cubic-bezier(.3,0,.2,1) both!important}
@keyframes tdUzan{from{letter-spacing:0;opacity:1}}
.tdS137 .tdSon{opacity:.12}
.tdS137a .tdSon{animation:tdSon 2s 1.8s ease-in both!important}
@keyframes tdSon{from{opacity:1}}
/* p139 "r." */
.tdR{letter-spacing:.06em}

/* p141 yankı: tanıdık söz ürperir */
.tdUrper{animation:tdUrper .9s cubic-bezier(.3,0,.2,1)!important}
@keyframes tdUrper{0%,100%{translate:0}12%{translate:-1.5px 0}24%{translate:1.5px 0}36%{translate:-1px 0}48%{translate:.6px 0}}
@media (prefers-reduced-motion:reduce){.tdS137a *,.tdUrper{animation:none!important}}

/* geri sarma sırasında üst menü görünmesin */
html.tdGeriSar header.mast,html.tdGeriSar .readhead{opacity:0!important;pointer-events:none!important;transition:opacity .25s!important}
.tdR{color:#efe6df!important;text-shadow:0 0 10px rgba(255,220,200,.25)}

/* ===== 3. döngü ===== */
.tdKel{display:inline-block;will-change:transform}
.tdAci{display:inline-block}
html.tdAciOn .tdAci{animation:tdAci 1.15s ease-in-out infinite!important;color:#f3d6d0}
@keyframes tdAci{0%,100%{transform:scale(1);text-shadow:none}12%{transform:scale(1.12);color:#ff5a4a;text-shadow:0 0 10px rgba(255,40,30,.55)}30%{transform:scale(1.02)}}
.tdKirik{display:inline-block}
.tdBirsey{opacity:calc(1 - var(--i)*.3)}
.tdOlum1{color:#f2f0ea;text-shadow:0 0 8px rgba(255,255,255,.35)}
.tdOlum2{background:linear-gradient(transparent 62%,rgba(200,20,40,.55) 62%,rgba(200,20,40,.55) 70%,transparent 70%)}
.tdOlum3{letter-spacing:.03em;text-shadow:1px 1px 0 rgba(120,100,80,.5)}
.tdCehennem{color:#ffb38a;text-shadow:0 0 8px rgba(255,80,20,.5),0 0 2px rgba(255,140,60,.6)}

/* ===== meyhane ===== */
.tdSisme{animation:tdSisme 1.7s cubic-bezier(.55,0,.9,.4) forwards!important}
@keyframes tdSisme{0%{color:inherit;text-shadow:none}55%{color:#ffd2b8;text-shadow:0 0 6px rgba(255,90,40,.7)}100%{color:#fff1e2;text-shadow:0 0 4px #ffb070,0 0 16px rgba(255,60,10,.9),0 0 34px rgba(255,30,0,.55)}}
.tdPatladi{animation:none!important;color:#f0d7c6!important;text-shadow:0 0 5px rgba(255,90,30,.35)}
/* "kapkara kömüre": harfler önce kor gibi yanar, sonra kül rengine soğur; kâğıt arkasında kömürleşir (WebGL) */
.tdKomur{display:inline}
.tdKomurOn .tdKomur{animation:tdKomur 3.2s ease-out forwards!important}
@keyframes tdKomur{0%{color:inherit;text-shadow:none}18%{color:#fff0d0;text-shadow:0 0 6px #ffae55,0 0 14px rgba(255,90,20,.85)}45%{color:#ff9a4a;text-shadow:0 0 4px rgba(255,80,10,.8)}100%{color:#9c8f86;text-shadow:0 0 3px rgba(255,90,30,.25),0 1px 0 rgba(0,0,0,.6)}}
.tdIaiSatir .tdUst,.tdIaiSatir .tdAlt{filter:none}
.tdNeden1{letter-spacing:.02em;opacity:.9}
.tdNeden2{font-size:1.18em;letter-spacing:.03em}
.tdNeden3{font-size:2.1em;font-weight:700;letter-spacing:.04em;line-height:1.2;color:#fff3ec}
.tdNedenAn{animation:tdNeden .65s steps(9) both!important}
@keyframes tdNeden{0%{transform:scale(.9)}20%{transform:scale(1.06) translate(-3px,1px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,2px)}100%{transform:none}}
.tdYazGizli .tdH{opacity:0}
.tdYaz .tdH{opacity:0;animation:tdHarfYaz .25s calc(var(--i)*42ms) ease-out forwards!important}
@keyframes tdHarfYaz{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:none}}
.tdYine{color:#bfffd2;text-shadow:0 0 8px rgba(60,255,140,.55)}
.tdYaz .tdYine .tdH{animation-name:tdHarfYesil!important}
@keyframes tdHarfYesil{from{opacity:0;filter:blur(3px)}60%{color:#eafff0;text-shadow:0 0 14px #3dff8a}to{opacity:1;filter:none}}
.a7Deaths.tdYesil .a7DMark{background:#7dffa8!important;box-shadow:0 0 8px #3dff8a!important;transition:background .4s,box-shadow .4s!important}

/* ===== son: ekranın tamamı ikiye ===== */
.tdYarKat{position:fixed;inset:0;z-index:44;pointer-events:none;perspective:1500px;perspective-origin:50% 45%;overflow:hidden}
.tdEkran{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform,opacity;backface-visibility:hidden}
.tdSolYari{transform-origin:0% 50%}
.tdSagYari{transform-origin:100% 50%}
.tdEkArka{position:absolute;inset:0;width:100%;height:100%}
.tdEkKagit{position:absolute;top:0;bottom:0;overflow:hidden}
.tdEkKagit p,.tdEkKagit .speech{color:#d8d9db}
.tdEkIsik{position:absolute;top:0;bottom:0;left:50%;width:46px;margin-left:-23px;background:linear-gradient(90deg,transparent,rgba(170,255,210,.55),rgba(255,255,255,.95),rgba(170,255,210,.55),transparent);animation:tdEkIsik 1.6s ease-out forwards!important}
@keyframes tdEkIsik{0%{opacity:1}100%{opacity:0}}
.tdGizle{visibility:hidden!important}
html.tdKaraKagit #reading .paper,html.tdBosluk #reading .paper{background:#000!important;border-color:transparent!important;box-shadow:none!important;transition:background .15s!important}
html.tdBosluk,html.tdBosluk body,html.tdBosluk main,html.tdBosluk #reading,html.tdBosluk .book{background:#000!important}
html.tdBosluk #reading .paper::before,html.tdBosluk #reading .paper::after{opacity:0!important}
html.tdBosluk .tdSonSatir{text-align:center;color:#d8d2c8!important}
html.tdBosluk p.tdSonSatir[data-paragraph="p0528"]{font-size:1.18em;letter-spacing:.05em;margin-top:2.2em}
.flow .tdSonGizli{display:none!important}
/* boşlukta son satırlar karanlıktan geç gelir: önce kırık cümle, sonra tek satır */
html.tdBosluk .flow .ekGateReveal{animation:none!important}
html.tdBosluk.tdSonAc p.tdSonSatir[data-paragraph="p0527"]{animation:tdSonGel 1.8s .25s ease-out both!important}
html.tdBosluk.tdSonAc p.tdSonSatir[data-paragraph="p0528"]{animation:tdSonGel 2.2s 2.4s ease-out both!important}
@keyframes tdSonGel{0%{opacity:0;filter:blur(3px)}100%{opacity:1;filter:blur(0)}}
html.tdBosluk.tdSonAc .tdIkiye>.tdSol{animation:tdSolAyril 2.6s .5s cubic-bezier(.2,.7,.2,1) both!important}
html.tdBosluk.tdSonAc .tdIkiye>.tdSag{animation:tdSagAyril 2.6s .5s cubic-bezier(.2,.7,.2,1) both!important}
@keyframes tdSolAyril{0%{translate:0 0}100%{translate:0 -3px}}
@keyframes tdSagAyril{0%{translate:0 0}100%{translate:2px 4px}}
/* yırtılma: kenar şeridi, kararma örtüsü, düşen harfler; kopyada kesiğe yakın harfler gizli (ayrı parça olarak düşerler) */
.tdEkSerit{position:absolute;top:0;pointer-events:none}
.tdEkKara{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}
.tdDusen{position:fixed;white-space:pre;pointer-events:none;will-change:transform,opacity;z-index:2}
.tdEkran .tdKopan{visibility:hidden}
.tdIkiye{position:relative!important}
.tdIkiye>.tdSol{display:block;clip-path:inset(-20px 50% -20px -20px);translate:0 -3px}
.tdIkiye>.tdSag{display:block;position:absolute;left:0;right:0;top:0;clip-path:inset(-20px -20px -20px 50%);translate:2px 4px}

/* ===== Flop'un tekrar eden sözleri (t3): mor hatıra → önden koşan hayal → arkasından mürekkep ===== */
html.tdOn .flow .ekEchoTarget.ekEchoPlay{animation:none!important}
.flow .tdEk{position:relative}
.tdHafiza .tdEk{color:rgba(170,152,218,.3)!important;text-shadow:none!important}
.tdYanki .tdEk{animation:tdMurekkep .55s calc(var(--gec,430ms) + var(--i)*var(--hiz,32ms)) ease-out both!important}
/* t3b: hayal harfleri renk ve konumla oynar (saydamlık/dönüşüm her harfe ayrı katman açıp kare kaçırtıyordu) */
.tdYanki .tdEk::before{content:attr(data-c);position:absolute;left:1.5px;top:-1px;line-height:normal;pointer-events:none;white-space:pre;
 color:rgba(224,204,255,0);text-shadow:none;
 animation:tdHayal .42s calc(var(--i)*var(--hayal,14ms)) ease-out both,tdHayalSon .42s calc(var(--gec,430ms) + var(--i)*var(--hiz,32ms)) ease-in forwards!important}
@keyframes tdMurekkep{0%{color:rgba(170,152,218,.3)}35%{color:#fff6e8}100%{color:inherit}}
@keyframes tdHayal{0%{color:rgba(224,204,255,0);left:4px;top:-3px}100%{color:rgba(224,204,255,.96);left:1.5px;top:-1px}}
@keyframes tdHayalSon{100%{color:rgba(224,204,255,0);left:1px;top:-6px}}
/* ===== Ölümden Dönüş: kilitli sayfa açılır ===== */
html.tdAcilis .flow .ekGateReveal{animation:none!important}
.tdSimge{display:inline-block}
.tdSimgeDon .tdSimge{animation:tdSimge .7s calc(var(--i)*140ms) cubic-bezier(.3,1.5,.5,1) both!important}
@keyframes tdSimge{0%{transform:rotateX(180deg) scale(.6);opacity:0;color:inherit;text-shadow:none}50%{opacity:1;color:#efe2ff;text-shadow:0 0 10px rgba(170,120,255,.95)}100%{transform:none;opacity:1;color:inherit;text-shadow:0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.tdYanki .tdEk,.tdYanki .tdEk::before,.tdSimgeDon .tdSimge{animation:none!important}}
/* ===== arka sahne kenar boşluklarında görünsün (gece teması) ===== */
html.night.tdOn body{background:transparent!important}
html.night.tdOn .reading .book{background:transparent!important;box-shadow:none!important}
html.tdYanik #reading .paper{border-color:transparent!important;box-shadow:none!important}
html.tdYanik .reading .pageedge,html.tdBosluk .reading .pageedge{opacity:0!important;transition:opacity .6s!important}

/* ===== Ölümden Dönüş (t3): cadının kucağı, sayfanın ve başlığın üstünde ===== */
.tdDonusTuval{position:fixed;inset:0;width:100vw;height:100vh;z-index:45;pointer-events:none}
/* t3b: sisten uzanan eller (Dönüş katmanının üstünde) */
.tdDonusEl{position:fixed;inset:0;width:100vw;height:100vh;z-index:46;pointer-events:none}
.flow .tdGecmis{opacity:.5!important}
/* yanarken kâğıdın 1 px'lik saydam kenarından kâğıt rengi sızmasın (kenar boşluğunda ince koyu çizgi) */
html.tdYanik #reading .paper,html.tdBosluk #reading .paper{background-clip:padding-box!important}

/* ===== t3b: açık tema (aydınlık). Koyu tema için açık renkli imzalar krem kâğıtta okunmuyordu (hata arayıcı, t3 taraması);
   aynı tasarım, krem kâğıda göre koyu renklerle. Koyu tema değişmedi. ===== */
html:not(.night) .tdR{color:#2a1813!important;text-shadow:0 0 10px rgba(120,40,30,.18)}
html:not(.night).tdAciOn .tdAci{animation-name:tdAciA!important;color:#8a2418}
@keyframes tdAciA{0%,100%{transform:scale(1);text-shadow:none}12%{transform:scale(1.12);color:#c41e12;text-shadow:0 0 10px rgba(220,40,30,.35)}30%{transform:scale(1.02)}}
html:not(.night) .tdOlum1{color:#0e0e0e;text-shadow:0 0 8px rgba(0,0,0,.2)}
html:not(.night) .tdCehennem{color:#ab3608;text-shadow:0 0 6px rgba(255,120,40,.45)}
html:not(.night) .tdSisme{animation-name:tdSismeA!important}
@keyframes tdSismeA{0%{color:inherit;text-shadow:none}55%{color:#a8320e;text-shadow:0 0 6px rgba(255,110,40,.6)}100%{color:#6b1604;text-shadow:0 0 4px rgba(255,150,80,.9),0 0 14px rgba(255,80,20,.7),0 0 30px rgba(255,40,0,.35)}}
html:not(.night) .tdPatladi{color:#5e1c0c!important;text-shadow:0 0 5px rgba(255,110,40,.35)}
html:not(.night) .tdKomurOn .tdKomur{animation-name:tdKomurA!important}
@keyframes tdKomurA{0%{color:inherit;text-shadow:none}18%{color:#d65a10;text-shadow:0 0 6px #ffae55,0 0 14px rgba(255,90,20,.6)}45%{color:#a43a0a;text-shadow:0 0 4px rgba(255,80,10,.6)}100%{color:#3a3330;text-shadow:0 0 3px rgba(255,90,30,.2)}}
html:not(.night) .tdNeden3{color:#180c09}
html:not(.night) .tdYine{color:#0e6a32;text-shadow:0 0 8px rgba(40,200,110,.35)}
html:not(.night) .tdYaz .tdYine .tdH{animation-name:tdHarfYesilA!important}
@keyframes tdHarfYesilA{from{opacity:0;filter:blur(3px)}60%{color:#0f8a42;text-shadow:0 0 12px rgba(40,220,120,.6)}to{opacity:1;filter:none}}
html:not(.night) .tdS137 .tdDur{color:#5e5650}
html:not(.night) .tdHafiza .tdEk{color:rgba(96,62,170,.4)!important}
html:not(.night) .tdYanki .tdEk{animation-name:tdMurekkepA!important}
@keyframes tdMurekkepA{0%{color:rgba(96,62,170,.4)}35%{color:#5a32c8}100%{color:inherit}}
html:not(.night) .tdYanki .tdEk::before{animation-name:tdHayalA,tdHayalSonA!important}
@keyframes tdHayalA{0%{color:rgba(96,58,196,0);left:4px;top:-3px}100%{color:rgba(96,58,196,.85);left:1.5px;top:-1px}}
@keyframes tdHayalSonA{0%{color:rgba(96,58,196,.85)}100%{color:rgba(96,58,196,0);left:1px;top:-6px}}
html:not(.night) .tdSimgeDon .tdSimge{animation-name:tdSimgeA!important}
@keyframes tdSimgeA{0%{transform:rotateX(180deg) scale(.6);opacity:0;color:inherit;text-shadow:none}50%{opacity:1;color:#5a32c8;text-shadow:0 0 10px rgba(120,80,230,.5)}100%{transform:none;opacity:1;color:inherit;text-shadow:0 0 0 transparent}}
html:not(.night) .tdEkKagit p,html:not(.night) .tdEkKagit .speech{color:#2a2622}
