:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}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}}.subsonic-analyzer{font-family:Arial,sans-serif;max-width:1000px;margin:0 auto;padding:20px 20px 100px;position:relative}.playback-shelf{position:fixed;bottom:0;left:0;width:100%;background-color:#333;color:#fff;padding:10px 0;box-shadow:0 -2px 10px #0003;transition:transform .3s ease-in-out;z-index:1000}.playback-shelf.hide{transform:translateY(100%)}.playback-shelf.show{transform:translateY(0)}.playback-shelf-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 20px}.playback-shelf-info{flex:1;display:flex;flex-direction:column;margin-right:20px;min-width:0}.currently-playing-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}.playback-shelf-times{display:flex;justify-content:space-between;font-size:.8rem;color:#ccc;margin-bottom:5px}.playback-scrub-bar{flex:2;height:10px;background-color:#555;border-radius:5px;cursor:pointer;position:relative;overflow:hidden;margin:0 20px}.playback-progress{height:100%;background-color:#4caf50;width:0%;border-radius:5px;transition:width .1s linear}.playback-shelf-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0 10px}.playback-shelf-close:hover{color:#ff6b6b}.file-item .playback-container,.filename-cell .playback-container{display:none}.play-button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:5px;border-radius:50%;transition:background-color .2s}.play-button:hover{background-color:#0000001a}tr.playing,.file-item.is-playing{background-color:#4caf501a}table{width:100%;border-collapse:collapse}td,th{padding:10px;text-align:left}.play-cell{width:40px}.filename-cell{max-width:25vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-area{border:2px dashed #ccc;padding:20px;text-align:center;margin-bottom:20px;cursor:pointer}.upload-area.dragging{border-color:#4caf50;background-color:#4caf501a}.upload-area input{display:none}.file-list{margin-bottom:20px;max-width:100vw}.file-item{position:relative;border:1px solid #ddd;margin-bottom:10px;border-radius:4px;overflow:hidden;max-width:100vw}.file-content{display:flex;justify-content:space-between;align-items:center;padding:10px;z-index:2;position:relative}.filename{flex:1;overflow:hidden;text-overflow:wrap;white-space:nowrap;margin-right:10px;max-width:65vw}.status{font-size:.9em;color:#666}.progress-bar{position:absolute;left:0;top:0;height:100%;background-color:#4caf5033;z-index:1;transition:width .3s}.progress-error{background-color:#f4433633}.header-with-settings{display:flex;justify-content:space-between;align-items:center;position:relative;margin-bottom:20px}.settings-button{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:5px 10px}.settings-menu{position:absolute;right:0;top:100%;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:15px;box-shadow:0 2px 10px #0000001a;z-index:100;min-width:250px}.settings-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.frequency-info{margin-top:10px;font-size:.9em}.note{font-style:italic;color:#666;font-size:.8em}.results h2{margin-top:30px}.download-btn{background-color:#4caf50;color:#fff;border:none;padding:10px 15px;border-radius:4px;cursor:pointer;margin-top:20px}.download-btn:hover{background-color:#45a049}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}
