:root{--primary:#009739;--secondary:#fedd00;--accent:#007a2e;--accent-color:var(--accent);--accent-primary:var(--accent-color);--color-primary:var(--primary);--primary-color:var(--primary);--primary-hover:color-mix(in srgb, var(--primary) 88%, black);--primary-bg:color-mix(in srgb, var(--primary) 12%, var(--bg-secondary));--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--bg-tertiary:#3a3a3a;--bg-hover:#343434;--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--text-tertiary:#8c8c8c;--text-dim:#808080;--text-success:var(--success);--text-warning:var(--warning);--border-color:#444;--border-primary:color-mix(in srgb, var(--border-color) 80%, transparent);--success:#27ae60;--error:#e74c3c;--warning:#f39c12;--info:#3498db;--success-bg:color-mix(in srgb, var(--success) 12%, var(--bg-secondary));--warning-bg:color-mix(in srgb, var(--warning) 12%, var(--bg-secondary));--info-bg:color-mix(in srgb, var(--info) 12%, var(--bg-secondary));--error-bg:color-mix(in srgb, var(--error) 12%, var(--bg-secondary));--radius-sm:6px;--radius-md:10px;--touch-target:44px;--spacing-xs:2px;--spacing-sm:4px;--spacing-md:8px;--spacing-lg:12px;--spacing-xl:16px;--app-header-height:var(--touch-target);--app-nav-height:calc(
    var(--touch-target) + (var(--spacing-xs) * 2) + var(--app-safe-bottom)
  );--app-breadcrumb-height:40px;--app-safe-bottom:env(safe-area-inset-bottom, 0px);--app-viewport-height:100vh;--font-base:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", Monaco, "Cascadia Code", monospace;--transition-fast:150ms ease-out;--transition-normal:300ms ease-out;--z-header:100;--z-nav:200;--z-modal:1000;--z-toast:1100}@supports(height:100svh){:root{--app-viewport-height:100svh}}@supports(height:100dvh){:root{--app-viewport-height:100dvh}}@media(prefers-color-scheme:light){:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#e0e0e0;--bg-hover:#f2f2f2;--text-primary:#1a1a1a;--text-secondary:#666;--text-tertiary:#7a7a7a;--text-dim:#999;--border-color:#ddd}}html.light-theme{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#e0e0e0;--bg-hover:#f2f2f2;--text-primary:#1a1a1a;--text-secondary:#666;--text-tertiary:#7a7a7a;--text-dim:#999;--border-color:#ddd}html.dark-theme{--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--bg-tertiary:#3a3a3a;--bg-hover:#343434;--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--text-tertiary:#8c8c8c;--text-dim:#808080;--border-color:#444}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-text-size-adjust:100%;touch-action:manipulation}body{margin:0;padding:0;font-family:var(--font-base);font-size:1rem;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.modal-open{overflow:hidden;overscroll-behavior-x:none}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative}.app-header{position:sticky;top:0;z-index:var(--z-header);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--spacing-sm)var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);min-height:var(--touch-target)}.app-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);text-decoration:none}.header-actions{display:flex;gap:var(--spacing-sm);position:relative;margin-left:auto}.app-main{padding-bottom:var(--spacing-md)}.tab-content{padding:var(--spacing-md);display:none}.tab-content.active{display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc( var(--app-viewport-height) - var(--app-header-height) - var(--app-nav-height) )}.tab-content:focus-visible{outline:none}body.has-breadcrumb .tab-content.active{max-height:calc( var(--app-viewport-height) - var(--app-header-height) - var(--app-nav-height) - var(--app-breadcrumb-height) )}.app-nav{position:fixed;bottom:0;left:0;right:0;z-index:80;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:space-around;padding:var(--spacing-xs)0 calc(var(--spacing-xs) + var(--app-safe-bottom));transition:transform var(--transition-normal)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:var(--touch-target);padding:var(--spacing-xs);text-decoration:none;color:var(--text-secondary);font-size:.75rem;transition:color var(--transition-fast);cursor:pointer;position:relative;background:0 0;border:none;font-family:inherit}.nav-item.active{color:var(--primary)}.nav-item:active{transform:scale(.95)}.nav-icon{width:24px;height:24px;margin-bottom:2px;fill:currentColor}.breadcrumb{position:sticky;top:calc( var(--touch-target) + var(--spacing-sm) * 2 + 1px );z-index:90;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm)var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow:hidden;white-space:nowrap;height:32px}.breadcrumb-item{color:var(--text-secondary);text-decoration:none;padding:var(--spacing-xs)var(--spacing-sm);border-radius:4px;transition:background var(--transition-fast)}.breadcrumb-item:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-item:active{background:var(--bg-tertiary)}.breadcrumb-separator{color:var(--text-dim);font-size:.875rem}.item-count{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--text-secondary);font-size:.875rem}.item-count .count-number{color:var(--text-primary);font-weight:500}.item-count .sort-btn,.item-count .action-btn{min-height:var(--touch-target);min-width:var(--touch-target)}#item-count #edit-folder-btn{padding:var(--spacing-sm)var(--spacing-lg);border-radius:6px}#item-count #edit-folder-btn svg{fill:currentColor}.sort-btn{display:flex;align-items:center;gap:6px;padding:var(--spacing-sm)var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.sort-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sort-btn svg{fill:currentColor}.reupload-sortable{cursor:pointer;user-select:none}.reupload-sortable .sort-indicator{display:inline-block;margin-left:6px;color:var(--text-muted);font-size:.75rem}.file-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.file-item{background:var(--bg-secondary);border-radius:8px;padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);text-decoration:none;color:var(--text-primary);transition:all var(--transition-fast);position:relative;min-height:var(--touch-target)}.file-item:active{background:var(--bg-tertiary);transform:scale(.98)}.file-icon{width:40px;height:40px;flex-shrink:0;position:relative}.position-badge{position:absolute;top:-6px;left:-6px;padding:2px 6px;font-size:.65rem;font-weight:700;border-radius:10px;z-index:1;box-shadow:0 2px 4px rgba(0,0,0,.3);white-space:nowrap;line-height:1.2}.position-badge-gold{background:linear-gradient(135deg,#ffd700 0%,#ffa500 100%);color:#000;text-shadow:0 0 2px rgba(255,255,255,.5)}.position-badge-silver{background:linear-gradient(135deg,#c0c0c0 0%,#a8a8a8 100%);color:#000;text-shadow:0 0 2px rgba(255,255,255,.5)}.position-badge-bronze{background:linear-gradient(135deg,#cd7f32 0%,#b8860b 100%);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.position-badge-default{background:rgba(0,0,0,.85);color:#fff}.file-info{flex:1;min-width:0}.file-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorite-btn{background:0 0;border:none;padding:var(--spacing-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);border-radius:50%;display:flex;align-items:center;justify-content:center}.favorite-btn:hover{background:var(--bg-tertiary);color:var(--secondary)}.favorite-icon{width:20px;height:20px;fill:currentColor}.favorite-btn.is-favorited{color:var(--secondary)}.favorite-btn.is-favorited .favorite-icon{fill:var(--secondary)}.favorites-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.favorites-title{font-size:1.25rem;font-weight:600;margin:0}.favorites-empty{text-align:center;padding:var(--spacing-xl)var(--spacing-md);color:var(--text-secondary)}.empty-icon{width:64px;height:64px;fill:currentColor;opacity:.3;margin-bottom:var(--spacing-md)}.empty-text{font-size:1.125rem;margin:0 0 var(--spacing-sm)}.empty-subtext{font-size:.875rem;color:var(--text-dim);margin:0}.favorites-list{padding:var(--spacing-md);overflow-y:auto;overflow-x:hidden}.favorite-item{background:var(--bg-secondary);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-md);transition:all var(--transition-fast)}.favorite-item:hover{background:var(--bg-tertiary)}.favorite-content{flex:1;display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;min-width:0}.favorite-info{flex:1;min-width:0}.favorite-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:var(--spacing-xs)}.favorite-notes{font-size:.875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorite-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.folder-section{margin-bottom:var(--spacing-md);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.folder-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);cursor:pointer;user-select:none;transition:background-color var(--transition-fast)}.folder-header:hover{background:var(--bg-tertiary)}.folder-header-left,.folder-info{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.folder-text{display:flex;flex-direction:column;gap:4px;min-width:0}.folder-title{display:flex;align-items:baseline;gap:var(--spacing-xs);min-width:0}.folder-note{color:var(--text-secondary);font-size:.9rem;line-height:1.35;white-space:pre-line}.folder-icon{width:20px;height:20px;fill:var(--accent-color);flex-shrink:0;transition:transform var(--transition-fast)}.folder-section.collapsed .folder-icon{transform:rotate(-90deg)}.folder-name{font-weight:500;font-size:1rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.folder-count{font-size:.875rem;color:var(--text-secondary);padding:2px 8px;background:var(--bg-primary);border-radius:12px;flex-shrink:0}.folder-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.folder-actions .action-btn{opacity:1}.folder-content{max-height:none;overflow:visible;transition:max-height .3s ease-out}.folder-section.collapsed .folder-content{max-height:0}.secondary-folders-container{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.folder-section-secondary{margin-left:var(--spacing-xl);margin-bottom:var(--spacing-sm);border-left:3px solid var(--accent-color);background:var(--bg-primary)}.folder-section-secondary .folder-name{font-size:.95rem}.folder-section-secondary .folder-icon{opacity:.7}.rss-feeds-section{padding:var(--spacing-md);border-top:1px solid var(--border-color);background:var(--bg-primary)}.rss-feeds-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.rss-feeds-header h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0;text-transform:uppercase;letter-spacing:.5px}.rss-feed-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:var(--spacing-sm)var(--spacing-md);margin-bottom:var(--spacing-xs);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);transition:all var(--transition-fast)}.rss-feed-item:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.rss-feed-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.rss-feed-type{font-weight:500;font-size:.875rem;color:var(--text-primary)}.rss-feed-details{font-size:.75rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.rss-feed-detail{background:var(--bg-primary);padding:2px 6px;border-radius:4px}.rss-feed-actions{display:flex;gap:4px;flex-shrink:0}.rss-feed-actions button{padding:4px 8px;font-size:.75rem;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:all var(--transition-fast)}.rss-feed-actions button:hover{background:var(--bg-tertiary);color:var(--accent-color);border-color:var(--accent-color)}.folder-empty{padding:var(--spacing-lg);text-align:center;color:var(--text-secondary);font-style:italic}.action-icon{width:20px;height:20px;fill:currentColor}.file-meta{font-size:.875rem;color:var(--text-secondary);display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:center}.metadata-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;margin-left:4px;color:var(--text-primary);transition:color var(--transition-fast),background-color var(--transition-fast);border-radius:4px;text-decoration:none}.metadata-icon:hover{color:var(--primary);background-color:var(--bg-tertiary)}.metadata-icon svg{display:block}.predb-tags{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.tag{background:var(--bg-tertiary);color:var(--text-primary);padding:var(--spacing-xs)var(--spacing-sm);border-radius:3px;font-size:.75rem;font-weight:500}.predb-group{color:var(--success);font-weight:500}.episode-group,.quality-group{margin-bottom:var(--spacing-sm)}.episode-header,.quality-header{cursor:pointer;padding:var(--spacing-sm);background:var(--bg-tertiary);border-radius:4px;display:flex;align-items:center;justify-content:space-between;transition:background var(--transition-fast)}.episode-header:hover,.quality-header:hover{background:var(--bg-hover)}.episode-toggle,.quality-toggle{font-size:.8em;margin-right:var(--spacing-sm);transition:transform var(--transition-fast)}.episode-content,.quality-content{padding-left:var(--spacing-md);overflow:hidden;transition:max-height var(--transition-normal)}.related-section-header{cursor:pointer;background:0 0;border-radius:6px;display:flex;align-items:center;gap:var(--spacing-sm);transition:background var(--transition-fast),color var(--transition-fast)}.related-folders-section{margin-top:var(--spacing-xl);padding:0 var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.related-section-list{margin-top:var(--spacing-sm)}.related-group-header{cursor:pointer;padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:10px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border-color);box-shadow:0 4px 12px rgba(0,0,0,.15);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.related-group-header:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.18);background:var(--bg-hover);border-color:var(--accent-color)}#related-folders-toggle{font-size:.8em;transition:transform var(--transition-fast);user-select:none}.predb-time{color:var(--text-secondary);font-size:.8rem}.predb-episode,.predb-genres{color:var(--text-tertiary);font-style:italic;font-size:.8rem}.movie-genre{color:var(--accent-color);font-size:.8rem}.movie-rating{background:var(--bg-tertiary);color:var(--text-primary);padding:var(--spacing-xs)var(--spacing-sm);border-radius:3px;font-size:.75rem;font-weight:500}.movie-director,.movie-writer{color:var(--text-secondary);font-size:.8rem}.movie-actors{color:var(--text-tertiary);font-size:.8rem;font-style:italic}.tv-genre{color:var(--accent-color);font-size:.8rem}.tv-rating{background:var(--bg-tertiary);color:var(--text-primary);padding:var(--spacing-xs)var(--spacing-sm);border-radius:3px;font-size:.75rem;font-weight:500}.tv-actors{color:var(--text-tertiary);font-size:.8rem;font-style:italic}.tv-writer{color:var(--text-secondary);font-size:.8rem}.music-artist{color:var(--accent-color);font-size:.8rem;font-weight:500}.music-genre{color:var(--text-secondary);font-size:.8rem;font-style:italic}.game-genre{color:var(--accent-color);font-size:.8rem}.game-rating{background:var(--bg-tertiary);color:var(--text-primary);padding:var(--spacing-xs)var(--spacing-sm);border-radius:3px;font-size:.75rem;font-weight:500}.game-publisher,.game-developer{color:var(--text-secondary);font-size:.8rem}.book-author{color:var(--accent-color);font-size:.8rem;font-weight:500}.book-publisher{color:var(--text-secondary);font-size:.8rem}.book-category{color:var(--text-tertiary);font-size:.8rem;font-style:italic}.action-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:var(--spacing-sm);color:var(--text-secondary);font-size:.875rem;min-width:var(--touch-target);min-height:var(--touch-target);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-tertiary);border-color:var(--text-tertiary);color:var(--text-primary)}.action-btn:active{background:var(--bg-secondary);transform:scale(.95)}.action-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.search-container{position:relative;margin-bottom:var(--spacing-md)}.search-input{width:100%;padding:var(--spacing-md);padding-left:48px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;font-family:inherit;transition:border-color var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--primary)}.search-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:20px;height:20px;fill:var(--text-secondary);pointer-events:none}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--bg-tertiary);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);opacity:.5}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:none;z-index:var(--z-modal);padding:var(--spacing-md)}.modal.active,.modal.modal-open{display:flex;align-items:center;justify-content:center}.modal-content{background:var(--bg-secondary);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm)var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:var(--touch-target)}.modal-close{background:0 0;border:none;width:var(--touch-target);height:var(--touch-target);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;border-radius:50%;transition:background var(--transition-fast);margin-left:auto}.modal-close:active{background:var(--bg-tertiary)}.modal-body{padding:var(--spacing-md)}.modal-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);border-top:1px solid var(--border-color);justify-content:flex-end}.emulator-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:var(--z-modal);display:flex;flex-direction:column}.emulator-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.emulator-title{margin:0;font-size:1rem;color:var(--text-primary);flex:1;word-break:break-word}.emulator-actions{display:flex;gap:var(--spacing-sm)}.emulator-body{flex:1;min-height:0;background:#000;display:flex}.emulator-player{flex:1;min-height:0;display:flex}.emulator-player canvas{image-rendering:pixelated}.player-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.player-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all var(--transition-fast)}.player-option-link{text-decoration:none;color:inherit}.desktop-vlc-right-click-option{display:none}.player-option:hover{background:var(--bg-hover);border-color:var(--primary)}.player-option:active{transform:scale(.98)}.player-icon{flex-shrink:0}.player-info{flex:1;text-align:left}.player-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary)}.player-description{margin:0;font-size:14px;color:var(--text-secondary)}.vlc-option .player-info h3,.android-vlc-option .player-info h3{color:#ff8c00}.mxplayer-option .player-info h3,.android-mxplayer-option .player-info h3{color:#2196f3}.builtin-option .player-info h3{color:var(--primary)}.toast-container{position:fixed;bottom:calc(var(--touch-target) + var(--spacing-lg));left:var(--spacing-md);right:var(--spacing-md);z-index:var(--z-toast);pointer-events:none}.toast{background:var(--bg-tertiary);border-radius:8px;padding:var(--spacing-md);margin-top:var(--spacing-sm);box-shadow:0 4px 12px rgba(0,0,0,.3);transform:translateY(100px);opacity:0;transition:all var(--transition-normal);pointer-events:auto}.toast.show{transform:translateY(0);opacity:1}.toast.success{border-left:4px solid var(--success)}.toast.error{border-left:4px solid var(--error)}.toast.info{border-left:4px solid var(--info)}.hidden{display:none!important}.text-center{text-align:center}.text-muted{color:var(--text-secondary)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-md{margin-bottom:var(--spacing-md)}@media(min-width:768px){:root{--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px}}.comments-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.comments-modal.active{opacity:1;visibility:visible}.comments-panel{background:var(--bg-primary);width:100%;max-width:600px;max-height:80vh;border-radius:16px 16px 0 0;display:flex;flex-direction:column;transform:translateY(100%);transition:transform var(--transition-normal)}.comments-modal.active .comments-panel{transform:translateY(0)}.comments-header{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.comment-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.comment-author{font-weight:600;color:var(--text-primary)}.comment-content{color:var(--text-primary);word-wrap:break-word}.comment-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.comment-action{font-size:.875rem;color:var(--text-secondary);background:0 0;border:none;padding:var(--spacing-sm)var(--spacing-md);cursor:pointer;transition:color var(--transition-fast)}.comment-action:hover{color:var(--text-primary)}.comment-form{padding:var(--spacing-md);border-top:1px solid var(--border-color);flex-shrink:0}.comment-input{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:var(--spacing-sm)var(--spacing-md);font-size:1rem;color:var(--text-primary);resize:vertical;min-height:60px;font-family:inherit}.comment-submit{margin-top:var(--spacing-sm);width:100%;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:var(--spacing-sm)var(--spacing-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.comment-submit:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 90%,black)}.comment-submit:disabled{opacity:.5;cursor:not-allowed}.no-comments{text-align:center;color:var(--text-secondary);padding:var(--spacing-xl)}.folder-comments-section{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.comments-section-header{margin-bottom:var(--spacing-md)}.comments-section-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.comments-section-list{margin-bottom:var(--spacing-lg);max-height:600px;overflow-y:auto}.comments-section-list .comment{background:var(--bg-primary);padding:var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-sm)}.comments-section-list .comment:last-child{margin-bottom:0}.comment-section-form{border-top:1px solid var(--border-color);padding-top:var(--spacing-md)}.comment-section-form .comment-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:var(--spacing-sm)var(--spacing-md);font-size:1rem;color:var(--text-primary);resize:vertical;min-height:80px;font-family:inherit}.comment-section-form .comment-submit{margin-top:var(--spacing-sm);background:var(--primary);color:#fff;border:none;border-radius:8px;padding:var(--spacing-sm)var(--spacing-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);width:auto;display:inline-block}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skeleton{animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-icon{width:40px;height:40px;background:var(--bg-tertiary);border-radius:4px}.skeleton-text{height:16px;background:var(--bg-tertiary);border-radius:4px;margin-bottom:8px}@keyframes skeleton-loading{0%,100%{opacity:.3}50%{opacity:.7}}@media(prefers-reduced-data:reduce){.file-icon svg{display:none}.file-icon::before{content:"📁";font-size:24px}.file-item[data-type=file] .file-icon::before{content:"📄"}}.file-list{will-change:scroll-position}.file-item{contain:layout style paint}@media(max-device-memory:1){*{animation:none!important;transition:none!important}}.filter-section{padding:var(--spacing-lg)var(--spacing-xl);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.filter-wrapper{position:relative}.filter-input,.filter-select{width:100%;height:40px;padding:0 12px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.filter-input.has-clear{padding-right:36px}.filter-clear-x{position:absolute;right:8px;top:20px;transform:translateY(-50%);width:24px;height:24px;background:0 0;border:none;color:var(--text-tertiary);font-size:18px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s;outline:none}.filter-clear-x:hover{color:var(--text-secondary)}.filter-clear-x:active{color:var(--text-primary)}.filter-input:focus,.filter-select:focus{border-color:var(--accent-color)}.filter-input.filtering{background:linear-gradient( 90deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-primary) 100% );background-size:200% 100%;animation:filtering-pulse 1.5s ease-in-out infinite}@keyframes filtering-pulse{0%,100%{background-position:0}50%{background-position:100%}}.filter-input::placeholder{color:var(--text-tertiary)}.covers-filters{margin-top:12px}.covers-filter-group{display:flex;flex-direction:column;gap:12px}.filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-item{position:relative;flex:1;min-width:120px}.filter-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}#quick-filters-container{margin-top:12px}.quick-filters-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;user-select:none;transition:background .2s}.quick-filters-header:hover{background:var(--bg-hover)}.quick-filters-header span:first-child{font-size:13px;font-weight:500;color:var(--text-primary)}.quick-filters-chevron{font-size:11px;color:var(--text-secondary);transition:transform .2s}.quick-filters-header.expanded .quick-filters-chevron{transform:rotate(90deg)}#quick-filters-content{overflow:hidden;transition:max-height .3s ease-out}.quick-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quick-filter-btn{padding:6px 14px;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;outline:none}@media(hover:hover){.quick-filter-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-tertiary)}}.quick-filter-btn:focus{outline:none}.quick-filter-btn:active,.quick-filter-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.quick-filter-btn:focus-visible{box-shadow:0 0 0 2px var(--accent-color)}.filter-clear-btn{height:40px;padding:0 16px;background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-clear-btn:hover{background:#007a2e;border-color:#007a2e}.filter-clear-btn:active{background:#006625;transform:scale(.95)}.filter-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg)0;cursor:pointer;user-select:none;transition:opacity var(--transition-fast)}.filter-header:active{opacity:.7}.filter-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.filter-chevron{width:20px;height:20px;fill:var(--text-secondary);transition:transform var(--transition-normal)}.filter-header.collapsed .filter-chevron{transform:rotate(-90deg)}.filter-content{overflow:hidden;transition:max-height var(--transition-normal)ease-out}.filter-content.collapsed{max-height:0!important}.filter-content:not(.collapsed){max-height:500px}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;margin-top:4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow-y:auto;z-index:1000}.autocomplete-item{padding:var(--spacing-md)var(--spacing-lg);cursor:pointer;transition:background-color .2s;font-size:14px}.autocomplete-item:hover,.autocomplete-item.active{background:var(--bg-secondary)}.user-menu-dropdown{position:absolute;top:100%;right:8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:220px;z-index:1000;margin-top:4px;overflow:hidden}.user-menu-item{display:flex;align-items:center;padding:var(--spacing-sm)var(--spacing-md);cursor:pointer;transition:background-color .2s;color:var(--text-primary);text-decoration:none}.user-menu-item:hover{background:var(--bg-secondary)}.menu-icon{width:20px;height:20px;margin-right:12px;fill:currentColor;opacity:.7}.unread-badge{background:var(--error);color:#fff;font-size:11px;font-weight:700;padding:var(--spacing-xs)var(--spacing-sm);border-radius:10px;min-width:18px;text-align:center;line-height:1.2}.messages-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.messages-header-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-left:auto}.messages-list{max-height:60vh;overflow-y:auto}#messages-modal .modal-body{display:flex;flex-direction:column;overflow:hidden}#messages-modal .tab-content-wrapper{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}#messages-modal .messages-list{max-height:none;overflow:visible}.message-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color var(--transition-fast);position:relative}.message-item:hover{background:var(--bg-secondary)}.message-item.unread{background:rgba(0,151,57,5%);border-left:3px solid var(--primary)}.message-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0}.message-content{flex:1;min-width:0}.message-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.message-from{font-weight:600;color:var(--text-primary)}.message-time{font-size:.85rem;color:var(--text-dim)}.message-subject{font-weight:500;margin-bottom:var(--spacing-xs);color:var(--text-primary)}.message-preview{font-size:.9rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.message-status{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.message-status-badge{font-size:.75rem;padding:var(--spacing-xs)var(--spacing-sm);border-radius:12px;background:var(--bg-tertiary);color:var(--text-dim)}.message-status-badge.unread{background:var(--error);color:#fff}.compose-form{max-width:600px}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary)}.form-hint{color:var(--text-dim);font-size:.85rem;margin-top:4px}.form-control,.form-input{width:100%;max-width:600px;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-base);font-size:1rem;transition:border-color var(--transition-fast)}.form-control:focus,.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(0,151,57,.2)}.char-counter{font-size:.85rem;color:var(--text-dim);margin-top:var(--spacing-xs)}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;margin-top:4px;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:1000}.autocomplete-results{padding:4px 0}.autocomplete-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color var(--transition-fast)}.autocomplete-item:hover,.autocomplete-item.selected{background:var(--bg-tertiary)}.autocomplete-item .username{color:var(--text-primary);font-weight:500}.autocomplete-item .role-badge{padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.autocomplete-item .role-badge.admin{background:var(--error);color:#fff}.autocomplete-item .role-badge.moderator{background:var(--warning);color:#fff}.autocomplete-item .role-badge.vip{background:var(--secondary);color:var(--accent)}.autocomplete-item .role-badge.user{background:var(--bg-tertiary);color:var(--text-secondary)}.autocomplete-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.autocomplete-loading .spinner{animation:spin .8s linear infinite}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.autocomplete-empty{padding:12px;text-align:center;color:var(--text-dim);font-size:.9rem}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-start}.message-detail-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.message-detail-meta{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-sm)var(--spacing-md);font-size:.9rem}.message-detail-label{font-weight:600;color:var(--text-secondary)}.message-detail-value{color:var(--text-primary)}.message-detail-body{padding:var(--spacing-lg);white-space:pre-wrap;line-height:1.6;color:var(--text-primary)}.message-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.empty-messages{text-align:center;padding:var(--spacing-xl);color:var(--text-dim)}.empty-messages svg{width:64px;height:64px;margin-bottom:var(--spacing-md);opacity:.5}.user-menu-divider{height:1px;background:var(--border-color);margin:var(--spacing-sm)0}.upload-selected-files{margin-top:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);word-break:break-word}.upload-hint{margin:var(--spacing-md)0;padding:var(--spacing-sm)var(--spacing-md);background:var(--info-bg);color:var(--info);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--info) 35%,transparent)}.uploadsync-card{margin:var(--spacing-md)0;padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.uploadsync-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.uploadsync-toggle{display:inline-flex;align-items:center;gap:var(--spacing-xs);border:0;padding:0;background:0 0;color:var(--text-secondary);font-size:.85rem;cursor:pointer}.uploadsync-toggle:hover{color:var(--text-primary)}.uploadsync-toggle-icon{transition:transform .3s ease}.uploadsync-toggle.expanded .uploadsync-toggle-icon{transform:rotate(180deg)}.uploadsync-body{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:600px;overflow:hidden;opacity:1;transition:max-height .3s ease,opacity .2s ease}.uploadsync-body.collapsed{max-height:0;opacity:0;pointer-events:none}.uploadsync-downloads{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.uploadsync-download-label{color:var(--text-secondary);font-size:.9rem}.uploadsync-title{font-weight:600}.uploadsync-subtitle{color:var(--text-secondary);font-size:.9rem}.uploadsync-download{white-space:nowrap}.uploadsync-command{margin:0}.uploadsync-command code{display:block}.uploadsync-note{font-size:.85rem}.affiliate-apply-actions{margin-top:var(--spacing-sm)}.upload-progress{margin:var(--spacing-md)0;padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.upload-progress-header{display:flex;align-items:center;justify-content:space-between;color:var(--text-primary);font-weight:600;margin-bottom:var(--spacing-xs)}.upload-progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.upload-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--accent-color));transition:width var(--transition-normal)}.upload-progress-subtext{margin-top:var(--spacing-xs);color:var(--text-secondary);font-size:.9rem}.upload-error{margin:var(--spacing-sm)0 var(--spacing-md);padding:var(--spacing-sm)var(--spacing-md);background:var(--error-bg);color:var(--error);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--error) 35%,transparent)}.upload-error-message{font-weight:600;margin-bottom:var(--spacing-xs)}.upload-error-list{margin:0;padding-left:1.2rem;font-size:.9rem}.upload-error-list li{margin:0}.upload-jobs-header{margin:var(--spacing-lg)0 var(--spacing-sm);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm)}.upload-job-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.upload-job-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:0 6px 20px rgba(0,0,0,.18)}.upload-job-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.upload-job-title{font-weight:600;color:var(--text-primary);word-break:break-word}.upload-status-badge{padding:4px 8px;border-radius:999px;font-size:.8rem;text-transform:capitalize;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary)}.upload-status-badge.status-completed{background:var(--success-bg);color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.upload-status-badge.status-failed{background:var(--error-bg);color:var(--error);border-color:color-mix(in srgb,var(--error) 40%,transparent)}.upload-status-badge.status-posting,.upload-status-badge.status-importing,.upload-status-badge.status-parpar{background:var(--info-bg);color:var(--info);border-color:color-mix(in srgb,var(--info) 35%,transparent)}.upload-job-body{display:flex;flex-direction:column;gap:var(--spacing-xs);color:var(--text-secondary);font-size:.95rem}.upload-job-files{color:var(--text-primary)}.upload-job-error{color:var(--error);font-weight:600}.upload-job-progress{margin-top:var(--spacing-xs)}.upload-job-progress-bar{width:100%;height:6px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.upload-job-progress-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--info),var(--accent-color));transition:width var(--transition-normal)}.upload-job-progress-meta{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:.85rem;color:var(--text-secondary)}.upload-job-meta{font-size:.85rem;color:var(--text-tertiary)}.empty-upload-state{padding:var(--spacing-md);color:var(--text-secondary);background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-md);text-align:center}.fullscreen-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:var(--z-modal);display:flex;flex-direction:column;overflow:hidden}.connection-section{}.connection-section h4{color:var(--text-primary);font-size:.95rem;margin:var(--spacing-md)0 var(--spacing-xs)}.connection-section h5{color:var(--text-secondary);font-size:.875rem;margin:var(--spacing-md)0 var(--spacing-xs)}.connection-method{margin:var(--spacing-md)0}.code-block{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:var(--spacing-sm);margin:var(--spacing-xs)0;font-family:var(--font-mono);font-size:.875rem;overflow-x:auto;max-width:1100px}.code-block code,.code-block pre{margin:0;padding:0;background:0 0;color:var(--text-primary);white-space:pre-wrap;word-break:break-all}.copy-btn{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:var(--spacing-xs);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.copy-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.copy-btn:active{transform:scale(.95)}.copy-btn.copied{background:var(--success);color:#fff;border-color:var(--success)}.rss-params{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-sm)0}.param-item{padding:var(--spacing-sm);background:var(--bg-tertiary);border-radius:6px;border-left:3px solid var(--primary);max-width:1100px}.param-item strong{color:var(--primary);font-size:.9rem}.param-item .code-block{margin-top:var(--spacing-xs);margin-bottom:0;font-size:.8rem}.rss-readers{list-style:none;padding:0;margin:var(--spacing-sm)0}.rss-readers li{padding:var(--spacing-xs)0;border-bottom:1px solid var(--border-color)}.rss-readers li:last-child{border-bottom:none}.rss-readers strong{color:var(--primary);min-width:100px;display:inline-block}@media(max-width:768px){.favorite-name{white-space:normal;overflow:visible;text-overflow:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.favorite-actions .action-btn{min-width:40px;min-height:40px;padding:var(--spacing-md)}.favorite-actions .action-icon{width:19px;height:19px}.file-name{white-space:normal;overflow:visible;text-overflow:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.file-icon{width:36px;height:36px}}@media(max-width:480px){.search-input{padding-left:36px}.filter-row{flex-direction:column}.filter-item{width:100%}.filter-select{width:100%}.user-menu-dropdown{right:4px}.library-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.library-toggle .toggle-btn{padding:var(--spacing-xs)var(--spacing-sm);font-size:.8rem;line-height:1.2;text-align:center;white-space:normal}.favorite-item{padding:var(--spacing-sm);gap:var(--spacing-sm)}.favorite-name{white-space:normal;overflow:visible;text-overflow:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.favorite-actions{gap:4px;flex-shrink:0}.favorite-actions .action-btn{min-width:36px;min-height:36px;padding:var(--spacing-sm)}.favorite-actions .action-icon{width:18px;height:18px}.folder-section[data-level="0"] .folder-info{align-items:flex-start;flex-wrap:wrap}.folder-section[data-level="0"] .folder-text{flex:1 1 calc(100% - 24px)}.folder-section[data-level="0"] .folder-name{white-space:normal;overflow:visible;text-overflow:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}.file-item{padding:var(--spacing-sm);gap:var(--spacing-sm)}.file-name{white-space:normal;overflow:visible;text-overflow:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.file-icon{width:32px;height:32px}.favorite-btn{padding:var(--spacing-sm);width:32px;height:32px}.favorite-icon{width:16px;height:16px}.user-card{padding:var(--spacing-sm)}.user-info h4{font-size:.9rem}.user-badge{font-size:.7rem;padding:2px 6px}}.settings-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.settings-tab{display:flex;align-items:center;gap:var(--spacing-xs);background:0 0;border:none;color:var(--text-secondary);padding:var(--spacing-sm)var(--spacing-md);font-size:.95rem;font-weight:500;cursor:pointer;transition:color .2s;position:relative}.settings-tab:hover{color:var(--text-primary)}.settings-tab.active{color:var(--primary)}.settings-tab.active::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.settings-tab-content{display:none}.settings-tab-content.active{display:block}.settings-item{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md)0;border-bottom:1px solid var(--border-color)}.settings-item:last-child{border-bottom:none}.settings-label{color:var(--text-primary);font-size:.95rem;min-width:150px}.settings-control{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.settings-control .btn{min-width:160px}.theme-toggle-group{gap:var(--spacing-sm);flex-wrap:wrap}.theme-option{flex:1;justify-content:center;min-width:100px}.theme-option.active{background:var(--primary);border-color:var(--primary);color:#fff}.theme-option.active .menu-icon{color:#fff}.connection-usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-lg);margin:var(--spacing-md)0}.connection-usage-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:var(--spacing-lg);box-shadow:0 6px 20px rgba(0,0,0,.12)}.connection-usage-card.disabled{opacity:.6}.connection-usage-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.connection-usage-label{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-weight:600;color:var(--text-primary)}.connection-usage-count{font-weight:700;font-size:1.2rem;color:var(--text-primary)}.connection-usage-note{color:var(--text-secondary);font-size:.95rem;line-height:1.4}.connection-usage-list{margin:var(--spacing-lg)0;padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.connection-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.connection-list-title{margin:0;color:var(--text-primary);font-size:1.05rem}.connection-list-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:.95rem}.connection-request-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.connection-request{padding:var(--spacing-md);border:1px dashed var(--border-color);border-radius:10px;background:var(--bg-primary)}.connection-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);gap:var(--spacing-sm)}.connection-path{color:var(--text-primary);font-weight:600;word-break:break-all}.connection-method{color:var(--primary);font-weight:700;font-size:.9rem}.connection-meta{color:var(--text-secondary);font-size:.9rem}.connection-empty{color:var(--text-secondary);font-style:italic}.toggle-switch{position:relative;width:48px;height:24px;background:var(--bg-secondary);border-radius:12px;cursor:pointer;transition:background .3s;border:1px solid var(--border-color)}.toggle-switch.active{background:var(--success);border-color:var(--success)}.toggle-slider{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .3s}.toggle-switch.active .toggle-slider{transform:translateX(24px)}.folder-slider-list{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.folder-slider-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);transition:background .15s}.folder-slider-row:last-child{border-bottom:none}.folder-slider-row:hover{background:var(--bg-secondary)}.folder-slider-row .folder-label{flex:1;font-size:.9rem;color:var(--text-primary);margin:0;padding-right:16px;cursor:pointer;user-select:none}.users-list{overflow-y:visible;-webkit-overflow-scrolling:touch}.users-controls{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap}.users-filter{position:relative;flex:0 0 100%;width:100%}.users-stats{font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)0}.pagination-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md)var(--spacing-lg);border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);min-height:var(--touch-target)}.pagination-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn svg{flex-shrink:0}.page-info{font-size:.875rem;color:var(--text-secondary);padding:0 var(--spacing-md)}#virtual-folders-container.users-list{max-height:none;overflow-y:visible}.user-card{background:var(--bg-secondary);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex;gap:var(--spacing-md);align-items:start;gap:var(--spacing-md)}.user-info{flex:1;min-width:0}.user-info h4{margin:0 0 var(--spacing-xs);font-size:1rem;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.user-badge{background:var(--primary);color:#fff;font-size:.75rem;padding:var(--spacing-xs)var(--spacing-md);border-radius:4px;font-weight:500}.user-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);gap:var(--spacing-sm)}.user-name{font-weight:600;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{font-size:.75rem;padding:var(--spacing-sm)var(--spacing-md);border-radius:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-active{background:var(--success);color:#fff}.status-inactive{background:var(--text-dim);color:var(--bg-primary)}.user-details{font-size:.875rem;color:var(--text-secondary);line-height:1.5;word-break:break-word;overflow-wrap:break-word}.user-details>div{margin-bottom:2px}.user-info{display:flex;gap:.5rem;margin-bottom:.25rem}.info-label{font-weight:500;color:var(--text-secondary);flex-shrink:0;min-width:fit-content}.info-label::after{content:":"}.info-value{color:var(--text-primary);word-break:break-word;overflow-wrap:break-word;min-width:0}.user-actions{display:flex;gap:var(--spacing-xs)}.user-actions button{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:var(--spacing-sm)var(--spacing-lg);font-size:.875rem;border-radius:6px;cursor:pointer;transition:all var(--transition-normal)}.user-actions button:hover{background:var(--bg-primary);border-color:var(--primary);color:var(--primary)}.user-actions button:active{background:var(--primary);color:#fff;transform:scale(.95)}.user-actions button.danger:hover{background:var(--error);color:#fff;border-color:var(--error)}.user-actions button.danger:active{background:color-mix(in srgb,var(--error) 85%,black);transform:scale(.95)}.user-form-container{background:var(--bg-secondary);border-radius:8px;padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.user-form-container h4{margin:0 0 var(--spacing-md);font-size:1.1rem;color:var(--text-primary)}.form-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:none;border:1px solid var(--border-primary);border-radius:4px;padding:var(--spacing-sm);background:var(--bg-primary);transition:max-height .3s ease,padding .3s ease}.checkbox-group.collapsed{max-height:0;padding:0 var(--spacing-sm);overflow:hidden}.collapsible-section{border:1px solid var(--border-primary);border-radius:4px;background:var(--bg-primary)}.filter-help-section{margin-top:var(--spacing-md)}@media(max-width:640px){.filter-help-section{margin-top:var(--spacing-lg)}}.collapsible-header{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);cursor:pointer;user-select:none;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);transition:background-color .2s ease}.collapsible-header:hover{background:var(--bg-tertiary)}.collapsible-header .expand-icon{transition:transform .3s ease;flex-shrink:0}.collapsible-header.expanded .expand-icon{transform:rotate(180deg)}.form-help-content{max-height:500px;padding:var(--spacing-sm);background:var(--bg-primary);overflow:hidden;transition:max-height .3s ease,padding .3s ease}.form-help-content.collapsed{max-height:0;padding:0 var(--spacing-sm)}.checkbox-item{display:flex;align-items:center;gap:var(--spacing-xs)}.checkbox-item input[type=checkbox]{width:auto;margin:0}.action-btn.primary{background:var(--primary);color:#fff}.action-btn.primary:hover{background:var(--primary-hover)}.loading-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.loading-state p{margin-top:var(--spacing-md)}.quota-info-section{background:var(--bg-secondary);border-radius:8px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.quota-stats{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.quota-stat{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--spacing-md)}.quota-label{color:var(--text-secondary);font-size:.875rem}.quota-value{color:var(--text-primary);font-weight:600;font-size:1rem;text-align:right}.quota-progress{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-xs)}.quota-progress-bar{height:100%;background:var(--primary);transition:width var(--transition-normal)}.quota-percentage{text-align:center;font-size:.875rem;color:var(--text-secondary)}.upgrade-section{margin-top:var(--spacing-lg)}.upgrade-benefits{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.benefit-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.9rem;color:var(--text-primary)}.payment-form{margin-top:var(--spacing-lg)}.payment-method-section{margin-bottom:var(--spacing-lg)}.payment-method-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.payment-method-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);font-size:.875rem;font-weight:500;text-align:center;min-height:80px;justify-content:center}.payment-method-btn:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.payment-method-btn.active{border-color:var(--primary);background:rgba(0,151,57,.1)}.payment-method-btn svg{width:24px;height:24px;fill:currentColor}.payment-content{display:none}.payment-content.active{display:block}.google-pay-info,.apple-pay-info{padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:8px;margin-top:var(--spacing-md)}.payment-options{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.payment-option{display:block;cursor:pointer;width:100%}.payment-option input[type=radio]{display:none}.payment-option-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;transition:all var(--transition-normal)}.payment-option input[type=radio]:checked+.payment-option-content{border-color:var(--primary);background:rgba(33,150,243,.1)}.payment-duration{font-weight:600;color:var(--text-primary)}.payment-price{font-size:1.1rem;font-weight:700;color:var(--primary);margin-left:auto}.payment-save{position:absolute;top:-8px;right:8px;background:var(--success);color:#fff;font-size:.75rem;padding:var(--spacing-xs)var(--spacing-md);border-radius:4px;font-weight:600}.payment-option-content{position:relative}.form-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-md)}.payment-notice{background:rgba(244,67,54,.1);border:1px solid rgba(244,67,54,.3);border-radius:6px;padding:var(--spacing-md);display:block;width:100%}.error-state,.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary);font-style:italic}.error-state{color:var(--error)}.pagination-container{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:8px;background:var(--bg-secondary);margin-bottom:var(--spacing-md)}.pagination-info{text-align:center;color:var(--text-secondary);font-size:.875rem}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}@media(max-width:600px){.pagination-container{padding:var(--spacing-sm)}.pagination-btn{padding:.4rem .6rem;font-size:.813rem;min-width:2rem}.pagination-info{font-size:.813rem}}#media-info{background:var(--bg-secondary);border-radius:8px;padding:1rem;margin-bottom:1rem}.movie-info-container,.tv-info-container,.game-info-container{display:flex;flex-direction:column;gap:.75rem}#media-info img{display:block;margin:0 auto 1rem;max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.3)}#media-info h3{margin:0;color:var(--primary);font-size:1.25rem;line-height:1.3}#media-info p{margin:.5rem 0;line-height:1.5}#media-info strong{color:var(--text-primary);font-weight:600}.text-muted{color:var(--text-secondary);font-size:.875rem}#predb-info{background:var(--bg-secondary);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem;font-size:.875rem}.predb-info-content{display:flex;flex-direction:column;gap:.5rem}.predb-title{font-weight:600;color:var(--primary);word-break:break-word}.predb-details{color:var(--text-secondary);line-height:1.5}.predb-label{font-weight:500;color:var(--text-primary)}.loading-spinner-small{width:16px;height:16px;border:2px solid var(--bg-tertiary);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;margin-right:.5rem}.hidden{display:none!important}.login-header{padding:var(--spacing-lg);text-align:center;border-bottom:1px solid var(--border-color)}.login-title{color:var(--text-primary);font-size:1.75rem;font-weight:600;margin:0 0 var(--spacing-sm)}.login-subtitle{color:var(--text-secondary);font-size:.9rem;margin:0}#login-modal .modal-header{display:none}.login-modal-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;padding:var(--spacing-lg)}.login-body{width:100%;max-width:400px;background:var(--bg-secondary);border-radius:12px;padding:var(--spacing-xl)}.login-body .modal-title{text-align:center;margin-bottom:var(--spacing-sm);font-size:1.5rem;font-weight:600}.login-body .login-subtitle{text-align:center;margin-bottom:var(--spacing-xl);color:var(--text-secondary)}.auth-form{margin-bottom:var(--spacing-lg)}.login-body .form-group{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--spacing-lg)}.login-body .form-group label{width:100%;max-width:220px;text-align:left;margin-bottom:var(--spacing-xs);font-weight:500}.login-body .form-group input{width:100%;max-width:220px;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:1rem}.login-body .form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(0,151,57,.2)}.login-body .form-group .auth-hint{width:100%;max-width:220px;margin-top:var(--spacing-xs);font-size:.75rem;color:var(--text-secondary);text-align:left}.form-actions{margin-top:var(--spacing-lg)}.auth-btn{width:100%;max-width:220px;padding:var(--spacing-md)var(--spacing-lg);border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-height:var(--touch-target);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin:0 auto}.auth-btn.primary{background:var(--primary);color:#fff}.auth-btn.primary:hover{background:#007a2e;transform:translateY(-1px)}.auth-btn.primary:active{transform:translateY(0)}.auth-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.auth-toggle{text-align:center;padding:var(--spacing-md)0;border-top:1px solid var(--border-color)}.auth-toggle span{color:var(--text-secondary);font-size:.9rem;margin-right:var(--spacing-sm)}.auth-link{background:0 0;border:none;color:var(--primary);font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:none;transition:color var(--transition-fast)}.auth-link:hover{color:#007a2e;text-decoration:underline}.auth-loading{text-align:center;padding:var(--spacing-lg);color:var(--text-secondary)}.auth-loading p{margin:var(--spacing-sm)0 0;font-size:.9rem}.auth-error{background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.3);border-radius:8px;padding:var(--spacing-md);margin-top:var(--spacing-md)}.auth-error p{color:var(--error);font-size:.9rem;margin:0}.auth-required .app-container{display:none}.auth-required .toast-container{display:none}.verification-container{text-align:center;padding:var(--spacing-xl)}.verification-icon{margin-bottom:var(--spacing-lg);color:var(--primary)}.verification-container h3{margin:0 0 var(--spacing-md);font-size:1.5rem;font-weight:600}.verification-container p{margin:0 0 var(--spacing-md);color:var(--text-secondary)}.verification-email{font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-lg)!important}.verification-container .auth-btn{margin-bottom:var(--spacing-md)}.verification-container .auth-link{display:inline-block;margin-top:var(--spacing-sm)}.virtual-folder-form{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.virtual-folders-list h3{margin-bottom:var(--spacing-md);color:var(--text-primary)}.virtual-folder-form h3{margin-bottom:var(--spacing-md);color:var(--text-primary)}.virtual-folder-form .form-group select{width:100%;max-width:600px;padding:var(--spacing-lg)var(--spacing-xl);border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.virtual-folder-form .form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(0,151,57,.1)}.game-affiliate-section{padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:8px;margin:var(--spacing-md);border:1px solid var(--border-color)}.game-affiliate-section .game-info{text-align:center}.game-affiliate-section .game-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);text-transform:capitalize}.game-affiliate-section .game-actions{display:flex;justify-content:center;gap:var(--spacing-md)}.amazon-search-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background:linear-gradient(135deg,#ff9900 0%,#ff6600 100%);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:all var(--transition-fast);box-shadow:0 2px 4px rgba(0,0,0,.1)}.amazon-search-button:hover{background:linear-gradient(135deg,#ffaa00 0%,#ff7700 100%);box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-1px)}.amazon-search-button .amazon-icon{flex-shrink:0}.media-info-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md);align-items:flex-start}.media-info-actions .amazon-search-button,.media-info-actions .movie-rss-button{width:200px;justify-content:center}@media(max-width:600px){.media-info-actions{width:100%;align-items:stretch}.media-info-actions .amazon-search-button,.media-info-actions .movie-rss-button{width:100%}}.movie-rss-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);text-decoration:none;border-radius:6px;font-weight:500;transition:all var(--transition-fast);width:200px;margin-top:var(--spacing-md)}.movie-rss-button:hover{background:var(--bg-tertiary);border-color:var(--text-tertiary)}.movie-rss-button .rss-icon{flex-shrink:0}.amazon-link{display:inline-flex;align-items:center;gap:4px;padding:var(--spacing-xs)var(--spacing-md);background:#f90;color:#fff;text-decoration:none;border-radius:4px;font-size:.75rem;transition:background var(--transition-fast)}.amazon-link:hover{background:#f60}.amazon-link .amazon-icon{flex-shrink:0}.library-header{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.library-title{margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:600}.library-toggle{display:flex;background:var(--bg-tertiary);border-radius:8px;padding:var(--spacing-sm);gap:4px}.toggle-btn{flex:1;padding:var(--spacing-sm)var(--spacing-md);background:0 0;border:none;border-radius:6px;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-height:var(--touch-target)}.toggle-btn.active{background:var(--primary);color:#fff}.toggle-btn:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.library-section{display:none;flex-direction:column;min-height:0}.library-section.active{display:flex}.playlist-subsection{display:flex;flex-direction:column}.playlist-subsection+.playlist-subsection{margin-top:var(--spacing-lg)}.playlist-subheader{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.playlist-subtitle{color:var(--text-primary);font-weight:600}.folder-edit-path{padding:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.875rem;word-break:break-all}.folder-edit-rename-row{display:flex;gap:var(--spacing-sm);align-items:center}.folder-edit-rename-row .form-input{flex:1}.folder-edit-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-md)}.folder-edit-items-section{margin-top:var(--spacing-md)}.folder-edit-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap}.folder-edit-selection-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.folder-edit-items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.folder-edit-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.folder-edit-item-checkbox{width:18px;height:18px;margin:0;accent-color:var(--primary)}.folder-edit-item-name{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-edit-item-type{color:var(--text-secondary);font-size:.8rem;margin-right:var(--spacing-xs)}.folder-edit-item-actions{display:flex;gap:var(--spacing-xs)}.folder-edit-item-actions .btn{padding:.4rem .6rem;min-height:calc(var(--touch-target) - 10px)}.section-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.section-actions{display:flex;gap:var(--spacing-sm)}.shares-list{padding:var(--spacing-md);overflow-y:auto}.rss-playlists-list{padding:var(--spacing-md);overflow-y:auto}.iptv-controls{display:grid;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.iptv-actions{display:flex;justify-content:flex-end;grid-column:1/-1}.iptv-search-field{position:relative}.iptv-search-input{padding-right:36px}.iptv-search-field .iptv-filter-clear{top:50%}.iptv-stats{color:var(--text-secondary);font-size:.9rem;margin-bottom:var(--spacing-sm)}.iptv-channel-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.iptv-channel-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color);transition:all var(--transition-fast)}.iptv-channel-item:hover{background:var(--bg-tertiary);border-color:var(--primary)}.iptv-channel-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.iptv-channel-favorite.is-favorited{color:var(--secondary);border-color:color-mix(in srgb,var(--secondary) 45%,var(--border-color))}.iptv-channel-favorite.is-favorited:hover{background:color-mix(in srgb,var(--secondary) 12%,var(--bg-tertiary))}.iptv-channel-info{display:flex;align-items:center;gap:var(--spacing-md);flex:1;min-width:0}.iptv-channel-logo{width:48px;height:48px;border-radius:8px;background:var(--bg-tertiary);object-fit:contain;flex-shrink:0}.iptv-channel-meta{min-width:0}.iptv-channel-name-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.iptv-channel-name{font-weight:600;color:var(--text-primary);word-break:break-word}.iptv-channel-subtext{color:var(--text-secondary);font-size:.85rem;margin-top:2px}.iptv-test-badge{padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary)}.iptv-test-pass{background:var(--success-bg);color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.iptv-test-fail{background:var(--error-bg);color:var(--error);border-color:color-mix(in srgb,var(--error) 40%,transparent)}.iptv-test-timeout{background:var(--warning-bg);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,transparent)}.iptv-test-testing{background:var(--info-bg);color:var(--info);border-color:color-mix(in srgb,var(--info) 35%,transparent)}.iptv-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-md);gap:var(--spacing-md);flex-wrap:wrap}.iptv-pagination .iptv-page-info{color:var(--text-secondary);font-size:.85rem}@media(min-width:700px){.iptv-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}.share-item{display:flex;align-items:center;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:8px;margin-bottom:var(--spacing-sm);border:1px solid var(--border-color);transition:all var(--transition-fast)}.share-item:hover{background:var(--bg-tertiary);border-color:var(--primary)}.share-item.expired{opacity:.6;border-color:var(--error)}.share-item.expired:hover{border-color:var(--error)}.rss-playlist-item{display:flex;align-items:center;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:8px;margin-bottom:var(--spacing-sm);border:1px solid var(--border-color);transition:all var(--transition-fast)}.rss-playlist-item:hover{background:var(--bg-tertiary);border-color:var(--primary)}.rss-playlist-item.expired{opacity:.6;border-color:var(--error)}.rss-playlist-item.expired:hover{border-color:var(--error)}.share-content{display:flex;align-items:center;flex:1;gap:var(--spacing-md);min-width:0}.share-info{flex:1;min-width:0}.share-path{font-weight:500;color:var(--text-primary);margin-bottom:4px;word-break:break-all}.share-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:4px}.share-meta{color:var(--text-dim);font-size:.8rem;line-height:1.3}.rss-playlist-meta{color:var(--text-dim);font-size:.8rem;line-height:1.3}.expired-text{color:var(--error);font-weight:600}.share-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.rss-playlist-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.share-actions .action-btn.danger{color:var(--error)}.comments-list{padding:var(--spacing-md)}.comment-item{display:flex;flex-direction:column;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:8px;margin-bottom:var(--spacing-sm);border:1px solid var(--border-color);transition:all var(--transition-fast)}.comment-item:hover{background:var(--bg-tertiary);border-color:var(--primary)}.comment-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.comment-path{display:flex;align-items:center;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);flex:1;min-width:0;word-break:break-all}.comment-path:hover{color:var(--primary)}.comment-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.comment-content{color:var(--text-primary);line-height:1.4;margin-bottom:var(--spacing-sm);word-wrap:break-word}.comment-meta{font-size:.75rem;color:var(--text-secondary)}.share-actions .action-btn.danger:hover{background:var(--error);color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg)}.modal-header h3{margin:0;color:var(--text-primary);font-size:1.25rem}#database-edit-title{word-break:break-all;overflow-wrap:break-word;max-width:100%}.modal-close{background:0 0;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:var(--spacing-xs);border-radius:4px;min-width:var(--touch-target);min-height:var(--touch-target);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.share-details{margin-bottom:var(--spacing-lg)}.detail-item{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.detail-item label{font-weight:600;color:var(--text-primary);margin-bottom:4px;font-size:.9rem}.detail-item span{color:var(--text-secondary);word-break:break-all}.url-container{display:flex;gap:var(--spacing-sm);margin-top:4px}.url-input{flex:1;padding:var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem;font-family:var(--font-mono)}.copy-btn{padding:var(--spacing-sm)var(--spacing-md);background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background var(--transition-fast)}.copy-btn:hover{background:#007a2e}.qr-code-container{display:flex;justify-content:center;padding:var(--spacing-lg);background:var(--bg-tertiary);border-radius:8px}#qr-code{background:#fff;padding:var(--spacing-sm);border-radius:8px}.modal-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.modal-actions button{padding:var(--spacing-sm)var(--spacing-lg);border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all var(--transition-fast);min-height:var(--touch-target);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.modal-actions button:active{transform:scale(.95)}.modal-actions button[type=button]{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.modal-actions button[type=button]:hover{background:var(--bg-primary);color:var(--text-primary)}.modal-actions button[type=submit]{background:var(--primary);color:#fff;border-color:var(--primary)}.modal-actions button[type=submit]:hover{background:#007a2e;border-color:#007a2e}.shares-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;min-height:200px}.shares-empty .empty-icon{width:64px;height:64px;margin-bottom:var(--spacing-md);opacity:.3}.shares-empty .empty-text{color:var(--text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-xs);font-weight:500}.shares-empty .empty-subtext{color:var(--text-dim);font-size:.9rem}.rss-playlists-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;min-height:200px}.rss-playlists-empty .empty-icon{width:64px;height:64px;margin-bottom:var(--spacing-md);opacity:.3}.rss-playlists-empty .empty-text{color:var(--text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-xs);font-weight:500}.rss-playlists-empty .empty-subtext{color:var(--text-dim);font-size:.9rem}.comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;min-height:200px}.comments-empty .empty-icon{width:64px;height:64px;margin-bottom:var(--spacing-md);opacity:.3}.comments-empty .empty-text{color:var(--text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-xs);font-weight:500}.comments-empty .empty-subtext{color:var(--text-dim);font-size:.9rem}@media(max-width:480px){.library-header{padding:var(--spacing-sm)}.library-title{font-size:1.25rem}.share-item{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.share-content{flex-direction:column;align-items:stretch}.share-actions{justify-content:center;padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.modal-content{margin:var(--spacing-sm);max-height:calc(100vh - 32px)}.url-container{flex-direction:column}.modal-actions{flex-direction:column}}.banking-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.banking-method-btn{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);min-height:80px}.banking-method-btn:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.banking-method-btn.active{border-color:var(--primary);background:rgba(0,151,57,.1)}.banking-method-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);text-align:center}.banking-flag{font-size:1.5rem;line-height:1}.banking-name{font-weight:600;font-size:.9rem;line-height:1.2}.banking-country{font-size:.75rem;color:var(--text-dim);line-height:1}@media(max-width:480px){.banking-methods{grid-template-columns:repeat(2,1fr)}.banking-method-btn{padding:var(--spacing-sm);min-height:70px}.banking-flag{font-size:1.25rem}.banking-name{font-size:.8rem}.banking-country{font-size:.7rem}}.sessions-list{padding:var(--spacing-md);overflow-y:auto}.sessions-list .user-card{flex-direction:column;gap:var(--spacing-sm)}.sessions-list .user-header{width:100%;min-width:0}.sessions-list .status-badge{flex-shrink:0}.session-item{display:flex;flex-direction:column;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:8px;margin-bottom:var(--spacing-sm);border:1px solid var(--border-color);transition:all var(--transition-fast)}.session-item:hover{background:var(--bg-tertiary);border-color:var(--primary)}.session-item.current-session{border-color:var(--primary);background:var(--bg-tertiary)}.session-header{display:flex;align-items:center;gap:var(--spacing-md);gap:var(--spacing-md)}.session-device{display:flex;align-items:center;gap:var(--spacing-md);flex:1;min-width:0}.session-icon{color:var(--text-secondary);flex-shrink:0}.session-info{flex:1;min-width:0}.session-title{font-weight:500;color:var(--text-primary);margin-bottom:4px;display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.session-details{font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.current-badge{background:var(--primary);color:#fff;padding:var(--spacing-xs)var(--spacing-md);border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm)var(--spacing-md);border:1px solid transparent;border-radius:6px;font-size:.875rem;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);background:0 0;font-family:inherit;min-height:var(--touch-target);justify-content:center}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:#007a2e;border-color:#007a2e}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary);color:var(--text-primary)}.btn-sm{padding:var(--spacing-sm)var(--spacing-lg);font-size:.85rem;border-radius:4px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0;max-width:150px}.btn-danger{background:var(--error);color:#fff;border:1px solid var(--error)}.btn-danger:hover{background:color-mix(in srgb,var(--error) 85%,black);border-color:color-mix(in srgb,var(--error) 85%,black)}@media(max-width:768px){.session-header{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.session-device{margin-bottom:var(--spacing-sm)}.session-title{font-size:.9rem}.session-details{font-size:.8rem}.btn-sm{width:100%;justify-content:center}}.crypto-method-btn{display:flex;align-items:center;width:100%;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--spacing-sm)}.crypto-method-btn:hover{border-color:var(--primary);background:var(--bg-tertiary)}.crypto-method-btn.active{border-color:var(--primary);background:rgba(0,151,57,.1)}.crypto-method-content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);width:100%}.crypto-symbol{font-size:1.1rem;font-weight:600;color:var(--primary)}.crypto-name{font-size:.9rem;color:var(--text-primary)}.crypto-fee{font-size:.8rem;color:var(--text-secondary)}.crypto-detail-item{display:flex;gap:var(--spacing-md);align-items:flex-start;margin-bottom:var(--spacing-sm);gap:var(--spacing-md)}.crypto-label{font-weight:500;color:var(--text-secondary);min-width:80px;flex-shrink:0}.crypto-value{color:var(--text-primary);word-break:break-all;flex:1}.crypto-badge{display:inline-block;padding:var(--spacing-xs)var(--spacing-sm);background:var(--bg-tertiary);color:var(--text-primary);border-radius:16px;font-size:.8rem;font-weight:500}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.crypto-value.success{color:var(--success)}.crypto-value.warning{color:var(--warning)}#virtual-folder-query{max-width:1100px;width:100%}#hidden-extensions{max-width:1100px;width:100%}#hidden-filenames{max-width:1100px;width:100%}#filename-replacements{max-width:1100px;width:100%}.url-container .copy-btn{position:static;flex-shrink:0}.traffic-breakdown{font-family:monaco,consolas,monospace}.traffic-purchase-offer{position:relative;overflow:hidden;padding:1rem;background:linear-gradient(135deg,#4caf50 0%,#2e7d32 100%);border-radius:8px;color:#fff;text-align:center}.traffic-purchase-offer::before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient( circle,rgba(255,255,255,.1) 0%,transparent 70% );animation:shimmer 3s infinite}@keyframes shimmer{0%,100%{transform:translate(50%,-50%)rotate(0)}50%{transform:translate(50%,-50%)rotate(180deg)}}.purchase-traffic-btn{background:#fff;color:#4caf50;padding:.75rem 2rem;border:2px solid #4caf50;border-radius:4px;font-weight:700;cursor:pointer;font-size:1rem;transition:all .3s ease;position:relative;overflow:hidden}.purchase-traffic-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(76,175,80,.4)}.purchase-traffic-btn:active{transform:translateY(0)}.purchase-traffic-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.purchase-history{animation:slideDown .3s ease-in}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}.events-table{width:100%;border-collapse:collapse;margin:1rem 0;min-width:600px}.events-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.events-table th,.events-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color);overflow:hidden;text-overflow:ellipsis}.events-table th{font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.events-table td{color:var(--text-secondary);font-size:.875rem;max-width:250px}.events-table tbody tr:hover{background:var(--bg-tertiary)}@media(max-width:768px){.events-table{font-size:.813rem}.events-table th,.events-table td{padding:.5rem}.events-table td{font-size:.813rem;max-width:150px}.events-table td:nth-child(2),.events-table td:nth-child(3),.events-table td:last-child{white-space:normal;word-break:break-word}}@media(max-width:480px){.events-table th,.events-table td{padding:.375rem;font-size:.75rem}.events-table th:nth-child(5),.events-table td:nth-child(5),.events-table th:nth-child(6),.events-table td:nth-child(6){display:none}}.filter-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.filter-row input[type=date],.filter-row input[type=text],.filter-row select{padding:.5rem;border:1px solid var(--border-color);border-radius:.375rem;background:var(--bg-tertiary);color:var(--text-primary);flex:1;min-width:150px}@media(max-width:480px){#events-modal .filter-row{flex-direction:row;align-items:center}}@media(max-width:420px){.filter-row input[type=date]{flex:1 1 110px;min-width:110px;max-width:140px}#events-modal .filter-row input[type=date]{flex:0 1 110px;min-width:100px;max-width:130px;padding:.4rem .5rem;font-size:.9rem}}.nntp-servers-list{display:flex;flex-direction:column;gap:1rem}.nntp-server-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;transition:all .2s ease}.nntp-server-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(0,0,0,.2)}.nntp-server-card.disabled{opacity:.6}.nntp-server-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.nntp-server-name{font-weight:600;font-size:1.1rem;color:var(--text-primary)}.nntp-server-status{display:flex;align-items:center;gap:.5rem}.nntp-server-status-indicator{width:8px;height:8px;border-radius:50%}.nntp-server-status-indicator.enabled{background-color:var(--text-success);box-shadow:0 0 4px rgba(34,197,94,.5)}.nntp-server-status-indicator.disabled{background-color:var(--text-secondary)}.nntp-server-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:.75rem}.nntp-server-detail{display:flex;flex-direction:column}.nntp-server-detail-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.nntp-server-detail-value{color:var(--text-primary);font-size:.9rem}.nntp-server-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.nntp-server-actions button{padding:.375rem .75rem;font-size:.875rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:.375rem;cursor:pointer;transition:all .2s}.nntp-server-actions button:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.nntp-server-actions button:disabled{opacity:.5;cursor:not-allowed}.nntp-server-actions button.danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.nntp-server-actions button.danger:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.5)}.nntp-server-priority-badge{display:inline-block;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:.25rem;font-size:.75rem;font-weight:600}.nntp-server-priority-badge.high{background:rgba(34,197,94,.1);color:var(--text-success)}.nntp-server-priority-badge.medium{background:rgba(251,191,36,.1);color:var(--text-warning)}.nntp-server-priority-badge.low{background:rgba(239,68,68,.1);color:#ef4444}.nntp-server-priority-badge.upload-only{background:rgba(59,130,246,.15);color:#1d4ed8}@media(max-width:768px){.nntp-server-details{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media(max-width:480px){.nntp-server-details{grid-template-columns:1fr;gap:.5rem}.nntp-server-header{flex-direction:column;align-items:flex-start;gap:.5rem}.nntp-server-status{width:100%;justify-content:flex-start}.nntp-server-actions{justify-content:stretch}.nntp-server-actions button{flex:1;min-width:0;font-size:.8rem;padding:.375rem .5rem}}.tab-bar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.tab-button{display:flex;align-items:center;gap:var(--spacing-xs);background:0 0;border:none;color:var(--text-secondary);padding:var(--spacing-sm)var(--spacing-md);font-size:.95rem;font-weight:500;cursor:pointer;position:relative;transition:color var(--transition-normal)}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--primary)}.tab-button.active::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.tab-content-wrapper{}.tab-panel{display:none}.tab-panel.active{display:block}@media(max-width:600px){.tab-bar{flex-wrap:wrap}.tab-content-wrapper{}}.billing-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);overflow:hidden}.billing-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.billing-card .card-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.billing-card .card-body{padding:var(--spacing-md)}.billing-card .card-footer{padding:var(--spacing-md);border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.subscription-status{padding:4px 12px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500}.subscription-status.status-active{background:var(--success-bg,rgba(76,175,80,.1));color:var(--success,#4caf50)}.subscription-status.status-canceled{background:var(--warning-bg,rgba(255,152,0,.1));color:var(--warning,#ff9800)}.subscription-detail{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm)0;border-bottom:1px solid var(--border-color)}.subscription-detail:last-child{border-bottom:none}.detail-label{color:var(--text-secondary);font-size:.9rem}.detail-value{color:var(--text-primary);font-size:.9rem;font-weight:500}.no-subscription-card .card-body{text-align:center;padding:var(--spacing-xl)}.no-subscription-card .text-muted{color:var(--text-secondary);font-size:1rem;margin-bottom:var(--spacing-sm)}.payment-history-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.payment-info{flex:1}.payment-date{color:var(--text-secondary);font-size:.85rem;margin-bottom:4px}.payment-details{color:var(--text-primary);font-size:.9rem;font-weight:500}.payment-status{padding:4px 10px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;text-transform:capitalize}.payment-status.status-completed{background:var(--success-bg,rgba(76,175,80,.1));color:var(--success,#4caf50)}.payment-status.status-pending{background:var(--info-bg,rgba(33,150,243,.1));color:var(--info,#2196f3)}.payment-status.status-failed{background:var(--error-bg,rgba(244,67,54,.1));color:var(--error,#f44336)}@media(max-width:768px){.payment-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.payment-status{align-self:flex-end}.subscription-detail{flex-direction:column;align-items:flex-start;gap:4px}}.shaka-controls-container{z-index:2!important}.shaka-play-button-container{z-index:2!important}.floating-view-switcher{position:fixed;bottom:20px;right:20px;z-index:1000}.fab-button{width:56px;height:56px;border-radius:50%;background:var(--primary,#2196f3);border:none;box-shadow:0 4px 8px rgba(0,0,0,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.fab-button:hover{background:var(--primary-hover,#1976d2);box-shadow:0 6px 12px rgba(0,0,0,.4);transform:scale(1.05)}.fab-button:active{transform:scale(.95)}.fab-icon{color:#fff}.fab-menu{position:absolute;bottom:70px;right:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.3);overflow:hidden;animation:fadeIn .2s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fab-menu-item{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background .2s ease;border-bottom:1px solid var(--border-color);color:var(--text-primary);text-decoration:none}.fab-menu-item:last-child{border-bottom:none}.fab-menu-item:hover{background:var(--bg-tertiary)}.fab-menu-item.active{background:var(--primary-bg,rgba(33,150,243,.1));color:var(--primary,#2196f3)}.fab-menu-item.active::after{content:"✓";margin-left:auto;font-weight:700}.fab-menu-icon{width:20px;height:20px;flex-shrink:0}.fab-menu-label{flex:1;font-size:.9rem}@media(max-width:768px){.floating-view-switcher{bottom:80px;right:16px}.fab-button{width:50px;height:50px}.fab-menu{min-width:180px;bottom:64px}.fab-menu-item{padding:10px 14px}}.continue-watching-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg)}.continue-watching-card{position:relative;background:var(--bg-secondary);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);border:1px solid var(--border-color);display:flex;flex-direction:column}.continue-watching-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.3)}.continue-watching-delete{position:absolute;top:8px;right:8px;width:28px;height:28px;background:rgba(0,0,0,.7);border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast)}.continue-watching-card:hover .continue-watching-delete{opacity:1}.continue-watching-delete:hover{background:rgba(231,76,60,.9)}.continue-watching-thumbnail{width:100%;height:300px;background:linear-gradient( 135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100% );display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.continue-watching-poster{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.continue-watching-thumbnail .play-icon{width:64px;height:64px;color:#fff;opacity:.9;z-index:2;position:relative;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.continue-watching-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:rgba(0,0,0,.5);z-index:3}.continue-watching-progress .progress-bar{height:100%;background:var(--primary);transition:width var(--transition-normal)}.continue-watching-info{padding:var(--spacing-lg)}.continue-watching-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-sm);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.continue-watching-meta{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-watching-empty{display:none;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl)var(--spacing-lg);text-align:center;min-height:200px}.continue-watching-empty .empty-icon{width:64px;height:64px;color:var(--text-dim);margin-bottom:var(--spacing-lg)}.continue-watching-empty .empty-text{font-size:16px;font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.continue-watching-empty .empty-subtext{font-size:14px;color:var(--text-dim)}@media(max-width:1024px){.continue-watching-container{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.continue-watching-thumbnail{height:270px}}@media(max-width:768px){.continue-watching-container{padding:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.continue-watching-thumbnail{height:225px}.continue-watching-thumbnail .play-icon{width:48px;height:48px}.continue-watching-info{padding:var(--spacing-md)}.continue-watching-title{font-size:13px}.continue-watching-meta{font-size:11px}}.subtitle-picker-body{display:flex;flex-direction:column;gap:12px}.subtitle-picker-status{color:var(--text-secondary);font-size:.9rem}.subtitle-picker-list{display:flex;flex-direction:column;gap:8px}.subtitle-picker-section{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-top:4px;margin-bottom:-4px}.subtitle-picker-item{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer}.subtitle-picker-item:hover{background:var(--bg-tertiary)}.subtitle-picker-title{display:block;font-weight:600}.subtitle-picker-meta{display:block;margin-top:2px;font-size:.85rem;color:var(--text-secondary)}