:root{--bg:#090909;--bg-elevated:#141414;--bg-card:#1a1a1a;--border:#2a2a2a;--text:#f5f5f5;--text-dim:#a3a3a3;--accent:#e50914;--accent-hover:#f6121d;--accent-glow:#e5091459;--gold:#f5c518;--radius:6px;--font:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display:"Bebas Neue", "Inter", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}.container{max-width:1280px;margin:0 auto;padding:0 32px}.navbar{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#090909f7 25%,#09090900);justify-content:space-between;align-items:center;padding:14px 32px;display:flex;position:sticky;top:0}.navbar .brand{font-family:var(--font-display);color:var(--accent);letter-spacing:1.5px;font-size:30px;font-weight:400;line-height:1}.navbar nav{align-items:center;gap:24px;display:flex}.navbar a,.navbar button.link{color:var(--text-dim);background:0 0;border:none;font-size:14px;font-weight:500;transition:color .15s}.navbar a:hover,.navbar button.link:hover{color:var(--text)}.navbar nav{transition:flex .2s}.nav-search{align-items:center;transition:width .25s,background .25s,border-color .25s;display:flex}.nav-search-icon-btn{color:var(--text);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:color .15s;display:flex}.nav-search-icon-btn:hover{color:var(--accent)}.nav-search-open{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;flex:1;padding:0 4px 0 10px}.nav-search-open .nav-search-icon-btn{color:var(--text-dim)}.nav-search-open input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:9px 8px;font-size:15px}.nav-search-open input::placeholder{color:var(--text-dim)}.nav-search-close{color:var(--text-dim);background:0 0;border:none;flex-shrink:0;width:32px;height:32px;font-size:14px}.nav-search-close:hover{color:var(--text)}.nav-search-mode{flex:1;display:flex}.nav-search-mode .nav-search{flex:1}.sprocket-strip{background-image:radial-gradient(circle, var(--border) 1.5px, transparent 1.5px);opacity:.7;background-position:50%;background-repeat:repeat-x;background-size:18px 8px;width:100%;height:8px}.navbar-link-desktop{color:var(--text)!important;font-weight:600!important}.navbar-signup{background:var(--accent);border-radius:4px;padding:8px 18px;transition:background .15s;color:#fff!important;font-weight:700!important}.navbar-signup:hover{background:var(--accent-hover);color:#fff!important}.navbar-login{border:1px solid #ffffff4d;border-radius:4px;padding:8px 16px;color:var(--text)!important;font-weight:600!important}.navbar-login:hover{border-color:#fff}.nav-profile{position:relative}.nav-profile-btn{width:32px;height:32px;color:var(--text);background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:flex}.nav-profile-btn:hover,.nav-profile-btn[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.nav-profile-menu{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);z-index:60;grid-template-columns:1fr;gap:2px;min-width:190px;padding:6px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 12px 32px #0009}.nav-profile-menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:13px;font-weight:600;display:flex;color:var(--text)!important}.nav-profile-menu-item svg{color:var(--text-dim);flex-shrink:0}.nav-profile-menu-item:hover{background:#ffffff14;color:var(--text)!important}.nav-profile-menu-logout{border-top:1px solid var(--border);border-radius:0 0 4px 4px;margin-top:4px;padding-top:10px}.hero{background:var(--bg);height:78vh;min-height:460px;margin-bottom:40px;position:relative;overflow:hidden}.hero-slide-img{object-fit:cover;object-position:center 18%;z-index:0;width:100%;height:100%;animation:1.1s both hero-slide-in;position:absolute;inset:0}@keyframes hero-slide-in{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.hero:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(0deg, var(--bg) 2%, #09090926 45%, #09090959 65%), linear-gradient(90deg, #090909f2 0%, #0909098c 32%, #0909090d 62%);position:absolute;inset:0}.hero-content{z-index:3;opacity:0;pointer-events:none;max-width:580px;padding:0 32px;transition:opacity .5s .3s,transform .5s .3s;position:absolute;bottom:52px;left:0;transform:translateY(16px)}.hero-content-active{opacity:1;pointer-events:auto;transform:translateY(0)}.hero-dots{z-index:3;gap:8px;display:flex;position:absolute;bottom:52px;right:32px}.hero-dot{cursor:pointer;background:#ffffff4d;border:none;border-radius:2px;width:28px;height:4px;padding:0;transition:background .2s}.hero-dot-active{background:var(--accent)}.hero-eyebrow{color:var(--accent);letter-spacing:1.5px;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:14px;font-size:13px;font-weight:700;display:inline-flex}.hero-content h1{font-family:var(--font-display);letter-spacing:.5px;text-shadow:0 4px 24px #00000080;margin:0 0 16px;font-size:68px;font-weight:400;line-height:.95}.hero-badges{align-items:center;gap:10px;margin-bottom:16px;font-size:13px;display:flex}.hero-badges .rating{color:var(--gold);font-weight:700}.hero-badges .dot{color:var(--text-dim)}.hero-badges .pill{border:1px solid var(--border);color:var(--text-dim);background:#ffffff0f;border-radius:999px;padding:3px 10px;font-size:12px}.hero-content p{color:#d4d4d4;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:16px;line-height:1.6;display:-webkit-box;overflow:hidden}.section-title{margin:0 0 16px;padding:0 32px;font-size:20px;font-weight:700;position:relative}.movie-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px;padding:0 32px 40px;display:grid}.row-container{margin-bottom:40px}.row-title{align-items:center;gap:10px;margin:0 0 8px;padding:0 32px;font-size:18px;font-weight:700;display:flex}.row-title:before{content:"";background:var(--accent);border-radius:2px;width:4px;height:16px;display:inline-block}.row-wrapper{position:relative}.row-scroll{scroll-behavior:smooth;scrollbar-width:none;gap:6px;padding:0 32px 12px;display:flex;overflow-x:auto}.row-scroll::-webkit-scrollbar{display:none}.row-item{flex:none;width:200px}.row-arrow{z-index:10;opacity:0;background:linear-gradient(90deg,#090909d9 30%,#09090900);border:none;justify-content:center;align-items:center;width:56px;transition:opacity .15s;display:flex;position:absolute;top:0;bottom:12px}.row-arrow-icon{color:#fff;background:#141414d9;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;line-height:1;display:flex}.row-wrapper:hover .row-arrow{opacity:1}.row-arrow-left{left:0}.row-arrow-right{background:linear-gradient(270deg,#090909d9 30%,#09090900);right:0}@media (hover:none){.row-arrow{opacity:1;width:44px}.row-arrow-icon{width:34px;height:34px;font-size:18px}}.movie-card{display:block;position:relative}.movie-card-inner{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);transform-origin:50%;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.movie-card-inner img{aspect-ratio:2/3;object-fit:cover;background:var(--bg-elevated);width:100%;display:block}.card-rating-badge{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--gold);background:#090909bf;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:3px;padding:3px 7px;font-size:11px;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.movie-card-hover{opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#000000b3 25%,#000000f7 60%);padding:12px;transition:opacity .2s,transform .2s;position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.movie-card-hover h3{color:#fff;margin:0 0 4px;font-size:13px;font-weight:700}.hover-meta{gap:8px;margin-bottom:6px;font-size:11px;display:flex}.hover-meta .rating{color:var(--gold);font-weight:600}.hover-meta .year{color:var(--text-dim)}.hover-overview{color:#d4d4d4;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 8px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.hover-actions{gap:6px;display:flex}.btn-mini{color:#fff;white-space:nowrap;background:#ffffff26;border-radius:3px;padding:4px 8px;font-size:10px;font-weight:700}.btn-mini-primary{color:#000;background:#fff}@media (hover:hover){.movie-card:hover .movie-card-inner{z-index:20;border-color:#555;transform:scale(1.12);box-shadow:0 20px 44px #000000d9,0 0 0 1px #ffffff14}.movie-card:hover .movie-card-hover{opacity:1;transform:translateY(0)}}.movie-card .info{padding:10px 12px}.movie-card .info h3{white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:13px;font-weight:600;overflow:hidden}.movie-card .rating{color:var(--gold);font-size:12px}.btn{border:none;border-radius:4px;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{color:var(--text);border:1px solid var(--border);background:#ffffff1a}.btn-secondary:hover{background:#ffffff2e}.btn-play{color:#000;background:#fff}.btn-play:hover{background:#d4d4d4}.btn-play-disabled,.btn-play:disabled{color:#888;cursor:not-allowed;opacity:.85;background:#3a3a3a}.btn-play-disabled:hover,.btn-play:disabled:hover{color:#888;background:#3a3a3a}.trailer-overlay{z-index:200;background:#000000e6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.trailer-modal{width:100%;max-width:960px;position:relative}.trailer-frame{aspect-ratio:16/9;border-radius:var(--radius);background:#000;width:100%;position:relative;overflow:hidden;box-shadow:0 20px 60px #000c}.trailer-frame iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.trailer-close{color:#fff;background:0 0;border:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex;position:absolute;top:-44px;right:0}.trailer-close:hover{color:var(--accent)}.detail-hero{background-position:50%;background-size:cover;gap:32px;padding:40px 32px;display:flex;position:relative}.detail-hero:before{content:"";background:linear-gradient(90deg, var(--bg) 30%, #0a0a0abf);position:absolute;inset:0}.detail-hero .poster{z-index:1;border-radius:var(--radius);flex-shrink:0;width:220px;position:relative;box-shadow:0 12px 30px #0009}.detail-hero .meta{z-index:1;max-width:640px;position:relative}.detail-hero h1{margin:0 0 8px;font-size:32px}.detail-hero .tagline{color:var(--text-dim);margin-bottom:12px;font-style:italic}.detail-hero .overview{color:#d4d4d4;line-height:1.6}.badges{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.badge{border:1px solid var(--border);color:var(--text-dim);background:#ffffff14;border-radius:999px;padding:4px 10px;font-size:12px}.action-row{gap:12px;margin-top:16px;display:flex}.form-page{background:var(--bg-elevated);border-radius:var(--radius);border:1px solid #ffffff24;max-width:400px;margin:80px auto;padding:32px;box-shadow:0 20px 60px #00000080}.form-page h2{margin-top:0}.form-group{margin-bottom:16px}.form-group label{color:var(--text-dim);margin-bottom:6px;font-size:13px;display:block}.form-group input,.form-group textarea{background:var(--bg);border-radius:var(--radius);width:100%;color:var(--text);border:1px solid #fff3;outline:none;padding:10px 12px}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}.error-text{color:#ff6b6b;margin-top:8px;font-size:13px}.review-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:16px}.review-box .review-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.review-box .reviewer{font-size:14px;font-weight:600}.review-box .stars{color:var(--gold);font-weight:700}.review-box p{color:#d4d4d4;margin:0;font-size:14px;line-height:1.5}.star-input{cursor:pointer;gap:4px;font-size:24px;display:flex}.star-input span{color:#444}.star-input span.active{color:var(--gold)}.empty-state,.loading{text-align:center;color:var(--text-dim);padding:60px 32px}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, #232323 37%, var(--bg-card) 63%);border-radius:var(--radius);background-size:800px 100%;animation:1.4s linear infinite shimmer}.skeleton-title{width:180px;height:20px;margin:0 0 8px 32px}.skeleton-poster{aspect-ratio:2/3;width:200px}.skeleton-hero{height:60vh;min-height:380px;margin-bottom:32px}@media (width<=900px){.navbar{flex-wrap:wrap;gap:8px;padding:12px 16px}.navbar-link-desktop{display:none}.hero{height:52vh;min-height:320px}.hero-content h1{font-size:38px}.hero-badges{flex-wrap:wrap}.hero-content{max-width:100%;padding:0 16px;bottom:32px;right:0}.hero-dots{bottom:16px;right:16px}.row-title,.section-title{padding:0 16px;font-size:16px}.row-scroll,.movie-grid{padding-left:16px;padding-right:16px}.row-item{width:130px}.movie-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.detail-hero{flex-direction:column;padding:24px 16px}.detail-hero .poster{width:140px}.detail-hero h1{font-size:24px}@media (hover:hover){.movie-card:hover .movie-card-inner{transform:scale(1.06)}}}.card-type-badge{z-index:2;letter-spacing:.4px;text-transform:uppercase;color:#fff;background:#090909cc;border:1px solid #ffffff26;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:700;position:absolute;top:8px;left:8px}.card-type-tv{background:#e50914d9;border-color:#0000}.media-type-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.detail-type-badge{letter-spacing:.6px;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:11px;font-weight:700;display:inline-block}.watchlist-type-badge{text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);background:#ffffff14;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:700}.more-like-this{margin-top:24px}.more-like-this .section-title{margin-bottom:12px}.seasons-section{padding:32px 32px 16px}.seasons-hint{color:var(--text-dim);margin:-8px 0 16px;font-size:13px}.season-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.season-tab{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.season-tab:hover{color:var(--text);border-color:#ffffff4d}.season-tab-active{background:var(--accent);border-color:var(--accent);color:#fff}.season-ep-count{opacity:.75;font-size:11px;font-weight:500}.episode-list{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.episode-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;gap:16px;padding:12px;display:flex;overflow:hidden}.episode-still{aspect-ratio:16/9;background:var(--bg-card);border-radius:6px;flex:0 0 180px;width:180px;position:relative;overflow:hidden}.episode-still img{object-fit:cover;width:100%;height:100%;display:block}.episode-still-placeholder{width:100%;height:100%;color:var(--text-dim);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.episode-play-btn{color:#fff;opacity:0;cursor:not-allowed;background:#e50914e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:auto;font-size:16px;transition:opacity .15s;display:flex;position:absolute;inset:0}.episode-still:hover .episode-play-btn:not(:disabled){opacity:1;cursor:pointer}.episode-play-btn:disabled{opacity:0;background:#505050d9}.episode-still:hover .episode-play-btn:disabled{opacity:.7}.episode-info{flex:1;min-width:0}.episode-header{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.episode-num{color:var(--accent);letter-spacing:.3px;font-size:12px;font-weight:700}.episode-info h3{margin:0;font-size:15px;font-weight:600}.episode-runtime{color:var(--text-dim);font-size:12px}.episode-air{color:var(--text-dim);margin-top:2px;font-size:12px;display:block}.episode-overview{color:var(--text-dim);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:8px 0 0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}@media (width<=640px){.episode-card{flex-direction:column}.episode-still{flex:none;width:100%}.seasons-section{padding:24px 16px 8px}}
