:root{color-scheme:light dark;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;--page-max-width:min(1100px,95vw);--accent:#ff6b6b;--surface:rgba(15,23,42,.65);--surface-alt:rgba(15,23,42,.85);--gap:1.25rem}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top,#1f2933,#0b0d12 55%);color:#f8fafc;min-height:100vh}body{display:flex;flex-direction:column;align-items:center}.page-header{max-width:var(--page-max-width);padding:2rem 1rem .5rem;text-align:center}.page-header h1{margin-bottom:.5rem;font-size:clamp(1.75rem,2.5vw + 1rem,3rem)}.tagline{margin:0 auto;max-width:620px;color:rgba(248,250,252,.85)}main{width:100%;max-width:var(--page-max-width);display:grid;grid-gap:1.5rem;gap:1.5rem;padding:0 1rem 2rem;align-items:start}.controls{background:var(--surface);border-radius:16px;padding:1.25rem;box-shadow:0 12px 32px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-form{display:flex;flex-direction:column;gap:1rem}.form-label{font-weight:600}.form-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}input[type=text]{flex:1 1 320px;min-height:48px;border-radius:12px;border:1px solid hsla(0,0%,100%,.2);padding:0 1rem;font-size:1rem;background:rgba(15,23,42,.55);color:inherit}input[type=text]::placeholder{color:rgba(248,250,252,.6)}input[type=text]:focus{outline:2px solid hsla(0,100%,71%,.6);outline-offset:2px}.primary-button{flex:0 0 auto;min-height:44px;padding:0 1.5rem;border-radius:12px;border:none;background:linear-gradient(135deg,#ff6b6b,#feca57);color:#0f172a;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px hsla(0,100%,71%,.4)}.primary-button:focus-visible{outline:3px solid hsla(0,0%,100%,.9);outline-offset:2px}.primary-button:disabled{cursor:wait;opacity:.7}.form-help{margin:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;color:rgba(248,250,252,.8)}.inline-chip{border:1px solid hsla(0,0%,100%,.4);border-radius:999px;padding:.25rem .75rem;background:transparent;color:inherit;cursor:pointer;font-size:.85rem;transition:background .15s ease,transform .15s ease}.inline-chip:hover{background:hsla(0,0%,100%,.1);transform:translateY(-1px)}.inline-chip:focus-visible{outline:2px solid hsla(0,0%,100%,.8);outline-offset:2px}.error-banner{padding:1rem;border-radius:14px;background:rgba(239,68,68,.25);border:1px solid hsla(0,91%,71%,.6);color:#fee2e2}.profile-panel{background:var(--surface-alt);border-radius:16px;padding:1.25rem;box-shadow:0 12px 32px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:.35rem}.profile-panel h2{margin:0 0 .5rem}.recommendations{gap:1rem}.recommendations,.section-heading{display:flex;flex-direction:column}.section-heading{gap:.25rem}.section-heading h2{margin:0}.section-subheading{margin:0;color:rgba(248,250,252,.75)}.carousel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.75rem;gap:.75rem}.carousel-window{overflow:hidden;border-radius:20px;background:rgba(15,23,42,.55);padding:.9rem .4rem;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.05)}.carousel-track{display:flex;gap:var(--gap);padding:0 .75rem;transition:transform .4s ease;will-change:transform}.carousel-button{width:44px;height:44px;border-radius:50%;border:none;background:rgba(15,23,42,.7);color:#f8fafc;font-size:1.75rem;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,opacity .15s ease}.carousel-button:disabled{opacity:.35;cursor:not-allowed}.carousel-button:not(:disabled):hover{transform:scale(1.08)}.movie-card{flex:0 0 auto;width:clamp(200px,22vw,260px);background:linear-gradient(160deg,rgba(30,41,59,.95),rgba(15,23,42,.95));border-radius:20px;padding:.85rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 14px 28px rgba(7,10,18,.5)}.poster-wrapper{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:2/3;background:rgba(148,163,184,.2)}.poster-wrapper img{width:100%;height:100%;object-fit:cover;display:block}.poster-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:2.4rem;color:rgba(15,23,42,.75);background:rgba(148,163,184,.45)}.movie-details{display:flex;flex-direction:column;gap:.4rem}.movie-title{margin:0;font-size:1.15rem}.movie-meta{margin:0;color:rgba(148,163,184,.9)}.movie-insight{margin:0;color:rgba(248,250,252,.85);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.movie-score{margin:0;color:rgba(252,211,77,.9);font-weight:600}.movie-plot{margin:0;color:rgba(226,232,240,.9);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.empty-state{min-height:180px;min-width:220px;border:1px dashed hsla(0,0%,100%,.3);border-radius:20px;display:grid;place-items:center;font-size:1rem;color:rgba(248,250,252,.75)}@media (max-width:720px){.carousel{grid-template-columns:1fr}.carousel-button{display:none}.carousel-window{padding:1rem .25rem}.carousel-track{padding:0 .25rem}}@media (min-width:1024px){main{grid-template-columns:1fr .8fr;grid-template-areas:"controls profile" "recommendations recommendations"}.controls{grid-area:controls}.profile-panel{grid-area:profile}.recommendations{grid-area:recommendations}}