@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.favorites-page{min-height:100vh;background:var(--bg-primary);padding:2rem 0 4rem}.favorites-page .container{max-width:1400px;margin:0 auto;padding:0 1.5rem}.favorites-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem;flex-wrap:wrap;background:linear-gradient(135deg,#ff45000d,#ff450005);padding:2rem;border-radius:16px;border:2px solid var(--card-border)}.header-content h1{font-size:2.25rem;color:var(--text-primary);margin-bottom:.5rem;background:linear-gradient(135deg,var(--reddit-orange) 0%,#ff6b35 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.favorites-page .subtitle{font-size:1rem;color:var(--text-secondary)}.favorites-page .header-stats{display:flex;gap:1rem;align-items:center}.favorites-page .stat-badge{background:var(--reddit-orange);color:#fff;padding:.625rem 1.5rem;border-radius:24px;font-weight:700;font-size:1rem;box-shadow:0 4px 12px #ff450040;letter-spacing:.5px;min-width:100px;text-align:center}.favorites-page .controls-section{background:var(--card-bg);border:2px solid var(--card-border);border-radius:16px;padding:1.75rem;margin-bottom:2rem;box-shadow:0 2px 8px var(--shadow)}.search-box{position:relative;margin-bottom:1.5rem}.search-icon{position:absolute;left:1.125rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-tertiary);z-index:1}#search-input{width:100%;padding:1rem 1.25rem 1rem 3.25rem;border:2px solid var(--card-border);border-radius:12px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:all .3s;font-weight:500}#search-input:focus{outline:none;border-color:var(--reddit-orange);box-shadow:0 0 0 4px #ff45001a;transform:translateY(-1px)}#search-input::placeholder{color:var(--text-tertiary)}.control-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.sort-controls{display:flex;align-items:center;gap:.75rem}.sort-controls label{font-weight:600;color:var(--text-secondary);font-size:.875rem}#sort-select{padding:.5rem 2.5rem .5rem .75rem;border:2px solid var(--card-border);border-radius:6px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.view-controls{display:flex;gap:.75rem}.view-btn,.action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;border:2px solid var(--card-border);border-radius:10px;background:var(--bg-primary);color:var(--text-secondary);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.view-btn svg,.action-btn svg{width:18px;height:18px;flex-shrink:0}.view-btn:hover,.action-btn:hover{border-color:var(--reddit-orange);color:var(--reddit-orange);transform:translateY(-2px);box-shadow:0 4px 12px #ff450026}.view-btn:active,.action-btn:active{transform:translateY(0)}.view-btn.active{border-color:var(--reddit-orange);background:#ff45001a;color:var(--reddit-orange)}.action-btn.danger:hover{border-color:#dc2626;color:#dc2626;box-shadow:0 4px 12px #dc262626}.import-section{background:var(--card-bg);border:2px dashed var(--card-border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}#import-textarea{width:100%;min-height:150px;padding:1rem;border:2px solid var(--card-border);border-radius:8px;font-family:Courier New,monospace;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);margin-bottom:1rem}.import-actions{display:flex;gap:1rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:var(--reddit-orange);color:#fff}.btn-primary:hover{background:#cc3700;transform:translateY(-2px)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--card-border)}.btn-secondary:hover{border-color:var(--text-secondary)}.favorites-page .favorites-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem;margin-top:2rem}.favorites-page .favorites-container #scroll-sentinel-favorites{grid-column:1 / -1;height:1px;opacity:0;pointer-events:none}@media (max-width: 768px){.favorites-page .favorites-container{grid-template-columns:1fr;gap:1.25rem}}@media (max-width: 480px){.favorites-page .favorites-container{grid-template-columns:1fr;gap:1rem}}.favorites-page .category-group{grid-column:1 / -1;margin-bottom:2rem}.favorites-page .category-group h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:3px solid var(--reddit-orange)}.favorites-page .category-group .favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem}@media (max-width: 768px){.favorites-page .category-group .favorites-grid{grid-template-columns:1fr;gap:1.25rem}}.favorites-page .favorites-container .subreddit-card{position:relative;background:var(--card-bg);border:2px solid var(--card-border);border-radius:20px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 8px #0000000a;height:auto;cursor:pointer}.favorites-page .favorites-container .subreddit-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--reddit-orange),#FF8B66,#FF6B35);opacity:0;transition:opacity .3s ease}.favorites-page .favorites-container .subreddit-card:hover:before{opacity:1}.favorites-page .favorites-container .subreddit-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px #ff450026;border-color:#ff45004d}html.dark-mode .favorites-page .favorites-container .subreddit-card{border-color:#343536;box-shadow:0 2px 12px #0006}html.dark-mode .favorites-page .favorites-container .subreddit-card:hover{box-shadow:0 16px 40px #ff45004d}.favorites-page .favorites-container .card-content{padding:1.75rem;display:flex;flex-direction:column;flex:1;overflow:hidden;max-width:100%}.favorites-page .favorites-container .card-top{display:flex;gap:1rem;margin-bottom:1rem;align-items:flex-start;overflow:hidden;max-width:100%}.favorites-page .favorites-container .subreddit-avatar{width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,var(--reddit-orange) 0%,#FF6B35 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #ff450033;transition:all .3s ease}.favorites-page .favorites-container .subreddit-card:hover .subreddit-avatar{transform:scale(1.05);box-shadow:0 6px 16px #ff45004d}.favorites-page .favorites-container .subreddit-info{flex:1;min-width:0;overflow:hidden;max-width:100%}.favorites-page .favorites-container .card-favorite{flex-shrink:0;margin-top:-.25rem}.favorites-page .favorites-container .subreddit-name{margin:0 0 .5rem;font-size:1.3rem;font-weight:800;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;transition:color .2s ease}.favorites-page .favorites-container .subreddit-description-compact{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:.75rem 0 1rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.favorites-page .favorites-container .card-stats-compact{display:flex;align-items:center;justify-content:space-around;padding:.75rem .5rem;background:linear-gradient(135deg,#ff45000a,#ff450005);border-radius:10px}.favorites-page .favorites-container .stat-item-compact{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1}.favorites-page .favorites-container .stat-value-compact{font-size:1rem;font-weight:700;color:var(--reddit-orange);line-height:1}.favorites-page .favorites-container .stat-label-compact{font-size:.6875rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.favorites-page .favorites-container .stat-divider{width:1px;height:28px;background:var(--card-border)}.favorites-page .favorites-container .card-link{text-decoration:none!important;color:inherit;display:block}.favorites-page .favorites-container .card-link:hover{text-decoration:none!important}.favorites-page .favorites-container .subreddit-card:hover .subreddit-name{color:var(--reddit-orange)}.favorites-page .favorites-container .subreddit-meta{display:flex;gap:.5rem;flex-wrap:wrap}.favorites-page .favorites-container .topic-tag{padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:12px;font-size:.75rem;color:var(--text-tertiary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.favorites-page .favorites-container .favorite-btn{background:transparent;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;flex-shrink:0}.favorites-page .favorites-container .favorite-btn:hover{background:var(--bg-secondary);transform:scale(1.1)}.favorites-page .favorites-container .favorite-icon{stroke-width:2;stroke:var(--text-secondary);transition:all .2s}.favorites-page .favorites-container .favorite-btn.active .favorite-icon{fill:#ff4500;stroke:#ff4500}.favorites-page .favorites-container .favorite-btn:hover .favorite-icon{stroke:#ff4500}.favorites-page .favorites-container .favorite-btn.animating{animation:heartPop .4s cubic-bezier(.4,0,.2,1)}@keyframes heartPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.favorites-page .favorites-container .subreddit-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.65;margin:0 0 1.25rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.95rem;word-break:break-word;overflow-wrap:break-word}.favorites-page .favorites-container .card-stats{display:flex;gap:1.5rem;padding:1rem 0;margin-top:.875rem;margin-bottom:1rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.favorites-page .favorites-container .card-stat-item{display:flex;align-items:center;gap:.5rem}.favorites-page .favorites-container .stat-icon{width:36px;height:36px;border-radius:8px;background:var(--reddit-orange);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.favorites-page .favorites-container .stat-icon svg{width:20px;height:20px}.favorites-page .favorites-container .stat-data{display:flex;flex-direction:column;gap:.15rem}.favorites-page .favorites-container .stat-value{font-size:.95rem;font-weight:700;color:var(--text-primary);line-height:1;word-break:break-word;overflow-wrap:break-word}.favorites-page .favorites-container .stat-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;font-weight:600}.favorites-page .favorites-container .card-actions{display:flex;align-items:stretch;gap:.75rem;margin-top:auto;max-width:100%;overflow:hidden}.favorites-page .favorites-container .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.9375rem 1.5rem;background:linear-gradient(135deg,var(--reddit-orange) 0%,#FF6B35 100%);color:#fff;text-decoration:none;border-radius:14px;font-weight:700;font-size:.9375rem;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #ff450040;position:relative;overflow:hidden;border:none;cursor:pointer;min-width:0;white-space:nowrap}.favorites-page .favorites-container .btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.favorites-page .favorites-container .btn-primary:hover:before{left:100%}.favorites-page .favorites-container .btn-primary:hover{background:linear-gradient(135deg,var(--reddit-orange-light) 0%,#FF8B66 100%);transform:translateY(-2px);box-shadow:0 8px 20px #ff450066}.favorites-page .favorites-container .btn-arrow{width:18px;height:18px;transition:transform .2s}.favorites-page .favorites-container .btn-primary:hover .btn-arrow{transform:translate(3px)}.favorites-page .favorites-container .btn-secondary{display:flex;align-items:center;justify-content:center;width:50px;min-height:50px;border:2px solid var(--card-border);border-radius:14px;color:var(--text-tertiary);transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;background:var(--card-bg);text-decoration:none}.favorites-page .favorites-container .btn-secondary svg{width:22px;height:22px;transition:transform .2s ease}.favorites-page .favorites-container .btn-secondary:hover{border-color:var(--reddit-orange);color:var(--reddit-orange);background:#ff45000f;transform:translateY(-2px);box-shadow:0 4px 12px #ff450026}.favorites-page .favorites-container .btn-secondary:hover svg{transform:scale(1.1) rotate(-10deg)}.empty-state{text-align:center;padding:3rem 2rem;max-width:800px;margin:0 auto}.empty-icon-wrapper{display:flex;justify-content:center;margin-bottom:2rem}.empty-icon{width:80px;height:80px;color:var(--reddit-orange);opacity:.3;animation:floatHeart 3s ease-in-out infinite}@keyframes floatHeart{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h2{font-size:2rem;color:var(--text-primary);margin-bottom:.75rem}.empty-state>p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2.5rem}.empty-instructions{display:grid;gap:1.5rem;margin-bottom:2.5rem;text-align:left}.instruction-step{display:flex;gap:1.25rem;align-items:flex-start;background:var(--card-bg);padding:1.5rem;border-radius:12px;border:2px solid var(--card-border);transition:all .3s}.instruction-step:hover{border-color:var(--reddit-orange);transform:translate(8px)}.step-number{flex-shrink:0;width:40px;height:40px;background:var(--reddit-orange);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem}.step-content{flex:1}.step-content strong{display:block;color:var(--text-primary);font-size:1.125rem;margin-bottom:.25rem}.step-content p{color:var(--text-secondary);font-size:.9375rem;margin:0}.empty-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;padding:1.5rem}.header-content h1{font-size:1.75rem}.control-row{flex-direction:column;align-items:stretch}.view-controls{justify-content:space-between}.favorites-page .favorites-container{grid-template-columns:1fr}.favorites-page .favorites-container .card-content{padding:1.5rem}.favorites-page .favorites-container .subreddit-name{font-size:1.15rem}.favorites-page .favorites-container .subreddit-description{font-size:.9rem;-webkit-line-clamp:2;min-height:3.6rem}.favorites-page .favorites-container .card-stats{gap:.75rem;padding:.75rem 0}.favorites-page .favorites-container .stat-icon{width:32px;height:32px}.favorites-page .favorites-container .stat-icon svg{width:18px;height:18px}.favorites-page .favorites-container .stat-value{font-size:.875rem}.favorites-page .favorites-container .stat-label{font-size:.65rem}.favorites-page .favorites-container .card-actions{gap:.5rem}.favorites-page .favorites-container .btn-primary{padding:.75rem 1.25rem;font-size:.875rem}.favorites-page .favorites-container .btn-secondary{width:46px;min-height:46px}.favorites-page .favorites-container .btn-secondary svg{width:20px;height:20px}}@media (max-width: 480px){.favorites-page .favorites-container .card-content{padding:1.25rem}.favorites-page .favorites-container .subreddit-avatar{width:50px;height:50px;font-size:1.5rem;border-radius:14px}.favorites-page .favorites-container .subreddit-name{font-size:1.125rem}.favorites-page .favorites-container .subreddit-meta{gap:.375rem}.favorites-page .favorites-container .topic-tag{font-size:.7rem;padding:.2rem .65rem}.favorites-page .favorites-container .subreddit-description{font-size:.875rem;min-height:3.5rem}.favorites-page .favorites-container .card-stats{flex-direction:column;gap:.5rem;padding:.75rem 0}.favorites-page .favorites-container .card-actions{gap:.5rem}.favorites-page .favorites-container .btn-primary{padding:.75rem 1rem;font-size:.8125rem}.favorites-page .favorites-container .btn-secondary{width:44px;min-height:44px}}@media (max-width: 360px){.favorites-page{padding:1.5rem 0 3rem}.favorites-page .container{padding:0 .75rem}.favorites-page .page-header{padding:1.25rem;margin-bottom:1.5rem}.header-content h1{font-size:1.75rem}.favorites-page .subtitle{font-size:.875rem}.favorites-page .stat-badge{padding:.5rem 1rem;font-size:.875rem;min-width:80px}.favorites-page .search-box{padding:.5rem}.favorites-page .search-input{font-size:.875rem;padding:.625rem 1rem .625rem 2.5rem}.favorites-page .search-icon{width:18px;height:18px;left:.875rem}.favorites-page .control-row{flex-direction:column;gap:.75rem}.favorites-page .sort-controls,.favorites-page .view-controls{width:100%}.favorites-page .sort-controls select{font-size:.8125rem;padding:.5rem .75rem}.favorites-page .action-btn{font-size:.8125rem;padding:.5rem .875rem}.favorites-page .favorites-grid{gap:1rem}.favorites-page .favorites-container .card-content{padding:1rem}.favorites-page .favorites-container .subreddit-avatar{width:44px;height:44px;font-size:1.25rem}.favorites-page .favorites-container .subreddit-name{font-size:.9375rem}.favorites-page .favorites-container .topic-tag{font-size:.6875rem;padding:.2rem .5rem}.favorites-page .favorites-container .subreddit-description{font-size:.8125rem}.favorites-page .favorites-container .btn-primary{padding:.625rem .875rem;font-size:.8125rem}.favorites-page .favorites-container .btn-secondary{width:40px;min-height:40px}.favorites-page .favorites-container .btn-secondary svg{width:18px;height:18px}.favorites-page .empty-state{padding:2rem 1rem}.favorites-page .empty-icon{font-size:3rem}.favorites-page .empty-state h2{font-size:1.375rem}.favorites-page .empty-state p{font-size:.875rem}.step-number{width:28px;height:28px;font-size:.875rem}.step-content strong{font-size:.875rem}.step-content p{font-size:.75rem}.favorites-page .btn-primary,.favorites-page .btn-secondary{padding:.625rem 1rem;font-size:.875rem}}
