*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden}
body{background:#070707;color:#fff;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
a{text-decoration:none;color:inherit}
.brand{font-size:25px;font-weight:900;letter-spacing:-1px}.brand span{color:#e50914}
.topbar,.adminbar{height:70px;display:flex;align-items:center;padding:0 5%;gap:30px;background:#090909;position:relative;z-index:5}
.topbar nav{display:flex;gap:25px}.topbar nav a{color:#aaa;font-size:14px}.topbar nav a:hover{color:#fff}
.actions{margin-left:auto;display:flex;gap:10px;align-items:center}.profile{background:#e50914;padding:8px 11px;border-radius:6px}
.primary,.secondary,.btn{border:0;border-radius:7px;padding:11px 18px;font-weight:800;display:inline-block}.primary{background:#e50914;color:#fff}.secondary{background:#ffffff18}.full{width:100%}
.hero{height:70vh;min-height:560px;position:relative;display:flex;align-items:end;padding:0 7% 80px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?auto=format&fit=crop&w=2200&q=90") center/cover}
.hero-gradient{position:absolute;inset:0;background:linear-gradient(90deg,#070707,#070707c9 40%,#07070740),linear-gradient(0deg,#070707,transparent 50%)}
.hero-content{position:relative;max-width:650px}.hero-content small,.section-kicker{color:#e50914;font-weight:900;letter-spacing:2px;font-size:11px}
.hero h1{font-size:clamp(52px,7vw,95px);line-height:.92;letter-spacing:-4px;margin:15px 0}.hero h1 em{font-style:normal;color:#ddd}
.hero p{color:#aaa;line-height:1.7}.catalog-section,.genres-section{padding:48px 5%}.catalog-section{background:#070707}
.catalog-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.catalog-head h2{font-size:27px;margin:5px 0 0}.catalog-head>span{color:#888;font-size:13px}
.movie-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:18px}
.card{display:block;min-width:0}.poster{width:100%;aspect-ratio:2/3;background:#151515;border-radius:8px;overflow:hidden;position:relative}
.poster img{width:100%;height:100%;display:block;object-fit:cover}.poster-empty{height:100%;display:grid;place-items:center;color:#555;font-weight:900}
.score{position:absolute;right:7px;top:7px;background:#000d;padding:5px 7px;border-radius:5px;color:#ffd34d;font-size:11px}
.card h3{font-size:13px;margin:9px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub{font-size:11px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .poster{transition:transform .2s,filter .2s}.card:hover .poster{transform:translateY(-4px);filter:brightness(1.12)}
.play-badge{position:absolute;left:10px;bottom:10px;width:34px;height:34px;border-radius:50%;background:#e50914;display:grid;place-items:center;font-size:13px;box-shadow:0 4px 15px #0008}
.empty-state{border:1px solid #252525;border-radius:10px;padding:45px;text-align:center;color:#777}
.genres-section{background:#0c0c0c}.genre-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.genre{height:95px;border-radius:8px;background:linear-gradient(135deg,#191919,#303030);display:flex;align-items:end;padding:14px;font-weight:800}
footer{text-align:center;padding:60px 20px;color:#666}
.gate{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,#4a0a0d,#070707 60%)}
.gate-card{width:min(430px,100%);padding:38px;background:#101010;border:1px solid #292929;border-radius:14px}
.gate-card small{display:block;color:#e50914;letter-spacing:2px;margin:25px 0 5px}.gate-card h1{font-size:38px;margin:8px 0}.gate-card p{color:#888}
.gate-card form{display:grid;gap:10px;margin-top:22px}.gate-card input,.form-card input,.form-card textarea{width:100%;padding:13px;background:#080808;border:1px solid #333;border-radius:7px;color:#fff}
.password-wrap{position:relative;width:100%}.password-wrap input{padding-right:52px!important}.password-wrap .eye-btn{position:absolute;right:4px;top:4px;bottom:4px;width:44px;border:0;border-radius:6px;background:transparent;color:#aaa;cursor:pointer;font-size:17px;display:grid;place-items:center}.password-wrap .eye-btn:hover{background:#ffffff0d;color:#fff}
.gate-card>a,.form-page>a{display:block;color:#888;font-size:12px;margin-top:20px}.error{margin-top:12px;color:#ff777d}
.admin-main,.form-page{max-width:1200px;margin:auto;padding:45px 20px}.admin-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.admin-head h1{font-size:40px;margin:5px 0}
.table-wrap{overflow:auto;border:1px solid #252525;border-radius:9px}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:14px;text-align:left;border-bottom:1px solid #222;font-size:13px}th{color:#777}
.smallbtn{padding:6px 9px;border:1px solid #333;border-radius:5px;font-size:11px}.danger{color:#ff777d}
.form-page{max-width:760px}.form-card{margin-top:20px;background:#111;border:1px solid #252525;border-radius:12px;padding:30px}.form-card form{display:grid;gap:15px}.form-card label{display:grid;gap:7px;color:#aaa;font-size:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.watch-page{max-width:1200px;margin:auto;padding:35px 20px 70px}.back-link{display:inline-block;color:#aaa;margin-bottom:18px;font-size:14px}.video-box{background:#000;border:1px solid #292929;border-radius:10px;overflow:hidden;box-shadow:0 15px 50px #000}.video-box video{display:block;width:100%;max-height:72vh;background:#000}.no-video{min-height:500px;display:grid;place-items:center;align-content:center;text-align:center;color:#777}.no-video div{font-size:60px}
.watch-info{display:grid;grid-template-columns:1fr 180px;gap:30px;padding:30px 5px}.watch-info small{color:#e50914;font-weight:800;letter-spacing:1.5px}.watch-info h1{font-size:42px;margin:8px 0}.watch-info p{color:#aaa;line-height:1.7}.watch-info .meta{color:#ddd}.watch-poster{width:180px;aspect-ratio:2/3;object-fit:cover;border-radius:8px}
@media(max-width:1200px){.movie-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.movie-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.genre-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.topbar{padding:0 16px}.topbar nav{display:none}.hero{height:650px;padding:0 18px 65px}.hero h1{font-size:53px}.catalog-section,.genres-section{padding:32px 16px}.movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.genre-grid{grid-template-columns:repeat(2,1fr)}.admin-head{align-items:start;flex-direction:column;gap:15px}.two{grid-template-columns:1fr}.watch-info{grid-template-columns:1fr}.watch-poster{width:130px}.watch-info h1{font-size:32px}}
@media(min-width:701px) and (max-width:1100px){.movie-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ===== FLYSBRN V4.1 RESPONSIVE PATCH ===== */
*,*::before,*::after{box-sizing:border-box}
html,body{width:100%;max-width:100%;margin:0;padding:0;overflow-x:hidden}
body{min-width:0}
img,video{max-width:100%;height:auto}
.topbar{width:100%;max-width:100%;padding-left:clamp(12px,4vw,64px);padding-right:clamp(12px,4vw,64px);gap:clamp(12px,2vw,30px)}
.topbar nav{min-width:0;flex-wrap:wrap}
.topbar .actions{min-width:0}
.hero{width:100%;max-width:100%;padding-left:clamp(18px,7vw,90px);padding-right:clamp(18px,7vw,90px)}
.hero-content{width:min(100%,680px)}
.hero h1{overflow-wrap:anywhere}
.catalog-section,.genres-section{width:100%;max-width:100%;padding-left:clamp(14px,5vw,72px);padding-right:clamp(14px,5vw,72px)}
.catalog-head{min-width:0;gap:15px}.catalog-head>div{min-width:0}.catalog-head h2{overflow-wrap:anywhere}
.movie-grid{width:100%;max-width:100%;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:clamp(10px,1.5vw,18px)}
.card{width:100%;min-width:0;max-width:100%;overflow:hidden}
.poster{width:100%;max-width:100%;aspect-ratio:2/3}
.card h3,.card .sub{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.genre-grid{width:100%;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.genre{min-width:0}
.watch-page,.admin-main,.form-page{width:100%;max-width:1200px}
.video-box,.video-box video{width:100%;max-width:100%}
.watch-info{min-width:0}.watch-info>div{min-width:0}
@media(max-width:800px){
  .topbar{height:auto;min-height:62px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
  .topbar nav{order:3;width:100%;justify-content:center;gap:18px}
  .actions{margin-left:auto}
  .hero{min-height:520px;height:68vh;padding-bottom:55px}
  .hero h1{font-size:clamp(40px,11vw,62px);letter-spacing:-2px}
  .hero p{font-size:14px}
  .movie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-head{align-items:flex-start}
  .catalog-head h2{font-size:23px}
  .watch-page{padding:24px 14px 50px}
}
@media(max-width:430px){
  .brand{font-size:22px}
  .topbar nav{gap:12px}
  .topbar nav a{font-size:12px}
  .actions .secondary{padding:8px 11px;font-size:12px}
  .hero{min-height:500px;padding-left:18px;padding-right:18px}
  .hero h1{font-size:42px}
  .movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card h3{font-size:12px}
  .sub{font-size:10px}
  .score{font-size:9px;padding:4px 5px}
  .play-badge{width:29px;height:29px;left:7px;bottom:7px;font-size:11px}
  .catalog-section,.genres-section{padding-left:12px;padding-right:12px}
  .catalog-head>span{font-size:11px;white-space:nowrap}
  .genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:801px) and (max-width:1200px){
  .movie-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:1201px){
  .movie-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
}
/* Ensure form fields never exceed their containers */
input,textarea,select,button{max-width:100%;font:inherit}
.form-card,.gate-card{width:100%;max-width:100%}

/* V5 watch page owns its own poster-free detail layout. */

/* ===== V5 SEARCH + GENRE FILTER ===== */
.movie-tools{display:grid;gap:14px;margin:0 0 26px}
.search-box{display:flex;align-items:center;gap:10px;width:min(620px,100%);height:48px;padding:0 12px;background:#101010;border:1px solid #292929;border-radius:8px;transition:border-color .2s,box-shadow .2s}
.search-box:focus-within{border-color:#555;box-shadow:0 0 0 3px #ffffff08}
.search-box>span{font-size:25px;line-height:1;color:#777;transform:rotate(-20deg)}
.search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:14px;appearance:none;-webkit-appearance:none}
.search-box input::placeholder{color:#666}
/* Hide the browser's native clear button so only our custom X is shown. */
.search-box input[type="search"]::-webkit-search-cancel-button,
.search-box input[type="search"]::-webkit-search-decoration{appearance:none;-webkit-appearance:none;display:none}
.search-box input[type="search"]::-ms-clear{display:none;width:0;height:0}

.search-box button{width:28px;height:28px;border:0;background:transparent;color:#777;font-size:22px;cursor:pointer;border-radius:5px}
.search-box button:hover{background:#ffffff0d;color:#fff}
.genre-filters{display:flex;gap:8px;flex-wrap:wrap;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(-4px);transition:max-height .25s ease,opacity .2s ease,transform .2s ease}
.movie-tools:focus-within .genre-filters{max-height:300px;opacity:1;pointer-events:auto;transform:translateY(0)}
.genre-filter{border:1px solid #292929;background:#101010;color:#999;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:750;cursor:pointer;transition:.2s}
.genre-filter:hover{color:#fff;border-color:#555}
.genre-filter.active{background:#e50914;border-color:#e50914;color:#fff}
.filter-empty{margin:0 0 25px;padding:32px;border:1px dashed #2c2c2c;border-radius:9px;text-align:center;color:#777}
.card[hidden]{display:none}
.genre{border:0;color:#fff;text-align:left;font:inherit;cursor:pointer;width:100%}
@media(max-width:520px){
 .search-box{height:45px}
 .genre-filter{padding:7px 11px;font-size:11px}
}

/* Large video upload progress */
.upload-progress-wrap{background:#0a0a0a;border:1px solid #292929;border-radius:8px;padding:13px 14px;margin-top:2px}
.upload-progress-head{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#aaa;font-size:12px;margin-bottom:9px}
.upload-progress-head strong{color:#fff;font-size:13px}
.upload-progress{height:9px;background:#202020;border-radius:999px;overflow:hidden}
.upload-progress-bar{width:0;height:100%;background:#ed0b18;border-radius:999px;transition:width .15s ease}
.upload-progress-text{margin-top:8px;color:#777;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.form-card button:disabled{opacity:.65;cursor:not-allowed}
