:root { --rally-width:360px; }
.hero-meta > .btn-primary { width:var(--rally-width); min-width:0; max-width:100%; }
.floating-cta { width:var(--rally-width); max-width:calc(100vw - 32px); min-height:90px; padding:18px 30px; display:grid; grid-template-columns:70px minmax(0,1fr) 70px; grid-template-rows:auto auto; row-gap:6px; align-items:center; }
.floating-cta .points-display { grid-column:1; padding-right:8px; line-height:1.25; }
.floating-cta .cta-btn { grid-column:2; padding:12px 0; text-align:center; font-family:'Noto Serif SC',serif; font-size:18px; line-height:1.4; letter-spacing:2px; white-space:nowrap; justify-self:stretch; }
.floating-cta .points-display .num { font-size:24px; }
.floating-cta .points-display .label { font-size:11px; line-height:1.5; }
.card,.legion-grid > .card:first-child,.legion-grid > .card:last-child,.qual-paths > .qual-path:first-child,.qual-paths > .qual-path:nth-child(2),.qual-paths > .qual-path:last-child {
 border:1px solid transparent; border-radius:16px;
 background:linear-gradient(125deg,rgba(23,43,63,.95),rgba(13,24,42,.95) 60%,rgba(27,39,61,.95)) padding-box,linear-gradient(135deg,#ceeefa 0%,#79b2ca 24%,#38576e 50%,#7faeca 77%,#c5eafa 100%) border-box;
 box-shadow:0 0 8px #9cdeff24,0 0 24px #6cbfff12,inset 0 1px 0 #d5f5ff0a;
}
.card::before { left:16px; right:16px; opacity:.5; }
.activity-video-region { position:relative; isolation:isolate; }
.activity-video-backdrop { display:none; pointer-events:none; }
.activity-video-region > .section { position:relative; z-index:1; }
@media(min-width:820px) and (orientation:landscape) {
 .activity-video-region { clip-path:inset(0); }
 .activity-video-backdrop { display:block; position:fixed; inset:0; z-index:0; background:#080d1b; }
 .activity-video-backdrop video { width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transition:opacity .6s; }
 .activity-video-backdrop.is-playing video { opacity:1; }
 .activity-video-backdrop::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#040c1855,#040b1866),linear-gradient(90deg,#040b1833,transparent 35%,transparent 65%,#040b1833); }
 .activity-video-region .section { background:transparent!important; }
}
@media(max-width:819px) {
 :root { --rally-width:280px; }
 .floating-cta { min-height:86px; padding:16px 22px; grid-template-columns:52px minmax(0,1fr) 52px; }
 .floating-cta .cta-btn { font-size:16px; letter-spacing:1px; }
 .floating-cta .points-display .num { font-size:20px; }
 .floating-cta .points-display .label { font-size:10px; white-space:nowrap; }
 .action-btn.invite,.action-btn.create,.action-btn.reward { border-width:10px; min-height:72px; }
 .hero-date { letter-spacing:0; gap:5px; flex-wrap:wrap; }
 .hero-title-en { letter-spacing:2px; }
 .tier-item { gap:8px; flex-wrap:wrap; }
 .tier-info { flex:1; min-width:120px; }
 .task-item { flex-wrap:wrap; }
 .task-body { min-width:100px; }
}
@media(max-width:819px) {
 .site-logo { left:auto; right:12px; transform:none; }
 .site-logo img { width:144px; }
}

/* 活动参与说明 */
.participation-note { font-size:16px; line-height:1.9; color:#b9cddd; }
.squad-note-wide { max-width:none; }
@media(min-width:820px) { .legion-grid > .ranking-card { margin-top:0; } }
@media(max-width:819px) { .participation-note { font-size:15px; line-height:1.85; } }
.reservation-remaining { display:flex; align-items:baseline; justify-content:center; gap:12px; margin:0 auto 30px; color:#d9efff; font-family:'Noto Serif SC',serif; font-size:18px; letter-spacing:2px; text-shadow:0 2px 5px #051020,0 0 12px #93cfff66; }
.reservation-remaining strong { font-family:Georgia,'Times New Roman',serif; font-size:52px; font-weight:700; line-height:1.1; letter-spacing:3px; color:#e7faff; font-variant-numeric:tabular-nums; text-shadow:0 0 16px #7bcfff88,0 2px 5px #06152a; }
@media(max-width:819px) { .reservation-remaining { font-size:14px; gap:8px; letter-spacing:1px; margin-bottom:20px; } .reservation-remaining strong { font-size:38px; letter-spacing:2px; } }
.floating-remaining { grid-column:1 / -1; grid-row:2; justify-self:center; white-space:nowrap; font-size:11px; line-height:1.4; letter-spacing:0; color:#c5e4f5; text-shadow:0 1px 4px #061425; }
@media(max-width:819px) { .floating-remaining { font-size:10px; } }
.qr-card { border-radius:16px 0 16px 0; }
/* 0910 新版标题素材：补偿两侧透明留白，保持完整装饰与文字比例。 */
.hero { min-height:1100px; }
.hero-title-group { margin:24px 0; }
.hero-title-group::before { width:min(100%,900px); height:110px; background-size:100% auto; margin-bottom:10px; }
.hero-subtitle { margin-bottom:0; }
.hero-title.art-title { width:min(100%,840px); height:440px; background-size:196% auto; margin:0 auto; }
.hero-title-en { margin-top:8px; }
.section-eyebrow { padding-top:84px; margin-bottom:0; }
.section-eyebrow::before { width:min(90%,500px); height:80px; background-size:100% auto; }
.section-title.art-title { width:min(100%,480px); height:320px; background-size:200% auto; margin:0 auto; }
.section-desc { margin-top:4px; }
.section-header { margin-bottom:36px; }
.faction-split { height:32px; background-size:270px auto; }
.vote-ornament { width:320px; height:44px; }
@media(max-width:819px) {
 .hero { min-height:900px; }
 .hero-title-group { margin:20px 0; }
 .hero-title-group::before { width:100%; height:68px; margin-bottom:6px; }
 .hero-title.art-title { width:100%; height:clamp(185px,60vw,270px); background-size:196% auto; }
 .hero-title-en { margin-top:6px; }
 .section-eyebrow { padding-top:58px; }
 .section-eyebrow::before { width:100%; max-width:390px; height:56px; }
 .section-title.art-title { width:100%; max-width:360px; height:clamp(185px,64vw,240px); background-size:190% auto; }
 .section-header { margin-bottom:26px; }
}
/* 当前阵营标识：纯展示，不作为按钮。 */
.hero-faction-tag { cursor:default; }
.hero-faction-tag::before { content:''; display:inline-block; width:13px; height:17px; flex-shrink:0; background:linear-gradient(135deg,#fff 10%,#d5f5ff 45%,#6fcfff); clip-path:polygon(50% 0,62% 37%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 37%); }
/* 手机端标题适度缩小，桌面保持现有比例。 */
@media(max-width:819px) {
 .hero-title.art-title { background-size:166.6% auto; height:clamp(158px,51vw,230px); }
 .section-title.art-title { background-size:161.5% auto; height:clamp(158px,54.4vw,204px); }
}
/* 收紧手机端分区标题下方的透明留白。 */
@media(max-width:819px) {
 .section-title.art-title { margin-bottom:-24px; }
}
/* 手机端 PART 编号与分区标题之间微调。 */
@media(max-width:819px) {
 .section-title.art-title { margin-top:-12px; }
}
