/* ============================================================
   学科学术资源主题 - 样式（贴合子比 zibll 视觉）
   配色取自子比默认：主题色 #f04494，主操作按钮 jb-blue #2f6fed
   ============================================================ */
:root {
    --theme-color: #f04494;
    --theme-color-2: #ff6fb0;
    --jb-blue: #2f6fed;
    --jb-blue-dark: #1f4fc4;
    --main-color: #4e5358;
    --muted-color: #777;
    --muted-2-color: #999;
    --body-bg-color: #f5f6f7;
    --main-bg-color: #fff;
    --border-color: rgba(50, 50, 50, .06);
    --muted-border: rgba(0, 0, 0, .03);
    --main-radius: 8px;
    --mini-radius: 6px;
    --shadow: 0 3px 16px rgba(116, 116, 116, .08);
    --header-bg: rgba(255, 255, 255, .8);
    --max-width: 1200px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    background: var(--body-bg-color);
    color: var(--main-color);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
        "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.7;
}
a { color: var(--theme-color); text-decoration: none; transition: color .2s; }
a:hover { color: var(--theme-color-2); }
img { max-width: 100%; height: auto; }
.clear { clear: both; }

#divAll { max-width: var(--max-width); margin: 0 auto; padding: 0 16px; }
#divPage { margin-top: 16px; }

/* ---------- 顶部导航（毛玻璃 sticky） ---------- */
.topbar {
    background: var(--header-bg);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border-color);
    position: sticky;
    top: 0;
    z-index: 50;
}
.topbar__inner {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 16px;
    height: 60px;
    display: flex;
    align-items: center;
    gap: 18px;
}
.logo { font-size: 20px; font-weight: 800; color: var(--theme-color); white-space: nowrap; }
.logo span { color: var(--jb-blue); }
.topnav { flex: 1; }
.topnav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; flex-wrap: wrap; }
.topnav li a {
    display: block;
    padding: 8px 14px;
    border-radius: var(--mini-radius);
    color: var(--main-color);
    font-weight: 600;
}
.topnav li a:hover { background: var(--body-bg-color); color: var(--theme-color); }
.topsearch { display: flex; }
.topsearch input {
    border: 1px solid var(--border-color);
    border-right: none;
    border-radius: var(--mini-radius) 0 0 var(--mini-radius);
    padding: 8px 12px;
    width: 200px;
    outline: none;
}
.topsearch button {
    border: none;
    background: var(--jb-blue);
    color: #fff;
    border-radius: 0 var(--mini-radius) var(--mini-radius) 0;
    padding: 0 16px;
    cursor: pointer;
    font-weight: 600;
}
.topsearch button:hover { background: var(--jb-blue-dark); }

/* ---------- 公告条 ---------- */
.notice {
    background: linear-gradient(90deg, #fff0f7, #f0f4ff);
    border: 1px solid var(--border-color);
    border-radius: var(--main-radius);
    padding: 10px 16px;
    margin: 16px 0;
    color: #8a4a6b;
    font-size: 14px;
}

/* ---------- 首页轮播 ---------- */
.xueke-slider {
    position: relative;
    border-radius: var(--main-radius);
    overflow: hidden;
    margin-bottom: 20px;
    box-shadow: var(--shadow);
    background: #e9edf3;
}
.xueke-slider__track { display: flex; transition: transform .5s ease; }
.xueke-slide { position: relative; min-width: 100%; height: 320px; }
.xueke-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.xueke-slide__cap {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 36px 24px 18px;
    background: linear-gradient(transparent, rgba(0, 0, 0, .65));
}
.xueke-slide__cap a { color: #fff; font-size: 20px; font-weight: 700; }
.xueke-slider__arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(0, 0, 0, .35); color: #fff; border: none;
    cursor: pointer; font-size: 22px; line-height: 1; z-index: 2;
}
.xueke-slider__arrow.prev { left: 12px; }
.xueke-slider__arrow.next { right: 12px; }
.xueke-slider__arrow:hover { background: var(--theme-color); }
.xueke-slider__dots {
    position: absolute; bottom: 12px; right: 16px;
    display: flex; gap: 6px; z-index: 2;
}
.xueke-slider__dot {
    width: 10px; height: 10px; border-radius: 50%;
    background: rgba(255, 255, 255, .6); cursor: pointer;
}
.xueke-slider__dot.active { background: #fff; }

/* ---------- 布局 ---------- */
#divMain { width: 100%; float: left; }
@media (min-width: 901px) {
    #divMain { width: 70%; padding-right: 24px; }
    #divSidebar { width: 30%; float: right; }
}
#divSidebar { margin-top: 16px; }

/* ---------- 区块标题 ---------- */
.block-title {
    display: flex; align-items: center; gap: 8px;
    font-size: 18px; font-weight: 800; margin: 8px 0 16px;
}
.block-title::before {
    content: ""; width: 4px; height: 18px;
    background: var(--theme-color); border-radius: 2px;
}

/* ---------- 资源卡片 ---------- */
.post-multi {
    background: var(--main-bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--main-radius);
    box-shadow: var(--shadow);
    margin-bottom: 16px;
    overflow: hidden;
    transition: transform .2s, box-shadow .2s;
}
.post-multi:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(116, 116, 116, .16); }
.post-multi__thumb {
    position: relative; display: block; height: 180px;
    overflow: hidden; background: #eef1f7;
}
.post-multi__thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-multi__cate {
    position: absolute; left: 10px; top: 10px;
    background: rgba(240, 68, 148, .92); color: #fff;
    font-size: 12px; padding: 3px 10px; border-radius: 20px;
}
.post-multi__body { padding: 14px 16px 16px; }
.post-multi__title { font-size: 17px; font-weight: 700; margin: 0 0 8px; line-height: 1.4; }
.post-multi__title a { color: var(--main-color); }
.post-multi__title a:hover { color: var(--theme-color); }
.post-multi__excerpt {
    color: var(--muted-color); font-size: 14px; margin: 0 0 10px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.post-multi__meta {
    display: flex; justify-content: space-between; align-items: center;
    color: var(--muted-color); font-size: 13px;
    border-top: 1px dashed var(--border-color); padding-top: 10px;
}
.post-multi__more {
    background: var(--jb-blue); color: #fff; padding: 5px 14px;
    border-radius: 20px; font-size: 13px; font-weight: 600;
}
.post-multi__more:hover { background: var(--jb-blue-dark); color: #fff; }

/* 置顶卡片 */
.post.istop .post-multi__cate { background: var(--theme-color); }
.post.istop { border-color: rgba(240, 68, 148, .4); }

/* ---------- 分页 ---------- */
.pagebar { text-align: center; margin: 20px 0; }
.pagebar a, .pagebar span {
    display: inline-block; min-width: 34px; padding: 7px 10px;
    margin: 0 3px; border-radius: var(--mini-radius);
    background: #fff; border: 1px solid var(--border-color);
    color: var(--main-color);
}
.pagebar .now-page, .pagebar a:hover { background: var(--theme-color); color: #fff; border-color: var(--theme-color); }

/* ---------- 侧边栏 ---------- */
.sidebar-box {
    background: var(--main-bg-color); border: 1px solid var(--border-color);
    border-radius: var(--main-radius); box-shadow: var(--shadow);
    padding: 16px; margin-bottom: 16px;
}
.sidebar-box h3 {
    margin: 0 0 12px; font-size: 16px; font-weight: 800;
    display: flex; align-items: center; gap: 8px;
}
.sidebar-box h3::before { content: ""; width: 4px; height: 16px; background: var(--theme-color); border-radius: 2px; }
.sidebar-box ul { list-style: none; margin: 0; padding: 0; }
.sidebar-box li { padding: 6px 0; border-bottom: 1px dashed var(--border-color); }
.sidebar-box li:last-child { border-bottom: none; }
.sidebar-search input {
    width: 100%; padding: 9px 12px; border: 1px solid var(--border-color);
    border-radius: var(--mini-radius); outline: none;
}
.tag-cloud a {
    display: inline-block; margin: 4px 6px 4px 0; padding: 4px 12px;
    background: var(--body-bg-color); border-radius: 20px; color: #56607a; font-size: 13px;
}
.tag-cloud a:hover { background: var(--theme-color); color: #fff; }

/* ---------- 文章详情 ---------- */
.post.single {
    background: var(--main-bg-color); border: 1px solid var(--border-color);
    border-radius: var(--main-radius); box-shadow: var(--shadow); padding: 24px;
}
.post.single h1.post-title { font-size: 26px; margin: 0 0 6px; line-height: 1.35; }
.post-meta { color: var(--muted-color); font-size: 13px; margin-bottom: 18px;
    padding-bottom: 14px; border-bottom: 1px solid var(--border-color); }
.post-meta span { margin-right: 14px; }
.post-body { font-size: 16px; line-height: 1.9; word-break: break-word; }
.post-body img { border-radius: var(--mini-radius); margin: 8px 0; }
.post-body h2, .post-body h3 { margin-top: 24px; }
.post-tags { margin-top: 18px; }
.post-tags a {
    display: inline-block; margin: 0 6px 6px 0; padding: 3px 12px;
    background: var(--body-bg-color); border-radius: 20px; color: #56607a; font-size: 13px;
}
.post-tags a:hover { background: var(--theme-color); color: #fff; }

/* 文章目录 TOC */
.xueke-toc {
    background: var(--main-bg-color); border: 1px solid var(--border-color);
    border-radius: var(--main-radius); padding: 14px 18px; margin: 0 0 18px;
    box-shadow: var(--shadow);
}
.xueke-toc__title { font-weight: 800; margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.xueke-toc__title::before { content: ""; width: 4px; height: 16px; background: var(--theme-color); border-radius: 2px; }
.xueke-toc ol { margin: 0; padding-left: 20px; }
.xueke-toc li { margin: 4px 0; }
.xueke-toc a { color: var(--main-color); }
.xueke-toc a:hover { color: var(--theme-color); }

/* 资源下载面板（贴合子比 pay-box） */
.xueke-resbox {
    margin: 22px 0; border: 1px solid var(--border-color);
    border-radius: var(--main-radius); background: var(--main-bg-color);
    box-shadow: var(--shadow); overflow: hidden;
}
.xueke-resbox__head {
    background: var(--theme-color); color: #fff; font-weight: 700;
    padding: 12px 16px; display: flex; align-items: center; gap: 10px;
}
.xueke-resbox__badge { background: rgba(255, 255, 255, .25); padding: 2px 10px; border-radius: 20px; font-size: 13px; }
.xueke-resbox__toggle {
    margin-left: auto; background: rgba(255, 255, 255, .22); border: none;
    color: #fff; padding: 4px 12px; border-radius: 20px; cursor: pointer; font-size: 13px;
}
.xueke-resbox__toggle:hover { background: rgba(255, 255, 255, .35); }
.xueke-resbox.is-collapsed .xueke-resbox__list { display: none; }
.xueke-resbox__list { list-style: none; margin: 0; padding: 8px 16px; }
.xueke-resbox__item {
    display: flex; align-items: center; gap: 12px; padding: 12px 0;
    border-bottom: 1px dashed var(--border-color);
}
.xueke-resbox__item:last-child { border-bottom: none; }
.xueke-resbox__no {
    width: 26px; height: 26px; flex: none; border-radius: 50%;
    background: var(--theme-color); color: #fff; text-align: center;
    line-height: 26px; font-size: 13px; font-weight: 700;
}
.xueke-resbox__main { flex: 1; min-width: 0; }
.xueke-resbox__name { font-weight: 600; color: var(--main-color); word-break: break-all; }
.xueke-resbox__pwd {
    font-size: 13px; color: var(--muted-color); margin-top: 2px;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.xueke-copy {
    border: 1px solid var(--border-color); background: var(--body-bg-color);
    color: var(--main-color); border-radius: 12px; padding: 1px 8px;
    font-size: 12px; cursor: pointer;
}
.xueke-copy:hover { background: var(--theme-color); color: #fff; border-color: var(--theme-color); }
.xueke-resbox__btn {
    flex: none; background: var(--jb-blue); color: #fff; padding: 6px 16px;
    border-radius: 20px; font-weight: 600; font-size: 13px; white-space: nowrap;
}
.xueke-resbox__btn:hover { background: var(--jb-blue-dark); color: #fff; }

/* ---------- 付费资源框 ---------- */
.xueke-paywall__tip { padding: 10px 0 14px; color: var(--muted-color); line-height: 1.8; }
.xueke-paywall__tip b { color: var(--theme-color); font-size: 18px; }
.xueke-paywall__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.xueke-paywall__btn {
    display: inline-block; padding: 9px 26px; border-radius: 22px; color: #fff;
    font-weight: 600; text-decoration: none;
}
.xueke-paywall__btn--ali { background: #1677ff; }
.xueke-paywall__btn--wx { background: #07c160; }
.xueke-paywall__btn:hover { opacity: .9; color: #fff; }

/* ---------- 页面 ---------- */
.post.page {
    background: var(--main-bg-color); border: 1px solid var(--border-color);
    border-radius: var(--main-radius); box-shadow: var(--shadow); padding: 24px;
}
.post.page h1.post-title { font-size: 24px; margin: 0 0 16px; }

/* ---------- 评论 ---------- */
.msg { list-style: none; margin: 0; padding: 0; }
.msg .msg { padding: 10px 0 10px 16px; border-left: 2px solid var(--border-color); margin-left: 8px; }
.msgname { font-weight: 600; }
.msgarticle { padding: 4px 0; }
#divCommentPost {
    background: var(--main-bg-color); border: 1px solid var(--border-color);
    border-radius: var(--main-radius); box-shadow: var(--shadow); padding: 16px; margin-top: 18px;
}
#divCommentPost textarea, #divCommentPost input.text {
    width: 100%; padding: 9px 12px; border: 1px solid var(--border-color);
    border-radius: var(--mini-radius); margin: 4px 0 10px; outline: none;
}
#divCommentPost .button {
    background: var(--jb-blue); color: #fff; border: none;
    padding: 9px 22px; border-radius: var(--mini-radius); cursor: pointer; font-weight: 600;
}
#divCommentPost .button:hover { background: var(--jb-blue-dark); }

/* ---------- 底部 ---------- */
#divBottom { text-align: center; color: var(--muted-color); font-size: 13px;
    padding: 28px 0; margin-top: 20px; border-top: 1px solid var(--border-color); }

/* ---------- 404 ---------- */
.notfound { text-align: center; padding: 80px 20px; }
.notfound h1 { font-size: 64px; color: var(--theme-color); margin: 0; }

/* ---------- 相关推荐 ---------- */
.xueke-related { margin: 24px 0; }
.xueke-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.xueke-related__item { display: block; background: var(--card); border: 1px solid var(--border-color); border-radius: var(--mini-radius); overflow: hidden; }
.xueke-related__item:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.xueke-related__thumb { height: 110px; background: #eef1f7; overflow: hidden; }
.xueke-related__thumb img { width: 100%; height: 100%; object-fit: cover; }
.xueke-related__name { padding: 8px 10px; font-size: 14px; color: var(--main-color); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- 顶部登录/注册 ---------- */
.topauth { display: flex; align-items: center; gap: 12px; margin-left: 14px; white-space: nowrap; }
.topauth a { color: var(--main-color); font-size: 14px; padding: 5px 12px; border-radius: 18px; }
.topauth a:hover { color: var(--theme-color); }
.topauth__reg { background: var(--theme-color); color: #fff !important; }
.topauth__reg:hover { background: var(--jb-blue-dark); color: #fff !important; }
.xueke-lang { margin-left: 10px; font-size: 12px; }
.xueke-lang__item { color: var(--muted-color); margin-left: 6px; text-decoration: none; }
.xueke-lang__item.xueke-lang__on { color: var(--theme-color); font-weight: 600; }

/* ---------- 注册页 ---------- */
.regpage__tip { color: var(--muted-color); margin: 0 0 16px; line-height: 1.8; }
.regpage__form table { width: 100%; max-width: 560px; border-collapse: collapse; }
.regpage__form td { padding: 8px 6px; border: none !important; }
.regpage__form input[type=text], .regpage__form input[type=password] { padding: 8px 10px; border: 1px solid var(--border-color); border-radius: var(--mini-radius); }
.regpage__form input[type=submit] { background: var(--theme-color); color: #fff; border: none; border-radius: 20px; padding: 8px 28px; cursor: pointer; font-weight: 600; }

/* ---------- 主题登录页 ---------- */
.loginpage__body { max-width: 420px; }
.xueke-login { display: flex; flex-direction: column; gap: 14px; }
.xueke-login__row { display: flex; align-items: center; gap: 10px; }
.xueke-login__row label { width: 64px; text-align: right; color: var(--main-color); flex: none; }
.xueke-login__row input[type=text], .xueke-login__row input[type=password] {
    flex: 1; padding: 9px 12px; border: 1px solid var(--border-color);
    border-radius: var(--mini-radius); outline: none;
}
.xueke-login__row input[type=text]:focus, .xueke-login__row input[type=password]:focus { border-color: var(--theme-color); }
.xueke-login__remember label { width: auto; }
.xueke-login #btnPost, .xueke-login input.button {
    align-self: flex-end; background: var(--theme-color); color: #fff; border: none;
    padding: 9px 28px; border-radius: var(--mini-radius); cursor: pointer; font-weight: 600;
}
.xueke-login #btnPost:hover, .xueke-login input.button:hover { background: var(--jb-blue-dark); }
.xueke-login__vc { height: 34px; cursor: pointer; border: 1px solid var(--border-color); border-radius: var(--mini-radius); }
.xueke-login__reg { text-align: center; color: var(--muted-color); }
.xueke-login__reg a { color: var(--theme-color); font-weight: 600; }

/* 第三方登录 */
.xueke-oauth { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--border-color); }
.xueke-oauth__title { text-align: center; color: var(--muted-color); font-size: 13px; margin-bottom: 12px; }
.xueke-oauth__list { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.xueke-oauth__btn {
    display: inline-block; padding: 8px 20px; border-radius: 22px; color: #fff;
    text-decoration: none; font-weight: 600; font-size: 13px;
}
.xueke-oauth__btn--qq { background: #12b7f5; }
.xueke-oauth__btn--github { background: #24292e; }
.xueke-oauth__btn--wechat { background: #07c160; }
.xueke-oauth__btn:hover { opacity: .9; color: #fff; }

/* ---------- 每日一言 ---------- */
.xueke-yiyan { background: linear-gradient(135deg, var(--theme-color), var(--jb-blue)); color: #fff; border-radius: var(--main-radius); padding: 16px 18px; line-height: 1.7; box-shadow: var(--shadow); }
.xueke-yiyan__t { opacity: .7; font-size: 12px; margin-bottom: 4px; }
.xueke-yiyan__c { font-size: 15px; }

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
    .xueke-slide { height: 200px; }
    .xueke-slide__cap a { font-size: 16px; }
    #divMain, #divSidebar { width: 100% !important; padding: 0 !important; }
    .topsearch input { width: 130px; }
}
@media (max-width: 600px) {
    .xueke-related__grid { grid-template-columns: repeat(2, 1fr); }
    .post.single { padding: 16px; }
}

/* ================= 新增：LOGO 图像 ================= */
.logo__img { height: 60px; width: auto; vertical-align: middle; }
.logo__img--dark { display: none; }
body.night .logo__img--light { display: none; }
body.night .logo__img--dark { display: inline; }

/* ================= 分类导航（顶部 + 首页横条） ================= */
.catnav-wrap { flex: 1; min-width: 0; }
ul.catnav { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px; }
.catnav__item { position: relative; display: flex; align-items: center; }
.catnav__item > a { display: block; padding: 8px 12px; color: inherit; text-decoration: none; border-radius: 6px; white-space: nowrap; }
.catnav__item > a:hover { background: rgba(30,144,255,.08); color: #1e90ff; }
.catnav__arrow { margin-left: -6px; color: #aaa; font-size: 14px; }
.catnav__sub { display: none; position: absolute; top: 100%; left: 0; z-index: 60; min-width: 150px; background: #fff; border: 1px solid #eee; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.10); list-style: none; margin: 0; padding: 6px 0; }
.catnav__sub li a { display: block; padding: 8px 16px; color: #333; text-decoration: none; white-space: nowrap; }
.catnav__sub li a:hover { background: #f2f8ff; color: #1e90ff; }
.catnav__item.has-sub:hover > .catnav__sub,
.catnav__item.has-sub.open > .catnav__sub { display: block; }

/* 首页分类横条 + 搜索 */
.catnav-bar { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #eee; border-radius: 10px; padding: 6px 12px; margin: 12px 0; }
.catnav-bar ul.catnav { flex: 1; }
.catnav-bar__search { display: flex; margin-left: auto; }
.catnav-bar__search input { border: 1px solid #e3e3e3; border-radius: 18px 0 0 18px; padding: 6px 12px; outline: none; width: 180px; }
.catnav-bar__search button { border: none; background: #1e90ff; color: #fff; border-radius: 0 18px 18px 0; padding: 6px 14px; cursor: pointer; }

/* ================= 公告横向滚动 ================= */
.notice-bar { display: flex; align-items: center; gap: 10px; background: #fffbe8; border: 1px solid #ffe58f; border-radius: 10px; padding: 8px 14px; margin: 12px 0; }
.notice-bar__tag { flex: none; background: #faad14; color: #fff; font-size: 12px; border-radius: 4px; padding: 2px 8px; }
.notice-bar__viewport { overflow: hidden; height: 22px; flex: 1; }
.notice-bar__list { list-style: none; margin: 0; padding: 0; animation: notice-scroll 12s linear infinite; }
.notice-bar__list li { height: 22px; line-height: 22px; color: #8c6d1f; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.notice-bar__viewport:hover .notice-bar__list { animation-play-state: paused; }
@keyframes notice-scroll {
    0%, 8%   { transform: translateY(0); }
    25%, 33% { transform: translateY(-22px); }
    50%, 58% { transform: translateY(-44px); }
    75%, 83% { transform: translateY(-66px); }
    100%     { transform: translateY(-88px); }
}
.notice-bar__list.only-one { animation: none; }

/* ================= 每日一言（首页模块） ================= */
.xueke-yiyan--home { margin: 12px 0; }

/* ================= 用户徽标（余额/积分/会员） ================= */
.user-badge { display: inline-flex; gap: 8px; margin: 0 6px; font-size: 12px; }
.user-badge span { background: #f2f6ff; color: #3a76d0; border-radius: 10px; padding: 2px 8px; }
.user-badge .user-badge__vip { color: #b8860b; background: #fff7d6; font-weight: 600; }

/* ================= 右侧悬浮按钮 ================= */
.xk-float { position: fixed; right: 16px; bottom: 90px; z-index: 200; display: flex; flex-direction: column; gap: 8px; }
.xk-float__btn { width: 44px; height: 44px; border-radius: 50%; background: #fff; color: #555; border: 1px solid #e8e8e8; box-shadow: 0 4px 14px rgba(0,0,0,.08); display: flex; align-items: center; justify-content: center; font-size: 12px; cursor: pointer; position: relative; text-decoration: none; user-select: none; }
.xk-float__btn:hover { color: #1e90ff; border-color: #1e90ff; }
.xk-float__btn--vip { background: linear-gradient(135deg, #ffb02e, #ff7a00); color: #fff; font-weight: 700; border: none; }
.xk-float__btn--top { display: none; }
.xk-float__btn--top.show { display: flex; }
.xk-float__pop { display: none; position: absolute; right: 54px; top: 50%; transform: translateY(-50%); background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.xk-float__pop img { width: 150px; height: 150px; display: block; }
.xk-float__btn:hover .xk-float__pop { display: block; }

/* ================= 夜间模式 ================= */
body.night { background: #16181d; color: #d6d6d6; }
body.night .topbar, body.night .catnav-bar, body.night .notice-bar,
body.night .sidebar-box, body.night .post.single, body.night .post-multi,
body.night .block-title, body.night .xueke-slider, body.night .xk-float__btn,
body.night .catnav__sub, body.night .xueke-related, body.night #divBottom { background: #1e2128 !important; color: #d6d6d6; border-color: #2a2e37 !important; }
body.night .catnav__sub li a, body.night .notice-bar__list li { color: #d6d6d6; }
body.night .xk-float__btn { color: #aaa; }

/* ================= 底部 SEO 文字 ================= */
.footer-seo { max-width: 900px; margin: 8px auto; color: #999; font-size: 12px; line-height: 1.7; }

/* ================= 移动端适配 ================= */
@media (max-width: 900px) {
    .topbar__inner { flex-wrap: wrap; row-gap: 6px; }
    .catnav-wrap { display: none; }
    .catnav-bar { flex-wrap: wrap; }
    .catnav-bar ul.catnav { flex-basis: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
    .catnav-bar__search { width: 100%; margin-left: 0; }
    .catnav-bar__search input { flex: 1; width: auto; }
    .topsearch { display: none; }
    .xk-float { right: 10px; bottom: 70px; }
    .xk-float__btn--wechat, .xk-float__btn--qq { display: none; }
}
@media (max-width: 600px) {
    .logo__img { height: 40px; }
    .topauth a { padding: 4px 8px; font-size: 13px; }
    .user-badge { display: none; }
    .notice-bar__viewport { height: 20px; }
    .notice-bar__list li { height: 20px; line-height: 20px; }
}


/* ---------- 高级筛选条（分类页） ---------- */
.xk-filter{background:#fff;border:1px solid #eee;border-radius:8px;padding:10px 14px;margin:10px 0 14px}
.xk-filter__head{font-weight:600;font-size:14px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}
.xk-filter__reset{font-size:12px;color:#1e90ff;text-decoration:none}
.xk-filter__row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;border-top:1px dashed #f0f0f0}
.xk-filter__row:first-of-type{border-top:none}
.xk-filter__name{color:#888;font-size:13px;min-width:64px}
.xk-filter__btn{display:inline-block;padding:2px 12px;font-size:13px;border-radius:14px;background:#f5f6f7;color:#555;text-decoration:none}
.xk-filter__btn:hover{background:#e8f2ff}
.xk-filter__btn--on{background:#1e90ff;color:#fff}

/* ---------- 详情页：版权声明 / THE END / 操作栏 / 上下篇 ---------- */
.post-copyright{margin:18px 0 0;padding:10px 14px;background:#fafafa;border-left:3px solid #ddd;border-radius:6px;color:#777;font-size:13px}
.post-copyright b{display:block;margin-bottom:4px;color:#555}
.post-theend{margin:16px 0;text-align:center;color:#bbb;font-size:12px;letter-spacing:6px;position:relative}
.post-theend:before,.post-theend:after{content:" \;display:inline-block;width:60px;height:1px;background:#e5e5e5;vertical-align:middle;margin:0 12px}
.post-actions{margin:20px 0;padding:16px 0;text-align:center;background:#fafafa;border-radius:8px}
.post-actions__tip{margin:0 0 10px;color:#888;font-size:13px}
.post-actions__btns{display:flex;justify-content:center;gap:34px}
.post-actions__btn{display:flex;flex-direction:column;align-items:center;gap:4px;color:#666;text-decoration:none;font-size:13px;cursor:pointer}
.post-actions__btn .ico{font-size:20px}
.post-actions__btn:hover{color:#1e90ff}
.post-actions__share{display:flex;justify-content:center;gap:14px;margin-top:12px}
.post-actions__share a{padding:4px 14px;font-size:13px;background:#fff;border:1px solid #eee;border-radius:14px;color:#555;text-decoration:none}
.post-actions__share a:hover{color:#1e90ff;border-color:#1e90ff}
.post-nav{display:flex;gap:12px;margin:22px 0 8px}
.post-nav__item{flex:1;background:#fafafa;border-radius:8px;padding:10px 14px;min-height:44px;display:flex;align-items:center;min-width:0}
.post-nav__item--next{justify-content:flex-end;text-align:right}
.post-nav__label{color:#999;font-size:13px;white-space:nowrap;flex:none}
.post-nav__item a{color:#333;font-size:14px;text-decoration:none;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-nav__item a:hover{color:#1e90ff}
.post-nav__none{color:#bbb;font-size:14px}

/* ---------- 付费框：会员免费标签 / 未登录提示 ---------- */
.xueke-paywall__vipbadges{display:flex;gap:10px;flex-wrap:wrap;margin:2px 0 12px}
.xueke-paywall__vip{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;border-radius:6px;font-size:13px;font-weight:600}
.xueke-paywall__vip--gold{background:linear-gradient(135deg,#fff7e6,#ffefd0);border:1px solid #ffd591;color:#ad6800}
.xueke-paywall__vip--dia{background:linear-gradient(135deg,#f3edff,#e9deff);border:1px solid #d3bfff;color:#531dab}
.xueke-paywall__vip-crown{font-style:normal;font-size:14px}
.xueke-paywall__notice{margin-top:10px;padding:9px 14px;background:#f7f8fa;border-radius:6px;color:#999;font-size:13px;text-align:center}

/* ---------- 资源属性表格（格式/页数/大小，参考子比） ---------- */
.xueke-props{margin:2px 0 12px;background:#fafafa;border-radius:8px;overflow:hidden}
.xueke-props__row{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;border-bottom:1px solid #f0f0f0}
.xueke-props__row:last-child{border-bottom:none}
.xueke-props__name{color:#888;margin-right:12px}
.xueke-props__val{color:#333;font-weight:600}

/* ---------- 会员开通页 ---------- */
.xk-vip{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}
.xk-vip__me{width:100%;background:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.xk-vip__me p{margin:4px 0}
.xk-vip__tip{color:#999;font-size:13px}
.xk-vip__card{flex:1;min-width:240px;max-width:320px;background:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.08);border-top:4px solid #f0a818}
.xk-vip__card--dia{border-top-color:#7c4dff}
.xk-vip__card h3{margin:0 0 8px}
.xk-vip__price{color:#e55;font-size:14px}
.xk-vip__price b{font-size:34px}
.xk-vip__dur{color:#888;font-size:13px;margin-bottom:10px}
.xk-vip__card ul{list-style:none;margin:0 0 14px;padding:0;color:#666;font-size:13px}
.xk-vip__card ul li{padding:3px 0}
.xk-vip__btn{display:block;margin:8px 0;padding:9px 0;border-radius:20px;background:linear-gradient(90deg,#ff5f57,#ff9500);color:#fff;text-decoration:none;font-size:14px}
.xk-vip__btn:hover{opacity:.9}
.xk-vip__btn--off{background:#ddd;color:#888;cursor:not-allowed}
.xk-vip__review{width:100%;background:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.xk-vip__review h4{margin:6px 0}
.xk-vip__review .xk-vip__btn{display:inline-block;padding:7px 20px;margin:4px 8px 0 0}

/* ---------- 首页无侧栏全宽 ---------- */
body.multi.index #divMain{width:100%;max-width:100%;float:none;padding:0}
body.multi.index #divMain::after{content:"";display:block;clear:both}

/* ---------- 列表页每行两条、左右对称 ---------- */
@media (min-width: 901px) {
    body.multi #divMain { display: flex; flex-wrap: wrap; gap: 16px; align-items: stretch; }
    body.multi #divMain .post.multi,
    body.multi #divMain .post.istop {
        width: calc(50% - 8px); margin-bottom: 0;
        display: flex; flex-direction: column;
    }
    body.multi #divMain .post-multi__body { flex: 1 1 auto; display: flex; flex-direction: column; }
    body.multi #divMain .post-multi__meta { margin-top: auto; }
    body.multi #divMain .pagebar { width: 100%; }
}

/* ---------- 余额充值 ---------- */
.xk-vip__link{display:inline-block;margin-left:10px;color:#1e90ff;font-size:13px;text-decoration:none}
.xk-vip__link:hover{text-decoration:underline}
.xk-vip__card--hot{border-top-color:#ff5f57;box-shadow:0 4px 16px rgba(255,95,87,.18)}
.xk-recharge__credit{color:#e55;font-size:13px;margin-bottom:10px}
.xk-recharge__gift{display:inline-block;margin-left:6px;padding:1px 8px;font-size:12px;background:#fff0ed;color:#ff5f57;border-radius:10px}
.xk-vip__cards{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch;width:100%}

/* ---------- Stripe 支付 ---------- */
.xueke-paywall__btn--stripe{background:#635bff;color:#fff}
.xueke-paywall__btn--stripe:hover{background:#5349e0}
.xk-vip__btn--stripe{background:#635bff;color:#fff}
.xk-vip__btn--stripe:hover{background:#5349e0}
