.app{width:100vw;height:100vh;position:relative;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:#fff;-webkit-user-select:none;user-select:none}.menu{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0a0a2e,#000 70%);z-index:10;gap:2rem}.menu h1{font-size:4rem;font-weight:200;letter-spacing:.5em;text-transform:uppercase;background:linear-gradient(135deg,#00f0ff,#8b5cf6,#f0f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:titlePulse 3s ease-in-out infinite}@keyframes titlePulse{0%,to{opacity:.8;filter:brightness(1)}50%{opacity:1;filter:brightness(1.3)}}.menu .subtitle{font-size:1rem;letter-spacing:.3em;color:#666;text-transform:uppercase}.upload-zone{width:400px;max-width:90vw;padding:3rem 2rem;border:2px dashed #333;border-radius:1rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#ffffff05}.upload-zone:hover,.upload-zone.dragover{border-color:#00f0ff;background:#00f0ff0d}.upload-zone p{color:#888;font-size:.9rem;margin-top:.5rem}.upload-zone .icon{font-size:2rem;margin-bottom:.5rem;display:block}.file-info{padding:1rem 2rem;background:#00f0ff1a;border:1px solid rgba(0,240,255,.3);border-radius:.5rem;text-align:center}.file-info .name{font-size:1.1rem;color:#00f0ff}.file-info .details{font-size:.8rem;color:#666;margin-top:.3rem}.btn{padding:1rem 3rem;font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;background:transparent;border:1px solid #00f0ff;color:#00f0ff;border-radius:.5rem;cursor:pointer;transition:all .3s ease;font-family:inherit}.btn:hover:not(:disabled){background:#00f0ff26;box-shadow:0 0 30px #00f0ff33}.btn:disabled{opacity:.3;cursor:not-allowed}.analyzing{display:flex;flex-direction:column;align-items:center;gap:1rem}.analyzing .spinner{width:40px;height:40px;border:2px solid #333;border-top-color:#00f0ff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.analyzing p{color:#888;font-size:.9rem}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.hud-score{position:absolute;top:2rem;right:2rem;text-align:right}.hud-score .score{font-size:2.5rem;font-weight:200;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 20px rgba(0,240,255,.5)}.hud-score .combo{font-size:1rem;color:#8b5cf6;letter-spacing:.1em;opacity:0;transform:scale(.8);transition:all .15s ease}.hud-score .combo.active{opacity:1;transform:scale(1)}.hud-boost{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);width:200px}.hud-boost .bar-bg{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.hud-boost .bar-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#00f0ff);border-radius:2px;transition:width .1s ease;box-shadow:0 0 10px #00f0ff80}.hud-boost .label{text-align:center;font-size:.65rem;color:#555;letter-spacing:.2em;text-transform:uppercase;margin-top:.3rem}.hud-info{position:absolute;top:2rem;left:2rem}.hud-info .song-name{font-size:.8rem;color:#555;letter-spacing:.1em}.hud-info .bpm{font-size:.7rem;color:#333;margin-top:.2rem}.hud-controls{position:absolute;bottom:2rem;right:2rem;font-size:.65rem;color:#333;text-align:right;line-height:1.6}.results{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;z-index:10;gap:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.results h2{font-size:2.5rem;font-weight:200;letter-spacing:.3em;text-transform:uppercase;color:#00f0ff}.results .final-score{font-size:4rem;font-weight:200;font-variant-numeric:tabular-nums}.results .stats{display:flex;gap:3rem;color:#888;font-size:.9rem}.results .stats .stat-value{font-size:1.5rem;color:#fff;display:block;margin-top:.3rem}.results .buttons{display:flex;gap:1rem;margin-top:1rem;pointer-events:all}
