:root{--color-bg-primary: #0a0a0f;--color-bg-secondary: #151520;--color-bg-tertiary: #1f1f2e;--color-bg-elevated: #2a2a3c;--glass-bg: rgba(31, 31, 46, .7);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--color-primary: #6366f1;--color-primary-hover: #7c3aed;--color-secondary: #ec4899;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #64748b;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #ec4899 100%);--gradient-overlay: linear-gradient(180deg, transparent 0%, rgba(10, 10, 15, .8) 100%);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-elevated);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}.glass-card{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:all var(--transition-base)}.glass-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000080;border-color:#ffffff26}.btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--spacing-sm);text-decoration:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary)}.btn-icon{padding:var(--spacing-sm);border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--color-bg-elevated);color:var(--color-primary)}.input{width:100%;padding:var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1rem;transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.input::placeholder{color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-primary{background:#6366f133;color:#a5b4fc}.badge-success{background:#10b98133;color:#6ee7b7}.badge-warning{background:#f59e0b33;color:#fcd34d}.badge-danger{background:#ef444433;color:#fca5a5}.progress-bar{width:100%;height:4px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width var(--transition-base)}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base) ease-out}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podcast-library{padding:var(--spacing-xl)}.library-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.library-header>div{display:flex;align-items:center;gap:var(--spacing-md)}.podcast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.podcast-card{cursor:pointer;overflow:hidden;position:relative;min-height:200px;display:flex;flex-direction:column}.podcast-thumbnail{position:relative;width:100%;height:160px;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:-1px -1px 0}.podcast-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.podcast-card:hover .podcast-thumbnail img{transform:scale(1.05)}.podcast-overlay{position:absolute;bottom:0;left:0;right:0;height:50%;background:var(--gradient-overlay)}.podcast-info{padding:var(--spacing-md);flex:1}.podcast-title{font-size:1.125rem;margin-bottom:var(--spacing-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.podcast-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-state{text-align:center;padding:var(--spacing-2xl);margin-top:var(--spacing-2xl)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state h3{margin-bottom:var(--spacing-sm)}.episode-list{padding:var(--spacing-xl);max-width:900px;margin:0 auto}.episode-list-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.episode-list-header>div:nth-child(2){flex:1}.btn-sort{white-space:nowrap;font-size:.875rem}.filter-section{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.filter-input{flex:1;font-size:.875rem}.filter-section .btn-icon{font-size:1.5rem}.episode-list-header h2{margin-bottom:var(--spacing-xs)}.episodes{display:flex;flex-direction:column;gap:var(--spacing-md)}.episode-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-base)}.episode-item:hover{transform:translate(4px)}.episode-thumbnail{position:relative;width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:var(--color-bg-tertiary)}.episode-thumbnail img{width:100%;height:100%;object-fit:cover}.play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast)}.episode-item:hover .play-overlay{opacity:1}.episode-actions .btn-icon{opacity:.7;transition:opacity var(--transition-base)}.episode-actions .btn-icon:hover{opacity:1}.episode-actions .btn-delete:hover{color:var(--error)}.play-icon{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem}.episode-info{flex:1;min-width:0}.episode-title{font-size:1rem;margin-bottom:var(--spacing-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.episode-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.episode-actions{display:flex;gap:var(--spacing-sm)}.download-progress{display:flex;align-items:center;gap:var(--spacing-sm);min-width:120px}.progress-bar{flex:1;height:8px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);transition:width .3s ease}.progress-text{font-size:.75rem;font-weight:600;color:var(--color-primary);min-width:32px;text-align:center}.audio-player-controls{position:fixed;bottom:var(--spacing-lg);left:var(--spacing-lg);right:var(--spacing-lg);padding:var(--spacing-lg);z-index:1000;display:flex;align-items:center;gap:var(--spacing-lg);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.player-episode-info{display:flex;align-items:center;gap:var(--spacing-md);min-width:250px}.player-thumbnail{width:60px;height:60px;border-radius:var(--radius-md);object-fit:cover}.player-text-info{flex:1;min-width:0}.player-title{font-size:.875rem;margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-controls-section{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md)}.progress-container{cursor:pointer;padding:var(--spacing-md) 0;position:relative}.progress-container:hover .progress-bar{height:8px}.progress-bar{height:6px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:visible;position:relative;transition:height .2s ease}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);position:relative;transition:all .1s ease}.progress-fill:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--color-primary);border-radius:50%;opacity:0;transition:opacity .2s ease;box-shadow:0 2px 4px #0003}.progress-container:hover .progress-fill:after{opacity:1}.player-buttons{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg)}.player-play-btn{width:48px;height:48px;background:var(--gradient-primary);color:#fff;font-size:1.25rem;box-shadow:0 4px 12px #6366f14d}.player-play-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #6366f166}.volume-control{display:flex;align-items:center;gap:var(--spacing-sm)}.volume-slider{width:100px;height:4px;border-radius:var(--radius-full);background:var(--color-bg-tertiary);outline:none;-webkit-appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;transition:all var(--transition-fast)}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{width:14px;height:14px;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;border:none}@media(max-width:768px){.audio-player-controls{flex-direction:column;align-items:stretch}.player-episode-info{min-width:auto}.volume-control{display:none}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn var(--transition-base)}.dialog{width:90%;max-width:500px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--glass-border)}.dialog-header h3{margin:0}.dialog-header .btn-icon{font-size:1.5rem;width:32px;height:32px}.dialog-body{padding:var(--spacing-lg)}.dialog-body label{display:block;margin-bottom:var(--spacing-sm)}.dialog-body .input{margin-bottom:var(--spacing-md)}.error-message{color:var(--color-danger);font-size:.875rem;margin-top:var(--spacing-sm)}.dialog-footer{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg);border-top:1px solid var(--glass-border)}.app{min-height:100vh;display:flex;flex-direction:column;padding-bottom:120px}.app-header{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.header-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.offline-banner{background:linear-gradient(135deg,#ffc10733,#ff980033);border:1px solid rgba(255,193,7,.3);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem;color:#ffc107;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.header-left{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.app-title{display:flex;align-items:center;gap:var(--spacing-md);margin:0;font-size:1.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(99,102,241,.3))}.header-right{display:flex;gap:var(--spacing-md);align-items:center}.app-main{flex:1;overflow-y:auto}@media(max-width:768px){.app{padding-bottom:180px}.app-header{margin:var(--spacing-sm);margin-bottom:0}.header-content{padding:var(--spacing-md)}.app-title{font-size:1.25rem}.app-icon{font-size:1.5rem}}
