.hero{max-width:680px;padding:var(--space-2xl) var(--gutter) var(--space-lg);text-align:center;margin:0 auto}.hero h1{font-size:var(--text-4xl);margin-bottom:var(--space-sm)}.hero p{color:var(--text-muted);font-size:var(--text-lg);max-width:480px;margin:0 auto}.main-card{max-width:680px;margin:0 auto var(--space-xl);padding:0 var(--gutter)}.card-surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg)}.prompt-section{margin-bottom:var(--space-lg)}.prompt-header{margin-bottom:var(--space-sm);flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.prompt-label{font-size:var(--text-sm);color:var(--text-muted)}.prompt-optional{font-size:var(--text-xs);color:var(--text-muted)}.prompt-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:var(--space-md);color:var(--text);font-family:inherit;font-size:var(--text-base);resize:vertical;outline:none;min-height:120px;transition:border-color .2s}.prompt-input:focus{border-color:var(--accent)}.prompt-error{color:#ef4444;font-size:var(--text-sm);background:#ef444414;border:1px solid #ef444433;border-radius:8px;margin-top:.6rem;padding:.5rem .75rem;animation:.25s errorSlideIn;display:none}.prompt-error.visible{display:block}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chips-section{margin-bottom:var(--space-lg)}.chips-label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-sm)}.chips-grid{flex-wrap:wrap;gap:.6rem;display:flex}.chip{border:1px solid var(--border);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border-radius:20px;padding:.5rem 1rem;font-family:inherit;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--text)}.chip:active{transform:scale(.96)}.platform-section{margin-bottom:var(--space-lg);padding-top:var(--space-sm);border-top:1px solid var(--border)}.platform-pills{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.5rem;padding-bottom:2px;display:flex;overflow-x:auto}.platform-pills::-webkit-scrollbar{display:none}.platform-pill{border:1px solid var(--border);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;letter-spacing:.02em;background:0 0;border-radius:20px;flex-shrink:0;padding:.35rem .85rem;font-family:inherit;font-weight:500;transition:all .15s}.platform-pill:hover{border-color:var(--accent);color:var(--text)}.platform-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.platform-pill:active{transform:scale(.96)}.actions{align-items:center;gap:var(--space-md);border-top:1px solid var(--border);padding-top:var(--space-lg);flex-wrap:wrap;display:flex}@media (width<=480px){.actions{flex-direction:column;align-items:stretch}.actions .btn{text-align:center;justify-content:center;width:100%}}.trending-section{max-width:1040px;margin:0 auto var(--space-2xl);padding:0 var(--gutter)}.trending-section h3{font-size:var(--text-2xl);margin-bottom:var(--space-md)}.trending-scroll-wrapper{margin-bottom:.5rem;overflow:hidden}.trending-scroll{gap:var(--space-md);width:max-content;padding-bottom:var(--space-sm);animation:40s linear infinite marquee;display:flex}.trending-scroll:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (hover:none),(width<=767px){.trending-scroll-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.trending-scroll-wrapper::-webkit-scrollbar{display:none}.trending-scroll{width:max-content;animation:none}}@media (prefers-reduced-motion:reduce){.trending-scroll{-webkit-overflow-scrolling:touch;width:auto;animation:none;overflow-x:auto}}.see-more-link{margin-top:var(--space-sm);color:var(--text-muted);font-size:var(--text-sm);text-decoration:none;transition:color .15s;display:inline-block}.see-more-link:hover{color:var(--accent)}.trending-card{transition:transform .2s var(--ease-out);flex-direction:column;flex:0 0 clamp(140px,22vw,180px);display:flex}.trending-card:hover{transform:translateY(-4px)}.trending-poster{aspect-ratio:2/3;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border);width:100%;margin-bottom:.5rem;transition:border-color .2s}.trending-card:hover .trending-poster{border-color:#f59e0b4d}.trending-title{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.results-section{max-width:1040px;padding:var(--space-lg) var(--gutter) var(--space-2xl);margin:0 auto;display:none}.results-section.visible{display:block}.results-header{margin-bottom:var(--space-xl);border-top:1px solid var(--border);padding-top:var(--space-lg)}.results-header h2{font-size:var(--text-3xl);margin-bottom:.5rem}.results-header p{color:var(--text-muted);font-size:var(--text-base)}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.movie-poster-wrapper{aspect-ratio:2/3;border-radius:var(--radius) var(--radius) 0 0;width:100%;position:relative;overflow:hidden}.movie-poster-wrapper:before{content:"";z-index:1;pointer-events:none;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(#000000b3 0%,#0000004d 50%,#0000 100%);height:40%;position:absolute;top:0;left:0;right:0}.movie-poster{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease-out)}.movie-card:hover .movie-poster{transform:scale(1.04)}.provider-badge{-webkit-backdrop-filter:blur(12px);color:#fff;border-radius:var(--radius-sm);z-index:2;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px #0009;border:1px solid #ffffff1f;max-width:calc(100% - 1.5rem);padding:.3rem .65rem;font-size:.7rem;font-weight:700;position:absolute;top:.75rem;right:.75rem;overflow:hidden;box-shadow:0 2px 8px #0006}.movie-info{padding:var(--space-md);flex-direction:column;flex:1;display:flex}.movie-title-row{align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.movie-title{font-family:Playfair Display,serif;font-size:var(--text-lg);font-weight:600;line-height:1.2}.movie-year{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0}.movie-meta{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-sm)}.movie-ratings{color:var(--accent);font-weight:500}.movie-reasoning{font-family:Playfair Display,serif;font-style:italic;font-size:var(--text-base);margin-bottom:var(--space-md);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;line-height:1.5;display:-webkit-box;overflow:hidden}.action-link{color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:.4rem;text-decoration:none;transition:color .15s;display:inline-flex}.action-link:hover{color:var(--text)}.action-link svg{width:16px;height:16px}.loading{text-align:center;padding:var(--space-2xl) var(--gutter);color:var(--text-muted);display:none}.loading.visible{display:block}.loader-dots{margin-bottom:var(--space-md);justify-content:center;gap:.5rem;display:flex}.loader-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both pulse}.loader-dot:first-child{animation-delay:-.32s}.loader-dot:nth-child(2){animation-delay:-.16s}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(0)}40%{opacity:1;transform:scale(1)}}@media (width<=767px){.hero{padding-top:var(--space-xl);padding-bottom:var(--space-md)}}@media (width<=480px){.hero h1{font-size:clamp(1.5rem,7vw,2rem)}.hero p{font-size:var(--text-base)}.card-surface{padding:var(--space-md)}.prompt-input{min-height:100px;font-size:var(--text-sm)}.chip{font-size:var(--text-xs);padding:.4rem .75rem}.btn{font-size:var(--text-sm);padding:.75rem 1.5rem}.results-header h2{font-size:var(--text-2xl)}.movie-card{border-radius:var(--radius-sm)}}@media (width>=1280px){.trending-section,.results-section{max-width:1200px}}.seo-content{max-width:800px;margin:0 auto var(--space-2xl);padding:var(--space-2xl) var(--gutter);color:var(--text-muted);line-height:1.8}.seo-content h2{font-size:var(--text-2xl);color:var(--text);margin-bottom:var(--space-lg);text-align:center}.seo-content h3{font-size:var(--text-xl);color:var(--text);margin-top:var(--space-xl);margin-bottom:var(--space-md)}.seo-content p{margin-bottom:var(--space-md);font-size:var(--text-base)}.seo-content ul{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.seo-content li{margin-bottom:.4rem}.seo-content strong{color:var(--text)}.faq-section{max-width:760px;margin:0 auto var(--space-2xl);padding:0 var(--gutter)}.faq-section h2{font-size:var(--text-2xl);color:var(--text);text-align:center;margin-bottom:var(--space-lg)}.faq-item{margin-bottom:var(--space-lg)}.faq-question{width:100%;padding:var(--space-sm) 0;cursor:pointer;font-family:inherit;font-size:var(--text-base);color:var(--accent);text-align:left;text-wrap:balance;background:0 0;border:none;justify-content:space-between;align-items:center;font-weight:600;transition:color .15s;display:flex}.faq-question:hover{color:var(--accent-hover)}.faq-chevron{width:18px;height:18px;margin-left:var(--space-sm);flex-shrink:0;transition:transform .25s}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-answer{max-height:0;transition:max-height .4s;overflow:hidden}.faq-item.open .faq-answer{max-height:800px}.faq-answer p{padding-bottom:var(--space-md);color:var(--text-muted);font-size:var(--text-base);margin:0;line-height:1.7}.genre-discovery{max-width:1040px;margin:0 auto var(--space-2xl);padding:0 var(--gutter)}.genre-discovery h3{font-size:var(--text-2xl);margin-bottom:var(--space-md)}.genre-grid{margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:.75rem;display:grid}.genre-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm);transition:all .2s var(--ease-out);align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;display:flex}.genre-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px -4px #f59e0b26}@media (width<=600px){.genre-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.genre-card{font-size:var(--text-xs);text-align:center;justify-content:center;padding:.6rem .5rem}}@media (width<=380px){.genre-grid{grid-template-columns:repeat(2,1fr);gap:.4rem}}
