:root{
  --bg:#0a0e17; --bg2:#111826; --bg3:#1a2336;
  --line:#26314a; --line2:#34415e;
  --gold:#e0a458; --gold2:#f0c987; --red:#c86b4a; --green:#7d8f6a;
  --txt:#dfe5f2; --txt2:#9aa8c4; --txt3:#6b7a98;
  --radius:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--txt);
  font-family:"PingFang SC","Microsoft YaHei","WenQuanYi Micro Hei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.75; -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 12% 0%,rgba(224,164,88,.10),transparent 42%),radial-gradient(circle at 88% 8%,rgba(200,107,74,.10),transparent 40%);
  background-attachment:fixed;
}
a{color:var(--gold2); text-decoration:none; transition:color .18s,background .18s}
a:hover{color:var(--gold)}
::selection{background:var(--gold); color:#0a0e17}
.container{max-width:1200px; margin:0 auto; padding:0 20px}

/* ===== Header ===== */
.site-header{position:sticky; top:0; z-index:99; background:rgba(10,14,23,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.topbar{background:linear-gradient(180deg,#131b2c,#0d1320); border-bottom:1px solid var(--line); font-size:12.5px; color:var(--txt2)}
.topbar-inner{display:flex; align-items:center; justify-content:space-between; gap:16px; height:32px}
.topbar-meta{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.topbar-meta .dot{width:7px; height:7px; border-radius:50%; background:#4ade80; box-shadow:0 0 8px #4ade80; animation:pulse 1.8s infinite}
@keyframes pulse{50%{opacity:.35}}
.topbar-meta .sep{color:var(--line2)}
.topbar-meta strong{color:var(--gold2); font-weight:600}
.topbar-links a{color:var(--txt2); margin-left:14px}
.topbar-links a:hover{color:var(--gold)}

.header-main{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 20px}
.brand{display:flex; align-items:center; gap:12px}
.brand-mark{color:var(--gold); display:flex; filter:drop-shadow(0 0 6px rgba(224,164,88,.5))}
.brand-text{display:flex; flex-direction:column; line-height:1.25}
.brand-text b{font-size:21px; letter-spacing:.5px; color:#fff; font-weight:700}
.brand-text small{font-size:12px; color:var(--txt3)}

.search-box{width:320px; max-width:100%}
.search-box form{display:flex; height:38px; border:1px solid var(--line2); border-radius:8px; overflow:hidden; background:var(--bg2)}
.search-box input{flex:1; border:0; background:transparent; color:var(--txt); padding:0 12px; outline:none; font-size:13.5px}
.search-box input::placeholder{color:var(--txt3)}
.search-box button{border:0; background:linear-gradient(180deg,var(--gold),#c8893c); color:#201308; font-weight:700; padding:0 16px; cursor:pointer; font-size:13.5px}
.search-box button:hover{filter:brightness(1.08)}

.primary-nav{background:linear-gradient(180deg,#151d30,#0f1624); border-top:1px solid var(--line)}
.nav-inner{display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:0 20px}
.nav-item{display:flex; align-items:center; gap:7px; padding:12px 16px; color:var(--txt2); font-size:14.5px; font-weight:600; border-bottom:2px solid transparent}
.nav-item:hover{color:var(--gold2); background:rgba(224,164,88,.06)}
.nav-item.active{color:var(--gold); border-bottom-color:var(--gold); background:rgba(224,164,88,.09)}
.nav-item .ico{font-style:normal; font-size:15px}
.nav-tail{margin-left:auto; font-size:12px; color:var(--txt3)}

/* ===== Notice ===== */
.notice{background:linear-gradient(90deg,rgba(200,107,74,.16),rgba(224,164,88,.08) 60%,rgba(10,14,23,0)); border-bottom:1px solid var(--line)}
.notice-inner{display:flex; align-items:center; gap:14px; padding:10px 20px; overflow:hidden}
.notice-tag{flex:none; background:linear-gradient(180deg,#d9544d,#a83731); color:#fff; font-size:12.5px; font-weight:700; padding:3px 10px; border-radius:5px; letter-spacing:.5px}
.notice-track{display:flex; gap:38px; white-space:nowrap; font-size:13.5px; color:var(--txt2); will-change:transform}
.notice-track a{color:var(--txt2)}
.notice-track a:hover{color:var(--gold2)}

/* ===== Section head ===== */
.sec-head{text-align:center; margin:44px 0 26px}
.sec-head h2{font-size:26px; margin:0 0 8px; color:#fff; letter-spacing:.5px}
.sec-head h2 .sub{font-size:15px; color:var(--gold); font-weight:500; margin-left:8px}
.sec-head p{margin:0; color:var(--txt3); font-size:13.5px}

/* ===== Hero ===== */
.hero{display:grid; grid-template-columns:1.35fr .65fr; gap:28px; align-items:stretch; margin-top:34px}
.hero-text{padding:30px; background:linear-gradient(160deg,rgba(26,35,54,.9),rgba(17,24,38,.7)); border:1px solid var(--line); border-radius:var(--radius); position:relative; overflow:hidden}
.hero-text::before{content:""; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.eyebrow{color:var(--gold); font-size:13px; letter-spacing:2px; margin:0 0 12px; text-transform:uppercase}
.hero-text h1{font-size:34px; line-height:1.3; margin:0 0 16px; color:#fff}
.hero-desc{color:var(--txt2); margin:0 0 22px; max-width:54ch}
.hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:26px}
.btn{display:inline-flex; align-items:center; padding:11px 22px; border-radius:8px; font-size:14.5px; font-weight:600}
.btn-primary{background:linear-gradient(180deg,var(--gold),#c8893c); color:#201308}
.btn-primary:hover{color:#201308; filter:brightness(1.08)}
.btn-ghost{border:1px solid var(--line2); color:var(--txt2)}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold)}
.hero-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; border-top:1px solid var(--line); padding-top:20px}
.hero-stats div{text-align:center}
.hero-stats dt{font-size:12px; color:var(--txt3); margin:0}
.hero-stats dd{font-size:19px; font-weight:700; color:var(--gold2); margin:4px 0 0}

.today-card{background:linear-gradient(160deg,rgba(21,29,48,.95),rgba(15,20,33,.85)); border:1px solid var(--line); border-radius:var(--radius); padding:20px 20px 12px; display:flex; flex-direction:column}
.card-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid var(--line)}
.card-head h2{font-size:18px; color:#fff; margin:0}
.card-head .sub{font-size:12px; color:var(--txt3); font-weight:400; margin-left:6px}
.card-head .more{font-size:12.5px; color:var(--gold)}
.today-list{list-style:none; margin:0; padding:0; flex:1}
.today-list li{padding:9px 0; border-bottom:1px dashed var(--line)}
.today-list li:last-child{border-bottom:0}
.today-list a{display:flex; align-items:center; gap:10px; font-size:13.5px}
.tl-time{font-family:ui-monospace,Menlo,monospace; color:var(--gold); font-size:12.5px; flex:none; width:44px}
.tl-name{color:var(--txt); font-weight:600; display:flex; align-items:center; gap:8px; flex:1}
.tl-name em{font-style:normal; font-size:12px; color:var(--txt3); font-weight:400}
.tl-tag{flex:none; font-size:11.5px; padding:2px 8px; border-radius:20px; border:1px solid var(--line2); color:var(--txt2)}
.tl-tag.on{background:rgba(74,222,128,.14); color:#4ade80; border-color:rgba(74,222,128,.4)}
.tl-tag.soon{background:rgba(224,164,88,.14); color:var(--gold); border-color:rgba(224,164,88,.4)}
.tl-note{display:block; font-size:12px; color:var(--txt3); margin:3px 0 0 54px}

/* ===== Edition grid ===== */
.edition-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.edition-card{position:relative; padding:20px 18px; background:linear-gradient(165deg,rgba(26,35,54,.85),rgba(15,20,33,.75)); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:transform .2s,border-color .2s,box-shadow .2s}
.edition-card:hover{transform:translateY(-4px); border-color:var(--gold); box-shadow:0 10px 28px rgba(0,0,0,.4),0 0 14px rgba(224,164,88,.12)}
.edition-card .ec-num{position:absolute; right:12px; top:8px; font-size:28px; font-weight:800; color:rgba(224,164,88,.16)}
.edition-card h3{margin:0 0 8px; font-size:16.5px; color:#fff}
.edition-card p{margin:0; font-size:12.5px; color:var(--txt3)}

/* ===== News ===== */
.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:22px}
.news-card{background:rgba(17,24,38,.7); border:1px solid var(--line); border-radius:var(--radius); padding:18px; transition:border-color .2s}
.news-card:hover{border-color:var(--gold)}
.news-card time{font-family:ui-monospace,Menlo,monospace; color:var(--gold); font-size:12.5px; background:rgba(224,164,88,.1); padding:2px 8px; border-radius:5px}
.news-card h4{margin:12px 0 8px; font-size:15.5px; line-height:1.5}
.news-card h4 a{color:var(--txt)}
.news-card h4 a:hover{color:var(--gold)}
.news-card p{margin:0; font-size:13px; color:var(--txt3); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}

.featured{display:grid; grid-template-columns:340px 1fr; gap:24px; background:linear-gradient(160deg,rgba(26,35,54,.85),rgba(15,20,33,.72)); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
.feat-img{background:linear-gradient(135deg,#2a1a12,#141c2e); position:relative; min-height:200px; display:flex; flex-direction:column; justify-content:flex-end; padding:18px}
.feat-tag{position:absolute; top:16px; left:16px; background:var(--gold); color:#201308; font-size:12px; font-weight:700; padding:3px 10px; border-radius:5px}
.feat-date{color:var(--gold2); font-family:ui-monospace,Menlo,monospace; font-size:13px}
.feat-body{padding:22px 24px 22px 0}
.feat-body h3{font-size:21px; margin:0 0 12px; line-height:1.45}
.feat-body h3 a{color:#fff}
.feat-body h3 a:hover{color:var(--gold)}
.feat-body p{margin:0 0 14px; color:var(--txt2); font-size:14px}
.feat-meta{display:flex; gap:18px; font-size:12.5px; color:var(--txt3)}

/* ===== Trust ===== */
.trust-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
.trust-card{background:rgba(17,24,38,.7); border-left:3px solid var(--gold); border-radius:var(--radius); padding:20px 22px}
.trust-card .tc-label{display:inline-block; font-size:11.5px; letter-spacing:1px; color:var(--gold); border:1px solid rgba(224,164,88,.4); padding:2px 9px; border-radius:20px; margin-bottom:10px}
.trust-card h4{margin:0 0 8px; font-size:16.5px; color:#fff}
.trust-card p{margin:0 0 10px; color:var(--txt2); font-size:13.5px}
.trust-card a{font-size:13px}

/* ===== List page ===== */
.page-layout{display:grid; grid-template-columns:1fr 300px; gap:28px; margin-top:28px; align-items:start}
.page-head{margin-bottom:20px}
.page-head h1{font-size:27px; margin:0 0 10px; color:#fff}
.page-head h1 small{font-size:15px; color:var(--gold); font-weight:400; margin-left:8px}
.page-head p{margin:0; color:var(--txt2); font-size:14px; max-width:70ch}

.filter-bar{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px}
.filter{padding:7px 15px; border:1px solid var(--line2); border-radius:20px; font-size:13px; color:var(--txt2)}
.filter:hover{border-color:var(--gold); color:var(--gold)}
.filter.active{background:var(--gold); border-color:var(--gold); color:#201308; font-weight:600}

.table-wrap{border:1px solid var(--line); border-radius:var(--radius); overflow:auto; background:rgba(13,18,29,.85)}
.serv-table{width:100%; border-collapse:collapse; font-size:13.5px; min-width:720px}
.serv-table caption{caption-side:top; text-align:left; padding:12px 16px; color:var(--txt3); font-size:12.5px; border-bottom:1px solid var(--line); background:rgba(21,29,48,.5)}
.serv-table th{background:rgba(21,29,48,.7); text-align:left; padding:11px 14px; color:var(--gold2); font-weight:600; font-size:12.5px; border-bottom:1px solid var(--line); white-space:nowrap}
.serv-table td{padding:11px 14px; border-bottom:1px solid rgba(38,49,74,.6); vertical-align:middle}
.serv-table tbody tr:hover{background:rgba(224,164,88,.05)}
.serv-table tbody tr:last-child td{border-bottom:0}
.srv-name{font-weight:600; color:#fff}
.badge{display:inline-block; font-size:10.5px; background:var(--red); color:#fff; padding:1px 6px; border-radius:4px; margin-left:6px; font-weight:500; vertical-align:middle}
.st{padding:3px 10px; border-radius:20px; font-size:11.5px; border:1px solid; white-space:nowrap}
.st.on{color:#4ade80; border-color:rgba(74,222,128,.45); background:rgba(74,222,128,.12)}
.st.soon{color:var(--gold); border-color:rgba(224,164,88,.45); background:rgba(224,164,88,.12)}
.st.merged{color:#93b4f5; border-color:rgba(147,180,245,.4); background:rgba(147,180,245,.1)}
.st.off{color:var(--txt3); border-color:var(--line2); background:rgba(255,255,255,.03)}

.pager{display:flex; gap:6px; flex-wrap:wrap; margin:22px 0 30px}
.page{min-width:38px; text-align:center; padding:7px 11px; border:1px solid var(--line2); border-radius:6px; font-size:13px; color:var(--txt2)}
.page:hover{border-color:var(--gold); color:var(--gold)}
.page.cur{background:var(--gold); border-color:var(--gold); color:#201308; font-weight:700}
.page.dot{border:0; cursor:default}
.page.dot:hover{color:var(--txt2); border:0}
.page.next{border-color:var(--gold); color:var(--gold)}

.list-article{background:rgba(17,24,38,.6); border:1px solid var(--line); border-radius:var(--radius); padding:26px 30px; margin-bottom:30px}
.list-article h2{font-size:20px; color:#fff; margin:0 0 14px; padding-left:12px; border-left:3px solid var(--gold)}
.list-article h3{font-size:16px; color:var(--gold2); margin:22px 0 10px}
.list-article p{margin:0 0 12px; color:var(--txt2); font-size:14.5px}
.list-article p strong{color:var(--txt)}

/* ===== Side ===== */
.list-side{position:sticky; top:130px; display:flex; flex-direction:column; gap:18px}
.widget{background:rgba(17,24,38,.65); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px}
.widget h3{font-size:15.5px; color:#fff; margin:0 0 14px; display:flex; align-items:baseline; justify-content:space-between}
.widget h3 small{font-size:11.5px; color:var(--txt3); font-weight:400}
.rank{list-style:none; margin:0; padding:0; counter-reset:r}
.rank li{counter-increment:r; display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px dashed var(--line); font-size:13.5px; color:var(--txt2)}
.rank li::before{content:counter(r,decimal-leading-zero); color:var(--gold); font-family:ui-monospace,Menlo,monospace; font-size:12.5px; margin-right:10px}
.rank li b{color:var(--gold2); font-weight:600}
.rank li:last-child{border-bottom:0}
.quick{list-style:none; margin:0; padding:0}
.quick li{border-bottom:1px dashed var(--line)}
.quick li:last-child{border-bottom:0}
.quick a{display:block; padding:9px 2px; font-size:13.5px; color:var(--txt2)}
.quick a:hover{color:var(--gold); padding-left:6px}
.notice-board p{margin:0 0 10px; font-size:13px; color:var(--txt2)}
.notice-board strong{color:var(--gold2)}

/* ===== Review ===== */
.scoreboard{background:rgba(17,24,38,.6); border:1px solid var(--line); border-radius:var(--radius); padding:24px 26px; margin-bottom:28px}
.scoreboard h2{font-size:19px; color:#fff; margin:0 0 4px}
.scoreboard h2 small{font-size:12.5px; color:var(--txt3); font-weight:400; margin-left:8px}
.score-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin:20px 0 14px; align-items:end; height:170px}
.score-item{height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:8px}
.score-bar{width:100%; max-width:46px; height:100%; background:rgba(255,255,255,.05); border-radius:6px 6px 0 0; display:flex; align-items:flex-end; overflow:hidden}
.score-bar span{display:block; width:100%; border-radius:6px 6px 0 0; transition:height .6s}
.score-info{text-align:center}
.score-info b{display:block; font-size:12.5px; color:var(--txt); margin-bottom:2px}
.score-info em{font-style:normal; color:var(--gold2); font-family:ui-monospace,Menlo,monospace; font-size:13px; font-weight:700}
.sb-note{margin:0; font-size:12.5px; color:var(--txt3)}

.review-list{display:flex; flex-direction:column; gap:18px}
.review{background:rgba(17,24,38,.6); border:1px solid var(--line); border-radius:var(--radius); padding:22px 26px; transition:border-color .2s}
.review:hover{border-color:var(--gold)}
.review header{display:flex; align-items:center; gap:12px; margin-bottom:10px}
.review .rv-cat{font-size:11.5px; background:rgba(224,164,88,.14); color:var(--gold); border:1px solid rgba(224,164,88,.35); padding:2px 9px; border-radius:20px}
.review time{font-family:ui-monospace,Menlo,monospace; font-size:12.5px; color:var(--txt3)}
.review h3{font-size:19px; margin:0 0 12px; color:#fff; line-height:1.45}
.review p{margin:0 0 14px; color:var(--txt2); font-size:14.5px}
.rv-foot{display:flex; justify-content:space-between; align-items:center; border-top:1px dashed var(--line); padding-top:12px; font-size:12.5px; color:var(--txt3); flex-wrap:wrap; gap:10px}
.rv-foot a{color:var(--gold)}

/* ===== About ===== */
.about-block{background:rgba(17,24,38,.6); border:1px solid var(--line); border-radius:var(--radius); padding:26px 30px; margin-bottom:22px}
.about-block h2{font-size:20px; color:#fff; margin:0 0 18px; padding-left:12px; border-left:3px solid var(--gold)}
.about-block h3{font-size:16px; color:var(--gold2); margin:20px 0 10px}
.about-block p{margin:0 0 12px; color:var(--txt2); font-size:14.5px}
.about-block p strong{color:var(--txt)}
.do-table{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px}
.do-col{border-radius:var(--radius); padding:18px 20px; border:1px solid var(--line)}
.do-col.yes{background:rgba(125,143,106,.09); border-color:rgba(125,143,106,.4)}
.do-col.no{background:rgba(200,107,74,.09); border-color:rgba(200,107,74,.4)}
.do-col h4{margin:0 0 10px; font-size:15.5px; color:#fff}
.do-col ul{margin:0; padding-left:18px; color:var(--txt2); font-size:13.5px}
.do-col li{margin-bottom:6px}

.rule-table{width:100%; border-collapse:collapse; font-size:13.5px; margin-bottom:8px}
.rule-table th{background:rgba(21,29,48,.7); text-align:left; padding:10px 12px; color:var(--gold2); font-size:12.5px; border-bottom:1px solid var(--line)}
.rule-table td{padding:10px 12px; border-bottom:1px solid rgba(38,49,74,.6); color:var(--txt2); vertical-align:top}
.rule-table tr:last-child td{border-bottom:0}
.rule-list{padding-left:20px; color:var(--txt2); font-size:14px; margin:0}
.rule-list li{margin-bottom:8px}
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:16px 0 12px}
.step{background:rgba(21,29,48,.55); border:1px solid var(--line); border-radius:var(--radius); padding:18px; position:relative}
.step .sn{width:30px; height:30px; border-radius:50%; background:linear-gradient(180deg,var(--gold),#c8893c); color:#201308; display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:10px}
.step h4{margin:0 0 6px; font-size:15.5px; color:#fff}
.step p{margin:0; font-size:13px; color:var(--txt3)}
.contact-box{background:rgba(21,29,48,.55); border:1px dashed var(--line2); border-radius:var(--radius); padding:18px 20px; margin-top:6px}
.contact-box p{margin:0 0 8px; font-size:14px; color:var(--txt2)}
.contact-box p:last-child{margin-bottom:0}
.toc .quick a{padding-left:14px; position:relative}
.toc .quick a::before{content:"#"; position:absolute; left:0; color:var(--gold); opacity:.6}

/* ===== Footer ===== */
.site-footer{margin-top:50px; border-top:1px solid var(--line); background:linear-gradient(180deg,#0d121d,#070a11)}
.footer-inner{display:grid; grid-template-columns:repeat(3,1fr); gap:30px; padding:34px 20px 20px}
.foot-col h5{font-size:15px; color:#fff; margin:0 0 14px}
.foot-col ul{list-style:none; margin:0; padding:0}
.foot-col li{border-bottom:1px dashed rgba(38,49,74,.7)}
.foot-col a{display:block; padding:7px 0; font-size:13.5px; color:var(--txt2)}
.foot-col a:hover{color:var(--gold)}
.foot-col p{margin:0; font-size:13.5px; color:var(--txt3)}
.foot-bottom{border-top:1px solid var(--line); padding:16px 20px 26px}
.foot-bottom p{margin:0; font-size:12.5px; color:var(--txt3); text-align:center}
.foot-bottom a{color:var(--gold2)}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .edition-grid{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .score-grid{grid-template-columns:repeat(3,1fr); height:auto}
  .score-item{height:150px}
}
@media (max-width:820px){
  .header-main{flex-direction:column; align-items:stretch; gap:14px}
  .search-box{width:100%}
  .nav-tail{display:none}
  .hero{grid-template-columns:1fr}
  .featured{grid-template-columns:1fr}
  .feat-body{padding:0 20px 22px}
  .page-layout{grid-template-columns:1fr}
  .list-side{position:static}
  .footer-inner{grid-template-columns:1fr 1fr}
  .hero-stats{grid-template-columns:repeat(2,1fr); gap:18px}
  .do-table{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .edition-grid,.news-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .hero-text h1{font-size:26px}
  .brand-text b{font-size:18px}
  .notice-track{gap:26px; font-size:12.5px}
  .serv-table{min-width:0}
  .serv-table thead{display:none}
  .serv-table tr{display:block; padding:10px 0; border-bottom:1px solid var(--line)}
  .serv-table td{display:flex; justify-content:space-between; padding:5px 4px; border:0; font-size:13px}
  .serv-table td::before{content:attr(data-label); color:var(--txt3); font-size:12px}
  .tl-note{margin-left:0}
}
@media print{body{background:#fff; color:#000}.site-header,.notice,.footer-inner,.pager{display:none}}
