:root{
  --bg:#08080d;
  --panel:#11111a;
  --panel2:#0c0c13;
  --line:#262634;
  --white:#f5f5fa;
  --muted:#9292a6;
  --pink:#a855f7;
  --cyan:#22d3ee;
  --blue:#6366f1;
  --yellow:#f5b942;
  --green:#34d399;
}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  min-height:100vh;
  background:
    radial-gradient(circle at 50% -20%,rgba(124,58,237,.14),transparent 38%),
    #08080d;
  color:var(--white);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  overflow-x:hidden;
}

button,input{font:inherit}

button{cursor:pointer}

a{text-decoration:none;color:inherit}

/* =========================
   HEADER
========================= */

.site-header{
  height:72px;
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(8,8,13,.94);
  border-bottom:1px solid #242431;
  backdrop-filter:blur(18px);
}

.header-inner{
  width:min(1750px,calc(100% - 70px));
  height:100%;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:220px;
}

.logo{
  width:44px;
  height:44px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#101010;
  border:2px solid #e9e9e9;
  box-shadow:0 0 0 2px rgba(255,255,255,.06);
  font-size:18px;
  font-weight:950;
}

.brand-name{
  font-size:21px;
  font-weight:950;
  letter-spacing:.4px;
}

.brand-name span{
  color:#ff5d94;
}

.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.icon-btn,
.header-btn{
  height:43px;
  border:1px solid #28283a;
  border-radius:24px;
  color:#e9e9ed;
  background:#0d0d15;
  padding:0 17px;
  font-size:12px;
  font-weight:800;
  transition:.25s ease;
}

.icon-btn{
  width:43px;
  padding:0;
  font-size:18px;
}

.icon-btn:hover,
.header-btn:hover{
  border-color:#4b4b68;
  background:#151522;
  transform:translateY(-1px);
}

.header-btn.hot{
  border-color:#282a30;
}

/* SEARCH */
.search-wrap{
  position:absolute;
  right:20px;
  top:58px;
  width:min(330px,calc(100vw - 40px));
  display:none;
  padding:8px;
  background:#11111a;
  border:1px solid #2b2b3d;
  border-radius:14px;
  box-shadow:0 20px 50px rgba(0,0,0,.6);
}

.search-wrap.show{display:block}

.search-wrap input{
  width:100%;
  height:42px;
  border:1px solid #2b2b3d;
  outline:none;
  border-radius:9px;
  padding:0 12px;
  background:#0b0b12;
  color:#fff;
}

.search-wrap input::placeholder{color:#666b74}

/* =========================
   CATEGORY BAR
========================= */

.category-bar{
  width:min(1750px,calc(100% - 70px));
  margin:0 auto;
  min-height:128px;
  display:flex;
  align-items:center;
  gap:17px;
  border-bottom:1px solid #242431;
}

.category{
  position:relative;
  padding:12px 22px;
  border-radius:28px;
  background:#0d0d15;
  color:#f4f4f6;
  border:2px solid transparent;
  background-clip:padding-box;
  font-size:13px;
  font-weight:850;
}

.category:before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  border-radius:30px;
  background:linear-gradient(90deg,#6366f1,#8b5cf6,#a855f7,#6366f1);
}

.category.active{
  background:#fff;
  color:#151515;
}

.category:nth-child(2):before{
  background:linear-gradient(90deg,#4f46e5,#7c3aed,#22d3ee);
}

/* =========================
   MAIN
========================= */

.main{
  width:min(1750px,calc(100% - 70px));
  margin:auto;
  padding:44px 0 70px;
}

.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:22px;
}

.section-title{
  font-size:20px;
  font-weight:900;
}

.section-title span{
  color:#777d86;
  font-size:11px;
  font-weight:600;
  margin-left:8px;
}

/* =========================
   GRID
========================= */

.video-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px 40px;
}

/* =========================
   CARD
========================= */

.video-card{
  position:relative;
  padding:3px;
  border-radius:20px;
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 50%,#a855f7 100%);
  background-size:100% 100%;
  transition:transform .28s ease,filter .28s ease;
}

.video-card:hover{
  transform:translateY(-5px);
  filter:brightness(1.08);
}

.card-inner{
  background:#11111a;
  border-radius:17px;
  overflow:hidden;
  height:100%;
  padding:7px;
}

/* =========================
   THUMBNAIL
========================= */

.thumbnail{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:13px;
  background:#171722;
  cursor:pointer;
}

.thumbnail img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease,filter .35s ease;
}

.video-card:hover .thumbnail img{
  transform:scale(1.045);
  filter:brightness(1.08) saturate(1.06);
}

.thumbnail:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,.03),
    transparent 52%,
    rgba(0,0,0,.45)
  );
  pointer-events:none;
}

/* PLAY */
.play{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:54px;
  height:54px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  display:grid;
  place-items:center;
  box-shadow:0 8px 25px rgba(0,0,0,.5);
  transition:.28s ease;
}

.play:after{
  content:"";
  margin-left:4px;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  border-left:12px solid #111;
}

.video-card:hover .play{
  transform:translate(-50%,-50%) scale(1.1);
}

/* AGE */
.age{
  position:absolute;
  z-index:5;
  top:9px;
  left:9px;
  padding:5px 7px;
  border-radius:6px;
  background:rgba(7,7,12,.78);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  font-size:8px;
  font-weight:900;
}

/* =========================
   CARD CONTENT
========================= */

.card-content{
  padding:13px 8px 6px;
}

.video-title{
  min-height:39px;
  color:#f3f3f5;
  font-size:13px;
  line-height:1.45;
  font-weight:850;
}

.stats{
  margin-top:11px;
  height:39px;
  padding:0 9px;
  display:flex;
  align-items:center;
  gap:11px;
  border:1px solid #29293a;
  border-radius:10px;
  background:#0c0c14;
  color:#8f959e;
  font-size:9px;
  white-space:nowrap;
  overflow:hidden;
}

.stat{
  display:flex;
  align-items:center;
  gap:4px;
}

.stat.views{color:#9299a2}
.stat.likes{color:#ff2d69}
.stat.comments{color:#00e6ca}
.stat.share{color:#ffc400}

.stat b{
  color:inherit;
  font-weight:850;
}

/* CARD BUTTONS */
.card-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:8px;
}

.card-btn{
  height:38px;
  border-radius:9px;
  border:1px solid #303047;
  background:#14141f;
  color:#ddd;
  font-size:9px;
  font-weight:900;
  transition:.22s ease;
}

.card-btn.watch{
  border:0;
  color:#fff;
  background:linear-gradient(135deg,#7c3aed,#a855f7);
}

.card-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.12);
}

/* =========================
   PAGINATION
========================= */
.pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin:38px 0 10px;
  flex-wrap:wrap;
}
.pagination button{
  min-width:42px;
  height:42px;
  padding:0 13px;
  border:1px solid #303047;
  border-radius:10px;
  background:#151522;
  color:#cfd2d7;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  transition:.2s ease;
}
.pagination button:hover{transform:translateY(-1px);filter:brightness(1.12)}
.pagination button.active{
  border-color:#a855f7;
  color:#fff;
  background:linear-gradient(135deg,#7c3aed,#a855f7);
}
.pagination button:disabled{opacity:.4;cursor:not-allowed;transform:none}
.pagination .page-info{
  color:#777d86;
  font-size:10px;
  font-weight:700;
  margin-left:4px;
}

/* =========================
   AGE GATE
========================= */

.age-gate{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,0,0,.86);
  backdrop-filter:blur(12px);
}

.age-box{
  width:min(400px,100%);
  padding:28px;
  text-align:center;
  border:1px solid #2a2d32;
  border-radius:20px;
  background:linear-gradient(145deg,#171722,#09090f);
  box-shadow:0 30px 90px rgba(0,0,0,.75);
}

.age-logo{
  width:58px;
  height:58px;
  margin:0 auto 15px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#111;
  font-size:22px;
  font-weight:950;
}

.age-box h2{
  font-size:20px;
  margin-bottom:8px;
}

.age-box p{
  color:#858b94;
  font-size:12px;
  line-height:1.6;
  margin-bottom:20px;
}

.age-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.age-actions button{
  height:43px;
  border-radius:10px;
  font-size:11px;
  font-weight:900;
}

.enter{
  border:0;
  color:#fff;
  background:linear-gradient(135deg,#7c3aed,#a855f7);
}

.exit{
  color:#aaa;
  background:#151522;
  border:1px solid #292d33;
}

.hidden{display:none!important}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1200px){
  .video-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px 20px;
  }
}

@media(max-width:850px){
  .header-inner,
  .category-bar,
  .main{
    width:calc(100% - 30px);
  }

  .video-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .brand-name{font-size:18px}
  .header-btn{padding:0 12px}
}

@media(max-width:600px){
  .site-header{height:64px}

  .header-inner{
    width:calc(100% - 20px);
  }

  .brand{min-width:auto;gap:8px}
  .logo{width:38px;height:38px;font-size:16px}
  .brand-name{font-size:16px}

  .header-actions{gap:5px}
  .header-btn{
    height:38px;
    padding:0 9px;
    font-size:9px;
  }

  .icon-btn{
    width:38px;
    height:38px;
  }

  .category-bar{
    width:100%;
    padding:0 12px;
    min-height:90px;
    overflow-x:auto;
  }

  .category{
    flex:0 0 auto;
    font-size:11px;
    padding:10px 15px;
  }

  .main{
    width:calc(100% - 18px);
    padding-top:25px;
  }

  .section-title{font-size:17px}
  .section-title span{display:none}

  .video-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .video-card{
    border-radius:19px;
  }

  .video-title{
    font-size:12px;
  }
}

@media(max-width:380px){
  .header-btn.login{
    display:none;
  }

  .card-actions{
    grid-template-columns:1fr 1fr;
  }
}

/* =========================
   AD CONTAINER
========================= */

.native-ad-wrap{
  width:min(1750px,calc(100% - 70px));
  margin:22px auto 0;
  min-height:60px;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  border-radius:12px;
}

.native-ad-wrap > div{
  width:100%;
  max-width:100%;
}

@media(max-width:850px){
  .native-ad-wrap{width:calc(100% - 30px);}
}

@media(max-width:600px){
  .native-ad-wrap{width:calc(100% - 18px);margin-top:16px;}
}




/* Screenshot-inspired premium preview */
body { background:#050505; }
.view-main {
  width:min(1750px,calc(100% - 70px));
  margin:20px auto;
  padding:0;
}
.view-card {
  padding:10px;
  border-radius:22px;
  background:linear-gradient(135deg,#4f46e5,#7c3aed 65%,#8b5cf6);
  box-shadow:0 0 0 1px rgba(124,58,237,.28);
}
.view-inner {
  min-height:480px;
  padding:22px 28px 20px;
  border-radius:18px;
  background:radial-gradient(circle at 50% 0%,#11111a,#05050a 70%);
  overflow:visible;
}
.offer-heading {
  margin:0 auto 20px;
  text-align:center;
  color:#00f34f;
  font-size:25px;
  line-height:1.25;
  font-weight:950;
  text-shadow:0 0 8px #00f34f,0 0 20px rgba(0,255,70,.45);
}
.view-thumb {
  position:relative;
  width:100%;
  max-width:none;
  aspect-ratio:16/9;
  margin:0 auto;
  overflow:hidden;
  border:4px solid #00f34f;
  border-radius:15px;
  background:#fff;
}
.view-thumb img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.view-thumb:after { display:none; }
.view-play {
  position:absolute;
  z-index:5;
  inset:0;
  width:100%;
  height:100%;
  transform:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.view-play:after {
  content:"";
  width:0;height:0;
  margin-left:7px;
  border-top:18px solid transparent;
  border-bottom:18px solid transparent;
  border-left:27px solid #151515;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));
}
.view-play:hover { background:rgba(0,0,0,.05); }
.embed-countdown {
  display:flex;
  position:absolute;
  z-index:7;
  right:12px;
  bottom:12px;
  min-width:42px;
  height:32px;
  padding:0 10px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:rgba(0,0,0,.78);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.connection-status {
  display:none;
  position:absolute;
  inset:0;
  z-index:8;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px;
  background:rgba(255,255,255,.96);
  color:#10151c;
  font-size:18px;
  font-weight:900;
  text-align:center;
}
.connection-status.show { display:flex; }
.connection-spinner {
  width:30px;height:30px;
  border:4px solid #d8dce3;
  border-top-color:#00bfa5;
  border-radius:50%;
  animation:spin .8s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }
.video-embed { position:absolute; inset:0; z-index:9; display:block; width:100%; height:100%; border:0; margin:0; padding:0; background:#000; }
.offer-card {
  position:relative;
  z-index:12;
  width:min(450px,calc(100% - 24px));
  margin:-50px auto 0;
  padding:2px;
  border-radius:21px;
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 50%,#a855f7 100%);
}
.offer-card-inner {
  padding:23px 18px 25px;
  border-radius:18px;
  background:linear-gradient(145deg,#0b1320,#090b10);
  text-align:center;
}
.offer-copy {
  color:#00f3e4;
  font-size:13px;
  font-weight:900;
  line-height:1.65;
}
.offer-copy strong { color:#fff; }
.offer-crown { color:#ffd400; }
.signup-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:116px;
  min-height:43px;
  margin-top:16px;
  padding:0 18px;
  border-radius:25px;
  color:#00161a;
  font-size:13px;
  font-weight:900;
  background:linear-gradient(110deg,#00efc5,#0081c6);
}
.signup-link:hover { filter:brightness(1.08); }
.view-content { padding:18px 8px 8px; }
.view-title, .view-stats, .view-actions, .view-message { display:none; }
@media(max-width:600px) {
  .view-main { width:calc(100% - 20px); margin:12px auto; }
  .view-card { padding:7px; border-radius:18px; }
  .view-inner { min-height:390px; padding:20px 10px 18px; border-radius:14px; }
  .offer-heading { font-size:19px; margin-bottom:18px; }
  .view-thumb { border-width:3px; border-radius:12px; }
  .offer-card { margin-top:-34px; width:calc(100% - 10px); }
  .offer-card-inner { padding:18px 12px 20px; }
  .offer-copy { font-size:11px; }
  .signup-link { min-height:40px; margin-top:13px; }
}

/* ===== VIEW EXTRAS ===== */
.brand-home{color:inherit;text-decoration:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-width:220px;}
.view-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start;}
.related-panel{border:1px solid #29293a;border-radius:16px;background:#0c0c14;padding:12px;position:sticky;top:90px;}
.related-title{font-size:14px;font-weight:900;color:#fff;margin:2px 4px 12px;}
.related-list{display:flex;flex-direction:column;gap:10px;}
.related-item{display:grid;grid-template-columns:100px 1fr;gap:9px;padding:7px;border:2px solid transparent;border-radius:10px;background:linear-gradient(#0d1014,#0d1014) padding-box,linear-gradient(135deg,#ffb000 0%,#ff1800 27%,#ff00b8 55%,#006bff 78%,#00f0cf 100%) border-box;color:#fff;text-decoration:none;transition:transform .22s ease,filter .22s ease;}
.related-item img{width:100px;height:58px;object-fit:cover;border-radius:7px;display:block;}
.related-item:hover{transform:translateY(-2px);filter:brightness(1.08);}.related-item-title{font-size:10px;line-height:1.35;font-weight:800;align-self:center;color:#e9eaed;}
.view-stats{margin:16px 0 12px;min-height:44px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:22px;border:1px solid #29293a;border-radius:11px;background:#0c0c14;color:#8f959e;font-size:10px;}
.view-stats .stat{display:flex;align-items:center;gap:5px;white-space:nowrap;}
.view-stats .views{color:#9299a2}.view-stats .likes{color:#ff2d69}.view-stats .comments{color:#00e6ca}.view-stats .share{color:#ffc400}
.view-stats b{font-weight:900;color:inherit;}
.download-btn{display:flex;align-items:center;justify-content:center;width:min(260px,100%);height:45px;margin:0 auto 18px;border-radius:10px;color:#fff;text-decoration:none;font-size:11px;font-weight:950;background:linear-gradient(135deg,#7c3aed,#a855f7);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(255,21,83,.18);transition:.22s ease;}
.download-btn:hover{transform:translateY(-1px);filter:brightness(1.08);}
.site-footer{width:min(1500px,calc(100% - 40px));margin:0 auto;padding:24px 10px 34px;text-align:center;color:#707680;font-size:10px;border-top:1px solid #17191d;}
@media(max-width:900px){.view-layout{grid-template-columns:1fr}.related-panel{position:static}.related-list{display:grid;grid-template-columns:1fr 1fr}.related-item{grid-template-columns:90px 1fr}.related-item img{width:90px;height:52px;}}
@media(max-width:600px){.brand-home{min-width:auto;gap:8px}.view-stats{gap:9px;padding:0 7px;font-size:8px;justify-content:space-between}.download-btn{height:43px;margin-bottom:15px}.site-footer{width:calc(100% - 20px);padding-bottom:25px}.related-list{grid-template-columns:1fr}}

/* Homepage advertisement slot */
.native-ad-wrap{
  min-height:90px;
  padding:2px;
  border:2px solid transparent;
  border-radius:20px;
  background:linear-gradient(#080a0d,#080a0d) padding-box,linear-gradient(135deg,#ffb000 0%,#ff1800 27%,#ff00b8 55%,#006bff 78%,#00f0cf 100%) border-box;
  overflow:hidden;
}
.native-ad-wrap .ad-placeholder{
  width:100%;
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#666d77;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Advertisement frame — matches the site's primary violet/blue video-card palette */
.native-ad-wrap{
  position:relative;
  padding:3px;
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 50%,#a855f7 100%);
  border-radius:15px;
}
.native-ad-wrap > .ad-placeholder{
  width:100%;
  min-height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#0d0d15;
  color:#77778d;
  font-size:11px;
  font-weight:800;
}

/* Animated rainbow borders: colors continuously travel around all featured frames */
@keyframes borderColorRace {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.video-card,
.view-card,
.offer-card,
.related-item,
.native-ad-wrap {
  background-size: 300% 300%;
  animation: borderColorRace 4s linear infinite;
}
/* Keep the video-card inner surface stable while its outer gradient border moves */
.video-card { background-size: 300% 300%; }
.related-item {
  background-image: linear-gradient(#0d1014,#0d1014), linear-gradient(135deg,#ffb000 0%,#ff1800 27%,#ff00b8 55%,#006bff 78%,#00f0cf 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.native-ad-wrap {
  background: linear-gradient(135deg,#4f46e5 0%,#7c3aed 25%,#a855f7 50%,#22d3ee 75%,#ff2d69 100%);
  background-size: 300% 300%;
}
.view-thumb {
  border: 4px solid transparent;
  background-image: linear-gradient(#050505,#050505), linear-gradient(135deg,#ffb000 0%,#ff1800 27%,#ff00b8 55%,#006bff 78%,#00f0cf 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  background-size: 100% 100%,300% 300%;
  animation: borderColorRace 4s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .video-card, .view-card, .offer-card, .related-item, .native-ad-wrap, .view-thumb {
    animation-duration: 12s;
  }
}


/* =========================
   GLOBAL RGB BORDER ANIMATION
   All visible accent borders continuously cycle through RGB colors.
========================= */
@keyframes rgbBorderShift{
  0%{background-position:0% 50%;}
  25%{background-position:50% 100%;}
  50%{background-position:100% 50%;}
  75%{background-position:50% 0%;}
  100%{background-position:0% 50%;}
}

/* Main cards */
.video-card,
.view-card{
  background:linear-gradient(90deg,#ff0000,#ffff00,#00ff00,#00ffff,#0066ff,#8b00ff,#ff00aa,#ff0000);
  background-size:500% 500%;
  animation:rgbBorderShift 4s linear infinite;
}

/* Category pills */
.category:before{
  background:linear-gradient(90deg,#ff0000,#ff7a00,#ffff00,#00ff00,#00ffff,#0066ff,#8b00ff,#ff00aa,#ff0000)!important;
  background-size:500% 500%!important;
  animation:rgbBorderShift 4s linear infinite!important;
}

/* Advertisement box */
.native-ad-wrap{
  position:relative;
  padding:3px;
  background:linear-gradient(90deg,#ff0000,#ffff00,#00ff00,#00ffff,#0066ff,#8b00ff,#ff00aa,#ff0000);
  background-size:500% 500%;
  animation:rgbBorderShift 4s linear infinite;
}
.native-ad-wrap > div{
  min-height:54px;
  border-radius:9px;
  background:#0b0b12;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Existing bordered controls/panels: animate their border color without moving the box */
.icon-btn,
.header-btn,
.search-wrap,
.search-wrap input,
.stats,
.card-btn,
.pagination button,
.age-box,
.exit,
.related-panel,
.download-btn,
.view-thumb{
  border-color:#ff0000;
  animation:rgbBorderColor 3s linear infinite;
}

@keyframes rgbBorderColor{
  0%{border-color:#ff0000;}
  16.66%{border-color:#ffff00;}
  33.33%{border-color:#00ff00;}
  50%{border-color:#00ffff;}
  66.66%{border-color:#0066ff;}
  83.33%{border-color:#8b00ff;}
  100%{border-color:#ff0000;}
}

/* Keep the moving RGB edge on thumbnails/cards crisp */
.view-thumb{border-width:4px;}

@media (prefers-reduced-motion: reduce){
  .video-card,.view-card,.category:before,.native-ad-wrap,
  .icon-btn,.header-btn,.search-wrap,.search-wrap input,.stats,
  .card-btn,.pagination button,.age-box,.exit,.related-panel,
  .download-btn,.view-thumb{animation-duration:12s;}
}


/* =========================================================
   FINAL CARD COLORS
   RGB animation stays on the OUTER border only.
   Inner card surfaces remain solid blue.
========================================================= */

/* Home page video cards: animated RGB outer edge + fixed blue inner */
.video-card{
  background:linear-gradient(90deg,#ff0000,#ffff00,#00ff00,#00ffff,#0066ff,#8b00ff,#ff00aa,#ff0000) !important;
  background-size:500% 500% !important;
  animation:rgbBorderShift 4s linear infinite !important;
  padding:5px !important;
}

.video-card > .card-inner{
  background:#062b66 !important;
  border-radius:17px !important;
}

/* Related video cards: animated RGB frame with a fixed blue center */
.related-item{
  position:relative !important;
  isolation:isolate !important;
  border:0 !important;
  padding:9px !important;
  background:transparent !important;
  background-image:none !important;
  overflow:hidden !important;
  animation:none !important;
}

.related-item::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:10px !important;
  background:linear-gradient(90deg,#ff0000,#ffff00,#00ff00,#00ffff,#0066ff,#8b00ff,#ff00aa,#ff0000) !important;
  background-size:500% 500% !important;
  animation:rgbBorderShift 4s linear infinite !important;
  z-index:-2 !important;
}

.related-item::after{
  content:"" !important;
  position:absolute !important;
  inset:5px !important;
  border-radius:5px !important;
  background:#062b66 !important;
  z-index:-1 !important;
}

.related-item > *{
  position:relative !important;
  z-index:1 !important;
}

/* Do not let the generic all-border animation override these two card surfaces */
.video-card,
.related-item{
  animation-duration:4s !important;
}

/* =========================================================
   RGB BORDER ANIMATION FIX — HOME + RELATED VIDEO CARDS
   The RGB layer is now a dedicated pseudo-element so it
   cannot be hidden by the card's inner background.
========================================================= */
@keyframes rgbCardFlowFix{
  0%{background-position:0% 50%;}
  25%{background-position:100% 50%;}
  50%{background-position:100% 100%;}
  75%{background-position:0% 100%;}
  100%{background-position:0% 50%;}
}

.video-card{
  position:relative !important;
  isolation:isolate !important;
  padding:5px !important;
  border:0 !important;
  background:#062b66 !important;
  overflow:hidden !important;
  border-radius:20px !important;
  animation:none !important;
}
.video-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#ff0000,#ffff00,#00ff00,#00ffff,#0066ff,#8b00ff,#ff00aa,#ff0000) !important;
  background-size:500% 500% !important;
  animation:rgbCardFlowFix 3s linear infinite !important;
  z-index:-2 !important;
}
.video-card::after{
  content:"" !important;
  position:absolute !important;
  inset:5px !important;
  border-radius:15px !important;
  background:#062b66 !important;
  z-index:-1 !important;
}
.video-card > .card-inner{
  position:relative !important;
  z-index:1 !important;
  background:#062b66 !important;
  border-radius:15px !important;
}

.related-item{
  position:relative !important;
  isolation:isolate !important;
  border:0 !important;
  padding:9px !important;
  border-radius:10px !important;
  background:#062b66 !important;
  background-image:none !important;
  overflow:hidden !important;
  animation:none !important;
}
.related-item::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#ff0000,#ffff00,#00ff00,#00ffff,#0066ff,#8b00ff,#ff00aa,#ff0000) !important;
  background-size:500% 500% !important;
  animation:rgbCardFlowFix 3s linear infinite !important;
  z-index:-2 !important;
}
.related-item::after{
  content:"" !important;
  position:absolute !important;
  inset:5px !important;
  border-radius:5px !important;
  background:#062b66 !important;
  z-index:-1 !important;
}
.related-item > *{
  position:relative !important;
  z-index:1 !important;
}
/* Partner site logo placeholders */
.partner-sites{align-items:center;}
.partner-logo{width:80px;height:35px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:6px;background:#18181b;border:1px solid #27272a;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.partner-logo img{display:block;width:80px;height:35px;object-fit:contain;}
.partner-logo:hover{transform:translateY(-2px);border-color:#e50914;box-shadow:0 4px 14px rgba(229,9,20,.18);}
@media (max-width:640px){.partner-sites{gap:.6rem!important;}.partner-logo{width:80px;height:35px;}}
