@charset "UTF-8";
/**
 * 345cool 主题 · 赛博极客风暗黑设计系统
 * -------------------------------------------------
 * 目录：
 *  01 设计令牌        02 基础重置         03 通用工具类
 *  04 按钮            05 头部与导航       06 面板/Offcanvas
 *  07 面包屑          08 布局容器         09 首页分区
 *  10 列表项          11 文章卡片         12 正文排版
 *  13 标签与徽章      14 评论区           15 搜索表单
 *  16 边栏组件        17 分页             18 浮动按钮/页脚
 *  19 插件兼容层      20 响应式           21 降级与无障碍
 */

/* ============ 01 设计令牌 ============ */
:root {
    --config-aside-width: 300px;

    /* 底色体系：纯黑到深空 */
    --ck-bg: #050608;
    --ck-bg-soft: #080a0f;
    --ck-surface: #0b0e14;
    --ck-surface-2: #10141d;
    --ck-surface-hover: #141926;

    /* 霓虹点缀 */
    --ck-cyan: #00f0ff;
    --ck-purple: #a855f7;
    --ck-violet: #7c3aed;
    --ck-gradient: linear-gradient(135deg, var(--ck-cyan), var(--ck-violet));
    --ck-glow: 0 0 18px rgba(0, 240, 255, .16);
    --ck-glow-strong: 0 0 28px rgba(0, 240, 255, .30), 0 0 56px rgba(168, 85, 247, .16);

    /* 文字 */
    --ck-text: #e8ecf1;
    --ck-text-dim: #8b93a1;
    --ck-text-faint: #565d6b;

    /* 线与形 */
    --ck-border: rgba(148, 163, 184, .14);
    --ck-border-neon: rgba(0, 240, 255, .22);
    --ck-radius: 14px;
    --ck-radius-sm: 10px;
    --ck-shadow: 0 10px 32px rgba(0, 0, 0, .45);

    /* 字体 */
    --ck-font: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;
    --ck-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "JetBrains Mono", monospace;

    /* 兼容旧类名的变量映射 */
    --xzm-accent: var(--ck-cyan);
}

/* ============ 02 基础重置 ============ */
html { font-size: 16px; }
body {
    min-height: 100vh;
    background-color: var(--ck-bg);
    color: var(--ck-text);
    font-family: var(--ck-font);
    overflow-x: hidden;
}
::selection { background: rgba(0, 240, 255, .28); color: #fff; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: var(--ck-bg); }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(0,240,255,.35), rgba(124,58,237,.35));
    border-radius: 8px; border: 2px solid var(--ck-bg);
}
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, rgba(0,240,255,.6), rgba(124,58,237,.6)); }

a { color: var(--ck-text); text-decoration: none; transition: color .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease, opacity .22s ease; }
a:hover { color: var(--ck-cyan); }

img { max-width: 100%; height: auto; }

/* 全局背景网格 + 顶部辉光 */
.ck-bg-grid {
    position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background:
        radial-gradient(ellipse 90% 42% at 50% -8%, rgba(0, 240, 255, .075), transparent 62%),
        radial-gradient(ellipse 70% 36% at 88% 4%, rgba(124, 58, 237, .06), transparent 60%),
        linear-gradient(rgba(148,163,184,.033) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,163,184,.033) 1px, transparent 1px);
    background-size: auto, auto, 34px 34px, 34px 34px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.9) 0%, rgba(0,0,0,.35) 46%, rgba(0,0,0,1) 100%);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.9) 0%, rgba(0,0,0,.35) 46%, rgba(0,0,0,1) 100%);
}
@media (max-width: 768px) {
    .ck-bg-grid { background-size: auto, auto, 26px 26px, 26px 26px; }
}

hr.ck-hr { border: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(0,240,255,.25), rgba(168,85,247,.2), transparent); opacity: .8; }
.text-muted { color: var(--ck-text-dim) !important; }

/* ============ 03 通用工具类（沿用模板输出） ============ */
.flex-center { display: flex; justify-content: center; align-items: center; }
.flex-v-center { display: flex; align-items: center; }
.flex-v-between { display: flex; align-items: center; justify-content: space-between; }
.word-warp-ellipsis-1 {
    display: block; max-width: 100%;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.word-warp-ellipsis-2, .word-warp-ellipsis-3, .line-clamp-2 {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    line-clamp: 2;
}
.word-warp-ellipsis-3 { -webkit-line-clamp: 3; line-clamp: 3; }
.aio-h3 { font-size: 1.3rem; }
.aio-h4 { font-size: 1.05rem; }
.aio-h5 { font-size: .98rem; }
.aio-h6 { font-size: .85rem; }
.aio-list-split-dot li + li::before {
    content: "·"; margin: 0 .55em; color: var(--ck-cyan); opacity: .55;
}
.aio-list-split-dot li:first-child::before { content: none; }

/* ============ 04 按钮 ============ */
.ck-btn {
    --btn-glow: transparent;
    display: inline-flex; align-items: center; justify-content: center; gap: .3em;
    padding: .45em 1.15em; border-radius: 999px;
    font-size: .86rem; line-height: 1.6; white-space: nowrap;
    border: 1px solid var(--ck-border);
    color: var(--ck-text); background: rgba(148, 163, 184, .05);
    cursor: pointer; user-select: none;
}
.ck-btn:hover { color: var(--ck-cyan); border-color: var(--ck-border-neon); box-shadow: var(--ck-glow); background: rgba(0, 240, 255, .06); }
.ck-btn-sm { padding: .3em .85em; font-size: .8rem; }
.ck-btn-primary {
    background-image: var(--ck-gradient);
    border: 0; color: #04121a; font-weight: 700;
    box-shadow: 0 4px 20px rgba(0, 240, 255, .22);
}
.ck-btn-primary:hover { color: #04121a; filter: brightness(1.12); box-shadow: var(--ck-glow-strong); }
.ck-btn-ghost { background: transparent; }

/* Bootstrap 按钮的霓虹化（插件会输出 btn-outline-* 等） */
.btn-outline-primary:not(.my-tag-filter-button) {
    color: var(--ck-text); border-color: var(--ck-border);
}
.btn-outline-primary:not(.my-tag-filter-button):hover,
.btn-outline-primary:not(.my-tag-filter-button).active {
    color: var(--ck-cyan); border-color: var(--ck-border-neon);
    background: rgba(0, 240, 255, .07); box-shadow: var(--ck-glow);
}
.btn-outline-secondary { color: var(--ck-text-dim); border-color: var(--ck-border); }
.btn-outline-secondary:hover, .btn-outline-secondary:focus {
    color: var(--ck-cyan); border-color: var(--ck-border-neon); background: rgba(0,240,255,.06);
}
.btn-primary {
    background-image: var(--ck-gradient); border: 0; color: #04121a; font-weight: 600;
}
.btn-primary:hover { filter: brightness(1.12); color: #04121a; }

/* ============ 05 头部与导航 ============ */
.ck-header {
    position: sticky; top: 0; z-index: 1030;
    background: rgba(5, 6, 8, .78);
    -webkit-backdrop-filter: blur(14px) saturate(1.4);
    backdrop-filter: blur(14px) saturate(1.4);
    border-bottom: 1px solid var(--ck-border);
}
.ck-header::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
    background: linear-gradient(90deg, transparent 6%, rgba(0,240,255,.5) 30%, rgba(168,85,247,.45) 70%, transparent 94%);
    opacity: .55; pointer-events: none;
}
.ck-header-inner { display: flex; align-items: center; min-height: 62px; gap: 1rem; }
.ck-header.header-transform { transform: translateY(-100%); transition: transform .3s ease; }

.logo a { font-weight: 800; letter-spacing: .06em; font-size: 1.16rem; }
.logo .logo-text,
.logo-text {
    background: linear-gradient(90deg, #fff 20%, var(--ck-cyan) 60%, var(--ck-purple));
    background-size: 200% auto;
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    transition: background-position .5s ease;
}
.logo .logo-text:hover, .logo-text:hover { background-position: 98% center; filter: drop-shadow(0 0 10px rgba(0,240,255,.35)); }
.logo .logo-image img { height: 34px; width: auto; }

.nav-list { list-style: none; margin: 0; padding: 0; gap: .25rem; }
.nav-list > li { position: relative; }
.nav-list > li > a {
    display: block; padding: .55em .9em; border-radius: 10px;
    color: var(--ck-text-dim); font-size: .92rem; font-weight: 500;
}
.nav-list > li > a > span { position: relative; }
.nav-list > li > a > span::after {
    content: ""; position: absolute; left: 0; right: 100%; bottom: -3px; height: 2px;
    background: var(--ck-gradient); border-radius: 2px;
    transition: right .28s cubic-bezier(.2, .8, .2, 1);
    box-shadow: 0 0 8px rgba(0, 240, 255, .55);
}
.nav-list > li:hover > a, .nav-list > li.active > a { color: var(--ck-cyan); text-shadow: 0 0 12px rgba(0,240,255,.4); }
.nav-list > li:hover > a > span::after { right: 0; }
.nav-child-box {
    position: absolute; top: calc(100% + 2px); left: 50%; transform: translateX(-50%) translateY(6px);
    min-width: 168px; padding: .5rem;
    background: rgba(11, 14, 20, .96);
    border: 1px solid var(--ck-border); border-radius: var(--ck-radius);
    box-shadow: var(--ck-shadow);
    opacity: 0; visibility: hidden; transition: all .22s ease;
}
.nav-list > li:hover .nav-child-box { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.nav-child-items { list-style: none; margin: 0; padding: 0; }
.nav-child-items a {
    display: block; padding: .42em .8em; border-radius: 8px;
    color: var(--ck-text-dim); font-size: .88rem;
}
.nav-child-items a:hover { color: var(--ck-cyan); background: rgba(0,240,255,.07); }

/* 汉堡按钮 */
.ck-burger {
    display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 40px; height: 40px; padding: 0 9px;
    background: transparent; border: 1px solid var(--ck-border); border-radius: 10px;
    cursor: pointer; font-size: 1.15rem; color: var(--ck-text); align-items: center;
}
.ck-burger span { display: block; height: 2px; width: 100%; border-radius: 2px; background: var(--ck-text-dim); transition: all .25s ease; }
.ck-burger:hover span { background: var(--ck-cyan); box-shadow: 0 0 8px rgba(0,240,255,.7); }
.burger-open .nav-burger { transform: rotate(90deg); }

/* ============ 06 面板/Offcanvas ============ */
.offcanvas-menu, .aio-aside.offcanvas-lg {
    --bs-offcanvas-width: min(84vw, var(--config-aside-width));
    background: var(--ck-bg-soft);
    border-color: var(--ck-border) !important;
}
@media (min-width: 992px) {
    .offcanvas-menu.offcanvas-lg { position: static; background: transparent; border: 0 !important; transform: none !important; width: auto !important; }
    .offcanvas-menu.offcanvas-lg .offcanvas-body { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; }
    .aio-aside.offcanvas-lg {
        position: static; background: transparent; border: 0 !important;
        transform: none !important; width: var(--config-aside-width) !important;
        flex-shrink: 0; margin-left: 1.75rem;
    }
}
.offcanvas-header { border-bottom: 1px dashed var(--ck-border); }
.ck-panel-title {
    font-weight: 700; letter-spacing: .08em; font-size: .95rem; color: var(--ck-text);
    text-transform: uppercase;
}

/* ============ 07 面包屑 ============ */
.ck-breadcrumb { padding: 1rem 0 .25rem; }
.ck-breadcrumb .breadcrumb {
    --bs-breadcrumb-divider: "/";
    font-size: .82rem; margin: 0; align-items: center;
}
.ck-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--ck-text-faint); }
.ck-breadcrumb .breadcrumb-item a { color: var(--ck-text-dim); }
.ck-breadcrumb .breadcrumb-item a:hover { color: var(--ck-cyan); }
.ck-breadcrumb .breadcrumb-item.active { color: var(--ck-cyan); }

/* ============ 08 布局容器 ============ */
.aio-mainer { padding: 1.25rem 0 3rem; }
.aio-mainstay { display: flex; align-items: flex-start; max-width: 1200px; }
.aio-main { flex: 1 1 auto; min-width: 0; }
.container-curated { max-width: 1200px; margin-top: 1.25rem; }

/* ============ 09 首页分区 ============ */
.ck-cat-section {
    background: var(--ck-surface);
    border: 1px solid var(--ck-border);
    border-radius: var(--ck-radius);
    padding: 1.1rem;
    position: relative; overflow: hidden;
}
.ck-cat-section::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, rgba(0,240,255,.5), rgba(168,85,247,.35), transparent 70%);
    opacity: .7;
}
.ck-cat-title {
    font-size: 1.12rem; font-weight: 700; letter-spacing: .02em;
    display: flex; align-items: center; gap: .55em;
}
.ck-cat-glyph {
    width: 9px; height: 9px; flex-shrink: 0; transform: rotate(45deg);
    background: var(--ck-gradient);
    box-shadow: 0 0 10px rgba(0, 240, 255, .8);
    animation: ck-pulse 2.6s ease-in-out infinite;
}
@keyframes ck-pulse {
    0%, 100% { box-shadow: 0 0 6px rgba(0,240,255,.5); }
    50% { box-shadow: 0 0 16px rgba(0,240,255,.95); }
}

/* 首页迷你海报卡 */
.cover-aspect { aspect-ratio: 2 / 3; overflow: hidden; border-radius: var(--ck-radius-sm) var(--ck-radius-sm) 0 0; background: var(--ck-surface-2); }
.cover-aspect img, .percent-image img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .45s cubic-bezier(.2, .8, .2, 1), filter .45s ease;
}
.ck-post-mini {
    position: relative; background: var(--ck-surface-2);
    border: 1px solid var(--ck-border); border-radius: var(--ck-radius-sm);
    overflow: hidden; transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.ck-post-mini:hover {
    transform: translateY(-4px);
    border-color: var(--ck-border-neon);
    box-shadow: 0 14px 34px rgba(0,0,0,.5), var(--ck-glow);
}
.ck-post-mini:hover .cover-aspect img { transform: scale(1.06); filter: saturate(1.15); }
.ck-post-mini-title { font-size: .92rem; font-weight: 600; line-height: 1.5; }
.ck-post-mini-title a {
    color: var(--ck-text);
    -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
}
.ck-post-mini-title a:hover { color: var(--ck-cyan); }
.ck-post-mini-body { padding-bottom: .25rem !important; }
.ck-post-mini-foot small { font-size: .72rem; color: var(--ck-text-faint); font-family: var(--ck-mono); letter-spacing: .05em; }

/* 首页推荐四图平铺（沿用原结构） */
.aio-curated .container-curated { gap: .75rem; }
.sift-thumb-left, .sift-thumb-right { min-width: 0; }
.sift-thumb-left { flex: 1.6 1 0; }
.sift-thumb-right { flex: 1 1 0; display: flex; flex-direction: column; gap: .75rem; }
.sift-thumb-right-top, .sift-thumb-right-bottom { flex: 1; min-height: 0; }
.sift-thumb-right-bottom > * { flex: 1; }
.aio-curated a[title-hover], .aio-curated .percent-image,
.aio-curated figure.figure { height: 100%; margin: 0; }
.aio-curated .percent-image { position: relative; display: block; border-radius: var(--ck-radius); overflow: hidden; border: 1px solid var(--ck-border); }
.aio-curated .percent-image img { height: 100%; min-height: 200px; object-fit: cover; }
.aio-curated .percent-image::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(3,5,9,.92) 0%, rgba(3,5,9,.42) 46%, transparent 78%);
}
.aio-curated .figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 1rem 1.1rem; z-index: 2; color: #fff; }
.title-hover:hover .box-title .title, .aio-curated .title-hover:hover .title { color: var(--ck-cyan); text-shadow: 0 0 14px rgba(0,240,255,.45); }

/* 徽章票签 */
.ticket {
    display: inline-block; padding: .18em .7em; border-radius: 999px;
    font-size: .72rem; font-weight: 600; letter-spacing: .04em;
    background: rgba(0, 240, 255, .1); color: var(--ck-cyan);
    border: 1px solid rgba(0, 240, 255, .28);
}
.ticket-primary { background: rgba(0,240,255,.1); color: var(--ck-cyan); border-color: rgba(0,240,255,.28); }
.ticket-rainbow {
    background: linear-gradient(90deg, rgba(0,240,255,.18), rgba(168,85,247,.18));
    color: #fff; border: 1px solid rgba(168,85,247,.4);
}

/* ============ 10 列表项（保留 .item/.thumbnail/.information 骨架以兼容运行时注入） ============ */
.aio-list { list-style: none; margin: 0; padding: 0; }
.aio-list > li.item {
    background: var(--ck-surface);
    border: 1px solid var(--ck-border) !important;
    border-radius: var(--ck-radius);
    margin-bottom: .9rem;
    position: relative;
}
.aio-list > li.item:hover {
    border-color: var(--ck-border-neon) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.45), 0 0 22px rgba(0,240,255,.09);
}
.up-hover:hover { transform: translateY(-3px); }
.aio-list .thumbnail { flex-shrink: 0; width: clamp(96px, 21%, 150px); }
.aio-list .thumbnail a { display: block; border-radius: var(--ck-radius-sm); overflow: hidden; aspect-ratio: 2 / 3; background: var(--ck-surface-2); position: relative; }
.aio-list .thumbnail img { transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.aio-list li.item:hover .thumbnail img { transform: scale(1.07); }
.aio-list .information { flex: 1 1 auto; min-width: 0; }
.aio-list .box-title a { color: var(--ck-text); }
.aio-list .box-title a:hover .title { color: var(--ck-cyan); text-shadow: 0 0 14px rgba(0,240,255,.4); }
.field-date i, .field-sort i { color: var(--ck-cyan); opacity: .8; }

.aio-list .box-media { display: flex; gap: .55rem; margin: .55rem 0 .1rem; }
.aio-list .box-media .percent-image {
    flex: 1 1 0; min-width: 0; max-width: 31%;
    aspect-ratio: 16 / 10;
    border-radius: var(--ck-radius-sm);
    overflow: hidden;
    border: 1px solid var(--ck-border);
    background: var(--ck-surface-2);
}
.aio-list .box-media .percent-image figure { margin: 0; height: 100%; }
.aio-list .box-media .percent-image img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 影视徽章（兼容原 xzm 徽章类名） */
.xzm-badge-added {
    position: absolute; bottom: 8px; right: 8px;
    font-size: 11px; padding: 3px 9px; border-radius: 7px;
    z-index: 5; display: flex; align-items: center; gap: 4px;
    font-weight: 700; line-height: 1.4; white-space: nowrap;
    font-family: var(--ck-mono); letter-spacing: .04em;
    background: rgba(6, 8, 12, .92);
    backdrop-filter: none;
    box-shadow: 0 2px 10px rgba(0,0,0,.55);
}
.badge-ended { color: #ffd54a; border: 1px solid rgba(255, 213, 74, .35); text-shadow: 0 0 8px rgba(255,213,74,.4); }
.badge-ended .badge-dot { display: inline-block; width: 6px; height: 6px; background: #ffd54a; border-radius: 1px; box-shadow: 0 0 6px #ffd54a; }
.badge-today { color: #ff5470; border: 1px solid rgba(255, 84, 112, .35); text-shadow: 0 0 8px rgba(255,84,112,.4); }
.badge-today .badge-arrow { display: inline-block; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 6px solid #ff5470; filter: drop-shadow(0 0 4px #ff5470); }
.badge-future { color: #53b9ff; border: 1px solid rgba(83, 185, 255, .35); text-shadow: 0 0 8px rgba(83,185,255,.4); }
.badge-future .badge-square { display: inline-block; width: 6px; height: 6px; background: #53b9ff; transform: rotate(45deg); box-shadow: 0 0 6px #53b9ff; }
.badge-unknown { color: #a1a1aa; border: 1px solid rgba(255,255,255,.14); }

/* 相邻文章按钮组 */
.xzm-neighbor-group, .article-neighbor { display: flex; gap: .75rem; }
.article-neighbor .btn, .xzm-neighbor-group .btn {
    color: var(--ck-text-dim); border-color: var(--ck-border);
    background: var(--ck-surface);
    border-radius: var(--ck-radius-sm);
    font-size: .88rem;
}
.article-neighbor .btn p, .xzm-neighbor-group .btn p {
    margin: .4rem 0; overflow: hidden; display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    white-space: normal;
}
.article-neighbor .btn:hover:not(.disabled), .xzm-neighbor-group .btn:hover:not(.disabled) {
    color: var(--ck-cyan); border-color: var(--ck-border-neon);
    box-shadow: var(--ck-glow);
}

/* ============ 11 文章卡片 ============ */
.xzm-article-card, .ck-post-card {
    position: relative;
    background: var(--ck-surface);
    border: 1px solid var(--ck-border);
    border-radius: var(--ck-radius);
    box-shadow: var(--ck-shadow);
}
.article-title {
    font-size: clamp(1.25rem, 2.6vw, 1.6rem);
    font-weight: 800; line-height: 1.5; letter-spacing: .01em;
    color: #fff;
}
.aio-mainer-blog .article-title { max-width: 46em; }
.ck-post-meta ul { list-style: none; }
.ck-post-meta a { color: var(--ck-cyan); }
.excerpt-box {
    background: linear-gradient(120deg, rgba(0,240,255,.055), rgba(124,58,237,.05));
    border: 1px dashed rgba(0, 240, 255, .22);
    border-radius: var(--ck-radius-sm) !important;
    color: var(--ck-text-dim); font-size: .92rem;
}
.excerpt-box::before { content: "▸ 摘要"; display: block; font-size: .72rem; letter-spacing: .12em; color: var(--ck-cyan); margin-bottom: .35em; }

/* 极光海报背景（由 app.js 注入 .ck-aurora） */
.ck-aurora {
    position: absolute; top: -4%; left: -4%; right: -4%;
    height: min(88vh, 640px); z-index: 0;
    pointer-events: none;
    filter: blur(34px) saturate(1.9);
    transform: scale(1.18) translate3d(0,0,0);
    backface-visibility: hidden;
    will-change: transform, opacity;
    animation: ck-aurora-breathe 7s ease-in-out infinite alternate;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.95) 0%, rgba(0,0,0,.55) 32%, transparent 76%);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.95) 0%, rgba(0,0,0,.55) 32%, transparent 76%);
}
@keyframes ck-aurora-breathe {
    0%   { transform: scale(1.18) translate3d(0,0,0); opacity: .38; }
    100% { transform: scale(1.22) translate3d(-2.5%, 2.5%, 0); opacity: .8; }
}
.ck-post-card > :not(.ck-aurora) { position: relative; z-index: 1; }
.ck-aurora-on .article-title,
.ck-aurora-on .ck-post-meta { text-shadow: 0 2px 16px rgba(0,0,0,.85), 0 1px 5px rgba(0,0,0,.6); }

/* ============ 12 正文排版 ============ */
.article-content {
    font-size: .98rem; line-height: 1.85; color: #ccd3dc;
    word-break: break-word; overflow-wrap: anywhere;
}
.article-content p { margin-bottom: 1em; }
.article-content h1, .article-content h2, .article-content h3,
.article-content h4, .article-content h5, .article-content h6 {
    color: #fff; font-weight: 700; line-height: 1.45; margin: 1.35em 0 .55em;
}
.article-content h2 { font-size: 1.28em; padding-left: .55em; border-left: 3px solid var(--ck-cyan); border-image: linear-gradient(180deg, var(--ck-cyan), var(--ck-purple)) 1; }
.article-content h3 { font-size: 1.14em; padding-left: .5em; border-left: 3px solid rgba(168,85,247,.75); }
.article-content a { color: var(--ck-cyan); border-bottom: 1px dashed rgba(0,240,255,.4); }
.article-content a:hover { border-bottom-style: solid; text-shadow: 0 0 10px rgba(0,240,255,.45); }
.article-content .nc-text a { border-bottom: 0; }
.article-content img { border-radius: var(--ck-radius-sm); vertical-align: middle; }
.article-content hr { border: 0; height: 1px; margin: 1.6em auto; width: 88%; background: linear-gradient(90deg, transparent, rgba(0,240,255,.3), transparent); }
.article-content strong { color: #fff; }
.article-content blockquote {
    margin: 1.1em 0; padding: .8em 1.15em;
    background: rgba(148,163,184,.05);
    border-left: 3px solid var(--ck-purple);
    border-radius: 0 var(--ck-radius-sm) var(--ck-radius-sm) 0;
    color: var(--ck-text-dim);
}
.article-content code {
    font-family: var(--ck-mono); font-size: .86em;
    padding: .15em .5em; border-radius: 6px;
    background: rgba(0, 240, 255, .08); color: var(--ck-cyan);
    border: 1px solid rgba(0,240,255,.14);
}
.article-content pre {
    position: relative; margin: 1.1em 0; padding: 1.1em 1.2em;
    background: #07090d !important;
    border: 1px solid var(--ck-border); border-radius: var(--ck-radius-sm);
    overflow-x: auto; line-height: 1.65;
}
.article-content pre code { background: none; border: 0; padding: 0; color: #c8f7ff; font-size: .85em; }
.article-content table {
    width: 100%; margin: 1.1em 0; border-collapse: collapse; font-size: .9em;
    background: var(--ck-surface-2); border-radius: var(--ck-radius-sm); overflow: hidden;
}
.article-content th, .article-content td { padding: .55em .9em; border: 1px solid var(--ck-border); }
.article-content th { background: rgba(0,240,255,.06); color: #fff; white-space: nowrap; }
.article-content tr:hover td { background: rgba(0,240,255,.03); }
.article-content ol, .article-content ul { padding-left: 1.6em; margin-bottom: 1em; }
.article-content li { margin: .3em 0; }
.article-content li::marker { color: var(--ck-cyan); }
.article-content video, .article-content audio { width: 100%; border-radius: var(--ck-radius-sm); }
.bilibili-responsive-container { border: 1px solid var(--ck-border) !important; box-shadow: var(--ck-shadow) !important; }

/* 文章标签行 */
.article-tags { list-style: none; padding: 0; margin: 0; align-items: center; }
.article-tags li a {
    display: inline-block; padding: .28em .95em; border-radius: 999px;
    font-size: .82rem; color: var(--ck-text-dim);
    background: rgba(148,163,184,.06); border: 1px solid var(--ck-border);
}
.article-tags li a:hover { color: var(--ck-cyan); border-color: var(--ck-border-neon); box-shadow: var(--ck-glow); }

/* ============ 13 标签与徽章 ============ */

/* ============ 14 评论区（含懒加载按钮） ============ */
#comment-lazy-load-container { display: flex; justify-content: center; padding: .5rem 0 .25rem; }
#load-comments-button {
    position: relative; overflow: hidden;
    padding: .6em 2.4em; border-radius: 999px;
    font-size: .92rem; font-weight: 600; letter-spacing: .12em;
    color: var(--ck-cyan); background: rgba(0, 240, 255, .06);
    border: 1px solid rgba(0, 240, 255, .35);
    cursor: pointer;
    transition: all .28s ease;
}
#load-comments-button::before {
    content: ""; position: absolute; top: 0; left: -80%; width: 60%; height: 100%;
    background: linear-gradient(100deg, transparent, rgba(0,240,255,.18), transparent);
    transform: skewX(-20deg);
    animation: ck-sheen 3.2s ease-in-out infinite;
}
@keyframes ck-sheen {
    0%, 55% { left: -80%; }
    85%, 100% { left: 130%; }
}
#load-comments-button:hover {
    color: #04121a; background-image: var(--ck-gradient); border-color: transparent;
    box-shadow: var(--ck-glow-strong);
}

.comment-post-box, .comment-list { margin-top: .5rem; }
.comment-item { padding: 1rem 0; border-bottom: 1px dashed var(--ck-border); }
.comment-item:last-child { border-bottom: 0; }
.comment-item .avatar { width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0; border: 1px solid var(--ck-border-neon); box-shadow: 0 0 10px rgba(0,240,255,.15); object-fit: cover; margin-right: .9rem; }
.comment-item-box { flex: 1 1 auto; min-width: 0; }
.comment-item-username a { color: var(--ck-text); font-weight: 600; }
.comment-item-content {
    background: var(--ck-surface-2) !important;
    border: 1px solid var(--ck-border) !important;
    font-size: .94rem;
}
.comment-reply { color: var(--ck-cyan); font-size: .82rem; }
.comment-reply:hover { text-shadow: 0 0 8px rgba(0,240,255,.5); }

/* 评论表单 */
.comment-form input, .comment-form textarea {
    background: var(--ck-surface-2); color: var(--ck-text);
    border: 1px solid var(--ck-border); border-radius: var(--ck-radius-sm);
    outline: none; transition: all .22s ease;
}
.comment-form-head .input-box { flex: 1; }
.comment-form-head .input-box + .input-box { margin-left: .6rem; }
.comment-form-head input, .comment-post-code input { height: 42px; padding: 0 1em; width: 100%; }
.comment-form textarea { width: 100%; padding: .9em 1em; resize: vertical; min-height: 120px; }
.comment-form input:focus, .comment-form textarea:focus { border-color: var(--ck-border-neon); box-shadow: 0 0 0 3px rgba(0,240,255,.09); }
.comment-submit {
    background-image: var(--ck-gradient) !important;
    border: 0 !important; color: #04121a !important; font-weight: 700;
    padding: .45em 1.6em; border-radius: 999px !important;
}
.comment-submit:hover { filter: brightness(1.12); box-shadow: var(--ck-glow); }
.comment-cancle { color: var(--ck-text-dim); }
.comment-cancle:hover { color: #ff5470; }
.comment-post-code { align-items: stretch; gap: .6rem; }
.comment-post-code .captcha { height: 42px; border-radius: var(--ck-radius-sm); cursor: pointer; border: 1px solid var(--ck-border); }

/* ============ 15 搜索表单 ============ */
.aio-search-form { max-width: 520px; }
.aio-search-group {
    background: var(--ck-surface);
    border: 1px solid var(--ck-border) !important;
    transition: all .25s ease;
}
.aio-search-group:focus-within { border-color: var(--ck-border-neon) !important; box-shadow: var(--ck-glow); }
.aio-search-group > .aio-search-icon { margin-left: 1.1em; color: var(--ck-cyan); opacity: .75; }
.aio-search-group > .aio-search-keyword {
    flex: 1; min-width: 0; background: none; border: 0; outline: none;
    padding: .72em 1em; color: var(--ck-text); font-size: .92rem;
}
.aio-search-group > .reset-button { background: none; border: 0; color: var(--ck-text-faint); padding: 0 .4em; cursor: pointer; }
.aio-search-group > .reset-button:hover { color: var(--ck-cyan); }
.aio-search-group > .aio-search-clear:hover { color: #ff5470; }
.aio-search-group > .aio-search-submit {
    margin: 4px; padding: .38em 1.3em; border-radius: 999px;
    background-image: var(--ck-gradient); color: #04121a; font-weight: 700; font-size: .84rem;
    border: 0; cursor: pointer;
}
.aio-search-group > .aio-search-submit:hover { filter: brightness(1.12); }

/* 社交图标行（博主边栏“其他信息”默认HTML使用 logo-fill 结构） */
ul.logo-fill { display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; gap: .55rem; }
.logo-fill-row { flex-direction: row; justify-content: flex-start; }
.logo-fill-column { flex-direction: column; }
.logo-fill .logo-item { list-style: none; }
.logo-fill [class^="ri-"], .logo-fill [class^="bi-"], .logo-fill [class^="iconfont-"] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 12px;
    font-size: 1.15rem; font-style: normal;
    color: var(--ck-text-dim);
    background: var(--ck-surface-2);
    border: 1px solid var(--ck-border);
    transition: all .22s ease;
}
.logo-fill [class^="ri-"]:hover, .logo-fill [class^="bi-"]:hover, .logo-fill [class^="iconfont-"]:hover {
    color: var(--ck-cyan); border-color: var(--ck-border-neon);
    box-shadow: var(--ck-glow); transform: translateY(-2px);
}

/* ============ 16 边栏组件 ============ */
.aside-items-box > * + * { margin-top: 1rem; }
.aside-box {
    background: var(--ck-surface) !important;
    border: 1px solid var(--ck-border) !important;
    border-radius: var(--ck-radius) !important;
}
.aside-head { padding-bottom: .6rem; border-bottom: 1px dashed var(--ck-border); }
.aside-head-title { display: flex; align-items: center; font-weight: 700; letter-spacing: .03em; }
.aside-head-title i { color: var(--ck-cyan); text-shadow: 0 0 10px rgba(0,240,255,.5); }
.aside-head-dots { position: relative; width: 34px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, rgba(168,85,247,.7), rgba(0,240,255,.7)); }

/* 边栏：博主 */
.aside-box-blogger .avatar img {
    width: 84px; height: 84px; border-radius: 50%; object-fit: cover;
    border: 2px solid transparent;
    background: linear-gradient(var(--ck-surface-2), var(--ck-surface-2)) padding-box, var(--ck-gradient) border-box;
    box-shadow: 0 0 22px rgba(0,240,255,.25);
}
.aside-box-blogger .name { font-weight: 700; color: #fff; }

/* 边栏：时间线（最新文章）与通用列表 */
.aside-list-timeline, .aside-list-link, .aside-list-comment, .aside-list-hot, .aside-list-tag, .aside-list-dot { list-style: none; margin: 0; padding: 0; }
.aside-list-dot li { position: relative; padding: .32em 0 .32em 1.1em; }
.aside-list-dot li::before {
    content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(45deg);
    width: 6px; height: 6px; background: var(--ck-gradient); border-radius: 1px;
}
.aside-list-dot a, .aside-list-timeline a { color: var(--ck-text-dim); }
.aside-list-dot a:hover, .aside-list-timeline a:hover, .aside-list-comment a:hover { color: var(--ck-cyan); }
.aside-list-timeline .time, .aside-list-comment .time { font-family: var(--ck-mono); font-size: .74rem; color: var(--ck-text-faint); }
.aside-list-comment .box-content { background: var(--ck-surface-2); border: 1px solid var(--ck-border); }
.aside-list-comment .avatar img, .aside-list-comment .avatar { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
.aside-list-tag { gap: .45rem; }
.aside-list-tag li a {
    display: inline-flex; align-items: center;
    padding: .3em .85em; border-radius: 999px;
    background: rgba(148,163,184,.06); border: 1px solid var(--ck-border);
    color: var(--ck-text-dim); font-size: .82rem;
    transition: all .22s ease;
}
.aside-list-tag li a:hover { color: var(--ck-cyan); border-color: var(--ck-border-neon); box-shadow: var(--ck-glow); transform: translateY(-1px); }
.aside-list-tag li a span { font-family: var(--ck-mono); font-size: .7rem; color: var(--ck-cyan); opacity: .75; }

/* 边栏：热门（封面卡） */
.aside-list-hot .percent-image { position: relative; display: block; aspect-ratio: 16 / 8.4; border-radius: var(--ck-radius-sm); overflow: hidden; border: 1px solid var(--ck-border); }
.aside-list-hot .percent-image::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(3,5,9,.94) 8%, rgba(3,5,9,.35) 55%, transparent 85%);
}
.aside-list-hot .figcaption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: .7rem .85rem; color: #fff; }
.aside-list-hot .figcaption .number {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 24px; height: 24px; padding: 0 4px;
    font-family: var(--ck-mono); font-weight: 800; font-size: .85rem;
    color: #04121a; background-image: var(--ck-gradient);
    clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
    box-shadow: 0 0 14px rgba(0,240,255,.5);
}

/* 日历 */
#calendar, #aside-body-calendar table { width: 100%; color: var(--ck-text-dim); border-collapse: collapse; font-size: .8rem; }
#calendar caption, #aside-body-calendar caption { color: var(--ck-text); font-weight: 600; padding-bottom: .5rem; }
#calendar th, #aside-body-calendar th { padding: 5px 0; font-weight: 500; color: var(--ck-text-faint); }
#calendar td, #aside-body-calendar td { padding: 3px 0; }
#calendar tbody td a, #aside-body-calendar tbody td a {
    display: inline-block; min-width: 26px; padding: 2px 0;
    border-radius: 7px; color: var(--ck-cyan) !important; font-family: var(--ck-mono);
}
#calendar tbody td a:hover, #aside-body-calendar tbody td a:hover { background: rgba(0,240,255,.1); box-shadow: 0 0 10px rgba(0,240,255,.25); }

/* ============ 17 分页 ============ */
.pagination { margin-top: 1rem; }
.pagination a, .pagination span:not(.page-link), .pagination em {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 .5em; margin: 0 .18rem;
    border-radius: 9px; font-family: var(--ck-mono); font-size: .86rem;
    background: var(--ck-surface); border: 1px solid var(--ck-border);
    color: var(--ck-text-dim); cursor: pointer;
    transition: all .22s ease;
}
.pagination em { border: 0; background: none; cursor: default; }
.pagination a:hover { color: var(--ck-cyan); border-color: var(--ck-border-neon); box-shadow: var(--ck-glow); }
.pagination span:not(.page-link) {
    color: #04121a !important; font-weight: 800;
    background-image: var(--ck-gradient); border-color: transparent;
    box-shadow: 0 0 14px rgba(0,240,255,.35);
}

/* ============ 18 浮动按钮 / 页脚 ============ */
.ck-floatbar { right: 1.25rem; bottom: 1.5rem; z-index: 1040; display: flex; flex-direction: column; gap: .6rem; }
.ck-totop {
    width: 46px; height: 46px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.25rem;
    color: var(--ck-text); background: rgba(11, 14, 20, .9);
    border: 1px solid var(--ck-border);
    cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px);
    transition: all .3s cubic-bezier(.2,.8,.2,1);
}
.ck-totop.active-progress { opacity: 1; visibility: visible; transform: translateY(0); }
.ck-totop:hover { color: var(--ck-cyan); border-color: var(--ck-border-neon); box-shadow: var(--ck-glow-strong); transform: translateY(-3px); }

.ck-footer {
    margin-top: 2rem;
    background: linear-gradient(to bottom, transparent, rgba(0, 240, 255, .025));
    border-top: 1px solid var(--ck-border);
}
.ck-footer-body { padding: 1.4rem 0; color: var(--ck-text-faint); font-size: .82rem; }
.ck-footer a { color: var(--ck-text-dim); }
.ck-footer a:hover { color: var(--ck-cyan); }

/* ============ 19 插件兼容层 ============ */
/* nc-text 快捷入口网格（插件注入） */
.nc-text a {
    color: #ffd700 !important;
    transition: text-shadow .22s ease, transform .22s ease;
}
.nc-text a:hover { text-shadow: 0 0 12px rgba(255, 215, 0, .65); transform: translateY(-1px); }

/* 网盘按钮 */
.pan-hider-wrapper { display: inline-block; }
.pan-hider-button {
    display: inline-flex; align-items: center;
    padding: .42em 1.3em; border-radius: 999px;
    font-size: .85rem; font-weight: 700; letter-spacing: .04em;
    color: #04121a !important;
    background-image: linear-gradient(135deg, #00f0ff, #38bdf8);
    box-shadow: 0 4px 18px rgba(0, 240, 255, .28);
}
.pan-hider-button:hover { filter: brightness(1.12); box-shadow: var(--ck-glow-strong); }

/* 失效反馈按钮 */
.link-feedback-report-btn {
    display: inline-flex; align-items: center;
    font-size: .78rem; color: var(--ck-text-dim) !important;
    padding: .25em .9em; border-radius: 999px;
    border: 1px dashed var(--ck-border);
}
.link-feedback-report-btn:hover { color: #ff5470 !important; border-color: rgba(255,84,112,.45); }

/* TMDB 灵动岛容器微调 */
.tmdb-info-trigger-wrapper, [class*="tmdb-"] { font-family: var(--ck-font); }

/* 收藏按钮暗色适配 */
.em-fav-btn { background: var(--ck-surface) !important; border-color: var(--ck-border) !important; }
.em-fav-btn:hover { border-color: var(--ck-border-neon) !important; }
.em-fav-btn.active { background: rgba(239, 68, 68, .07) !important; border-color: rgba(239,68,68,.4) !important; }
.em-fav-count { background: var(--ck-surface-2) !important; color: var(--ck-text-dim) !important; }
.em-fav-text { color: var(--ck-text-dim) !important; }
.em-fav-btn.active .em-fav-text { color: #ef4444 !important; }

/* 海报翻转卡（magic_card）底座 */
.aio-list .thumbnail a, .ck-post-mini { transform-style: preserve-3d; }

/* 标签筛选条（my_tag_filter 插件）赛博化重铸 */
.my-tag-filter-bar {
    position: relative;
    background: var(--ck-surface);
    border: 1px solid var(--ck-border);
    border-radius: var(--ck-radius);
    padding: .95rem 1.05rem;
    margin-bottom: 1.15rem;
}
.my-tag-filter-bar::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, rgba(168,85,247,.55), rgba(0,240,255,.5), transparent 75%);
    opacity: .75;
}
.my-tag-filter-label {
    color: var(--ck-cyan) !important;
    font-family: var(--ck-mono); font-weight: 700; letter-spacing: .06em;
    font-size: .82rem;
}
.tag-group-row + .tag-group-row { margin-top: .5rem; }
.my-tag-filter-tags .tag-group-row { display: flex; flex-wrap: wrap; gap: .45rem .4rem; align-items: center; }
.my-tag-filter-button,
a.btn.btn-sm.btn-outline-primary.my-tag-filter-button {
    --bs-btn-hover-bg: rgba(0,240,255,.08);
    background: rgba(148,163,184,.05) !important;
    border: 1px solid var(--ck-border) !important;
    color: var(--ck-text-dim) !important;
    border-radius: 999px !important;
    font-size: .78rem !important; line-height: 1.7;
    padding-inline: .9em !important;
    transition: all .22s ease;
}
.my-tag-filter-button:hover {
    color: var(--ck-cyan) !important;
    border-color: var(--ck-border-neon) !important;
    box-shadow: 0 0 12px rgba(0,240,255,.22);
    transform: translateY(-1px);
}
.my-tag-filter-toggle { justify-content: flex-start !important; gap: .5rem !important; }
.my-tag-filter-toggle .my-tag-filter-button[style] {
    /* 剧集状态等带内联样式的状态按钮：保留其语义色，仅统一圆角与背景 */
    border-radius: 999px !important;
    background: rgba(148,163,184,.04) !important;
}

/* 弹窗（TMDB lightbox 等 bootstrap modal）暗色统一 */
.modal-content { background: var(--ck-surface); border: 1px solid var(--ck-border-neon); border-radius: var(--ck-radius); box-shadow: var(--ck-glow-strong), var(--ck-shadow); }
.modal-header, .modal-footer { border-color: var(--ck-border); }
.modal-backdrop.show { opacity: .72; }
button.btn-close { filter: invert(1) grayscale(1) brightness(1.6); }
.dropdown-menu { background: var(--ck-surface); border: 1px solid var(--ck-border); box-shadow: var(--ck-shadow); }
.dropdown-item { color: var(--ck-text-dim); }
.dropdown-item:hover, .dropdown-item:focus { background: rgba(0,240,255,.07); color: var(--ck-cyan); }

/* 消息提示（兼容旧 viewer.msg） */
.aio-msg {
    min-width: 180px; max-width: 76vw;
    padding: .8em 1.6em; border-radius: 12px;
    background: rgba(11, 14, 20, .96);
    border: 1px solid var(--ck-border-neon);
    box-shadow: var(--ck-glow), var(--ck-shadow);
    color: var(--ck-text); font-size: .9rem; text-align: center;
    opacity: 0; transform: translateY(10px);
    transition: opacity .3s ease, transform .3s ease;
}
.aio-msg.show { opacity: 1; transform: translateY(0); }

/* 博主边栏：二维码卡片（配合“其他信息”自定义HTML） */
.xzm-qr-card {
    display: flex; align-items: center;
    margin-top: .9rem; padding: 13px;
    background: linear-gradient(145deg, rgba(16, 20, 29, .9), rgba(8, 10, 15, .6));
    border: 1px solid var(--ck-border);
    border-radius: var(--ck-radius);
    transition: all .3s cubic-bezier(.16, 1, .3, 1);
    cursor: pointer; position: relative; overflow: hidden;
}
.xzm-qr-card:hover {
    border-color: var(--ck-border-neon);
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(0,0,0,.45), var(--ck-glow);
}
.xzm-qr-img-box {
    background: #fff; padding: 4px; border-radius: 10px;
    width: 64px; height: 64px; flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,.4);
}
.xzm-qr-img-box img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 6px; }
.xzm-qr-title { color: var(--ck-text); font-size: .95rem; margin-bottom: 4px; }
.xzm-qr-desc {
    font-size: .76rem; line-height: 1.45; color: var(--ck-text-dim);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.xzm-qr-arrow { color: var(--ck-text-dim); font-size: 1.2rem; transition: all .3s ease; }
.xzm-qr-card:hover .xzm-qr-title, .xzm-qr-card:hover .xzm-qr-arrow { color: var(--ck-cyan); }
.xzm-qr-card:hover .xzm-qr-arrow { transform: translateX(4px); }

/* ============ 20 响应式 ============ */
@media (max-width: 991.98px) {
    .aio-mainstay { flex-direction: column; }
    .nav-subsidiary .d-flex { justify-content: flex-start !important; gap: .5rem; margin-top: .75rem; }
    /* 手机端抽屉导航：强制显示被 d-none 隐藏的导航与按钮 */
    .offcanvas-menu .navbar,
    .offcanvas-menu .nav-subsidiary { display: block !important; }
    .offcanvas-menu .nav-list { flex-direction: column; align-items: stretch; gap: .15rem; }
    .offcanvas-menu .nav-list > li > a { padding: .7em .9em; font-size: 1rem; }
    .offcanvas-menu .nav-child-box {
        position: static; transform: none; opacity: 1; visibility: visible;
        min-width: 0; padding: 0 0 .35rem 1rem; border: 0; box-shadow: none; background: none;
        display: none;
    }
    .offcanvas-menu .nav-list > li.active .nav-child-box { display: block; }
    .offcanvas-menu .nav-list > li > a i { transition: transform .25s ease; }
    .offcanvas-menu .nav-list > li.active > a i { transform: rotate(180deg); }
}
@media (max-width: 767.98px) {
    html { font-size: 15px; }
    .aio-mainer { padding-top: 1rem; }
    .ck-header-inner { min-height: 56px; gap: .6rem; }
    /* 列表：左小图右文字，海报收窄 */
    .aio-list > li.item { padding: .8rem !important; }
    .aio-list .thumbnail { width: clamp(84px, 30vw, 108px); }
    .aio-list .box-title { font-size: .98rem; line-height: 1.5; }
    .aio-list .box-description { font-size: .82rem; }
    /* 首页迷你卡三列保持，标题字号收缩 */
    .ck-post-mini-title { font-size: .78rem; }
    .article-content { font-size: .95rem; }
    .xzm-article-card, .ck-post-card { padding: 1rem !important; border-radius: var(--ck-radius-sm); }
    .ck-aurora { filter: blur(22px) saturate(1.6); height: 60vh; }
    .pagination a, .pagination span:not(.page-link) { min-width: 32px; height: 32px; font-size: .8rem; }

    /* 筛选条：手机端单行横向滑动，不换行全铺开 */
    .my-tag-filter-bar { padding: .8rem .85rem; }
    .my-tag-filter-tags .tag-group-row {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 2px 2px 6px;
    }
    .my-tag-filter-tags .tag-group-row::-webkit-scrollbar { display: none; }
    .my-tag-filter-tags .my-tag-filter-button { flex: 0 0 auto; }
    .my-tag-filter-toggle {
        flex-wrap: nowrap !important;
        overflow-x: auto; -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .my-tag-filter-toggle::-webkit-scrollbar { display: none; }
}

/* ============ 21 降级与无障碍 ============ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
/* 低端触屏设备视觉降级（app.js 会给 html 加 .ck-low-end） */
.ck-low-end .ck-bg-grid { background: var(--ck-bg); }
.ck-low-end .ck-aurora { animation: none; filter: blur(18px); }
.ck-low-end .ck-post-mini, .ck-low-end .aio-list > li.item,
.ck-low-end .xzm-article-card {
    box-shadow: none;
    transition: none;
}
.ck-low-end a, .ck-low-end button { transition: none; }
