/* --- GLOBAL STYLES --- */
:root {
    --bg-color: #f5f3ef;
    --card-bg: #ffffff;
    --text-color: #3d3d3d;
    --border-color: #e0e0e0;
    --header-font: 'Special Elite', monospace;
    --body-font: 'Gochi Hand', cursive;
}

body {
    background-color: var(--bg-color);
    font-family: var(--body-font);
    font-size: 20px;
    color: var(--text-color);
    margin: 0;
    padding: 15px;
}

header {
    text-align: center;
    font-family: var(--header-font);
    padding-bottom: 20px;
    margin-bottom: 20px;
}
header h1 { margin: 0; font-size: 2.2em; }

/* --- MAIN NAVIGATION BAR --- */
.main-nav { text-align: center; margin-bottom: 40px; font-family: var(--header-font); font-size: 1.1em; border-top: 1px dashed var(--border-color); border-bottom: 1px dashed var(--border-color); padding: 15px 0; }
.main-nav a { color: var(--text-color); text-decoration: none; margin: 0 15px; transition: color 0.2s; }
.main-nav a:hover { color: #a58a8d; text-decoration: underline; }

/* --- THE PENPAL FEED LAYOUT --- */
.feed { max-width: 700px; margin: 0 auto; display: flex; flex-direction: column; gap: 40px; }

.entry { background: var(--card-bg); border: 1px solid var(--border-color); padding: 20px 25px; box-shadow: 5px 5px 15px rgba(0,0,0,0.1); transition: transform 0.2s ease-in-out; }
.entry:nth-child(odd) { transform: rotate(1.5deg); }
.entry:nth-child(even) { transform: rotate(-1.5deg); }
.entry:hover { transform: rotate(0) scale(1.02); z-index: 10; }

/* --- SECTIONS INSIDE EACH ENTRY --- */
.entry-header { font-family: var(--header-font); text-align: center; border-bottom: 2px dashed var(--border-color); margin-bottom: 20px; padding-bottom: 10px; }
.entry-header h2, .entry-header h3 { margin: 0; }
.entry-header h3 { font-family: var(--body-font); font-size: 0.9em; padding-top: 5px; }
section { margin-bottom: 20px; }
section h4 { font-family: var(--header-font); margin: 0 0 10px 0; font-size: 1.1em; }
.photo-gallery .gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 15px; }
.photo-gallery img { width: 100%; display: block; border: 8px solid white; box-shadow: 2px 2px 8px rgba(0,0,0,0.2); }
.current-faves ul { list-style: '💌'; padding-left: 25px; margin: 0; }

/* --- MEDIA EMBED STYLES --- */
.media-embed { margin: 15px 0; box-shadow: 3px 3px 10px rgba(0,0,0,0.15); border: 8px solid white; }
.gif-container img { width: 100%; display: block; }
.responsive-iframe-container { position: relative; overflow: hidden; padding-top: 56.25%; }
.responsive-iframe-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
.tiktok-embed { max-width: 100% !important; margin: 15px auto !important; border-radius: 8px; }

/* --- MOBILE OPTIMIZATION --- */
@media (max-width: 600px) {
    body { font-size: 18px; }
    .entry { transform: rotate(0) !important; }
    .feed { gap: 25px; }
    .main-nav { display: flex; flex-wrap: wrap; justify-content: center; }
    .main-nav a { margin: 5px 10px; }
}