:root{
      --bg:#0b0f14;
      --card:#0f1621;
      --ink:#e9eef7;
      --muted:#a7b4c7;
      --line:rgba(255,255,255,.08);
      --accent:#56a6ff;
      --chip:rgba(86,166,255,.12);
    }
    body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background: #070b10; color: var(--ink); }
    a { color: inherit; }
    .wrap{ max-width: 1180px; margin: 0 auto; padding: 18px; }
    .topbar{
      display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap;
      border-bottom:1px solid var(--line); padding-bottom: 14px; margin-bottom: 18px;
    }
    .brand{ display:flex; flex-direction:column; gap:2px; }
    .brand h1{ margin:0; font-size: 18px; letter-spacing:.3px; }
    .brand .sub{ color: var(--muted); font-size: 12px; }
    .pill{ display:inline-flex; gap:8px; align-items:center; padding:6px 10px; border-radius:999px; background: rgba(255,255,255,.06); border:1px solid var(--line); font-size:12px; color: var(--muted); }
    form{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
    input{
      padding:9px 10px; border-radius:10px; border:1px solid var(--line); background: rgba(255,255,255,.04);
      color: var(--ink); min-width: 170px; outline:none;
    }
    button{
      padding:10px 12px; border-radius:10px; border:1px solid var(--line);
      background: rgba(86,166,255,.15); color: var(--ink); cursor:pointer;
    }
    button:hover{ background: rgba(86,166,255,.22); }
    .note{ background: rgba(86,166,255,.12); border:1px solid rgba(86,166,255,.25); padding:10px 12px; border-radius:12px; color: #cfe6ff; margin: 12px 0; font-size:13px; }
    .warn{ background: rgba(255,205,86,.12); border:1px solid rgba(255,205,86,.28); padding:10px 12px; border-radius:12px; color:#ffe5a6; margin: 12px 0; font-size:13px; }

    .grid{ display:grid; grid-template-columns: 2fr 1fr; gap: 16px; }
    @media (max-width: 980px){ .grid{ grid-template-columns: 1fr; } }

    .hero{
      border:1px solid var(--line); border-radius: 18px; overflow:hidden;
      background: linear-gradient(180deg, rgba(86,166,255,.12), rgba(255,255,255,.02));
    }
    .hero-in{ display:grid; grid-template-columns: 1.1fr 1fr; gap: 0; }
    @media (max-width: 980px){ .hero-in{ grid-template-columns: 1fr; } }
    .hero-img{
      background: rgba(255,255,255,.03);
      min-height: 240px;
      display:flex; align-items:center; justify-content:center;
    }
    .hero-img img{ width:100%; height:100%; object-fit:cover; display:block; }
    .hero-body{ padding: 18px; }
    .kicker{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom: 10px; }
    .chip{ background: var(--chip); color:#cfe6ff; border:1px solid rgba(86,166,255,.25); padding:5px 10px; border-radius:999px; font-size:12px; }
    .meta{ color: var(--muted); font-size: 12px; }
    .hero-title{ margin: 10px 0 10px; font-size: 26px; line-height: 1.18; }
    .hero-title a{ text-decoration:none; }
    .hero-title a:hover{ text-decoration:underline; }
    .hero-snippet{ color:#d6deea; font-size: 14px; line-height:1.6; }

    .panel{
      border:1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.03);
      padding: 14px;
    }
    .panel h3{ margin: 0 0 10px; font-size: 14px; color: #dfe7f5; letter-spacing:.3px; }
    .trend{
      display:flex; gap:10px; padding: 10px 0; border-top: 1px solid var(--line);
    }
    .trend:first-of-type{ border-top:none; padding-top: 0; }
    .trend a{ text-decoration:none; }
    .trend a:hover{ text-decoration:underline; }
    .trend .tmeta{ color: var(--muted); font-size: 12px; margin-top: 4px; }
    .tidx{ color: var(--muted); font-size: 12px; width: 18px; text-align:right; padding-top: 2px; }

    .section{ margin-top: 16px; }
    .section-head{
      display:flex; align-items:baseline; justify-content:space-between; gap: 10px;
      margin: 10px 0;
    }
    .section-head h2{ margin:0; font-size: 16px; letter-spacing:.2px; }
    .section-head .small{ color: var(--muted); font-size: 12px; }
    .cards{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
    @media (max-width: 980px){ .cards{ grid-template-columns: 1fr; } }

    .card{
      border:1px solid var(--line); border-radius: 16px; overflow:hidden;
      background: rgba(255,255,255,.03);
      display:flex; flex-direction:column;
    }
    .card .thumb{ background: rgba(255,255,255,.02); aspect-ratio: 16/9; }
    .card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
    .card .body{ padding: 12px; display:flex; flex-direction:column; gap: 8px; }
    .card .title{ margin:0; font-size: 15px; line-height:1.3; }
    .card .title a{ text-decoration:none; }
    .card .title a:hover{ text-decoration:underline; }
    .card .snippet{ color:#d6deea; font-size: 13px; line-height:1.55; }
    .actions{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top: 8px; }
    .btnlink{
      display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:10px;
      border:1px solid var(--line); background: rgba(255,255,255,.03); color: var(--ink);
      text-decoration:none; font-size: 12px; cursor:pointer;
    }
    .btnlink:hover{ background: rgba(255,255,255,.06); }
    .toast{ font-size: 12px; color: #7CFFB2; display:none; }
    .footer{ color: var(--muted); font-size: 12px; padding: 18px 0 6px; border-top:1px solid var(--line); margin-top: 18px; }
    .hero-videos{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;          /* IMPORTANT: no stacking */
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:10px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling: touch;
}

.hero-video{
  flex:0 0 320px;            /* fixed card width */
  scroll-snap-align:start;
}

.hero-video .vid{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  border:0;
  border-radius:10px;
  background: rgba(0,0,0,0.3);
}

.hero-video-cap{
  font-size: 0.9rem;
  margin-top: 6px;
  white-space: normal;
}
.rail { margin: 14px 0 16px; }
    .rail-head{
      display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
      margin-bottom: 10px;
    }
    .rail-title{ font-size: 16px; font-weight: 700; color: var(--ink, #e9eef7); }
    .rail-sub{ font-size: 12px; color: var(--muted, #a7b4c7); margin-top: 4px; }
    .rail-controls{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
    .rbtn{
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.04);
      color: var(--ink, #e9eef7);
      padding: 8px 10px;
      border-radius: 12px;
      cursor:pointer;
      font-size: 13px;
    }
    .rbtn:hover{ background: rgba(255,255,255,.08); }

    .carousel{
      display:flex;
      gap: 12px;
      overflow-x:auto;
      padding: 10px 6px;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 16px;
      background: rgba(255,255,255,.03);
    }
    .carousel::-webkit-scrollbar{ height: 10px; }
    .carousel::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.18); border-radius: 999px; }

    .slide{
      flex: 0 0 92%;
      scroll-snap-align: center;
      border-radius: 16px;
      overflow:hidden;
      position:relative;
      background:#0b0f15;
      border: 1px solid rgba(255,255,255,.10);
      aspect-ratio: 40 / 21;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    @media (min-width: 900px){
      .slide{ flex-basis: 70%; }
    }

    .slide img{
      width:90%;
      height:90%;
      object-fit: cover; /* nice crop like news sites */
      display:block;
      background:#111;
    }

    .overlay{
      position:absolute;
      left: 10px;
      right: 10px;
      bottom: 10px;
      display:flex;
      justify-content:space-between;
      gap:10px;
      align-items:flex-end;
    }
    .badge{
      display:inline-flex;
      gap:8px;
      align-items:center;
      background: rgba(0,0,0,.55);
      border: 1px solid rgba(255,255,255,.18);
      color:#fff;
      padding: 6px 10px;
      border-radius: 999px;
      font-size: 12px;
      backdrop-filter: blur(2px);
      max-width: 100%;
    }
    .badge a{
      color:#fff;
      text-decoration:none;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width: 62vw;
      display:inline-block;
      vertical-align:bottom;
    }
    @media (min-width: 900px){
      .badge a{ max-width: 520px; }
    }
    .count{
      background: rgba(0,0,0,.55);
      border: 1px solid rgba(255,255,255,.18);
      color:#fff;
      padding: 6px 10px;
      border-radius: 999px;
      font-size: 12px;
      backdrop-filter: blur(2px);
    }
    .logo{
      width: 32px;
      height: 32px;
      object-fit: contain;
    }