:root{--bg:#f7f9fc;--text:#0a0f1a;--muted:#6b7280;--card:#ffffffcc;--border:#e5e7ebcc;--accent:#6c5ce7;--accent2:#00d4ff;--glass:rgba(255,255,255,.55);--shadow:0 10px 30px rgba(0,0,0,.08)}
[data-theme="dark"]{--bg:#0b1020;--text:#ffffff;--muted:#e2e8f0;--card:#0f172acc;--border:#1f2937cc;--accent:#8b5cf6;--accent2:#22d3ee;--glass:rgba(16,20,35,.55);--shadow:0 12px 38px rgba(0,0,0,.35)}
html,body{height:100%}
body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;}

/* 统一弱化文字颜色以适配主题变量 */
.text-muted{color:var(--muted)!important}

/* 背景网格与光晕 */
.bg-grid{position:fixed;inset:0;background-image:linear-gradient(to right,rgba(120,120,120,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(120,120,120,.07) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:-2}
.bg-glow{position:fixed;inset:-20% -30% auto -10%;height:60vh;filter:blur(80px);background:radial-gradient(600px 300px at 20% 20%,var(--accent) 0,transparent 60%),radial-gradient(800px 400px at 80% 10%,var(--accent2) 0,transparent 60%);opacity:.35;pointer-events:none;z-index:-3}

/* 玻璃导航 */
.glass-nav{backdrop-filter:saturate(160%) blur(10px);background:var(--glass);border-bottom:1px solid var(--border)}
.navbar .nav-link{color:var(--text);opacity:.9;transition:opacity .2s}
.navbar .nav-link:hover{opacity:1}
.navbar-brand{font-weight:700;letter-spacing:.3px}
.brand-glow{position:relative}
.brand-accent{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}

/* 按钮 */
.btn-theme{border:1px solid var(--border);background:transparent;color:var(--text)}
.btn-theme:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 25%,transparent)}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border:none}
.btn-outline-secondary{border-color:var(--border);color:var(--text)}

/* 卡片与容器 */
.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px}
.card-header{background:transparent!important}
.site-footer{position:relative;border-top:1px solid var(--border);padding:24px 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.02))}
.foot-link{color:var(--muted);text-decoration:none}
.foot-link:hover{color:var(--text)}

/* Hero */
.hero{position:relative;padding:56px 0 28px}
.hero .title{font-size:clamp(28px,5vw,48px);font-weight:800;line-height:1.15;margin-bottom:12px;background:linear-gradient(90deg,var(--text),color-mix(in oklab,var(--text) 70%,var(--accent)));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .subtitle{color:var(--muted)}
.hero .cta .btn{margin-right:10px;margin-top:10px}

/* 统计徽章 */
.stat{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent)}
.stat i{color:var(--accent)}

/* 小交互 */
.card-hover{transition:transform .25s ease, box-shadow .25s ease}
.card-hover:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.12)}
.link-soft{color:var(--muted);text-decoration:none}
.link-soft:hover{color:var(--text)}

/* 顶部阅读进度条 */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:1100;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 12px color-mix(in oklab,var(--accent2) 45%,transparent)}

/* 代码高亮样式优化 */
pre[class*="language-"] {
  border-radius: 8px;
  margin: 1rem 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  position: relative;
}

/* 行号样式 */
.line-numbers .line-numbers-rows {
  border-right: 1px solid #444;
  padding-right: 0.5rem;
}

/* 工具栏样式 */
div.code-toolbar > .toolbar {
  opacity: 1;
  right: 0.5rem;
  top: 0.5rem;
}

div.code-toolbar > .toolbar .toolbar-item button {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  color: #fff;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}

div.code-toolbar > .toolbar .toolbar-item button:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* 代码块内联样式 */
code:not([class*="language-"]) {
  background: var(--code-bg, #f8f9fa);
  color: var(--code-color, #e83e8c);
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  font-size: 0.875em;
}

/* 深色主题下的代码样式 */
[data-bs-theme="dark"] code:not([class*="language-"]) {
  background: #2d3748;
  color: #f56565;
}

/* 响应式代码块 */
@media (max-width: 768px) {
  pre[class*="language-"] {
    font-size: 0.8rem;
    margin: 0.5rem -1rem;
    border-radius: 0;
  }
  
  div.code-toolbar > .toolbar {
    right: 0.25rem;
    top: 0.25rem;
  }
}