@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css";*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;background-color:#121212;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{margin-top:0;font-weight:700}p{line-height:1.6}.text-center{text-align:center}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.spotify-header{z-index:100;-webkit-backdrop-filter:blur(15px);background-color:#000000e6;padding:16px 0;transition:all .3s;position:sticky;top:0}.spotify-header.scrolled{background-color:#0c0c0cf7;box-shadow:0 4px 20px #0000004d}.header-container{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 32px;display:flex}.logo{align-items:center;display:flex}.logo-link{color:#fff;align-items:center;gap:16px;text-decoration:none;transition:transform .3s;display:flex}.logo-link:hover{transform:scale(1.02)}.spotify-logo{color:#1db954;filter:drop-shadow(0 0 10px #1db95480);flex-shrink:0;width:95px;height:95px;margin-right:8px;transition:all .3s}.logo-link:hover .spotify-logo{filter:drop-shadow(0 0 18px #1db954cc);transform:scale(1.05)}.logo-text{letter-spacing:-.5px;background:linear-gradient(90deg,#1db954 0%,#4adede 100%);-webkit-text-fill-color:transparent;text-shadow:0 2px 10px #1db95433;-webkit-background-clip:text;background-clip:text;font-size:1.7rem;font-weight:700}.nav-links{gap:24px;display:flex}.nav-link{color:#b3b3b3;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;transition:all .3s;display:flex;position:relative}.nav-link i{font-size:1.1rem;transition:transform .3s}.nav-link:hover{color:#fff;background-color:#ffffff1a}.nav-link:hover i{transform:translateY(-2px)}.nav-link.active{color:#1db954}.nav-link.active:after{content:"";background-color:#1db954;border-radius:3px;width:100%;height:3px;animation:.3s ease-out forwards fadeIn;position:absolute;bottom:-4px;left:0}.menu-toggle{cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:28px;height:22px;padding:0;display:none}.menu-bar{background-color:#fff;border-radius:3px;width:100%;height:3px;transition:all .3s}.menu-toggle.active .menu-bar:first-child{transform:translateY(9.5px)rotate(45deg)}.menu-toggle.active .menu-bar:nth-child(2){opacity:0}.menu-toggle.active .menu-bar:nth-child(3){transform:translateY(-9.5px)rotate(-45deg)}.header-accent-line{background:linear-gradient(90deg,#1db95400 0%,#1db95480 50%,#1db95400 100%);width:100%;height:1px;position:absolute;bottom:0;left:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.header-container{padding:0 24px}.spotify-logo{width:75px;height:75px}.logo-text{font-size:1.4rem}}@media (width<=768px){.menu-toggle{display:flex}.spotify-logo{width:60px;height:60px}.nav-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background-color:#121212f7;flex-direction:column;justify-content:center;align-items:center;gap:32px;width:70%;max-width:300px;height:100vh;padding:64px 0;transition:right .4s cubic-bezier(.77,0,.175,1);position:fixed;top:0;right:-100%;box-shadow:-10px 0 30px #00000080}.nav-links.open{right:0}.nav-link{border-radius:8px;justify-content:center;width:80%;padding:12px;font-size:1.1rem}.nav-link i{margin-right:8px;font-size:1.2rem}.nav-link.active:after{bottom:-8px}}.form-container{border-radius:var(--border-radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);max-width:1000px;box-shadow:var(--glass-shadow);margin:30px auto;padding:30px;animation:.6s ease-out forwards fadeIn;position:relative;overflow:hidden}.form-container:before{content:"";z-index:1;background:linear-gradient(90deg,#1db954,#4adede);width:100%;height:6px;position:absolute;top:0;left:0}.form-header{text-align:center;margin-bottom:40px;position:relative}.form-header:after{content:"";background:linear-gradient(90deg,#1db954,#4adede);border-radius:3px;width:80px;height:3px;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.form-header h2{margin-bottom:15px;font-size:2.4rem;font-weight:800}.form-header h2 span{background:linear-gradient(90deg,#1db954,#4adede);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.form-header p{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.1rem}.user-form{flex-direction:column;gap:36px;display:flex}.form-section{border-radius:var(--border-radius-md);box-shadow:var(--neu-shadow);opacity:0;background-color:#28282880;padding:30px;transition:transform .3s;animation:.5s ease-out .1s forwards fadeIn}.form-section:hover{transform:translateY(-5px)}.form-section:nth-child(2){animation-delay:.2s}.form-section:nth-child(3){animation-delay:.3s}.form-section h3{color:var(--text-primary);align-items:center;gap:10px;margin-top:0;margin-bottom:25px;font-size:1.6rem;font-weight:700;display:flex}.form-section h3:before{content:"";background:linear-gradient(#1db954,#4adede);border-radius:3px;width:6px;height:24px;display:block}.form-section-icon{color:#1db954;margin-right:10px;font-size:1.4rem}.form-row{gap:25px;margin-bottom:25px;display:flex}.form-row .form-group{flex:1}.form-group{margin-bottom:25px;position:relative}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--text-primary);margin-bottom:10px;font-size:1.05rem;font-weight:600;transition:color .3s;display:block}.form-group:focus-within label{color:#1db954}.form-help{color:var(--text-tertiary);margin-top:8px;font-size:.85rem;font-style:italic;transition:color .3s;display:block}.form-group:focus-within .form-help{color:var(--text-secondary)}.form-group select{color:#fff;appearance:none;background-color:#1e1e1eb3;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231DB954' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 15px center;background-repeat:no-repeat;background-size:15px;border:1px solid #50505080;border-radius:12px;width:100%;padding:15px;font-size:1rem;transition:all .3s;box-shadow:0 2px 10px #0003}.form-group select:focus{background-color:#232323e6;border-color:#1db954;outline:none;box-shadow:0 0 0 3px #1db95433}.form-submit{text-align:center;margin-top:20px}.submit-button{color:#000;cursor:pointer;background:linear-gradient(90deg,#1db954,#1ed760);border:none;border-radius:50px;justify-content:center;align-items:center;gap:12px;padding:16px 40px;font-size:1.2rem;font-weight:700;transition:all .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 5px 15px #1db9544d}.submit-button:before{content:"";z-index:1;background-color:#fff3;width:0;height:100%;transition:width .3s;position:absolute;top:0;left:0}.submit-button:hover:before{width:100%}.submit-button i{z-index:2;font-size:1.3rem}.submit-button span{z-index:2}.submit-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #1db95466}.submit-button:active{transform:translateY(1px)}.music-notes{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.music-note{color:#1db95433;opacity:0;font-size:20px;animation:8s linear infinite float-note;position:absolute}@keyframes float-note{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:.6}90%{opacity:.3}to{transform:translate(var(--move-x), var(--move-y)) rotate(var(--rotate));opacity:0}}@media (width<=900px){.form-container{margin:20px auto;padding:25px}.form-header h2{font-size:2rem}.form-section{padding:25px}.form-section h3{font-size:1.4rem}}@media (width<=768px){.form-row{flex-direction:column;gap:20px}.form-group select{padding:12px 15px}.submit-button{padding:14px 30px;font-size:1.1rem}}.footer-credit{text-align:center;color:#888;z-index:10;border-top:1px solid #ffffff1a;margin-top:30px;padding-top:15px;font-size:.9rem;position:relative}@media (width<=480px){.form-container{margin:15px auto;padding:20px}.form-header h2{font-size:1.7rem}.form-header p{font-size:1rem}.form-section{padding:20px}.form-section h3{font-size:1.3rem}.submit-button{width:100%;padding:12px;font-size:1rem}}.multi-select{height:auto;min-height:120px}.text-input{resize:vertical;background-color:#ffffffe6;border:1px solid #0000001a;border-radius:8px;width:100%;padding:10px 15px;font-size:1rem;transition:all .3s}.text-input:focus{border-color:#1db954;outline:none;box-shadow:0 0 0 2px #1db95433}@media (width<=768px){.multi-select{min-height:100px}}.checkbox-group{background-color:#1e1e1eb3;border:1px solid #50505080;border-radius:8px;flex-wrap:wrap;gap:10px;max-height:200px;margin:10px 0;padding:10px;display:flex;overflow-y:auto}.checkbox-item{background-color:#282828cc;border-radius:6px;align-items:center;min-width:calc(33.33% - 10px);padding:6px 12px;transition:background-color .3s;display:flex}.checkbox-item:hover{background-color:#323232e6}.checkbox-item input[type=checkbox]{accent-color:#1db954;cursor:pointer;width:16px;height:16px;margin-right:8px}.checkbox-item label{cursor:pointer;white-space:nowrap;margin-bottom:0;font-size:.95rem;font-weight:400}@media (width<=768px){.checkbox-item{min-width:calc(50% - 10px)}}@media (width<=480px){.checkbox-item{min-width:100%}}.submit-button:disabled{cursor:not-allowed;opacity:.7;box-shadow:none;background:linear-gradient(90deg,#666,#888);transform:none}.submit-button:disabled:hover{box-shadow:none;transform:none}.form-group.error .checkbox-group{border-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f33}.error-message{color:#ff4d4f;align-items:center;margin-top:8px;font-size:.85rem;font-weight:500;display:flex}.error-message:before{content:"⚠️";margin-right:6px;font-size:1rem}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.form-group.error .checkbox-group{animation:.6s cubic-bezier(.36,.07,.19,.97) both shake}.group-label{color:var(--text-primary);margin-bottom:10px;font-size:1.05rem;font-weight:600;transition:color .3s;display:block}.form-group:focus-within .group-label{color:#1db954}.form-missing{color:#ff8a8a;background:#e024241f;border:1px solid #e0242466;border-radius:8px;max-width:720px;margin:0 auto 16px;padding:10px 16px}.recommendation-container{max-width:1200px;margin:0 auto;padding:20px}.segment-info{background-color:#181818;border-radius:8px;margin-bottom:30px;padding:30px;box-shadow:0 4px 16px #0000004d}.segment-info h2{color:#1db954;text-align:center;margin-bottom:20px;font-size:2rem}.listener-personality{background-color:#222;border-radius:8px;align-items:flex-start;gap:20px;padding:25px;display:flex}.personality-icon{color:#1db954;background-color:#1db9541a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-size:3rem;display:flex}.personality-details{flex:1}.personality-details h3{color:#e0e0e0;margin-bottom:10px;font-size:1.5rem}.personality-details p{color:#b3b3b3;margin-bottom:15px}.personality-traits{flex-wrap:wrap;gap:10px;margin-top:15px;display:flex}.trait-tag{color:#e0e0e0;background-color:#333;border-radius:20px;align-items:center;gap:8px;padding:8px 15px;font-size:.9rem;display:inline-flex}.trait-tag i{color:#1db954}.recommendations{background-color:#181818;border-radius:8px;padding:30px;box-shadow:0 4px 16px #0000004d}.recommendations h2{color:#1db954;text-align:center;margin-bottom:25px;font-size:2rem}.recommendation-list{flex-direction:column;gap:25px;margin-bottom:30px;display:flex}.recommendation-card{background-color:#222;border:1px solid #ffffff0d;border-radius:12px;transition:all .4s;position:relative;overflow:hidden}.recommendation-card:hover{border-color:#1db9544d;transform:translateY(-5px)scale(1.02);box-shadow:0 10px 30px #00000080}.recommendation-card:before{content:"";pointer-events:none;opacity:0;background:linear-gradient(to bottom right,#1db9540d,#0000);width:100%;height:100%;transition:opacity .4s;position:absolute;top:0;left:0}.recommendation-card:hover:before{opacity:1}.podcast-info{padding:25px}.podcast-header{justify-content:space-between;align-items:flex-start;margin-bottom:15px;display:flex}.podcast-header h3{color:#fff;letter-spacing:-.5px;text-shadow:0 2px 4px #0000004d;flex:1;margin:0;font-size:1.6rem;font-weight:700;line-height:1.3}.podcast-badge{color:#000;background:linear-gradient(90deg,#1db954,#1ed760);border-radius:20px;align-items:center;margin-left:12px;padding:6px 12px;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:0 2px 10px #1db9544d}.podcast-creator{color:#1ed760;border-bottom:1px solid #ffffff1a;align-items:center;gap:10px;margin-bottom:15px;padding:8px 0;font-size:1.1rem;font-weight:500;display:flex}.podcast-creator i{color:#fff;background-color:#1db95433;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.2rem;display:flex}.podcast-description{color:#e0e0e0;margin-bottom:20px;line-height:1.6}.match-reason{color:#e0e0e0;background-color:#1db9541a;border-radius:6px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 15px;font-size:1rem;display:flex}.match-reason i{color:#1db954;font-size:1.1rem}.podcast-meta{flex-wrap:wrap;gap:15px;margin-bottom:20px;display:flex}.podcast-duration,.podcast-language,.podcast-region,.podcast-fresh,.podcast-genre{color:#b3b3b3;align-items:center;gap:8px;font-size:.9rem;display:flex}.podcast-actions{flex-wrap:wrap;gap:15px;margin-top:20px;display:flex}.podcast-link{flex:1}.spotify-link{color:#000;cursor:pointer;background-color:#1db954;border:none;border-radius:30px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 22px;font-size:1.05rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #1db9544d}.spotify-link:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .7s;position:absolute;top:0;left:-100%}.spotify-link:hover{background-color:#1ed760;text-decoration:none;transform:translateY(-2px);box-shadow:0 6px 15px #1db95466}.spotify-link:hover:before{left:100%}.spotify-link:active{transform:translateY(0);box-shadow:0 2px 8px #1db9544d}.save-button{color:#1db954;cursor:pointer;background-color:#0000;border:2px solid #1db954;border-radius:30px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:700;transition:background-color .3s,color .3s;display:inline-flex}.save-button:hover{background-color:#1db9541a}.save-button.saved{color:#1db954;background-color:#1db95426;border-color:#1db954}.save-button.saved:hover{background-color:#1db95440}.remove-button{color:#e74c3c;cursor:pointer;background-color:#0000;border:2px solid #e74c3c;border-radius:30px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:700;transition:background-color .3s,color .3s;display:inline-flex}.remove-button:hover{background-color:#e74c3c1a}.button-group{justify-content:center;gap:15px;margin-top:30px;display:flex}.reset-button,.home-button,.library-button{border-radius:30px;justify-content:center;align-items:center;gap:8px;padding:12px 25px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}.reset-button{color:#333;cursor:pointer;background-color:#e0e0e0;border:none}.reset-button:hover{background-color:#f5f5f5}.home-button{color:#e0e0e0;background-color:#0000;border:2px solid #e0e0e0}.home-button:hover{background-color:#e0e0e01a}.library-button{color:#fff;background-color:#1db954;border:none}.library-button:hover{background-color:#1ed760;text-decoration:none}@media (width<=768px){.recommendation-container{padding:10px}.segment-info,.recommendations{padding:20px}.segment-info h2,.recommendations h2{font-size:1.8rem}.listener-personality{text-align:center;flex-direction:column;align-items:center}.podcast-header{flex-direction:column;align-items:flex-start}.podcast-badge{margin-top:10px;margin-left:0}.podcast-actions{flex-direction:column}.button-group{flex-direction:column;align-items:center}.reset-button,.home-button,.library-button{width:100%;max-width:300px}}.footer-credit{text-align:center;color:#888;border-top:1px solid #ffffff1a;margin-top:30px;padding-top:15px;font-size:.9rem}.footer-credit a{color:#1db954;font-weight:600;text-decoration:none;transition:color .3s,-webkit-text-decoration .3s,text-decoration .3s}.footer-credit a:hover{color:#1ed760;text-decoration:underline}@media (width<=480px){.segment-info h2,.recommendations h2{font-size:1.5rem}.personality-icon{width:60px;height:60px;font-size:2rem}.personality-details h3,.podcast-header h3{font-size:1.3rem}.match-reason{padding:10px}}.podcast-header{gap:var(--spacing-md);align-items:center}.podcast-artwork{border-radius:var(--border-radius-sm);object-fit:cover;flex-shrink:0;width:88px;height:88px;box-shadow:0 4px 14px #0006}.podcast-heading{text-align:left;flex:1;min-width:0}.podcast-heading .podcast-creator{margin:var(--spacing-xs) 0}.verified-badge{color:var(--primary-light);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.ai-label{border-radius:var(--border-radius-pill);border:1px solid var(--glass-border);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;margin-left:6px;padding:1px 6px;font-size:.7rem;display:inline-block}.explicit-tag{background:var(--element-bg);color:var(--text-secondary);border-radius:4px;padding:1px 6px;font-size:.75rem;font-weight:700}.match-breakdown{gap:var(--spacing-xs) var(--spacing-md);margin:var(--spacing-md) 0;color:var(--text-secondary);text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));font-size:.8rem;list-style:none;display:grid}.match-breakdown li{flex-direction:column;gap:3px;display:flex}.match-bar{background:var(--element-bg);border-radius:2px;height:4px;display:block;overflow:hidden}.match-bar span{background:var(--primary);height:100%;display:block}.podcast-actions{flex-wrap:wrap;align-items:center}.podcast-actions .spotify-link,.podcast-actions .apple-link{flex:160px;width:auto;padding:10px 18px;font-size:.95rem}.apple-link{background:var(--text-primary);color:#000;transition:transform var(--animation-fast);border-radius:30px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-flex}.apple-link:hover{transform:translateY(-2px)}.mode-notice,.verification-note{max-width:720px;margin:0 auto var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);background:var(--primary-transparent);color:var(--text-secondary);font-size:.9rem}.verification-note{margin-top:var(--spacing-lg);color:var(--text-tertiary);background:0 0}@media (width<=600px){.podcast-artwork{width:64px;height:64px}.match-breakdown{grid-template-columns:1fr}}.loading-container{text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;height:70vh;padding:0 20px;display:flex;position:relative}.loading-spinner{margin-bottom:40px;position:relative}.spinner-waves{width:120px;height:120px;position:relative}.spinner-wave{box-sizing:border-box;border:3px solid #0000;border-top-color:#1db954;border-radius:50%;animation:1.2s linear infinite spin;position:absolute}.spinner-wave:first-child{border-top-color:#1db954;width:100%;height:100%;animation-delay:0s}.spinner-wave:nth-child(2){border-top-color:#20dfb0;width:80%;height:80%;animation-delay:-.2s;top:10%;left:10%}.spinner-wave:nth-child(3){border-top-color:#4adede;width:60%;height:60%;animation-delay:-.4s;top:20%;left:20%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spotify-logo-animation{color:#1db954;width:40px;height:40px;animation:2s ease-in-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.loading-text{background:linear-gradient(90deg,#1db954,#4adede);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:1.8rem;font-weight:700;animation:3s linear infinite textShimmer}@keyframes textShimmer{0%{background-position:0%}to{background-position:200%}}.loading-subtext{color:var(--text-secondary);opacity:0;max-width:500px;font-size:1.1rem;line-height:1.6;animation:.8s .3s forwards fadeInUp}.loading-progress{background-color:#ffffff1a;border-radius:4px;width:300px;height:4px;margin-top:30px;position:relative;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#1db954,#4adede);border-radius:4px;width:30%;height:100%;animation:2s infinite progressAnim;position:absolute;top:0;left:0}@keyframes progressAnim{0%{left:-30%}to{left:100%}}.loading-tags{flex-wrap:wrap;justify-content:center;gap:10px;max-width:600px;margin-top:30px;display:flex}.loading-tag{color:var(--text-secondary);opacity:0;background-color:#ffffff14;border-radius:20px;padding:6px 12px;font-size:.9rem;font-weight:500;animation:.5s forwards tagFadeIn}.loading-tag:first-child{animation-delay:.4s}.loading-tag:nth-child(2){animation-delay:.5s}.loading-tag:nth-child(3){animation-delay:.6s}.loading-tag:nth-child(4){animation-delay:.7s}.loading-tag:nth-child(5){animation-delay:.8s}.loading-tag:nth-child(6){animation-delay:.9s}@keyframes tagFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.spinner-waves{width:100px;height:100px}.spotify-logo-animation{width:30px;height:30px}.loading-text{font-size:1.5rem}.loading-subtext{font-size:1rem}.loading-progress{width:250px}}@media (width<=480px){.spinner-waves{width:80px;height:80px}.loading-text{font-size:1.3rem}.loading-subtext{font-size:.9rem}.loading-progress{width:200px}}.library-container{max-width:900px;padding:var(--spacing-lg);text-align:left;margin:0 auto}.library-header{margin-bottom:var(--spacing-xl);text-align:center}.library-header h2{margin-bottom:var(--spacing-sm);font-size:2rem}.library-header p{color:var(--text-secondary)}.library-list{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.library-card{background:var(--card-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);padding:var(--spacing-lg);transition:transform var(--animation-normal), background var(--animation-normal)}.library-card:hover{transform:var(--card-hover-transform);background:var(--card-bg-hover)}.library-card-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);display:flex}.library-card-header h3{font-size:1.2rem}.remove-button{color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs);transition:color var(--animation-fast);background:0 0;border:none;font-size:1rem}.remove-button:hover{color:#e02424}.library-creator{color:var(--text-secondary);margin:var(--spacing-sm) 0;align-items:center;gap:var(--spacing-xs);font-size:.9rem;display:flex}.library-description{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:.9rem}.library-meta{gap:var(--spacing-md);color:var(--text-tertiary);margin-bottom:var(--spacing-md);flex-wrap:wrap;font-size:.8rem;display:flex}.library-meta span{align-items:center;gap:var(--spacing-xs);display:flex}.spotify-link,.library-cta{align-items:center;gap:var(--spacing-sm);background:var(--primary);color:#000;border-radius:var(--border-radius-pill);padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer;transition:background var(--animation-fast), transform var(--animation-fast);border:none;font-weight:700;text-decoration:none;display:inline-flex}.spotify-link:hover,.library-cta:hover{background:var(--primary-light);transform:scale(1.03)}.library-empty{text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);color:var(--text-secondary)}.library-empty i{color:var(--text-tertiary);margin-bottom:var(--spacing-md);font-size:3rem}.library-empty p{margin-bottom:var(--spacing-lg)}.library-artwork{object-fit:cover;border-radius:6px;flex-shrink:0;width:48px;height:48px}.library-links{flex-wrap:wrap;gap:8px;display:flex}.library-links .apple-link{color:#000;background:#fff;border-radius:30px;align-items:center;gap:8px;padding:8px 16px;font-weight:700;text-decoration:none;display:inline-flex}.about-container{max-width:760px;padding:var(--spacing-lg);text-align:left;margin:0 auto}.about-header{text-align:center;margin-bottom:var(--spacing-xl)}.about-header h2{margin-bottom:var(--spacing-sm);font-size:2rem}.about-header p{color:var(--text-secondary)}.about-section{background:var(--card-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.about-section h3{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--primary-light);display:flex}.about-section p{color:var(--text-secondary)}.about-tech{gap:var(--spacing-sm);list-style:none;display:grid}.about-tech li{color:var(--text-secondary)}.about-tech li span{min-width:90px;color:var(--text-primary);font-weight:700;display:inline-block}.about-footer{text-align:center;margin-top:var(--spacing-xl)}.about-cta{align-items:center;gap:var(--spacing-sm);background:var(--primary);color:#000;border-radius:var(--border-radius-pill);padding:var(--spacing-sm) var(--spacing-lg);transition:background var(--animation-fast), transform var(--animation-fast);font-weight:700;text-decoration:none;display:inline-flex}.about-cta:hover{background:var(--primary-light);transform:scale(1.03)}.about-credit{margin-top:var(--spacing-lg);color:var(--text-tertiary);font-size:.9rem}.about-credit a{color:var(--primary-light);text-decoration:none}.about-credit a:hover{text-decoration:underline}:root{--primary:#1db954;--primary-dark:#1aa34a;--primary-light:#1ed760;--primary-transparent:#1db9541a;--dark-bg:#121212;--card-bg:#181818;--card-bg-hover:#282828;--element-bg:#333;--text-primary:#fff;--text-secondary:#b3b3b3;--text-tertiary:#727272;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--border-radius-pill:500px;--animation-fast:.2s;--animation-normal:.3s;--animation-slow:.5s;--glass-bg:#181818b3;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px #0000004d;--neu-shadow:5px 5px 10px #00000080, -5px -5px 10px #ffffff0d;--card-hover-transform:translateY(-5px)}.App{text-align:center;background-color:var(--dark-bg);min-height:100vh;color:var(--text-primary);flex-direction:column;font-family:Circular,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;display:flex;overflow-x:hidden}main{padding:var(--spacing-xl);background:linear-gradient(180deg, #0f0f0f 0%, var(--dark-bg) 100%);color:var(--text-primary);z-index:1;flex:1;position:relative}.error-banner{max-width:720px;margin:0 auto var(--spacing-lg);align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--border-radius-sm);color:#ff8a8a;text-align:left;background:#e024241f;border:1px solid #e0242466;display:flex}.ambient-bg{z-index:0;opacity:.3;pointer-events:none;mix-blend-mode:screen;width:100%;height:100%;position:fixed;top:0;left:0}.ambient-circle{filter:blur(90px);border-radius:50%;position:absolute}.ambient-circle-1{background:radial-gradient(circle,#1db9544d 0%,#0000 70%);width:50vw;height:50vw;animation:25s ease-in-out infinite alternate float;top:-10vh;left:-5vw}.ambient-circle-2{background:radial-gradient(circle,#1e32644d 0%,#0000 70%);width:40vw;height:40vw;animation:20s ease-in-out infinite alternate-reverse float;bottom:-10vh;right:-5vw}@keyframes float{0%{transform:translate(0)}to{transform:translate(5%,5%)}}h1,h2,h3,h4,h5,h6{margin-top:0;font-weight:700;line-height:1.2}h1{letter-spacing:-.5px;margin-bottom:var(--spacing-lg);font-size:2.5rem}h2{letter-spacing:-.3px;margin-bottom:var(--spacing-md);font-size:2rem}h3{letter-spacing:-.2px;margin-bottom:var(--spacing-md);font-size:1.5rem}p{margin-bottom:var(--spacing-md);line-height:1.6}.text-gradient{background:linear-gradient(90deg, var(--primary) 0%, #4acdff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}a{color:var(--primary);transition:all var(--animation-normal) ease;text-decoration:none;position:relative}a:hover{color:var(--primary-light)}a.underline-animation:after{content:"";background-color:var(--primary);width:0;height:2px;transition:width var(--animation-normal) ease;position:absolute;bottom:-2px;left:0}a.underline-animation:hover:after{width:100%}button,.button{background-color:var(--primary);color:#000;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-pill);cursor:pointer;transition:all var(--animation-normal) cubic-bezier(.25, 1, .5, 1);justify-content:center;align-items:center;gap:var(--spacing-sm);z-index:1;border:none;font-weight:600;display:inline-flex;position:relative;overflow:hidden}button:before,.button:before{content:"";width:0;height:100%;transition:width var(--animation-fast) ease;z-index:-1;background-color:#fff3;position:absolute;top:0;left:0}button:hover:before,.button:hover:before{width:100%}button.outlined,.button.outlined{border:2px solid var(--primary);color:var(--primary);background-color:#0000}button.outlined:hover,.button.outlined:hover{background-color:var(--primary-transparent)}button:active,.button:active{transform:scale(.97)}button i,.button i{font-size:1.15em}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow);transition:transform var(--animation-normal) ease, box-shadow var(--animation-normal) ease}.glass-card:hover{transform:var(--card-hover-transform);box-shadow:0 12px 32px #0006}.neu-element{background-color:var(--card-bg);border-radius:var(--border-radius-md);box-shadow:var(--neu-shadow);transition:transform var(--animation-normal) ease, box-shadow var(--animation-normal) ease}.neu-element:hover{transform:translateY(-2px)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--dark-bg)}::-webkit-scrollbar-thumb{background:var(--element-bg);border-radius:var(--border-radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.container{width:100%;max-width:1400px;padding:0 var(--spacing-xl);margin:0 auto}.flex-layout{gap:var(--spacing-lg);display:flex}.flex-column{flex-direction:column}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between;align-items:center}.grid-layout{gap:var(--spacing-lg);display:grid}.grid-2-col{grid-template-columns:repeat(2,1fr)}.grid-3-col{grid-template-columns:repeat(3,1fr)}.fade-in{animation:fadeIn var(--animation-normal) ease-out forwards}.pulse{animation:2s ease-in-out infinite pulse}@media (width<=1200px){.container{max-width:100%;padding:0 var(--spacing-lg)}.grid-3-col{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){main{padding:var(--spacing-lg)}h1{font-size:2.2rem}h2{font-size:1.8rem}h3{font-size:1.3rem}}@media (width<=768px){.container{padding:0 var(--spacing-md)}.grid-2-col,.grid-3-col{grid-template-columns:1fr}main{padding:var(--spacing-md)}}@media (width<=480px){.flex-layout{flex-direction:column}h1{font-size:1.8rem}h2{font-size:1.5rem}h3{font-size:1.2rem}button,.button{width:100%}}.retry-button{border-radius:var(--border-radius-pill);border:1px solid var(--glass-border);background:var(--element-bg);color:var(--text-primary);cursor:pointer;margin-left:auto;padding:6px 14px}
