*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#4facfe 75%,#00f2fe);background-size:400% 400%;animation:gradientShift 15s ease infinite;color:#333;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,hsla(0,0%,100%,.03) 0,hsla(0,0%,100%,.03) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,hsla(0,0%,100%,.03) 0,hsla(0,0%,100%,.03) 4px);pointer-events:none;z-index:0}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.container{max-width:600px;margin:0 auto}.container,.fullscreen-container{padding:2rem 1rem;position:relative;z-index:1}.fullscreen-container{min-height:100vh;display:flex;align-items:center;justify-content:center}.card{background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 8px 32px rgba(0,0,0,.1);margin-bottom:1.5rem}h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle,h1{text-align:center}.subtitle{color:#666;margin-bottom:2rem;font-size:1rem}.input-group{margin-bottom:1.5rem}label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.9rem}input[type=text],textarea{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;transition:border-color .2s;font-family:inherit}input[type=text]:focus,textarea:focus{outline:none;border-color:#667eea}textarea{min-height:100px;resize:vertical}.button-group{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}button{padding:1rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:.5rem}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.btn-service{background:#fff;color:#333;border:2px solid #e0e0e0}.btn-service:hover:not(:disabled){border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.btn-service.apple{border-color:#fa243c}.btn-service.apple:hover:not(:disabled){background:#fa243c;color:#fff}.btn-service.spotify{border-color:#1db954}.btn-service.spotify:hover:not(:disabled){background:#1db954;color:#fff}.btn-service.ytm{border-color:red}.btn-service.ytm:hover:not(:disabled){background:red;color:#fff}.metadata{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.metadata-item{margin-bottom:.5rem;font-size:.9rem}.metadata-label{font-weight:600;color:#666;display:inline-block;min-width:80px}.metadata-value{color:#333}.service-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-left:.5rem}.service-badge.spotify{background:#1db954;color:#fff}.service-badge.apple{background:#fa243c;color:#fff}.service-badge.youtube,.service-badge.ytm{background:red;color:#fff}.toggle-group{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.9rem}input[type=checkbox]{width:20px;height:20px;cursor:pointer}.error{background:#fee;color:#c33;padding:1rem;border-radius:12px;margin-top:1rem;border:1px solid #fcc}.loading{text-align:center;padding:2rem;color:#666}.spinner{border:3px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.category-pill{display:inline-block;padding:.5rem 1rem;border-radius:20px;background:rgba(102,126,234,.1);color:#667eea;font-size:.875rem;font-weight:600;margin:.5rem 0}.drawer{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:20px 20px 0 0;padding:2rem;box-shadow:0 -4px 20px rgba(0,0,0,.1);transform:translateY(100%);transition:transform .3s ease;z-index:100;max-height:80vh;overflow-y:auto}.drawer.open{transform:translateY(0)}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s ease}.drawer-overlay.open{opacity:1;pointer-events:all}.category-chips{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.category-chip{padding:.75rem 1.5rem;border:2px solid #e0e0e0;border-radius:25px;background:#fff;cursor:pointer;transition:all .2s;font-weight:500}.category-chip:hover{border-color:#667eea;background:rgba(102,126,234,.05)}.category-chip.active{border-color:#667eea;background:#667eea;color:#fff}.category-chip.disabled{opacity:.5;cursor:not-allowed}.btn-more-subs{background:transparent;border:1px solid hsla(0,0%,100%,.3);color:hsla(0,0%,100%,.9);padding:.5rem 1rem;font-size:.875rem;margin-top:1rem}.btn-more-subs:hover:not(:disabled){background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.5)}.btn-copy-link{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);color:#fff;padding:.75rem 1.5rem;font-size:.9rem;margin-top:.5rem}.btn-copy-link:hover:not(:disabled){background:hsla(0,0%,100%,.3)}.search-badge{display:inline-block;font-size:.75rem;color:#666;margin-left:.5rem;font-style:italic}.debug-toggle{margin-top:1rem;padding:.75rem;background:#f5f5f5;border-radius:8px;cursor:pointer;font-size:.875rem;color:#666}.debug-content{margin-top:.5rem;padding:1rem;background:#f9f9f9;border-radius:8px;font-family:monospace;font-size:.8rem;max-height:200px;overflow-y:auto}.debug-step{margin-bottom:.25rem;color:#555}@media (max-width:640px){.container{padding:1rem}h1{font-size:2rem}.card{padding:1.5rem}.fullscreen-container{padding:1rem}}