/* ============================================
   破局AI导航 · 主题桥接层（onenav → 15变量体系）
   规则：html 带 data-theme 属性时接管样式；未设置（默认）保持原站视觉，向后兼容。
   消费 preset-themes.css 的 15 变量 + motion-presets.css 的动效变量。
   ============================================ */

/* ---------- 配色接管 ---------- */
[data-theme] body {
  background: rgb(var(--color-bg)) !important;
  color: rgb(var(--color-text));
}
/* 注意：不给全局 a 上主题色 —— 顶部导航在 banner 渐变图上需保持原白色，否则对比度不足 */
[data-theme] .text-muted, [data-theme] .text-muted p { color: rgb(var(--color-muted)) !important; }

/* 卡片体系 */
[data-theme] .card,
[data-theme] .url-card .url-body,
[data-theme] .site-body,
[data-theme] .card-body {
  background: rgb(var(--color-surface)) !important;
  border: 1px solid rgb(var(--color-border)) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-card) !important;
  transition: box-shadow var(--motion-duration-base, 300ms) var(--motion-ease, ease),
              transform var(--motion-duration-base, 300ms) var(--motion-ease, ease);
}
[data-theme] .card:hover,
[data-theme] .url-card .url-body:hover { box-shadow: var(--shadow-hover) !important; }

/* 顶栏 / 侧栏 / footer */
[data-theme] .navbar,
[data-theme] .sidebar-nav-inner,
[data-theme] .sidebar,
[data-theme] footer.footer { background: rgb(var(--color-surface)) !important; }
[data-theme] footer.footer, [data-theme] footer.footer a { color: rgb(var(--color-muted)); }

/* 顶栏链接对比度：navbar 背景已被接管为 surface，链接文字必须跟随 --color-text
   （亮色主题=深字/浅底，暗色主题=浅字/深底），否则暗色下导航文字不可读 */
[data-theme] .navbar a,
[data-theme] .navbar .nav-link,
[data-theme] .navbar-menu a { color: rgb(var(--color-text)) !important; }
[data-theme] .navbar a:hover { color: rgb(var(--color-accent)) !important; }
/* 带自身底色的胶囊（活动 pill 等橙底白字）保持白字 */
[data-theme] .navbar a.btn,
[data-theme] .navbar a[class*="bg-"] { color: #fff !important; }

/* 侧栏菜单文字（桌面+移动抽屉）：跟随主题文字色，hover 用点缀色 */
[data-theme] .sidebar-menu-inner a,
[data-theme] .sidebar-nav .flex-bottom a { color: rgb(var(--color-muted)) !important; }
[data-theme] .sidebar-menu-inner a:hover,
[data-theme] .sidebar-menu-inner a.active { color: rgb(var(--color-text)) !important; }
[data-theme] .sidebar-menu-inner a .iconfont,
[data-theme] .sidebar-menu-inner a .fas { color: rgb(var(--color-accent)) !important; }

/* 详情页正文协调：site-body / panel-body 文字跟随主题，暗色下不再黑字黑底 */
[data-theme] .site-body,
[data-theme] .site-body p,
[data-theme] .site-body h1,
[data-theme] .site-body h2,
[data-theme] .site-body strong,
[data-theme] .panel-body,
[data-theme] .panel-body p,
[data-theme] .single p,
[data-theme] .text-gray { color: rgb(var(--color-text)) !important; }
[data-theme] .site-body .text-muted,
[data-theme] .panel-body .text-muted { color: rgb(var(--color-muted)) !important; }
[data-theme] .panel,
[data-theme] .panel-body { background: rgb(var(--color-surface)) !important; border-color: rgb(var(--color-border)) !important; }

/* 卡片标题/加粗文字：暗色主题下跟随文字色（否则 strong 固定深色不可读） */
[data-theme] .url-card strong,
[data-theme] .card strong,
[data-theme] .card-title,
[data-theme] .site-name { color: rgb(var(--color-text)) !important; }

/* 搜索框与按钮 */
[data-theme] .super-search-fm input,
[data-theme] .search-input,
[data-theme] input.form-control {
  background: rgb(var(--color-surface)) !important;
  color: rgb(var(--color-text)) !important;
  border: 1px solid rgb(var(--color-border)) !important;
  border-radius: var(--radius-control) !important;
}
[data-theme] .btn-primary,
[data-theme] .search-submit {
  background: rgb(var(--color-accent)) !important;
  border-color: rgb(var(--color-accent)) !important;
  border-radius: var(--radius-control) !important;
}
[data-theme] .btn { border-radius: var(--radius-control) !important; }

/* 标签 / 徽章点缀 */
[data-theme] .badge, [data-theme] .label {
  border-radius: var(--radius-control) !important;
}

/* ---------- 动效消费（data-motion 三档） ---------- */
/* normal：默认节奏，卡片入场淡入上移 */
[data-motion="normal"] .card,
[data-motion="normal"] .url-card {
  animation: pojuai-fade-up var(--motion-duration-base, 300ms) var(--motion-ease, ease) both;
}
/* rich：延长入场 + hover 上浮 */
[data-motion="rich"] .card,
[data-motion="rich"] .url-card {
  animation: pojuai-fade-up var(--motion-duration-slow, 500ms) var(--motion-ease, ease) both;
}
[data-motion="rich"] .card:hover,
[data-motion="rich"] .url-card .url-body:hover {
  transform: translateY(var(--motion-hover-lift, -3px));
}
[data-motion="rich"] .btn { transition: transform var(--motion-duration-fast, 180ms) var(--motion-ease, ease); }
[data-motion="rich"] .btn:hover { transform: scale(1.03); }
@keyframes pojuai-fade-up {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
/* off：禁用装饰动画（保留颜色过渡与按钮反馈） */
[data-motion="off"] .card, [data-motion="off"] .url-card { animation: none !important; }
[data-motion="off"] .card:hover, [data-motion="off"] .url-card .url-body:hover { transform: none !important; }

/* ---------- 品牌 logo 适配（裁切修复 + 手机侧栏协调） ---------- */
.logo-collapsed img { max-width: 100%; height: auto; object-fit: contain; }
.sidebar-nav .logo img { object-fit: contain; }
@media (max-width: 767px) {
  /* 移动抽屉：宽度 280px→240px（不满屏大半），logo 块与菜单项统一左对齐同内边距 */
  .sidebar-nav > * { width: 15rem !important; }
  .sidebar-nav .logo {
    text-align: left !important;
    line-height: 1.4 !important;
    padding: 14px 18px !important;
  }
  .sidebar-nav .logo img { height: 34px !important; }
}

/* ---------- 切换器 UI（右下角悬浮） ---------- */
#pojuai-theme-fab {
  position: fixed; right: 18px; bottom: 88px; z-index: 9999;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgb(var(--color-accent, 34 197 139)); color: #fff;
  border: none; cursor: pointer; font-size: 20px; line-height: 44px; text-align: center;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
}
#pojuai-theme-panel {
  position: fixed; right: 18px; bottom: 140px; z-index: 9999;
  width: 232px; padding: 14px; border-radius: 14px;
  background: #fff; color: #1a1a2e;
  box-shadow: 0 8px 32px rgba(0,0,0,0.22);
  font: 13px/1.5 system-ui, 'Microsoft YaHei', sans-serif;
  display: none;
}
#pojuai-theme-panel.open { display: block; }
#pojuai-theme-panel h4 { margin: 0 0 8px; font-size: 13px; color: #555; }
#pojuai-theme-panel .pt-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 12px; }
#pojuai-theme-panel .pt-swatch {
  width: 30px; height: 30px; border-radius: 8px; cursor: pointer;
  border: 2px solid transparent; margin: 0 auto;
}
#pojuai-theme-panel .pt-swatch.active { border-color: #1a1a2e; }
#pojuai-theme-panel .pt-name { font-size: 11px; text-align: center; color: #888; margin-top: 2px; }
#pojuai-theme-panel .pt-row { display: flex; gap: 6px; }
#pojuai-theme-panel .pt-btn {
  flex: 1; padding: 6px 0; border-radius: 8px; border: 1px solid #ddd;
  background: #f7f7f8; cursor: pointer; font-size: 12px; color: #333;
}
#pojuai-theme-panel .pt-btn.active { background: #1a1a2e; color: #fff; border-color: #1a1a2e; }
