/* ==========================================================================
   NOVAFRAME · 「AIGC 赏金猎人计划」专属主题
   作用域：仅在 /events/NOVA-2026-BOUNTY 生效（由 bounty-theme.js 打上 html.nf-theme-bounty）
   其他活动完全不受影响
   ========================================================================== */

/* ---------- 1. 中文字体：宋体 Regular，按 unicode-range 只接管中日韩字符 ---------- */
@font-face {
  font-family: "NF Bounty Song";
  src: local("Songti SC Regular"), local("SongtiSC-Regular"), local("STSongti-SC-Regular"),
       local("Songti SC"), local("SimSun"), local("宋体"),
       local("Noto Serif CJK SC Regular"), local("Source Han Serif SC Regular"),
       local("Noto Serif CJK SC");
  font-weight: 100 900;   /* 声明覆盖全部字重，600/700 也直接落到 Regular 字形，不做合成加粗 */
  font-style: normal;
  font-display: swap;
  unicode-range: U+2E80-2FFF, U+3000-303F, U+3100-312F, U+31A0-31BF, U+31C0-31EF,
    U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF, U+20000-323AF;
}

/* ---------- 2. 主题变量 ---------- */
html.nf-theme-bounty {
  --nf-wine-deep: #281717;
  --nf-wine-mid: #41201F;
  --nf-wine-top: #562421;
  --nf-cream: #F8E8D1;
  --nf-cream-strong: #FCF0DF;
  --nf-ivory: #F7ECDA;
  --nf-ivory-nav: #F6EBDA;
  --nf-ivory-sunken: #F1E2CD;
  --nf-line: #D9BD9D;
  --nf-ink: #30211D;
  --nf-muted: #634C43;
  --nf-accent: #682E2C;
  --nf-accent-hover: #502322;

  /* 英文：标题/导航/按钮无衬线；正文衬线；中文一律走 NF Bounty Song（宋体 Regular） */
  --nf-sans: "Avenir Next", Avenir, "Helvetica Neue", Arial, "NF Bounty Song", "Songti SC", SimSun, serif;
  --nf-serif: Georgia, "Times New Roman", "NF Bounty Song", "Songti SC", SimSun, serif;

  --nf-card-shadow: 0 28px 70px -30px rgba(22, 8, 8, .62), 0 1px 0 rgba(255, 255, 255, .34) inset;

  /* 页面底色：烟熏酒红，径向色光叠在渐变之上 */
  background-color: #281717;
  background-image:
    radial-gradient(760px 520px at 2% -6%, rgba(118, 60, 54, .62) 0%, rgba(118, 60, 54, 0) 62%),
    radial-gradient(900px 620px at 106% 28%, rgba(96, 44, 44, .55) 0%, rgba(96, 44, 44, 0) 60%),
    radial-gradient(1100px 720px at 50% 118%, rgba(24, 10, 10, .85) 0%, rgba(24, 10, 10, 0) 72%),
    linear-gradient(168deg, #562421 0%, #41201F 54%, #281717 100%);
  background-repeat: no-repeat;
  background-attachment: fixed;
}

html.nf-theme-bounty body {
  background: transparent;      /* 让 html 的渐变透上来 */
  color: var(--nf-ink);
  font-family: var(--nf-serif);
  font-synthesis-weight: none;
}

html.nf-theme-bounty body * { font-synthesis-weight: none; }

html.nf-theme-bounty ::selection { background: var(--nf-accent); color: var(--nf-cream-strong); }

/* ---------- 3. 字体分工 ---------- */
html.nf-theme-bounty h1,
html.nf-theme-bounty h2,
html.nf-theme-bounty h3,
html.nf-theme-bounty h4,
html.nf-theme-bounty h5,
html.nf-theme-bounty h6,
html.nf-theme-bounty header,
html.nf-theme-bounty nav,
html.nf-theme-bounty button,
html.nf-theme-bounty .btn-primary,
html.nf-theme-bounty .btn-ghost,
html.nf-theme-bounty th,
html.nf-theme-bounty .field > span,
html.nf-theme-bounty .font-semibold,
html.nf-theme-bounty .font-medium,
html.nf-theme-bounty .font-bold {
  font-family: var(--nf-sans);
}

/* 标签、说明性小字保持宋体，走 body 继承的 --nf-serif */

/* ---------- 4. 顶部导航：暖象牙 ---------- */
html.nf-theme-bounty header {
  background: rgba(246, 235, 218, .95);
  border-bottom-color: rgba(217, 189, 157, .72);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
}
html.nf-theme-bounty header a,
html.nf-theme-bounty header button { color: var(--nf-ink); }
html.nf-theme-bounty header .text-muted { color: var(--nf-muted); }
html.nf-theme-bounty header a:hover { color: var(--nf-accent); }

/* ---------- 5. 面包屑：浅奶油（压在酒红背景上） ---------- */
html.nf-theme-bounty .mx-auto.max-w-6xl > div:first-child > div:first-child {
  color: var(--nf-cream);
}
html.nf-theme-bounty .mx-auto.max-w-6xl > div:first-child > div:first-child a {
  color: rgba(248, 232, 209, .78);
}
html.nf-theme-bounty .mx-auto.max-w-6xl > div:first-child > div:first-child a:hover {
  color: #ffffff;
}
html.nf-theme-bounty .mx-auto.max-w-6xl > div:first-child > div:first-child span {
  color: var(--nf-cream);
}

/* ---------- 6. 卡片：浮在酒红背景上的暖象牙 ---------- */
/* 应用根容器是 min-h-screen bg-paper，必须让它透明，否则整屏被浅色盖住 */
html.nf-theme-bounty #root > .min-h-screen { background-color: transparent; }
html.nf-theme-bounty .bg-white { background-color: var(--nf-ivory); }
html.nf-theme-bounty .bg-paper { background-color: #EFE0C8; }
html.nf-theme-bounty .border-line { border-color: var(--nf-line); }
html.nf-theme-bounty .border-line\/80 { border-color: rgba(217, 189, 157, .72); }
html.nf-theme-bounty .border-ink\/15 { border-color: rgba(48, 33, 29, .22); }

/* 左侧活动信息区（原本直接铺在页面背景上）→ 变成象牙卡片 */
html.nf-theme-bounty .mt-8.grid.gap-10 > div:first-child {
  align-self: start;
  background: var(--nf-ivory);
  border: 1px solid var(--nf-line);
  border-radius: 24px;
  padding: 2rem;
  box-shadow: var(--nf-card-shadow);
}

/* 右侧报名卡 */
html.nf-theme-bounty .sticky.top-24 {
  border-radius: 24px;
  box-shadow: var(--nf-card-shadow);
}

/* 活动详情长文卡 */
html.nf-theme-bounty .mt-20.rounded-3xl {
  border-radius: 24px;
  box-shadow: var(--nf-card-shadow);
}

/* 信息区里的 6 个元信息小格：比卡片再深一档，避免和卡片同色糊成一片 */
html.nf-theme-bounty .mt-8.grid.grid-cols-2 .rounded-2xl {
  background-color: var(--nf-ivory-sunken);
  border: 1px solid rgba(217, 189, 157, .9);
}

/* ---------- 7. 文字色 ---------- */
html.nf-theme-bounty .text-ink { color: var(--nf-ink); }
html.nf-theme-bounty .text-muted { color: var(--nf-muted); }
html.nf-theme-bounty .text-white { color: var(--nf-cream-strong); }
html.nf-theme-bounty .text-white\/50 { color: rgba(248, 232, 209, .70); }
html.nf-theme-bounty .text-white\/60 { color: rgba(248, 232, 209, .82); }
html.nf-theme-bounty .text-white\/70 { color: rgba(248, 232, 209, .82); }
html.nf-theme-bounty .text-white\/40 { color: rgba(248, 232, 209, .55); }

/* ---------- 8. 深色表面（徽标 / ✓ 圆点 / 表格表头）统一换成酒红 ---------- */
html.nf-theme-bounty .bg-ink { background-color: var(--nf-accent); }
html.nf-theme-bounty .bg-ink\/30 { background-color: rgba(104, 46, 44, .32); }

/* ---------- 9. 倒计时（报名入口 + 报名表单，两处共用同一套规则） ---------- */
html.nf-theme-bounty .bg-ink.px-4.py-3 {
  background-color: var(--nf-wine-mid);
  background-image: linear-gradient(135deg, #562421 0%, #41201F 100%);
  color: var(--nf-cream);
  box-shadow: inset 0 0 0 1px rgba(248, 232, 209, .12), 0 12px 30px -16px rgba(22, 8, 8, .7);
}
html.nf-theme-bounty .bg-ink.px-4.py-3 .text-white { color: var(--nf-cream); }
html.nf-theme-bounty .bg-ink.px-4.py-3 .text-white\/50 { color: rgba(248, 232, 209, .88); }
html.nf-theme-bounty .bg-ink.px-4.py-3 .text-white\/60 { color: rgba(248, 232, 209, .92); }
html.nf-theme-bounty .bg-ink.px-4.py-3 .tabular-nums { font-variant-numeric: tabular-nums; }

/* ---------- 10. 按钮 ---------- */
html.nf-theme-bounty .btn-primary {
  background-color: var(--nf-accent);
  color: var(--nf-cream-strong);
  box-shadow: 0 16px 34px -18px rgba(22, 8, 8, .85);
}
html.nf-theme-bounty .btn-primary:hover {
  background-color: var(--nf-accent-hover);
  box-shadow: 0 20px 42px -18px rgba(22, 8, 8, .92);
}
html.nf-theme-bounty .btn-ghost {
  border-color: rgba(104, 46, 44, .38);
  color: #4A2B25;
}
html.nf-theme-bounty .btn-ghost:hover {
  background-color: var(--nf-accent);
  border-color: var(--nf-accent);
  color: var(--nf-cream-strong);
}

/* ---------- 11. 表单 ---------- */
html.nf-theme-bounty .field > span { color: var(--nf-ink); font-weight: 400; }
html.nf-theme-bounty .field input,
html.nf-theme-bounty .field textarea,
html.nf-theme-bounty .field select {
  background-color: #FFF9EE;
  border-color: rgba(217, 189, 157, .95);
  color: var(--nf-ink);
  font-family: inherit;
}
html.nf-theme-bounty .field input::placeholder,
html.nf-theme-bounty .field textarea::placeholder,
html.nf-theme-bounty .field select::placeholder {
  color: rgba(99, 76, 67, .52);
}
html.nf-theme-bounty .field input:focus,
html.nf-theme-bounty .field textarea:focus,
html.nf-theme-bounty .field select:focus {
  --tw-ring-color: rgba(104, 46, 44, .20);
  border-color: var(--nf-accent);
}

/* ---------- 12. 活动详情里的表格 ---------- */
html.nf-theme-bounty tr.bg-ink { background-color: #3B1D1B; }
html.nf-theme-bounty tr.bg-ink td { color: var(--nf-cream); border-color: rgba(217, 189, 157, .42); }
html.nf-theme-bounty tr.bg-paper { background-color: var(--nf-ivory-sunken); }
html.nf-theme-bounty td.border-line { border-color: rgba(217, 189, 157, .62); }

/* ---------- 13. 视频与页脚 ---------- */
html.nf-theme-bounty .hero-player { box-shadow: 0 30px 70px -32px rgba(22, 8, 8, .8); }
html.nf-theme-bounty footer.bg-ink {
  background-color: var(--nf-wine-deep);
  border-top: 1px solid rgba(118, 60, 54, .5);
}

/* ---------- 14. 标题排版 ---------- */
html.nf-theme-bounty .display { letter-spacing: 0; }
html.nf-theme-bounty .ev-title { font-size: 30px; line-height: 1.28; }
@media (min-width: 1024px) {
  html.nf-theme-bounty .ev-title { font-size: 34px; }
}
@media (max-width: 1023px) {
  /* 移动端标题允许换行，避免被 nowrap 截断 */
  html.nf-theme-bounty .ev-title {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  html.nf-theme-bounty .mt-8.grid.gap-10 > div:first-child { padding: 1.5rem; }
}
