        @import url('https://fonts.googleapis.com/css2?family=Covered+By+Your+Grace&family=Roboto:wght@400;700&display=swap');
        :root { --journal-font: 'Covered By Your Grace', cursive; --body-font: 'Roboto', sans-serif; }
        body { margin: 0; background-color: #1a1a1a; font-family: var(--body-font); display: flex; justify-content: center; align-items: center; min-height: 100vh; }
        .book-container { perspective: 1500px; width: 100%; height: 100%; }
        .book { width: 90vw; max-width: 1200px; height: 80vh; max-height: 800px; position: relative; transform-style: preserve-3d; transition: transform 1s, opacity 1s; }
        .book-cover { position: absolute; width: 50%; height: 100%; background-color: #2a2a2a; background-image: url('https://claroali.com/pics/book.png'); background-size: cover; background-position: center; transform-origin: left; transition: transform 1.5s ease-in-out, opacity 1s; cursor: pointer; display: flex; justify-content: center; align-items: center; flex-direction: column; color: white; font-family: var(--journal-font); -webkit-backface-visibility: hidden; backface-visibility: hidden; border-top-right-radius: 10px; border-bottom-right-radius: 10px; z-index: 20; }
        .book-cover::after { content: 'Click to Open'; position: absolute; bottom: 30px; font-size: 1.5rem; opacity: 1; transition: opacity 0.5s; }
        .book-pages { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: #fff; z-index: 10; display: flex; opacity: 0; transition: opacity 1s ease-in-out; }
        .page { width: 50%; height: 100%; background: #fdfdfd; box-sizing: border-box; overflow-y: auto; padding: 2rem 2.5rem; display: flex; flex-direction: column; }
        h1, h2, h3 { color: #222; }
        h1 { font-family: var(--journal-font); font-size: 3rem; margin-bottom: 1rem; }
        h2 { border-bottom: 2px solid #eee; padding-bottom: 10px; margin-bottom: 20px; }
        p { line-height: 1.6; }
        .page-left { border-right: 1px solid #ddd; }
        .page-intro { text-align: center; }
        .page-intro img.logo { max-width: 200px; margin-bottom: 20px; }
        .subscribe-btn { display: inline-block; background-color: #FF0000; color: #fff; padding: 12px 24px; border-radius: 25px; text-decoration: none; font-weight: bold; margin: 20px 0; transition: background-color 0.3s, transform 0.2s; }
        .subscribe-btn:hover { background-color: #cc0000; transform: scale(1.05); }
        #playlist-container ul { list-style: none; padding: 0; text-align: left; }
        #playlist-container li a { display: flex; align-items: center; gap: 15px; padding: 10px; text-decoration: none; color: #333; border-radius: 8px; transition: background-color 0.2s; }
        #playlist-container li a:hover { background-color: #f0f0f0; }
        #playlist-container img { width: 80px; height: 45px; object-fit: cover; border-radius: 4px; }
        .playlist-info { display: flex; flex-direction: column; }
        .playlist-info span { font-size: 0.8rem; color: #777; }
        #latest-video-player { width: 100%; margin-bottom: 20px; }
        #latest-video-player iframe { width: 100%; aspect-ratio: 16 / 9; border: none; border-radius: 8px; }
        .tabs-container { display: flex; border-bottom: 2px solid #eee; margin-bottom: 20px; }
        .tab { padding: 10px 20px; cursor: pointer; font-size: 1rem; font-weight: bold; color: #888; border-bottom: 3px solid transparent; }
        .tab.active { color: #333; border-bottom-color: #FF0000; }
        .tab-content { display: none; }
        .tab-content.active { display: block; }
        .video-grid { display: grid; grid-template-columns: 1fr; gap: 30px; }
        .video-item { text-decoration: none; color: #333; background: #fff; padding: 15px 15px 20px 15px; box-shadow: 3px 3px 8px rgba(0,0,0,0.2); transition: transform 0.2s, box-shadow 0.2s; }
        .video-item:hover { transform: scale(1.05) rotate(1deg); box-shadow: 5px 5px 12px rgba(0,0,0,0.3); z-index: 10; }
        .video-item img { width: 100%; display: block; margin-bottom: 15px; }
        .video-item h3 { font-size: 1.1rem; margin: 0 0 8px 0; text-align: left; }
        .video-item p.description { font-size: 0.9rem; color: #666; margin: 0; max-height: 50px; overflow: hidden; text-overflow: ellipsis; text-align: left; }
        .publish-date { font-family: var(--journal-font); font-size: 1.1rem; text-align: center; margin-top: 15px; color: #555; }
        .loader { text-align: center; padding: 40px; font-size: 1.2rem; color: #888; }
        .page-footer { margin-top: auto; padding-top: 20px; font-size: 0.8rem; color: #aaa; text-align: center; }
        .main-footer { display: none; } /* Hide mobile footer by default */
        .book.open .book-cover { transform: rotateY(-180deg); }
        .book.open .book-pages { opacity: 1; }
        .book.open .book-cover::after { opacity: 0; }
        
        @media (max-width: 800px) {
            body { align-items: flex-start; }
            .book { width: 100%; max-width: 100%; height: auto; max-height: none; perspective: none; }
            .book-cover { width: 100%; border-radius: 0; height: 100vh; position: fixed; }
            .book.open .book-cover { opacity: 0; pointer-events: none; }
            .book-pages { flex-direction: column; position: relative; height: auto; opacity: 1; }
            .page { width: 100%; border: none !important; display: contents; }
            .desktop-footer { display: none; } /* Hide desktop footers on mobile */
            .main-footer { display: block; } /* Show mobile footer */
            .page-intro { order: 1; }
            #latest-video-section { order: 2; }
            .page-video-content { order: 3; }
            #playlist-section { order: 4; }
            .main-footer { order: 5; }
            .page-intro, #playlist-section, #latest-video-section, .page-video-content, .main-footer {
                display: block; width: 100%; box-sizing: border-box; padding: 1.5rem;
            }
        }

        /* 3D Page Turn Animation Styles */
        .flip-leaf {
            position: absolute;
            top: 0;
            right: 0; /* Positioned over the right page */
            width: 50%;
            height: 100%;
            transform-origin: left center;
            transform-style: preserve-3d;
            transition: transform 1.2s cubic-bezier(0.645, 0.045, 0.355, 1);
            z-index: 30; /* Above regular pages */
            pointer-events: none;
        }
        
        .flip-leaf.turning {
            transform: rotateY(-180deg);
        }
        
        .flip-front, .flip-back {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            background: #fdfdfd;
            overflow: hidden;
            box-sizing: border-box;
            /* Match the padding and display of .page so content looks identical */
            padding: 2rem 2.5rem;
            display: flex;
            flex-direction: column;
        }
        
        .flip-back {
            transform: rotateY(180deg);
            border-right: 1px solid #ddd; /* Match left page border */
        }
        
        /* Disable 3D flip on mobile - use simple fade or instant change instead */
        @media (max-width: 800px) {
            .flip-leaf { display: none !important; }
        }


/* Review & Article Styles */
header { text-align: center; margin-bottom: 2rem; }
header img.logo { max-width: 150px; }
header h1 { font-family: var(--journal-font); font-size: 3.5rem; margin: 0.5rem 0 1rem 0; color: #222; }
header h1 a { text-decoration: none; color: inherit; }
.main-nav { padding-bottom: 15px; margin-bottom: 20px; border-bottom: 2px solid #eee; text-align: center; }
.main-nav ul { list-style: none; padding: 0; margin: 0; display: flex; justify-content: center; gap: 30px; }
.main-nav a { text-decoration: none; color: #333; font-family: var(--journal-font); font-size: 1.5rem; transition: color 0.2s; }
.main-nav a:hover, .main-nav a.active { color: #FF0000; }
.review-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px; }
.review-item { text-decoration: none; color: #333; background: #fff; padding: 15px; box-shadow: 3px 3px 8px rgba(0,0,0,0.1); transition: transform 0.2s, box-shadow 0.2s; display: block; }
.review-item:hover { transform: translateY(-5px); box-shadow: 5px 5px 12px rgba(0,0,0,0.15); }
.review-item img { width: 100%; height: 160px; object-fit: cover; display: block; margin-bottom: 15px; }
.review-item h3 { font-size: 1.3rem; margin: 0 0 8px 0; }
.review-item p { font-size: 0.9rem; margin: 0; color: #666; min-height: 40px; }

.review-header h1 { font-family: var(--body-font); font-size: 2.5rem; margin-bottom: 0.5rem; }
.review-content img { max-width: 100%; height: auto; border-radius: 8px; }
.review-content .banner-image { margin: 1rem 0 2rem 0; }
.review-content h2 { font-size: 1.8rem; border-bottom: 2px solid #eee; padding-bottom: 8px; margin-top: 2.5rem; }
.review-content p, .review-content ul { font-size: 1.1rem; margin-bottom: 1.5rem; }
.review-content a { color: #FF0000; font-weight: bold; text-decoration: none; }
.review-content a:hover { text-decoration: underline; }
.review-content ul { list-style-position: inside; padding-left: 10px; }
.review-content .embedded-video { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000; margin: 2rem 0; border-radius: 8px; }
.review-content .embedded-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
.review-content blockquote { border-left: 4px solid #ccc; margin: 1.5em 10px; padding: 0.5em 10px; font-style: italic; color: #666; }
.review-content figure { margin: 2rem 0; text-align: center; }
.review-content figcaption { margin-top: 0.75rem; font-size: 0.9rem; color: #666; font-family: var(--journal-font); font-size: 1.1rem; }
