/* ==========================================================================
   Guwu OJ ↔ Discuz! X5 主题统一覆盖
   --------------------------------------------------------------------------
   目标：让 /forum/ 与主站 OJ 拥有一致的视觉语言（浅石板底 + OJ 蓝 #3b82f6）。
   加载顺序：在所有 Discuz 自身样式之后（header_common.php 中注入）。
   策略：
     1. 先重定义 X5 的设计令牌（--dz-*），让模板整体换色；
     2. 再对关键组件（顶栏 / 卡片 / 表格 / 按钮 / 底部）做精修。
   ========================================================================== */

/* ---- 1. 设计令牌：与 OJ oj-theme-v5f.css 对齐 ---- */
:root,
html[data-bs-theme="light"] {
    --oj-primary: #3b82f6;
    --oj-primary-light: #60a5fa;
    --oj-primary-dark: #2563eb;
    --oj-accent: #f59e0b;
    --oj-bg: #f8fafc;
    --oj-surface: #ffffff;
    --oj-text: #0f172a;
    --oj-text-muted: #64748b;
    --oj-border: #e2e8f0;
    --oj-radius: 12px;
    --oj-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
    --oj-shadow-md: 0 4px 16px rgba(15, 23, 42, 0.08);

    /* Discuz X5 tokens */
    --dz-color: #3b82f6;
    --dz-alink: #0f172a;
    --dz-ahot: #f59e0b;
    --dz-bga: #eef2f7;
    --dz-bgb: #f8fafc;
    --dz-bgc: #f8fafc;
    --dz-bgd: #eef2f7;
    --dz-bgf: #ffffff;
    --dz-bodybg: #f8fafc;
    --dz-bordera: #e2e8f0;
    --dz-borderb: #e2e8f0;
    --dz-borderc: #e2e8f0;
    --dz-borderd: #e2e8f0;
    --dz-fa: #0f172a;
    --dz-fb: #334155;
    --dz-fc: #64748b;
    --dz-fd: #ffffff;
    --dz-ff: #ffffff;
    --dz-nvbg: #ffffff;
    --dz-nvbga: #ffffff;
    --dz-nvtxt: #3b82f6;
    --dz-nvtxta: #3b82f6;
    --dz-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

/* ---- 2. 基础排版 ---- */
body {
    background: var(--oj-bg) !important;
    color: var(--oj-text) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
                 "Hiragino Sans GB", "Microsoft YaHei", sans-serif !important;
}

a { color: var(--oj-primary); transition: color .15s ease; }
a:hover { color: var(--oj-primary-dark); }

/* ---- 3. 顶栏（X5: .dz_layer_top / .dz_layer_nav / .dzlogo） ---- */
.dz_layer_top {
    background: var(--oj-surface) !important;
    border-bottom: 1px solid var(--oj-border) !important;
    box-shadow: var(--oj-shadow-sm) !important;
}
.dz_layer_nav ul li a {
    color: #334155 !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    transition: color .18s ease !important;
}
.dz_layer_nav ul li a:hover,
.dz_layer_nav ul li.a a,
.dz_layer_nav ul li.hover a {
    color: var(--oj-primary) !important;
}
.dz_layer_nav ul li a:before,
.dz_layer_nav ul li a:after {
    background: var(--oj-primary) !important;
}
.dzlogo img { max-height: 40px; width: auto; }

/* 顶栏右侧：提醒 / 用户菜单 */
.header-notice .notice-icon:hover,
.header-user:hover .header-user-info { color: var(--oj-primary) !important; }
.header-user-avatar img,
.user-card .block_avatar img { border-radius: 50% !important; }
.user-card {
    border: 1px solid var(--oj-border) !important;
    border-radius: var(--oj-radius) !important;
    box-shadow: var(--oj-shadow-md) !important;
}
.user-logout-btn { color: var(--oj-primary) !important; }

/* 快捷导航浮层 */
.myprompt_menu, .myitem_menu, .qmenu_menu, .fjump_menu,
.notice-dropdown, .header-user-dropdown {
    border: 1px solid var(--oj-border) !important;
    border-radius: 10px !important;
    box-shadow: var(--oj-shadow-md) !important;
}

/* 手机版提示条 */
.xi1.bm.bm_c {
    background: rgba(59, 130, 246, .06) !important;
    border: 1px solid rgba(59, 130, 246, .2) !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    margin: 12px auto !important;
}

/* ---- 4. 面包屑 ---- */
.pt, #pt {
    border-bottom: 1px solid var(--oj-border) !important;
    font-size: 13px !important;
    padding: 12px 0 !important;
    color: var(--oj-text-muted) !important;
}
.pt a { color: var(--oj-primary) !important; }

/* ---- 5. 卡片容器（板块 / 侧栏 / 帖子） ---- */
.bm {
    background: var(--oj-surface) !important;
    border: 1px solid var(--oj-border) !important;
    border-radius: var(--oj-radius) !important;
    box-shadow: var(--oj-shadow-sm) !important;
    margin-bottom: 16px !important;
    overflow: hidden;
}
.bm_h {
    background: transparent !important;
    border-bottom: 1px solid var(--oj-border) !important;
    padding: 14px 18px !important;
}
.bm_h h2, .bm_h h2 a, .bm_h a, .bm_h em {
    color: var(--oj-text) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
}
.bm_c { padding: 16px 18px !important; }
.bmw { border-color: var(--oj-border) !important; }

/* ---- 6. 版块列表 ---- */
.fl_tb { width: 100%; border-collapse: separate !important; border-spacing: 0 !important; }
.fl_tb th {
    background: #f1f5f9 !important;
    color: var(--oj-text-muted) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: .04em;
    padding: 10px 12px !important;
    border-bottom: 1px solid var(--oj-border) !important;
}
.fl_tb td {
    padding: 14px 12px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}
.fl_tb tr:last-child td { border-bottom: none !important; }
.fl_tb tbody tr { transition: background .15s ease; }
.fl_tb tbody tr:hover { background: rgba(59, 130, 246, .04) !important; }
.fl_tb h2 a, .fl_tb h2 { font-size: 15px !important; font-weight: 600 !important; color: var(--oj-text) !important; }
.fl_tb h2 a:hover { color: var(--oj-primary) !important; }
.fl_tb .xg2, .fl_tb p { color: var(--oj-text-muted) !important; font-size: 13px !important; }
.fl_icn_g, .fl_icn_a, .fl_icn, .fl_icn_n, .fl_icn_img {
    background: var(--oj-primary) !important;
    border-radius: 10px !important;
    color: #fff !important;
}
.fl_i { color: var(--oj-text-muted) !important; font-size: 13px !important; }
.fl_i em { color: var(--oj-primary) !important; font-style: normal !important; font-weight: 600 !important; }

/* 统计条（今日 / 昨日 / 帖子 / 会员） */
.chart, .diy_chart, .chart em { color: var(--oj-text-muted) !important; }
.chart:before { color: var(--oj-primary) !important; }

/* ---- 7. 在线会员 / 友情链接 ---- */
.online .bm_c { color: var(--oj-text-muted) !important; }
.online a { color: var(--oj-primary) !important; }
.lk_logo, .category_lk { border-color: var(--oj-border) !important; }
.lk_content a { color: var(--oj-text-muted) !important; }
.lk_content a:hover { color: var(--oj-primary) !important; }

/* ---- 8. 按钮 ---- */
.pn, .pnpost, .pnc, .pbtn, .pgb, .button,
input[type="submit"], input[type="button"], button {
    background: var(--oj-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 18px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: background .15s, box-shadow .15s !important;
}
.pn:hover, .pnpost:hover, .pnc:hover, .pbtn:hover, .pgb:hover,
input[type="submit"]:hover, input[type="button"]:hover, button:hover {
    background: var(--oj-primary-dark) !important;
    box-shadow: 0 2px 10px rgba(59, 130, 246, .35) !important;
}
.pn em, .pnpost em, .pnc em { color: #fff !important; }

/* 分页 */
.pg li a, .pg li strong, .pgb a {
    background: var(--oj-surface) !important;
    border: 1px solid var(--oj-border) !important;
    color: var(--oj-text) !important;
    border-radius: 6px !important;
    min-width: 32px;
    text-align: center;
}
.pg li a:hover { border-color: var(--oj-primary) !important; color: var(--oj-primary) !important; }
.pg li strong, .pg li a.curpage {
    background: var(--oj-primary) !important;
    border-color: var(--oj-primary) !important;
    color: #fff !important;
}

/* ---- 9. 表单 ---- */
input[type="text"], input[type="password"], input[type="email"], input[type="number"],
input[type="search"], textarea, select, .px {
    background: var(--oj-surface) !important;
    border: 1px solid var(--oj-border) !important;
    border-radius: 8px !important;
    color: var(--oj-text) !important;
    padding: 8px 12px !important;
    transition: border-color .15s, box-shadow .15s !important;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus,
textarea:focus, select:focus, .px:focus {
    border-color: var(--oj-primary) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .15) !important;
    outline: none !important;
}

/* ---- 10. 头像 / 帖子正文 ---- */
.avt img, .avtm img, .avts img, .pps img {
    border-radius: 50% !important;
    border: 2px solid var(--oj-border) !important;
}
.avt:hover img { border-color: var(--oj-primary) !important; }
.t_fsz, .pct, .t_msg, .pcb {
    background: var(--oj-surface) !important;
    border-radius: 10px !important;
}
.t_msg, .pic { border: 1px solid var(--oj-border) !important; border-radius: 8px !important; }

/* ---- 11. 徽标 / 强调 ---- */
.xw1 { color: var(--oj-primary) !important; font-weight: 600 !important; }
.xs1, .xg1 { color: var(--oj-text-muted) !important; }
.xsort em, .xthread a em {
    background: var(--oj-accent) !important;
    color: #fff !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

/* ---- 12. 底部 ---- */
.dz_footc {
    background: var(--oj-surface) !important;
    border-top: 1px solid var(--oj-border) !important;
    box-shadow: none !important;
    color: var(--oj-text-muted) !important;
    padding-top: 18px !important;
}
.dz_footc a, .dz_footc_copy { color: var(--oj-text-muted) !important; }
.dz_footc a:hover { color: var(--oj-primary) !important; }
.dz_footc_nav { border-bottom: 1px solid var(--oj-border) !important; }

/* 返回顶部 */
.dz_rtop, .scrolltopa { background: var(--oj-primary) !important; border-radius: 50% !important; }

/* ---- 13. 滚动条 ---- */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* ---- 14. 补齐 X5 模板缺失的两张图片（避免 404 与混合内容） ---- */
/* 搜索按钮图标（原 template/discuzx5/static/top/search.png 未随包提供） */
#scbar_btn_index {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.6-3.6'/%3E%3C/svg%3E") center / 18px 18px no-repeat !important;
}
/* 帖子引用角标（原 template/discuzx5/static/dz_quote_icor.png 未随包提供） */
.forumportal_listc .kmquote:after { background: none !important; }
