
:root{
  --bg:#0A0A0A; --fg:#FFFFFF; --dim:#C2BDB1; --dim2:#8A8579;
  --lime:#D8FF3E; --line:rgba(255,255,255,.10); --line2:rgba(255,255,255,.18);
  --pad:18px; --max:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);
  font-family:"Microsoft YaHei","PingFang SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--lime);color:#0A0A0A}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

/* ---------- 顶栏 ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:14px var(--pad);background:linear-gradient(180deg,rgba(10,10,10,.85),rgba(10,10,10,0));
  backdrop-filter:blur(6px)}
.nav .lg{display:flex;align-items:center;gap:9px;font-size:14px;letter-spacing:.16em;font-weight:800}
.nav .dot{width:6px;height:6px;background:var(--lime);border-radius:50%;
  box-shadow:0 0 12px var(--lime);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}
.nav .rt{display:flex;align-items:center;gap:14px;font-size:12.5px;letter-spacing:.12em;color:rgba(255,255,255,.7)}
.nav .rt b{color:var(--lime);font-weight:700}
.nav .rt .hide{display:none}
@media(min-width:760px){.nav .rt .hide{display:inline}}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:var(--vh,100svh);overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%;
  filter:saturate(.74) contrast(1.08) brightness(.54);transform:scale(1.06)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(120% 70% at 78% 18%, rgba(216,255,62,.10) 0%, rgba(216,255,62,0) 58%),
    linear-gradient(172deg,rgba(36,50,68,.52) 0%,rgba(58,44,30,.42) 40%,rgba(10,10,10,.82) 70%,#0A0A0A 96%)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:100% 3px;opacity:.7;mix-blend-mode:overlay}
.hero-in{position:relative;z-index:2;min-height:var(--vh,100svh);
  display:flex;flex-direction:column;padding:70px var(--pad) 20px;max-width:var(--max);margin:0 auto}
.kicker{font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.72);display:flex;gap:10px;align-items:center}
.kicker .sp{width:22px;height:1px;background:var(--lime);display:inline-block}
.kicker .kno{margin-left:auto;font-style:normal;font-size:8.5px;letter-spacing:.2em;color:rgba(255,255,255,.38)}
.hero-mid{margin-top:auto}
.bignum{display:flex;align-items:flex-end;gap:14px;margin-bottom:8px}
.bignum b{font-family:"Arial Black",Impact,system-ui,sans-serif;
  font-size:clamp(74px,20vw,150px);line-height:.78;letter-spacing:-.055em;font-weight:900;
  color:var(--lime);text-shadow:0 0 70px rgba(216,255,62,.25)}
.bignum .u{font-size:10.5px;line-height:1.4;letter-spacing:.16em;color:rgba(255,255,255,.6);
  padding-bottom:14px;white-space:nowrap}
.bignum .u b{display:block;font-size:13px;color:var(--fg);font-weight:800;letter-spacing:.04em;
  margin-bottom:3px;text-shadow:none}
h1.h1{font-size:clamp(29px,7.4vw,58px);font-weight:900;line-height:1.06;letter-spacing:-.04em;
  text-shadow:0 2px 30px rgba(0,0,0,.55);margin-top:17px}
h1.h1 em{font-style:normal;color:var(--lime)}
.sub{font-size:clamp(12px,3.2vw,14px);line-height:1.62;color:rgba(255,255,255,.76);
  margin-top:10px;max-width:26em}
.sub b{color:var(--fg);font-weight:800}
.cta{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--lime);color:#0A0A0A;padding:14px 15px;border-radius:2px;
  transition:transform .18s ease,box-shadow .18s ease}
.cta:hover{transform:translateY(-2px);box-shadow:0 10px 40px rgba(216,255,62,.28)}
.cta b{font-size:13.5px;letter-spacing:.01em}
.cta span{font-size:9.5px;letter-spacing:.14em;opacity:.72;font-weight:700}
.hero-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;
  font-size:9px;letter-spacing:.14em;color:rgba(255,255,255,.42)}
.hero-foot .sc{display:flex;align-items:center;gap:7px}
.hero-foot .ln{width:1px;height:20px;background:linear-gradient(rgba(255,255,255,.5),transparent);
  animation:drop 2s ease-in-out infinite}
@keyframes drop{0%,100%{opacity:.2;transform:translateY(0)}50%{opacity:.9;transform:translateY(6px)}}

/* ---------- 区块通用 ---------- */
.sec{padding:38px 0 6px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding-bottom:13px;border-bottom:1px solid var(--line2)}
.sec-h h2{font-size:clamp(23px,5.8vw,36px);font-weight:900;letter-spacing:-.03em;line-height:1.12}
.sec-h h2 em{font-style:normal;color:var(--lime)}
.sec-h .no{font-size:9px;letter-spacing:.2em;color:var(--dim2);white-space:nowrap}
.sec-lead{font-size:13px;line-height:1.75;color:rgba(255,255,255,.62);margin-top:13px;max-width:32em}

/* ---------- 收录总量 ---------- */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:20px;
  background:var(--line);border:1px solid var(--line)}
.stat{background:var(--bg);padding:20px 16px 18px;position:relative;transition:background .18s}
.stat:hover{background:rgba(216,255,62,.04)}
.stat .v{font-family:"Arial Black",Impact,system-ui,sans-serif;font-size:clamp(38px,10vw,58px);
  line-height:.84;letter-spacing:-.04em;font-weight:900;color:var(--lime)}
.stat .v small{font-size:.34em;letter-spacing:0;color:rgba(255,255,255,.55);margin-left:4px;font-family:inherit}
.stat .k{font-size:10.5px;letter-spacing:.08em;color:rgba(255,255,255,.72);margin-top:10px}
.stat .x{font-size:9px;letter-spacing:.06em;color:var(--dim2);margin-top:4px;line-height:1.5}
@media(min-width:760px){.stats{grid-template-columns:repeat(4,1fr)}.stat{padding:26px 20px}}

/* ---------- 本周清单 ---------- */
.daygroup{margin-top:24px}
.dayhead{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.dayhead .d{font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.dayhead .w{font-size:9px;letter-spacing:.16em;color:var(--dim2)}
.dayhead .tag{font-size:8.5px;letter-spacing:.14em;padding:3px 7px;border-radius:2px;background:var(--lime);color:#0A0A0A;font-weight:800}
.dayhead .tag.gone{background:rgba(255,255,255,.08);color:var(--dim2)}
.dayhead .rule{flex:1;height:1px;background:var(--line);margin-left:4px}
.ev{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:start;
  padding:15px 0;border-bottom:1px solid var(--line);transition:background .16s,padding-left .16s}
.ev:hover{background:rgba(216,255,62,.045);padding-left:6px}
.ev .idx{font-size:10px;color:var(--dim2);padding-top:3px;font-variant-numeric:tabular-nums}
.ev .tt{font-size:14.5px;font-weight:700;line-height:1.35;letter-spacing:-.01em}
.ev .mt{font-size:10px;letter-spacing:.04em;color:var(--dim2);margin-top:5px;display:flex;gap:8px;flex-wrap:wrap}
.ev .mt i{font-style:normal;color:var(--dim)}
.ev .mt .k{color:var(--lime);opacity:.85}
.ev .st{font-size:9px;letter-spacing:.1em;color:var(--dim2);white-space:nowrap;padding-top:4px}
.ev .st.on{color:var(--lime)}
.ev.past .tt{color:rgba(255,255,255,.42)}
.ev.past .mt{opacity:.6}
.ev.race .mt .k{color:#FFB020}

/* ---------- 月历 ---------- */
.cal{margin-top:20px;border-top:1px solid var(--line2);border-left:1px solid var(--line)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-w{font-size:8.5px;letter-spacing:.1em;color:var(--dim2);padding:9px 6px 9px 0;text-align:right;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cal-d{aspect-ratio:1/.86;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:5px 6px;position:relative;transition:background .15s}
.cal-d .n{position:absolute;right:6px;bottom:4px;font-size:11px;color:rgba(255,255,255,.55);
  font-variant-numeric:tabular-nums;line-height:1}
.cal-d.off{background:rgba(255,255,255,.014)}
.cal-d.off .n{color:rgba(255,255,255,.18)}
.cal-d.has{background:rgba(216,255,62,.06)}
.cal-d.has .n{color:var(--fg);font-weight:800}
.cal-d .evs{position:absolute;left:6px;top:6px;display:flex;gap:2px}
.cal-d .evs i{width:4px;height:2px;background:var(--lime);display:block}
.cal-d.today{background:var(--lime)}
.cal-d.today .n{color:#0A0A0A;font-weight:900}
.cal-d.today .evs i{background:#0A0A0A}
.cal-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:13px;font-size:9px;letter-spacing:.1em;color:var(--dim2)}
.cal-legend span{display:flex;align-items:center;gap:6px}
.cal-legend i{width:5px;height:2px;background:var(--lime);display:block}
.cal-legend .o{background:var(--lime);width:9px;height:9px}

/* ---------- 城市 ---------- */
.cities{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:20px;
  background:var(--line);border:1px solid var(--line)}
.city{position:relative;aspect-ratio:1/.8;overflow:hidden;background:#111;display:block}
.city img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) brightness(.5);
  transition:transform .5s ease,filter .4s ease}
.city:hover img{transform:scale(1.07);filter:saturate(.8) brightness(.62)}
.city .ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:12px;background:linear-gradient(180deg,rgba(10,10,10,.1),rgba(10,10,10,.88) 78%)}
.city .nm{font-size:16px;font-weight:900}
.city .cn{font-size:9px;letter-spacing:.13em;color:var(--lime);margin-top:3px}
.city .ct{font-size:9px;letter-spacing:.06em;color:rgba(255,255,255,.55);margin-top:5px}
.city-note{font-size:9.5px;color:var(--dim2);margin-top:12px;letter-spacing:.04em}

/* ---------- 流程 ---------- */
.steps{margin-top:6px;border-top:0}
.step{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:19px 0;border-bottom:1px solid var(--line)}
.step .n{font-family:"Arial Black",Impact,sans-serif;font-size:25px;line-height:.9;
  color:transparent;-webkit-text-stroke:1px rgba(216,255,62,.55);letter-spacing:-.03em}
.step .h{font-size:14px;font-weight:800}
.step .p{font-size:12px;line-height:1.65;color:var(--dim);margin-top:6px;max-width:34em}

/* ---------- 订阅 + 社区 ---------- */
.sub-sec{padding:34px 0 40px;margin-top:26px;border-top:1px solid var(--line2);
  background:radial-gradient(90% 60% at 50% 0%,rgba(216,255,62,.07),transparent 70%)}
.sub-sec h3{font-size:clamp(28px,7.4vw,54px);font-weight:900;line-height:1.05;letter-spacing:-.04em}
.sub-sec h3 em{font-style:normal;color:var(--lime)}
.sub-sec .sp-lead{font-size:12px;line-height:1.7;color:var(--dim);margin-top:12px;max-width:30em}
.mail{margin-top:20px;max-width:520px}
.mail-row{display:flex;gap:8px;flex-wrap:wrap}
.mail input{flex:1 1 200px;min-width:0;background:rgba(255,255,255,.04);border:1px solid var(--line2);
  color:var(--fg);padding:14px 14px;font-size:13px;border-radius:2px;font-family:inherit;
  transition:border-color .16s,background .16s}
.mail input::placeholder{color:var(--dim2)}
.mail input:focus{outline:none;border-color:var(--lime);background:rgba(216,255,62,.05)}
.mail button{flex:0 0 auto;background:var(--lime);color:#0A0A0A;border:0;padding:14px 22px;font-size:13px;
  font-weight:900;letter-spacing:.02em;border-radius:2px;cursor:pointer;font-family:inherit;
  transition:transform .16s,filter .16s}
.mail button:hover{transform:translateY(-1px);filter:brightness(1.06)}
.mail .hint{font-size:9.5px;letter-spacing:.06em;color:var(--dim2);margin-top:9px;line-height:1.6}
.mail .err{color:#FF7A5C;display:none;margin-top:8px;font-size:10px;letter-spacing:.04em}
.mail.bad .err{display:block}

.community{margin-top:26px;border:1px solid var(--line2);padding:16px;display:flex;gap:16px;
  align-items:center;background:rgba(255,255,255,.02);max-width:520px}
.community img{width:92px;height:92px;object-fit:contain;background:#fff;padding:4px;border-radius:2px;flex:0 0 auto}
.community .h{font-size:13px;font-weight:900;letter-spacing:.01em}
.community .p{font-size:10.5px;line-height:1.65;color:var(--dim);margin-top:5px}
.community .lnk{font-size:10px;letter-spacing:.1em;color:var(--lime);margin-top:8px;display:inline-block;border-bottom:1px solid rgba(216,255,62,.4)}

/* ---------- 页脚 SEO 导航 ---------- */
.f-seo{border-top:1px solid var(--line2);background:#080808;padding:42px 0 26px;margin-top:0}
.f-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 18px}
@media(min-width:760px){.f-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:22px}}
.f-col h4{font-size:10px;letter-spacing:.18em;color:var(--lime);font-weight:800;margin-bottom:13px}
.f-col ul{list-style:none}
.f-col li{margin-bottom:11px}
.f-col a{font-size:12.5px;color:rgba(255,255,255,.8);line-height:1.5;display:inline-block;transition:color .15s}
.f-col a:hover{color:var(--lime)}
.f-brand{grid-column:1/-1}
@media(min-width:760px){.f-brand{grid-column:auto}}
.f-brand .b{font-size:14.5px;font-weight:900;letter-spacing:.18em}
.f-brand .s{font-size:12.5px;color:rgba(255,255,255,.74);letter-spacing:.02em;line-height:1.9;margin-top:11px;max-width:36em;text-wrap:pretty}
.f-legal{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:9.5px;
  letter-spacing:.06em;color:rgba(255,255,255,.5);line-height:1.75}
.f-legal a{color:rgba(255,255,255,.58);border-bottom:1px solid rgba(255,255,255,.16)}
.f-legal a:hover{color:var(--lime)}

/* ---------- 滚动淡入 ---------- */
.rv{opacity:0;transform:translateY(26px);filter:blur(5px);
  transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none;filter:none}
@media(max-width:767px){.rv{filter:none}}

/* ---------- 动效 ---------- */
.nav{transition:background .3s ease,box-shadow .3s ease}
.nav.scrolled{background:rgba(10,10,10,.94);box-shadow:0 1px 0 rgba(255,255,255,.09)}
.hero-bg img{animation:none;will-change:transform;transform-origin:60% 50%}
@keyframes heroPush{from{transform:scale(1.06)}to{transform:scale(1.135)}}
.num{display:inline-block;font-variant-numeric:tabular-nums}
.stat{overflow:hidden}
.stat .v{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.stat:hover .v{transform:translateY(-2px)}
.daygroup{opacity:0;transform:translateY(16px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}
.daygroup.in{opacity:1;transform:none}
.cal-d.has .evs,.cal-d.has .n{opacity:0}
.cal-d.has.lit .evs,.cal-d.has.lit .n{opacity:1;transition:opacity .5s ease}
.cal-d.today{transition:background .4s ease,transform .4s ease}
.cal-d.today.lit{transform:scale(1.02)}
.city .ov .nm,.city .ov .cn,.city .ov .ct{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.city:hover .ov .nm{transform:translateX(3px)}
.city:hover .ov .cn{transform:translateX(3px)}
.cta:active{transform:translateY(0)}
.mail input:focus{transform:none}
@keyframes barIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  .hero-bg img{animation:none}
  .daygroup{opacity:1;transform:none;transition:none}
  .cal-d.has .evs,.cal-d.has .n{opacity:1}
}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.nav .dot{animation:none}.hero-foot .ln{animation:none}}

@media(min-width:900px){
  :root{--pad:40px}
  .sec{padding:88px 0 10px}
  .ev{grid-template-columns:34px 1fr 96px;padding:18px 0}
  .ev .tt{font-size:16.5px}
  .hero-in{padding:100px 40px 38px}
  .hero-mid{max-width:700px}
  .cta{max-width:430px}
  .narrow{max-width:880px}
  .cal-d{aspect-ratio:1/.52}
  .city{aspect-ratio:1/.66}
  .step{grid-template-columns:60px 1fr;padding:23px 0}
  .step .n{font-size:32px}
  .sub-sec{padding:92px 0 70px}
}
.wrap.narrow{margin:0 auto}

/* ===== SITE-EXT START ===== */
/* ---------- 站点导航 ---------- */
.nav{z-index:70}
.nav .menu{display:none;align-items:center;gap:6px}
.nav .menu a{font-size:15px;letter-spacing:.04em;padding:8px 11px;color:rgba(255,255,255,.62);
  border-bottom:1px solid transparent;transition:color .16s,border-color .16s}
.nav .menu a:hover{color:#fff}
.nav .menu a.on{color:var(--lime);border-color:var(--lime)}
@media(min-width:820px){
  .nav .menu{display:flex}
  .nav .rt{display:none}
}
.burger{display:flex;flex-direction:column;gap:4px;background:none;border:0;padding:8px;cursor:pointer}
.burger i{display:block;width:20px;height:1.5px;background:#fff}
@media(min-width:820px){.burger{display:none}}
.sheet{position:fixed;inset:0;z-index:200;background:rgba(10,10,10,.98);
  display:none;flex-direction:column;padding:76px 22px 40px}
.sheet.open{display:flex}
.sheet a{font-size:26px;font-weight:900;letter-spacing:-.02em;padding:15px 0;
  border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
.sheet a span{font-size:9px;letter-spacing:.2em;color:var(--dim2);font-weight:400}
.sheet .cls{position:absolute;top:18px;right:20px;background:none;border:0;color:#fff;font-size:22px;cursor:pointer}

/* ---------- 内页头 ---------- */
.phead{position:relative;min-height:46vh;display:flex;flex-direction:column;justify-content:flex-end;
  padding:96px var(--pad) 30px;overflow:hidden;isolation:isolate}
@media(min-width:900px){.phead{min-height:40vh;padding:120px 40px 40px}}
.phead .bg{position:absolute;inset:0;z-index:0}
.phead .bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.6) brightness(.45);
  transform:scale(1.04);will-change:transform}
.phead::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(10,10,10,.7) 0%,rgba(10,10,10,.55) 40%,#0A0A0A 96%)}
.phead .in{position:relative;z-index:2;max-width:880px;margin:0 auto;width:100%}
.phead .kk{font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.6);display:flex;gap:10px;align-items:center}
.phead .kk .sp{width:22px;height:1px;background:var(--lime)}
.phead h1{font-size:clamp(27px,7.4vw,66px);font-weight:900;line-height:1.08;letter-spacing:-.04em;margin-top:14px;text-wrap:balance}
.phead h1 em{font-style:normal;color:var(--lime)}
.phead .lead{font-size:clamp(12px,3.2vw,14px);line-height:1.7;color:rgba(255,255,255,.7);margin-top:12px;max-width:34em}
.phead .cnt{position:absolute;left:50%;transform:translateX(-50%);width:100%;max-width:880px;bottom:14px;z-index:2;
  font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.35);text-align:right;padding-right:var(--pad);box-sizing:border-box}
@media(min-width:900px){.phead .cnt{padding-right:0;bottom:18px}}

/* ---------- 筛选条 ---------- */
.filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:18px}
.chip{font-size:15px;letter-spacing:.02em;padding:10px 12px;border:1px solid var(--line2);
  color:rgba(255,255,255,.62);background:transparent;cursor:pointer;font-family:inherit;
  transition:all .16s;white-space:nowrap}
.chip:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.chip.on{background:var(--lime);border-color:var(--lime);color:#0A0A0A;font-weight:800}
.search{display:flex;align-items:center;gap:10px;margin-top:16px;border-bottom:1px solid var(--line2);padding-bottom:11px}
.search input{flex:1;background:none;border:0;color:#fff;font-size:19px;font-family:inherit;outline:none}
.search input::placeholder{color:var(--dim2)}
.search span{font-size:13px;letter-spacing:.12em;color:var(--dim2)}
.count{font-size:15px;letter-spacing:.08em;color:var(--dim2);margin-top:18px}
.count b{color:var(--lime);font-weight:800}

/* ---------- 列表行 ---------- */
.rows{margin-top:6px;border-top:1px solid var(--line2)}
.r{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:start;
  padding:15px 0;border-bottom:1px solid var(--line);transition:background .16s,padding-left .16s;
  opacity:0;transform:translateY(8px)}
.r.in{opacity:1;transform:none;transition:opacity .45s ease,transform .45s ease,background .16s}
.r:hover{background:rgba(216,255,62,.045);padding-left:6px}
.r .d{font-size:11.5px;font-weight:800;letter-spacing:.02em;color:var(--lime);padding-top:2px;
  font-variant-numeric:tabular-nums;line-height:1.3;white-space:nowrap}
.r .d small{display:block;font-size:8px;font-weight:400;color:var(--dim2);letter-spacing:.06em;margin-top:3px;max-width:64px;overflow:hidden;text-overflow:ellipsis}
.r .n{font-size:14px;font-weight:700;line-height:1.38;letter-spacing:-.01em}
.r .m{font-size:10px;color:var(--dim2);margin-top:5px;display:flex;gap:8px;flex-wrap:wrap;line-height:1.5}
.r .m i{font-style:normal;color:var(--dim)}
.r .m .k{color:var(--lime);opacity:.85}
.r .s{font-size:9px;letter-spacing:.1em;color:var(--dim2);white-space:nowrap;padding-top:4px;text-align:right}
.r .s.on{color:var(--lime)}
.r .s.warn{color:#FFB020}
@media(min-width:820px){
  .r{grid-template-columns:64px 1fr 110px;padding:17px 0}
  .r .n{font-size:15.5px}
}
.empty{padding:40px 0;font-size:12px;color:var(--dim2);letter-spacing:.06em}

/* ---------- 详情页 ---------- */
.dwrap{display:block;padding:30px 0 40px}
@media(min-width:900px){
  .dwrap{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:60px;align-items:start;padding:40px 0 60px}
}
.dmain h2{font-size:clamp(20px,4.8vw,28px);font-weight:900;letter-spacing:-.02em;margin-top:26px}
.dmain p{font-size:13.5px;line-height:1.85;color:var(--dim);margin-top:10px;max-width:38em}
.dmain .kv{display:grid;grid-template-columns:1fr;gap:0;margin-top:8px;border-top:1px solid var(--line2)}
@media(min-width:640px){.dmain .kv{grid-template-columns:1fr 1fr}}
.dmain .kv .rr{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}
.dmain .kv dt{font-size:9px;letter-spacing:.14em;color:var(--dim2);flex:0 0 58px}
.dmain .kv dd{font-size:12.5px;font-weight:600;line-height:1.6;flex:1;color:rgba(255,255,255,.9)}
.buybox{border:1px solid var(--line2);background:rgba(255,255,255,.025);padding:18px 16px}
@media(min-width:900px){.buybox{position:sticky;top:80px}}
.buybox .pill{display:inline-block;font-size:9px;letter-spacing:.14em;background:var(--lime);color:#0A0A0A;
  padding:4px 8px;font-weight:800}
.buybox .big{font-family:"Arial Black",Impact,sans-serif;font-size:40px;line-height:.92;letter-spacing:-.04em;
  margin-top:14px;color:#fff}
.buybox .big small{font-size:12px;letter-spacing:.04em;margin-left:6px;vertical-align:middle;color:var(--dim)}
.buybox .sub{font-size:11.5px;color:var(--dim);margin-top:8px;line-height:1.5}
.buybox .go{display:flex;align-items:center;justify-content:space-between;background:var(--lime);color:#0A0A0A;
  padding:13px 14px;margin-top:14px;font-size:12.5px;font-weight:800;transition:transform .16s}
.buybox .go:hover{transform:translateY(-2px)}
.buybox .go span{font-size:9.5px;letter-spacing:.12em;opacity:.7}
.buybox .alt{display:block;text-align:center;border:1px solid var(--line2);color:#fff;padding:11px;
  font-size:11px;margin-top:8px;transition:border-color .16s,color .16s}
.buybox .alt:hover{border-color:var(--lime);color:var(--lime)}
.buybox .fine{font-size:9.5px;line-height:1.7;color:var(--dim2);margin-top:12px;padding-top:12px;
  border-top:1px solid var(--line)}

/* ---------- 表单 ---------- */
.form{margin-top:18px;max-width:520px}
.form .fr{display:flex;gap:8px;flex-wrap:wrap}
.form input{flex:1 1 200px;min-width:0;background:rgba(255,255,255,.04);border:1px solid var(--line2);
  color:#fff;padding:14px;font-size:13px;font-family:inherit;border-radius:2px;transition:border-color .16s}
.form input::placeholder{color:var(--dim2)}
.form input:focus{outline:none;border-color:var(--lime);background:rgba(216,255,62,.05)}
.form button{background:var(--lime);color:#0A0A0A;border:0;padding:14px 22px;font-size:13px;font-weight:900;
  font-family:inherit;cursor:pointer;transition:transform .16s;border-radius:2px}
.form button:hover{transform:translateY(-1px)}
.form .hint{font-size:9.5px;color:var(--dim2);margin-top:9px;line-height:1.6}
.form .err{display:none;color:#FF7A5C;font-size:10px;margin-top:8px}
.form.bad .err{display:block}

/* ---------- 三步骤 ---------- */
.steps3{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:22px}
@media(min-width:760px){.steps3{grid-template-columns:repeat(3,1fr)}}
.steps3 .s{background:var(--bg);padding:20px 16px}
.steps3 .no{font-size:9px;letter-spacing:.2em;color:var(--lime)}
.steps3 .h{font-size:15px;font-weight:900;margin-top:8px;letter-spacing:-.01em}
.steps3 .p{font-size:11.5px;line-height:1.7;color:var(--dim);margin-top:7px}

/* ---------- 城市大卡 ---------- */
.citybig{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:20px}
@media(min-width:560px){.citybig{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.citybig{grid-template-columns:repeat(4,1fr)}}
.citybig a{position:relative;aspect-ratio:16/9;overflow:hidden;display:block;background:#111}
@media(min-width:560px){.citybig a{aspect-ratio:1/1}}
@media(min-width:900px){.citybig a{aspect-ratio:1/1.16}}
.citybig img{width:100%;height:100%;object-fit:cover;
  filter:saturate(.78) brightness(.66);
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s}
.citybig a:hover img{transform:scale(1.06);filter:saturate(1) brightness(.82)}
.citybig .ov{position:absolute;inset:0;padding:13px;display:flex;flex-direction:column;
  justify-content:space-between;
  background:linear-gradient(180deg,rgba(10,10,10,.10) 0%,rgba(10,10,10,.30) 45%,rgba(10,10,10,.63) 100%)}
.citybig .num{font-family:"Arial Black",Impact,sans-serif;font-size:26px;line-height:1;
  color:#fff;letter-spacing:-.03em}
.citybig .num small{font-family:inherit;font-size:9px;letter-spacing:.1em;color:rgba(255,255,255,.62);
  margin-left:5px;font-weight:400}
.citybig .bot{display:block}
.citybig .t{font-size:16px;font-weight:900;letter-spacing:-.01em;line-height:1.2}
.citybig .en{font-size:8.5px;letter-spacing:.14em;color:var(--lime);margin-top:4px}
@media(min-width:900px){
  .citybig .ov{padding:12px}
  .citybig .t{font-size:15px}
  .citybig .num{font-size:23px}
}

/* ---------- 资讯卡 ---------- */
.posts{border-top:1px solid var(--line2);margin-top:8px}
.post{display:grid;grid-template-columns:1fr;gap:6px;padding:16px 0;border-bottom:1px solid var(--line);
  transition:background .16s,padding-left .16s}
.post:hover{background:rgba(216,255,62,.04);padding-left:6px}
.post .dt{font-size:9.5px;letter-spacing:.14em;color:var(--lime);font-weight:800}
.post .t{font-size:14px;font-weight:800;line-height:1.4;letter-spacing:-.01em}
.post .s{font-size:11.5px;line-height:1.7;color:var(--dim)}
@media(min-width:760px){.post{grid-template-columns:88px 1fr;gap:16px}.post .t{font-size:15px}}

/* ---------- 提示块 ---------- */
.tip{border-left:2px solid var(--lime);padding:2px 0 2px 13px;margin:18px 0 40px}
.tip p{font-size:12px;line-height:1.85;color:rgba(255,255,255,.58)}
.tip p+p{margin-top:6px}

/* ---------- 页内锚点导航 ---------- */
.anchors{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:10px;letter-spacing:.1em}
.anchors a{color:var(--dim);border-bottom:1px solid var(--line)}
.anchors a:hover{color:var(--lime)}

/* ---------- 404 ---------- */
.nf{min-height:86vh;display:flex;flex-direction:column;justify-content:center;padding:120px var(--pad) 60px;
  position:relative;overflow:hidden}
.nf .big{font-family:"Arial Black",Impact,sans-serif;font-size:clamp(90px,26vw,220px);line-height:.8;
  letter-spacing:-.06em;color:var(--lime);text-shadow:0 0 80px rgba(216,255,62,.2)}
.nf h1{font-size:clamp(22px,5.6vw,38px);font-weight:900;margin-top:10px;letter-spacing:-.03em}
.nf p{font-size:12.5px;color:var(--dim);margin-top:10px;max-width:26em;line-height:1.7}
.nf .lk{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.nf .lk a{border:1px solid var(--line2);padding:11px 16px;font-size:11.5px;letter-spacing:.04em}
.nf .lk a:hover{border-color:var(--lime);color:var(--lime)}

/* 页面转场 */
main,.phead,.nf{animation:pageIn .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes pageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){main,.phead,.nf{animation:none}.phead .bg img{animation:none}}

/* ---------- luma 式分组列表 ---------- */
.grp{margin-top:26px}
.grp-h{display:flex;align-items:baseline;gap:9px;padding-bottom:9px;border-bottom:1px solid var(--line2);margin-bottom:2px}
.grp-h .dt{font-size:12px;font-weight:900;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.grp-h .dy{font-size:9px;letter-spacing:.14em;color:var(--lime);padding:2px 6px;border:1px solid rgba(216,255,62,.35)}
.grp-h .wk{font-size:9px;letter-spacing:.14em;color:var(--dim2)}
.grp-h .n{margin-left:auto;font-size:9px;letter-spacing:.14em;color:var(--dim2)}

.ec{display:grid;grid-template-columns:58px 1fr auto;gap:13px;align-items:center;
  padding:13px 0;border-bottom:1px solid var(--line);transition:background .16s,padding-left .16s;
  opacity:0;transform:translateY(9px);clip-path:inset(0 0 100% 0)}
.ec.in{
  clip-path:inset(-10% 0 -10% 0);
  opacity:1;transform:none;
  transition:clip-path 1.14s cubic-bezier(.16,1,.3,1),
             opacity .79s ease,
             transform 1.14s cubic-bezier(.16,1,.3,1),
             background .16s;
}
.ec:hover{background:rgba(216,255,62,.045);padding-left:5px}
.ec .th{width:58px;height:58px;background:#141414;overflow:hidden;position:relative;
  border:1px solid rgba(255,255,255,.07)}
.ec .th img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.92);
  transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.ec:hover .th img{transform:scale(1.08)}
.ec .th.empty{background:linear-gradient(135deg,#1B1B1B,#0E0E0E)}
.ec .th.empty::after{content:"WQ";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:11px;letter-spacing:.14em;font-weight:800;color:rgba(216,255,62,.5)}
.ec .info{min-width:0}
.ec .tt{font-size:13.5px;font-weight:700;line-height:1.4;letter-spacing:-.01em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ec .by{font-size:10px;color:var(--dim2);margin-top:5px;display:flex;gap:7px;flex-wrap:wrap;line-height:1.5}
.ec .by i{font-style:normal;color:var(--dim)}
.ec .by .k{color:var(--lime);opacity:.9}
.ec .st{font-size:9px;letter-spacing:.1em;color:var(--dim2);white-space:nowrap;text-align:right;line-height:1.5}
.ec .st.on{color:var(--lime)}
.ec .st.warn{color:#FFB020}
.ec.past .tt{color:rgba(255,255,255,.45)}
.ec.past .th img{filter:grayscale(.6) brightness(.6)}
@media(min-width:820px){
  .ec{grid-template-columns:76px 1fr 110px;gap:16px;padding:15px 0}
  .ec .th{width:76px;height:76px}
  .ec .tt{font-size:15px}
}
/* 详情页封面头 */
.dhead{display:flex;gap:16px;align-items:flex-start;margin-top:16px}
.dhead .th{width:84px;height:84px;flex:0 0 auto;background:#141414;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.dhead .th img{width:100%;height:100%;object-fit:cover}
@media(min-width:820px){.dhead .th{width:108px;height:108px}}


/* ---------- 首页清单缩略图 ---------- */
#list .ev{grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:start}
#list .ev .th{width:46px;height:46px;background:#141414;overflow:hidden;position:relative;
  border:1px solid rgba(255,255,255,.07);margin-top:1px}
#list .ev .th img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.95);
  transition:transform .5s cubic-bezier(.2,.7,.2,1)}
#list .ev:hover .th img{transform:scale(1.08)}
#list .ev .th.empty{background:linear-gradient(135deg,#1B1B1B,#0E0E0E)}
#list .ev .th.empty::after{content:"WQ";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:10px;letter-spacing:.12em;font-weight:800;color:rgba(216,255,62,.5)}
#list .ev .idx{display:none}

/* ---------- 详情页：移动单栏 / PC 双栏 ---------- */
.dp{max-width:760px;margin:0 auto;padding:68px var(--pad) 30px}
@media(min-width:820px){
  .dp{max-width:1160px;display:grid;grid-template-columns:minmax(0,1fr) 332px;
    gap:56px;align-items:start;padding:92px var(--pad) 60px}
}

/* 海报：移动端自适应满宽，PC 限宽 */
.dp-cover{margin:0;position:relative}
.dp-cover img{width:100%;height:auto;display:block;
  border:1px solid rgba(255,255,255,.1);background:#0D0D0D}
.dp-cover.empty{aspect-ratio:16/9;background:#0D0D0D;border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center}
.dp-cover.empty::after{content:"WQAI.LTD";font-size:11px;letter-spacing:.2em;color:rgba(216,255,62,.45)}
@media(min-width:820px){
  .dp-cover img{max-height:560px;object-fit:contain;object-position:left top}
}

.dp h1{font-size:clamp(22px,5.4vw,40px);font-weight:900;line-height:1.16;letter-spacing:-.035em;
  margin-top:20px;text-wrap:balance}
.dp-org{display:flex;align-items:flex-start;gap:9px;margin-top:12px;font-size:11.5px;
  color:rgba(255,255,255,.6);line-height:1.6}
.dp-org .av{width:24px;height:24px;border-radius:50%;flex:0 0 auto;margin-top:1px;
  background:linear-gradient(135deg,#243244,#3A2C1E);border:1px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:var(--lime)}
.dp-org b{color:#fff;font-weight:700}

/* 卡片组 */
.dp-cards{display:grid;gap:1px;background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.09);margin-top:18px}
.dcard{display:flex;gap:12px;align-items:flex-start;background:#101010;padding:13px;
  transition:background .16s}
a.dcard:hover{background:#161a10}
.dcard .ic{width:32px;height:32px;flex:0 0 auto;border:1px solid var(--line2);
  display:flex;align-items:center;justify-content:center;color:var(--lime)}
.dcard .tx{flex:1;min-width:0}
.dcard b{display:block;font-size:13px;font-weight:800;letter-spacing:-.01em;line-height:1.4;
  word-break:break-word}
.dcard span{display:block;font-size:10.5px;color:var(--dim);margin-top:5px;line-height:1.55;
  word-break:break-word}
.dcard em{margin-left:auto;font-style:normal;font-size:12px;color:var(--lime);opacity:.85;flex:0 0 auto}
.dcard .maplink{display:inline-block;margin-top:8px;font-size:9.5px;letter-spacing:.1em;color:var(--lime);
  border-bottom:1px solid rgba(216,255,62,.4);padding-bottom:1px}

/* 报名块（移动在页面内，PC 在侧栏） */
.regbox{margin-top:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);padding:15px}
.regbox .h{font-size:9.5px;letter-spacing:.2em;color:var(--lime);font-weight:800}
.regbox p{font-size:11.5px;line-height:1.75;color:rgba(255,255,255,.58);margin-top:8px}
.regbox .go{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--lime);
  color:#0A0A0A;padding:14px;margin-top:13px;font-size:13px;font-weight:900;letter-spacing:.02em;
  transition:transform .16s}
.regbox .go:hover{transform:translateY(-1px)}
.regbox .alt{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line2);
  color:#fff;padding:12px;margin-top:8px;font-size:11.5px}
.regbox .alt:hover{border-color:var(--lime);color:var(--lime)}

/* 移动端：卡片放在正文里；侧栏隐藏 */
.m-only{display:block}
.dp-side{display:none}
@media(min-width:820px){
  .m-only{display:none}
  .dp-side{display:block;position:sticky;top:76px}
}

.dp h2{font-size:clamp(16px,4.2vw,22px);font-weight:900;letter-spacing:-.02em;margin-top:34px;
  padding-bottom:9px;border-bottom:1px solid var(--line2)}
.dp p.body{font-size:13px;line-height:1.85;color:rgba(255,255,255,.6);margin-top:11px}
.dp .kv2{display:grid;grid-template-columns:1fr;gap:0;margin-top:6px;border-top:1px solid var(--line2)}
@media(min-width:980px){.dp .kv2{grid-template-columns:1fr 1fr}}
.dp .kv2 .rr{display:flex;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);align-items:baseline}
.dp .kv2 dt{font-size:9px;letter-spacing:.14em;color:var(--dim2);flex:0 0 56px}
.dp .kv2 dd{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.9);flex:1;line-height:1.6}
.dp .same{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:12px}
@media(min-width:700px){.dp .same{grid-template-columns:repeat(3,1fr)}}
.dp .same a{background:#0D0D0D;padding:13px;display:block;transition:background .16s}
.dp .same a:hover{background:#15190f}
.dp .same .d{font-size:9px;letter-spacing:.14em;color:var(--lime);font-weight:800}
.dp .same .n{font-size:12.5px;font-weight:700;line-height:1.45;margin-top:7px}
.dp .same .c{font-size:10px;color:var(--dim2);margin-top:6px}
.dp .tipbox{border-left:2px solid var(--lime);padding:2px 0 2px 13px;margin-top:20px}
.dp .tipbox p{font-size:11.5px;line-height:1.8;color:rgba(255,255,255,.5)}
.dp .tipbox p+p{margin-top:6px}

/* 「活动信息」表格两端均隐藏（与顶部卡片重复） */
.dp .info-block{display:none}


/* ---------- 详情页顶部：返回 / 城市 / 类型 ---------- */
.dp-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.dp-bar .back,
.dp-bar .tg{
  display:inline-flex;align-items:center;justify-content:center;
  height:30px;line-height:1;box-sizing:border-box;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.74);
  transition:color .16s,border-color .16s,background .16s;
  white-space:nowrap;
}
.dp-bar .back{gap:5px;padding:0 12px 0 9px;font-size:11px;letter-spacing:.04em;cursor:pointer}
.dp-bar .back svg{display:block;flex:0 0 auto}
.dp-bar .tg{padding:0 11px;font-size:10px;letter-spacing:.1em}
.dp-bar .back:hover,
.dp-bar .tg:hover{color:var(--lime);border-color:rgba(216,255,62,.6);background:rgba(216,255,62,.07)}
.dp-bar .tg.city{color:var(--lime);border-color:rgba(216,255,62,.42);background:rgba(216,255,62,.05)}
.dp-bar .tg.city:hover{background:rgba(216,255,62,.12);border-color:var(--lime)}
.dp-bar .sp{width:1px;height:16px;background:rgba(255,255,255,.14);margin:0 2px;flex:0 0 auto}
@media(min-width:820px){.dp-bar{margin-bottom:16px}}

/* 主办方可点击 */
.dp-org a.org{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.25);
  transition:color .15s,border-color .15s}
.dp-org a.org:hover{color:var(--lime);border-color:var(--lime)}

/* 主题词条 */
.topic-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.topic-list span{font-size:11px;letter-spacing:.04em;padding:5px 9px;border:1px solid rgba(216,255,62,.28);
  color:rgba(255,255,255,.82);background:rgba(216,255,62,.05)}


/* ---------- 订阅页：说明图 + 清单 ---------- */
.shots{display:grid;grid-template-columns:1fr;gap:14px;margin-top:20px}
@media(min-width:760px){.shots{grid-template-columns:1fr 1fr;gap:20px}}
.shots img{width:100%;height:auto;display:block;
  border:1px solid rgba(255,255,255,.1);background:#0E0E0E;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s}
.shots img:hover{transform:translateY(-3px);border-color:rgba(216,255,62,.35)}

.what-list{list-style:none;margin-top:22px;border-top:1px solid var(--line2)}
.what-list li{position:relative;padding:15px 0 15px 24px;border-bottom:1px solid var(--line);
  font-size:13.5px;line-height:1.7;letter-spacing:.01em;color:rgba(255,255,255,.82);
  transition:color .16s}
.what-list li:hover{color:#fff}
.what-list li::before{content:"";position:absolute;left:0;top:22px;width:11px;height:2px;
  background:var(--lime)}
@media(min-width:760px){.what-list li{font-size:14px}}


/* ---------- 每日资讯详情 ---------- */
.nd{max-width:780px;margin:0 auto;padding:76px var(--pad) 30px}
.nd .nd-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.nd h1{font-size:clamp(23px,5.6vw,40px);font-weight:900;line-height:1.2;letter-spacing:-.035em;
  text-wrap:balance}
.nd .sum{font-size:13px;line-height:1.8;color:rgba(255,255,255,.62);margin-top:14px;max-width:40em}
.nd .mt{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;font-size:9.5px;letter-spacing:.14em;
  color:var(--dim2);border-top:1px solid var(--line2);padding-top:14px}
.nd .mt b{color:var(--lime);font-weight:800}

.nd-sec{margin-top:38px}
.nd-sec .hd{display:flex;align-items:baseline;gap:10px;padding-bottom:10px;
  border-bottom:1.5px solid rgba(255,255,255,.28)}
.nd-sec .hd span{font-size:10px;letter-spacing:.18em;color:var(--lime);font-weight:800}
.nd-sec .hd h2{font-size:clamp(17px,4.2vw,22px);font-weight:900;letter-spacing:-.02em}
.nd-sec .hd em{margin-left:auto;font-style:normal;font-size:9px;letter-spacing:.14em;color:var(--dim2)}

.nd-item{display:grid;grid-template-columns:24px 1fr;gap:11px;padding:17px 0;
  border-bottom:1px solid var(--line);transition:background .16s,padding-left .16s}
.nd-item:hover{background:rgba(216,255,62,.04);padding-left:5px}
.nd-item .n{font-size:9.5px;color:var(--dim2);padding-top:4px;font-variant-numeric:tabular-nums}
.nd-item h3{font-size:14px;font-weight:800;line-height:1.5;letter-spacing:-.01em;color:#fff}
.nd-item:hover h3{color:var(--lime)}
.nd-item p{font-size:12px;line-height:1.8;color:rgba(255,255,255,.6);margin-top:7px}
.nd-item .src{font-size:9px;letter-spacing:.1em;color:var(--dim2);margin-top:9px}
.nd-item .src::before{content:"— ";color:rgba(255,255,255,.3)}

.nd-nav{display:flex;justify-content:space-between;gap:12px;margin-top:44px;padding-top:20px;
  border-top:1px solid var(--line2)}
.nd-nav a{font-size:11.5px;letter-spacing:.04em;color:rgba(255,255,255,.7);
  border:1px solid var(--line2);padding:11px 14px;transition:all .16s;max-width:48%}
.nd-nav a:hover{color:var(--lime);border-color:rgba(216,255,62,.5)}
.nd-nav a span{display:block;font-size:9px;letter-spacing:.14em;color:var(--dim2);margin-top:4px}

/* ---------- 页脚：移动端只留品牌与版权，隐藏 SEO 链接矩阵 ---------- */
@media(max-width:819px){
  .f-seo{padding:30px 0 24px}
  .f-seo .f-grid{display:block}
  .f-seo .f-col:not(.f-brand){display:none}
  .f-seo .f-brand{grid-column:auto}
  .f-seo .f-brand .s{font-size:12.5px;line-height:1.95;max-width:none}
  .f-legal{margin-top:20px;padding-top:16px;flex-direction:column;gap:8px}
  .f-legal span{font-size:9.5px}
}


/* ---------- 日历：过期日划线（取消凹陷） ---------- */
.cal-d{display:flex;flex-direction:column;justify-content:space-between;padding:6px}
.cal-d .evs{position:static;display:flex;gap:2px;height:4px;align-items:flex-start}
.cal-d .n{position:static;align-self:flex-end;line-height:1}
.cal-d.past .evs i{background:rgba(216,255,62,.28)}
.cal-d.today .evs i{background:#0A0A0A}
/* 过期数字：加删除线 */
.cal-d.past .n{
  text-decoration:line-through;
  text-decoration-thickness:1.5px;
  text-decoration-color:rgba(255,255,255,.32)}
/* ---------- 页脚：移动端只留品牌与版权，隐藏 SEO 链接矩阵 ---------- */
@media(max-width:819px){
  .f-seo{padding:30px 0 24px}
  .f-seo .f-grid{display:block}
  .f-seo .f-col:not(.f-brand){display:none}
  .f-seo .f-brand{grid-column:auto}
  .f-seo .f-brand .s{font-size:12.5px;line-height:1.95;max-width:none}
  .f-legal{margin-top:20px;padding-top:16px;flex-direction:column;gap:8px}
  .f-legal span{font-size:9.5px}
}


/* ---------- 日历：过期凹陷灰格（flex 版，数字直接进流） ---------- */
.cal-d{display:flex;flex-direction:column;justify-content:space-between;padding:6px}
.cal-d .evs{position:static;display:flex;gap:2px;height:4px;align-items:flex-start}
.cal-d .n{position:static;align-self:flex-end;line-height:1}
.cal-d.past{
  background:linear-gradient(180deg,rgba(255,255,255,.012) 0%,rgba(255,255,255,.075) 100%);
  border-right-color:rgba(255,255,255,.045);
  border-bottom-color:rgba(255,255,255,.045);
  border-top:1px solid rgba(0,0,0,.5);
  border-left:1px solid rgba(0,0,0,.3)}
.cal-d.past .evs i{background:rgba(216,255,62,.35)}
.cal-d.past.has{background:linear-gradient(180deg,rgba(216,255,62,.04) 0%,rgba(255,255,255,.07) 100%)}
.cal-d.today .evs i{background:#0A0A0A}

/* ---------- 社区页：联系方式 ---------- */
.contact{display:flex;gap:18px;align-items:flex-start;margin-top:18px;padding:16px;
  border:1px solid var(--line2);background:rgba(255,255,255,.025);flex-wrap:wrap}
.contact .qr{flex:0 0 auto;text-align:center}
.contact .qr img{width:120px;height:120px;object-fit:contain;background:#fff;padding:5px;border-radius:2px}
.contact .qr .cap{font-size:9.5px;letter-spacing:.08em;color:var(--dim2);margin-top:8px}
.contact .info{flex:1 1 220px;min-width:0}
.contact .row{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line)}
.contact .row:last-child{border-bottom:0}
.contact .row span:first-child{flex:0 0 92px;font-size:10px;letter-spacing:.1em;color:var(--dim2)}
.contact .row b{font-size:14px;font-weight:800;color:#fff}
.contact .row a{font-size:14px;font-weight:700;color:var(--lime);border-bottom:1px solid rgba(216,255,62,.4);
  word-break:break-all;transition:opacity .16s}
.contact .row a:hover{opacity:.75}
.contact .row .dim{font-size:11px;line-height:1.7;color:rgba(255,255,255,.55)}


/* ---------- 首页城市区：克制版 4 列 ---------- */
.cities{grid-template-columns:repeat(2,1fr)!important;border:1px solid rgba(255,255,255,.08)!important}
@media(min-width:600px){.cities{grid-template-columns:repeat(4,1fr)!important}}
.cities .city{aspect-ratio:1/1!important}
.cities .city img{filter:saturate(.95) brightness(.95)!important}
.cities .city:hover img{transform:scale(1.04)!important;filter:saturate(1.05) brightness(1.02)!important}
.cities .city .ov{padding:11px!important;background:none!important}
.cities .city .nm{font-size:14px!important;font-weight:900!important;
  text-shadow:0 0 1px rgba(0,0,0,1),0 1px 3px rgba(0,0,0,1),0 2px 10px rgba(0,0,0,.95),0 0 22px rgba(0,0,0,.75)!important}
.cities .city .cn{font-size:8px!important;letter-spacing:.12em!important;margin-top:3px!important;
  color:var(--lime)!important;text-shadow:0 0 1px rgba(0,0,0,1),0 1px 3px rgba(0,0,0,1),0 2px 9px rgba(0,0,0,.95),0 0 18px rgba(0,0,0,.7)!important}
.cities .city .ct{font-size:8.5px!important;margin-top:4px!important;color:#fff!important;opacity:.92!important;
  text-shadow:0 0 1px rgba(0,0,0,1),0 1px 3px rgba(0,0,0,1),0 2px 9px rgba(0,0,0,.95),0 0 18px rgba(0,0,0,.7)!important}
@media(min-width:900px){
  .cities .city{aspect-ratio:1/1.06!important}
}


/* 社区页：两个二维码统一 120px */
.community-lg img{width:120px!important;height:120px!important;padding:5px!important}
.community-lg{align-items:flex-start!important}
/* 邮箱不拆词 */
.contact .row a{flex:1;min-width:0;font-size:13px;white-space:nowrap;word-break:normal}

/* 日历：场数标识 */
.cal-d .bot{display:flex;align-items:baseline;justify-content:space-between;gap:5px;line-height:1}
.cal-d .ct{font-size:8px;font-weight:800;letter-spacing:.01em;color:var(--lime);opacity:.9;white-space:nowrap}
.cal-d.past .ct{color:rgba(216,255,62,.55)}
.cal-d.today .ct{color:#0A0A0A}

/* 月历说明：不断行，第二句独占一行 */
.sec-lead-wide{max-width:none!important}
.cal-tease{display:block;margin:18px 0 0;padding:12px 14px;color:var(--lime);font-weight:800;
  font-size:13.5px;letter-spacing:.01em;line-height:1.6;
  border-left:2px solid var(--lime);background:rgba(216,255,62,.05)}

/* 首页清单：查看全部按钮 */
.list-more{display:flex;justify-content:center;margin-top:28px}
.list-more a{display:inline-flex;align-items:center;gap:10px;padding:11px 24px;
  border:1px solid var(--lime);color:#0A0A0A;background:var(--lime);
  font-size:12.5px;font-weight:900;letter-spacing:.05em;transition:all .18s}
.list-more a b{font-weight:700;transition:transform .18s}
.list-more a:hover{background:#C4EC32;border-color:#C4EC32;transform:translateY(-1px)}
.list-more a:hover b{transform:translateX(3px)}

/* ---------- 动效增强：进度条 / 光晕 / 倾斜 ---------- */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:220;pointer-events:none;overflow:hidden}
.scroll-progress i{display:block;height:100%;width:0;background:var(--lime);
  box-shadow:0 0 10px rgba(216,255,62,.55);transition:width .08s linear}


/* 卡片轻微倾斜（桌面） */
@media(hover:hover) and (min-width:900px){
  .tilt{transform-style:preserve-3d;transition:transform .35s cubic-bezier(.16,1,.3,1)}
}

/* ---------- 板块标题：折叠揭示入场 ---------- */
.js .sec-h h2{
  clip-path:inset(-18% 100% -14% -2%);
  transform:translateX(-10px);
  transition:clip-path 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);
  will-change:clip-path,transform;
}
.js .sec-h.in h2{clip-path:inset(-18% -2% -14% -2%);transform:none}
.js .sec-h .no{
  opacity:0;transform:translateX(10px);
  transition:opacity .84s ease .31s,transform .84s cubic-bezier(.16,1,.3,1) .31s;
}
.js .sec-h.in .no{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .sec-h h2{clip-path:none;transform:none;transition:none}
  .sec-h .no{opacity:1;transform:none;transition:none}
}

/* 本周清单：每条活动折叠展开 */
.js #list .ev{
  clip-path:inset(0 0 100% 0);
  opacity:0;
  transform:translateY(9px);
  transition:clip-path 1.14s cubic-bezier(.16,1,.3,1),
             opacity .79s ease,
             transform 1.14s cubic-bezier(.16,1,.3,1);
  will-change:clip-path,opacity,transform;
}
.js #list .ev.in{clip-path:inset(-10% 0 -10% 0);opacity:1;transform:none}
.no-anim #list .ev{clip-path:none!important;opacity:1!important;transform:none!important}
.no-anim .sec-h h2{clip-path:none!important;transform:none!important}
.no-anim .sec-h .no{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){
  .js #list .ev{clip-path:none;opacity:1;transform:none;transition:none}
}

/* ---------- 首屏文字入场（数字滚动保持不变） ---------- */
@keyframes heroRise{
  from{opacity:0;transform:translateY(20px);filter:blur(5px)}
  to{opacity:1;transform:none;filter:none}
}
.js .hero-in .kicker{animation:heroRise 1.04s cubic-bezier(.16,1,.3,1) .04s both}
.js .hero-in .bignum .u{animation:heroRise 1.04s cubic-bezier(.16,1,.3,1) .26s both}
.js .hero-in h1.h1{animation:heroRise 1.17s cubic-bezier(.16,1,.3,1) .42s both}
.js .hero-in .sub{animation:heroRise 1.04s cubic-bezier(.16,1,.3,1) .7s both}
.js .hero-in .cta{animation:heroRise 1.04s cubic-bezier(.16,1,.3,1) .92s both}
.no-anim .hero-in .kicker,.no-anim .hero-in .bignum .u,.no-anim .hero-in h1.h1,
.no-anim .hero-in .sub,.no-anim .hero-in .cta{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
@media(prefers-reduced-motion:reduce){
  .js .hero-in .kicker,.js .hero-in .bignum .u,.js .hero-in h1.h1,
  .js .hero-in .sub,.js .hero-in .cta{animation:none;opacity:1;transform:none;filter:none}
}

/* ---------- 底部订阅区：加载即播（不依赖滚动监听，避免底部元素被漏判） ---------- */
.js .sub-sec h3.rv,
.js .sub-sec .sp-lead.rv,
.js .sub-sec .mail.rv,
.js .sub-sec .community.rv{
  opacity:1;filter:none;transform:none;
  animation:heroRise 1.05s cubic-bezier(.16,1,.3,1) both;
}
.js .sub-sec h3.rv{animation-delay:.06s}
.js .sub-sec .sp-lead.rv{animation-delay:.22s}
.js .sub-sec .mail.rv{animation-delay:.38s}
.js .sub-sec .community.rv{animation-delay:.52s}
.no-anim .sub-sec h3.rv,
.no-anim .sub-sec .sp-lead.rv,
.no-anim .sub-sec .mail.rv,
.no-anim .sub-sec .community.rv{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
@media(prefers-reduced-motion:reduce){
  .js .sub-sec h3.rv,.js .sub-sec .sp-lead.rv,.js .sub-sec .mail.rv,.js .sub-sec .community.rv{
    animation:none;opacity:1;transform:none;filter:none}
}
/* ===== SITE-EXT END ===== */


/* ---------- 上线适配：资源路径前缀 ---------- */
:root{--cbase:"assets/c/"}

/* ---------- 导航：直播状态 / 搜索 ---------- */
.nav .rt{display:flex;align-items:center;gap:10px}
.nav .rt-txt{font-size:11.5px;letter-spacing:.1em;color:rgba(255,255,255,.62)}
@media(max-width:819px){.nav .rt-txt{display:none}}

.nav .live{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.06em;
  color:var(--lime);border:1px solid rgba(216,255,62,.4);padding:4px 9px;transition:.16s}
.nav .live[hidden]{display:none}
.nav .live i{width:5px;height:5px;border-radius:50%;background:var(--lime);
  box-shadow:0 0 8px var(--lime);animation:pulse 2s ease-in-out infinite}
.nav .live b{font-weight:900}
.nav .live:hover{background:rgba(216,255,62,.1)}

.nav .icbtn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--line2);
  color:rgba(255,255,255,.72);padding:6px 10px;cursor:pointer;font-size:11.5px;letter-spacing:.08em;
  font-family:inherit;transition:.16s}
.nav .icbtn span{display:none}
@media(min-width:900px){.nav .icbtn span{display:inline}}
.nav .icbtn:hover{color:var(--lime);border-color:rgba(216,255,62,.5)}

/* 搜索面板 */
.search-panel{position:fixed;top:0;left:0;right:0;z-index:80;background:rgba(8,8,8,.97);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line2);padding:16px var(--pad) 20px;
  transform:translateY(-100%);transition:transform .34s cubic-bezier(.16,1,.3,1)}
.search-panel.open{transform:none}
.search-panel[hidden]{display:none}
.sp-in{display:flex;gap:10px;align-items:center;max-width:1180px;margin:0 auto;
  border-bottom:1px solid var(--line2);padding-bottom:10px}
.sp-in input{flex:1;background:none;border:0;color:#fff;font-size:17px;font-family:inherit;outline:none}
.sp-in input::placeholder{color:rgba(255,255,255,.32)}
.sp-close{background:none;border:1px solid var(--line2);color:rgba(255,255,255,.5);
  font-size:9.5px;letter-spacing:.14em;padding:5px 9px;cursor:pointer;font-family:inherit}
.sp-close:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.sp-res{max-width:1180px;margin:12px auto 0;max-height:52vh;overflow:auto}
.sp-res a{display:flex;gap:10px;align-items:baseline;padding:10px 2px;border-bottom:1px solid var(--line)}
.sp-res a:hover{background:rgba(216,255,62,.05)}
.sp-res .k{font-size:9px;letter-spacing:.1em;color:var(--lime);flex:0 0 34px}
.sp-res .t{font-size:13.5px;font-weight:700;color:#fff;flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-res .m{font-size:10.5px;color:var(--dim2);flex:0 0 auto}
.sp-res .empty{font-size:12px;color:var(--dim2);padding:14px 2px}

/* 导航右侧：桌面只留「今日场次 + 搜索」，不被菜单挤掉 */
.nav .rt{display:flex!important;align-items:center;gap:8px;flex-shrink:0}
.nav .menu{margin-left:auto;margin-right:6px}
.nav .rt-txt{display:none}
@media(min-width:1100px){.nav .rt-txt{display:inline}}
@media(max-width:819px){.nav .rt{gap:6px}.nav .icbtn{padding:6px 8px}}
.nav .icbtn span{display:none}
@media(min-width:1080px){.nav .icbtn span{display:inline}}
