/* ====== 云山青绿主题（青绿山水 · 雅致） ======
   主图：static/generated-images/yunshan-landscape.png
   风格：参考 exam-preview.html 的浅蒙版 + 磨砂玻璃卡片
   PC + 手机端均使用 cover 居中,手机端微调 background-position 让山体居中
*/

body.theme-yunshan {
  /* 主色变量 —— 与全局 :root 兼容,但本主题内可独立覆写 */
  --ink: #1a2e25;          /* 深墨绿主文字 */
  --ink-soft: #2f4a3d;      /* 次级文字 */
  --ink-dim: #5a6e64;       /* 三级文字 */
  --jade: #3f8f7d;          /* 主青绿(品牌色) */
  --jade-deep: #2f6f60;     /* 深青绿 */
  --jade-soft: #5fb89f;     /* 浅青绿 */
  --gold: #c8a24a;          /* 印章金 */
  --gold-soft: #e8c44a;
  --cinnabar: #c43d2b;      /* 朱砂红(强调) */
  --paper: rgba(255, 255, 255, 0.78);     /* 半透卡纸(PC) */
  --paper-strong: rgba(255, 255, 255, 0.90);
  --paper-soft: rgba(255, 255, 255, 0.55);
  --border-soft: rgba(63, 143, 125, 0.22);
  --border-mid: rgba(63, 143, 125, 0.35);

  --bg: transparent;
  --surface: var(--paper);
  --surface-solid: var(--paper-strong);
  --surface-2: var(--paper-soft);
  --border: var(--border-soft);
  --border-strong: var(--border-mid);
  --text: var(--ink);
  --text-dim: var(--ink-dim);
  --accent: var(--cinnabar);
  --paper-ink: var(--ink);

  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
  position: relative;
  background: none !important;
}

/* ====== 背景：青绿山水图 + 蒙版 ====== */
body.theme-yunshan::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  background-image: url('/static/generated-images/yunshan-landscape.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* 浅色柔光蒙版：保证卡片内容清晰,同时留住山水意境 */
body.theme-yunshan::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg,
      rgba(245, 250, 245, 0.55) 0%,
      rgba(232, 240, 234, 0.38) 35%,
      rgba(220, 232, 222, 0.48) 75%,
      rgba(200, 218, 204, 0.58) 100%),
    radial-gradient(120% 70% at 50% 0%,
      rgba(255, 255, 255, 0.18),
      rgba(120, 160, 140, 0.10) 80%);
  backdrop-filter: saturate(1.06);
}

/* 隐藏原 canvas 山水和默认 PNG 背景 */
body.theme-yunshan #chineseBgCanvas,
body.theme-yunshan > .signature,
body.theme-yunshan .site-footer-contacts {
  display: none !important;
}

/* ====== 手机竖屏：调小 fixed 性能压力 + 让山体居中 ====== */
@media (max-width: 768px) {
  body.theme-yunshan::before {
    background-image: url('/static/generated-images/yunshan-landscape-mobile.png');
    background-attachment: scroll;
    background-position: center 40%;
  }
  body.theme-yunshan::after {
    /* 手机上蒙版略加重,因屏幕小、字多 */
    background:
      linear-gradient(180deg,
        rgba(245, 250, 245, 0.65) 0%,
        rgba(232, 240, 234, 0.50) 40%,
        rgba(220, 232, 222, 0.62) 100%);
  }
}

/* ====== 顶栏 / 导航 ====== */
body.theme-yunshan .navbar {
  background: rgba(255, 255, 255, 0.72);
  border-bottom: 1px solid var(--border-soft);
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
}
body.theme-yunshan .navbar-brand {
  color: var(--jade-deep);
  text-shadow: 1px 1px 0 rgba(200, 162, 74, 0.25);
}
body.theme-yunshan .navbar-nav a,
body.theme-yunshan .navbar-nav span {
  color: var(--ink-soft);
}
body.theme-yunshan .navbar-nav a:hover {
  color: var(--jade-deep);
}
body.theme-yunshan .navbar-nav .user-badge {
  background: rgba(63, 143, 125, 0.10);
  border: 1px solid var(--jade);
  color: var(--jade-deep);
}

/* PC 顶栏 */
body.theme-yunshan .pc-topbar {
  background: rgba(255, 255, 255, 0.72);
  border-bottom: 1px solid var(--border-soft);
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
}
body.theme-yunshan .pc-topbar-brand {
  color: var(--jade-deep);
  text-shadow: 1px 1px 0 rgba(200, 162, 74, 0.25);
}
body.theme-yunshan .pc-topbar-actions a,
body.theme-yunshan .pc-topbar-actions .admin-link {
  color: var(--ink-soft);
}
body.theme-yunshan .pc-topbar-actions a:hover {
  color: var(--jade-deep);
}

/* 侧边栏 */
body.theme-yunshan .pc-sidebar {
  background: linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(245,250,245,0.72) 100%);
  border-right: 1px solid var(--border-soft);
  backdrop-filter: blur(12px) saturate(1.05);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
}
body.theme-yunshan .pc-sidebar-brand {
  color: var(--jade-deep);
  border-bottom: 1px solid var(--border-soft);
}
body.theme-yunshan .pc-sidebar-mode,
body.theme-yunshan .pc-sidebar-back {
  color: var(--ink-soft);
  border: 1px solid var(--border-soft);
  background: linear-gradient(180deg, rgba(255,255,255,0.65) 0%, rgba(245,250,245,0.85) 100%);
  box-shadow: 0 1px 3px rgba(30, 60, 50, 0.06);
}
body.theme-yunshan .pc-sidebar-mode:hover,
body.theme-yunshan .pc-sidebar-back:hover {
  color: var(--ink);
  border-color: var(--border-mid);
}
body.theme-yunshan .pc-sidebar-mode.active {
  color: var(--jade-deep);
  border-color: var(--jade);
  background: linear-gradient(180deg, rgba(255,255,255,0.85) 0%, rgba(232,244,238,0.95) 100%);
  box-shadow: 0 0 8px rgba(63, 143, 125, 0.15);
}

/* ====== 功能标签 ====== */
body.theme-yunshan .mode-tab {
  color: var(--ink-soft);
}
body.theme-yunshan .mode-tab:hover {
  color: var(--ink);
  background: rgba(63, 143, 125, 0.06);
}
body.theme-yunshan .mode-tab.active {
  color: var(--jade-deep);
  border-bottom-color: var(--jade);
  background: rgba(63, 143, 125, 0.05);
}

/* ====== HSK 级别卡片 ====== */
body.theme-yunshan .level-card {
  background: var(--paper);
  border: 1px solid var(--border-soft);
  backdrop-filter: blur(10px) saturate(1.05);
  -webkit-backdrop-filter: blur(10px) saturate(1.05);
  box-shadow: 0 4px 18px rgba(30, 60, 50, 0.08);
}
body.theme-yunshan .level-card:hover {
  border-color: var(--border-mid);
  box-shadow: 0 8px 28px rgba(63, 143, 125, 0.18);
  transform: translateY(-2px);
}
body.theme-yunshan .level-card-name {
  color: var(--ink);
}

/* ====== 字符网格 ====== */
body.theme-yunshan .char-tile {
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid var(--border-soft);
  color: var(--ink);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
body.theme-yunshan .char-tile:hover {
  border-color: var(--border-mid);
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 4px 12px rgba(63, 143, 125, 0.15);
}
body.theme-yunshan .char-tile.learned {
  background: rgba(63, 143, 125, 0.08);
  border-color: rgba(63, 143, 125, 0.18);
}
body.theme-yunshan .char-tile.active-char {
  border-color: var(--jade);
  background: rgba(63, 143, 125, 0.10);
  box-shadow: 0 0 0 3px rgba(63, 143, 125, 0.15);
}
body.theme-yunshan .char-tile .seq-num {
  color: var(--jade-deep);
}

/* ====== Hero 卡片 ====== */
body.theme-yunshan .hero-card {
  background: var(--paper-strong);
  border: 2px double rgba(63, 143, 125, 0.45);
  box-shadow: 0 12px 36px rgba(30, 60, 50, 0.15);
  backdrop-filter: blur(12px) saturate(1.05);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
}
body.theme-yunshan .hero-char {
  color: var(--jade-deep);
  text-shadow: 2px 2px 0 rgba(200, 162, 74, 0.25), 4px 4px 8px rgba(30, 60, 50, 0.10);
}
body.theme-yunshan .hero-pinyin {
  color: #8b6f4e;
}
body.theme-yunshan .hero-meaning {
  color: var(--ink);
  background: rgba(63, 143, 125, 0.08);
  border-left-color: var(--jade);
}
body.theme-yunshan .hsk-badge.hsk-2 {
  background: rgba(63, 143, 125, 0.15);
  color: var(--jade-deep);
  border-color: rgba(63, 143, 125, 0.35);
}

/* ====== 通用卡片 ====== */
body.theme-yunshan .card {
  background: var(--paper);
  border: 1px solid var(--border-soft);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
body.theme-yunshan .card-zh {
  color: var(--ink);
}
body.theme-yunshan .card-py {
  color: #8b6f4e;
}
body.theme-yunshan .card-en {
  color: var(--ink-dim);
}

/* ====== 搜索框 ====== */
body.theme-yunshan .smart-search-input-wrap {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--border-soft);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.theme-yunshan .smart-search-input {
  color: var(--ink);
}
body.theme-yunshan .smart-search-dropdown {
  background: var(--paper-strong);
  border: 1px solid var(--border-soft);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* ====== HSK 标签切换 ====== */
body.theme-yunshan .hsk-tab {
  background: rgba(255, 255, 255, 0.55);
  border-color: var(--border-soft);
  color: var(--ink-soft);
}
body.theme-yunshan .hsk-tab:hover {
  border-color: var(--border-mid);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.75);
}
body.theme-yunshan .hsk-tab.active {
  background: linear-gradient(135deg, var(--jade), var(--jade-deep));
  color: #fff;
  border-color: var(--jade-deep);
}

/* ====== 练习模式选项 ====== */
body.theme-yunshan .practice-option {
  background: var(--paper);
  border: 2px solid var(--border-soft);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
body.theme-yunshan .practice-option:hover {
  border-color: var(--border-mid);
  background: rgba(255, 255, 255, 0.92);
}
body.theme-yunshan .practice-option.selected {
  border-color: var(--jade);
  background: rgba(63, 143, 125, 0.10);
}

/* ====== 复习/计划/阅读 卡片 ====== */
body.theme-yunshan .review-card,
body.theme-yunshan .plan-card,
body.theme-yunshan .plan-today-card,
body.theme-yunshan .plan-stat-card,
body.theme-yunshan .plan-calendar,
body.theme-yunshan .plan-day-card,
body.theme-yunshan .plan-trend,
body.theme-yunshan .plan-achievements,
body.theme-yunshan .reading-article-card,
body.theme-yunshan .stroke-section,
body.theme-yunshan .batch-nav-btn {
  background: var(--paper);
  border: 1px solid var(--border-soft);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.theme-yunshan .review-card-char {
  color: var(--ink);
}
body.theme-yunshan .plan-trend h3,
body.theme-yunshan .plan-achievements h3 {
  color: var(--ink);
  font-family: 'Noto Serif SC', 'Microsoft YaHei', 'PingFang SC', serif;
}
body.theme-yunshan .plan-trend-chart {
  color: var(--ink);
}
body.theme-yunshan .plan-badge-item {
  background: rgba(63, 143, 125, 0.08);
  border-color: var(--border-soft);
}
body.theme-yunshan .plan-badge-item:hover {
  border-color: var(--jade);
}
body.theme-yunshan .plan-badge-label {
  color: var(--ink);
}

/* ====== 发音/形近字导航 ====== */
body.theme-yunshan .pron-cat-item,
body.theme-yunshan .pron-sub-item,
body.theme-yunshan .similar-cat-name,
body.theme-yunshan .similar-cat-title,
body.theme-yunshan .pron-cat-title,
body.theme-yunshan .similar-sub-title,
body.theme-yunshan .pron-group-title {
  color: var(--ink);
}
body.theme-yunshan .pron-cat-item.active {
  background: rgba(63, 143, 125, 0.12);
  border-left-color: var(--jade);
}
body.theme-yunshan .pron-group-title,
body.theme-yunshan .similar-sub-title {
  border-bottom-color: var(--border-soft);
  color: var(--jade-deep);
}
body.theme-yunshan .pron-sub-item {
  color: var(--ink-soft);
}
body.theme-yunshan .pron-sub-item:hover {
  color: var(--ink);
}
body.theme-yunshan .pron-sub-item.active {
  color: var(--jade-deep);
  background: rgba(63, 143, 125, 0.10);
}
body.theme-yunshan .similar-tip,
body.theme-yunshan .similar-vs {
  color: var(--ink-dim);
}
body.theme-yunshan .pron-compare-col {
  background: rgba(63, 143, 125, 0.05);
}
body.theme-yunshan .pron-poly-chip {
  background: var(--paper);
  border: 1px solid var(--border-soft);
}
body.theme-yunshan .pron-poly-chip .pinyin {
  color: var(--jade-deep);
}
body.theme-yunshan .pron-poly-chip .context {
  color: var(--ink-dim);
}
body.theme-yunshan .similar-card-example {
  color: var(--jade-deep);
}

/* ====== 浮层 ====== */
body.theme-yunshan .char-overlay-content {
  background: var(--paper-strong);
  border-color: var(--border-mid);
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
}
body.theme-yunshan .char-overlay-close {
  color: var(--ink-soft);
}

/* ====== 批次数栏 ====== */
body.theme-yunshan .batch-nav-title {
  color: var(--jade-deep);
}
body.theme-yunshan .batch-nav-btn:hover {
  background: var(--paper-soft);
  border-color: var(--border-mid);
}

/* ====== 分页器 ====== */
body.theme-yunshan .pc-pager-btn {
  background: var(--paper);
  border: 1px solid var(--border-soft);
  color: var(--jade-deep);
}
body.theme-yunshan .pc-pager-btn:hover {
  background: var(--paper-soft);
  border-color: var(--border-mid);
}

/* ====== 下拉菜单 ====== */
body.theme-yunshan .lang-dropdown-menu {
  background: var(--paper-strong);
  border: 1px solid var(--border-soft);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.theme-yunshan .lang-dropdown-item {
  color: var(--ink-soft);
}
body.theme-yunshan .lang-dropdown-item:hover {
  background: rgba(63, 143, 125, 0.10);
}
body.theme-yunshan .lang-dropdown-item.active {
  color: var(--jade-deep);
  font-weight: 600;
}

/* ====== 公告栏 ====== */
body.theme-yunshan .announcement-bar {
  background: linear-gradient(135deg, rgba(63, 143, 125, 0.82), rgba(47, 111, 96, 0.90));
  border-bottom: 1px solid rgba(63, 143, 125, 0.30);
  color: #fff;
}

/* ====== 闪烁锁屏 ====== */
body.theme-yunshan .lock-msg h3 {
  color: var(--jade-deep);
}

/* ====== 个人设置页 ====== */
body.theme-yunshan .profile-section {
  background: var(--paper);
  border-color: var(--border-soft);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.theme-yunshan .profile-section h3 {
  color: var(--ink);
  border-bottom-color: var(--border-soft);
}
body.theme-yunshan .profile-wrap h1 {
  color: var(--jade-deep);
}
body.theme-yunshan .profile-section input[type="text"],
body.theme-yunshan .profile-section input[type="password"] {
  background: rgba(255, 255, 255, 0.85);
  border-color: var(--border-soft);
  color: var(--ink);
}
body.theme-yunshan .profile-section input:focus {
  border-color: var(--jade);
  box-shadow: 0 0 0 3px rgba(63, 143, 125, 0.15);
}
body.theme-yunshan .btn-save {
  background: linear-gradient(135deg, var(--jade), var(--jade-deep));
  color: #fff;
}
body.theme-yunshan .btn-save:hover {
  box-shadow: 0 6px 18px rgba(63, 143, 125, 0.35);
}
body.theme-yunshan .theme-btn {
  background: var(--paper);
  border-color: var(--border-soft);
  color: var(--ink-soft);
}
body.theme-yunshan .theme-btn:hover {
  border-color: var(--border-mid);
  color: var(--ink);
}
body.theme-yunshan .theme-btn.active {
  background: linear-gradient(135deg, rgba(63,143,125,0.12), rgba(63,143,125,0.06));
  border-color: var(--jade);
  color: var(--jade-deep);
  font-weight: 600;
}
body.theme-yunshan .btn-logout {
  color: var(--cinnabar);
  border-color: rgba(196, 61, 43, 0.3);
  background: rgba(196, 61, 43, 0.04);
}
body.theme-yunshan .btn-logout:hover {
  background: rgba(196, 61, 43, 0.10);
  border-color: var(--cinnabar);
  color: var(--cinnabar);
}
body.theme-yunshan .sub-status {
  color: #2a7a5a;
}
body.theme-yunshan .sub-card.active {
  background: rgba(74, 156, 130, 0.06);
  border-color: rgba(74, 156, 130, 0.25);
}
body.theme-yunshan .sub-card.inactive {
  background: rgba(63, 143, 125, 0.06);
  border-color: var(--border-soft);
}
body.theme-yunshan .wuxia-timeline::before {
  background: linear-gradient(to bottom, var(--jade), rgba(63, 143, 125, 0.15));
}
body.theme-yunshan .timeline-item::before {
  background: var(--jade);
  border-color: var(--paper-strong);
}
body.theme-yunshan .timeline-item:first-child::before {
  box-shadow: 0 0 10px rgba(63, 143, 125, 0.5);
}
body.theme-yunshan .wuxia-progress-fill {
  background: linear-gradient(90deg, var(--jade), var(--jade-soft));
}
body.theme-yunshan .profile-collapsible summary {
  color: var(--ink);
  border-bottom-color: var(--border-soft);
}
body.theme-yunshan .info-value {
  color: var(--ink);
}

/* ====== 管理员按钮 ====== */
body.theme-yunshan .admin-refresh-btn {
  color: var(--jade-deep);
  border-color: var(--border-soft);
}

/* ====== 联系管理员浮动按钮 ====== */
body.theme-yunshan .contact-fab {
  top: auto; bottom: 24px; right: 20px;
}
body.theme-yunshan .contact-fab-btn {
  width: 44px; height: 44px;
  background: linear-gradient(135deg, var(--jade), var(--jade-deep));
  border: none;
  color: #fff;
  font-size: 1.2rem;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 4px 16px rgba(47, 111, 96, 0.35);
}
body.theme-yunshan .contact-fab-btn:hover {
  background: linear-gradient(135deg, var(--jade-deep), #1f4438);
  transform: scale(1.1);
  box-shadow: 0 6px 24px rgba(47, 111, 96, 0.50);
}
body.theme-yunshan .contact-fab-popup {
  top: auto; bottom: 56px; right: 0;
  background: var(--paper-strong);
  border: 1px solid var(--border-soft);
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
  box-shadow: 0 8px 32px rgba(30, 60, 50, 0.22);
}
body.theme-yunshan .contact-fab-title {
  color: var(--ink-soft);
}
body.theme-yunshan .contact-fab-label {
  color: var(--ink-dim);
}
body.theme-yunshan .contact-fab-value {
  color: var(--jade-deep);
}
body.theme-yunshan .contact-fab-item a.contact-fab-value {
  color: var(--jade-deep);
}

/* ====== 滚动条 ====== */
body.theme-yunshan ::-webkit-scrollbar-track {
  background: rgba(63, 143, 125, 0.05);
}
body.theme-yunshan ::-webkit-scrollbar-thumb {
  background: rgba(63, 143, 125, 0.25);
  border-radius: 4px;
}
body.theme-yunshan ::-webkit-scrollbar-thumb:hover {
  background: rgba(63, 143, 125, 0.4);
}

/* ====== 移动端适配 ====== */
@media (max-width: 768px) {
  body.theme-yunshan .level-card,
  body.theme-yunshan .char-tile,
  body.theme-yunshan .card,
  body.theme-yunshan .review-card,
  body.theme-yunshan .plan-card {
    /* 手机上磨砂玻璃效果可能耗性能,适度降低 */
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }
  body.theme-yunshan .navbar {
    padding: 10px 14px;
  }
  body.theme-yunshan .hero-char {
    font-size: 4rem;
  }
}

/* ====== 登录/注册页（auth-card） ====== */
body.theme-yunshan .auth-card {
  background: linear-gradient(145deg, rgba(255,255,255,0.88), rgba(245,250,245,0.92));
  border: 2px double var(--jade);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 30px 80px rgba(30, 60, 50, 0.25);
}
body.theme-yunshan .auth-card h1,
body.theme-yunshan .auth-brand-name {
  color: var(--jade-deep);
  text-shadow: 2px 2px 0 rgba(200, 162, 74, 0.25);
}
body.theme-yunshan .auth-brand-char {
  color: var(--jade-deep);
  text-shadow: 2px 2px 0 rgba(200, 162, 74, 0.25), 4px 4px 12px rgba(30, 60, 50, 0.15);
}
body.theme-yunshan .auth-card label {
  color: var(--ink-soft);
}
body.theme-yunshan .auth-card input {
  background: rgba(255, 255, 255, 0.80);
  border: 1px solid var(--border-soft);
  color: var(--ink);
}
body.theme-yunshan .auth-card input:focus {
  border-color: var(--jade);
  box-shadow: 0 0 0 3px rgba(63, 143, 125, 0.15);
}
body.theme-yunshan .auth-card button {
  background: linear-gradient(135deg, var(--jade), var(--jade-deep));
  color: #fff;
  box-shadow: 0 8px 24px rgba(47, 111, 96, 0.35);
}
body.theme-yunshan .auth-card button:hover {
  box-shadow: 0 12px 32px rgba(47, 111, 96, 0.50);
}
body.theme-yunshan .auth-heading {
  color: var(--ink);
}
body.theme-yunshan .auth-divider-line {
  background: linear-gradient(90deg, transparent, rgba(63, 143, 125, 0.35), transparent);
}
body.theme-yunshan .auth-divider-dot {
  color: var(--jade);
}
body.theme-yunshan .auth-footer {
  color: var(--ink-soft);
}
body.theme-yunshan .auth-privacy summary {
  color: var(--ink-soft);
}
body.theme-yunshan .auth-privacy summary:hover {
  color: var(--jade-deep);
}

/* ====== Landing 页 ====== */
body.theme-yunshan .landing-nav {
  background: rgba(255, 255, 255, 0.72);
  border-bottom: 1px solid var(--border-soft);
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
}
body.theme-yunshan .landing-nav-brand {
  color: var(--jade-deep);
  text-shadow: 1px 1px 0 rgba(200, 162, 74, 0.25);
}
body.theme-yunshan .landing-nav-actions a {
  color: var(--ink-soft);
}
body.theme-yunshan .landing-nav-actions a:hover {
  color: var(--jade-deep);
}
body.theme-yunshan .hero-char {
  color: var(--jade);
  text-shadow: 0 4px 20px rgba(63, 143, 125, 0.35);
}
body.theme-yunshan .hero h1 {
  color: var(--jade-deep);
}
body.theme-yunshan .btn-primary {
  background: linear-gradient(135deg, var(--jade), var(--jade-deep));
  box-shadow: 0 4px 16px rgba(47, 111, 96, 0.4);
}
body.theme-yunshan .btn-primary:hover {
  box-shadow: 0 6px 24px rgba(47, 111, 96, 0.5);
}
body.theme-yunshan .btn-secondary {
  background: var(--paper-strong);
  border: 1px solid var(--border-soft);
  color: var(--ink);
}
body.theme-yunshan .btn-secondary:hover {
  border-color: var(--jade);
}
body.theme-yunshan .section-title {
  color: var(--jade-deep);
}
body.theme-yunshan .feature-card {
  background: var(--paper);
  border-color: var(--border-soft);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.theme-yunshan .feature-card:hover {
  border-color: var(--jade);
  box-shadow: 0 8px 28px rgba(63, 143, 125, 0.15);
}
body.theme-yunshan .feature-card h3 {
  color: var(--jade-deep);
}
body.theme-yunshan .level-badge {
  background: var(--paper);
  border-color: var(--border-soft);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
body.theme-yunshan .level-badge:hover {
  border-color: var(--jade);
}
body.theme-yunshan .level-badge .num {
  color: var(--jade-deep);
}
body.theme-yunshan .step-num {
  background: linear-gradient(135deg, var(--jade), var(--jade-deep));
}
body.theme-yunshan .step h3 {
  color: var(--jade-deep);
}
body.theme-yunshan .screenshot-card {
  background: var(--paper);
  border-color: var(--border-soft);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.theme-yunshan .screenshot-img-placeholder {
  background: linear-gradient(135deg, var(--paper-strong), var(--paper-soft));
  color: var(--ink-soft);
}
body.theme-yunshan .contact-box {
  background: var(--paper);
  border-color: var(--border-soft);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.theme-yunshan .landing-footer {
  border-top-color: var(--border-soft);
}
