:root{
  --v8-glow:0 18px 55px rgba(67,38,130,.14);
  --v8-border:rgba(139,122,190,.18);
}
.app-page.active > *{
  animation:v8PageIn .42s cubic-bezier(.22,.75,.28,1) both;
}
.app-page.active > *:nth-child(2){animation-delay:.035s}
.app-page.active > *:nth-child(3){animation-delay:.07s}
.app-page.active > *:nth-child(4){animation-delay:.105s}
@keyframes v8PageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.activity-item{
  border:1px solid transparent;
  border-radius:18px;
  margin:8px 0;
  padding:18px 14px;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.activity-item:hover{
  transform:translateY(-2px);
  border-color:var(--v8-border);
  background:rgba(255,255,255,.035);
  box-shadow:0 14px 34px rgba(20,14,38,.1);
}
.activity-item.is-new-event{animation:v8NewEvent .68s cubic-bezier(.2,.85,.28,1) both}
.activity-item.is-new-event:after{
  content:"NEW";
  position:absolute;
  top:10px;
  right:12px;
  padding:4px 7px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  color:#fff;
  background:linear-gradient(135deg,#ff5b75,#8b5cf6);
  box-shadow:0 7px 18px rgba(139,92,246,.24);
  animation:v8NewBadge 4s ease both;
}
@keyframes v8NewEvent{0%{opacity:0;transform:translateY(-14px) scale(.985);background:rgba(139,92,246,.14)}100%{opacity:1;transform:none;background:transparent}}
@keyframes v8NewBadge{0%,72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-4px)}}
.activity-copy{min-width:0}
.live-hub-header{align-items:center}
.live-overview article{
  position:relative;
  overflow:hidden;
  border:1px solid var(--v8-border);
  box-shadow:0 12px 32px rgba(24,15,48,.08);
}
.live-overview article:after{
  content:"";
  position:absolute;
  width:100px;height:100px;
  right:-42px;top:-50px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(135,87,255,.15),transparent 70%);
}
.live-overview-dot{box-shadow:0 0 0 6px rgba(255,72,96,.1),0 0 18px rgba(255,72,96,.55);animation:v8LivePulse 1.8s ease-in-out infinite}
@keyframes v8LivePulse{50%{transform:scale(.82);opacity:.72}}
.live-card-grid{align-items:stretch}
.live-stream-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--v8-border);
  box-shadow:0 13px 34px rgba(25,17,44,.09);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.live-stream-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(24,15,45,.17)}
.live-stream-card.is-live{border-color:rgba(255,70,95,.45);box-shadow:0 18px 44px rgba(255,70,95,.13)}
.live-stream-card.is-live:before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(125deg,rgba(255,75,96,.06),transparent 40%);
}
.live-card-thumb{overflow:hidden}
.live-card-thumb img{transition:transform .45s cubic-bezier(.2,.7,.25,1),filter .25s ease}
.live-stream-card:hover .live-card-thumb img{transform:scale(1.045)}
.live-stream-card.is-offline .live-card-thumb img{filter:saturate(.72) brightness(.86)}
.live-badge,.offline-badge{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.live-card-body{position:relative;z-index:3}
.live-card-body strong{font-size:17px;letter-spacing:-.02em}
.live-card-body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.live-card-body .v8-status-row{display:flex;align-items:center;gap:6px;margin-top:9px;flex-wrap:wrap}
.v8-mini-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(135,87,255,.09);font-size:12px;font-weight:800;color:var(--muted,#8d95a5)}
.is-live .v8-mini-chip{background:rgba(255,75,96,.1);color:#ff6b7e}
.v8-skeleton{position:relative;overflow:hidden;background:rgba(138,148,170,.1)!important;color:transparent!important;border-color:transparent!important}
.v8-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);animation:v8Shimmer 1.25s infinite}
@keyframes v8Shimmer{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.app-page.active > *,.activity-item.is-new-event,.live-overview-dot,.v8-skeleton:after{animation:none!important}
.activity-item,.live-stream-card,.live-card-thumb img{transition:none!important}}
@media (max-width:760px){.activity-item{grid-template-columns:42px minmax(0,1fr);padding:15px 9px;margin:6px 0;border-radius:15px}
.activity-item:hover{transform:none}
.activity-item.is-new-event:after{top:8px;right:8px}
.live-hub-header{align-items:flex-start;gap:14px}
.live-refresh-btn{min-height:44px}
.live-overview{grid-template-columns:1fr}
.live-overview article{min-height:78px}
.live-card-grid{grid-template-columns:1fr}
.live-stream-card{display:grid;grid-template-columns:132px minmax(0,1fr)}
.live-card-thumb{height:100%;min-height:128px}
.live-card-body{padding:14px 13px}}
@media (max-width:430px){.live-stream-card{grid-template-columns:112px minmax(0,1fr)}
.live-card-body .live-avatar{display:none}
.live-card-body strong{font-size:16px}}
