:root{--bg-color: #ffffff;--text-color: #1a1a1a;--muted-color: #666666}body{margin:0;padding:0;line-height:1.6;font-family:system-ui, -apple-system, sans-serif;color:var(--text-color);background:var(--bg-color)}.container{max-width:var(--max-width);margin:0 auto;padding:0 1rem}article{margin-top:2rem}article .post-header{margin-bottom:2rem}article img{max-width:100%;height:auto;border-radius:8px}nav{padding:1rem 0;border-bottom:1px solid #eee;display:flex;gap:1rem}nav a{font-weight:bold;text-decoration:none;color:var(--brand-color)}.blog-nav{position:sticky;top:0;background-color:#fff;z-index:100}.song-of-the-week{background:#f9f9f9;padding:1.5rem;border-radius:12px;border:1px solid #eee}.song-of-the-week h3{margin-top:0;margin-bottom:1rem;font-size:1rem;text-transform:uppercase;letter-spacing:1px;color:#666;text-align:center}.song-of-the-week .song-card{display:flex;flex-direction:row;align-items:center;gap:1rem}.song-of-the-week .song-card img{width:80px;height:80px;object-fit:cover;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,0.1);flex-shrink:0}.song-of-the-week .song-card .song-details{display:flex;flex-direction:column;align-items:flex-start;gap:0.5rem;flex:1;min-width:0}.song-of-the-week .song-card .song-info{width:100%}.song-of-the-week .song-card .song-info p{margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-of-the-week .song-card .song-info .song-title{font-weight:bold;font-size:1rem}.song-of-the-week .song-card .song-info .song-artist{color:#666;font-size:0.85rem}.song-of-the-week .song-card .play-button{display:inline-block;background-color:#1DB954;color:white;padding:0.4rem 0.8rem;border-radius:20px;text-decoration:none;font-weight:bold;font-size:0.75rem;transition:background-color 0.2s}.song-of-the-week .song-card .play-button:hover{background-color:#1ed760}.homepage-content{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem}@media (min-width: 768px){.homepage-content{flex-direction:row;justify-content:space-between;align-items:flex-start}.homepage-content .intro-text{flex:1;padding-right:2rem}.homepage-content .song-of-the-week{flex:0 0 250px}}.directory{margin-top:3rem;border-top:1px solid #eee;padding-top:2rem;display:flex;flex-direction:column;gap:2rem}@media (min-width: 768px){.directory{flex-direction:row;justify-content:space-between;align-items:flex-end}}.cats-corner{align-self:center;max-width:100%;width:100%;height:auto;border-radius:8px}@media (min-width: 768px){.cats-corner{align-self:flex-end;max-width:450px;margin-bottom:0}}.blog-layout{display:flex;flex-direction:column;gap:2rem}@media (min-width: 768px){.blog-layout{flex-direction:row;align-items:flex-start}}.blog-sidebar{width:100%}@media (min-width: 768px){.blog-sidebar{width:250px;position:sticky;top:5rem;flex-shrink:0;max-height:calc(90vh - 5rem);overflow-y:auto}}.blog-sidebar nav{border-bottom:none;padding:0;display:block}.blog-sidebar ul{list-style:none;padding:0;margin:0}.blog-sidebar li{margin-bottom:0.5rem}.blog-sidebar .sidebar-link{display:block;padding:0.5rem;border-radius:4px;color:#666;transition:all 0.2s;font-weight:normal}.blog-sidebar .sidebar-link:hover{background:#f0f0f0;color:var(--brand-color)}.blog-sidebar .sidebar-link.active{background:#eef;color:var(--brand-color);font-weight:bold;border-left:3px solid var(--brand-color)}.blog-sidebar .sidebar-link .sidebar-title{display:block;line-height:1.2}.blog-sidebar .sidebar-link .sidebar-date{display:block;font-size:0.8rem;color:#999;margin-top:0.2rem}.blog-main-content{flex:1;min-width:0}.blog-main-content .blog-post-full{margin-bottom:4rem;scroll-margin-top:5rem}.blog-main-content .blog-post-full header{margin-bottom:1.5rem}.blog-main-content .blog-post-full header h1{font-size:2rem;margin-bottom:0.5rem;color:var(--brand-color)}.blog-main-content .blog-post-full header time{color:#666;font-style:italic}.blog-main-content .blog-post-full .post-content{line-height:1.6;font-size:1.1rem}.blog-main-content .blog-post-full .post-content p{margin-bottom:1.5rem}.blog-main-content .blog-post-full .post-content h2{margin-top:2rem;margin-bottom:1rem}.blog-main-content .post-divider{border:none;border-top:1px solid #eee;margin:4rem 0}
