.luminex-prank-root { position:fixed; z-index:2147483500; inset:0; pointer-events:none; overflow:hidden; font-family:inherit; }
.luminex-prank-notice { position:fixed; right:20px; bottom:20px; width:min(370px,calc(100vw - 32px)); display:grid; grid-template-columns:42px minmax(0,1fr) 28px; align-items:start; gap:10px; padding:14px; color:#f7f2ff; background:linear-gradient(145deg,rgba(30,21,46,.97),rgba(14,11,22,.98)); border:1px solid rgba(184,148,255,.55); border-radius:16px; box-shadow:0 18px 60px rgba(0,0,0,.48),0 0 35px rgba(139,92,246,.2); backdrop-filter:blur(14px); pointer-events:auto; animation:luminex-prank-arrive .5s cubic-bezier(.2,.8,.2,1) both; }
.luminex-prank-symbol { width:42px; height:42px; display:grid; place-items:center; background:rgba(139,92,246,.2); border:1px solid rgba(196,181,253,.32); border-radius:13px; font-size:1.35rem; }
.luminex-prank-copy { min-width:0; display:grid; gap:4px; }
.luminex-prank-copy strong { color:#fff; font-size:.88rem; }
.luminex-prank-copy span { color:#c8bfd5; font-size:.77rem; line-height:1.45; overflow-wrap:anywhere; }
.luminex-prank-close { width:28px; height:28px; display:grid; place-items:center; color:#c4b5fd; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:9px; cursor:pointer; }
.luminex-prank-typing { position:fixed; right:20px; bottom:22px; display:flex; align-items:center; gap:10px; padding:12px 15px; color:#f5edff; background:rgba(20,15,29,.96); border:1px solid rgba(167,139,250,.4); border-radius:15px 15px 4px 15px; box-shadow:0 14px 38px rgba(0,0,0,.4); pointer-events:auto; animation:luminex-prank-arrive .4s ease-out both; }
.luminex-prank-typing-dots { display:flex; gap:4px; }
.luminex-prank-typing-dots i { width:6px; height:6px; background:#c4b5fd; border-radius:50%; animation:luminex-prank-dot .8s infinite alternate; }
.luminex-prank-typing-dots i:nth-child(2) { animation-delay:.2s; }
.luminex-prank-typing-dots i:nth-child(3) { animation-delay:.4s; }
.luminex-prank-courier { position:fixed; left:-140px; bottom:25px; display:flex; align-items:center; gap:8px; font-size:2.6rem; filter:drop-shadow(0 8px 18px rgba(0,0,0,.5)); animation:luminex-prank-deliver 2.8s cubic-bezier(.15,.75,.25,1) both; }
.luminex-prank-courier span { font-size:1.65rem; }
.luminex-prank-reaction { position:fixed; left:var(--x); top:var(--y); font-size:var(--size); filter:drop-shadow(0 5px 14px rgba(0,0,0,.4)); animation:luminex-prank-float var(--time) ease-in-out infinite alternate; }
.luminex-prank-seal-button { position:fixed; right:22px; bottom:86px; width:82px; height:82px; display:grid; place-items:center; color:#fff; background:radial-gradient(circle at 35% 30%,#8057cc,#2c1b46 72%); border:1px solid rgba(220,200,255,.7); border-radius:50%; box-shadow:0 0 0 7px rgba(139,92,246,.12),0 16px 38px rgba(0,0,0,.5); font-size:2.6rem; cursor:pointer; pointer-events:auto; animation:luminex-prank-seal-pulse 1.6s ease-in-out infinite; }
.luminex-prank-seal-score { position:fixed; right:22px; bottom:176px; padding:8px 11px; color:#f7f2ff; background:rgba(20,15,29,.96); border:1px solid rgba(167,139,250,.4); border-radius:11px; font-size:.75rem; pointer-events:auto; }
.luminex-prank-portal { position:fixed; right:12%; bottom:8%; width:min(220px,45vw); aspect-ratio:1; display:grid; place-items:center; border:5px solid rgba(197,160,255,.75); border-radius:50%; background:radial-gradient(ellipse,rgba(191,151,255,.55),rgba(93,42,170,.28) 45%,transparent 72%); box-shadow:0 0 20px #a66bff, inset 0 0 34px rgba(216,184,255,.6); animation:luminex-prank-portal-open 1.1s ease-out both,luminex-prank-portal-glow 1.8s ease-in-out 1.1s infinite alternate; }
.luminex-prank-portal span { font-size:3rem; animation:luminex-prank-portal-seal 1.2s ease-out .6s both; }
.luminex-prank-ribbon { position:fixed; top:76px; left:50%; transform:translateX(-50%); padding:9px 16px; color:#fff4d2; background:linear-gradient(90deg,rgba(74,46,107,.96),rgba(114,73,44,.96)); border:1px solid rgba(255,220,159,.4); border-radius:999px; box-shadow:0 10px 34px rgba(0,0,0,.35); font-size:.75rem; font-weight:800; letter-spacing:.08em; pointer-events:auto; animation:luminex-prank-arrive .4s ease-out both; }
.luminex-prank-root .luminex-prank-dismiss { cursor:pointer; }
body.luminex-prank-theme .navbar,body.luminex-prank-theme .site-news-button,body.luminex-prank-theme .site-news-fab { border-color:rgba(255,204,124,.68)!important; box-shadow:0 0 28px rgba(180,124,255,.22),0 0 18px rgba(255,193,96,.16); }
body.luminex-prank-theme .btn-primary { filter:hue-rotate(12deg) saturate(1.18); }
body.luminex-prank-theme-day { background-color:#150f20!important; }
body.luminex-prank-theme-day::after { content:""; position:fixed; z-index:7700; inset:0; border:8px solid transparent; border-image:linear-gradient(135deg,rgba(191,151,255,.3),rgba(255,207,128,.25),rgba(191,151,255,.3)) 1; pointer-events:none; animation:luminex-prank-day 4s ease-in-out infinite alternate; }
body.luminex-prank-glitch::after { content:""; position:fixed; z-index:7700; inset:0; pointer-events:none; background:linear-gradient(transparent 45%,rgba(184,110,255,.12) 50%,transparent 55%); animation:luminex-prank-scan .22s steps(2) infinite; }
body.luminex-prank-mirror #bg-canvas { transform:scaleX(-1); }
body.luminex-prank-mirror .page-bg-overlay { filter:hue-rotate(26deg); }
@keyframes luminex-prank-arrive { from { opacity:0; transform:translateY(20px) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes luminex-prank-dot { from { opacity:.35; transform:translateY(0); } to { opacity:1; transform:translateY(-5px); } }
@keyframes luminex-prank-deliver { 0% { left:-140px; transform:translateY(0) rotate(-5deg); } 55% { left:calc(100vw - 185px); transform:translateY(-18px) rotate(5deg); } 72% { left:calc(100vw - 185px); transform:translateY(0) rotate(0); } 100% { left:calc(100vw + 220px); transform:translateY(-12px) rotate(10deg); } }
@keyframes luminex-prank-float { from { transform:translateY(12px) rotate(-12deg) scale(.8); opacity:.35; } to { transform:translateY(-34px) rotate(13deg) scale(1.12); opacity:1; } }
@keyframes luminex-prank-seal-pulse { 50% { transform:translateY(-7px) rotate(5deg); box-shadow:0 0 0 14px rgba(139,92,246,.08),0 18px 45px rgba(0,0,0,.5); } }
@keyframes luminex-prank-portal-open { from { transform:scale(.1) rotate(-40deg); opacity:0; } to { transform:scale(1) rotate(0); opacity:1; } }
@keyframes luminex-prank-portal-glow { from { filter:brightness(.8); } to { filter:brightness(1.35); } }
@keyframes luminex-prank-portal-seal { from { transform:translateY(70px) scale(.2) rotate(-30deg); opacity:0; } to { transform:translateY(0) scale(1) rotate(0); opacity:1; } }
@keyframes luminex-prank-day { from { opacity:.35; } to { opacity:1; } }
@keyframes luminex-prank-scan { 0% { transform:translateY(-10%); opacity:.25; } 50% { opacity:.8; } 100% { transform:translateY(10%); opacity:.25; } }
@media(max-width:600px) { .luminex-prank-notice { right:10px; bottom:12px; width:calc(100vw - 20px); } .luminex-prank-ribbon { top:68px; max-width:calc(100vw - 24px); text-align:center; } .luminex-prank-seal-button { right:14px; bottom:78px; width:70px; height:70px; font-size:2.2rem; } .luminex-prank-seal-score { right:14px; bottom:154px; } }
@media(prefers-reduced-motion:reduce) { .luminex-prank-root *,body.luminex-prank-theme-day::after,body.luminex-prank-glitch::after { animation-duration:.01ms!important; animation-iteration-count:1!important; } }

.site-pranks-admin { margin:0 0 24px; padding:20px; background:linear-gradient(145deg,rgba(25,20,39,.9),rgba(13,11,20,.94)); border:1px solid rgba(167,139,250,.28); border-radius:16px; }
.site-pranks-admin[hidden] { display:none!important; }
.site-pranks-admin-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.site-pranks-admin-heading h3 { margin:0; color:#fff; font-size:1.15rem; }
.site-pranks-admin-heading p { margin:6px 0 0; color:#a99fb8; font-size:.78rem; line-height:1.5; }
.site-pranks-heading-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.site-pranks-clear { color:#ffc4ce; border-color:rgba(251,113,133,.26); }
.site-pranks-clear:hover { background:rgba(244,63,94,.12); border-color:rgba(251,113,133,.56); }
.site-pranks-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.site-pranks-form .field-label { display:grid; align-content:start; gap:7px; color:#e8e0f3; font-size:.8rem; }
.site-pranks-form .field-label small { display:inline; color:#9d91ad; font-size:.7rem; }
.site-pranks-form input,.site-pranks-form select { width:100%; min-height:42px; padding:9px 11px; color:#f4effb; background:#15121d; border:1px solid rgba(196,181,253,.2); border-radius:10px; }
.site-pranks-form input::placeholder { color:#847a91; }
.site-pranks-actions { display:flex; align-items:end; gap:9px; }
.site-pranks-admin-status { min-height:20px; margin:11px 0; color:#b9a7e7; font-size:.76rem; }
.site-pranks-admin-status.is-error { color:#fca5a5; }
.site-pranks-history { display:grid; gap:8px; }
.site-pranks-empty { margin:0; color:#a99fb8; font-size:.78rem; }
.site-prank-history-card { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:12px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.07); border-radius:11px; }
.site-prank-history-copy { display:grid; gap:4px; min-width:0; }
.site-prank-history-copy strong { color:#eee7fa; font-size:.8rem; }
.site-prank-history-copy small,.site-prank-history-copy span { color:#9d91ad; font-size:.69rem; overflow-wrap:anywhere; }
.site-prank-state { padding:5px 8px; color:#b5a9c5; background:rgba(255,255,255,.06); border-radius:999px; font-size:.66rem; white-space:nowrap; }
.site-prank-state.is-active { color:#a7f3d0; background:rgba(16,185,129,.12); }
.site-prank-cancel { white-space:nowrap; }
@media(max-width:650px) {
  .site-pranks-admin { padding:15px 12px; }
  .site-pranks-admin-heading { flex-direction:column; }
  .site-pranks-heading-actions { width:100%; }
  .site-pranks-heading-actions button { flex:1; justify-content:center; }
  .site-pranks-form { grid-template-columns:1fr; }
  .site-pranks-actions { align-items:stretch; }
  .site-pranks-actions button { flex:1; justify-content:center; }
  .site-prank-history-card { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .site-prank-cancel { grid-column:1 / -1; justify-self:start; }
}

/* Stronger, centered presentation; all surfaces stay non-blocking except their close buttons. */
.luminex-prank-root { overflow:hidden; isolation:isolate; }
.luminex-prank-backdrop { position:fixed; z-index:1; inset:0; background:radial-gradient(ellipse at 50% 26%,rgba(79,43,128,.32),rgba(5,3,10,.46)); backdrop-filter:blur(2px); animation:luminex-prank-backdrop-in .45s ease-out both; }
.luminex-prank-notice { position:fixed; z-index:10; top:clamp(82px,15vh,150px); left:50%; right:auto; bottom:auto; width:min(540px,calc(100vw - 28px)); min-height:146px; grid-template-columns:62px minmax(0,1fr) 32px; align-items:center; gap:14px; padding:20px 20px 22px; border:1px solid rgba(196,160,255,.76); border-radius:20px; background:linear-gradient(145deg,rgba(35,23,55,.98),rgba(13,10,22,.98)); box-shadow:0 28px 100px rgba(0,0,0,.72),0 0 55px rgba(147,88,255,.38),inset 0 1px rgba(255,255,255,.1); transform:translateX(-50%); animation:luminex-prank-card-in .65s cubic-bezier(.18,.8,.24,1) both,luminex-prank-card-glow 2.8s ease-in-out .65s infinite alternate; }
.luminex-prank-notice::before { content:""; position:absolute; left:14%; right:14%; top:-2px; height:3px; border-radius:99px; background:linear-gradient(90deg,transparent,#b78cff,#ffe5a7,#b78cff,transparent); box-shadow:0 0 20px #a66bff; }
.luminex-prank-notice::after { content:""; position:absolute; right:63px; bottom:0; left:20px; height:3px; border-radius:99px; background:linear-gradient(90deg,#9b5cff,#f1d2ff,transparent); transform-origin:left; animation:luminex-prank-progress var(--prank-seconds,15s) linear both; opacity:.85; }
.luminex-prank-symbol { width:62px; height:62px; border-radius:19px; font-size:2rem; box-shadow:0 0 28px rgba(167,139,250,.25); }
.luminex-prank-copy { gap:7px; }
.luminex-prank-copy strong { font-size:1.08rem; letter-spacing:.01em; }
.luminex-prank-copy > span { color:#e0d4f1; font-size:.88rem; line-height:1.55; }
.luminex-prank-close { width:32px; height:32px; align-self:start; color:#eee5ff; font-size:1.12rem; border-radius:10px; }
.luminex-prank-close:hover { background:rgba(167,139,250,.2); border-color:rgba(221,200,255,.62); }
.luminex-prank-notice--typing .luminex-prank-symbol { animation:luminex-prank-icon-bob 1.05s ease-in-out infinite alternate; }
.luminex-prank-typing-dots { display:flex; gap:5px; justify-content:center; margin-top:2px; }
.luminex-prank-typing-dots i { width:8px; height:8px; background:#e0c8ff; box-shadow:0 0 10px #b68cff; }
.luminex-prank-courier { position:fixed; z-index:5; left:-250px; right:auto; bottom:13vh; display:flex; align-items:center; gap:12px; font-size:5rem; filter:drop-shadow(0 12px 24px rgba(0,0,0,.7)) drop-shadow(0 0 22px rgba(199,153,255,.62)); animation:luminex-prank-deliver-big 4.8s cubic-bezier(.12,.74,.22,1) both; }
.luminex-prank-courier-seal { font-size:clamp(5rem,13vw,9rem); animation:luminex-prank-courier-bounce .55s ease-in-out infinite alternate; }
.luminex-prank-courier-parcel { position:relative; z-index:1; margin-left:-30px; font-size:clamp(3rem,7vw,5rem); animation:luminex-prank-parcel-wiggle .42s ease-in-out infinite alternate; }
.luminex-prank-courier-trail { align-self:flex-end; margin:0 0 12px -8px; padding:8px 12px; color:#fff; background:rgba(32,20,48,.95); border:1px solid rgba(220,190,255,.65); border-radius:999px; box-shadow:0 0 25px rgba(170,113,255,.42); font-size:.68rem; font-weight:900; letter-spacing:.14em; white-space:nowrap; }
.luminex-prank-reaction { z-index:4; font-size:calc(var(--size) * 1.8); filter:drop-shadow(0 8px 20px rgba(0,0,0,.62)) drop-shadow(0 0 12px rgba(208,160,255,.72)); animation:luminex-prank-float-big var(--time) ease-in-out infinite alternate; }
.luminex-prank-seal-instruction { position:fixed; z-index:7; left:50%; bottom:calc(24vh + 152px); transform:translateX(-50%); padding:10px 15px; color:#fff; background:rgba(23,14,37,.95); border:1px solid rgba(214,187,255,.65); border-radius:999px; box-shadow:0 0 25px rgba(157,103,255,.35); font-size:.84rem; font-weight:800; white-space:nowrap; }
.luminex-prank-seal-button { z-index:7; right:auto; left:50%; bottom:24vh; width:142px; height:142px; border:2px solid rgba(237,219,255,.9); box-shadow:0 0 0 12px rgba(139,92,246,.16),0 0 50px rgba(159,100,255,.55),0 22px 54px rgba(0,0,0,.62); font-size:5rem; transform:translateX(-50%); transition:transform .22s ease-out; animation:luminex-prank-seal-pulse-big 1.1s ease-in-out infinite; }
.luminex-prank-seal-score { z-index:8; right:auto; left:50%; bottom:calc(24vh - 48px); transform:translateX(-50%); padding:9px 15px; font-size:.86rem; font-weight:750; box-shadow:0 12px 38px rgba(0,0,0,.48); white-space:nowrap; }
.luminex-prank-ribbon { z-index:6; top:clamp(12px,4vh,48px); padding:12px 22px; color:#fff8e6; background:linear-gradient(100deg,#633da1,#bc7a3c,#633da1); background-size:220% 100%; border:1px solid rgba(255,230,176,.82); box-shadow:0 0 28px rgba(255,191,102,.45),0 12px 34px rgba(0,0,0,.5); font-size:.84rem; animation:luminex-prank-arrive .5s ease-out both,luminex-prank-ribbon-shine 2.2s linear infinite; }
.luminex-prank-confetti { position:fixed; z-index:4; top:-30px; left:var(--x); color:#ffe0a2; font-size:clamp(1.4rem,4vw,3rem); filter:drop-shadow(0 0 8px rgba(230,182,255,.8)); animation:luminex-prank-confetti-fall var(--duration) linear var(--delay) infinite; }
.luminex-prank-portal { position:fixed; z-index:5; top:52%; right:auto; bottom:auto; left:50%; width:min(56vmin,420px); transform:translate(-50%,-50%); border:7px solid rgba(220,190,255,.9); box-shadow:0 0 30px #a66bff,0 0 90px rgba(145,75,255,.8),inset 0 0 48px rgba(216,184,255,.8); animation:luminex-prank-portal-bloom 1.3s cubic-bezier(.15,.8,.25,1) both,luminex-prank-portal-glow 1.2s ease-in-out 1.3s infinite alternate; }
.luminex-prank-portal::before,.luminex-prank-portal::after { content:""; position:absolute; inset:-18px; border:2px solid rgba(225,197,255,.6); border-radius:50%; animation:luminex-prank-orbit 5s linear infinite; }
.luminex-prank-portal::after { inset:-34px; border-color:rgba(181,126,255,.35); animation-direction:reverse; animation-duration:8s; }
.luminex-prank-portal-ring { position:absolute; inset:16%; border:2px dashed rgba(255,228,255,.78); border-radius:50%; animation:luminex-prank-orbit 3.8s linear infinite; }
.luminex-prank-portal > span:not(.luminex-prank-portal-ring) { position:relative; z-index:2; font-size:clamp(4rem,13vw,8rem); filter:drop-shadow(0 8px 20px rgba(0,0,0,.6)); animation:luminex-prank-portal-seal 1.2s ease-out .55s both; }
.luminex-prank-portal small { position:absolute; top:calc(100% + 28px); left:50%; transform:translateX(-50%); color:#fff; font-size:.68rem; font-weight:900; letter-spacing:.14em; text-align:center; white-space:nowrap; text-shadow:0 2px 14px #4c2479; }
.luminex-prank-mirror-scene { position:fixed; z-index:3; inset:0; display:grid; place-items:center; overflow:hidden; perspective:900px; background:radial-gradient(ellipse at center,rgba(157,97,255,.24),rgba(8,5,15,.76) 54%,rgba(4,3,8,.93)); animation:luminex-prank-mirror-fade 1s ease both; }
.luminex-prank-mirror-scene::before { content:""; position:absolute; inset:-20%; opacity:.42; background:repeating-linear-gradient(132deg,transparent 0 42px,rgba(209,173,255,.26) 44px,transparent 47px 84px),repeating-linear-gradient(48deg,transparent 0 42px,rgba(125,80,194,.26) 44px,transparent 47px 84px); animation:luminex-prank-mirror-slide 5s linear infinite; }
.luminex-prank-mirror-scene::after { content:""; position:absolute; inset:52% -40% -65%; transform:perspective(280px) rotateX(57deg); transform-origin:top; background:repeating-linear-gradient(0deg,rgba(183,136,255,.35) 0 1px,transparent 2px 35px),repeating-linear-gradient(90deg,rgba(183,136,255,.3) 0 1px,transparent 2px 48px); mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent); animation:luminex-prank-floor-pulse 1.8s ease-in-out infinite alternate; }
.luminex-prank-mirror-tunnel { position:absolute; inset:0; transform-style:preserve-3d; transform:rotateX(66deg) rotateZ(45deg); }
.luminex-prank-mirror-ring { position:absolute; top:50%; left:50%; width:var(--size); aspect-ratio:1; border:2px solid rgba(211,174,255,var(--alpha)); border-radius:20%; box-shadow:0 0 18px rgba(170,116,255,.72),inset 0 0 18px rgba(170,116,255,.42); transform:translate(-50%,-50%) translateZ(var(--depth)) rotate(var(--rotation)); animation:luminex-prank-ring-zoom 2.2s ease-in-out infinite; animation-delay:var(--delay); }
.luminex-prank-mirror-seal { position:relative; z-index:2; font-size:clamp(4rem,12vw,8rem); filter:drop-shadow(0 0 30px #d8b1ff); animation:luminex-prank-mirror-seal-pulse 1s ease-in-out infinite alternate; }
.luminex-prank-mirror-caption { position:absolute; z-index:3; top:calc(50% + 90px); color:#fff; font-size:clamp(.72rem,2vw,1rem); font-weight:900; letter-spacing:.28em; text-shadow:0 0 18px #a970ff; animation:luminex-prank-caption-flicker 1.5s ease-in-out infinite alternate; }
body.luminex-prank-theme::before { content:""; position:fixed; z-index:7700; inset:0; pointer-events:none; background:linear-gradient(112deg,transparent 28%,rgba(222,183,255,.18) 48%,rgba(255,220,157,.2) 52%,transparent 72%); background-size:240% 100%; animation:luminex-prank-sweep 2.2s ease-in-out infinite; }
body.luminex-prank-theme .navbar,body.luminex-prank-theme .site-news-button,body.luminex-prank-theme .site-news-fab { border-color:rgba(255,204,124,.8)!important; box-shadow:0 0 36px rgba(180,124,255,.35),0 0 22px rgba(255,193,96,.26); }
body.luminex-prank-theme-day::after { border-width:12px; box-shadow:inset 0 0 65px rgba(255,211,137,.24),0 0 50px rgba(196,144,255,.36); animation:luminex-prank-day .8s ease-in-out infinite alternate; }
body.luminex-prank-glitch::after { z-index:7800; background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(219,164,255,.24) 9px 11px,transparent 12px 23px),linear-gradient(90deg,rgba(255,0,120,.14),transparent 33%,rgba(0,210,255,.18)); mix-blend-mode:screen; animation:luminex-prank-scan .12s steps(2) infinite; }
.luminex-prank-courier-trail,.luminex-prank-notice,.luminex-prank-portal,.luminex-prank-mirror-scene,.luminex-prank-confetti { pointer-events:none; }
.luminex-prank-notice .luminex-prank-close,.luminex-prank-seal-button,.luminex-prank-ribbon { pointer-events:auto; }
@keyframes luminex-prank-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes luminex-prank-card-in { from { opacity:0; transform:translate(-50%,-28px) scale(.9); } to { opacity:1; transform:translate(-50%,0) scale(1); } }
@keyframes luminex-prank-card-glow { from { box-shadow:0 28px 85px rgba(0,0,0,.68),0 0 30px rgba(147,88,255,.23); } to { box-shadow:0 28px 100px rgba(0,0,0,.72),0 0 70px rgba(147,88,255,.5); } }
@keyframes luminex-prank-progress { from { transform:scaleX(1); } to { transform:scaleX(0); } }
@keyframes luminex-prank-icon-bob { to { transform:translateY(-7px) rotate(7deg) scale(1.06); } }
@keyframes luminex-prank-deliver-big { 0% { left:-260px; transform:translateY(18px) rotate(-12deg) scale(.72); } 18% { transform:translateY(-18px) rotate(8deg) scale(1.08); } 42% { left:calc(50vw - 140px); transform:translateY(0) rotate(-3deg) scale(1.12); } 58% { left:calc(50vw - 140px); transform:translateY(-20px) rotate(4deg) scale(1.12); } 82% { transform:translateY(4px) rotate(-5deg) scale(1); } 100% { left:calc(100vw + 260px); transform:translateY(-18px) rotate(12deg) scale(.78); } }
@keyframes luminex-prank-courier-bounce { to { transform:translateY(-17px) rotate(8deg); } }
@keyframes luminex-prank-parcel-wiggle { to { transform:rotate(15deg) translateY(-8px); } }
@keyframes luminex-prank-float-big { from { transform:translateY(35px) rotate(-24deg) scale(.72); opacity:.25; } to { transform:translateY(-48px) rotate(24deg) scale(1.22); opacity:1; } }
@keyframes luminex-prank-seal-pulse-big { 50% { box-shadow:0 0 0 20px rgba(139,92,246,.1),0 0 68px rgba(159,100,255,.74),0 22px 54px rgba(0,0,0,.62); } }
@keyframes luminex-prank-ribbon-shine { to { background-position:220% 0; } }
@keyframes luminex-prank-confetti-fall { 0% { transform:translateY(-5vh) rotate(0); opacity:0; } 12% { opacity:1; } 100% { transform:translateY(115vh) rotate(600deg); opacity:.1; } }
@keyframes luminex-prank-portal-bloom { 0% { opacity:0; filter:brightness(3); transform:translate(-50%,-50%) scale(.03) rotate(-70deg); } 72% { opacity:1; filter:brightness(1.6); transform:translate(-50%,-50%) scale(1.12) rotate(8deg); } 100% { filter:brightness(1); transform:translate(-50%,-50%) scale(1) rotate(0); } }
@keyframes luminex-prank-orbit { to { transform:rotate(360deg); } }
@keyframes luminex-prank-mirror-fade { from { opacity:0; } to { opacity:1; } }
@keyframes luminex-prank-mirror-slide { to { transform:translate(45px,-45px); } }
@keyframes luminex-prank-floor-pulse { to { opacity:.55; filter:brightness(1.9); } }
@keyframes luminex-prank-ring-zoom { 0%,100% { opacity:.45; filter:brightness(.8); } 50% { opacity:1; filter:brightness(1.8); } }
@keyframes luminex-prank-caption-flicker { to { opacity:.45; letter-spacing:.4em; } }
@keyframes luminex-prank-mirror-seal-pulse { to { transform:translateY(-18px) rotate(10deg) scale(1.14); } }
@keyframes luminex-prank-sweep { 0% { background-position:130% 0; } 100% { background-position:-130% 0; } }
@media(max-width:600px) {
  .luminex-prank-notice { top:82px; width:calc(100vw - 22px); min-height:126px; grid-template-columns:48px minmax(0,1fr) 28px; gap:10px; padding:15px 13px 17px; border-radius:16px; }
  .luminex-prank-symbol { width:48px; height:48px; font-size:1.65rem; border-radius:15px; }
  .luminex-prank-copy strong { font-size:.94rem; }
  .luminex-prank-copy > span { font-size:.78rem; }
  .luminex-prank-courier { bottom:12vh; }
  .luminex-prank-courier-trail { font-size:.56rem; letter-spacing:.08em; }
  .luminex-prank-portal small { white-space:normal; width:180px; }
}
@media(prefers-reduced-motion:reduce) {
  .luminex-prank-root *,body.luminex-prank-theme::before,body.luminex-prank-theme-day::after,body.luminex-prank-glitch::after { animation-duration:.01ms!important; animation-iteration-count:1!important; }
  .luminex-prank-courier { left:calc(50vw - 130px); animation:none!important; }
  .luminex-prank-mirror-seal { transform:translateY(-10px) scale(1.08); }
}

.luminex-prank-seal-parade,.luminex-prank-dimensional-rift,.luminex-prank-takeover { position:fixed; z-index:8; inset:0; overflow:hidden; pointer-events:none; }
.luminex-prank-seal-parade { perspective:800px; }
.luminex-prank-parade-seal { position:absolute; left:-18vw; top:calc(8vh + var(--row) * 12vh); font-size:var(--size); filter:drop-shadow(0 10px 16px rgba(0,0,0,.5)) drop-shadow(0 0 22px rgba(177,130,255,.7)); animation:luminex-prank-parade-cross var(--prank-seconds,15s) cubic-bezier(.2,.7,.3,1) infinite; animation-delay:var(--delay); }
.luminex-prank-dimensional-rift { display:grid; place-items:center; background:radial-gradient(ellipse at center,rgba(96,47,163,.13),rgba(5,3,10,.72) 63%,rgba(4,3,8,.82)); animation:luminex-prank-rift-flash var(--prank-seconds,15s) ease-in-out infinite; }
.luminex-prank-rift-ring { position:absolute; left:50%; top:50%; width:min(30vmin,300px); aspect-ratio:1; border:2px solid rgba(220,184,255,.7); border-radius:28%; box-shadow:0 0 22px rgba(171,115,255,.5),inset 0 0 28px rgba(171,115,255,.32); transform:translate(-50%,-50%) rotate(calc(var(--ring) * 15deg)) scale(.1); animation:luminex-prank-rift-open var(--prank-seconds,15s) cubic-bezier(.16,.78,.25,1) infinite; animation-delay:var(--delay); }
.luminex-prank-rift-core { position:absolute; left:50%; top:50%; color:#fff; font-size:clamp(5rem,18vw,15rem); text-shadow:0 0 22px #fff,0 0 75px #bd79ff,0 0 150px #803eff; transform:translate(-50%,-50%); animation:luminex-prank-rift-core var(--prank-seconds,15s) ease-in-out infinite; }
.luminex-prank-takeover { display:grid; place-items:center; background:radial-gradient(ellipse at center,rgba(45,21,78,.9),rgba(5,4,11,.96)); animation:luminex-prank-takeover-in .8s cubic-bezier(.2,.8,.2,1) both; }
.luminex-prank-takeover strong { position:relative; z-index:2; color:#fff; font-size:clamp(3rem,13vw,11rem); letter-spacing:.08em; text-shadow:0 0 22px rgba(255,255,255,.7),0 0 85px rgba(157,95,255,.9); animation:luminex-prank-takeover-word var(--prank-seconds,15s) ease-in-out infinite; }
.luminex-prank-takeover strong span { color:#b27aff; }
.luminex-prank-takeover-line { position:absolute; inset:-50% -20%; background:linear-gradient(105deg,transparent 41%,rgba(151,93,255,.04) 47%,rgba(194,148,255,.72) 50%,rgba(133,81,245,.12) 52%,transparent 59%); background-size:180% 100%; animation:luminex-prank-takeover-sweep var(--prank-seconds,15s) linear infinite; }
.luminex-prank-takeover b { position:absolute; color:#fff; font-size:clamp(4rem,18vw,16rem); text-shadow:0 0 35px #b87cff,0 0 110px #8f45ff; animation:luminex-prank-takeover-orbit 6s linear infinite; }
@keyframes luminex-prank-parade-cross { 0% { left:-18vw; transform:translateY(8vh) rotate(-24deg) scale(.6); opacity:0; } 12% { opacity:1; } 48% { transform:translateY(-5vh) rotate(18deg) scale(1.15); } 100% { left:120vw; transform:translateY(8vh) rotate(35deg) scale(.72); opacity:.15; } }
@keyframes luminex-prank-rift-flash { 0%,100% { filter:brightness(.72); } 48% { filter:brightness(1.45); } }
@keyframes luminex-prank-rift-open { 0% { opacity:0; transform:translate(-50%,-50%) rotate(calc(var(--ring) * 15deg)) scale(.08); } 18% { opacity:.95; } 68% { opacity:.72; transform:translate(-50%,-50%) rotate(calc(var(--ring) * 15deg + 150deg)) scale(1.8); } 100% { opacity:0; transform:translate(-50%,-50%) rotate(calc(var(--ring) * 15deg + 260deg)) scale(2.2); } }
@keyframes luminex-prank-rift-core { 0%,100% { opacity:.45; transform:translate(-50%,-50%) rotate(-20deg) scale(.5); } 50% { opacity:1; transform:translate(-50%,-50%) rotate(35deg) scale(1.2); } }
@keyframes luminex-prank-takeover-in { from { opacity:0; } to { opacity:1; } }
@keyframes luminex-prank-takeover-word { 0%,100% { transform:scale(.92); letter-spacing:.08em; } 50% { transform:scale(1.06); letter-spacing:.16em; } }
@keyframes luminex-prank-takeover-sweep { from { background-position:180% 0; } to { background-position:-180% 0; } }
@keyframes luminex-prank-takeover-orbit { 0% { transform:translate(35vw,-27vh) rotate(0); opacity:.1; } 28% { opacity:.8; } 50% { transform:translate(-35vw,26vh) rotate(180deg); opacity:.9; } 100% { transform:translate(35vw,-27vh) rotate(360deg); opacity:.1; } }
@media(prefers-reduced-motion:reduce) { .luminex-prank-seal-parade,.luminex-prank-dimensional-rift,.luminex-prank-takeover,.luminex-prank-seal-parade *,.luminex-prank-dimensional-rift *,.luminex-prank-takeover * { animation-duration:.01ms!important; animation-iteration-count:1!important; } }

.luminex-prank-backdrop { pointer-events:none; }
.luminex-prank-root [data-prank-effect].is-leaving { opacity:0!important; filter:blur(16px)!important; animation:none!important; transition:opacity 1.7s ease,filter 1.7s ease!important; }
.luminex-prank-backdrop.is-leaving { transform:none!important; }
body.luminex-prank-leaving::before,body.luminex-prank-leaving::after { opacity:0!important; filter:blur(14px)!important; animation:none!important; transition:opacity 1.7s ease,filter 1.7s ease!important; }
body.luminex-prank-leaving,body.luminex-prank-leaving #bg-canvas,body.luminex-prank-leaving .page-bg-overlay,body.luminex-prank-leaving .navbar,body.luminex-prank-leaving .site-news-button,body.luminex-prank-leaving .site-news-fab,body.luminex-prank-leaving .btn-primary { transition:background-color .65s ease,border-color .65s ease,box-shadow .65s ease,filter .65s ease,transform .65s ease!important; }
.luminex-prank-eclipse,.luminex-prank-cosmic-storm { position:fixed; z-index:4; inset:0; overflow:hidden; pointer-events:none; }
.luminex-prank-eclipse { display:grid; place-items:center; background:radial-gradient(ellipse at 50% 48%,rgba(112,58,177,.28),rgba(7,4,13,.86) 74%); animation:luminex-prank-eclipse-in 1s ease-out both; }
.luminex-prank-eclipse-halo { position:relative; width:min(58vmin,460px); aspect-ratio:1; display:grid; place-items:center; border:2px solid rgba(235,207,255,.75); border-radius:50%; background:radial-gradient(circle,#08060d 0 40%,#27123e 41% 47%,rgba(195,135,255,.72) 48% 50%,rgba(92,43,149,.24) 54%,transparent 69%); box-shadow:0 0 35px rgba(216,165,255,.75),0 0 120px rgba(137,76,220,.6),inset 0 0 45px rgba(194,133,255,.75); animation:luminex-prank-eclipse-bloom 1.4s cubic-bezier(.16,.8,.25,1) both,luminex-prank-eclipse-breathe 2.6s ease-in-out 1.4s infinite alternate; }
.luminex-prank-eclipse-halo::before,.luminex-prank-eclipse-halo::after { content:""; position:absolute; inset:-8%; border:1px solid rgba(226,190,255,.56); border-radius:50%; box-shadow:0 0 24px rgba(192,133,255,.45); animation:luminex-prank-orbit 18s linear infinite; }
.luminex-prank-eclipse-halo::after { inset:-15%; border-style:dashed; opacity:.58; animation-direction:reverse; animation-duration:28s; }
.luminex-prank-eclipse-halo i { position:absolute; left:50%; top:-18%; width:2px; height:34%; transform-origin:50% calc(100% + min(29vmin,230px)); transform:rotate(var(--ray)); background:linear-gradient(to bottom,transparent,rgba(228,190,255,.9),transparent); filter:drop-shadow(0 0 9px #bc83ff); animation:luminex-prank-ray 1.8s ease-in-out infinite alternate; }
.luminex-prank-eclipse-moon { position:absolute; color:#fff3cf; font-size:clamp(2rem,6vw,5rem); text-shadow:0 0 30px #fff,0 0 70px #c48aff; animation:luminex-prank-eclipse-moon 2.4s ease-in-out infinite alternate; }
.luminex-prank-eclipse-stars { position:absolute; inset:0; }
.luminex-prank-eclipse-stars i { position:absolute; left:var(--x); top:var(--y); width:3px; height:3px; border-radius:50%; background:#fff; box-shadow:0 0 13px 3px rgba(221,188,255,.9); animation:luminex-prank-star-twinkle 1.3s ease-in-out var(--delay) infinite alternate; }
.luminex-prank-starfall { position:fixed; z-index:6; left:var(--x); top:-8vh; width:3px; height:3px; border-radius:50%; background:#fff; box-shadow:0 0 9px 3px rgba(216,180,255,.95); pointer-events:none; animation:luminex-prank-starfall var(--duration) linear var(--delay) infinite; }
.luminex-prank-starfall::after { content:""; position:absolute; right:0; top:0; width:2px; height:clamp(45px,10vh,110px); transform:translateY(-100%) rotate(-35deg); transform-origin:bottom; background:linear-gradient(to top,rgba(220,186,255,.9),transparent); }
.luminex-prank-cosmic-storm { display:grid; place-items:center; background:radial-gradient(ellipse at center,rgba(91,38,147,.35),rgba(7,4,12,.75) 68%,transparent); }
.luminex-prank-storm-ring { position:absolute; top:50%; left:50%; width:var(--size); aspect-ratio:1; border:1px solid rgba(213,172,255,.55); border-radius:50%; box-shadow:0 0 30px rgba(152,88,230,.35),inset 0 0 25px rgba(152,88,230,.2); transform:translate(-50%,-50%) scale(.2); animation:luminex-prank-storm-ring 3.8s ease-out var(--delay) infinite; }
.luminex-prank-comet { position:absolute; left:-12vw; top:20%; color:#fff; font-size:clamp(2rem,5vw,4rem); text-shadow:0 0 16px #fff,0 0 42px #bd80ff; animation:luminex-prank-comet 2.6s cubic-bezier(.15,.7,.3,1) infinite; }
@keyframes luminex-prank-eclipse-in { from { opacity:0; } to { opacity:1; } }
@keyframes luminex-prank-eclipse-bloom { 0% { opacity:0; transform:scale(.08) rotate(-30deg); filter:brightness(2); } 72% { opacity:1; transform:scale(1.06) rotate(5deg); filter:brightness(1.5); } 100% { transform:scale(1) rotate(0); filter:brightness(1); } }
@keyframes luminex-prank-eclipse-breathe { to { filter:brightness(1.55); box-shadow:0 0 60px rgba(216,165,255,.95),0 0 160px rgba(137,76,220,.75),inset 0 0 65px rgba(194,133,255,.9); } }
@keyframes luminex-prank-eclipse-moon { to { transform:translateY(-12px) rotate(35deg) scale(1.12); } }
@keyframes luminex-prank-ray { to { opacity:.28; transform:rotate(var(--ray)) scaleY(.6); } }
@keyframes luminex-prank-star-twinkle { to { opacity:.18; transform:scale(.4); } }
@keyframes luminex-prank-starfall { to { transform:translate(var(--drift),118vh); opacity:.08; } }
@keyframes luminex-prank-storm-ring { 0% { opacity:0; transform:translate(-50%,-50%) scale(.18) rotate(0); } 24% { opacity:.9; } 100% { opacity:0; transform:translate(-50%,-50%) scale(1.8) rotate(80deg); } }
@keyframes luminex-prank-comet { 0% { transform:translate(-10vw,-8vh) rotate(-28deg) scale(.5); opacity:0; } 12% { opacity:1; } 78% { opacity:1; } 100% { transform:translate(125vw,65vh) rotate(-28deg) scale(1.25); opacity:0; } }

.site-pranks-launcher { position:fixed; z-index:2147483001; right:20px; bottom:78px; display:flex; align-items:center; gap:9px; padding:10px 14px; color:#f4edff; background:rgba(25,17,38,.96); border:1px solid rgba(183,143,255,.62); border-radius:999px; box-shadow:0 8px 30px rgba(0,0,0,.4),0 0 22px rgba(143,91,229,.25); font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; }
.site-pranks-launcher[hidden] { display:none; }
.site-pranks-launcher span { color:#d7baff; font-size:1rem; }
.site-pranks-launcher:hover { transform:translateY(-2px); border-color:#dfc7ff; }
.site-pranks-admin-shell { position:fixed; z-index:2147483600; inset:0; display:grid; place-items:center; padding:20px; }
.site-pranks-admin-shell[hidden] { display:none; }
.site-pranks-admin-backdrop { position:absolute; inset:0; width:100%; height:100%; background:rgba(4,3,9,.8); border:0; backdrop-filter:blur(8px); cursor:default; }
.site-pranks-admin-shell .site-pranks-admin { position:relative; z-index:1; width:min(920px,100%); max-height:calc(100vh - 40px); overflow:auto; margin:0; padding:22px; background:linear-gradient(145deg,rgba(25,20,39,.99),rgba(13,11,20,.99)); border:1px solid rgba(167,139,250,.48); box-shadow:0 30px 100px rgba(0,0,0,.7); }
.site-pranks-admin-shell .site-pranks-admin-heading h2 { margin:0; color:#fff; font-size:1.25rem; }
.site-pranks-admin-shell .site-pranks-heading-actions { justify-content:flex-end; }
.site-pranks-admin-shell .site-pranks-form { margin-top:20px; }
.site-pranks-admin-shell .site-pranks-form input,.site-pranks-admin-shell .site-pranks-form select { min-width:0; }
@media(max-width:600px) {
  .site-pranks-launcher { right:12px; bottom:72px; }
  .site-pranks-admin-shell { padding:8px; }
  .site-pranks-admin-shell .site-pranks-admin { max-height:calc(100vh - 16px); padding:15px 12px; }
  .site-pranks-admin-shell .site-pranks-heading-actions { justify-content:flex-start; }
}
