/* ============================================================
   学校排行 前台自定义样式 (叠加于 bootstrap3)
   规范: 正文13px / 按钮·输入框12px / 标签10px / 大标题19px
        表格单元格7px 6px / 工具栏6px 8px / 面板标题6px 9px / 卡片间距9-10px
   ============================================================ */

/* ---------- 基础 ---------- */
html { -webkit-text-size-adjust: 100%; }
/* 覆盖frontend(.min).css为固定导航预留的body内边距(本站导航非固定定位, 会导致顶部大片空白) */
body.rk-body { padding-top: 0 !important; }
body.rk-body {
    font-size: 15px;
    color: #333;
    background: #f5f6f8;
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
}
a { color: #1f6e5e; }
a:hover, a:focus { color: #0d4a3f; text-decoration: none; }

/* ---------- 顶部 ---------- */
.rk-topbar {
    background: #f5f6f8; color: #7a8494; font-size: 11px; line-height: 28px; border-bottom: 1px solid #eef0f4;
}
/* flex一行布局, 不依赖frontend.css的pull-right, 避免其加载慢时顶栏内容堆叠换行 */
.rk-topbar .rk-container { display: flex; align-items: center; justify-content: flex-end; }
.rk-topbar .pull-right { float: none; white-space: nowrap; }
.rk-topbar a { color: #7a8494; margin-left: 12px; }
.rk-topbar a:hover { color: #1f6e5e; }
.rk-lang-switch { display: inline-block; margin-right: 4px; }
.rk-lang-switch a { margin-left: 0 !important; padding: 0 6px; }
.rk-lang-switch em { font-style: normal; color: #d0d5dd; }
.rk-lang-switch a.cur { color: #1f6e5e; font-weight: 600; }
.rk-header {
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.rk-header .rk-container { display: flex; align-items: center; height: 58px; }
.rk-logo {
    font-size: 20px; font-weight: 700; color: #1d2838; letter-spacing: 1px;
    display: flex; align-items: center; gap: 8px; margin-right: 40px; flex-shrink: 0;
}
.rk-logo:hover { color: #1d2838; }
.rk-logo .rk-logo-icon {
    width: 30px; height: 30px; border-radius: 6px; background: #1f6e5e; color: #fff;
    display: inline-flex; align-items: center; justify-content: center; font-size: 15px;
}
.rk-nav { display: flex; align-items: center; justify-content: center; gap: 22px; flex: 1; }
.rk-nav > a {
    padding: 6px 8px; border-radius: 4px; color: var(--nav-color, #333); font-size: var(--nav-fs, 16px); font-weight: 600; white-space: nowrap;
}
.rk-nav > a:hover { background: #e8f6f1; color: #1f6e5e; }
.rk-nav > a.active { background: #1f6e5e; color: #fff; }
.rk-nav > a.rk-nav-auth { font-size: 13px; font-weight: 400; color: #7a8494; }
.rk-nav > a.rk-nav-auth:hover { color: #1f6e5e; background: none; }
.rk-header-user { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
/* 汉堡按钮与抽屉导航: 仅移动端显示(<=768px), PC端隐藏 */
.rk-menu-toggle { display: none; }
.rk-drawer, .rk-drawer-mask { display: none; }

/* ---------- 容器 ---------- */
.rk-container { width: 1400px; max-width: 100%; margin: 0 auto; padding: 0 16px; }
.rk-main { padding: 0 0 24px; }

/* ---------- 面板 ---------- */
.rk-panel {
    background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05);
    margin-bottom: 10px; overflow: hidden;
}
.rk-panel-hd {
    padding: 6px 9px; border-bottom: 1px solid #eef0f4; display: flex;
    align-items: center; justify-content: space-between; background: #fafbfc;
}
.rk-panel-title {
    font-size: 16px; font-weight: 700; color: #1d2838; margin: 0;
    padding-left: 8px; border-left: 3px solid #1f6e5e; line-height: 1.4;
}
.rk-panel-bd { padding: 9px 10px; }

/* ---------- 标签 ---------- */
.rk-tag {
    display: inline-block; padding: 1px 6px; font-size: 10px; line-height: 16px;
    border-radius: 3px; background: #e8f6f1; color: #1f6e5e; margin-right: 4px;
}
.rk-tag.rk-tag-org { background: #fdf1e7; color: #d2711d; }
.rk-tag.rk-tag-red { background: #fdeeee; color: #c94040; }
.rk-tag.rk-tag-green { background: #e9f7ef; color: #1e7e4e; }
.rk-tag.rk-tag-gray { background: #f0f1f3; color: #7a8494; }

/* ---------- 按钮 / 输入 ---------- */
.rk-btn {
    display: inline-block; padding: 4px 12px; font-size: 12px; line-height: 20px;
    border-radius: 4px; border: 1px solid #1f6e5e; background: #1f6e5e; color: #fff;
    cursor: pointer; text-align: center; vertical-align: middle;
}
.rk-btn:hover { background: #0d4a3f; border-color: #0d4a3f; color: #fff; }
.rk-btn.rk-btn-ghost { background: #fff; color: #1f6e5e; }
.rk-btn.rk-btn-ghost:hover { background: #e8f6f1; }
.rk-btn.rk-btn-sm { padding: 2px 8px; font-size: 12px; line-height: 18px; }
.rk-btn.rk-btn-gray { background: #fff; border-color: #ccd3dd; color: #555; }
.rk-btn.rk-btn-gray:hover { border-color: #9aa7ba; color: #333; background: #f7f8fa; }

.rk-input, .rk-select {
    height: 28px; padding: 2px 8px; font-size: 12px; border: 1px solid #d4dae3;
    border-radius: 4px; color: #333; background: #fff; outline: none; vertical-align: middle;
}
.rk-input:focus, .rk-select:focus { border-color: #1f6e5e; }

/* ---------- 筛选工具栏 ---------- */
.rk-filter { padding: 6px 8px; }
.rk-filter-row { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 0; min-height: 30px; }
.rk-filter-row + .rk-filter-row { border-top: 1px dashed #eef0f4; margin-top: 4px; padding-top: 4px; }
.rk-filter-label { color: #7a8494; font-size: 12px; width: 56px; flex-shrink: 0; text-align: right; margin-right: 8px; }
.rk-filter-item {
    display: inline-block; padding: 2px 10px; font-size: 14px; border-radius: 3px;
    color: #444; margin: 1px 3px 1px 0; line-height: 18px;
}
.rk-filter-item:hover { color: #1f6e5e; background: #e8f6f1; }
.rk-filter-item.active { background: #1f6e5e; color: #fff; }

/* ---------- 表格 ---------- */
.rk-table-wrap { overflow-x: auto; }
table.rk-table {
    width: 100%; border-collapse: collapse; font-size: 15px; background: #fff;
}
table.rk-table th, table.rk-table td {
    padding: 7px 6px; border-bottom: 1px solid #eef0f4; text-align: left;
    white-space: nowrap; vertical-align: middle;
}
table.rk-table th {
    background: #fafbfc; color: #556070; font-weight: 600; font-size: 14px;
    border-bottom: 1px solid #e4e8ee;
}
table.rk-table tr:hover td { background: #f7f9fd; }
.rk-rank-no {
    display: inline-block; min-width: 22px; text-align: center; font-weight: 700;
    color: #7a8494; font-size: 12px;
}
.rk-rank-no.rk-top1 { color: #d2711d; }
.rk-rank-no.rk-top2 { color: #b06a3c; }
.rk-rank-no.rk-top3 { color: #a8763f; }
.rk-rank-no.rk-top10 { color: #1f6e5e; }
.rk-school-cell { display: flex; align-items: center; gap: 8px; min-width: 160px; }
.rk-school-cell img { width: 26px; height: 26px; border-radius: 3px; object-fit: cover; background: #eef0f4; }
.rk-school-cell .rk-logo-ph {
    width: 26px; height: 26px; border-radius: 3px; background: #e8f6f1; color: #1f6e5e;
    display: inline-flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0;
}
.rk-school-cell a { color: #333; font-weight: 600; }
.rk-school-cell a:hover { color: #1f6e5e; }

/* 榜单变化列 */
.rk-up { color: #1e7e4e; font-weight: 700; }
.rk-down { color: #c94040; font-weight: 700; }
.rk-flat { color: #9aa7ba; }
td.rk-trend { color: #556070; font-size: 12px; letter-spacing: .5px; }

/* ---------- 分页 ---------- */
.rk-pagination { display: flex; justify-content: center; padding: 12px 0 4px; }
.rk-pagination ul { display: flex; list-style: none; margin: 0; padding: 0; gap: 4px; }
.rk-pagination li a, .rk-pagination li span {
    display: inline-block; min-width: 26px; height: 26px; line-height: 25px;
    padding: 0 6px; text-align: center; font-size: 12px; border: 1px solid #d4dae3;
    border-radius: 3px; color: #444; background: #fff;
}
.rk-pagination li.active span { background: #1f6e5e; border-color: #1f6e5e; color: #fff; }
.rk-pagination li.disabled span { color: #b8c0cc; background: #f7f8fa; }
.rk-pagination li a:hover { border-color: #1f6e5e; color: #1f6e5e; }

/* ---------- 轮播 / banner ---------- */
.rk-banner { position: relative; overflow: hidden; background: #1d2838; }
.rk-banner img { width: 100%; height: 680px; object-fit: cover; display: block; }
.rk-banner .carousel-inner > .item > img { width: 100%; height: 680px; object-fit: cover; }
.rk-banner .rk-banner-slogan {
    position: absolute; left: 0; right: 0; bottom: 120px; text-align: center; color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,.5); pointer-events: none;
}
.rk-banner .rk-banner-slogan h2 { font-size: 30px; margin: 0 0 8px; }
.rk-banner .rk-banner-slogan p { font-size: 14px; opacity: .9; margin: 0; }
.rk-subbanner { position: relative; background: #1d2838; }
.rk-subbanner img { width: 100%; height: 680px; object-fit: cover; display: block; }
.rk-subbanner .rk-subbanner-title {
    position: absolute; left: 0; right: 0; bottom: 80px; text-align: center; color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,.6); pointer-events: none;
}
.rk-subbanner .rk-subbanner-title h2 { font-size: 26px; margin: 0 0 6px; }
.rk-subbanner .rk-subbanner-title p { font-size: 13px; opacity: .85; margin: 0; }

/* ---------- 首页榜单卡片 ---------- */
.rk-cat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.rk-cat-card { background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 9px 10px; }
.rk-cat-card-hd { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #eef0f4; padding-bottom: 6px; margin-bottom: 6px; }
.rk-cat-card-title { font-size: 15px; font-weight: 700; color: #1d2838; display: flex; align-items: center; gap: 6px; }
.rk-cat-card-title i { color: #d2711d; }
.rk-mini-rank { list-style: none; margin: 0; padding: 0; }
.rk-mini-rank li { display: flex; align-items: center; padding: 4px 0; font-size: 13px; border-bottom: 1px dashed #f0f1f3; }
.rk-mini-rank li:last-child { border-bottom: 0; }
.rk-mini-rank .rk-mini-no { width: 30px; flex-shrink: 0; }
.rk-mini-rank .rk-mini-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rk-mini-rank .rk-mini-name a { color: #333; }
.rk-mini-rank .rk-mini-name a:hover { color: #1f6e5e; }
.rk-mini-rank .rk-mini-score { color: #d2711d; font-weight: 700; width: 52px; text-align: right; flex-shrink: 0; }

/* ---------- 首页两栏 ---------- */
.rk-home-cols { display: flex; gap: 10px; align-items: flex-start; }
.rk-home-main { flex: 1; min-width: 0; }
.rk-home-side { width: 300px; flex-shrink: 0; }

/* ---------- 资讯列表 ---------- */
.rk-news-list { list-style: none; margin: 0; padding: 0; }
.rk-news-list li {
    display: flex; align-items: center; padding: 9px 2px; border-bottom: 1px dashed #eef0f4;
}
.rk-news-list li:last-child { border-bottom: 0; }
.rk-news-list .rk-news-date { width: 92px; color: #9aa7ba; flex-shrink: 0; }
.rk-news-list .rk-news-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rk-news-list .rk-news-title a { color: #333; }
.rk-news-list .rk-news-title a:hover { color: #1f6e5e; }
.rk-news-list .rk-news-badge {
    display: inline-block; padding: 1px 6px; margin-right: 6px; border-radius: 3px;
    font-size: 12px; line-height: 1.4; font-weight: 600; flex-shrink: 0;
}
.rk-news-list .rk-news-badge-top { background: #e74c3c; color: #fff; }
.rk-news-list .rk-news-badge-top::before { content: "置"; margin-right: 2px; }
.rk-news-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.rk-news-card { background: #fff; border-radius: 6px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.rk-news-card .rk-news-cover { height: 120px; background: #eef0f4; overflow: hidden; }
.rk-news-card .rk-news-cover img { width: 100%; height: 100%; object-fit: cover; }
.rk-news-card .rk-news-bd { padding: 7px 9px; }
.rk-news-card .rk-news-t { font-size: 13px; font-weight: 600; line-height: 1.5; height: 39px; overflow: hidden; }
.rk-news-card .rk-news-t a { color: #333; }
.rk-news-card .rk-news-t a:hover { color: #1f6e5e; }
.rk-news-card .rk-news-meta { color: #9aa7ba; font-size: 12px; margin-top: 4px; }

/* ---------- 侧栏 ---------- */
.rk-side-block { background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); margin-bottom: 10px; overflow: hidden; }
.rk-side-block .rk-side-hd {
    padding: 6px 9px; background: #fafbfc; border-bottom: 1px solid #eef0f4; display: flex; justify-content: space-between; align-items: center;
}
.rk-side-block .rk-side-hd h3 { margin: 0; font-size: 15px; font-weight: 700; color: #1d2838; padding-left: 8px; border-left: 3px solid #d2711d; }
.rk-side-block .rk-side-bd { padding: 6px 10px; }
.rk-hot-list { list-style: none; margin: 0; padding: 0; counter-reset: hot; }
.rk-hot-list li { display: flex; align-items: center; gap: 8px; padding: 6px 0; font-size: 15px; border-bottom: 1px dashed #f0f1f3; }
.rk-hot-list li:last-child { border-bottom: 0; }
.rk-hot-list .rk-hot-no { width: 18px; height: 18px; line-height: 18px; text-align: center; background: #eef0f4; color: #7a8494; font-size: 10px; border-radius: 3px; flex-shrink: 0; }
.rk-hot-list li:nth-child(-n+3) .rk-hot-no { background: #fdeeee; color: #c94040; }
.rk-hot-list .rk-hot-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rk-hot-list .rk-hot-name a { color: #333; }
.rk-hot-list .rk-hot-name a:hover { color: #1f6e5e; }

/* ---------- 搜索框 ---------- */
.rk-search { display: flex; gap: 6px; position: relative; }
.rk-search .rk-input { flex: 1; width: 100%; }
.rk-suggest {
    position: absolute; top: 32px; left: 0; right: 0; background: #fff; border: 1px solid #d4dae3;
    border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.12); z-index: 100; display: none; max-height: 300px; overflow-y: auto;
}
.rk-suggest a { display: flex; align-items: center; gap: 8px; padding: 5px 10px; font-size: 12px; color: #333; border-bottom: 1px solid #f5f6f8; }
.rk-suggest a:hover, .rk-suggest a.cur { background: #e8f6f1; color: #1f6e5e; }
.rk-suggest .rk-sg-logo { width: 20px; height: 20px; border-radius: 3px; background: #e8f6f1; color: #1f6e5e; font-size: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.rk-suggest .rk-sg-logo img { width: 100%; height: 100%; object-fit: cover; }
.rk-suggest .rk-sg-meta { color: #9aa7ba; margin-left: auto; font-size: 10px; flex-shrink: 0; }

/* ---------- 页面标题区 ---------- */
.rk-crumbs { padding: 14px 0 8px; font-size: 12px; color: #9aa7ba; }
.rk-crumbs a { color: #7a8494; }
.rk-crumbs a:hover { color: #1f6e5e; }
.rk-crumbs .rk-crumb-sep { margin: 0 6px; color: #ccd3dd; }

/* ---------- 院校详情 ---------- */
/* Hero 横幅头部 */
.rk-school-hero { position: relative; border-radius: 10px; overflow: hidden; margin-bottom: 10px; min-height: 150px; box-shadow: 0 4px 18px rgba(29,40,56,.10); }
.rk-hero-bg { position: absolute; inset: 0; }
.rk-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.rk-hero-bg-gradient { background: linear-gradient(135deg, #1d2838 0%, #23413b 45%, #1f6e5e 100%); }
.rk-hero-bg-gradient::after {
    content: ''; position: absolute; inset: 0;
    background:
        radial-gradient(circle at 85% 20%, rgba(255,255,255,.08) 0, transparent 45%),
        radial-gradient(circle at 15% 90%, rgba(232,246,241,.10) 0, transparent 40%);
}
.rk-hero-mask { position: absolute; inset: 0; background: linear-gradient(to right, rgba(18,28,40,.88) 0%, rgba(18,28,40,.72) 55%, rgba(18,28,40,.45) 100%); }
.rk-hero-body { position: relative; z-index: 2; display: flex; gap: 18px; align-items: center; padding: 26px 28px; }
.rk-hero-body .rk-school-logo {
    width: 84px; height: 84px; border-radius: 12px; background: #fff; color: #1f6e5e; font-size: 30px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.6);
}
.rk-hero-body .rk-school-info h1 { color: #fff; font-size: 24px; margin: 0 0 4px; font-weight: 700; letter-spacing: .5px; }
.rk-hero-body .rk-school-en { color: rgba(255,255,255,.60); font-size: 13px; margin-bottom: 8px; letter-spacing: .5px; }
.rk-hero-body .rk-school-meta { color: rgba(255,255,255,.85); }
.rk-hero-body .rk-school-meta span i { color: rgba(255,255,255,.45); }
.rk-hero-body .rk-school-meta a { color: rgba(255,255,255,.85); }
.rk-hero-body .rk-school-meta a:hover { color: #fff; }
.rk-hero-tags { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.rk-tag-hero { background: rgba(255,255,255,.16); color: #fff; border: 1px solid rgba(255,255,255,.25); backdrop-filter: blur(2px); }
.rk-hero-rank { margin-left: auto; text-align: right; flex-shrink: 0; padding-left: 20px; }
.rk-hero-rank-label { color: rgba(255,255,255,.75); font-size: 12px; letter-spacing: 1px; }
.rk-hero-rank-label i { color: #f0c060; margin-right: 4px; }
.rk-hero-rank-no { color: #fff; font-size: 34px; font-weight: 800; margin: 6px 0 2px; line-height: 1; }
.rk-hero-rank-no em { font-style: normal; font-size: 40px; }
.rk-hero-rank-trend { font-size: 12px; }
.rk-hero-rank-trend.up { color: #6fd3a5; }
.rk-hero-rank-trend.down { color: #f0a9a9; }
.rk-hero-rank-trend.flat { color: rgba(255,255,255,.55); }

/* 指标卡行 */
.rk-stats-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 10px; }
.rk-stat-card { background: #fff; border-radius: 8px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 14px 16px; display: flex; align-items: center; gap: 12px; transition: box-shadow .2s, transform .2s; }
.rk-stat-card:hover { box-shadow: 0 4px 14px rgba(29,40,56,.10); transform: translateY(-2px); }
.rk-stat-icon { width: 40px; height: 40px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 17px; flex-shrink: 0; }
.rk-stat-bd { min-width: 0; }
.rk-stat-num { font-size: 19px; font-weight: 800; color: #1d2838; line-height: 1.2; }
.rk-stat-label { color: #7a8494; font-size: 12px; margin-top: 2px; }

/* 简介面板 */
.rk-intro-text { margin: 0; font-size: 14px; line-height: 2.0; color: #444c59; text-align: justify; }
.rk-intro-updated { margin-top: 10px; padding-top: 10px; border-top: 1px dashed #eef0f4; color: #9aa7ba; font-size: 12px; }
.rk-intro-updated i { margin-right: 4px; }

/* 排名趋势 */
.rk-trend { display: inline-flex; align-items: center; gap: 2px; font-weight: 700; font-size: 13px; }
.rk-trend.up { color: #1e7e4e; }
.rk-trend.down { color: #c94040; }
.rk-trend.flat { color: #9aa7ba; font-weight: 400; }

.rk-school-head { background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 14px 16px; display: flex; gap: 14px; margin-bottom: 10px; }
.rk-school-logo { width: 72px; height: 72px; border-radius: 8px; background: #e8f6f1; color: #1f6e5e; font-size: 24px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.rk-school-logo img { width: 100%; height: 100%; object-fit: cover; }
.rk-school-info { flex: 1; min-width: 0; }
.rk-school-info h1 { font-size: 19px; margin: 0 0 4px; color: #1d2838; font-weight: 700; }
.rk-school-en { color: #9aa7ba; font-size: 12px; margin-bottom: 6px; }
.rk-school-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: #556070; }
.rk-school-meta span i { margin-right: 3px; color: #9aa7ba; }
.rk-detail-cols { display: flex; gap: 10px; align-items: flex-start; }
.rk-detail-main { flex: 1; min-width: 0; }
.rk-detail-side { width: 300px; flex-shrink: 0; }
.rk-info-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.rk-info-table th, .rk-info-table td { padding: 6px 8px; border-bottom: 1px solid #f0f1f3; text-align: left; vertical-align: top; }
.rk-info-table th { color: #7a8494; font-weight: 400; width: 90px; background: #fafbfc; }
.rk-article { font-size: 15px; line-height: 1.9; color: #444; word-break: break-word; }
.rk-article img { max-width: 100%; height: auto; }
.rk-article p { margin: 0 0 8px; }

/* ---------- 收藏按钮 ---------- */
.rk-fav-btn { cursor: pointer; user-select: none; }
.rk-fav-btn i { margin-right: 2px; }
.rk-fav-btn.on { color: #d2711d; }

/* ---------- 评论 ---------- */
.rk-comment-item { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px dashed #eef0f4; }
.rk-comment-item:last-child { border-bottom: 0; }
.rk-cmt-avatar { width: 34px; height: 34px; border-radius: 50%; background: #e8f6f1; color: #1f6e5e; font-size: 13px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.rk-cmt-avatar img { width: 100%; height: 100%; object-fit: cover; }
.rk-cmt-body { flex: 1; min-width: 0; }
.rk-cmt-hd { display: flex; align-items: center; gap: 8px; }
.rk-cmt-user { font-weight: 600; color: #333; font-size: 12px; }
.rk-cmt-time { color: #9aa7ba; font-size: 12px; }
.rk-cmt-content { margin-top: 3px; font-size: 13px; color: #444; line-height: 1.7; word-break: break-word; }
.rk-comment-form textarea.rk-input { height: 64px; width: 100%; resize: vertical; }

/* ---------- 空态 ---------- */
.rk-empty { text-align: center; color: #9aa7ba; padding: 40px 0; font-size: 13px; }
.rk-empty i { font-size: 32px; display: block; margin-bottom: 8px; color: #ccd3dd; }

/* ---------- 页脚 ---------- */
.rk-footer { background: #1d2838; color: #7a8494; margin-top: 20px; padding: 22px 0 16px; font-size: 12px; }
.rk-footer .rk-footer-links { text-align: center; margin-bottom: 10px; }
.rk-footer .rk-footer-links a { color: #9aa7ba; margin: 0 10px; }
.rk-footer .rk-footer-links a:hover { color: #fff; }
.rk-footer .rk-footer-info { text-align: center; line-height: 1.9; }
.rk-footer .rk-footer-info a { color: #7a8494; }

/* ---------- 登录/注册 ---------- */
.rk-auth-wrap { display: flex; justify-content: center; padding: 36px 0 20px; }
.rk-auth { width: 400px; max-width: 100%; }
.rk-auth-panel { background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 4px 30px 22px; }
.rk-auth-tabs { display: flex; border-bottom: 1px solid #eef0f4; margin-bottom: 18px; }
.rk-auth-tabs a { flex: 1; text-align: center; padding: 11px 0 9px; font-size: 14px; color: #7a8494; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.rk-auth-tabs a:hover { color: #1f6e5e; }
.rk-auth-tabs a.active { color: #1f6e5e; border-bottom-color: #1f6e5e; font-weight: 600; }
.rk-form-row { margin-bottom: 12px; }
.rk-form-row > label { display: block; font-size: 12px; color: #556070; margin-bottom: 4px; font-weight: 600; }
.rk-form-row .rk-input { width: 100%; height: 32px; box-sizing: border-box; }
.rk-form-row .rk-input-captcha { width: 100%; height: 32px; box-sizing: border-box; }
.rk-auth-aux { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 12px; }
.rk-auth-aux label { font-weight: 400; color: #556070; margin: 0; cursor: pointer; }
.rk-auth-aux a { color: #1f6e5e; }
.rk-auth-btn { display: block; width: 100%; height: 34px; font-size: 13px; line-height: 26px; margin-bottom: 10px; }
.rk-auth-swap { text-align: center; font-size: 12px; color: #9aa7ba; }
.rk-auth-swap a { color: #1f6e5e; }
.rk-auth-tip { margin-top: 12px; padding: 6px 10px; background: #fafbfc; border-radius: 4px; color: #9aa7ba; font-size: 11px; line-height: 1.7; }

/* ---------- 会员中心布局 ---------- */
.rk-user-layout { display: flex; gap: 10px; align-items: flex-start; }
.rk-user-side { width: 190px; flex-shrink: 0; }
.rk-user-main { flex: 1; min-width: 0; }
.rk-sidenav { background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); overflow: hidden; }
.rk-sidenav .rk-sidenav-hd { padding: 8px 10px; background: #fafbfc; border-bottom: 1px solid #eef0f4; font-size: 12px; font-weight: 700; color: #1d2838; }
.rk-sidenav ul { list-style: none; margin: 0; padding: 4px 0; }
.rk-sidenav li a { display: block; padding: 7px 12px 7px 22px; font-size: 13px; color: #444; border-left: 3px solid transparent; }
.rk-sidenav li a:hover { background: #f7f9fd; color: #1f6e5e; }
.rk-sidenav li.active a { background: #e8f6f1; color: #1f6e5e; border-left-color: #1f6e5e; font-weight: 600; }
.rk-sidenav li a i { width: 16px; margin-right: 6px; text-align: center; color: #9aa7ba; }
.rk-sidenav li.active a i { color: #1f6e5e; }

/* 会员中心首页卡片 */
.rk-user-head { background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 16px 20px; display: flex; gap: 16px; align-items: center; margin-bottom: 10px; }
.rk-user-avatar { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: #e8f6f1; display: flex; align-items: center; justify-content: center; color: #1f6e5e; font-size: 22px; }
.rk-user-avatar img { width: 100%; height: 100%; object-fit: cover; }
.rk-user-name { font-size: 16px; font-weight: 700; color: #1d2838; }
.rk-user-bio { color: #9aa7ba; font-size: 12px; margin-top: 3px; }
.rk-user-stats { display: flex; gap: 10px; margin-top: 8px; font-size: 12px; color: #7a8494; }
.rk-user-stats b { color: #1d2838; font-size: 14px; margin-right: 3px; }
.rk-quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.rk-quick-item { background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 14px 10px; text-align: center; font-size: 13px; color: #444; display: block; }
.rk-quick-item i { display: block; font-size: 20px; color: #1f6e5e; margin-bottom: 6px; }
.rk-quick-item:hover { color: #1f6e5e; box-shadow: 0 2px 8px rgba(45,106,224,.15); }

/* 横向表单(资料/密码) */
.rk-form-h { padding: 16px 20px; }
.rk-form-h .rk-form-row { display: flex; align-items: flex-start; margin-bottom: 14px; }
.rk-form-h .rk-form-row > label { width: 90px; flex-shrink: 0; text-align: right; margin: 6px 12px 0 0; }
.rk-form-h .rk-form-ctrl { flex: 1; max-width: 380px; }
.rk-form-h .rk-form-ctrl .rk-input { width: 100%; }
.rk-form-h .rk-form-foot { padding-left: 102px; }
.rk-user-info-table th, .rk-user-info-table td { padding: 6px 10px; }

/* ---------- 论文查重 ---------- */
.rk-paper-hero { display: flex; align-items: center; gap: 20px; background: linear-gradient(135deg, #1f6e5e 0%, #0d4a3f 100%); border-radius: 6px; padding: 22px 26px; margin-bottom: 10px; color: #fff; }
.rk-paper-hero-main { flex: 1; min-width: 0; }
.rk-paper-hero h1 { font-size: 19px; margin: 0 0 8px; }
.rk-paper-hero p { font-size: 12px; line-height: 1.8; color: rgba(255,255,255,.85); margin: 0; max-width: 640px; }
.rk-paper-hero-tags { display: flex; gap: 16px; margin-top: 12px; font-size: 11px; color: rgba(255,255,255,.75); }
.rk-paper-hero-tags i { margin-right: 4px; }
.rk-paper-hero-price { text-align: center; flex-shrink: 0; }
.rk-price-num { font-size: 30px; font-weight: 700; line-height: 1.1; }
.rk-price-unit { font-size: 11px; color: rgba(255,255,255,.75); }
.rk-paper-grid { display: flex; gap: 10px; align-items: flex-start; }
.rk-paper-form-panel { flex: 1; min-width: 0; }
.rk-paper-form-panel .rk-form-row { margin-bottom: 12px; }
.rk-paper-form-panel .rk-form-row > label { display: block; font-size: 12px; color: #556070; margin-bottom: 4px; font-weight: 600; }
.rk-paper-form-panel .rk-form-row .rk-input { width: 100%; height: 32px; box-sizing: border-box; }
.rk-form-row label em { color: #c94040; font-style: normal; }
.rk-form-tip-inline { color: #9aa7ba; font-weight: 400; }
.rk-paper-submit-btn { width: 100%; height: 36px; font-size: 14px; margin-top: 4px; }
.rk-paper-steps { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; font-size: 11px; color: #9aa7ba; }
.rk-paper-steps .fa { color: #ccd3dd; }
.rk-paper-side { width: 280px; flex-shrink: 0; }
.rk-paper-notice p { font-size: 12px; color: #556070; line-height: 1.9; margin: 0 0 6px; }
.rk-paper-notice .fa { color: #1e7e4e; margin-right: 5px; }
.rk-paper-notice .fa-info-circle { color: #d2711d; }
.rk-sim { font-weight: 700; font-size: 13px; }
.rk-sim-high { color: #c94040; }
.rk-sim-mid { color: #d2711d; }
.rk-sim-low { color: #1e7e4e; }
.rk-btn.rk-btn-orange { background: #d2711d; border-color: #d2711d; }
.rk-btn.rk-btn-orange:hover { background: #b96318; border-color: #b96318; }

/* 查重结果页 */
.rk-paper-result-head { display: flex; gap: 20px; background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 18px 22px; margin-bottom: 10px; align-items: center; }
.rk-paper-result-info { flex: 1; min-width: 0; }
.rk-paper-result-label { font-size: 11px; color: #9aa7ba; margin-bottom: 4px; }
.rk-paper-result-title { font-size: 16px; font-weight: 700; color: #1d2838; line-height: 1.5; word-break: break-all; }
.rk-paper-result-meta { display: flex; gap: 14px; margin-top: 8px; font-size: 11px; color: #9aa7ba; flex-wrap: wrap; }
.rk-paper-result-gauge { text-align: center; flex-shrink: 0; width: 130px; border-radius: 8px; padding: 12px 0; }
.rk-gauge-num { font-size: 28px; font-weight: 700; line-height: 1.2; }
.rk-gauge-label { font-size: 11px; color: #7a8494; }
.rk-paper-result-gauge.rk-gauge-high { background: #fdeeee; } .rk-paper-result-gauge.rk-gauge-high .rk-gauge-num { color: #c94040; }
.rk-paper-result-gauge.rk-gauge-mid { background: #fdf1e7; } .rk-paper-result-gauge.rk-gauge-mid .rk-gauge-num { color: #d2711d; }
.rk-paper-result-gauge.rk-gauge-low { background: #e9f7ef; } .rk-paper-result-gauge.rk-gauge-low .rk-gauge-num { color: #1e7e4e; }
.rk-paper-lock-inner { text-align: center; padding: 30px 20px; }
.rk-paper-lock-inner > .fa-lock { font-size: 40px; color: #ccd3dd; margin-bottom: 10px; }
.rk-paper-lock-title { font-size: 16px; font-weight: 700; color: #1d2838; margin-bottom: 8px; }
.rk-paper-lock-desc { font-size: 12px; color: #556070; line-height: 1.9; margin-bottom: 16px; }
.rk-paper-pay-btn { height: 36px; font-size: 14px; padding: 4px 30px; }

/* ---------- 支付页 ---------- */
.rk-pay-wrap { display: flex; justify-content: center; gap: 12px; padding: 20px 0; align-items: flex-start; }
.rk-pay-order { width: 300px; flex-shrink: 0; background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); overflow: hidden; }
.rk-pay-order-head { background: linear-gradient(135deg, #1f6e5e 0%, #0d4a3f 100%); color: #fff; text-align: center; padding: 18px 0; }
.rk-pay-order-label { font-size: 11px; color: rgba(255,255,255,.8); margin-bottom: 4px; }
.rk-pay-order-amount { font-size: 30px; font-weight: 700; }
.rk-pay-order-body { padding: 6px 16px; }
.rk-pay-order-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed #eef0f4; font-size: 12px; }
.rk-pay-order-row:last-child { border-bottom: none; }
.rk-pay-order-row span { color: #9aa7ba; }
.rk-pay-order-row b { color: #1d2838; font-weight: 600; }
.rk-pay-panel { width: 420px; max-width: 100%; background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 16px 20px 20px; }
.rk-pay-panel-title { font-size: 14px; font-weight: 700; color: #1d2838; padding-left: 8px; border-left: 3px solid #1f6e5e; margin-bottom: 14px; line-height: 1.4; }
.rk-pay-methods { display: flex; gap: 10px; margin-bottom: 16px; }
.rk-pay-method { flex: 1; display: flex; align-items: center; gap: 8px; border: 2px solid #e6ecf5; border-radius: 6px; padding: 10px 12px; cursor: pointer; font-size: 13px; color: #556070; position: relative; }
.rk-pay-method input { display: none; }
.rk-pay-method:hover { border-color: #b9cdf3; }
.rk-pay-method.active { border-color: #1f6e5e; color: #1d2838; }
.rk-pay-method.active .rk-pay-check { display: block; }
.rk-pay-check { display: none; position: absolute; top: -8px; right: -8px; background: #1f6e5e; color: #fff; border-radius: 50%; width: 18px; height: 18px; line-height: 18px; text-align: center; font-size: 11px; }
.rk-pay-icon { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; font-style: normal; flex-shrink: 0; }
.rk-pay-alipay { background: #1677ff; }
.rk-pay-alipay::before { content: "支"; font-size: 12px; font-weight: 700; }
.rk-pay-wechat { background: #09bb07; }
.rk-pay-wechat::before { content: "微"; font-size: 12px; font-weight: 700; }
.rk-pay-qrcode-area { text-align: center; }
.rk-pay-qrcode-box { width: 190px; height: 190px; margin: 0 auto; border: 1px solid #e6ecf5; border-radius: 6px; display: flex; align-items: center; justify-content: center; }
.rk-pay-qrcode-placeholder { text-align: center; color: #9aa7ba; }
.rk-pay-qrcode-placeholder > i { font-size: 46px; color: #ccd3dd; display: block; margin-bottom: 8px; }
.rk-pay-qrcode-placeholder p { font-size: 12px; margin: 0; }
.rk-pay-scan-tip { font-size: 12px; color: #7a8494; margin: 10px 0 0; line-height: 1.7; }
.rk-pay-mock { margin-top: 16px; border-top: 1px dashed #e6ecf5; padding-top: 14px; }
.rk-pay-mock-tip { font-size: 11px; color: #9aa7ba; line-height: 1.7; margin-bottom: 10px; }
.rk-pay-mock-tip .fa { color: #d2711d; margin-right: 4px; }
.rk-pay-mock-btn { width: 100%; height: 36px; font-size: 14px; background: #1e7e4e; border-color: #1e7e4e; }
.rk-pay-mock-btn:hover { background: #196a41; border-color: #196a41; }
.rk-pay-links { text-align: center; margin-top: 12px; font-size: 12px; }
.rk-pay-links a { color: #1f6e5e; }

/* ---------- 响应式 ---------- */
@media (max-width: 1220px) {
    .rk-home-side, .rk-detail-side { display: none; }
    .rk-home-cols, .rk-detail-cols { display: block; }
    .rk-cat-grid { grid-template-columns: 1fr; }
    .rk-news-card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .rk-container { width: 100%; }
    .rk-banner img, .rk-banner .carousel-inner > .item > img { height: 240px; }
    .rk-subbanner img { height: 160px; }
    .rk-header .rk-container { height: auto; flex-wrap: wrap; padding: 8px 12px; }
    .rk-nav { order: 3; width: 100%; overflow-x: auto; padding-top: 6px; }
    .rk-news-card-grid { grid-template-columns: 1fr; }
    .rk-user-layout { flex-direction: column; }
    .rk-user-side { width: 100%; }
    .rk-quick-grid { grid-template-columns: repeat(2, 1fr); }
    .rk-auth { width: 100%; }
    .rk-auth-panel { padding: 0 16px 16px; }
    .rk-form-h .rk-form-row { display: block; }
    .rk-form-h .rk-form-row > label { width: auto; text-align: left; margin: 0 0 4px; }
    .rk-form-h .rk-form-foot { padding-left: 0; }
    .rk-paper-grid { flex-direction: column; }
    .rk-paper-side { width: 100%; }
    .rk-paper-hero { flex-direction: column; text-align: center; }
    .rk-paper-result-head { flex-direction: column; text-align: center; }
    .rk-paper-result-gauge { width: 100%; }
    .rk-pay-wrap { flex-direction: column; align-items: center; }
    .rk-pay-order { width: 100%; }
    .rk-pay-panel { width: 100%; }
}

/* ============================================================
   首页 v2: 青绿首屏 + 左栏年份链接 + 右榜表格 + 底三栏 + 紫页脚
   ============================================================ */

/* 首页容器 */
.rk-home { padding: 0 0 24px; }

/* 1. 全屏首屏轮播 */
.rk-carousel {
    position: relative;
    width: 100%;
    height: 364px;
    background: #0d4a3f;
    overflow: hidden;
    margin-bottom: 14px;
}
.rk-carousel-inner { position: relative; width: 100%; height: 100%; }
.rk-carousel-item {
    position: absolute; inset: 0;
    opacity: 0; visibility: hidden;
    transition: opacity .6s ease;
}
.rk-carousel-item.active { opacity: 1; visibility: visible; z-index: 1; }
.rk-carousel-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rk-carousel-placeholder { width: 100%; height: 100%; }
.rk-carousel-caption {
    position: absolute; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,.55), transparent);
    color: #fff;
    padding: 30px 0 24px;
    pointer-events: none;
}
.rk-carousel-caption .rk-container { padding: 0 16px; }
.rk-carousel-caption h2 { font-size: 32px; font-weight: 700; margin: 0 0 6px; letter-spacing: 1px; text-shadow: 0 2px 8px rgba(0,0,0,.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.rk-carousel-caption p { font-size: 14px; margin: 0; color: rgba(255,255,255,.85); letter-spacing: 2px; text-shadow: 0 1px 4px rgba(0,0,0,.5); }

.rk-carousel-indicators {
    position: absolute; left: 0; right: 0; bottom: 16px;
    z-index: 5; list-style: none; margin: 0; padding: 0;
    display: flex; justify-content: center; gap: 8px;
}
.rk-carousel-indicators li {
    width: 30px; height: 4px; border-radius: 2px;
    background: rgba(255,255,255,.45); cursor: pointer;
    transition: background .2s, width .2s;
}
.rk-carousel-indicators li.active { background: #1f6e5e; width: 44px; }

.rk-carousel-prev, .rk-carousel-next {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 48px; height: 48px; line-height: 48px; text-align: center;
    background: rgba(0,0,0,.35); color: #fff; font-size: 22px;
    border-radius: 50%; z-index: 5; cursor: pointer;
    transition: background .2s;
}
.rk-carousel-prev:hover, .rk-carousel-next:hover { background: rgba(0,0,0,.6); }
.rk-carousel-prev { left: 24px; }
.rk-carousel-next { right: 24px; }

/* 2. 主区: 左栏 + 右榜 */
.rk-home-cols { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
.rk-home-side { width: 360px; flex-shrink: 0; background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); overflow: hidden; }
.rk-aside-hd { background: #1f6e5e; color: #fff; font-size: 14px; font-weight: 600; height: 49px; display: flex; align-items: center; padding: 0 14px; letter-spacing: 1px; box-sizing: border-box; }
.rk-aside-list { list-style: none; margin: 0; padding: 0; }
.rk-aside-list li { border-bottom: 1px solid #f0f1f3; height: 48px; box-sizing: border-box; }
.rk-aside-list li:last-child { border-bottom: 0; }
.rk-aside-list a { display: flex; align-items: center; justify-content: space-between; height: 48px; padding: 0 14px; font-size: 16px; color: #4a5e58; transition: background .15s; }
.rk-aside-list a:hover { background: #f4faf7; color: #1f6e5e; }
.rk-aside-list li.active a { background: #e8f6f1; color: #1f6e5e; font-weight: 600; }
.rk-tag-new { display: inline-block; background: #1f6e5e; color: #fff; font-size: 10px; padding: 1px 6px; border-radius: 3px; margin-left: 6px; line-height: 14px; }

/* 右榜卡片 */
.rk-home-main { flex: 1; min-width: 0; }
.rk-main-card { background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 0; }
.rk-main-toolbar { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-bottom: 1px solid #eef0f4; }
.rk-main-search { display: flex; height: 32px; border: 1px solid #d4dae3; border-radius: 4px; overflow: hidden; flex: 0 0 380px; }
.rk-main-search input { flex: 1; border: 0; padding: 0 12px; font-size: 13px; outline: none; min-width: 0; }
.rk-main-search button { width: 70px; border: 0; background: #1f6e5e; color: #fff; font-size: 13px; cursor: pointer; }
.rk-main-search button:hover { background: #0d4a3f; }
.rk-main-actions { display: flex; gap: 16px; margin-left: auto; }
.rk-main-action { color: #1f6e5e; font-size: 13px; }
.rk-main-action:hover { color: #0d4a3f; }
.rk-main-action i { margin-right: 4px; }
.rk-main-tip { padding: 10px 16px 0; margin: 0; color: #6a7787; font-size: 12px; line-height: 1.7; }

/* 表格 */
.rk-main-tbl { width: 100%; border-collapse: collapse; margin-top: 6px; }
.rk-main-tbl thead th { background: #f4f7f9; color: #4a5e58; font-size: 12px; font-weight: 600; padding: 10px 12px; text-align: left; border-bottom: 1px solid #eef0f4; }
.rk-main-tbl thead th i { color: #9aa7ba; margin-left: 3px; font-size: 11px; }
.rk-main-tbl thead .rk-sort { color: #9aa7ba; font-weight: 400; }
.rk-main-tbl tbody td { padding: 14px 12px; font-size: 13px; color: #1d2838; border-bottom: 1px solid #f0f1f3; vertical-align: middle; }
.rk-main-tbl tbody tr:last-child td { border-bottom: 0; }
.rk-main-tbl tbody tr:hover { background: #fafdfb; }
.rk-col-rank { width: 80px; text-align: center; }
.rk-col-loc { width: 110px; color: #4a5e58; }
.rk-col-type { width: 80px; color: #4a5e58; }
.rk-col-hot { width: 100px; color: #4a5e58; }
.rk-col-diff { width: 90px; color: #c94040; font-weight: 600; }
.rk-rank-num { display: inline-block; min-width: 28px; height: 28px; line-height: 28px; border-radius: 4px; font-size: 16px; font-weight: 700; color: #1d2838; }
.rk-rank-num.rk-rank-top1 { color: #c94040; }
.rk-rank-num.rk-rank-top2 { color: #d2711d; }
.rk-rank-num.rk-rank-top3 { color: #1f6e5e; }
.rk-school-cell { display: flex; align-items: center; gap: 10px; color: #1d2838; }
.rk-school-cell:hover { color: #1f6e5e; }
.rk-school-logo { width: 40px; height: 40px; border-radius: 50%; background: #e8f6f1; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.rk-school-logo img { width: 100%; height: 100%; object-fit: cover; }
.rk-school-logo-fb { background: #1f6e5e; color: #fff; font-size: 16px; font-weight: 700; }
.rk-school-info { display: flex; flex-direction: column; min-width: 0; }
.rk-school-name { font-size: 14px; font-weight: 600; color: #1d2838; }
.rk-school-cell:hover .rk-school-name { color: #1f6e5e; }
.rk-school-tags { font-size: 11px; color: #9aa7ba; margin-top: 2px; }
.rk-school-tag-sep { margin: 0 4px; color: #ccd3dd; }
.rk-school-tag-2 { color: #4a5e58; }

/* 分页 */
.rk-pager { display: flex; justify-content: flex-end; gap: 6px; padding: 14px 16px 18px; align-items: center; }
.rk-pg-btn { display: inline-block; min-width: 32px; height: 30px; line-height: 28px; padding: 0 10px; text-align: center; border: 1px solid #d4dae3; border-radius: 4px; color: #4a5e58; font-size: 12px; background: #fff; }
.rk-pg-btn:hover { border-color: #1f6e5e; color: #1f6e5e; }
.rk-pg-current { background: #1f6e5e; border-color: #1f6e5e; color: #fff; }
.rk-pg-current:hover { background: #0d4a3f; border-color: #0d4a3f; color: #fff; }
.rk-pg-disabled { color: #ccd3dd; cursor: not-allowed; }
.rk-pg-disabled:hover { border-color: #d4dae3; color: #ccd3dd; }
.rk-pg-ellipsis { color: #9aa7ba; padding: 0 4px; }

/* 3. 底部三栏 */
.rk-foot-cols { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap: 14px; }
.rk-foot-card { background: #fff; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 16px 18px; min-width: 0; overflow: hidden; }
.rk-foot-card-hd { font-size: 14px; font-weight: 700; color: #1d2838; margin: 0 0 12px; padding-left: 8px; border-left: 3px solid #1f6e5e; line-height: 1.2; }
.rk-foot-card-hd .fa { color: #1f6e5e; margin-right: 4px; font-size: 13px; }
.rk-ann-list { list-style: none; margin: 0; padding: 0; }
.rk-ann-list li { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px dashed #f0f1f3; }
.rk-ann-list li:last-child { border-bottom: 0; }
.rk-ann-list a { color: #4a5e58; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-right: 8px; }
.rk-ann-list a:hover { color: #1f6e5e; }
.rk-ann-date { color: #9aa7ba; font-size: 16px; flex-shrink: 0; }
.rk-foot-more { display: block; text-align: right; color: #1f6e5e; font-size: 12px; margin-top: 10px; }
.rk-foot-more:hover { color: #0d4a3f; }

.rk-res-list { list-style: none; margin: 0; padding: 0; }
.rk-res-list li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed #f0f1f3; }
.rk-res-list li:last-child { border-bottom: 0; }
.rk-res-icon { display: inline-flex; width: 36px; height: 36px; border-radius: 4px; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; color: #fff; flex-shrink: 0; }
.rk-res-pdf { background: #c94040; }
.rk-res-xls { background: #1e7e4e; }
.rk-res-doc { background: #1f6e5e; }
.rk-res-zip { background: #d2711d; }
.rk-res-other { background: #6a7787; }
.rk-res-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.rk-res-info a { color: #1d2838; font-size: 13px; }
.rk-res-info a:hover { color: #1f6e5e; }
.rk-res-size { color: #9aa7ba; font-size: 11px; margin-top: 2px; }
.rk-res-dl { display: inline-block; padding: 3px 12px; border: 1px solid #1f6e5e; color: #1f6e5e; border-radius: 3px; font-size: 12px; flex-shrink: 0; }
.rk-res-dl:hover { background: #1f6e5e; color: #fff; }

.rk-about-text { font-size: 16px; color: #4a5e58; line-height: 1.85; margin: 0 0 14px; }
.rk-foot-cta { display: inline-block; padding: 6px 20px; background: #0d4a3f; color: #fff; border-radius: 3px; font-size: 12px; }
.rk-foot-cta:hover { background: #08402f; color: #fff; }

/* 4. 紫页脚 */
.rk-footer { background: #0d4a3f; color: #c8c4d4; padding: 20px 0; margin-top: 24px; }
.rk-footer .rk-container { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.rk-footer a { color: #c8c4d4; margin: 0 8px; }
.rk-footer a:hover { color: #fff; }
.rk-footer-info { font-size: 12px; }
.rk-footer-info p { margin: 0; }

/* 首页右栏: 新闻列表卡片 */
.rk-news-head {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 10px;
    padding: 0 16px; height: 49px; box-sizing: border-box; border-bottom: 1px solid #eef0f4;
}
.rk-news-head-title { margin: 0; font-size: 16px; font-weight: 700; color: #1d2838; }
.rk-news-head-title .fa { color: #1f6e5e; margin-right: 4px; }
.rk-news-tabs { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.rk-news-tabs a {
    padding: 4px 12px; font-size: 13px; color: #444; border-radius: 3px; white-space: nowrap;
}
.rk-news-tabs a:hover { color: #1f6e5e; background: #e8f6f1; }
.rk-news-tabs a.active { background: #1f6e5e; color: #fff; }
.rk-news-list-lg { padding: 0 16px; }
.rk-news-list-lg li { display: flex; align-items: center; height: 48px; box-sizing: border-box; border-bottom: 1px dashed #eef0f4; padding: 0 2px; overflow: hidden; }
.rk-news-list-lg li:last-child { border-bottom: 0; }
.rk-news-list-lg .rk-news-date { width: 96px; color: #9aa7ba; flex-shrink: 0; text-align: right; margin-left: auto; }
.rk-news-list-lg .rk-news-title a { color: #333; }
.rk-news-list-lg .rk-news-cat {
    flex-shrink: 0; margin-left: auto; padding: 1px 8px; font-size: 11px; line-height: 17px;
    border-radius: 3px; background: #e8f6f1; color: #1f6e5e; white-space: nowrap;
}
.rk-news-list-lg .rk-news-views {
    flex-shrink: 0; color: #9aa7ba; font-size: 16px; white-space: nowrap; margin-right: 14px;
}
.rk-news-list-lg .rk-news-views .fa { margin-right: 2px; }
.rk-news-list-lg .rk-news-title a:hover { color: #1f6e5e; }
/* TP分页样式适配(首页新闻列表) */
.rk-news-pager { padding: 12px 16px 16px; }
.rk-news-pager .pagination { display: flex; list-style: none; margin: 0; padding: 0; gap: 4px; flex-wrap: wrap; }
.rk-news-pager .pagination li a,
.rk-news-pager .pagination li span {
    display: inline-block; min-width: 28px; height: 28px; line-height: 26px; padding: 0 8px;
    text-align: center; font-size: 12px; border: 1px solid #d4dae3; border-radius: 3px;
    color: #444; background: #fff;
}
.rk-news-pager .pagination li.active span { background: #1f6e5e; border-color: #1f6e5e; color: #fff; }
.rk-news-pager .pagination li.disabled span { color: #b8c0cc; background: #f7f8fa; }
.rk-news-pager .pagination li a:hover { border-color: #1f6e5e; color: #1f6e5e; }

/* 响应式 */
@media (max-width: 992px) {
    .rk-home-cols { flex-direction: column; }
    .rk-home-main, .rk-main-card { width: 100%; max-width: 100%; overflow: hidden; }
    .rk-home-side { width: 100%; }
    .rk-foot-cols { grid-template-columns: 1fr; }
    .rk-carousel { height: 224px; }
    .rk-carousel-caption h2 { font-size: 22px; }
    .rk-carousel-caption p { font-size: 12px; }
    .rk-carousel-prev, .rk-carousel-next { width: 36px; height: 36px; line-height: 36px; font-size: 16px; }
    .rk-carousel-prev { left: 8px; }
    .rk-carousel-next { right: 8px; }
    .rk-main-toolbar { flex-direction: column; align-items: stretch; }
    .rk-main-search { flex: 1 1 auto; }
    .rk-main-actions { justify-content: flex-end; }
}

/* ============================================================
   移动端适配补充 (<=768px)
   ============================================================ */
@media (max-width: 768px) {
    body.rk-body { overflow-x: hidden; }

    /* 顶栏: 移动端隐藏(语言/登录入口已收入抽屉导航) */
    .rk-topbar { display: none; }

    /* 头部: PC导航隐藏, 改用右侧抽屉; logo+搜索+汉堡按钮同行 */
    .rk-header .rk-container { flex-wrap: nowrap; height: 56px; }
    .rk-logo { font-size: 17px; margin-right: auto; gap: 6px; }
    .rk-logo .rk-logo-icon { width: 26px; height: 26px; font-size: 13px; }
    .rk-nav { display: none; }
    .rk-header-user { flex: 1; max-width: none; justify-content: flex-end; min-width: 0; gap: 8px; }
    .rk-search { width: 100%; min-width: 0; }
    .rk-search .rk-input { min-width: 0; }

    /* 汉堡按钮(仅移动端显示) */
    .rk-menu-toggle {
        display: inline-flex; align-items: center; justify-content: center;
        width: 38px; height: 38px; border-radius: 6px;
        color: #1d2838; font-size: 20px; flex-shrink: 0;
    }
    .rk-menu-toggle:active { background: #e8f6f1; color: #1f6e5e; }

    /* 抽屉导航 */
    .rk-drawer { display: flex; }
    .rk-drawer-mask { display: block; }
    .rk-drawer {
        position: fixed; top: 0; right: 0; bottom: 0; z-index: 3000;
        width: 270px; max-width: 82vw; background: #fff;
        transform: translateX(100%); transition: transform .25s ease;
        display: flex; flex-direction: column; overflow-y: auto;
        box-shadow: -4px 0 16px rgba(0,0,0,.08);
    }
    .rk-drawer.open { transform: translateX(0); }
    .rk-drawer-mask {
        position: fixed; inset: 0; z-index: 2900; background: rgba(13,42,35,.45);
        opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s;
    }
    .rk-drawer-mask.show { opacity: 1; visibility: visible; }
    body.rk-drawer-overflow { overflow: hidden; }

    .rk-drawer-hd {
        display: flex; align-items: center; gap: 8px;
        padding: 14px 14px; background: #1f6e5e; color: #fff; flex-shrink: 0;
    }
    .rk-drawer-logo {
        width: 30px; height: 30px; border-radius: 6px; background: rgba(255,255,255,.18);
        display: inline-flex; align-items: center; justify-content: center; font-size: 15px;
    }
    .rk-drawer-site { font-size: 15px; font-weight: 700; letter-spacing: 1px; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .rk-drawer-close { color: rgba(255,255,255,.85); font-size: 18px; padding: 6px; }
    .rk-drawer-close:active { color: #fff; }

    .rk-drawer-nav { padding: 6px 0; flex-shrink: 0; }
    .rk-drawer-nav a {
        display: flex; align-items: center; gap: 12px;
        padding: 13px 18px; font-size: var(--nav-fs, 15px); color: var(--nav-color, #2c3644);
        border-left: 3px solid transparent;
    }
    .rk-drawer-nav a i { width: 20px; text-align: center; color: #1f6e5e; font-size: 16px; }
    .rk-drawer-nav a:active { background: #f4faf7; }
    .rk-drawer-nav a.active { background: #e8f6f1; color: #1f6e5e; border-left-color: #1f6e5e; font-weight: 600; }

    .rk-drawer-sep { height: 1px; background: #eef0f4; margin: 4px 0; flex-shrink: 0; }

    .rk-drawer-user {
        display: flex; align-items: center; gap: 8px;
        padding: 11px 18px 6px; color: #1d2838; font-size: 14px; font-weight: 600;
    }
    .rk-drawer-user i { color: #1f6e5e; font-size: 18px; }
    .rk-drawer-sub { padding: 0 0 6px; flex-shrink: 0; }
    .rk-drawer-sub a { display: flex; align-items: center; gap: 12px; padding: 10px 18px 10px 21px; font-size: 13px; color: #556070; }
    .rk-drawer-sub a i { width: 20px; text-align: center; color: #9aa7ba; }
    .rk-drawer-sub a:active { background: #f7f9fd; color: #1f6e5e; }

    .rk-drawer-auth { display: flex; gap: 10px; padding: 12px 16px; flex-shrink: 0; }
    .rk-drawer-auth .rk-btn { flex: 1; height: 38px; line-height: 30px; font-size: 14px; text-align: center; }

    .rk-drawer-lang {
        display: flex; align-items: center; gap: 6px;
        padding: 12px 18px 18px; font-size: 12px; color: #9aa7ba; flex-shrink: 0;
        margin-top: auto;
    }
    .rk-drawer-lang a { color: #556070; }
    .rk-drawer-lang a.cur { color: #1f6e5e; font-weight: 600; }
    .rk-drawer-lang em { font-style: normal; color: #d0d5dd; }

    /* 首页榜单表格: 隐藏次要列(所在地/类型/热度/难度), 只留排名+院校 */
    .rk-main-tbl .rk-col-loc,
    .rk-main-tbl .rk-col-type,
    .rk-main-tbl .rk-col-hot,
    .rk-main-tbl .rk-col-diff { display: none; }
    .rk-main-tbl thead th { padding: 8px 8px; }
    .rk-main-tbl tbody td { padding: 10px 8px; }
    .rk-col-rank { width: auto; }
    .rk-rank-num { min-width: 22px; height: 22px; line-height: 22px; font-size: 13px; }
    .rk-school-logo { width: 32px; height: 32px; }
    .rk-main-tip { padding: 8px 10px 0; }

    /* 轮播高度与文案 */
    .rk-carousel { height: 140px; margin-bottom: 10px; }
    .rk-carousel-caption { padding: 16px 0 18px; }
    .rk-carousel-caption h2 { font-size: 18px; }
    .rk-carousel-caption p { font-size: 11px; letter-spacing: 1px; }
    .rk-carousel-prev, .rk-carousel-next { width: 30px; height: 30px; line-height: 30px; font-size: 14px; }

    /* 旧banner/子页banner文字位置 */
    .rk-banner .rk-banner-slogan { bottom: 36px; }
    .rk-banner .rk-banner-slogan h2 { font-size: 20px; }
    .rk-subbanner .rk-subbanner-title { bottom: 20px; }
    .rk-subbanner .rk-subbanner-title h2 { font-size: 17px; }

    /* 院校详情头部折行 */
    .rk-school-head { flex-direction: column; text-align: center; gap: 10px; padding: 12px; }
    .rk-school-logo { width: 56px; height: 56px; }
    .rk-school-meta { justify-content: center; }
    .rk-school-info h1 { font-size: 17px; }

    /* Hero 头部移动端 */
    .rk-hero-body { flex-direction: column; text-align: center; padding: 20px 16px; gap: 12px; }
    .rk-hero-body .rk-school-logo { width: 64px; height: 64px; }
    .rk-hero-body .rk-school-info h1 { font-size: 19px; }
    .rk-hero-body .rk-school-meta { justify-content: center; }
    .rk-hero-tags { justify-content: center; }
    .rk-hero-rank { margin: 0; padding: 0; text-align: center; }
    .rk-hero-rank-no { font-size: 26px; }
    .rk-hero-rank-no em { font-size: 30px; }
    .rk-stats-row { grid-template-columns: repeat(2, 1fr); gap: 8px; }

    /* 详情/首页两栏在窄屏一律单列 */
    .rk-detail-cols { display: block; }
    .rk-detail-side { width: 100%; }
    .rk-home-side { width: 100%; }

    /* 筛选行: 标签置顶不占固定宽 */
    .rk-filter-row { align-items: flex-start; }
    .rk-filter-label { width: auto; text-align: left; margin-right: 4px; padding-top: 3px; }
    .rk-filter { padding: 6px; }

    /* 通用表格紧凑 */
    table.rk-table th, table.rk-table td { padding: 6px 5px; font-size: 12px; }
    .rk-school-cell { min-width: 110px; gap: 5px; }
    .rk-school-cell img, .rk-school-cell .rk-logo-ph { width: 20px; height: 20px; }

    /* 分页紧凑 */
    .rk-pagination li a, .rk-pagination li span { min-width: 22px; height: 22px; line-height: 21px; padding: 0 4px; }
    .rk-pg-btn { min-width: 26px; height: 26px; line-height: 24px; padding: 0 8px; }

    /* 资讯列表: 手机端隐藏分类/浏览量 */
    .rk-news-list-lg .rk-news-cat, .rk-news-list-lg .rk-news-views { display: none; }

    /* 资讯列表日期自适应 */
    .rk-news-list .rk-news-date { width: auto; margin-right: 6px; }

    /* 支付方式按钮紧凑 */
    .rk-pay-methods { gap: 8px; }
    .rk-pay-method { padding: 8px 10px; font-size: 12px; }
    .rk-pay-qrcode-box { width: 160px; height: 160px; }

    /* 查重hero与结果页 */
    .rk-paper-hero { padding: 14px; gap: 12px; }
    .rk-price-num { font-size: 24px; }

    /* 页脚链接换行 */
    .rk-footer .rk-footer-links a { margin: 0 6px; display: inline-block; line-height: 2; }

    /* 面板标题缩小 */
    .rk-panel-title { font-size: 14px; }
    .rk-crumbs { padding: 10px 0 6px; }
}


/* 新闻附件下载卡片 */
.rk-attach-card { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 12px 16px; background: #f4faf7; border: 1px solid #d5ece2; border-radius: 6px; }
.rk-attach-icon { font-size: 30px; color: #1f6e5e; flex-shrink: 0; }
.rk-attach-info { flex: 1; min-width: 0; }
.rk-attach-name { font-size: 14px; font-weight: 600; color: #1d2838; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rk-attach-meta { font-size: 12px; color: #9aa7ba; margin-top: 2px; text-transform: uppercase; }
.rk-attach-dl { flex-shrink: 0; }
