:root{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#f5f7fa}#root{width:100%;display:flex;flex-direction:column}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body,html{-webkit-user-select:none;user-select:none}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px);text-align:center;box-shadow:0 4px 15px #0000001a}.app-header h1{font-size:clamp(24px,6vw,36px);margin-bottom:clamp(4px,1vw,8px);font-weight:700}.app-header p{font-size:clamp(14px,3vw,16px);opacity:.95;max-width:600px;margin:0 auto}.app-main{max-width:1400px;margin:0 auto;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px)}.app-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(15px,3vw,30px);margin-top:clamp(15px,3vw,20px)}.songs-section{background:#fff;border-radius:clamp(8px,2vw,12px);padding:clamp(15px,3vw,30px);box-shadow:0 4px 15px #0000001a;height:fit-content;max-height:80vh;overflow-y:auto}.songs-section h2{margin-bottom:clamp(12px,2vw,20px);color:#333;font-size:clamp(16px,4vw,22px);border-bottom:2px solid #f0f0f0;padding-bottom:clamp(10px,2vw,15px)}.lyrics-section{display:flex;flex-direction:column;gap:clamp(12px,2vw,20px)}.loading,.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;font-size:clamp(14px,3vw,18px);color:#666}.error{color:#d32f2f;text-align:center}.error p{margin:clamp(6px,1vw,10px) 0}@media(max-width:1024px){.app-content{grid-template-columns:1fr 1fr;gap:20px}}@media(max-width:768px){.app-content{grid-template-columns:1fr;gap:20px}.songs-section{max-height:50vh}}@media(max-width:480px){.songs-section{max-height:40vh}}.songs-section::-webkit-scrollbar{width:6px}.songs-section::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.songs-section::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.songs-section::-webkit-scrollbar-thumb:hover{background:#764ba2}.search-bar{display:flex;justify-content:center;padding:clamp(12px,3vw,20px);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:clamp(6px,1.5vw,8px);margin-bottom:clamp(15px,3vw,30px);box-shadow:0 4px 15px #0000001a}.search-input-wrapper{position:relative;width:100%;max-width:500px}.search-input{width:100%;padding:clamp(10px,2vw,12px) clamp(12px,2vw,40px) clamp(10px,2vw,12px) clamp(12px,2vw,16px);font-size:clamp(14px,3vw,16px);border:none;border-radius:clamp(6px,1.5vw,8px);outline:none;transition:box-shadow .3s ease}.search-input:focus{box-shadow:0 0 0 3px #667eea4d}.clear-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:clamp(14px,3vw,18px);cursor:pointer;color:#666;padding:5px;transition:color .2s ease}.clear-btn:hover{color:#333}.song-results{min-height:200px}.no-results{text-align:center;color:#999;padding:clamp(20px,4vw,40px) clamp(10px,2vw,20px);font-size:clamp(14px,3vw,16px)}.songs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(200px,40vw,250px),1fr));gap:clamp(12px,2vw,20px)}.song-card{background:#fff;border-radius:clamp(8px,2vw,12px);padding:clamp(12px,3vw,20px);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;border:2px solid transparent;display:flex;flex-direction:column}.song-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026;border-color:#667eea}.song-card h3{margin:0 0 clamp(4px,1vw,8px) 0;color:#333;font-size:clamp(14px,3vw,18px);line-height:1.3}.song-card .artist{margin:0 0 clamp(10px,2vw,15px) 0;color:#999;font-size:clamp(12px,2.5vw,14px)}.song-rating{display:flex;align-items:center;gap:clamp(6px,1vw,8px);margin-top:auto}.stars{font-weight:600;color:#667eea;font-size:clamp(12px,2.5vw,14px)}.count,.no-rating{color:#999;font-size:clamp(11px,2vw,13px)}@media(max-width:768px){.songs-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(max-width:480px){.songs-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.lyrics-viewer{background:#fff;border-radius:clamp(8px,2vw,12px);padding:clamp(15px,4vw,30px);box-shadow:0 4px 15px #0000001a}.lyrics-header{border-bottom:2px solid #f0f0f0;padding-bottom:clamp(12px,2vw,20px);margin-bottom:clamp(15px,3vw,30px)}.lyrics-header h2{margin:0 0 clamp(4px,1vw,8px) 0;color:#333;font-size:clamp(20px,5vw,28px);font-weight:700}.artist-name{margin:0;color:#999;font-size:clamp(13px,2.5vw,16px)}.lyrics-content{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.8;color:#333;font-size:clamp(13px,3vw,16px)}.lyric-line-container{margin-bottom:clamp(24px,5vw,32px)}.lyric-line-wrapper{position:relative;display:block;width:100%}.lyric-line{margin:0;padding:0;font-size:clamp(13px,3vw,16px);white-space:pre-wrap;color:#333;word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;line-height:1.6}.lyric-line.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;color:#667eea;font-weight:500;padding:0;margin:0;border-radius:0;transition:all .2s ease}.lyric-line.clickable:hover{background-color:transparent;color:#764ba2}.annotation-popup{position:absolute;top:100%;left:0;right:auto;background:#f8f9ff;border-left:4px solid #667eea;padding:clamp(8px,2vw,12px) clamp(12px,2vw,16px);border-radius:6px;margin-top:clamp(6px,1vw,8px);min-width:200px;max-width:300px;z-index:10;box-shadow:0 2px 8px #0000001a;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.annotation-label{font-weight:600;color:#667eea;display:block;margin-bottom:4px;font-size:clamp(12px,2.5vw,14px)}.annotation-text{margin:0;font-size:clamp(12px,2.5vw,14px);color:#555;line-height:1.2;font-style:italic}@media(max-width:480px){.lyrics-viewer{padding:12px}}.rating-component{background:#fff;border-radius:clamp(8px,2vw,12px);padding:clamp(12px,3vw,20px);box-shadow:0 2px 8px #0000001a;text-align:center}.rating-info h4{margin:0 0 clamp(6px,1vw,10px) 0;color:#333;font-size:clamp(14px,3vw,18px)}.current-rating{margin:0 0 clamp(12px,2vw,20px) 0;color:#667eea;font-weight:600;font-size:clamp(13px,2.5vw,16px)}.rating-count{color:#999;font-weight:400;font-size:clamp(11px,2vw,14px)}.stars-container{display:flex;justify-content:center;gap:clamp(6px,1.5vw,10px);margin-bottom:clamp(10px,2vw,15px);flex-wrap:wrap}.star-btn{background:none;border:none;font-size:clamp(20px,6vw,32px);cursor:pointer;transition:transform .2s ease;opacity:.4}.star-btn:hover{transform:scale(1.2);opacity:1}.star-btn.filled{opacity:1;animation:fillStar .3s ease}.star-btn:disabled{cursor:not-allowed;opacity:.6}@keyframes fillStar{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-message{color:#4caf50;font-size:clamp(12px,2.5vw,14px);margin:clamp(6px,1vw,10px) 0 0 0;font-weight:600}@media(max-width:480px){.stars-container{gap:4px}}
