/* Fiş yırtılması (fis-yirtik.js). Kenarlar tohumlu gürültüden üretilen clip-path çizgisi; tırtık maskesi yerine.
   Fişin üstünde boş öncü kâğıt payı var: yırtık yazıcının altında, görünür bölgede ve yazıya değmeden olur. */
.fis.yz{padding-top:4.5rem;-webkit-mask:none;mask:none}   /* kırpma JS ile doğrudan clip-path olarak yazılır */
/* yırtılırken kuyu kırpmaz: kâğıt ekranın kenarlarına kadar savrulabilir, derinlik için perspektif (JS'teki 1500 ile aynı) */
.fis-kuyu.yz-serbest{overflow:visible;-webkit-mask:none;mask:none;perspective:1500px;perspective-origin:50% 0}
.fis-kat.yz-kat{overflow:hidden}
/* WebGL kâğıt ızgarası: kuyunun üstünde, yazıcının altında */
.yz-gl{position:absolute;left:0;top:0;width:100%;height:100%;z-index:3;pointer-events:none}
.yz-kocan,.yz-golge{position:absolute;pointer-events:none;transform-origin:0 0}
.yz-kocan{z-index:1}
.yz-kocan>i{position:absolute;inset:0}
.yz-golge{filter:blur(7px);opacity:0;will-change:transform,opacity}
.yz-golge>i{position:absolute;inset:0;background:rgba(22,28,40,.55)}
.yz-toz{position:absolute;left:0;top:0;width:100%;height:100%;z-index:4;pointer-events:none}
/* Kapalı fiş katı display:none değil, content-visibility:hidden: yerleşimi saklanır, açılışta yeniden yerleşim kasması olmaz */
#fis-kat.fis-kat[hidden]{display:flex!important;visibility:hidden;pointer-events:none;content-visibility:hidden}
/* display değişmediği için açılış animasyonları "acildi" sınıfıyla her açılışta yeniden başlar */
.fis-kat:not(.acildi){animation:none}
.fis-kat:not(.acildi)>.yazici{animation:none}
/* Erişilebilirlik (hata avcısı bulguları): kapat düğmesi görünüm aynı, dokunma alanı 44 px; küçük yazılar ≥4,5:1 kontrast */
#fis-kapat{position:relative}
#fis-kapat::after{content:"";position:absolute;inset:-6px}
.fis .satir .ek,.fis .magaza span,.fis .f-son{font-size:11.5px;color:rgba(31,29,26,.66)}
