/* roulang page: index */
*,*::before,*::after{box-sizing:border-box}
:root{
--pink:#FF4F87;--orange:#FF9F45;--purple:#7A5CFF;
--grad:linear-gradient(135deg,#FF4F87 0%,#FF9F45 100%);
--grad2:linear-gradient(120deg,#7A5CFF 0%,#FF4F87 100%);
--dark:#2A1B33;--dark2:#3A2745;
--bg:#FFF7F2;--card:#FFFFFF;--line:#F0E4DC;
--text:#231A2B;--muted:#6E6377;
--gold:#FFC53D;--green:#21C8A0;
--r:22px;--r-sm:16px;--r-lg:28px;
--shadow:0 12px 32px rgba(42,27,51,.10);
--shadow-hover:0 20px 44px rgba(255,79,135,.20);
--ease:220ms cubic-bezier(.2,.7,.3,1);
}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:"PingFang SC","HarmonyOS Sans","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.75;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,figure{margin:0}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;height:76px;z-index:1040;background:transparent;transition:height var(--ease),background var(--ease),box-shadow var(--ease)}
.site-header.scrolled{height:64px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(42,27,51,.08)}
.nav-inner{display:flex;align-items:center;gap:28px;height:100%}
.logo{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.logo-mark{width:40px;height:40px;border-radius:12px;background:var(--grad);color:#fff;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center}
.logo-text{font-size:18px;font-weight:800;color:#fff;transition:color var(--ease)}
.nav-links{display:flex;gap:26px;margin-left:auto}
.nav-links a{position:relative;padding:6px 0;font-size:15px;font-weight:600;color:rgba(255,255,255,.82);transition:color var(--ease)}
.nav-links a::after{content:"";position:absolute;left:50%;bottom:-3px;width:0;height:3px;border-radius:2px;background:var(--grad);transform:translateX(-50%);transition:width var(--ease)}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a:hover::after,.nav-links a.active::after{width:18px}
.site-header.scrolled .logo-text{color:var(--text)}
.site-header.scrolled .nav-links a{color:var(--muted)}
.site-header.scrolled .nav-links a:hover,.site-header.scrolled .nav-links a.active{color:var(--pink)}
.nav-cta{flex:0 0 auto}
.burger{display:none;width:44px;height:44px;padding:0 10px;flex-direction:column;justify-content:center;gap:5px;margin-left:auto}
.burger span{display:block;height:2px;border-radius:2px;background:#fff;transition:transform .22s,opacity .22s,background .22s}
.site-header.scrolled .burger span,body.nav-open .burger span{background:var(--text)}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.nav-open{overflow:hidden}
body.nav-open .site-header{background:rgba(255,255,255,.97);height:64px}
body.nav-open .logo-text{color:var(--text)}
.mnav{position:fixed;top:0;right:0;width:82vw;max-width:340px;height:100vh;z-index:1035;background:var(--bg);transform:translateX(105%);transition:transform .28s cubic-bezier(.2,.7,.3,1);padding:88px 24px 110px;display:flex;flex-direction:column}
body.nav-open .mnav{transform:none}
.mnav a.mlink{height:56px;display:flex;align-items:center;font-size:17px;font-weight:600;border-bottom:1px solid var(--line)}
.mnav .btn{position:absolute;left:24px;right:24px;bottom:28px}
.mnav-mask{position:fixed;inset:0;z-index:1032;background:rgba(42,27,51,.4);opacity:0;pointer-events:none;transition:opacity .28s}
body.nav-open .mnav-mask{opacity:1;pointer-events:auto}

/* buttons & badges */
.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 28px;border-radius:999px;font-size:15px;font-weight:700;transition:transform var(--ease),filter var(--ease),background var(--ease),box-shadow var(--ease)}
.btn:active{transform:translateY(1px)}
.btn-grad{background:var(--grad);color:#fff;box-shadow:0 10px 24px rgba(255,79,135,.28)}
.btn-grad:hover{filter:brightness(1.06);transform:translateY(-2px)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.72);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-sm{height:40px;padding:0 20px;font-size:14px}
.btn-light{background:#fff;color:var(--pink)}
.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:9px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#fff}
.b-dark{background:var(--dark)}
.b-g2{background:var(--grad2)}
.b-g{background:var(--grad)}

/* section base */
.block{padding:80px 0}
.band-light{background:var(--bg)}
.band-white{background:#fff}
.band-soft{background:#FFF0F5}
.band-dark{background:var(--dark);color:#FFF7F2}
.sec-head{margin-bottom:32px}
.sec-title{display:flex;align-items:center;gap:12px;font-size:32px;font-weight:800;line-height:1.3;letter-spacing:-.01em}
.sec-title::before{content:"";flex:0 0 auto;width:4px;height:18px;border-radius:2px;background:var(--grad)}
.sec-sub{margin-top:10px;font-size:15px;color:var(--muted)}
.band-dark .sec-title{color:#FFF7F2}
.band-dark .sec-sub{color:rgba(255,255,255,.7)}
.sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.more-link{font-size:14px;font-weight:700;color:var(--pink);white-space:nowrap}
.more-link:hover{text-decoration:underline}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--dark);color:#fff;padding:140px 0 64px}
.hero-bg{position:absolute;inset:0;background:url('/assets/images/fc011c73021e705a.jpg') center/cover no-repeat;opacity:.26}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(720px 420px at 84% 10%,rgba(255,79,135,.34),transparent 70%),radial-gradient(620px 400px at 4% 92%,rgba(255,159,69,.22),transparent 72%)}
.petals{position:absolute;inset:0;z-index:1;pointer-events:none}
.petals i{position:absolute;width:10px;height:10px;border-radius:50% 0 50% 50%;background:var(--pink);opacity:.1}
.petals i:nth-child(1){left:9%;top:20%}
.petals i:nth-child(2){left:26%;top:64%;width:14px;height:14px}
.petals i:nth-child(3){left:44%;top:14%}
.petals i:nth-child(4){left:62%;top:76%;width:8px;height:8px}
.petals i:nth-child(5){left:79%;top:32%;width:12px;height:12px}
.petals i:nth-child(6){left:92%;top:68%}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:48px;align-items:center}
.cd{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:600;color:rgba(255,255,255,.9)}
.cd b{font-size:14px;font-weight:800;color:var(--orange)}
.cd-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(33,200,160,.18)}
.hero h1{margin-top:20px;font-size:50px;line-height:1.16;font-weight:800;letter-spacing:-.02em;color:#fff}
.hero-sub{margin-top:18px;font-size:17px;color:rgba(255,255,255,.85)}
.hero-desc{margin-top:14px;max-width:560px;font-size:15px;line-height:1.8;color:rgba(255,255,255,.72)}
.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.hero-visual{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);aspect-ratio:16/10}
.hero-visual img{width:100%;height:100%;object-fit:cover}
.fb{position:absolute;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:rgba(42,27,51,.78);color:#fff;font-size:12px;font-weight:700;backdrop-filter:blur(4px)}
.fb b{color:var(--gold);font-size:14px}
.fb1{right:14px;top:14px}
.fb2{left:14px;bottom:16px}
.fb3{right:14px;bottom:16px}
.fb3 b{color:var(--orange)}
.hero-stats{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:12px;margin-top:48px}
.hero-stats li{display:flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}
.hero-stats b{font-size:24px;font-weight:800;line-height:1;color:#fff}
.hero-stats span{font-size:12px;color:rgba(255,255,255,.72)}

/* metrics */
.metrics{padding:28px 0;background:#fff;border-bottom:1px solid var(--line)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.metrics-grid b{display:block;font-size:28px;font-weight:800;line-height:1.2;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.metrics-grid span{display:block;margin-top:4px;font-size:13px;color:var(--muted)}

/* features */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow);transition:transform var(--ease),box-shadow var(--ease)}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.feature-top{display:flex;align-items:center;gap:12px}
.feature-icon{width:44px;height:44px;flex:0 0 auto;border-radius:14px;background:var(--grad);color:#fff;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center}
.feature h3{font-size:18px;font-weight:700}
.feature-mini{position:absolute;right:20px;top:20px;font-size:12px;font-weight:800;color:var(--pink);background:#FFF0F5;border:1px solid rgba(255,79,135,.28);border-radius:9px;padding:2px 8px}
.feature p{margin-top:14px;font-size:14.5px;color:var(--muted);line-height:1.75}
.feature-link{display:inline-block;margin-top:16px;font-size:14px;font-weight:700;color:var(--pink)}
.feature-link:hover{transform:translateX(3px)}

/* poster grid */
.poster-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.poster{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px;box-shadow:var(--shadow);transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.poster:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:rgba(255,79,135,.32)}
.thumb{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#F0E4DC,#FFF7F2)}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.poster:hover .thumb img{transform:scale(1.04)}
.poster .thumb{aspect-ratio:3/4}
.thumb .badge{position:absolute;left:8px;top:8px}
.score{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:9px;background:rgba(42,27,51,.72);color:var(--gold);font-size:12px;font-weight:800}
.poster h3{margin:10px 2px 4px;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.poster .meta{display:flex;justify-content:space-between;margin:0 2px 2px;font-size:12px;color:var(--muted)}

/* hot */
.hot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.hot-card{display:flex;gap:14px;background:var(--dark2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:14px;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.hot-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(0,0,0,.3);border-color:rgba(255,79,135,.4)}
.hot-card .thumb{flex:0 0 88px;width:88px;aspect-ratio:2/3}
.hot-body{min-width:0;display:flex;flex-direction:column}
.hot-body h3{font-size:16px;font-weight:700;color:#FFF7F2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hot-body p{margin-top:6px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.66)}
.hot-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;gap:8px}
.hot-foot .rate{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:9px;background:rgba(255,197,61,.14);color:var(--gold);font-size:12px;font-weight:800}
.hot-foot .heat{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:9px;background:rgba(255,79,135,.18);color:#FFB3CB;font-size:12px;font-weight:700}

/* cats */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow);transition:transform var(--ease),box-shadow var(--ease)}
.cat:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.cat h3{font-size:18px;font-weight:800}
.cat p{margin-top:10px;font-size:14.5px;color:var(--muted);line-height:1.75}
.cat-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:14px;font-weight:700;color:var(--pink);transition:gap var(--ease)}
.cat:hover .cat-link{gap:9px}

/* rank */
.rank-wrap{display:grid;grid-template-columns:300px 1fr;gap:40px}
.rank-side .top10{margin-top:24px;font-size:44px;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}
.rank-side p{margin-top:14px;font-size:14px;color:rgba(255,255,255,.68);line-height:1.8}
.rank-list{border-top:1px solid rgba(255,255,255,.08)}
.rank-row{display:grid;grid-template-columns:40px minmax(0,1fr) 130px 60px 78px;align-items:center;gap:14px;height:56px;padding:0 4px;border-bottom:1px solid rgba(255,255,255,.08);transition:background var(--ease)}
.rank-row:hover{background:var(--dark2)}
.rank-no{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.5)}
.rank-row.top .rank-no{font-size:22px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rank-name{font-size:15px;font-weight:600;color:#FFF7F2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-heat{display:flex;align-items:center;gap:8px}
.rank-heat b{font-size:13px;font-weight:800;color:rgba(255,255,255,.86);font-variant-numeric:tabular-nums;flex:0 0 auto}
.bar{position:relative;flex:1 1 auto;height:4px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.bar i{position:absolute;left:0;top:0;height:100%;border-radius:2px;background:var(--grad)}
.rank-score{font-size:14px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;text-align:right}
.rank-tag{justify-self:end;display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:9px;font-size:12px;font-weight:700;color:rgba(255,255,255,.8);background:rgba(255,255,255,.08)}

/* scenes */
.scene{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.scene+.scene{margin-top:64px}
.scene.rev .scene-media{order:2}
.scene-media{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow)}
.scene-media img{width:100%;height:100%;object-fit:cover}
.scene-media .fb{left:16px;bottom:16px}
.tag{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;background:#FFF0F5;border:1px solid rgba(255,79,135,.28);color:var(--pink);font-size:12px;font-weight:700;letter-spacing:.02em}
.scene h3{margin-top:14px;font-size:26px;font-weight:800;line-height:1.35}
.scene p{margin-top:12px;font-size:15px;color:var(--muted);line-height:1.8}
.scene ul{margin-top:16px;display:grid;gap:8px}
.scene ul li{position:relative;padding-left:20px;font-size:14px;color:var(--text)}
.scene ul li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--grad)}
.scene-link{display:inline-block;margin-top:18px;font-size:14px;font-weight:700;color:var(--pink)}
.scene-link:hover{text-decoration:underline}

/* topics */
.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.topic{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;box-shadow:var(--shadow);transition:transform var(--ease),box-shadow var(--ease)}
.topic:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.topic img{width:100%;height:100%;object-fit:cover}
.topic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,27,51,0) 30%,rgba(42,27,51,.86) 100%)}
.topic-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px}
.topic-body h3{font-size:16px;font-weight:800;color:#fff}
.topic-count{display:inline-flex;align-items:center;height:20px;padding:0 8px;margin-top:8px;border-radius:9px;background:rgba(255,255,255,.18);font-size:12px;font-weight:700;color:#fff}
.topic-corner{position:absolute;right:0;top:0;z-index:2;width:52px;height:52px;background:var(--grad2);clip-path:polygon(100% 0,100% 100%,0 0)}

/* social */
.social{background:var(--grad2);color:#fff;padding:80px 0}
.social-grid{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center}
.social-nums{display:grid;gap:20px}
.social-nums li b{display:block;font-size:40px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.social-nums li span{display:block;font-size:12px;color:rgba(255,255,255,.78)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:20px}
.stars{color:var(--gold);font-size:13px;letter-spacing:2px}
.quote p{margin-top:10px;font-size:14px;line-height:1.75;color:#fff}
.quote footer{margin-top:14px;display:flex;align-items:center;gap:8px}
.quote footer b{font-size:13px;font-weight:700}
.quote footer span{font-size:12px;color:rgba(255,255,255,.72)}

/* compare */
.table-wrap{overflow-x:auto;border-radius:var(--r);box-shadow:var(--shadow)}
.cmp{width:100%;min-width:660px;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.cmp thead th{background:var(--grad2);color:#fff;font-size:14px;font-weight:700;text-align:left;padding:16px 20px}
.cmp td{padding:15px 20px;font-size:14.5px;border-top:1px solid var(--line);color:var(--muted)}
.cmp td:first-child{font-weight:700;color:var(--text)}
.cmp .hl{background:#FFF0F5;color:var(--pink);font-weight:700}
.cmp thead th.hl{background:var(--grad);color:#fff}
.cmp tbody tr:hover td{background:#FFF7FA}
.cmp tbody tr:hover td.hl{background:#FFE7F0}

/* news */
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.news-card{display:flex;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow);transition:transform var(--ease),box-shadow var(--ease)}
.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.news-thumb{flex:0 0 160px;width:160px;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#F0E4DC,#FFF7F2)}
.news-thumb img{width:100%;height:100%;object-fit:cover}
.news-body{min-width:0;display:flex;flex-direction:column}
.news-body h3{font-size:15.5px;font-weight:700;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-meta{margin-top:auto;padding-top:10px;display:flex;align-items:center;gap:10px}
.news-meta time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.news-tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:9px;font-size:12px;font-weight:700;color:var(--purple);background:rgba(122,92,255,.1)}

/* faq */
.faq-list{display:grid;gap:14px;max-width:900px}
.faq-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:box-shadow var(--ease)}
.faq-item.open{box-shadow:var(--shadow)}
.faq-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad);opacity:0;transition:opacity var(--ease)}
.faq-item.open::before{opacity:1}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;text-align:left;font-size:16px;font-weight:700}
.faq-icon{flex:0 0 auto;width:22px;height:22px;position:relative;transition:transform var(--ease)}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:50%;top:50%;background:var(--pink);border-radius:2px;transform:translate(-50%,-50%)}
.faq-icon::before{width:14px;height:2px}
.faq-icon::after{width:2px;height:14px}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{display:none;padding:0 24px 22px;font-size:14.5px;color:var(--muted);line-height:1.8}
.faq-item.open .faq-a{display:block}

/* guarantee */
.guarantee{background:var(--grad);color:#fff;padding:32px 0}
.g-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.g-item{display:flex;align-items:flex-start;gap:12px;padding:0 20px;border-left:1px solid rgba(255,255,255,.24)}
.g-item:first-child{border-left:0;padding-left:0}
.g-icon{flex:0 0 auto;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800}
.g-item b{display:block;font-size:15px;font-weight:800}
.g-item span{display:block;margin-top:2px;font-size:12px;color:rgba(255,255,255,.82)}

/* join */
.join{background:var(--dark);color:#FFF7F2;padding:80px 0}
.join-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.join h2{font-size:32px;font-weight:800;line-height:1.35}
.join-sub{margin-top:12px;font-size:15px;color:rgba(255,255,255,.7)}
.join-form{display:flex;gap:12px}
.join-form input{flex:1 1 auto;min-width:0;height:48px;padding:0 20px;border-radius:999px;border:1.5px solid transparent;background:#fff;color:var(--text);font-size:15px}
.join-form input::placeholder{color:#9A8FA3}
.join-form input:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,79,135,.12)}
.form-msg{margin-top:10px;font-size:12px;color:rgba(255,255,255,.6);min-height:18px}
.form-msg.err{color:#FF9EB8}
.join-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.join-badges li{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:12px;color:rgba(255,255,255,.82)}

/* footer */
.site-footer{background:var(--dark);color:rgba(255,255,255,.72);padding:64px 0 96px;border-top:1px solid rgba(255,255,255,.08)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.footer-brand .logo-text{color:#fff}
.footer-brand p{margin-top:16px;font-size:13.5px;line-height:1.8;max-width:280px}
.f-col h4{position:relative;font-size:14px;font-weight:700;color:#fff;padding-bottom:12px}
.f-col h4::after{content:"";position:absolute;left:0;bottom:4px;width:8px;height:3px;border-radius:2px;background:var(--grad)}
.f-col ul{margin-top:8px;display:grid;gap:10px}
.f-col a,.f-col li{font-size:13.5px;color:rgba(255,255,255,.72)}
.f-col a:hover{color:var(--pink)}
.copyright{margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:rgba(255,255,255,.5);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}

/* float cta */
.float-cta{position:fixed;right:24px;bottom:24px;z-index:1030;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 20px;border-radius:999px;background:var(--grad);color:#fff;box-shadow:0 16px 36px rgba(255,79,135,.35);transition:opacity .3s,transform .3s}
.float-cta span{font-size:13px;font-weight:700;white-space:nowrap}
.float-cta.hide{opacity:0;transform:translateY(14px);pointer-events:none}

/* responsive */
@media (max-width:1024px){
.nav-links{display:none}
.nav-cta{display:none}
.burger{display:flex}
.hero{padding:120px 0 56px}
.hero-inner{grid-template-columns:1fr;gap:36px}
.hero h1{font-size:38px}
.hero-visual{max-width:560px}
.poster-grid{grid-template-columns:repeat(4,1fr)}
.hot-grid{grid-template-columns:repeat(2,1fr)}
.cat-grid{grid-template-columns:repeat(2,1fr)}
.rank-wrap{grid-template-columns:1fr;gap:28px}
.rank-side{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.rank-side .top10{margin-top:0;font-size:34px}
.topic-grid{grid-template-columns:repeat(2,1fr)}
.social-grid{grid-template-columns:1fr;gap:32px}
.social-nums{grid-template-columns:repeat(3,1fr);gap:16px}
.quote-grid{grid-template-columns:repeat(3,1fr)}
.join-inner{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr 1fr;gap:32px}
.float-cta{left:0;right:0;bottom:0;border-radius:0;justify-content:space-between;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.site-footer{padding-bottom:120px}
}
@media (max-width:768px){
.block{padding:52px 0}
.sec-title{font-size:23px}
.hero{padding:104px 0 48px}
.hero h1{font-size:32px}
.hero-sub{font-size:16px}
.hero-stats li{height:40px;padding:0 14px}
.hero-stats b{font-size:20px}
.metrics-grid{grid-template-columns:repeat(2,1fr);gap:20px}
.metrics-grid b{font-size:24px}
.feature-grid{grid-template-columns:1fr}
.poster-grid{grid-template-columns:repeat(3,1fr);gap:16px}
.hot-grid{grid-template-columns:1fr}
.cat-grid{grid-template-columns:1fr}
.rank-row{grid-template-columns:34px minmax(0,1fr) 70px 66px;gap:10px}
.rank-heat .bar{display:none}
.rank-no{font-size:16px}
.rank-row.top .rank-no{font-size:19px}
.scene{grid-template-columns:1fr;gap:24px}
.scene.rev .scene-media{order:0}
.scene h3{font-size:21px}
.topic-grid{grid-template-columns:repeat(2,1fr);gap:16px}
.social-nums{grid-template-columns:repeat(3,1fr)}
.social-nums li b{font-size:30px}
.quote-grid{grid-template-columns:1fr}
.news-grid{grid-template-columns:1fr}
.news-thumb{flex:0 0 132px;width:132px}
.g-grid{grid-template-columns:repeat(2,1fr);gap:20px}
.g-item{border-left:0;padding-left:0}
.join h2{font-size:23px}
.join-form{flex-direction:column}
.join-form .btn{width:100%}
.footer-grid{grid-template-columns:1fr 1fr}
.copyright{flex-direction:column;gap:6px}
}
@media (max-width:520px){
.container{padding:0 16px}
.hero h1{font-size:30px}
.hero-desc{font-size:14px}
.hero-visual{aspect-ratio:4/3}
.fb{height:26px;padding:0 10px;font-size:11px}
.poster-grid{grid-template-columns:repeat(2,1fr);gap:14px}
.poster h3{font-size:14.5px}
.social-nums{grid-template-columns:1fr 1fr}
.topic-grid{grid-template-columns:1fr}
.news-card{flex-direction:column}
.news-thumb{width:100%;flex:0 0 auto}
.g-grid{grid-template-columns:1fr}
.cat{padding:20px}
.sec-title{font-size:21px}
.rank-side .top10{font-size:28px}
.join-badges li{font-size:11px}
}
