/* roulang page: index */
:root{
  --bg:#0b0d12;
  --bg-2:#0f1218;
  --panel:#151a24;
  --panel-2:#1c2230;
  --line:rgba(255,255,255,.08);
  --text:#eef1f7;
  --muted:#98a2b6;
  --brand:#ffb454;
  --brand-2:#ff7059;
  --ok:#4ad9a4;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 20px 44px -24px rgba(0,0,0,.9);
  --container:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{margin:0;line-height:1.28;font-weight:700}
p{margin:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}

/* header */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(11,13,18,.88);
  border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.header-inner{
  max-width:var(--container);margin:0 auto;padding:0 20px;
  height:66px;display:flex;align-items:center;gap:26px;
}
.logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:.4px;flex:none}
.logo-mark{
  width:32px;height:32px;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#1a1206;font-size:14px;font-weight:900;
}
.nav{display:flex;gap:6px;margin-left:auto}
.nav a{
  display:flex;align-items:center;min-height:44px;padding:0 13px;border-radius:10px;
  font-size:14.5px;color:var(--muted);transition:color .2s,background .2s;
}
.nav a:hover{color:var(--text);background:rgba(255,255,255,.06)}
.nav a.is-active{color:var(--brand);background:rgba(255,180,84,.12)}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{
  content:"";position:absolute;inset:0;
  background:url("/assets/images/backpic/back-1.jpg") center/cover no-repeat;
  opacity:.45;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,13,18,.72) 0%,rgba(11,13,18,.9) 58%,var(--bg) 100%);
}
.hero-inner{position:relative;z-index:1;max-width:var(--container);margin:0 auto;padding:76px 20px 44px}
.eyebrow{margin:0 0 16px;font-size:12.5px;font-weight:700;letter-spacing:2.4px;color:var(--brand)}
.hero h1{font-size:clamp(29px,5vw,50px);letter-spacing:1px}
.hero h1 em{font-style:normal;color:var(--brand);display:inline-block}
.hero-sub{margin-top:14px;font-size:17px;font-weight:600;color:#d8dEEA}
.hero-text{margin-top:12px;max-width:610px;font-size:14.5px;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:0 26px;border-radius:999px;
  font-size:15px;font-weight:600;border:1px solid transparent;
  transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;
}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#1a1206}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(255,140,80,.85)}
.btn-ghost{background:rgba(255,255,255,.05);color:var(--text);border-color:rgba(255,255,255,.18)}
.btn-ghost:hover{background:rgba(255,255,255,.11)}
.series{
  display:flex;gap:10px;overflow-x:auto;margin-top:34px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);scrollbar-width:thin;
}
.series a{
  flex:none;display:flex;align-items:center;min-height:44px;
  padding:0 18px;border-radius:999px;font-size:13.5px;color:#cfd6e4;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  transition:background .2s,color .2s,border-color .2s;
}
.series a:hover{background:rgba(255,180,84,.16);color:var(--brand);border-color:rgba(255,180,84,.35)}

/* sections */
.section{padding:60px 0}
.section--alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 28px;margin-bottom:28px}
.sec-head h2{font-size:23px;letter-spacing:.4px}
.sec-head h2 span{color:var(--brand)}
.sec-desc{max-width:660px;margin-top:10px;font-size:14px;color:var(--muted)}
.sec-head .btn{min-height:42px;padding:0 20px;font-size:14px}

/* grids & cards */
.grid{display:grid;gap:18px}
.grid-6{grid-template-columns:repeat(6,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{display:block}
.thumb{
  position:relative;display:block;overflow:hidden;
  border-radius:var(--radius-sm);background:var(--panel-2);
  aspect-ratio:2/3;border:1px solid var(--line);
}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .thumb img{transform:scale(1.06)}
.card:hover .thumb{border-color:rgba(255,180,84,.4)}
.badge{
  position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:6px;
  font-size:11px;font-weight:700;letter-spacing:.4px;
  background:rgba(11,13,18,.8);color:var(--brand);
  border:1px solid rgba(255,180,84,.35);
}
.score{
  position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:6px;
  font-size:12px;font-weight:800;color:var(--brand);
  background:rgba(11,13,18,.84);
}
.card h3{
  margin-top:10px;font-size:14px;font-weight:600;color:#dde3ee;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:color .2s;
}
.card:hover h3{color:var(--brand)}

/* channels */
.channel{
  display:block;height:100%;padding:22px 22px 24px;border-radius:var(--radius);
  background:var(--panel);border:1px solid var(--line);
  transition:transform .22s,border-color .22s,box-shadow .22s;
}
.channel:hover{transform:translateY(-3px);border-color:rgba(255,180,84,.42);box-shadow:var(--shadow)}
.channel h3{font-size:17px;display:flex;align-items:center;gap:9px}
.channel h3::before{
  content:"";width:6px;height:18px;border-radius:3px;
  background:linear-gradient(180deg,var(--brand),var(--brand-2));
}
.channel p{margin-top:10px;font-size:13.5px;color:var(--muted)}

/* rank */
.rank-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.rank-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-radius:12px;
  background:var(--panel);border:1px solid var(--line);
  transition:border-color .2s,background .2s;
}
.rank-item:hover{border-color:rgba(255,180,84,.4);background:var(--panel-2)}
.rank-num{
  flex:none;width:26px;font-size:16px;font-weight:800;font-style:italic;
  color:#5f6a80;text-align:center;
}
.rank-item:nth-child(-n+3) .rank-num{color:var(--brand)}
.rank-title{flex:1;min-width:0;font-size:14.5px;font-weight:600;color:#dde3ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag{
  flex:none;padding:1px 9px;border-radius:999px;font-size:11.5px;
  color:var(--brand);background:rgba(255,180,84,.12);border:1px solid rgba(255,180,84,.24);
}
.heat{flex:none;font-size:12.5px;color:var(--muted)}
.score-inline{flex:none;font-size:14px;font-weight:800;color:var(--brand)}

/* news */
.news-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.news-item{
  display:flex;gap:14px;padding:12px;border-radius:14px;
  background:var(--panel);border:1px solid var(--line);
  transition:border-color .2s,transform .2s;
}
.news-item:hover{border-color:rgba(255,180,84,.4);transform:translateY(-2px)}
.news-item img{width:106px;height:76px;object-fit:cover;border-radius:10px;flex:none}
.news-body{min-width:0}
.news-tag{display:inline-block;margin-bottom:6px;font-size:11.5px;color:var(--ok);letter-spacing:.6px}
.news-body h3{font-size:14.5px;font-weight:600;color:#dde3ee;line-height:1.5}

/* faq */
.faq-list{display:grid;gap:12px;max-width:920px}
.faq-item{padding:20px 24px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.faq-item h3{font-size:15.5px;color:#e6ebf5}
.faq-item p{margin-top:8px;font-size:14px;color:var(--muted)}

/* footer */
.site-footer{margin-top:4px;background:var(--bg-2);border-top:1px solid var(--line);padding:52px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:34px}
.footer-brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800}
.footer-col p{margin-top:14px;font-size:13.5px;color:var(--muted);max-width:300px}
.footer-col h4{margin:0 0 14px;font-size:14px;font-weight:700;color:#e6ebf5;letter-spacing:.5px}
.footer-col li{margin-bottom:9px}
.footer-col li a{font-size:13.5px;color:var(--muted);transition:color .2s}
.footer-col li a:hover{color:var(--brand)}
.footer-bottom{
  margin-top:36px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;
  font-size:12.5px;color:#79839a;
}

@media (max-width:1024px){
  .grid-6{grid-template-columns:repeat(4,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .rank-list{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-inner{padding:64px 20px 38px}
  .section{padding:52px 0}
  .nav a{padding:0 10px;font-size:14px}
}
@media (max-width:768px){
  .header-inner{height:auto;flex-wrap:wrap;padding:10px 20px;gap:4px}
  .nav{width:100%;margin-left:0;overflow-x:auto;gap:2px;padding-bottom:2px}
  .nav a{white-space:nowrap;padding:0 12px}
  .grid-6{grid-template-columns:repeat(3,1fr);gap:14px}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .news-list{grid-template-columns:1fr}
  .hero-text{font-size:14px}
  .sec-head h2{font-size:20px}
  .faq-item{padding:18px 20px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:26px}
}
@media (max-width:520px){
  .container{padding:0 16px}
  .hero-inner{padding:52px 16px 32px}
  .hero h1{font-size:27px}
  .hero-sub{font-size:15.5px}
  .hero-actions .btn{flex:1 1 auto;padding:0 18px}
  .grid-6{grid-template-columns:repeat(2,1fr);gap:12px}
  .grid-3{grid-template-columns:1fr}
  .card h3{font-size:13px}
  .section{padding:42px 0}
  .rank-item{padding:11px 13px;gap:9px}
  .rank-title{font-size:13.5px}
  .heat{display:none}
  .news-item img{width:92px;height:68px}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-bottom{font-size:12px}
}
