/* ============================================================
   壹维导航 · 全新视觉改版层 redesign.css
   说明：本文件在 theme.css / style.css 之后加载，通过覆盖 CSS 变量
   与追加样式实现整体改版，不改动原始主题文件，安全可回退。
   ============================================================ */

/* ---------- 1. 全新配色系统（覆盖主题变量） ---------- */
:root{
  --rd-primary:#6366f1;
  --rd-primary-2:#8b5cf6;
  --rd-primary-3:#a855f7;
  --rd-accent:#22d3ee;
  --rd-gradient:linear-gradient(135deg,#6366f1 0%,#8b5cf6 46%,#a855f7 100%);
  --rd-gradient-soft:linear-gradient(135deg,rgba(99,102,241,.12),rgba(168,85,247,.10));
  --rd-ring:rgba(99,102,241,.35);

  --theme-color-primary:#6366f1;
  --theme-color-primary-light-1:#7376f3;
  --theme-color-primary-light-2:#8486f5;
  --theme-color-primary-light-3:#9698f7;
  --theme-color-primary-light-4:#a8aaf9;
  --theme-color-primary-light-5:#b9bbfa;
  --theme-color-primary-light-6:#cbccfb;
  --theme-color-primary-light-7:#dcdcfD;
  --theme-color-primary-light-8:#edecfe;
  --theme-color-primary-light-9:#f4f3ff;
  --theme-color-primary-light-10:#fbfaff;

  --theme-color-text-1:#171a26;
  --theme-color-text-2:#4b5169;
  --theme-color-text-3:#868ca3;
  --theme-color-desc:#868ca3;
  --theme-color-info:#6b7194;
  --theme-color-info-light-5:#b6bad0;
  --theme-color-info-light-7:#d3d6e4;

  --theme-color-bg:#f4f5fb;
  --theme-color-box:#ffffff;
  --theme-color-border:#e7e9f3;
  --theme-color-border-light-1:#eef0f7;
  --theme-color-shadow:rgba(76,81,191,.16);
  --theme-radius:16px;

  --rd-grid:rgba(99,102,241,.055);
  --rd-glass:rgba(255,255,255,.72);
  --rd-glass-strong:rgba(255,255,255,.86);
  --rd-glass-border:rgba(255,255,255,.65);
  --rd-code-bg:rgba(99,102,241,.06);
  --rd-code-border:rgba(99,102,241,.16);
}

/* 暗色主题配色 */
.theme-dark{
  --rd-primary:#818cf8;
  --rd-primary-2:#a78bfa;
  --rd-primary-3:#c084fc;
  --rd-accent:#67e8f9;
  --rd-gradient:linear-gradient(135deg,#6366f1 0%,#8b5cf6 46%,#a855f7 100%);
  --rd-gradient-soft:linear-gradient(135deg,rgba(129,140,248,.16),rgba(192,132,252,.12));
  --rd-ring:rgba(129,140,248,.4);

  --theme-color-primary:#818cf8;
  --theme-color-primary-light-1:#8f99fa;
  --theme-color-primary-light-2:#9aa3fb;
  --theme-color-primary-light-3:#a5adfb;
  --theme-color-primary-light-4:#b1b7fc;
  --theme-color-primary-light-5:#bcc2fc;
  --theme-color-primary-light-6:#c8cdfd;
  --theme-color-primary-light-7:#d4d8fd;
  --theme-color-primary-light-8:#e2e4fe;
  --theme-color-primary-light-9:#eceeff;
  --theme-color-primary-light-10:#f6f6ff;

  --theme-color-text-1:#e9ebf5;
  --theme-color-text-2:#aab0c8;
  --theme-color-text-3:#767d9c;
  --theme-color-desc:#767d9c;
  --theme-color-info:#8b91b3;
  --theme-color-info-light-5:#3a3f58;
  --theme-color-info-light-7:#2c3048;

  --theme-color-bg:#0b0d16;
  --theme-color-box:#141726;
  --theme-color-border:#262a3d;
  --theme-color-border-light-1:#1f2334;
  --theme-color-shadow:rgba(0,0,0,.55);

  --rd-grid:rgba(129,140,248,.09);
  --rd-glass:rgba(32,37,58,.5);
  --rd-glass-strong:rgba(27,31,50,.64);
  --rd-glass-border:rgba(255,255,255,.13);
  --rd-code-bg:rgba(0,0,0,.42);
  --rd-code-border:rgba(255,255,255,.10);
}

/* ---------- 2. 背景：模糊光斑 + 网格 ----------
   注意：不使用 background-attachment:fixed，避免切换暗/亮主题时
   固定背景不重绘导致「页面浅色 + 卡片深色」的错乱。 */
html{background-color:var(--theme-color-bg);transition:background-color .35s ease}
body{
  background-color:var(--theme-color-bg);
  background-image:
    radial-gradient(56rem 42rem at 12% -8%, rgba(99,102,241,.20), transparent 60%),
    radial-gradient(48rem 38rem at 101% -2%, rgba(168,85,247,.16), transparent 56%),
    radial-gradient(46rem 42rem at 88% 104%, rgba(34,211,238,.12), transparent 56%),
    linear-gradient(var(--rd-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--rd-grid) 1px, transparent 1px);
  background-size:100% 100%,100% 100%,100% 100%,46px 46px,46px 46px;
  background-repeat:no-repeat,no-repeat,no-repeat,repeat,repeat;
  background-attachment:scroll;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  transition:background-color .35s ease,color .35s ease;
}

/* ---------- 3. 全局排版 ---------- */
h1,h2,h3,h4,h5,h6{
  letter-spacing:0;
  color:var(--theme-color-text-1);
  font-family:inherit;
  text-decoration:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
a{transition:color .2s ease}
::selection{background:rgba(99,102,241,.22)}

/* 滚动条 */
*{scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.35) transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-thumb{background:rgba(99,102,241,.30);border-radius:99px}
*::-webkit-scrollbar-thumb:hover{background:rgba(99,102,241,.5)}
*::-webkit-scrollbar-track{background:transparent}

/* ---------- 4. 顶部导航：玻璃拟态 ---------- */
.theme-header-wrap{
  background:var(--rd-glass);
  backdrop-filter:blur(18px) saturate(180%);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
  border-bottom:1px solid var(--rd-glass-border);
  box-shadow:0 6px 24px rgba(76,81,191,.06);
}
/* 导航布局：标题居左、主题切换按钮居右 */
.theme-header-wrap .header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px;
}
.theme-header-wrap .logo-wrap{
  margin:0 !important;
  flex:0 0 auto;
  min-width:0;
}
.theme-header-wrap .logo{overflow:hidden}
.theme-header-wrap .logo .text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}
.theme-header-wrap #theme-toggle{
  margin-left:auto !important;
  flex:0 0 auto;
}
.logo .text{
  background:var(--rd-gradient);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  font-weight:800;letter-spacing:.4px;
}

/* 主题切换按钮升级 */
.theme-toggle{
  background:var(--rd-glass-strong);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid var(--rd-glass-border);
  box-shadow:0 4px 14px rgba(76,81,191,.10);
}
.theme-toggle:hover{
  background:var(--rd-gradient);color:#fff;border-color:transparent;
  transform:translateY(-1px);box-shadow:0 8px 20px var(--rd-ring);
}

/* 页脚：毛玻璃面板 + 顶部渐变描边，与顶栏/文章卡呼应，风格统一 */
.theme-footer{
  position:relative;
  background:var(--rd-glass-strong)!important;
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-top:1px solid var(--rd-glass-border);
  box-shadow:0 -8px 30px rgba(76,81,191,.08);
  color:var(--theme-color-text-2);
  padding-top:30px;
}
.theme-footer::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:4px;
  background:var(--rd-gradient);
}
.theme-footer .copyright{color:var(--theme-color-text-1)}
.theme-footer .copyright a{color:var(--rd-primary);font-weight:600}
.theme-footer .extra,.theme-footer .left,.theme-footer .right{color:var(--theme-color-text-3)}

/* ---------- 4b. 文字主题兼容性修复 ----------
   theme.css 中大量文字颜色为硬编码（#343a44 / #24292e / #606266 / #fff 等），
   不随暗/亮主题切换，导致某模式下文字与背景同色而不可读。
   此处统一用主题变量覆盖，保证亮/暗两种模式下文字始终清晰。 */
/* 顶部导航：修复暗色下深色字压在深色玻璃上不可见 */
.theme-header-wrap{color:var(--theme-color-text-1)!important}
.theme-header-wrap .header .user-wrap .button{color:var(--theme-color-text-2)!important}

/* 代码块：暗色下深色底 + 浅色字，修复正文代码块发白/不可读（保留 Prism 高亮） */
body pre,body pre[class*=language-]{
  background:var(--rd-code-bg)!important;
  border:1px solid var(--rd-code-border)!important;
  color:var(--theme-color-text-1)!important;
}
body pre code,body pre[class*=language-] code{color:var(--theme-color-text-1)}

/* 表格 / 引用 / 文章元信息：文字随主题切换 */
.post-content table{color:var(--theme-color-text-1)!important}
.post-content blockquote{color:var(--theme-color-text-2)!important}
.post-header .post-meta{color:var(--theme-color-text-3)!important}

/* 「阅读全文」角标：主色实底 + 白字，提升两种模式下的对比度 */
.list .item .go,.list .item .go:hover{background:var(--rd-primary)!important;color:#fff!important}

/* 侧边分类菜单：文字随主题，激活/悬浮用主色 */
#sidenav .menu .menu-a{color:var(--theme-color-text-2)}
#sidenav .menu .menu-item:hover .menu-a{color:var(--rd-primary)}

/* ---------- 5. 卡片 / box：玻璃 + 柔和阴影 ---------- */
.box{
  background:var(--rd-glass-strong);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border:1px solid var(--rd-glass-border);
  box-shadow:0 12px 40px rgba(76,81,191,.08);
  border-radius:var(--theme-radius);
}

/* 高优先级：强制「菜单」与「文章容器」为毛玻璃，
   用 !important 覆盖 theme.css 中 .list .item 等复合选择器的实心背景 */
#sidenav.box,.sidenav-wrap .sidenav,.box.section,.sidenav-content .section,.post-wrap{
  background:var(--rd-glass-strong)!important;
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border:1px solid var(--rd-glass-border)!important;
  box-shadow:0 16px 48px rgba(76,81,191,.10);
}
/* 文章列表卡片：半透明毛玻璃，覆盖 .list .item 的实心 #fff/#202328 */
.list .item,.list_n2 .item,.list_n3 .item,.list_g2 .item{
  background:var(--rd-glass)!important;
  backdrop-filter:blur(10px) saturate(150%);
  -webkit-backdrop-filter:blur(10px) saturate(150%);
  border:1px solid var(--rd-glass-border)!important;
  box-shadow:0 6px 20px rgba(76,81,191,.06);
}
/* 侧边菜单项：透明底，激活态用柔和主色 */
#sidenav .menu-item{transition:all .2s ease;border-radius:12px}
#sidenav .menu-item:hover{background:var(--rd-gradient-soft);color:var(--rd-primary)}

/* 列表卡片悬浮效果 */
.list .item{
  border:1px solid var(--theme-color-border-light-1);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease;
}
.list .item:hover{
  transform:translateY(-5px);
  border-color:rgba(99,102,241,.35);
  box-shadow:0 20px 44px rgba(76,81,191,.14);
}
.list .item .title{transition:color .2s ease}
.list .item:hover .title{color:var(--theme-color-primary)}

/* 缩略图圆角与悬浮缩放 */
.list .item .thumbnail-wrap,.list .item .is-scale-thumbnail{overflow:hidden}
.list .item img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.list .item:hover img{transform:scale(1.06)}

/* 分类标签胶囊 */
.post-meta li.cats a,.list .item .meta .cats a{
  background:var(--rd-gradient-soft)!important;
  color:var(--rd-primary)!important;
  border-radius:99px!important;
  font-weight:600;
}

/* 分页 */
.page-numbers{border-radius:10px;transition:all .2s ease}
.page-numbers.current{background:var(--rd-gradient);color:#fff;box-shadow:0 6px 16px var(--rd-ring)}

/* ---------- 6. 详情页排版改版 ---------- */
.post-wrap{
  background:var(--rd-glass-strong);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid var(--rd-glass-border);
  box-shadow:0 24px 70px rgba(76,81,191,.12);
  overflow:hidden;
  position:relative;
}
/* 顶部渐变装饰条 */
.post-wrap::before{
  content:"";display:block;height:6px;width:100%;
  background:var(--rd-gradient);
}
.post-header{
  border-bottom:1px solid var(--theme-color-border-light-1);
  padding-bottom:22px;margin-bottom:28px;
}
.post-header .post-title{
  font-size:36px;font-weight:800;line-height:1.28;letter-spacing:0;
  background:var(--rd-gradient);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.post-header .post-meta{
  gap:10px;margin-top:18px;flex-wrap:wrap;color:var(--theme-color-text-3);
}
.post-header .post-meta li{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--rd-gradient-soft);
  padding:6px 14px;border-radius:99px;font-size:13px;color:var(--theme-color-text-2);
}
.post-header .post-meta li i,.post-header .post-meta li .meta-ico{color:var(--rd-primary)}
.post-header .post-meta li.cats a{
  background:transparent!important;padding:0;height:auto;line-height:normal;
}

/* 正文排版 */
.post-content{font-size:16.5px;line-height:1.85;color:var(--theme-color-text-1)}
.post-content>p{margin:0 0 22px;line-height:1.9}
.post-content>h1,.post-content>h2{
  font-size:26px;font-weight:800;padding-bottom:12px;margin-top:14px;
  border-bottom:1px solid var(--theme-color-border-light-1);
  position:relative;
}
.post-content>h1::before,.post-content>h2::before{
  content:"";position:absolute;left:0;bottom:-1px;width:44px;height:3px;
  border-radius:99px;background:var(--rd-gradient);
}
.post-content>h3{
  font-size:21px;font-weight:700;margin-top:10px;padding-left:14px;position:relative;
}
.post-content>h3::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:5px;height:18px;border-radius:99px;background:var(--rd-gradient);
}
.post-content a{color:var(--rd-primary);font-weight:500}
.post-content a:hover{text-decoration:underline}
.post-content ul li::marker,.post-content ol li::marker{color:var(--rd-primary)}

/* 引用块 */
.post-content blockquote{
  position:relative;margin:0 0 24px;padding:18px 22px 18px 26px;
  background:var(--rd-gradient-soft);
  border:1px solid var(--theme-color-border-light-1);
  border-left:4px solid var(--rd-primary);
  border-radius:12px;color:var(--theme-color-text-2);
}

/* 行内代码 */
.post-content p code,.post-content li code{
  background:rgba(99,102,241,.10);color:var(--rd-primary);
  padding:2px 7px;border-radius:6px;font-size:.9em;
}

/* 图片 */
.post-content img{
  border-radius:14px;border:1px solid var(--theme-color-border-light-1);
  box-shadow:0 10px 30px rgba(76,81,191,.10);
}

/* 表格 */
.post-content table{border-radius:12px;overflow:hidden;border:1px solid var(--theme-color-border-light-1)}
.post-content table thead{background:var(--rd-gradient-soft)}
.post-content table thead th{color:var(--rd-primary)}
.post-content table td,.post-content table th{border-color:var(--theme-color-border-light-1)}
.post-content table tbody tr:nth-child(odd){background:rgba(99,102,241,.03)}

/* ---------- 7. 移动端适配 ---------- */
@media screen and (max-width:768px){
  body{background-size:100% 100%,100% 100%,100% 100%,34px 34px,34px 34px}
  .post-header .post-title{font-size:26px;letter-spacing:0}
  .post-content{font-size:16px}
  .post-content>h1,.post-content>h2{font-size:22px}
  .post-content>h3{font-size:19px}
  .box,.post-wrap{border-radius:14px}

  /* 移动端分类菜单：吸顶横向滚动毛玻璃胶囊条（位于导航正下方，滚动时常驻） */
  .sidenav-wrap .sidenav{
    background:var(--rd-glass-strong)!important;
    backdrop-filter:blur(16px) saturate(160%);
    -webkit-backdrop-filter:blur(16px) saturate(160%);
    border-bottom:1px solid var(--rd-glass-border);
  }
  .sidenav-wrap .sidenav .menu{
    display:flex!important;flex-wrap:nowrap!important;gap:8px;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    padding:10px 12px;scrollbar-width:none;
  }
  .sidenav-wrap .sidenav .menu::-webkit-scrollbar{display:none}
  .sidenav-wrap .sidenav .menu .menu-item{flex:0 0 auto}
  .sidenav-wrap .sidenav .menu .menu-a{
    display:inline-block;padding:8px 16px;border-radius:99px;
    white-space:nowrap;background:var(--rd-glass);
    border:1px solid var(--rd-glass-border);
    color:var(--theme-color-text-2);font-weight:500;
    transition:all .2s ease;
  }
  .sidenav-wrap .sidenav .menu-item.active .menu-a,
  ._tabs.sidenav-wrap .sidenav .menu-item.active .menu-a{
    background:var(--rd-gradient)!important;color:#fff!important;border-color:transparent!important;
    box-shadow:0 4px 12px var(--rd-ring);
  }
}
