@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:IBM Plex Mono,monospace;background:#000;cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden}body.dragging{cursor:grabbing}#gallery{position:relative;width:100vw;height:100svh}.vignette-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.75) 90%,rgba(0,0,0,1) 100%)}.mode-switcher{position:fixed;top:20px;right:20px;display:flex;gap:8px;z-index:1000;pointer-events:auto}.mode-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#000c;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffb3;font-family:IBM Plex Mono,monospace;font-size:.8rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-transform:uppercase;letter-spacing:.05em;pointer-events:auto}.mode-btn:hover{background:#ffffff1a;color:#ffffffe6;transform:translateY(-2px);box-shadow:0 5px 15px #ffffff1a}.mode-btn.active{background:#ffffff26;color:#fff;border-color:#ffffff4d}.mode-btn.active#normalMode{border-color:#64c8ff80;box-shadow:0 0 20px #64c8ff33}.mode-btn.active#beastMode{border-color:#ff6432cc;box-shadow:0 0 20px #ff64324d;background:#ff320033;animation:beastPulse 2s ease-in-out infinite,beastFlicker .15s infinite}@keyframes beastPulse{0%,to{box-shadow:0 0 20px #ff64324d;transform:scale(1)}50%{box-shadow:0 0 30px #ff643280;transform:scale(1.05)}}@keyframes beastFlicker{0%,95%,to{opacity:1;filter:brightness(1)}96%{opacity:.8;filter:brightness(1.3)}97%{opacity:1.2;filter:brightness(.7)}98%{opacity:.9;filter:brightness(1.1)}}.mode-icon{font-size:1.2rem;filter:drop-shadow(0 0 5px currentColor)}.mode-text{font-weight:500}body.beast-mode{animation:beastShake .05s infinite,tvGlitch .2s infinite;filter:contrast(1.5) brightness(1.2) saturate(1.4)}@keyframes beastShake{0%{transform:translate(0) translateY(0) rotate(0)}10%{transform:translate(-4px) translateY(2px) rotate(.2deg)}20%{transform:translate(4px) translateY(-3px) rotate(-.3deg)}30%{transform:translate(-3px) translateY(4px) rotate(.1deg)}40%{transform:translate(3px) translateY(-4px) rotate(-.2deg)}50%{transform:translate(-5px) translateY(-2px) rotate(.4deg)}60%{transform:translate(5px) translateY(3px) rotate(-.1deg)}70%{transform:translate(-2px) translateY(-5px) rotate(.3deg)}80%{transform:translate(2px) translateY(5px) rotate(-.4deg)}90%{transform:translate(-4px) translateY(-3px) rotate(.2deg)}to{transform:translate(0) translateY(0) rotate(0)}}@keyframes tvGlitch{0%,85%,to{transform:scale(1) skew(0);filter:hue-rotate(0deg) contrast(1.5) brightness(1.2)}3%{transform:scale(1.008) skew(.5deg);filter:hue-rotate(15deg) contrast(2.2) brightness(.6)}6%{transform:scale(.992) skew(-.4deg);filter:hue-rotate(-10deg) contrast(2.8) brightness(1.8)}9%{transform:scale(1.005) skew(.2deg);filter:hue-rotate(8deg) contrast(1.8) brightness(1.1)}87%{transform:scale(1.012) skew(.8deg);filter:hue-rotate(25deg) contrast(3.5) brightness(.4)}90%{transform:scale(.985) skew(-.6deg);filter:hue-rotate(-15deg) contrast(4) brightness(2.2)}93%{transform:scale(1.007) skew(.3deg);filter:hue-rotate(12deg) contrast(2.5) brightness(.8)}}body.beast-mode:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(255,80,30,.08) 1px,rgba(255,80,30,.08) 3px);pointer-events:none;z-index:9999;animation:scanlines .06s linear infinite}@keyframes scanlines{0%{transform:translateY(0)}to{transform:translateY(3px)}}body.beast-mode:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(255,80,30,.25) 0%,transparent 40%),radial-gradient(circle at 80% 20%,rgba(255,30,80,.2) 0%,transparent 45%),radial-gradient(circle at 40% 40%,rgba(255,150,30,.15) 0%,transparent 35%),radial-gradient(circle at 60% 70%,rgba(255,200,100,.1) 0%,transparent 50%);pointer-events:none;z-index:9998;animation:staticNoise .03s infinite;opacity:.9}@keyframes staticNoise{0%{opacity:.6;transform:scale(1) rotate(0)}20%{opacity:1.2;transform:scale(1.003) rotate(.1deg)}40%{opacity:.4;transform:scale(.997) rotate(-.1deg)}60%{opacity:1.4;transform:scale(1.005) rotate(.05deg)}80%{opacity:.3;transform:scale(.995) rotate(-.05deg)}to{opacity:.8;transform:scale(1) rotate(0)}}@media (max-width: 768px){.mode-switcher{top:10px;right:10px;gap:6px}.mode-btn{padding:10px 12px;font-size:.7rem}.mode-icon{font-size:1rem}}
