/* =============================================================
   Kizumi · 织物质感皮肤 (fabric)
   -------------------------------------------------------------
   独立皮肤：仅对主题自身组件不使用任何圆角（全部直角），不读取
   原配置系统的布局/边框/颜色等视觉设置（第三方插件保留自身样式）。
   亚麻/帆布/牛仔布纹理 + 缝线描边 + 布标按钮 + 柔和阴影，
   动效平缓（180–260ms）。
   ============================================================= */

/* ---------- 1. 作用域与设计变量 ---------- */
.kizumi-skin-fabric {
  /* 配色：温和中性色 + 少量点缀色 */
  --fabric-paper:      #f3eee3;   /* 主背景（亚麻纸） */
  --fabric-panel:      #fbf8f1;   /* 面板（粗帆布） */
  --fabric-panel-deep: #eee6d7;   /* 深一档面板 */
  --fabric-linen:      #e7ddcc;   /* 亚麻 */
  --fabric-thread:     #b7a787;   /* 缝线 */
  --fabric-seam:       rgba(122, 96, 60, .32);
  --fabric-seam-soft:  rgba(122, 96, 60, .18);
  --fabric-ink:        #3c352b;   /* 主用墨色（高对比） */
  --fabric-ink-soft:   #6f6350;   /* 次级文字 */
  --fabric-accent:     #b06a3a;   /* 陶土点缀 */
  --fabric-accent-2:   #5e7a68;   /* 鼠尾草点缀 */
  --fabric-denim:      #4b6b8a;   /* 牛仔布点缀 */
  --fabric-on-accent:  #fbf8f1;   /* 点缀色上的文字 */

  /* 阴影：柔和，避免硬边 */
  --fabric-shadow:       0 10px 22px -14px rgba(70, 55, 32, .40);
  --fabric-shadow-soft:  0 6px 14px -10px rgba(70, 55, 32, .28);
  --fabric-shadow-lift:  0 18px 32px -16px rgba(70, 55, 32, .45), 0 2px 8px -4px rgba(120, 96, 60, .22);
  --fabric-highlight:    inset 0 1px 0 rgba(255, 251, 240, .65);

  /* 同步 Bootstrap 变量，让组件外观统一、温暖 */
  --bs-body-bg: var(--fabric-paper);
  --bs-body-color: var(--fabric-ink);
  --bs-secondary-color: var(--fabric-ink-soft);
  --bs-primary: var(--fabric-accent);
  --bs-primary-rgb: 176, 106, 58;
  --bs-dark: var(--fabric-ink);
  --bs-white: var(--fabric-panel);
  --bs-border-radius: 0;
  --bs-border-radius-sm: 0;
  --bs-border-radius-lg: 0;
  --bs-border-radius-xl: 0;
  --bs-border-radius-2xl: 0;
  --bs-border-radius-pill: 0;

  /* 链接色：覆盖主题默认紫色 (#8b3dff)，统一为牛仔布/陶土 */
  --bs-link-color: var(--fabric-denim);
  --bs-link-hover-color: var(--fabric-accent);
  --bs-link-color-rgb: 75, 107, 138;
  --bs-link-hover-color-rgb: 176, 106, 58;
  --bs-body-link-color: var(--fabric-denim);
  --bs-primary-bg-subtle: var(--fabric-panel-deep);
}

/* 「全部直角」只作用于皮肤本体：仅对主题自身的具名组件类放平。
   不使用容器内 * 一刀切，因此第三方插件（即使被放进正文/侧栏容器内）保留自己的圆角。
   Bootstrap 组件/圆角工具类由上方 --bs-border-radius* 变量（置 0）自动放平；
   这里补充主题自定义组件（含 .rounded-circle 等硬编码圆角）的具名放平。 */
.kizumi-skin-fabric .rounded-circle,
.kizumi-skin-fabric .card,
.kizumi-skin-fabric .btn,
.kizumi-skin-fabric .badge,
.kizumi-skin-fabric .alert,
.kizumi-skin-fabric .post-single .bookmark ul li,
.kizumi-skin-fabric .kizumi_header .navbar.scrolled.boxed,
.kizumi-skin-fabric .kizumi_header .navbar-nav .nav-item .nav-link,
.kizumi-skin-fabric .kizumi_header .search-input,
.kizumi-skin-fabric .kizumi_header .search-btn,
.kizumi-skin-fabric .kizumi_header .user-login-wrap,
.kizumi-skin-fabric .kizumi_header .user-reg-wrap,
.kizumi-skin-fabric .kizumi_header .user-login,
.kizumi-skin-fabric .kizumi_header .user-reg,
.kizumi-skin-fabric .kizumi_header .divider,
.kizumi-skin-fabric .kizumi_header .user-info-wrap,
.kizumi-skin-fabric .kizumi_header .user-avatar,
.kizumi-skin-fabric .kizumi_header .panel-item,
.kizumi-skin-fabric .kizumi_header .btn-close,
.kizumi-skin-fabric .kizumi_header .mobile-user-wrapper .user-login,
.kizumi-skin-fabric .kizumi_header .mobile-user-wrapper .user-reg,
.kizumi-skin-fabric .kizumi_header .mobile-user-wrapper .divider,
.kizumi-skin-fabric .kizumi_header .mobile-search-input,
.kizumi-skin-fabric .kizumi_header .mobile-logged-user-wrapper .user-info-wrap,
.kizumi-skin-fabric .kizumi_header .mobile-logged-user-wrapper .user-avatar,
.kizumi-skin-fabric .kizumi_header .mobile-logged-menu .mobile-menu-item,
.kizumi-skin-fabric .kizumi_header .mobile-logged-menu .mobile-menu-item i,
.kizumi-skin-fabric .kizumi_header .lighting,
.kizumi-skin-fabric .kizumi_header .lighting li,
.kizumi-skin-fabric .kizumi_header .offcanvas-body,
.kizumi-skin-fabric .list-one.post-list,
.kizumi-skin-fabric .list-one .post-list-img figure.zoom-img,
.kizumi-skin-fabric .zoom-img,
.kizumi-skin-fabric .list-one .post-list-img img,
.kizumi-skin-fabric .list-one .category .tags a,
.kizumi-skin-fabric .dot,
.kizumi-skin-fabric .load-more-btn,
.kizumi-skin-fabric .tag-cloud,
.kizumi-skin-fabric .pagenav .page-item .page-link,
.kizumi-skin-fabric .blog-sidebar .widget,
.kizumi-skin-fabric .blog-sidebar .widget-title,
.kizumi-skin-fabric .blog-sidebar .widget-post .info .thumb,
.kizumi-skin-fabric .blog-sidebar .fullimage,
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-avatar img,
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-content,
.kizumi-skin-fabric .blog-sidebar .widget_categories ul li,
.kizumi-skin-fabric .blog-sidebar .widget_archive ul li,
.kizumi-skin-fabric .blog-sidebar .widget-search .search-input,
.kizumi-skin-fabric .blog-sidebar .widget_categories select,
.kizumi-skin-fabric .blog-sidebar .widget_archive select,
.kizumi-skin-fabric .blog-sidebar .widget-profile .profile-avatar img,
.kizumi-skin-fabric .blog-sidebar .widget-profile .social-link,
.kizumi-skin-fabric .kizumi_cat_items .list_item .prt-right-column,
.kizumi-skin-fabric .kizumi_cat_items span.count,
.kizumi-skin-fabric .blog-single,
.kizumi-skin-fabric .post-single,
.kizumi-skin-fabric .single-meta img,
.kizumi-skin-fabric .single-info-right a,
.kizumi-skin-fabric .single-content img,
.kizumi-skin-fabric .single-content code,
.kizumi-skin-fabric .single-content .post-auther-avatar img,
.kizumi-skin-fabric .single-content .link-title,
.kizumi-skin-fabric .single-content .download_btn,
.kizumi-skin-fabric .single-content .links_btn,
.kizumi-skin-fabric .single-content video,
.kizumi-skin-fabric .single-content h2 i.fa,
.kizumi-skin-fabric .single-content .ol ol:before,
.kizumi-skin-fabric .post-download-box,
.kizumi-skin-fabric .post-single pre.prettyprint,
.kizumi-skin-fabric .post-navigation a,
.kizumi-skin-fabric .post-toc-btn,
.kizumi-skin-fabric .post-toc,
.kizumi-skin-fabric .action-btn,
.kizumi-skin-fabric .reward-content,
.kizumi-skin-fabric .qrcode-item img,
.kizumi-skin-fabric .comment-form-comment textarea,
.kizumi-skin-fabric .guest-inputs .input-group input,
.kizumi-skin-fabric .submit-btn,
.kizumi-skin-fabric .comments-toggle,
.kizumi-skin-fabric .comment-avatar,
.kizumi-skin-fabric .comment-avatar img,
.kizumi-skin-fabric .comment-badge,
.kizumi-skin-fabric .comment-item.child,
.kizumi-skin-fabric .no-comments,
.kizumi-skin-fabric .comment-level-1,
.kizumi-skin-fabric .comment-awaiting-moderation,
.kizumi-skin-fabric .private-comment-badge,
.kizumi-skin-fabric .private-comment-notice,
.kizumi-skin-fabric .comments-pagination a,
.kizumi-skin-fabric .comments-pagination span,
.kizumi-skin-fabric .comment-message,
.kizumi-skin-fabric .toolbar-btn,
.kizumi-skin-fabric .emoji-panel,
.kizumi-skin-fabric .emoji-tabs span,
.kizumi-skin-fabric .emoji-content span,
.kizumi-skin-fabric .code-panel,
.kizumi-skin-fabric .code-language,
.kizumi-skin-fabric .insert-code-btn,
.kizumi-skin-fabric .user-info-ck,
.kizumi-skin-fabric .user-meta img,
.kizumi-skin-fabric .switch-account-btn,
.kizumi-skin-fabric .comment-form-user,
.kizumi-skin-fabric .user-avatar,
.kizumi-skin-fabric .logout-link,
.kizumi-skin-fabric .btn-social,
.kizumi-skin-fabric .float-btn {
  border-radius: 0 !important;
}

/* ---------- 2. 全局织物底纹 ---------- */
.kizumi-skin-fabric {
  font-family: "kizumi", Georgia, "Times New Roman", serif;
  color: var(--fabric-ink);
  /* 亚麻平铺：交叉细线 + 细噪点 */
  background-color: var(--fabric-paper);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg,   rgba(150, 122, 86, .045) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg,  rgba(150, 122, 86, .035) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(45deg,  rgba(150, 122, 86, .030) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .030) 0 1px, transparent 1px 5px);
}

/* 页面级段落 / 正文：保持高对比，避免被纹理干扰 */
.kizumi-skin-fabric p,
.kizumi-skin-fabric .single-content,
.kizumi-skin-fabric .single-content p {
  color: var(--fabric-ink-soft);
}
.kizumi-skin-fabric .single-content {
  line-height: 1.75;
}

/* 移除原主题的彩色 body 底纹（body_color 等配置不再影响本皮肤） */
.kizumi-skin-fabric.body_color {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg,   rgba(150, 122, 86, .045) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg,  rgba(150, 122, 86, .035) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(45deg,  rgba(150, 122, 86, .030) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .030) 0 1px, transparent 1px 5px);
}

/* 登录/注册/找回密码页：亮色纯白底；暗色沿用与主页面一致的标准织物布纹。
   关键：亮色规则必须限定在“非深色”(html:not([data-bs-theme="dark"]))，否则会在深色下也用
   background-image:none !important 把暗色布纹覆盖掉，造成深色变纯色。 */
html:not([data-bs-theme="dark"]) .kizumi-skin-fabric.auth-page {
  background-color: #fff !important;
  background-image: none !important;
}
/* 暗色下认证页：背景 + 文字统一（背景用标准织物布纹，文字转浅色，避免标签/输入/正文难识别） */
[data-bs-theme="dark"] .kizumi-skin-fabric.auth-page {
  background-color: var(--fabric-paper) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg,   rgba(215, 190, 140, .05) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg,  rgba(215, 190, 140, .04) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(45deg,  rgba(215, 190, 140, .035) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(215, 190, 140, .035) 0 1px, transparent 1px 5px);
  color: var(--fabric-ink);
}
[data-bs-theme="dark"] .kizumi-skin-fabric.auth-page label,
[data-bs-theme="dark"] .kizumi-skin-fabric.auth-page .form-label {
  color: var(--fabric-ink);
}
[data-bs-theme="dark"] .kizumi-skin-fabric.auth-page .form-control,
[data-bs-theme="dark"] .kizumi-skin-fabric.auth-page input,
[data-bs-theme="dark"] .kizumi-skin-fabric.auth-page textarea {
  color: var(--fabric-ink);
  border-color: var(--fabric-seam);
}

/* 避免页面加载/帘幕粉底破坏质感 */
.kizumi-skin-fabric .preloader {
  background: var(--fabric-paper);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .04) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .04) 0 1px, transparent 1px 4px);
}
.kizumi-skin-fabric .preloader .st0 { fill: var(--fabric-on-accent); }
.kizumi-skin-fabric .preloader .st1 { stroke: var(--fabric-accent); }

/* 隐藏原主题装饰性背景层与开合纹理，保持布面统一 */
.kizumi-skin-fabric .body-background {
  display: none !important;
}
.kizumi-skin-fabric .kizumi_header .offcanvas {
  background-image: none !important;
  background-color: var(--fabric-paper);
}

/* ---------- 3. 通栏面板材质（布面卡片） ---------- */
/* 单页结构：.blog-single 是唯一布面卡片，.post-single/.post-comments 为透明内容区，避免双重卡片造成分割 */
.kizumi-skin-fabric .list-one.post-list,
.kizumi-skin-fabric .blog-single,
.kizumi-skin-fabric .blog-sidebar .widget {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
  border: 1px solid var(--fabric-seam-soft);
  box-shadow: var(--fabric-shadow-soft), var(--fabric-highlight);
  transition: box-shadow .24s ease, transform .24s ease, border-color .24s ease;
}
/* 文章内容与评论作为卡片内透明内容，仅保留内边距，不产生独立描边 */
.kizumi-skin-fabric .post-single {
  background-color: transparent;
  background-image: none;
  border: none;
  box-shadow: none;
  padding: 30px;
}
/* 统一原配置边框类，使其不再生效 */
.kizumi-skin-fabric .blog-border::after,
.kizumi-skin-fabric .blog-shadow,
.kizumi-skin-fabric .blog-lines {
  border: 1px solid var(--fabric-seam-soft) !important;
  box-shadow: var(--fabric-shadow-soft), var(--fabric-highlight) !important;
}
.kizumi-skin-fabric .blog-border::after { display: none !important; }

/* 悬停：提升高光与阴影，模拟光源移动（左上亮点，右下加深） */
.kizumi-skin-fabric .list-one.post-list:hover,
.kizumi-skin-fabric .blog-single:hover,
.kizumi-skin-fabric .blog-sidebar .widget:hover {
  border-color: var(--fabric-seam);
  box-shadow:
    inset 0 1px 0 rgba(255, 251, 240, .8),
    inset 1px 0 0 rgba(255, 251, 240, .4),
    var(--fabric-shadow-lift);
}

/* ---------- 4. 头部 / 导航 ---------- */
/* 导航栏统一为整条布面带，仅保留柔和底部缝线分隔，去除左右/顶部黑边 */
.kizumi-skin-fabric .kizumi_header .navbar {
  border: none !important;
  box-shadow: none !important;
}
.kizumi-skin-fabric .kizumi_header .navbar.scrolled,
.kizumi-skin-fabric .kizumi_header .navbar.scrolled.boxed {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(0deg, rgba(150, 122, 86, .04) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgba(150, 122, 86, .03) 0 1px, transparent 1px 4px);
  border: none !important;
  border-bottom: 1px solid var(--fabric-seam) !important;
  box-shadow: var(--fabric-shadow-soft) !important;
  border-radius: 0 !important;
  max-width: none !important;
}
.kizumi-skin-fabric .kizumi_header .navbar .navbar-nav .nav-item .nav-link {
  border-radius: 0;
  border: 1px solid transparent;
  color: var(--fabric-ink);
  transition: all .22s ease;
}
.kizumi-skin-fabric .kizumi_header .navbar .navbar-nav .nav-item .nav-link:hover,
.kizumi-skin-fabric .kizumi_header .navbar .navbar-nav .nav-item .nav-link.active {
  border: 1px solid var(--fabric-denim);
  color: var(--fabric-denim);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .kizumi_header .navbar .navbar-nav .nav-item .nav-link:before {
  border-radius: 0;
  background: rgba(75, 107, 138, .08);
}
.kizumi-skin-fabric .kizumi_header .navbar-nav > li > .dropdown-menu,
.kizumi-skin-fabric .kizumi_header .dropdown-submenu .dropdown-menu {
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  box-shadow: var(--fabric-shadow);
  border-radius: 0 !important;
}
.kizumi-skin-fabric .kizumi_header .dropdown-menu .dropdown-item {
  color: var(--fabric-ink);
  transition: background .22s ease, color .22s ease;
}
.kizumi-skin-fabric .kizumi_header .dropdown-menu .dropdown-item:hover {
  background: rgba(150, 122, 86, .10);
  color: var(--fabric-accent);
}
.kizumi-skin-fabric .kizumi_header .navbar-brand,
.kizumi-skin-fabric .kizumi_header .text-inverse {
  color: var(--fabric-ink);
}
/* 搜索框（布贴式） */
.kizumi-skin-fabric .kizumi_header .search-input,
.kizumi-skin-fabric .kizumi_header .mobile-search-input {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background: var(--fabric-panel);
  box-shadow: var(--fabric-highlight);
  color: var(--fabric-ink);
  transition: border-color .22s ease, box-shadow .22s ease;
}
.kizumi-skin-fabric .kizumi_header .search-input:focus,
.kizumi-skin-fabric .kizumi_header .mobile-search-input:focus {
  border-color: var(--fabric-denim);
  box-shadow: var(--fabric-highlight), inset 0 0 0 1px var(--fabric-denim);
}
.kizumi-skin-fabric .kizumi_header .search-btn,
.kizumi-skin-fabric .kizumi_header .mobile-search-btn {
  border-radius: 0 !important;
  color: var(--fabric-ink);
}
/* 用户信息 / 登录（布标签） */
.kizumi-skin-fabric .kizumi_header .user-login,
.kizumi-skin-fabric .kizumi_header .user-reg,
.kizumi-skin-fabric .kizumi_header .mobile-user-wrapper .user-login,
.kizumi-skin-fabric .kizumi_header .mobile-user-wrapper .user-reg {
  border-radius: 0 !important;
  background-color: var(--fabric-denim);
  color: var(--fabric-on-accent);
  border: 1px solid var(--fabric-denim);
  transition: background-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.kizumi-skin-fabric .kizumi_header .user-login:hover,
.kizumi-skin-fabric .kizumi_header .user-reg:hover {
  background-color: var(--fabric-accent);
  color: var(--fabric-on-accent);
  box-shadow: var(--fabric-shadow-soft);
}
.kizumi-skin-fabric .kizumi_header .divider {
  border-radius: 0 !important;
  background: var(--fabric-panel);
  color: var(--fabric-accent);
  border: 2px solid var(--fabric-seam);
}
.kizumi-skin-fabric .kizumi_header .user-info-wrap {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  background: rgba(251, 248, 241, .55);
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.kizumi-skin-fabric .kizumi_header .user-info-wrap:hover {
  border-color: var(--fabric-seam);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .kizumi_header .user-avatar {
  border-radius: 0 !important;
}
.kizumi-skin-fabric .kizumi_header .btn-close {
  border-radius: 0 !important;
  border: 2px solid var(--fabric-ink);
}
/* 移动端开合 */
.kizumi-skin-fabric .kizumi_header .offcanvas {
  border-radius: 0 !important;
  background-color: var(--fabric-paper);
}
.kizumi-skin-fabric .kizumi_header .navbar-toggler-bar {
  background: var(--fabric-ink);
}
/* 皮饰上的 lighting 切换条 */
.kizumi-skin-fabric .kizumi_header .lighting {
  border-radius: 0 !important;
  background: var(--fabric-panel);
  border: 1px solid var(--fabric-seam);
}
.kizumi-skin-fabric .kizumi_header .lighting li {
  border-radius: 0 !important;
}
.kizumi-skin-fabric .kizumi_header .lighting li.active {
  background-color: var(--fabric-accent);
  color: var(--fabric-on-accent);
}

/* ---------- 5. Banner ---------- */
.kizumi-skin-fabric .kizumi_header_banner {
  background: var(--fabric-linen);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .10) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .08) 0 1px, transparent 1px 5px);
}
.kizumi-skin-fabric .kizumi_header_banner_img::after {
  background: rgba(60, 53, 43, .22);
}
.kizumi-skin-fabric .kizumi_header_banner_waves .parallax > use {
  fill: var(--fabric-paper);
  opacity: .85;
}
/* Banner 大标题沿用原版渐变（.text-gradient 保持常驻渐变色），织物皮肤不覆盖 */

/* ---------- 6. 面包屑 ---------- */
.kizumi-skin-fabric .breadcrumb-head span {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .breadcrumb-head span::before {
  background: var(--fabric-accent);
}
.kizumi-skin-fabric .breadcrumb-head i {
  color: var(--fabric-accent);
}

/* ---------- 7. 列表卡片（post-list） ---------- */
.kizumi-skin-fabric .list-one.post-list {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
}
.kizumi-skin-fabric .list-one.post-list:hover {
  border-color: var(--fabric-seam);
}
.kizumi-skin-fabric .list-one .post-list-img img {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  box-shadow: var(--fabric-shadow-soft);
  transition: box-shadow .24s ease, border-color .24s ease, transform .24s ease;
}
.kizumi-skin-fabric .list-one .post-list-img img:hover {
  border-color: var(--fabric-denim);
  box-shadow: var(--fabric-shadow);
}
.kizumi-skin-fabric .list-one h3,
.kizumi-skin-fabric .post-title {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .list-one h3 a,
.kizumi-skin-fabric .post-title a {
  color: var(--fabric-ink);
  transition: color .22s ease;
}
.kizumi-skin-fabric .list-one h3 a:hover,
.kizumi-skin-fabric .post-title a:hover {
  color: var(--fabric-accent);
}
/* 标题下划线动画改为布缝线 */
.kizumi-skin-fabric .post-list .post-title a:not(.widget-button),
.kizumi-skin-fabric .blog-sidebar .widget-post .title a:not(.widget-button) {
  background-image: repeating-linear-gradient(90deg, var(--fabric-accent) 0 6px, transparent 6px 10px);
  background-size: 0% 2px;
}
.kizumi-skin-fabric .post-list .post-title a:not(.widget-button):hover,
.kizumi-skin-fabric .blog-sidebar .widget-post .title a:not(.widget-button):hover {
  background-size: 100% 2px;
}
.kizumi-skin-fabric .list-one .category .tags a,
.kizumi-skin-fabric .tag-cloud {
  border-radius: 0 !important;
  background-color: var(--fabric-panel);
  border: 1px solid var(--fabric-seam);
  color: var(--fabric-ink-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .list-one .category .tags a:hover,
.kizumi-skin-fabric .tag-cloud:hover {
  border-color: var(--fabric-accent-2);
  color: var(--fabric-accent-2) !important;
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transform: translate(0, 0);
}
/* 作者头像改为方布标 */
.kizumi-skin-fabric .list-one .post-list-avatar-img,
.kizumi-skin-fabric .list-one .avatar {
  clip-path: none;
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .list-one .post-list-avatar:after {
  display: none;
}
.kizumi-skin-fabric .list-one .post-meta-stats i {
  color: var(--fabric-accent-2);
}
.kizumi-skin-fabric .dot {
  border-radius: 0 !important;
  background: var(--fabric-accent);
}

/* ---------- 8. 分页 ---------- */
.kizumi-skin-fabric .pagenav .page-item .page-link {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
  box-shadow: var(--fabric-highlight);
  transition: all .22s ease;
}
.kizumi-skin-fabric .pagenav .page-item .page-link:hover,
.kizumi-skin-fabric .pagenav .page-item .page-link:active {
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transform: translateY(1px);
}
.kizumi-skin-fabric .pagenav .page-item.active .page-link {
  background-color: var(--fabric-accent);
  border-color: var(--fabric-accent);
  color: var(--fabric-on-accent);
}
.kizumi-skin-fabric .load-more-btn {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-denim);
  background-color: var(--fabric-panel);
  color: var(--fabric-denim);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .load-more-btn:hover {
  background-color: var(--fabric-denim);
  color: var(--fabric-on-accent);
  box-shadow: var(--fabric-shadow);
  transform: translateY(1px);
}

/* ---------- 9. 侧边栏 widget ---------- */
.kizumi-skin-fabric .blog-sidebar .widget {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
}
.kizumi-skin-fabric .blog-sidebar .widget-title {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-denim);
  color: var(--fabric-on-accent);
  letter-spacing: .3px;
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .blog-sidebar .widget ul li {
  border-bottom: 1px dashed var(--fabric-seam-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .blog-sidebar .widget ul li:hover {
  transform: translateX(4px);
  border-bottom-color: var(--fabric-accent);
}
.kizumi-skin-fabric .blog-sidebar .widget-post .info .thumb,
.kizumi-skin-fabric .blog-sidebar .fullimage {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
}
.kizumi-skin-fabric .blog-sidebar .widget-post .title a,
.kizumi-skin-fabric .blog-sidebar .widget-post .title {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .blog-sidebar .widget-post .number {
  border-radius: 0 !important;
  background: var(--fabric-accent);
  color: var(--fabric-on-accent);
  border: none;
}
.kizumi-skin-fabric .blog-sidebar .widget_categories ul li,
.kizumi-skin-fabric .blog-sidebar .widget_archive ul li {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  background-color: var(--fabric-panel);
  transition: all .22s ease;
}
.kizumi-skin-fabric .blog-sidebar .widget_categories ul li:hover {
  border-color: var(--fabric-accent-2);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .blog-sidebar .widget-search .search-input,
.kizumi-skin-fabric .blog-sidebar .widget_categories select,
.kizumi-skin-fabric .blog-sidebar .widget_archive select {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .blog-sidebar .widget-search .search-input:focus {
  box-shadow: var(--fabric-highlight), inset 0 0 0 1px var(--fabric-denim);
  border-color: var(--fabric-denim);
  transform: none;
}
.kizumi-skin-fabric .blog-sidebar .widget-profile .profile-avatar img {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  box-shadow: var(--fabric-shadow-soft);
}
.kizumi-skin-fabric .blog-sidebar .widget-profile .profile-avatar:after {
  display: none;
}
.kizumi-skin-fabric .blog-sidebar .widget-profile .social-link {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  color: var(--fabric-ink-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .blog-sidebar .widget-profile .social-link:hover {
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-avatar {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
}
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-avatar img {
  border-radius: 0 !important;
}
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-content {
  border-radius: 0 !important;
  background: var(--fabric-panel-deep);
}
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-content::before {
  display: none;
}

/* ---------- 10. 单页 / 正文 ---------- */
.kizumi-skin-fabric .blog-single {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
}
.kizumi-skin-fabric .single-title,
.kizumi-skin-fabric .single-content .post-title {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .single-content h1 {
  border-bottom: 2px solid var(--fabric-accent);
}
.kizumi-skin-fabric .single-content h2 {
  border-bottom: 2px solid var(--fabric-accent-2);
}
.kizumi-skin-fabric .single-content h3 {
  border-bottom: 2px solid var(--fabric-denim);
}
.kizumi-skin-fabric .single-content h4 {
  border-bottom: 2px solid var(--fabric-thread);
}
.kizumi-skin-fabric .single-content img {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  box-shadow: var(--fabric-shadow-soft);
}
.kizumi-skin-fabric .single-content img:hover {
  border-color: var(--fabric-denim);
}
.kizumi-skin-fabric .single-content code {
  border-radius: 0 !important;
  background: var(--fabric-panel-deep);
  color: var(--fabric-accent);
}
.kizumi-skin-fabric .single-content blockquote {
  background: var(--fabric-panel-deep);
  border-left: 4px solid var(--fabric-accent);
  color: var(--fabric-ink-soft);
}
.kizumi-skin-fabric .single-content blockquote::before {
  color: var(--fabric-accent);
}
.kizumi-skin-fabric .single-content a {
  color: var(--fabric-accent-2);
  border-bottom: 1px dashed var(--fabric-accent-2);
}
.kizumi-skin-fabric .single-content a:hover {
  color: var(--fabric-accent);
}
/* 下载/链接渐变按钮：确保文字高对比（原皮肤把 --bs-white 改为布面色，导致文字发闷） */
.kizumi-skin-fabric .single-content .download_btn,
.kizumi-skin-fabric .single-content .links_btn,
.kizumi-skin-fabric .single-content .link-title {
  color: #fff !important;
  border: none !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .30);
  font-weight: 600;
  box-shadow: var(--fabric-shadow-soft);
}
.kizumi-skin-fabric .single-content .download_btn:hover,
.kizumi-skin-fabric .single-content .links_btn:hover,
.kizumi-skin-fabric .single-content .link-title:hover {
  color: #fff !important;
}
/* 提示框（[alert] 短代码 → Bootstrap .alert）：文字/链接颜色跟随组件自身，不被全局正文色覆盖 */
.kizumi-skin-fabric .single-content .alert,
.kizumi-skin-fabric .single-content .alert p {
  color: var(--bs-alert-color);
}
.kizumi-skin-fabric .single-content .alert a {
  color: var(--bs-alert-color);
  border-bottom: 1px dashed var(--bs-alert-color);
  text-decoration: none;
}
.kizumi-skin-fabric .single-content .alert a:hover {
  color: var(--bs-alert-color);
}
/* 单页作者头像方框 */
.kizumi-skin-fabric .single-meta img {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
}
.kizumi-skin-fabric .single-info-right a {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .single-info-right a:hover {
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
}
/* 引用框 / 分割 */
.kizumi-skin-fabric .single-content .quote blockquote,
.kizumi-skin-fabric .animated-border-quote blockquote {
  background-color: var(--fabric-panel);
  border: 2px solid var(--fabric-seam);
}
.kizumi-skin-fabric .animated-border-quote blockquote::before,
.kizumi-skin-fabric .animated-border-quote blockquote::after {
  background-color: var(--fabric-panel);
}
/* 上一篇 / 下一篇（布贴式） */
.kizumi-skin-fabric .post-navigation a {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background: var(--fabric-panel);
  color: var(--fabric-ink);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .post-navigation a:hover {
  transform: translateY(-1px);
  border-color: var(--fabric-denim);
  box-shadow:
    inset 0 1px 0 rgba(255, 251, 240, .8),
    inset 1px 0 0 rgba(255, 251, 240, .4),
    var(--fabric-shadow-lift);
}
.kizumi-skin-fabric .post-navigation span {
  color: var(--fabric-ink-soft);
}
.kizumi-skin-fabric .post-navigation h4,
.kizumi-skin-fabric .post-navigation .post-title {
  color: var(--fabric-ink);
}
/* 点赞 / 收藏 / 打赏（方形布标签） */
.kizumi-skin-fabric .action-btn {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background: var(--fabric-panel);
  color: var(--fabric-ink);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .action-btn:hover {
  transform: translateY(-1px);
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
  box-shadow:
    inset 0 1px 0 rgba(255, 251, 240, .8),
    var(--fabric-shadow);
}
.kizumi-skin-fabric .action-btn:active {
  transform: translateY(2px);
  box-shadow: var(--fabric-shadow-soft);
}

/* ---------- 11. 通用按钮（布标签 CTA） ---------- */
.kizumi-skin-fabric .btn {
  border-radius: 0 !important;
  position: relative;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transition: box-shadow .22s ease, transform .22s ease, background-color .22s ease, color .22s ease;
}
/* 布标签内缝线 */
.kizumi-skin-fabric .btn::after {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px dashed rgba(60, 53, 43, .25);
  pointer-events: none;
}
/* 描边 -> 主色 */
.kizumi-skin-fabric .btn-primary,
.kizumi-skin-fabric .btn-danger,
.kizumi-skin-fabric .btn-info,
.kizumi-skin-fabric .btn-success,
.kizumi-skin-fabric .btn-warning {
  background-color: var(--fabric-accent);
  border-color: var(--fabric-accent);
  color: var(--fabric-on-accent);
}
.kizumi-skin-fabric .btn-primary::after,
.kizumi-skin-fabric .btn-danger::after,
.kizumi-skin-fabric .btn-info::after,
.kizumi-skin-fabric .btn-success::after,
.kizumi-skin-fabric .btn-warning::after {
  border-color: rgba(251, 248, 241, .55);
  border-style: dashed;
}
.kizumi-skin-fabric .btn:hover {
  box-shadow:
    inset 0 1px 0 rgba(255, 251, 240, .85),
    inset 1px 0 0 rgba(255, 251, 240, .4),
    var(--fabric-shadow-lift);
  transform: translateY(-1px);
}
.kizumi-skin-fabric .btn:active {
  transform: translateY(2px);
  box-shadow: var(--fabric-shadow-soft);
}
/* 次级 / 轮廓按钮 */
.kizumi-skin-fabric .btn-secondary,
.kizumi-skin-fabric .btn-outline-primary,
.kizumi-skin-fabric .btn-outline-secondary {
  background-color: var(--fabric-panel);
  color: var(--fabric-denim);
  border-color: var(--fabric-denim);
}
.kizumi-skin-fabric .btn-outline-primary:hover,
.kizumi-skin-fabric .btn-outline-secondary:hover {
  background-color: var(--fabric-denim);
  color: var(--fabric-on-accent);
}

/* ---------- 12. 表单 / 输入 ---------- */
.kizumi-skin-fabric .form-control,
.kizumi-skin-fabric .form-select {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
  transition: border-color .22s ease, box-shadow .22s ease;
}
.kizumi-skin-fabric .form-control:focus,
.kizumi-skin-fabric .form-select:focus {
  border-color: var(--fabric-denim);
  box-shadow: var(--fabric-highlight), inset 0 0 0 1px var(--fabric-denim);
}
.kizumi-skin-fabric .form-check-input:checked {
  background-color: var(--fabric-accent);
  border-color: var(--fabric-accent);
}

/* ---------- 13. 评论 / 其他信息块 ---------- */
/* 评论作为卡片内透明内容区，避免独立小卡片造成分割；与文章共用一张布面卡片 */
.kizumi-skin-fabric .post-comments {
  padding: 0 30px 2rem;
}
.kizumi-skin-fabric .post-comments h2 {
  color: var(--fabric-ink);
  border-bottom: 2px solid var(--fabric-accent);
}
.kizumi-skin-fabric .comments-toggle {
  border-radius: 0 !important;
  color: var(--fabric-ink-soft);
  border: 1px solid var(--fabric-seam-soft);
  background: var(--fabric-panel);
  transition: all .22s ease;
}
.kizumi-skin-fabric .comments-toggle:hover {
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
  background: var(--fabric-panel);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .comment-level-1 {
  padding: 1.1rem;
  border: none;
  border-bottom: 1px dashed var(--fabric-seam-soft);
  background: transparent;
  transition: background .24s ease;
}
.kizumi-skin-fabric .comment-level-1:hover {
  background: rgba(150, 122, 86, .05);
  box-shadow: none;
  transform: none;
  border-color: transparent;
}
.kizumi-skin-fabric .comment-item.child {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  background: var(--fabric-panel);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .comment-avatar {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background: var(--fabric-panel);
}
.kizumi-skin-fabric .comment-avatar img {
  border-radius: 0 !important;
}
.kizumi-skin-fabric .comment-author,
.kizumi-skin-fabric .comment-author a {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .comment-badge {
  border-radius: 0 !important;
  background: rgba(176, 106, 58, .12);
  color: var(--fabric-accent);
}
.kizumi-skin-fabric .comment-text,
.kizumi-skin-fabric .comment-text p {
  color: var(--fabric-ink-soft);
}
.kizumi-skin-fabric .comment-text p a {
  color: var(--fabric-denim);
  border-bottom: 1px dashed var(--fabric-denim);
}
.kizumi-skin-fabric .comment-reply-link,
.kizumi-skin-fabric .comment-reply-link:hover {
  color: var(--fabric-accent-2);
}
.kizumi-skin-fabric .comment-reply-link:hover {
  color: var(--fabric-accent);
}
.kizumi-skin-fabric .comment-at {
  color: var(--fabric-accent);
}
.kizumi-skin-fabric .comment-level-2::before {
  border-radius: 0 !important;
  background: linear-gradient(to bottom, var(--fabric-seam), transparent);
}

/* 评论表单：作为卡片内内容区，去掉独立卡片描边，补足内边距避免贴边 */
.kizumi-skin-fabric .comment-respond {
  margin-top: 2rem;
  padding: 1.5rem 1.5rem 0.5rem;
  border: 1px dashed var(--fabric-seam-soft);
  background: var(--fabric-panel-deep);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric #reply-title,
.kizumi-skin-fabric .comment-reply-title {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--fabric-ink);
  border-bottom: 2px solid var(--fabric-accent);
  padding-bottom: 0.6rem;
  margin-bottom: 1.25rem;
  display: inline-block;
}
/* 已登录信息条 */
.kizumi-skin-fabric .user-info-ck,
.kizumi-skin-fabric .comment-form-user {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  background: var(--fabric-panel);
}
.kizumi-skin-fabric .user-meta img,
.kizumi-skin-fabric .user-avatar {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
}
.kizumi-skin-fabric .user-name {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .user-email,
.kizumi-skin-fabric .user-start {
  color: var(--fabric-ink-soft);
}
/* 退出登录 / 切换信息按钮：覆盖原紫色链接色，统一布面配色 */
.kizumi-skin-fabric .switch-account-btn,
.kizumi-skin-fabric .logout-link {
  color: var(--fabric-denim) !important;
  border: 1px solid var(--fabric-denim);
  border-radius: 0 !important;
  background: transparent;
}
.kizumi-skin-fabric .switch-account-btn i,
.kizumi-skin-fabric .logout-link i {
  color: var(--fabric-denim);
}
.kizumi-skin-fabric .switch-account-btn:hover,
.kizumi-skin-fabric .logout-link:hover {
  color: var(--fabric-on-accent) !important;
  background: var(--fabric-denim);
  border-color: var(--fabric-denim);
  box-shadow: var(--fabric-shadow-soft);
}
/* 评论输入框（未使用 .form-control，需单独覆盖） */
.kizumi-skin-fabric .comment-form textarea,
.kizumi-skin-fabric .comment-form input[type="text"],
.kizumi-skin-fabric .comment-form input[type="email"],
.kizumi-skin-fabric .comment-form input[type="url"] {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background: var(--fabric-panel);
  color: var(--fabric-ink);
  transition: border-color .22s ease, box-shadow .22s ease;
}
.kizumi-skin-fabric .comment-form textarea:focus,
.kizumi-skin-fabric .comment-form input[type="text"]:focus,
.kizumi-skin-fabric .comment-form input[type="email"]:focus,
.kizumi-skin-fabric .comment-form input[type="url"]:focus {
  outline: none;
  border-color: var(--fabric-denim);
  box-shadow: var(--fabric-highlight), inset 0 0 0 1px var(--fabric-denim);
}
.kizumi-skin-fabric .guest-inputs .input-group input {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background: var(--fabric-panel);
}
.kizumi-skin-fabric .toolbar-btn {
  border-radius: 0 !important;
  color: var(--fabric-ink-soft);
}
.kizumi-skin-fabric .toolbar-btn:hover {
  color: var(--fabric-accent);
  background: rgba(176, 106, 58, .08);
}
.kizumi-skin-fabric .private-comment {
  color: var(--fabric-ink-soft);
}
/* 提交按钮（布标签） */
.kizumi-skin-fabric .submit-btn {
  border-radius: 0 !important;
  background: var(--fabric-accent);
  color: var(--fabric-on-accent);
  border: 1px solid var(--fabric-accent);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .submit-btn:hover {
  background: var(--fabric-denim);
  border-color: var(--fabric-denim);
  color: var(--fabric-on-accent);
  box-shadow: var(--fabric-shadow);
  transform: translateY(1px);
}
.kizumi-skin-fabric .submit-btn:active {
  transform: translateY(2px);
  box-shadow: var(--fabric-shadow-soft);
}
/* 评论分页 */
.kizumi-skin-fabric .comments-pagination a,
.kizumi-skin-fabric .comments-pagination span {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  color: var(--fabric-ink);
  transition: all .22s ease;
}
.kizumi-skin-fabric .comments-pagination a:hover {
  color: var(--fabric-accent);
  border-color: var(--fabric-accent);
  background: transparent;
}
.kizumi-skin-fabric .comments-pagination .current {
  background: var(--fabric-accent);
  border-color: var(--fabric-accent);
  color: var(--fabric-on-accent);
}
/* 表情 / 代码弹层 */
.kizumi-skin-fabric .emoji-panel,
.kizumi-skin-fabric .code-panel {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background: var(--fabric-panel);
  box-shadow: var(--fabric-shadow);
}
.kizumi-skin-fabric .emoji-tabs span.active {
  border-radius: 0 !important;
  background: rgba(176, 106, 58, .12);
  color: var(--fabric-accent);
}
.kizumi-skin-fabric #cancel-comment-reply-link {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-denim);
  color: var(--fabric-denim);
}

/* ---------- 14. 页脚 ---------- */
.kizumi-skin-fabric .kizumi-footer,
.kizumi-skin-fabric footer {
  background-color: var(--fabric-panel-deep);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 4px);
  border-top: 2px solid var(--fabric-seam);
}
.kizumi-skin-fabric hr.horizontal.dark {
  background-image: linear-gradient(90deg, transparent, var(--fabric-seam), transparent);
}
.kizumi-skin-fabric .copyright,
.kizumi-skin-fabric .copyright a {
  color: var(--fabric-ink-soft);
}
.kizumi-skin-fabric .btn-social {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .btn-social:hover {
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
}

/* ---------- 15. 浮动按钮 / 回到顶部 ---------- */
.kizumi-skin-fabric .float-btn {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .float-btn:hover {
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
  box-shadow: var(--fabric-shadow);
}

/* ---------- 16. hover / active 交互（统一平缓，180–260ms） ---------- */
.kizumi-skin-fabric a,
.kizumi-skin-fabric .btn,
.kizumi-skin-fabric .navbar-nav .nav-link,
.kizumi-skin-fabric .widget ul li,
.kizumi-skin-fabric .page-link,
.kizumi-skin-fabric .form-control,
.kizumi-skin-fabric .tag-cloud {
  transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease,
              background-color .22s ease, color .22s ease;
}
.kizumi-skin-fabric a:active,
.kizumi-skin-fabric .btn:active {
  transform: translateY(2px);
}

/* ---------- 17. 响应式微调 ---------- */
@media (max-width: 991px) {
  .kizumi-skin-fabric .kizumi_header .offcanvas-body {
    border: 1px solid var(--fabric-seam);
    background-color: var(--fabric-panel);
  }
  .kizumi-skin-fabric .kizumi_header .navbar-toggler {
    border: 1px solid var(--fabric-seam);
  }
}
@media (max-width: 768px) {
  .kizumi-skin-fabric .list-one.post-list {
    background-image:
      repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
      repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
  }
}

/* ---------- 18. 深色模式（跟随 Bootstrap 切换，保持布面质感） ---------- */
/* data-bs-theme 由 Bootstrap 设置在 <html> 上，因此使用祖先选择器作用到 body 皮肤 */
[data-bs-theme="dark"] .kizumi-skin-fabric {
  --fabric-paper:      #2b2722;
  --fabric-panel:      #373129;
  --fabric-panel-deep: #453d33;
  --fabric-linen:      #3d352c;
  --fabric-thread:     #7a6d57;
  --fabric-seam:       rgba(200, 176, 132, .28);
  --fabric-seam-soft:  rgba(200, 176, 132, .16);
  --fabric-ink:        #ece3d2;
  --fabric-ink-soft:   #c9bdaa;
  --fabric-accent:     #c98a58;
  --fabric-accent-2:   #86a08e;
  --fabric-denim:      #7d97b0;
  --fabric-on-accent:  #2b2722;
}
/* 深色下重设布纹，保持细腻噪点与深色布面 */
[data-bs-theme="dark"] .kizumi-skin-fabric {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg,   rgba(215, 190, 140, .05) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg,  rgba(215, 190, 140, .04) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(45deg,  rgba(215, 190, 140, .035) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(215, 190, 140, .035) 0 1px, transparent 1px 5px);
}

/* 暗色下：内容卡片用织物深色面板，覆盖基础主题 #1a1a1a !important 造成的“纯黑”。
   基础规则自身带 :not() 链（特异性约 (0,5,0)），这里同样加 :not() 链并叠加作用域类，把特异性反超到 (0,6,0)。
   注意：卡片若带 .blog-border/.blog-shadow/.blog-lines，基础 :not() 规则本就不生效，
   此时卡片底色已由上方“布面卡片”规则按 var(--fabric-panel) 提供（暗色=深棕），两类情况均不会黑。 */
[data-bs-theme="dark"] .kizumi-skin-fabric .blog-single:not(.blog-border):not(.blog-shadow):not(.blog-lines),
[data-bs-theme="dark"] .kizumi-skin-fabric .list-one.post-list:not(.blog-border):not(.blog-shadow):not(.blog-lines),
[data-bs-theme="dark"] .kizumi-skin-fabric .blog-sidebar .widget:not(.blog-border):not(.blog-shadow):not(.blog-lines),
[data-bs-theme="dark"] .kizumi-skin-fabric .comment-item.child,
[data-bs-theme="dark"] .kizumi-skin-fabric .comment-respond {
  background-color: var(--fabric-panel) !important;
  background-image:
    repeating-linear-gradient(45deg, rgba(215, 190, 140, .06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(215, 190, 140, .05) 0 1px, transparent 1px 3px);
  border: 1px solid var(--fabric-seam-soft) !important;
  box-shadow: var(--fabric-shadow-soft), var(--fabric-highlight) !important;
}
/* 暗色下：文章内容区保持透明，透出外层布面卡片底色（反超基础 #1a1a1a 规则） */
[data-bs-theme="dark"] .kizumi-skin-fabric .post-single:not(.blog-border):not(.blog-shadow):not(.blog-lines) {
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}
/* 暗色下：widget 标题布标签改为深底浅字 */
[data-bs-theme="dark"] .kizumi-skin-fabric .blog-sidebar .widget-title {
  background-color: var(--fabric-panel-deep) !important;
  color: var(--fabric-ink) !important;
  border-color: var(--fabric-seam) !important;
}
