
/*
  SnuggleBros 90s-Style CSS
  Vibe: Rugrats meets Nick.com circa 1999
*/

body {
    /* Tiled background pattern - zigzags, squiggles, and dots */
    background-color: #7B42DB; /* Bright purple */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke-width='4'%3E%3Cpath stroke='%23F8A5C2' d='M 0 50 L 25 25 L 50 50 L 75 25 L 100 50' /%3E%3Cpath stroke='%239CFEFF' d='M 0 75 Q 50 50, 100 75' /%3E%3Cpath stroke='%23F9D77E' d='M 25 100 L 25 0 M 75 100 L 75 0' /%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='5' fill='%2339FF14' /%3E%3C/svg%3E");
    background-size: 100px;
    font-family: "Comic Sans MS", "Chalkboard SE", "Marker Felt", sans-serif;
}

#container {
    width: 960px;
    margin: 20px auto;
    background-color: #FFDDC1; /* Peachy-orange */
    border: 8px groove #FF6B6B; /* Chunky red border */
    padding: 15px;
    box-shadow: 10px 10px 0px rgba(0,0,0,0.5);
}

/* --- Header & Logo --- */
header {
    text-align: center;
    padding: 20px;
    border-bottom: 6px dashed #42C2B8; /* Teal dashes */
}

.logo {
    font-size: 90px;
    font-weight: bold;
    color: #39FF14; /* Neon green */
    -webkit-text-stroke: 4px #000;
    text-shadow: 6px 6px 0 #F8A5C2; /* Bubblegum pink shadow */
    animation: wobble 1.5s ease-in-out infinite;
    margin: 0;
}

/* --- Hero Section --- */
.hero {
    text-align: center;
    padding: 20px;
    margin: 20px 0;
    background: #FFF;
    border: 4px solid #000;
    border-radius: 25px;
}

/* --- Hero Section --- */
.hero {
    text-align: center;
    padding: 20px;
    margin: 20px 0;
    background: #FFF;
    border: 4px solid #000;
    border-radius: 25px;
}

/* .hero-image-container {
    width: 800px;
    height: 400px;
    margin: 0 auto 20px;
    border: 10px solid transparent;
    border-image: url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.s%7Bstroke:%23F9D77E;stroke-width:8;stroke-linecap:round%7D%3C/style%3E%3Cpath class='s' d='M5 5h90v90H5z'/%3E%3Cpath class='s' d='M25 25h50v50H25z'/%3E%3C/svg%3E") 30 round;
    background-color: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: #888;
} */
.hero-image-container {
    width: 800px;
    height: 400px;
    margin: 0 auto 20px;
    
    background-image: url("./hero.png");
    background-size: cover; /* ensures full coverage */
    background-position: center center;
    background-repeat: no-repeat;

    border: 8px solid #000;
    border-radius: 20px;

    box-shadow: 0 8px 0 #000; /* 90s vibe: thick drop */
}
.hero .sub-text {
    font-size: 24px;
    color: #4A4A4A;
    font-weight: bold;
    margin-bottom: 20px;
}

.hero .sub-text {
    font-size: 24px;
    color: #4A4A4A;
    font-weight: bold;
    margin-bottom: 20px;
}

#theme-song-btn {
    background: #FF6AC1; /* Hot Pink */
    color: #FFF;
    font-size: 28px;
    font-weight: bold;
    padding: 15px 35px;
    border: 4px outset #E03E97;
    border-radius: 50px;
    cursor: pointer;
    text-shadow: 2px 2px 0 #000;
    transition: transform 0.1s ease;
}

#theme-song-btn:hover {
    animation: wiggle 0.3s infinite;
}

/* --- Meet the Bros --- */
.meet-the-bros {
    background-color: rgba(255, 255, 255, 0.7);
    border: 4px dotted #42C2B8;
    padding: 20px;
    border-radius: 15px;
    margin-top: 20px;
}

.meet-the-bros h2 {
    text-align: center;
    font-size: 48px;
    color: #7B42DB;
    margin-bottom: 20px;
}

.bros-container {
    display: flex;
    justify-content: space-around;
}

.bro-card {
    width: 45%;
    background: repeating-linear-gradient(45deg, #F9D77E, #F9D77E 10px, #FCE2A3 10px, #FCE2A3 20px); /* Yellow stripes */
    border: 5px solid #FF6B6B;
    border-radius: 20px;
    padding: 15px;
    text-align: center;
    box-shadow: 5px 5px 0 #4A4A4A;
}

.bro-image-container {
    width: 150px;
    height: 150px;
    margin: 0 auto 10px auto;
    border-radius: 50%;
    border: 6px solid #FFF;
    background-color: #eee;
    box-shadow: 0 0 0 6px #39FF14; /* Neon green outer ring */
    animation: bobble 4s infinite ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #888;
    overflow: hidden; /* Prevent image from spilling out */
}

.bro-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Scale image to fill container */
}


.bro-card h3 {
    font-size: 32px;
    margin: 10px 0;
    color: #E03E97;
}

.bro-card p {
    font-size: 16px;
    color: #333;
}

/* --- Backstory & Teaser --- */
.backstory, .teaser {
    margin-top: 20px;
    padding: 20px;
    border-radius: 15px;
}

.backstory {
    background-color: #F9D77E; /* Yellow */
    border: 6px dotted #7B42DB; /* Purple */
}

.teaser {
    background-color: #9CFEFF; /* Light Teal */
    border: 6px double #FF6AC1; /* Pink */
}

.backstory h2, .teaser h2 {
    text-align: center;
    font-size: 48px;
    color: #FF6B6B; /* Red */
    margin-bottom: 15px;
}

.backstory p, .teaser p {
    font-size: 18px;
    line-height: 1.6;
    color: #333;
}

/* --- Episode Guide --- */
.episode-guide {
    margin-top: 20px;
    border: 5px dashed orange;
    padding: 20px;
    background-color: #9CFEFF; /* Light Teal */
}

.episode-guide h2 {
    text-align: center;
    font-size: 48px;
    color: #FF6AC1;
    margin-bottom: 20px;
}

.episode-guide details {
    margin-bottom: 15px;
}

.episode-guide summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 28px; /* Bigger font size */
    font-weight: bold;
    color: #4A4A4A;
    cursor: pointer;
    list-style: none; /* Hide default marker */
}

.episode-guide summary::-webkit-details-marker {
    display: none;
}

/* Add the star back */
.episode-guide summary::before {
    content: '★';
    color: #FF6B6B;
    font-size: 24px;
    margin-right: 15px;
    animation: spin 3s linear infinite;
    display: inline-block;
}

/* Custom expand/collapse icon */
.episode-guide summary::after {
    content: '▶';
    font-size: 24px;
    color: #7B42DB; /* Purple */
    padding-left: 15px;
}

.episode-guide details[open] > summary::after {
    content: '▼';
}

.episode-guide p {
    font-size: 18px;
    line-height: 1.5;
    color: #333;
    padding: 10px 0 10px 45px; /* Indent the description */
    background: rgba(255,255,255,0.4);
    border-radius: 10px;
    margin-top: 10px;
}


/* --- Footer --- */
footer {
    text-align: center;
    margin-top: 20px;
    padding: 15px;
    font-size: 14px;
    color: #4A4A4A;
    border-top: 6px double #000;
}

/* --- CSS Animations --- */

/* Logo Wobble */
@keyframes wobble {
    0%, 100% { transform: rotate(0deg) scale(1); }
    25% { transform: rotate(3deg) scale(1.05); }
    75% { transform: rotate(-3deg) scale(0.95); }
}

/* Character Image Bobble */
@keyframes bobble {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(8deg); }
    75% { transform: rotate(-8deg); }
}

/* Button Wiggle */
@keyframes wiggle {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

/* Star Spin */
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
