body{
  margin:0;
  font-family:'Space Grotesk',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:#050815;
  color:#f9fafb;
  -webkit-font-smoothing:antialiased;
  position:relative;
  overflow-x: hidden;
}

body::before{
  content:'';
  position:fixed;
  inset:-40px;
  background:
    radial-gradient(circle at 10% 0%,rgba(56,189,248,0.12),transparent 55%),
    radial-gradient(circle at 90% 20%,rgba(168,85,247,0.18),transparent 55%),
    radial-gradient(circle at 50% 100%,rgba(34,197,94,0.14),transparent 55%);
  mix-blend-mode:screen;
  opacity:0.9;
  pointer-events:none;
  z-index:-2;
}

body::after{
  content:'';
  position:fixed;
  inset:0;
  background-image:linear-gradient(rgba(15,23,42,0.9),rgba(15,23,42,0.96)),
                    linear-gradient(90deg,rgba(148,163,184,0.08) 1px,transparent 1px),
                    linear-gradient(rgba(148,163,184,0.06) 1px,transparent 1px);
  background-size:100% 100%,120px 120px,120px 120px;
  background-position:center;
  pointer-events:none;
  z-index:-1;
}

.page{
  max-width:1180px;
  margin:0 auto;
  padding:32px 24px 20px;
  min-height:100vh;
}

/* Compliance Banner */
.compliance-banner{
  padding:12px 20px;
  border-radius:16px;
  background:radial-gradient(circle at 0 0,rgba(251,146,60,0.08),rgba(15,23,42,0.95));
  border:1px solid rgba(251,146,60,0.25);
  margin-bottom:20px;
  text-align:center;
}
.compliance-banner p{
  margin:0;
  color:#fed7aa;
  font-size:12px;
  line-height:1.6;
}
.compliance-banner a{
  color:#22d3ee;
  text-decoration:none;
  font-weight:500;
}
.compliance-banner a:hover{
  text-decoration:underline;
}

/* Top Navigation */
.top-nav{
  display:flex;
  align-items:center;
  gap:24px;
  padding:10px 18px;
  border-radius:999px;
  background:radial-gradient(circle at 0 0,rgba(56,189,248,0.18),transparent 55%),
             radial-gradient(circle at 100% 0,rgba(168,85,247,0.24),transparent 55%);
  border:1px solid rgba(148,163,184,0.24);
  box-shadow:0 18px 60px rgba(15,23,42,0.75);
  backdrop-filter:blur(22px);
  position:sticky;
  top:20px;
  z-index:20;
}

.brand{
  flex:1;
  display:flex;
  align-items:center;
  gap:12px;
}

.nav-links-container{
  flex:1;
  display:flex;
  justify-content:center;
  align-items:center;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:28px;
  font-size:13px;
}

.nav-cta-container{
  flex:1;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.brand-logo{
  width:32px;
  height:32px;
  border-radius:12px;
  background:conic-gradient(from 140deg,#22d3ee,#a855f7,#22c55e,#22d3ee);
  padding:2px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 0 0 1px rgba(15,23,42,0.85),0 12px 30px rgba(0,0,0,0.9);
}
.brand-logo img{
  width:100%;
  height:100%;
  border-radius:10px;
  object-fit:cover;
}
.brand-meta{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.brand-name{
  font-size:16px;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
}
.brand-tagline{
  font-size:11px;
  color:#9ca3af;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:18px;
  font-size:13px;
}
.nav-links a{
  color:#e5e7eb;
  text-decoration:none;
  opacity:0.7;
  transition:opacity .25s,transform .25s;
}
.nav-links a:hover{
  opacity:1;
  transform:translateY(-1px);
}

.nav-cta{
  padding:8px 16px;
  border-radius:999px;
  border:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:500;
  color:#0f172a;
  background:linear-gradient(120deg,#22d3ee,#a855f7);
  box-shadow:0 12px 35px rgba(56,189,248,0.45);
  transition:transform .25s,box-shadow .25s,filter .25s;
}
.nav-cta::after{
  content:'↗';
  font-size:11px;
}
.nav-cta:hover{
  transform:translateY(-1px) scale(1.02);
  box-shadow:0 18px 50px rgba(59,130,246,0.7);
  filter:brightness(1.05);
}

/* HERO */
.hero{
  text-align:center;
  margin:72px 0 48px;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.45);
  background:radial-gradient(circle at 0 0,rgba(56,189,248,0.25),transparent 60%);
  font-size:11px;
  color:#e5e7eb;
  letter-spacing:0.12em;
  text-transform:uppercase;
  margin-bottom:16px;
}
.hero-badge-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:radial-gradient(circle at 30% 30%,#bbf7d0,#22c55e);
  box-shadow:0 0 12px rgba(74,222,128,0.9);
}
.hero h1{
  font-size:50px;
  font-weight:600;
  line-height:1.05;
  letter-spacing:-0.03em;
}
.hero h1 span{
  background:linear-gradient(120deg,#22d3ee,#a855f7,#22c55e);
  -webkit-background-clip:text;
  color:transparent;
}
.hero p{
  margin-top:18px;
  color:#9ca3af;
  font-size:15px;
}

.date{
  margin-bottom:20px;
  margin-top:-12px;
  font-size:11px;
  color:#9ca3af;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.date-icon{
  width:14px;
  height:14px;
  flex-shrink:0;
  margin-bottom:-1px;
}

.search-box{
  margin-top:36px;
  display:flex;
  justify-content:center;
  position:relative;
}
.input-wrapper{
  position:relative;
  width:100%;
  max-width:560px;
}
.search-box input{
  width:100%;
  padding:18px 0px 18px 20px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.55);
  background:radial-gradient(circle at 0 0,rgba(15,23,42,0.9),rgba(15,23,42,0.98));
  color:#f9fafb;
  backdrop-filter:blur(16px);
  transition:border-color .25s,box-shadow .25s,background .25s,transform .12s;
  font-size:14px;
}
.search-box input::placeholder{
  color:#6b7280;
}
.search-box input:focus{
  outline:none;
  border-color:#22d3ee;
  box-shadow:0 0 0 1px rgba(34,211,238,0.35),0 18px 45px rgba(15,23,42,1);
  transform:translateY(-1px);
}
.search-box .search-icon{
  position:absolute;
  right:0px;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:999px;
  background:linear-gradient(135deg,#22d3ee,#a855f7);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .25s;
  box-shadow:0 12px 30px rgba(59,130,246,0.6);
}
.search-box .search-icon:hover{
  transform:translateY(-50%) scale(1.05);
  box-shadow:0 16px 40px rgba(37,99,235,0.9);
}
.search-box .search-icon svg{
  width:20px;
  height:20px;
  fill:white;
}

/* RANKINGS */
.ranking{
  max-width:1180px;
  margin:0 auto;
}
.ranking-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin:56px 0 26px;
}
.ranking h2{
  margin:0;
  font-weight:500;
  color:#e5e7eb;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-size:13px;
}
.ranking-sub{
  font-size:12px;
  color:#9ca3af;
}
.ranking-shell{
  border-radius:30px;
  padding:26px 26px 30px;
  background:radial-gradient(circle at 0 0,rgba(15,23,42,0.9),rgba(15,23,42,0.98));
  border:1px solid rgba(148,163,184,0.5);
  box-shadow:0 28px 80px rgba(15,23,42,0.95);
  position:relative;
  overflow:hidden;
}
.ranking-shell::before{
  content:'';
  position:absolute;
  inset:-1px;
  background:conic-gradient(from 200deg,rgba(56,189,248,0),rgba(56,189,248,0.18),rgba(168,85,247,0.2),rgba(56,189,248,0));
  opacity:0.7;
  mask:linear-gradient(#000 0 0,transparent 35%);
  pointer-events:none;
}
.ranking-shell-inner{
  position:relative;
  z-index:1;
}

.grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

.footer{
  margin-top:72px;
  text-align:center;
  opacity:0.9;
}
.legal-info{
  margin-top:8px;
  color:#6b7280;
  font-size:11px;
  line-height:1.7;
}
.legal-info p{
  margin:4px 0;
}
.legal-info a{
  color:#6b7280;
  text-decoration:none;
  font-size:11px;
  line-height:1.7;
}
.legal-info a:hover{
  text-decoration:underline;
}

/* Card */
.card{
  padding:22px 20px 20px;
  border-radius:22px;
  background:radial-gradient(circle at 0 0,rgba(15,23,42,0.95),rgba(15,23,42,1));
  border:1px solid rgba(31,41,55,0.9);
  box-shadow:0 18px 42px rgba(15,23,42,0.85);
  backdrop-filter:blur(18px);
  transition:transform .28s,box-shadow .28s,border-color .28s,background .28s;
  position:relative;
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(circle at 0 0,rgba(56,189,248,0.2),transparent 60%),
             radial-gradient(circle at 100% 0,rgba(168,85,247,0.2),transparent 60%);
  opacity:0;
  transition:opacity .3s;
}
.card:hover{
  transform:translateY(-6px) translateZ(0);
  border-color:rgba(56,189,248,0.85);
  box-shadow:0 26px 60px rgba(15,23,42,0.9);
  background:radial-gradient(circle at 0 0,rgba(15,23,42,0.98),rgba(15,23,42,1));
}
.card:hover::before{
  opacity:1;
}

.logo{
  width:42px;
  height:42px;
  border-radius:14px;
  background:conic-gradient(from 120deg,#22d3ee,#a855f7,#22c55e,#22d3ee);
  margin-bottom:16px;
}
.name{
  font-size:17px;
  font-weight:500;
}
.desc{
  font-size:13px;
  color:#9ca3af;
  margin:8px 0 12px;
}
.feature-list{
  margin:10px 0 0;
  padding-left:18px;
  font-size:12px;
  color:#a1a1aa;
}
.feature-list li{
  margin:4px 0;
  line-height:1.5;
}

/* Summary Card */
.summary-wrapper{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:14px;
  margin-top:22px;
}
.summary-card{
  padding:20px 18px 18px;
  border-radius:20px;
  background:radial-gradient(circle at 0 0,rgba(15,23,42,0.98),rgba(15,23,42,1));
  border:1px solid rgba(31,41,55,0.9);
  backdrop-filter:blur(18px);
}
.summary-card:nth-child(2){
  margin-left:8px;
}
.summary-card h3{
  font-size:15px;
  font-weight:600;
  margin:0 0 12px 0;
  background:linear-gradient(120deg,#22d3ee,#a855f7);
  -webkit-background-clip:text;
  color:transparent;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.summary-list{
  margin:0;
  padding-left:0;
  font-size:13px;
  color:#e5e7eb;
}
.summary-list li{
  margin:6px 0;
  line-height:1.5;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:6px 10px;
  border-radius:10px;
  background:rgba(15,23,42,0.9);
  border:1px solid rgba(31,41,55,0.9);
}
.summary-list li:hover{
  background:rgba(15,23,42,1);
}
.summary-list .item-name{
  flex:1;
}
.summary-list .item-score{
  font-size:11px;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(34,211,238,0.16);
  color:#e0f2fe;
  font-weight:500;
  min-width:40px;
  text-align:center;
}
.summary-list .rank-change{
  display:flex;
  align-items:center;
  gap:2px;
  margin-left:8px;
  font-size:11px;
  min-width:35px;
  justify-content:center;
}
.summary-list .rank-change.up{
  color:#4ade80;
}
.summary-list .rank-change.down{
  color:#f97373;
}
.summary-list .rank-change svg{
  width:13px;
  height:13px;
}
.summary-list .rank-change .change-value{
  font-weight:600;
}

/* Locked Card */
.locked-card{
  position:relative;
}
.locked-card > *:not(.lock-overlay){
  filter:blur(4px);
}
.lock-overlay{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 30% 0,rgba(15,23,42,0.4),rgba(15,23,42,0.95));
  border-radius:inherit;
  z-index:10;
}

.provider-pill.locked-card .lock-overlay{
  flex-direction:row;
  gap:10px;
  padding:14px 22px;
}

.provider-pill.locked-card .lock-overlay span{
  font-size:13px;
  color:#e5e7eb;
  opacity:0.9;
}
.lock-overlay h4{
  font-size:15px;
  font-weight:500;
  margin:0 0 16px 0;
  color:white;
}
.subscribe-btn{
  padding:10px 22px;
  border-radius:999px;
  background:linear-gradient(135deg,#22d3ee,#a855f7);
  border:none;
  color:#0f172a;
  font-weight:500;
  cursor:pointer;
  transition:all .25s;
  font-size:13px;
  box-shadow:0 12px 34px rgba(59,130,246,0.7);
}
.subscribe-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 46px rgba(37,99,235,0.9);
}

/* Contact Section */
.contact{
  max-width:780px;
  margin:72px auto 0;
  padding:0 8px;
}
.contact h2{
  margin:0 0 28px 0;
  font-size:18px;
  font-weight:500;
  color:#e5e7eb;
  text-align:center;
  letter-spacing:0.14em;
  text-transform:uppercase;
}
.contact-form{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:22px 22px 24px;
  border-radius:22px;
  background:radial-gradient(circle at 0 0,rgba(15,23,42,0.98),rgba(15,23,42,1));
  border:1px solid rgba(31,41,55,0.9);
  box-shadow:0 26px 70px rgba(15,23,42,0.95);
}
.form-group{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.form-group label{
  font-size:12px;
  color:#9ca3af;
  font-weight:500;
}
.form-group input,
.form-group textarea{
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(55,65,81,0.9);
  background:radial-gradient(circle at 0 0,rgba(15,23,42,1),rgba(15,23,42,0.98));
  color:#f9fafb;
  backdrop-filter:blur(12px);
  transition:all .25s;
  font-family:inherit;
  font-size:13px;
}
.form-group input::placeholder,
.form-group textarea::placeholder{
  color:#6b7280;
}
.form-group input:focus,
.form-group textarea:focus{
  outline:none;
  border-color:#22d3ee;
  box-shadow:0 0 0 1px rgba(34,211,238,0.35),0 18px 40px rgba(15,23,42,1);
}
.form-group textarea{
  resize:vertical;
  min-height:110px;
}
.send-btn{
  padding:12px 26px;
  border-radius:999px;
  background:linear-gradient(135deg,#22d3ee,#a855f7);
  border:none;
  color:#0f172a;
  font-weight:500;
  cursor:pointer;
  transition:all .25s;
  align-self:center;
  font-size:14px;
  margin:4px auto 0;
  display:block;
  box-shadow:0 16px 46px rgba(37,99,235,0.9);
}
.send-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 22px 60px rgba(37,99,235,1);
}

/* Popular Providers - full width partner cloud */
.providers-full{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  margin-top: 100px;
  margin-bottom: 150px;
}
.providers-inner{
  max-width:1180px;
  margin:0 auto;
}
.providers-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:32px;
}
.providers-title{
  font-size:13px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#e5e7eb;
}
.providers-sub{
  font-size:12px;
  color:#9ca3af;
}
.providers-cloud{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  gap:26px 30px;
  justify-content:space-between;
  align-items:center;
}
.provider-pill{
  position:relative;
  padding:14px 22px;
  border-radius:999px;
  font-size:13px;
  color:#e5e7eb;
  background:radial-gradient(circle at 0 0,rgba(15,23,42,0.96),rgba(15,23,42,0.98));
  border:1px solid rgba(31,41,55,0.9);
  box-shadow:0 14px 36px rgba(15,23,42,0.9);
  backdrop-filter:blur(16px);
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  transition:transform .25s,box-shadow .25s,border-color .25s,background .25s,opacity .25s;
  min-width:220px;
}
.provider-logo{
  width:40px;
  height:40px;
  border-radius:14px;
  background:radial-gradient(circle at 0 0,rgba(15,23,42,1),rgba(15,23,42,0.96));
  border:1px solid rgba(31,41,55,0.9);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.provider-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.provider-name{
  opacity:0.9;
}
.provider-pill:hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 22px 50px rgba(15,23,42,0.98);
  border-color:rgba(56,189,248,0.85);
  opacity:1;
}


.provider-pill:nth-child(2n){
  background:radial-gradient(circle at 0 0,rgba(15,23,42,0.98),rgba(15,23,42,1));
}

@media(max-width:900px){
  .providers-full{
    padding:72px 32px 60px;
  }
  .providers-header{
    flex-direction:column;
    align-items:flex-start;
  }
  .providers-cloud{
    justify-content:center;
  }
}

@media(max-width:600px){
  .providers-full{
    padding:56px 16px 44px;
  }
  .provider-pill{
    width:100%;
    justify-content:flex-start;
  }
}

/* Icon Grid Card */
.icon-grid-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:26px 20px;
  min-height:280px;
}
.icon-grid-card .logo{
  margin-bottom:18px;
}
.icon-grid{
  display:grid;
  grid-template-columns:repeat(2,53px);
  gap:14px;
  justify-content:center;
  align-content:center;
  margin:14px 0;
}
.icon-item{
  width:53px;
  height:53px;
  border-radius:16px;
  background:radial-gradient(circle at 0 0,rgba(15,23,42,1),rgba(15,23,42,0.96));
  border:1px solid rgba(31,41,55,0.9);
  backdrop-filter:blur(14px);
  transition:all .25s;
}
.icon-item:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(15,23,42,0.95);
  border-color:rgba(56,189,248,0.8);
}

/* Barrage (弹幕) */
.barrage-wrapper{
  width:100vw;
  margin:28px 0 0 50%;
  transform:translateX(-50%);
  overflow:hidden;
}
#barrage-container{
  width:100%;
  height:60px;
}

@media(max-width:900px){
  .grid{
    grid-template-columns:1fr 1fr;
  }
  .hero h1{
    font-size:40px;
  }
  .top-nav{
    padding:10px 14px;
  }
  .nav-links{
    display:none;
  }
  .nav-links-container{
    flex:0;
  }
  .brand{
    flex:1;
  }
  .nav-cta-container{
    flex:0;
  }
}

@media(max-width:600px){
  .page{
    padding:20px 16px 64px;
  }
  .hero{
    margin-top:56px;
  }
  .grid{
    grid-template-columns:1fr;
  }
  .summary-wrapper{
    grid-template-columns:1fr;
  }
  .summary-card:nth-child(2){
    margin-left:0;
  }
  .contact h2{
    font-size:15px;
  }
  .top-nav{
    border-radius:18px;
  }
}
