/*
Theme Name: 拾韵集
Theme URI: https://example.org/
Author: 拾韵集
Author URI: https://example.org/
Description: 为个人博客「拾韵集」设计的克制、安静、有文学感的中文博客主题。暖纸底色 × 墨色 × 印章红，系统字体零外部请求，移动端优先，适合长篇中文阅读。
Version: 1.3.0
Requires at least: 5.9
Tested up to: 6.6
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: shiyunji
Tags: blog, one-column, custom-menu, featured-images
*/

/* ============================================================
   SECTION: design-tokens —— 「拾韵集」设计变量
   ============================================================ */
:root{
  /* 配色：暖纸 × 墨色 × 印章红 */
  --paper:#F6F1E7;          /* 纸面底色 */
  --surface:#FCFAF4;        /* 卡片浮面 */
  --surface-2:#F1EADC;      /* 次级底 */
  --ink:#2A2724;            /* 正文墨色 */
  --ink-soft:#6E675C;       /* 次级文字 */
  --ink-mute:#9A927F;       /* 弱化文字 */
  --line:#E4DCCB;           /* 分界线 */
  --line-strong:#D2C6AE;    /* 强调分界线 */
  --seal:#9E3B2F;           /* 印章红（唯一强调色） */
  --seal-deep:#82301F;      /* 印章红·按压 */
  --seal-wash:#F3E4DC;      /* 印章红浅底 */
  --footer:#2C2823;         /* 页脚深底 */
  --footer-ink:#CFC7B8;

  /* 字体：系统字体栈，零外部请求 */
  --serif:"Songti SC","STSong","Noto Serif SC","Noto Serif CJK SC","SimSun",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Source Han Sans SC","Microsoft YaHei",-apple-system,sans-serif;

  /* 间距体系（4 的倍数） */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px;
  --sp-6:32px; --sp-7:48px; --sp-8:64px; --sp-9:96px;

  --r-sm:4px; --r-md:6px; --r-lg:10px;
  --shadow-1:0 1px 2px rgba(42,39,36,.05);
  --shadow-2:0 6px 24px rgba(42,39,36,.08);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
ul,ol{list-style:none}

.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute;height:1px;width:1px;overflow:hidden}
:focus-visible{outline:2px solid var(--seal);outline-offset:2px}

/* ============================================================
   SECTION: site-header —— 页头导航
   ============================================================ */
.site-header{background:var(--surface);border-bottom:1px solid var(--line)}
.header-inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-6)}
.brand{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}
.seal-mark{width:36px;height:36px;background:var(--seal);color:#F8F2E8;font-family:var(--serif);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);letter-spacing:0}
.brand-name{font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:.14em}
.brand-sub{font-size:11px;color:var(--ink-mute);letter-spacing:.2em;margin-top:-2px}

ul.main-nav{margin-left:auto;display:flex;gap:var(--sp-5)}
ul.main-nav a{display:inline-block;font-size:15px;color:var(--ink-soft);padding:6px 2px;border-bottom:2px solid transparent;transition:color .15s}
ul.main-nav a:hover{color:var(--ink)}
ul.main-nav li.current-menu-item>a,
ul.main-nav li.current_page_item>a,
ul.main-nav li.current-menu-ancestor>a{color:var(--ink);font-weight:600;border-bottom-color:var(--seal)}
.nav-rss{font-size:13px;color:var(--ink-mute);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:3px 10px;flex-shrink:0}
.nav-rss:hover{color:var(--seal);border-color:var(--seal)}
.menu-btn{display:none;background:none;border:1px solid var(--line-strong);border-radius:var(--r-sm);width:40px;height:40px;position:relative;margin-left:auto;flex-shrink:0}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:10px;right:10px;height:1.5px;background:var(--ink)}
.menu-btn span{top:50%}
.menu-btn span::before{top:-6px}
.menu-btn span::after{top:6px}

/* 手机端抽屉菜单 */
.drawer{position:fixed;inset:0;background:rgba(42,39,36,.4);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}
.drawer.open{opacity:1;pointer-events:auto}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(76%,320px);background:var(--surface);box-shadow:-8px 0 32px rgba(42,39,36,.18);padding:var(--sp-6) var(--sp-5);transform:translateX(100%);transition:transform .22s ease}
.drawer.open .drawer-panel{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-6)}
.drawer-close{background:none;border:none;font-size:22px;color:var(--ink-soft);width:40px;height:40px}
ul.drawer-nav a{display:block;padding:14px 4px;font-size:17px;font-family:var(--serif);color:var(--ink);border-bottom:1px solid var(--line)}
ul.drawer-nav li.current-menu-item>a,
ul.drawer-nav li.current_page_item>a{color:var(--seal)}
.drawer-foot{margin-top:var(--sp-6);font-size:12px;color:var(--ink-mute)}

/* ============================================================
   SECTION: layout —— 通用版面
   ============================================================ */
.wrap{max-width:1000px;margin:0 auto;padding:0 var(--sp-6)}
.wrap-narrow{max-width:680px}
.section{padding:var(--sp-8) 0}
.section+.section{border-top:1px solid var(--line)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-6)}
.section-title{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:.1em}
.section-title::before{content:"";display:inline-block;width:8px;height:8px;background:var(--seal);border-radius:2px;margin-right:10px;transform:translateY(-2px)}
.section-more{font-size:13px;color:var(--ink-mute)}
.section-more:hover{color:var(--seal)}

/* 元信息 */
.meta{font-size:13px;color:var(--ink-mute);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
.tag{font-size:12px;color:var(--seal);background:var(--seal-wash);padding:2px 8px;border-radius:var(--r-sm);letter-spacing:.06em}

/* ============================================================
   SECTION: page-home —— 首页
   ============================================================ */
.hero{padding:var(--sp-9) 0 var(--sp-7);text-align:center;position:relative}
.hero::after{content:"";position:absolute;left:50%;bottom:0;width:56px;height:1px;background:var(--line-strong)}
.hero h1{font-family:var(--serif);font-size:clamp(34px,5vw,44px);font-weight:700;letter-spacing:.3em;text-indent:.3em}
.hero .subtitle{margin-top:var(--sp-4);font-family:var(--serif);font-size:16px;color:var(--ink-soft);letter-spacing:.18em}
.hero .intro-line{margin-top:var(--sp-5);font-size:14px;color:var(--ink-mute);max-width:460px;margin-left:auto;margin-right:auto;line-height:2}

/* 最新文章：大图特写 + 文字列表 */
.featured{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--sp-6);align-items:center}
.featured-img{position:relative;aspect-ratio:3/2;border-radius:var(--r-md);overflow:hidden;background:linear-gradient(135deg,#E8DECB,#D8CCB2)}
.featured-img img{width:100%;height:100%;object-fit:cover}
.fallback-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);color:#A79B80;font-size:14px;letter-spacing:.2em}
.featured-body .tag{margin-bottom:var(--sp-3);display:inline-block}
.featured-body h2{font-family:var(--serif);font-size:26px;line-height:1.5;margin-bottom:var(--sp-3)}
.featured-body h2 a:hover{color:var(--seal)}
.featured-body .excerpt{font-size:15px;color:var(--ink-soft);line-height:1.9;margin-bottom:var(--sp-4)}

.post-rows{margin-top:var(--sp-6)}
.post-row{display:flex;align-items:baseline;gap:var(--sp-4);padding:var(--sp-4) 0;border-top:1px dashed var(--line)}
.post-row:first-child{border-top:none;padding-top:0}
.post-row .date{font-size:13px;color:var(--ink-mute);flex-shrink:0;font-variant-numeric:tabular-nums}
.post-row .title{font-size:16px;flex:1}
.post-row .title a:hover{color:var(--seal)}
.post-row .cat{font-size:12px;color:var(--ink-mute);flex-shrink:0}

/* 短章 */
.notes-board{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-6);box-shadow:var(--shadow-1)}
.note-item{padding:var(--sp-4) 0;border-top:1px dashed var(--line)}
.note-item:first-child{padding-top:0;border-top:none}
.note-item .note-text{font-family:var(--serif);font-size:16px;line-height:2}
.note-item .note-text a:hover{color:var(--seal)}
.note-item .meta{margin-top:var(--sp-2)}

/* 分类入口 */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.cat-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5);transition:border-color .15s,box-shadow .15s}
.cat-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}
.cat-card h3{font-family:var(--serif);font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:space-between}
.cat-card h3 .count{font-family:var(--sans);font-size:12px;color:var(--ink-mute);font-weight:400}
.cat-card p{font-size:13px;color:var(--ink-soft);margin-top:var(--sp-2);line-height:1.8}
.cat-glyph{width:30px;height:30px;border-radius:var(--r-sm);background:var(--seal-wash);color:var(--seal);font-family:var(--serif);font-size:16px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-3)}

/* 关于摘要 */
.about-brief{display:flex;gap:var(--sp-5);align-items:flex-start;background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-6)}
.avatar-seal{width:64px;height:64px;flex-shrink:0;background:var(--seal);color:#F8F2E8;font-family:var(--serif);font-size:30px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);box-shadow:inset 0 0 0 2px rgba(248,242,232,.35)}
.about-brief p{font-size:14.5px;color:var(--ink-soft);line-height:2}
.about-brief .link-more{display:inline-block;margin-top:var(--sp-2);font-size:13px;color:var(--seal);border-bottom:1px solid var(--seal)}

/* ============================================================
   SECTION: page-list —— 文章列表页
   ============================================================ */
.page-head{padding:var(--sp-7) 0 var(--sp-6);border-bottom:1px solid var(--line);text-align:center}
.page-head h1{font-family:var(--serif);font-size:30px;letter-spacing:.14em}
.page-head p{margin-top:var(--sp-2);font-size:14px;color:var(--ink-mute);max-width:560px;margin-left:auto;margin-right:auto}
.year-mark{font-family:var(--serif);font-size:15px;color:var(--ink-mute);letter-spacing:.3em;padding:var(--sp-5) 0 var(--sp-3)}
.list-item{display:flex;gap:var(--sp-5);padding:var(--sp-5) 0;border-top:1px solid var(--line);align-items:flex-start}
.list-item .thumb{position:relative;width:150px;flex-shrink:0;aspect-ratio:3/2;border-radius:var(--r-md);overflow:hidden;background:linear-gradient(135deg,#E8DECB,#D8CCB2)}
.list-item .thumb img{width:100%;height:100%;object-fit:cover}
.list-body{flex:1}
.list-body h2{font-family:var(--serif);font-size:19px;line-height:1.6;font-weight:700}
.list-body h2 a:hover{color:var(--seal)}
.list-body .excerpt{font-size:14px;color:var(--ink-soft);margin-top:var(--sp-2);line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.list-body .meta{margin-top:var(--sp-3)}
.empty-note{padding:var(--sp-8) 0;text-align:center;color:var(--ink-mute);font-size:14px}

/* 分页 */
.nav-links{display:flex;justify-content:center;gap:var(--sp-2);padding:var(--sp-6) 0}
.nav-links .page-numbers{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:14px;color:var(--ink-soft);padding:0 10px}
.nav-links .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.nav-links a.page-numbers:hover{border-color:var(--seal);color:var(--seal)}

/* 搜索框 */
.search-form{display:flex;gap:var(--sp-3);max-width:420px;margin:var(--sp-5) auto 0}
.search-form input[type="search"]{flex:1;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;padding:9px 14px;font-size:14px;font-family:inherit;color:var(--ink);outline:none}
.search-form input[type="search"]:focus{border-color:var(--seal)}
.search-form button{background:var(--seal);color:#F8F2E8;border:none;border-radius:var(--r-sm);padding:0 20px;font-size:14px;letter-spacing:.1em}
.search-form button:hover{background:var(--seal-deep)}

/* ============================================================
   SECTION: page-article —— 文章正文页（长文排版）
   ============================================================ */
.article-head{max-width:680px;margin:0 auto;padding:var(--sp-8) var(--sp-6) 0;text-align:center}
.article-head .tag{display:inline-block;margin-bottom:var(--sp-4)}
.article-head h1{font-family:var(--serif);font-size:30px;line-height:1.55;font-weight:700;letter-spacing:.02em}
.article-head .meta{justify-content:center;margin-top:var(--sp-4)}
.article-hero{max-width:820px;margin:var(--sp-6) auto 0;padding:0 var(--sp-6)}
.article-hero .featured-img{aspect-ratio:21/9}
.entry-content{max-width:680px;margin:0 auto;padding:var(--sp-7) var(--sp-6);font-family:var(--serif);font-size:17px;line-height:2.05;color:#35322D;letter-spacing:.02em}
.entry-content p{margin-bottom:1.5em;text-align:justify}
.entry-content h2{font-size:22px;line-height:1.6;margin:2.2em 0 1em;font-weight:700;position:relative;padding-left:16px}
.entry-content h2::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:1em;background:var(--seal)}
.entry-content h3{font-size:19px;margin:1.8em 0 .8em;font-weight:700}
.entry-content h4,.entry-content h5,.entry-content h6{font-size:17px;margin:1.6em 0 .6em;font-weight:700}
.entry-content ul,.entry-content ol{padding-left:1.6em;margin-bottom:1.5em}
.entry-content ul{list-style:disc}
.entry-content ol{list-style:decimal}
.entry-content li{margin-bottom:.4em}
.entry-content blockquote,.entry-content .wp-block-quote{margin:2em 0;padding:1em 1.4em;border-left:3px solid var(--seal);background:var(--surface);color:var(--ink-soft);font-size:16px;border-radius:0 var(--r-md) var(--r-md) 0}
.entry-content figure{margin:2.2em 0}
.entry-content img{border-radius:var(--r-md)}
.entry-content figcaption{font-family:var(--sans);font-size:13px;color:var(--ink-mute);text-align:center;margin-top:var(--sp-3);letter-spacing:.05em}
.entry-content a{color:var(--seal);border-bottom:1px solid var(--seal-wash)}
.entry-content a:hover{border-bottom-color:var(--seal)}
.entry-content hr,.entry-content .wp-block-separator{border:none;width:80px;height:1px;background:var(--line-strong);margin:2.5em auto}
.entry-content table{width:100%;border-collapse:collapse;font-size:15px;margin:1.5em 0;font-family:var(--sans)}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.entry-content th{background:var(--surface-2)}
.entry-content code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:var(--surface-2);padding:2px 6px;border-radius:3px}
.entry-content pre{background:#2C2823;color:#E5DFD2;padding:16px;border-radius:var(--r-md);overflow-x:auto;margin:1.5em 0;font-size:14px;line-height:1.7}
.entry-content pre code{background:none;padding:0;color:inherit}
.entry-content .alignwide{max-width:820px;width:calc(100% + 140px);margin-left:-70px}
.entry-content .aligncenter{margin-left:auto;margin-right:auto}
.entry-content .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.entry-end{text-align:center;color:var(--ink-mute);font-size:13px;letter-spacing:.5em;margin-top:var(--sp-6)}
.article-foot{max-width:680px;margin:0 auto;padding:0 var(--sp-6) var(--sp-8)}
.author-card{display:flex;gap:var(--sp-4);align-items:center;background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-5)}
.author-card .avatar-seal{width:48px;height:48px;font-size:22px}
.author-card .name{font-family:var(--serif);font-weight:700}
.author-card p{font-size:13px;color:var(--ink-soft);margin-top:2px}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-top:var(--sp-5)}
.post-nav a{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);background:var(--surface)}
.post-nav a:hover{border-color:var(--line-strong)}
.post-nav .dir{font-size:12px;color:var(--ink-mute)}
.post-nav .t{font-family:var(--serif);font-size:15px;margin-top:4px;display:block}
.post-nav a:last-child{text-align:right}

/* ============================================================
   SECTION: page-about / page-contact
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--sp-7);align-items:start;padding:var(--sp-6) 0}
.contact-info h2{font-family:var(--serif);font-size:20px;margin-bottom:var(--sp-4)}
.contact-row{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.contact-row .k{color:var(--ink-mute);width:64px;flex-shrink:0}
.contact-row a{color:var(--seal);border-bottom:1px solid var(--seal-wash)}
.contact-note{margin-top:var(--sp-4);font-size:13px;color:var(--ink-mute);background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-4);line-height:1.9}
.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-6)}
.field{margin-bottom:var(--sp-4)}
.field label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:var(--sp-2)}
.field input,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;padding:10px 14px;font-size:14px;font-family:inherit;color:var(--ink);outline:none;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--seal)}
.btn-primary{display:inline-block;background:var(--seal);color:#F8F2E8;border:none;border-radius:var(--r-sm);padding:11px 28px;font-size:15px;letter-spacing:.15em}
.btn-primary:hover{background:var(--seal-deep)}
.btn-primary:active{transform:translateY(1px)}

/* ============================================================
   SECTION: site-footer —— 页脚
   ============================================================ */
.site-footer{background:var(--footer);color:var(--footer-ink);margin-top:var(--sp-8)}
.footer-inner{max-width:1000px;margin:0 auto;padding:var(--sp-7) var(--sp-6) var(--sp-5);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-6)}
.footer-brand .name{font-family:var(--serif);font-size:18px;letter-spacing:.2em;color:#EDE7DA;display:flex;align-items:center;gap:var(--sp-3)}
.footer-brand .name .seal-mark{width:26px;height:26px;font-size:14px}
.footer-brand p{font-size:13px;line-height:2;margin-top:var(--sp-3);color:#A79F8F}
.footer-col h4{font-size:13px;letter-spacing:.2em;color:#8F887A;margin-bottom:var(--sp-3);font-weight:600}
.footer-col a,.footer-col span{display:block;font-size:13.5px;padding:5px 0;color:var(--footer-ink)}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid #443E36;padding:var(--sp-4) var(--sp-6);display:flex;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;font-size:12px;color:#8F887A;max-width:1000px;margin:0 auto}
.footer-bottom a{color:#A79F8F;border-bottom:1px solid #575046}
.footer-bottom a:hover{color:#fff}

/* ============================================================
   SECTION: password-form —— 私密内容密码输入框
   ============================================================ */
.pass-form{max-width:380px;margin:var(--sp-9) auto;padding:var(--sp-7) var(--sp-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);text-align:center}
.pass-form .pass-icon{width:56px;height:56px;margin:0 auto var(--sp-5);background:var(--seal);color:#F8F2E8;font-family:var(--serif);font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);box-shadow:inset 0 0 0 2px rgba(248,242,232,.35)}
.pass-form .pass-title{font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:.1em;margin-bottom:var(--sp-3)}
.pass-form .pass-hint{font-size:13px;color:var(--ink-mute);line-height:1.9;margin-bottom:var(--sp-5)}
.pass-form .pass-label{display:block;text-align:left;font-size:13px;color:var(--ink-soft);margin-bottom:var(--sp-2)}
.pass-form input[type="password"]{width:100%;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;padding:10px 14px;font-size:15px;font-family:inherit;color:var(--ink);outline:none;margin-bottom:var(--sp-4)}
.pass-form input[type="password"]:focus{border-color:var(--seal)}

/* ============================================================
   SECTION: photo-strip —— 首页最近照片（带特色图片的文章）
   ============================================================ */
.photo-strip-head{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-7);margin-bottom:var(--sp-4);font-size:13px;color:var(--ink-mute);letter-spacing:.15em}
.photo-strip-head::after{content:"";flex:1;height:1px;background:var(--line)}
.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.photo-item{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;background:linear-gradient(135deg,#E8DECB,#D8CCB2)}
.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.photo-item:hover img{transform:scale(1.03)}
.photo-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;font-size:12px;color:#F8F2E8;line-height:1.5;background:linear-gradient(transparent,rgba(42,39,36,.68));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.photo-cap .p-date{opacity:.75;margin-right:6px;font-variant-numeric:tabular-nums}

/* ============================================================
   SECTION: biece —— 拾韵别册入口卡与密码门
   ============================================================ */
.vault-card{display:flex;align-items:center;gap:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-6);box-shadow:var(--shadow-1);transition:box-shadow .2s,border-color .2s}
.vault-card:hover{box-shadow:var(--shadow-2);border-color:var(--line-strong)}
.vault-seal{width:52px;height:52px;flex-shrink:0;background:var(--seal-wash);color:var(--seal);font-family:var(--serif);font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--seal);position:relative}
.vault-seal::after{content:"";position:absolute;right:4px;bottom:4px;width:7px;height:7px;border-radius:50%;background:var(--seal);opacity:.6}
.vault-card h3{font-family:var(--serif);font-size:18px;letter-spacing:.1em;margin-bottom:var(--sp-1)}
.vault-state{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--ink-mute);letter-spacing:.05em;margin-left:var(--sp-2)}
.vault-card p{font-size:13px;color:var(--ink-soft);line-height:1.7}
.vault-arrow{margin-left:auto;font-size:18px;color:var(--ink-mute);flex-shrink:0;transition:transform .2s,color .2s}
.vault-card:hover .vault-arrow{transform:translateX(4px);color:var(--seal)}

.gate{max-width:420px;margin:var(--sp-9) auto var(--sp-8);text-align:center;padding:0 var(--sp-4)}
.gate-seal{width:64px;height:64px;margin:0 auto var(--sp-5);background:var(--seal);color:#F8F2E8;font-family:var(--serif);font-size:30px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);box-shadow:var(--shadow-1)}
.gate-title{font-family:var(--serif);font-size:26px;letter-spacing:.2em;margin-bottom:var(--sp-2)}
.gate-sub{font-size:14px;color:var(--ink-soft);margin-bottom:var(--sp-7)}
.gate-error{display:inline-block;font-size:13px;color:var(--seal);background:var(--seal-wash);border:1px solid var(--seal);border-radius:var(--r-sm);padding:4px 12px;margin-bottom:var(--sp-4)}
.gate-form{display:flex;flex-direction:column;gap:var(--sp-3)}
.gate-form input[type="password"]{width:100%;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;padding:12px 16px;font-size:16px;font-family:inherit;color:var(--ink);text-align:center;letter-spacing:.2em;outline:none}
.gate-form input[type="password"]:focus{border-color:var(--seal)}
.gate-form .btn-primary{padding:12px}
.gate-hint{font-size:12px;color:var(--ink-mute);margin-top:var(--sp-5);line-height:1.8}

/* ============================================================
   SECTION: responsive —— 手机端（≤720px）
   ============================================================ */
@media (max-width:720px){
  .header-inner{padding:var(--sp-3) var(--sp-4)}
  ul.main-nav,.nav-rss,.brand-sub{display:none}
  .menu-btn{display:block}
  .wrap{padding:0 var(--sp-4)}
  .hero{padding:var(--sp-7) 0 var(--sp-6)}
  .section{padding:var(--sp-6) 0}
  .featured{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:1fr 1fr}
  .about-brief{flex-direction:column}
  .list-item{flex-direction:column}
  .list-item .thumb{width:100%}
  .article-head h1{font-size:24px}
  .article-head{padding-top:var(--sp-6)}
  .article-hero{margin-top:var(--sp-5);padding:0 var(--sp-4)}
  .entry-content{font-size:16px;padding:var(--sp-5) var(--sp-4)}
  .entry-content .alignwide{width:calc(100% + 32px);margin-left:-16px}
  .post-nav{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;gap:var(--sp-5)}
  .post-row{flex-wrap:wrap}
  .post-row .cat{width:100%;order:3}
  .page-head h1{font-size:26px}
  .vault-card{padding:var(--sp-4);gap:var(--sp-4)}
  .photo-strip{grid-template-columns:1fr 1fr;gap:var(--sp-3)}
  .vault-arrow{display:none}
  .gate{margin:var(--sp-7) auto var(--sp-6)}
  .gate-title{font-size:22px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
