.dfx{position:absolute;inset:0;z-index:100;display:grid;place-items:center;pointer-events:none;animation:dfxin .18s ease-out}
.dfx.out{animation:dfxout .26s ease-in forwards}
@keyframes dfxin{from{opacity:0}}@keyframes dfxout{to{opacity:0}}
.dfxbg{position:absolute;inset:0}
.dfxs{position:relative;width:min(300px,82vw);height:230px;display:grid;place-items:center}
.dfxs svg{width:100%;height:auto;display:block}
.dfxn{position:absolute;bottom:22%;left:0;right:0;text-align:center;font-family:var(--f-display);font-weight:800;font-size:26px;color:#fff;text-shadow:0 2px 0 #000,0 0 14px #000}
.dfxarm{position:absolute;left:-10%;width:120%!important}
.dfxneedle{position:absolute;width:86%!important;animation:dfxneedle 1.4s ease-in forwards}
@keyframes dfxneedle{0%{transform:translate(60px,-40px) rotate(16deg)}35%{transform:translate(0,0) rotate(6deg)}100%{transform:translate(0,0) rotate(6deg)}}
.dfxplg{animation:dfxplg .7s .6s ease-in forwards}
@keyframes dfxplg{to{width:6px}}
.dfxblood{position:absolute;left:46%;top:52%;width:12px;height:12px;border-radius:50%;background:#B3202F;opacity:0;animation:dfxblood .5s 1s forwards}
@keyframes dfxblood{0%{opacity:1;transform:scale(.4)}100%{opacity:1;transform:translateY(26px) scale(1.1)}}
.dfxmirror{position:absolute;bottom:18%;width:92%!important}
.dfxline{animation:dfxline .9s .4s ease-in forwards;transform-origin:left}
@keyframes dfxline{to{transform:scaleX(0)}}
.dfxnose{position:absolute;top:0;left:50%;width:120px;margin-left:-60px;animation:dfxnose 1.3s ease-in forwards}
.dfxnose svg{width:100%;height:auto}
@keyframes dfxnose{0%{transform:translateY(-10px)}45%{transform:translateY(46px)}100%{transform:translateY(10px)}}
.dfxpipe{position:absolute;width:86%!important;animation:dfxpipe 1.5s ease-in-out}
@keyframes dfxpipe{0%{transform:translateX(-30px) rotate(-8deg)}40%,100%{transform:none}}
.dfxember{animation:dfxemb .35s steps(2) infinite}
@keyframes dfxemb{50%{opacity:.5}}
.dfxsmoke{position:absolute;left:46%;top:46%;width:40px;height:40px;border-radius:50%;background:rgba(220,220,220,.55);animation:dfxsm 1.5s ease-out forwards}
.dfxsmoke.s2{animation-delay:.25s;left:52%}.dfxsmoke.s3{animation-delay:.5s;left:40%}
.dfxsmoke.g{background:rgba(120,220,110,.5)}.dfxsmoke.w{background:rgba(230,230,230,.4);width:28px;height:28px}
@keyframes dfxsm{to{transform:translateY(-120px) scale(2.4);opacity:0}}
.dfxdildo{position:absolute;width:38%!important;animation:dfxvib .08s linear infinite}
@keyframes dfxvib{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
.dfxwave{position:absolute;left:50%;top:50%;width:80px;height:80px;margin:-40px 0 0 -40px;border-radius:50%;border:3px solid rgba(255,79,176,.7);animation:dfxwavering 1.1s ease-out infinite}
.dfxwave.w2{animation-delay:-.36s}.dfxwave.w3{animation-delay:-.72s}
.dfxjoint{position:absolute;width:88%!important;animation:dfxpipe 1.5s ease-in-out}
.depbar{background:rgba(255,255,255,.06);border-radius:14px;padding:10px 12px;margin-bottom:12px}
.deph{display:flex;justify-content:space-between;font-weight:900;font-size:13px;margin-bottom:6px}
.depbar .bar{height:10px;border-radius:5px;background:rgba(0,0,0,.35);overflow:hidden}
.depbar .bar i{display:block;height:100%;background:linear-gradient(90deg,#F5C030,#E0243A)}
.depbar .muted{display:block;margin-top:6px;font-size:11.5px;line-height:1.3}
.odwarn{display:block;font-size:11.5px;font-weight:900;color:#FF6A7A}
.li.strain.on{box-shadow:0 0 0 2px var(--accent)}
.odfx{position:absolute;inset:0;z-index:110;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(224,36,58,.6),rgba(11,7,16,.95) 70%);animation:dfxin .2s}
.odfx b{font-family:var(--f-horror);font-weight:400;font-size:min(22vw,92px);color:#FF2A44;text-shadow:0 4px 0 #000,0 0 30px #E0243A;animation:bwin .6s cubic-bezier(.2,1.8,.4,1) both}
.odfx span{font-weight:900;font-size:18px;color:#fff;margin-top:6px}
.halu{position:absolute;inset:0;z-index:120;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,rgba(255,240,190,.5),rgba(10,6,16,.96) 72%);animation:dfxin .4s}
.halubg{position:absolute;inset:0;background:radial-gradient(circle at 50% 24%,rgba(255,240,170,.9),transparent 48%);animation:tw 2.4s ease-in-out infinite}
.halurays{position:absolute;left:50%;top:18%;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(from 0deg,rgba(255,236,160,.25) 0 7deg,transparent 7deg 18deg);animation:spn 22s linear infinite}
.halujesus{position:absolute;left:50%;top:6%;width:160px;margin-left:-80px;animation:hfloat 3s ease-in-out infinite alternate;filter:drop-shadow(0 0 26px rgba(255,236,160,.9))}
.halujesus svg{width:100%;height:auto;display:block}
@keyframes hfloat{to{transform:translateY(-16px)}}
.halupee{position:absolute;left:50%;bottom:12%;width:140px;margin-left:-70px;transition:bottom 2s cubic-bezier(.4,0,.6,1),transform 2s,opacity 1.6s}
.halupee svg{width:100%;height:auto;display:block}
.halu.rise .halupee{bottom:46%;transform:scale(.6) rotate(-8deg)}
.halu.white{background:#FFF8E6;animation:hwhite 1s forwards}
@keyframes hwhite{to{background:#fff}}
.halu.white .halupee,.halu.white .halujesus{opacity:0}
.halucap{position:absolute;left:18px;right:18px;top:calc(56px + var(--sat));text-align:center;font-family:var(--f-display);font-weight:800;font-size:21px;color:#2A1A08;text-shadow:0 2px 0 rgba(255,255,255,.6);opacity:0;z-index:3;text-wrap:balance}
.halucap.on{animation:cscap .6s ease-out forwards}
@keyframes dfxwavering{from{transform:scale(.6);opacity:1}to{transform:scale(1.5);opacity:0}}
