.ep4-bath{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 110%,rgba(158,231,255,.1),transparent 55%),linear-gradient(#160c26,#1e1433 55%,#10202a)}.ep4-tiles{position:absolute;left:0;right:0;bottom:0;height:30vh;background:repeating-linear-gradient(90deg,rgba(158,231,255,.08) 0 46px,transparent 46px 50px),repeating-linear-gradient(0deg,rgba(158,231,255,.08) 0 30px,transparent 30px 34px),linear-gradient(#1a2c3a,#10202a);border-top:4px solid #0d0703}.ep4-window{position:absolute;left:10%;top:9vh;width:min(16vw,110px);aspect-ratio:.8;border:5px solid #0d0703;border-radius:50% 50% 8px 8px;background:radial-gradient(circle at 30% 30%,#23103a,#0a0611);box-shadow:inset 0 0 18px rgba(154,108,255,.4)}.ep4-window:after{content:"";position:absolute;left:20%;top:26%;width:5px;height:5px;border-radius:50%;background:#f4e3c4;box-shadow:26px 14px 0 -1px #ffc24b,12px 34px 0 -2px #f4e3c4;opacity:.7}.ep4-toilet{position:absolute;transition:filter .8s ease}.ep4-toilet.toilet-glow{filter:drop-shadow(0 0 30px rgba(255,194,75,.75))}.ep4-bubble{animation:ep4-bubble-rise 2.6s ease-in-out infinite;transform-origin:70px 56px}@keyframes ep4-bubble-rise{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(-7px);opacity:.55}}.ep4-plungy{position:absolute;transition:transform .7s cubic-bezier(.3,1.4,.5,1);animation:ep4-plungy-in .7s cubic-bezier(.3,1.5,.5,1) both}@keyframes ep4-plungy-in{0%{transform:translateY(60vh) rotate(-12deg)}to{transform:translateY(0) rotate(0)}}.ep4-plungy.plungy-refuse{transform:rotate(-8deg) translateX(-6px)}.ep4-plungy.plungy-join{transform:translateY(-6px);filter:drop-shadow(0 0 16px rgba(226,62,78,.5))}.ep4-candle{position:absolute;animation:fart-label-pop .4s cubic-bezier(.3,2,.4,1) both}.ep4-sort-wrap{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(94vw,560px);z-index:36;text-align:center;animation:fart-choice-in .4s cubic-bezier(.3,1.5,.5,1) both}.ep4-sort-title{font-size:clamp(.95rem,4vw,1.35rem);letter-spacing:.12em;color:#9ee7ff;text-shadow:2px 2px 0 #0d0703}.ep4-gauge,.ep4-sort-title{font-family:var(--font-display),"Luckiest Guy",sans-serif}.ep4-gauge{margin-top:.35rem;font-size:.6rem;letter-spacing:.18em;color:#7ed957}.ep4-tick{display:inline-block;width:12px;height:12px;margin:0 2px;border-radius:50%;border:2.5px solid rgba(126,217,87,.5);vertical-align:middle}.ep4-tick.done{background:#7ed957}.ep4-item{margin:.8rem auto 0;width:min(88vw,420px);min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;font-family:var(--font-body),"Baloo 2",sans-serif;font-weight:800;font-size:clamp(.95rem,3.8vw,1.15rem);color:#f7ecd8;background:linear-gradient(#2c4a08,#1a2c07);border:4px solid #7ed957;border-radius:24px 18px 26px 16px/18px 26px 16px 24px;padding:.7rem 1rem;box-shadow:0 0 24px rgba(126,217,87,.3)}.ep4-item.item-final{border-color:#ffc24b;background:linear-gradient(#4a3208,#2c1e04);box-shadow:0 0 28px rgba(255,194,75,.45)}.ep4-item-tag{font-family:var(--font-display),"Luckiest Guy",sans-serif;font-size:.56rem;letter-spacing:.22em;color:#ffc24b}.ep4-item.item-bounce{animation:ep4-bounce .5s cubic-bezier(.3,1.8,.4,1)}@keyframes ep4-bounce{0%{transform:translateY(26px) scale(.92)}55%{transform:translateY(-8px) scale(1.04)}to{transform:translateY(0) scale(1)}}.ep4-bins{display:flex;gap:.55rem;justify-content:center;flex-wrap:wrap;margin-top:.85rem}.ep4-bin{display:flex!important;flex-direction:column;gap:.1rem;min-width:128px}.ep4-bin-label{font-size:.86rem}.ep4-bin-blurb{font-family:var(--font-body),"Baloo 2",sans-serif;font-size:.6rem;font-weight:600;opacity:.75;text-transform:lowercase;letter-spacing:.02em}.ep4-sort-note{margin-top:.6rem;min-height:2.4em;font-size:.85rem;color:#f7ecd8}.ep4-joined{margin-top:.3rem;font-family:var(--font-display),"Luckiest Guy",sans-serif;font-size:.62rem;letter-spacing:.2em;color:#e88a96;animation:fart-label-pop .4s both}.ep4-flood{position:absolute;left:0;right:0;bottom:0;height:9vh;background:linear-gradient(rgba(126,217,87,.35),rgba(92,122,30,.55));border-top:3px solid rgba(126,217,87,.7);animation:ep4-flood-in 2s ease-out both;z-index:8}@keyframes ep4-flood-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ep4-bath.bath-singing .ep4-tiles{box-shadow:inset 0 30px 60px rgba(154,108,255,.35);animation:ep4-tile-pulse 1.4s ease-in-out infinite}@keyframes ep4-tile-pulse{0%,to{filter:hue-rotate(0deg)}50%{filter:hue-rotate(30deg) brightness(1.2)}}@keyframes ep4-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.ep4-understink{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:60vw;height:14vh;background:radial-gradient(ellipse at 50% 100%,rgba(126,217,87,.4),transparent 70%);animation:ep4-understink-breathe 2.4s ease-in-out infinite;z-index:7}@keyframes ep4-understink-breathe{0%,to{opacity:.5}50%{opacity:1}}.ep4-rhythm-wrap{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(94vw,480px);z-index:36;text-align:center;cursor:pointer;outline:none;animation:fart-choice-in .4s cubic-bezier(.3,1.5,.5,1) both}.ep4-rhythm-wrap:focus-visible{outline:3px solid #7ed957;border-radius:18px}.ep4-rhythm-wrap.rhythm-punch{animation:ep4-punch .2s ease-out}@keyframes ep4-punch{0%{transform:translate(-50%,-50%) scale(1.05)}to{transform:translate(-50%,-50%) scale(1)}}.ep4-beat-row{display:flex;gap:10px;justify-content:center;margin:1rem 0 .8rem}.ep4-beat-dot{width:22px;height:22px;border-radius:50%;border:3.5px solid rgba(158,231,255,.5);transition:transform .1s ease,background .1s ease}.ep4-beat-dot.beat-now{background:#9ee7ff;transform:scale(1.45);box-shadow:0 0 18px rgba(158,231,255,.8)}.ep4-beat-dot.beat-past{background:rgba(126,217,87,.6);border-color:#7ed957}.ep4-plunge-icon{font-size:clamp(3rem,13vw,5rem);transition:transform .12s cubic-bezier(.3,1.8,.5,1);filter:drop-shadow(0 0 14px rgba(226,62,78,.5))}.ep4-plunge-icon.icon-hit{transform:translateY(14px) scale(1.1,.85)}.ep4-plunge-icon.icon-miss{transform:rotate(-14deg);filter:saturate(.4)}.ep4-snorkel-cloud{position:absolute;z-index:14;animation:ep4-surface 1s cubic-bezier(.3,1.5,.5,1) both}@keyframes ep4-surface{0%{transform:translateY(60%) scale(.4);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}