/* ============================================================
   84452cup 浅色主题精修层 —— 「日场 · Apple 风」
   借鉴 macOS / iOS 的气质：大留白、连续圆角、发丝线、柔和弥散阴影、
   毛玻璃导航、克制的系统级动效。所有规则都限定在
   html[data-theme="light"] 下，夜场主题不受影响。
   深色主题专用的摄影底图在此用干净的渐变效果占位，
   后续可直接替换为浅色版图片。
   ============================================================ */

/* —— 字体：苹果系字体栈优先 —— */
html[data-theme="light"] body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
    "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* —— 形状：连续大圆角替代斜切与直角（iOS 卡片语言） —— */
html[data-theme="light"] :is(.panel, .card) {
  border-radius: 14px;
  border-color: rgba(0, 0, 0, .07);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 28px rgba(0, 0, 0, .06);
}
html[data-theme="light"] .panel:hover,
html[data-theme="light"] .card:hover {
  border-color: rgba(0, 0, 0, .1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, .04), 0 14px 36px rgba(0, 0, 0, .09);
}
html[data-theme="light"] .card:hover { transform: none; }
html[data-theme="light"] .metric { border-radius: 12px; }
html[data-theme="light"] :is(button.primary, button.secondary, button.danger, button.ghost, a.button-link) {
  border-radius: 9px;
  clip-path: none;
}
html[data-theme="light"] :is(input[type="number"], input[type="text"], input[type="password"],
  input[type="search"], select, textarea) {
  border-radius: 9px;
  border-color: rgba(0, 0, 0, .12);
  background: #ffffff;
}
html[data-theme="light"] :is(input, select, textarea):focus {
  border-color: var(--lime);
  box-shadow: 0 0 0 3.5px rgba(14, 138, 44, .14);
}
html[data-theme="light"] .theme-toggle { background: rgba(0, 0, 0, .05); }
html[data-theme="light"] :is(.pill) { border-radius: 999px; }
html[data-theme="light"] dialog { border-radius: 16px; }
html[data-theme="light"] .site-header::after { opacity: .3; }

/* —— 主按钮：iOS 绿色渐变胶囊感，去斜切 —— */
html[data-theme="light"] button.primary,
html[data-theme="light"] a.button-link.primary {
  background: linear-gradient(180deg, #168039, #0d6f2d);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .12), 0 6px 18px rgba(14, 138, 44, .22);
}
html[data-theme="light"] button.primary:hover,
html[data-theme="light"] a.button-link.primary:hover {
  background: linear-gradient(180deg, #117331, #095d24);
  box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 10px 24px rgba(14, 138, 44, .26);
}
html[data-theme="light"] button.primary::after,
html[data-theme="light"] a.button-link.primary::after { opacity: .8; }

/* —— 头部与导航：Apple 毛玻璃导航条 —— */
html[data-theme="light"] .site-header {
  background: rgba(251, 251, 253, .72);
  backdrop-filter: blur(20px) saturate(1.7);
  -webkit-backdrop-filter: blur(20px) saturate(1.7);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
}
html[data-theme="light"] .main-nav a::after { border-radius: 2px; }
html[data-theme="light"] .status-rail { background: rgba(251, 251, 253, .66); }

/* —— 浅色主题的真实日场底图（-light 系列，image-set 优先 webp）—— */
/* 首页主视觉：日场奖杯场景，左侧近白区域承载深色文案 */
html[data-theme="light"] .legacy-home .home-hero {
  background: var(--surface-1) url("images/jiucai-hero-84452-light.aa550686c8a2.png") center center / cover no-repeat;
  background-image: image-set(
    url("images/jiucai-hero-84452-light.2220159b6c54.webp") type("image/webp"),
    url("images/jiucai-hero-84452-light.aa550686c8a2.png") type("image/png")
  );
}
html[data-theme="light"] .legacy-home .home-hero::before { background: none; }
/* 人像：与暗场完全一致——同一张原图、同一透明度与椭圆裁剪遮罩，仅背景不同 */
html[data-theme="light"] .legacy-home .home-hero-copy h1,
html[data-theme="light"] .legacy-home .home-hero-copy>p { text-shadow: none; }
html[data-theme="light"] .legacy-home .home-kicker { text-shadow: none; color: var(--lime-strong); }
html[data-theme="light"] .legacy-home .home-secondary {
  border-color: rgba(0, 0, 0, .12);
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(10px);
}
html[data-theme="light"] .legacy-home .home-primary {
  color: #ffffff;
  background: linear-gradient(180deg, #2ea94e, #128a34);
  box-shadow: 0 8px 22px rgba(14, 138, 44, .24);
}
html[data-theme="light"] .legacy-home .home-douyu-room {
  border-color: rgba(0, 0, 0, .1);
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .08);
}
html[data-theme="light"] .legacy-home .home-douyu-room > span { color: var(--text-2); }
html[data-theme="light"] .legacy-home .home-douyu-room > strong,
html[data-theme="light"] .legacy-home .home-douyu-room > i { color: #b45309; }
html[data-theme="light"] .home-schedule-card {
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .1);
}

/* 赛事创建向导：同款日场底图（暗场为夜场摄影） */
html[data-theme="light"] .tournament-setup-page {
  background: var(--surface-0) url("images/jiucai-hero-84452-light.aa550686c8a2.png") center / cover fixed no-repeat;
  background-image: image-set(
    url("images/jiucai-hero-84452-light.2220159b6c54.webp") type("image/webp"),
    url("images/jiucai-hero-84452-light.aa550686c8a2.png") type("image/png")
  );
}

/* —— 草皮与球场：浅色下依然成立，微调边线 —— */
html[data-theme="light"] .football-pitch { box-shadow: inset 0 0 60px rgba(0, 0, 0, .18); }

/* —— 写死暗色的组件在浅色下的修正 —— */
/* 选择复选框/徽章底色等 rgba 暗面 */
html[data-theme="light"] .catalog-card-roles .role-tier,
html[data-theme="light"] .catalog-card-measurements {
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 1px 4px rgba(56, 38, 10, .14);
}
html[data-theme="light"] .player-results { background: #ffffff; }
html[data-theme="light"] .flash-message {
  background: rgba(255, 255, 255, .94);
  color: #6b4e0e;
}
html[data-theme="light"] .toast {
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .12);
}
/* 积分榜数字：schedule-refinement 硬编码了夜场浅色（白底不可读） */
html[data-theme="light"] .standing-record { color: #4a5560 !important; }
html[data-theme="light"] .standing-record b { color: #157034 !important; }
html[data-theme="light"] .schedule-centre-page .compact-standing-row.is-placeholder { background: var(--panel-2); }
html[data-theme="light"] .compact-standing-row.is-placeholder .standing-record { color: var(--muted) !important; }
html[data-theme="light"] .schedule-centre-page .compact-standing-row.is-placeholder .standing-record :is(span, b) { color: var(--muted) !important; }

/* 淘汰赛路由连线与节点：亮绿在白底不可读 → 换草绿 */
html[data-theme="light"] .schedule-centre-page .bracket-route-segment { stroke: #9aa7a3; }
html[data-theme="light"] .schedule-centre-page .bracket-route-segment.is-complete { stroke: #2f8f3a; filter: none; }
html[data-theme="light"] .schedule-centre-page .bracket-route-node { fill: #9aa7a3; stroke: #ffffff; }
html[data-theme="light"] .schedule-centre-page .bracket-route-node.is-complete { fill: #2f8f3a; filter: none; }
html[data-theme="light"] .playoff-route-lines g { stroke: #2f8f3a; filter: none; }
html[data-theme="light"] .schedule-centre-page .football-knockout-bracket .bracket-route-nodes circle { fill: #2f8f3a; stroke: #ffffff; filter: none; }

/* 球队工作台等页面的深色玻璃面板 → 白面板由 token 完成，这里补齐散点 */
html[data-theme="light"] .pitch-player-editor.empty .pitch-slot-avatar { background: rgba(14, 138, 44, .07); }
html[data-theme="light"] .team-squad-row.team-lineup-player:hover { background: rgba(0, 0, 0, .04); }
html[data-theme="light"] .player-assignment-row { background: rgba(0, 0, 0, .025); }
/* 积分榜底部排序规则条带（原为深色玻璃） */
html[data-theme="light"] .standings-ranking-note {
  background: rgba(0, 0, 0, .045);
}
/* 对话框阴影中性化（氛围层的绿色系阴影换成苹果灰） */
html[data-theme="light"] dialog[open] {
  box-shadow: 0 24px 70px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .9);
}
html[data-theme="light"] .schedule-centre-page .bracket-scroll-hint { background: rgba(0, 0, 0, .05); }

/* 导航进度条与 frozen 横幅：浅色适配 */
html[data-theme="light"] .navigation-pending::before {
  background: linear-gradient(90deg, transparent, #2ea94e 35%, #0b7024 72%, transparent);
  filter: drop-shadow(0 0 6px rgba(14, 138, 44, .4));
}
html[data-theme="light"] .navigation-pending__label {
  background: rgba(255, 255, 255, .92);
  border-color: rgba(14, 138, 44, .3);
  color: var(--text-1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
}
/* —— 氛围层在浅色下的收敛：更克制、更 Apple —— */
html[data-theme="light"] body::after { opacity: .14; }
html[data-theme="light"] #ambient-flow { opacity: .55; }
html[data-theme="light"] .mobile-nav-drawer {
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(24px) saturate(1.6);
  -webkit-backdrop-filter: blur(24px) saturate(1.6);
}
html[data-theme="light"] .database-nav-menu,
html[data-theme="light"] .season-switcher ul {
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(24px) saturate(1.7);
  -webkit-backdrop-filter: blur(24px) saturate(1.7);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .14), inset 0 1px 0 rgba(255, 255, 255, .9);
}

/* 独立落地页（无站点头部）的悬浮切换按钮 */
.platform-theme-toggle {
  position: fixed;
  z-index: 60;
  top: 18px;
  right: 18px;
}
.mobile-nav-theme-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 12px 18px 0;
  border-top: 1px solid var(--line);
}
.mobile-nav-theme-row .theme-toggle { transform: scale(.92); transform-origin: left center; }
.mobile-nav-theme-label {
  color: var(--text-2);
  font-size: 13px;
  font-weight: 700;
}

/* —— 赛程中心（积分榜 / 小组赛程 / 附加赛 / 淘汰赛）日间适配 —— */
/* 完成的比赛行：夜场的深绿渐变（rgba(16,49,42,.9)）在日间把黑色比分
   和绿色链接整个压住，换成淡草色洗底 + 深色文字 */
html[data-theme="light"] .fixture-queue-row.complete {
  border-color: rgba(14, 138, 44, .26);
  background: linear-gradient(105deg, rgba(14, 138, 44, .1), rgba(255, 255, 255, .92));
}
html[data-theme="light"] .fixture-queue-state > b { color: #157034; }

/* 阶段标题（八强/半决赛/名次赛/交叉赛…）：夜场青柠 #d6ff91 带!important，
   白底不可读；这里以更高优先级压成深草绿 */
html[data-theme="light"] .schedule-centre-page .football-knockout-bracket .bracket-stage > h3,
html[data-theme="light"] .schedule-centre-page .playoff-bracket .playoff-bracket-stage > h3 {
  color: #157034 !important;
  text-shadow: none;
}
html[data-theme="light"] .schedule-centre-page .football-knockout-bracket .bracket-stage > h3::after,
html[data-theme="light"] .schedule-centre-page .playoff-bracket .playoff-bracket-stage > h3::after {
  background: linear-gradient(90deg, transparent, #2f8f3a, transparent);
}

/* 赛程面板：淡草绿顶光渐变，替代纯白单调 */
html[data-theme="light"] .schedule-centre-page .group-fixture-workbench,
html[data-theme="light"] .schedule-centre-page .group-overview-column .panel {
  background: linear-gradient(180deg, #eef6ea 0%, #ffffff 34%);
}

/* Dense schedule data needs an opaque reading surface over the stadium image. */
html[data-theme="light"] .schedule-centre-page .fixture-queue-list {
  background: var(--panel-2);
}
html[data-theme="light"] .schedule-centre-page .fixture-progress span {
  color: var(--muted) !important;
}
html[data-theme="light"] .schedule-centre-page .schedule-phase-nav a {
  background: var(--panel-2);
}
html[data-theme="light"] .schedule-centre-page .schedule-phase-nav a.active {
  background: var(--surface-success);
}
html[data-theme="light"] .schedule-centre-page .schedule-phase-nav a.active i {
  color: var(--lime-ink);
}
html[data-theme="light"] .schedule-centre-page .compact-standing-row.qualification-direct {
  background: var(--surface-success);
}
html[data-theme="light"] .schedule-centre-page .compact-standing-row.qualification-playoff {
  background: var(--surface-sealed);
}
html[data-theme="light"] .schedule-centre-page .qualification-direct > i,
html[data-theme="light"] .schedule-centre-page .qualification-direct .qualification-marker {
  color: var(--lime-strong);
}
html[data-theme="light"] .schedule-centre-page .qualification-direct .qualification-marker {
  background: var(--surface-success);
}
html[data-theme="light"] .schedule-centre-page .qualification-playoff .qualification-marker {
  background: var(--surface-sealed);
}
html[data-theme="light"] .schedule-centre-page .schedule-reset-trigger {
  background: var(--surface-danger);
}
html[data-theme="light"] .schedule-centre-page .schedule-reset-trigger:hover {
  background: color-mix(in srgb, var(--coral) 15%, var(--surface-1));
}
html[data-theme="light"] .team-selector-identity > span,
html[data-theme="light"] .team-workbench-head > div > span {
  color: var(--lime-strong);
}
html[data-theme="light"] .team-lineup-roster-row.is-starter .roster-lineup-status {
  background: var(--surface-success);
  color: var(--lime-strong);
}
html[data-theme="light"] .team-lineup-roster-row.is-bench .roster-lineup-status {
  background: var(--surface-sealed);
}
html[data-theme="light"] .home-event-create,
html[data-theme="light"] .legacy-home .home-route-primary {
  color: var(--lime-ink);
}
html[data-theme="light"] .home-event-create:hover,
html[data-theme="light"] .legacy-home .home-route-primary:hover {
  background: var(--lime-strong);
  color: var(--lime-ink);
}
html[data-theme="light"] .database-resource-tabs a.active {
  background: var(--surface-success);
  color: var(--lime-strong);
}
html[data-theme="light"] .auth-story .eyebrow {
  color: #fff;
}

/* 已完成的对阵卡：夜场深绿渐变（rgba(23,61,51,.96)）在日间是黑岛，
   换成白底淡草绿，保留“已完成”的绿意；文字统一深色 */
html[data-theme="light"] .schedule-centre-page :is(.playoff-bracket, .football-knockout-bracket) .knockout-match.complete {
  border-color: rgba(14, 138, 44, .34);
  background:
    radial-gradient(circle at 12% -18%, rgba(14, 138, 44, .12), transparent 47%),
    linear-gradient(145deg, #ffffff, #eef6ea);
  color: var(--text-1);
}
/* 名次赛卡：冠军金 / 三四名蓝同样转浅 */
html[data-theme="light"] .schedule-centre-page .football-knockout-bracket .placement-final .knockout-match {
  border-color: rgba(176, 141, 32, .42);
  background:
    radial-gradient(circle at 50% -12%, rgba(202, 158, 22, .14), transparent 49%),
    linear-gradient(145deg, #fffdf6, #fbf6e6);
  color: var(--text-1);
}
html[data-theme="light"] .schedule-centre-page .football-knockout-bracket .placement-third .knockout-match {
  border-color: rgba(84, 143, 200, .4);
  background:
    radial-gradient(circle at 50% -12%, rgba(84, 143, 200, .12), transparent 49%),
    linear-gradient(145deg, #ffffff, #eef4fb);
  color: var(--text-1);
}

/* 附加赛“晋级八强”席位块：夜场深绿渐变 → 白底淡草绿 */
html[data-theme="light"] .schedule-centre-page .playoff-qualification-slot.resolved {
  border-color: rgba(14, 138, 44, .28);
  background:
    radial-gradient(circle at 15% -15%, rgba(14, 138, 44, .12), transparent 48%),
    linear-gradient(145deg, #ffffff, #eef6ea);
  color: var(--text-1);
}

/* 回合操作小链接（“战报/评分”“设置”）：夜场青柠字白底不可读 → 深草绿 */
html[data-theme="light"] .schedule-centre-page .postseason-leg-state,
html[data-theme="light"] .schedule-centre-page .postseason-round-options {
  border-color: rgba(14, 138, 44, .32);
  background: rgba(14, 138, 44, .08);
  color: #157034;
}

/* 卡片上的金色“战报/评分”链接：夜场金-on-墨绿，白底看不清 → 深金 */
html[data-theme="light"] .schedule-centre-page .fixture-card-report {
  border-color: rgba(176, 141, 32, .38);
  background: linear-gradient(135deg, rgba(229, 185, 76, .16), rgba(255, 255, 255, .9));
  color: #8a6408 !important;
}

/* —— 减少动态：与全站兜底一致 —— */
@media (prefers-reduced-motion: reduce) {
  html[data-theme="light"] .home-hero::after { animation: none; }
}
