*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{cursor:none}html,body{width:100%;height:100%;overflow:hidden;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#0a0a0f;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none}#intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0a0a0f;will-change:transform,opacity,filter;transform:translateY(0);opacity:1;transition:transform 1.2s cubic-bezier(.25,1,.5,1),opacity 1.2s cubic-bezier(.25,1,.5,1),backdrop-filter 1.2s cubic-bezier(.25,1,.5,1)}#intro-overlay.hidden{transform:translateY(-100%);opacity:0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);pointer-events:none}.intro-content{text-align:center;will-change:transform,opacity;animation:introPulse 1.8s ease-in-out infinite}.intro-ring{width:60px;height:60px;margin:0 auto 24px;border:3px solid rgba(255,255,255,.08);border-top-color:#ff6ec7;border-right-color:#7b68ee;border-radius:50%;will-change:transform;animation:ringSpin 1.2s cubic-bezier(.4,0,.2,1) infinite}.intro-text{font-size:.85rem;letter-spacing:3px;text-transform:uppercase;color:#ffffff80;font-weight:300}@keyframes ringSpin{to{transform:rotate(360deg)}}@keyframes introPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.97)}}#custom-cursor{position:fixed;width:20px;height:20px;border:2px solid rgba(255,255,255,.6);border-radius:50%;pointer-events:none;z-index:10000;will-change:transform,background,border-color;transition:width .3s cubic-bezier(.175,.885,.32,1.275),height .3s cubic-bezier(.175,.885,.32,1.275),background .3s ease,border-color .3s ease,box-shadow .3s ease;transform:translate(-50%,-50%);mix-blend-mode:difference}#custom-cursor.hovering{width:48px;height:48px;background:#ffffff1a;border-color:#fffc;box-shadow:0 0 30px #ffffff26;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@media (hover: none) and (pointer: coarse){#custom-cursor{display:none}html{cursor:auto}}#bg-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#0a0a0f}.bg-slide{position:absolute;top:-3%;right:-3%;bottom:-3%;left:-3%;opacity:0;will-change:transform,opacity,filter;transition:opacity .25s cubic-bezier(.25,.46,.45,.94),transform .25s cubic-bezier(.25,.46,.45,.94),filter .25s cubic-bezier(.25,.46,.45,.94);transform:scale(1.05);filter:blur(2px);background:#0a0a0f}.bg-slide img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none;will-change:transform}.bg-slide.active{opacity:1;transform:scale(1);filter:blur(0)}.bg-slide.exiting{opacity:0;transform:scale(.95);filter:blur(4px)}.bg-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none;will-change:transform}#bg-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.7) 100%);pointer-events:none}#bg-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;pointer-events:none;will-change:transform}#main-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center;opacity:0;transform:translateY(40px);will-change:transform,opacity;transition:opacity 1.2s cubic-bezier(.25,.46,.45,.94),transform 1.2s cubic-bezier(.25,.46,.45,.94)}#main-content.visible{opacity:1;transform:translateY(0)}header{margin-bottom:3.5rem}.subtitle{font-size:.8rem;letter-spacing:5px;text-transform:uppercase;color:#fff6;margin-bottom:1.2rem;font-weight:300}h1{font-size:clamp(2.5rem,8vw,5rem);font-weight:800;line-height:1.15;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.5);will-change:transform}.highlight{display:inline-block;background:linear-gradient(135deg,#ff6ec7,#7b68ee,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;will-change:background-position;animation:gradientShift 5s ease-in-out infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.description{margin-top:.8rem;font-size:clamp(.95rem,2vw,1.2rem);color:#ffffff80;font-weight:300;letter-spacing:1.5px}#audio-panel{position:fixed;bottom:calc(72px + 1.2rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:stretch;gap:.45rem;padding:.6rem 1.1rem .55rem;background:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;will-change:transform,opacity;z-index:6;opacity:0;transform:translate(-50%) translateY(20px);transition:opacity .5s cubic-bezier(.25,.46,.45,.94),transform .5s cubic-bezier(.25,.46,.45,.94);box-shadow:0 9px 27px #00000080,inset 0 1px #ffffff1a;min-width:415px;max-width:485px;width:auto}#audio-panel.visible{opacity:1;transform:translate(-50%) translateY(0)}#audio-panel.audio-hidden{opacity:0!important;pointer-events:none!important;transform:translate(-50%) translateY(6px)!important;transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94)}.controls-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.audio-info{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1 1 auto}.audio-track-label{font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;color:#ffffffb3;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;transition:color .3s ease}.audio-track-label:hover{color:#fffffff2}.audio-actions{display:flex;align-items:center;gap:.6rem}.audio-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1.3px solid rgba(255,255,255,.18);border-radius:50%;background:#ffffff12;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ffffffe6;cursor:none;overflow:hidden;will-change:transform;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),border-color .3s ease,background .3s ease,box-shadow .3s ease,color .3s ease}.audio-btn svg{width:16px;height:16px}.audio-btn:hover{transform:scale(1.12);border-color:#fff6;background:#ffffff26;box-shadow:0 0 40px #7b68ee59;color:#fff}.audio-btn:active{transform:scale(.92);transition-duration:.08s}.audio-btn.active{color:#7b68ee;border-color:#7b68ee80;box-shadow:0 0 25px #7b68ee33}.audio-btn:focus-visible{outline:2px solid #7b68ee;outline-offset:4px}.ripple{position:absolute;border-radius:50%;background:#ffffff4d;transform:scale(0);animation:rippleAnim .6s ease-out forwards;pointer-events:none;will-change:transform,opacity}@keyframes rippleAnim{to{transform:scale(4);opacity:0}}.seek-row{display:flex;align-items:center;gap:.4rem;width:100%;padding:0 .3rem}.time-display{font-size:.65rem;font-weight:600;color:#fff9;min-width:2.2rem;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.6px}.seek-bar{position:relative;flex:1;height:4px;background:#ffffff1f;border-radius:10px;cursor:none;will-change:height;transition:height .2s ease;overflow:visible}.seek-bar:hover{height:6px}.seek-progress{position:absolute;left:0;top:0;height:100%;width:0%;background:linear-gradient(90deg,#8a2be2,#ff69b4);border-radius:10px;will-change:width;transition:width .05s linear}.seek-thumb{position:absolute;top:50%;right:-7px;width:10px;height:10px;background:#fff;border-radius:50%;transform:translateY(-50%) scale(0);will-change:transform,box-shadow;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;box-shadow:0 0 9px #7b68eeb3;pointer-events:none}.seek-bar:hover .seek-thumb,.seek-bar.dragging .seek-thumb{transform:translateY(-50%) scale(1)}.volume-wrap{display:flex;align-items:center;gap:.35rem}.volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:67px;height:4px;background:#ffffff1f;border-radius:4px;outline:none;cursor:none;transition:width .4s ease}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:#fff;cursor:none;box-shadow:0 0 9px #7b68ee99;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.5);box-shadow:0 0 16px #7b68eecc}.volume-slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;border:none;background:#fff;cursor:none;box-shadow:0 0 9px #7b68ee99}.volume-slider::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,#8a2be2 var(--vol-pct, 80%),rgba(255,255,255,.12) var(--vol-pct, 80%))}.volume-slider::-moz-range-track{height:4px;border-radius:4px;background:#ffffff1f}.volume-slider::-moz-range-progress{height:4px;border-radius:4px;background:linear-gradient(90deg,#7b68ee,#ff6ec7)}.volume-slider:focus-visible{outline:2px solid #7b68ee;outline-offset:4px}@media (max-width: 768px){.volume-slider{width:67px}.volume-slider::-webkit-slider-thumb{width:14px;height:14px}.volume-slider::-moz-range-thumb{width:14px;height:14px}}@media (max-width: 480px){.volume-slider{width:54px}.volume-slider::-webkit-slider-thumb{width:12px;height:12px}.volume-slider::-moz-range-thumb{width:12px;height:12px}}.viz-bar{position:fixed;bottom:0;left:0;width:100%;height:72px;z-index:5;pointer-events:none;overflow:hidden;will-change:transform,opacity;transition:opacity .4s ease}.viz-bar-glow{position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(123,104,238,.06) 0%,transparent 100%);pointer-events:none;will-change:opacity}.visualizer-canvas{position:absolute;bottom:0;left:0;width:100%;height:56px;pointer-events:none;z-index:1;opacity:.75;will-change:opacity;transition:opacity .4s ease}.viz-dots{display:inline-flex;align-items:center;gap:3px;opacity:0;transition:opacity .4s ease}.viz-dots.active{opacity:1}.viz-dots span{display:block;width:4px;height:4px;border-radius:50%;background:#7b68ee;animation:vizDotPulse 1.2s ease-in-out infinite}.viz-dots span:nth-child(2){animation-delay:.2s}.viz-dots span:nth-child(3){animation-delay:.4s}@keyframes vizDotPulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.6);opacity:1}}@media (max-width: 768px){#audio-panel{bottom:calc(72px + 1rem);padding:.5rem .9rem .45rem;gap:.35rem;min-width:auto;max-width:calc(100vw - 2rem);border-radius:16px}.controls-row{gap:.6rem}.audio-btn{width:32px;height:32px}.audio-btn svg{width:14px;height:14px}.time-display{min-width:2rem;font-size:.6rem}.seek-thumb{width:10px;height:10px;right:-6px}.seek-bar{height:4px}.seek-bar:hover{height:5px}}@media (max-width: 480px){#audio-panel{bottom:calc(72px + .8rem);padding:.45rem .6rem .4rem;gap:.3rem;max-width:calc(100vw - 1rem);border-radius:14px}.controls-row{gap:.55rem}.audio-btn{width:28px;height:28px}.audio-btn svg{width:12px;height:12px}.time-display{min-width:1.8rem;font-size:.55rem}.seek-row{gap:.35rem}.seek-thumb{width:9px;height:9px;right:-5px}.seek-bar{height:3px}.seek-bar:hover{height:5px}}.credit{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);font-size:.7rem;color:#ffffff40;letter-spacing:1.5px;font-weight:300;will-change:opacity;transition:opacity .6s ease;text-shadow:0 2px 20px rgba(0,0,0,.8)}.bg-slide.loading:before{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:2px solid rgba(255,255,255,.06);border-top-color:#7b68ee;border-radius:50%;z-index:10;pointer-events:none;animation:bgLoadSpin .8s linear infinite;will-change:transform}@keyframes bgLoadSpin{to{transform:rotate(360deg)}}@media (max-width: 768px){.credit{font-size:.6rem;bottom:1rem}}.toast{position:fixed;bottom:calc(72px + 1.2rem + 80px + .6rem);left:50%;transform:translate(-50%) translateY(12px);z-index:10001;padding:.6rem 1.5rem;background:#ffffff14;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(255,255,255,.06);border-radius:40px;color:#ffffffd9;font-size:.8rem;letter-spacing:1px;font-weight:300;white-space:nowrap;pointer-events:none;opacity:0;will-change:transform,opacity;transition:opacity .5s cubic-bezier(.25,.46,.45,.94),transform .5s cubic-bezier(.25,.46,.45,.94);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.error{border-color:#ff6b6b4d;box-shadow:0 8px 32px #ff6b6b1a}.toast.success{border-color:#6bffb44d;box-shadow:0 8px 32px #6bffb41a}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 480px){.toast{font-size:.7rem;padding:.5rem 1rem;bottom:calc(142px + 1.3rem);white-space:normal;max-width:85vw;text-align:center}}.lyrics-overlay{position:fixed;bottom:10rem;left:50%;transform:translate(-50%);z-index:4;max-width:80vw;text-align:center;pointer-events:none;opacity:0;will-change:transform,opacity,filter;transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94)}.lyrics-overlay.visible{opacity:1}.lyrics-line{font-size:clamp(1.2rem,4vw,2.5rem);font-weight:600;line-height:1.4;color:#ffffffd9;text-shadow:0 0 40px rgba(123,104,238,.3),0 2px 20px rgba(0,0,0,.6);letter-spacing:2px;will-change:transform,opacity;animation:lyricsFade 4s ease-in-out infinite}@keyframes lyricsFade{0%{opacity:0;transform:translateY(20px) scale(.97);filter:blur(4px)}15%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}85%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-20px) scale(.97);filter:blur(4px)}}@media (max-width: 768px){.lyrics-overlay{bottom:8rem;max-width:90vw}.lyrics-line{font-size:clamp(1rem,3vw,1.8rem)}}@media (max-width: 480px){.lyrics-overlay{bottom:7rem}.lyrics-line{font-size:clamp(.9rem,2.5vw,1.4rem)}}.playlist-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;opacity:0;will-change:transform,opacity,backdrop-filter;transition:opacity .5s cubic-bezier(.25,.46,.45,.94)}.playlist-overlay.visible{opacity:1;pointer-events:auto}.playlist-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);will-change:opacity,backdrop-filter;transition:opacity .5s cubic-bezier(.25,.46,.45,.94)}.playlist-panel{position:relative;width:100%;max-width:480px;max-height:65vh;background:#1e1e23d9;backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5);border-radius:24px 24px 0 0;border:1px solid rgba(255,255,255,.08);border-bottom:none;box-shadow:0 -8px 40px #00000080,inset 0 1px #ffffff0f;will-change:transform,opacity;transform:translateY(100%);transition:transform .55s cubic-bezier(.32,.94,.5,1),opacity .4s ease;overflow:hidden;display:flex;flex-direction:column}.playlist-overlay.visible .playlist-panel{transform:translateY(0);opacity:1}.playlist-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem .8rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.playlist-title{font-size:1rem;font-weight:600;letter-spacing:1px;color:#ffffffe6}.playlist-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1.5px solid rgba(255,255,255,.12);border-radius:50%;background:#ffffff0d;color:#fff9;cursor:none;will-change:transform;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),border-color .3s ease,background .3s ease,color .3s ease}.playlist-close-btn:hover{transform:scale(1.2);border-color:#ffffff4d;background:#ffffff1a;color:#fff}.playlist-close-btn:active{transform:scale(.9);transition-duration:.08s}.playlist-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:.5rem 0}.playlist-scroll::-webkit-scrollbar{width:4px}.playlist-scroll::-webkit-scrollbar-track{background:transparent}.playlist-scroll::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.playlist-tracks{list-style:none;padding:0;margin:0}.playlist-track{display:flex;align-items:center;gap:.85rem;padding:.85rem 1.5rem;cursor:none;will-change:transform,opacity,background;transition:transform .35s cubic-bezier(.175,.885,.32,1.275),background .3s ease,opacity .3s ease;border-bottom:1px solid rgba(255,255,255,.03)}.playlist-track:hover{background:#ffffff0f;transform:translate(5px)}.playlist-track:active{transform:scale(.98);transition-duration:.08s}.playlist-track-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#7b68ee26;border:1px solid rgba(123,104,238,.2);flex-shrink:0;will-change:transform,background,border-color;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),background .3s ease,border-color .3s ease}.playlist-track:hover .playlist-track-icon{transform:scale(1.1);background:#7b68ee4d;border-color:#7b68ee80}.playlist-track.active-track .playlist-track-icon{background:#7b68ee;border-color:#7b68ee}.playlist-track.active-track .playlist-track-icon svg{color:#fff}.playlist-track-info{flex:1;min-width:0}.playlist-track-name{font-size:.85rem;font-weight:500;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.5px;will-change:color;transition:color .3s ease}.playlist-track:hover .playlist-track-name{color:#fff}.playlist-track.active-track .playlist-track-name{color:#7b68ee}.playlist-track-sub{font-size:.65rem;color:#ffffff4d;margin-top:2px;letter-spacing:.3px}.playlist-track-num{font-size:.65rem;font-weight:600;color:#fff3;min-width:24px;text-align:right;letter-spacing:.5px;font-variant-numeric:tabular-nums;will-change:color;transition:color .3s ease}.playlist-track:hover .playlist-track-num{color:#fff6}.playlist-track-indicator{width:6px;height:6px;border-radius:50%;background:#7b68ee;flex-shrink:0;opacity:0;will-change:opacity,transform;transition:opacity .3s ease,transform .3s ease;transform:scale(0);box-shadow:0 0 8px #7b68ee80}.playlist-track.active-track .playlist-track-indicator{opacity:1;transform:scale(1)}.playlist-empty{text-align:center;padding:3rem 1.5rem;color:#ffffff4d;font-size:.8rem;letter-spacing:1px;font-weight:300}@media (max-width: 768px){.playlist-panel{max-width:100%;max-height:60vh;border-radius:20px 20px 0 0}.playlist-header{padding:1rem 1.2rem .7rem}.playlist-track{padding:.75rem 1.2rem}.playlist-track-name{font-size:.8rem}}@media (max-width: 480px){.playlist-panel{max-height:55vh;border-radius:16px 16px 0 0}.playlist-header{padding:.85rem 1rem .6rem}.playlist-track{padding:.65rem 1rem}.playlist-track-name{font-size:.75rem}.playlist-track-icon{width:30px;height:30px}}body.cinema-mode #audio-panel,body.cinema-mode .credit,body.cinema-mode .toast,body.cinema-mode .lyrics-overlay{opacity:0!important;pointer-events:none!important;transition:opacity .8s cubic-bezier(.25,.46,.45,.94)}body.cinema-mode .toast.show{opacity:1!important;pointer-events:none!important}body.cinema-mode #custom-cursor{opacity:0!important;pointer-events:none!important;transition:opacity .8s cubic-bezier(.25,.46,.45,.94)}body.cinema-mode .playlist-overlay.visible{opacity:1!important;pointer-events:auto!important}body.ui-hidden #main-content,body.ui-hidden #audio-panel,body.ui-hidden .image-playlist-container,body.ui-hidden .img-full-playlist,body.ui-hidden header,body.ui-hidden .credit,body.ui-hidden .viz-bar,body.ui-hidden #flip-orientation-btn,body.ui-hidden .file-upload-toolbar,body.ui-hidden #lyrics-overlay{opacity:0!important;pointer-events:none!important;will-change:opacity;transition:opacity .6s cubic-bezier(.25,.46,.45,.94)}body.ui-hidden .toast.show{opacity:1!important;pointer-events:none!important}body.ui-hidden #custom-cursor{opacity:0!important;pointer-events:none!important;transition:opacity .5s cubic-bezier(.25,.46,.45,.94)}body.ui-hidden .playlist-overlay.visible{opacity:1!important;pointer-events:auto!important}.ui-toggle-standalone{position:fixed;bottom:calc(72px + 1.6rem);right:1.5rem;z-index:100003;display:flex;align-items:center;gap:.3rem;padding:.4rem .7rem .4rem .55rem;background:#ffffff14;backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);border:1px solid rgba(255,255,255,.1);border-radius:40px;color:#ffffffb3;cursor:pointer;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:.65rem;font-weight:400;letter-spacing:1px;text-transform:uppercase;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff0d;will-change:transform,opacity;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,opacity .4s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;opacity:1;pointer-events:auto}.ui-toggle-standalone:hover{transform:scale(1.08);background:#ffffff26;border-color:#ffffff40;color:#fff;box-shadow:0 6px 24px #0006,0 0 20px #7b68ee26,inset 0 1px #ffffff1a}.ui-toggle-standalone:active{transform:scale(.92);transition-duration:.08s}.ui-toggle-standalone.active{color:#ff6ec7;border-color:#ff6ec780;box-shadow:0 0 20px #ff6ec726}.ui-toggle-standalone svg{transition:transform .6s cubic-bezier(.175,.885,.32,1.275);will-change:transform}.ui-toggle-standalone.active svg{transform:rotate(360deg)}.ui-toggle-label{white-space:nowrap}@media (max-width: 480px){.ui-toggle-standalone{bottom:calc(72px + 1rem);right:.8rem;padding:.3rem .5rem}.ui-toggle-label{display:none}}@media (pointer: coarse){.ui-toggle-standalone{min-height:36px;cursor:pointer}}.rotate-device{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#0a0a0f;opacity:0;pointer-events:none;will-change:opacity;transition:opacity .4s ease}.rotate-device-content{text-align:center;padding:2rem;animation:rotatePulse 2.5s ease-in-out infinite}.rotate-icon{margin-bottom:1.5rem;color:#7b68eecc;animation:rotateHint 2.5s ease-in-out infinite}.rotate-title{font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:.6rem;letter-spacing:2px}.rotate-sub{font-size:.85rem;color:#fff6;line-height:1.6;font-weight:300;letter-spacing:1px}@keyframes rotatePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.97);opacity:.85}}@keyframes rotateHint{0%{transform:rotate(-90deg)}30%{transform:rotate(-75deg)}60%{transform:rotate(-105deg)}to{transform:rotate(-90deg)}}@media (max-width: 768px) and (orientation: portrait){body.show-rotate-prompt .rotate-device{opacity:1;pointer-events:auto}body.show-rotate-prompt #main-content,body.show-rotate-prompt #bg-container:after,body.show-rotate-prompt #custom-cursor,body.show-rotate-prompt #toast{opacity:0!important;pointer-events:none!important}}#app-wrapper{width:100%;height:100%;will-change:transform}body.force-landscape #app-wrapper{position:fixed;top:0;left:0;width:100vh;height:100vw;transform-origin:top left;will-change:transform}body.force-landscape{overflow:hidden}body.force-landscape .rotate-device{display:none}.file-upload-toolbar{position:fixed;top:.6rem;left:.6rem;z-index:99997;display:flex;align-items:center;gap:.35rem;padding:.2rem .25rem;background:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 3px 12px #0006,inset 0 1px #ffffff14;will-change:transform,opacity;transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;opacity:1;pointer-events:auto}.file-upload-toolbar.upload-hidden{opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94)}.file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-upload-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .55rem .3rem .45rem;border:1.2px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0d;color:#ffffffa6;cursor:none;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:.65rem;font-weight:500;letter-spacing:.5px;white-space:nowrap;will-change:transform,background,border-color,color,box-shadow;transition:transform .35s cubic-bezier(.175,.885,.32,1.275),background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.file-upload-btn:hover{transform:scale(1.08);background:#ffffff1f;border-color:#ffffff4d;color:#fff;box-shadow:0 0 20px #7b68ee33}.file-upload-btn:active{transform:scale(.92);transition-duration:.05s}.file-upload-btn svg{flex-shrink:0;opacity:.7;transition:transform .3s ease,opacity .3s ease}.file-upload-btn:hover svg{transform:scale(1.15);opacity:1}.file-upload-label{line-height:1}@media (pointer: coarse){.file-upload-toolbar{top:calc(.5rem + env(safe-area-inset-top,0px));left:.75rem;padding:.3rem .35rem;min-height:36px}.file-upload-btn{min-height:30px;padding:.3rem .7rem .3rem .55rem;font-size:.7rem;cursor:pointer}}@media (max-width: 768px){.file-upload-toolbar{top:.5rem;left:.5rem;padding:.2rem .25rem;gap:.25rem}.file-upload-btn{padding:.25rem .5rem .25rem .4rem;font-size:.6rem}.file-upload-btn svg{width:12px;height:12px}}@media (max-width: 480px){.file-upload-toolbar{top:.3rem;left:.35rem;padding:.15rem .2rem;gap:.2rem}.file-upload-btn{padding:.2rem .4rem .2rem .3rem;font-size:.55rem}.file-upload-btn svg{width:10px;height:10px}}.flip-btn{position:fixed;top:1rem;right:1rem;z-index:99998;display:none;align-items:center;gap:.4rem;padding:.5rem .9rem .5rem .7rem;background:#ffffff14;backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);border:1px solid rgba(255,255,255,.1);border-radius:40px;color:#ffffffb3;cursor:pointer;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:.65rem;font-weight:400;letter-spacing:1px;text-transform:uppercase;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff0d;will-change:transform,opacity;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,opacity .4s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.flip-btn:hover{transform:scale(1.08);background:#ffffff26;border-color:#ffffff40;color:#fff;box-shadow:0 6px 24px #0006,0 0 20px #7b68ee26,inset 0 1px #ffffff1a}.flip-btn:active{transform:scale(.92);transition-duration:.08s}.flip-icon{flex-shrink:0;opacity:.8;transition:transform .6s cubic-bezier(.175,.885,.32,1.275)}.flip-btn:hover .flip-icon{transform:rotate(30deg)}.flip-label{white-space:nowrap}@media (max-width: 768px) and (orientation: portrait){.flip-btn{display:flex;right:auto;left:1rem}}@media (max-width: 900px) and (orientation: landscape){.flip-btn{display:flex;right:auto;left:.6rem;top:.6rem;padding:.35rem .7rem .35rem .55rem;font-size:.55rem}.flip-icon{width:16px;height:16px}}@media (max-width: 480px){.flip-btn{top:.5rem;right:auto;left:.5rem;padding:.3rem .6rem .3rem .45rem;font-size:.5rem}.flip-icon{width:14px;height:14px}}@media (min-width: 769px){.flip-btn{display:none!important}}@media (pointer: coarse){.audio-btn,.playlist-close-btn{min-width:44px;min-height:44px}.flip-btn{min-height:36px}.playlist-track{padding-top:.9rem;padding-bottom:.9rem}.seek-bar{min-height:24px;display:flex;align-items:center}#custom-cursor{display:none!important}html{cursor:auto}#audio-panel{bottom:calc(72px + .8rem + env(safe-area-inset-bottom,0px))}.credit{bottom:calc(.8rem + env(safe-area-inset-bottom,0px))}@media (orientation: landscape){#audio-panel{bottom:calc(72px + .5rem + env(safe-area-inset-bottom,0px))}}}.image-playlist-container{position:fixed;top:.6rem;right:.6rem;z-index:99997;display:flex;align-items:center;gap:.2rem;padding:.2rem .35rem;background:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 3px 12px #0006,inset 0 1px #ffffff14;will-change:transform,opacity;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;opacity:0;pointer-events:none;transform:translateY(0);transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94)}.image-playlist-container:not(.playlist-hidden-init){opacity:1;pointer-events:auto}.image-playlist-container.playlist-hidden{opacity:0;pointer-events:none;transform:translateY(-8px)}.image-playlist-container.playlist-hidden{opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94)}.image-playlist-container:hover{background:#ffffff26;border-color:#ffffff2e}.img-pl-arrow{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.2px solid rgba(255,255,255,.15);border-radius:50%;background:#ffffff0f;color:#ffffffb3;cursor:none;flex-shrink:0;will-change:transform,background,color,border-color;transition:transform .35s cubic-bezier(.175,.885,.32,1.275),background .25s ease,color .25s ease,border-color .25s ease}.img-pl-arrow:hover{transform:scale(1.15);background:#ffffff26;border-color:#ffffff59;color:#fff}.img-pl-arrow:active{transform:scale(.85);transition-duration:.05s}.img-pl-arrow:disabled{opacity:.2;pointer-events:none}.img-pl-dots{display:flex;align-items:center;gap:.25rem;overflow:hidden;position:relative;min-width:0;flex-shrink:1;will-change:transform;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.img-pl-dot{width:5px;min-width:5px;height:5px;border-radius:50%;border:1.2px solid rgba(255,255,255,.35);background:transparent;cursor:none;padding:0;position:relative;will-change:transform,background,border-color,opacity;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),background .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .3s ease;flex-shrink:0;opacity:1}.img-pl-dot:hover{transform:scale(1.5);border-color:#ffffffb3;background:#fff3}.img-pl-dot.active{background:#fff;border-color:#fff;transform:scale(1.25);box-shadow:0 0 6px #fff9}.img-pl-dot:active{transform:scale(.8);transition-duration:.05s}@media (pointer: coarse){.image-playlist-container{top:calc(.5rem + env(safe-area-inset-top,0px));right:.75rem;padding:.35rem .5rem;min-height:36px}.img-pl-arrow{min-width:30px;min-height:30px}.img-pl-dot{min-width:28px;min-height:28px;margin:-8px;padding:8px;background-clip:content-box}}@media (max-width: 768px){.file-upload-toolbar{top:.5rem;left:.5rem}.image-playlist-container{top:.5rem;right:.6rem;padding:.25rem .4rem;gap:.25rem}.img-pl-arrow{width:18px;height:18px}.img-pl-arrow svg{width:10px;height:10px}.img-pl-dot{width:5px;min-width:5px;height:5px}.img-pl-dots{gap:.2rem}}@media (max-width: 480px){.file-upload-toolbar{top:.3rem;left:.35rem}.image-playlist-container{top:.3rem;right:.5rem;padding:.2rem .35rem;gap:.2rem}.img-pl-dot{width:4px;min-width:4px;height:4px}.img-pl-dots{gap:.2rem}}.img-full-playlist{position:fixed;top:2.8rem;right:.6rem;z-index:99996;min-width:140px;max-width:200px;max-height:240px;background:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 24px #0006,inset 0 1px #ffffff0f;overflow-y:auto;overflow-x:hidden;will-change:transform,opacity;transform-origin:top right;pointer-events:auto;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.25,.46,.45,.94),transform .3s cubic-bezier(.25,.46,.45,.94)}.img-full-playlist.img-full-visible{opacity:1;pointer-events:auto;animation:imgFullPlaylistIn .25s cubic-bezier(.175,.885,.32,1.275) forwards}.img-full-playlist.closing{animation:imgFullPlaylistOut .2s cubic-bezier(.55,.085,.68,.53) forwards}@keyframes imgFullPlaylistIn{0%{opacity:0;transform:scale(.85) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes imgFullPlaylistOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.85) translateY(-8px)}}.img-full-playlist::-webkit-scrollbar{width:3px}.img-full-playlist::-webkit-scrollbar-track{background:transparent}.img-full-playlist::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.img-full-list{list-style:none;margin:0;padding:.3rem 0}.img-full-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .7rem;cursor:none;will-change:background;transition:background .2s ease;font-size:.7rem;color:#ffffffbf;letter-spacing:.5px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:2px solid transparent}.img-full-item:hover{background:#ffffff1a;color:#fff;border-left-color:#8a2be2}.img-full-item.active-bg{color:#fff;border-left-color:#ff69b4;background:#ffffff0f}.img-full-thumb{width:24px;height:24px;border-radius:4px;object-fit:cover;flex-shrink:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.img-full-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem}@media (pointer: coarse){.img-full-playlist{top:3.2rem;right:.75rem;min-width:160px;max-width:220px;max-height:260px}.img-full-item{min-height:36px;padding:.4rem .7rem}}@media (max-width: 768px){.img-full-playlist{top:2.6rem;right:.6rem;min-width:130px;max-width:180px;max-height:200px}}@media (max-width: 480px){.img-full-playlist{top:2.2rem;right:.5rem;min-width:120px;max-width:160px;max-height:180px}}#play-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100004;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;will-change:opacity;transition:opacity .4s cubic-bezier(.25,.46,.45,.94)}#play-overlay.visible{opacity:1;pointer-events:auto}.play-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:1.2rem;animation:playOverlayPulse 2.5s ease-in-out infinite}.play-overlay-btn{display:flex;align-items:center;justify-content:center;width:120px;height:120px;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:#7b68ee33;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#ffffffe6;cursor:pointer;will-change:transform,box-shadow,background,border-color;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,background .3s ease,border-color .3s ease;box-shadow:0 0 60px #7b68ee4d,inset 0 1px #ffffff1a}.play-overlay-btn:hover{transform:scale(1.1);background:#7b68ee59;border-color:#ffffff80;box-shadow:0 0 80px #7b68ee80,0 0 120px #7b68ee33,inset 0 1px #ffffff26}.play-overlay-btn:active{transform:scale(.95);transition-duration:.08s}.play-overlay-btn svg{width:48px;height:48px;margin-left:4px}.play-overlay-text{font-size:.9rem;letter-spacing:2px;text-transform:uppercase;color:#ffffff80;font-weight:300;text-shadow:0 2px 16px rgba(0,0,0,.6)}@keyframes playOverlayPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:.85}}@media (max-width: 768px){.play-overlay-btn{width:100px;height:100px}.play-overlay-btn svg{width:40px;height:40px}.play-overlay-text{font-size:.75rem}}@media (max-width: 480px){.play-overlay-btn{width:80px;height:80px}.play-overlay-btn svg{width:32px;height:32px}.play-overlay-text{font-size:.65rem;letter-spacing:1.5px}}
