@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600&family=Syne:wght@500;600;700;800&display=swap";:root{--bg-cream: #FAF8F5;--bg-warm: #F5F2ED;--bg-dark: #1A1A1A;--bg-charcoal: #2A2A2A;--text-primary: #1A1A1A;--text-secondary: #5A5A5A;--text-muted: #8A8A8A;--text-light: #FAF8F5;--accent-terracotta: #C65D3B;--accent-terracotta-light: #D97856;--accent-terracotta-subtle: rgba(198, 93, 59, .1);--accent-sage: #7A9E7E;--accent-ochre: #D4A853;--border-light: rgba(26, 26, 26, .08);--border-medium: rgba(26, 26, 26, .15);--shadow-soft: 0 2px 20px rgba(26, 26, 26, .06);--shadow-card: 0 4px 30px rgba(26, 26, 26, .08);--shadow-elevated: 0 12px 40px rgba(26, 26, 26, .12);--font-display: "Syne", sans-serif;--font-body: "Instrument Sans", sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-cream);color:var(--text-primary);min-height:100vh;line-height:1.6}#root{min-height:100vh}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.02;pointer-events:none;z-index:9999}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;letter-spacing:-.02em}h1{font-size:3rem}h2{font-size:2rem}h3{font-size:1.5rem}p{font-family:var(--font-body);line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .3s var(--ease-smooth)}.btn-primary{background:var(--accent-terracotta);color:var(--text-light)}.btn-primary:hover{background:var(--accent-terracotta-light);transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.btn-secondary{background:transparent;color:var(--text-primary);border:1.5px solid var(--border-medium)}.btn-secondary:hover{border-color:var(--accent-terracotta);color:var(--accent-terracotta)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:10px 16px}.btn-ghost:hover{color:var(--text-primary);background:var(--accent-terracotta-subtle)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.input{background:var(--bg-warm);border:1.5px solid var(--border-light);border-radius:var(--radius-md);padding:16px 20px;color:var(--text-primary);font-family:var(--font-body);font-size:16px;width:100%;transition:all .2s var(--ease-smooth)}.input::placeholder{color:var(--text-muted)}.input:focus{outline:none;border-color:var(--accent-terracotta);background:#fff;box-shadow:0 0 0 4px var(--accent-terracotta-subtle)}.tag{display:inline-block;padding:6px 14px;background:var(--accent-terracotta-subtle);color:var(--accent-terracotta);border-radius:999px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.tag-sage{background:#7a9e7e1f;color:var(--accent-sage)}.tag-ochre{background:#d4a8531f;color:var(--accent-ochre)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes gentlePulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fade-in{animation:fadeIn .6s var(--ease-smooth) forwards}.skeleton{background:linear-gradient(90deg,var(--bg-warm) 25%,var(--bg-cream) 50%,var(--bg-warm) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-warm)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{max-width:1400px;margin:0 auto;padding:0 32px}.grid{display:grid;gap:24px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.text-center{text-align:center}.text-sm{font-size:14px}.text-xs{font-size:12px}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::selection{background:var(--accent-terracotta);color:#fff}.search-container{position:relative;width:100%}.search-input-wrapper{position:relative}.search-input{width:100%;padding:18px 24px 18px 52px;background:#fff;border:1.5px solid var(--border-light);border-radius:var(--radius-lg);font-family:var(--font-body);font-size:16px;color:var(--text-primary);box-shadow:var(--shadow-soft);transition:all .3s var(--ease-smooth)}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none;border-color:var(--accent-terracotta);box-shadow:var(--shadow-card),0 0 0 4px var(--accent-terracotta-subtle)}.search-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--text-muted);pointer-events:none;transition:color .2s}.search-input:focus+.search-icon,.search-input:not(:placeholder-shown)+.search-icon{color:var(--accent-terracotta)}.search-spinner{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:18px;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.search-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;justify-content:flex-start}.filter-btn{padding:10px 18px;background:transparent;border:1.5px solid var(--border-light);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s var(--ease-smooth)}.search-warning{margin-top:12px;padding:10px 16px;background:var(--accent-ochre-subtle, rgba(212, 168, 83, .15));border:1px solid var(--accent-ochre);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px}.search-results{margin-top:12px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);max-height:350px;overflow-y:auto}.search-result-item{display:flex;align-items:center;gap:14px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background .15s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-warm)}.result-image{width:44px;height:66px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-warm);flex-shrink:0}.result-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.25rem;background:var(--bg-warm)}.result-info{flex:1;min-width:0}.result-title{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted)}.result-type{text-transform:capitalize;font-weight:500}.result-year{color:var(--text-muted)}.search-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:14px}.search-error{padding:20px;text-align:center;color:var(--accent-terracotta);font-size:14px;background:var(--accent-terracotta-subtle)}@media(max-width:600px){.search-filters{gap:8px}.filter-btn{padding:8px 14px;font-size:12px}.search-results{max-height:280px}.result-image{width:36px;height:54px}.result-title{font-size:13px}}.media-card{position:relative;background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid var(--border-light);transition:all .4s var(--ease-smooth);cursor:default;display:flex;flex-direction:column;height:100%}.media-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated);border-color:var(--border-medium)}.media-image{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--bg-warm);flex-shrink:0}.media-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-smooth)}.media-card:hover .media-image img{transform:scale(1.05)}.media-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-warm);color:var(--text-muted);font-size:2.5rem;aspect-ratio:2/3}.media-type-badge{position:absolute;top:12px;left:12px;padding:6px 12px;background:#fff!important;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);box-shadow:0 2px 8px #0000001a}.media-similarity{position:absolute;top:12px;right:12px;padding:6px 10px;background:var(--accent-terracotta);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:11px;font-weight:700}.media-content{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}.media-title{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.media-year{font-family:var(--font-body);font-size:13px;color:var(--text-muted);margin:0}.media-vibes{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.media-vibes .tag{padding:4px 10px;background:var(--bg-warm);color:var(--text-secondary);border-radius:999px;font-size:11px;font-weight:500}.media-vibes .tag-highlight{background:var(--accent-terracotta-subtle);color:var(--accent-terracotta)}.shared-vibes-label{font-size:12px;color:var(--text-muted);margin:0;font-style:italic}.media-actions{margin-top:8px}.media-actions .btn{width:100%;justify-content:center}.media-card-wrapper{display:flex;flex-direction:column;height:100%}.media-card-wrapper .media-card{flex:1}.media-remove-btn{width:100%;margin-top:8px;padding:8px 0;background:transparent;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:6px;font-size:13px;font-family:var(--font-body);color:var(--text-muted);transition:color .2s ease}.media-remove-btn:hover{color:var(--accent-terracotta)}.recommendation-card-wrapper{display:flex;flex-direction:column;height:100%}.recommendation-card-wrapper .media-card{flex:1}.add-to-collection-btn{width:100%;margin-top:12px;justify-content:center}.vibe-cloud{text-align:center;padding:40px 32px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.vibe-cloud-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.vibe-cloud-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:28px}.vibe-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.vibe-tag{padding:10px 20px;background:var(--bg-warm);border:1px solid var(--border-light);border-radius:var(--radius-md);font-family:var(--font-display);font-weight:600;color:var(--text-primary);transition:all .3s var(--ease-smooth);cursor:default}.vibe-tag:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);border-color:var(--accent-terracotta)}.vibe-tag.size-1{font-size:11px;padding:6px 14px;color:var(--text-muted)}.vibe-tag.size-2{font-size:13px;padding:8px 16px;color:var(--text-secondary)}.vibe-tag.size-3{font-size:15px;padding:10px 20px;color:var(--text-primary)}.vibe-tag.size-4{font-size:17px;padding:12px 24px;color:var(--accent-terracotta);background:var(--accent-terracotta-subtle);border-color:transparent}.vibe-tag.size-5{font-size:20px;padding:14px 28px;color:#fff;background:var(--accent-terracotta);border-color:transparent}.vibe-category{margin-bottom:24px}.vibe-category:last-child{margin-bottom:0}.vibe-category-label{font-family:var(--font-body);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px}.vibe-empty{padding:40px;color:var(--text-muted);font-size:14px}.vibe-loading{padding:40px;color:var(--text-muted);font-size:14px;animation:gentlePulse 1.5s ease-in-out infinite}.user-menu{position:relative;display:flex;align-items:center}.user-trigger{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#fff;border:1.5px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease-smooth);color:inherit}.user-trigger:hover{border-color:var(--accent-terracotta);background:var(--surface-hover)}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-name{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--text-primary);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow{font-size:10px;color:var(--text-muted);margin-left:4px}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 4px 20px #0000001a;min-width:200px;z-index:1000;display:flex;flex-direction:column;padding:6px;animation:fadeIn .1s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:transparent;text-align:left;font-family:var(--font-body);font-size:14px;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background .15s}.menu-item:hover{background:var(--surface-hover);color:var(--accent-terracotta)}.menu-divider{height:1px;background:var(--border-light);margin:4px 0}.menu-item.danger{color:#ef4444}.menu-item.danger:hover{background:#ef44440d;color:#dc2626}@media(max-width:600px){.user-name{display:none}.user-trigger{padding:4px;border:none;background:transparent}.user-avatar{width:36px;height:36px}.dropdown-arrow{display:none}}.collections-page{min-height:100vh;background:var(--bg-cream)}.collections-page .page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0;margin:0 32px;border-bottom:1px solid var(--border-light)}.collections-page .back-btn{background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:14px;cursor:pointer;padding:8px 0;transition:color .2s}.collections-page .back-btn:hover{color:var(--text-primary)}.collections-page .page-header h1{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--text-primary);margin:0;flex:1}.collections-page .page-content{padding:48px 32px;max-width:1200px;margin:0 auto}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px}.collection-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:28px;cursor:pointer;transition:all .3s var(--ease-smooth);box-shadow:var(--shadow-soft)}.collection-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated);border-color:var(--accent-terracotta)}.collection-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.collection-card h3{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.delete-btn{background:transparent;border:none;font-size:16px;cursor:pointer;opacity:.5;transition:opacity .2s;padding:4px}.delete-btn:hover{opacity:1}.collection-meta{margin-bottom:20px}.item-count{font-size:14px;color:var(--text-muted)}.collection-action{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--accent-terracotta);padding-top:16px;border-top:1px solid var(--border-light)}.collections-page .empty-state{text-align:center;padding:100px 32px;max-width:440px;margin:0 auto}.collections-page .empty-icon{font-size:56px;margin-bottom:28px;opacity:.7}.collections-page .empty-state h2{font-family:var(--font-display);font-size:1.75rem;font-weight:700;margin-bottom:16px}.collections-page .empty-state p{color:var(--text-secondary);font-size:16px;margin-bottom:32px;line-height:1.6}.collections-page .loading-state{text-align:center;padding:80px 32px;color:var(--text-muted);font-size:16px}.collections-page .modal-overlay{position:fixed;inset:0;background:#1a1a1a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.collections-page .modal-content{background:#fff;border-radius:var(--radius-lg);padding:32px;min-width:400px;max-width:90%;box-shadow:var(--shadow-elevated)}.collections-page .modal-content h3{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0 0 24px}.collections-page .modal-content input{width:100%;padding:16px 20px;background:var(--bg-warm);border:1.5px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:16px;margin-bottom:24px}.collections-page .modal-content input:focus{outline:none;border-color:var(--accent-terracotta);background:#fff}.collections-page .modal-actions{display:flex;gap:12px;justify-content:flex-end}@media(max-width:768px){.collections-page .page-header{flex-direction:column;align-items:flex-start;gap:16px;margin:0 20px;padding:24px 0}.collections-page .page-header h1{font-size:1.5rem}.collections-page .page-content{padding:32px 20px}.collections-grid{grid-template-columns:1fr;gap:20px}.collection-card{padding:20px}.collections-page .modal-content{min-width:auto;margin:20px}}.collection-detail-page{min-height:100vh;background:var(--bg-cream)}.collection-detail-page .page-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px 0;margin:0 32px;border-bottom:1px solid var(--border-light)}.collection-detail-page .back-btn{background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:14px;cursor:pointer;padding:8px 0;transition:color .2s}.collection-detail-page .back-btn:hover{color:var(--text-primary)}.collection-title-area{flex:1}.collection-title-area h1,.editable-title{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--text-primary);margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:12px}.edit-hint{font-size:.7em;opacity:0;transition:opacity .2s}.editable-title:hover .edit-hint{opacity:.5}.edit-name-inline{display:flex;align-items:center;gap:12px}.edit-name-inline input{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary);background:var(--bg-warm);border:2px solid var(--accent-terracotta);border-radius:var(--radius-md);padding:8px 16px;min-width:300px}.btn-sm{padding:8px 16px!important;font-size:14px!important}.collection-detail-page .page-content{padding:48px 32px;max-width:1200px;margin:0 auto}.collection-detail-page section{margin-bottom:64px}.collection-detail-page section h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:12px}.collection-detail-page .section-description{color:var(--text-secondary);font-size:15px;margin-bottom:24px}.add-media-section{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-soft)}.add-media-section h2{margin-bottom:8px!important}.media-section h2{margin-bottom:24px!important}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px;align-items:stretch}.media-card-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.media-card-wrapper .media-card,.media-card-wrapper .media-content{flex:1;display:flex;flex-direction:column}.media-card-wrapper .media-actions{margin-top:auto}.remove-from-collection-btn{width:100%;margin-top:auto;padding-top:12px;justify-content:center;font-size:13px;color:var(--text-muted)}.remove-from-collection-btn:hover{color:var(--accent-terracotta)}.empty-media{text-align:center;padding:60px 32px;background:var(--bg-warm);border-radius:var(--radius-lg);color:var(--text-secondary)}.recommendations-section h2{margin-bottom:8px!important}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}.collection-detail-page .loading-state,.collection-detail-page .error-state{text-align:center;padding:100px 32px;color:var(--text-muted);font-size:16px}@media(max-width:768px){.collection-detail-page .page-header{flex-direction:column;align-items:flex-start;gap:16px;margin:0 20px;padding:24px 0}.collection-title-area h1,.editable-title{font-size:1.5rem}.collection-detail-page .page-content{padding:32px 20px}.collection-detail-page section{margin-bottom:48px}.add-media-section{padding:24px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.recommendations-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.edit-name-inline input{min-width:auto;width:100%;font-size:1.25rem}}.legal-container{max-width:800px;margin:0 auto;padding:40px 20px}.legal-container h1{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px;line-height:1.2}.legal-container h2{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:12px;margin-top:0}.legal-container h3{font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px;margin-top:0}.legal-container p{font-family:var(--font-body);font-size:14px;line-height:1.7;color:var(--text-secondary);margin:0 0 16px}.legal-container .text-muted{font-size:13px;color:var(--text-muted)}.legal-container section{margin:32px 0;padding-bottom:24px;border-bottom:1px solid var(--border-light)}.legal-container section:last-child{border-bottom:none}.legal-container a{color:var(--accent-terracotta);text-decoration:none;transition:color .2s ease}.legal-container a:hover{color:var(--accent-terracotta-light);text-decoration:underline}.legal-container strong{font-weight:600;color:var(--text-primary)}@media(max-width:640px){.legal-container h1{font-size:24px}.legal-container h2{font-size:18px}}.footer{background:var(--bg-cream);border-top:1px solid var(--border-light);padding:60px 0 40px;margin-top:auto}.footer-content{display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center}.attribution-label{font-family:var(--font-body);font-size:13px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px}.provider-logos{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;margin-bottom:32px}.provider-link{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .3s var(--ease-smooth);opacity:.6}.provider-link:hover{opacity:1;transform:translateY(-2px);color:var(--accent-terracotta)}.provider-icon{height:32px;width:auto;fill:currentColor}.provider-logo-omdb{font-family:var(--font-display);font-weight:800;font-size:24px;letter-spacing:-.05em;border:2px solid currentColor;padding:2px 8px;border-radius:4px;line-height:1}.footer-bottom{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--text-muted);max-width:600px;line-height:1.6}.disclaimer{font-size:12px;opacity:.7}.legal-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:16px}.legal-link{background:none;border:none;font-family:var(--font-body);font-size:13px;color:var(--text-muted);cursor:pointer;padding:0;transition:all .3s var(--ease-smooth);text-decoration:none}.legal-link:hover{color:var(--accent-terracotta)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:12px}.toast{padding:16px 24px;background:var(--bg-dark);color:var(--text-light);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);font-family:var(--font-body);font-size:14px;font-weight:500;min-width:280px;max-width:400px;animation:slideIn .3s var(--ease-bounce);display:flex;align-items:center;gap:12px}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast.success{background:var(--accent-sage)}.toast.error{background:var(--accent-terracotta)}.toast.warning{background:var(--accent-ochre);color:var(--text-primary)}.toast-icon{font-size:18px;flex-shrink:0}.toast-message{flex:1}.toast-close{background:transparent;border:none;color:inherit;opacity:.7;cursor:pointer;padding:4px;font-size:16px;transition:opacity .2s}.toast-close:hover{opacity:1}.app{min-height:100vh;display:flex;flex-direction:column;position:relative}.header{padding:32px 0;border-bottom:1px solid var(--border-light);background:var(--bg-cream);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{display:flex;justify-content:space-between;align-items:center;gap:32px}.header-brand{text-align:left}.header-actions{display:flex;align-items:center;gap:16px}.btn-collections-header{background:transparent;border:1.5px solid var(--text-primary);color:var(--text-primary);padding:10px 20px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:all .3s var(--ease-smooth)}.btn-collections-header:hover{background:var(--text-primary);color:var(--bg-cream)}.logo{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:12px;margin:0;letter-spacing:-.03em}.logo-icon{font-size:1.8rem;opacity:.8}.tagline{font-family:var(--font-body);color:var(--text-secondary);font-size:14px;margin-top:6px;font-weight:400;letter-spacing:.01em}.main{flex:1;padding:48px 0}section{margin-bottom:64px;opacity:0;animation:fadeInUp .7s var(--ease-smooth) forwards}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;flex-wrap:wrap;gap:20px}.section-header h2{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.section-description{color:var(--text-secondary);font-size:15px;margin-top:8px}.search-section{max-width:640px;margin:0 auto 48px;animation-delay:.1s}.login-reminder{text-align:center;padding:20px 28px;background:var(--accent-terracotta-subtle);border:1px solid rgba(198,93,59,.15);border-radius:var(--radius-md);color:var(--accent-terracotta);margin-bottom:40px;font-size:14px;font-weight:500}.likes-section{animation-delay:.2s}.section-actions{display:flex;gap:12px;flex-wrap:wrap}.likes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.vibes-section{max-width:800px;margin:0 auto 64px;animation-delay:.3s}.recommendations-section{animation-delay:.4s}.recommendations-section h2{margin-bottom:8px}.recommendation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:10px 18px;background:transparent;border:1.5px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all .25s var(--ease-smooth)}.filter-btn:hover{border-color:var(--accent-terracotta);color:var(--accent-terracotta)}.filter-btn.active{background:var(--accent-terracotta);border-color:var(--accent-terracotta);color:#fff}.empty-state{text-align:center;padding:100px 32px;max-width:560px;margin:0 auto;animation-delay:.2s}.empty-icon{font-size:56px;margin-bottom:32px;animation:gentlePulse 3s ease-in-out infinite}.empty-state h2{font-family:var(--font-display);font-size:2.25rem;font-weight:700;margin-bottom:20px;letter-spacing:-.02em;line-height:1.2}.empty-state p{color:var(--text-secondary);font-size:17px;line-height:1.8;margin-bottom:40px}.empty-state em{color:var(--accent-terracotta);font-style:normal;font-weight:600}.example-searches{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.example-tag{padding:12px 22px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--text-secondary);box-shadow:var(--shadow-soft);transition:all .3s var(--ease-smooth);cursor:default}.example-tag:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);border-color:var(--accent-terracotta);color:var(--accent-terracotta)}.modal-overlay{position:fixed;inset:0;background:#1a1a1a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s var(--ease-smooth)}.modal-content{background:#fff;border-radius:var(--radius-lg);padding:32px;min-width:380px;max-width:90%;box-shadow:var(--shadow-elevated);animation:scaleIn .3s var(--ease-bounce)}.modal-content h3{font-family:var(--font-display);margin:0 0 12px;font-size:1.5rem;font-weight:700}.modal-description{color:var(--text-secondary);margin-bottom:20px;font-size:15px}.modal-content input{width:100%;padding:14px 18px;background:var(--bg-warm);border:1.5px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:16px;margin-bottom:20px;transition:all .2s var(--ease-smooth)}.modal-content input:focus{outline:none;border-color:var(--accent-terracotta);background:#fff}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-login-area{display:flex;justify-content:center;margin-bottom:20px}.error-message{background:#c65d3b14;border:1px solid rgba(198,93,59,.2);color:var(--accent-terracotta);padding:18px 24px;border-radius:var(--radius-md);margin-bottom:28px;text-align:center;font-weight:500}.footer{padding:40px 32px;text-align:center;color:var(--text-muted);font-size:13px;border-top:1px solid var(--border-light);letter-spacing:.02em}@media(max-width:768px){.header{padding:24px 0}.header-content{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;justify-content:space-between}.logo{font-size:1.6rem}.tagline{font-size:13px}.main{padding:32px 0}.section-header{flex-direction:column;align-items:stretch}.section-header h2{font-size:1.5rem}.empty-state{padding:60px 24px}.empty-state h2{font-size:1.75rem}.recommendation-grid,.likes-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.modal-content{min-width:auto;margin:16px}}
