@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:#231f20;line-height:1.6}.header{background:#231f20;padding:16px 0;box-shadow:0 2px 4px rgba(0,0,0,.1)}.header-content{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:16px}.logo-img{width:50px;height:50px}.logo-text{font-family:"Montserrat",sans-serif;font-size:24px;font-weight:700;color:#fff;letter-spacing:.05em}.logo-radio{color:#fff}.logo-calico{color:#38a29d}.container{max-width:1200px;margin:0 auto;padding:48px 24px}.player-section{background:#fff;display:grid;grid-template-columns:400px 1fr;gap:48px;margin-bottom:48px}.album-art-container{position:relative}.album-art{width:100%;aspect-ratio:1;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);object-fit:cover}.track-info{display:flex;flex-direction:column;justify-content:center}.artist-name,.song-title{font-family:"Montserrat",sans-serif;font-size:36px;font-weight:700;color:#1f4e23;margin-bottom:8px;line-height:1.2}.song-title{font-size:28px;font-weight:500;color:#231f20;margin-bottom:16px;line-height:1.3}.album-info{font-size:16px;color:#666;margin-bottom:4px}.year-info{font-size:14px;color:#999;margin-bottom:8px}.audio-quality{font-size:14px;color:#38a29d;font-weight:600;margin-bottom:24px}.rating-container{display:flex;gap:16px;margin-bottom:24px}.rating-btn{display:flex;align-items:center;gap:8px;background:#f5eada;border:2px solid #e0d5c5;border-radius:4px;padding:12px 20px;cursor:pointer;transition:all .3s ease;font-size:16px;font-weight:600}.rating-btn:hover{background:#d8f2d5;border-color:#1f4e23}.rating-btn.active{background:#1f4e23;border-color:#1f4e23;color:#fff}.rating-icon{font-size:20px}.rating-message{font-size:14px;color:#38a29d;min-height:20px;margin-bottom:16px}.play-button,.player-controls{display:flex;align-items:center}.player-controls{gap:24px}.play-button{width:56px;height:56px;border-radius:50%;background:#1f4e23;border:0;color:#fff;font-size:24px;cursor:pointer;transition:all .3s ease;justify-content:center;box-shadow:0 2px 8px rgba(31,78,35,.3)}.play-button:hover{background:#38a29d;transform:scale(1.05)}.play-button:disabled{opacity:.5;cursor:not-allowed}.volume-control{display:flex;align-items:center;gap:12px;flex:1}.volume-icon{font-size:20px;color:#231f20}.volume-slider{flex:1;max-width:200px;height:6px;border-radius:3px;background:#e0d5c5;outline:0;-webkit-appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#38a29d;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.2)}.volume-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#38a29d;cursor:pointer;border:0;box-shadow:0 2px 4px rgba(0,0,0,.2)}.volume-value{font-size:14px;color:#231f20;font-weight:600;min-width:45px}.status-message{font-size:14px;color:#666;margin-top:16px}.previous-tracks{background:#d8f2d5;border-radius:8px;padding:24px 32px}.section-title{font-family:"Montserrat",sans-serif;font-size:18px;font-weight:600;color:#1f4e23;margin-bottom:12px}.track-list{list-style:none}.track-item{padding:8px 0;border-bottom:1px solid rgba(31,78,35,.1);transition:background .2s ease}.track-item:hover{background:rgba(255,255,255,.3)}.track-item:last-child{border-bottom:none}.track-name{font-weight:600;color:#231f20;font-size:14px;margin-bottom:2px}.track-artist{color:#666;font-size:13px}.loading{color:#38a29d;font-size:14px;margin-top:8px}.loading.active{animation:pulse 1.5s ease-in-out infinite}.error-message{background:#ffebee;color:#c62828;padding:16px;border-radius:4px;margin-top:16px;display:none}.metadata-status{font-size:12px;color:#999;margin-top:12px}@media (max-width:900px){.player-section{grid-template-columns:1fr;gap:32px}.album-art-container{max-width:400px;margin:0 auto}.track-info{text-align:center;align-items:center}.rating-container{justify-content:center}.player-controls{flex-direction:column;align-items:stretch}.volume-control{justify-content:center}}@media (max-width:600px){.artist-name{font-size:28px}.song-title{font-size:22px}.container{padding:32px 16px}}