/* --- Common Theme Variables --- */
:root {
    /* Layout */
    --sticky-top-position: 7vh;
    --max-width: 75%;
    --sticky-left-width: 45%;
    --gap-width: 5%;
    /* Light Mode Colors */
    --bg-color: #f4f4f4;
    --text-color: #333;
    --heading-color: #333;
    --link-color: #333; /* From index */
    --link-hover-color: #111; /* Consistent value */
    --artist-color: #333; /* From album */
    --song-title-color: #444; /* From album */
    --annotation-text-color: #333; /* From album */
    --annotation-date-color: #777; /* From album */
    --progress-bar-track: #eee; /* From album */
    --progress-bar-fill: #555; /* From album */
    --time-display-color: #666; /* From album */
    --play-pause-color: #555; /* From album */
    --play-pause-hover-color: #333; /* From album */
    --search-placeholder-color: #999; /* From index */
    --search-icon-filter: none; /* From index */
    --toggle-bg: #ddd; /* Consistent value */
    --toggle-fg: #333; /* Consistent value */
    --toggle-hover-bg: #ccc; /* Consistent value */
    transition: background-color 0.3s ease, color 0.3s ease; /* From album */
}

.dark-mode {
    /* Dark Mode Color Overrides */
    --bg-color: #1a1a1a;
    --text-color: #e0e0e0;
    --heading-color: #e0e0e0;
    --link-color: #e0e0e0; /* From index */
    --link-hover-color: #bbb; /* Consistent value */
    --artist-color: #ccc; /* From album */
    --song-title-color: #d0d0d0; /* From album */
    --annotation-text-color: #e0e0e0; /* From album */
    --annotation-date-color: #999; /* From album */
    --progress-bar-track: #444; /* From album */
    --progress-bar-fill: #bbb; /* From album */
    --time-display-color: #aaa; /* From album */
    --play-pause-color: #bbb; /* From album */
    --play-pause-hover-color: #eee; /* From album */
    --search-placeholder-color: #777; /* From index */
    --search-icon-filter: invert(100%) brightness(90%); /* From index */
    --toggle-bg: #555; /* Consistent value */
    --toggle-fg: #e0e0e0; /* Consistent value */
    --toggle-hover-bg: #666; /* Consistent value */
}

* {
    margin: 0;
    padding: 0;
}


html {
    scrollbar-gutter: stable; /* Reserve space for scrollbar */
}

body {
    font-family: 'Playfair Display', serif; /* Use Playfair Display */
    margin: 0;
    padding: 0;
    background-color: var(--bg-color); /* Use variable */
    color: var(--text-color);          /* Use variable */
    line-height: 1.4; /* Match album page line-height */
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition */
}

ul {
    list-style: none;
}

p {
    margin-bottom: 1.2em;
    text-wrap: pretty;
}

a { /* Target links within the text content */
    color: var(--text-color); 
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

a:hover::after {
    text-decoration: none; /* Remove underline from the arrow on hover */
}

a::after {
    content: '↗';
    vertical-align: super;
    font-size: 0.3em;
    margin-left: 0.6em;
    cursor: pointer;
    display: inline-block; /* Prevent underline inheritance */
}

blockquote {
    border-left: 2px solid var(--annotation-date-color);
    padding-left: 1em;
    font-size: 0.9em;
    margin-left: 0; /* Remove default browser margin */
    margin-right: 0; /* Remove default browser margin */
    /* margin-bottom: 0.8em; */
    color: var(--annotation-date-color); /* Slightly dimmer text color for contrast */
}

.play-trigger {
    cursor: pointer;
    font-weight: 600;
}

.play-trigger:hover {
    text-decoration: underline;
}

.play-trigger:hover::after {
    text-decoration: none; /* Remove underline from play trigger on hover */
}

.play-trigger::after { /* Target links within the text content */
    content: '▶';
    vertical-align: super;
    font-size: 0.3em;
    margin-left: 0.6em;
    display: inline-block; /* Prevent underline inheritance */
}

/* --- End Common Theme Variables --- */


/* --- Common Layout Styles --- */
.layout-container {
    max-width: var(--max-width);
    margin-top: var(--sticky-top-position);
    margin-bottom: var(--sticky-top-position);
    margin-left: 12.5%;
}

.layout-main {
    display: flex;
    gap: var(--gap-width);
    align-items: flex-start;
}

.layout-sticky-left {
    width: var(--sticky-left-width);
    flex-shrink: 0;
    position: sticky;
    top: var(--sticky-top-position); /* Default sticky top position */
    display: flex;
    flex-direction: column;
}

.layout-content-right {
    flex: 1; /* Takes remaining space */
    display: flex;
    flex-direction: column;
}

.site-description {
    color: var(--text-color);
    font-size: 1.1em;
}

.site-description h2 {
    font-size: 1.4em;
    font-weight: 600;
    margin-bottom: 0.4em;
}


/* Responsive adjustments for common layout */
@media (max-width: 900px) { 
    .layout-main {
        flex-direction: column;
        align-items: center; 
    }

    .layout-sticky-left {
        position: static; 
        width: 80%; /* Keep adjusted width when stacked */
        margin-bottom: 30px; 
        align-items: center; /* Added from album style responsive */
        text-align: center;
    }

    .layout-content-right {
        width: 100%; /* Take full width when stacked */
        align-items: center; /* Center content within the right column when stacked */
    }

    .layout-container {
        max-width: 90%; /* Wider container on smaller screens */
        margin-left: auto; /* Re-center */
        margin-right: auto;
    }
}
/* --- End of Common Layout Styles --- */ 
