@charset "utf-8";
/* ==========================================================================
   极光 Aurora · 前台模板样式（2026-11-02）
   --------------------------------------------------------------------------
   一套文件覆盖全站，靠「外壳 + 通用组件 + 页面片段」三层组织：
     1) 变量与基础重置
     2) 外壳：顶栏 / 吸顶导航 / 数据条 / 面包屑 / 页脚 / 回顶
     3) 通用组件：面板、按钮、徽章、站点卡片、列表、分页、表单、空状态
     4) 页面片段：首页 / 目录 / 分类 / 详情 / 文章 / 百科 / 搜索 / 榜单 / VIP
     5) 响应式：1280 / 1024 / 860 / 560 四档
   防溢出约定（移动端最容易踩的坑，改样式时请保留）：
     · 所有元素 box-sizing:border-box；图片 / 视频 max-width:100%
     · 网格子项一律 min-width:0，标题一律 overflow-wrap:anywhere
     · 不使用固定宽度 > 100% 的块，不用负 margin 做「通栏」
     · 长英文域名 / 网址（站点详情页很常见）必须能断行
   ========================================================================== */

/* ------------------------------------------------------------------ *
 * 1. 变量与重置
 * ------------------------------------------------------------------ */
:root {
    --au-bg: #f4f6fb;
    --au-card: #ffffff;
    --au-ink: #101a2c;
    --au-ink2: #445068;
    --au-ink3: #7b8798;
    --au-line: #e7ebf3;
    --au-line2: #eef1f7;
    --au-brand: #3b5bfd;
    --au-brand-d: #2646e0;
    --au-cyan: #06b6d4;
    --au-soft: #eef3ff;
    --au-soft2: #f2f8ff;
    --au-gold1: #f0c15a;
    --au-gold2: #c98a12;
    --au-warn: #d97706;
    --au-danger: #dc2626;
    --au-ok: #0f9d58;
    --au-radius: 18px;
    --au-radius-s: 12px;
    --au-shadow: 0 1px 2px rgba(16, 26, 44, .04), 0 8px 24px rgba(16, 26, 44, .05);
    --au-shadow-h: 0 10px 30px rgba(37, 71, 160, .14);
    --au-head-h: 66px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body.au-body {
    margin: 0;
    padding: 0;
    background: var(--au-bg);
    color: var(--au-ink);
    font: 15px/1.7 -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB",
          "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    /* 用 clip 而不是 hidden：overflow:hidden 会让 body 变成滚动容器，
       导致 position:sticky 的页头 / 侧栏在 Chrome / Safari 下失效。
       clip 只裁切、不创建滚动容器，既能兜住意外溢出，又不影响 sticky。
       （老浏览器不支持 clip 时不生效，但模板本身已保证不溢出。） */
    overflow-x: clip;
}

img, svg, video, canvas { max-width: 100%; height: auto; border: 0; }
img { vertical-align: middle; }
a { color: var(--au-ink2); text-decoration: none; transition: color .16s; }
a:hover { color: var(--au-brand); }
h1, h2, h3, h4 { margin: 0; font-weight: 700; color: var(--au-ink); line-height: 1.35; overflow-wrap: anywhere; }
p { margin: 0 0 10px; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; font-size: 14px; }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

.au-body.au-nav-lock { overflow: hidden; }

/* 后台跳转链接（读屏 / 键盘用户） */
.au-skip {
    position: absolute; left: -9999px; top: 0; z-index: 999;
    background: var(--au-brand); color: #fff; padding: 8px 14px; border-radius: 0 0 8px 0;
}
.au-skip:focus { left: 0; color: #fff; }

/* 背景极光光斑：纯装饰，pointer-events:none，不会造成横向滚动 */
.au-aurora {
    position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
}
.au-aurora i {
    position: absolute; display: block; border-radius: 50%; filter: blur(64px); opacity: .5;
}
.au-aurora i:nth-child(1) {
    width: 46vw; height: 46vw; left: -12vw; top: -18vw;
    background: radial-gradient(circle at 30% 30%, rgba(59, 91, 253, .28), rgba(59, 91, 253, 0) 70%);
}
.au-aurora i:nth-child(2) {
    width: 40vw; height: 40vw; right: -14vw; top: -6vw;
    background: radial-gradient(circle at 60% 40%, rgba(6, 182, 212, .22), rgba(6, 182, 212, 0) 70%);
}
.au-aurora i:nth-child(3) {
    width: 34vw; height: 34vw; left: 30vw; top: 40vh;
    background: radial-gradient(circle at 50% 50%, rgba(139, 92, 246, .14), rgba(139, 92, 246, 0) 70%);
}

/* ------------------------------------------------------------------ *
 * 2. 外壳
 * ------------------------------------------------------------------ */
.au-wrap {
    width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px;
    position: relative; z-index: 1;
}

/* 顶栏（登录态那一行，随页面滚走） */
.au-topbar {
    background: rgba(255, 255, 255, .78);
    border-bottom: 1px solid var(--au-line2);
    font-size: 13px; color: var(--au-ink3);
    position: relative; z-index: 3;
}
.au-topbar-in {
    display: flex; align-items: center; justify-content: space-between;
    gap: 14px; min-height: 38px;
}
.au-topbar-welcome {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.au-topbar-user { flex: none; }
.au-topbar-user a { color: var(--au-brand); }
.au-topbar-user font { color: var(--au-brand) !important; font-weight: 600; }

/* 吸顶页头 */
.au-head {
    position: sticky; top: 0; z-index: 50;
    background: rgba(255, 255, 255, .86);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid transparent;
    transition: box-shadow .2s, border-color .2s, background .2s;
}
.au-head.is-stuck {
    border-bottom-color: var(--au-line);
    box-shadow: 0 6px 22px rgba(16, 26, 44, .07);
}
.au-head-in {
    display: flex; align-items: center; gap: 18px; min-height: var(--au-head-h);
}
.au-brand { display: flex; align-items: center; flex: none; }
.au-brand img { height: 38px; width: auto; }

/* 主导航：胶囊高亮 */
.au-nav {
    display: flex; align-items: center; gap: 2px; flex: 1 1 auto;
    min-width: 0; overflow: hidden;
}
.au-nav-a {
    position: relative; padding: 9px 13px; border-radius: 10px;
    font-size: 15px; font-weight: 500; color: var(--au-ink2);
    white-space: nowrap; transition: background .16s, color .16s;
}
.au-nav-a:hover { background: var(--au-soft); color: var(--au-brand-d); }
.au-nav-a.on { color: var(--au-brand-d); font-weight: 700; background: var(--au-soft); }
.au-nav-a.on::after {
    content: ""; position: absolute; left: 50%; bottom: 3px; transform: translateX(-50%);
    width: 16px; height: 2px; border-radius: 2px;
    background: linear-gradient(90deg, var(--au-brand), var(--au-cyan));
}
.au-nav-vip { color: var(--au-gold2); }
.au-nav-vip:hover { background: #fff7e4; color: var(--au-gold2); }
.au-nav-vip.on { background: #fff7e4; color: var(--au-gold2); }

/* 搜索 */
.au-tools { display: flex; align-items: center; gap: 10px; flex: none; margin-left: auto; }
.au-search {
    display: flex; align-items: center; height: 42px;
    background: #fff; border: 1px solid var(--au-line);
    border-radius: 999px; padding: 0 4px 0 6px;
    transition: border-color .16s, box-shadow .16s;
    max-width: 100%;
}
.au-search:focus-within { border-color: #b9c8f8; box-shadow: 0 0 0 3px rgba(59, 91, 253, .1); }
.au-search-type {
    position: relative; flex: none; font-size: 13px; color: var(--au-ink2);
    padding: 0 10px; height: 100%; display: flex; align-items: center;
    cursor: pointer; border-right: 1px solid var(--au-line2); white-space: nowrap;
    user-select: none;
}
.au-search-type::after {
    content: ""; display: inline-block; margin-left: 6px;
    border: 4px solid transparent; border-top-color: var(--au-ink3);
    transform: translateY(2px);
}
.au-search-menu {
    display: none; position: absolute; left: 0; top: calc(100% + 8px); z-index: 60;
    min-width: 118px; background: #fff; border: 1px solid var(--au-line);
    border-radius: 10px; box-shadow: var(--au-shadow); padding: 5px; overflow: hidden;
}
.au-search-menu a {
    display: block; padding: 7px 11px; border-radius: 7px; font-size: 13px;
    color: var(--au-ink2); white-space: nowrap;
}
.au-search-menu a:hover { background: var(--au-soft); color: var(--au-brand-d); }
.au-search-input {
    flex: 1 1 130px; min-width: 0; height: 100%; width: 100%;
    border: 0; outline: none; background: transparent; padding: 0 8px; font-size: 14px; color: var(--au-ink);
}
.au-search-input::placeholder { color: #a9b3c4; }
.au-search-btn {
    flex: none; display: inline-flex; align-items: center; gap: 6px;
    height: 34px; padding: 0 15px; border: 0; border-radius: 999px;
    background: linear-gradient(135deg, var(--au-brand), #5b7bff 55%, var(--au-cyan));
    color: #fff; font-size: 14px; font-weight: 600;
}
.au-search-btn:hover { filter: brightness(1.06); }

/* 汉堡按钮（≤1024 显示） */
.au-burger {
    display: none; width: 42px; height: 42px; flex: none; margin-left: auto;
    border: 1px solid var(--au-line); border-radius: 12px; background: #fff;
    padding: 0; position: relative;
}
.au-burger span {
    position: absolute; left: 50%; width: 18px; height: 2px; border-radius: 2px;
    background: var(--au-ink2); transform: translateX(-50%); transition: .22s;
}
.au-burger span:nth-child(1) { top: 14px; }
.au-burger span:nth-child(2) { top: 20px; }
.au-burger span:nth-child(3) { top: 26px; }
.au-burger.is-open span:nth-child(1) { top: 20px; transform: translateX(-50%) rotate(45deg); }
.au-burger.is-open span:nth-child(2) { opacity: 0; }
.au-burger.is-open span:nth-child(3) { top: 20px; transform: translateX(-50%) rotate(-45deg); }

/* 数据条 */
.au-strip {
    background: linear-gradient(180deg, #fff, rgba(255, 255, 255, .55));
    border-bottom: 1px solid var(--au-line2);
}
.au-strip-in {
    display: flex; align-items: center; justify-content: space-between;
    gap: 14px; min-height: 48px; flex-wrap: wrap;
}
.au-strip-text { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: var(--au-ink3); }
.au-strip-text b { color: var(--au-brand-d); font-size: 15px; font-family: ui-monospace, Menlo, Consolas, monospace; }
.au-strip-wait b { color: var(--au-warn); }
.au-strip-links { display: flex; gap: 8px; flex-wrap: wrap; }
.au-strip-links a {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 12px; border-radius: 999px; font-size: 13px;
    background: var(--au-soft); color: var(--au-brand-d); font-weight: 500;
}
.au-strip-links a:hover { background: #e2eaff; }

/* 主内容区 */
.au-main { padding-top: 22px; padding-bottom: 40px; }

/* 面包屑 */
.au-crumbs {
    font-size: 13px; color: var(--au-ink3); line-height: 1.9;
    margin-bottom: 18px; padding: 9px 14px;
    background: rgba(255, 255, 255, .7); border: 1px solid var(--au-line2);
    border-radius: 12px; overflow-wrap: anywhere;
}
.au-crumbs a { color: var(--au-ink2); }
.au-crumbs a:hover { color: var(--au-brand); }

/* 页脚 */
.au-foot {
    margin-top: 10px; padding: 40px 0 18px;
    background: #0d1526; color: #b6c0d4; position: relative; z-index: 1;
}
.au-foot a { color: #b6c0d4; }
.au-foot a:hover { color: #fff; }
.au-foot-grid {
    display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 28px;
}
.au-foot-logo img { height: 36px; width: auto; filter: brightness(0) invert(1); opacity: .95; }
.au-foot-desc { margin: 12px 0 14px; font-size: 13px; line-height: 1.9; color: #8c98ae; overflow-wrap: anywhere; }
.au-foot-links { display: flex; gap: 14px; flex-wrap: wrap; font-size: 13px; }
.au-foot-col h3 {
    font-size: 14px; color: #fff; margin-bottom: 12px; font-weight: 600; letter-spacing: .02em;
}
.au-foot-col a {
    display: block; font-size: 13px; padding: 4px 0; color: #98a4ba;
}
.au-foot-adbox {
    background: rgba(255, 255, 255, .05); border: 1px dashed rgba(255, 255, 255, .14);
    border-radius: 12px; padding: 10px; min-height: 74px; font-size: 12px; color: #6f7b91;
    text-align: center; overflow: hidden;
}
.au-foot-adbox img { max-width: 100%; }
.au-foot-bottom {
    margin-top: 26px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .08);
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    flex-wrap: wrap; font-size: 12px; color: #7c8798;
}
.au-foot-beian { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.au-foot-beian img { height: 16px; width: auto; }
.au-foot-note { color: #66718a; }

/* 回到顶部 */
.au-totop {
    position: fixed; right: 18px; bottom: 24px; z-index: 60;
    width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--au-line);
    background: #fff; color: var(--au-brand-d); box-shadow: var(--au-shadow);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden; transform: translateY(10px); transition: .22s;
}
.au-totop.is-show { opacity: 1; visibility: visible; transform: none; }
.au-totop:hover { background: var(--au-brand); color: #fff; border-color: var(--au-brand); }

/* ------------------------------------------------------------------ *
 * 3. 通用组件
 * ------------------------------------------------------------------ */

/* 面板 */
.au-panel {
    background: var(--au-card); border: 1px solid var(--au-line);
    border-radius: var(--au-radius); box-shadow: var(--au-shadow);
    padding: 20px 22px; margin-bottom: 18px; min-width: 0;
}
.au-panel:last-child { margin-bottom: 0; }
.au-panel-h {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin: 0 0 16px; padding: 0;
}
.au-panel-h h2, .au-panel-h h3 {
    position: relative; font-size: 18px; padding-left: 12px;
}
.au-panel-h h2::before, .au-panel-h h3::before {
    content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 4px; height: 17px; border-radius: 3px;
    background: linear-gradient(180deg, var(--au-brand), var(--au-cyan));
}
.au-panel-h .au-more {
    margin-left: auto; font-size: 13px; color: var(--au-ink3); display: inline-flex; align-items: center; gap: 4px;
}
.au-panel-h .au-more:hover { color: var(--au-brand); }
.au-panel-sub { font-size: 13px; color: var(--au-ink3); }

/* 区块标题（独立于面板，用于首页大节） */
.au-sec { margin-bottom: 22px; }
.au-sec-h {
    display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px;
}
.au-sec-h h2 {
    position: relative; font-size: 19px; padding-left: 13px;
}
.au-sec-h h2::before {
    content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 4px; height: 19px; border-radius: 3px;
    background: linear-gradient(180deg, var(--au-brand), var(--au-cyan));
}
.au-sec-h .au-sec-desc { font-size: 13px; color: var(--au-ink3); }
.au-sec-h .au-more { margin-left: auto; font-size: 13px; color: var(--au-ink3); }
.au-sec-h .au-more:hover { color: var(--au-brand); }

/* 按钮 */
.au-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    height: 38px; padding: 0 18px; border-radius: 10px; border: 1px solid var(--au-line);
    background: #fff; color: var(--au-ink2); font-size: 14px; font-weight: 500;
    transition: .16s; white-space: nowrap; max-width: 100%;
}
.au-btn:hover { border-color: #c9d3ea; color: var(--au-brand-d); background: #fbfcff; }
.au-btn-main {
    border: 0; color: #fff;
    background: linear-gradient(135deg, var(--au-brand), #5b7bff 60%, var(--au-cyan));
    box-shadow: 0 6px 16px rgba(59, 91, 253, .26);
}
.au-btn-main:hover { color: #fff; filter: brightness(1.06); background: linear-gradient(135deg, var(--au-brand), #5b7bff 60%, var(--au-cyan)); }
.au-btn-gold {
    border: 0; color: #4a3305; background: linear-gradient(135deg, #ffe3a3, var(--au-gold1) 55%, #d9a530);
    box-shadow: 0 6px 16px rgba(201, 138, 18, .24);
}
.au-btn-gold:hover { color: #4a3305; filter: brightness(1.04); }
.au-btn-sm { height: 32px; padding: 0 13px; font-size: 13px; border-radius: 9px; }
.au-btn[disabled], .au-btn.is-disabled {
    opacity: .55; cursor: not-allowed; box-shadow: none; filter: none;
}

/* 徽章 */
.au-badge {
    display: inline-flex; align-items: center; gap: 4px;
    height: 20px; padding: 0 7px; border-radius: 6px;
    font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: .02em;
    vertical-align: middle; white-space: nowrap;
}
.au-badge-vip { color: #5a3c00; background: linear-gradient(135deg, #ffe6a8, #f3c355 55%, #e0a52c); box-shadow: 0 1px 3px rgba(224, 165, 44, .4); }
.au-badge-svip { color: #fff; background: linear-gradient(135deg, #ff9d4d, #f2622f 55%, #d93b2b); box-shadow: 0 1px 3px rgba(217, 59, 43, .35); }
.au-badge-wait { color: #8a5300; background: #fff3d6; }
.au-badge-new { color: #0a6b4f; background: #e4fbf1; }
.au-badge-hot { color: #a12b2b; background: #feecec; }
.au-badge-line { color: var(--au-ink3); background: #f2f4f9; font-weight: 500; }

/* 标签 */
.au-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.au-tag {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 4px 10px; border-radius: 999px; font-size: 12.5px;
    background: #f3f5fa; color: var(--au-ink2); border: 1px solid transparent;
    max-width: 100%; overflow-wrap: anywhere;
}
.au-tag:hover { background: var(--au-soft); color: var(--au-brand-d); border-color: #d8e2ff; }

/* 键值行（详情页信息） */
.au-kv { display: grid; gap: 2px; }
.au-kv-row {
    display: flex; gap: 12px; align-items: flex-start;
    padding: 11px 0; border-bottom: 1px dashed var(--au-line2);
    min-width: 0;
}
.au-kv-row:last-child { border-bottom: 0; }
.au-kv-k {
    flex: none; width: 92px; font-size: 13.5px; color: var(--au-ink3);
}
.au-kv-v { flex: 1 1 auto; min-width: 0; font-size: 14px; color: var(--au-ink); overflow-wrap: anywhere; }
.au-kv-v a { color: var(--au-brand-d); }

/* 站点缩略卡片（首页热门 / 推荐 / 相关站点） */
.au-site-grid {
    display: grid; gap: 12px;
    grid-template-columns: repeat(auto-fill, minmax(136px, 1fr));
}
.au-site-card {
    display: flex; flex-direction: column; gap: 8px;
    background: #fff; border: 1px solid var(--au-line); border-radius: 14px;
    padding: 10px; min-width: 0;
    transition: transform .18s, box-shadow .18s, border-color .18s;
}
.au-site-card:hover {
    transform: translateY(-2px); border-color: #cfd9f0; box-shadow: var(--au-shadow-h);
}
.au-site-shot {
    position: relative; width: 100%; aspect-ratio: 16 / 10;
    border-radius: 9px; overflow: hidden; background: #f1f4fa;
}
.au-site-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-site-name {
    font-size: 13.5px; font-weight: 600; color: var(--au-ink);
    text-align: center; line-height: 1.4;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* 站点行卡片（网站目录 / 分类 / 搜索结果） */
.au-list { display: grid; gap: 12px; }
.au-item {
    display: flex; gap: 16px; padding: 16px;
    background: #fff; border: 1px solid var(--au-line); border-radius: 16px;
    min-width: 0; transition: border-color .18s, box-shadow .18s;
}
.au-item:hover { border-color: #d3ddf3; box-shadow: var(--au-shadow); }
.au-item-shot {
    flex: none; width: 168px; aspect-ratio: 16 / 10; border-radius: 11px;
    overflow: hidden; background: #f1f4fa; border: 1px solid var(--au-line2);
}
.au-item-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-item-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.au-item-title {
    font-size: 16.5px; font-weight: 700; line-height: 1.4;
    display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
}
.au-item-title a { color: var(--au-ink); overflow-wrap: anywhere; }
.au-item-title a:hover { color: var(--au-brand); }
.au-item-desc {
    font-size: 13.5px; color: var(--au-ink2); line-height: 1.75;
    margin: 0; overflow-wrap: anywhere;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.au-item-desc p { margin: 0; }
.au-item-meta {
    display: flex; gap: 14px; flex-wrap: wrap; margin-top: auto;
    font-size: 12.5px; color: var(--au-ink3);
}
.au-item-meta span { display: inline-flex; align-items: center; gap: 4px; }
.au-item-meta a { color: var(--au-ink3); }

/* 空状态 */
.au-empty {
    padding: 46px 18px; text-align: center; color: var(--au-ink3); font-size: 14px;
    background: #fff; border: 1px dashed var(--au-line); border-radius: 16px;
}
.au-empty i { display: block; font-size: 30px; color: #c9d3e6; margin-bottom: 10px; }

/* 分页（对应 showpage() 输出的 span.total_page / a.pages / span.current 等） */
.au-pager {
    margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 7px;
    align-items: center; justify-content: center;
}
.au-pager .total_page {
    width: 100%; text-align: center; font-size: 13px; color: var(--au-ink3);
    margin-bottom: 6px; order: -1;
}
.au-pager a, .au-pager .current {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 11px; border-radius: 10px;
    background: #fff; border: 1px solid var(--au-line);
    font-size: 14px; color: var(--au-ink2); line-height: 1;
}
.au-pager a:hover { border-color: #bacbf5; color: var(--au-brand-d); background: #fbfcff; }
.au-pager .current {
    background: linear-gradient(135deg, var(--au-brand), #5b7bff);
    border-color: transparent; color: #fff; font-weight: 700;
}
.au-pager .jump_page {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 13px; color: var(--au-ink3); padding-left: 6px;
}
.au-pager .jump_page input {
    width: 48px; height: 32px; border: 1px solid var(--au-line); border-radius: 8px;
    text-align: center; padding: 0 4px;
}

/* 表单（意见反馈 / 会员相关提交入口） */
.au-form { display: grid; gap: 16px; }
.au-field { display: grid; gap: 7px; min-width: 0; }
.au-field-label { font-size: 14px; font-weight: 600; color: var(--au-ink); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.au-req { color: var(--au-danger); }
.au-field-hint { font-size: 12.5px; color: var(--au-ink3); line-height: 1.7; }
.au-input, .au-textarea, .au-select {
    width: 100%; border: 1px solid var(--au-line); border-radius: 11px;
    background: #fcfdff; padding: 10px 13px; font-size: 14px; color: var(--au-ink);
    outline: none; transition: border-color .16s, box-shadow .16s, background .16s;
    min-width: 0; max-width: 100%;
}
.au-input:focus, .au-textarea:focus, .au-select:focus {
    border-color: #b9c8f8; background: #fff; box-shadow: 0 0 0 3px rgba(59, 91, 253, .1);
}
.au-textarea { min-height: 130px; resize: vertical; line-height: 1.75; }
.au-select { appearance: none; padding-right: 34px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237b8798'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; }
.au-form-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.au-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* 提示条 */
.au-note {
    display: flex; gap: 10px; padding: 12px 15px; border-radius: 12px;
    font-size: 13.5px; line-height: 1.75; border: 1px solid;
}
.au-note i { margin-top: 3px; flex: none; }
.au-note-info { background: var(--au-soft2); border-color: #d8e5ff; color: #2c4a9a; }
.au-note-warn { background: #fffaf0; border-color: #ffe3ae; color: #8a5300; }
.au-note-ok { background: #f1fbf5; border-color: #c9eeda; color: #0a6b4f; }
.au-note-bad { background: #fdf3f3; border-color: #f7d4d4; color: #a12b2b; }
.au-note strong { font-weight: 700; }

/* 两栏布局（正文 + 侧栏） */
.au-split { display: grid; grid-template-columns: minmax(0, 1fr) 316px; gap: 20px; align-items: start; }
.au-side { display: grid; gap: 16px; position: sticky; top: calc(var(--au-head-h) + 14px); min-width: 0; }

/* 文本内容（文章 / 词条正文） */
.au-prose { font-size: 15.5px; line-height: 1.95; color: #1d2942; overflow-wrap: anywhere; }
.au-prose h2 { font-size: 19px; margin: 26px 0 12px; padding-left: 12px; position: relative; }
.au-prose h2::before {
    content: ""; position: absolute; left: 0; top: .3em; width: 4px; height: 1em;
    border-radius: 3px; background: linear-gradient(180deg, var(--au-brand), var(--au-cyan));
}
.au-prose h3 { font-size: 17px; margin: 20px 0 10px; }
.au-prose p { margin: 0 0 14px; }
.au-prose img { max-width: 100%; height: auto; border-radius: 12px; display: block; margin: 14px auto; }
.au-prose a { color: var(--au-brand-d); text-decoration: underline; text-underline-offset: 3px; }
.au-prose ul, .au-prose ol { margin: 0 0 14px; padding-left: 22px; list-style: revert; }
.au-prose li { margin: 6px 0; }
.au-prose blockquote {
    margin: 16px 0; padding: 12px 16px; border-left: 3px solid #c9d6f8;
    background: #f8faff; border-radius: 0 10px 10px 0; color: var(--au-ink2);
}
.au-prose table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 14px; }
.au-prose th, .au-prose td { border: 1px solid var(--au-line); padding: 9px 12px; text-align: left; }
.au-prose th { background: #f6f8fd; font-weight: 600; }
.au-prose pre {
    background: #0f172a; color: #e2e8f5; padding: 14px 16px; border-radius: 12px;
    overflow-x: auto; font-size: 13px; line-height: 1.7;
}

/* 通用工具类 */
.au-hide { display: none !important; }
.au-mt { margin-top: 18px; }
.au-nowrap { white-space: nowrap; }
.au-mono { font-family: ui-monospace, Menlo, Consolas, monospace; }

/* ------------------------------------------------------------------ *
 * 5. 响应式
 * ------------------------------------------------------------------ */
@media (max-width: 1180px) {
    .au-nav-a { padding: 9px 10px; font-size: 14.5px; }
    .au-split { grid-template-columns: minmax(0, 1fr) 290px; }
}

@media (max-width: 1024px) {
    .au-head-in { gap: 10px; }
    .au-burger { display: block; }
    .au-nav {
        /* 用 absolute + top:100% 挂在页头下沿，而不是 fixed + 写死高度：
           .au-head 是 sticky（且带 backdrop-filter，本身就会成为包含块），
           一旦页头在窄屏变成两行，写死的 top 就会把菜单盖在数据条上。
           top:100% 跟着页头高度走，页头多高菜单就贴多低，且随页头一起吸顶。 */
        position: absolute; left: 0; right: 0; top: 100%;
        z-index: 49; display: none; flex-direction: column; align-items: stretch;
        gap: 2px; padding: 10px 14px 16px;
        background: #fff; border-bottom: 1px solid var(--au-line);
        box-shadow: 0 18px 40px rgba(16, 26, 44, .12);
        max-height: 70vh; overflow-y: auto; overflow-x: hidden;
        flex: none;
    }
    .au-nav.is-open { display: flex; }
    .au-nav-a { padding: 12px 12px; border-radius: 10px; font-size: 15px; }
    .au-nav-a.on::after { display: none; }
    .au-tools { margin-left: auto; flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
    .au-search { flex: 1 1 auto; max-width: 420px; }
    .au-foot-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
    .au-split { grid-template-columns: minmax(0, 1fr); }
    .au-side { position: static; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
    .au-topbar-welcome { display: none; }
    .au-topbar-in { justify-content: center; }
    .au-sec-h h2, .au-panel-h h2 { font-size: 17px; }
    .au-panel { padding: 16px; border-radius: 15px; }
    .au-item { gap: 12px; padding: 13px; }
    .au-item-shot { width: 124px; }
    .au-item-title { font-size: 15.5px; }
    .au-item-desc { -webkit-line-clamp: 2; font-size: 13px; }
    .au-side { grid-template-columns: minmax(0, 1fr); }
    .au-form-row { grid-template-columns: 1fr; }
    .au-split { gap: 16px; }
}

@media (max-width: 560px) {
    :root { --au-head-h: 58px; --au-radius: 15px; }
    .au-wrap { padding: 0 14px; }
    .au-brand img { height: 32px; }
    /* 窄屏页头改成两行：第一行 logo + 汉堡，第二行整行搜索框。
       单行挤在一起时搜索输入框只剩十几像素，占位文字直接被裁掉。 */
    .au-head-in {
        min-height: 0; flex-wrap: wrap;
        padding-top: 8px; padding-bottom: 8px; gap: 8px 10px;
    }
    .au-brand { order: 1; }
    .au-burger { order: 2; margin-left: auto; width: 38px; height: 38px; }
    .au-burger span:nth-child(1) { top: 12px; }
    .au-burger span:nth-child(2) { top: 18px; }
    .au-burger span:nth-child(3) { top: 24px; }
    .au-burger.is-open span:nth-child(1),
    .au-burger.is-open span:nth-child(3) { top: 18px; }
    .au-tools { order: 3; flex: 1 1 100%; margin-left: 0; }
    .au-search { width: 100%; max-width: none; height: 38px; }
    .au-search-type { font-size: 12px; padding: 0 8px; }
    .au-search-btn { padding: 0 12px; }
    .au-search-btn span { display: none; }
    .au-strip-text { gap: 12px; font-size: 12px; }
    .au-strip-in { min-height: 42px; }
    .au-main { padding-top: 16px; }
    .au-crumbs { font-size: 12px; padding: 8px 11px; margin-bottom: 14px; }
    .au-site-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 9px; }
    .au-site-card { padding: 8px; border-radius: 12px; }
    .au-site-name { font-size: 12.5px; }
    .au-item { flex-direction: column; }
    .au-item-shot { width: 100%; aspect-ratio: 16 / 9; }
    .au-item-title { font-size: 15px; }
    .au-kv-k { width: 76px; font-size: 13px; }
    .au-kv-v { font-size: 13.5px; }
    .au-foot { padding: 30px 0 16px; }
    .au-foot-grid { grid-template-columns: 1fr; gap: 18px; }
    .au-foot-bottom { justify-content: center; text-align: center; }
    .au-foot-beian { justify-content: center; }
    .au-pager a, .au-pager .current { min-width: 32px; height: 32px; padding: 0 9px; font-size: 13px; }
    .au-totop { width: 40px; height: 40px; right: 12px; bottom: 16px; }
    .au-panel { padding: 14px; }
}

/* ------------------------------------------------------------------ *
 * 4.1 首页
 * ------------------------------------------------------------------ */

/* 首屏 */
.au-hero {
    position: relative; overflow: hidden; border-radius: 22px;
    padding: 30px 32px; margin-bottom: 20px;
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(59, 91, 253, .16), rgba(59, 91, 253, 0) 55%),
        radial-gradient(90% 120% at 100% 10%, rgba(6, 182, 212, .16), rgba(6, 182, 212, 0) 60%),
        linear-gradient(180deg, #ffffff, #f7faff);
    border: 1px solid var(--au-line);
    box-shadow: var(--au-shadow);
    display: flex; gap: 26px; align-items: center; flex-wrap: wrap;
}
.au-hero-in { display: flex; gap: 26px; align-items: center; width: 100%; flex-wrap: wrap; }
.au-hero-text { flex: 1 1 460px; min-width: 0; }
.au-hero-title { font-size: 27px; letter-spacing: -.01em; overflow-wrap: anywhere; }
.au-hero-title span {
    display: block; margin-top: 6px; font-size: 15px; font-weight: 500;
    color: var(--au-brand-d); letter-spacing: .08em;
}
.au-hero-desc {
    margin: 12px 0 0; font-size: 14px; color: var(--au-ink2); line-height: 1.85;
    max-width: 640px; overflow-wrap: anywhere;
}
.au-hero-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.au-hero-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px; border-radius: 999px; font-size: 13px;
    background: rgba(255, 255, 255, .9); border: 1px solid var(--au-line);
    color: var(--au-ink2); box-shadow: 0 1px 2px rgba(16, 26, 44, .03);
}
.au-hero-chip:hover { border-color: #c3d2f6; color: var(--au-brand-d); background: #fff; }
.au-hero-chip em {
    font-style: normal; font-size: 11px; color: var(--au-ink3);
    background: #f1f4fa; border-radius: 999px; padding: 1px 6px;
}
.au-hero-side {
    flex: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px; width: 330px;
}
.au-hero-stat {
    background: rgba(255, 255, 255, .86); border: 1px solid var(--au-line);
    border-radius: 14px; padding: 12px 8px; text-align: center; min-width: 0;
}
.au-hero-stat b {
    display: block; font-size: 21px; line-height: 1.2; color: var(--au-brand-d);
    font-family: ui-monospace, Menlo, Consolas, monospace; overflow-wrap: anywhere;
}
.au-hero-stat span { display: block; margin-top: 4px; font-size: 12px; color: var(--au-ink3); }

/* 广告位 */
.au-ad {
    margin-bottom: 20px; text-align: center; overflow: hidden;
    background: #fff; border: 1px solid var(--au-line); border-radius: 16px;
    padding: 8px;
}
.au-ad img { max-width: 100%; height: auto; border-radius: 10px; }
.au-ad:empty { display: none; }

/* 四宫格 */
.au-quad {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px; margin-top: 4px;
}
.au-quad-cell { margin-bottom: 0; }
.au-chipgrid { display: flex; flex-wrap: wrap; gap: 8px; }
.au-chip {
    padding: 5px 11px; border-radius: 9px; font-size: 13px;
    background: #f5f7fc; color: var(--au-ink2); border: 1px solid transparent;
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-chip:hover { background: var(--au-soft); color: var(--au-brand-d); border-color: #dde6ff; }

/* 酷站导航 */
.au-cool { display: grid; gap: 14px; padding: 18px 20px; }
.au-cool-row {
    display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 14px;
    padding-bottom: 14px; border-bottom: 1px dashed var(--au-line2); min-width: 0;
}
.au-cool-row:last-child { padding-bottom: 0; border-bottom: 0; }
.au-cool-head { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.au-cool-head h3 { font-size: 14.5px; color: var(--au-ink); overflow-wrap: anywhere; }
.au-cool-more { font-size: 12px; color: var(--au-ink3); }
.au-cool-links { display: flex; flex-wrap: wrap; gap: 7px; min-width: 0; }
.au-cool-links a {
    font-size: 13px; padding: 4px 10px; border-radius: 8px;
    background: #f6f8fd; color: var(--au-ink2); max-width: 100%;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-cool-links a:hover { background: var(--au-soft); color: var(--au-brand-d); }

/* 双栏资讯 */
.au-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.au-duo .au-panel { margin-bottom: 0; }
.au-newslist { display: grid; gap: 2px; }
.au-newslist li {
    display: flex; gap: 10px; align-items: flex-start;
    padding: 8px 0; border-bottom: 1px dashed var(--au-line2); min-width: 0;
}
.au-newslist li:last-child { border-bottom: 0; }
.au-newslist-no {
    flex: none; width: 20px; height: 20px; margin-top: 2px; border-radius: 6px;
    background: #f1f4fa; color: var(--au-ink3);
    font: 700 11px/20px ui-monospace, Menlo, Consolas, monospace; text-align: center;
}
.au-newslist-no.is-top { background: linear-gradient(135deg, var(--au-brand), #5b7bff); color: #fff; }
.au-newslist a {
    flex: 1 1 auto; min-width: 0; font-size: 14px; color: var(--au-ink2); line-height: 1.6;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    overflow-wrap: anywhere;
}
.au-newslist a:hover { color: var(--au-brand); }

/* 友链 */
.au-friend { display: flex; gap: 14px; align-items: flex-start; flex-wrap: wrap; }
.au-friend-label {
    flex: none; font-size: 13px; font-weight: 700; color: var(--au-ink3);
    padding: 4px 0;
}
.au-friend-links { flex: 1 1 auto; display: flex; flex-wrap: wrap; gap: 8px 16px; min-width: 0; }
.au-friend-links a { font-size: 13px; color: var(--au-ink3); }
.au-friend-links a:hover { color: var(--au-brand); }

@media (max-width: 1024px) {
    .au-hero { padding: 24px; }
    .au-hero-side { width: 100%; }
}
@media (max-width: 860px) {
    .au-hero-title { font-size: 23px; }
    .au-quad, .au-duo { grid-template-columns: minmax(0, 1fr); }
    .au-cool-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .au-cool-head { flex-direction: row; align-items: center; gap: 10px; }
}
@media (max-width: 560px) {
    .au-hero { padding: 20px 16px; border-radius: 18px; }
    .au-hero-title { font-size: 20px; }
    .au-hero-title span { font-size: 13px; letter-spacing: .04em; }
    .au-hero-desc { font-size: 13px; }
    .au-hero-stat b { font-size: 18px; }
    .au-hero-stat { padding: 10px 6px; }
    .au-chip { font-size: 12.5px; padding: 4px 9px; }
}

/* ------------------------------------------------------------------ *
 * 4.2 列表页通用（网站目录 / 分类 / 搜索 / 最新收录 / 归档 / VIP）
 * ------------------------------------------------------------------ */

/* 页头标题区 */
.au-pagehead {
    margin-bottom: 16px; padding: 20px 22px;
    background: linear-gradient(135deg, rgba(59, 91, 253, .07), rgba(6, 182, 212, .06)), #fff;
    border: 1px solid var(--au-line); border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
}
.au-pagehead h1 { font-size: 22px; overflow-wrap: anywhere; }
.au-pagehead p { margin: 7px 0 0; font-size: 13.5px; color: var(--au-ink3); }
.au-pagehead p b { color: var(--au-brand-d); }

/* 分类筛选条 */
.au-filter {
    display: flex; gap: 12px; align-items: flex-start; flex-wrap: wrap;
    padding: 14px 16px; margin-bottom: 16px;
    background: #fff; border: 1px solid var(--au-line); border-radius: 14px;
}
.au-filter-label {
    flex: none; font-size: 13px; font-weight: 700; color: var(--au-ink3); padding: 5px 0;
}
.au-filter-list { flex: 1 1 auto; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.au-filter-a {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 5px 11px; border-radius: 9px; font-size: 13px;
    background: #f5f7fc; color: var(--au-ink2); max-width: 100%;
    overflow-wrap: anywhere;
}
.au-filter-a em {
    font-style: normal; font-size: 11px; color: var(--au-ink3);
    background: #fff; border-radius: 999px; padding: 0 5px;
}
.au-filter-a:hover { background: var(--au-soft); color: var(--au-brand-d); }
.au-filter-a.on { background: linear-gradient(135deg, var(--au-brand), #5b7bff); color: #fff; }
.au-filter-a.on em { background: rgba(255, 255, 255, .22); color: #fff; }

.au-col-main { min-width: 0; }
.au-item-detail { margin-left: auto; color: var(--au-brand-d) !important; }
.au-item-detail:hover { text-decoration: underline; }

/* 侧栏小列表 */
.au-sidelist { display: grid; gap: 2px; }
.au-sidelist li { padding: 7px 0; border-bottom: 1px dashed var(--au-line2); min-width: 0; }
.au-sidelist li:last-child { border-bottom: 0; }
.au-sidelist a {
    font-size: 13.5px; color: var(--au-ink2); line-height: 1.6; display: block;
    overflow-wrap: anywhere;
}
.au-sidelist a:hover { color: var(--au-brand); }

/* 侧栏迷你站点网格 */
.au-minigrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.au-mini { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.au-mini-shot {
    display: block; width: 100%; aspect-ratio: 16 / 11; border-radius: 8px;
    overflow: hidden; background: #f1f4fa; border: 1px solid var(--au-line2);
}
.au-mini-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-mini-name {
    font-size: 12px; color: var(--au-ink2); text-align: center;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-mini:hover .au-mini-name { color: var(--au-brand); }

@media (max-width: 560px) {
    .au-pagehead { padding: 16px; }
    .au-pagehead h1 { font-size: 19px; }
    .au-filter { padding: 12px; }
}

/* 分类总览 */
.au-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.au-cat {
    background: #fff; border: 1px solid var(--au-line); border-radius: 16px;
    padding: 16px 18px; min-width: 0; box-shadow: 0 1px 2px rgba(16, 26, 44, .03);
    transition: border-color .18s, box-shadow .18s;
}
.au-cat:hover { border-color: #d3ddf3; box-shadow: var(--au-shadow); }
.au-cat-h { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; }
.au-cat-h h2 { font-size: 16px; overflow-wrap: anywhere; }
.au-cat-h h2 a { color: var(--au-ink); }
.au-cat-h h2 a:hover { color: var(--au-brand); }
.au-cat-count {
    margin-left: auto; flex: none; font-size: 11.5px; color: var(--au-ink3);
    background: #f2f5fb; border-radius: 999px; padding: 2px 9px;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}
.au-cat-body { display: flex; flex-wrap: wrap; gap: 7px; }
.au-cat-sub {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 10px; border-radius: 8px; font-size: 12.5px;
    background: #f6f8fd; color: var(--au-ink2); max-width: 100%; overflow-wrap: anywhere;
}
.au-cat-sub em { font-style: normal; color: #a3adbf; font-size: 11px; }
.au-cat-sub:hover { background: var(--au-soft); color: var(--au-brand-d); }

@media (max-width: 860px) {
    .au-cats { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ *
 * 4.3 站点详情页
 * ------------------------------------------------------------------ */
.au-mb { margin-bottom: 16px; }
.au-dim { color: var(--au-ink3); font-size: 13px; }
.au-sep { color: #c3cbdb; margin: 0 2px; }

/* 头部实心卡片 */
.au-sitehero {
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    padding: 20px 22px; margin-bottom: 14px;
    background:
        radial-gradient(120% 160% at 0% 0%, rgba(59, 91, 253, .10), rgba(59, 91, 253, 0) 55%),
        linear-gradient(180deg, #ffffff, #f8faff);
    border: 1px solid var(--au-line); border-radius: var(--au-radius);
    box-shadow: var(--au-shadow); min-width: 0;
}
.au-sitehero-icon {
    flex: none; width: 64px; height: 64px; border-radius: 16px; overflow: hidden;
    background: #fff; border: 1px solid var(--au-line); padding: 8px;
    box-shadow: 0 2px 8px rgba(16, 26, 44, .06);
}
.au-sitehero-icon img { width: 100%; height: 100%; object-fit: contain; display: block; }
.au-sitehero-main { flex: 1 1 260px; min-width: 0; }
.au-sitehero-name {
    font-size: 23px; line-height: 1.35; display: flex; align-items: center;
    gap: 8px; flex-wrap: wrap; overflow-wrap: anywhere;
}
.au-sitehero-url {
    margin-top: 5px; font-size: 13px; color: var(--au-ink3);
    font-family: ui-monospace, Menlo, Consolas, monospace;
    overflow-wrap: anywhere;
}
.au-sitehero-tags { margin-top: 8px; font-size: 13px; color: var(--au-ink3); overflow-wrap: anywhere; }
.au-sitehero-tags a { color: var(--au-brand-d); }
.au-sitehero-go { flex: none; height: 42px; padding: 0 22px; border-radius: 12px; font-size: 14.5px; }
.au-sitehero-go i { font-size: 13px; }

/* 数据小卡 */
.au-statrow {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px; margin-bottom: 14px;
}
.au-statbox {
    background: #fff; border: 1px solid var(--au-line); border-radius: 14px;
    padding: 13px 10px; text-align: center; min-width: 0;
    transition: border-color .16s, box-shadow .16s;
}
.au-statbox:hover { border-color: #d3ddf3; box-shadow: var(--au-shadow); }
.au-statbox b {
    display: block; font-size: 20px; line-height: 1.25; color: var(--au-brand-d);
    font-family: ui-monospace, Menlo, Consolas, monospace;
    overflow-wrap: anywhere;
}
.au-statbox b.au-statbox-date {
    font-size: 14px; color: var(--au-ink); font-family: inherit; font-weight: 600;
}
.au-statbox span { display: block; margin-top: 3px; font-size: 12px; color: var(--au-ink3); }
.au-statbox-icp { cursor: pointer; }
.au-statbox-icpval { font-size: 13.5px !important; font-family: inherit !important; font-weight: 600; }
.au-statbox-icpval a { color: var(--au-brand-d); }
.icp-loading { color: var(--au-ink3); font-size: 13px; font-weight: 400; }
.icp-error { color: var(--au-danger); font-size: 13px; font-weight: 400; }

/* 基本信息（.detail-item / .detail-value 是 site-detail-v3.js 的取值锚点，勿改名） */
.detail-list { display: block; }
.detail-item {
    display: flex; gap: 14px; align-items: flex-start;
    padding: 12px 0; border-bottom: 1px dashed var(--au-line2); min-width: 0;
}
.detail-item:last-child { border-bottom: 0; padding-bottom: 2px; }
.detail-label {
    flex: none; width: 96px; font-size: 13.5px; color: var(--au-ink3); line-height: 1.75;
}
.detail-value {
    flex: 1 1 auto; min-width: 0; font-size: 14px; color: var(--au-ink);
    line-height: 1.75; overflow-wrap: anywhere;
}
.detail-value a { color: var(--au-brand-d); }
.ip-row { display: inline-flex; align-items: center; gap: 7px; margin-right: 14px; }
.ip-tag {
    font-size: 11px; color: var(--au-ink3); background: #f2f5fb;
    border-radius: 5px; padding: 1px 6px;
}
.ip-item { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; }
.ip-none { color: var(--au-ink3); font-size: 13px; }
.risk-tip {
    font-size: 12px; color: #8a5300; background: #fff5e2;
    border: 1px solid #ffe0ad; border-radius: 6px; padding: 2px 8px; font-weight: 500;
}

/* 站点状态 */
.site-status {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13.5px; font-weight: 600;
}
.status-indicator {
    width: 7px; height: 7px; border-radius: 50%; background: #c3cbdb; flex: none;
}
.status-indicator.loading { background: #f0a020; animation: au-pulse 1.1s infinite; }
.status-indicator.normal { background: var(--au-ok); box-shadow: 0 0 0 3px rgba(15, 157, 88, .14); }
.status-indicator.redirect { background: #f0a020; box-shadow: 0 0 0 3px rgba(240, 160, 32, .14); }
.status-indicator.error { background: var(--au-danger); box-shadow: 0 0 0 3px rgba(220, 38, 38, .12); }
.status-indicator.pending { background: #a3adbf; }
.status-normal { color: var(--au-ok); }
.status-redirect { color: #b87500; }
.status-error { color: var(--au-danger); }
.status-pending { color: var(--au-ink3); }
.status-loading { color: var(--au-ink3); }
@keyframes au-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* SEO 信息（.seo-grid 等类名由 site-detail-v3.js 动态生成，勿改名） */
.au-refresh { margin-left: auto; }
.au-refresh.loading { opacity: .6; }
.au-refresh[disabled] { opacity: .55; cursor: default; }
.seo-info-content { min-height: 78px; }
.seo-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 10px;
}
.seo-item {
    background: #f8fafe; border: 1px solid var(--au-line2); border-radius: 12px;
    padding: 12px 8px; text-align: center; min-width: 0;
}
.seo-icon {
    width: 34px; height: 34px; margin: 0 auto 7px;
    background-repeat: no-repeat; background-position: center; background-size: contain;
}
.seo-value {
    font-size: 17px; font-weight: 700; color: var(--au-brand-d);
    font-family: ui-monospace, Menlo, Consolas, monospace; word-break: break-all;
}
.seo-value.text { font-size: 14px; }
.seo-name { font-size: 12px; color: var(--au-ink3); margin-top: 4px; }
.seo-update-time { margin-top: 12px; text-align: right; font-size: 12px; color: var(--au-ink3); }
.seo-loading, .seo-error {
    padding: 22px 10px; text-align: center; font-size: 13.5px; color: var(--au-ink3);
}
.seo-error { color: var(--au-danger); }

/* 网站介绍 */
.description-content {
    position: relative; font-size: 14.5px; line-height: 1.9; color: #1d2942;
    max-height: 148px; overflow: hidden; overflow-wrap: anywhere;
}
.description-content.expanded { max-height: none; }
.description-content:not(.expanded)::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 52px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 80%);
    pointer-events: none;
}
.description-content.expanded::after { display: none; }
.description-content img { max-width: 100%; height: auto; border-radius: 10px; }
.description-content p { margin: 0 0 10px; }
.expand-toggle {
    display: none; position: relative; z-index: 2; margin-top: 8px;
    text-align: center; font-size: 13px; color: var(--au-brand-d); cursor: pointer;
    padding: 7px 0; border-top: 1px dashed var(--au-line2);
}
.expand-toggle:hover { color: var(--au-brand); }

/* 截图 */
.screenshot-container {
    border-radius: 14px; overflow: hidden; border: 1px solid var(--au-line2);
    background: #f6f8fc;
}
.screenshot-img { display: block; width: 100%; height: auto; cursor: zoom-in; }

/* 版权声明 */
.copyright-content { font-size: 13.5px; line-height: 1.95; color: var(--au-ink2); }
.copyright-content p { margin: 0 0 7px; overflow-wrap: anywhere; }
.copyright-content a { color: var(--au-danger); font-weight: 600; }

/* 侧栏查询按钮 */
.au-query { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.query-item {
    display: block; text-align: center; padding: 9px 6px; border-radius: 10px;
    background: #f7f9fd; border: 1px solid var(--au-line2);
    font-size: 13px; color: var(--au-ink2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.query-item:hover { background: var(--au-soft); border-color: #dbe5ff; color: var(--au-brand-d); }

/* 二维码 */
.au-qr { text-align: center; }
.au-qr .au-panel-h { text-align: left; }
.au-qr .qr-embed {
    width: 150px; height: 150px; max-width: 100%; margin: 2px auto 0;
    background: #fff; border-radius: 10px;
}
.au-qr-tip { margin: 10px 0 0; font-size: 12.5px; color: var(--au-ink3); overflow-wrap: anywhere; }

/* 图片弹窗 */
.modal {
    display: none; position: fixed; inset: 0; z-index: 200;
    background: rgba(10, 16, 28, .82); align-items: center; justify-content: center;
    padding: 24px;
}
.modal-content {
    max-width: min(1100px, 94vw); max-height: 88vh; width: auto; height: auto;
    border-radius: 12px; box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
}
.modal .close {
    position: absolute; top: 14px; right: 22px; color: #fff; font-size: 34px;
    line-height: 1; cursor: pointer; opacity: .8;
}
.modal .close:hover { opacity: 1; }

@media (max-width: 860px) {
    .au-sitehero { padding: 16px; gap: 12px; }
    .au-sitehero-name { font-size: 20px; }
    .au-sitehero-icon { width: 54px; height: 54px; border-radius: 14px; padding: 6px; }
    .au-sitehero-go { width: 100%; }
    .au-statrow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .detail-label { width: 80px; }
    .seo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .au-sitehero-name { font-size: 18px; }
    .au-statbox b { font-size: 18px; }
    .au-statrow { gap: 8px; }
    .detail-item { gap: 8px; }
    .detail-label { width: 68px; font-size: 12.5px; }
    .detail-value { font-size: 13px; }
    .seo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .seo-icon { width: 26px; height: 26px; }
    .au-query { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ *
 * 4.4 排行榜
 * ------------------------------------------------------------------ */
.au-rank-top { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.au-rank-top .au-panel, .au-rank-card { margin-bottom: 0; }
.au-rank-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

/* 分段切换（top.20251011.js 依赖 .view-switcher / .switch-btn / .category-rank / .new-list / .hot-list） */
.view-switcher {
    margin-left: auto; display: inline-flex; gap: 2px; padding: 3px;
    background: #f2f5fb; border-radius: 9px; flex: none;
}
.switch-btn {
    border: 0; background: transparent; border-radius: 7px;
    font-size: 12px; color: var(--au-ink3); padding: 4px 10px; line-height: 1.5;
    transition: .16s; white-space: nowrap;
}
.switch-btn:hover { color: var(--au-brand-d); }
.switch-btn.active { background: #fff; color: var(--au-brand-d); font-weight: 600; box-shadow: 0 1px 3px rgba(16, 26, 44, .1); }

/* 榜单列表 */
.ranking-list { display: block; }
.ranking-item {
    display: flex; align-items: center; gap: 9px;
    padding: 8px 0; border-bottom: 1px dashed var(--au-line2); min-width: 0;
}
.ranking-item:last-child { border-bottom: 0; }
.au-rank-no {
    flex: none; width: 20px; height: 20px; border-radius: 6px;
    background: #f1f4fa; color: var(--au-ink3);
    font: 700 11px/20px ui-monospace, Menlo, Consolas, monospace; text-align: center;
}
.au-rank-no.is-hot { background: linear-gradient(135deg, #ffb35c, #f2622f); color: #fff; }
.au-rank-name {
    flex: 0 1 auto; min-width: 0; font-size: 14px; color: var(--au-ink);
    font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-rank-name:hover { color: var(--au-brand); }
.au-rank-url {
    flex: 1 1 auto; min-width: 0; margin-left: auto; text-align: right;
    font-style: normal; font-size: 12px; color: #a9b3c4;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

@media (max-width: 860px) {
    .au-rank-top, .au-rank-grid { grid-template-columns: minmax(0, 1fr); }
    .au-rank-url { display: none; }
}

/* ------------------------------------------------------------------ *
 * 4.5 站长资讯（列表 + 详情）
 * ------------------------------------------------------------------ */
.au-item-post .au-item-shot-r {
    width: 200px; flex: none; aspect-ratio: 16 / 10; border-radius: 11px; overflow: hidden;
    background: #f1f4fa; border: 1px solid var(--au-line2);
}
.au-item-post .au-item-shot-r img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-item-post .au-item-desc { -webkit-line-clamp: 2; }

.au-article { position: relative; }
.au-article-title {
    font-size: 25px; line-height: 1.45; overflow-wrap: anywhere;
    padding-bottom: 12px; border-bottom: 1px solid var(--au-line2);
}
.au-article-meta {
    display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 12px 0 16px;
    font-size: 13px; color: var(--au-ink3);
}
.au-article-meta span { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.au-article-meta a { color: var(--au-brand-d); }
.au-article-intro {
    background: #f7f9fe; border: 1px solid #e6edfd; border-radius: 12px;
    padding: 12px 15px; font-size: 14px; line-height: 1.85; color: var(--au-ink2);
    margin-bottom: 18px; overflow-wrap: anywhere;
}
.au-article-intro strong { color: var(--au-brand-d); }
.au-article-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.au-empty-lock { line-height: 2; }
.au-empty-lock i { font-size: 26px; }

/* 版权 / 声明块 */
.au-copyright {
    margin-top: 22px; padding: 14px 16px; border-radius: 12px;
    background: #fbfcfe; border: 1px dashed var(--au-line);
    font-size: 13px; line-height: 1.9; color: var(--au-ink3);
}
.au-copyright-t {
    display: flex; align-items: center; gap: 6px; margin-bottom: 7px;
    font-size: 13.5px; font-weight: 700; color: var(--au-ink2);
}
.au-copyright p { margin: 0 0 5px; overflow-wrap: anywhere; }
.au-copyright a { color: var(--au-danger); }

/* 上一篇 / 下一篇 */
.au-articlenav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.au-articlenav-item {
    display: block; padding: 12px 15px; border-radius: 12px;
    background: #fff; border: 1px solid var(--au-line); min-width: 0;
    transition: border-color .16s, box-shadow .16s;
}
.au-articlenav-item em {
    display: block; font-style: normal; font-size: 12px; color: var(--au-ink3); margin-bottom: 3px;
}
.au-articlenav-item span {
    display: block; font-size: 13.5px; color: var(--au-ink); line-height: 1.5;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-articlenav-item:hover { border-color: #d3ddf3; box-shadow: var(--au-shadow); }
.au-articlenav-item.is-next { text-align: right; }
.au-articlenav-item.is-off { opacity: .6; cursor: default; }
.au-articlenav-item.is-off:hover { border-color: var(--au-line); box-shadow: none; }
.query-item.on { background: var(--au-soft); border-color: #d8e2ff; color: var(--au-brand-d); font-weight: 600; }

/* 文章内图片放大层（artinfo-optimize 脚本控制 display） */
.lightbox-overlay {
    display: none; position: fixed; inset: 0; z-index: 300;
    background: rgba(8, 13, 24, .9); align-items: center; justify-content: center; padding: 24px;
}
.lightbox-image { max-width: 92vw; max-height: 88vh; width: auto; height: auto; border-radius: 10px; }
.lightbox-close {
    position: absolute; top: 12px; right: 22px; color: #fff; font-size: 34px;
    line-height: 1; cursor: pointer; opacity: .8;
}
.lightbox-close:hover { opacity: 1; }

@media (max-width: 860px) {
    .au-article-title { font-size: 21px; }
    .au-item-post .au-item-shot-r { width: 130px; }
}
@media (max-width: 560px) {
    .au-article-title { font-size: 19px; }
    .au-item-post { flex-direction: column-reverse; }
    .au-item-post .au-item-shot-r { width: 100%; aspect-ratio: 16 / 9; }
    .au-articlenav { grid-template-columns: minmax(0, 1fr); }
    .au-articlenav-item.is-next { text-align: left; }
}

/* ------------------------------------------------------------------ *
 * 4.6 百科（列表 + 词条详情）
 * ------------------------------------------------------------------ */
.au-bk-hero {
    display: grid; grid-template-columns: minmax(0, 1fr) 336px;
    gap: 16px; margin-bottom: 16px; align-items: stretch;
}

/* 轮播（baike.js 依赖 #bkSlider / .bk-slide / .bk-dot / .bk-prev / .bk-next） */
.au-bkslider {
    position: relative; overflow: hidden; border-radius: var(--au-radius);
    background: #0f172a; border: 1px solid var(--au-line); min-width: 0;
    aspect-ratio: 16 / 9; box-shadow: var(--au-shadow);
}
.au-bkslider-track { position: absolute; inset: 0; }
.au-bkslide {
    position: absolute; inset: 0; display: block;
    opacity: 0; visibility: hidden; transition: opacity .45s ease;
}
.au-bkslide.is-active { opacity: 1; visibility: visible; z-index: 2; }
.au-bkslide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-bkslide-info {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 34px 18px 16px; color: #fff;
    background: linear-gradient(180deg, rgba(8, 13, 24, 0), rgba(8, 13, 24, .82));
    display: flex; flex-direction: column; gap: 4px; min-width: 0;
}
.au-bkslide-cate {
    align-self: flex-start; font-size: 11px; padding: 2px 8px; border-radius: 999px;
    background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .26);
}
.au-bkslide-title {
    font-size: 17px; font-weight: 700; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.au-bkslide-intro {
    font-size: 12.5px; color: rgba(255, 255, 255, .78); line-height: 1.6;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.au-bkslider-nav {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
    width: 34px; height: 34px; border-radius: 50%; border: 0;
    background: rgba(15, 23, 42, .5); color: #fff; font-size: 20px; line-height: 1;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity .2s, background .2s;
}
.au-bkslider:hover .au-bkslider-nav { opacity: 1; }
.au-bkslider-nav:hover { background: rgba(15, 23, 42, .78); }
.au-bkslider-nav.bk-prev { left: 10px; }
.au-bkslider-nav.bk-next { right: 10px; }
.au-bkslider-dots {
    position: absolute; right: 14px; bottom: 12px; z-index: 3;
    display: flex; gap: 5px;
}
.au-bkdot {
    width: 7px; height: 7px; padding: 0; border-radius: 50%; border: 0;
    background: rgba(255, 255, 255, .45); transition: .2s;
}
.au-bkdot.is-active { background: #fff; width: 16px; border-radius: 4px; }
.au-bkslider-empty {
    display: flex; align-items: center; justify-content: center;
    color: #93a0b8; font-size: 13.5px; background: #f6f8fc; aspect-ratio: 16 / 9;
}

/* 热门词条 */
.au-bk-hot { margin-bottom: 0; display: flex; flex-direction: column; min-width: 0; }
.au-bk-rank { display: grid; gap: 2px; }
.au-bk-rank-item {
    display: flex; align-items: center; gap: 8px; padding: 7px 0;
    border-bottom: 1px dashed var(--au-line2); min-width: 0;
}
.au-bk-rank-item:last-child { border-bottom: 0; }
.au-bk-rank-item.current .au-bk-rank-t { color: var(--au-brand-d); font-weight: 700; }
.au-bk-rank-t {
    flex: 1 1 auto; min-width: 0; font-size: 13.5px; color: var(--au-ink2);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-bk-rank-t:hover { color: var(--au-brand); }
.au-bk-rank-v {
    flex: none; font-size: 11.5px; color: #a9b3c4;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}

/* 最新词条 */
.au-bk-latest { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
.au-bk-latest li {
    display: flex; align-items: center; gap: 10px; padding: 6px 0;
    border-bottom: 1px dashed var(--au-line2); min-width: 0;
}
.au-bk-latest a {
    flex: 1 1 auto; min-width: 0; font-size: 13.5px; color: var(--au-ink2);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-bk-latest a:hover { color: var(--au-brand); }
.au-bk-latest span {
    flex: none; font-size: 11.5px; color: #a9b3c4;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}

/* 词条卡片 */
.au-bk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.au-bk-card {
    display: flex; gap: 14px; padding: 14px; min-width: 0;
    background: #fff; border: 1px solid var(--au-line); border-radius: 16px;
    transition: border-color .18s, box-shadow .18s;
}
.au-bk-card:hover { border-color: #d3ddf3; box-shadow: var(--au-shadow); }
.au-bk-pic {
    flex: none; width: 96px; height: 96px; border-radius: 12px; overflow: hidden;
    background: linear-gradient(135deg, #eef3ff, #eefaff); display: flex;
    align-items: center; justify-content: center; border: 1px solid var(--au-line2);
}
.au-bk-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-bk-nopic {
    font-size: 26px; font-weight: 700; color: #93a8d8; letter-spacing: .02em;
}
.au-bk-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.au-bk-title { font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
.au-bk-title a { color: var(--au-ink); }
.au-bk-title a:hover { color: var(--au-brand); }
.au-bk-aka { font-size: 12px; color: var(--au-ink3); overflow-wrap: anywhere; }
.au-bk-intro {
    font-size: 13px; color: var(--au-ink2); line-height: 1.7; margin: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    overflow-wrap: anywhere;
}
.au-bk-meta {
    display: flex; gap: 12px; flex-wrap: wrap; margin-top: auto;
    font-size: 12px; color: var(--au-ink3);
}
.au-bk-cate { color: var(--au-brand-d); background: var(--au-soft); border-radius: 5px; padding: 0 6px; }

/* 词条详情 */
.au-bkentry-head { padding-bottom: 14px; border-bottom: 1px solid var(--au-line2); }
.au-bkentry-title { font-size: 27px; line-height: 1.4; overflow-wrap: anywhere; }
.au-bkentry-aka {
    margin-top: 8px; font-size: 13px; color: var(--au-ink3);
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.au-bkentry-aka em {
    font-style: normal; background: #f3f5fa; border-radius: 6px; padding: 2px 8px; color: var(--au-ink2);
}
.au-bkentry-actions {
    margin-top: 10px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    font-size: 13px;
}
.au-bkentry-cate { color: var(--au-ink3); display: inline-flex; align-items: center; gap: 5px; }
.au-bkentry-cate a { color: var(--au-brand-d); }
.au-bkentry-cate i { font-size: 10px; color: #b9c2d4; }
.au-bkentry-fix { color: var(--au-ink3); margin-left: auto; }
.au-bkentry-fix:hover { color: var(--au-brand); }
.au-bkentry-figure {
    margin: 18px 0 0; border-radius: 14px; overflow: hidden;
    border: 1px solid var(--au-line2); background: #f6f8fc;
}
.au-bkentry-figure img { display: block; width: 100%; height: auto; cursor: zoom-in; }
.au-bkentry-summary {
    margin-top: 16px; padding: 13px 16px; border-radius: 12px;
    background: #f7f9fe; border: 1px solid #e6edfd;
    font-size: 14px; line-height: 1.9; color: var(--au-ink2); overflow-wrap: anywhere;
}
.au-bkentry-summary-t { font-size: 13px; font-weight: 700; color: var(--au-brand-d); margin-bottom: 5px; }
.au-bkentry-summary p { margin: 0; }

/* 目录 */
.au-bktoc {
    margin-top: 16px; padding: 13px 16px; border-radius: 12px;
    background: #fbfcfe; border: 1px dashed var(--au-line);
}
.au-bktoc-t { font-size: 13px; font-weight: 700; color: var(--au-ink2); margin-bottom: 6px; }
.au-bktoc-list { display: grid; gap: 2px; padding-left: 0; list-style: none; counter-reset: au-toc; }
.au-bktoc-item { font-size: 13.5px; line-height: 1.9; min-width: 0; }
.au-bktoc-item a { color: var(--au-ink2); display: inline-block; max-width: 100%; overflow-wrap: anywhere; }
.au-bktoc-item a:hover { color: var(--au-brand); }
.au-bktoc-item.lv3 { padding-left: 16px; font-size: 13px; color: var(--au-ink3); }

.au-bkentry-content { margin-top: 6px; }
.au-bksec { display: block; }

/* 标签 / 来源 / 相关 */
.au-bkentry-tags { margin-top: 20px; display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.au-bkentry-tags-l { flex: none; font-size: 13px; font-weight: 700; color: var(--au-ink3); padding-top: 4px; }
.au-bkentry-source {
    margin-top: 14px; padding: 12px 15px; border-radius: 12px;
    background: #fbfcfe; border: 1px dashed var(--au-line);
    font-size: 12.5px; line-height: 1.85; color: var(--au-ink3); overflow-wrap: anywhere;
}
.au-bkentry-source strong { color: var(--au-ink2); }
.au-bkentry-source a { color: var(--au-danger); margin-left: 6px; }
.au-bkrelated { margin-top: 20px; }
.au-bkrelated-list { display: grid; gap: 2px; }
.au-bkrelated-list li { padding: 8px 0; border-bottom: 1px dashed var(--au-line2); min-width: 0; }
.au-bkrelated-list li:last-child { border-bottom: 0; }
.au-bkrelated-list a { font-size: 14px; color: var(--au-ink); font-weight: 500; overflow-wrap: anywhere; }
.au-bkrelated-list a:hover { color: var(--au-brand); }
.au-bkrelated-list span {
    display: block; font-size: 12.5px; color: var(--au-ink3); line-height: 1.7; margin-top: 2px;
    overflow-wrap: anywhere;
}

/* 侧栏：词条统计 / 精选 / 分类 */
.au-bkinfo { display: grid; gap: 2px; }
.au-bkinfo > div {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 8px 0; border-bottom: 1px dashed var(--au-line2); min-width: 0;
}
.au-bkinfo > div:last-child { border-bottom: 0; }
.au-bkinfo dt { font-size: 13px; color: var(--au-ink3); flex: none; }
.au-bkinfo dd {
    margin: 0; font-size: 13.5px; color: var(--au-ink); font-weight: 600;
    min-width: 0; overflow-wrap: anywhere; text-align: right;
}
.au-bkside-pics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.au-bkside-pic { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.au-bkside-pic img {
    width: 100%; aspect-ratio: 16 / 11; object-fit: cover; border-radius: 9px;
    border: 1px solid var(--au-line2); display: block;
}
.au-bkside-pic span {
    font-size: 12px; color: var(--au-ink2); text-align: center;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-bk-cates { display: flex; flex-wrap: wrap; gap: 7px; }
.au-bk-cates-a {
    font-size: 12.5px; padding: 4px 10px; border-radius: 8px;
    background: #f5f7fc; color: var(--au-ink2); max-width: 100%; overflow-wrap: anywhere;
}
.au-bk-cates-a:hover { background: var(--au-soft); color: var(--au-brand-d); }
.au-bk-cates-a.active { background: var(--au-soft); color: var(--au-brand-d); font-weight: 600; }

@media (max-width: 1024px) {
    .au-bk-hero { grid-template-columns: minmax(0, 1fr); }
    .au-bkslider { aspect-ratio: 21 / 9; }
}
@media (max-width: 860px) {
    .au-bk-grid { grid-template-columns: minmax(0, 1fr); }
    .au-bk-latest { grid-template-columns: minmax(0, 1fr); }
    .au-bkentry-title { font-size: 22px; }
}
@media (max-width: 560px) {
    .au-bkslider { aspect-ratio: 16 / 10; }
    .au-bkslide-title { font-size: 15px; }
    .au-bk-pic { width: 76px; height: 76px; }
    .au-bk-title { font-size: 15px; }
    .au-bkentry-title { font-size: 19px; }
    .au-bkslider-nav { display: none; }
}

/* ------------------------------------------------------------------ *
 * 4.7 搜索结果 / 搜索首页
 * ------------------------------------------------------------------ */
.au-searchhead h1 { overflow-wrap: anywhere; }
.au-searchtype { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }

/* 搜索首页（独立版式，类名 sh-* 由 searchhome.20261004.js 使用，勿改名） */
.sh-page { min-height: 100vh; display: flex; flex-direction: column; }
.sh-top {
    background: rgba(255, 255, 255, .8); border-bottom: 1px solid var(--au-line2);
    position: relative; z-index: 3;
}
.sh-top-in {
    display: flex; align-items: center; justify-content: space-between;
    gap: 14px; min-height: 54px; flex-wrap: wrap;
}
.sh-nav { display: flex; gap: 4px; flex-wrap: wrap; min-width: 0; }
.sh-nav a {
    padding: 7px 12px; border-radius: 9px; font-size: 14px; color: var(--au-ink2);
}
.sh-nav a:hover { background: var(--au-soft); color: var(--au-brand-d); }
.sh-nav a.active, .sh-nav a.on { background: var(--au-soft); color: var(--au-brand-d); font-weight: 700; }
.sh-user { font-size: 13px; color: var(--au-ink3); }
.sh-user a { color: var(--au-brand); }

.sh-main {
    flex: 1 1 auto; width: 100%; max-width: 760px; margin: 0 auto;
    padding: 56px 20px 40px; text-align: center; position: relative; z-index: 1;
}
.sh-title { margin: 0; }
.sh-logo { display: inline-block; }
.sh-logo img { height: auto; max-width: min(260px, 62vw); }
.sh-sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.sh-slogan { margin: 12px 0 26px; font-size: 14px; color: var(--au-ink3); }

.sh-search {
    display: flex; align-items: center; gap: 8px;
    background: #fff; border: 1px solid var(--au-line); border-radius: 999px;
    padding: 6px; box-shadow: 0 10px 30px rgba(37, 71, 160, .1);
    max-width: 100%;
}
.sh-search:focus-within { border-color: #b9c8f8; box-shadow: 0 10px 30px rgba(37, 71, 160, .16), 0 0 0 4px rgba(59, 91, 253, .08); }
.sh-picker { position: relative; flex: none; }
.sh-picker-btn {
    display: inline-flex; align-items: center; gap: 8px;
    height: 42px; padding: 0 14px; border: 0; border-radius: 999px;
    background: #f3f6fc; color: var(--au-ink2); font-size: 13.5px; white-space: nowrap;
}
.sh-picker-btn:hover { background: var(--au-soft); color: var(--au-brand-d); }
.sh-picker-arrow {
    width: 0; height: 0; border: 4px solid transparent; border-top-color: currentColor;
    transform: translateY(2px);
}
.sh-picker-panel {
    display: none; position: absolute; left: 0; top: calc(100% + 10px); z-index: 30;
    min-width: 148px; padding: 6px; text-align: left;
    background: #fff; border: 1px solid var(--au-line); border-radius: 14px;
    box-shadow: 0 16px 40px rgba(16, 26, 44, .14); max-height: 320px; overflow-y: auto;
}
.sh-picker.is-open .sh-picker-panel { display: block; }
.sh-picker-group {
    font-size: 11.5px; color: #a3adbf; padding: 6px 10px 4px; letter-spacing: .04em;
}
.sh-picker-item {
    display: block; width: 100%; text-align: left; border: 0; background: transparent;
    padding: 8px 11px; border-radius: 8px; font-size: 13.5px; color: var(--au-ink2);
}
.sh-picker-item:hover, .sh-picker-item.is-hover { background: #f5f7fc; color: var(--au-brand-d); }
.sh-picker-item.is-active { background: var(--au-soft); color: var(--au-brand-d); font-weight: 600; }
.sh-input {
    flex: 1 1 auto; min-width: 0; height: 42px; border: 0; outline: none;
    background: transparent; padding: 0 10px; font-size: 15px; color: var(--au-ink);
}
.sh-input::placeholder { color: #a9b3c4; }
.sh-btn {
    flex: none; height: 42px; padding: 0 24px; border: 0; border-radius: 999px;
    background: linear-gradient(135deg, var(--au-brand), #5b7bff 55%, var(--au-cyan));
    color: #fff; font-size: 14.5px; font-weight: 600; white-space: nowrap;
}
.sh-btn:hover { filter: brightness(1.06); }

.sh-hotwords {
    margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px;
    align-items: center; justify-content: center; font-size: 13px;
}
.sh-hotwords-label { color: var(--au-ink3); }
.sh-hotword {
    padding: 5px 12px; border-radius: 999px; background: #fff;
    border: 1px solid var(--au-line); color: var(--au-ink2); font-size: 13px;
}
.sh-hotword:hover { border-color: #c3d2f6; color: var(--au-brand-d); }

.sh-quick {
    margin-top: 34px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
    text-align: left;
}
.sh-quick a {
    background: #fff; border: 1px solid var(--au-line); border-radius: 14px;
    padding: 14px; display: flex; flex-direction: column; gap: 3px; min-width: 0;
    transition: border-color .16s, box-shadow .16s, transform .16s;
}
.sh-quick a:hover { border-color: #d3ddf3; box-shadow: var(--au-shadow); transform: translateY(-2px); }
.sh-quick i { color: var(--au-brand); font-size: 16px; margin-bottom: 4px; }
.sh-quick b { font-size: 14px; color: var(--au-ink); }
.sh-quick span { font-size: 12px; color: var(--au-ink3); overflow-wrap: anywhere; }

.sh-foot {
    border-top: 1px solid var(--au-line2); background: rgba(255, 255, 255, .7);
    position: relative; z-index: 1;
}
.sh-foot-in {
    display: flex; gap: 16px; align-items: center; justify-content: center;
    flex-wrap: wrap; padding: 16px 20px; font-size: 12.5px; color: var(--au-ink3);
}
.sh-foot-in a { color: var(--au-ink3); }
.sh-foot-in a:hover { color: var(--au-brand); }

@media (max-width: 860px) {
    .sh-main { padding-top: 36px; }
    .sh-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .sh-main { padding: 26px 14px 30px; }
    .sh-search { flex-wrap: wrap; border-radius: 18px; padding: 8px; }
    .sh-picker { width: 100%; }
    .sh-picker-btn { width: 100%; justify-content: space-between; border-radius: 12px; }
    .sh-picker-panel { left: 0; right: 0; min-width: 0; width: 100%; }
    .sh-input { flex: 1 1 100%; padding: 4px 8px; height: 40px; }
    .sh-btn { width: 100%; border-radius: 12px; }
    .sh-quick { grid-template-columns: minmax(0, 1fr); }
    .sh-slogan { font-size: 13px; }
}

/* ------------------------------------------------------------------ *
 * 4.8 数据归档 / VIP 页
 * ------------------------------------------------------------------ */
.au-arch {
    background: #fff; border: 1px solid var(--au-line); border-radius: 14px;
    margin-bottom: 16px; overflow: hidden;
}
.au-arch-sum {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    padding: 13px 16px; cursor: pointer; font-size: 14px; font-weight: 600;
    color: var(--au-ink); list-style: none;
}
.au-arch-sum::-webkit-details-marker { display: none; }
.au-arch-sum i { color: var(--au-brand); }
.au-arch-sum em {
    font-style: normal; font-weight: 400; font-size: 12.5px; color: var(--au-ink3);
    margin-left: auto;
}
.au-arch-body { padding: 0 16px 14px; display: grid; gap: 12px; }
.au-arch-year { min-width: 0; }
.au-arch-yhead {
    display: flex; align-items: center; gap: 8px; margin-bottom: 7px;
    font-size: 13px; font-weight: 700; color: var(--au-ink2);
}
.au-arch-yhead em { font-style: normal; font-weight: 400; font-size: 12px; color: var(--au-ink3); }
.au-arch-months { display: flex; flex-wrap: wrap; gap: 7px; }
.au-arch-months a {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 11px; border-radius: 9px; font-size: 12.5px;
    background: #f5f7fc; color: var(--au-ink2);
}
.au-arch-months a span {
    font-size: 11px; color: var(--au-ink3); background: #fff;
    border-radius: 999px; padding: 0 5px;
}
.au-arch-months a:hover { background: var(--au-soft); color: var(--au-brand-d); }

/* VIP 横幅（香槟金 + 光斑，纯 CSS 定位为百分比，天然自适应） */
.au-vipbanner {
    position: relative; overflow: hidden; margin-bottom: 18px;
    border-radius: 22px; padding: 34px 30px;
    background:
        radial-gradient(60% 120% at 12% 12%, rgba(255, 236, 194, .9), rgba(255, 236, 194, 0) 60%),
        radial-gradient(50% 110% at 88% 0%, rgba(255, 214, 145, .75), rgba(255, 214, 145, 0) 62%),
        radial-gradient(40% 90% at 50% 108%, rgba(255, 245, 220, .9), rgba(255, 245, 220, 0) 70%),
        linear-gradient(135deg, #1c1a14, #2a2318 48%, #16130d);
    border: 1px solid rgba(240, 193, 90, .32);
    box-shadow: 0 14px 34px rgba(28, 26, 20, .26);
}
.au-vipbanner::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0) 42%);
    pointer-events: none;
}
.au-vipbanner-in { position: relative; z-index: 1; }
.au-vipbanner h1 {
    display: flex; align-items: center; gap: 11px; flex-wrap: wrap;
    font-size: 27px; color: #ffe6b6; letter-spacing: .01em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
}
.au-vipbanner h1 i { font-size: 22px; color: #f3c355; }
.au-vipbanner p {
    margin: 9px 0 0; font-size: 14px; color: rgba(255, 233, 190, .82); line-height: 1.8;
}
.au-vipbanner-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.au-vipbanner-tags span {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 12px; border-radius: 999px; font-size: 12.5px;
    color: #ffe9c0; background: rgba(255, 226, 170, .12);
    border: 1px solid rgba(255, 226, 170, .26);
}
.au-vipbanner-tags i { font-size: 11px; color: #f3c355; }

.au-viphead h2 { font-size: 20px; }
.au-vipcates { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

/* VIP / SVIP 列表项左侧彩条 + 描边 */
.au-vipitem { position: relative; }
.au-vipitem.is-vip { border-color: #f3e2bd; background: linear-gradient(180deg, #fffdf8, #fff); }
.au-vipitem.is-svip { border-color: #f6d0c2; background: linear-gradient(180deg, #fffaf7, #fff); }
.au-vipitem.is-vip::before,
.au-vipitem.is-svip::before {
    content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px;
    border-radius: 3px;
}
.au-vipitem.is-vip::before { background: linear-gradient(180deg, #f3c355, #d9a530); }
.au-vipitem.is-svip::before { background: linear-gradient(180deg, #ff9d4d, #d93b2b); }

@media (max-width: 860px) {
    .au-vipbanner { padding: 26px 20px; border-radius: 18px; }
    .au-vipbanner h1 { font-size: 22px; }
    .au-arch-sum em { margin-left: 0; width: 100%; }
}
@media (max-width: 560px) {
    .au-vipbanner { padding: 20px 16px; }
    .au-vipbanner h1 { font-size: 19px; gap: 8px; }
    .au-vipbanner h1 i { font-size: 18px; }
    .au-vipbanner p { font-size: 13px; }
}

/* ------------------------------------------------------------------ *
 * 4.9 意见反馈（feedback.html：提交表单 + 工单查看两种形态）
 * ------------------------------------------------------------------ */
/* 反馈页整体收窄居中：表单类页面行宽太大反而不好填 */
.au-fb { max-width: 940px; margin: 0 auto; min-width: 0; }

.au-fb-head { text-align: center; margin: 4px 0 18px; }
.au-fb-head h1 {
    font-size: 24px; letter-spacing: -.01em;
    display: inline-flex; align-items: center; gap: 9px;
}
.au-fb-head h1 i { font-size: 19px; color: var(--au-brand); }
.au-fb-head p {
    margin: 8px 0 0; font-size: 13.5px; color: var(--au-ink3);
    line-height: 1.85; overflow-wrap: anywhere;
}

.au-fb-card { padding: 22px; }

/* 类型切换（建议 / 删除申请 / 举报） */
.au-tabs {
    display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 20px;
    padding: 5px; background: #f4f6fb; border-radius: 13px;
}
.au-tab {
    flex: 1 1 0; min-width: 100px; height: 40px; padding: 0 12px;
    border: 0; border-radius: 10px; background: transparent;
    color: var(--au-ink2); font-size: 14px; font-weight: 600;
    transition: background .16s, color .16s, box-shadow .16s;
}
.au-tab:hover { color: var(--au-brand-d); }
.au-tab.on {
    background: #fff; color: var(--au-brand-d);
    box-shadow: 0 2px 8px rgba(16, 26, 44, .09);
}

/* 验证码：输入框 + 图片并排，窄屏自动换行 */
.au-cap { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.au-cap .au-input { flex: 1 1 180px; width: auto; }
.au-cap-img {
    flex: none; width: 116px; height: 42px; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    background: #fff; border: 1px solid var(--au-line); border-radius: 11px;
    cursor: pointer;
}
.au-cap-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 工单卡片 */
.au-ticket { padding: 22px; min-width: 0; }
.au-ticket-h {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    padding-bottom: 14px; border-bottom: 1px solid var(--au-line2);
}
.au-ticket-title { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; min-width: 0; }
.au-ticket-no { font-size: 15px; color: var(--au-ink2); overflow-wrap: anywhere; }
.au-ticket-no b { font-size: 16px; color: var(--au-ink); }
.au-ticket-h > .au-btn { margin-left: auto; }

/* 状态徽章：class 由 get_feedback_status_class() 给出（fb-st-*），
   这里保持同名以便和后台 / 会员中心共用同一套语义色 */
.au-st {
    display: inline-flex; align-items: center; height: 24px; padding: 0 10px;
    border-radius: 999px; font-size: 12.5px; font-weight: 600; white-space: nowrap;
}
.au-st.fb-st-pending { color: #8a5300; background: #fff3d6; }
.au-st.fb-st-doing { color: #1d4ed8; background: #e8efff; }
.au-st.fb-st-done { color: #0a6b4f; background: #e4fbf1; }
.au-st.fb-st-closed { color: #626d80; background: #f1f3f8; }

.au-ticket-meta {
    display: grid; grid-template-columns: 1fr 1fr; gap: 9px 20px; margin: 16px 0 0;
}
.au-ticket-meta > div { display: flex; gap: 10px; align-items: baseline; min-width: 0; }
.au-ticket-meta > div.is-wide { grid-column: 1 / -1; }
.au-ticket-meta dt {
    flex: none; width: 92px; display: flex; align-items: center; gap: 6px;
    font-size: 13px; color: var(--au-ink3);
}
.au-ticket-meta dt i { font-size: 12px; opacity: .8; }
.au-ticket-meta dd {
    margin: 0; min-width: 0; font-size: 13.5px; color: var(--au-ink);
    overflow-wrap: anywhere;
}
.au-ticket-meta dd a { color: var(--au-brand); }
.au-ticket-meta dd a:hover { color: var(--au-brand-d); text-decoration: underline; }

.au-ticket-tip {
    display: flex; gap: 8px; margin: 16px 0 0; padding: 11px 14px;
    border-radius: 11px; background: var(--au-soft2); border: 1px solid #d8e5ff;
    color: #2c4a9a; font-size: 13px; line-height: 1.75; overflow-wrap: anywhere;
}
.au-ticket-tip i { margin-top: 4px; flex: none; }
.au-ticket-tip a { color: var(--au-brand-d); text-decoration: underline; }

.au-ticket-block { margin-top: 22px; }
.au-ticket-bt {
    display: flex; align-items: center; gap: 8px;
    margin: 0 0 12px; font-size: 15px;
}
.au-ticket-bt i { font-size: 14px; color: var(--au-brand); }

/* 沟通记录 */
.au-thread { display: grid; gap: 12px; }
.au-msg {
    padding: 12px 15px; border: 1px solid var(--au-line); border-radius: 14px;
    background: #fcfdff; min-width: 0;
}
.au-msg-admin { background: #f6f9ff; border-color: #dbe6ff; }
.au-msg-h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 7px; }
.au-msg-who {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; font-weight: 700; color: var(--au-ink); overflow-wrap: anywhere;
}
.au-msg-who i { font-size: 12px; color: var(--au-brand); }
.au-msg-t { margin-left: auto; font-size: 12px; color: var(--au-ink3); white-space: nowrap; }
.au-msg-b {
    font-size: 14px; line-height: 1.85; color: var(--au-ink2);
    overflow-wrap: anywhere; word-break: break-word;
}
.au-msg-b a { color: var(--au-brand); }

/* 「去别处回复」说明块 */
.au-movebox {
    padding: 15px 16px; border-radius: 12px;
    background: #fafbff; border: 1px dashed var(--au-line);
    font-size: 13.5px; color: var(--au-ink2); line-height: 1.8;
    overflow-wrap: anywhere;
}
.au-movebox p { margin: 0 0 10px; }
.au-movebox p:last-child { margin-bottom: 0; }

.au-ticket-foot {
    margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--au-line2);
    font-size: 13px; color: var(--au-ink3); line-height: 1.85; overflow-wrap: anywhere;
}
.au-ticket-foot p { margin: 0 0 8px; }
.au-ticket-foot p:last-child { margin-bottom: 0; }
.au-ticket-foot a { color: var(--au-brand); }
.au-ticket-foot a:hover { text-decoration: underline; }
.au-ticket-link code {
    display: block; margin-top: 6px; padding: 9px 12px;
    border-radius: 9px; background: #f4f6fb; border: 1px solid var(--au-line);
    color: var(--au-ink2); font-size: 12.5px; word-break: break-all;
}

@media (max-width: 700px) {
    .au-ticket-meta { grid-template-columns: minmax(0, 1fr); }
    .au-ticket-meta dt { width: 84px; }
}
@media (max-width: 560px) {
    .au-fb-head h1 { font-size: 20px; }
    .au-fb-head p { font-size: 13px; }
    .au-fb-card, .au-ticket { padding: 16px; }
    .au-tab { min-width: 0; flex: 1 1 100%; height: 38px; font-size: 13.5px; }
    .au-cap-img { width: 100px; height: 40px; }
    .au-ticket-h > .au-btn { margin-left: 0; }
    .au-msg { padding: 11px 13px; }
    .au-msg-t { margin-left: 0; width: 100%; }
}

/* 超窄屏（≤380）：搜索框里的类型下拉会挤掉输入框，
   这里直接隐藏下拉，把宽度全留给输入框；搜索类型仍可在搜索页切换。 */
@media (max-width: 380px) {
    .au-search-type { display: none; }
    .au-search { padding-left: 13px; }
}

/* ------------------------------------------------------------------ *
 * 4.10 404
 * ------------------------------------------------------------------ */
.au-404 {
    max-width: 720px; margin: 10px auto 30px; padding: 42px 26px 38px;
    text-align: center; border: 1px solid var(--au-line); border-radius: 22px;
    background:
        radial-gradient(120% 130% at 0% 0%, rgba(59, 91, 253, .10), rgba(59, 91, 253, 0) 55%),
        radial-gradient(100% 120% at 100% 0%, rgba(6, 182, 212, .10), rgba(6, 182, 212, 0) 55%),
        linear-gradient(180deg, #ffffff, #f9fbff);
    box-shadow: var(--au-shadow);
}
.au-404-code {
    font-size: clamp(64px, 15vw, 112px); font-weight: 800; line-height: 1;
    letter-spacing: -.045em;
    background: linear-gradient(135deg, var(--au-brand), #5b7bff 45%, var(--au-cyan));
    -webkit-background-clip: text; background-clip: text;
    color: transparent; -webkit-text-fill-color: transparent;
}
.au-404-title { margin-top: 12px; font-size: 22px; }
.au-404-desc {
    max-width: 520px; margin: 10px auto 0; font-size: 14px;
    color: var(--au-ink3); line-height: 1.85; overflow-wrap: anywhere;
}
.au-404-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }
.au-404-search {
    display: flex; align-items: center; gap: 10px;
    max-width: 440px; margin: 24px auto 0; padding: 13px 16px;
    border-radius: 13px; background: #fff; border: 1px solid var(--au-line);
    box-shadow: 0 1px 2px rgba(16, 26, 44, .04);
    color: var(--au-ink2); font-size: 14px; text-align: left; min-width: 0;
    transition: border-color .16s, box-shadow .16s, color .16s;
}
.au-404-search i { flex: none; color: var(--au-brand); }
.au-404-search span { min-width: 0; overflow-wrap: anywhere; }
.au-404-search em { flex: none; margin-left: auto; font-style: normal; color: var(--au-ink3); }
.au-404-search:hover {
    border-color: #c3d2f6; color: var(--au-brand-d);
    box-shadow: 0 6px 18px rgba(37, 71, 160, .1);
}

@media (max-width: 560px) {
    .au-404 { padding: 30px 16px 26px; border-radius: 18px; }
    .au-404-title { font-size: 18px; }
    .au-404-desc { font-size: 13px; }
    .au-404-actions .au-btn { flex: 1 1 100%; }
    .au-404-search { font-size: 13px; padding: 12px 14px; }
}

/* ==================================================================
 * 6. Aurora v2 强化组件（2026-11-02）
 *    目的：把「站点列表 / 文章详情 / 词条详情 / 网站地图」从单薄的白卡
 *    升级为有层次的内容块。全部为新类名，不覆盖既有 4.x 段，
 *    只有少量 .au-artv2 / .au-bkv2 作用域内的覆盖写在对应小节里。
 * ================================================================== */

/* 站点图标（favicon，失败时显示兜底地球图标） */
.au-fav {
    position: relative; flex: none; width: 30px; height: 30px;
    border-radius: 9px; overflow: hidden; display: grid; place-items: center;
    background: linear-gradient(135deg, #eef3ff, #e8f7fb);
    border: 1px solid var(--au-line);
}
.au-fav i { font-size: 12px; color: #9fb0cd; }
.au-fav img {
    position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain;
    padding: 4px; display: block; background: #fff;
}
.au-fav.is-err img { display: none; }

/* 侧栏排行小列表（热门站点 / 热门文章 / 热门词条共用） */
.au-minirank { display: grid; gap: 2px; }
.au-minirank-item {
    display: flex; align-items: center; gap: 8px;
    padding: 7px 0; border-bottom: 1px dashed var(--au-line2); min-width: 0;
}
.au-minirank-item:last-child { border-bottom: 0; }
.au-minirank-no {
    flex: none; width: 20px; height: 20px; border-radius: 6px;
    display: grid; place-items: center; font-size: 11.5px; font-weight: 700;
    color: var(--au-ink3); background: #f2f5fb;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}
.au-minirank-no.is-hot {
    color: #fff; background: linear-gradient(135deg, #ff8a5c, #f2552f);
    box-shadow: 0 2px 6px rgba(242, 85, 47, .28);
}
.au-minirank-t {
    flex: 1 1 auto; min-width: 0; font-size: 13.5px; color: var(--au-ink2);
    line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-minirank-t:hover { color: var(--au-brand); }
.au-minirank-v {
    flex: none; font-size: 11.5px; color: var(--au-ink3);
    display: inline-flex; align-items: center; gap: 3px;
}
.au-minirank-item.current .au-minirank-t { color: var(--au-brand-d); font-weight: 600; }

/* 侧栏行动卡（提交网站 / 内容纠错） */
.au-side-cta {
    background: linear-gradient(150deg, #f4f7ff, #eefafd 70%, #fff);
    border-color: #dfe8fb;
}
.au-side-cta-t {
    display: flex; align-items: center; gap: 7px;
    font-size: 14.5px; font-weight: 700; color: var(--au-ink); margin-bottom: 7px;
}
.au-side-cta-t i { color: var(--au-brand); }
.au-side-cta p { margin: 0 0 12px; font-size: 13px; line-height: 1.75; color: var(--au-ink3); }

/* 文章 / 词条通用目录 */
.au-toc {
    margin: 0 0 18px; padding: 14px 16px; border-radius: 13px;
    background: #fbfcff; border: 1px solid #e7edfa;
}
.au-toc[hidden] { display: none; }
.au-toc-h {
    display: flex; align-items: center; gap: 7px;
    font-size: 13.5px; font-weight: 700; color: var(--au-ink2); margin-bottom: 8px;
}
.au-toc-h i { color: var(--au-brand); }
.au-toc-btn {
    margin-left: auto; font-size: 12px; color: var(--au-ink3);
    background: #fff; border: 1px solid var(--au-line); border-radius: 7px;
    padding: 2px 9px; cursor: pointer; line-height: 1.7;
}
.au-toc-btn:hover { color: var(--au-brand); border-color: #c8d6f8; }
.au-toc-list {
    display: grid; gap: 1px; list-style: none; margin: 0; padding: 0;
    counter-reset: autc;
}
.au-toc-item { min-width: 0; }
.au-toc-item:not(.lv3) { counter-increment: autc; }
.au-toc-item a {
    display: flex; gap: 7px; align-items: baseline;
    font-size: 13.5px; line-height: 1.8; color: var(--au-ink2);
    padding: 3px 0; overflow-wrap: anywhere;
}
.au-toc-item a::before {
    content: counter(autc, decimal-leading-zero);
    flex: none; font-size: 11px; color: #a9b5ca;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}
.au-toc-item a:hover, .au-toc-item a.is-active { color: var(--au-brand); }
.au-toc-item a.is-active::before { color: var(--au-brand); }
.au-toc-item.lv3 { padding-left: 20px; font-size: 13px; }
.au-toc-item.lv3 a::before {
    content: "·"; font-size: 15px; line-height: 1; color: #b9c4d8;
}
.au-toc.is-folded .au-toc-list { display: none; }

/* 阅读进度条（文章详情顶部） */
.au-readprogress {
    position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 120;
    background: transparent; pointer-events: none;
}
.au-readprogress i {
    display: block; width: 0; height: 100%;
    background: linear-gradient(90deg, var(--au-brand), #7c5cff 55%, var(--au-cyan));
    box-shadow: 0 0 10px rgba(59, 91, 253, .5);
    transition: width .08s linear;
}

/* 左侧阅读工具条（宽屏才出现） */
.au-readtools {
    position: fixed; left: 16px; top: 50%; transform: translateY(-50%);
    z-index: 60; display: none; flex-direction: column; gap: 6px;
    padding: 7px; border-radius: 14px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid var(--au-line);
    box-shadow: 0 10px 28px rgba(16, 26, 44, .1);
    backdrop-filter: blur(8px);
}
.au-readtools button {
    width: 34px; height: 34px; border-radius: 9px; border: 0; cursor: pointer;
    background: transparent; color: var(--au-ink3); font-size: 13px;
    display: grid; place-items: center; transition: .16s;
}
.au-readtools button:hover { background: var(--au-soft); color: var(--au-brand); }
.au-readtools button span { font-weight: 700; font-size: 12.5px; }

/* 文章标签行 */
.au-arttags {
    display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap;
    margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--au-line2);
}
.au-arttags-l {
    flex: none; font-size: 13px; font-weight: 700; color: var(--au-ink3);
    display: inline-flex; align-items: center; gap: 5px; padding-top: 4px;
}

/* ------------------------------------------------------------------ *
 * 6.1 网站目录页：页头横幅 + 视图切换 + 富站点行
 * ------------------------------------------------------------------ */

/* 目录页头（与网站地图共用 .au-dirhead-kicker / .au-dirhead-pill） */
.au-dirhead {
    position: relative; overflow: hidden; margin-bottom: 16px;
    border-radius: 20px; border: 1px solid #dde6fa;
    background:
        radial-gradient(120% 160% at 100% 0%, rgba(6, 182, 212, .14), transparent 58%),
        radial-gradient(110% 150% at 0% 100%, rgba(59, 91, 253, .14), transparent 56%),
        linear-gradient(180deg, #fff, #fafcff);
    box-shadow: 0 2px 4px rgba(16, 26, 44, .03);
}
.au-dirhead::after {
    content: ""; position: absolute; right: -70px; top: -80px;
    width: 220px; height: 220px; border-radius: 50%;
    background: linear-gradient(135deg, rgba(59, 91, 253, .18), rgba(6, 182, 212, .06));
    filter: blur(6px); pointer-events: none;
}
.au-dirhead-in {
    position: relative; z-index: 1;
    display: flex; gap: 22px; align-items: center; justify-content: space-between;
    padding: 24px 26px; flex-wrap: wrap;
}
.au-dirhead-main { min-width: 0; flex: 1 1 320px; }
.au-dirhead-kicker {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 700; letter-spacing: .06em;
    color: var(--au-brand-d); text-transform: uppercase;
    background: rgba(59, 91, 253, .08); border-radius: 999px; padding: 4px 11px;
    margin-bottom: 9px;
}
.au-dirhead h1 { font-size: 27px; line-height: 1.35; overflow-wrap: anywhere; }
.au-dirhead-desc {
    margin: 7px 0 0; font-size: 13.5px; line-height: 1.75; color: var(--au-ink3);
    max-width: 620px;
}
.au-dirhead-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.au-dirhead-pill {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 12.5px; color: var(--au-ink2);
    background: rgba(255, 255, 255, .82); border: 1px solid #e2eafb;
    border-radius: 999px; padding: 5px 12px;
}
.au-dirhead-pill b {
    font-size: 14px; color: var(--au-brand-d);
    font-family: ui-monospace, Menlo, Consolas, monospace;
}
.au-dirhead-pill-live { color: #0a6b4f; border-color: #c9eeda; background: #f1fbf5; }
.au-dirhead-pill-live i { color: #10a37f; }

/* 右侧三个入口块 */
.au-dirhead-side { display: grid; gap: 9px; flex: none; }
.au-dirhead-tile {
    display: flex; align-items: center; gap: 9px; min-width: 148px;
    padding: 10px 14px; border-radius: 12px;
    background: rgba(255, 255, 255, .88); border: 1px solid #e2eafb;
    font-size: 13.5px; color: var(--au-ink2); font-weight: 500;
    transition: .16s;
}
.au-dirhead-tile i {
    width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center;
    font-size: 12px; color: #fff; flex: none;
    background: linear-gradient(135deg, var(--au-brand), #5b7bff);
}
.au-dirhead-tile:nth-child(2) i { background: linear-gradient(135deg, #ff9d4d, #f2622f); }
.au-dirhead-tile:nth-child(3) i { background: linear-gradient(135deg, #22c1a8, #0e9e8c); }
.au-dirhead-tile:hover {
    border-color: #c8d6f8; color: var(--au-brand-d);
    transform: translateX(-2px); box-shadow: 0 6px 16px rgba(37, 71, 160, .08);
}

/* 工具条：统计 + 视图切换 */
.au-viewbar {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    margin-bottom: 12px; padding: 0 2px;
}
.au-viewbar-info {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; color: var(--au-ink3);
}
.au-viewbar-info i { color: #9fb0cd; }
.au-viewbar-info b { color: var(--au-ink); font-family: ui-monospace, Menlo, Consolas, monospace; }
.au-viewsw {
    margin-left: auto; display: inline-flex; gap: 2px; padding: 3px;
    background: #eef2fa; border-radius: 10px;
}
.au-viewsw button {
    width: 30px; height: 26px; border-radius: 8px; border: 0; cursor: pointer;
    background: transparent; color: var(--au-ink3); font-size: 12px;
    display: grid; place-items: center; transition: .15s;
}
.au-viewsw button.on { background: #fff; color: var(--au-brand); box-shadow: 0 1px 3px rgba(16, 26, 44, .12); }

/* 富站点行 */
.au-srowlist { gap: 14px; }
.au-srow {
    display: flex; gap: 16px; padding: 16px; min-width: 0;
    background: #fff; border: 1px solid var(--au-line); border-radius: 17px;
    transition: border-color .18s, box-shadow .2s, transform .2s;
}
.au-srow:hover {
    border-color: #ccd8f2; box-shadow: 0 10px 26px rgba(20, 45, 95, .09);
    transform: translateY(-2px);
}
.au-srow-shot {
    position: relative; flex: none; width: 176px; aspect-ratio: 16 / 10;
    border-radius: 12px; overflow: hidden; background: #f1f4fa;
    border: 1px solid var(--au-line2); display: block;
}
.au-srow-shot img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .35s;
}
.au-srow:hover .au-srow-shot img { transform: scale(1.04); }
.au-srow-top {
    position: absolute; left: 8px; top: 8px; z-index: 1;
    font-size: 10.5px; font-weight: 800; letter-spacing: .04em; color: #fff;
    padding: 3px 8px; border-radius: 7px;
    background: linear-gradient(135deg, #ff7a45, #ef3f2f);
    box-shadow: 0 3px 8px rgba(239, 63, 47, .35);
    font-family: ui-monospace, Menlo, Consolas, monospace;
}
.au-srow-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.au-srow-head {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0;
}
.au-srow-name {
    font-size: 16.5px; font-weight: 700; line-height: 1.4; min-width: 0;
}
.au-srow-name a { color: var(--au-ink); overflow-wrap: anywhere; }
.au-srow-name a:hover { color: var(--au-brand); }
.au-srow-host {
    font-size: 12px; color: #9aa8bf; font-family: ui-monospace, Menlo, Consolas, monospace;
    overflow-wrap: anywhere;
}
.au-srow-desc {
    font-size: 13.5px; color: var(--au-ink2); line-height: 1.75; margin: 0;
    overflow-wrap: anywhere;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.au-srow-desc p { margin: 0; }
.au-srow-foot {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-top: auto; padding-top: 3px;
}
.au-srow-metrics {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    font-size: 12.5px; color: var(--au-ink3); min-width: 0;
}
.au-srow-metrics > span, .au-srow-cate {
    display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
}
.au-srow-cate {
    color: var(--au-brand-d); background: var(--au-soft);
    border-radius: 7px; padding: 3px 9px; max-width: 100%;
    overflow: hidden; text-overflow: ellipsis;
}
.au-srow-cate:hover { background: #e2ecff; }
.au-srow-act { margin-left: auto; display: flex; gap: 7px; flex: none; }
.au-srow-act .au-btn i { font-size: 11px; }
.au-srow-act-detail { color: var(--au-ink2); }

/* 紧凑视图：隐藏截图，压成两行 */
.au-srowlist.is-compact { gap: 8px; }
.au-srowlist.is-compact .au-srow { padding: 12px 14px; border-radius: 12px; align-items: center; }
.au-srowlist.is-compact .au-srow-shot { display: none; }
.au-srowlist.is-compact .au-srow-body { gap: 4px; }
.au-srowlist.is-compact .au-srow-desc { display: none; }
.au-srowlist.is-compact .au-srow-name { font-size: 15px; }
.au-srowlist.is-compact .au-srow:hover { transform: none; }

/* ------------------------------------------------------------------ *
 * 6.2 首页站点区块：热门排名卡 + 推荐描述卡
 * ------------------------------------------------------------------ */
.au-hotgrid {
    display: grid; gap: 13px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.au-hotcard {
    display: flex; flex-direction: column; min-width: 0;
    background: #fff; border: 1px solid var(--au-line); border-radius: 16px;
    overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s;
}
.au-hotcard:hover {
    transform: translateY(-3px); border-color: #ccd8f2;
    box-shadow: 0 14px 30px rgba(20, 45, 95, .12);
}
.au-hotcard-shot {
    position: relative; display: block; width: 100%; aspect-ratio: 16 / 10;
    background: #f1f4fa; overflow: hidden;
}
.au-hotcard-shot img {
    width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s;
}
.au-hotcard:hover .au-hotcard-shot img { transform: scale(1.06); }
.au-hotcard-no {
    position: absolute; left: 0; top: 0;
    min-width: 26px; height: 26px; padding: 0 7px;
    display: inline-flex; align-items: center; justify-content: center;
    font-style: normal; font-size: 12px; font-weight: 800; color: #fff;
    background: rgba(15, 23, 42, .62); border-radius: 0 0 10px 0;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}
.au-hotcard-no.is-top { background: linear-gradient(135deg, #ff7a45, #ef3f2f); }
.au-hotcard-body {
    display: flex; flex-direction: column; gap: 5px; padding: 10px 12px 11px; min-width: 0;
}
.au-hotcard-name {
    font-size: 14px; font-weight: 600; color: var(--au-ink); line-height: 1.4;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-hotcard:hover .au-hotcard-name { color: var(--au-brand); }
.au-hotcard-meta {
    display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: var(--au-ink3);
}
.au-hotcard-meta em {
    font-style: normal; background: #f2f5fb; border-radius: 5px; padding: 1px 7px;
    max-width: 62%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-hotcard-meta > span { display: inline-flex; align-items: center; gap: 3px; }
.au-hotcard-meta i { color: #f2622f; font-size: 10px; }

.au-recgrid {
    display: grid; gap: 13px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.au-reccard {
    display: flex; flex-direction: column; gap: 9px; min-width: 0;
    padding: 15px 16px; border-radius: 16px;
    background: linear-gradient(180deg, #fff, #fcfdff);
    border: 1px solid var(--au-line);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.au-reccard:hover {
    transform: translateY(-3px); border-color: #cfdcf8;
    box-shadow: 0 14px 30px rgba(20, 45, 95, .1);
}
.au-reccard-h { display: flex; align-items: center; gap: 9px; min-width: 0; }
.au-reccard-name {
    font-size: 14.5px; font-weight: 700; color: var(--au-ink);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;
}
.au-reccard-star {
    margin-left: auto; flex: none; color: #f0b429; font-size: 11px;
}
.au-reccard-desc {
    font-size: 13px; color: var(--au-ink3); line-height: 1.72;
    overflow-wrap: anywhere;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.au-reccard-desc p { margin: 0; }
.au-reccard-f {
    display: flex; align-items: center; gap: 8px; margin-top: auto;
    font-size: 11.5px; color: var(--au-ink3);
}
.au-reccard-f em {
    font-style: normal; background: var(--au-soft); color: var(--au-brand-d);
    border-radius: 6px; padding: 2px 8px;
    max-width: 62%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-reccard-f > span { display: inline-flex; align-items: center; gap: 3px; }

/* ------------------------------------------------------------------ *
 * 6.3 文章详情：头区 / 封面 / 相关文章
 * ------------------------------------------------------------------ */
.au-artv2.au-panel {
    padding: 26px 30px 30px;
    /* 顶部品牌渐变细条：不依赖图片，纯背景绘制，圆角自动裁切 */
    background:
        linear-gradient(90deg, var(--au-brand), #7c5cff 46%, var(--au-cyan)) top left / 100% 3px no-repeat,
        var(--au-card);
}
.au-arthead { padding-bottom: 18px; margin-bottom: 20px; border-bottom: 1px solid var(--au-line2); }
.au-arthead-kicker {
    display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
    font-size: 12.5px; color: var(--au-ink3); margin-bottom: 10px;
}
.au-arthead-cate {
    display: inline-flex; align-items: center; gap: 5px;
    color: var(--au-brand-d); font-weight: 600;
    background: var(--au-soft); border-radius: 999px; padding: 4px 11px;
}
.au-arthead-cate:hover { background: #e2ecff; }
.au-arthead-cname { color: var(--au-ink2); }
.au-arthead-title {
    font-size: 28px; line-height: 1.42; color: #131d33; overflow-wrap: anywhere;
}
.au-arthead-meta {
    display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px;
    font-size: 13px; color: var(--au-ink3);
}
.au-arthead-meta > span { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.au-arthead-meta b { color: var(--au-ink); font-family: ui-monospace, Menlo, Consolas, monospace; }
.au-arthead-meta a { color: var(--au-brand-d); }
.au-arthead-author {
    color: var(--au-ink2); font-weight: 600;
}
.au-arthead-author i { color: var(--au-brand); }
.au-arthead-lead {
    position: relative; margin-top: 16px; padding: 14px 16px 14px 18px;
    border-radius: 12px; background: linear-gradient(120deg, #f5f8ff, #f2fbfd);
    border: 1px solid #e4ecfd;
}
.au-arthead-lead::before {
    content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, var(--au-brand), var(--au-cyan));
}
.au-arthead-lead-t {
    display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .08em;
    color: var(--au-brand-d); background: #fff; border: 1px solid #dbe6fd;
    border-radius: 5px; padding: 1px 7px; margin-bottom: 6px;
}
.au-arthead-lead p {
    margin: 0; font-size: 14px; line-height: 1.85; color: var(--au-ink2); overflow-wrap: anywhere;
}
.au-artcover {
    margin: 0 0 20px; border-radius: 14px; overflow: hidden;
    border: 1px solid var(--au-line2); background: #f6f8fc;
}
.au-artcover img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: cover; }
.au-articletoc { margin-bottom: 20px; }
.au-artinfo-card dd a { color: var(--au-brand-d); }

/* 相关文章 */
.au-related { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--au-line2); }
.au-related-h { display: flex; align-items: baseline; gap: 10px; margin-bottom: 13px; }
.au-related-h h2 {
    position: relative; font-size: 17px; padding-left: 12px;
}
.au-related-h h2::before {
    content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 4px; height: 16px; border-radius: 3px;
    background: linear-gradient(180deg, var(--au-brand), var(--au-cyan));
}
.au-related-h .au-more { margin-left: auto; font-size: 12.5px; color: var(--au-ink3); }
.au-related-h .au-more:hover { color: var(--au-brand); }
.au-related-grid {
    display: grid; gap: 11px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.au-related-card {
    display: flex; flex-direction: column; gap: 7px; min-width: 0;
    padding: 13px 14px; border-radius: 13px;
    background: #fcfdff; border: 1px solid var(--au-line);
    transition: .17s;
}
.au-related-card:hover {
    border-color: #ccd8f2; background: #fff;
    box-shadow: 0 8px 20px rgba(20, 45, 95, .08);
}
.au-related-cate {
    align-self: flex-start; font-size: 11px; color: var(--au-brand-d);
    background: var(--au-soft); border-radius: 5px; padding: 1px 7px;
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-related-t {
    font-size: 13.5px; font-weight: 600; line-height: 1.55; color: var(--au-ink);
    overflow-wrap: anywhere;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.au-related-card:hover .au-related-t { color: var(--au-brand); }
.au-related-meta {
    display: flex; gap: 10px; margin-top: auto;
    font-size: 11.5px; color: var(--au-ink3);
}
.au-related-meta em { font-style: normal; display: inline-flex; align-items: center; gap: 3px; }

/* ------------------------------------------------------------------ *
 * 6.4 词条详情：头区 / 信息框 / 相关词条
 * ------------------------------------------------------------------ */
.au-bkv2.au-panel {
    padding: 26px 28px 30px;
    background:
        linear-gradient(90deg, #7c5cff, #6a8bff 46%, var(--au-cyan)) top left / 100% 3px no-repeat,
        var(--au-card);
}
.au-bkentry-kicker {
    display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
    font-size: 12.5px; color: var(--au-ink3); margin-bottom: 10px;
}
.au-bkentry-kicker a {
    color: var(--au-brand-d); font-weight: 600;
    display: inline-flex; align-items: center; gap: 5px;
}
.au-bkentry-kbadge {
    font-size: 11px; color: #6d4bb5; background: #f3efff;
    border-radius: 5px; padding: 1px 8px; font-weight: 600;
}
.au-bkv2 .au-bkentry-title { font-size: 30px; line-height: 1.36; }
.au-bkentry-stat {
    display: inline-flex; align-items: center; gap: 4px;
    color: var(--au-ink3); font-size: 12.5px;
}
.au-bkentry-stat i { color: #9fb0cd; }
.au-bkv2 .au-bkentry-summary {
    position: relative; margin-top: 16px; padding: 16px 18px 16px 20px;
    background: linear-gradient(120deg, #f6f8ff, #f3fbfd);
    border: 1px solid #e4ecfd; border-radius: 13px;
    font-size: 15px; line-height: 1.95; color: #26354f;
}
.au-bkv2 .au-bkentry-summary::before {
    content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, var(--au-brand), var(--au-cyan));
}

/* 正文 + 信息框两栏 */
.au-bkentry-body {
    display: grid; grid-template-columns: minmax(0, 1fr) 272px;
    gap: 24px; align-items: start; margin-top: 22px;
}
.au-bkentry-flow { min-width: 0; }
.au-infobox {
    position: sticky; top: calc(var(--au-head-h) + 16px);
    border-radius: 14px; overflow: hidden; min-width: 0;
    background: #fcfdff; border: 1px solid #e4ecf9;
    box-shadow: 0 1px 2px rgba(16, 26, 44, .03);
}
.au-infobox-fig { margin: 0; background: #f2f6fd; }
.au-infobox-fig img {
    display: block; width: 100%; height: auto; max-height: 240px; object-fit: cover;
    cursor: zoom-in;
}
.au-infobox-h {
    display: flex; align-items: center; gap: 6px;
    padding: 11px 14px; font-size: 13px; font-weight: 700; color: var(--au-ink);
    background: linear-gradient(120deg, #eef3ff, #eefbfd);
    border-bottom: 1px solid #e4ecf9;
}
.au-infobox-h i { color: var(--au-brand); }
.au-infobox-dl { padding: 4px 14px 10px; }
.au-infobox-dl > div {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
    padding: 8px 0; border-bottom: 1px dashed var(--au-line2); min-width: 0;
}
.au-infobox-dl > div:last-child { border-bottom: 0; }
.au-infobox-dl dt { flex: none; font-size: 12.5px; color: var(--au-ink3); }
.au-infobox-dl dd {
    margin: 0; font-size: 12.5px; color: var(--au-ink); font-weight: 600;
    text-align: right; min-width: 0; overflow-wrap: anywhere;
}
.au-infobox-tags {
    display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 14px;
}
.au-infobox-tags .au-tag { font-size: 11.5px; padding: 3px 8px; }

/* 正文分段序号（覆盖 .au-prose h2 的竖条） */
.au-bkv2 .au-bkentry-content { counter-reset: bksec; }
.au-bkv2 .au-bksec h2 {
    padding-left: 40px; font-size: 19px; margin-top: 30px;
}
.au-bkv2 .au-bksec h2::before {
    counter-increment: bksec; content: counter(bksec, decimal-leading-zero);
    left: 0; top: 50%; transform: translateY(-50%);
    width: 28px; height: 28px; border-radius: 9px;
    display: grid; place-items: center;
    font-size: 12px; font-weight: 700; color: var(--au-brand-d);
    background: var(--au-soft); border: 1px solid #dbe6fd;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}

/* 相关词条卡片 */
.au-bkrel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.au-bkrel-card {
    display: flex; gap: 12px; min-width: 0; padding: 12px;
    border-radius: 13px; background: #fcfdff; border: 1px solid var(--au-line);
    transition: .17s;
}
.au-bkrel-card:hover {
    border-color: #ccd8f2; background: #fff;
    box-shadow: 0 8px 20px rgba(20, 45, 95, .08);
}
.au-bkrel-pic {
    flex: none; width: 74px; height: 74px; border-radius: 10px; overflow: hidden;
    background: #f1f4fa; border: 1px solid var(--au-line2);
}
.au-bkrel-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-bkrel-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.au-bkrel-body b {
    font-size: 14px; font-weight: 600; color: var(--au-ink); line-height: 1.45;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.au-bkrel-card:hover .au-bkrel-body b { color: var(--au-brand); }
.au-bkrel-body em {
    font-style: normal; font-size: 12px; line-height: 1.7; color: var(--au-ink3);
    overflow-wrap: anywhere;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.au-bkrel-f {
    margin-top: auto; font-size: 11.5px; color: var(--au-ink3);
    display: inline-flex; align-items: center; gap: 3px;
}

/* ------------------------------------------------------------------ *
 * 6.5 网站地图：hero + 分区锚点 + 分类卡片矩阵
 * ------------------------------------------------------------------ */
.au-maphero {
    position: relative; overflow: hidden; margin-bottom: 16px;
    border-radius: 20px; border: 1px solid #e0e4fb;
    background:
        radial-gradient(120% 160% at 92% 0%, rgba(124, 92, 255, .16), transparent 56%),
        radial-gradient(110% 150% at 0% 100%, rgba(6, 182, 212, .14), transparent 54%),
        linear-gradient(180deg, #fff, #fafbff);
    box-shadow: 0 2px 4px rgba(16, 26, 44, .03);
}
.au-maphero::after {
    content: ""; position: absolute; right: -60px; bottom: -90px;
    width: 220px; height: 220px; border-radius: 50%;
    background: linear-gradient(135deg, rgba(124, 92, 255, .16), rgba(6, 182, 212, .06));
    filter: blur(8px); pointer-events: none;
}
.au-maphero-in {
    position: relative; z-index: 1;
    display: grid; grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px; align-items: center; padding: 26px 28px;
}
.au-maphero-main { min-width: 0; }
.au-maphero h1 { font-size: 28px; line-height: 1.35; }
.au-maphero-main > p {
    margin: 8px 0 0; font-size: 13.5px; line-height: 1.8; color: var(--au-ink3);
    max-width: 620px;
}
.au-maphero-tags { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 13px; }
.au-maphero-tags span {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 12.5px; color: var(--au-ink2);
}
.au-maphero-tags i { color: #10a37f; font-size: 11px; }
.au-maphero-kpi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.au-mapkpi {
    min-width: 92px; padding: 11px 14px; border-radius: 13px;
    background: rgba(255, 255, 255, .9); border: 1px solid #e2e8fb;
    display: flex; flex-direction: column; gap: 2px;
    transition: .16s;
}
.au-mapkpi b {
    font-size: 21px; line-height: 1.2; color: var(--au-brand-d);
    font-family: ui-monospace, Menlo, Consolas, monospace;
}
.au-mapkpi span { font-size: 12px; color: var(--au-ink3); }
.au-mapkpi:hover {
    border-color: #c8d6f8; transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(37, 71, 160, .1);
}

/* 分区跳转条 */
.au-mapanchor {
    position: sticky; top: calc(var(--au-head-h) + 6px); z-index: 30;
    margin-bottom: 16px;
}
.au-mapanchor-in {
    display: flex; gap: 5px; overflow-x: auto; padding: 6px;
    background: rgba(255, 255, 255, .93);
    border: 1px solid var(--au-line); border-radius: 13px;
    box-shadow: 0 4px 14px rgba(16, 26, 44, .06);
    backdrop-filter: blur(8px);
    scrollbar-width: none;
}
.au-mapanchor-in::-webkit-scrollbar { display: none; }
.au-mapanchor-a {
    flex: none; display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 13px; border-radius: 9px; font-size: 13px; color: var(--au-ink2);
    white-space: nowrap; transition: .15s;
}
.au-mapanchor-a i { font-size: 11.5px; color: #9fb0cd; }
.au-mapanchor-a:hover { background: var(--au-soft); color: var(--au-brand-d); }
.au-mapanchor-a.is-on { background: var(--au-soft); color: var(--au-brand-d); font-weight: 600; }
.au-mapanchor-a.is-on i { color: var(--au-brand); }

/* 分区 */
.au-mapsec {
    margin-bottom: 18px; padding: 20px 22px;
    background: #fff; border: 1px solid var(--au-line); border-radius: 18px;
    box-shadow: 0 1px 2px rgba(16, 26, 44, .03);
    --map-ac: #3b5bfd;
}
.au-mapsec-web  { --map-ac: #3b5bfd; }
.au-mapsec-art  { --map-ac: #0e9e8c; }
.au-mapsec-bai  { --map-ac: #7c5cff; }
.au-mapsec-tools { --map-ac: #d98a12; }
.au-mapsec-h {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--au-line2);
}
.au-mapsec-ico {
    flex: none; width: 40px; height: 40px; border-radius: 12px;
    display: grid; place-items: center; font-size: 16px; color: #fff;
    background: linear-gradient(135deg, var(--map-ac), #7c5cff);
    box-shadow: 0 4px 12px rgba(59, 91, 253, .22);
}
.au-mapsec-t { min-width: 0; }
.au-mapsec-t h2 { font-size: 18px; line-height: 1.35; }
.au-mapsec-t p { margin: 2px 0 0; font-size: 12.5px; color: var(--au-ink3); }
.au-mapsec-top {
    margin-left: auto; flex: none; font-size: 12px; color: var(--au-ink3);
    display: inline-flex; align-items: center; gap: 4px;
    background: #f5f7fc; border-radius: 7px; padding: 5px 10px;
}
.au-mapsec-top:hover { color: var(--au-brand-d); background: var(--au-soft); }

.au-mapgrid {
    display: grid; gap: 11px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.au-mapcard {
    min-width: 0; padding: 12px 13px; border-radius: 12px;
    background: #fcfdff; border: 1px solid var(--au-line);
    transition: .16s;
}
.au-mapcard:hover {
    border-color: #d5e0f7; background: #fff;
    box-shadow: 0 6px 16px rgba(20, 45, 95, .07);
}
.au-mapcard-t {
    display: flex; align-items: center; gap: 8px; min-width: 0;
    font-size: 14px; font-weight: 600; color: var(--au-ink);
}
.au-mapcard-t::before {
    content: ""; flex: none; width: 6px; height: 6px; border-radius: 2px;
    background: var(--map-ac);
}
.au-mapcard-t span { min-width: 0; overflow-wrap: anywhere; }
.au-mapcard-t em {
    margin-left: auto; flex: none; font-style: normal;
    font-size: 11px; color: var(--au-ink3); background: #f1f4fa;
    border-radius: 999px; padding: 1px 7px;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}
.au-mapcard-t:hover { color: var(--au-brand); }
.au-mapcard-sub { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.au-mapcard-sub a {
    font-size: 12px; color: var(--au-ink3); background: #f3f6fc;
    border-radius: 6px; padding: 2px 7px; max-width: 100%; overflow-wrap: anywhere;
}
.au-mapcard-sub a:hover { color: var(--au-brand-d); background: var(--au-soft); }

/* 快捷入口卡 */
.au-toolgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.au-toolcard {
    min-width: 0; padding: 15px 16px; border-radius: 13px;
    background: #fcfdff; border: 1px solid var(--au-line);
}
.au-toolcard-h { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; }
.au-toolcard-h i {
    flex: none; width: 26px; height: 26px; border-radius: 8px;
    display: grid; place-items: center; font-size: 11px; color: #fff;
    background: linear-gradient(135deg, var(--map-ac), #7c5cff);
}
.au-toolcard-h h3 { font-size: 14.5px; }
.au-toolcard-note {
    margin: 11px 0 0; font-size: 12px; line-height: 1.75; color: var(--au-ink3);
}
.au-linkgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.au-linkgrid a {
    display: flex; align-items: center; justify-content: space-between; gap: 6px;
    min-width: 0; padding: 8px 11px; border-radius: 9px;
    font-size: 13px; color: var(--au-ink2); background: #fff;
    border: 1px solid var(--au-line2);
    overflow-wrap: anywhere;
}
.au-linkgrid a i { flex: none; font-size: 10px; color: #b7c2d6; }
.au-linkgrid a:hover { color: var(--au-brand-d); border-color: #cfdcf8; background: #fbfcff; }
.au-linkgrid a:hover i { color: var(--au-brand); }

/* ------------------------------------------------------------------ *
 * 6.6 新增区块的响应式
 * ------------------------------------------------------------------ */
@media (min-width: 1500px) {
    .au-readtools { display: flex; }
}

@media (max-width: 1180px) {
    .au-hotgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .au-recgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .au-mapgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
    .au-dirhead-in { padding: 20px 22px; }
    .au-srow-shot { width: 150px; }
    .au-bkentry-body { grid-template-columns: minmax(0, 1fr) 238px; gap: 20px; }
    .au-maphero-in { padding: 22px 22px; }
}

@media (max-width: 900px) {
    .au-bkentry-body { grid-template-columns: minmax(0, 1fr); }
    .au-infobox { position: static; order: -1; }
    /* 窄屏图片改为横条裁切，避免一张主图占掉半屏 */
    .au-infobox-fig img { max-height: 180px; object-position: center; }
    .au-infobox-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
    .au-infobox-tags { padding-bottom: 12px; }
}

@media (max-width: 860px) {
    .au-maphero-in { grid-template-columns: minmax(0, 1fr); }
    .au-maphero-kpi { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .au-toolgrid { grid-template-columns: minmax(0, 1fr); }
    .au-bkrel-grid { grid-template-columns: minmax(0, 1fr); }
    .au-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .au-dirhead-side { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 8px; }
    .au-dirhead-tile { min-width: 0; padding: 9px 11px; font-size: 12.5px; }
    .au-dirhead-tile i { width: 24px; height: 24px; font-size: 11px; }
    .au-artv2.au-panel, .au-bkv2.au-panel { padding: 22px 20px 24px; }
}

@media (max-width: 768px) {
    .au-hotgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .au-mapgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .au-arthead-title { font-size: 22px; }
    .au-bkv2 .au-bkentry-title { font-size: 23px; }
    .au-dirhead h1 { font-size: 22px; }
    .au-maphero h1 { font-size: 23px; }
    .au-infobox-dl { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 560px) {
    .au-dirhead-in { padding: 18px 16px; }
    .au-dirhead-side { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .au-dirhead-tile { flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 9px 4px; font-size: 12px; text-align: center; }
    .au-dirhead-meta { gap: 6px; }
    .au-dirhead-pill { font-size: 12px; padding: 4px 10px; }
    .au-srow { flex-direction: column; gap: 12px; padding: 13px; }
    .au-srow-shot { width: 100%; aspect-ratio: 16 / 9; }
    .au-srow-host { display: none; }
    /* 窄屏：截图通栏后，图标与徽章一行、名称独占一行，两个按钮用 grid 等分 */
    .au-srow-head { gap: 7px; }
    .au-srow-head .au-fav { order: 1; }
    .au-srow-head .au-badge { order: 2; }
    .au-srow-name { order: 3; flex: 1 1 100%; font-size: 15.5px; }
    .au-srow-act { margin-left: 0; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .au-srowlist.is-compact .au-srow { padding: 11px 12px; }
    .au-hotcard-body { padding: 9px 10px 10px; }
    .au-hotcard-name { font-size: 13px; }
    .au-hotcard-meta { gap: 6px; font-size: 11px; }
    .au-recgrid { grid-template-columns: minmax(0, 1fr); }
    .au-reccard { padding: 13px 14px; }
    .au-maphero-in { padding: 20px 16px; }
    .au-maphero-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .au-maphero-tags { display: none; }
    .au-mapgrid { grid-template-columns: minmax(0, 1fr); }
    .au-mapanchor-in { flex-wrap: wrap; overflow-x: visible; }
    .au-mapanchor-a { flex: 0 0 auto; justify-content: center; padding: 7px 12px; }
    .au-mapsec { padding: 16px 14px; border-radius: 16px; }
    .au-mapsec-ico { width: 34px; height: 34px; font-size: 14px; border-radius: 10px; }
    .au-mapsec-t h2 { font-size: 16px; }
    .au-toolcard { padding: 13px 14px; }
    .au-linkgrid { grid-template-columns: minmax(0, 1fr); }
    .au-related-grid { grid-template-columns: minmax(0, 1fr); }
    .au-arthead-title { font-size: 20px; }
    .au-arthead-lead { padding: 12px 13px 12px 15px; }
    .au-artv2.au-panel, .au-bkv2.au-panel { padding: 18px 15px 20px; }
    .au-toc { padding: 12px 13px; }
    .au-bkrel-pic { width: 64px; height: 64px; }
    .au-infobox-fig img { max-height: 150px; }
    .au-bkv2 .au-bksec h2 { padding-left: 34px; font-size: 17px; }
    .au-bkv2 .au-bksec h2::before { width: 24px; height: 24px; font-size: 11px; }
}

/* 正文三档字号（由文章页左侧工具条切换） */
.article-content.is-fs-s { font-size: 14px; }
.article-content.is-fs-l { font-size: 17px; }
.article-content.is-fs-xl { font-size: 19px; line-height: 1.9; }
