:root {
  --beige:#f0e8d8; --cream:#faf6ef; --warm-white:#fdf9f4;
  --brown-light:#c9a87c; --brown-mid:#8b6343; --brown-dark:#3d2314;
  --burgundy:#6b1a2a; --burgundy-light:#9b2335;
  --purple-blue:#5b3fff; --purple-blue-bright:#6a4fff;
  --gold:#c9a227; --gold-light:#e8c84a; --gold-shine:#f5d76e;
  --black:#0d0a08; --blush:#e8d5c4; --text-main:#2a1a0e;
}
*{margin:0;padding:0;box-sizing:border-box;}

body {
  background:#080503;
  color:var(--beige);
  font-family:'Cormorant Garamond',serif;
  font-size:16px;
  cursor:none;
  overflow-x:hidden;
}

/* Dark leopard BG */
.bg-layer {
  position:fixed;inset:0;
  background-image:url('assets/images/leopard.jpg');
  background-size:320px;background-repeat:repeat;
  opacity:0.18;z-index:0;pointer-events:none;
  transition:filter 0.3s ease;
}
.bg-overlay {
  position:fixed;inset:0;
  background:rgba(6,3,1,0.78);
  z-index:0;pointer-events:none;
  transition:filter 0.3s ease;
}
header,nav,.welcome-bar,.content-grid,footer,.border-strip,.music-bar,#music-popup{
  position:relative;z-index:1;
}

/* CURSOR — transparent star, no background */
#cursor-wrap {
  position:fixed;pointer-events:none;z-index:99999;
  transform:translate(-50%,-50%);width:38px;height:38px;
}
#cursor-img-normal {
  width:38px;height:38px;object-fit:contain;
  filter:drop-shadow(0 0 6px rgba(255,255,255,0.5));
  animation:cursor-spin 4s linear infinite;
  display:block;background:transparent!important;
}
#cursor-img-click {
  width:54px;height:54px;object-fit:contain;display:none;
  position:absolute;top:-8px;left:-8px;background:transparent;
  filter:drop-shadow(0 0 10px var(--gold));
}
@keyframes cursor-spin{to{transform:rotate(360deg);}}

#sparkle-canvas {
  position:fixed;top:0;left:0;width:100%;height:100%;
  pointer-events:none;z-index:99998;
}

/* BORDER */
.border-strip {
  height:5px;
  background:repeating-linear-gradient(90deg,
    var(--gold) 0,var(--gold) 14px,
    var(--burgundy) 14px,var(--burgundy) 28px,
    var(--purple-blue) 28px,var(--purple-blue) 42px,
    var(--gold-light) 42px,var(--gold-light) 56px);
}

/* HEADER */
header{background:#000;position:relative;overflow:hidden;}
.banner-img{width:100%;height:220px;object-fit:cover;object-position:center;display:block;opacity:0.7;}
.header-overlay {
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(6,3,1,0.97) 0%,rgba(6,3,1,0.4) 55%,transparent 100%);
  padding:18px 24px 14px;display:flex;align-items:flex-end;justify-content:space-between;
}
.site-brand{display:flex;align-items:center;gap:12px;}
.logo-star {
  width:48px;height:48px;
  filter:drop-shadow(0 0 10px var(--gold));
  animation:slow-spin 14s linear infinite;
  background:transparent!important;
}
@keyframes slow-spin{to{transform:rotate(360deg);}}
.brand-text .site-name {
  font-family:'Playfair Display',serif;font-size:1.9rem;
  color:var(--beige);line-height:1;letter-spacing:0.06em;
  text-shadow:0 0 24px rgba(201,162,39,0.7);
}
.brand-text .site-tagline {
  font-family:'DM Mono',monospace;font-size:0.6rem;
  color:var(--gold-light);letter-spacing:0.22em;text-transform:uppercase;margin-top:3px;
}
.construction-badge {
  font-family:'DM Mono',monospace;font-size:0.68rem;
  background:rgba(6,3,1,0.85);border:1px solid var(--gold);
  color:var(--gold-light);padding:6px 14px;letter-spacing:0.1em;
  display:flex;align-items:center;gap:6px;
  box-shadow:0 0 12px rgba(201,162,39,0.25);
}

/* NAV */
nav{background:var(--burgundy);border-bottom:3px solid var(--gold);border-top:1px solid rgba(201,162,39,0.3);}
nav ul{max-width:980px;margin:0 auto;list-style:none;display:flex;flex-wrap:wrap;}
nav a {
  display:block;padding:9px 16px;color:var(--beige);text-decoration:none;
  font-family:'DM Mono',monospace;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;
  transition:background .2s,color .2s;border-right:1px solid rgba(201,162,39,0.18);
}
nav a:hover{background:var(--purple-blue);color:#fff;}
nav a.active{background:rgba(201,162,39,0.18);color:var(--gold-shine);}

/* MARQUEE */
.welcome-bar{background:rgba(10,6,2,0.92);padding:7px 0;overflow:hidden;border-bottom:1px solid var(--gold);}
.welcome-track{display:flex;animation:marquee 32s linear infinite;white-space:nowrap;}
.welcome-track span{font-family:'DM Mono',monospace;font-size:0.68rem;color:var(--gold-light);letter-spacing:0.2em;padding:0 30px;}
.welcome-track .dot{color:var(--purple-blue-bright);}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* LAYOUT */
.content-grid {
  max-width:980px;margin:20px auto;padding:0 10px;
  display:grid;grid-template-columns:200px 1fr 200px;gap:14px;align-items:start;
}

/* WIDGET */
.widget {
  background:rgba(18,10,3,0.85);
  border:1px solid rgba(201,162,39,0.25);
  border-top:2px solid var(--gold);
  border-radius:2px;overflow:hidden;margin-bottom:14px;
  box-shadow:0 2px 16px rgba(0,0,0,0.6);
}
.widget-title {
  background:rgba(50,28,12,0.95);color:var(--gold-light);
  font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;
  padding:6px 10px;display:flex;align-items:center;gap:6px;
  border-bottom:1px solid rgba(201,162,39,0.3);
}
.widget-body{padding:10px;font-size:0.85rem;line-height:1.65;color:var(--beige);}
.left-sidebar,.right-sidebar{display:flex;flex-direction:column;}

/* NAV LINKS */
.nav-links a {
  display:flex;align-items:center;gap:6px;padding:7px 10px;text-decoration:none;
  color:var(--beige);font-family:'DM Mono',monospace;font-size:0.67rem;letter-spacing:0.06em;
  border-bottom:1px solid rgba(201,162,39,0.12);transition:background .15s,color .15s,padding-left .15s;
}
.nav-links a:last-child{border-bottom:none;}
.nav-links a:hover{background:rgba(201,162,39,0.08);color:var(--gold-light);padding-left:16px;}
.nav-links a .arr{color:var(--gold);}

/* POLL */
.poll-option{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;cursor:none;}
.poll-label{font-family:'DM Mono',monospace;font-size:0.63rem;letter-spacing:0.08em;color:var(--brown-light);display:flex;justify-content:space-between;}
.poll-bar-wrap{height:7px;background:rgba(255,255,255,0.07);overflow:hidden;}
.poll-bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--burgundy));transition:width 1s ease;}
.poll-btn {
  width:100%;background:rgba(50,28,12,0.95);color:var(--gold-light);border:none;
  border-top:1px solid rgba(201,162,39,0.3);padding:6px;
  font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;cursor:none;transition:background .2s;
}
.poll-btn:hover{background:var(--burgundy);}

/* CURRENTLY */
.currently-item{display:flex;align-items:flex-start;gap:7px;padding:5px 0;border-bottom:1px dashed rgba(201,162,39,0.14);font-size:0.8rem;color:var(--beige);}
.currently-item:last-child{border-bottom:none;}
.currently-label{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--gold);letter-spacing:0.08em;min-width:42px;margin-top:2px;}

/* STATUS DOT */
.status-dot{width:7px;height:7px;background:#4ade80;border-radius:50%;display:inline-block;animation:pulse-dot 2s ease infinite;box-shadow:0 0 6px #4ade80;}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.7);}}

/* NEOSTUMBLE */
.neostumble-btn {
  display:flex;align-items:center;gap:8px;padding:10px 12px;
  background:rgba(50,28,12,0.95);color:var(--gold-light);text-decoration:none;
  font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;
  border:1px solid rgba(201,162,39,0.35);transition:background .2s;text-transform:uppercase;
  justify-content:center;width:100%;
}
.neostumble-btn:hover{background:var(--burgundy);}

/* STAMPS */
.stamps{display:flex;flex-wrap:wrap;gap:5px;padding:8px;}
.stamp{display:inline-flex;align-items:center;gap:4px;background:rgba(50,28,12,0.9);color:var(--beige);font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.07em;padding:3px 8px;border:1px solid rgba(201,162,39,0.35);text-transform:uppercase;}
.stamp.purple{background:rgba(91,63,255,0.55);border-color:var(--purple-blue-bright);}
.stamp.gold{background:rgba(201,162,39,0.35);color:var(--gold-shine);border-color:var(--gold);}

/* INSTAGRAM */
.insta-widget{text-align:center;padding:12px;position:relative;}
.insta-label{font-family:'Playfair Display',serif;font-size:0.92rem;color:var(--beige);font-style:italic;margin-bottom:10px;display:block;}

/* Hand sticker - transparent, positioned TOP RIGHT of widget, no spin */
.insta-hand-sticker {
  position:absolute;top:-12px;right:-8px;width:58px;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4));
  background:transparent!important;
  /* NO rotation animation */
}

.insta-img-wrap{position:relative;display:inline-block;cursor:none;transition:transform .3s;}
.insta-img-wrap:hover{transform:scale(1.05) rotate(-2deg);}
.insta-img-wrap img{width:80px;border-radius:50%;border:3px solid var(--gold);box-shadow:0 0 16px rgba(201,162,39,0.45),3px 3px 0 var(--burgundy);background:transparent;}
.insta-img-wrap .insta-ring{position:absolute;inset:-5px;border-radius:50%;border:2px dashed var(--gold);animation:slow-spin 8s linear infinite;pointer-events:none;}
.insta-handle{font-family:'DM Mono',monospace;font-size:0.63rem;color:var(--purple-blue-bright);letter-spacing:0.1em;margin-top:6px;}
.insta-btn{display:inline-block;margin-top:8px;background:var(--purple-blue);color:#fff;font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.12em;padding:5px 14px;text-decoration:none;border-bottom:2px solid var(--burgundy);transition:background .2s,transform .1s;text-transform:uppercase;}
.insta-btn:hover{background:var(--burgundy);transform:translateY(-1px);}

/* MAIN COL */
.main-col{display:flex;flex-direction:column;gap:16px;}
.section-box {
  background:rgba(18,10,3,0.85);border:1px solid rgba(201,162,39,0.25);
  border-top:2px solid var(--gold);border-radius:2px;overflow:hidden;
  box-shadow:0 2px 16px rgba(0,0,0,0.5);
}
.section-header{background:rgba(50,28,12,0.95);border-bottom:2px solid var(--gold);padding:9px 16px;display:flex;align-items:center;gap:8px;}
.section-header h2{font-family:'Playfair Display',serif;font-size:1rem;color:var(--beige);font-weight:400;}
.section-header .gold-dec{color:var(--gold);font-size:0.9rem;}
.section-content{padding:16px;}

/* WELCOME */
.welcome-grid{display:grid;grid-template-columns:1fr 105px;gap:14px;align-items:start;}
.welcome-text p{margin-bottom:9px;line-height:1.75;font-size:0.92rem;color:var(--beige);}
.creator-wrap{text-align:center;}
.creator-wrap img{width:95px;height:95px;object-fit:cover;border-radius:4px;border:2px solid var(--gold);box-shadow:3px 3px 0 var(--burgundy),0 0 14px rgba(201,162,39,0.4);}
.creator-caption{font-family:'DM Mono',monospace;font-size:0.56rem;color:var(--gold);margin-top:5px;letter-spacing:0.1em;text-transform:uppercase;}
hr.dv{border:none;border-top:1px dashed rgba(201,162,39,0.22);margin:12px 0;}
.tag-pill{display:inline-block;background:rgba(50,28,12,0.8);border:1px solid rgba(201,162,39,0.28);font-family:'DM Mono',monospace;font-size:0.6rem;padding:2px 8px;border-radius:20px;color:var(--brown-light);letter-spacing:0.07em;margin:2px;}

/* GALLERY */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative;}
.gallery-item{aspect-ratio:1;background:rgba(25,14,4,0.8);border:1px solid rgba(201,162,39,0.22);overflow:hidden;border-top:2px solid var(--gold);transition:transform .2s,box-shadow .2s;}
.gallery-item:hover{transform:scale(1.03);box-shadow:0 0 14px rgba(201,162,39,0.5);}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-item .ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-family:'DM Mono',monospace;font-size:0.56rem;color:rgba(201,162,39,0.4);letter-spacing:0.09em;text-align:center;padding:8px;}
.gallery-item .ph-icon{font-size:1.3rem;color:var(--gold);opacity:0.25;}

/* Falling man pinned to art gallery — positioned absolute relative to section */
.art-section-wrap{position:relative;}
.falling-man-sticker {
  position:absolute;
  top:-10px;right:-14px;
  width:80px;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,0.6));
  background:transparent!important;
  z-index:10;
  /* NO spin */
}

/* BIBLE STUDY CARDS */
.study-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.study-card{background:rgba(25,14,4,0.7);border:1px solid rgba(201,162,39,0.18);border-left:3px solid var(--gold);padding:10px 12px;}
.study-card h4{font-family:'Playfair Display',serif;font-size:0.82rem;color:var(--beige);margin-bottom:3px;}
.study-card p{font-size:0.75rem;color:var(--brown-light);line-height:1.55;}
.card-tag{display:inline-block;background:var(--purple-blue);color:#fff;font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.1em;padding:2px 7px;border-radius:20px;margin-top:6px;text-transform:uppercase;}
.card-tag.gold-tag{background:rgba(201,162,39,0.45);color:var(--gold-shine);}

/* HANGMAN */
.hangman-wrap{padding:12px;text-align:center;font-family:'DM Mono',monospace;}
.hangman-svg{width:120px;height:140px;margin:0 auto 8px;display:block;}
.word-display{display:flex;justify-content:center;gap:6px;margin:10px 0;flex-wrap:wrap;}
.letter-slot{width:24px;height:30px;border-bottom:2px solid rgba(240,232,216,0.7);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;color:var(--beige);text-transform:uppercase;font-family:'Playfair Display',serif;}
.keyboard{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:220px;margin:8px auto;}
.key-btn{width:26px;height:26px;background:rgba(25,14,4,0.9);border:1px solid rgba(201,162,39,0.28);border-bottom:2px solid rgba(201,162,39,0.45);font-family:'DM Mono',monospace;font-size:0.63rem;color:var(--beige);cursor:none;transition:background .15s;text-transform:uppercase;}
.key-btn:hover:not(:disabled){background:rgba(201,162,39,0.18);color:var(--gold-shine);}
.key-btn:disabled{opacity:.28;cursor:default;}
.hangman-msg{font-size:0.7rem;color:var(--gold-light);margin:6px 0;letter-spacing:0.08em;}
.hangman-hint{font-size:0.63rem;color:var(--brown-light);letter-spacing:0.07em;font-style:italic;margin-bottom:4px;}
.hangman-new-btn{background:rgba(50,28,12,0.95);color:var(--gold-light);border:none;border-bottom:2px solid var(--gold);padding:5px 14px;font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;cursor:none;margin-top:6px;transition:background .2s;text-transform:uppercase;}
.hangman-new-btn:hover{background:var(--burgundy);}

/* CATS */
.cats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;padding:4px 0;}
.cat-card{position:relative;overflow:hidden;cursor:none;border-radius:4px;border-top:2px solid var(--gold);background:rgba(25,14,4,0.7);aspect-ratio:1;transition:transform 0.25s ease,box-shadow 0.25s ease;}
.cat-card:hover{transform:translateY(-3px);box-shadow:0 0 18px rgba(201,162,39,0.4);}
.cat-card img{width:100%;height:100%;object-fit:cover;display:block;}
.cat-card-overlay{position:absolute;inset:0;background:rgba(8,5,2,0.82);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;text-align:center;clip-path:circle(0% at 50% 50%);transition:clip-path 0.4s cubic-bezier(0.4,0,0.2,1);pointer-events:none;}
.cat-card:hover .cat-card-overlay{clip-path:circle(150% at 50% 50%);}
.cat-card-overlay .cat-name{font-family:'Playfair Display',serif;font-size:0.85rem;color:var(--gold-light);margin-bottom:5px;}
.cat-card-overlay .cat-info{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--beige);letter-spacing:0.07em;line-height:1.5;}
.cat-card-overlay .cat-votes{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--gold);margin-top:6px;letter-spacing:0.1em;}
.cat-vote-flash{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:0.75rem;color:var(--gold-shine);letter-spacing:0.15em;background:rgba(201,162,39,0.15);opacity:0;pointer-events:none;}
.cat-vote-flash.flash{animation:vote-flash-anim 0.8s ease forwards;}
@keyframes vote-flash-anim{0%{opacity:0;}20%{opacity:1;}80%{opacity:1;}100%{opacity:0;}}
.cotw-votes{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--gold);margin-bottom:6px;letter-spacing:0.08em;}

/* GUESTBOOK */
.gb-section-wrap{position:relative;}

/* Pushpin sticker — on guestbook, no spin */
.pushpin-sticker {
  position:absolute;top:-18px;right:10px;
  width:48px;
  filter:drop-shadow(2px 3px 4px rgba(0,0,0,0.5));
  background:transparent!important;
  transform:rotate(15deg);
  /* NO spin animation */
  z-index:10;
}

.gb-form{display:flex;flex-direction:column;gap:8px;}
.gb-form input,.gb-form textarea{background:rgba(25,14,4,0.9);border:1px solid rgba(201,162,39,0.28);padding:7px 10px;font-family:'Cormorant Garamond',serif;font-size:0.88rem;color:var(--beige);outline:none;width:100%;resize:vertical;transition:border-color .2s;}
.gb-form input::placeholder,.gb-form textarea::placeholder{color:rgba(201,162,39,0.35);}
.gb-form input:focus,.gb-form textarea:focus{border-color:var(--gold);}
.gb-form button{align-self:flex-start;background:var(--burgundy);color:var(--beige);border:none;border-bottom:3px solid var(--gold);padding:7px 20px;font-family:'DM Mono',monospace;font-size:0.67rem;letter-spacing:0.15em;text-transform:uppercase;cursor:none;transition:background .2s,transform .1s;}
.gb-form button:hover{background:var(--purple-blue);transform:translateY(-1px);}
.gb-entries{margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.gb-entry{background:rgba(25,14,4,0.7);border:1px solid rgba(201,162,39,0.18);border-left:2px solid var(--gold);padding:9px 12px;font-size:0.82rem;line-height:1.6;color:var(--beige);}
.gb-name{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--purple-blue-bright);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px;}

/* LINKS */
.links-section{padding:0;}
.link-group{border-bottom:1px solid rgba(201,162,39,0.12);overflow:hidden;}
.link-group:last-child{border-bottom:none;}
.link-group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(25,14,4,0.8);cursor:none;font-family:'DM Mono',monospace;font-size:0.68rem;letter-spacing:0.1em;color:var(--beige);text-transform:uppercase;user-select:none;transition:background .15s;border-left:3px solid var(--gold);}
.link-group-header:hover{background:rgba(50,28,12,0.95);}
.link-group-arrow{color:var(--gold);transition:transform .3s;}
.link-group-body{max-height:0;overflow:hidden;transition:max-height .4s ease;background:rgba(14,8,2,0.95);}
.link-group-body.open{max-height:300px;}
.link-group-body a{display:flex;align-items:center;gap:8px;padding:8px 16px;text-decoration:none;color:var(--beige);font-size:0.83rem;border-bottom:1px dashed rgba(201,162,39,0.1);transition:background .15s,color .15s;}
.link-group-body a:last-child{border-bottom:none;}
.link-group-body a:hover{background:rgba(50,28,12,0.7);color:var(--gold-light);}
.link-note{padding:10px 14px;font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--brown-light);letter-spacing:0.08em;border-top:1px solid rgba(201,162,39,0.12);}

/* VERSE */
.verse-text{font-style:italic;font-size:0.86rem;color:var(--beige);line-height:1.7;padding:10px;border-left:3px solid var(--gold);margin:4px;background:rgba(25,14,4,0.5);}
.verse-ref{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.15em;color:var(--gold);padding:0 10px 10px;text-transform:uppercase;}

/* CAT OF THE WEEK */
.cotw-inner{padding:10px;text-align:center;}
.cotw-img{width:100%;border-radius:2px;border:1px solid rgba(201,162,39,0.28);box-shadow:0 0 10px rgba(201,162,39,0.18);margin-bottom:6px;}
.cotw-name{font-family:'Playfair Display',serif;font-size:0.85rem;color:var(--gold-light);font-style:italic;margin-bottom:4px;}
.cotw-call{font-family:'DM Mono',monospace;font-size:0.57rem;color:var(--brown-light);letter-spacing:0.07em;line-height:1.7;}
.cotw-call a{color:var(--purple-blue-bright);}

/* SWORD — right sidebar, no spin */
.sword-sticker {
  width:100%;
  filter:drop-shadow(0 0 8px rgba(201,162,39,0.28));
  padding:6px 4px;
  opacity:0.88;
  background:transparent!important;
  /* NO spin */
  transition:opacity .3s;
}
.sword-sticker:hover{opacity:1;filter:drop-shadow(0 0 16px rgba(201,162,39,0.55));}

/* OFFSITE */
.offsite-link{display:flex;align-items:center;gap:7px;padding:7px 0;font-size:0.78rem;border-bottom:1px dashed rgba(201,162,39,0.12);color:var(--beige);}
.offsite-link:last-child{border-bottom:none;}

/* MUSIC BAR */
.music-bar {
  position:fixed;bottom:0;left:0;background:rgba(6,3,1,0.96);border-top:1px solid var(--gold);
  padding:8px 16px;display:flex;align-items:center;gap:12px;z-index:9000;
  font-family:'DM Mono',monospace;font-size:0.63rem;color:var(--gold-light);letter-spacing:0.1em;
  backdrop-filter:blur(12px);box-shadow:0 -2px 20px rgba(0,0,0,0.7);
}
.music-icon{font-size:1.1rem;cursor:none;color:var(--gold);}
.music-note-anim{animation:bounce-note 0.8s ease infinite alternate;}
@keyframes bounce-note{from{transform:translateY(0);}to{transform:translateY(-3px) scale(1.1);}}
.music-info{display:flex;flex-direction:column;}
.music-title{color:var(--beige);font-size:0.66rem;}
.music-artist{color:var(--brown-light);font-size:0.57rem;}
.music-ctrl-btn{background:none;border:1px solid rgba(201,162,39,0.38);color:var(--gold-light);width:22px;height:22px;font-size:0.7rem;cursor:none;transition:border-color .2s,color .2s;display:flex;align-items:center;justify-content:center;}
.music-ctrl-btn:hover{border-color:var(--gold);color:var(--gold-shine);}
.music-vol{width:60px;accent-color:var(--gold);}

/* ── PLAYLIST PANEL + SWITCHER ── */
.playlist-panel{position:fixed;right:8px;bottom:42px;width:236px;max-height:52vh;overflow-y:auto;background:rgba(13,10,8,0.97);border:1px solid rgba(201,162,39,0.35);border-bottom:none;border-radius:5px 5px 0 0;z-index:9001;display:none;box-shadow:0 -4px 20px rgba(0,0,0,0.6);backdrop-filter:blur(8px);}
.playlist-panel.open{display:block;}
.pl-head{font-family:'DM Mono',monospace;font-size:0.56rem;color:var(--gold);letter-spacing:0.12em;text-transform:uppercase;padding:8px 11px;border-bottom:1px solid rgba(201,162,39,0.2);position:sticky;top:0;background:rgba(13,10,8,0.98);}
.pl-item{display:flex;gap:8px;align-items:center;padding:7px 11px;font-family:'DM Mono',monospace;font-size:0.62rem;color:var(--beige);cursor:none;border-bottom:1px dashed rgba(201,162,39,0.1);transition:background .15s,color .15s;}
.pl-item:hover{background:rgba(201,162,39,0.13);color:var(--gold-light);}
.pl-item.active{color:var(--gold-shine);background:rgba(201,162,39,0.08);}
.pl-item .pl-num{color:var(--brown-light);font-size:0.54rem;min-width:15px;}

/* ── EXTRA STICKERS ── */
.sticker-host{position:relative;}
.goldstar-sticker{position:absolute;top:-18px;right:-10px;width:62px;background:transparent!important;z-index:10;pointer-events:none;animation:goldstar-glow 3.5s ease-in-out infinite;}
@keyframes goldstar-glow{0%,100%{filter:drop-shadow(0 2px 6px rgba(0,0,0,0.5));}50%{filter:drop-shadow(0 0 13px rgba(201,162,39,0.7));}}
.burst-badge{position:absolute;top:-24px;right:-12px;width:80px;height:80px;z-index:10;display:flex;align-items:center;justify-content:center;transform:rotate(9deg);pointer-events:none;animation:burst-pulse 1.6s ease-in-out infinite;}
.burst-badge img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,0.4));}
.burst-badge span{position:relative;font-family:'DM Mono',monospace;font-size:0.62rem;font-weight:500;color:#fff;letter-spacing:0.03em;text-shadow:0 1px 2px rgba(0,0,0,0.5);transform:rotate(-9deg);}
@keyframes burst-pulse{0%,100%{transform:rotate(9deg) scale(1);}50%{transform:rotate(9deg) scale(1.08);}}
.music-arrow{position:fixed;left:170px;bottom:48px;width:36px;z-index:8999;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.55));animation:music-arrow-bob 1.5s ease-in-out infinite;pointer-events:none;}
@keyframes music-arrow-bob{0%,100%{transform:rotate(150deg) translateY(0);}50%{transform:rotate(150deg) translateY(5px);}}

/* ── CAT PLACEHOLDER (faded overlay text for unclaimed spots) ── */
.cat-card-overlay.is-placeholder .cat-name,.cat-card-overlay.is-placeholder .cat-info{opacity:0.5;}

@media(max-width:640px){.music-bar{gap:7px;padding:7px 9px;}.music-vol{width:42px;}.music-arrow{display:none;}.playlist-panel{width:200px;}}

/* MUSIC POPUP */
#music-popup{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
  background:rgba(6,3,1,0.98);border:2px solid var(--gold);padding:28px 36px;
  text-align:center;z-index:99996;box-shadow:0 0 40px rgba(201,162,39,0.3),0 0 80px rgba(0,0,0,0.9);
  font-family:'DM Mono',monospace;min-width:280px;display:none;
}
#music-popup.visible{display:block;}
#music-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:99995;display:none;}
#music-popup-overlay.visible{display:block;}
.popup-title{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--gold-light);margin-bottom:8px;font-weight:400;}
.popup-sub{font-size:0.65rem;color:var(--brown-light);letter-spacing:0.1em;margin-bottom:20px;line-height:1.7;}
.popup-star{width:50px;margin:0 auto 14px;animation:slow-spin 8s linear infinite;filter:drop-shadow(0 0 10px rgba(201,162,39,0.6));background:transparent!important;}
.popup-btns{display:flex;gap:10px;justify-content:center;}
.popup-btn{padding:8px 20px;font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;cursor:none;border:none;transition:background .2s;}
.popup-btn.yes{background:var(--gold);color:var(--brown-dark);}
.popup-btn.yes:hover{background:var(--gold-shine);}
.popup-btn.no{background:rgba(50,28,12,0.95);color:var(--beige);border:1px solid rgba(201,162,39,0.3);}
.popup-btn.no:hover{background:var(--burgundy);}

/* FOOTER */
footer{background:rgba(6,3,1,0.97);margin-top:24px;padding:20px;text-align:center;padding-bottom:62px;position:relative;z-index:1;border-top:2px solid var(--gold);}
footer p{font-family:'DM Mono',monospace;font-size:0.61rem;color:var(--brown-light);letter-spacing:0.14em;line-height:2;}
.footer-gold{color:var(--gold-light);}
.footer-buttons{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:10px;}
.footer-btn{display:inline-block;background:rgba(25,14,4,0.9);border:1px solid rgba(201,162,39,0.38);color:var(--gold-light);font-family:'DM Mono',monospace;font-size:0.57rem;letter-spacing:0.1em;padding:4px 10px;text-decoration:none;transition:background .2s,color .2s;text-transform:uppercase;}
.footer-btn:hover{background:var(--gold);color:var(--brown-dark);}

@media(max-width:800px){
  .content-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .study-cards{grid-template-columns:1fr;}
  .welcome-grid{grid-template-columns:1fr;}
  .right-sidebar{display:none;}
}
::-webkit-scrollbar{width:7px;}
::-webkit-scrollbar-track{background:rgba(14,8,2,0.9);}
::-webkit-scrollbar-thumb{background:var(--brown-mid);}
::-webkit-scrollbar-thumb:hover{background:var(--gold);}
a{color:var(--gold);text-decoration:none;}
a:hover{color:var(--gold-light);}
audio{display:none;}
