:root{--bg:#07060B;--surface:#12101A;--primary:#00E5FF;--accent:#B14CFF;--text:#EDEBF5;--muted:#8A86A0;--radius:16px;--font-heading:'Segoe UI Semibold','PingFang SC','Microsoft YaHei',sans-serif;--font-body:'PingFang SC','Microsoft YaHei','Helvetica Neue',sans-serif;--glass:rgba(18,16,26,.62);--line:rgba(255,255,255,.08)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;min-height:100vh;position:relative;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:
radial-gradient(1px 1px at 20% 30%,rgba(0,229,255,.55),transparent),
radial-gradient(1px 1px at 70% 60%,rgba(177,76,255,.5),transparent),
radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.35),transparent),
radial-gradient(1px 1px at 85% 15%,rgba(0,229,255,.4),transparent),
radial-gradient(1px 1px at 10% 70%,rgba(177,76,255,.45),transparent),
radial-gradient(ellipse at 50% -10%,rgba(0,229,255,.10),transparent 60%),
radial-gradient(ellipse at 90% 110%,rgba(177,76,255,.12),transparent 55%);
background-size:600px 600px,700px 700px,500px 500px,800px 800px,650px 650px,100% 100%,100% 100%;
animation:starflow 60s linear infinite}
@keyframes starflow{from{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:600px 600px,-700px 700px,500px -500px,-800px 800px,650px -650px,0 0,0 0}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-heading);margin:0;line-height:1.3}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.hl{color:var(--primary);background:rgba(0,229,255,.12);padding:0 2px;border-radius:4px}

/* header */
.header{position:sticky;top:0;z-index:50;background:rgba(7,6,11,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header .wrap{display:flex;align-items:center;gap:20px;height:64px}
.logo{font-family:var(--font-heading);font-size:20px;font-weight:700;letter-spacing:.5px;white-space:nowrap;background:linear-gradient(90deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(0,229,255,.35))}
.nav{display:flex;align-items:center;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{padding:8px 14px;border-radius:999px;color:var(--muted);font-size:14px;white-space:nowrap;transition:.25s}
.nav a:hover,.nav a.active{color:var(--text);background:rgba(0,229,255,.10);box-shadow:inset 0 0 0 1px rgba(0,229,255,.25)}
.search-box{display:flex;align-items:center;gap:8px;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:.25s}
.search-box:focus-within{border-color:rgba(0,229,255,.5);box-shadow:0 0 18px rgba(0,229,255,.22)}
.search-box input{background:transparent;border:0;outline:0;color:var(--text);font-size:14px;width:150px;font-family:var(--font-body)}
.search-box input::placeholder{color:var(--muted)}
.search-box button{background:linear-gradient(135deg,var(--primary),var(--accent));border:0;color:#07060B;font-weight:700;font-size:13px;padding:7px 16px;border-radius:999px;cursor:pointer;transition:.25s}
.search-box button:hover{filter:brightness(1.1);box-shadow:0 0 16px rgba(177,76,255,.5)}

/* hero */
.hero{position:relative;margin:24px 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 0 40px rgba(0,229,255,.08),0 0 60px rgba(177,76,255,.08)}
.hero-slide{position:relative;aspect-ratio:21/8;min-height:280px;background:var(--surface)}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,6,11,.94) 0%,rgba(7,6,11,.65) 45%,rgba(7,6,11,.15) 100%),linear-gradient(0deg,rgba(7,6,11,.85),transparent 60%)}
.hero-info{position:absolute;left:0;bottom:0;z-index:2;padding:32px;max-width:620px}
.hero-info h2{font-size:30px;margin-bottom:10px;text-shadow:0 0 24px rgba(0,229,255,.35)}
.hero-info p{color:var(--muted);font-size:14px;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 26px;border-radius:999px;font-size:14px;font-weight:700;color:#07060B;background:linear-gradient(135deg,var(--primary),var(--accent));border:0;cursor:pointer;transition:.25s;box-shadow:0 0 20px rgba(0,229,255,.3)}
.btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 0 28px rgba(177,76,255,.55)}
.btn.ghost{background:transparent;color:var(--text);border:1px solid rgba(0,229,255,.45);box-shadow:none}
.btn.ghost:hover{background:rgba(0,229,255,.1)}

/* sections */
.sec{margin:40px 0}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}
.sec-title{font-size:21px;position:relative;padding-left:14px}
.sec-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;border-radius:4px;background:linear-gradient(180deg,var(--primary),var(--accent));box-shadow:0 0 12px rgba(0,229,255,.6)}
.sec-more{font-size:13px;color:var(--muted);transition:.25s;white-space:nowrap}
.sec-more:hover{color:var(--primary)}

/* grid & card */
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.card{position:relative;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .3s,box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-6px) scale(1.02);border-color:rgba(0,229,255,.4);box-shadow:0 12px 30px rgba(0,0,0,.55),0 0 24px rgba(0,229,255,.18),0 0 24px rgba(177,76,255,.14)}
.card-cover{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--surface)}
.card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card-cover img{transform:scale(1.06)}
.card-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,6,11,.85) 0%,transparent 45%)}
.card-score{position:absolute;top:8px;right:8px;z-index:2;font-size:12px;font-weight:700;color:#07060B;background:linear-gradient(135deg,var(--primary),var(--accent));padding:2px 8px;border-radius:999px;box-shadow:0 0 12px rgba(0,229,255,.45)}
.card-info{padding:10px 12px 14px}
.card-title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.25s}
.card:hover .card-title{color:var(--primary)}
.card-meta{font-size:12px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* cat list */
.cat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.cat-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 18px;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:.25s;font-size:14px}
.cat-item:hover{transform:translateY(-3px);border-color:rgba(177,76,255,.45);box-shadow:0 0 20px rgba(177,76,255,.2)}
.cat-count{font-size:12px;color:var(--primary);background:rgba(0,229,255,.1);padding:1px 8px;border-radius:999px}

/* rank list */
.rank-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.rank-item{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:.25s}
.rank-item:hover{transform:translateY(-3px);border-color:rgba(0,229,255,.4);box-shadow:0 0 20px rgba(0,229,255,.16)}
.rank-num{font-family:var(--font-heading);font-size:20px;font-weight:700;min-width:32px;text-align:center;color:var(--muted)}
.rank-item:nth-child(1) .rank-num{color:var(--primary);text-shadow:0 0 12px rgba(0,229,255,.7)}
.rank-item:nth-child(2) .rank-num{color:var(--accent);text-shadow:0 0 12px rgba(177,76,255,.7)}
.rank-item:nth-child(3) .rank-num{color:#EDEBF5;text-shadow:0 0 12px rgba(237,235,245,.5)}
.rank-title{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-score{font-size:13px;font-weight:700;color:var(--primary)}

/* detail */
.detail{margin:28px 0}
.detail-head{display:grid;grid-template-columns:240px 1fr;gap:28px;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);padding:24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 40px rgba(0,229,255,.06)}
.detail-cover{aspect-ratio:2/3;border-radius:12px;overflow:hidden;border:1px solid rgba(0,229,255,.2);box-shadow:0 0 24px rgba(0,229,255,.15)}
.detail-cover img{width:100%;height:100%;object-fit:cover}
.detail-meta h1{font-size:26px;margin-bottom:12px;text-shadow:0 0 20px rgba(0,229,255,.25)}
.detail-meta p{color:var(--muted);font-size:14px;margin:6px 0}
.detail-meta p b{color:var(--text);font-weight:600;margin-right:6px}
.detail-score{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-heading);font-size:22px;font-weight:700;color:var(--primary);text-shadow:0 0 16px rgba(0,229,255,.5);margin-bottom:12px}
.detail-body{margin-top:28px;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);padding:24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:14px;color:#c9c6d8;line-height:1.9}
.detail-body h2{font-size:18px;margin:0 0 12px;color:var(--text)}

/* tags */
.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tag{font-size:12px;color:var(--primary);background:rgba(0,229,255,.08);border:1px solid rgba(0,229,255,.25);padding:3px 12px;border-radius:999px;transition:.25s}
.tag:hover{background:rgba(0,229,255,.18);box-shadow:0 0 12px rgba(0,229,255,.3)}

/* pager */
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:36px 0}
.pg{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;font-size:14px;border-radius:10px;background:var(--glass);border:1px solid var(--line);color:var(--muted);transition:.25s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pg:hover{color:var(--text);border-color:rgba(0,229,255,.45);box-shadow:0 0 14px rgba(0,229,255,.2)}
.pg.current{color:#07060B;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--accent));border-color:transparent;box-shadow:0 0 18px rgba(0,229,255,.4)}
.pg.disabled{opacity:.35;pointer-events:none}

/* links */
.links{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.link-item{font-size:13px;color:var(--muted);padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid var(--line);transition:.25s}
.link-item:hover{color:var(--primary);border-color:rgba(0,229,255,.35)}

/* footer */
.footer{margin-top:48px;border-top:1px solid var(--line);background:rgba(7,6,11,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:28px 0}
.footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.footer a{color:var(--muted);transition:.25s}
.footer a:hover{color:var(--primary)}

/* crumbs */
.crumbs{font-size:13px;color:var(--muted);margin:20px 0 0;padding:10px 16px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:12px}
.crumbs a{color:var(--muted);transition:.25s}
.crumbs a:hover{color:var(--primary)}

/* responsive */
@media(max-width:1024px){
.grid{grid-template-columns:repeat(4,1fr)}
.hero-info h2{font-size:24px}
}
@media(max-width:768px){
.wrap{padding:0 14px}
.header .wrap{height:auto;min-height:56px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;gap:10px}
.logo{font-size:18px}
.nav{order:3;width:100%;flex:0 0 100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
.nav a{padding:6px 12px;font-size:13px}
.search-box{flex:1;min-width:0}
.search-box input{width:100%}
.hero-slide{aspect-ratio:4/3;min-height:220px}
.hero-info{padding:20px}
.hero-info h2{font-size:20px}
.hero-info p{-webkit-line-clamp:2;font-size:13px}
.grid{grid-template-columns:repeat(2,1fr);gap:12px}
.rank-list{grid-template-columns:1fr}
.cat-list{grid-template-columns:repeat(2,1fr)}
.detail-head{grid-template-columns:1fr;gap:18px;padding:16px}
.detail-cover{max-width:180px;margin:0 auto}
.detail-meta h1{font-size:20px;text-align:center}
.detail-meta p{text-align:center}
.detail-score{display:flex;justify-content:center}
.detail-body{padding:16px}
.sec{margin:28px 0}
.sec-title{font-size:18px}
.footer .wrap{flex-direction:column;text-align:center}
}
@media(max-width:380px){
.grid{grid-template-columns:1fr}
}