:root{--bg-dark:#0c0913;--bg-card:#151121;--bg-card-hover:#1c172b;--bg-surface:rgba(26,21,38,.7);--bg-glass:rgba(30,24,45,.55);--brand-violet:#6b2bff;--brand-pink:#ff2e78;--brand-amber:#ffa53a;--brand-grab:#ff6a95;--gradient-brand:linear-gradient(135deg,#ffa53a,#ff2e78 50%,#6b2bff);--gradient-glow:linear-gradient(135deg,rgba(255,165,58,.25),rgba(255,46,120,.25) 50%,rgba(107,43,255,.25));--gradient-button:linear-gradient(135deg,#ff2e78,#893dfc);--gradient-button-hover:linear-gradient(135deg,#ff4d8d,#9e5eff);--text-main:#f5f3f8;--text-muted:#9e97af;--text-dim:#6d6682;--border-color:hsla(0,0%,100%,.08);--border-focus:rgba(255,46,120,.5);--border-glow:rgba(107,43,255,.4);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--font-heading:"Sora",sans-serif;--font-body:"Plus Jakarta Sans",sans-serif;--shadow-sm:0 4px 12px rgba(0,0,0,.25);--shadow-md:0 8px 30px rgba(0,0,0,.4);--shadow-glow:0 0 35px rgba(255,46,120,.2),0 0 70px rgba(107,43,255,.15)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-body);min-height:100vh;min-height:100dvh;overflow-x:hidden;position:relative;-webkit-font-smoothing:antialiased}.ambient-glow{position:fixed;top:0;left:0;right:0;height:600px;pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 15%,rgba(255,46,120,.14) 0,transparent 45%),radial-gradient(circle at 80% 20%,rgba(107,43,255,.18) 0,transparent 50%),radial-gradient(circle at 50% 35%,rgba(255,165,58,.08) 0,transparent 40%)}.app-wrapper{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:0 16px env(safe-area-inset-bottom,24px);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.header{justify-content:space-between;padding:max(16px,env(safe-area-inset-top)) 0 16px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.header,.logo-container{display:flex;align-items:center}.logo-container{gap:10px;text-decoration:none;cursor:pointer}.logo-icon{width:36px;height:36px;border-radius:10px;box-shadow:0 4px 14px rgba(255,46,120,.35);display:block}.logo-text{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;letter-spacing:-.03em;color:#fff;display:flex;align-items:center}.logo-text-gradient{background:linear-gradient(135deg,#ff2e78,#ffa53a);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-actions{gap:8px}.btn-icon,.header-actions{display:flex;align-items:center}.btn-icon{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-main);width:40px;height:40px;border-radius:var(--radius-md);justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-icon:hover{background:var(--bg-card-hover);border-color:hsla(0,0%,100%,.2);transform:translateY(-1px)}.btn-icon:active{transform:scale(.95)}.btn-install-header{display:flex;align-items:center;gap:6px;background:rgba(255,46,120,.12);border:1px solid rgba(255,46,120,.3);color:#ff85ab;padding:8px 14px;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-install-header:hover{background:rgba(255,46,120,.22);border-color:rgba(255,46,120,.5)}.shared-link-banner{background:var(--gradient-glow);border:1px solid var(--border-glow);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:slideDown .3s cubic-bezier(.16,1,.3,1)}.shared-link-info{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500}.shared-link-btn{background:#fff;color:var(--bg-dark);border:none;font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap}.hero{text-align:center;margin-bottom:28px}.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(107,43,255,.14);border:1px solid rgba(107,43,255,.3);color:#bfa1ff;font-size:.8rem;font-weight:600;padding:5px 12px;border-radius:var(--radius-full);margin-bottom:12px}.hero-title{font-family:var(--font-heading);font-size:2.1rem;font-weight:800;line-height:1.15;letter-spacing:-.04em;margin-bottom:10px}.hero-title span{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{color:var(--text-muted);font-size:.95rem;line-height:1.5;max-width:440px;margin:0 auto}.input-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:8px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin-bottom:24px;transition:all .25s ease}.input-card:focus-within{border-color:var(--border-focus);box-shadow:var(--shadow-glow)}.input-row{display:flex;align-items:center;position:relative}.input-icon{position:absolute;left:14px;color:var(--text-dim);pointer-events:none}.input-field{width:100%;background:transparent;border:none;color:#fff;font-size:.95rem;font-family:var(--font-body);padding:14px 44px;outline:none}.input-field::placeholder{color:var(--text-dim)}.btn-clear{position:absolute;right:12px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.btn-clear:hover{color:var(--text-main)}.input-actions{gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid hsla(0,0%,100%,.05)}.btn-paste,.input-actions{display:flex;align-items:center}.btn-paste{justify-content:center;gap:6px;background:hsla(0,0%,100%,.05);border:1px solid var(--border-color);color:var(--text-main);padding:10px 16px;border-radius:var(--radius-md);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-paste:hover{background:hsla(0,0%,100%,.1)}.btn-grab{flex:1 1;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--gradient-button);color:#fff;border:none;padding:12px 20px;border-radius:var(--radius-md);font-family:var(--font-heading);font-size:.95rem;font-weight:700;letter-spacing:-.02em;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 16px rgba(255,46,120,.35)}.btn-grab:hover:not(:disabled){background:var(--gradient-button-hover);box-shadow:0 6px 22px rgba(255,46,120,.5);transform:translateY(-1px)}.btn-grab:active:not(:disabled){transform:scale(.98)}.btn-grab:disabled{opacity:.6;cursor:not-allowed}.clipboard-toast{background:var(--bg-card);border:1px solid var(--brand-pink);box-shadow:0 8px 30px rgba(255,46,120,.3);border-radius:var(--radius-full);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;animation:bounceIn .3s cubic-bezier(.16,1,.3,1);cursor:pointer}.clipboard-toast-text{font-size:.85rem;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clipboard-toast-btn{background:var(--brand-pink);color:#fff;border:none;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full)}.loading-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:40px 20px;text-align:center;margin-bottom:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.spinner{width:48px;height:48px;border-left:3px solid hsla(0,0%,100%,.1);border-bottom:3px solid hsla(0,0%,100%,.1);border-top:3px solid hsla(0,0%,100%,.1);border-top-color:var(--brand-pink);border-right:3px solid hsla(0,0%,100%,.1);border-right-color:var(--brand-violet);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.loading-text{font-size:1rem;font-weight:600;margin-bottom:4px}.loading-subtext{font-size:.85rem;color:var(--text-muted)}.error-box{background:rgba(255,46,80,.08);border:1px solid rgba(255,46,80,.3);border-radius:var(--radius-md);padding:16px;margin-bottom:24px;display:flex;align-items:flex-start;gap:12px}.error-title{font-weight:700;font-size:.95rem;color:#ff6b8b;margin-bottom:4px}.error-message{font-size:.85rem;color:#e0d0d8;line-height:1.45}.error-action{margin-top:10px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,46,80,.2);border:1px solid rgba(255,46,80,.4);color:#ff99b0;padding:6px 12px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer}.result-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:30px;animation:fadeIn .4s ease}.result-header{justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:hsla(0,0%,100%,.02)}.result-author,.result-header{display:flex;align-items:center}.result-author{gap:12px}.author-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--bg-surface);border:2px solid var(--brand-pink)}.author-username{font-weight:700;font-size:.95rem;color:#fff}.author-link{font-size:.75rem;color:var(--brand-grab);text-decoration:none;display:flex;align-items:center;gap:3px}.media-badge{background:rgba(107,43,255,.2);border:1px solid rgba(107,43,255,.4);color:#c7aeff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.media-preview-area{position:relative;background:#000;min-height:280px;max-height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-image,.media-video{width:100%;max-height:520px;display:block;object-fit:contain}.carousel-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.65);color:#fff;border:1px solid hsla(0,0%,100%,.2);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.carousel-prev{left:12px}.carousel-next{right:12px}.carousel-indicator{position:absolute;bottom:12px;background:rgba(0,0,0,.75);color:#fff;padding:4px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.result-body{padding:18px 20px}.result-caption{font-size:.9rem;color:var(--text-main);line-height:1.5;margin-bottom:18px;word-break:break-word}.result-caption.collapsed{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.btn-caption-toggle{background:transparent;border:none;color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;margin-top:4px}.result-buttons{display:flex;flex-direction:column;gap:10px}.btn-download-primary{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--gradient-brand);color:#fff;padding:14px 20px;border-radius:var(--radius-md);font-family:var(--font-heading);font-size:1rem;font-weight:700;text-decoration:none;box-shadow:0 6px 20px rgba(255,46,120,.4);cursor:pointer;transition:all .2s ease;border:none;width:100%}.btn-download-primary:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(255,46,120,.55)}.btn-download-primary:active{transform:scale(.98)}.btn-download-primary:disabled{opacity:.75;cursor:wait;transform:none!important}.download-progress-card{background:rgba(23,19,31,.9);border:1px solid rgba(255,46,120,.4);border-radius:var(--radius-md);padding:14px 16px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px rgba(0,0,0,.45),0 0 20px rgba(255,46,120,.15);animation:fadeIn .25s ease-out}.download-progress-card.status-completed{border-color:rgba(34,197,94,.6);box-shadow:0 8px 32px rgba(0,0,0,.45),0 0 20px rgba(34,197,94,.25)}.download-progress-card.status-error{border-color:rgba(239,68,68,.6);box-shadow:0 8px 32px rgba(0,0,0,.45),0 0 20px rgba(239,68,68,.25)}.progress-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.progress-info{display:flex;align-items:center;gap:8px;min-width:0}.progress-spinner{color:var(--brand-pink);flex-shrink:0;animation:spin .8s linear infinite}.progress-icon-success{color:#22c55e;flex-shrink:0}.progress-icon-error{color:#ef4444;flex-shrink:0}.progress-title{font-size:.88rem;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-percentage-badge{font-size:.8rem;font-weight:700;color:#fff;background:var(--gradient-brand);padding:2px 8px;border-radius:var(--radius-full);font-family:var(--font-heading)}.progress-track{width:100%;height:8px;background:hsla(0,0%,100%,.08);margin-bottom:8px}.progress-fill,.progress-track{border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--gradient-brand);box-shadow:0 0 12px rgba(255,46,120,.5)}.download-progress-card.status-completed .progress-fill{background:linear-gradient(90deg,#10b981,#22c55e);box-shadow:0 0 12px rgba(34,197,94,.6)}.progress-shimmer{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.35) 50%,transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-footer{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--text-muted)}.progress-live-pulse{display:inline-flex;align-items:center;gap:5px;color:var(--brand-amber);font-weight:600}.progress-live-pulse:before{content:"";width:6px;height:6px;background:var(--brand-amber);border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.result-secondary-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.btn-action-secondary{display:flex;align-items:center;justify-content:center;gap:6px;background:hsla(0,0%,100%,.05);border:1px solid var(--border-color);color:var(--text-main);padding:11px 14px;border-radius:var(--radius-md);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-action-secondary:hover{background:hsla(0,0%,100%,.1)}.carousel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:8px;gap:8px;margin-top:14px}.carousel-thumb-item{position:relative;aspect-ratio:1/1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color);cursor:pointer}.carousel-thumb-item.active{border:2px solid var(--brand-pink)}.carousel-thumb-img{width:100%;height:100%;object-fit:cover}.carousel-thumb-badge{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.7);color:#fff;font-size:.65rem;padding:2px 5px;border-radius:4px}.guide-section{margin-top:10px;margin-bottom:30px}.guide-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px}.guide-steps{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media (min-width:500px){.guide-steps{grid-template-columns:repeat(3,1fr)}}.step-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;transition:all .2s ease}.step-card:hover{border-color:hsla(0,0%,100%,.15);transform:translateY(-2px)}.step-number{width:28px;height:28px;border-radius:8px;background:var(--gradient-brand);color:#fff;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.step-header{font-weight:700;font-size:.92rem;margin-bottom:4px;color:#fff}.step-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}.history-section{margin-top:20px;margin-bottom:40px}.history-header{justify-content:space-between;margin-bottom:12px}.history-header,.history-title{display:flex;align-items:center}.history-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;gap:8px}.history-clear{background:transparent;border:none;color:var(--text-dim);font-size:.8rem;cursor:pointer}.history-clear:hover{color:#ff6b8b}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:all .2s ease}.history-item:hover{background:var(--bg-card-hover)}.history-item-left{display:flex;align-items:center;gap:10px;min-width:0}.history-thumb{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;background:var(--bg-surface);flex-shrink:0}.history-meta{min-width:0}.history-author{font-size:.85rem;font-weight:700;color:#fff}.history-date{font-size:.75rem;color:var(--text-dim)}.history-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:24px;position:relative;box-shadow:var(--shadow-md);max-height:90vh;overflow-y:auto}.modal-header{justify-content:space-between;margin-bottom:18px}.modal-header,.modal-title{display:flex;align-items:center}.modal-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;gap:8px}.modal-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px}.modal-close:hover{color:#fff}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-main);margin-bottom:6px}.form-hint{font-size:.78rem;color:var(--text-dim);margin-top:4px;line-height:1.4}.form-input{width:100%;background:var(--bg-surface);border:1px solid var(--border-color);color:#fff;padding:10px 14px;border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body);outline:none}.form-input:focus{border-color:var(--brand-pink)}.btn-save-settings{background:var(--gradient-brand);color:#fff;border:none;padding:12px;border-radius:var(--radius-md);font-family:var(--font-heading);font-weight:700;width:100%;cursor:pointer;margin-top:10px}.footer{margin-top:auto;padding-top:30px;padding-bottom:20px;text-align:center;font-size:.8rem;color:var(--text-dim);border-top:1px solid var(--border-color)}.footer a{color:var(--text-muted);text-decoration:none}.footer a:hover{color:#fff}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.9)}70%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}