:root{
  --np-bg:#0b1220;
  --np-surface:#0f1b2d;
  --np-surface-2:#13223a;
  --np-text:#e8eefc;
  --np-muted:#a9b6d3;
  --np-border:rgba(255,255,255,.10);
  --np-accent:#ff3b30;
  --np-accent-2:#4da3ff;
}

.np-body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 600px at 20% -10%, rgba(77,163,255,.22), transparent 55%),
              radial-gradient(900px 600px at 90% 0%, rgba(255,59,48,.18), transparent 50%),
              var(--np-bg);
  color: var(--np-text);
}

.np-topbar{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(11,18,32,.75);
  border-bottom: 1px solid var(--np-border);
  backdrop-filter: blur(12px);
}
.np-brand{
  color: var(--np-text);
  text-decoration:none;
  font-weight: 700;
  letter-spacing: .2px;
}
.np-nav__link{
  color: var(--np-muted);
  text-decoration:none;
  padding: 14px 10px;
  font-weight: 600;
}
.np-nav__link:hover{ color: var(--np-text); }
.np-search .form-control{
  background: rgba(255,255,255,.04);
  border: 1px solid var(--np-border);
  color: var(--np-text);
}
.np-search .form-control::placeholder{ color: rgba(232,238,252,.55); }

.np-section{ margin-top: 18px; }
.np-section__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin-bottom: 10px;
}
.np-h2{ font-size: 1.35rem; margin:0; font-weight: 800; }
.np-h3{ font-size: 1.05rem; margin:0; font-weight: 800; }
.np-h3--tight{ line-height: 1.25; }
.np-h4{ font-size: .98rem; font-weight: 800; margin:0; }
.np-link{ color: var(--np-text); text-decoration:none; }
.np-link:hover{ color: var(--np-accent-2); }
.np-muted{ color: var(--np-muted); }

.np-card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid var(--np-border);
  border-radius: 16px;
  overflow:hidden;
}
.np-card--soft{ background: rgba(255,255,255,.03); }
.np-card--hover{ transition: transform .18s ease, border-color .18s ease; }
.np-card--hover:hover{ transform: translateY(-2px); border-color: rgba(77,163,255,.35); }
.np-card__head{ padding: 14px 14px 0 14px; }
.np-card__media{ display:block; aspect-ratio: 16/9; overflow:hidden; }
.np-card__body{ padding: 14px; }
.np-card__meta{ display:flex; gap:10px; align-items:center; margin-bottom: 8px; }

.np-img{ width:100%; height:100%; object-fit:cover; display:block; }
.np-img--square{ aspect-ratio: 1/1; border-radius: 12px; }

.np-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255,59,48,.14);
  color: #ffd2cf;
  border: 1px solid rgba(255,59,48,.22);
  font-weight: 700;
  font-size: .72rem;
}
.np-date{ color: rgba(232,238,252,.65); font-size: .78rem; }

.np-breaking{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,59,48,.25);
  background: rgba(255,59,48,.09);
}
.np-breaking__label{
  background: var(--np-accent);
  color: #fff;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: .74rem;
  letter-spacing: .4px;
}
.np-breaking__track{
  overflow:hidden;
  flex:1;
}
.np-breaking__items{
  display:flex;
  gap: 22px;
  animation: np-marquee 24s linear infinite;
  white-space: nowrap;
}
.np-breaking__item{
  color: var(--np-text);
  text-decoration:none;
  font-weight: 700;
}
.np-breaking__item:hover{ color: var(--np-accent-2); }
@keyframes np-marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-45%); }
}

.np-list{ display:flex; flex-direction:column; gap: 14px; }
.np-list__item{
  padding: 14px;
  border: 1px solid var(--np-border);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
}
.np-list__meta{ display:flex; gap:10px; align-items:center; margin-bottom: 8px; }

.np-row{
  display:flex;
  gap: 12px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--np-border);
  background: rgba(255,255,255,.03);
}
.np-row__media{ width: 78px; flex: 0 0 78px; }
.np-row__body{ min-width: 0; flex: 1; }
.np-row__meta{ display:flex; gap:10px; align-items:center; margin-bottom: 6px; }

.np-trending{
  margin: 0;
  padding: 10px 12px 14px 12px;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap: 12px;
}
.np-trending__item{ display:flex; gap: 10px; }
.np-trending__num{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(77,163,255,.14);
  border: 1px solid rgba(77,163,255,.24);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  color: #cfe6ff;
}
.np-trending__body{ flex:1; min-width: 0; }

.np-tags{
  padding: 10px 12px 14px 12px;
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
}
.np-tag{
  color: var(--np-text);
  text-decoration:none;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--np-border);
  background: rgba(255,255,255,.03);
  font-weight: 700;
  font-size: .78rem;
}
.np-tag:hover{ border-color: rgba(77,163,255,.35); color: var(--np-accent-2); }

.np-pills .nav-link{
  color: var(--np-muted);
  border: 1px solid var(--np-border);
  background: rgba(255,255,255,.02);
  font-weight: 800;
  font-size: .82rem;
}
.np-pills .nav-link.active{
  color: var(--np-text);
  border-color: rgba(77,163,255,.35);
  background: rgba(77,163,255,.10);
}

.np-footer{
  border-top: 1px solid var(--np-border);
  background: rgba(255,255,255,.02);
}
.np-footer__title{ font-weight: 900; }

@media (prefers-reduced-motion: reduce){
  .np-breaking__items{ animation: none; }
  .np-card--hover{ transition: none; }
}

