/* 站内轻量通用增强（不破坏 6013，大多受 body.theme-dark 限定） */

:root{ --border-light:#e5e7eb; --primary-color:#6ea8fe; --primary-color-2:#a78bfa; --accent-color:#a78bfa; }
/* 全站禁止横向滚动（防某些大元素溢出引起的左右滑动），并固定白底 */
html, body{ max-width:100%; overflow-x:hidden; background:#ffffff; }
main.container img{ max-width:100%; height:auto; }
main.container table{ width:100%; }
@media (prefers-color-scheme: dark){ body:not(.theme-light){ --border-light:#334155; } }
body.theme-dark{ --border-light:#334155; }

/* 通用按钮（与 chatgpt-like.css 保持一致） */
.btn{ padding:10px 14px; border-radius:12px; font-weight:700; line-height:1; cursor:pointer; }
.btn[disabled]{ opacity:.5; cursor:not-allowed; }
.btn-primary{ border:1px solid var(--primary-color); background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color-2) 100%); color:#fff; }
.btn-ghost{ border:1px solid #e5e7eb; background:#fff; color:#0f172a; }
.btn-danger{ border:1px solid #ef4444; background:linear-gradient(135deg,#ef4444 0%,#b91c1c 100%); color:#fff; }
.btn:active{ transform: translateY(1px); filter: brightness(.98); }
.btn-primary:hover{ filter: brightness(1.03); box-shadow:0 6px 16px rgba(110,168,254,.20); }
.btn-primary:active, .btn-primary:focus{ background:linear-gradient(135deg,var(--primary-color-2) 0%,var(--primary-color) 100%); box-shadow:0 0 0 2px rgba(110,168,254,.25) inset; }
.btn-ghost:hover{ border-color: var(--primary-color); background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color-2) 100%); color:#fff; box-shadow:0 6px 16px rgba(110,168,254,.20); }
.btn-ghost:active, .btn-ghost:focus{ box-shadow:0 0 0 2px rgba(110,168,254,.25) inset; }
.btn svg.icon{ width:16px; height:16px; margin-right:6px; vertical-align:middle; }
/* 统一 SVG 图标线条（若使用 stroke 的图标） */
.btn svg.icon{ stroke: currentColor; stroke-width: 1.5; }

/* 通用 SVG 图标（统一尺寸与风格）；可与 fill 图标并存 */
svg.icon{ width:16px; height:16px; display:inline-block; vertical-align:middle; color:inherit; fill: currentColor; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; vector-effect: non-scaling-stroke; }
/* 按钮中的图标右侧留白 */
.btn > svg.icon{ margin-right:6px; }
/* 仅图标按钮的紧凑修正（若后续采用） */
.btn.icon-only > svg.icon{ margin-right:0; }

/* 首页特性卡片图标：增强对比度（浅底 + 深色描边） */
.ico-badge{ width:26px; height:26px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; background:#eef2ff; }
.ico-badge svg{ width:16px; height:16px; stroke:#4f46e5; stroke-width:2; }
.ico-blue{ background:#eef2ff; }
.ico-blue svg{ stroke:#3b82f6; }
.ico-purple{ background:#f3e8ff; }
.ico-purple svg{ stroke:#7c3aed; }
.ico-teal{ background:#e6fffb; }
.ico-teal svg{ stroke:#0d9488; }
.ico-amber{ background:#fff7ed; }
.ico-amber svg{ stroke:#b45309; }

/* 首页四特性卡片等高（桌面端） */
@media (min-width: 992px){
  .feat-row{ display:flex; flex-wrap:wrap; align-items:stretch; }
  .feat-row .col-md-3{ display:flex; }
  .feat-card{ display:flex; flex-direction:column; width:100%; height:100%; }
}

/* 可达性：焦点环（键盘导航） */
.btn:focus-visible, button:focus-visible{ outline:none; box-shadow: 0 0 0 3px rgba(59,130,246,.35); }
.mini:focus-visible{ outline:none; box-shadow: 0 0 0 2px rgba(147,197,253,.5); }
/* 复制成功的轻量反馈 */
.btn-ok, .mini.copied, #messages pre.code .copy.copied{
  box-shadow: 0 0 0 2px rgba(34,211,238,.35), 0 0 12px rgba(59,130,246,.25);
  transition: box-shadow .18s ease;
}

/* 触控反馈（移动端优先），不改变 6013 的外观，仅在按压时轻微缩放与提亮 */
button, .btn, .mini, .convo-item, .convo-title, .convo-more, #btnScrollBottom{ -webkit-tap-highlight-color: rgba(15,23,42,0.1); touch-action: manipulation; }
@media (prefers-color-scheme: dark){
  body:not(.theme-light) button,
  body:not(.theme-light) .btn,
  body:not(.theme-light) .mini,
  body:not(.theme-light) .convo-item,
  body:not(.theme-light) .convo-title,
  body:not(.theme-light) .convo-more,
  body:not(.theme-light) #btnScrollBottom{ -webkit-tap-highlight-color: rgba(255,255,255,0.12); }
}
body.theme-dark button,
body.theme-dark .btn,
body.theme-dark .mini,
body.theme-dark .convo-item,
body.theme-dark .convo-title,
body.theme-dark .convo-more,
body.theme-dark #btnScrollBottom{ -webkit-tap-highlight-color: rgba(255,255,255,0.12); }

/* 轻量按压反馈（:active 或 JS 注入 .is-tapping） */
button:active, .btn:active, .mini:active, .convo-item:active, .convo-title:active, .convo-more:active, #btnScrollBottom:active,
button.is-tapping, .btn.is-tapping, .mini.is-tapping, .convo-item.is-tapping, .convo-title.is-tapping, .convo-more.is-tapping, #btnScrollBottom.is-tapping{
  transform: translateY(1px) scale(0.99);
  filter: brightness(.98);
}
@media (prefers-reduced-motion: reduce){
  button, .btn, .mini, .convo-item, .convo-title, .convo-more, #btnScrollBottom{ transition: none !important; }
}

/* 输入控件优化 */
input[type="text"], input[type="email"], input[type="datetime-local"], textarea, select {
  border:1px solid var(--border-light, #e5e7eb);
  border-radius:10px; padding:10px 12px; outline:none;
}
input:focus, textarea:focus, select:focus{ box-shadow: 0 0 0 3px rgba(37,99,235,.15); border-color:#2563eb; }

/* 日志筛选条在深色下的可读性（不影响全局） */
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .filter-bar label{ color:#cbd5e1 !important; }
  body:not(.theme-light) .filter-bar input{ background:#0b1220; color:#e2e8f0; border-color:#475569; }
}
body.theme-dark .filter-bar label{ color:#cbd5e1 !important; }
body.theme-dark .filter-bar input{ background:#0b1220; color:#e2e8f0; border-color:#475569; }
/* 提升筛选输入的 hover/placeholder 对比度（仅筛选条作用域） */
.filter-bar input:hover{ border-color:#93c5fd; }
@media (prefers-color-scheme: dark){ body:not(.theme-light) .filter-bar input:hover{ border-color:#5b6b7e; } }
body.theme-dark .filter-bar input:hover{ border-color:#5b6b7e; }
.filter-bar input::placeholder{ color:#94a3b8; }
@media (prefers-color-scheme: dark){ body:not(.theme-light) .filter-bar input::placeholder{ color:#94a3b8; } }
body.theme-dark .filter-bar input::placeholder{ color:#94a3b8; }

/* 顶部导航在深色模式下的背景与边界 */
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .main-nav{ background:#0b1120 !important; border-bottom-color:#1e293b !important; }
}
body.theme-dark .main-nav{ background:#0b1120 !important; border-bottom-color:#1e293b !important; }

/* 卡片在深色模式下的背景 */
@media (prefers-color-scheme: dark){
  /* 深色模式不影响页脚背景，保持页脚纯白以贴合 6013 */
  body:not(.theme-light) .card,
  body:not(.theme-light) section{ background:#0f172a; color:#e2e8f0; border-color:#1e293b; }
}
body.theme-dark .card,
body.theme-dark section{ background:#0f172a; color:#e2e8f0; border-color:#1e293b; }

/* Toast 提示 */
.toast{ position:fixed; left:50%; transform:translateX(-50%); top:80px; z-index:9999; padding:10px 14px; border-radius:12px; border:1px solid #e5e7eb; background:#fff; color:#111827; box-shadow:0 10px 30px rgba(0,0,0,.12); display:none; opacity:0; }
.toast.show{ display:block; animation: toast-in-out 2.2s ease forwards; }
@keyframes toast-in-out{ 0%{ opacity:0; transform:translate(-50%, -6px);} 12%{ opacity:1; transform:translate(-50%, 0);} 80%{ opacity:1;} 100%{ opacity:0; transform:translate(-50%, -4px);} }
/* 深色 Toast */
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .toast{ background:#0f172a; color:#e2e8f0; border-color:#334155; }
}
body.theme-dark .toast{ background:#0f172a; color:#e2e8f0; border-color:#334155; }

/* 按钮 hover（浅色/深色） */
.btn-ghost:hover{ background:#f8fbff; border-color: rgba(110,168,254,.6); }
.btn-ghost:active, .btn-ghost:focus{ background:#f0f5ff; border-color: var(--primary-color); box-shadow:0 0 0 2px rgba(110,168,254,.25) inset; }

/* 深色下的主按钮对比度稍提升 */
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .btn-primary{ filter: saturate(1.04) brightness(1.05); }
  body:not(.theme-light) .btn-primary:hover{ filter: saturate(1.1) brightness(1.08); }
}
body.theme-dark .btn-primary{ filter: saturate(1.04) brightness(1.05); }
body.theme-dark .btn-primary:hover{ filter: saturate(1.1) brightness(1.08); }

/* 表格悬浮高亮（用于 logs） */
.table-hover tbody tr:hover{ background:#f8fafc; }
@media (prefers-color-scheme: dark){ body:not(.theme-light) .table-hover tbody tr:hover{ background:#0b1120; } }
body.theme-dark .table-hover tbody tr:hover{ background:#0b1120; }

/* 表格边框与表头（暗色提亮） */
.table-hover{ border:1px solid var(--border-light,#e5e7eb); border-radius:12px; overflow:hidden; }
.table-hover th, .table-hover td{ border-bottom:1px solid var(--border-light,#e5e7eb); }
.table-hover thead th{ background:#f8fafc; color:#111827; }
/* 表格内长词换行，避免撑破布局 */
.table-hover td{ word-break:break-word; overflow-wrap:anywhere; }
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .table-hover{ border-color:#334155; }
  body:not(.theme-light) .table-hover th, body:not(.theme-light) .table-hover td{ border-bottom-color:#334155; }
  body:not(.theme-light) .table-hover thead th{ background:#0f172a; color:#e2e8f0; border-bottom-color:#3b4456; }
}
body.theme-dark .table-hover{ border-color:#334155; }
body.theme-dark .table-hover th, body.theme-dark .table-hover td{ border-bottom-color:#334155; }
body.theme-dark .table-hover thead th{ background:#0f172a; color:#e2e8f0; border-bottom-color:#3b4456; }

/* 代码块/预格式文本换行，避免横向滚动（必要时浏览器仍可滚动） */
pre, code{ white-space: pre-wrap; word-break: break-word; overflow-wrap:anywhere; }

/* 小屏留白与间距（nav 下内容、卡片、页脚） */
@media (max-width: 480px){
  main.container{ padding-top: 16px !important; }
  section.card, section{ padding: 10px !important; }
  .page-footer{ margin-top: 36px !important; }
}

/* 导航 active 在深色下的可见性 */
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .main-nav .nav-link.active{ box-shadow: 0 0 0 2px rgba(34,211,238,.18), 0 6px 16px rgba(59,130,246,.18); }
}
body.theme-dark .main-nav .nav-link.active{ box-shadow: 0 0 0 2px rgba(34,211,238,.18), 0 6px 16px rgba(59,130,246,.18); }

/* 微信登录提示的内联样式（登录页使用） */
.wx-env-hint{ margin-top:8px; font-size:12px; color:#64748b; display:none; }
@media (prefers-color-scheme: dark){ body:not(.theme-light) .wx-env-hint{ color:#9ca3af; } }
body.theme-dark .wx-env-hint{ color:#9ca3af; }

/* 微信二维码容器（统一风格）
   WxLogin 默认 iframe 约 300x400；此前固定 300x300 会裁切二维码/说明。 */
.qr-box{
  width:360px;
  height:480px;
  margin:12px auto;
  border:1px solid var(--border-light);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 32px rgba(15,23,42,.08);
}
.qr-box iframe{
  width:100% !important;
  height:100% !important;
  border:0 !important;
  display:block;
}
/* Ticket-based QR（普通图片二维码，支持相册识别） */
.qr-box .qr-inner{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:16px;
  gap:10px;
  box-sizing:border-box;
}
.qr-box .qr-img{
  width:260px;
  height:260px;
  border-radius:14px;
  border:1px solid var(--border-light);
  background:#fff;
  display:block;
}
.qr-box .qr-meta{
  font-size:12px;
  color:var(--text-secondary);
  text-align:center;
  line-height:1.4;
}
@media (max-width:480px){
  .qr-box{ width:320px; height:460px; }
  .qr-box .qr-img{ width:240px; height:240px; }
}
.qr-box.qr-mini{ width:320px; height:460px; }

/* 二维码标题与说明统一样式 */
.qr-title{ display:inline-flex; align-items:center; gap:8px; margin-bottom:6px; }
.qr-hint{ color:var(--text-secondary); font-size:12px; margin-top:6px; }
.qr-title h1{ font-size:22px; letter-spacing:-.3px; margin:0; font-weight:900; }
@media (max-width:480px){ .qr-title h1{ font-size:20px; } }

/* 项目表：名称列过长时的溢出处理 */
.table-hover td:first-child input.pname{ text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }

/* mini 选择器一致外观 */
select.mini{ padding:8px 10px; border-radius:8px; border:1px solid var(--border-light); background:#fff; }

/* 轻量徽章（保存提示等） */
.badge{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; font-weight:700; }
.badge-ok{ background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.badge-warn{ background:#fff7ed; color:#92400e; border:1px solid #fed7aa; }

/* 顶部提示条（项目页等） */
.notice{ margin:8px 0 10px; }

/* 小屏表格横向滚动兜底（不影响桌面端） */
.table-wrap{ overflow-x:auto; }

/* 重命名中的输入禁用态 */
input.pname.is-saving{ opacity:.6; cursor:progress; }

/* 可访问性：隐藏但可读（用于 aria 辅助文案） */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* 头像下拉菜单（导航） */
.nav-user-wrapper{ position: relative; }
.nav-menu{ position:absolute; right:0; top: calc(100% + 6px); min-width: 160px; background:#fff; border:1px solid var(--border-light,#e5e7eb); border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.12); display:none; z-index: 999; }
.nav-menu a{ display:block; padding:10px 12px; color:#111827; text-decoration:none; font-weight:600; }
.nav-menu a:hover{ background:#f8fafc; }
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .nav-menu{ background:#0f172a; border-color:#334155; }
  body:not(.theme-light) .nav-menu a{ color:#e2e8f0; }
  body:not(.theme-light) .nav-menu a:hover{ background:#0b1120; }
}
body.theme-dark .nav-menu{ background:#0f172a; border-color:#334155; }
body.theme-dark .nav-menu a{ color:#e2e8f0; }
body.theme-dark .nav-menu a:hover{ background:#0b1120; }

/* 登录引导卡片 hover/active 动效（/auth） */
#cardWeChat > div, #cardEmail > div{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  will-change: transform, box-shadow;
}
#cardWeChat:hover > div, #cardEmail:hover > div{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(15,23,42,.08); border-color: rgba(34,211,238,.45); }
#cardWeChat:active > div, #cardEmail:active > div{ transform: translateY(0); box-shadow: 0 6px 16px rgba(15,23,42,.06); }
#cardWeChat:focus-visible > div, #cardEmail:focus-visible > div{ outline:none; box-shadow: 0 0 0 3px rgba(59,130,246,.35), 0 12px 28px rgba(15,23,42,.08); }
@media (prefers-reduced-motion: reduce){
  #cardWeChat > div, #cardEmail > div{ transition: none !important; }
}

/* 聊天页 Header 微交互（“同步模型”与参数条 hover） */
#chatHeader #btnSyncModels:hover{ box-shadow: 0 4px 14px rgba(34,211,238,.25), 0 1px 0 rgba(59,130,246,.12) inset; }
#chatHeader #btnParams:hover,
#chatHeader #btnSysToggle:hover{ background:#f8fafc; border-color:#bae6fd; }
@media (prefers-color-scheme: dark){
  body:not(.theme-light) #chatHeader #btnParams:hover,
  body:not(.theme-light) #chatHeader #btnSysToggle:hover{ background:#0b1220; border-color:#334155; }
}
body.theme-dark #chatHeader #btnParams:hover,
body.theme-dark #chatHeader #btnSysToggle:hover{ background:#0b1220; border-color:#334155; }

/* 参数条中的预设按钮与输入框 */
#paramPanel .btn.btn-ghost{ transition: background-color .12s ease, border-color .12s ease; }
#paramPanel .btn.btn-ghost:hover{ background:#f8fafc; border-color:#bae6fd; }
@media (prefers-color-scheme: dark){
  body:not(.theme-light) #paramPanel .btn.btn-ghost:hover{ background:#0b1220; border-color:#334155; }
}
body.theme-dark #paramPanel .btn.btn-ghost:hover{ background:#0b1220; border-color:#334155; }
#paramPanel input[type="text"]{ transition: box-shadow .12s ease, border-color .12s ease; }

/* 温度滑条（简单可读的 hover/焦点样式） */
#paramPanel input[type="range"]{ accent-color:#3b82f6; }
#paramPanel input[type="range"]:hover{ filter: saturate(1.15); }

/* 深色下小按钮 hover/active 对比度再提升一档（细微） */
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .btn-ghost:hover{ background:#0b1220; border-color:#41566e; }
}
body.theme-dark .btn-ghost:hover{ background:#0b1220; border-color:#41566e; }

/* 聊天页“新建”按钮微动效（与 6013 风格统一） */
#btnNewConvo{ transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease; }
#btnNewConvo:hover{ background:#f8fafc; border-color:#38bdf8; }

/* 强制浅色按钮交互（即使 body 存在 theme-dark 类也不变黑） */
body.theme-dark .btn-ghost:hover,
body:not(.theme-light) .btn-ghost:hover{ background:#f8fbff !important; border-color: rgba(110,168,254,.6) !important; color:#0f172a !important; }
body.theme-dark .btn-ghost:active, body:not(.theme-light) .btn-ghost:active,
body.theme-dark .btn-ghost:focus,  body:not(.theme-light) .btn-ghost:focus{ background:#f0f5ff !important; border-color: var(--primary-color) !important; box-shadow:0 0 0 2px rgba(110,168,254,.25) inset !important; color:#0f172a !important; }
body.theme-dark .btn-primary,
body:not(.theme-light) .btn-primary{ background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color-2) 100%) !important; border-color:var(--primary-color) !important; color:#fff !important; }
body.theme-dark .btn-primary:hover,
body:not(.theme-light) .btn-primary:hover{ filter: brightness(1.03) !important; box-shadow:0 6px 16px rgba(110,168,254,.20) !important; }
#btnNewConvo{ transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease; }
#btnNewConvo:hover{ background:#f8fafc; border-color:#38bdf8; }

/* 首页 Hero 轻微右移（仅桌面端），以与导航/页脚视觉基线更贴合 */
@media (min-width: 992px){
  .hero-center{ position: relative; left: 34px; }
}
#btnNewConvo:active{ transform: translateY(1px); }

/* 减少动效时的兼容（尊重用户偏好） */
@media (prefers-reduced-motion: reduce){
  #chatHeader #paramPanel, #btnScrollBottom.float-hint, #newMsgBadge.float-hint{ transition:none !important; }
}

/* 聊天浮标显隐（回底部/有新消息） */
.float-hint{ opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
.float-hint.show{ opacity: 1; transform: translateY(0); pointer-events: auto; }

/* 新消息徽章轻微浮动动效 */
#newMsgBadge.pulse{ animation: float-bob 2s ease-in-out infinite; }
@keyframes float-bob{ 0%{ transform: translateY(0); } 50%{ transform: translateY(-2px); } 100%{ transform: translateY(0); } }

/* 桌面端参数面板微过渡与阴影层级统一 */
#chatHeader #paramPanel{ transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
#chatHeader #paramPanel:focus-within{ box-shadow: 0 6px 20px rgba(0,0,0,.06); }
/* 桌面端 hover 的材质感（明/暗一致） */
#chatHeader #paramPanel:hover{ box-shadow: 0 12px 28px rgba(0,0,0,.10); }
@media (prefers-color-scheme: dark){ body:not(.theme-light) #chatHeader #paramPanel:hover{ box-shadow: 0 12px 28px rgba(0,0,0,.28); } }
body.theme-dark #chatHeader #paramPanel:hover{ box-shadow: 0 12px 28px rgba(0,0,0,.28); }
/* 低开销设备/用户偏好：弱化参数面板 hover 阴影 */
@media (prefers-reduced-motion: reduce){
  #chatHeader #paramPanel:hover{ box-shadow: 0 6px 16px rgba(0,0,0,.08) !important; }
  body:not(.theme-light) #chatHeader #paramPanel:hover{ box-shadow: 0 8px 18px rgba(0,0,0,.18) !important; }
  body.theme-dark #chatHeader #paramPanel:hover{ box-shadow: 0 8px 18px rgba(0,0,0,.18) !important; }
}

/* 头像文字占位（Settings 用） */
.avatar-fallback{ width:40px; height:40px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; color:#0f172a; background: linear-gradient(135deg,var(--primary-color) 0%, var(--primary-color-2) 100%); }
@media (prefers-color-scheme: dark){ body:not(.theme-light) .avatar-fallback{ color:#e2e8f0; } }
body.theme-dark .avatar-fallback{ color:#e2e8f0; }
/* 错误高亮（登录/表单） */
.input-error{ border-color:#ef4444 !important; box-shadow: 0 0 0 3px rgba(239,68,68,.15) !important; }

/* 移动端安全区（键盘/底部区域） */
@supports (padding-bottom: env(safe-area-inset-bottom)){
  body{ padding-bottom: max(0px, env(safe-area-inset-bottom)); }
}

/* ===== 页脚像素级收口（对齐 6013） ===== */
.page-footer h4{ font-weight:700; font-size:1.2rem; line-height:1.2; margin:0; color: var(--text-primary); }
.page-footer h5{ font-weight:600; font-size:1.2rem; margin:0 0 20px 0; color: var(--primary-color); }
.page-footer a{ color: var(--text-secondary); text-decoration:none; transition: color .2s ease; }
.page-footer a:hover{ color: var(--primary-color); }
.page-footer .model-badges{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.page-footer .model-badges a{ display:inline-flex; align-items:center; }
.page-footer .model-badges img{ height:28px; width:auto; }
.page-footer hr{ border-color: var(--border-light); margin:30px 0 20px 0; }
@media (max-width: 768px){
  .page-footer .col-md-3, .page-footer .col-md-2, .page-footer .col-md-4{ margin-bottom: 18px; }
}
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .page-footer a:hover{ color: var(--primary-color); }
}
body.theme-dark .page-footer a:hover{ color: var(--primary-color); }

/* ===== 顶部导航像素级收口（对齐 6013） ===== */
.main-nav .nav-link{ border:2px solid rgba(110,168,254,0.55); background:transparent; color: var(--text-primary); transition: all .2s ease; }
.main-nav .nav-link:hover, .main-nav .nav-link.active{ background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color-2) 100%); color:#fff; border-color: transparent; box-shadow: 0 4px 12px rgba(110,168,254,0.28); }
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .main-nav{ background: var(--bg-primary) !important; border-bottom-color:#1e293b !important; }
  body:not(.theme-light) .main-nav .nav-link:hover, body:not(.theme-light) .main-nav .nav-link.active{ box-shadow: 0 4px 12px rgba(34, 211, 238, 0.25); }
}
body.theme-dark .main-nav .nav-link:hover, body.theme-dark .main-nav .nav-link.active{ box-shadow: 0 4px 12px rgba(34, 211, 238, 0.25); }

/* ===== 全站基础间距与文本（轻量，对齐 6013） ===== */
main.container{ padding:24px 0; }
.core-features-section h1{ font-size:42px; font-weight:800; letter-spacing:-1px; line-height:1.2; margin:0 0 16px 0; color: var(--text-primary); }
.core-features-section .core-description{ background: var(--bg-accent); border-left:4px solid var(--primary-color); border-radius:16px; padding:16px; }

/* 列表与段落 */
main.container p{ line-height:1.7; color: var(--text-secondary); }
main.container ul, main.container ol{ padding-left:18px; }
main.container li{ margin: 6px 0; }

/* 表格（与 6013 统一） */
table{ width:100%; border-collapse: collapse; }
thead{ background: var(--bg-secondary); }
th, td{ padding:10px; border-bottom:1px solid var(--border-light); text-align:left; }

/* Bootstrap 5 兼容：模板仍使用 Bootstrap3 的 col-md-offset-* */
@media (min-width: 768px){
  .col-md-offset-0{ margin-left:0; }
  .col-md-offset-1{ margin-left:8.33333333%; }
  .col-md-offset-2{ margin-left:16.66666667%; }
}

/* Hero 按钮区域 */
.hero-actions .btn{ min-width:160px; }

/* 首页 CTA 按钮（更接近 6011/6013 的圆角与渐变风格） */
.home-cta-primary,
.home-cta-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px 30px;
  border-radius:18px;
  font-weight:800;
  letter-spacing:-.2px;
  text-decoration:none;
  line-height:1;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease, background-color .18s ease;
}
.home-cta-primary{
  background: linear-gradient(135deg,#22d3ee 0%, #3b82f6 55%, #1d4ed8 100%);
  color:#fff;
  border: none;
  box-shadow:0 10px 25px rgba(34,211,238,.22);
}
.home-cta-primary:hover{ transform: translateY(-1px); box-shadow:0 14px 32px rgba(34,211,238,.28); filter: brightness(1.02); }
.home-cta-primary:active{ transform: translateY(1px); box-shadow:0 8px 20px rgba(34,211,238,.18); }
.home-cta-secondary{
  background:#fff;
  color:#0f172a;
  border:2px solid rgba(34,211,238,0.45);
  box-shadow:0 10px 25px rgba(15,23,42,.06);
}
.home-cta-secondary:hover{ transform: translateY(-1px); border-color: rgba(34,211,238,0.75); box-shadow:0 14px 32px rgba(15,23,42,.08); }
.home-cta-secondary:active{ transform: translateY(1px); box-shadow:0 8px 20px rgba(15,23,42,.06); }
.home-cta-primary i,
.home-cta-secondary i{
  width:18px;
  height:18px;
}
@media (max-width: 480px){
  .home-cta-primary,
  .home-cta-secondary{ width:100%; }
}

/* 键盘弹出时，减少浮标干扰（移动端体验） */
body.kb-open .float-hint{ opacity:0 !important; pointer-events:none !important; }
/* ===== 页脚布局：与 6013 一致的容器/栅格（移除 flex+gap，避免横向滚动） ===== */
/* 统一与 6013 一致的页面底色（使用变量而非纯白） */
html, body{ background: var(--bg-primary); }
/* 临时兜底防止偶发像素溢出引发横向滚动；同时我们也收敛了页脚/内容的负边距 */
html, body{ overflow-x: hidden; }
/* 页脚固定纯白背景（不随暗色切换），与 6013 完全一致 */
.page-footer{ background:#fff !important; position:relative; }
/* 覆盖页脚上方可能的淡青色缝隙（来自上层样式），用白色过渡条抹平 */
@media (min-width: 768px){
  .page-footer::before{ content:""; position:absolute; left:0; right:0; top:-48px; height:48px; background: var(--bg-primary); pointer-events:none; }
}
/* 用 6013 的栅格：让 .row 恢复为块级，列由 col- 样式决定宽度与间距 */
/* 复用 6013 栅格：row 用 flex + wrap（不要 gap，避免溢出）；左右用负 margin 对齐容器 */
.page-footer .row{ display:flex; flex-wrap:wrap; justify-content:flex-start; }
/* 使用 6013 的原生 col- 间距，不在此处重写 padding/margin，避免与上游栅格冲突导致溢出 */
.page-footer .model-badges{ justify-content:center; }
/* 页脚小图标统一样式 */
.page-footer .ico{ width:16px; height:16px; color: var(--primary-color); display:inline-block; vertical-align:middle; }
/* 文案对齐与 6013 一致：默认左对齐；仅版权行居中 */
.page-footer h5, .page-footer p, .page-footer ul{ text-align:left; }
/* footer 三/四列容器（参考 6013：col-md-10 col-md-offset-1 内部用 flex 居中排列） */
/* 页脚列使用 6013 的栅格，不再引入 gap 以免 3/2/3/4 总宽 + 间隙超出换行 */
.page-footer .footer-columns{ display:flex; justify-content:flex-start; align-items:flex-start; gap:0; flex-wrap:wrap; text-align:left; }
/* 使用 col-md-10 col-md-offset-1 统一控制整体位置，品牌列不再做固定像素偏移 */
/* 默认：小屏纵向堆叠 */
@media (max-width: 991px){
  .page-footer .col-md-3,
  .page-footer .col-md-2,
  .page-footer .col-md-4{ flex: 0 0 100%; max-width: 100%; }
}
/* 768px–991px：四列一行（等分居中） */
/* 桌面端列宽比对齐 6013；允许按需自动换行，避免横向滚动 */
@media (min-width: 992px){ /* 由 6013 的 col- 栅格自行控制宽度与换行，不强制 nowrap */ }

/* >=992px：四列一行，统一等分居中（按你的现规） */
@media (min-width: 992px){ /* 持续应用上面的宽度定义 */ }
/* 极小屏加大分组间距，避免拥挤“踩踏” */
@media (max-width: 480px){
  .page-footer .col-md-3,
  .page-footer .col-md-2,
  .page-footer .col-md-4{ margin-bottom: 14px; }
}

/* 版权区块强制居中（防止外部样式覆盖） */
/* 版权与备案：始终居中 */
.page-footer .copyright-block{ text-align:center; }
.page-footer .copyright-block p{ text-align:center !important; margin:6px 0; }
.page-footer .footer-meta{ display:flex; justify-content:center; }
.page-footer .footer-meta .col-md-12{ flex:0 0 100%; max-width:100%; }
.page-footer .footer-meta, .page-footer .footer-meta p{ text-align:center !important; }

/* ===== 强制全站使用浅色（不跟随系统深色），并确保背景为白色 ===== */
:root{ color-scheme: light; }
html, body{ background:#fff !important; color:#111827 !important; }
body, body:not(.theme-light), body.theme-dark{ --bg-primary:#fff; --bg-secondary:#f8fafc; --bg-accent:#ffffff; }
.main-nav{ background:#fff !important; }
main.container{ background:#fff; }
.page-footer{ background:#fff !important; }
.modern-card{ background:#fff !important; }
/* 所有 section 统一浅色背景，覆盖深色模式下的默认值 */
section, section.hero{ background:#fff !important; color:#111827 !important; }
