/* --- FONTS & VARIABLES --- */
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');

:root {
    --bg: #050505;
    --pink: #ff0062; 
    --lime: #d4ff00;
    --text: #ffffff;
    --meagan-yellow: #d4ff00;
    --molly-pink: #ff0062;
    --lavender-purple: #9d00ff;
    --zena-orange: #ff6600;
    --ripley-blue: #00d4ff;
    --border-style: 3px double var(--pink);
}

/* --- BASE STYLES --- */
html { scroll-behavior: smooth; }

body {
    background-color: var(--bg);
    background-image: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), 
                      linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 255, 0, 0.06));
    background-size: 100% 2px, 3px 100%;
    color: var(--text);
    font-family: 'Courier New', Courier, monospace;
    margin: 0; padding: 0; overflow-x: hidden;
}

.container {
    max-width: 1000px; margin: 20px auto;
    border: var(--border-style); padding: 15px;
    background: rgba(0,0,0,0.95);
}

/* --- TICKER --- */
.ticker-wrap {
    width: 100%; overflow: hidden; background: #000;
    border-bottom: 1px solid var(--pink); padding: 5px 0;
    position: sticky; top: 0; z-index: 999;
}
.ticker {
    display: flex; width: max-content;
    animation: ticker-move 40s linear infinite;
}
.ticker-item {
    white-space: nowrap; padding: 0 1rem;
    font-family: 'VT323', monospace; font-size: 1.2rem; 
    color: var(--pink); text-transform: uppercase;
}
.sparkle { color: var(--lime); margin: 0 5px; }

@keyframes ticker-move {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* --- NAVIGATION & HEADER --- */
nav { 
    display: flex; justify-content: center; flex-wrap: wrap; 
    margin-bottom: 20px; border-bottom: 1px dashed var(--pink); padding-bottom: 10px; 
}
nav a { 
    color: var(--pink); text-decoration: none; font-family: 'VT323'; 
    font-size: 1.5rem; margin: 5px 15px; 
}
nav a:hover { color: var(--lime); text-shadow: 0 0 5px var(--lime); }

header {
    text-align: center; padding: 60px 0;
    border-bottom: var(--border-style); margin-bottom: 20px;
    position: relative;
}
.vhs-label { position: absolute; top: 10px; left: 10px; font-family: 'VT323'; color: var(--lime); font-size: 1rem; }

h1 { 
    font-family: 'Press Start 2P', cursive;
    font-size: clamp(1.8rem, 6vw, 4.5rem); 
    margin: 0; color: #fff;
    -webkit-text-stroke: 0.2px #000;
    text-shadow: 4px 4px 0px var(--lime), 8px 8px 0px rgba(0,0,0,1);
    text-transform: uppercase;
    line-height: 1.2;
}

/* --- BANDCAMP BUTTON --- */
.bandcamp-btn {
    display: block;
    text-align: center;
    background: transparent;
    color: var(--pink);
    border: 2px dashed var(--pink);
    padding: 10px;
    margin-top: 15px;
    text-decoration: none;
    font-family: 'VT323', monospace;
    font-size: 2.2rem;
    text-transform: uppercase;
    transition: all 0.2s ease-in-out;
}

.bandcamp-btn:hover {
    background: var(--pink);
    color: var(--bg);
    text-shadow: none;
    box-shadow: 0 0 10px var(--pink);
}

/* --- POSTER GRID (SHOWS) --- */
.poster-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
    margin-bottom: 30px; margin-top: 20px;
}
.poster-card {
    background: #020a02; border: 2px solid #00ff41; padding: 20px;
    color: #00ff41; font-family: 'VT323', monospace;
    box-shadow: inset 0 0 15px #000; position: relative;
}
.poster-img {
    width: 100%; aspect-ratio: 4 / 5; object-fit: cover;
    border: 1px solid var(--pink); margin-bottom: 15px; display: block;
}
.poster-card p { font-family: 'Courier New', Courier, monospace; font-size: 0.9rem; line-height: 1.4; color: #fff;}
.poster-card strong { color: #00ff41; }
.crt-blink { animation: blink 1s infinite; float: right; color: #f00; font-weight: bold; }

@keyframes blink { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }

/* --- PROMO BAR --- */
.promo-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 30px; }
.promo-container { position: relative; overflow: hidden; border: 1px solid var(--pink); aspect-ratio: 1/1; }
.promo-img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.4); transition: 0.1s; }
.promo-container:hover .promo-img { filter: grayscale(0) contrast(1.5); animation: jitter 0.1s infinite; }
.promo-container:hover::after {
    content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background-image: url('https://www.transparenttextures.com/patterns/stardust.png'); opacity: 0.5; pointer-events: none;
}

@keyframes jitter {
    0% { transform: translate(0,0); }
    25% { transform: translate(2px, -1px); }
    50% { transform: translate(-1px, 2px); }
    75% { transform: translate(1px, 1px); }
    100% { transform: translate(-2px, -1px); }
}

/* --- BIO PHOTOS & STATUS --- */
.bio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 20px; width: 100%; }
.member-card { padding: 15px; border: 2px solid; background: rgba(255, 255, 255, 0.03); font-family: 'VT323', monospace; transition: 0.3s;}

.bio-img-container {
    width: 80px; height: 80px;
    overflow: hidden; margin: 0 auto 5px auto;
    border: 2px solid; border-radius: 4px; background: #000;
}
.bio-img {
    width: 100%; height: 100%; object-fit: cover;
    filter: grayscale(0.8) contrast(1.2); transition: 0.2s steps(4);
}
.member-card:hover .bio-img { filter: grayscale(1) contrast(3) brightness(1.5) blur(1px); transform: scale(1.2); }

.status-line { font-size: 0.7rem; text-align: center; margin-bottom: 15px; font-family: 'VT323'; letter-spacing: 1px; animation: status-pulse 2s infinite; }
@keyframes status-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
.status-online { color: var(--lime); }
.status-archive { color: #888; }

.member-card h4 { text-align: center; margin-top: 0; margin-bottom: 5px; font-size: 1.4rem; }
.member-card h5 { text-align: center; margin-top: 0; margin-bottom: 10px; font-size: 1rem; color: #fff; opacity: 0.8;}
.member-card p { text-align: center; line-height: 1.3; margin: 0;}

/* Member Specific Colors */
.card-meagan, .card-meagan .bio-img-container { border-color: var(--meagan-yellow); }
.card-molly, .card-molly .bio-img-container { border-color: var(--molly-pink); }
.card-lavender, .card-lavender .bio-img-container { border-color: var(--lavender-purple); }
.card-zena, .card-zena .bio-img-container { border-color: var(--zena-orange); }
.card-ripley { border-color: #555; background: rgba(0,0,0,0.5); } 
.card-ripley .bio-img-container { border-color: #555; filter: grayscale(1); }

.card-band { grid-column: span 2; border-color: #fff; background: rgba(255,255,255,0.1); margin-top: 10px; border-style: dashed; }

/* --- FOOTER --- */
footer { text-align: center; font-size: 0.9rem; margin-top: 50px; color: var(--pink); font-family: 'VT323'; border-top: 1px dashed var(--pink); padding-top: 20px; }

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .bio-grid { grid-template-columns: 1fr; }
    .poster-grid { grid-template-columns: 1fr; }
    .card-band { grid-column: span 1; }
    .promo-gallery { grid-template-columns: repeat(2, 1fr); }
    h1 { font-size: 2.2rem; }
}