/**
 * 子比（Zibll）主题桥接：与 body 上的主题变量、圆角、内容区宽度一致；依赖 wpsxep-front 之后加载。
 * 夜间由 body.dark-theme 与插件内 body.dark-theme 选择器共同作用（见 front.css / practice.css）。
 */

body .wpsxep-front-wrap,
body .wpsxep-lecture-wrap.wpsxep-front-wrap {
  --wpsxep-accent: var(--theme-color, var(--tb--main, #f04494));
  --wpsxep-accent-hover: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 88%, #000);
  --wpsxep-accent-soft: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 11%, var(--main-bg-color, #fff));
  --wpsxep-accent-soft-border: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 28%, var(--main-border-color, #e9e9e9));
  --wpsxep-accent-ring: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 22%, transparent);
  --wpsxep-surface-card: var(--main-bg-color, #fff);
  --wpsxep-surface-soft: var(--muted-bg-color, #fafafa);
  --wpsxep-surface-soft-hover: var(--main-bg-color, #fff);
  --wpsxep-border-main: var(--main-border-color, #e9e9e9);
  --wpsxep-border-soft: var(--muted-border-color, #eee);
  --wpsxep-border-soft-hover: color-mix(in srgb, var(--main-border-color) 75%, var(--muted-color, #777));
  --wpsxep-text-main: var(--key-color, #333);
  --wpsxep-text-subtle: var(--main-color, #4e5358);
  --wpsxep-text-muted: var(--muted-color, #888);
  --wpsxep-input-bg: var(--main-bg-color, #fff);
  --wpsxep-input-border: var(--main-border-color, #d8d8d8);
  --wpsxep-input-text: var(--key-color, #333);
}

body.dark-theme .wpsxep-front-wrap,
body.dark-theme .wpsxep-lecture-wrap.wpsxep-front-wrap {
  --wpsxep-accent-soft: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 14%, var(--main-bg-color, #323335));
  --wpsxep-accent-soft-border: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 34%, var(--main-border-color, #334155));
  --wpsxep-accent-ring: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 30%, transparent);
}

/* 内层 section 不再带 .container，宽度由外层 main.container 约束（与子比 page.php 一致） */
section.wpsxep-front-wrap {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* 与主内容区一致：卡片/空状态上限与子比 1250 对齐（父主题变量优先） */
body .wpsxep-front-wrap .wpsxep-card,
body .wpsxep-front-wrap .wpsxep-result,
body .wpsxep-front-wrap .wpsxep-empty {
  max-width: min(var(--mian-max-width, 1250px), 100%);
}

/*
 * 题库双栏：主栏内卡片必须拉满 flex 主栏。若仅依赖 front.css 且本文件在后，
 * 上面「body .wpsxep-front-wrap .wpsxep-card」会与 bank-main 规则抢 max-width，
 * 导致主栏卡片再次变成「整页版心宽 + 水平居中」，与侧栏之间出现大缝（组卷中心等观感与首页不一致）。
 */
body .wpsxep-front-wrap .wpsxep-bank-layout .wpsxep-bank-main > .wpsxep-card {
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

/*
 * A) 普通页面：正文在 .article 内有水平 padding（默认 30px），插件根在 .wp-posts-content 内须拉满。
 *    使用后代选择器，兼容短代码外包一层 .wp-block-shortcode / .wp-block-html 等。
 * B) WPSXEP「页面模板」：<main class="container site-main"> 与子比 page.php 的 main.container 对齐；内层 section 不再叠用 .container。
 */
.article .wp-posts-content section.wpsxep-front-wrap {
  --wpsxep-zibll-bleed-x: 30px;
  margin-left: calc(-1 * var(--wpsxep-zibll-bleed-x));
  margin-right: calc(-1 * var(--wpsxep-zibll-bleed-x));
  width: calc(100% + 2 * var(--wpsxep-zibll-bleed-x));
  max-width: none !important;
  box-sizing: border-box;
}

main.container.page-content-full .article .wp-posts-content section.wpsxep-front-wrap,
main.container.page-content-nobox .article .wp-posts-content section.wpsxep-front-wrap {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

.article .wp-posts-content > [class*="wp-block-wpsxep-"] {
  --wpsxep-zibll-bleed-x: 30px;
  margin-left: calc(-1 * var(--wpsxep-zibll-bleed-x));
  margin-right: calc(-1 * var(--wpsxep-zibll-bleed-x));
  width: calc(100% + 2 * var(--wpsxep-zibll-bleed-x));
  max-width: none;
  box-sizing: border-box;
}

main.container.page-content-full .article .wp-posts-content > [class*="wp-block-wpsxep-"],
main.container.page-content-nobox .article .wp-posts-content > [class*="wp-block-wpsxep-"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100%;
}

/* 插件页面模板版心 / main.site-main / .content-wrap 叠套：见 wpsxep-plugin-page-layout.css（全主题入队，含 Nihil fork） */

@media (max-width: 640px) {
  .article .wp-posts-content section.wpsxep-front-wrap,
  .article .wp-posts-content > [class*="wp-block-wpsxep-"] {
    --wpsxep-zibll-bleed-x: 15px;
  }
}

/* 函数实验室两栏：与主题主栏 + 侧栏（311px）及间距（15px）一致（仅桌面，避免窄屏双列撑爆） */
@media (min-width: 783px) {
  body .wpsxep-function-lab-grid {
    grid-template-columns: min(311px, 100%) minmax(0, 1fr);
    gap: 15px;
  }

  body .wpsxep-bank-wrap .wpsxep-bank-sidebar,
  body .wpsxep-bank-wrap--wide-sidebar .wpsxep-bank-sidebar {
    flex: 0 0 311px;
  }
}

@media (max-width: 782px) {
  body .wpsxep-function-lab-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body .wpsxep-bank-wrap .wpsxep-bank-layout {
    display: block;
    gap: 12px;
  }

  body .wpsxep-bank-wrap .wpsxep-bank-sidebar,
  body .wpsxep-bank-wrap--wide-sidebar .wpsxep-bank-sidebar {
    flex: none;
    width: 100%;
    max-width: 100%;
    position: static;
    margin-left: 0;
    margin-right: 0;
  }

  body .wpsxep-bank-wrap .wpsxep-bank-main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body .wpsxep-bank-wrap .wpsxep-bank-pick {
    margin-left: 0;
  }

  body .wpsxep-bank-wrap .wpsxep-paper-bank-filters .wpsxep-bank-filters-row {
    grid-template-columns: 1fr;
  }
}

body .wpsxep-lh-layout {
  gap: 15px;
}

/* 自主刷题：与主题变量对齐 */
body .wpsxep-practice-wrap {
  --wpsxep-practice-border: var(--main-border-color, #e9e9e9);
  --wpsxep-practice-border-strong: color-mix(in srgb, var(--main-border-color) 85%, var(--muted-color));
  --wpsxep-practice-muted: var(--muted-color, #555);
  --wpsxep-practice-text: var(--key-color, #333);
  --wpsxep-practice-panel: color-mix(in srgb, var(--muted-bg-color) 70%, var(--body-bg-color, #f5f6f7));
  --wpsxep-practice-surface: var(--body-bg-color, #f5f6f7);
  --wpsxep-practice-surface-2: var(--main-bg-color, #fff);
  --wpsxep-practice-progress: var(--key-color, #1a1a1a);
}

body.dark-theme .wpsxep-practice-wrap {
  --wpsxep-practice-border: var(--main-border-color);
  --wpsxep-practice-border-strong: color-mix(in srgb, var(--main-border-color) 65%, var(--muted-2-color));
  --wpsxep-practice-muted: var(--muted-color);
  --wpsxep-practice-text: var(--key-color);
  --wpsxep-practice-panel: color-mix(in srgb, var(--muted-bg-color) 55%, var(--main-bg-color));
  --wpsxep-practice-surface: var(--muted-bg-color);
  --wpsxep-practice-surface-2: var(--main-bg-color);
  --wpsxep-practice-progress: var(--key-color);
}

/* ========== 子比：章节/知识点选题、侧栏与底栏（与 theme-box / .but 观感对齐）========== */
body .wpsxep-bank-wrap {
  font-family: inherit;
  color: var(--key-color, inherit);
}

/* 与子比 .site-layout-2 .content-layout { margin-right: calc(311px + 15px) } 中主栏与侧栏间距 15px 一致 */
body .wpsxep-bank-wrap .wpsxep-bank-layout {
  gap: 15px;
}

body .wpsxep-bank-wrap .wpsxep-bank-sidebar-card,
body .wpsxep-bank-wrap .wpsxep-bank-main > .wpsxep-card {
  background: var(--main-bg-color, #fff);
  border: 1px solid var(--main-border-color, #e9e9e9);
  border-radius: var(--main-radius, 8px);
  box-shadow: 0 0 10px var(--main-shadow, rgba(0, 0, 0, 0.04));
}

body .wpsxep-bank-wrap .wpsxep-bank-sidebar-card h3 {
  color: var(--key-color, #1e293b);
  border-bottom-color: var(--main-border-color, #f0f0f0);
}

body .wpsxep-bank-wrap .wpsxep-bank-sidebar-card h3::before {
  background: var(--wpsxep-bank-title-rule, var(--theme-color, var(--wpsxep-accent, #3b82f6)));
}

body .wpsxep-bank-wrap .wpsxep-card h2 {
  color: var(--key-color, #333);
  border-bottom-color: var(--main-border-color, #f0f0f0);
}

body .wpsxep-bank-wrap .wpsxep-bank-card {
  background: var(--main-bg-color, #fff);
  border-color: var(--main-border-color, #e6eef5);
  border-radius: var(--main-radius, 8px);
  box-shadow: 0 0 10px var(--main-shadow, rgba(15, 23, 42, 0.05));
}

body .wpsxep-bank-wrap .wpsxep-bank-card-head {
  color: var(--muted-color, #64748b);
}

body .wpsxep-bank-wrap .wpsxep-bank-stars .wpsxep-ds.is-on {
  color: var(--focus-color, #f59e0b);
}

body .wpsxep-bank-wrap .wpsxep-bank-chapter-root {
  border-bottom-color: var(--main-border-color, #e2e8f0);
}

body .wpsxep-bank-wrap .wpsxep-bank-chapter-root-label {
  color: var(--muted-color, #888);
}

body .wpsxep-bank-wrap .wpsxep-bank-chapter-root-select {
  color: var(--key-color, #333);
  background: var(--muted-bg-color, #f8fafc);
  border-color: var(--main-border-color, #e2e8f0);
  border-radius: var(--main-radius, 10px);
  box-shadow: none;
}

body .wpsxep-bank-wrap .wpsxep-paper-bank-header {
  border-bottom: 2px solid var(--wpsxep-bank-title-rule, var(--theme-color, var(--wpsxep-accent, #3b82f6)));
}

body .wpsxep-bank-wrap .wpsxep-paper-bank-title {
  color: var(--key-color, #1e293b);
}

body .wpsxep-bank-wrap .wpsxep-paper-bank-filters .wpsxep-filter-label {
  color: var(--muted-color, #64748b);
}

body .wpsxep-bank-wrap .wpsxep-bank-filters-row .wpsxep-filter-field input[type="text"],
body .wpsxep-bank-wrap .wpsxep-bank-filters-row .wpsxep-filter-field input[type="search"],
body .wpsxep-bank-wrap .wpsxep-bank-filters-row .wpsxep-filter-field select {
  border-radius: var(--main-radius, 6px);
  border-color: var(--main-border-color, #d8d8d8);
  background: var(--main-bg-color, #fff);
  color: var(--key-color, #333);
}

body .wpsxep-bank-wrap .wpsxep-btn {
  border-radius: var(--main-radius, 6px);
  font-weight: 500;
  line-height: 1.44;
  box-shadow: none;
}

body .wpsxep-bank-wrap .wpsxep-btn:hover {
  opacity: 0.92;
}

body .wpsxep-bank-wrap .wpsxep-btn-outline {
  background: var(--main-bg-color, #fff);
  border-color: var(--main-border-color, #e2e8f0);
  color: var(--main-color, #4e5358);
}

body .wpsxep-bank-wrap .wpsxep-btn-outline:hover {
  border-color: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 38%, var(--main-border-color));
  color: var(--theme-color, var(--wpsxep-accent));
  background: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 8%, var(--main-bg-color));
}

body .wpsxep-bank-wrap .wpsxep-bank-card-foot {
  gap: 12px 14px;
  align-items: center;
  border-top-color: color-mix(in srgb, var(--main-border-color) 85%, transparent);
}

body .wpsxep-bank-wrap .wpsxep-bank-foot-meta {
  min-width: min(100%, 12rem);
  line-height: 1.55;
}

body .wpsxep-bank-wrap .wpsxep-bank-analysis-body {
  background: var(--muted-bg-color, #f8fafc);
  border-color: var(--main-border-color, #cbd5e1);
  color: var(--main-color, #334155);
  border-radius: var(--main-radius, 6px);
}

body .wpsxep-bank-wrap .wpsxep-question {
  border-radius: var(--main-radius, 8px);
  background: var(--muted-bg-color, #fafafa);
  border-color: var(--main-border-color, #eee);
}

body .wpsxep-cart-bar {
  background: color-mix(in srgb, var(--main-bg-color, #fff) 92%, transparent);
  border-top-color: var(--main-border-color, #e5e5e5);
  color: var(--key-color, #333);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
}

body .wpsxep-cart-drawer {
  background: var(--main-bg-color, #fff);
  border-top-color: var(--main-border-color, #e5e5e5);
}

body.dark-theme .wpsxep-cart-bar {
  background: color-mix(in srgb, var(--main-bg-color, #1e293b) 94%, transparent);
  color: var(--key-color, #e2e8f0);
  border-top-color: var(--main-border-color, #334155);
}

html:not(.darking) body .wpsxep-bank-wrap .wpsxep-bank-options li,
html:not(.darking) body .wpsxep-bank-wrap .wpsxep-bank-options .wpsxep-opt-mark,
html:not(.darking) body .wpsxep-bank-wrap .wpsxep-bank-options .wpsxep-opt-text {
  color: var(--key-color, #334155) !important;
}

/* 组卷等其它前台卡片：圆角与阴影随子比 */
body .wpsxep-front-wrap.wpsxep-compose-wrap .wpsxep-card,
body .wpsxep-front-wrap .wpsxep-card {
  border-radius: var(--main-radius, 8px);
}

body .wpsxep-front-wrap.wpsxep-compose-wrap .wpsxep-card {
  border-color: var(--main-border-color, #e9e9e9);
  box-shadow: 0 0 10px var(--main-shadow, rgba(0, 0, 0, 0.04));
}

body .wpsxep-front-wrap.wpsxep-compose-wrap .wpsxep-btn {
  border-radius: var(--main-radius, 6px);
  font-weight: 500;
  box-shadow: none;
}

/* 古腾堡区块根节点不在 .wpsxep-front-wrap 内时需单独映射主题变量（含夜间 / 子比夜间类名） */
body [class*="wp-block-wpsxep-"] {
  --wpsxep-accent: var(--theme-color, var(--tb--main, #f04494));
  --wpsxep-accent-hover: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 88%, #000);
  --wpsxep-accent-soft: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 11%, var(--main-bg-color, #fff));
  --wpsxep-accent-soft-border: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 28%, var(--main-border-color, #e9e9e9));
  --wpsxep-accent-ring: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 22%, transparent);
  --wpsxep-surface-card: var(--main-bg-color, #fff);
  --wpsxep-surface-soft: var(--muted-bg-color, #fafafa);
  --wpsxep-surface-soft-hover: var(--main-bg-color, #fff);
  --wpsxep-border-main: var(--main-border-color, #e9e9e9);
  --wpsxep-border-soft: var(--muted-border-color, #eee);
  --wpsxep-border-soft-hover: color-mix(in srgb, var(--main-border-color) 75%, var(--muted-color, #777));
  --wpsxep-text-main: var(--key-color, #333);
  --wpsxep-text-subtle: var(--main-color, #4e5358);
  --wpsxep-text-muted: var(--muted-color, #888);
  --wpsxep-input-bg: var(--main-bg-color, #fff);
  --wpsxep-input-border: var(--main-border-color, #d8d8d8);
  --wpsxep-input-text: var(--key-color, #333);
  --wpsxep-gb-text: var(--key-color, #334155);
  --wpsxep-gb-text-muted: var(--main-color, #475569);
  --wpsxep-gb-card-bg: var(--main-bg-color, #fff);
  --wpsxep-gb-card-surface: var(--main-bg-color, #fff);
  --wpsxep-gb-card-head: var(--muted-bg-color, #f8fafc);
  --wpsxep-gb-card-border: 1px solid var(--main-border-color, #e2e8f0);
  --wpsxep-gb-line-muted: var(--muted-border-color, #edf2f7);
  --wpsxep-gb-chip-border: 1px solid color-mix(in srgb, var(--main-border-color) 80%, var(--muted-color));
  max-width: 100%;
  box-sizing: border-box;
}

body.dark-theme [class*="wp-block-wpsxep-"],
html.darking [class*="wp-block-wpsxep-"],
body.darking [class*="wp-block-wpsxep-"] {
  --wpsxep-accent-soft: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 14%, var(--main-bg-color, #323335));
  --wpsxep-accent-soft-border: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 34%, var(--main-border-color, #334155));
  --wpsxep-accent-ring: color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 30%, transparent);
  --wpsxep-gb-text: var(--key-color, #e2e8f0);
  --wpsxep-gb-text-muted: var(--muted-color, #94a3b8);
  --wpsxep-gb-card-bg: var(--main-bg-color, #1e293b);
  --wpsxep-gb-card-surface: var(--main-bg-color, #1e293b);
  --wpsxep-gb-card-head: color-mix(in srgb, var(--muted-bg-color) 70%, var(--main-bg-color));
  --wpsxep-gb-card-border: 1px solid var(--main-border-color, #334155);
  --wpsxep-gb-line-muted: var(--main-border-color, #334155);
  --wpsxep-gb-chip-border: 1px solid var(--main-border-color, #475569);
}

/* 移动端：避免表格 min-width 撑破子比正文卡片（article.theme-box） */
@media (max-width: 782px) {
  body .article [class*="wp-block-wpsxep-"] .wpsxep-gb-table-wrap,
  body [class*="wp-block-wpsxep-"] .wpsxep-gb-table-wrap {
    max-width: 100%;
    box-sizing: border-box;
  }

  body .article [class*="wp-block-wpsxep-"] .wpsxep-gb-table,
  body [class*="wp-block-wpsxep-"] .wpsxep-gb-table {
    min-width: 0;
  }
}

/* -------------------------------------------------------------------------- */
/* 讲义制作页：与子比主色、卡片层次对齐（简约留白 + 左侧色条标题）              */
/* -------------------------------------------------------------------------- */
body .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-title {
  border-bottom-color: var(--wpsxep-border-main, #e9e9e9);
}

body .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-lead.description {
  border-left-color: var(--theme-color, var(--wpsxep-accent));
  background: linear-gradient(
    125deg,
    var(--wpsxep-accent-soft, #fff5f8) 0%,
    var(--muted-bg-color, #fafafa) 45%,
    var(--muted-bg-color, #fafafa) 100%
  );
  border-color: var(--wpsxep-accent-soft-border, #e9e9e9);
}

body .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-panel {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.035), 0 14px 48px rgba(0, 0, 0, 0.055);
}

body .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-panel h2 {
  border-bottom: none;
  padding-bottom: 0.2rem;
  padding-left: 0.7rem;
  margin-bottom: 1.05rem;
  border-left: 3px solid var(--theme-color, var(--wpsxep-accent));
}

body .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-subh {
  border-top-color: var(--wpsxep-border-main, #e9e9e9);
}

body .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-ev-toolbar .button-small {
  border: 1px solid var(--wpsxep-border-main, #e9e9e9);
  background: var(--main-bg-color, #fff);
  color: var(--wpsxep-text-subtle, #4e5358);
}

body .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-ev-toolbar .button-small:hover {
  border-color: var(--wpsxep-accent-soft-border, #e0e0e0);
  background: var(--wpsxep-accent-soft, #fff8fb);
  color: var(--wpsxep-text-main, #333);
}

body .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-actions {
  background: var(--muted-bg-color, #fafafa);
  border-color: var(--wpsxep-border-main, #e9e9e9);
}

body.dark-theme .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-panel,
html.darking .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-panel,
body.darking .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-panel {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

body.dark-theme .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-lead.description,
html.darking .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-lead.description,
body.darking .wpsxep-lecture-wrap.wpsxep-front-wrap .wpsxep-lecture-lead.description {
  background: linear-gradient(
    125deg,
    color-mix(in srgb, var(--theme-color, var(--wpsxep-accent)) 12%, var(--main-bg-color, #1e293b)) 0%,
    var(--main-bg-color, #1e293b) 50%,
    var(--main-bg-color, #1e293b) 100%
  );
}

/* 分层作业内容页：主栏大卡片与分级条与子比主色对齐 */
body .wpsxep-lh-detail-layout .wpsxep-lh-detail-main.wpsxep-bank-sidebar-card {
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.035),
    0 16px 48px -18px rgba(0, 0, 0, 0.08);
}

body .wpsxep-lh-detail-layout .wpsxep-lh-section-title {
  border-left-color: var(--theme-color, var(--wpsxep-accent));
}

body.dark-theme .wpsxep-lh-detail-layout .wpsxep-lh-detail-main.wpsxep-bank-sidebar-card,
html.darking .wpsxep-lh-detail-layout .wpsxep-lh-detail-main.wpsxep-bank-sidebar-card,
body.darking .wpsxep-lh-detail-layout .wpsxep-lh-detail-main.wpsxep-bank-sidebar-card {
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.32);
}
