/* YZBJFPV 前台官网 · 干净浅色航模穿越机赛事 UI */
:root {
  --bg: #f6f8fb;
  --paper: #ffffff;
  --paper-soft: #f9fbfd;
  --ink: #17202e;
  --muted: #667085;
  --subtle: #98a2b3;
  --line: #e4e9f0;
  --line-strong: #ccd6e2;
  --brand: #1f5f8b;
  --brand-dark: #164766;
  --accent: #c9281f;
  --gold: #c89737;
  --green: #16835d;
  --shadow: 0 18px 44px rgba(23, 32, 46, 0.08);
  --shadow-sm: 0 10px 28px rgba(23, 32, 46, 0.06);
  --radius: 18px;
  --radius-sm: 12px;
  --header-h: 72px;
  --max-w: 1180px;
  --font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  --mono: "SF Mono", "JetBrains Mono", Consolas, monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  min-width: 320px;
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 4%, rgba(31, 95, 139, 0.09), transparent 28%),
    radial-gradient(circle at 88% 0%, rgba(201, 40, 31, 0.08), transparent 30%),
    linear-gradient(180deg, #fbfdff 0%, var(--bg) 42%, #eef3f8 100%);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; cursor: pointer; }
img { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
input, textarea, select { font: inherit; color: inherit; }

.container { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; }
.main { min-height: 68vh; }

/* 柔和页面切换：仅 active 页面占位，避免页面乱叠 */
.page {
  display: none;
  opacity: 0;
  transform: translateY(10px);
}
.page.active {
  display: block;
  animation: pageIn 0.28s ease both;
}
.page.entering { opacity: 1; transform: translateY(0); }
@keyframes pageIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 顶部导航 */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(228, 233, 240, 0.9);
  box-shadow: 0 10px 30px rgba(23, 32, 46, 0.05);
}
.header-inner {
  max-width: var(--max-w);
  height: var(--header-h);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.brand { display: flex; align-items: center; gap: 10px; cursor: pointer; flex: 0 0 auto; }
.brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffffff 0%, #edf5fa 100%);
  border: 2px solid var(--ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 -4px 10px rgba(31, 95, 139, 0.08);
}
.brand-mark::after { content: "Y"; color: var(--ink); font-weight: 950; font-size: 15px; letter-spacing: -0.04em; }
.brand-logo-image { display:block; width:112px; height:42px; object-fit:contain; object-position:left center; }
.brand-name { font-size: 17px; font-weight: 950; letter-spacing: 0.06em; color: var(--ink); }
.primary-nav { display: flex; align-items: center; gap: 6px; flex: 1; margin-left: 24px; }
.nav-item {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.nav-item:hover { color: var(--brand); background: #f3f8fb; border-color: #d7e6ef; }
.nav-item.active { color: var(--accent); background: #fff7f5; border-color: #f1d2ce; }
.nav-item.active::after { display: none; }
.nav-xzs { color: var(--brand); background: #edf7fc; border-color: #d7eaf4; }
.header-right { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.menu-toggle {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
}
.user-chip, .btn-login-top {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

/* 通用按钮 */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 42px;
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--accent); color: #fff; box-shadow: 0 12px 26px rgba(201, 40, 31, 0.18); }
.btn-primary:hover { background: #b32119; box-shadow: 0 16px 34px rgba(201, 40, 31, 0.24); }
.btn-ghost { background: var(--paper); color: var(--ink); border-color: var(--line); }
.btn-ghost:hover { color: var(--brand); border-color: #b9d4e5; box-shadow: var(--shadow-sm); }
.btn-community { background: var(--brand); color: #fff; border-color: var(--brand); box-shadow: 0 12px 24px rgba(31, 95, 139, 0.16); }
.btn-community:hover { background: var(--brand-dark); }
.btn-danger { color: var(--accent); background: #fff7f5; border-color: #f1d2ce; }
.btn-sm { min-height: 34px; padding: 6px 13px; font-size: 13px; }
.btn-block { width: 100%; }

/* 首页 Hero */
.hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(118deg, rgba(255,255,255,0.96) 0%, rgba(247,250,253,0.94) 58%, rgba(232,243,249,0.96) 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(31, 95, 139, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 95, 139, 0.045) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(180deg, black 0%, transparent 86%);
  pointer-events: none;
}
.hero-inner {
  position: relative;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 86px 24px 70px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 48px;
  align-items: center;
}
.hero-kicker { color: var(--brand); font: 900 12px/1.2 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 12px; }
.hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  margin-bottom: 18px;
  border: 1px solid #f1d2ce;
  border-radius: 999px;
  background: #fff7f5;
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
}
.hero-tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.hero-title {
  max-width: 780px;
  color: var(--ink);
  font-size: clamp(42px, 6.5vw, 78px);
  font-weight: 950;
  line-height: 1.02;
  letter-spacing: -0.065em;
  margin-bottom: 20px;
  text-wrap: balance;
}
.accent-word { color: var(--accent); }
.hero-sub { max-width: 660px; color: #4d5968; font-size: 17px; line-height: 1.9; margin-bottom: 28px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 30px; }
.hero-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; max-width: 640px; }
.fact { padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,0.82); box-shadow: var(--shadow-sm); }
.fact dt { color: var(--subtle); font: 900 11px/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.fact dd { margin-top: 8px; color: var(--ink); font: 950 24px/1 var(--mono); }
.hero-visual { position: relative; }
.yzbjfpv-home-carousel{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#151c29,#2b1111);box-shadow:var(--shadow);align-self:center}.yzbjfpv-home-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease,transform 5s ease;transform:scale(1.04);display:block}.yzbjfpv-home-slide.active{opacity:1;transform:scale(1)}.yzbjfpv-home-slide img{width:100%;height:100%;display:block;object-fit:cover}.yzbjfpv-home-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.62))}.yzbjfpv-home-info{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.35)}.yzbjfpv-home-info b{display:block;font-size:18px;font-weight:950;letter-spacing:-.03em}.yzbjfpv-home-info span{display:block;margin-top:3px;font-size:12px;opacity:.82}.yzbjfpv-carousel-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#fff}.yzbjfpv-carousel-empty strong{font-size:18px;font-weight:950}.yzbjfpv-carousel-empty span{display:block;margin-top:6px;color:rgba(255,255,255,.68);font-size:12px}.yzbjfpv-home-dots{position:absolute;right:16px;bottom:16px;z-index:3;display:flex;gap:6px}.yzbjfpv-home-dot{width:7px;height:7px;border-radius:99px;background:rgba(255,255,255,.42)}.yzbjfpv-home-dot.active{width:20px;background:#fff}
.track-card { overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: var(--paper); box-shadow: var(--shadow); }
.track-card-head, .track-card-foot { display: flex; justify-content: space-between; gap: 14px; padding: 14px 16px; color: var(--muted); font: 900 11px/1.2 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff; }
.track-card-head { border-bottom: 1px solid var(--line); }
.track-card-foot { border-top: 1px solid var(--line); }
.track-card-head strong { color: var(--accent); }
.track-card svg { width: 100%; height: auto; display: block; }

/* 内容区 */
.block { margin: 46px 0; }
.block-head, .page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); margin-bottom: 18px; flex-wrap: wrap; }
.block-title, .page-title { color: var(--ink); font-size: 26px; font-weight: 950; line-height: 1.2; letter-spacing: -0.04em; text-wrap: balance; }
.page-title { padding: 34px 0 16px; border-bottom: 1px solid var(--line); margin-bottom: 20px; }
.page-head .page-title { padding: 0; border: 0; margin: 0; }
.block-link, .back-link { color: var(--brand); font-size: 13px; font-weight: 900; }
.back-link { display: inline-block; padding: 24px 0 6px; }
.page-kicker { color: var(--brand); font: 900 12px/1.2 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 8px; }
.page-desc, .page-lead { max-width: 780px; color: var(--muted); font-size: 15px; line-height: 1.85; margin-top: 10px; }
.page-lead { margin: 0 0 22px; }

/* 赛事卡片与筛选 */
.filter-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-sm);
}
.filter-btn {
  min-height: 36px;
  padding: 8px 15px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--muted);
  background: transparent;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  transition: transform 0.18s ease, color 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.filter-btn:hover {
  color: var(--brand);
  background: #f2f8fc;
  border-color: #d7e6ef;
  transform: translateY(-1px);
}
.filter-btn.active {
  color: #fff;
  background: linear-gradient(135deg, var(--accent), #a91d16);
  border-color: rgba(201, 40, 31, 0.32);
  box-shadow: 0 12px 24px rgba(201, 40, 31, 0.18);
}
.event-list { display: grid; gap: 12px; border: 0; background: transparent; }
.contest-entry-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 14px;
  padding: 18px 20px;
  border: 1px solid #b9d6e5;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(112deg, #10233a 0%, #164766 57%, #1f5f8b 100%);
  box-shadow: 0 14px 28px rgba(16, 35, 58, 0.16);
  transition: transform .18s ease, box-shadow .18s ease;
}
.contest-entry-card:hover { transform: translateY(-2px); box-shadow: 0 18px 34px rgba(16, 35, 58, .24); }
.contest-entry-orbit { position: absolute; z-index: -1; width: 230px; height: 230px; right: 15%; top: -140px; border: 1px solid rgba(119,214,234,.42); border-radius: 50%; box-shadow: 0 0 0 34px rgba(119,214,234,.07), 0 0 0 74px rgba(119,214,234,.04); }
.contest-entry-copy { display: grid; gap: 3px; }
.contest-entry-kicker { color: #77d6ea; font: 900 10px/1.2 var(--mono); letter-spacing: .14em; }
.contest-entry-copy strong { font-size: 18px; font-weight: 950; letter-spacing: -.03em; }
.contest-entry-copy small { color: rgba(255,255,255,.72); font-size: 12px; font-weight: 750; }
.contest-entry-action { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; color: #fff; font-size: 13px; font-weight: 900; }
.contest-entry-action span { color: #77d6ea; font-size: 18px; line-height: .7; }
.event-row {
  display: grid;
  grid-template-columns: 100px minmax(160px, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--paper);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.event-row:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: var(--line-strong); }
.event-row .col-date { font-family: var(--mono); }
.event-row .col-date .date-label,
.club-row span {
  display: block;
  margin-bottom: 6px;
  color: var(--subtle);
  font: 900 10px/1 var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.event-row .col-date strong,
.club-row strong {
  color: var(--ink);
  font-weight: 950;
}
.event-row .col-title { color: var(--ink); font-size: 17px; font-weight: 950; line-height: 1.35; }
.event-row .sub, .club-row .sub { margin-top: 6px; color: var(--muted); font-size: 13px; font-weight: 600; }
.event-row .col-action {
  justify-self: end;
  color: var(--brand);
  font-size: 13px;
  font-weight: 950;
}
.status-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
  border: 1px solid var(--line);
  background: #f8fafc;
  color: var(--muted);
}
.status-tag.upcoming { color: var(--brand); background: #eef8fe; border-color: #cfe7f4; }
.status-tag.ongoing { color: var(--green); background: #eefaf5; border-color: #c8eadc; }
.status-tag.ended { color: #7a8494; background: #f2f4f7; border-color: #d9dee7; }

/* 首页赞助商轮播：保留轮播，不裁切图片 */
.hero-visual, .track-card { display: none !important; }
.hero-sponsors {
  min-width: 0;
  width: 100%;
  align-self: center;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.sponsor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: #fffdfa;
}
.sponsor-head span { font-size: 14px; font-weight: 950; color: var(--ink); }
.sponsor-head strong { font: 900 11px/1 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--brand); }
.sponsor-carousel { position: relative; overflow: hidden; padding: 18px; background: linear-gradient(180deg, #fffdfa 0%, #f7f9fb 100%); }
.sponsor-track { display: flex; gap: 14px; width: max-content; animation: sponsorMarquee 13s linear infinite; will-change: transform; }
.sponsor-carousel:hover .sponsor-track { animation-play-state: running; }
.sponsor-card {
  width: 210px;
  height: 118px;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(23, 32, 46, 0.055);
}
.sponsor-card img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center;
  padding: 14px;
  background: #fff;
}
.sponsor-card.placeholder { background: repeating-linear-gradient(135deg, #fff 0, #fff 12px, #f5f7fa 12px, #f5f7fa 24px); color: #9aa4b2; font-weight: 900; font-size: 14px; }
.sponsor-card.placeholder span { display: inline-flex; align-items: center; justify-content: center; width: calc(100% - 26px); height: calc(100% - 26px); border: 1px dashed #cbd5e1; border-radius: 12px; background: rgba(255,255,255,.72); }
@keyframes sponsorMarquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(calc(-50% - 7px),0,0); } }

/* 资讯页 */
.news-list { display: grid; gap: 12px; }
.news-row {
  display: grid;
  grid-template-columns: 120px 92px minmax(220px, 1fr) 128px;
  gap: 14px;
  align-items: center;
  padding: 17px 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.news-row:hover { transform: translateY(-2px); border-color: var(--line-strong); box-shadow: var(--shadow); }
.news-row .col-date { color: var(--subtle); font: 900 12px/1 var(--mono); }
.news-row .col-cat, .news-cat {
  justify-self: start;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef8fe;
  color: var(--brand);
  font-size: 12px;
  font-weight: 950;
}
.news-row .col-title { color: var(--ink); font-size: 16px; font-weight: 950; line-height: 1.45; }
.news-row .col-meta, .news-detail-meta { color: var(--muted); font-size: 13px; }
.news-detail-head { padding-top: 20px; }
.detail-content {
  margin-top: 18px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--paper);
  box-shadow: var(--shadow-sm);
  color: #344054;
  line-height: 1.9;
}
.detail-content p { margin-bottom: 1em; }
.detail-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0; }

/* 赛事详情：以比赛说明为核心，完整保留后台录入的换行与链接 */
.event-detail-loading { padding: 58px 20px; text-align: center; color: var(--muted); }
.event-detail-shell { overflow: hidden; margin-bottom: 36px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow); }
.event-detail-hero { position: relative; overflow: hidden; padding: 42px; color: #fff; background: linear-gradient(130deg, #102c3e 0%, #176b83 55%, #2094a7 100%); }
.event-detail-hero::after { content: ''; position: absolute; width: 360px; height: 360px; right: -115px; top: -190px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 38px rgba(255,255,255,.06), 0 0 0 78px rgba(255,255,255,.04); }
.event-detail-kicker, .event-section-label { font: 900 11px/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.event-detail-kicker { position: relative; z-index: 1; color: #a8edf2; }
.event-detail-title-row { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-top: 12px; }
.event-detail-title-row h1 { max-width: 860px; font-size: clamp(30px, 4.5vw, 54px); line-height: 1.14; letter-spacing: -.045em; }
.event-detail-title-row .status-tag { flex: 0 0 auto; margin-top: 8px; background: rgba(255,255,255,.17); border: 1px solid rgba(255,255,255,.36); color: #fff; }
.event-detail-summary { position: relative; z-index: 1; max-width: 680px; margin-top: 14px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.75; }
.event-detail-facts { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 32px; }
.event-detail-facts div { min-height: 76px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: rgba(3,26,38,.2); }
.event-detail-facts span, .event-side-card span { display: block; margin-bottom: 7px; color: rgba(255,255,255,.64); font: 900 10px/1 var(--mono); letter-spacing: .11em; }
.event-detail-facts strong { display: block; color: #fff; font-size: 14px; line-height: 1.45; word-break: break-word; }
.event-detail-main { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 28px; padding: 34px 42px 42px; }
.event-section-label { color: var(--brand); }
.event-detail-copy h2 { margin-top: 8px; color: var(--ink); font-size: 25px; letter-spacing: -.035em; }
.event-description { margin-top: 18px; color: #334155; font-size: 15px; line-height: 2; white-space: normal; word-break: break-word; }
.event-description a { color: var(--brand); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.event-description-empty { padding: 20px; border: 1px dashed var(--line-strong); border-radius: 14px; color: var(--muted); }
.event-detail-side { display: flex; flex-direction: column; gap: 12px; }
.event-side-card { padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: #f8fbfc; }
.event-side-card span { color: var(--subtle); }
.event-side-card strong { display: block; color: var(--ink); font-size: 18px; line-height: 1.35; }
.event-follow-btn { width: 100%; min-height: 44px; }
@media (max-width: 720px) { .event-detail-hero { padding: 28px 20px; } .event-detail-title-row { display: block; } .event-detail-title-row .status-tag { display: inline-flex; margin-top: 14px; } .event-detail-facts { grid-template-columns: 1fr; gap: 8px; margin-top: 22px; } .event-detail-facts div { min-height: 0; } .event-detail-main { grid-template-columns: 1fr; gap: 20px; padding: 26px 20px 30px; } .event-detail-side { display: grid; grid-template-columns: 1fr 1fr; } .event-follow-btn { grid-column: 1 / -1; } .event-detail-shell { border-radius: 19px; } }

/* 排行榜页 */
.ranking-panel {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper);
  box-shadow: var(--shadow-sm);
}
.ranking-source {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, #fffdfa, #f4f8fb);
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.ranking-source strong { color: var(--ink); font-weight: 950; }
.ranking-table { width: 100%; border-collapse: collapse; background: var(--paper); }
.ranking-table th,
.ranking-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; }
.ranking-table th { color: var(--subtle); background: #f8fafc; font: 900 11px/1.2 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.ranking-table td { color: var(--ink); font-weight: 800; }
.ranking-table tbody tr:hover { background: #fbfdff; }
.ranking-table tbody tr:last-child td { border-bottom: 0; }
.ranking-table .num { color: var(--accent); font: 950 16px/1 var(--mono); }
.ranking-table .rank-time { color: #d64545; font: 900 15px/1 var(--mono); white-space: nowrap; }

/* 俱乐部页 */
.club-page-head { align-items: center; }
.club-criteria {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.club-criteria div {
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  box-shadow: var(--shadow-sm);
}
.club-criteria strong { display: block; color: var(--ink); font-size: 15px; font-weight: 950; }
.club-criteria span { display: block; margin-top: 7px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.club-list { display: grid; gap: 12px; }
.club-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 128px 110px 150px 98px;
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--paper);
  box-shadow: var(--shadow-sm);
}
.club-license {
  display: inline-flex !important;
  width: auto;
  margin: 0 0 8px !important;
  padding: 5px 8px;
  border: 1px solid #f1d2ce;
  border-radius: 999px;
  background: #fff7f5;
  color: var(--accent) !important;
  font: 900 10px/1 var(--mono) !important;
  letter-spacing: 0.1em !important;
}
.club-row .col-name { color: var(--ink); font-size: 17px; font-weight: 950; line-height: 1.35; }
.club-row .col-status {
  justify-self: end;
  padding: 7px 10px;
  border-radius: 999px;
  background: #eefaf5;
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

/* 表单、弹窗、认证、个人中心、页脚 */
.field { margin-bottom: 14px; }
.field-label { display: block; margin-bottom: 6px; color: var(--ink); font-size: 13px; font-weight: 900; }
.field-input, .field-select, .field-textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  padding: 11px 12px;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.field-input:focus, .field-select:focus, .field-textarea:focus { border-color: #9bc3d8; box-shadow: 0 0 0 4px rgba(31,95,139,.11); }
.field-textarea { min-height: 110px; resize: vertical; }
.form-note, .auth-note, .notice, .empty { color: var(--muted); }
.empty, .notice { padding: 18px; border: 1px dashed var(--line-strong); border-radius: 16px; background: rgba(255,255,255,.72); }
.modal {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(10px);
}
.modal.show { display: flex; }
.modal-content {
  width: min(680px, 100%);
  max-height: min(86vh, 820px);
  overflow: auto;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 24px;
  background: var(--paper);
  box-shadow: 0 30px 90px rgba(15, 23, 42, 0.28);
}
.modal-head, .modal-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; }
.modal-head { position: sticky; top: 0; z-index: 1; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); }
.modal-head h3 { color: var(--ink); font-size: 18px; font-weight: 950; }
.modal-close { width: 34px; height: 34px; border-radius: 999px; border: 1px solid var(--line); background: #f8fafc; color: var(--muted); font-size: 22px; line-height: 1; }
.modal-body { padding: 18px; }
.modal-foot { position: sticky; bottom: 0; border-top: 1px solid var(--line); background: rgba(255,255,255,.96); }
.auth-container { display: grid; place-items: center; padding-top: 46px; padding-bottom: 46px; }
.auth-card, .profile-section, .profile-header, .comments-area {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper);
  box-shadow: var(--shadow-sm);
  padding: 22px;
}
.auth-card { width: min(460px, 100%); }
.auth-notice{margin:0 0 16px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(255,36,66,.10),rgba(255,179,71,.12));border:1px solid rgba(255,36,66,.18);color:#9b1c31;font-size:13px;line-height:1.55;font-weight:800}
.auth-head { text-align: center; margin-bottom: 18px; }
.auth-sub { color: var(--muted); margin-top: 5px; }
.auth-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 5px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 999px; background: #f8fafc; }
.auth-tab { padding: 8px 6px; border-radius: 999px; color: var(--muted); text-align: center; font-size: 13px; font-weight: 900; cursor: pointer; }
.auth-tab.active { color: #fff; background: var(--brand); }
.auth-form { display: none; }
.auth-form.active { display: block; }
.profile-header { display: flex; align-items: center; gap: 16px; margin: 30px 0 18px; }
.profile-avatar { width: 64px; height: 64px; overflow: hidden; border-radius: 50%; background: #edf5fa; display: grid; place-items: center; color: var(--brand); font-weight: 950; }
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-info { flex: 1; }
.profile-info h2 { font-size: 22px; font-weight: 950; }
.profile-info p, .profile-sig { color: var(--muted); }
.profile-section { margin-bottom: 18px; }
.profile-section h3, .comments-area h3 { margin-bottom: 14px; color: var(--ink); font-size: 17px; font-weight: 950; }
.comment-item { padding: 12px 0; border-bottom: 1px solid var(--line); }
.comment-author { color: var(--ink); font-weight: 950; margin-right: 10px; }
.comment-time { color: var(--subtle); font-size: 12px; }
.comment-text { margin-top: 6px; color: #344054; }
.comment-form { display: flex; gap: 10px; margin-top: 14px; align-items: flex-end; }
.info-table { width: 100%; border-collapse: collapse; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.info-table th, .info-table td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; }
.info-table th { color: var(--muted); background: #f8fafc; font-weight: 950; }
.info-table tr:last-child th, .info-table tr:last-child td { border-bottom: 0; }
.toast { position: fixed; left: 50%; bottom: 28px; z-index: 800; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; padding: 10px 14px; border-radius: 999px; background: #17202e; color: #fff; font-weight: 900; box-shadow: var(--shadow); transition: opacity .18s ease, transform .18s ease; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.site-footer { margin-top: 56px; border-top: 1px solid var(--line); background: rgba(255,255,255,.82); }
.footer-inner { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 22px; padding-top: 34px; padding-bottom: 28px; }
.footer-col { display: flex; flex-direction: column; gap: 8px; color: var(--muted); font-size: 13px; }
.footer-brand p { max-width: 360px; margin-top: 8px; line-height: 1.8; }
.footer-title { color: var(--ink); font-size: 14px; font-weight: 950; margin-bottom: 4px; }
.footer-col a:hover { color: var(--brand); }
.footer-bottom { border-top: 1px solid var(--line); padding: 13px 0; color: var(--subtle); font-size: 12px; }
.footer-bottom .container { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

@media (max-width: 980px) {
  .primary-nav { position: absolute; top: var(--header-h); left: 16px; right: 16px; display: none; flex-direction: column; align-items: stretch; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: var(--shadow); }
  .primary-nav.open { display: flex; }
  .nav-item { justify-content: center; }
  .menu-toggle { display: inline-flex; }
  .event-row, .club-row { grid-template-columns: 1fr 1fr; }
  .event-row .col-title, .club-row .col-name { grid-column: 1 / -1; }
  .event-row .col-action, .club-row .col-status { justify-self: start; }
  .club-criteria, .footer-inner { grid-template-columns: 1fr; }
  .news-row { grid-template-columns: 100px 80px 1fr; }
  .news-row .col-meta { grid-column: 3; }
}
@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr !important; }
  .hero-sponsors { margin-top: 4px; }
  .sponsor-card { width: 180px; height: 102px; }
}
@media (max-width: 640px) {
  .container, .header-inner, .hero-inner { padding-left: 16px; padding-right: 16px; }
  .contest-entry-card { align-items: flex-start; gap: 14px; padding: 16px; }
  .contest-entry-copy strong { font-size: 16px; }
  .contest-entry-action { padding: 7px 9px; font-size: 0; }
  .contest-entry-action span { font-size: 18px; }
  .contest-entry-orbit { right: -70px; }
  .hero-inner { padding-top: 56px; padding-bottom: 46px; }
  .hero-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-title { font-size: 24px; padding-top: 24px; }
  .filter-bar { width: 100%; border-radius: 18px; }
  .filter-btn { flex: 1 1 calc(50% - 8px); }
  .event-row.event-card { grid-template-columns: minmax(76px, auto) minmax(0, 1fr) auto; grid-template-areas: "date title status" "date title action"; column-gap: 10px; row-gap: 4px; padding: 11px 12px; }
  .event-row.event-card .col-date { grid-area: date; align-self: center; font-size: 11px; }
  .event-row.event-card .col-date .date-label { display: none; }
  .event-row.event-card .col-title { grid-area: title; grid-column: auto; min-width: 0; font-size: 15px; }
  .event-row.event-card .sub { margin-top: 3px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .event-row.event-card .col-prize { grid-area: status; justify-self: end; }
  .event-row.event-card .status-tag { min-width: 0; padding: 4px 7px; font-size: 11px; }
  .event-row.event-card .col-action { grid-area: action; justify-self: end; font-size: 12px; }
  .club-row, .news-row { grid-template-columns: 1fr; gap: 8px; padding: 12px 14px; }
  .event-row:not(.event-card) .col-title { font-size: 15px; }
  .event-row:not(.event-card) .col-action { justify-self: end; }
  .event-row:not(.event-card) .col-date { font-size: 12px; }
  .news-row .col-meta { grid-column: auto; }
  .ranking-panel { overflow-x: auto; }
  .ranking-table { min-width: 620px; }
  .modal { padding: 12px; align-items: flex-end; }
  .modal-content { max-height: 90vh; border-radius: 22px 22px 0 0; }
  .comment-form { flex-direction: column; align-items: stretch; }
  .sponsor-carousel { padding: 14px; }
  .sponsor-card { width: 150px; height: 88px; border-radius: 13px; }
  .sponsor-card img { padding: 10px; }
  .sponsor-track { gap: 10px; animation-duration: 11s; }
}
@media (prefers-reduced-motion: reduce) {
  .sponsor-track { animation: none !important; flex-wrap: wrap; width: 100%; }
  *, *::before, *::after { scroll-behavior: auto !important; }
}


/* ===== YZBJFPV 超严格移动端溢出/缩放限制 2026080916 ===== */
html{width:100%;max-width:100%;overflow-x:hidden!important;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;touch-action:pan-y!important}body,#app,.main,.page,.container,.hero,.hero-inner,.block,.community-panel{width:100%;max-width:100%;overflow-x:hidden!important}*{min-width:0;box-sizing:border-box}img,video,svg,canvas,iframe,table{max-width:100%}.hero-title,.hero-sub,.block-title,.page-title,.community-copy h2,.community-copy p,.event-row,.ranking-table th,.ranking-table td{overflow-wrap:anywhere;word-break:break-word}.hero-sub{max-width:560px!important;font-size:15px!important;line-height:1.72!important;margin-bottom:18px!important}.community-copy p{max-width:420px!important;font-size:14px!important;line-height:1.65!important}.ranking-panel{overflow:hidden!important;border-radius:18px!important}.home-ranking-scroll{max-height:174px;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none;-ms-overflow-style:none;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 14px 36px rgba(33,37,41,.055)}.home-ranking-scroll::-webkit-scrollbar{width:0;height:0;display:none}.home-ranking-scroll .ranking-table{table-layout:fixed;width:100%;min-width:0!important}.home-ranking-scroll .ranking-table th,.home-ranking-scroll .ranking-table td{padding:10px 8px!important;font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-ranking-scroll .ranking-table th:nth-child(1),.home-ranking-scroll .ranking-table td:nth-child(1){width:34px}.home-ranking-scroll .ranking-table th:nth-child(3),.home-ranking-scroll .ranking-table td:nth-child(3){width:58px}.home-ranking-scroll .ranking-table th:nth-child(4),.home-ranking-scroll .ranking-table td:nth-child(4){width:58px}.ranking-scroll-hint{margin-top:8px;color:#8a8f98;font-size:12px;text-align:right}.ranking-panel .ranking-table{table-layout:fixed;min-width:0!important}.ranking-panel .ranking-table th,.ranking-panel .ranking-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){body{position:relative}.site-header{max-width:100vw;overflow:hidden}.header-inner{max-width:100vw;overflow:hidden}.primary-nav{max-width:100vw;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.primary-nav::-webkit-scrollbar{display:none}.hero-inner{display:block!important;padding-left:14px!important;padding-right:14px!important}.hero-title{font-size:34px!important;line-height:1.04!important;letter-spacing:-.045em!important}.hero-sub{font-size:14px!important;line-height:1.55!important}.hero-actions{gap:8px!important}.hero-actions .btn{min-height:40px;padding:0 13px!important;font-size:13px!important}.sponsor-card{width:138px!important;height:78px!important}.event-row.event-card{max-width:100%;overflow:hidden}.block{margin:30px 0!important}.block-head{gap:10px}.home-ranking-scroll{max-height:159px}.container{padding-left:14px!important;padding-right:14px!important}.ranking-panel{overflow:hidden!important}.ranking-panel .ranking-table th,.ranking-panel .ranking-table td{padding:10px 7px!important;font-size:12px!important}.ranking-panel .ranking-table th:nth-child(n+5),.ranking-panel .ranking-table td:nth-child(n+5){display:none}}
@media(max-width:420px){.hero-title{font-size:30px!important}.hero-tag{display:none!important}.hero-sub{display:block!important}.community-panel{padding:18px!important}.community-copy p{display:block!important}.home-ranking-scroll{max-height:151px}.home-ranking-scroll .ranking-table th,.home-ranking-scroll .ranking-table td{padding:9px 6px!important;font-size:11px!important}.home-ranking-scroll .ranking-table th:nth-child(4),.home-ranking-scroll .ranking-table td:nth-child(4){display:none}.ranking-scroll-hint{font-size:11px}}

/* ===== YZBJFPV 手机端更多菜单修复 20260809 ===== */
@media(max-width:980px){
  .site-header{overflow:visible!important;z-index:5000!important}
  .header-inner{overflow:visible!important}
  .menu-toggle{display:inline-flex!important;position:relative;z-index:5002!important;touch-action:manipulation}
  .primary-nav{position:fixed!important;top:calc(var(--header-h) + 8px)!important;left:12px!important;right:12px!important;max-width:none!important;max-height:calc(100dvh - var(--header-h) - 22px)!important;overflow-y:auto!important;overflow-x:hidden!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;margin:0!important;padding:12px!important;border:1px solid rgba(204,214,226,.95)!important;border-radius:20px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 24px 70px rgba(23,32,46,.18)!important;backdrop-filter:blur(18px)!important;z-index:5001!important}
  .primary-nav.open{display:flex!important;animation:yzbjfpvMenuDrop .18s ease both!important}
  .primary-nav .nav-item{width:100%!important;justify-content:flex-start!important;padding:12px 14px!important;border-radius:14px!important;background:#fff!important;border-color:#edf0f5!important}
}
@keyframes yzbjfpvMenuDrop{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

/* ===== FlyzAI 科技悬浮助手 ===== */
.flyz-ai-shell{position:fixed;right:12px;bottom:18px;z-index:9000;font-family:'Orbitron','Rajdhani',system-ui,sans-serif;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.flyz-ai-orb{position:relative;width:58px;height:58px;border:0;border-radius:999px;display:grid;place-items:center;cursor:grab;color:#fff;background:radial-gradient(circle at 36% 28%,#fff 0,#82f8ff 13%,#11d9ff 28%,#5644ff 56%,#080717 100%);box-shadow:0 0 16px rgba(19,220,255,.95),0 0 42px rgba(168,48,255,.48),inset 0 0 18px rgba(255,255,255,.32);isolation:isolate}.flyz-ai-orb:active{cursor:grabbing}.flyz-ai-orb:before{content:"";position:absolute;inset:-7px;border-radius:inherit;background:conic-gradient(from 0deg,#00f7ff,#6c35ff,#ff24e5,#00f7ff);filter:blur(8px);opacity:.9;z-index:-1;animation:flyzSpin 2.8s linear infinite}.flyz-ai-orb:after{content:"";position:absolute;inset:9px;border-radius:inherit;border:1px dashed rgba(255,255,255,.58);animation:flyzSpin 5.5s linear reverse infinite}.flyz-ring{position:absolute;inset:5px;border-radius:inherit;border:1px solid rgba(255,255,255,.52);box-shadow:inset 0 0 18px rgba(255,255,255,.16)}.flyz-core{font-size:20px;font-weight:950;filter:drop-shadow(0 0 8px #fff)}.flyz-ai-orb b{position:absolute;bottom:7px;font-size:8px;letter-spacing:.08em}.flyz-ai-panel{position:absolute;right:0;bottom:74px;width:min(350px,calc(100vw - 24px));height:500px;max-height:calc(100dvh - 112px);display:none;overflow:hidden;border:1px solid rgba(97,231,255,.34);border-radius:28px;background:linear-gradient(145deg,rgba(5,8,22,.96),rgba(11,18,42,.94));box-shadow:0 26px 90px rgba(0,0,0,.38),0 0 60px rgba(35,246,255,.18);backdrop-filter:blur(22px);color:#eaffff}.flyz-ai-panel.open{display:flex;flex-direction:column;animation:flyzRise .22s ease both}.flyz-ai-panel header{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid rgba(97,231,255,.18);background:linear-gradient(90deg,rgba(35,246,255,.12),rgba(124,60,255,.1))}.flyz-ai-panel header b{display:block;font-size:18px}.flyz-ai-panel header span{display:block;font-size:11px;color:#8ff7ff}.flyz-ai-panel header button{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font-size:22px}.flyz-ai-log{flex:1;padding:15px;overflow:auto;display:flex;flex-direction:column;gap:10px}.flyz-msg{max-width:88%;padding:10px 12px;border-radius:16px;font:500 13px/1.55 system-ui,'Microsoft YaHei',sans-serif}.flyz-msg.bot{align-self:flex-start;background:rgba(35,246,255,.1);border:1px solid rgba(35,246,255,.22)}.flyz-msg.user{align-self:flex-end;background:linear-gradient(135deg,#2e6bff,#9b35ff);box-shadow:0 10px 24px rgba(46,107,255,.25)}.flyz-ai-quick{display:flex;gap:7px;padding:0 12px 10px;overflow:auto}.flyz-ai-quick button{white-space:nowrap;border:1px solid rgba(143,247,255,.24);border-radius:999px;background:rgba(255,255,255,.06);color:#bdfbff;padding:7px 10px;font-size:12px}.flyz-voice-status{display:block!important;flex:0 0 auto;text-align:center;color:#8ff7ff;font-size:12px;padding:4px 12px 8px}.flyz-voice-btn{display:block!important;visibility:visible!important;opacity:1!important;flex:0 0 54px;margin:0 12px 14px;height:54px;min-height:54px;border:0;border-radius:18px;background:linear-gradient(135deg,#00e5ff,#6136ff 55%,#ff2bd6);color:#fff;font-weight:950;letter-spacing:.08em;box-shadow:0 14px 38px rgba(83,64,255,.35),inset 0 0 18px rgba(255,255,255,.22)}.flyz-voice-btn span{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:99px;background:#fff;box-shadow:0 0 12px #fff}.flyz-voice-btn.listening{animation:flyzPulse .75s ease infinite alternate}.flyz-ai-form{display:none!important}.flyz-model-mask{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,rgba(35,246,255,.18),rgba(2,6,23,.72));backdrop-filter:blur(12px);z-index:9999;user-select:none;-webkit-user-select:none}.flyz-model-mask.open{display:flex}.flyz-model-card{width:min(360px,calc(100vw - 36px));padding:26px 22px;border:1px solid rgba(105,240,255,.34);border-radius:28px;background:linear-gradient(145deg,rgba(5,10,28,.96),rgba(16,23,57,.94));box-shadow:0 28px 90px rgba(0,0,0,.45),0 0 70px rgba(35,246,255,.22);color:#eaffff;text-align:center;position:relative;overflow:hidden}.flyz-model-card:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,#25f6ff55,transparent,#ff2bd655,transparent);animation:flyzSpin 5s linear infinite}.flyz-model-card>*{position:relative;z-index:1}.flyz-model-core{width:58px;height:58px;margin:0 auto 12px;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle,#fff,#16dfff 35%,#5b35ff 70%,#090b20);box-shadow:0 0 32px rgba(35,246,255,.72);font-size:24px}.flyz-model-card h3{margin:0 0 8px;font-size:18px;line-height:1.35}.flyz-model-card p{min-height:18px;margin:0 0 16px;color:#9af7ff;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flyz-model-bar{height:12px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden;border:1px solid rgba(143,247,255,.18)}.flyz-model-bar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00eaff,#6b4dff,#ff2bd6);box-shadow:0 0 20px rgba(35,246,255,.66);transition:width .18s ease}.flyz-model-card>b{display:block;margin-top:12px;font-size:22px;letter-spacing:.08em}@keyframes flyzSpin{to{transform:rotate(360deg)}}@keyframes flyzRise{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes flyzPulse{to{transform:scale(1.02);filter:saturate(1.45)}}@media(max-width:620px){.flyz-ai-shell{right:12px;bottom:16px}.flyz-ai-orb{width:54px;height:54px}.flyz-ai-panel{right:-2px;bottom:68px;width:calc(100vw - 24px);height:455px}}


.flyz-manual-row{display:flex;gap:8px;align-items:center;padding:0 12px 10px;flex:0 0 auto}
.flyz-manual-input{min-width:0;flex:1;height:44px;padding:0 12px;border-radius:14px;border:1px solid rgba(143,247,255,.28);background:rgba(255,255,255,.08);color:#eaffff;font:500 14px/1.2 system-ui,'Microsoft YaHei',sans-serif;outline:none}
.flyz-manual-input::placeholder{color:rgba(189,251,255,.56)}
.flyz-manual-input:focus{border-color:#8ff7ff;box-shadow:0 0 0 3px rgba(35,246,255,.16)}
.flyz-send-btn{height:44px;padding:0 14px;border:0;border-radius:14px;background:linear-gradient(135deg,#00e5ff,#6136ff 65%,#ff2bd6);color:#fff;font-weight:900;white-space:nowrap}
.flyz-choice{align-self:stretch;padding:9px 11px;border:1px solid rgba(143,247,255,.28);border-radius:12px;background:rgba(255,255,255,.06);color:#d9fbff;text-align:left;font:600 12px/1.4 system-ui,'Microsoft YaHei',sans-serif;cursor:pointer}.flyz-choice:hover{background:rgba(35,246,255,.16);border-color:#8ff7ff}


/* ===== YZBJFPV 首页电脑端广告位放大 20260810 ===== */
@media (min-width: 901px) {
  #page-home .hero-inner {
    max-width: 1320px !important;
    grid-template-columns: minmax(0, 1fr) minmax(520px, 540px) !important;
    gap: 56px !important;
    padding-top: 82px !important;
    padding-bottom: 74px !important;
  }
  #page-home .yzbjfpv-home-carousel {
    width: 100% !important;
    min-height: 304px !important;
    border-radius: 32px !important;
  }
}
@media (min-width: 1280px) {
  #page-home .hero-inner {
    grid-template-columns: minmax(0, 1fr) 560px !important;
  }
  #page-home .yzbjfpv-home-carousel {
    min-height: 315px !important;
  }
}


/* ===== YZBJFPV 首页赞赏支持模块 20260810 ===== */
.reward-block{margin-top:24px!important}.reward-card{display:grid;grid-template-columns:minmax(0,1fr) 172px;align-items:center;gap:24px;padding:24px;border:1px solid rgba(201,151,55,.28);border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,248,232,.96));box-shadow:0 18px 44px rgba(122,86,16,.08);overflow:hidden;position:relative}.reward-card:before{content:"";position:absolute;right:-60px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(200,151,55,.22),transparent 68%);pointer-events:none}.reward-copy{position:relative;z-index:1}.reward-kicker{color:#a97414;font:900 12px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.reward-copy h2{font-size:28px;line-height:1.15;font-weight:950;letter-spacing:-.045em;color:var(--ink);margin-bottom:8px}.reward-copy p{max-width:560px;color:#66543a;font-size:15px;line-height:1.75}.reward-qr{position:relative;z-index:1;display:block;width:172px;height:172px;padding:8px;border-radius:22px;background:#fff;border:1px solid rgba(201,151,55,.24);box-shadow:0 12px 30px rgba(122,86,16,.12)}.reward-qr img{width:100%;height:100%;object-fit:cover;border-radius:16px}@media(max-width:720px){.reward-card{grid-template-columns:1fr;gap:16px;padding:20px;text-align:left}.reward-qr{width:min(210px,72vw);height:min(210px,72vw);justify-self:center}.reward-copy h2{font-size:24px}.reward-copy p{font-size:14px;line-height:1.65}}

/* ===== 赞助商滚动组件 20260812 ===== */
.sponsors-block{margin:46px 0}.sponsors-marquee{overflow:hidden;padding:24px 0;background:linear-gradient(90deg,var(--paper) 0%,var(--paper-soft) 50%,var(--paper) 100%);border-radius:16px;position:relative}.sponsors-track{display:flex;gap:0;align-items:center;width:max-content;min-height:88px;will-change:transform}.sponsors-track.is-running{animation:sponsorScroll var(--sponsor-scroll-duration,18s) linear infinite}.sponsors-loading,.sponsors-empty{width:100vw;text-align:center;color:var(--muted);font-size:14px}.sponsors-group{display:flex;flex:0 0 auto;gap:48px;align-items:center;padding-right:48px}.sponsor-logo{flex:0 0 auto;width:180px;height:88px;display:grid;place-items:center;opacity:.94;transition:opacity .32s ease,transform .32s ease;text-decoration:none;cursor:pointer;overflow:hidden}.sponsor-logo:hover{opacity:1;transform:scale(1.04)}.sponsor-logo img{width:112%;height:112%;max-width:none;max-height:none;object-fit:contain;object-position:center;pointer-events:none;display:block}.sponsor-logo-fallback{max-width:100%;padding:0 8px;text-align:center;color:var(--muted);font-size:14px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}@keyframes sponsorScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.sponsors-track.is-running{animation-play-state:paused}}@media(max-width:720px){.sponsors-block{margin:32px 0}.sponsors-group{gap:32px;padding-right:32px}.sponsors-track{min-height:68px}.sponsor-logo{width:140px;height:68px}}
