:root{--bg: #fff;--bg-secondary: #f5f5f5;--text: #000;--text-secondary: #666;--accent: #007AFF;--border: #e0e0e0;--radius: 12px;--radius-sm: 8px}*{box-sizing:border-box;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img:not(.profile-avatar){max-width:100%;height:auto;display:block}img.profile-avatar{display:block}.container{max-width:600px;margin:0 auto;padding:0 16px}.container-wide{max-width:900px;margin:0 auto;padding:0 16px}@media(min-width:768px){.container,.container-wide{padding:0 24px}}@media(min-width:1024px){.container-wide{max-width:1100px;padding:0 32px}}.btn{display:inline-block;background:var(--accent);color:#fff;padding:14px 28px;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:16px;text-align:center;transition:opacity .2s}.btn:hover{opacity:.9;text-decoration:none}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border)}.text-secondary{color:var(--text-secondary)}.text-center{text-align:center}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.profile-header{text-align:center;padding:0 1rem 1rem}.profile-identity{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:.375rem}.profile-avatar{width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;border-radius:50%;object-fit:cover;display:block}.profile-avatar-placeholder{background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1.125rem;font-weight:600}.profile-info{text-align:left}.profile-name{font-size:1.375rem;font-weight:700;margin:0;line-height:1.2}.profile-meta{font-size:.875rem;color:var(--text-secondary);margin:.125rem 0 0}.profile-bio{font-size:.9375rem;color:var(--text-secondary);line-height:1.5;margin:.5rem auto 0;max-width:360px;text-align:center}.post-detail{max-width:600px;margin:0 auto}.post-detail .user-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .75rem}.post-detail .user-link{display:flex;align-items:center;gap:.75rem;color:var(--text);text-decoration:none}.post-detail .user-link:hover{text-decoration:none}.post-detail .user-link:hover .user-name{text-decoration:underline}.post-detail .user-avatar{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;object-fit:cover}.post-detail .user-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-secondary);font-size:1rem;font-weight:600}.post-detail .user-info{display:flex;flex-direction:column}.post-detail .user-name{font-weight:600;font-size:.9375rem;line-height:1.2}.post-detail .user-meta,.post-detail .post-time{font-size:.8125rem;color:var(--text-secondary)}.post-detail .hero-image{width:100%;background:var(--bg-secondary)}.post-detail .hero-image img{width:100%;height:auto;display:block}.post-detail .post-content{padding:1rem 1rem 1.5rem}.post-detail .album-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.post-detail .album-thumb{width:48px;height:48px;min-width:48px;border-radius:6px;object-fit:cover}.post-detail .album-info{display:flex;flex-direction:column;min-width:0}.post-detail .album-artist{font-weight:600;font-size:1rem;line-height:1.3}.post-detail .album-title-year{font-size:.875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-detail .rating-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.post-detail .loved{color:#ff3b5c;display:flex;align-items:center}.post-detail .caption{font-size:1.0625rem;line-height:1.6;margin-bottom:1rem;color:var(--text)}.post-detail .favorite-tracks{margin-top:.5rem}.post-detail .tracks-label{display:block;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.post-detail .tracks-list{list-style:none;margin:0;padding:0}.post-detail .tracks-list li{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.9375rem}.post-detail .track-icon{color:var(--accent);flex-shrink:0}.post-detail .post-footer{padding:1rem;border-top:1px solid var(--border)}.post-detail .back-link{font-size:.875rem;color:var(--text-secondary);text-decoration:none}.post-detail .back-link:hover{color:var(--accent);text-decoration:underline}@media(min-width:640px){.post-detail{margin-top:1rem}.post-detail .user-header{padding:1.25rem 1.5rem 1rem}.post-detail .post-content{padding:1.25rem 1.5rem 2rem}.post-detail .post-footer{padding:1.25rem 1.5rem}.post-detail .caption{font-size:1.125rem}}.site-header[data-astro-cid-dmqsi53g]{padding:1rem;text-align:center}.logo-link[data-astro-cid-dmqsi53g]{display:inline-block}.logo[data-astro-cid-dmqsi53g]{height:32px;width:auto}@media(min-width:768px){.site-header[data-astro-cid-dmqsi53g]{padding:1.25rem 2rem}.logo[data-astro-cid-dmqsi53g]{height:36px}}main[data-astro-cid-dmqsi53g]{min-height:calc(100vh - 200px);padding-bottom:32px}.app-banner[data-astro-cid-dmqsi53g]{padding:32px 0;text-align:center;border-top:1px solid var(--border);margin-top:48px}
