:root,[data-theme=dark]{--harmony-bg-dark:#121212;--harmony-bg-medium:#181818;--harmony-bg-light:#282828;--harmony-text-primary:#fff;--harmony-text-secondary:#b3b3b3;--harmony-text-subtle:#757575;--riffy-accent-purple:#7b56d3;--riffy-accent-purple-hover:#6a48b8;--riffy-modal-accent-purple:#9e78f0;--harmony-border:#353535;--sidebar-riffy-width:240px;--sidebar-bg:#0a0a0a;--header-bg:#0a0a0a;--player-bg:#181818;--player-border:#282828;--modal-bg:var(--harmony-bg-light);--input-bg:var(--harmony-bg-dark);--dropdown-bg:#282828;--harmony-shadow-sm:0 2px 4px #0003;--harmony-shadow-md:0 4px 12px #0000004d;--harmony-shadow-lg:0 10px 35px #0006;--harmony-bg-overlay-light:#ffffff1a;--harmony-bg-overlay-medium:#fff3;--modal-backdrop-bg:#0009}[data-theme=light]{--harmony-bg-dark:#f4f6f8;--harmony-bg-medium:#fff;--harmony-bg-light:#e9ebee;--harmony-text-primary:#1c1e21;--harmony-text-secondary:#606770;--harmony-text-subtle:#8d949e;--harmony-border:#dddfe2;--sidebar-bg:#f0f2f5;--header-bg:#fff;--player-bg:#fff;--player-border:#dddfe2;--modal-bg:#fff;--input-bg:#f0f2f5;--dropdown-bg:#fff;--harmony-shadow-sm:0 1px 2px #00000014;--harmony-shadow-md:0 4px 12px #0000001a;--harmony-shadow-lg:0 10px 35px #0000001a;--harmony-bg-overlay-light:#0000000d;--harmony-bg-overlay-medium:#00000014;--modal-backdrop-bg:#1c1e2180}[data-theme=night-tokyo]{--harmony-bg-dark:#1a1a2e;--harmony-bg-medium:#16213e;--harmony-bg-light:#3f3c64;--harmony-text-primary:#e0f2f1;--harmony-text-secondary:#a8a7d8;--harmony-text-subtle:#6d6d99;--harmony-border:#4a4a7a;--riffy-accent-purple:#f92672;--riffy-accent-purple-hover:#ff4d9a;--riffy-modal-accent-purple:#00e5ff;--sidebar-bg:#0f0f1e;--header-bg:#0f0f1e;--player-bg:#16213e;--player-border:#3f3c64;--modal-bg:#16213e;--input-bg:#3f3c64;--dropdown-bg:#2a2a55;--harmony-shadow-sm:0 2px 4px #0000004d;--harmony-shadow-md:0 6px 18px #f9267226;--harmony-shadow-lg:0 10px 35px #00e5ff33;--harmony-bg-overlay-light:#f926721a;--harmony-bg-overlay-medium:#f9267233;--modal-backdrop-bg:#0d0c1db3}[data-theme=cyberpunk-neon]{--harmony-bg-dark:#0b0c10;--harmony-bg-medium:#1f2833;--harmony-bg-light:#3a4b5d;--harmony-text-primary:#e5e5e5;--harmony-text-secondary:#9b9b9b;--harmony-text-subtle:#666;--harmony-border:#45a29e;--riffy-accent-purple:#ffd300;--riffy-accent-purple-hover:#ffe04d;--riffy-modal-accent-purple:#08d9d6;--sidebar-bg:#0b0c10;--header-bg:#0b0c10;--player-bg:#1f2833;--player-border:#3a4b5d;--modal-bg:#1f2833;--input-bg:#0b0c10;--dropdown-bg:#1a222b;--harmony-shadow-sm:0 2px 4px #0006;--harmony-shadow-md:0 4px 15px #ffd30033;--harmony-shadow-lg:0 8px 30px #08d9d640;--harmony-bg-overlay-light:#ffd3001a;--harmony-bg-overlay-medium:#ffd30033;--modal-backdrop-bg:#0b0c10bf}[data-theme=pastel-soft]{--harmony-bg-dark:#fdf8f5;--harmony-bg-medium:#fff;--harmony-bg-light:#f4eae4;--harmony-text-primary:#5d504a;--harmony-text-secondary:#a1948e;--harmony-text-subtle:#c4b9b4;--harmony-border:#eae0db;--riffy-accent-purple:#94d1be;--riffy-accent-purple-hover:#a8dbc9;--riffy-modal-accent-purple:#ffb399;--sidebar-bg:#faf7f2;--header-bg:#fff;--player-bg:#fff;--player-border:#eae0db;--modal-bg:#fff;--input-bg:#fdf8f5;--dropdown-bg:#fff;--harmony-shadow-sm:0 2px 8px #5d504a12;--harmony-shadow-md:0 6px 16px #5d504a1a;--harmony-shadow-lg:0 12px 28px #5d504a1f;--harmony-bg-overlay-light:#94d1be1a;--harmony-bg-overlay-medium:#94d1be33;--modal-backdrop-bg:#5d504a66}[data-theme=pastel-soft] .riffy-button-primary-purple,[data-theme=pastel-soft] .riffy-header-action-button{color:var(--harmony-text-primary);font-weight:600}[data-theme=pastel-soft] .riffy-header-action-button{color:var(--harmony-text-primary)}[data-theme=pastel-soft] .play-pause-btn-compact{background-color:var(--harmony-text-primary);color:var(--harmony-bg-medium)}[data-theme=pastel-soft] .sidebar-logo-riffy h1{-webkit-text-fill-color:#0000;animation:gradientTextAnimation 10s ease infinite alternate;background:linear-gradient(90deg,#ffb399,#94d1be,#a1948e,#ffb399);-webkit-background-clip:text;background-clip:text;background-size:200% 200%}[data-theme=glassmorphism]{--harmony-text-primary:#f5f5f5;--harmony-text-secondary:#b0b0b0;--harmony-text-subtle:#888;--riffy-accent-purple:#00afff;--riffy-accent-purple-hover:#33cfff;--riffy-modal-accent-purple:#00afff;--glass-bg:#1e1e2d66;--glass-bg-hover:#2d2d4199;--glass-border:1px solid #ffffff26;--glass-blur:12px;--harmony-shadow-sm:0 2px 4px #0003;--harmony-shadow-md:0 4px 12px #0000004d;--harmony-shadow-lg:0 10px 30px #00000059;--modal-backdrop-bg:#0000004d}[data-theme=glassmorphism] body{background:linear-gradient(135deg,#1a0f2e,#024 50%,#079);background-attachment:fixed}[data-theme=glassmorphism] #upload-form-container,[data-theme=glassmorphism] .artist-list-card,[data-theme=glassmorphism] .audio-player-riffy.compact,[data-theme=glassmorphism] .dropdown-menu-riffy,[data-theme=glassmorphism] .header-search-results-dropdown,[data-theme=glassmorphism] .lyrics-modal-content,[data-theme=glassmorphism] .modal-content,[data-theme=glassmorphism] .player-more-menu-riffy,[data-theme=glassmorphism] .playlist-overview-card,[data-theme=glassmorphism] .settings-form-container,[data-theme=glassmorphism] .sidebar-riffy,[data-theme=glassmorphism] .site-header-riffy,[data-theme=glassmorphism] .song-card{backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));background:var(--glass-bg);border:var(--glass-border);box-shadow:var(--harmony-shadow-md)}[data-theme=glassmorphism] .artist-list-card,[data-theme=glassmorphism] .playlist-overview-card,[data-theme=glassmorphism] .song-card{background-color:initial}[data-theme=glassmorphism] #upload-form-container,[data-theme=glassmorphism] .settings-form-container{background-color:#1e1e2d99}[data-theme=glassmorphism] .site-header-riffy,[data-theme=glassmorphism] [data-theme=light] .site-header-riffy{border-width:0 0 1px;box-shadow:none}[data-theme=glassmorphism] .audio-player-riffy.compact{border-width:1px 0 0}[data-theme=glassmorphism] .sidebar-riffy{border-width:0 1px 0 0}[data-theme=glassmorphism] .artist-list-card:hover,[data-theme=glassmorphism] .playlist-overview-card:hover,[data-theme=glassmorphism] .song-card:hover{background:var(--glass-bg-hover);box-shadow:var(--harmony-shadow-lg);transform:translateY(-4px) scale(1.02)}[data-theme=glassmorphism] input,[data-theme=glassmorphism] select,[data-theme=glassmorphism] textarea{background-color:#0003!important;border:1px solid #ffffff1a!important;color:var(--harmony-text-primary)}[data-theme=glassmorphism] input:focus,[data-theme=glassmorphism] select:focus,[data-theme=glassmorphism] textarea:focus{border-color:var(--riffy-accent-purple)!important;box-shadow:0 0 0 2px #00afff4d!important}[data-theme=glassmorphism] .riffy-button-primary-purple,[data-theme=glassmorphism] .riffy-header-action-button{color:#fff;text-shadow:0 0 5px #00000080}[data-theme=glassmorphism] .play-pause-btn-compact{background-color:var(--harmony-text-primary);color:#000}[data-theme=glassmorphism] .sidebar-logo-riffy h1{-webkit-text-fill-color:#0000;animation:gradientTextAnimation 8s ease infinite alternate;background:linear-gradient(90deg,#f5f5f5,#b0b0b0,#00afff,#f5f5f5);-webkit-background-clip:text;background-clip:text;background-size:200% 200%}[data-theme=glitch-tech]{--harmony-bg-dark:#0a0a0a;--harmony-bg-medium:#141414;--harmony-bg-light:#1f1f1f;--harmony-text-primary:#e0e0e0;--harmony-text-secondary:#8f8f8f;--harmony-text-subtle:#555;--riffy-accent-purple:#2dcc70;--riffy-accent-purple-hover:#58d68d;--riffy-modal-accent-purple:#bf00ff;--harmony-border:#2a2a2a;--harmony-shadow-sm:0 0 5px #2dcc7033;--harmony-shadow-md:0 0 15px #2dcc704d;--harmony-shadow-lg:0 0 25px #bf00ff66;--sidebar-bg:#0a0a0a;--header-bg:#0a0a0a;--player-bg:#141414;--player-border:#2a2a2a;--modal-bg:#101010;--input-bg:#0a0a0a;--dropdown-bg:#1f1f1f;--modal-backdrop-bg:#2dcc701a}[data-theme=glitch-tech] .sidebar-logo-riffy h1,[data-theme=glitch-tech] body,[data-theme=glitch-tech] button,[data-theme=glitch-tech] input,[data-theme=glitch-tech] select,[data-theme=glitch-tech] textarea{font-family:Roboto Mono,Source Code Pro,monospace;letter-spacing:.5px;text-transform:uppercase}[data-theme=glitch-tech] *,[data-theme=glitch-tech] :after,[data-theme=glitch-tech] :before{border-radius:0!important}[data-theme=glitch-tech] body:after{background:repeating-linear-gradient(0deg,#2dcc7014,#2dcc7014 1px,#0000 0,#0000 4px);content:"";height:100vh;left:0;opacity:.7;pointer-events:none;position:fixed;top:0;width:100vw;z-index:9999}[data-theme=glitch-tech] #upload-form-container,[data-theme=glitch-tech] .artist-list-card,[data-theme=glitch-tech] .audio-player-riffy.compact,[data-theme=glitch-tech] .modal-content,[data-theme=glitch-tech] .playlist-overview-card,[data-theme=glitch-tech] .settings-form-container,[data-theme=glitch-tech] .site-header-riffy,[data-theme=glitch-tech] .song-card{border:1px solid var(--harmony-border);box-shadow:none}[data-theme=glitch-tech] .song-card:hover{border-color:var(--riffy-accent-purple);box-shadow:var(--harmony-shadow-md)}[data-theme=glitch-tech] .playlist-tab-button.active,[data-theme=glitch-tech] .sidebar-nav-riffy li a.active{background:var(--harmony-bg-light);border-bottom-color:var(--riffy-accent-purple);color:var(--riffy-accent-purple)}[data-theme=glitch-tech] input[type=file]::-webkit-file-upload-button{background-color:var(--riffy-accent-purple);color:#000;font-weight:700}[data-theme=glitch-tech] .riffy-button-primary-purple,[data-theme=glitch-tech] .riffy-header-action-button,[data-theme=glitch-tech] input[type=file]::file-selector-button{background-color:var(--riffy-accent-purple);color:#000;font-weight:700}[data-theme=glitch-tech] .play-pause-btn-compact{background-color:var(--riffy-accent-purple);color:#000}[data-theme=glitch-tech] .sidebar-logo-riffy h1{-webkit-text-fill-color:initial;animation:none;background:none;color:var(--riffy-accent-purple);text-shadow:0 0 8px #2dcc70b3}body{background-color:var(--harmony-bg-dark);color:var(--harmony-text-primary);font-family:Roboto,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;margin:0;overflow-x:hidden;padding:0}.hidden{display:none!important}@keyframes gradientTextAnimation{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes jiggleAnimation{0%{transform:rotate(-.5deg)}50%{transform:rotate(.5deg)}to{transform:rotate(-.5deg)}}.sidebar-riffy{background-color:var(--sidebar-bg);border-right:1px solid var(--harmony-border);bottom:0;box-sizing:border-box;display:flex;flex-direction:column;left:0;overflow-y:auto;padding:20px 15px;position:fixed;top:0;width:var(--sidebar-riffy-width);z-index:1000}.sidebar-logo-riffy{margin-bottom:25px;padding-left:10px}.sidebar-logo-riffy h1{-webkit-text-fill-color:#0000;animation:gradientTextAnimation 8s ease infinite alternate;background:linear-gradient(90deg,#f0f,#c56eff,#9e78f0,#7b56d3);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;display:inline-block;font-size:1.8em;font-weight:700;margin:0}.sidebar-logo-riffy h1 a{color:inherit;text-decoration:none}.sidebar-nav-riffy ul,.sidebar-playlists-list-riffy{list-style:none;margin:0;padding:0}.sidebar-nav-riffy li a,.sidebar-playlists-list-riffy li a{align-items:center;border-radius:4px;color:var(--harmony-text-secondary);display:flex;font-size:.95em;font-weight:500;margin-bottom:5px;padding:10px;text-decoration:none;transition:background-color .2s ease,color .2s ease}.sidebar-nav-riffy li a i{font-size:1.2em;margin-right:12px;text-align:center;width:20px}.sidebar-nav-riffy li a.active,.sidebar-nav-riffy li a:hover,.sidebar-playlists-list-riffy li a:hover{background-color:var(--harmony-bg-light);color:var(--harmony-text-primary)}.sidebar-nav-riffy li a.active{font-weight:700}.sidebar-nav-riffy li a.active i{color:var(--riffy-accent-purple)}.sidebar-playlists-riffy{border-top:1px solid var(--harmony-border);flex-grow:1;margin-top:30px;padding-top:15px}.sidebar-playlists-header-riffy{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px;padding:0 10px}.sidebar-playlists-header-riffy h3{color:var(--harmony-text-subtle);font-size:.75em;letter-spacing:.5px;margin:0;text-transform:uppercase}.add-playlist-btn-riffy{background:none;border:none;border-radius:4px;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.3em;line-height:1;padding:5px;transition:color .2s ease,background-color .2s ease}.add-playlist-btn-riffy:hover{background-color:var(--harmony-bg-light);color:var(--harmony-text-primary)}.sidebar-playlists-list-riffy li a{font-size:.9em;padding-left:10px}.site-header-riffy{background-color:var(--header-bg);box-shadow:var(--harmony-shadow-md);box-sizing:border-box;left:var(--sidebar-riffy-width);padding:10px 24px;position:-webkit-sticky;position:sticky;top:0;width:calc(100% - var(--sidebar-riffy-width));z-index:999}[data-theme=light] .site-header-riffy{border-bottom:1px solid var(--harmony-border);box-shadow:none}.header-content-riffy{align-items:center;display:flex;justify-content:space-between}.search-container-riffy-header{flex-grow:1;margin-right:20px;max-width:250px;position:relative}.search-container-riffy-header input[type=text]#search-input{background-color:var(--harmony-bg-light);border:1px solid #0000;border-radius:500px;color:var(--harmony-text-primary);font-size:.85em;padding:10px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.search-container-riffy-header input[type=text]#search-input::placeholder{color:var(--harmony-text-subtle)}.search-container-riffy-header input[type=text]#search-input:focus{border-color:var(--riffy-accent-purple);box-shadow:0 0 0 2px #7b56d34d;outline:none}.user-auth-actions-riffy{align-items:center;display:flex}.riffy-header-action-button,.user-auth-actions-riffy .riffy-header-action-button{align-items:center;background-color:var(--riffy-accent-purple);border:none;border-radius:100px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9em;font-weight:500;padding:8px 15px;text-decoration:none;transition:background-color .3s ease,transform .1s ease}.header-icon-buttons{align-items:center;display:flex;margin-left:12px}#user-greeting{margin-left:18px}.header-icon-btn{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.2em;margin-left:5px;padding:8px;position:relative;transition:color .2s ease}.header-icon-btn:hover{color:var(--harmony-text-primary)}.header-user-avatar{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:50%;height:32px;margin-right:8px;object-fit:cover;vertical-align:middle;width:32px}.clickable-avatar{cursor:pointer}#username-display.clickable-username{color:var(--harmony-text-primary);cursor:pointer;font-size:.9em;transition:font-size .2s ease,color .2s ease}#username-display.clickable-username:hover{color:var(--harmony-text-primary);text-decoration:underline}.main-content-riffy{box-sizing:border-box;margin-left:var(--sidebar-riffy-width);padding:24px 24px 92px;width:calc(100% - var(--sidebar-riffy-width))}.page-header-riffy{align-items:center;border-bottom:1px solid var(--harmony-border);display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.page-header-riffy h1{align-items:center;color:var(--harmony-text-primary);display:flex;font-size:1.8em;font-weight:700;margin:0}.page-header-icon{color:var(--riffy-accent-purple);font-size:.9em;margin-right:12px}.category-section-riffy{margin-bottom:30px}.category-section-riffy h2{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.5em;font-weight:700;margin-bottom:16px;padding-bottom:8px}.audio-player-riffy.compact{grid-gap:24px;align-items:center;background-color:var(--player-bg);border-top:1px solid var(--player-border);bottom:0;box-sizing:border-box;display:grid;gap:24px;grid-template-columns:minmax(180px,1fr) 2fr minmax(180px,1fr);height:72px;left:var(--sidebar-riffy-width);padding:0 16px;position:fixed;width:calc(100% - var(--sidebar-riffy-width));z-index:1001}.player-section{height:100%}.player-left,.player-section{align-items:center;display:flex}.player-left{flex:1 1;gap:14px;min-width:0}.player-cover-compact{border-radius:4px;flex-shrink:0;height:56px;width:56px}.track-info-and-actions-wrapper{align-items:center;display:flex;flex-grow:1;gap:16px;min-width:0}.track-info-compact{display:flex;flex-direction:column;flex-shrink:1;justify-content:center;min-width:0}.artist-name-compact,.title-container-compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-container-compact{align-items:center;display:flex}.title-container-compact a{color:var(--harmony-text-primary);font-size:.9em;font-weight:400;text-decoration:none}.title-container-compact a:hover{text-decoration:underline}.info-icon-compact{color:var(--harmony-text-secondary);flex-shrink:0;font-size:.8em;margin-left:8px;opacity:.7;transition:opacity .2s,color .2s}.info-icon-compact:hover{color:var(--riffy-accent-purple);opacity:1}.artist-name-compact{color:var(--harmony-text-secondary);font-size:.75em}.track-actions-compact{align-items:center;display:flex;flex-shrink:0;gap:16px}.track-actions-compact .player-action-btn{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.1em;padding:0;transition:color .2s ease}.track-actions-compact .player-action-btn:hover{color:var(--harmony-text-primary)}.track-actions-compact .player-action-btn.liked{color:var(--riffy-accent-purple)}.player-center{flex-direction:column;flex-grow:2;gap:6px;justify-content:center;max-width:720px}.player-controls-compact{align-items:center;display:flex;gap:20px;justify-content:center}.control-btn-compact{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.3em;transition:color .2s}.control-btn-compact:hover{color:var(--harmony-text-primary)}.control-btn-compact.active{color:var(--riffy-accent-purple)}.play-pause-btn-compact{align-items:center;background-color:var(--harmony-text-primary);border:none;border-radius:50%;color:var(--harmony-bg-medium);display:flex;font-size:1.1em;height:36px;justify-content:center;transition:transform .1s,background-color .2s,color .2s;width:36px}.play-pause-btn-compact:hover{transform:scale(1.05)}[data-theme=dark] .play-pause-btn-compact{background-color:#fff;color:#000}.progress-area-compact{align-items:center;display:flex;gap:8px;width:100%}.time-display-compact{color:var(--harmony-text-secondary);font-size:.7em;min-width:35px;text-align:center}.progress-bar-container-compact{background-color:var(--harmony-bg-light);border-radius:2px;cursor:pointer;height:4px;width:100%}.progress-fill-compact{background-color:var(--harmony-text-secondary);border-radius:2px;height:100%;transition:background-color .2s}.progress-bar-container-compact:hover .progress-fill-compact{background-color:var(--riffy-accent-purple)}[data-theme=dark] .progress-bar-container-compact{background-color:#535353}[data-theme=dark] .progress-fill-compact{background-color:#b3b3b3}.player-right{gap:16px;justify-content:flex-end}.player-right .control-btn-compact{font-size:1.1em}.volume-container-compact{align-items:center;display:flex;gap:8px}.volume-container-compact button{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.1em;transition:color .2s}.volume-container-compact button:hover{color:var(--harmony-text-primary)}.volume-slider-compact{-webkit-appearance:none;appearance:none;background:var(--harmony-bg-light);border-radius:2px;cursor:pointer;height:4px;outline:none;width:90px}.volume-slider-compact::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--harmony-text-primary);border-radius:50%;cursor:pointer;height:12px;width:12px}.volume-slider-compact::-moz-range-thumb{background:var(--harmony-text-primary);border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}[data-theme=dark] .volume-slider-compact{background:#535353}[data-theme=dark] .volume-slider-compact::-webkit-slider-thumb{background:#fff}[data-theme=dark] .volume-slider-compact::-moz-range-thumb{background:#fff}.songs-carousel-riffy{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding-bottom:10px}.artists-grid-riffy .artist-search-card{min-height:180px}.playlists-grid-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.song-card{background-color:var(--harmony-bg-medium);border-radius:6px;box-sizing:border-box;cursor:default;display:flex;flex-direction:column;overflow:hidden;padding:12px;transition:background-color .2s ease,box-shadow .2s ease}[data-theme=light] .song-card{border:1px solid var(--harmony-border)}.song-card:hover{background-color:var(--harmony-bg-light);box-shadow:var(--harmony-shadow-md);transform:translateY(-2px)}.song-card:hover .song-card-play-overlay{opacity:1;transform:translateY(-8px) scale(1)}.song-card-image-wrapper{cursor:pointer;margin-bottom:10px;padding-top:100%;position:relative;width:100%}.song-card img.cover-art{background-color:var(--harmony-bg-light);border-radius:4px;height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.song-card-play-overlay{align-items:center;background-color:var(--riffy-accent-purple);border-radius:50%;bottom:8px;box-shadow:0 2px 4px #0000004d;display:flex;height:40px;justify-content:center;opacity:0;position:absolute;right:8px;transform:translateY(0) scale(.8);transition:opacity .2s ease,transform .2s ease;width:40px;z-index:5}.song-card-image-wrapper:hover .song-card-play-overlay{opacity:1;transform:translateY(-5px) scale(1)}.song-card-play-overlay i{color:#fff;font-size:1em}.song-card-info{flex-grow:1;padding-top:4px;text-align:left}.song-card-info h3{color:var(--harmony-text-primary);font-size:.95em;font-weight:500;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-card-info h3 a{color:inherit;text-decoration:none}.song-card-info h3 a:hover{text-decoration:underline}.song-card-info p.song-card-artist{color:var(--harmony-text-secondary);font-size:.8em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-card-info p.song-card-artist a{color:var(--harmony-text-secondary);text-decoration:none;transition:color .2s ease}.song-card-info p.song-card-artist a:hover{color:var(--harmony-text-primary);text-decoration:underline}.artist-list-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.artist-list-card{align-items:center;background-color:var(--harmony-bg-medium);border-radius:8px;color:inherit;display:flex;flex-direction:column;padding:16px;text-align:center;text-decoration:none;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}[data-theme=light] .artist-list-card{border:1px solid var(--harmony-border)}.artist-list-card:hover{background-color:var(--harmony-bg-light);box-shadow:var(--harmony-shadow-md);transform:translateY(-2px)}.artist-list-card-avatar{background-color:var(--harmony-bg-light);border-radius:50%;height:120px;margin-bottom:15px;object-fit:cover;width:120px}.artist-list-card-name{color:var(--harmony-text-primary);font-size:1em;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.artist-list-card:hover .artist-list-card-name{text-decoration:underline}.playlist-overview-card{background-color:var(--harmony-bg-medium);border-radius:8px;color:inherit;display:flex;flex-direction:column;padding:16px;position:relative;text-decoration:none;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}[data-theme=light] .playlist-overview-card{border:1px solid var(--harmony-border)}.playlist-overview-card:hover{background-color:var(--harmony-bg-light);box-shadow:var(--harmony-shadow-md);transform:translateY(-2px)}.playlist-overview-card-link{color:inherit;display:flex;flex-direction:column;flex-grow:1;text-decoration:none}.playlist-overview-card-image-wrapper{align-items:center;background-color:var(--harmony-bg-light);border-radius:6px;display:flex;justify-content:center;margin-bottom:12px;overflow:hidden;padding-top:100%;position:relative;width:100%}.playlist-overview-card-image{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.playlist-overview-card-placeholder-icon{color:var(--harmony-text-subtle);font-size:3em}.playlist-overview-card-info{flex-grow:1}.playlist-overview-card-info h3{color:var(--harmony-text-primary);font-size:1.05em;font-weight:500;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-overview-card-link:hover .playlist-overview-card-info h3{text-decoration:underline}.playlist-overview-card-info p.playlist-song-count{color:var(--harmony-text-secondary);font-size:.8em;margin:0}.playlist-overview-card-actions{position:absolute;right:8px;top:8px;z-index:5}.playlist-card-options-btn{align-items:center;background-color:var(--harmony-bg-overlay-dark);border:none;border-radius:50%;color:var(--harmony-text-secondary);cursor:pointer;display:flex;font-size:.9em;height:30px;justify-content:center;transition:background-color .2s,color .2s;width:30px}[data-theme=dark] .playlist-card-options-btn{background-color:#0006}.playlist-card-options-btn:hover{background-color:var(--harmony-bg-overlay-dark);color:var(--harmony-text-primary)}[data-theme=dark] .playlist-card-options-btn:hover{background-color:#0009}.playlist-overview-card .options-menu{background-color:var(--dropdown-bg);border:1px solid var(--harmony-border);border-radius:4px;box-shadow:var(--harmony-shadow-lg);min-width:180px;padding:5px 0;position:absolute;right:5px;top:40px;z-index:10}.playlist-overview-card .options-menu-item{align-items:center;color:var(--harmony-text-secondary);cursor:pointer;display:flex;font-size:.9em;padding:8px 12px;text-decoration:none;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.playlist-overview-card .options-menu-item:hover{background-color:var(--harmony-bg-light);color:var(--harmony-text-primary)}.playlist-overview-card .options-menu-item i{color:var(--harmony-text-subtle);margin-right:10px;text-align:center;width:16px}.playlist-overview-card .options-menu-item:hover i{color:var(--harmony-text-primary)}.playlist-overview-card .options-menu-item.delete:hover{background-color:#e53935;color:#fff}.playlist-overview-card .options-menu-item.delete:hover i{color:#fff}.modal{align-items:center;background-color:var(--modal-backdrop-bg);display:flex;height:100%;justify-content:center;left:0;overflow:auto;position:fixed;top:0;width:100%;z-index:1002}.modal-content{background-color:var(--modal-bg);border:1px solid var(--harmony-border);border-radius:12px;box-shadow:var(--harmony-shadow-lg);max-width:450px;padding:25px 30px;position:relative;width:90%}.close-button{color:var(--harmony-text-subtle);cursor:pointer;font-size:28px;font-weight:700;position:absolute;right:20px;top:10px;transition:color .2s ease}.close-button:focus,.close-button:hover{color:var(--harmony-text-primary);text-decoration:none}.modal-content h2{color:var(--riffy-accent-purple);margin-bottom:25px;text-align:center}.riffy-modal-input-group{margin-bottom:15px}.riffy-modal-input-group label{color:var(--harmony-text-secondary);display:block;font-size:.9em;margin-bottom:6px}#edit-playlist-modal textarea#edit-playlist-description,.riffy-modal-input-group input[type=text]{background-color:var(--input-bg);border:1px solid var(--harmony-border);border-radius:4px;box-sizing:border-box;color:var(--harmony-text-primary);font-family:inherit;padding:10px;width:100%}#edit-playlist-modal textarea#edit-playlist-description{min-height:80px;resize:vertical}#edit-playlist-modal textarea#edit-playlist-description:focus,.riffy-modal-input-group input[type=text]:focus{border-color:var(--riffy-accent-purple);box-shadow:0 0 0 2px #7b56d34d;outline:none}.riffy-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.player-more-menu-riffy{background-color:var(--dropdown-bg);border:1px solid var(--harmony-border);border-radius:4px;bottom:calc(100% + 12px);box-shadow:var(--harmony-shadow-lg);left:50%;min-width:240px;padding:5px 0;position:absolute;transform:translateX(-50%);z-index:1005}.player-more-menu-item{align-items:center;color:var(--harmony-text-secondary);cursor:pointer;display:flex;font-size:.9em;padding:10px 15px;text-decoration:none;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.player-more-menu-item:hover{background-color:var(--harmony-bg-light);color:var(--harmony-text-primary)}.player-more-menu-item i:not(.submenu-arrow){color:var(--harmony-text-secondary);font-size:1.1em;margin-right:12px;text-align:center;width:20px}.player-more-menu-item:hover i:not(.submenu-arrow){color:var(--harmony-text-primary)}.player-more-menu-item.active,.player-more-menu-item.active i:not(.submenu-arrow),.player-more-menu-item.active span{color:var(--riffy-accent-purple)!important}.player-more-menu-divider{background-color:var(--harmony-border);height:1px;margin:6px 15px}.player-more-menu-item-submenu-container{position:relative}.player-more-menu-item .submenu-arrow{font-size:.85em;margin-left:auto}.player-more-submenu{background-color:var(--dropdown-bg);border:1px solid var(--harmony-border);border-radius:4px;box-shadow:var(--harmony-shadow-lg);left:100%;max-height:250px;min-width:200px;overflow-y:auto;padding:5px 0;position:absolute;top:-5px;z-index:1006}.user-dropdown-container{align-items:center;display:flex;position:relative}.dropdown-menu-riffy{background-color:var(--dropdown-bg);border:1px solid var(--harmony-border);border-radius:4px;box-shadow:var(--harmony-shadow-lg);padding:8px 0;position:absolute;right:0;top:calc(100% + 5px);z-index:1010}.dropdown-item-riffy{color:var(--harmony-text-secondary);display:block;font-size:.9em;padding:10px 20px;text-decoration:none;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.dropdown-item-riffy:hover{background-color:var(--harmony-bg-light);color:var(--harmony-text-primary)}.dropdown-divider-riffy{background-color:var(--harmony-border);border:none;height:1px;margin:8px 0}.header-search-results-dropdown{background-color:var(--dropdown-bg);border:1px solid var(--harmony-border);border-radius:0 0 8px 8px;border-top:none;box-shadow:var(--harmony-shadow-md);left:0;max-height:350px;overflow-y:auto;position:absolute;top:calc(100% + 5px);width:100%;z-index:1005}.header-search-item{align-items:center;color:var(--harmony-text-secondary);cursor:pointer;display:flex;padding:8px 12px;text-decoration:none;transition:background-color .2s ease}.header-search-item:hover{background-color:var(--harmony-bg-light);color:var(--harmony-text-primary)}.header-search-item img{background-color:var(--harmony-bg-dark);border-radius:4px;flex-shrink:0;height:32px;margin-right:10px;object-fit:cover;width:32px}.header-search-item-info{display:flex;flex-direction:column;overflow:hidden}.header-search-item-title{color:var(--harmony-text-primary);font-size:.9em;font-weight:500;margin-bottom:2px}.header-search-item-artist,.header-search-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-search-item-artist{color:var(--harmony-text-subtle);font-size:.8em}.header-search-results-dropdown .no-results-compact{color:var(--harmony-text-subtle);font-size:.85em;padding:12px;text-align:center}.header-search-artist-item .header-search-artist-icon,.header-search-artist-item .header-search-artist-image{align-items:center;background-color:var(--harmony-bg-dark);border-radius:50%;color:var(--harmony-text-secondary);display:inline-flex;flex-shrink:0;font-size:1.2em;height:32px;justify-content:center;margin-right:10px;object-fit:cover;width:32px}.header-search-category-title,.header-search-item.header-search-artist-item:hover .header-search-artist-icon{color:var(--riffy-accent-purple)}.header-search-category-title{background-color:var(--dropdown-bg);border-bottom:1px solid var(--harmony-border);font-size:.9em;font-weight:500;letter-spacing:.5px;margin-bottom:5px;padding:10px 12px 6px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.header-search-category-title:first-child{border-top-left-radius:0;border-top-right-radius:0}.header-search-divider{background-color:var(--harmony-border);border:none;height:1px;margin:8px 12px}.lyrics-modal{align-items:stretch;background-color:var(--modal-backdrop-bg);display:flex;height:100%;justify-content:flex-end;left:0;opacity:1;position:fixed;top:0;transition:opacity .3s ease,visibility 0s linear 0s;visibility:visible;width:100%;z-index:1005}.lyrics-modal.hidden{opacity:0;pointer-events:none;transition:opacity .3s ease,visibility 0s linear .3s;visibility:hidden}.lyrics-modal-content{background-color:var(--harmony-bg-medium);box-shadow:-5px 0 15px #0003;display:flex;flex-direction:column;height:100%;max-width:500px;min-width:320px;transform:translateX(0);transition:transform .3s ease-out;width:45%}.lyrics-modal.hidden .lyrics-modal-content{transform:translateX(100%)}.lyrics-modal-header{align-items:center;background-color:var(--harmony-bg-light);border-bottom:1px solid var(--harmony-border);display:flex;justify-content:space-between;padding:15px 20px}.lyrics-modal-header h3{color:var(--harmony-text-primary);font-size:1.2em;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lyrics-modal-close{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.8em;line-height:1;padding:0 5px;transition:color .2s ease}.lyrics-modal-close:hover{color:var(--harmony-text-primary)}.lyrics-modal-body{color:var(--harmony-text-secondary);flex-grow:1;font-size:.95em;line-height:1.7;overflow-y:auto;padding:20px}.lyrics-modal-body br{content:"";display:block;margin-bottom:.5em}.lyrics-modal-body .no-lyrics-message{color:var(--harmony-text-subtle);font-style:italic;margin-top:20px;text-align:center}.riffy-button-primary{background-color:var(--riffy-accent-purple);border:none;border-radius:5px;color:#fff;cursor:pointer;display:block;font-size:1em;font-weight:500;padding:12px 20px;text-align:center;transition:background-color .3s ease,transform .1s ease;width:100%}.riffy-button-primary:hover{background-color:var(--riffy-accent-purple-hover);transform:translateY(-1px)}.riffy-header-action-button{align-items:center;background-color:var(--riffy-accent-purple);border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9em;font-weight:500;margin-left:10px;padding:8px 15px;text-decoration:none;transition:background-color .3s ease,transform .1s ease}.riffy-header-action-button:hover{background-color:var(--riffy-accent-purple-hover);transform:scale(1.03)}.riffy-header-action-button i{margin-right:6px}.riffy-button-primary-icon{align-items:center;background-color:var(--riffy-accent-purple);border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9em;font-weight:500;padding:10px 18px;transition:background-color .3s ease,transform .1s ease}.riffy-button-primary-icon:hover{background-color:var(--riffy-accent-purple-hover);transform:scale(1.03)}.riffy-button-primary-icon i{margin-right:8px}.riffy-button-primary-purple{align-items:center;background-color:var(--riffy-accent-purple);border:none;border-radius:500px;color:#fff;cursor:pointer;display:inline-flex;font-size:.95em;font-weight:700;gap:8px;padding:10px 24px;text-decoration:none;transition:background-color .2s ease,transform .1s ease}.riffy-button-primary-purple:hover{background-color:var(--riffy-accent-purple-hover);transform:scale(1.05)}.riffy-button-primary-yellow{align-items:center;background-color:gold;border:none;border-radius:500px;color:#121212;cursor:pointer;display:inline-flex;font-size:.95em;font-weight:700;gap:8px;padding:10px 24px;transition:background-color .2s ease,transform .1s ease}.riffy-button-primary-yellow:hover{background-color:#ffc700;transform:scale(1.05)}.riffy-button-outline{align-items:center;background-color:initial;border:1px solid var(--riffy-accent-purple);border-radius:20px;color:var(--riffy-accent-purple);cursor:pointer;display:inline-flex;font-size:.85em;font-weight:500;padding:6px 12px;transition:background-color .2s ease,color .2s ease}.riffy-button-outline i{margin-right:6px}.riffy-button-outline:hover{background-color:var(--riffy-accent-purple);color:#fff}[data-theme=light] .riffy-button-outline:hover{color:#fff}.riffy-button-secondary-icon{align-items:center;background-color:var(--harmony-bg-overlay-light);border:1px solid #0000;border-radius:50%;color:var(--harmony-text-secondary);cursor:pointer;display:inline-flex;font-size:1.1em;height:40px;justify-content:center;transition:background-color .2s ease,color .2s ease;width:40px}[data-theme=light] .riffy-button-secondary-icon{border-color:var(--harmony-border)}.riffy-button-secondary-icon:hover{background-color:var(--harmony-bg-overlay-medium);color:var(--harmony-text-primary)}.riffy-button-secondary-icon.active{color:var(--riffy-accent-purple)}.riffy-button-secondary-icon.active .fa-heart{font-weight:900}.riffy-button-secondary-text-icon{align-items:center;background-color:var(--harmony-bg-overlay-light);border:1px solid #0000;border-radius:500px;color:var(--harmony-text-secondary);cursor:pointer;display:inline-flex;font-size:.9em;font-weight:500;gap:8px;justify-content:center;padding:10px 18px;transition:background-color .2s ease,color .2s ease}[data-theme=light] .riffy-button-secondary-text-icon{border-color:var(--harmony-border)}.riffy-button-secondary-text-icon:hover{background-color:var(--harmony-bg-overlay-medium);color:var(--harmony-text-primary)}.riffy-button-secondary-text-icon.active{background-color:var(--riffy-accent-purple);border-color:var(--riffy-accent-purple);color:#fff}.riffy-modal-button{border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:500;padding:8px 15px;transition:background-color .2s ease}.riffy-modal-button.primary{background-color:var(--riffy-accent-purple);color:#fff}.riffy-modal-button.primary:hover{background-color:var(--riffy-accent-purple-hover)}.riffy-modal-button.secondary{background-color:var(--harmony-bg-light);color:var(--harmony-text-secondary)}.riffy-modal-button.secondary:hover{background-color:var(--harmony-border);color:var(--harmony-text-primary)}.back-to-main-btn{align-items:center;background-color:var(--riffy-accent-purple);border:none;border-radius:5px;color:#fff;display:inline-flex;font-size:.9em;font-weight:500;margin-bottom:25px;padding:10px 18px;text-decoration:none;transition:background-color .2s ease,transform .1s ease}.back-to-main-btn:hover{background-color:var(--riffy-accent-purple-hover);transform:scale(1.03)}.back-to-main-btn i{margin-right:8px}.required-star{color:var(--riffy-accent-purple);margin-left:2px}.form-message{border-radius:6px;font-weight:500;margin-top:15px;padding:10px;text-align:center}.form-message:not(:empty){display:block}.form-message.success{background-color:#3d8c40;color:#e6ffe7}.form-message.error{background-color:#a94442;color:#f2dede}#auth-tabs,#settings-tabs,#upload-tabs,.playlist-categories-tabs{border-bottom:1px solid var(--harmony-border);display:flex;margin-bottom:20px}#auth-tabs .tab-link,#settings-tabs .tab-link,#upload-tabs .tab-link,.playlist-tab-button{background:none;border:none;border-bottom:3px solid #0000;color:var(--harmony-text-secondary);cursor:pointer;font-size:1em;font-weight:500;margin-right:10px;padding:10px 18px;transition:color .2s ease,border-bottom-color .2s ease}#auth-tabs .tab-link.active,#settings-tabs .tab-link.active,#upload-tabs .tab-link.active,.playlist-tab-button.active{border-bottom-color:var(--riffy-accent-purple);color:var(--harmony-text-primary)}#auth-tabs .tab-link:not(.active):hover,#settings-tabs .tab-link:not(.active):hover,#upload-tabs .tab-link:not(.active):hover,.playlist-tab-button:not(.active):hover{color:var(--harmony-text-primary)}.tab-content{display:none}.tab-content.active{display:block}.carousel-wrapper{padding:0 5px;position:relative}.carousel-wrapper .carousel-content{grid-gap:18px;-ms-overflow-style:none;display:grid;gap:18px;grid-auto-columns:180px;grid-auto-flow:column;overflow-x:auto;overflow-y:hidden;padding-bottom:10px;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none}.carousel-wrapper .carousel-content::-webkit-scrollbar{display:none}.scroll-btn{align-items:center;background-color:var(--harmony-bg-medium);border:1px solid var(--harmony-border);border-radius:50%;box-shadow:var(--harmony-shadow-sm);color:var(--harmony-text-primary);cursor:pointer;display:none;font-size:1.2em;height:40px;justify-content:center;opacity:0;position:absolute;top:40%;transform:translateY(-50%);transition:background-color .2s ease,transform .2s ease,opacity .3s ease;width:40px;z-index:10}[data-theme=dark] .scroll-btn{background-color:#181818b3;border-color:#ffffff1a;color:#fff}.carousel-wrapper:hover .scroll-btn{display:flex;opacity:1}.scroll-btn:hover{background-color:var(--harmony-bg-light);transform:translateY(-50%) scale(1.1)}[data-theme=dark] .scroll-btn:hover{background-color:#282828e6}.scroll-btn.left{left:-15px}.scroll-btn.right{right:-15px}.signin-page{align-items:center;background:radial-gradient(circle at top center,#2a1a3a 0,#120c18 70%);box-sizing:border-box;color:#e0e0e0;display:flex;flex-direction:column;justify-content:center;margin-left:0!important;min-height:100vh;padding:20px;width:100%!important}[data-theme=light] .signin-page{background:var(--harmony-bg-dark);color:var(--harmony-text-primary)}.signin-page .auth-wrapper{align-items:center;display:flex;flex-direction:column;max-width:450px;width:100%}.signin-page .auth-tabs-external{display:flex;justify-content:center;margin-bottom:25px;width:100%}.signin-page .auth-tabs-external .tab-btn{background-color:#ffffff1a;border:2px solid #0000;border-radius:8px;color:#ccc;cursor:pointer;font-size:1em;font-weight:500;margin:0 8px;padding:10px 20px;transition:all .3s ease}[data-theme=light] .signin-page .auth-tabs-external .tab-btn{background-color:var(--harmony-bg-medium);border:1px solid var(--harmony-border);color:var(--harmony-text-secondary)}.signin-page .auth-tabs-external .tab-btn:not(.active){background-color:#0003;color:#bbb}.signin-page .auth-tabs-external .tab-btn:not(.active):hover{background-color:#0000004d;color:#fff}[data-theme=light] .signin-page .auth-tabs-external .tab-btn:not(.active){background-color:var(--harmony-bg-light);color:var(--harmony-text-primary)}[data-theme=light] .signin-page .auth-tabs-external .tab-btn:not(.active):hover{background-color:var(--harmony-border)}.signin-page .auth-tabs-external .tab-btn.active{background-color:var(--riffy-accent-purple);border-color:var(--riffy-accent-purple);box-shadow:0 0 10px #7b56d380;color:#fff}.signin-page .auth-form-wrapper{backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);background:#38245666;border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 10px 35px #0000004d;display:none;max-width:420px;padding:35px 40px;text-align:center;width:100%}[data-theme=light] .signin-page .auth-form-wrapper{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--harmony-bg-medium);border:1px solid var(--harmony-border);box-shadow:var(--harmony-shadow-lg)}.signin-page .auth-form-wrapper.active{display:block}.signin-page .auth-brand-icon{align-items:center;background-color:#ffffff1a;border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:2.8em;font-weight:600;height:70px;justify-content:center;margin:0 auto 20px;width:70px}[data-theme=light] .signin-page .auth-brand-icon{background-color:var(--riffy-accent-purple);box-shadow:0 4px 10px #7b56d366;color:#fff}.signin-page .auth-form-wrapper h2{color:#fff;font-size:1.9em;font-weight:600;margin-bottom:8px}[data-theme=light] .signin-page .auth-form-wrapper h2{color:var(--harmony-text-primary)}.signin-page .auth-form-wrapper .auth-subtitle{color:#d0c8e0;font-size:.95em;margin-bottom:30px}[data-theme=light] .signin-page .auth-form-wrapper .auth-subtitle{color:var(--harmony-text-secondary)}.signin-page .auth-form .form-group{margin-bottom:20px;text-align:left}.signin-page .auth-form .form-group label{color:#c0b8d0;display:block;font-size:.85em;font-weight:500;margin-bottom:8px}[data-theme=light] .signin-page .auth-form .form-group label{color:var(--harmony-text-secondary)}.signin-page .auth-form .input-group{position:relative}.signin-page .auth-form .input-group input{background-color:#0003;border:1px solid #ffffff26;border-radius:8px;box-sizing:border-box;color:#fff;font-size:1em;padding:13px 18px 13px 48px;transition:border-color .3s,background-color .3s;width:100%}[data-theme=light] .signin-page .auth-form .input-group input{background-color:var(--input-bg);border-color:var(--harmony-border);color:var(--harmony-text-primary)}.signin-page .auth-form .input-group input::placeholder{color:#8a819b}[data-theme=light] .signin-page .auth-form .input-group input::placeholder{color:var(--harmony-text-subtle)}.signin-page .auth-form .input-group input:focus{background-color:#0000004d;border-color:var(--riffy-modal-accent-purple);box-shadow:0 0 0 2px #9e78f04d;outline:none}[data-theme=light] .signin-page .auth-form .input-group input:focus{background-color:var(--harmony-bg-medium)}.signin-page .auth-form .input-icon{color:#a098b0;font-size:1.1em;left:18px;position:absolute;top:50%;transform:translateY(-50%)}[data-theme=light] .signin-page .auth-form .input-icon{color:var(--harmony-text-subtle)}.signin-page .social-login-options{margin:25px 0 20px;text-align:center}.signin-page .social-login-text{color:#a098b0;display:inline-block;font-size:.85em;margin-bottom:15px;position:relative}[data-theme=light] .signin-page .social-login-text{color:var(--harmony-text-subtle)}.signin-page .social-login-text:after,.signin-page .social-login-text:before{background-color:#ffffff26;content:"";height:1px;position:absolute;top:50%;width:50px}[data-theme=light] .signin-page .social-login-text:after,[data-theme=light] .signin-page .social-login-text:before{background-color:var(--harmony-border)}.signin-page .social-login-text:before{margin-right:15px;right:100%}.signin-page .social-login-text:after{left:100%;margin-left:15px}.signin-page .social-buttons-container{display:flex;gap:20px;justify-content:center}.signin-page .social-login-btn{align-items:center;background-color:#0003;border:1px solid #ffffff26;border-radius:50%;color:#c0b8d0;display:inline-flex;font-size:1.4em;height:48px;justify-content:center;text-decoration:none;transition:all .3s ease;width:48px}[data-theme=light] .signin-page .social-login-btn{background-color:var(--harmony-bg-light);border-color:var(--harmony-border);color:var(--harmony-text-secondary)}.signin-page .social-login-btn:hover{box-shadow:0 4px 12px #0003;transform:translateY(-3px)}[data-theme=light] .signin-page .social-login-btn:hover{box-shadow:var(--harmony-shadow-sm)}.signin-page .social-login-btn.google:hover{border-color:#db4437;color:#db4437}.signin-page .social-login-btn.yandex:hover{border-color:red;color:red}.signin-page .social-login-btn.vk:hover{border-color:#4680c2;color:#4680c2}.signin-page .auth-form .submit-btn.main-action-btn{background:linear-gradient(90deg,#6a3093 0,#a044ff);border:none;border-radius:8px;box-shadow:0 4px 15px #7b56d34d;color:#fff;cursor:pointer;font-size:1.05em;font-weight:600;margin-top:10px;padding:14px;transition:opacity .3s ease,box-shadow .3s ease;width:100%}.signin-page .auth-form .submit-btn.main-action-btn:hover{box-shadow:0 6px 20px #7b56d380;opacity:.9}.signin-page .switch-auth-text{color:#c0b8d0;font-size:.9em;margin-top:10px}[data-theme=light] .signin-page .switch-auth-text{color:var(--harmony-text-secondary)}.signin-page .switch-auth-text a{color:var(--riffy-modal-accent-purple);font-weight:600;text-decoration:none}.signin-page .switch-auth-text a:hover{text-decoration:underline}.signin-page .terms-text{color:#9088a0;font-size:.75em;line-height:1.6;margin-top:35px;max-width:380px;text-align:center}[data-theme=light] .signin-page .terms-text{color:var(--harmony-text-subtle)}.signin-page .terms-text a{color:#b0aac0;font-weight:500;text-decoration:none}[data-theme=light] .signin-page .terms-text a{color:var(--harmony-text-secondary)}.signin-page .terms-text a:hover{color:#fff;text-decoration:underline}[data-theme=light] .signin-page .terms-text a:hover{color:var(--harmony-text-primary)}.track-header{align-items:flex-start;border-bottom:1px solid var(--harmony-border);display:flex;gap:24px;margin-bottom:30px;padding-bottom:20px}.track-cover-art{background-color:var(--harmony-bg-light);border-radius:6px;flex-shrink:0;height:180px;object-fit:cover;width:180px}.track-info{flex-grow:1}.track-info h1{color:var(--harmony-text-primary);font-size:2em;font-weight:700;line-height:1.2;margin-bottom:8px;margin-top:0}.track-info .artist-name a{color:inherit}.track-info .album-name-track-page{color:var(--harmony-text-subtle);font-size:.9em;margin-bottom:10px;margin-top:5px}.track-info .album-name-track-page a{color:var(--harmony-text-secondary);text-decoration:none}.track-info .album-name-track-page a:hover{color:var(--harmony-text-primary);text-decoration:underline}.track-info .category-tag{background-color:var(--riffy-accent-purple);border-radius:15px;color:#fff;display:inline-block;font-size:.85em;font-weight:500;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.track-info-tags-actions{align-items:center;display:flex;gap:15px;margin-top:10px}.track-details-section{margin-bottom:30px}.track-details-section h2{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.4em;font-weight:700;margin-bottom:16px;margin-top:0;padding-bottom:8px}.track-details-section p,.track-details-section ul{color:var(--harmony-text-secondary);font-size:.95em;line-height:1.6}.track-details-section ul{list-style:none;padding-left:0}.track-details-section ul li{align-items:center;display:flex;margin-bottom:8px}.track-details-section ul li a{color:var(--riffy-accent-purple);font-weight:500;text-decoration:none;transition:color .2s ease}.track-details-section ul li a:hover{color:var(--riffy-accent-purple-hover);text-decoration:underline}.track-details-section ul li i.fab,.track-details-section ul li i.fas{color:var(--riffy-accent-purple);flex-shrink:0;margin-right:10px;text-align:center;width:20px}.album-header{align-items:flex-start;border-bottom:1px solid var(--harmony-border);display:flex;gap:24px;margin-bottom:30px;padding-bottom:20px}.album-cover-art{background-color:var(--harmony-bg-light);border-radius:6px;flex-shrink:0;height:180px;object-fit:cover;width:180px}.album-info{flex-grow:1}.album-info h1{color:var(--harmony-text-primary);font-size:2em;font-weight:700;line-height:1.2;margin-bottom:8px;margin-top:0}.album-info .artist-name a{color:var(--harmony-text-secondary);display:block;font-size:1.2em;font-weight:400;margin-bottom:15px;text-decoration:none;transition:color .2s ease}.album-info .artist-name a:hover{color:var(--harmony-text-primary);text-decoration:underline}.album-meta-and-actions{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-top:15px}.album-meta-and-actions .album-meta-info{color:var(--harmony-text-subtle);font-size:.85em;margin:0}.album-page-actions{align-items:center;display:flex;gap:10px}.album-meta-and-actions .album-page-actions{margin-top:0}.album-tracks-section{margin-bottom:30px}.album-tracks-section h2{color:var(--harmony-text-primary);font-size:1.5em;font-weight:700;margin-bottom:16px;margin-top:0;padding-bottom:8px}.album-tracks-section h2,.artist-header{border-bottom:1px solid var(--harmony-border)}.artist-header{align-items:center;display:flex;gap:30px;margin-bottom:30px;padding-bottom:20px}.artist-photo{background-color:var(--harmony-bg-light);border:3px solid var(--harmony-border);border-radius:50%;box-shadow:var(--harmony-shadow-md);flex-shrink:0;height:200px;object-fit:cover;width:200px}.artist-info-main{display:flex;flex-direction:column;justify-content:center}.artist-page-label{color:var(--harmony-text-secondary);font-size:.9em;font-weight:500;margin:0 0 5px}.artist-info-main h1{color:var(--harmony-text-primary);font-size:2.8em;font-weight:700;line-height:1.2;margin:0 0 12px}.artist-stats{align-items:center;color:var(--harmony-text-secondary);display:flex;font-size:.95em;gap:8px;margin-bottom:20px}.artist-stats i{color:var(--harmony-text-subtle)}.artist-stats span{color:var(--harmony-text-primary);font-weight:500}.artist-actions{align-items:center;display:flex;gap:15px}.artist-details-section{margin-bottom:30px}.artist-details-section h2{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.5em;font-weight:700;margin-bottom:16px;margin-top:0;padding-bottom:8px}.artist-bio-text{color:var(--harmony-text-secondary);font-size:.95em;line-height:1.7;white-space:pre-wrap}.playlist-category-section{display:none;margin-bottom:30px}.playlist-category-section.active{display:block}.playlist-category-section h2{border-bottom:none;color:var(--harmony-text-primary);font-size:1.3em;font-weight:600;margin-bottom:15px;padding-bottom:0}.section-header-with-action{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.section-header-with-action h2{margin-bottom:0}.playlist-header-details{align-items:flex-start;background-color:var(--harmony-bg-medium);border-radius:8px;display:flex;gap:30px;margin-bottom:30px;padding:20px}[data-theme=light] .playlist-header-details{background-color:initial;padding-left:0;padding-right:0}.playlist-cover-art-details{align-items:center;background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:6px;display:flex;flex-shrink:0;height:200px;justify-content:center;object-fit:cover;width:200px}.playlist-cover-art-details .placeholder-icon{color:var(--harmony-text-subtle);font-size:4em}.playlist-info-details{flex-grow:1}.playlist-info-details h1{color:var(--harmony-text-primary);font-size:2.2em;font-weight:700;margin-bottom:10px;margin-top:0}.playlist-info-details .playlist-description-details{color:var(--harmony-text-secondary);font-size:.9em;line-height:1.6;margin-bottom:15px;max-height:60px;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap}.playlist-info-details .playlist-meta-details{color:var(--harmony-text-subtle);font-size:.85em;margin-bottom:20px}.playlist-meta-details span{margin-right:15px}.playlist-meta-details i{margin-right:5px}.playlist-actions-details{align-items:center;display:flex;gap:10px}.playlist-actions-details .riffy-button-outline,.playlist-actions-details .riffy-button-primary-icon{font-size:.9em;padding:8px 15px}.playlist-actions-details .riffy-button-outline.danger{border-color:#d9534f;color:#d9534f}.playlist-actions-details .riffy-button-outline.danger:hover{background-color:#d9534f;color:#fff}.playlist-tracks-section-details h2{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.5em;font-weight:700;margin-bottom:20px;margin-top:0;padding-bottom:10px}.remove-from-playlist-btn{align-items:center;background-color:var(--harmony-bg-overlay-dark);border:none;border-radius:50%;color:var(--harmony-text-secondary);cursor:pointer;display:none;font-size:.8em;height:28px;justify-content:center;position:absolute;right:8px;top:8px;transition:background-color .2s,color .2s;width:28px;z-index:6}[data-theme=dark] .remove-from-playlist-btn{background-color:#00000080}.remove-from-playlist-btn:hover{background-color:#d9534f;color:#fff}#playlist-details-songs-container.is-owner .song-card:hover .remove-from-playlist-btn{display:flex}#upload-form-container{background-color:var(--harmony-bg-medium);border-radius:12px;box-shadow:var(--harmony-shadow-lg);margin:30px auto;max-width:700px;padding:30px 40px}#upload-form-container h2{color:var(--harmony-text-primary);font-size:2em;font-weight:700;margin-bottom:30px;text-align:center}#upload-form-container .form-group-modal{margin-bottom:22px}#upload-form-container .form-group-modal label{color:var(--harmony-text-secondary);display:block;font-size:.9em;font-weight:500;margin-bottom:10px}#upload-form-container .form-section-title{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.2em;font-weight:500;margin-bottom:20px;margin-top:30px;padding-bottom:10px}#upload-form-container input[type=date],#upload-form-container input[type=file],#upload-form-container input[type=text],#upload-form-container input[type=url],#upload-form-container select,#upload-form-container textarea{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:6px;box-sizing:border-box;color:var(--harmony-text-primary);font-family:inherit;font-size:.95em;padding:12px 15px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}#upload-form-container input[type=file]{background-color:var(--input-bg);padding:10px 12px}#upload-form-container input[type=file]::-webkit-file-upload-button{background-color:var(--riffy-accent-purple);border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:10px;padding:8px 12px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}#upload-form-container input[type=file]::file-selector-button{background-color:var(--riffy-accent-purple);border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:10px;padding:8px 12px;transition:background-color .2s ease}#upload-form-container input[type=file]::-webkit-file-upload-button:hover{background-color:var(--riffy-accent-purple-hover)}#upload-form-container input[type=file]::file-selector-button:hover{background-color:var(--riffy-accent-purple-hover)}#upload-form-container select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23B3B3B3%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E");background-position:right 15px center;background-repeat:no-repeat;background-size:10px;padding-right:35px}[data-theme=light] #upload-form-container select{filter:invert(.6)}#upload-form-container input[type=date]{padding:11px 15px}[data-theme=dark] #upload-form-container input[type=date]{color-scheme:dark}#upload-form-container input:focus,#upload-form-container select:focus,#upload-form-container textarea:focus{border-color:var(--riffy-accent-purple);box-shadow:0 0 0 2px #7b56d34d;outline:none}#upload-form-container button[type=submit]{background-color:var(--riffy-accent-purple);border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:1.05em;font-weight:500;margin-top:25px;padding:14px 20px;transition:background-color .3s ease,transform .1s ease;width:100%}#upload-form-container button[type=submit]:hover{background-color:var(--riffy-accent-purple-hover);transform:translateY(-1px)}#upload-form-container button[type=submit]:disabled{background-color:var(--harmony-text-subtle);cursor:not-allowed;transform:none}[data-theme=dark] #upload-form-container button[type=submit]:disabled{background-color:#5a5a5a}.settings-form-container{background-color:var(--harmony-bg-medium);border-radius:8px;box-shadow:var(--harmony-shadow-md);margin:20px auto;max-width:600px;padding:30px;width:100%}.settings-form-container h2{color:var(--harmony-text-primary);font-size:1.8em;font-weight:500;margin-bottom:30px;text-align:center}.form-group-settings{margin-bottom:22px}.form-group-settings label{color:var(--harmony-text-secondary);display:block;font-size:.9em;font-weight:500;margin-bottom:8px}.form-group-settings input[type=email],.form-group-settings input[type=password],.form-group-settings input[type=text]{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:5px;box-sizing:border-box;color:var(--harmony-text-primary);font-size:1em;padding:12px 15px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group-settings input:focus{border-color:var(--riffy-accent-purple);box-shadow:0 0 0 2px #7b56d34d;outline:none}.settings-divider{border:none;border-top:1px solid var(--harmony-border);margin:25px 0}.settings-info-text{color:var(--harmony-text-subtle);font-size:.85em;line-height:1.5;margin-bottom:15px}.settings-avatar-section{align-items:center;border-bottom:1px solid var(--harmony-border);display:flex;gap:20px;margin-bottom:25px;padding-bottom:25px}.settings-avatar-preview-container{background-color:var(--harmony-bg-light);border:2px solid var(--harmony-border);border-radius:50%;flex-shrink:0;height:100px;overflow:hidden;width:100px}.settings-avatar-upload input[type=file]{color:var(--harmony-text-secondary);font-size:.9em}.settings-avatar-upload input[type=file]::-webkit-file-upload-button{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:4px;color:var(--harmony-text-primary);cursor:pointer;font-size:.9em;font-weight:500;margin-right:10px;padding:6px 14px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.settings-avatar-upload input[type=file]::file-selector-button{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:4px;color:var(--harmony-text-primary);cursor:pointer;font-size:.9em;font-weight:500;margin-right:10px;padding:6px 14px;transition:background-color .2s ease}.settings-avatar-upload input[type=file]::-webkit-file-upload-button:hover{background-color:var(--harmony-border)}.settings-avatar-upload input[type=file]::file-selector-button:hover{background-color:var(--harmony-border)}#settingsAvatarPreview{height:100%;object-fit:cover;width:100%}.settings-avatar-upload{flex-grow:1}.settings-avatar-upload label{color:var(--harmony-text-secondary);display:block;font-size:.9em;font-weight:500;margin-bottom:8px}.settings-avatar-upload .form-message{font-size:.85em;margin-top:10px;padding:8px}.settings-back-link{align-items:center;background-color:initial;border:1px solid var(--harmony-text-subtle);border-radius:5px;box-sizing:border-box;color:var(--harmony-text-secondary);cursor:pointer;display:flex;font-size:.9em;font-weight:500;justify-content:center;margin:20px 0 0;padding:10px 18px;text-decoration:none;transition:background-color .2s ease,transform .1s ease,color .2s ease,border-color .2s ease;width:100%}.settings-back-link:hover{background-color:var(--harmony-bg-light);border-color:var(--harmony-text-secondary);color:var(--harmony-text-primary);transform:scale(1.03)}.settings-back-link i{margin-right:8px}.list-view-container{display:flex;flex-direction:column;gap:8px}.list-view-item{grid-gap:15px;align-items:center;border-radius:6px;cursor:pointer;display:grid;gap:15px;grid-template-columns:40px 50px 1fr 1fr 100px;padding:10px;transition:background-color .2s ease}.list-view-item:hover{background-color:var(--harmony-bg-light)}.list-view-item .list-item-index{color:var(--harmony-text-subtle);font-size:1.1em;text-align:center}.list-view-item:hover .list-item-index{display:none}.list-view-item .list-item-play-button{color:var(--harmony-text-primary);display:none;font-size:1.1em;text-align:center}.list-view-item:hover .list-item-play-button{display:block}.list-view-item .list-item-cover{border-radius:4px;height:40px;object-fit:cover;width:40px}.list-view-item .list-item-info{overflow:hidden}.list-view-item .list-item-title{color:var(--harmony-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-view-item .list-item-album,.list-view-item .list-item-artist{color:var(--harmony-text-secondary);font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-view-item .list-item-album a,.list-view-item .list-item-artist a{color:inherit;text-decoration:none}.list-view-item .list-item-album a:hover,.list-view-item .list-item-artist a:hover{text-decoration:underline}.list-view-item .list-item-plays{color:var(--harmony-text-subtle);font-size:.9em;text-align:right}.delete-mode-active .artist-list-card,.delete-mode-active .playlist-overview-card,.delete-mode-active .song-card{animation:jiggleAnimation .2s ease-in-out infinite}.album-overview-card .delete-album-btn,.artist-list-card .delete-artist-btn,.song-card .delete-song-btn{align-items:center;background-color:#e53935;border:2px solid var(--harmony-bg-medium);border-radius:50%;color:#fff;cursor:pointer;display:none;font-size:.9em;height:28px;justify-content:center;position:absolute;right:-8px;top:-8px;transition:transform .2s ease,background-color .2s ease;width:28px;z-index:10}.album-overview-card .delete-album-btn:hover,.artist-list-card .delete-artist-btn:hover,.song-card .delete-song-btn:hover{background-color:#c62828;transform:scale(1.1)}.delete-mode-active .artist-list-card .delete-artist-btn,.delete-mode-active .playlist-overview-card .delete-album-btn,.delete-mode-active .song-card .delete-song-btn{display:flex}.loading-placeholder{align-items:center;display:flex;font-size:1em;justify-content:center;min-height:150px}.loading-placeholder,.no-content-message{color:var(--harmony-text-subtle);font-style:italic;width:100%}.error-track,.no-content-message{padding:20px;text-align:center}.error-track{color:#e57373;font-weight:500}@media (max-width:768px){.lyrics-modal-content{width:70%}.list-view-item{gap:10px;grid-template-areas:"index cover title plays" "index cover artist plays";grid-template-columns:30px 40px 1fr auto}.list-view-item .list-item-index,.list-view-item .list-item-play-button{grid-area:index}.list-view-item .list-item-cover{grid-area:cover}.list-view-item .list-item-info{grid-area:title}.list-view-item .list-item-info .list-item-artist{grid-area:artist}.list-view-item .list-item-album{display:none}.list-view-item .list-item-plays{grid-area:plays;justify-self:end}}@media (max-width:600px){.settings-form-container{margin:15px auto;padding:20px}.settings-form-container h2{font-size:1.5em;margin-bottom:20px}.form-group-settings input[type=email],.form-group-settings input[type=password],.form-group-settings input[type=text]{font-size:.95em;padding:10px 12px}.riffy-button-primary{font-size:.95em;padding:10px 15px}}@media (max-width:480px){.lyrics-modal-content{max-width:none;width:90%}.lyrics-modal-header h3{font-size:1.1em}.lyrics-modal-body{font-size:.9em;padding:15px}}.player-more-menu-item .fa-stack{display:inline-block;height:1em;line-height:1em;margin-right:8px;position:relative;vertical-align:middle;width:1.25em}.player-more-menu-item .fa-arrow-down-to-line,.player-more-menu-item .fa-bars{transform:scale(.9)}.player-more-menu-item .fa-arrow-up-from-bracket{font-size:1.1em}.artist-list-card a,.playlist-overview-card a,.song-card a{color:inherit;text-decoration:none}.artist-list-card-name a:hover,.playlist-overview-card-info h3 a:hover,.song-card-info h3 a:hover{text-decoration:underline}.player-left .player-placeholder{color:var(--harmony-text-subtle);font-size:.9em;padding-left:10px}.audio-player-riffy.compact.disabled .control-btn-compact,.audio-player-riffy.compact.disabled .player-action-btn,.audio-player-riffy.compact.disabled .player-right .control-btn-compact{color:var(--harmony-text-subtle)!important;cursor:not-allowed;opacity:.4}.audio-player-riffy.compact.disabled .control-btn-compact:hover{color:var(--harmony-text-subtle)!important;transform:none}.audio-player-riffy.compact.disabled .progress-bar-container-compact{cursor:default}#profile-page-container{margin-left:-24px;margin-right:-24px;margin-top:-24px}.profile-banner{align-items:flex-end;background-position:50%;background-size:cover;box-sizing:border-box;display:flex;height:300px;padding:0 40px 20px;position:relative;width:100%}.profile-banner-overlay{background:linear-gradient(0deg,#121212f2 10%,#121212b3 40%,#1212121a 80%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}[data-theme=light] .profile-banner-overlay{background:linear-gradient(to top,var(--harmony-bg-dark) 15%,#f4f6f8b3 45%,#0000 100%)}.profile-header-content{align-items:flex-end;display:flex;gap:25px;position:relative;width:100%;z-index:2}.profile-avatar{background-color:var(--harmony-bg-light);border:4px solid var(--harmony-bg-dark);border-radius:50%;box-shadow:0 4px 15px #0006;flex-shrink:0;height:180px;object-fit:cover;width:180px}[data-theme=light] .profile-avatar{box-shadow:var(--harmony-shadow-md)}.profile-user-info{flex-grow:1;margin-bottom:10px}.profile-user-info h1{color:var(--harmony-text-primary);font-size:3.5em;font-weight:700;line-height:1.1;margin:0 0 15px;text-shadow:0 2px 5px #00000080}[data-theme=light] .profile-user-info h1{text-shadow:0 1px 2px #0000001a}.profile-stats{color:var(--harmony-text-secondary);display:flex;gap:30px}.profile-stat-item{text-align:left}.profile-stat-item span{color:var(--harmony-text-primary);font-size:1.1em;font-weight:500}.profile-stat-item p{color:var(--harmony-text-subtle);font-size:.8em;letter-spacing:.5px;margin:2px 0 0;text-transform:uppercase}.profile-actions{align-items:center;display:flex;gap:12px;margin-bottom:10px}.profile-tabs-container{padding:20px 40px}.profile-tabs-nav{border-bottom:1px solid var(--harmony-border);display:flex;margin-bottom:25px}.profile-tab-button{background:none;border:none;border-bottom:3px solid #0000;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.1em;font-weight:500;margin-right:15px;padding:10px 20px;transition:color .2s ease,border-bottom-color .2s ease}.profile-tab-button.active{border-bottom-color:var(--riffy-accent-purple)}.profile-tab-button.active,.profile-tab-button:not(.active):hover{color:var(--harmony-text-primary)}.profile-tab-content{display:none}.profile-tab-content.active{display:block}.artist-name-compact a{color:var(--harmony-text-secondary);text-decoration:none;transition:color .2s ease}.artist-name-compact a:hover{color:var(--harmony-text-primary);text-decoration:underline}.settings-section-title{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.2em;font-weight:500;margin-bottom:20px;margin-top:0;padding-bottom:15px}.settings-theme-section{margin-bottom:25px}.theme-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.theme-option{cursor:pointer;position:relative}.theme-option input[type=radio]{height:0;opacity:0;position:absolute;width:0}.theme-preview{align-items:center;border:2px solid var(--harmony-border);border-radius:6px;display:flex;height:80px;justify-content:center;overflow:hidden;position:relative;transition:border-color .2s ease,box-shadow .2s ease;width:120px}.theme-option input[type=radio]:checked+.theme-preview{border-color:var(--riffy-accent-purple);box-shadow:0 0 0 2px var(--riffy-accent-purple)}.theme-preview .theme-name{background-color:#0000004d;border-radius:4px;color:#fff;font-size:.9em;font-weight:500;padding:4px 10px}.theme-preview.dark{background-color:#181818}.theme-preview.light{background-color:#fff}.theme-preview.light .theme-name{background-color:#ffffff80;border:1px solid var(--harmony-border);color:#050505}.theme-preview.night-tokyo{background-color:#1a1a2e;border-color:#4a4a7a}.theme-preview.night-tokyo .theme-name{background-color:#f9267266;border:none;color:#e0f2f1}.settings-avatar-section{border-bottom:none;padding-bottom:0}.theme-preview.cyberpunk-neon{background-color:#0b0c10;border-color:#45a29e}.theme-preview.cyberpunk-neon .theme-name{background-color:#fcee0a66;border:none;color:#e5e5e5;text-shadow:0 0 5px #000000b3}.settings-section-link{align-items:center;background-color:var(--harmony-bg-light);border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:25px;padding:12px 15px;transition:background-color .2s ease}.settings-section-link:hover{background-color:var(--harmony-border)}.settings-section-link span{color:var(--harmony-text-primary);font-weight:500}.settings-section-link i{color:var(--harmony-text-secondary);margin-right:12px}.settings-section-link i.fa-chevron-right{margin-right:0}.settings-back-link-internal{align-items:center;background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;display:inline-flex;font-size:.9em;font-weight:500;margin-bottom:20px;padding:5px 0;transition:color .2s ease}.settings-back-link-internal i{margin-right:8px}.settings-back-link-internal:hover{color:var(--harmony-text-primary)}.theme-preview.pastel-soft{background-color:#fdf8f5;border-color:#eae0db}.theme-preview.pastel-soft .theme-name{background-color:#94d1be80;border:1px solid #5d504a1a;color:#5d504a}.theme-preview.glassmorphism{background:linear-gradient(135deg,#1a0f2e,#079);border-color:#fff3}.theme-preview.glassmorphism .theme-name{background-color:#1e1e2d66;border:1px solid #ffffff26;color:#f5f5f5}.theme-preview.glitch-tech{background-color:#0a0a0a;border-color:#2dcc70}.theme-preview.glitch-tech .theme-name{background-color:#2dcc701a;border:1px solid #2dcc70;color:#2dcc70;font-family:Roboto Mono,monospace;text-transform:uppercase}.profile-banner-actions{display:flex;gap:10px;opacity:0;position:absolute;right:20px;top:20px;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:3}.profile-banner:hover .profile-banner-actions{opacity:1;visibility:visible}.banner-action-btn{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#121212b3;border:1px solid #fff3;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9em;font-weight:500;gap:8px;padding:8px 15px;transition:background-color .2s ease,transform .1s ease}.banner-action-btn:hover{background-color:#121212e6;transform:scale(1.03)}.banner-action-btn.remove:hover{background-color:#d9534f;border-color:#d43f3a}.cropper-modal{align-items:center;background-color:var(--modal-backdrop-bg);display:flex;height:100%;justify-content:center;left:0;overflow:auto;position:fixed;top:0;width:100%;z-index:2000}.cropper-modal-content{background-color:var(--modal-bg);border:1px solid var(--harmony-border);border-radius:12px;box-shadow:var(--harmony-shadow-lg);display:flex;flex-direction:column;max-width:700px;position:relative;width:90%}.cropper-modal-header{align-items:center;border-bottom:1px solid var(--harmony-border);display:flex;justify-content:space-between;padding:15px 25px}.cropper-modal-header h2{color:var(--harmony-text-primary);font-size:1.2em;font-weight:500;margin:0}.cropper-modal-body{background-color:var(--harmony-bg-dark);padding:20px;text-align:center}.ReactCrop__crop-selection{border:2px dashed #ffffffb3}.cropper-modal-footer{border-top:1px solid var(--harmony-border);display:flex;gap:10px;justify-content:flex-end;padding:15px 25px}.banner-confirmation-bar{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#121212d9;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 4px 15px #00000080;color:#fff;display:flex;gap:20px;left:50%;padding:10px 20px;position:absolute;top:20px;transform:translateX(-50%);z-index:4}.banner-confirmation-bar span{font-size:.95em;font-weight:500}.banner-confirmation-bar .confirmation-buttons{display:flex;gap:10px}.profile-avatar-container{border-radius:50%;cursor:pointer;flex-shrink:0;height:180px;position:relative;width:180px}.profile-avatar-overlay{align-items:center;background-color:#00000080;border-radius:50%;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease;width:100%}.profile-avatar-container:hover .profile-avatar-overlay{opacity:1}.profile-avatar-overlay i{font-size:2em;margin-bottom:8px}.profile-avatar-overlay span{font-size:.9em;font-weight:500}.avatar-confirmation-bar{background:linear-gradient(0deg,#000000b3 0,#0000);border-radius:0 0 90px 90px;bottom:0;gap:20px;height:50px;left:0;pointer-events:all;position:absolute;width:100%}.avatar-confirm-btn,.avatar-confirmation-bar{align-items:center;display:flex;justify-content:center}.avatar-confirm-btn{background-color:#fffc;border:none;border-radius:50%;color:#111;cursor:pointer;font-size:1em;height:32px;transition:transform .2s ease,background-color .2s ease;width:32px}.avatar-confirm-btn:hover{background-color:#fff;transform:scale(1.1)}.avatar-confirm-btn.save{color:#4caf50}.avatar-confirm-btn.save:hover{background-color:#4caf50;color:#fff}.avatar-confirm-btn.cancel{color:#f44336}.avatar-confirm-btn.cancel:hover{background-color:#f44336;color:#fff}.privacy-setting-item{align-items:center;border-bottom:1px solid var(--harmony-border);display:flex;justify-content:space-between;padding:15px 0}.privacy-setting-item:last-child{border-bottom:none}.privacy-setting-info h4{color:var(--harmony-text-primary);font-size:1em;font-weight:500;margin:0 0 5px}.privacy-setting-info p{color:var(--harmony-text-secondary);font-size:.85em;margin:0;max-width:400px}.privacy-toggle-switch{display:inline-block;flex-shrink:0;height:28px;margin-left:20px;position:relative;width:50px}.privacy-toggle-switch input{height:0;opacity:0;width:0}.slider{background-color:var(--harmony-bg-light);bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:var(--harmony-text-secondary);bottom:4px;content:"";height:20px;left:4px;width:20px}input:checked+.slider{background-color:var(--riffy-accent-purple)}input:checked+.slider:before{background-color:#fff;transform:translateX(22px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.song-card.is-favorite{border:1px solid var(--riffy-accent-purple);box-shadow:0 0 8px #7b56d34d}.song-card-info{padding-right:25px}.favorite-icon-card{position:absolute;right:0;top:2px}.friends-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.friend-card{align-items:center;background-color:var(--harmony-bg-medium);border-radius:8px;display:flex;justify-content:space-between;padding:15px;transition:background-color .2s ease,box-shadow .2s ease}[data-theme=light] .friend-card{border:1px solid var(--harmony-border)}.friend-card:hover{background-color:var(--harmony-bg-light);box-shadow:var(--harmony-shadow-sm)}.friend-card-link{align-items:center;color:inherit;display:flex;flex-grow:1;gap:12px;overflow:hidden;text-decoration:none}.friend-avatar{background-color:var(--harmony-bg-light);border-radius:50%;flex-shrink:0;height:50px;object-fit:cover;width:50px}.friend-username{color:var(--harmony-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-card-link:hover .friend-username{text-decoration:underline}.friend-actions{display:flex;gap:8px;margin-left:10px}.friend-action-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1em;height:36px;justify-content:center;transition:background-color .2s ease,transform .1s ease;width:36px}.friend-action-btn.accept{background-color:#28a745;color:#fff}.friend-action-btn.accept:hover{background-color:#218838;transform:scale(1.1)}.friend-action-btn.remove{background-color:#dc3545;color:#fff}.friend-action-btn.remove:hover{background-color:#c82333;transform:scale(1.1)}.request-card .friend-action-btn.remove{background-color:var(--harmony-bg-light);color:var(--harmony-text-secondary)}.request-card .friend-action-btn.remove:hover{background-color:#c82333;color:#fff;transform:scale(1.1)}.riffy-button-secondary-text-icon.pending{border-color:#0000;cursor:not-allowed}.riffy-button-secondary-text-icon.pending,.riffy-button-secondary-text-icon.pending:hover{background-color:var(--harmony-bg-overlay-medium);color:var(--harmony-text-subtle)}.stats-summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:40px}.stats-summary-card{background-color:var(--harmony-bg-medium);border:1px solid var(--harmony-border);border-radius:8px;padding:20px;text-align:center}.stats-summary-card i{color:var(--riffy-accent-purple);font-size:1.8em;margin-bottom:15px}.stats-summary-value{color:var(--harmony-text-primary);font-size:2em;font-weight:700;line-height:1.2}.stats-summary-label{color:var(--harmony-text-secondary);font-size:.9em}.stats-lists-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr 1fr}.stats-list-section h3{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.2em;margin-bottom:15px;padding-bottom:10px}.stats-list-item{align-items:center;border-radius:6px;display:flex;gap:15px;padding:10px;text-decoration:none;transition:background-color .2s ease}.stats-list-item img,.stats-list-item:hover{background-color:var(--harmony-bg-light)}.stats-list-item img{border-radius:4px;flex-shrink:0;height:45px;object-fit:cover;width:45px}.stats-item-info{flex-grow:1;overflow:hidden}.stats-item-title{color:var(--harmony-text-primary);font-weight:500}.stats-item-subtitle,.stats-item-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-item-subtitle{color:var(--harmony-text-secondary);font-size:.85em}.stats-item-value{color:var(--harmony-text-secondary);font-size:.9em;font-weight:500;margin-left:auto;padding-left:10px}@media (max-width:992px){.stats-lists-container{grid-template-columns:1fr 1fr}}@media (max-width:768px){.stats-lists-container{grid-template-columns:1fr}}.wiki-intro{background-color:var(--harmony-bg-medium);border-left:4px solid var(--riffy-accent-purple);border-radius:8px;color:var(--harmony-text-secondary);font-size:1em;line-height:1.7;margin-bottom:30px;max-width:800px;padding:15px}.wiki-section{margin-bottom:40px}.wiki-section h2{align-items:center;border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);display:flex;font-size:1.6em;font-weight:700;gap:12px;margin-bottom:20px;padding-bottom:10px}.wiki-tracks-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.wiki-track-card{background-color:var(--harmony-bg-medium);border:1px solid #0000;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}[data-theme=light] .wiki-track-card{border-color:var(--harmony-border)}.wiki-track-card:hover{box-shadow:var(--harmony-shadow-lg);transform:translateY(-4px)}.wiki-card-cover{padding-top:100%;position:relative}.wiki-card-cover img{background-color:var(--harmony-bg-light);height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.wiki-card-source{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;border-radius:50%;color:#fff;display:flex;font-size:1.1em;height:30px;justify-content:center;position:absolute;right:10px;top:10px;width:30px}.wiki-card-info{display:flex;flex-direction:column;flex-grow:1;padding:15px}.wiki-card-title{color:var(--harmony-text-primary);font-size:1em;font-weight:500;margin:0 0 5px}.wiki-card-artist,.wiki-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-card-artist{color:var(--harmony-text-secondary);font-size:.85em;margin:0 0 12px}.wiki-card-artist a{color:inherit;text-decoration:none}.wiki-card-artist a:hover{text-decoration:underline}.wiki-card-stats{color:var(--harmony-text-subtle);display:flex;flex-direction:column;flex-grow:1;font-size:.8em;gap:4px;margin-bottom:15px}.wiki-card-stats span{align-items:center;display:flex;gap:6px}.wiki-card-action{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:5px;color:var(--harmony-text-primary);display:block;font-weight:500;margin-top:auto;padding:10px;text-align:center;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease;width:100%}.wiki-card-action:hover{background-color:var(--riffy-accent-purple);border-color:var(--riffy-accent-purple);color:#fff}.wiki-card-action i{font-size:.9em;margin-left:8px}@media (max-width:768px){.wiki-filter-bar{align-items:stretch;flex-direction:column}}.wiki-artist-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.wiki-artist-card{align-items:center;background-color:var(--harmony-bg-medium);border:1px solid var(--harmony-border);border-radius:8px;color:inherit;display:flex;flex-direction:column;padding:20px;text-align:center;text-decoration:none;transition:all .2s ease-in-out}.wiki-artist-card:hover{border-color:var(--riffy-accent-purple);box-shadow:var(--harmony-shadow-lg);transform:translateY(-5px)}.wiki-artist-avatar{background-color:var(--harmony-bg-light);border:3px solid var(--harmony-border);border-radius:50%;height:140px;margin-bottom:15px;object-fit:cover;width:140px}.wiki-artist-info h3{color:var(--harmony-text-primary);font-size:1.2em;margin:0 0 8px}.wiki-artist-info p{color:var(--harmony-text-secondary);font-size:.9em;line-height:1.5;margin:0}.external-links-list{display:flex;flex-wrap:wrap;gap:15px;list-style:none;padding-left:0}.external-link-button{background-color:var(--harmony-bg-light)!important;border:1px solid var(--harmony-border)!important;color:var(--harmony-text-primary)!important;transition:all .2s ease!important}.external-link-button:hover{background-color:var(--harmony-border)!important;border-color:var(--harmony-text-secondary)!important;transform:scale(1.05)!important}.judges-rating-container{align-items:center;background-color:var(--harmony-bg-medium);border:1px solid var(--harmony-border);border-radius:8px;display:flex;gap:20px;padding:20px}.judges-rating-score{color:var(--riffy-accent-purple);flex-shrink:0;font-size:2.5em;font-weight:700}.judges-rating-review p{color:var(--harmony-text-secondary);font-style:italic;line-height:1.6;margin:0}.comment-item{margin-bottom:20px}.comment-item:last-child{margin-bottom:0}.wiki-search-bar{display:flex;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:700px}.wiki-search-bar input{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:8px 0 0 8px;border-right:none;color:var(--harmony-text-primary);flex-grow:1;font-size:1.1em;padding:14px 20px}.wiki-search-bar input:focus{border-color:var(--riffy-accent-purple);box-shadow:0 0 0 2px #7b56d333;outline:none}.wiki-search-bar button{background-color:var(--riffy-accent-purple);border:1px solid var(--riffy-accent-purple);border-radius:0 8px 8px 0;color:#fff;cursor:pointer;font-size:1.2em;padding:0 25px;transition:background-color .2s}.wiki-search-bar button:hover{background-color:var(--riffy-accent-purple-hover)}.wiki-search-bar button:disabled{background-color:var(--harmony-text-subtle);border-color:var(--harmony-text-subtle);cursor:not-allowed}.wiki-results-section{margin-bottom:30px}.wiki-results-section h3{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.5em;margin-bottom:20px;padding-bottom:10px}.wiki-search-result-item{align-items:center;background-color:var(--harmony-bg-medium);border-radius:6px;color:inherit;display:flex;gap:15px;padding:12px;text-decoration:none;transition:background-color .2s}.wiki-search-result-item:hover{background-color:var(--harmony-bg-light)}.wiki-tracks-list .wiki-search-result-item{margin-bottom:10px}.wiki-tracks-list img{border-radius:4px;flex-shrink:0;height:50px;object-fit:cover;width:50px}.wiki-artist-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.wiki-artist-grid .wiki-search-result-item{flex-direction:column;text-align:center}.wiki-artist-grid img{border-radius:50%;height:100px;object-fit:cover;width:100px}.wiki-search-item-info h4{color:var(--harmony-text-primary);font-size:1em;font-weight:500;margin:0 0 4px}.wiki-search-item-info p{color:var(--harmony-text-secondary);font-size:.85em;margin:0}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.fsp-overlay{align-items:center;animation:slideUp .5s cubic-bezier(.25,1,.5,1) forwards;background-color:var(--player-bg);box-sizing:border-box;color:var(--harmony-text-primary);display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;padding:20px 40px 30px;position:fixed;top:0;width:100vw;z-index:2000}.fsp-background{background-position:50%;background-size:cover;filter:blur(50px) brightness(.4);height:100%;left:0;opacity:.8;position:absolute;top:0;transform:scale(1.1);width:100%;z-index:-1}.fsp-footer,.fsp-header{align-items:center;display:flex;justify-content:space-between;max-width:700px;width:100%}.fsp-footer{flex-direction:column}.fsp-header-info{text-align:center}.fsp-header-info p{color:var(--harmony-text-subtle);font-size:.75em;letter-spacing:1px;margin:0;text-transform:uppercase}.fsp-header-info h3{font-size:.9em;font-weight:500;margin:4px 0 0}.fsp-action-btn{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.2em;padding:10px;transition:color .2s,transform .2s}.fsp-action-btn:hover{color:var(--harmony-text-primary);transform:scale(1.1)}.fsp-action-btn.large{font-size:1.6em}.fsp-action-btn.small{font-size:1.1em}.fsp-action-btn.active{color:var(--riffy-accent-purple)}.fsp-action-btn:disabled{color:var(--harmony-text-subtle);cursor:not-allowed;transform:none}.fsp-content{align-items:center;display:flex;flex-grow:1;justify-content:center;padding:20px 0;width:100%}.fsp-cover-art-container{aspect-ratio:1/1;max-width:450px;width:100%}.fsp-cover-art{background-color:var(--harmony-bg-light);border-radius:12px;box-shadow:0 15px 40px #00000080;height:100%;object-fit:cover;width:100%}.fsp-track-info{margin-bottom:20px;max-width:700px;width:100%}.fsp-title-wrapper{align-items:center;display:flex;gap:20px;justify-content:space-between}.fsp-track-info h2{flex-grow:1;font-size:1.8em;font-weight:700;margin:0}.fsp-track-info .fsp-artist{color:var(--harmony-text-secondary);font-size:1.1em;font-weight:400;margin:5px 0 0}.fsp-track-info .fsp-artist a{color:inherit;text-decoration:none}.fsp-track-info .fsp-artist a:hover{text-decoration:underline}.fsp-progress-wrapper{background-color:var(--harmony-bg-light);border-radius:3px;cursor:pointer;height:6px;margin-bottom:8px;width:100%}.fsp-progress-bar{background-color:var(--harmony-text-primary);border-radius:3px;height:100%;transition:width .1s linear}.fsp-progress-wrapper:hover .fsp-progress-bar{background-color:var(--riffy-accent-purple)}.fsp-time-display{color:var(--harmony-text-subtle);font-size:.75em;justify-content:space-between}.fsp-controls,.fsp-time-display{display:flex;margin-bottom:15px;width:100%}.fsp-controls{align-items:center;gap:20px;justify-content:center}.fsp-control-btn{background:none;border:none;color:var(--harmony-text-primary);cursor:pointer;font-size:1.5em;transition:transform .2s}.fsp-control-btn.secondary{color:var(--harmony-text-secondary);font-size:1.2em}.fsp-control-btn:hover{transform:scale(1.1)}.fsp-control-btn.secondary.active{color:var(--riffy-accent-purple)}.fsp-control-btn.play-pause{align-items:center;background-color:var(--harmony-text-primary);border-radius:50%;color:var(--harmony-bg-dark);display:flex;font-size:1.8em;height:70px;justify-content:center;width:70px}.fsp-control-btn.play-pause i.fa-play{margin-left:5px}.fsp-extra-actions{align-items:center;display:flex;height:40px;justify-content:space-between;max-width:700px;width:100%}.fsp-volume-control{align-items:center;display:flex;gap:10px;width:150px}.fsp-volume-slider{-webkit-appearance:none;appearance:none;background:var(--harmony-bg-light);border-radius:2px;cursor:pointer;height:4px;outline:none;width:100%}.fsp-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--harmony-text-primary);border-radius:50%;cursor:pointer;height:14px;width:14px}.fsp-volume-slider::-moz-range-thumb{background:var(--harmony-text-primary);border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.fsp-volume-slider:hover::-webkit-slider-thumb{background:var(--riffy-accent-purple)}.fsp-volume-slider:hover::-moz-range-thumb{background:var(--riffy-accent-purple)}@media (max-width:768px){.fsp-overlay{padding:15px 20px 20px}.fsp-content{padding:10px 0}.fsp-cover-art-container{max-width:300px}.fsp-track-info h2{font-size:1.5em}.fsp-track-info .fsp-artist{font-size:1em}.fsp-control-btn.play-pause{font-size:1.5em;height:60px;width:60px}.fsp-control-btn .fa-repeat-1:before{content:"\f363";font-weight:900}.fsp-control-btn{font-size:1.3em}.fsp-control-btn.secondary{font-size:1.1em}}.fsp-overlay{justify-content:flex-start}.fsp-main-content{grid-gap:40px;display:grid;flex-grow:1;gap:40px;grid-template-columns:1fr 0;max-width:1400px;min-height:0;padding:20px 0;transition:grid-template-columns .5s cubic-bezier(.25,1,.5,1);width:100%}.fsp-overlay.queue-view .fsp-main-content{grid-template-columns:1fr 400px}.fsp-content-left{align-items:center;display:flex;flex-direction:column;justify-content:center;min-width:0}.fsp-content-left .fsp-cover-art-container{aspect-ratio:1/1;margin:auto;max-width:450px;width:100%}.fsp-content-left .fsp-footer{margin-top:20px;max-width:700px;width:100%}.fsp-content-right{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#00000026;border-radius:12px;display:flex;flex-direction:column;height:100%;opacity:0;overflow:hidden;transition:opacity .5s ease}.fsp-overlay.queue-view .fsp-content-right{opacity:1}.fsp-queue-container{height:100%;max-height:100vh;overflow-y:auto;padding:20px}.fsp-queue-section h3{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.1em;font-weight:600;margin:0 0 15px;padding-bottom:10px}.fsp-queue-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:15px;padding:10px;position:relative;transition:background-color .2s ease}.fsp-queue-item:hover{background-color:var(--harmony-bg-light)}.fsp-queue-item:hover .fsp-queue-item-play-icon{opacity:1}.fsp-queue-item.current{background-color:var(--harmony-bg-light);cursor:default}.fsp-queue-item-cover{border-radius:4px;flex-shrink:0;height:40px;object-fit:cover;width:40px}.fsp-queue-item-info{flex-grow:1;overflow:hidden}.fsp-queue-item-title{color:var(--harmony-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsp-queue-item.current .fsp-queue-item-title{color:var(--riffy-accent-purple)}.fsp-queue-item-artist{color:var(--harmony-text-secondary);font-size:.85em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsp-queue-item-play-icon{align-items:center;background-color:#00000080;border-radius:50%;color:#fff;display:flex;font-size:.8em;height:28px;justify-content:center;left:21px;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s ease;width:28px}.fsp-queue-item-playing-icon{color:var(--riffy-accent-purple);font-size:1.1em;margin-left:auto}@media (max-width:992px){.fsp-overlay.queue-view .fsp-main-content{grid-template-columns:1fr 320px}}@media (max-width:768px){.fsp-overlay.queue-view .fsp-main-content{grid-template-columns:1fr 400px}.fsp-overlay.queue-view .fsp-content-left{display:none}.fsp-content-right{-webkit-backdrop-filter:none;backdrop-filter:none;background:none;opacity:1}}.fsp-header .more-menu-container{position:relative}.fsp-more-menu{background-color:var(--dropdown-bg);border:1px solid var(--harmony-border);border-radius:4px;box-shadow:var(--harmony-shadow-lg);left:0;min-width:240px;padding:5px 0;position:absolute;right:auto;top:calc(100% + 5px);z-index:2001}.fsp-more-menu .player-more-menu-item{align-items:center;color:var(--harmony-text-secondary);cursor:pointer;display:flex;font-size:.9em;padding:10px 15px;text-decoration:none;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.fsp-more-menu .player-more-menu-item:hover{background-color:var(--harmony-bg-light);color:var(--harmony-text-primary)}.fsp-more-menu .player-more-menu-item i:not(.submenu-arrow){color:var(--harmony-text-secondary);font-size:1.1em;margin-right:12px;text-align:center;width:20px}.fsp-more-menu .player-more-menu-item:hover i:not(.submenu-arrow){color:var(--harmony-text-primary)}.fsp-more-menu .player-more-menu-divider{background-color:var(--harmony-border);height:1px;margin:6px 15px}.fsp-more-menu .player-more-menu-item-submenu-container{position:relative}.fsp-more-menu .player-more-menu-item .submenu-arrow{font-size:.85em;margin-left:auto}.fsp-more-menu .player-more-submenu{background-color:var(--dropdown-bg);border:1px solid var(--harmony-border);border-radius:4px;box-shadow:var(--harmony-shadow-lg);left:100%;max-height:250px;min-width:200px;overflow-y:auto;padding:5px 0;position:absolute;right:auto;top:-5px;z-index:2002}.control-btn-compact i.fa-repeat,.fsp-control-btn i.fa-repeat{align-items:center;display:inline-flex;justify-content:center;position:relative}.repeat-one-indicator-dot:before{color:currentColor;content:"1";font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.45em;font-weight:900;left:50%;line-height:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.control-btn-compact .repeat-one-indicator-dot:before{font-size:.45em}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.queue-modal-overlay{background-color:var(--modal-backdrop-bg);display:flex;height:100%;justify-content:flex-end;left:0;position:fixed;top:0;width:100%;z-index:1010}.queue-modal-content{animation:slideInFromRight .4s cubic-bezier(.25,1,.5,1) forwards;background-color:var(--modal-bg);box-shadow:-5px 0 25px #0000004d;display:flex;flex-direction:column;height:100%;max-width:450px;width:100%}[data-theme=light] .queue-modal-content{border-left:1px solid var(--harmony-border)}.queue-modal-header{align-items:center;border-bottom:1px solid var(--harmony-border);display:flex;flex-shrink:0;justify-content:space-between;padding:15px 20px}.queue-modal-header h2{font-size:1.2em;font-weight:600;margin:0}.queue-modal-close-btn{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.5em;transition:color .2s ease}.queue-modal-close-btn:hover{color:var(--harmony-text-primary)}.queue-modal-body{flex-grow:1;overflow-y:auto;padding:20px}.queue-summary{align-items:center;background-color:var(--harmony-bg-light);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:25px;padding:12px 15px}.queue-summary span{color:var(--harmony-text-secondary);font-size:.9em;font-weight:500}.queue-summary-actions{display:flex;gap:8px}.queue-summary-actions button{align-items:center;background:none;border:1px solid var(--harmony-border);border-radius:5px;color:var(--harmony-text-secondary);cursor:pointer;display:flex;font-size:.8em;gap:6px;padding:5px 10px;transition:all .2s ease}.queue-summary-actions button:hover:not(:disabled){background-color:var(--harmony-bg-medium);border-color:var(--harmony-text-primary);color:var(--harmony-text-primary)}.queue-summary-actions button:disabled{cursor:not-allowed;opacity:.5}.queue-section{margin-bottom:20px}.queue-section h3{color:var(--harmony-text-secondary);font-size:1em;font-weight:500;margin:0 0 10px}.queue-track-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:10px;transition:background-color .2s ease}.queue-track-item:hover{background-color:var(--harmony-bg-light)}.queue-track-item:hover .queue-item-remove-btn{opacity:1}.queue-item-left{align-items:center;display:flex;gap:15px;overflow:hidden}.queue-item-index,.queue-item-play-icon{color:var(--harmony-text-subtle);flex-shrink:0;font-size:.9em;text-align:center;width:20px}.queue-item-play-icon{color:var(--riffy-accent-purple)}.queue-item-cover{background-color:var(--harmony-bg-light);border-radius:4px;flex-shrink:0;height:45px;object-fit:cover;width:45px}.queue-item-info{overflow:hidden}.queue-item-title{color:var(--harmony-text-primary);font-size:.95em;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-track-item.current .queue-item-title{color:var(--riffy-accent-purple)}.queue-item-artist{color:var(--harmony-text-secondary);font-size:.85em;margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item-remove-btn{background:none;border:none;color:var(--harmony-text-subtle);cursor:pointer;font-size:1em;margin-left:10px;opacity:0;padding:5px;transition:opacity .2s,color .2s}.queue-item-remove-btn:hover{color:#e53935}.queue-modal-footer{border-top:1px solid var(--harmony-border);display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:15px 20px}.notification-badge{align-items:center;background-color:#e53935;border:1px solid var(--header-bg);border-radius:50%;color:#fff;display:flex;font-size:.7em;font-weight:700;height:16px;justify-content:center;line-height:1;position:absolute;right:2px;top:2px;width:16px}.notifications-menu{display:flex;flex-direction:column;max-height:450px;width:380px}.notifications-header{align-items:center;border-bottom:1px solid var(--harmony-border);display:flex;flex-shrink:0;justify-content:space-between;padding:10px 15px}.notifications-header h3{font-size:1.1em;font-weight:500;margin:0}.clear-notifications-btn{background:none;border:none;color:var(--riffy-accent-purple);cursor:pointer;font-size:.85em;font-weight:500;padding:5px}.clear-notifications-btn:hover:not(:disabled){text-decoration:underline}.clear-notifications-btn:disabled{color:var(--harmony-text-subtle);cursor:not-allowed}.notifications-list{flex-grow:1;overflow-y:auto}.notification-item{border-bottom:1px solid var(--harmony-border);display:flex;gap:12px;padding:12px 15px;text-decoration:none;transition:background-color .2s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background-color:var(--harmony-bg-light)}.notification-item.unread{background-color:var(--harmony-bg-medium);border-left:3px solid var(--riffy-accent-purple)}.notification-avatar{border-radius:50%;flex-shrink:0;height:40px;object-fit:cover;width:40px}.notification-content{display:flex;flex-direction:column}.notification-message{color:var(--harmony-text-secondary);font-size:.9em;line-height:1.4;margin:0}.notification-item.unread .notification-message{color:var(--harmony-text-primary);font-weight:500}.notification-time{color:var(--harmony-text-subtle);font-size:.8em;margin-top:4px}.no-notifications-message{color:var(--harmony-text-subtle);font-size:.9em;padding:20px;text-align:center}.chat-body{gap:15px}.message-bubble{max-width:70%}.message-bubble p{margin:0 0 5px}.message-bubble span{color:var(--harmony-text-subtle);display:block;font-size:.75em;text-align:right}.message-bubble.sent{align-self:flex-end;background-color:var(--riffy-accent-purple);border-bottom-right-radius:4px;color:#fff}.message-bubble.sent span{color:#ffffffb3}.message-bubble.received{align-self:flex-start;background-color:var(--harmony-bg-light);border-bottom-left-radius:4px;color:var(--harmony-text-primary)}.chat-input-form input{padding:12px 15px}.messages-page-container{background-color:var(--harmony-bg-medium);border:1px solid var(--harmony-border);border-radius:8px;display:grid;grid-template-columns:320px 1fr;height:calc(100vh - 162px);overflow:hidden}.conversations-sidebar{background-color:var(--sidebar-bg);border-right:1px solid var(--harmony-border);display:flex;flex-direction:column}.conversations-header{border-bottom:1px solid var(--harmony-border);flex-shrink:0;padding:15px 20px}.conversations-header h3{font-size:1.2em;margin:0}.conversations-list{flex-grow:1;overflow-y:auto}.conversation-item{align-items:center;border-bottom:1px solid var(--harmony-border);cursor:pointer;display:flex;gap:12px;padding:12px 20px;transition:background-color .2s ease}.conversation-item:hover{background-color:var(--harmony-bg-light)}.conversation-item.active{background-color:var(--riffy-accent-purple)}.conversation-item.active .conversation-last-message,.conversation-item.active .conversation-username{color:#fff}.conversation-avatar{border-radius:50%;flex-shrink:0;height:45px;object-fit:cover;width:45px}.conversation-info{overflow:hidden}.conversation-username{color:var(--harmony-text-primary);font-weight:500;margin:0}.conversation-last-message{color:var(--harmony-text-secondary);font-size:.85em;margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-window{display:flex;flex-direction:column;height:100%}.chat-header{align-items:center;border-bottom:1px solid var(--harmony-border);display:flex;flex-shrink:0;gap:15px;padding:10px 20px;position:relative}.chat-header img{border-radius:50%;height:40px;object-fit:cover;width:40px}.chat-header h3{font-size:1.1em;margin:0}.chat-header .back-btn{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.2em;margin-left:auto}.chat-header .back-btn:hover{color:var(--harmony-text-primary)}.chat-body{display:flex;flex-direction:column;flex-grow:1;gap:5px;overflow-y:auto;padding:20px}.message-bubble-wrapper{display:flex;flex-direction:column;gap:4px;max-width:70%}.message-bubble-wrapper.sent{align-items:flex-end;align-self:flex-end}.message-bubble-wrapper.received{align-items:flex-start;align-self:flex-start}.message-bubble{border-radius:18px;line-height:1.4;padding:10px 15px;width:-webkit-fit-content;width:fit-content}.message-bubble p{word-wrap:break-word;margin:0;white-space:pre-wrap}.message-time{color:var(--harmony-text-subtle);font-size:.75em;padding:0 8px}.message-bubble-wrapper.sent .message-bubble{background-color:var(--riffy-accent-purple);border-bottom-right-radius:4px;color:#fff}.message-bubble-wrapper.received .message-bubble{background-color:var(--harmony-bg-light);border-bottom-left-radius:4px;color:var(--harmony-text-primary)}.chat-input-form{border-top:1px solid var(--harmony-border);display:flex;flex-shrink:0;gap:10px;padding:15px 20px;position:relative}.chat-input-form input{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:20px;color:var(--harmony-text-primary);flex-grow:1;font-size:1em;padding:12px 20px}.chat-input-form input:focus{border-color:var(--riffy-accent-purple);outline:none}.chat-input-form button{background-color:var(--riffy-accent-purple);border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;font-size:1.1em;height:45px;transition:background-color .2s ease;width:45px}.chat-input-form button:hover{background-color:var(--riffy-accent-purple-hover)}.chat-input-form .share-btn{background-color:initial;border:1px solid var(--harmony-border);color:var(--harmony-text-secondary)}.chat-input-form .share-btn:hover{background-color:var(--harmony-bg-light);color:var(--harmony-text-primary)}.no-chat-selected{align-items:center;color:var(--harmony-text-subtle);display:flex;flex-direction:column;height:100%;justify-content:center}.no-chat-selected i{font-size:4em;margin-bottom:20px}.share-btn-container{position:relative}.share-song-popover{background-color:var(--dropdown-bg);border:1px solid var(--harmony-border);border-radius:8px;bottom:100%;box-shadow:var(--harmony-shadow-lg);left:0;margin-bottom:10px;padding:10px;position:absolute;width:280px;z-index:10}.share-song-popover p{color:var(--harmony-text-subtle);font-size:.8em;margin:0 0 8px}.popover-song-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:10px;padding:8px;transition:background-color .2s ease}.popover-song-item:hover{background-color:var(--harmony-bg-light)}.popover-song-item img{border-radius:4px;height:32px;object-fit:cover;width:32px}.popover-song-item span{color:var(--harmony-text-primary);font-size:.9em;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-song-card{align-items:center;background-color:#0003;border-radius:12px;display:flex;gap:12px;max-width:300px;padding:10px}.message-bubble-wrapper.received .message-song-card{background-color:var(--harmony-bg-dark)}.message-song-cover{border-radius:6px;flex-shrink:0;height:50px;object-fit:cover;width:50px}.message-song-info{overflow:hidden}.message-song-title{font-weight:500;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-bubble-wrapper.sent .message-song-title{color:#fff}.message-bubble-wrapper.received .message-song-title{color:var(--harmony-text-primary)}.message-song-artist{font-size:.85em;margin:2px 0 0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-bubble-wrapper.sent .message-song-artist{color:#ffffffb3}.message-bubble-wrapper.received .message-song-artist{color:var(--harmony-text-secondary)}.message-song-play-btn{align-items:center;background-color:#fff;border:none;border-radius:50%;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;margin-left:auto;transition:transform .2s ease;width:36px}.message-song-play-btn:hover{transform:scale(1.1)}.conversations-list::-webkit-scrollbar{display:none}.conversations-list{-ms-overflow-style:none;scrollbar-width:none}.share-track-item{align-items:center;background-color:var(--harmony-bg-light);border-radius:10px;cursor:pointer;display:flex;gap:5px;margin-top:2px;padding:5px;transition:background-color .2s ease}.notification-item:hover .share-track-item{background-color:var(--harmony-border)}.share-track-item:hover{background-color:var(--harmony-bg-medium)!important}.share-track-item img{border-radius:4px;flex-shrink:0;height:40px;object-fit:cover;width:40px}.share-track-info{flex-grow:1;overflow:hidden}.share-track-title{color:var(--harmony-text-primary);display:block;font-size:.9em;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-track-artist{color:var(--harmony-text-subtle);display:block;font-size:.8em}.share-track-play-btn{align-items:center;background-color:var(--riffy-accent-purple);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.8em;height:32px;justify-content:center;transition:transform .2s ease;width:32px}.share-track-play-btn:hover{transform:scale(1.1)}.signin-page .auth-form .form-group-extra{align-items:center;display:flex;font-size:.85em;justify-content:space-between;margin-bottom:25px;margin-top:-10px}.signin-page .auth-form .remember-me-label{align-items:center;color:#c0b8d0;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}[data-theme=light] .signin-page .auth-form .remember-me-label{color:var(--harmony-text-secondary)}.signin-page .auth-form .remember-me-label input[type=checkbox]{accent-color:var(--riffy-accent-purple);cursor:pointer;height:16px;margin-right:8px;width:16px}.signin-page .auth-form .forgot-password-link{color:#a098b0;text-decoration:none;transition:color .2s ease}[data-theme=light] .signin-page .auth-form .forgot-password-link{color:var(--harmony-text-subtle)}.signin-page .auth-form .forgot-password-link:hover{color:var(--riffy-accent-purple);text-decoration:underline}.song-card-info{padding-right:20px;position:relative}.song-card-icons{align-items:center;display:flex;gap:8px;position:absolute;right:0;top:2px}.favorite-icon-card{color:var(--riffy-accent-purple);font-size:.9em;position:static}.lyrics-icon-card{color:var(--harmony-text-subtle);font-size:.8em}.track-info .artist-name{color:var(--harmony-text-secondary);font-size:1.2em;font-weight:400;margin-bottom:15px}.track-info .artist-name a{color:var(--harmony-text-secondary);text-decoration:none;transition:color .2s ease}.track-info .artist-name a:hover{color:var(--harmony-text-primary);text-decoration:underline}.track-details-section p{color:var(--harmony-text-secondary);font-size:.95em;line-height:1.6}.lyrics-text{background-color:var(--harmony-bg-medium);border-radius:8px;color:var(--harmony-text-secondary);line-height:1.8;padding:20px;white-space:pre-wrap}.comments-section{margin-top:20px}.comment-form{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}.comment-form textarea{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:6px;color:var(--harmony-text-primary);font-family:inherit;min-height:80px;padding:12px;resize:vertical;transition:border-color .2s ease}.comment-form textarea:focus{border-color:var(--riffy-accent-purple);outline:none}.comment-form button{align-self:flex-end;width:auto}.comment-form button:disabled{background-color:var(--harmony-text-subtle);cursor:not-allowed}[data-theme=dark] .comment-form button:disabled{background-color:#5a5a5a}.comments-list{display:flex;flex-direction:column;gap:20px}.comment-item{border-bottom:1px solid var(--harmony-border);display:flex;gap:15px;padding-bottom:20px}.comment-item:last-child{border-bottom:none;padding-bottom:0}.comment-item img{border-radius:50%;flex-shrink:0;height:45px;margin-top:5px;width:45px}.comment-content{display:flex;flex-direction:column}.comment-content strong{color:var(--harmony-text-primary);font-weight:500}.comment-content a{color:inherit;text-decoration:none}.comment-content a:hover strong{text-decoration:underline}.comment-content p{color:var(--harmony-text-secondary);line-height:1.5;margin:5px 0 8px}.comment-content span{color:var(--harmony-text-subtle);font-size:.8em}.wiki-no-results{background-color:var(--harmony-bg-medium);border-radius:8px;margin-top:40px;padding:20px;text-align:center}.wiki-no-results .no-content-message{font-size:1.1em;margin-bottom:20px}.error-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:40px 20px;text-align:center}.profile-content-area{padding-top:10px}.profile-tab-content .track-wiki-section{background:none;border:none;padding:0}.fsp-content-lyrics{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0a0a0ab3;border-left:1px solid var(--harmony-border-subtle);bottom:220px;display:flex;flex-direction:column;position:fixed;right:0;top:80px;transform:translateX(100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94);width:350px;z-index:10}.fsp-overlay.lyrics-view .fsp-content-left{transform:translateX(-175px)}.fsp-overlay.lyrics-view .fsp-content-lyrics{transform:translateX(0)}.fsp-lyrics-header{align-items:center;border-bottom:1px solid var(--harmony-border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:15px 20px}.fsp-lyrics-header h3{color:var(--harmony-text-primary);font-size:1.1em;margin:0}.fsp-lyrics-close-btn{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;font-size:1.2em;transition:color .2s ease}.fsp-lyrics-close-btn:hover{color:var(--harmony-text-primary)}.fsp-lyrics-body{color:var(--harmony-text-secondary);flex-grow:1;font-size:1.1em;line-height:1.8;overflow-y:auto;padding:20px}.fsp-lyrics-body .no-content-message{color:var(--harmony-text-subtle);font-style:italic}.static-page-container{background-color:#16161dcc;border-radius:8px;color:#e0e0e0;margin:2rem auto;max-width:900px;padding:2rem}.static-page-container h1{border-bottom:1px solid #444;color:#fff;font-size:2.5rem;margin-bottom:1.5rem;padding-bottom:1rem}.static-page-container h3{color:#c0b7e8;font-size:1.5rem;margin-bottom:1rem;margin-top:2rem}.static-page-container p{font-size:1rem;line-height:1.6;margin-bottom:1rem}.static-page-container strong{color:#fff;font-weight:600}.mobile-menu-toggle{background:none;border:none;color:var(--harmony-text-secondary);cursor:pointer;display:none;font-size:1.5em;margin-right:15px;padding:5px}.mobile-sidebar-overlay{background-color:#00000080;display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}@media (max-width:992px){.mobile-menu-toggle,.sidebar-riffy.open+.mobile-sidebar-overlay{display:block}.sidebar-riffy{transform:translateX(-100%);transition:transform .3s ease-in-out;z-index:1001}.sidebar-riffy.open{box-shadow:5px 0 15px #0003;transform:translateX(0)}.audio-player-riffy.compact,.main-content-riffy,.site-header-riffy{left:0;margin-left:0;width:100%}.site-header-riffy{padding:10px 15px}.main-content-riffy{padding:15px 15px 92px}.artists-grid-riffy,.playlists-grid-overview,.songs-carousel-riffy{gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.profile-banner{padding:0 20px 20px}.profile-tabs-container{padding:15px 20px}.profile-header-content{align-items:center;flex-direction:column;gap:15px;text-align:center}.profile-user-info{margin-bottom:0}.profile-user-info h1{font-size:2.5em;margin-bottom:10px}.profile-actions{justify-content:center}.signin-page .auth-wrapper{padding:0 15px}.signin-page .auth-tabs-external{gap:10px}.signin-page .auth-form-wrapper{padding:25px}}@media (max-width:480px){.artists-grid-riffy,.playlists-grid-overview,.songs-carousel-riffy{gap:10px;grid-template-columns:repeat(2,1fr)}.riffy-header-action-button span{display:none}.riffy-header-action-button i{margin-right:0}.riffy-header-action-button{padding:8px 10px}#username-display{display:none}.audio-player-riffy.compact{gap:10px;grid-template-columns:1fr;height:auto;padding:10px}.audio-player-riffy.compact .player-left,.audio-player-riffy.compact .player-right{display:none}.main-content-riffy{padding-bottom:150px}.profile-avatar{height:140px;width:140px}.profile-user-info h1{font-size:2em}.signin-page .auth-tabs-external .tab-btn{font-size:.9em;padding:10px 15px}.signin-page .auth-form-wrapper{padding:20px}.signin-page .social-buttons-container{gap:15px}.signin-page .social-login-btn{font-size:1.3em;height:44px;width:44px}.signin-page .auth-form-wrapper h2{font-size:1.6em}.signin-page .auth-form .form-group{margin-bottom:15px}}.header-left-group{align-items:center;display:flex;flex-grow:1;margin-right:20px}.premium-cta-button-header{align-items:center;background:linear-gradient(45deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888);border:none;border-radius:8px;box-shadow:0 4px 15px #dc325066;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.85em;font-weight:600;gap:8px;margin-left:20px;padding:10px 16px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.premium-cta-button-header:hover{box-shadow:0 6px 20px #dc325099;transform:scale(1.05)}.premium-cta-button-header i{font-size:1.1em}.premium-page-container{margin:0 auto;max-width:1200px;padding:20px 40px}.premium-page-header .premium-title{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#bc1888);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:10px;text-align:center}.premium-page-header .premium-subtitle{color:var(--text-secondary);font-size:1.25rem;margin-bottom:50px;text-align:center}.premium-plans-grid{grid-gap:30px;align-items:center;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:60px}.premium-plan-card--interactive{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e28b3;border:1px solid var(--border-color);border-radius:16px;overflow:hidden;padding:30px;position:relative;text-align:center;transition:all .3s ease}.premium-plan-card--interactive:hover{border-color:var(--primary-color);box-shadow:0 10px 30px #0000004d;transform:translateY(-10px)}.premium-plan-card--interactive.popular{border-color:#e6683c;box-shadow:0 0 25px #dc325080;transform:scale(1.05)}.premium-plan-card--interactive.popular:hover{transform:scale(1.1) translateY(-5px)}.premium-plan-card--interactive .plan-title{font-size:1.8rem;font-weight:600;margin-bottom:15px}.premium-plan-card--interactive .plan-price{color:var(--primary-color);font-size:2.5rem;font-weight:700;margin-bottom:10px}.premium-plan-card--interactive .plan-description{color:var(--text-secondary);margin-bottom:30px;min-height:40px}.premium-plan-card--interactive .plan-button{background:linear-gradient(45deg,#f09433,#dc2743);border:none;border-radius:8px;box-shadow:0 4px 10px #dc274366;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:15px 0;transition:all .3s ease;width:100%}.premium-plan-card--interactive .plan-button:hover:not(:disabled){box-shadow:0 6px 15px #dc274399;filter:brightness(1.1)}.premium-plan-card--interactive .plan-button:disabled{background-color:var(--button-disabled-bg);cursor:not-allowed}.popular-badge{background:linear-gradient(45deg,#f09433,#dc2743);border-radius:0 0 8px 8px;box-shadow:0 4px 10px #0000004d;color:#fff;font-size:12px;font-weight:700;padding:6px 15px;position:absolute;right:20px;top:-1px}.premium-features-detailed{border-top:1px solid #ffd70033;margin-top:60px;padding-top:40px}.features-detailed-title{color:var(--text-primary);color:var(--harmony-text-primary,var(--text-primary));font-size:2rem;font-weight:700;margin-bottom:40px;text-align:center}.premium-features-detailed-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.feature-card{align-items:flex-start;background-color:#282832e6;background-color:var(--harmony-bg-medium,#282832e6);border:1px solid var(--harmony-border,var(--border-color));border-radius:8px;display:flex;gap:20px;padding:25px;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{box-shadow:0 5px 15px #0003;transform:translateY(-5px)}.feature-icon{align-items:center;background-color:#ffd7001a;border-radius:50%;color:gold;display:flex;flex-shrink:0;font-size:1.5rem;height:50px;justify-content:center;width:50px}.feature-content h3{color:var(--text-primary);color:var(--harmony-text-primary,var(--text-primary));font-size:1.15rem;font-weight:600;margin:0 0 8px}.feature-content p{color:var(--text-secondary);color:var(--harmony-text-secondary,var(--text-secondary));font-size:.9rem;line-height:1.6;margin:0}.faq-section{margin:60px auto 0;max-width:800px}.faq-item{background:#1e1e28b3;border:1px solid var(--border-color);border-radius:8px;margin-bottom:10px;padding:10px 20px;transition:background-color .3s}.faq-item[open]{background-color:#282832e6}.faq-item summary{cursor:pointer;font-size:1.1rem;font-weight:600;list-style-type:none;outline:none;padding:10px 0;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{color:var(--primary-color);content:"+";font-size:1.4em;font-weight:700;left:-10px;margin-right:10px;position:absolute;top:50%;transform:translateY(-50%)}.faq-item[open] summary:before{content:"−"}.faq-item p{border-left:2px solid var(--primary-color);color:var(--text-secondary);margin:10px 0 0;padding:10px 0 10px 20px}#settings-container.wide-mode{max-width:1200px}#customization-section-container{width:100%}#settings-tabs .tab-link i{margin-right:8px}.interface-editor-container{display:flex;flex-direction:column;gap:25px;margin-bottom:25px}.editor-section-wrapper{background-color:var(--harmony-bg-medium);border:1px solid var(--harmony-border);border-radius:8px;display:flex;flex-direction:column;padding:20px}.editor-panel-title{border-bottom:1px solid var(--harmony-border);color:var(--harmony-text-primary);font-size:1.1em;font-weight:500;margin:0 0 20px;padding-bottom:15px}.header-editor-layout{align-items:flex-start;display:flex;gap:20px}.header-editor-block{display:flex;flex:1 1;flex-direction:column;gap:10px}.header-editor-block h5{color:var(--harmony-text-subtle);font-size:.85em;font-weight:500;margin:0 0 5px 5px}.dnd-list-container{background-color:var(--harmony-bg-dark);border-radius:6px;display:flex;flex-direction:column;flex-grow:1;padding:10px;transition:background-color .2s ease}.header-editor-block .dnd-list-container{align-content:flex-start;flex-direction:row;flex-wrap:wrap;gap:10px;min-height:60px}.dnd-item{align-items:center;background-color:var(--sidebar-bg);border:1px solid var(--harmony-border);border-radius:4px;color:var(--harmony-text-secondary);display:flex;gap:10px;margin-bottom:8px;padding:10px 12px;transition:box-shadow .2s ease,background-color .2s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.header-editor-block .dnd-item{margin-bottom:0}.dnd-item.is-dragging{background-color:var(--harmony-bg-light);box-shadow:0 4px 12px #0000004d}.dnd-handle{color:var(--harmony-text-subtle);cursor:grab}.dnd-item-icon{font-size:1.1em;text-align:center;width:20px}.editor-actions{align-self:center;display:flex;gap:15px;margin-top:15px;max-width:400px;width:100%}.editor-actions .riffy-button-primary,.editor-actions .riffy-button-secondary{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:center}.riffy-button-secondary{background-color:var(--harmony-bg-light);border:1px solid var(--harmony-border);border-radius:5px;color:var(--harmony-text-secondary);cursor:pointer;font-size:.9em;font-weight:500;padding:10px 18px;transition:background-color .2s,color .2s}.riffy-button-secondary:hover{background-color:var(--harmony-border);color:var(--harmony-text-primary)}.song-card{position:relative}.song-card-report-button{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .2s ease-in-out;width:28px;z-index:5}.song-card:hover .song-card-report-button{opacity:1}.song-card-report-button:hover{background:#ff0000b3}.report-target-title{background-color:var(--harmony-card-bg);border-left:3px solid var(--harmony-secondary);border-radius:5px;font-size:.9em;margin-bottom:20px;padding:10px}.report-target-title strong{color:var(--harmony-primary)}.reports-filter-tabs{border-bottom:2px solid var(--harmony-border-color);display:flex;gap:10px;margin-bottom:20px;padding-bottom:10px}.reports-filter-tabs button{background:none;border:1px solid var(--harmony-border-color);border-radius:20px;color:var(--harmony-text-subtle);cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.reports-filter-tabs button:hover{background-color:var(--harmony-card-bg-hover);border-color:var(--harmony-primary)}.reports-filter-tabs button.active{background-color:var(--harmony-primary);border-color:var(--harmony-primary);color:#fff}.report-card{background-color:var(--harmony-card-bg);border:1px solid var(--harmony-border-color);border-radius:8px;margin-bottom:20px;padding:20px}.report-header{align-items:center;border-bottom:1px solid var(--harmony-border-color-subtle);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.report-status{border-radius:12px;font-size:.8em;font-weight:700;padding:4px 10px;text-transform:uppercase}.report-status.pending{background-color:#ffc107;color:#333}.report-status.resolved{background-color:#28a745;color:#fff}.report-status.dismissed{background-color:#6c757d;color:#fff}.report-date{color:var(--harmony-text-subtle);font-size:.8em}.report-body{display:flex;flex-direction:column;gap:15px}.report-section{line-height:1.5}.report-label{color:var(--harmony-text-subtle);display:block;font-size:.9em;margin-bottom:4px}.report-section p{background-color:var(--harmony-bg-main);border-radius:4px;margin:0;padding:8px}.report-details-text{font-style:italic;white-space:pre-wrap}.report-content-link a{color:var(--harmony-primary);font-weight:700;text-decoration:none}.report-content-link a:hover{text-decoration:underline}.report-reporter-avatar{border-radius:50%;height:24px;margin-right:8px;vertical-align:middle;width:24px}.report-actions{border-top:1px solid var(--harmony-border-color-subtle);display:flex;gap:10px;margin-top:20px;padding-top:15px}.admin-user-list-item{grid-gap:15px;align-items:center;border-radius:6px;display:grid;gap:15px;grid-template-columns:50px 1.5fr 1fr 1fr auto;padding:10px;transition:background-color .2s ease}.admin-user-list-item:hover{background-color:var(--harmony-bg-light)}.admin-user-list-item .list-item-cover{border-radius:50%;height:50px;width:50px}.admin-user-list-item .list-item-info .list-item-title a{color:var(--harmony-text-primary);font-weight:500;text-decoration:none}.admin-user-list-item .list-item-info .list-item-title a:hover{text-decoration:underline}.admin-user-list-item .list-item-artist{color:var(--harmony-text-subtle);font-size:.85em}.admin-user-info-block{color:var(--harmony-text-secondary);font-size:.9em}.admin-user-info-block div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-info-block strong{color:var(--harmony-text-primary)}.role-badge{border-radius:12px;color:#fff;display:inline-block;font-size:.75em;font-weight:700;padding:3px 8px;text-transform:uppercase}.role-badge.admin{background-color:#e53935}.role-badge.moderator{background-color:#ff9800}.role-badge.user{background-color:#1e88e5}.admin-edit-user-modal .riffy-modal-input-group select{appearance:none;-webkit-appearance:none;background-color:var(--input-bg);background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23B3B3B3%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E");background-position:right 15px center;background-repeat:no-repeat;background-size:10px;border:1px solid var(--harmony-border);border-radius:4px;box-sizing:border-box;color:var(--harmony-text-primary);font-family:inherit;padding:10px 35px 10px 10px;width:100%}[data-theme=light] .admin-edit-user-modal .riffy-modal-input-group select{filter:invert(.6)}.admin-edit-user-modal .riffy-modal-input-group select:focus{border-color:var(--riffy-accent-purple);box-shadow:0 0 0 2px #7b56d34d;outline:none}.admin-user-list-item .friend-actions button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.3;transform:none!important}.admin-user-list-item .friend-action-btn.edit{background-color:#ffc107;color:#111}.admin-user-list-item .friend-action-btn.edit:hover:not(:disabled){background-color:#ffca2c}@media (max-width:992px){.admin-user-list-item{grid-template-areas:"avatar info actions" "avatar role actions" "avatar stats actions";grid-template-columns:50px 1fr auto;row-gap:5px}.admin-user-list-item .list-item-cover{grid-area:avatar}.admin-user-list-item .list-item-info{grid-area:info}.admin-user-list-item .admin-user-info-block:first-of-type{grid-area:role}.admin-user-list-item .admin-user-info-block:nth-of-type(2){grid-area:stats}.admin-user-list-item .friend-actions{grid-area:actions}}@media (max-width:480px){.admin-user-list-item{grid-template-columns:40px 1fr auto}.admin-user-list-item .list-item-cover{height:40px;width:40px}}.wiki-entity-page{margin:0 auto;max-width:1200px;padding:20px}.wiki-entity-header{align-items:center;display:flex;gap:30px;margin-bottom:40px}.wiki-entity-cover{background-color:var(--harmony-card-background);border-radius:8px;flex-shrink:0;height:200px;object-fit:cover;width:200px}.wiki-entity-info .wiki-entity-type{color:var(--harmony-text-secondary);font-size:.9rem;font-weight:500;letter-spacing:1px;text-transform:uppercase}.wiki-entity-info h1{color:var(--harmony-text-primary);font-size:3rem;margin:5px 0 10px}.wiki-artist-info{align-items:center;display:flex;gap:10px}.wiki-artist-info img{border-radius:50%;height:32px;object-fit:cover;width:32px}.wiki-artist-info a{color:var(--harmony-text-primary);font-size:1.2rem;font-weight:500;text-decoration:none;transition:color .2s}.wiki-artist-info a:hover{color:var(--riffy-accent-purple)}.wiki-entity-body{display:flex;gap:30px}.wiki-main-content{flex-grow:1}.wiki-sidebar-content{flex-basis:300px;flex-shrink:0}.wiki-entity-section{background:var(--harmony-card-background);border:1px solid var(--harmony-border-color);border-radius:8px;margin-bottom:25px;padding:20px}.wiki-section-header{align-items:center;border-bottom:1px solid var(--harmony-border-color);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.wiki-section-header h2{font-size:1.5rem;margin:0}.edit-btn{font-size:.9rem!important;padding:6px 12px!important}.wiki-editor-container textarea{background-color:var(--harmony-input-background);border:1px solid var(--harmony-border-color);border-radius:4px;color:var(--harmony-text-primary);font-family:inherit;font-size:1rem;min-height:200px;padding:10px;resize:vertical;width:100%}.wiki-editor-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.last-contributor-info{color:var(--harmony-text-secondary);font-size:.85rem;margin-top:20px;text-align:right}.last-contributor-info a{color:var(--harmony-text-secondary-hover);font-weight:500}.markdown-content p{line-height:1.7;margin-bottom:1em}.markdown-content a{color:var(--riffy-accent-purple);text-decoration:underline}.markdown-content h1,.markdown-content h2,.markdown-content h3{border-bottom:1px solid var(--harmony-border-color);margin-bottom:.5em;margin-top:1.5em;padding-bottom:.3em}.markdown-content ol,.markdown-content ul{padding-left:2em}.credits-box{background:var(--harmony-card-background);border:1px solid var(--harmony-border-color);border-radius:8px;padding:20px}.credits-box h3{margin-top:0}.credits-list,.facts-list{list-style:none;margin:0;padding:0}.credits-list li,.facts-list li{border-bottom:1px solid var(--harmony-border-color-light);padding:12px 0;position:relative}.credits-list li:last-child,.facts-list li:last-child{border-bottom:none}.credit-role{color:var(--harmony-text-secondary);font-size:.9rem;font-weight:500}.credit-names{color:var(--harmony-text-primary);font-size:1rem;font-weight:500}.facts-list li h4{font-size:1.1rem;margin:0 0 8px}.credit-actions,.fact-actions{display:flex;gap:5px;opacity:0;position:absolute;right:0;top:12px;transition:opacity .2s}.credits-list li:hover .credit-actions,.facts-list li:hover .fact-actions{opacity:1}.credit-actions button,.fact-actions button{align-items:center;background:var(--harmony-card-background-hover);border:1px solid var(--harmony-border-color);border-radius:50%;color:var(--harmony-text-secondary);cursor:pointer;display:flex;height:30px;justify-content:center;width:30px}.credit-actions button:hover,.fact-actions button:hover{background:var(--harmony-border-color);color:var(--harmony-text-primary)}.wiki-article-list{display:flex;flex-direction:column;gap:10px}.wiki-article-item{align-items:center;background-color:var(--harmony-bg-medium);border:1px solid #0000;border-radius:8px;color:var(--harmony-text-primary);display:flex;gap:15px;padding:10px;text-decoration:none;transition:background-color .2s ease,transform .2s ease}.wiki-article-item:hover{background-color:var(--harmony-bg-light);border-color:#a883ff4d;transform:translateY(-2px)}.wiki-article-cover{background-color:var(--harmony-bg-light);border-radius:6px;flex-shrink:0;height:50px;object-fit:cover;width:50px}.wiki-article-info{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.wiki-article-title{font-size:1rem;font-weight:600}.wiki-article-artist,.wiki-article-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-article-artist{color:var(--harmony-text-secondary);font-size:.85rem}.article-type-badge{align-items:center;border-radius:15px;display:inline-flex;flex-shrink:0;font-size:.8rem;font-weight:500;gap:6px;padding:4px 10px;white-space:nowrap}.article-type-badge .fas{font-size:.9em}.article-type-badge.purple{background-color:#a883ff26;color:#a883ff}.article-type-badge.blue{background-color:#419fff26;color:#419fff}.article-type-badge.green{background-color:#1ccc9726;color:#1ccc97}@-webkit-keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;display:inline-block;max-width:100%;position:relative}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{-webkit-box-sizing:border-box;box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-height:inherit;max-width:100%}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{-ms-touch-action:none;touch-action:none}.ReactCrop__crop-mask{bottom:0;height:calc(100% + .5px);left:0;pointer-events:none;position:absolute;right:0;top:0;width:calc(100% + .5px)}.ReactCrop__crop-selection{cursor:move;left:0;position:absolute;top:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);bottom:-1px;content:"";left:-1px;opacity:.3;pointer-events:none;position:absolute;right:-1px;top:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){-webkit-animation:marching-ants 1s;animation:marching-ants 1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-play-state:running;animation-play-state:running;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-image:-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444));background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;color:#fff}.ReactCrop__crop-selection:focus{outline:2px solid #08f;outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{background-color:#fff6;content:"";display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{height:100%;width:1px}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{height:1px;width:100%}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{background-color:#0003;background-color:var(--rc-drag-handle-bg-colour);border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);height:12px;height:var(--rc-drag-handle-size);position:absolute;width:12px;width:var(--rc-drag-handle-size)}.ReactCrop__drag-handle:focus{background:#08f;background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;left:0}.ReactCrop .ord-n,.ReactCrop .ord-nw{top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;left:50%}.ReactCrop .ord-ne{cursor:ne-resize;top:0}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%}.ReactCrop .ord-se{bottom:0;cursor:se-resize;right:0;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;left:50%}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;left:0}.ReactCrop .ord-w{cursor:w-resize;left:0;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{height:6px;height:var(--rc-drag-bar-size);left:0;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%}.ReactCrop__drag-bar.ord-e{height:100%;right:0;top:0;-webkit-transform:translate(50%);transform:translate(50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop__drag-bar.ord-s{bottom:0;height:6px;height:var(--rc-drag-bar-size);left:0;-webkit-transform:translateY(50%);transform:translateY(50%);width:100%}.ReactCrop__drag-bar.ord-w{height:100%;left:0;top:0;-webkit-transform:translate(-50%);transform:translate(-50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{height:24px;height:var(--rc-drag-handle-mobile-size);width:24px;width:var(--rc-drag-handle-mobile-size)}}
/*# sourceMappingURL=main.58de0d9c.css.map*/