:root{
  --bg:#0C0D10;
  --bg-deep:#08090B;
  --panel:#15171C;
  --panel-2:#1B1E24;
  --line:#2A2E36;
  --orange:#FF7A1A;
  --orange-soft:#FFA24D;
  --green:#2ECC5E;
  --green-soft:#6FE894;
  --ink:#F4F5F7;
  --muted:#9AA3AD;
  --red:#E24B4A;
  --radius:16px;
  --glow-o:0 0 26px rgba(255,122,26,.35);
  --glow-g:0 0 26px rgba(46,204,94,.30);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:15px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.grad-text{background:linear-gradient(90deg,var(--orange),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== 导航 ===== */
nav{
  position:sticky;top:0;z-index:99;
  background:rgba(12,13,16,.9);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;gap:36px;height:70px}
.logo{display:flex;align-items:center;gap:11px}
.logo img{width:40px;height:40px;border-radius:10px}
.logo-name{font-size:18px;font-weight:800;letter-spacing:1px;font-style:italic;color:var(--ink)}
.logo-name b{color:var(--orange)}
.nav-links{display:flex;gap:30px;margin-left:auto}
.nav-links a{font-size:14px;color:var(--muted);transition:color .2s}
.nav-links a:hover{color:var(--orange)}
.nav-links a.active{color:var(--orange);font-weight:600}
.nav-cta{display:flex;gap:12px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:9px 22px;border-radius:24px;font-size:14px;
  border:1px solid var(--green);color:var(--green);cursor:pointer;
  background:transparent;transition:all .2s;font-family:inherit;
}
.btn:hover{background:rgba(46,204,94,.1);box-shadow:var(--glow-g)}
.btn-solid{
  background:linear-gradient(90deg,var(--orange),#FF9A3D);
  color:#161006;font-weight:700;border:none;box-shadow:var(--glow-o);
}
.btn-solid:hover{background:linear-gradient(90deg,#FF8C33,#FFB061)}
.btn-lg{padding:14px 36px;font-size:16px;border-radius:30px}

/* ===== Hero ===== */
.hero{
  padding:100px 0 90px;position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(600px 420px at 12% 0%,rgba(255,122,26,.14),transparent 65%),
    radial-gradient(640px 480px at 95% 90%,rgba(46,204,94,.12),transparent 65%);
}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;position:relative;z-index:1}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:3px;color:var(--green-soft);
  border:1px solid rgba(46,204,94,.45);border-radius:20px;padding:5px 16px;margin-bottom:26px;
}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:var(--glow-g)}
.hero h1{font-size:54px;line-height:1.22;font-weight:900;letter-spacing:1px}
.hero h1 .sub{display:block;font-size:30px;font-weight:800;margin-top:8px;font-style:italic;letter-spacing:2px}
.hero p.lead{margin:24px 0 36px;font-size:16px;color:var(--muted);max-width:520px}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap}
.stats{display:flex;margin-top:54px;border-top:1px solid var(--line);padding-top:30px}
.stat{flex:1}
.stat b{display:block;font-size:27px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--orange)}
.stat:nth-child(even) b{color:var(--green)}
.stat span{font-size:12.5px;color:var(--muted)}
.hero-art{position:relative;display:flex;align-items:center;justify-content:center}
.big-ball{
  width:330px;height:330px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#2A2C33,#0A0B0D 72%);
  border:2px solid var(--orange);
  box-shadow:var(--glow-o),inset 0 0 60px rgba(255,122,26,.12);
  display:flex;align-items:center;justify-content:center;position:relative;
}
.big-ball::after{content:"";position:absolute;width:118px;height:118px;border-radius:50%;background:#F4F5F7}
.big-ball span{
  position:absolute;z-index:2;font-size:64px;font-weight:800;color:#0C0D10;
  font-family:Georgia,serif;font-style:italic;
}
.chase-arrow{
  position:absolute;width:150px;height:6px;border-radius:3px;z-index:3;
  background:linear-gradient(90deg,var(--orange),var(--green));
  transform:rotate(-38deg);box-shadow:0 0 18px rgba(46,204,94,.5);
}
.chase-arrow::after{
  content:"";position:absolute;right:-14px;top:-7px;
  border-left:18px solid var(--green);
  border-top:10px solid transparent;border-bottom:10px solid transparent;
}
.rank-chip{
  position:absolute;background:rgba(21,23,28,.92);border:1px solid var(--line);
  border-radius:12px;padding:10px 18px;font-size:13px;backdrop-filter:blur(6px);
}
.rank-chip b{color:var(--orange)}
.chip-1{top:6%;left:-6%;border-color:rgba(255,122,26,.5);box-shadow:var(--glow-o)}
.chip-2{bottom:18%;right:-8%}
.chip-2 b{color:var(--green)}
.chip-3{bottom:-2%;left:6%}

/* ===== 通用 section ===== */
section{padding:90px 0}
.sec-head{margin-bottom:48px}
.sec-tag{font-size:13px;letter-spacing:4px;color:var(--orange);font-weight:700;margin-bottom:12px}
.sec-head h2{font-size:34px;font-weight:800;letter-spacing:1px}
.sec-head p{color:var(--muted);margin-top:12px;font-size:15px}
.sec-head .line{width:64px;height:4px;border-radius:2px;margin-top:18px;background:linear-gradient(90deg,var(--orange),var(--green))}

/* ===== 内页头部 ===== */
.page-hero{
  padding:72px 0 60px;border-bottom:1px solid var(--line);
  background:
    radial-gradient(560px 300px at 10% 0%,rgba(255,122,26,.12),transparent 60%),
    radial-gradient(560px 300px at 92% 100%,rgba(46,204,94,.10),transparent 60%);
}
.page-hero h1{font-size:40px;font-weight:900;letter-spacing:1px}
.page-hero p{color:var(--muted);margin-top:14px;max-width:640px;font-size:15.5px}
.page-hero .sec-tag{margin-bottom:10px}

/* ===== Tabs / 筛选 ===== */
.tabs{display:flex;gap:10px;margin-bottom:36px;flex-wrap:wrap}
.tab{
  padding:8px 26px;border-radius:20px;border:1px solid var(--line);
  color:var(--muted);font-size:14px;cursor:pointer;background:transparent;font-family:inherit;transition:all .2s;
}
.tab.active{
  border-color:var(--orange);color:var(--orange);font-weight:700;
  background:rgba(255,122,26,.08);box-shadow:var(--glow-o);
}
.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:30px}
.search{
  flex:1;min-width:220px;padding:10px 18px;border-radius:24px;
  background:var(--panel);border:1px solid var(--line);color:var(--ink);
  font-family:inherit;font-size:14px;outline:none;transition:border-color .2s;
}
.search:focus{border-color:var(--orange)}
.search::placeholder{color:#5F6A73}
select.mini{
  padding:9px 16px;border-radius:20px;background:var(--panel);border:1px solid var(--line);
  color:var(--muted);font-family:inherit;font-size:13.5px;outline:none;cursor:pointer;
}
select.mini option{background:var(--panel);color:var(--ink)}

/* ===== 榜单 ===== */
#ladder,.page-ladder{
  background:var(--bg-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background-image:radial-gradient(700px 380px at 85% 0%,rgba(255,122,26,.08),transparent 60%);
}
.board{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:26px}
.podium{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 26px;text-align:center;position:relative;transition:transform .25s;
}
.podium:hover{transform:translateY(-4px)}
.podium.first{
  border-color:var(--orange);
  background:linear-gradient(180deg,rgba(255,122,26,.12),var(--panel));
  box-shadow:var(--glow-o);
}
.podium.second{border-color:rgba(255,122,26,.35)}
.podium.third{border-color:rgba(46,204,94,.4)}
.medal{
  width:64px;height:64px;margin:0 auto 14px;display:block;
}
.medal img{width:100%;height:100%;display:block}
.m1{filter:drop-shadow(0 8px 20px rgba(255,150,40,.5))}
.m2{filter:drop-shadow(0 8px 20px rgba(190,200,215,.3))}
.m3{filter:drop-shadow(0 8px 20px rgba(200,130,70,.38))}
.podium .name{font-size:18px;font-weight:700}
.podium .meta{font-size:12.5px;color:var(--muted);margin:6px 0 14px}
.podium .score{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}
.podium.first .score{color:var(--orange)}
.podium.second .score,.podium.third .score{color:var(--green)}
.podium .rk{position:absolute;top:16px;left:18px;font-size:12px;color:var(--muted);letter-spacing:1px}

.rank-table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.rank-table th{
  text-align:left;font-size:13px;color:var(--muted);font-weight:600;
  padding:14px 20px;border-bottom:1px solid var(--line);background:var(--panel-2);
}
.rank-table td{padding:14px 20px;border-bottom:1px solid rgba(42,46,54,.6);font-size:14.5px}
.rank-table tr:last-child td{border-bottom:none}
.rank-table tr:hover td{background:rgba(255,122,26,.05)}
td .no{color:var(--muted);font-variant-numeric:tabular-nums}
.badge{display:inline-block;padding:2px 12px;border-radius:12px;font-size:12px;border:1px solid;white-space:nowrap}
.b-master{color:#FFB061;border-color:var(--orange);background:rgba(255,122,26,.1)}
.b-king{color:#FF7A1A;border-color:rgba(255,122,26,.6)}
.b-star{color:#C9F2D4;border-color:rgba(46,204,94,.55);background:rgba(46,204,94,.08)}
.b-diamond{color:var(--green);border-color:var(--green)}
.b-plat{color:#7BD9FF;border-color:rgba(123,217,255,.55)}
.up{color:var(--green);font-size:12px}
.down{color:var(--red);font-size:12px}
.winrate{color:var(--muted);font-variant-numeric:tabular-nums}
.more-link{text-align:center;margin-top:26px}
.more-link a{color:var(--orange);font-size:14px;font-weight:600;border-bottom:1px solid var(--orange);padding-bottom:2px}
.more-link span{font-size:13px;color:var(--muted);letter-spacing:.05em}

/* 段位图例 */
.tier-list{display:flex;flex-direction:column;gap:8px}
.tier{
  display:flex;align-items:center;gap:14px;padding:11px 16px;
  background:var(--panel);border:1px solid var(--line);border-radius:10px;
}
.tier .dot{width:12px;height:12px;border-radius:4px;flex-shrink:0}
.tier .tname{font-size:13.5px;font-weight:600;flex:1}
.tier .trange{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}

/* ===== 球房 ===== */
.eco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:56px}
.eco-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 24px;transition:transform .25s,border-color .25s,box-shadow .25s;
}
.eco-card:hover{transform:translateY(-5px);border-color:var(--orange);box-shadow:var(--glow-o)}
.eco-card:nth-child(even):hover{border-color:var(--green);box-shadow:var(--glow-g)}
.eco-icon{
  width:46px;height:46px;border-radius:12px;
  background:linear-gradient(135deg,rgba(255,122,26,.18),rgba(46,204,94,.18));
  border:1px solid rgba(255,122,26,.4);
  display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px;color:var(--orange);
}
.eco-card:nth-child(even) .eco-icon{color:var(--green);border-color:rgba(46,204,94,.4)}
.eco-card h3{font-size:16.5px;margin-bottom:10px;font-weight:700}
.eco-card p{font-size:13.5px;color:var(--muted)}
.rooms-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}
.rooms-title h3{font-size:20px;font-weight:700}
.rooms-title a{font-size:13px;color:var(--orange)}
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.room{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:border-color .25s,box-shadow .25s;
}
.room:hover{border-color:var(--green);box-shadow:var(--glow-g)}
.room-pic{height:130px;position:relative;display:flex;align-items:flex-end;padding:14px;gap:8px}
.room-pic .tag{
  font-size:11px;background:rgba(8,9,11,.85);border:1px solid var(--line);
  padding:3px 10px;border-radius:10px;color:var(--green-soft);
}
.room-pic .tag.o{color:var(--orange-soft);border-color:rgba(255,122,26,.5)}
.room-body{padding:18px 20px 22px}
.room-body h4{font-size:16px;font-weight:700;margin-bottom:6px}
.room-body .info{font-size:12.5px;color:var(--muted);margin-bottom:14px}
.room-body .row{display:flex;justify-content:space-between;align-items:center}
.room-body .free{font-size:12.5px;color:var(--green)}
.mini-btn{
  padding:6px 18px;border-radius:16px;color:#161006;font-size:13px;font-weight:700;
  background:linear-gradient(90deg,var(--orange),#FF9A3D);border:none;cursor:pointer;font-family:inherit;
  box-shadow:0 0 14px rgba(255,122,26,.3);
}
.mini-btn:hover{background:linear-gradient(90deg,#FF8C33,#FFB061)}
.mini-btn.ghost{
  background:transparent;border:1px solid var(--green);color:var(--green);box-shadow:none;
}
.mini-btn.ghost:hover{background:rgba(46,204,94,.1)}

/* 类型对比 */
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mode-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px;
}
.mode-card.hot{border-color:var(--orange);box-shadow:var(--glow-o);position:relative}
.mode-card .plan{font-size:13px;letter-spacing:2px;color:var(--green);font-weight:700}
.mode-card.hot .plan{color:var(--orange)}
.mode-card h3{font-size:22px;font-weight:800;margin:10px 0 6px}
.mode-card .price{font-size:14px;color:var(--muted);margin-bottom:20px}
.mode-card ul{list-style:none}
.mode-card li{
  font-size:14px;color:#C9D2DA;padding:10px 0;
  border-bottom:1px dashed rgba(42,46,54,.7);display:flex;gap:10px;
}
.mode-card li::before{content:"✓";color:var(--green);font-weight:700}
.mode-card li b{color:var(--ink);font-weight:600}
.reco{
  position:absolute;top:-13px;right:22px;font-size:12px;font-weight:700;
  background:linear-gradient(90deg,var(--orange),#FF9A3D);color:#161006;
  padding:4px 14px;border-radius:14px;box-shadow:var(--glow-o);
}

/* ===== 赛事 ===== */
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.event{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;position:relative;display:flex;flex-direction:column;transition:border-color .25s,box-shadow .25s;
}
.event:hover{border-color:var(--orange);box-shadow:var(--glow-o)}
.event .cat{font-size:12px;letter-spacing:2px;color:var(--green);font-weight:700;margin-bottom:12px}
.event h3{font-size:18px;font-weight:700;margin-bottom:8px}
.event .prize{font-size:13px;color:var(--orange);font-weight:600;margin-bottom:12px}
.event p{font-size:13px;color:var(--muted);flex:1}
.event .foot{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid rgba(42,46,54,.6)}
.event .date{font-size:12.5px;color:var(--muted)}
.status{font-size:12px;padding:3px 12px;border-radius:12px;font-weight:600;white-space:nowrap}
.s-open{color:var(--green);border:1px solid var(--green);box-shadow:0 0 12px rgba(46,204,94,.25)}
.s-soon{color:var(--orange);border:1px solid var(--orange)}
.s-live{color:#FF5C5C;border:1px solid #FF5C5C;box-shadow:0 0 12px rgba(255,92,92,.3)}
.s-end{color:var(--muted);border:1px solid var(--line)}
.event-row{
  display:grid;grid-template-columns:110px 1fr auto auto;gap:20px;align-items:center;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:16px 24px;margin-bottom:12px;transition:border-color .2s;
}
.event-row:hover{border-color:rgba(255,122,26,.5)}
.event-row .d{color:var(--orange);font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums}
.event-row .d span{display:block;color:var(--muted);font-weight:400;font-size:11.5px}
.event-row h4{font-size:15px;font-weight:600}
.event-row .loc{font-size:12.5px;color:var(--muted);margin-top:2px}
.event-row .pr{font-size:13px;color:var(--orange);font-weight:600;white-space:nowrap}

/* ===== 平台能力 ===== */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:border-color .25s}
.feat:hover{border-color:var(--green)}
.feat .n{font-size:14px;color:var(--orange);letter-spacing:2px;margin-bottom:12px;font-weight:800;font-style:italic}
.feat h3{font-size:17px;font-weight:700;margin-bottom:10px}
.feat p{font-size:13.5px;color:var(--muted)}

/* ===== 机制说明 ===== */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;counter-reset:step}
.flow .step{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:18px 14px;text-align:center;font-size:13px;position:relative;color:#C9D2DA;
}
.flow .step b{display:block;color:var(--ink);font-size:13.5px;margin-bottom:4px}
.flow .step::before{
  counter-increment:step;content:counter(step);
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;margin-bottom:10px;
  background:linear-gradient(135deg,var(--orange),var(--green));color:#161006;font-weight:800;font-size:12px;
}

/* ===== 表单 ===== */
.form-card{
  background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:44px;
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.fg{display:flex;flex-direction:column;gap:8px}
.fg label{font-size:13.5px;font-weight:600;color:#C9D2DA}
.fg label em{color:var(--orange);font-style:normal;margin-left:2px}
.fg input,.fg select,.fg textarea{
  padding:12px 16px;border-radius:10px;background:var(--panel-2);
  border:1px solid var(--line);color:var(--ink);font-family:inherit;font-size:14px;outline:none;
  transition:border-color .2s;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--orange)}
.fg textarea{resize:vertical;min-height:96px}
.fg.full{grid-column:1 / -1}
.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.radio-card{
  border:1px solid var(--line);border-radius:12px;padding:16px 18px;cursor:pointer;
  transition:all .2s;background:var(--panel-2);
}
.radio-card input{display:none}
.radio-card .rn{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:8px}
.radio-card .rd{font-size:12.5px;color:var(--muted);margin-top:4px}
.radio-card.on{border-color:var(--orange);box-shadow:var(--glow-o)}
.radio-card.on .rn::after{content:"已选";margin-left:auto;font-size:11px;color:var(--orange);font-weight:600}
.form-note{font-size:12.5px;color:var(--muted);margin-top:16px}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:14px}
.faq details{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 24px;
}
.faq summary{cursor:pointer;font-size:15px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::after{content:"+";color:var(--orange);font-size:18px;font-weight:700}
.faq details[open] summary::after{content:"−"}
.faq details p{margin-top:12px;font-size:14px;color:var(--muted)}

/* ===== 小程序导流 ===== */
#app,.page-app{
  background:var(--bg-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background-image:
    radial-gradient(500px 340px at 80% 20%,rgba(255,122,26,.10),transparent 60%),
    radial-gradient(500px 340px at 15% 85%,rgba(46,204,94,.10),transparent 60%);
}
#app .wrap,.page-app .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.phone{
  width:272px;border:1.5px solid rgba(46,204,94,.55);border-radius:36px;background:#101216;
  padding:20px 16px;margin:0 auto;box-shadow:var(--glow-g),0 24px 60px rgba(0,0,0,.5);
}
.p-head{display:flex;align-items:center;gap:9px;margin-bottom:16px}
.p-head img{width:30px;height:30px;border-radius:8px}
.p-head b{font-size:14px;font-style:italic;letter-spacing:1px}
.p-head b i{color:var(--orange);font-style:italic}
.p-card{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px}
.p-row{display:flex;justify-content:space-between;align-items:center}
.p-num{font-size:24px;color:var(--orange);font-weight:800;font-style:italic}
.p-bar{height:5px;background:#0C0D10;border-radius:3px;margin-top:10px;overflow:hidden}
.p-bar i{display:block;height:5px;width:71%;border-radius:3px;background:linear-gradient(90deg,var(--orange),var(--green))}
.p-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}
.p-grid div{background:var(--panel-2);border-radius:8px;padding:9px 0;text-align:center;font-size:11px;color:#C9D2DA}
.p-post{background:var(--panel-2);border:1px solid rgba(255,122,26,.4);border-radius:12px;padding:12px}
.p-post .t{font-size:11px;color:var(--green-soft);margin-bottom:5px}
.p-cta{
  font-size:11px;background:linear-gradient(90deg,var(--orange),#FF9A3D);color:#161006;
  border-radius:12px;padding:3px 12px;font-weight:700;
}
.qr-row{display:flex;gap:18px;align-items:center;margin-top:30px}
.qr{
  width:112px;height:112px;background:#F4F5F7;border-radius:14px;
  display:flex;align-items:center;justify-content:center;color:#0C0D10;font-size:12px;text-align:center;
  box-shadow:var(--glow-o);
}

/* ===== CTA ===== */
.cta{
  margin:0 28px;border-radius:22px;padding:64px 60px;
  display:flex;justify-content:space-between;align-items:center;gap:40px;
  background:
    radial-gradient(420px 240px at 8% 10%,rgba(255,122,26,.22),transparent 60%),
    radial-gradient(420px 240px at 95% 90%,rgba(46,204,94,.20),transparent 60%),
    var(--panel);
  border:1px solid rgba(255,122,26,.5);
  box-shadow:var(--glow-o);
}
.cta h2{font-size:30px;font-weight:800;margin-bottom:12px}
.cta p{color:var(--muted);font-size:15px}
.cta .btn-lg{flex-shrink:0}

/* ===== Footer ===== */
footer{border-top:1px solid var(--line);padding:60px 0 34px;background:var(--bg-deep)}
.f-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.f-brand p{font-size:13px;color:var(--muted);margin-top:14px;max-width:300px}
footer h5{font-size:14px;font-weight:700;margin-bottom:16px}
footer li{list-style:none;margin-bottom:10px}
footer li a{font-size:13px;color:var(--muted)}
footer li a:hover{color:var(--orange)}
.f-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;font-size:12px;color:#6B737C}

/* ===== 响应式 ===== */
@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-art{display:none}
  .board,.eco-grid,.rooms,.events,.feat-grid{grid-template-columns:1fr 1fr}
  #app .wrap,.page-app .wrap{grid-template-columns:1fr}
  .cta{flex-direction:column;text-align:center;padding:44px 28px}
  .nav-links{display:none}
  .f-cols{grid-template-columns:1fr 1fr}
  .flow{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
  .mode-grid{grid-template-columns:1fr}
  .event-row{grid-template-columns:80px 1fr;row-gap:8px}
  .event-row .status,.event-row .pr{grid-column:2}
}
@media (max-width:600px){
  .board,.eco-grid,.rooms,.events,.feat-grid{grid-template-columns:1fr}
  .hero h1{font-size:38px}
  .page-hero h1{font-size:30px}
  .rank-table{display:block;overflow-x:auto}
  .flow{grid-template-columns:1fr}
  .radio-cards{grid-template-columns:1fr}
  .form-card{padding:28px 20px}
}

/* ===== 实时徽标 / 更新时间 ===== */
.live-badge{
  display:inline-flex;align-items:center;gap:7px;padding:3px 12px;margin-right:10px;
  border:1px solid rgba(46,204,94,.45);border-radius:14px;font-size:12px;
  color:var(--green);background:rgba(46,204,94,.08);vertical-align:middle;
}
.live-badge i{width:7px;height:7px;border-radius:50%;background:var(--green);animation:c8pulse 1.6s infinite}
@keyframes c8pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(46,204,94,.55)}
  50%{box-shadow:0 0 0 6px rgba(46,204,94,0)}
}
[data-c8-updated]{font-size:12px;color:var(--muted);margin-left:8px}

/* ===== 联系我们卡片 ===== */
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.contact-card{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px 22px;
  transition:.25s;
}
.contact-card:hover{border-color:rgba(255,122,26,.5);box-shadow:var(--glow-o)}
.contact-card .c-ico{
  width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:18px;margin-bottom:14px;
  background:linear-gradient(135deg,rgba(255,122,26,.18),rgba(46,204,94,.14));
  border:1px solid rgba(255,122,26,.35);
}
.contact-card h4{font-size:15px;margin-bottom:8px}
.contact-card p{font-size:13px;color:var(--muted);line-height:1.7}
.contact-card b{color:var(--green);font-weight:600}
@media (max-width:980px){.contact-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.contact-grid{grid-template-columns:1fr}}

/* ================= 办赛价格卡 · 立体 + 流光 ================= */
@property --pa{syntax:'<angle>';initial-value:0deg;inherits:false}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;perspective:1300px}
.price-card{position:relative;border-radius:20px;padding:36px 30px 32px;text-align:center;
  background:linear-gradient(180deg,#17191F 0%,#101115 100%);
  box-shadow:0 26px 56px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.06),
             0 2px 0 rgba(0,0,0,.55);
  transform-style:preserve-3d;
  transition:transform .5s cubic-bezier(.2,.85,.25,1), box-shadow .5s;
  overflow:hidden}
.price-card:hover{
  transform:translateY(-10px) rotateX(4deg) rotateY(-3deg) scale(1.015);
  box-shadow:0 46px 90px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.1),
             0 14px 40px rgba(255,122,26,.10)}
/* 流光描边：conic 渐变绕卡旋转 */
.price-card::before{content:'';position:absolute;inset:0;border-radius:20px;padding:1.5px;
  background:conic-gradient(from var(--pa),
    rgba(255,122,26,0) 0deg, rgba(255,122,26,.95) 40deg,
    rgba(255,226,150,.85) 80deg, rgba(46,204,94,.95) 130deg,
    rgba(46,204,94,0) 190deg, rgba(255,122,26,0) 360deg);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:paRotate 5.5s linear infinite;
  pointer-events:none; opacity:.85}
.price-card:hover::before{animation-duration:2.2s;opacity:1}
@keyframes paRotate{to{--pa:360deg}}
/* 扫过高光 */
.price-card::after{content:'';position:absolute;top:-25%;left:-75%;width:46%;height:150%;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.065) 48%,transparent 100%);
  transform:skewX(-22deg);animation:priceShine 4.6s ease-in-out infinite;pointer-events:none}
@keyframes priceShine{0%{left:-75%}58%,100%{left:140%}}
.price-card>*{position:relative;z-index:1}
/* 内容 */
.price-tier{font-size:11px;letter-spacing:.26em;color:var(--muted);font-weight:600}
.price-num{font-size:46px;font-weight:900;letter-spacing:-.02em;margin:14px 0 2px;line-height:1}
.price-num i{font-style:normal;font-size:19px;font-weight:700;vertical-align:14px;margin-right:3px;opacity:.85}
.price-cap{font-size:12.5px;color:var(--muted);letter-spacing:.04em}
.price-feat{list-style:none;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.07);
  font-size:13px;color:var(--muted)}
.price-feat li{padding:6.5px 0}
.price-feat li b{color:var(--ink);font-weight:600}
/* 推荐档 */
.price-card.hot{background:linear-gradient(180deg,#1B1712 0%,#101115 100%)}
.price-card.hot .price-num{background:linear-gradient(90deg,var(--orange),var(--green));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hot-badge{position:absolute;top:16px;right:16px;z-index:2;
  font-size:10.5px;letter-spacing:.14em;font-weight:700;color:#0C0D10;
  background:linear-gradient(90deg,var(--orange),var(--green));
  padding:5px 11px;border-radius:999px;box-shadow:0 4px 16px rgba(255,122,26,.35)}
.price-note{margin-top:22px;text-align:center;font-size:12.5px;color:var(--muted);letter-spacing:.03em}
.price-note b{color:var(--green);font-weight:600}
@media (max-width:980px){.price-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}}

