/* ═══════════════════════════════════════════════════
   rebeccaBLEGH! — modern horror-punk aesthetic
   blacks / hot pink / slime green / neon orange / bone
   ═══════════════════════════════════════════════════ */

@font-face {
  font-family: 'Nordic Metal';
  src: url('../assets/fonts/Nordic Metal Band.otf') format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Shrieky';
  src: url('../assets/fonts/Shrieky.ttf') format('truetype');
  font-display: swap;
}
@font-face {
  font-family: 'Another Tag';
  src: url('../assets/fonts/aAnotherTag.ttf') format('truetype');
  font-display: swap;
}
@font-face {
  font-family: 'Hardcore Poster';
  src: url('../assets/fonts/HARDCORE POSTER.otf') format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Panic';
  src: url('../assets/fonts/PANIC.ttf') format('truetype');
  font-display: swap;
}
@font-face {
  font-family: 'Metal Shred';
  src: url('../assets/fonts/MetalShred.ttf') format('truetype');
  font-display: swap;
}
@font-face {
  font-family: 'Gobold';
  src: url('../assets/fonts/Gobold Bold.otf') format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Neue Power';
  src: url('../assets/fonts/NeuePower-Ultra.ttf') format('truetype');
  font-display: swap;
}
@font-face {
  font-family: 'Bangers';
  src: url('../assets/fonts/Bangers.ttf') format('truetype');
  font-display: swap;
}
@font-face {
  font-family: 'MarkBrush';
  src: url('../assets/fonts/MarkBrush.ttf') format('truetype');
  font-display: swap;
}

:root{
  --black:#0a0a0d;
  --coal:#121216;
  --ash:#1c1c22;
  --bone:#f2ecd9;
  --pink:#ff2d78;
  --slime:#8dff2b;
  --orange:#ff6b1a;
  --blood:#b3122e;
  --blood-dark:#6e0a1c;
  
  --metal-font:'Nordic Metal', 'Shrieky', cursive;
  --marker:'Bangers', 'MarkBrush', sans-serif;
  --body:'Gobold', sans-serif;
  --poster:'Hardcore Poster', sans-serif;
  --panic:'Panic', cursive;
  --shred:'Metal Shred', cursive;
  --power:'Neue Power', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--black);
  color:var(--bone);
  font-family:var(--body);
  overflow-x:hidden;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(179,18,46,.18), transparent),
    radial-gradient(ellipse 60% 40% at 90% 110%, rgba(141,255,43,.06), transparent);
}
::selection{background:var(--pink);color:var(--black)}
img{max-width:100%;display:block}
a{color:inherit}
.fine{font-size:.75rem;opacity:.55;font-style:italic}
.center{text-align:center}

/* scrollbar */
::-webkit-scrollbar{width:12px}
::-webkit-scrollbar-track{background:var(--coal)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--blood),var(--pink));border-radius:6px}

/* ── buttons ─────────────────────────────── */
.btn{
  display:inline-block;font-family:var(--body);font-weight:800;letter-spacing:.08em;
  padding:.9rem 1.8rem;border:none;cursor:pointer;text-decoration:none;
  color:var(--black);background:var(--bone);
  clip-path:polygon(3% 0,100% 2%,97% 100%,0 96%);
  transform:rotate(-1deg);
  transition:transform .15s, box-shadow .15s;
  box-shadow:4px 4px 0 rgba(0,0,0,.6);
  text-transform:uppercase;font-size:.95rem;
}
.btn:hover{transform:rotate(1deg) scale(1.06)}
.btn-blood{background:var(--blood);color:var(--bone)}
.btn-slime{background:var(--slime);color:var(--black)}
.btn-pink{background:var(--pink);color:var(--black)}
.btn-orange{background:var(--orange);color:var(--black)}
.btn.big{display:block;width:max-content;margin:2.5rem auto 0;font-size:1.1rem}

/* ── splash ─────────────────────────────── */
#splash{
  position:fixed;inset:0;z-index:1000;background:rgba(5,5,8,.97);
  display:flex;align-items:center;justify-content:center;text-align:center;
  transition:opacity .6s, visibility .6s;
}
#splash.gone{opacity:0;visibility:hidden}
.splash-box{max-width:560px;padding:2rem}
.advisory{
  display:inline-flex;gap:.6rem;align-items:center;border:4px solid var(--bone);
  padding:.6rem .9rem;margin-bottom:1.5rem;background:var(--bone);color:#000;
  transform:rotate(-3deg);text-align:left;line-height:1.05;
}
.advisory span{font-weight:800;font-size:.8rem}
.advisory em{font-style:normal;font-weight:800;font-size:.95rem;border-left:4px solid #000;padding-left:.6rem}
.splash-title{
  font-family:var(--metal-font);color:var(--blood);font-size:clamp(2rem,7vw,3.4rem);
  text-shadow:0 0 30px rgba(179,18,46,.6);margin-bottom:1rem;
}
.splash-box p{margin-bottom:1.4rem;line-height:1.6}
.splash-fine{font-size:.7rem;opacity:.5}

/* ── nav ─────────────────────────────── */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  display:flex;align-items:center;justify-content:space-between;
  padding:.5rem 1.2rem;
  background:linear-gradient(rgba(10,10,13,.92),rgba(10,10,13,.75));
  backdrop-filter:blur(8px);
  border-bottom:2px solid var(--blood-dark);
}
.nav-logo img{height:44px;width:auto;filter:drop-shadow(0 0 8px rgba(179,18,46,.5));cursor:pointer}
#nav-links{display:flex;gap:1.6rem}
#nav-links a{
  text-decoration:none;font-weight:800;font-size:.8rem;letter-spacing:.12em;
  color:var(--bone);position:relative;transition:color .2s;
}
#nav-links a::after{
  content:"";position:absolute;left:0;bottom:-6px;height:3px;width:0;
  background:var(--slime);transition:width .25s;
  clip-path:polygon(0 40%,100% 0,98% 100%,2% 60%);
}
#nav-links a:hover{color:var(--slime)}
#nav-links a:hover::after{width:100%}
#nav-burger{display:none;background:none;border:none;color:var(--bone);font-size:1.6rem;cursor:pointer}

/* ── hero ─────────────────────────────── */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(1.3) contrast(1.15) brightness(.55);
}
.hero-grime{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at center, transparent 30%, rgba(10,10,13,.9) 100%),
    linear-gradient(rgba(10,10,13,.35), rgba(10,10,13,.85));
}
.hero-content{position:relative;z-index:2;text-align:center;padding:6rem 1rem 5rem}
.hero-logo{
  width:min(720px,92vw);margin:0 auto;
  filter:drop-shadow(0 6px 30px rgba(0,0,0,.9)) drop-shadow(0 0 22px rgba(179,18,46,.35));
  animation:logo-sway 6s ease-in-out infinite;
}
@keyframes logo-sway{
  0%,100%{transform:rotate(-1.2deg) scale(1)}
  50%{transform:rotate(1.2deg) scale(1.015)}
}
.hero-tag{
  font-weight:800;letter-spacing:.35em;font-size:clamp(.75rem,2.4vw,1.05rem);
  color:var(--slime);margin-top:1.2rem;text-shadow:0 0 14px rgba(141,255,43,.5);
}
.hero-sub{margin-top:.5rem;opacity:.8;font-style:italic}
.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}

/* marquee */
.marquee{
  position:absolute;bottom:0;left:0;right:0;z-index:3;overflow:hidden;
  background:var(--blood);border-top:3px solid var(--black);border-bottom:3px solid var(--black);
  transform:rotate(-.6deg) scale(1.02);
}
.marquee-track{display:flex;white-space:nowrap;animation:marquee 22s linear infinite}
.marquee-track span{
  font-family:var(--marker);font-size:1.7rem;color:var(--bone);
  padding:.5rem 0;letter-spacing:.12em;text-transform:uppercase;
  text-shadow:2px 2px 0 var(--black);
}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ── sections ─────────────────────────────── */
.section{position:relative;padding:6rem max(1.5rem,6vw);max-width:1400px;margin:0 auto}
.section-title{
  font-family:var(--metal-font);font-weight:400;
  font-size:clamp(2.2rem,6vw,4.2rem);color:var(--pink);
  text-shadow:0 0 24px rgba(255,45,120,.35), 3px 3px 0 var(--black);
  margin-bottom:1rem;transform:rotate(-1.5deg);
}
.section-title.drip{position:relative}
.section-blurb{max-width:640px;opacity:.85;margin-bottom:1.5rem;line-height:1.6}
.presave-btn{margin-bottom:3rem}

/* ── music ─────────────────────────────── */
.music-grid{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:2.5rem;align-items:start}
.murder-grid{margin-top:4rem}
.album-card{
  background:var(--ash);border:3px solid var(--blood-dark);padding:1rem;
  transform:rotate(-2deg);box-shadow:10px 10px 0 rgba(0,0,0,.5);
  transition:transform .3s;
}
.album-card:hover{transform:rotate(0) scale(1.02)}
.album-card img{border:2px solid var(--black)}
.album-info h3{font-family:var(--marker);font-size:1.8rem;color:var(--slime);margin-top:.8rem}
.album-info .year{opacity:.6;font-size:1.1rem}
.album-info p{font-size:.85rem;opacity:.75;margin-top:.3rem}

.tracklist{list-style:none;counter-reset:trk}
.tracklist li{
  counter-increment:trk;display:flex;align-items:center;gap:1rem;
  padding:.7rem .9rem;border-bottom:1px dashed rgba(242,236,217,.15);
  cursor:pointer;transition:background .15s, padding-left .15s;
}
.tracklist li::before{
  content:counter(trk,decimal-leading-zero);
  font-weight:800;color:var(--blood);font-size:.85rem;min-width:2ch;
}
.tracklist li:hover{background:rgba(141,255,43,.07);padding-left:1.3rem}
.tracklist li .trk-name{flex:1;font-weight:600;text-decoration:none;color:inherit}
.tracklist li .trk-name:hover{color:var(--slime);text-decoration:underline wavy var(--blood)}
.tracklist li a.trk-tag{text-decoration:none}
.tracklist li a.trk-tag:hover{background:var(--orange);color:var(--black)}
.tracklist li .trk-tag{
  font-size:.65rem;font-weight:800;letter-spacing:.1em;padding:.15rem .5rem;
  background:var(--slime);color:var(--black);transform:rotate(-2deg);
}
.tracklist li .trk-tag.locked{background:var(--ash);color:rgba(242,236,217,.4)}
.tracklist li.playing{background:rgba(255,45,120,.12)}
.tracklist li.playing::before{content:"▶";color:var(--pink)}

.singles-title{
  font-family:var(--marker);font-size:1.6rem;color:var(--orange);
  margin:4rem 0 1.5rem;transform:rotate(-1deg);
}
.singles-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}
.single{
  background:var(--ash);padding:.7rem;border:2px solid var(--blood-dark);
  transition:transform .25s, box-shadow .25s;cursor:pointer;
}
.single:nth-child(odd){transform:rotate(-1.5deg)}
.single:nth-child(even){transform:rotate(1.5deg)}
.single:hover{transform:rotate(0) scale(1.05);box-shadow:0 0 30px rgba(255,45,120,.35);z-index:2;position:relative}
.single figcaption{
  font-family:var(--marker);text-align:center;padding:.6rem 0 .2rem;
  color:var(--bone);font-size:.95rem;
}
.prerelease-note{margin-top:2rem;font-size:.85rem;opacity:.6;font-style:italic}

/* ── hell divider ─────────────────────────────── */
.hell-divider{
  position:relative;overflow:hidden;line-height:0;
  border-top:5px solid var(--blood-dark);border-bottom:5px solid var(--blood-dark);
}
.hell-divider video{
  width:100%;max-height:480px;object-fit:cover;
  filter:saturate(1.25) brightness(.9);pointer-events:none;
}

/* ── band members ─────────────────────────────── */
.member{
  display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center;
  margin-bottom:6rem;
}
.member[data-side="right"]{direction:rtl}
.member[data-side="right"]>*{direction:ltr}
.member-art{position:relative}
.member-art img{
  width:min(520px,92%);margin:0 auto;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.8)) drop-shadow(0 0 18px rgba(141,255,43,.12));
}
.member-art.framed img{
  border:6px solid var(--ash);outline:3px solid var(--blood-dark);
  transform:rotate(-2deg);box-shadow:12px 12px 0 rgba(0,0,0,.5);
}
/* pop-in animation states */
.pop{opacity:0;transition:opacity .8s cubic-bezier(.2,.9,.3,1.2), transform .8s cubic-bezier(.2,.9,.3,1.2)}
.member[data-side="left"] .pop{transform:translateX(-120px) rotate(-8deg)}
.member[data-side="right"] .pop{transform:translateX(120px) rotate(8deg)}
.member.inview .pop{opacity:1;transform:translateX(0) rotate(0)}
.member.inview .member-art img{animation:bob 5s ease-in-out infinite 1s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.member-art.framed img{animation:none!important}

/* becky hat overlay (dblclick egg) */
.becky-art{cursor:pointer;user-select:none;-webkit-user-select:none}
.becky-art img{pointer-events:none}
.hat-overlay{
  position:absolute;top:8%;left:50%;transform:translateX(-50%) rotate(-4deg);
  font-family:var(--body);font-weight:800;font-size:clamp(.8rem,1.8vw,1.2rem);
  letter-spacing:.05em;color:#1a1a1a;user-select:none;white-space:nowrap;
  background:#ece5d3;padding:.12em .45em;border-radius:3px;z-index:2;
  box-shadow:0 0 6px rgba(0,0,0,.35), inset 0 0 12px rgba(120,40,40,.25);
}
.hat-overlay img{height:2.2em;width:auto}
.member.inview .hat-overlay{animation:hat-bob 5s ease-in-out infinite 1s}
@keyframes hat-bob{0%,100%{transform:translateX(-50%) translateY(0) rotate(-4deg)}50%{transform:translateX(-50%) translateY(-12px) rotate(-4deg)}}
.hat-pop{animation:hat-bob 5s ease-in-out infinite 1s, hat-pop .45s cubic-bezier(.3,1.6,.4,1)}
@keyframes hat-pop{0%{transform:translateX(-50%) rotate(-4deg) scale(.2)}100%{transform:translateX(-50%) rotate(-4deg) scale(1)}}

/* speech bubbles */
.bubble{
  position:absolute;top:-8%;left:55%;max-width:230px;
  font-family:var(--marker);font-size:1rem;line-height:1.25;color:#111;
  background:var(--bone);padding:.8rem 1rem;
  border-radius:46% 54% 52% 48% / 58% 46% 54% 42%;
  border:3px solid #111;transform:rotate(4deg) scale(0);
  box-shadow:4px 4px 0 rgba(0,0,0,.5);
  transition:transform .5s cubic-bezier(.3,1.6,.4,1) .5s;
  z-index:3;
}
.bubble::after{
  content:"";position:absolute;bottom:-14px;left:24px;
  border:10px solid transparent;border-top-color:#111;border-left-color:#111;
}
.member.inview .bubble{transform:rotate(4deg) scale(1)}
.bubble:hover{animation:shake .4s}
@keyframes shake{0%,100%{transform:rotate(4deg) scale(1)}25%{transform:rotate(1deg) scale(1.05)}75%{transform:rotate(7deg) scale(1.05)}}

.member-bio h3{
  font-family:var(--metal-font);font-weight:400;font-size:clamp(1.5rem,3.5vw,2.4rem);
  color:var(--slime);margin-bottom:.4rem;
}
.member-bio .norelation{font-size:.55em;color:var(--orange)}
.member-bio .role{
  font-family:var(--marker);color:var(--pink);margin-bottom:1.2rem;font-size:1.05rem;
}
.member-bio p{margin-bottom:1rem;line-height:1.65}
.hat-btn{
  font-family:var(--body);font-weight:800;cursor:pointer;
  background:var(--black);color:var(--slime);border:3px solid var(--slime);
  padding:.7rem 1.2rem;margin-bottom:1rem;transform:rotate(-1deg);
  box-shadow:5px 5px 0 rgba(141,255,43,.25);transition:transform .15s;
}
.hat-btn:hover{transform:rotate(1deg) scale(1.05)}
#hat-word{font-family:var(--marker);color:var(--pink)}

/* ── videos ─────────────────────────────── */
.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.video-grid video{
  width:100%;aspect-ratio:16/10;object-fit:cover;background:#000;
  border:3px solid var(--blood-dark);cursor:pointer;
  filter:saturate(1.2) brightness(.85);
  transition:transform .25s, border-color .25s, filter .25s;
}
.video-grid video:nth-child(odd){transform:rotate(-.8deg)}
.video-grid video:nth-child(even){transform:rotate(.8deg)}
.video-grid video:hover{
  transform:rotate(0) scale(1.03);border-color:var(--pink);
  filter:saturate(1.4) brightness(1);
}

/* ── wall of maim ─────────────────────────────── */
.wall{
  background:
    linear-gradient(rgba(10,10,13,.88),rgba(10,10,13,.94)),
    repeating-linear-gradient(0deg,var(--ash) 0 34px,var(--coal) 34px 68px);
  border-top:6px solid var(--blood-dark);border-bottom:6px solid var(--blood-dark);
  max-width:none;
}
.wall>*{max-width:1200px;margin-left:auto;margin-right:auto}
.wall-pitch{text-align:center;max-width:720px!important;margin-bottom:3rem}
.wall-pitch p{margin-bottom:1.2rem;line-height:1.7}
.wall-price{
  font-family:var(--metal-font);font-size:clamp(3rem,8vw,5rem);color:var(--orange);
  text-shadow:0 0 30px rgba(255,107,26,.5);margin-bottom:.5rem;
}
.wall-names{
  display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;justify-content:center;
  padding:2rem;border:4px dashed var(--blood-dark);min-height:120px;
}
.wall-names span{
  font-family:var(--marker);color:rgba(242,236,217,.75);
  transform:rotate(var(--rot,0deg));font-size:1.05rem;cursor:default;
  transition:color .2s, transform .2s;
}
.wall-names span:hover{color:var(--blood);transform:rotate(0) scale(1.15)}
.wall-names .you{color:var(--slime);text-decoration:underline wavy var(--blood)}

/* ── merch ─────────────────────────────── */
.merch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.8rem}
.merch-card{
  background:var(--ash);border:3px solid var(--blood-dark);padding:1.8rem;
  transition:transform .25s, border-color .25s;
}
.merch-card:nth-child(1){transform:rotate(-1.2deg)}
.merch-card:nth-child(2){transform:rotate(.8deg)}
.merch-card:nth-child(3){transform:rotate(-.6deg)}
.merch-card:hover{transform:rotate(0) translateY(-8px);border-color:var(--slime)}
.merch-card h3{font-family:var(--marker);color:var(--pink);margin-bottom:.9rem;font-size:1.3rem}
.merch-card p{line-height:1.65;font-size:.95rem;opacity:.9}

/* ── footer ─────────────────────────────── */
footer{text-align:center;border-top:4px solid var(--blood-dark);padding-bottom:8rem}
.footer-logo{width:min(320px,70vw);margin:0 auto 1.5rem;opacity:.9;cursor:pointer}
.footer-line{font-weight:600;margin-bottom:.5rem}
.footer-hint{margin-top:1.5rem}
.footer-hint kbd{
  background:var(--ash);border:1px solid var(--blood-dark);padding:.1rem .4rem;
  border-radius:4px;font-family:var(--marker);color:var(--slime);
}
.footer-skulls{margin-top:1.5rem;font-size:1.4rem;display:flex;gap:1rem;justify-content:center}
.skull{cursor:pointer;filter:grayscale(1) opacity(.4);transition:filter .2s, transform .2s}
.skull:hover{transform:scale(1.3) rotate(-10deg)}
.skull.found{filter:none}

/* ── sticky player ─────────────────────────────── */
#player{
  position:fixed;left:0;right:0;bottom:0;z-index:950;
  display:flex;align-items:center;gap:1rem;
  background:linear-gradient(rgba(18,18,22,.97),rgba(10,10,13,.99));
  border-top:3px solid var(--pink);padding:.6rem 1rem;
  transition:transform .4s;
}
#player.hidden{transform:translateY(110%)}
.player-art img{width:52px;height:52px;object-fit:cover;border:2px solid var(--blood)}
.player-meta{display:flex;flex-direction:column;min-width:140px}
#player-title{font-weight:800;font-size:.9rem;color:var(--slime);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
#player-album{font-size:.7rem;opacity:.6}
.player-controls{display:flex;gap:.4rem}
.player-controls button{
  background:none;border:2px solid var(--bone);color:var(--bone);
  width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:.9rem;
  transition:all .15s;
}
.player-controls button:hover{border-color:var(--pink);color:var(--pink);transform:scale(1.1)}
#play-btn{border-color:var(--slime);color:var(--slime);width:44px;height:44px}
.player-progress{flex:1;display:flex;align-items:center;gap:.6rem;font-size:.7rem;opacity:.9}
.player-progress input{flex:1;accent-color:var(--pink)}
.player-viz{display:flex;align-items:flex-end;gap:3px;height:26px}
.player-viz i{
  width:4px;background:linear-gradient(var(--slime),var(--pink));height:20%;
  animation:viz 0.9s ease-in-out infinite;animation-play-state:paused;
  border-radius:2px;
}
.player-viz i:nth-child(2n){animation-duration:.7s}
.player-viz i:nth-child(3n){animation-duration:1.1s}
.player-viz i:nth-child(4n){animation-duration:.6s}
#player.playing .player-viz i{animation-play-state:running}
@keyframes viz{0%,100%{height:15%}50%{height:100%}}
#volume{width:80px;accent-color:var(--slime)}

/* ── easter eggs ─────────────────────────────── */
#blegh-overlay{
  position:fixed;inset:0;z-index:990;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--metal-font);font-size:clamp(4rem,18vw,14rem);color:var(--slime);
  text-shadow:0 0 60px rgba(141,255,43,.8), 6px 6px 0 var(--blood);
  opacity:0;transform:scale(.3) rotate(-10deg);
  transition:opacity .25s, transform .25s;
}
#blegh-overlay.show{opacity:1;transform:scale(1) rotate(-3deg)}

#raccoon-mode{
  position:fixed;inset:0;z-index:995;background:rgba(5,5,8,.96);
  display:none;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:1.2rem;
}
#raccoon-mode.show{display:flex}
#raccoon-img{max-height:55vh;max-width:80vw;filter:drop-shadow(0 0 40px rgba(255,107,26,.35));animation:shake 1s infinite}
#raccoon-mode p{font-family:var(--marker);font-size:1.4rem;color:var(--orange)}

#peeker{
  position:fixed;bottom:-20px;z-index:940;width:300px;
  transition:transform .6s cubic-bezier(.3,1.4,.4,1);pointer-events:none;
}
#peeker.right{right:-300px}
#peeker.left{left:-300px}
#peeker.right.peek{transform:translateX(-280px);pointer-events:auto;cursor:pointer}
#peeker.left.peek{transform:translateX(280px);pointer-events:auto;cursor:pointer}
#peeker img{width:100%;max-height:400px;object-fit:contain;object-position:bottom;
  filter:drop-shadow(-6px 0 20px rgba(0,0,0,.8))}
#peeker.left img{filter:drop-shadow(6px 0 20px rgba(0,0,0,.8))}
.peeker-bubble{
  position:absolute;top:-20px;width:200px;
  font-family:var(--marker);font-size:1rem;background:var(--bone);color:#111;
  padding:.5rem .7rem;border:3px solid #111;line-height:1.2;
  border-radius:50% 50% 48% 52% / 60% 55% 45% 40%;
  opacity:0;transition:opacity .4s .3s;
}
#peeker.right .peeker-bubble{left:-190px;transform:rotate(-4deg)}
#peeker.left .peeker-bubble{right:-190px;transform:rotate(4deg)}
#peeker.peek .peeker-bubble{opacity:1}
.peeker-bubble::after{
  content:"";position:absolute;bottom:8px;
  border:9px solid transparent;
}
#peeker.right .peeker-bubble::after{right:-12px;border-left-color:#111;border-bottom-color:#111}
#peeker.left .peeker-bubble::after{left:-12px;border-right-color:#111;border-bottom-color:#111}

#skull-toast{
  position:fixed;top:80px;left:50%;transform:translateX(-50%) translateY(-30px);
  z-index:960;background:var(--ash);border:3px solid var(--slime);color:var(--slime);
  font-family:var(--marker);padding:.8rem 1.4rem;opacity:0;
  transition:opacity .3s, transform .3s;pointer-events:none;
}
#skull-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* blood drip flood (logo x13 egg) */
.blood-drop{
  position:fixed;top:-40px;z-index:985;pointer-events:none;
  font-size:1.6rem;animation:drop-fall linear forwards;
}
@keyframes drop-fall{to{transform:translateY(110vh) rotate(30deg);opacity:0}}

/* ── PRINTIFY STORE ─────────────────────────────── */
.printify-banner{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  background:linear-gradient(135deg, rgba(179,18,46,.25), rgba(141,255,43,.15));
  border:3px solid var(--slime);padding:1.2rem 1.8rem;margin-bottom:3rem;
  transform:rotate(-1deg);box-shadow:8px 8px 0 rgba(0,0,0,.6);
}
.printify-status{display:flex;align-items:center;gap:.8rem;font-family:var(--body);font-size:1.1rem;color:var(--slime);letter-spacing:.05em}
.printify-pulse{width:12px;height:12px;border-radius:50%;background:var(--slime);box-shadow:0 0 12px var(--slime);animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
.printify-link-badge{
  font-family:var(--body);font-weight:800;background:var(--pink);color:var(--black);
  padding:.4rem 1rem;text-decoration:none;letter-spacing:.08em;clip-path:polygon(4% 0,100% 4%,96% 100%,0 96%);
  transition:transform .2s;
}
.printify-link-badge:hover{transform:scale(1.08) rotate(2deg);background:var(--slime)}

.printify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.2rem;margin-bottom:4rem}
.prod-card{
  background:var(--ash);border:3px solid var(--blood-dark);position:relative;
  display:flex;flex-direction:column;justify-content:space-between;
  transition:transform .3s, border-color .3s, box-shadow .3s;
  box-shadow:8px 8px 0 rgba(0,0,0,.6);
}
.prod-card:nth-child(odd){transform:rotate(-1deg)}
.prod-card:nth-child(even){transform:rotate(1deg)}
.prod-card:hover{transform:rotate(0) scale(1.03) translateY(-6px);border-color:var(--slime);box-shadow:0 0 30px rgba(141,255,43,.25);z-index:5}

.prod-img-wrap{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#000;border-bottom:3px solid var(--blood-dark)}
.prod-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.prod-card:hover .prod-img-wrap img{transform:scale(1.08)}

.prod-price-tag{
  position:absolute;top:12px;right:12px;z-index:3;
  font-family:var(--body);font-weight:800;font-size:1.1rem;background:var(--slime);color:var(--black);
  padding:.3rem .8rem;letter-spacing:.05em;transform:rotate(3deg);
  box-shadow:3px 3px 0 rgba(0,0,0,.8);
}
.prod-var-tag{
  position:absolute;bottom:12px;left:12px;z-index:3;
  font-family:var(--body);font-size:.7rem;font-weight:800;background:var(--pink);color:var(--bone);
  padding:.2rem .6rem;text-transform:uppercase;letter-spacing:.08em;
}

.prod-body{padding:1.4rem;display:flex;flex-direction:column;gap:.8rem;flex:1;justify-content:space-between}
.prod-title{font-family:var(--metal-font);font-size:1.25rem;color:var(--bone);line-height:1.3}
.prod-desc-short{font-size:.85rem;opacity:.75;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.prod-cta-row{display:flex;gap:.6rem;margin-top:.6rem}
.btn-buy-printify{
  flex:1;text-align:center;font-family:var(--body);font-weight:800;font-size:.85rem;
  padding:.7rem .5rem;background:var(--slime);color:var(--black);text-decoration:none;
  clip-path:polygon(2% 0,100% 2%,98% 100%,0 98%);transition:transform .15s, background .15s;
}
.btn-buy-printify:hover{background:var(--pink);color:var(--bone);transform:scale(1.04)}
.btn-quick-view{
  padding:.7rem .9rem;background:var(--ash);border:2px solid var(--orange);color:var(--orange);
  font-family:var(--body);font-weight:800;font-size:.85rem;cursor:pointer;transition:all .15s;
}
.btn-quick-view:hover{background:var(--orange);color:var(--black)}

/* Modal Quick View */
#prod-modal{
  position:fixed;inset:0;z-index:2000;background:rgba(5,5,8,.94);backdrop-filter:blur(10px);
  display:none;align-items:center;justify-content:center;padding:1.5rem;
}
#prod-modal.open{display:flex}
.modal-box{
  background:var(--coal);border:4px solid var(--blood);max-width:850px;width:100%;max-height:90vh;
  overflow-y:auto;padding:2rem;position:relative;box-shadow:0 0 50px rgba(179,18,46,.5);
}
.modal-close{
  position:absolute;top:1rem;right:1rem;background:var(--blood);color:var(--bone);
  border:none;width:36px;height:36px;font-size:1.4rem;cursor:pointer;font-family:var(--poster);
}
.modal-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem}
@media (max-width:700px){.modal-grid{grid-template-columns:1fr}}
.modal-gallery img{width:100%;border:2px solid var(--blood-dark);margin-bottom:.8rem}
.modal-thumbs{display:flex;gap:.5rem;overflow-x:auto}
.modal-thumbs img{width:60px;height:60px;object-fit:cover;cursor:pointer;border:2px solid var(--ash)}
.modal-thumbs img.active{border-color:var(--slime)}
.modal-info h2{font-family:var(--metal-font);color:var(--slime);font-size:1.8rem;margin-bottom:.6rem}
.modal-price{font-family:var(--poster);font-size:1.6rem;color:var(--orange);margin-bottom:1rem}
.modal-desc{font-size:.9rem;line-height:1.6;opacity:.85;margin-bottom:1.5rem;max-height:220px;overflow-y:auto}
.modal-desc table{width:100%;border-collapse:collapse;margin:.8rem 0;font-size:.8rem}
.modal-desc th,.modal-desc td{border:1px solid var(--blood-dark);padding:.35rem .6rem;text-align:left}
.modal-desc th{background:var(--blood);color:var(--bone);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.modal-desc tr:nth-child(even) td{background:rgba(255,255,255,.04)}
.modal-desc img{max-width:100%;height:auto}

/* ── responsive ─────────────────────────────── */
@media (max-width:900px){
  .music-grid{grid-template-columns:1fr}
  .album-card{max-width:380px;margin:0 auto}
  .member{grid-template-columns:1fr;gap:1.5rem;margin-bottom:5rem}
  .member[data-side="right"]{direction:ltr}
  .bubble{left:45%;top:-14%}
  #nav-links{
    position:fixed;top:60px;right:0;left:0;
    flex-direction:column;background:var(--coal);padding:1.5rem;gap:1.2rem;
    border-bottom:3px solid var(--blood);
    transform:translateY(-130%);transition:transform .3s;
  }
  #nav-links.open{transform:translateY(0)}
  #nav-burger{display:block}
  #player{flex-wrap:wrap}
  .player-progress{order:3;flex-basis:100%}
  .player-viz,#volume{display:none}
  #peeker{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
