:root{--bg: #141414;--bg-elevated: #1a1a1a;--text: #ffffff;--text-muted: #a3a3a3;--accent: #e50914;--accent-hover: #f40612;--card-width: 16rem;--card-height: 9rem;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;color:var(--text);background-color:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{background-color:var(--bg)}.page{min-height:100vh;background-color:var(--bg)}.header{position:fixed;top:0;left:0;right:0;z-index:50;padding:1rem 4vw;background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,transparent 100%);transition:background .3s ease}.header-nav{display:flex;align-items:center;gap:2rem}.logo{color:var(--accent);font-size:1.75rem;font-weight:900;letter-spacing:-.05em;text-decoration:none}.header-links{display:flex;gap:1.25rem;align-items:center;font-size:.95rem}.header-links a,.header-links span{color:var(--text);text-decoration:none;cursor:pointer;transition:opacity .2s ease}.header-links a:hover,.header-links span:hover{opacity:.7}.hero{position:relative;display:flex;align-items:center;min-height:80vh;padding:8rem 4vw 6rem;background-size:cover;background-position:center}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(20,20,20,.2) 0%,var(--bg) 100%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:36rem}.hero-meta,.detail-meta{display:flex;gap:.75rem;align-items:center;margin:0 0 1rem;font-size:.9rem;color:var(--text-muted)}.hero-rating,.detail-rating{padding:.15rem .4rem;border:1px solid var(--text-muted);border-radius:.25rem;font-size:.75rem;color:var(--text)}.hero-title,.detail-title{margin:0 0 .5rem;font-size:3rem;font-weight:800;line-height:1.1}.hero-tagline,.detail-tagline{margin:0 0 1rem;font-size:1.25rem;font-weight:500;color:var(--text-muted)}.hero-synopsis,.detail-synopsis{margin:0 0 1.5rem;font-size:1.05rem;color:#d4d4d4}.hero-actions,.detail-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.5rem;border:none;border-radius:.25rem;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);transform:scale(1.02)}.btn-secondary{background-color:#ffffff26;color:#fff}.btn-secondary:hover{background-color:#ffffff40;transform:scale(1.02)}.content{margin-top:-4rem;padding:0 4vw 4rem;position:relative;z-index:2}.movie-row{margin-bottom:2.5rem}.movie-row-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.movie-row-scroll{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory;scrollbar-width:none}.movie-row-scroll::-webkit-scrollbar{display:none}.movie-card{flex:0 0 auto;width:var(--card-width);height:var(--card-height);border-radius:.25rem;overflow:hidden;text-decoration:none;scroll-snap-align:start;transition:transform .25s ease,z-index 0s}.movie-card:hover{transform:scale(1.08);z-index:10}.movie-card-poster{position:relative;width:100%;height:100%;background-size:cover;background-position:center}.movie-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:.75rem;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.85) 100%);opacity:0;transition:opacity .25s ease}.movie-card:hover .movie-card-overlay{opacity:1}.movie-card-title{margin:0;font-size:.95rem;font-weight:700;color:#fff}.movie-card-meta{margin:.25rem 0 0;font-size:.75rem;color:var(--text-muted)}.detail-hero{position:relative;display:flex;align-items:center;min-height:70vh;padding:8rem 4vw 6rem;background-size:cover;background-position:center}.detail-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(20,20,20,.2) 0%,var(--bg) 100%);pointer-events:none}.detail-content{position:relative;z-index:1;max-width:40rem}.detail-match{color:#46d369;font-weight:700}.detail-info{margin-top:1.5rem;font-size:.95rem;color:var(--text-muted)}.detail-info p{margin:.25rem 0}.detail-info strong{color:var(--text)}@media(max-width:768px){.hero-title,.detail-title{font-size:2rem}.header-links{display:none}:root{--card-width: 12rem;--card-height: 6.75rem}}
