:root {
  --deep: #0a0124;
  --pink: #ff42e8;
  --rainbow: linear-gradient(90deg,#ff4568,#ffb642,#e5ff51,#35ffac,#48d8ff,#926bff,#ff55e7);
  font-family: "Trebuchet MS", "Arial Rounded MT Bold", system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; background: var(--deep); }
body { min-height: 100vh; min-height: 100svh; margin: 0; color: white; overflow-x: hidden; }
button, input { font: inherit; }
button { cursor: pointer; }
.cosmos { position: fixed; inset: 0; overflow: hidden; pointer-events: none; background: #1b053e; z-index: -1; }
.cosmos::before {
  content: ""; position: absolute; inset: -20%;
  background: url("assets/auraisgay-art.jpg") center center / cover no-repeat;
  filter: blur(68px) brightness(.65) saturate(2.1);
  animation: backdrop-breath 15s ease-in-out infinite alternate;
}
.cosmos::after {
  content: ""; position:absolute; inset:0;
  background: radial-gradient(ellipse at 50% 35%,transparent 18%,#12001f 108%);
}
.nebula { position: absolute; width: 68vmax; height: 68vmax; border-radius: 50%; filter: blur(45px); opacity:.34; mix-blend-mode:screen; animation: drift 26s ease-in-out infinite alternate; }
.nebula--one { left:-28%; top:18%; background: radial-gradient(circle,#ff2abf,transparent 68%); }
.nebula--two { right:-25%; top:-18%; background: radial-gradient(circle,#17baff,transparent 68%); animation-duration:31s; animation-direction:alternate-reverse; }
.nebula--three { left:34%; bottom:-50%; background: radial-gradient(circle,#fbca36,transparent 70%); animation-duration:38s; }
.background-stars { position:absolute; inset:0; opacity:.6; background-image:radial-gradient(#fff 1px,transparent 1.2px),radial-gradient(#ffb2f0 1px,transparent 1.2px); background-size:61px 73px,113px 97px; background-position:0 0,28px 55px; animation: stars-scroll 90s linear infinite; }
.experience { min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; isolation:isolate; }
.portrait { position:relative; width:min(100vw, 67svh, 1024px); aspect-ratio:2/3; flex-shrink:0; overflow:hidden; isolation:isolate; background:#2b0c58; box-shadow:0 0 46px #ee39ff4a,0 0 140px #bc6dff34; }
.poster, .ribbons, .glitter-overlay, .prism-prisms { position:absolute; inset:0; display:block; width:100%; height:100%; }
.poster { object-fit:fill; pointer-events:none; user-select:none; }
.ribbons { z-index:2; pointer-events:none; mix-blend-mode:screen; }
.prism-prisms { z-index:3; pointer-events:none; mix-blend-mode:screen; background: conic-gradient(from 180deg at 49% 66%,transparent 0deg,#fb85ff15 60deg,transparent 110deg,#43e5ff0a 210deg,transparent 300deg); animation: prism-turn 24s linear infinite; opacity:.7; mask-image:linear-gradient(to bottom, transparent 15%, black 38%,black 77%,transparent 99%); }
.glitter-overlay { z-index:4; pointer-events:none; background:radial-gradient(circle at 13% 51%,#ffffffe0 0,transparent 1.3%),radial-gradient(circle at 94% 46%,#ffe6f9d0 0,transparent 1.4%),radial-gradient(circle at 78% 26%,#ffffffa8 0,transparent 1%),radial-gradient(circle at 54% 91%,#ffb9ea9c 0,transparent 1.2%); background-size:100% 100%; animation: glitter-pulse 3.2s ease-in-out infinite alternate; }
.hotspot { position:absolute; z-index:10; appearance:none; border:0; border-radius:50%; background:transparent; padding:0; color:transparent; touch-action:manipulation; }
.hotspot:hover { background:#ffffff16; box-shadow:0 0 28px #ff71eb87; }
.hotspot:focus-visible, .close-menu:focus-visible, .blast-button:focus-visible, .setting-button:focus-visible, input:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.audio-hotspot { left:82.8%; top:.6%; width:6.7%; height:4.5%; }
.menu-hotspot { left:91.4%; top:.5%; width:7.4%; height:4.9%; }
.audio-hotspot[aria-pressed="true"] { box-shadow:0 0 27px 9px #68f8ff80; }
.touch-hint { position:absolute; z-index:5; bottom:3.1%; left:50%; transform:translateX(-50%); color:#fff; font-size:clamp(7px,1.08vw,10px); font-weight:900; letter-spacing:.28em; opacity:0; white-space:nowrap; text-shadow:0 0 15px #ff32f2; animation: hint-appear 9s ease-out 1 both; pointer-events:none; }
.bottom-nudge { display:none; padding:13px 14px 16px; font-size:9px; font-weight:900; letter-spacing:.19em; text-align:center; color:#eacdfc; text-shadow:0 0 14px #db63ff; }
.menu-scrim { position:fixed; inset:0; z-index:30; background:#1100279e; backdrop-filter:blur(13px); }
.magic-menu { position:fixed; z-index:31; right:0; top:0; bottom:0; width:min(400px,100vw); overflow-y:auto; padding:clamp(24px,5.5vh,58px) 32px 30px; background:linear-gradient(154deg,#422073 0%,#24104b 43%,#120b2e 100%); border-left:1px solid #ffb7ff70; box-shadow:-20px 0 100px #e640f840; }
.magic-menu::before { content:""; pointer-events:none;position:absolute; inset:0 0 auto; height:5px; background:var(--rainbow); }
.magic-menu[hidden], .menu-scrim[hidden] { display:none; }
.menu-topline { display:flex; justify-content:space-between; align-items:center; }
.menu-emblem { font-size:54px; filter:drop-shadow(0 0 22px #ff4ff1); animation: floaty 3s ease-in-out infinite; }
.close-menu { border:1px solid #ffffff65; border-radius:50%; display:grid; place-items:center; width:42px; height:42px; color:#fff; background:#ffffff1d; font-size:30px; line-height:1; }
.menu-eyebrow { margin:33px 0 10px; color:#84faff; font-size:10px; font-weight:900; letter-spacing:.25em; }
.magic-menu h1 { font-size:clamp(32px,6vw,45px); margin:0; line-height:1.07; letter-spacing:-.055em; text-shadow:0 0 20px #b14bff; }
.magic-menu h1 span { background:var(--rainbow); background-size:200%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:rainbow-scroll 5s linear infinite; }
.menu-description { font-size:14px; color:#ded2fa; line-height:1.6; margin:19px 0 33px; }
.setting { display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:14px; font-weight:800; }
.setting strong { color:#91faff; font-size:13px; }
input[type=range] { width:100%; margin:23px 0 29px; appearance:none; height:9px; border-radius:30px; background:var(--rainbow); cursor:pointer; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:24px; height:24px; background:white; border:4px solid #a444fe; border-radius:50%; box-shadow:0 0 16px #ff65e7; }
input[type=range]::-moz-range-thumb { width:17px; height:17px; background:white; border:4px solid #a444fe; border-radius:50%; box-shadow:0 0 16px #ff65e7; }
.setting-group { display:grid; gap:10px; }
.setting-button { width:100%; display:flex; justify-content:space-between; align-items:center; text-align:left; padding:16px; border:1px solid #ffffff29; border-radius:14px; background:#fff1; color:white; font-size:13px; }
.setting-button:hover { background:#ffffff26; }
.setting-button b { color:#ffa6e1; }
.setting-button[aria-pressed="true"] b { color:#65ffd8; }
.blast-button { width:100%; margin-top:28px; border:0; border-radius:15px; padding:17px; color:#31114b; font-weight:1000; font-size:14px; letter-spacing:.025em; background:var(--rainbow); background-size:250% 100%; box-shadow:0 0 30px #ff4cdb70,0 6px 0 #a028d3; animation:rainbow-scroll 7s linear infinite; transition:transform .15s; }
.blast-button:hover { transform:translateY(-3px); }
.blast-button:active { transform:translateY(3px); }
.menu-footnote { margin-top:27px; opacity:.55; font-size:11px; text-align:center; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes backdrop-breath { from { transform:scale(1) rotate(-2deg); } to { transform:scale(1.16) rotate(3deg); } }
@keyframes drift { from {transform:translate(-4%,4%) scale(1)} to{transform:translate(9%,-7%) scale(1.21)} }
@keyframes stars-scroll { to { background-position:244px 292px,-168px 249px; } }
@keyframes prism-turn { to { transform:rotate(360deg) scale(1.7); } }
@keyframes glitter-pulse { from { opacity:.1; filter:brightness(.7) } to { opacity:.65; filter:brightness(1.35) } }
@keyframes floaty { 50% {transform:translateY(-9px) rotate(7deg)} }
@keyframes rainbow-scroll { to {background-position:200% 0} }
@keyframes hint-appear { 0%,65% {opacity:0} 77%,93% {opacity:.92} 100% {opacity:0} }
@media (max-width:700px) {
  .experience { height:100svh; justify-content:flex-start; padding-top:max(0px, env(safe-area-inset-top)); }
  .portrait { width:100vw; box-shadow:0 0 40px #ff52f12f; }
  .bottom-nudge { display:flex; flex:1; min-height:50px; align-items:center; justify-content:center; width:100%; background:radial-gradient(ellipse at 50% -30%,#bb46fa58,transparent 74%),linear-gradient(180deg,#55166a58,transparent); }
  .magic-menu { padding:20px 25px 35px; }
}
@media (max-width:390px) { .bottom-nudge {font-size:8px;} }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
}
.motion-off .nebula, .motion-off .cosmos::before, .motion-off .background-stars,
.motion-off .glitter-overlay, .motion-off .prism-prisms, .motion-off .menu-emblem { animation-play-state:paused!important; }
/* Continue the poster's glowing rainbow road onto tall phone screens. */
@media (max-width:700px) {
  .experience::after {
    content:"";
    display:block;
    width:100%;
    flex:1 0 110px;
    background:
      radial-gradient(ellipse at 50% 0%, #ff5cedae 0%, transparent 57%),
      conic-gradient(from 242deg at 50% -78%, #f531de85, #22d7ff91, #fff5528a, #c550ff98, #f531de85);
    background-size:100% 100%, 170% 175%;
    background-position:center, center top;
    filter:saturate(1.35);
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#0008 58%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#0008 58%,transparent 100%);
    animation: aurora-tail 14s ease-in-out infinite alternate;
    pointer-events:none;
  }
}
@keyframes aurora-tail { to { background-position:center, 80% 100%; filter:hue-rotate(25deg) saturate(1.5); } }
.motion-off .experience::after { animation-play-state:paused!important; }


/* ────── Five-second rainbow "virus" prank ────── */
.prank-overlay[hidden] { display:none!important; }
.prank-overlay { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:max(16px, env(safe-area-inset-top)) 14px max(16px, env(safe-area-inset-bottom)); overflow:hidden; isolation:isolate; background:#08021ad8; backdrop-filter:blur(15px) saturate(1.4); }
.prank-backdrop { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.prank-backdrop::before { content:"";position:absolute;inset:-30%; background:conic-gradient(from 40deg at center,#ff10aa24,#00eaff39,#ffea0036,#7b3bff4a,#ff10aa24); filter:blur(40px); animation:prank-space-turn 17s linear infinite; }
.prank-whirlpool {position:absolute; width:min(140vmax,1600px); aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%); border-radius:50%; background:repeating-conic-gradient(from 20deg, transparent 0deg 10deg,#ff64e31b 12deg 16deg,transparent 18deg 26deg,#0bffee24 28deg 31deg, transparent 35deg 44deg); -webkit-mask:radial-gradient(circle,transparent 22%,#000 40%,#000 66%,transparent 76%); mask:radial-gradient(circle,transparent 22%,#000 40%,#000 66%,transparent 76%); animation:prank-whirlpool-turn 9s linear infinite; filter:blur(5px); }
.prank-whirlpool--reverse { width:min(100vmax,1050px); animation-duration:14s; animation-direction:reverse; opacity:.68;filter:hue-rotate(80deg) blur(7px); }
.prank-light-beam {position:absolute; left:-40%; top:25%; width:180%; height:180px; background:linear-gradient(transparent,#f640ff16,#ffffff33,#49eaff22,transparent); transform:rotate(-24deg); filter:blur(26px); animation:prank-beam-drift 5s ease-in-out infinite alternate; }
.prank-flecks {position:absolute;inset:0;background-image:radial-gradient(#fff 1.5px,transparent 2px),radial-gradient(#ff91ee 2px,transparent 3px);background-size:63px 79px,141px 163px; background-position:23px 42px,61px 7px; animation:prank-stars 8s linear infinite; opacity:.8;}
.prank-card {--card-r:27px;position:relative; width:min(830px, 100%); max-height:min(94svh,950px); overflow:hidden; padding:clamp(19px,3.1vw,36px) clamp(16px,4vw,44px) 19px; border:2px solid #ff97f4b3; border-radius:var(--card-r); text-align:center; background:linear-gradient(150deg,#2b0758f7 0%,#0d072df7 52%,#290856f7 100%); box-shadow:0 0 0 1px #ffffff35 inset,0 0 40px #f92bf3b0,0 0 160px #8436ff89,0 32px 85px #050111c9; isolation:isolate; transform-origin:center; animation:prank-card-arrive .9s cubic-bezier(.13,.84,.19,1.17) both; }
.prank-card::before {content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 50% 5%,#ff6eeb2e,transparent 55%),repeating-linear-gradient(0deg,transparent 0 5px,#ffffff04 6px 7px);z-index:-1;}
.prank-chromatic-edge {position:absolute; inset:0; z-index:4; padding:4px; pointer-events:none; border-radius:inherit; background:conic-gradient(from 0deg,#fe0e8d,#ffaf0a,#ffff66,#3cffb3,#30d5ff,#7040ff,#ff3de1,#fe0e8d); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); mask-composite:exclude; animation:prank-border 5s linear infinite; opacity:.9; }
.prank-scanline {position:absolute;inset:-30%;background:linear-gradient(transparent 48%,#e1f7ff1c 49%,#e1f7ff24 50%,transparent 51%);background-size:100% 120px;mix-blend-mode:screen;pointer-events:none;animation:prank-scan 6s linear infinite;}
.prank-close {position:absolute; z-index:15; right:13px; top:12px; width:38px;height:38px;border-radius:50%;border:1px solid #ffb6fd95;background:#ffffff1c;color:white;font-size:27px;line-height:1;display:grid;place-items:center;transition:background .2s,transform .2s;}
.prank-close:hover {background:#ffffff44;transform:rotate(90deg)}
.prank-alert {display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:calc(100% - 42px);font-size:clamp(9px,1.5vw,12px);font-weight:1000;letter-spacing:.19em;color:#b8fcff;text-shadow:0 0 12px #28f2ff;white-space:nowrap;}
.prank-blinker {display:inline-block;width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#ff46e8;box-shadow:0 0 12px #ff3dff;animation:prank-blink .53s steps(2) infinite;}
.prank-emblem {position:relative;z-index:1;display:grid;place-items:center;margin:clamp(9px,2svh,22px) auto 5px;width:clamp(65px,12vh,102px);height:clamp(65px,12vh,102px);font-size:clamp(42px,7vh,70px);filter:drop-shadow(0 0 17px #ff8cef);animation:prank-emblem-bob 2s ease-in-out infinite;}
.prank-emblem > span {z-index:1;}
.prank-emblem-ring {position:absolute;inset:0;border:3px dashed #f9a1fa;border-radius:50%;box-shadow:0 0 22px #ff40dc8a,inset 0 0 17px #ff40dc65;animation:prank-space-turn 3s linear infinite;}
.prank-words {position:relative;z-index:2;display:flex;flex-direction:column;gap:0;min-height:clamp(186px,32vh,305px);justify-content:center;padding:4px 0 10px;transform:translateZ(0);}
.prank-line {display:flex;justify-content:center;align-items:baseline;white-space:nowrap;font-family:Impact,"Arial Black","Arial Rounded MT Bold",sans-serif;font-weight:1000;line-height:.99;letter-spacing:-.035em;filter:drop-shadow(0 2px 0 #5c0d8a) drop-shadow(0 0 12px #f83cfc75);-webkit-text-stroke:clamp(.4px,.1vw,1.6px) #fff7;}
.prank-line--one {font-size:clamp(19px,5vw,51px);}
.prank-line--two {font-size:clamp(28px,7.2vw,74px);margin:3px 0 8px;}
.prank-line--three {font-size:clamp(31px,7.7vw,79px);}
.prank-line--four {font-size:clamp(43px,11.2vw,109px);}
.prank-glyph {position:relative;display:inline-block;flex:0 0 auto; transform-origin:50% 12%;will-change:transform,opacity;}
.prank-glyph--space {width:.24em;}
.prank-ink {display:block;background:linear-gradient(155deg,#fff4a1 0%,#ff4ddc 37%,#93f6ff 62%,#9cff93 100%);background-size:300% 300%;color:transparent;-webkit-background-clip:text;background-clip:text;animation:prank-hue-flow 3.5s linear infinite;}
.prank-line--one .prank-ink {background-image:linear-gradient(130deg,#fcfcff,#ff96fa,#7deaff);}
.prank-line--two .prank-ink {background-image:linear-gradient(150deg,#ffedf4,#ffbc42,#ff49d8,#aa66ff);}
.prank-line--three .prank-ink {background-image:linear-gradient(125deg,#96faff,#fff,#8dffca,#fe8ee9);}
.prank-line--four .prank-ink {background-image:linear-gradient(130deg,#fff377,#fd70ff,#8df7ff,#bdff80);}
.prank-drip {position:absolute;z-index:-1;left:var(--drip-x,50%);top:67%;width:var(--drip-w,18%);height:1em;min-width:3px;background:linear-gradient(to bottom,#ff57ef,#8e34f7,#37ddff);border-radius:30px 30px 90% 90%;transform-origin:top center;transform:scaleY(0);opacity:0;filter:drop-shadow(0 0 8px #ff8dfa);pointer-events:none;}
.prank-drip::after {content:"";position:absolute;bottom:-4px;left:-35%;width:170%;height:26%;border-radius:50%;background:#42e7ff;}
.prank-liquid {position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;}
.prank-description {position:relative;z-index:7;color:#f3cfff;font-size:clamp(10px,1.9vw,14px);font-weight:800;letter-spacing:.07em;margin:7px 0 17px;text-shadow:0 0 12px #f72bf8;}
.prank-actions {position:relative;z-index:8;display:flex;gap:11px;justify-content:center;flex-wrap:wrap;}
.prank-actions button {min-height:46px; border-radius:13px;padding:10px 17px;font-weight:1000;font-size:clamp(10px,1.7vw,13px);letter-spacing:.045em;transition:transform .2s,box-shadow .2s;}
.prank-actions button:hover {transform:translateY(-3px);}
.prank-dismiss {border:0;background:linear-gradient(105deg,#ff83d9,#ffbb37,#86ffca,#48ccff,#c485ff);color:#271141;box-shadow:0 0 18px #ff66f999,0 4px 0 #761d93;}
.prank-replay {border:1px solid #f8b1ffb3;color:white;background:#6e278b65;box-shadow:0 0 15px #b565e651;}
.prank-status {position:relative;z-index:6;display:flex;justify-content:space-between;gap:12px;color:#99f8ffb0;letter-spacing:.12em;font-size:clamp(7px,1.1vw,10px);font-weight:800;border-top:1px solid #f4a7fd36;margin-top:20px;padding-top:12px;}
.prank-outro {position:absolute;z-index:5;left:12px;right:12px;top:27%;display:flex;flex-direction:column;align-items:center;gap:9px;opacity:0;transform:translateY(32px) scale(.82);pointer-events:none;text-shadow:0 0 22px #ff4ee5;}
.prank-outro-emoji {font-size:clamp(32px,6vw,67px);filter:drop-shadow(0 0 18px #f8e4ff);}
.prank-outro strong {font-family:Impact,"Arial Black",sans-serif;font-size:clamp(23px,5.1vw,59px);line-height:1.02;background:var(--rainbow);background-size:300% 100%;color:transparent;-webkit-background-clip:text;background-clip:text;animation:rainbow-scroll 3.5s linear infinite;}
.prank-outro small {font-size:clamp(10px,1.6vw,14px);font-weight:1000;letter-spacing:.21em;color:#b8fdff;}
/* Each letter liquifies in a staggered wave before dropping out of view. */
.prank-overlay.is-melting .prank-glyph:not(.prank-glyph--space) {animation:prank-letter-melt var(--fall-time,1.3s) cubic-bezier(.54,.05,.91,.47) var(--fall-delay,0s) both;}
.prank-overlay.is-melting .prank-drip {animation:prank-drip-fall calc(var(--fall-time,1.3s) * .84) cubic-bezier(.3,0,.75,1) var(--fall-delay,0s) both;}
.prank-overlay.is-revealed .prank-outro {animation:prank-outro-in .9s cubic-bezier(.15,.88,.26,1.14) both;}
.prank-overlay.is-revealed .prank-emblem {animation:prank-emblem-bob 1.1s ease-in-out infinite;}
.prank-overlay.is-revealed .prank-card {box-shadow:0 0 0 1px #ffffff70 inset,0 0 60px #fb3bd9d9,0 0 220px #62c6ff9c;}
@keyframes prank-card-arrive {0%{transform:translateY(-60px) scale(.75) rotate(-2deg);opacity:0;filter:hue-rotate(180deg) blur(14px)}48%{transform:translateY(13px) scale(1.035) rotate(.8deg);opacity:1;filter:blur(0)}100%{transform:translateY(0) scale(1) rotate(0);opacity:1}}
@keyframes prank-letter-melt {0%{transform:translate(0,0) scale(1);opacity:1;filter:blur(0)}18%{transform:translate(0,1px) scaleX(1.06) scaleY(1.22);opacity:1;filter:blur(.4px)}46%{transform:translate(var(--sway,0px),13px) scaleX(.73) scaleY(1.7) rotate(var(--tilt,0deg));opacity:1;filter:blur(1px)}78%{opacity:.9;filter:blur(2px)}100%{transform:translate(var(--sway-end,30px),min(64vh,510px)) scaleX(.27) scaleY(2.9) rotate(var(--tilt-end,30deg));opacity:0;filter:blur(7px)}}
@keyframes prank-drip-fall {0%{transform:translateY(0) scaleY(0);opacity:0}15%{transform:translateY(0) scaleY(1);opacity:.95}45%{transform:translateY(.45em) scaleY(2.2);opacity:1}100%{transform:translateY(11em) scaleY(3.4);opacity:0}}
@keyframes prank-outro-in {0%{opacity:0;transform:translateY(38px) scale(.68) rotate(-4deg);filter:blur(12px)}75%{opacity:1;transform:translateY(-4px) scale(1.03) rotate(1deg);filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:blur(0)}}
@keyframes prank-space-turn {to{transform:rotate(360deg)}}
@keyframes prank-whirlpool-turn {from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes prank-border {to{filter:hue-rotate(360deg)}}
@keyframes prank-beam-drift {to{transform:translate(10%,70%) rotate(-16deg)}}
@keyframes prank-stars {to{background-position:175px 330px,-20px 120px}}
@keyframes prank-scan {to{background-position:0 120px}}
@keyframes prank-emblem-bob {50%{transform:translateY(-6px) rotate(8deg)}}
@keyframes prank-blink {50%{opacity:.18}}
@keyframes prank-hue-flow {to{background-position:300% 0}}
@media(max-width:540px) {
  .prank-overlay {padding:12px 10px;}
  .prank-card {--card-r:20px;padding:18px 12px 13px;max-height:94svh;}
  .prank-emblem {margin:12px auto 1px;width:70px;height:70px;font-size:48px;}
  .prank-words {min-height:235px;}
  .prank-line--one {font-size:clamp(22px,6vw,31px);}
  .prank-line--two {font-size:clamp(29px,8vw,44px);}
  .prank-line--three {font-size:clamp(36px,9vw,52px);}
  .prank-line--four {font-size:clamp(48px,13vw,72px);}
  .prank-actions button {flex:1 1 140px;min-height:43px;padding:9px;}
  .prank-status {margin-top:14px;}
  .prank-description {margin-bottom:12px;}
  .prank-outro {top:28%;}
}
@media(max-height:620px) {
  .prank-overlay {overflow-y:auto;display:flex;align-items:center;justify-content:center;}
  .prank-card {margin:auto;}
  .prank-emblem {display:none;}
  .prank-words {min-height:155px;}
  .prank-line--one {font-size:clamp(19px,4vw,34px);}
  .prank-line--two {font-size:clamp(26px,6vw,51px);}
  .prank-line--three {font-size:clamp(29px,7vw,58px);}
  .prank-line--four {font-size:clamp(38px,9vw,75px);}
}
@media(prefers-reduced-motion:reduce) {
  .prank-overlay.is-melting .prank-glyph:not(.prank-glyph--space) {opacity:0;}
  .prank-overlay.is-revealed .prank-outro {opacity:1;transform:none;}
}
.motion-off .prank-backdrop *, .motion-off .prank-emblem, .motion-off .prank-scanline, .motion-off .prank-flecks {animation-play-state:paused!important;}
