/*
Theme Name: 白羊梦华录
Theme URI: https://example.com/baiyang-dream
Author: 白羊先生不在家
Author URI: https://example.com
Description: 个人博客 / 手搓记录主题。现代极简 + Glassmorphism：黑 #000 · 白 #FFF · 灰 #888/#F5F5F5 · 红 #E53935（点缀）。内置中英界面切换、站内搜索面板、一键分享、云朵加载页与毛玻璃文章卡片。模板齐全：首页 Hero + 最新文章流、文章索引、单篇、自定义静态页、文章列表页模板、分类/标签/日期/作者归档、搜索结果、404、评论。需配合 WordPress 5.9+ 使用。
Version: 1.2.0
Requires at least: 5.9
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tianyi-thoughts
Tags: blog, one-column, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* ============================================================
   白羊梦华录 · WordPress 主题
   风格：现代极简 / Glassmorphism（由「天衣思索」静态原型 index.html · articles.html 移植）
   色彩：黑 #000 · 白 #FFF · 灰 #888/#F5F5F5 · 红 #E53935（点缀）
   ============================================================ */
:root{
  --black:#000000;
  --white:#ffffff;
  --gray:#888888;
  --lgray:#f5f5f5;
  --red:#E53935;
  --red-soft:rgba(229,57,53,.18);
  --font:"PingFang SC","Microsoft YaHei","Noto Sans SC","Segoe UI",-apple-system,sans-serif;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font);
  background:var(--black);
  color:var(--white);
  overflow:hidden;            /* 加载期间锁定滚动 */
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
}
body.loaded{ overflow-y:auto; overflow-x:hidden; }   /* 加载完成恢复滚动 */
body.lock{ overflow:hidden !important; }             /* 搜索面板 / 菜单打开时锁定滚动 */
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
button,input,textarea,select{ font-family:var(--font); }
::selection{ background:var(--red); color:#fff; }
:focus-visible{ outline:2px solid var(--red); outline-offset:2px; border-radius:2px; }

/* ============================================================
   0. 加载页 Loader（云朵进度条 白→灰→黑 · 红色小鸟四散）
   ============================================================ */
#loader{
  position:fixed; inset:0; z-index:9999;
  background:var(--lgray);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .8s ease, visibility .8s ease;
}
#loader.done{ opacity:0; visibility:hidden; }
.loader-inner{
  position:relative; width:340px;
  display:flex; flex-direction:column; align-items:center;
}
.loader-text{
  font-size:15px; letter-spacing:.28em; color:#3a3a3a;
  margin-bottom:96px; font-weight:500;
}
.cloud-wrap{ position:relative; }
.cloud{
  position:relative; width:210px; height:62px;
  background:var(--cloud-color,#ffffff);
  border-radius:62px;
  box-shadow:0 18px 40px rgba(0,0,0,.14);
  transition:background .15s linear, box-shadow .4s ease;
  animation:cloudFloat 3.6s ease-in-out infinite;
}
.cloud::before,.cloud::after{
  content:""; position:absolute; background:inherit; border-radius:50%;
}
.cloud::before{ width:84px; height:84px; left:26px; top:-42px; }
.cloud::after{ width:120px; height:120px; left:74px; top:-58px; }
@keyframes cloudFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-10px); }
}
.progress-num{
  margin-top:40px; font-size:12px; letter-spacing:.35em;
  color:var(--cloud-color,#888);
  transition:color .15s linear;
}
.bird{
  position:absolute; left:50%; top:50%;
  width:38px; height:38px; fill:var(--red);
  opacity:0;
  animation:birdFly 3.4s ease-out infinite;
  pointer-events:none;
}
.b1{ --tx:-170px; --ty:-120px; animation-delay:0s;   }
.b2{ --tx: 175px; --ty:-135px; animation-delay:.55s; }
.b3{ --tx:-120px; --ty:-180px; animation-delay:1.1s; }
.b4{ --tx: 130px; --ty:-190px; animation-delay:1.65s;}
.b5{ --tx: -55px; --ty:-210px; animation-delay:2.2s; }
.b6{ --tx:  60px; --ty:-225px; animation-delay:2.75s;}
@keyframes birdFly{
  0%{ transform:translate(-50%,-50%) scale(.15) rotate(10deg); opacity:0; }
  18%{ opacity:1; }
  62%{ opacity:1; }
  100%{ transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1) rotate(-8deg); opacity:0; }
}

/* ============================================================
   1. 底图背景（固定于视口最底层，不随滚动移动）
   ============================================================ */
#wallpaper{
  position:fixed; inset:0; z-index:0;
  background:radial-gradient(120% 120% at 30% 20%, #232323 0%, #000 70%);
  overflow:hidden;
}
#wallpaper img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .8s ease;
}
#wallpaper img.loaded{ opacity:1; }
#wallpaper.fallback::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(90% 90% at 70% 80%, rgba(229,57,53,.10) 0%, transparent 60%),
             linear-gradient(160deg,#1c1c1c,#000 65%);
}
.top-anchor{ position:absolute; top:0; left:0; width:1px; height:1px; }

/* ============================================================
   2. 顶部导航 Header（毛玻璃 · 固定）
   ============================================================ */
#header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between; gap:22px;
  padding:22px 48px;
  background:rgba(0,0,0,.25);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .4s ease, backdrop-filter .4s ease;
}
#header.scrolled{ background:rgba(0,0,0,.55); }
.brand{ display:flex; flex-direction:column; gap:3px; flex:none; }
.brand-name{
  font-size:22px; font-weight:800; letter-spacing:.18em;
}
.brand-name i{
  font-style:normal; color:var(--red); font-size:15px; vertical-align:super; margin-left:2px;
}
.tagline{
  font-size:11px; letter-spacing:.22em; color:rgba(255,255,255,.55);
  font-weight:300;
}

/* 主导航（外观 → 菜单，未配置时回退为分类导航） */
#site-nav ul{
  list-style:none; display:flex; align-items:center; gap:6px; flex-wrap:wrap;
}
#site-nav a{
  display:block; padding:9px 18px;
  font-size:12px; letter-spacing:.32em; text-indent:.32em;
  color:rgba(255,255,255,.85);
  border:1px solid transparent; border-radius:999px;
  transition:color .3s ease, border-color .3s ease, background .3s ease;
}
#site-nav a:hover,#site-nav .current-menu-item > a{
  color:var(--red);
  border-color:rgba(229,57,53,.55);
  background:rgba(229,57,53,.10);
}

.header-right{ position:relative; display:flex; align-items:center; flex:none; }
.header-icons{ display:flex; gap:26px; }
.header-icons .icon{
  width:26px; height:26px; color:rgba(255,255,255,.85);
  cursor:pointer; transition:color .3s ease, transform .3s ease;
  background:none; border:none; padding:0;
}
.header-icons .icon:hover{ color:var(--red); transform:translateY(-2px); }
.header-icons .icon svg{ width:100%; height:100%; }
.header-icons .icon svg *{ stroke:currentColor; }

/* ---- 下拉菜单（语言切换 / 分享）基座 ---- */
.header-right .pop{
  position:absolute; top:calc(100% + 14px); right:0;
  background:rgba(10,10,10,.88);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  padding:8px;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .3s ease, transform .3s ease, visibility .3s;
  z-index:20;
}
.header-right .pop.on{ opacity:1; visibility:visible; transform:none; }
.lang-menu{ min-width:150px; }
.lang-menu button{
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:10px 14px;
  background:transparent; border:none; border-radius:8px;
  color:rgba(255,255,255,.85); font-size:14px; letter-spacing:.1em;
  cursor:pointer; transition:background .25s ease, color .25s ease;
}
.lang-menu button:hover{ background:rgba(255,255,255,.08); color:var(--white); }
.lang-menu button.active{ color:var(--red); }
.lang-menu button.active::after{ content:"✓"; color:var(--red); font-size:12px; }

/* ---- 分享菜单 ---- */
.share-menu{
  width:252px; border-radius:14px; padding:14px;
}
.share-title{
  font-size:11px; letter-spacing:.35em; color:var(--gray);
  text-align:center; margin-bottom:12px;
}
.share-grid{ display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.share-btn{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px;
  background:transparent; border:1px solid transparent; border-radius:9px;
  color:rgba(255,255,255,.85); font-size:13px; letter-spacing:.1em;
  white-space:nowrap; cursor:pointer;
  transition:background .25s ease, border-color .25s ease, color .25s ease;
}
.share-btn:hover{ background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14); color:var(--red); }
.share-btn.full{ grid-column:1/-1; justify-content:center; }
.s-badge{
  width:24px; height:24px; flex:none;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.3); border-radius:50%;
  font-size:11px; color:rgba(255,255,255,.8);
  transition:border-color .25s ease, color .25s ease;
}
.share-btn:hover .s-badge{ border-color:var(--red); color:var(--red); }
.share-qr{
  margin-top:12px; padding-top:12px;
  border-top:1px solid rgba(255,255,255,.1);
  text-align:center;
}
.share-qr img{
  width:150px; height:150px; margin:0 auto 10px;
  border-radius:10px; border:1px solid rgba(255,255,255,.18); background:#fff;
}
.share-qr p{ font-size:11px; line-height:1.8; letter-spacing:.1em; color:rgba(255,255,255,.55); }

/* ---- Toast 轻提示 ---- */
.toast{
  position:fixed; left:50%; bottom:44px; transform:translateX(-50%);
  z-index:600;
  background:rgba(18,18,18,.92);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.22);
  color:var(--white); font-size:13px; letter-spacing:.14em;
  padding:12px 28px; border-radius:999px;
  opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s;
}
.toast.show{ opacity:1; visibility:visible; }

/* ============================================================
   3. Hero 首屏（内容位于屏幕左下方）
   ============================================================ */
.hero{
  position:relative; z-index:1;
  min-height:100vh;
  min-height:100dvh;
  display:flex; align-items:flex-end;
  padding:0 0 96px 9vw;
}
.hero-inner{ display:flex; flex-direction:column; align-items:flex-start; gap:26px; }
.hero-kicker{
  font-size:12px; letter-spacing:.5em; color:rgba(255,255,255,.6);
  border-left:2px solid var(--red); padding-left:14px; margin-bottom:4px;
}
.cta{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center;
  padding:22px 64px;
  font-size:20px; font-weight:600; letter-spacing:.34em; text-indent:.34em;
  color:var(--white);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.38);
  border-radius:14px;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  cursor:pointer;
  transition:background .4s ease, border-color .4s ease,
             backdrop-filter .4s ease, -webkit-backdrop-filter .4s ease,
             box-shadow .4s ease, transform .3s ease;
}
.cta:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.7);
  backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
  box-shadow:0 0 0 1px rgba(229,57,53,.35), 0 20px 50px rgba(0,0,0,.35);
  transform:translateY(-3px);
}
.cta:hover .cta-lines i{ background:rgba(255,255,255,.7); }
.cta:active{ transform:translateY(-1px) scale(.99); }
.cta-lines{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center; gap:7px;
  opacity:.55;
}
.cta-lines i{
  width:2px; height:46%;
  background:rgba(255,255,255,.4); border-radius:2px;
  animation:lineBeat 1.1s ease-in-out infinite;
}
.cta-lines i:nth-child(1){ animation-delay:0s; }
.cta-lines i:nth-child(2){ animation-delay:.12s; }
.cta-lines i:nth-child(3){ animation-delay:.26s; }
.cta-lines i:nth-child(4){ animation-delay:.38s; }
.cta-lines i:nth-child(5){ animation-delay:.22s; }
.cta-lines i:nth-child(6){ animation-delay:.05s; }
@keyframes lineBeat{
  0%,100%{ transform:scaleY(.25); }
  40%{ transform:scaleY(1); }
  70%{ transform:scaleY(.5); }
}
.cta-label{ position:relative; z-index:1; }
.subnav{ display:flex; gap:16px; flex-wrap:wrap; }
.chip{
  display:block; padding:11px 34px;
  font-size:14px; letter-spacing:.42em; text-indent:.42em;
  color:rgba(255,255,255,.85);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:color .3s ease, background .3s ease, border-color .3s ease,
             backdrop-filter .4s ease, -webkit-backdrop-filter .4s ease;
}
.chip:hover{
  color:var(--red);
  border-color:rgba(229,57,53,.6);
  background:rgba(229,57,53,.10);
  backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
}
.scroll-hint{
  position:absolute; right:7vw; bottom:44px; z-index:1;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  color:rgba(255,255,255,.45); font-size:11px; letter-spacing:.35em; writing-mode:vertical-rl;
}
.scroll-hint::after{
  content:""; width:1px; height:52px;
  background:linear-gradient(rgba(255,255,255,.6), transparent);
  animation:dropHint 1.8s ease-in-out infinite;
}
@keyframes dropHint{ 0%{ transform:scaleY(0); transform-origin:top; } 55%{ transform:scaleY(1); transform-origin:top; } 56%{ transform-origin:bottom; } 100%{ transform:scaleY(0); transform-origin:bottom; } }

/* ============================================================
   4. 滚动内容区（黑色面板 · z 轴在底图之上）
   ============================================================ */
.panel{
  position:relative; z-index:2;
  background:var(--black);
  padding:120px 9vw;
}
.panel + .panel{ border-top:1px solid rgba(255,255,255,.07); }
.main{
  position:relative; z-index:2;
  min-height:60vh;
  padding:150px 9vw 96px;
  background:rgba(0,0,0,.5);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.main.thin{ padding-top:170px; }
.wrap{ max-width:1120px; margin:0 auto; }
.wrap.wide{ max-width:1200px; }

/* 面板/页面标题（编号 · 主标题 · 英文副标 · 说明） */
.panel-head{
  display:flex; align-items:baseline; gap:22px; margin-bottom:64px; flex-wrap:wrap;
}
.panel-head .no, .page-head .no{
  font-size:13px; letter-spacing:.2em; color:var(--red); font-weight:600;
}
.panel-head h2{ font-size:34px; font-weight:800; letter-spacing:.14em; }
.panel-head .en{ font-size:12px; letter-spacing:.5em; color:var(--gray); text-transform:uppercase; }
.page-head{
  display:flex; align-items:baseline; gap:22px;
  margin-bottom:58px; flex-wrap:wrap;
}
.page-head h1{ font-size:36px; font-weight:800; letter-spacing:.14em; line-height:1.3; }
.page-head .en{ font-size:12px; letter-spacing:.5em; color:var(--gray); text-transform:uppercase; }
.page-head .kicker{
  margin-left:auto; display:flex; align-items:center; gap:12px;
  font-size:11px; letter-spacing:.34em; color:rgba(255,255,255,.55);
}
.page-head .kicker::before{ content:""; width:26px; height:1px; background:var(--red); }
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .8s ease, transform .8s ease; }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------- 4.1 首页：关于区 / 分类频道区 ---------- */
.ch-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ch-card{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:center; gap:12px;
  min-height:220px; padding:34px 30px;
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  transition:border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.ch-card:hover{
  border-color:rgba(229,57,53,.55);
  transform:translateY(-4px);
  box-shadow:0 0 0 1px rgba(229,57,53,.22), 0 24px 60px rgba(0,0,0,.45);
}
.ch-card .ch-en{
  font-size:11px; letter-spacing:.5em; color:rgba(255,255,255,.45);
  text-transform:uppercase;
}
.ch-card .ch-name{ font-size:34px; font-weight:800; letter-spacing:.3em; }
.ch-card .ch-name i{ font-style:normal; color:var(--red); text-shadow:0 0 24px rgba(229,57,53,.6); }
.ch-card .ch-sub{ font-size:12px; letter-spacing:.22em; color:rgba(255,255,255,.55); }
.about-note{
  font-size:14.5px; line-height:2.1; letter-spacing:.05em; color:rgba(255,255,255,.68);
  max-width:820px;
}
.about-note p + p{ margin-top:16px; }

/* ---------- 4.2 文章列表 / 索引 ---------- */
.grid{ display:grid; grid-template-columns:300px 1fr; gap:40px; align-items:start; }
.sidebar{ position:sticky; top:110px; display:flex; flex-direction:column; gap:22px; }
.cat-card{
  position:relative; overflow:hidden;
  padding:40px 26px 34px;
  text-align:center;
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  transition:border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.cat-card:hover{
  border-color:rgba(229,57,53,.55);
  transform:translateY(-3px);
  box-shadow:0 0 0 1px rgba(229,57,53,.22), 0 24px 60px rgba(0,0,0,.45);
}
.cat-en{
  font-size:11px; letter-spacing:.52em; text-indent:.52em;
  color:rgba(255,255,255,.5); text-transform:uppercase; word-break:break-all;
}
.cat-zh{
  margin:18px 0 16px;
  font-size:76px; font-weight:800; line-height:1.05;
  letter-spacing:.14em; text-indent:.14em;
  color:var(--white);
  user-select:none; word-break:break-all;
}
.cat-zh i{ font-style:normal; color:var(--red); text-shadow:0 0 26px rgba(229,57,53,.75); }
.cat-line{ width:34px; height:2px; margin:0 auto; background:var(--red); }
.cat-sub{
  margin-top:16px;
  font-size:12px; letter-spacing:.22em; color:rgba(255,255,255,.55);
}
.side-card{
  padding:20px 22px;
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  font-size:12px; letter-spacing:.14em; color:rgba(255,255,255,.62);
  line-height:2;
}
.side-card b{ color:var(--white); font-weight:700; letter-spacing:.06em; }
.side-card .hl{ color:var(--red); font-weight:700; }
.side-card a{ color:var(--white); transition:color .25s ease; }
.side-card a:hover{ color:var(--red); }
.side-links{ list-style:none; margin-top:4px; }
.side-links li{ display:flex; align-items:baseline; gap:10px; }
.side-links .sl-dot{ width:5px; height:5px; border-radius:50%; background:var(--gray); flex:none; }

.list{ display:flex; flex-direction:column; gap:22px; }
.post{
  position:relative; overflow:hidden;
  display:flex;
  min-height:178px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  transition:border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.post::before{
  content:""; position:absolute; left:0; top:0; bottom:0; z-index:3;
  width:3px; background:var(--red); opacity:.85;
}
a.post:hover{
  border-color:rgba(255,255,255,.35);
  transform:translateY(-4px);
  box-shadow:0 22px 50px rgba(0,0,0,.45);
}
.post-bg{ position:absolute; inset:0; }
.post-bg svg{
  position:absolute; right:-6px; top:50%; transform:translateY(-50%);
  height:118%; width:auto; opacity:.5;
  pointer-events:none;
}
.post-glass{
  position:absolute; inset:0;
  background:rgba(10,10,10,.42);
  backdrop-filter:blur(13px); -webkit-backdrop-filter:blur(13px);
  transition:background .35s ease;
}
a.post:hover .post-glass{ background:rgba(10,10,10,.34); }
.post-body{
  position:relative; z-index:2;
  width:100%;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:26px 30px;
}
.post-top{ display:flex; justify-content:space-between; align-items:baseline; gap:18px; }
.post-title{
  font-size:21px; font-weight:800; letter-spacing:.08em;
  line-height:1.45;
  transition:color .3s ease;
}
a.post:hover .post-title{ color:var(--red); }
.post-date{
  flex:none;
  font-size:12px; letter-spacing:.16em; color:rgba(255,255,255,.55);
}
.post-excerpt{
  margin-top:10px;
  font-size:13.5px; line-height:1.85; letter-spacing:.04em;
  color:rgba(255,255,255,.68);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.post-foot{
  margin-top:14px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.post-cat{
  font-size:10px; letter-spacing:.3em; color:var(--red);
  border:1px solid rgba(229,57,53,.55);
  background:rgba(229,57,53,.12);
  padding:4px 12px; border-radius:999px; white-space:nowrap;
}
.post-cats{ display:flex; gap:8px; flex-wrap:wrap; }
.post-cats a.post-cat{ transition:background .3s ease; }
.post-cats a.post-cat:hover{ background:rgba(229,57,53,.28); }
.post-read{
  display:flex; align-items:center; gap:8px;
  font-size:12px; letter-spacing:.24em; color:rgba(255,255,255,.55);
  transition:color .3s ease;
}
a.post:hover .post-read{ color:var(--white); }
.post-read .arr{ transition:transform .3s ease; }
a.post:hover .post-read .arr{ transform:translateX(5px); color:var(--red); }
.post.flash{ animation:flash 1.6s ease; }
@keyframes flash{
  0%{ box-shadow:0 0 0 2px rgba(229,57,53,.85); }
  100%{ box-shadow:0 0 0 2px rgba(229,57,53,0); }
}
.list.fading{ opacity:0; transform:translateY(10px); }
.list{ transition:opacity .3s ease, transform .3s ease; }

/* 空态提示 */
.no-posts{
  padding:80px 30px; text-align:center;
  background:rgba(255,255,255,.04);
  border:1px dashed rgba(255,255,255,.22);
  border-radius:16px;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.no-posts .np-title{ font-size:20px; font-weight:700; letter-spacing:.3em; color:var(--white); }
.no-posts p{ margin-top:12px; font-size:13px; letter-spacing:.12em; color:rgba(255,255,255,.55); line-height:2; }

/* ---------- 4.3 分页（首页 / 列表 / 归档共用） ---------- */
.pager{
  margin-top:46px;
  display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap;
}
.p-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 30px;
  font-size:13px; letter-spacing:.3em; text-indent:.3em;
  color:rgba(255,255,255,.85);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  cursor:pointer;
  transition:color .3s ease, background .3s ease, border-color .3s ease, transform .3s ease;
}
.p-btn:hover:not([disabled]), .pager a.p-btn:hover{
  color:var(--red); border-color:rgba(229,57,53,.6);
  background:rgba(229,57,53,.10); transform:translateY(-2px);
}
.p-btn[disabled]{ opacity:.3; cursor:default; pointer-events:none; }
.p-nums{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.p-num{
  width:42px; height:42px; border-radius:12px;
  font-size:14px; letter-spacing:.1em;
  color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.2);
  cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  transition:color .3s ease, background .3s ease, border-color .3s ease, transform .3s ease;
}
a.p-num:hover{ color:var(--white); border-color:rgba(255,255,255,.45); transform:translateY(-2px); }
.p-num.on, .pager .current.p-num{
  color:var(--white);
  background:var(--red);
  border-color:var(--red);
  box-shadow:0 0 22px rgba(229,57,53,.45);
}
.p-num.dots{ border:none; background:transparent; cursor:default; }

/* ============================================================
   5. 单篇文章 Single / 静态页面 Page
   ============================================================ */
.article{
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  overflow:hidden;
}
.article-head{ padding:52px 56px 38px; border-bottom:1px solid rgba(255,255,255,.08); }
.article-head .ah-meta{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  font-size:11px; letter-spacing:.26em; color:rgba(255,255,255,.55);
}
.article-head .ah-meta time{ color:var(--gray); }
.article-head h1.entry-title{
  margin-top:18px;
  font-size:34px; font-weight:800; letter-spacing:.1em; line-height:1.5;
}
.article-head .ah-sub{
  margin-top:14px; font-size:12px; letter-spacing:.22em; color:rgba(255,255,255,.5);
}
.entry-content{
  padding:44px 56px 52px;
  font-size:15.5px; line-height:2.05; letter-spacing:.03em;
  color:rgba(255,255,255,.86);
  overflow-wrap:break-word;
}
.entry-content > * + *{ margin-top:1.15em; }
.entry-content h1,.entry-content h2,.entry-content h3,
.entry-content h4,.entry-content h5,.entry-content h6{
  color:var(--white); font-weight:800; letter-spacing:.1em; line-height:1.5;
  margin-top:1.9em; margin-bottom:.6em;
}
.entry-content h1{ font-size:26px; }
.entry-content h2{ font-size:23px; }
.entry-content h3{ font-size:19px; }
.entry-content h4{ font-size:16.5px; }
.entry-content h2::before{ content:"· "; color:var(--red); }
.entry-content h3::before{ content:"— "; color:var(--red); opacity:.8; }
.entry-content p{ margin-bottom:1.2em; }
.entry-content a{
  color:var(--red);
  border-bottom:1px solid rgba(229,57,53,.45);
  transition:border-color .3s ease;
}
.entry-content a:hover{ border-bottom-color:var(--red); }
.entry-content ul,.entry-content ol{ padding-left:1.5em; margin-bottom:1.2em; }
.entry-content ul li,.entry-content ol li{ margin:.4em 0; }
.entry-content ul li::marker{ color:var(--red); }
.entry-content blockquote{
  margin:1.6em 0; padding:18px 26px;
  border-left:3px solid var(--red);
  background:rgba(255,255,255,.05);
  border-radius:0 12px 12px 0;
  color:rgba(255,255,255,.75);
  font-style:normal;
}
.entry-content blockquote p{ margin:0; }
.entry-content blockquote cite{ display:block; margin-top:10px; font-size:12px; color:var(--gray); font-style:normal; letter-spacing:.1em; }
.entry-content pre{
  padding:20px 22px; overflow:auto;
  background:#0d0d0d; border:1px solid rgba(255,255,255,.14); border-radius:12px;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  font-size:13px; line-height:1.8; color:#e6e6e6;
}
.entry-content code{
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  font-size:.92em;
  background:rgba(255,255,255,.1); padding:2px 7px; border-radius:6px; color:var(--red-soft);
  color:#ff8a86;
}
.entry-content pre code{ background:none; padding:0; color:inherit; font-size:inherit; }
.entry-content img{ border-radius:10px; height:auto; }
.entry-content figure{ margin:1.8em 0; }
.entry-content figure img{ margin:0 auto; }
.entry-content figcaption,.entry-content .wp-caption-text{
  margin-top:10px; text-align:center;
  font-size:12px; letter-spacing:.12em; color:var(--gray);
}
.entry-content table{ width:100%; border-collapse:collapse; font-size:14px; margin:1.5em 0; }
.entry-content th,.entry-content td{ border:1px solid rgba(255,255,255,.16); padding:10px 14px; text-align:left; }
.entry-content th{ background:rgba(255,255,255,.07); color:var(--white); letter-spacing:.1em; font-weight:600; }
.entry-content hr{ border:none; height:1px; background:linear-gradient(90deg, rgba(255,255,255,.35), transparent); margin:2.2em 0; }
.entry-content .alignleft{ float:left; margin:6px 24px 12px 0; }
.entry-content .alignright{ float:right; margin:6px 0 12px 24px; }
.entry-content .aligncenter{ margin-left:auto; margin-right:auto; }
.entry-content .wp-block-quote{ border-left:3px solid var(--red); }
.entry-content .wp-block-pullquote{ border:1px solid rgba(255,255,255,.16); border-left:3px solid var(--red); border-radius:12px; }
.entry-content .wp-block-pullquote blockquote{ border:none; background:none; margin:0; }
.entry-content .wp-block-separator{ border-top:1px solid rgba(255,255,255,.2); }
.entry-content .wp-block-gallery .blocks-gallery-item figcaption,
.entry-content .wp-block-image figcaption{ background:rgba(0,0,0,.55); }
.entry-content .gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.entry-content .gallery-item{ margin:0; }
.entry-content .gallery-item img{ width:100%; }
.entry-content iframe{ max-width:100%; border-radius:12px; }
.entry-content video{ max-width:100%; border-radius:12px; }

/* 标签 / 上一篇下一篇 / 正文底部分隔 */
.entry-foot{ padding:26px 56px 40px; }
.entry-tags{ display:flex; gap:10px; flex-wrap:wrap; }
.entry-tags .tag-chip{
  font-size:11px; letter-spacing:.2em; color:rgba(255,255,255,.75);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px; padding:7px 16px;
  transition:color .3s ease, border-color .3s ease;
}
.entry-tags .tag-chip:hover{ color:var(--red); border-color:rgba(229,57,53,.6); }
.post-nav{
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
  margin-top:34px; padding-top:30px;
  border-top:1px solid rgba(255,255,255,.1);
}
.post-nav .pn{
  display:flex; flex-direction:column; gap:8px;
  padding:20px 24px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  transition:border-color .3s ease, transform .3s ease;
}
.post-nav .pn:hover{ border-color:rgba(229,57,53,.55); transform:translateY(-2px); }
.post-nav .pn.next{ text-align:right; align-items:flex-end; }
.post-nav .pn .pn-label{ font-size:10px; letter-spacing:.34em; color:var(--gray); }
.post-nav .pn .pn-title{ font-size:14px; font-weight:600; letter-spacing:.06em; line-height:1.6; color:var(--white); }
.post-nav .pn:hover .pn-title{ color:var(--red); }
.post-nav .pn > a{
  display:flex; flex-direction:column; gap:8px; align-items:flex-start;
  color:inherit; min-width:0;
}
.post-nav .pn.next > a{ align-items:flex-end; text-align:right; }

/* ============================================================
   6. 评论
   ============================================================ */
.comments-area{ margin-top:44px; }
.comments-area .comments-title,.comments-area .comment-reply-title{
  font-size:20px; font-weight:800; letter-spacing:.16em; color:var(--white);
  margin-bottom:24px;
}
.comment-list{ list-style:none; }
.comment-list .comment{ padding:20px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.comment-list .children{ list-style:none; padding-left:44px; margin-top:6px; }
.comment-body{ font-size:14px; line-height:1.9; }
.comment-meta{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:8px; }
.comment-author .fn{ font-size:13px; font-weight:700; letter-spacing:.1em; color:var(--white); }
.comment-author .says{ display:none; }
.comment-meta time,.comment-meta a{ font-size:11px; letter-spacing:.14em; color:var(--gray); }
.comment-meta a:hover{ color:var(--red); }
.comment-awaiting-moderation{ color:var(--red); font-size:12px; }
.comment-content p{ margin:.5em 0; color:rgba(255,255,255,.8); }
.reply a,.comment-reply-link{
  font-size:11px; letter-spacing:.2em; color:var(--gray);
  transition:color .3s ease;
}
.reply a:hover{ color:var(--red); }
.bypostauthor .comment-author .fn::after{
  content:" ★"; color:var(--red); font-size:10px; vertical-align:super;
}
.comment-respond{ margin-top:44px; padding-top:34px; border-top:1px solid rgba(255,255,255,.1); }
.comment-form label{ display:block; font-size:11px; letter-spacing:.3em; color:var(--gray); margin-bottom:8px; }
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],
.comment-form textarea{
  width:100%; padding:13px 16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  color:var(--white); font-size:14px; letter-spacing:.05em;
  transition:border-color .3s ease, background .3s ease;
}
.comment-form input:focus,.comment-form textarea:focus{ outline:none; border-color:var(--red); background:rgba(229,57,53,.05); }
.comment-form textarea{ min-height:120px; resize:vertical; }
.comment-form .submit{
  margin-top:18px; padding:13px 40px;
  font-size:13px; font-weight:600; letter-spacing:.3em; text-indent:.3em;
  color:var(--white);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px; cursor:pointer;
  transition:color .3s ease, border-color .3s ease, background .3s ease;
}
.comment-form .submit:hover{
  color:var(--red); border-color:rgba(229,57,53,.65);
  background:rgba(229,57,53,.10);
}
.comment-form .form-submit{ margin-top:0; }
.comment-form p{ margin-bottom:16px; }
.comment-form-cookies-consent input{ margin:0; }
.comments-closed{ font-size:13px; letter-spacing:.12em; color:rgba(255,255,255,.55); margin-top:18px; }
.comments-pagination{ margin-top:26px; display:flex; justify-content:center; }
.comments-pagination .nav-links{ display:flex; gap:12px; align-items:center; }
.comments-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 12px;
  border-radius:12px; font-size:13px; letter-spacing:.1em;
  color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.2);
  transition:color .3s ease, border-color .3s ease, background .3s ease;
}
.comments-pagination .page-numbers:hover{ color:var(--red); border-color:rgba(229,57,53,.6); }
.comments-pagination .page-numbers.current{ color:#fff; background:var(--red); border-color:var(--red); }
.comment-form .comment-form-cookies-consent{ display:flex; gap:8px; align-items:center; }
.comment-form .comment-form-cookies-consent label{ margin:0; letter-spacing:.06em; }
.comment-form .required{ color:var(--red); }
.logged-in-as,.must-log-in{ font-size:12px; letter-spacing:.1em; color:rgba(255,255,255,.55); margin-bottom:16px; }
.logged-in-as a{ color:var(--white); }
.logged-in-as a:hover{ color:var(--red); }

/* ============================================================
   7. 页脚 Footer
   ============================================================ */
.footer{
  position:relative; z-index:2;
  background:var(--black);
  border-top:1px solid rgba(255,255,255,.08);
  padding:46px 9vw 40px;
  display:flex; flex-direction:column; align-items:center; gap:16px;
  text-align:center;
}
.footer .flinks{ display:flex; align-items:center; gap:26px; font-size:13px; letter-spacing:.12em; flex-wrap:wrap; justify-content:center; }
.footer .flinks ul{ list-style:none; display:flex; gap:26px; flex-wrap:wrap; }
.footer .flinks .label{ color:var(--gray); font-size:12px; letter-spacing:.3em; }
.footer .flinks a{ color:rgba(255,255,255,.8); transition:color .3s ease; }
.footer .flinks a:hover{ color:var(--red); }
.footer .beian{
  font-size:12px; letter-spacing:.14em; color:var(--gray);
  transition:color .3s ease;
}
.footer .beian:hover{ color:var(--red); }

/* ============================================================
   8. 搜索面板（站内检索 · 结果可点击跳转）
   ============================================================ */
.search-mask{
  position:fixed; inset:0; z-index:300;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  display:flex; align-items:flex-start; justify-content:center;
  padding-top:12vh;
  opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s;
}
.search-mask.on{ opacity:1; visibility:visible; }
.search-panel{
  width:min(660px, 92vw);
  background:rgba(12,12,12,.9);
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
  transform:translateY(-14px); transition:transform .3s ease;
}
.search-mask.on .search-panel{ transform:none; }
.search-box{
  display:flex; align-items:center; gap:14px;
  padding:20px 24px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.search-box svg{ width:20px; height:20px; color:var(--red); flex:none; }
.search-box svg *{ stroke:currentColor; }
.search-box input{
  flex:1; background:transparent; border:none; outline:none;
  font-size:19px; letter-spacing:.06em;
  color:var(--white);
}
.search-box input::placeholder{ color:rgba(255,255,255,.35); }
.search-results{ max-height:52vh; overflow-y:auto; padding:8px; }
.search-results li{
  list-style:none; display:flex; align-items:center; gap:14px;
  padding:13px 16px; border-radius:10px;
  cursor:pointer;
  transition:background .25s ease;
}
.search-results li:hover{ background:rgba(255,255,255,.07); }
.search-results li.sel{ background:rgba(229,57,53,.12); }
.r-type{
  flex:none; font-size:10px; letter-spacing:.2em;
  color:var(--red); border:1px solid rgba(229,57,53,.55);
  padding:3px 8px; border-radius:999px;
}
.r-title{ font-size:14px; font-weight:600; letter-spacing:.08em; color:var(--white); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.r-desc{ flex:1; font-size:12px; color:rgba(255,255,255,.5); letter-spacing:.05em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.r-arrow{ color:rgba(255,255,255,.4); transition:color .25s ease; flex:none; }
.search-results li:hover .r-arrow{ color:var(--red); }
.search-empty{
  display:none; padding:34px 24px; text-align:center;
  font-size:13px; letter-spacing:.2em; color:rgba(255,255,255,.45);
}
.search-empty.show{ display:block; }
.search-empty form{ margin-top:18px; display:flex; justify-content:center; }
.search-empty .s-form{
  display:flex; width:min(420px,100%);
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.18);
  border-radius:999px; overflow:hidden;
}
.search-empty .s-form input{ flex:1; min-width:0; background:transparent; border:none; outline:none; color:var(--white); font-size:13px; letter-spacing:.1em; padding:12px 20px; }
.search-empty .s-form button{
  flex:none; padding:0 24px; background:rgba(229,57,53,.9); border:none;
  color:#fff; font-size:12px; letter-spacing:.3em; cursor:pointer;
}
.search-hint{
  padding:12px 24px; border-top:1px solid rgba(255,255,255,.08);
  font-size:11px; letter-spacing:.2em; color:rgba(255,255,255,.35);
}

/* 通用搜索表单（searchform.php：404 / 搜索无结果 / 评论附近） */
.s-form{
  display:flex; width:min(480px,100%);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px; overflow:hidden;
}
.s-form input{
  flex:1; min-width:0; background:transparent; border:none; outline:none;
  color:var(--white); font-size:13px; letter-spacing:.1em; padding:13px 20px;
}
.s-form input::placeholder{ color:rgba(255,255,255,.35); }
.s-form button{
  flex:none; padding:0 26px; background:rgba(229,57,53,.9); border:none;
  color:#fff; font-size:12px; letter-spacing:.3em; cursor:pointer;
  transition:background .3s ease;
}
.s-form button:hover{ background:var(--red); }

/* ============================================================
   9. 404 页（沿用「页面还在手搓中…」视觉：整页居中版）
   ============================================================ */
.p404-page{
  position:relative; z-index:2;
  min-height:92vh;
  display:flex; align-items:center; justify-content:center;
  padding:140px 6vw 60px;
}
.p404-card{
  display:flex; flex-direction:column; align-items:center; gap:20px;
  text-align:center; width:100%; max-width:640px;
}
.p404-tag{
  font-size:11px; letter-spacing:.6em; color:var(--gray); text-transform:uppercase;
  border:1px solid rgba(255,255,255,.2); border-radius:999px;
  padding:7px 20px; backdrop-filter:blur(8px);
}
.p404-num{
  font-size:150px; font-weight:800; line-height:1; letter-spacing:.02em;
  color:var(--white); user-select:none;
}
.p404-num span{ color:var(--red); display:inline-block; transform:translateY(-6px); text-shadow:0 0 40px rgba(229,57,53,.6); }
.p404-title{
  font-size:22px; font-weight:600; letter-spacing:.18em; color:var(--white);
  margin-top:6px;
}
.p404-sub{ font-size:13px; letter-spacing:.12em; color:rgba(255,255,255,.55); line-height:1.9; }
.p404-actions{ margin-top:18px; display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.p404-back{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 40px;
  font-size:13px; font-weight:600; letter-spacing:.28em; text-indent:.28em;
  color:var(--white);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.35);
  border-radius:12px;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  transition:background .35s ease, border-color .35s ease, color .35s ease, transform .3s ease;
}
.p404-back:hover{
  color:var(--red); border-color:rgba(229,57,53,.65);
  background:rgba(229,57,53,.10); transform:translateY(-2px);
}
.p404-page .search-wrap{
  width:min(480px, 100%); margin-top:4px;
}
.p404-page .s-form{
  display:flex; width:100%;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.18);
  border-radius:999px; overflow:hidden;
}
.p404-page .s-form input{ flex:1; min-width:0; background:transparent; border:none; outline:none; color:var(--white); font-size:13px; letter-spacing:.1em; padding:13px 20px; }
.p404-page .s-form button{
  flex:none; padding:0 26px; background:rgba(229,57,53,.9); border:none;
  color:#fff; font-size:12px; letter-spacing:.3em; cursor:pointer;
  transition:background .3s ease;
}
.p404-page .s-form button:hover{ background:var(--red); }

/* ============================================================
   10. WordPress 细节工具类
   ============================================================ */
.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; width:1px; margin:-1px; overflow:hidden;
  padding:0; position:absolute !important; word-wrap:normal !important;
}
.skip-link{
  position:fixed; left:20px; top:-60px; z-index:9000;
  padding:10px 18px; background:var(--red); color:#fff;
  font-size:12px; letter-spacing:.2em; border-radius:8px;
  transition:top .3s ease;
}
.skip-link:focus{ top:14px; color:#fff; }
.sticky .post-body{ }
.entry-content .sticky-label{ display:none; }
.edit-link{ margin-top:22px; font-size:12px; letter-spacing:.1em; }
.edit-link a{ color:var(--gray); border-bottom:1px dashed rgba(255,255,255,.3); }
.edit-link a:hover{ color:var(--red); border-color:var(--red); }
.entry-content .wp-block-button__link{
  background:var(--red); color:#fff; border-radius:999px;
  padding:12px 28px; display:inline-block;
}

/* ============================================================
   11. 窄屏适配（≤900px / ≤640px / ≤380px，合并首页与列表页规则）
   ============================================================ */
@media (max-width:900px){
  /* 触屏/移动端：滚动进入动画直接显示，保证文章内容立即可见、避免滚动卡顿 */
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  /* 滚动区毛玻璃降级为高不透明深色背景：去掉滚动时的 backdrop 重采样（修复背景“抽动/放大”类问题） */
  .main{ background:rgba(0,0,0,.82); backdrop-filter:none; -webkit-backdrop-filter:none; }
  .article, .no-posts, .side-card, .cat-card, .ch-card, .post-glass{ backdrop-filter:none; -webkit-backdrop-filter:none; }
  .post-glass{ background:rgba(10,10,10,.68); }
  /* 背景图层稳定：禁用淡入过渡与合成层抖动 */
  #wallpaper{ -webkit-backface-visibility:hidden; backface-visibility:hidden; }
  #wallpaper img{ transition:none !important; }
  #header{ padding:18px 22px; flex-wrap:wrap; }
  #site-nav{ order:3; width:100%; justify-content:center; }
  #site-nav ul{ justify-content:center; }
  .main{ padding:130px 24px 70px; }
  .page-head{ margin-bottom:40px; gap:14px; }
  .page-head .kicker{ margin-left:0; }
  .grid{ grid-template-columns:1fr; gap:28px; }
  .sidebar{
    position:static;
    flex-direction:row; gap:16px;
    align-items:stretch;
  }
  .cat-card{
    flex:1.4; padding:26px 22px;
    display:flex; flex-direction:column; justify-content:center;
  }
  .cat-zh{ font-size:56px; margin:12px 0 10px; }
  .side-card{ flex:1; display:flex; flex-direction:column; justify-content:center; }
  .ch-grid{ grid-template-columns:repeat(2,1fr); }
  .header-icons{ gap:30px; }
  .header-icons .icon{ width:48px; height:48px; }
  .brand-name{ font-size:19px; }
  .tagline{ font-size:10px; }
  .p404-num{ font-size:100px; }
  .article-head,.entry-content,.entry-foot{ padding-left:34px; padding-right:34px; }
  .post-nav{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  #header{
    padding:12px 18px;
    padding-top:calc(12px + env(safe-area-inset-top));
  }
  #site-nav{ order:3; width:100%; }
  #site-nav a{ padding:8px 12px; font-size:11px; letter-spacing:.18em; text-indent:.18em; }
  .brand-name{ font-size:18px; letter-spacing:.12em; }
  .tagline{ font-size:10px; letter-spacing:.1em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:50vw; }
  .header-icons{ gap:12px; }
  .header-icons .icon{
    width:38px; height:38px;          /* 手机端放大图标（视觉尺寸 38px） */
    padding:9px; margin:-9px;         /* 触摸热区 ≈ 56px */
  }
  .lang-menu{ right:-6px; top:calc(100% + 10px); }

  .hero{ padding:0 0 34px 7vw; }
  .hero-kicker{ font-size:10px; letter-spacing:.3em; }
  .hero-inner{ gap:20px; }
  .cta{ padding:16px 36px; font-size:17px; letter-spacing:.24em; text-indent:.24em; }
  .subnav{ flex-direction:column; align-items:stretch; width:min(280px, 82vw); gap:10px; }
  .chip{ text-align:center; padding:13px 0; font-size:13px; letter-spacing:.4em; text-indent:.4em; }
  .scroll-hint{ display:none; }

  .panel{ padding:64px 22px; }
  .main{ padding:112px 16px 56px; background:rgba(0,0,0,.58); }
  .panel-head{ margin-bottom:36px; gap:14px; }
  .panel-head h2{ font-size:26px; }
  .page-head{ gap:12px; margin-bottom:30px; }
  .page-head h1{ font-size:27px; }
  .page-head .en{ letter-spacing:.3em; font-size:11px; }
  .page-head .kicker{ font-size:10px; letter-spacing:.22em; }
  .sidebar{ flex-direction:column; gap:14px; }
  .cat-card{ padding:22px 18px; }
  .cat-zh{ font-size:64px; }
  .cat-en{ letter-spacing:.4em; }
  .ch-grid{ grid-template-columns:1fr; gap:14px; }
  .ch-card{ min-height:150px; padding:26px 22px; }
  .ch-card .ch-name{ font-size:28px; }

  .list{ gap:16px; }
  .post{ min-height:150px; border-radius:14px; }
  .post-body{ padding:20px; }
  .post-title{ font-size:17px; letter-spacing:.05em; }
  .post-date{ font-size:11px; letter-spacing:.1em; }
  .post-excerpt{ font-size:12.5px; line-height:1.75; margin-top:8px; -webkit-line-clamp:2; }
  .post-foot{ margin-top:10px; }
  .post-cat{ font-size:9px; letter-spacing:.22em; padding:3px 10px; }
  .post-read{ font-size:11px; letter-spacing:.16em; }
  .post-bg svg{ height:100%; opacity:.4; }

  .pager{ gap:12px; margin-top:34px; }
  .p-btn{ padding:13px 22px; font-size:12px; letter-spacing:.2em; text-indent:.2em; }
  .p-num{ width:40px; height:40px; }

  .article-head{ padding:36px 20px 26px; }
  .article-head h1.entry-title{ font-size:25px; }
  .entry-content{ padding:28px 20px 34px; font-size:15px; line-height:1.95; }
  .entry-foot{ padding:20px 20px 28px; }
  .entry-content .gallery{ grid-template-columns:repeat(2,1fr); }
  .comment-list .children{ padding-left:18px; }

  .footer{ padding:34px 20px calc(28px + env(safe-area-inset-bottom)); gap:14px; }
  .footer .flinks{ gap:14px 20px; font-size:12.5px; }

  .p404-num{ font-size:86px; }
  .p404-title{ font-size:18px; letter-spacing:.12em; }
  .p404-sub{ font-size:12px; }
  .p404-back{ padding:13px 30px; font-size:12px; }
  .p404-card{ gap:16px; }

  .search-mask{ padding-top:8vh; align-items:flex-start; }
  .search-box{ padding:16px 18px; gap:12px; }
  .search-box input{ font-size:16px; }  /* ≥16px 避免 iOS 聚焦自动缩放 */
  .search-results{ max-height:58vh; }
  .search-results li{ padding:13px 12px; gap:10px; }
  .r-desc{ display:none; }              /* 手机端隐藏描述，留出触摸空间 */
  .search-hint{ padding:10px 18px; font-size:10px; letter-spacing:.12em; }

  .loader-text{ font-size:13px; letter-spacing:.2em; margin-bottom:84px; }
}
@media (max-width:380px){
  .brand-name{ font-size:17px; }
  .page-head h1{ font-size:24px; }
  .post-title{ font-size:16px; }
  .cat-zh{ font-size:56px; }
  .post-date{ display:none; }   /* 超小屏隐藏日期，保证标题完整 */
  .p404-num{ font-size:72px; }
  .gallery,.entry-content .gallery{ grid-template-columns:1fr; }
}

/* 长名称（作者名/日期等）作侧栏大字时缩小字号 */
.cat-zh.long{ font-size:44px; }
@media (max-width:640px){ .cat-zh.long{ font-size:38px; } }

/* ============================================================
   12. 区块编辑器工具类（与 functions.php 的色板 / 字号档位对应）
   ============================================================ */
.has-tianyi-small-font-size{ font-size:13px; }
.has-tianyi-body-font-size{ font-size:16px; }
.has-tianyi-large-font-size{ font-size:21px; }
.has-tianyi-huge-font-size{ font-size:28px; }
.has-tianyi-black-color{ color:#000000; }
.has-tianyi-white-color{ color:#ffffff; }
.has-tianyi-gray-color{ color:#888888; }
.has-tianyi-light-gray-color{ color:#f5f5f5; }
.has-tianyi-red-color{ color:#E53935; }
.has-tianyi-black-background-color{ background-color:#000000; }
.has-tianyi-white-background-color{ background-color:#ffffff; }
.has-tianyi-gray-background-color{ background-color:#888888; }
.has-tianyi-light-gray-background-color{ background-color:#f5f5f5; }
.has-tianyi-red-background-color{ background-color:#E53935; }

/* 正文里的动态图标（社交图标区块等）与其它内嵌元素 */
.entry-content .wp-block-social-links{ margin:1.4em 0; }
.entry-content .wp-block-social-links .wp-social-link a,
.entry-content .wp-block-social-links .wp-social-link a:hover{ color:inherit; text-decoration:none; }
.entry-content .wp-block-embed{ margin:1.6em 0; }
.entry-content .wp-block-embed iframe{ border-radius:12px; }
.entry-content .wp-block-button{ margin:1.6em 0; }
.entry-content .wp-block-file{ padding:14px 18px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:12px; }
.entry-content .wp-block-file a{ border-bottom:none; }
.entry-content .wp-block-separator{ border:none; border-top:1px solid rgba(255,255,255,.25); max-width:none; }

/* ============================================================
   13. 1.2.0 增强：丝滑缓动 / 公告条 / 通知弹窗 / 首页页面链接区
   ============================================================ */
:root{
  --ease:cubic-bezier(.22,1,.36,1);   /* 苹果式缓出曲线 */
  --bar-h:0px;
}
*{ -webkit-tap-highlight-color:transparent; }
html{ -webkit-text-size-adjust:100%; }

/* 触摸高亮 / 统一缓动（hover 与 focus 反馈更丝滑） */
.cta,.chip,.p-btn,.p-num,.post,.ch-card,.pl-card,.share-btn,.lang-menu button,
.article,.tag-chip,.post-nav .pn,.comment-form .submit,.icon,.nb-close,.modal-cta,
.nb-text,.footer a,.entry-content a,.category a,.s-form button{
  transition-timing-function:var(--ease);
}
.cta:active,.chip:active,.p-btn:active,.post:active,.ch-card:active,.pl-card:active{
  transform:translateY(-1px) scale(.99);
}
/* 细滚动条（暗色） */
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:transparent; }
::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.16); border-radius:8px;
  border:3px solid transparent; background-clip:content-box;
}
::-webkit-scrollbar-thumb:hover{ background:rgba(229,57,53,.7); background-clip:content-box; border:3px solid transparent; }

/* ---- 顶部公告条（维护 / 活动提醒） ---- */
body.bar-on{ --bar-h:42px; }
#header{ top:var(--bar-h); transition:top .5s var(--ease), background .4s ease, backdrop-filter .4s ease; }
.main{ padding-top:calc(150px + var(--bar-h)); }
.main.thin{ padding-top:calc(170px + var(--bar-h)); }
.p404-page{ padding-top:calc(140px + var(--bar-h)); }
.notice-bar{
  position:fixed; top:0; left:0; right:0; z-index:130;
  height:42px; overflow:hidden;
  background:rgba(8,8,8,.9);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.12);
  transform:translateY(0);
  transition:transform .5s var(--ease);
}
.notice-bar::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--red);
}
.notice-bar.off{ transform:translateY(-110%); }
.nb-inner{
  position:relative; height:100%;
  display:flex; align-items:center; justify-content:center; gap:18px;
  padding:0 54px;
}
.nb-text{
  display:inline-block; max-width:calc(100vw - 130px);
  font-size:12.5px; letter-spacing:.18em; color:rgba(255,255,255,.9);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  transition:color .3s ease;
}
a.nb-text:hover{ color:var(--red); }
.nb-close{
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; padding:6px;
  display:flex; align-items:center; justify-content:center;
  background:none; border:1px solid transparent; border-radius:50%;
  color:rgba(255,255,255,.6); cursor:pointer;
  transition:color .3s ease, border-color .3s ease, background .3s ease, transform .3s ease;
}
.nb-close svg{ width:100%; height:100%; }
.nb-close svg *{ stroke:currentColor; }
.nb-close:hover{ color:var(--red); border-color:rgba(229,57,53,.6); background:rgba(229,57,53,.1); }

/* ---- 通知弹窗（维护 / 活动提醒） ---- */
.modal-mask{
  position:fixed; inset:0; z-index:500;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:center;
  padding:26px;
  opacity:0; visibility:hidden;
  transition:opacity .35s ease, visibility .35s ease;
}
.modal-mask.on{ opacity:1; visibility:visible; }
.modal{
  width:min(540px, 100%); max-height:82vh; overflow-y:auto;
  background:rgba(12,12,12,.94);
  backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:22px;
  box-shadow:0 40px 100px rgba(0,0,0,.6);
  transform:translateY(28px) scale(.96); opacity:0;
  transition:transform .5s var(--ease), opacity .3s ease;
}
.modal-mask.on .modal{ transform:none; opacity:1; }
.modal-head{
  display:flex; align-items:center; gap:14px;
  padding:24px 26px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.modal-no{
  flex:none; font-size:10px; letter-spacing:.4em; text-indent:.4em;
  color:var(--red);
  border:1px solid rgba(229,57,53,.55);
  background:rgba(229,57,53,.12);
  padding:5px 12px; border-radius:999px;
}
.modal-title{ flex:1; min-width:0; font-size:19px; font-weight:800; letter-spacing:.14em; color:var(--white); }
.modal-x{
  flex:none; width:34px; height:34px; padding:8px;
  display:flex; align-items:center; justify-content:center;
  background:none; border:1px solid transparent; border-radius:50%;
  color:rgba(255,255,255,.6); cursor:pointer;
  transition:color .3s ease, border-color .3s ease, background .3s ease, transform .3s ease;
}
.modal-x svg{ width:100%; height:100%; }
.modal-x svg *{ stroke:currentColor; }
.modal-x:hover{ color:var(--red); border-color:rgba(229,57,53,.6); background:rgba(229,57,53,.1); transform:rotate(90deg); }
.modal-body{ padding:24px 26px 8px; font-size:14.5px; line-height:2.05; letter-spacing:.03em; color:rgba(255,255,255,.82); }
.modal-body p{ margin-bottom:14px; }
.modal-foot{ padding:6px 26px 26px; display:flex; justify-content:flex-end; }
.modal-cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 34px;
  font-size:13px; font-weight:600; letter-spacing:.3em; text-indent:.3em;
  color:#fff; background:var(--red);
  border:1px solid var(--red); border-radius:999px;
  cursor:pointer;
  transition:background .35s ease, box-shadow .35s ease, transform .35s ease;
}
.modal-cta:hover{ background:#c62828; box-shadow:0 10px 30px rgba(229,57,53,.35); transform:translateY(-2px); }
.modal-cta:active{ transform:translateY(0) scale(.98); }

/* ---- 首页“页面链接”毛玻璃区（频道之下） ---- */
.pl-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pl-card{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:12px;
  min-height:210px; padding:30px 28px;
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  transition:border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.pl-card::before{
  content:""; position:absolute; left:0; top:0; bottom:0;
  width:3px; background:var(--red); opacity:.85;
}
.pl-card:hover{
  border-color:rgba(255,255,255,.35);
  transform:translateY(-4px);
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.pl-en{ font-size:10px; letter-spacing:.46em; text-indent:.46em; color:rgba(255,255,255,.45); text-transform:uppercase; }
.pl-title{ font-size:20px; font-weight:800; letter-spacing:.08em; line-height:1.5; color:var(--white); transition:color .3s ease; }
.pl-card:hover .pl-title{ color:var(--red); }
.pl-desc{
  font-size:13px; line-height:1.9; letter-spacing:.03em; color:rgba(255,255,255,.62);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.pl-go{
  margin-top:auto; padding-top:8px;
  display:flex; align-items:center; gap:8px;
  font-size:12px; letter-spacing:.3em; color:rgba(255,255,255,.55);
  transition:color .3s ease;
}
.pl-card:hover .pl-go{ color:var(--white); }
.pl-go .arr{ transition:transform .35s var(--ease), color .3s ease; }
.pl-card:hover .pl-go .arr{ transform:translateX(6px); color:var(--red); }

/* 仅剩上一篇或下一篇时占整行 */
.post-nav.single{ grid-template-columns:1fr; }
.post-nav.single .pn.next > a{ align-items:flex-end; }

/* 移动端适配（公告条让位 / 弹窗与页面卡单栏） */
@media (max-width:900px){
  .pl-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
}
@media (max-width:640px){
  .main{ padding-top:calc(130px + var(--bar-h)); }
  .notice-bar{ height:40px; }
  body.bar-on{ --bar-h:40px; }
  .nb-text{ font-size:11.5px; letter-spacing:.1em; padding:0 8px; }
  .nb-inner{ padding:0 46px; }
  .pl-grid{ grid-template-columns:1fr; gap:14px; }
  .pl-card{ min-height:0; padding:24px 22px; }
  .modal-mask{ padding:16px; align-items:flex-end; }
  .modal{ border-radius:20px; }
}
@media (max-width:380px){
  .modal-head{ padding:20px 18px 14px; }
  .modal-body{ padding:18px 18px 4px; }
  .modal-foot{ padding:4px 18px 20px; }
}

/* ============================================================
   14. 1.3.0 修复：页脚始终贴底（内容不足一屏时不再上浮）
   ============================================================ */
html{ min-height:100%; }
body{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
/* 主内容区（首页 Hero / 列表 / 单篇 / 404）占满剩余高度，把页脚推到底部 */
.hero, .main, .p404-page{ flex:1 0 auto; }
.footer{ flex-shrink:0; margin-top:auto; }
/* 固定定位层不受 flex 影响 */
#loader, #wallpaper, #noticeBar, #header, .search-mask, .modal-mask, .toast, .skip-link{
  flex:none;
}

/* ============================================================
   15. 1.3.0：公告条外观变量 + 弹窗富文本排版
   ============================================================ */
.nb-text{
  color:var(--nb-color, #ffffff);
  font-size:var(--nb-fs, 13.5px);
  line-height:1;
  transition:color .3s ease;
}
.notice-bar{ height:auto; min-height:42px; }
body.bar-on{ --bar-h:46px; }
.nb-inner{ padding:9px 54px; }
@media (max-width:640px){
  body.bar-on{ --bar-h:44px; }
  .notice-bar{ min-height:40px; }
  .nb-inner{ padding:8px 46px; }
}
/* 弹窗富文本正文（来自 WP 编辑器页面/文章）：沿用正文排版但去掉外衬 */
.modal-body .entry-content.rich{
  padding:0;
  background:none;
  border:none;
}
.modal-body .entry-content.rich img{ border-radius:10px; margin:10px auto; }
.modal-body .entry-content.rich figure{ margin:14px 0; }
.modal-body .entry-content.rich .wp-block-image img{ margin:0 auto; }



