/**
 * v2-bridge.css —— 旧页面（学习系统、关于、投稿、登录等）套用 V2 顶栏 / 页脚时的衔接样式
 * 顶栏、页脚、底部 Tab 用 V2 的 tokens.css + components.css + layout.css；这里只处理和旧 style.css 的冲突。
 */
/* V2 外壳的包裹层不占位置（顶栏吸顶要相对整页） */
.kb2-chrome { display: contents; }
/* 旧 style.css 给所有 button 设了 44px 最小尺寸，V2 顶栏的小按钮不受它影响（:where 不加特异性，V2 自己的尺寸仍然生效） */
:where(.kb2-chrome) button { min-height: auto; min-width: auto; }
/* 和新版页面同一底色、同一字体（后台设置的网站背景图仍然生效） */
body.site-page, body.learning-page { background-color: var(--kb-bg) !important; font-family: var(--kb-font-sans); }
/* 右下角 AI 气泡：手机上让开底部 Tab */
@media (max-width: 899px) {
  body.kb-has-tabbar .chat-bubble { bottom: calc(var(--kb-tabbar-h) + 16px + env(safe-area-inset-bottom)); }
}
/* ===== 学习工具页的侧栏：和学习首页（/v2/learn.php）的侧栏一个样子（includes/learning-tools-sidebar.php） ===== */
.learning-page .jp-system-shell .jp-system-sidebar.learn-sidebar { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.learning-page .jp-system-shell .learn-sidebar .jp-side-nav { gap: 2px !important; padding-top: 0 !important; }
.learning-page .jp-system-shell .learn-sidebar .jp-side-nav a {
  display: flex; align-items: center; gap: var(--kb-space-3) !important; min-height: 0 !important; padding: var(--kb-space-2) var(--kb-space-3) !important;
  border-radius: var(--kb-radius-sm) !important; background: transparent !important; box-shadow: none !important; transform: none !important;
  color: var(--kb-ink) !important; font-size: var(--kb-text-sm) !important; font-weight: 400 !important; text-decoration: none;
}
.learning-page .jp-system-shell .learn-sidebar .jp-side-nav a:hover { background: var(--kb-bg-sunken) !important; color: var(--kb-ink-strong) !important; }
.learning-page .jp-system-shell .learn-sidebar .jp-side-nav a.active { background: var(--kb-accent-soft) !important; color: var(--kb-accent-hover) !important; font-weight: 500 !important; }
.learn-sidebar .jp-side-nav a .kb-icon { color: var(--kb-muted); }
.learn-sidebar .jp-side-nav a.active .kb-icon { color: currentColor; }
.learn-sidebar-group { display: block; margin: var(--kb-space-5) var(--kb-space-3) var(--kb-space-2); color: var(--kb-muted); font-size: var(--kb-text-xs); font-weight: 500; letter-spacing: 0.04em; }
@media (max-width: 900px) {
  /* 手机 / 平板：一行横向滑动的小标签，分组标题不显示 */
  .learn-sidebar-group { display: none; }
  .learning-page .jp-system-shell .learn-sidebar .jp-side-nav a { flex: 0 0 auto !important; padding: 7px 12px !important; border: 1px solid var(--kb-border) !important; border-radius: var(--kb-radius-full, 999px) !important; background: var(--kb-surface) !important; white-space: nowrap; }
  .learning-page .jp-system-shell .learn-sidebar .jp-side-nav a.active { border-color: var(--kb-accent) !important; }
}

/* JLPT 真题：还没录入题目的场次不逐张列出（数量写在标题下 .jlpt-pending） */
.jlpt-clean-grid:not(.jlpt-clean-mock-grid) .jlpt-clean-card:not(.available) { display: none; }
.jlpt-pending { margin: 4px 0 0; color: var(--kb-muted); font-size: 13px; }

/* 学习系统侧栏吸顶位置：V2 顶栏 60px */
@media (min-width: 901px) {
  .learning-page .jp-system-shell .jp-system-sidebar { top: 80px !important; }
}
