/* ============================================
   待机状态 -- 样式表 v2.0
   ============================================ */

:root {
  --clr-bg: #fafaf9;
  --clr-text: #1c1917;
  --clr-dim: #8c8886;
  --clr-faint: #a8a4a1;
  --clr-quote: #5c5856;
  --clr-line-soft: #efefee;
  --clr-line-light: #f0efee;
  --clr-line-quote: #ddd8d4;
  --clr-hover-bg: #f0efee;
  --clr-ad-bg: #f5f5f4;
  --ff-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
             "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --fs-micro: 0.75rem;
  --fs-small: 0.8125rem;
  --fs-body: 1rem;
  --fs-lead: 1.0625rem;
  --fs-h3: 1.25rem;
  --fs-h2: 1.5rem;
  --fs-h1: 2rem;
  --fs-title: 2.25rem;
  --lh-body: 1.8;
  --lh-tight: 1.35;
  --lh-prose: 1.75;
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 2.5rem;
  --s-8: 3rem;
  --s-9: 4rem;
  --s-10: 6rem;
  --dur: 0.15s;
  --ease: ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{max-width:48rem;margin:0 auto;padding:var(--s-9) var(--s-5) var(--s-10);background:var(--clr-bg);color:var(--clr-text);font-family:var(--ff-body);font-size:var(--fs-body);line-height:var(--lh-body)}
@media(max-width:720px){body{padding:var(--s-8) var(--s-4) var(--s-9)}}
a{transition:opacity var(--dur) var(--ease)}
a:hover{opacity:.65}
a:focus-visible{outline:2px solid var(--clr-dim);outline-offset:2px;border-radius:2px}
h1{font-size:var(--fs-h1);font-weight:450;line-height:var(--lh-tight);letter-spacing:-.02em;margin-bottom:var(--s-4)}
h2{font-size:var(--fs-h2);font-weight:450;line-height:var(--lh-tight);letter-spacing:-.01em;margin-bottom:var(--s-3);margin-top:var(--s-8)}
.page-title{font-size:var(--fs-title);font-weight:450;line-height:var(--lh-tight);letter-spacing:-.02em;margin-bottom:var(--s-8)}
.page-desc{color:var(--clr-faint);margin-bottom:var(--s-8);font-size:var(--fs-lead);line-height:var(--lh-prose)}
.meta{font-size:var(--fs-small);color:var(--clr-dim);line-height:1.5;letter-spacing:.01em}
.meta a{color:var(--clr-dim);text-decoration:none}
.meta a:hover{opacity:.65}
p{margin-bottom:1.2em}
article p:first-of-type{font-size:var(--fs-lead);line-height:var(--lh-prose);color:var(--clr-text)}
.post-list{margin:0;padding:0;list-style:none}
.post-list li{padding:var(--s-5) 0;border-bottom:1px solid var(--clr-line-light)}
.post-list li:first-child{padding-top:0}
.post-list li:last-child{border-bottom:none}
.post-list .cat{font-size:var(--fs-small);color:var(--clr-dim);margin-bottom:var(--s-1)}
.post-list .cat a{color:var(--clr-dim);text-decoration:none}
.post-list .cat a:hover{opacity:.65}
.post-list .title{font-size:var(--fs-h3);line-height:1.4;margin-bottom:var(--s-1)}
.post-list .title a{color:var(--clr-text);text-decoration:none}
.post-list .date{font-size:var(--fs-small);color:var(--clr-faint)}
.post-list .summary{font-size:var(--fs-body);color:var(--clr-faint);line-height:var(--lh-prose);margin-top:var(--s-2)}
header{margin-bottom:var(--s-8)}
.header-inner{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.site-name{font-size:1.25rem;color:var(--clr-text);text-decoration:none;font-weight:500;letter-spacing:-.02em}
.site-name:hover{opacity:.65}
.site-tagline{font-size:var(--fs-small);color:var(--clr-faint);margin-top:2px;line-height:1.5}
.header-utils{display:flex;gap:var(--s-4);flex-shrink:0}
.header-utils a{font-size:var(--fs-small);color:var(--clr-dim);text-decoration:none}
.header-utils a:hover{opacity:.65}
.cat-nav{padding:var(--s-3) 0;border-top:1px solid var(--clr-line-soft);border-bottom:1px solid var(--clr-line-soft)}
.cat-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.cat-nav li{margin:0;padding:0}
.cat-nav li+li::before{content:"";display:inline-block;width:1px;height:.85em;background:var(--clr-line-light);vertical-align:middle;margin:0 var(--s-3)}
.cat-nav a{font-size:var(--fs-small);color:var(--clr-dim);text-decoration:none;line-height:1.2}
.cat-nav a:hover{color:var(--clr-text)}
article{font-size:var(--fs-body);line-height:var(--lh-body)}
article p:last-child{margin-bottom:0}
article .summary{font-size:var(--fs-small);color:var(--clr-faint);line-height:var(--lh-prose);margin-bottom:var(--s-8)}
article blockquote{border-left:3px solid var(--clr-line-quote);padding-left:var(--s-5);margin:var(--s-6) 0;color:var(--clr-quote);font-size:.9375rem;line-height:var(--lh-prose)}
article blockquote p{margin-bottom:var(--s-3)}
article blockquote p:last-child{margin-bottom:0}
.tags{margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid var(--clr-line-light);font-size:var(--fs-small);color:var(--clr-dim)}
.tags a{color:var(--clr-dim);text-decoration:none;margin-right:var(--s-4)}
.tags a:hover{opacity:.65}
.section-label{font-size:var(--fs-micro);font-weight:600;color:var(--clr-dim);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--s-3);margin-top:var(--s-6)}
.note{color:var(--clr-faint);font-size:var(--fs-body);line-height:1.6}
.note a{color:var(--clr-dim);text-decoration:none}
.note a:hover{opacity:.65}
.ad-card{margin-top:var(--s-8);padding:var(--s-5);background:var(--clr-ad-bg);font-size:var(--fs-small);line-height:1.6}
.ad-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--clr-faint);margin-bottom:var(--s-3)}
.ad-body{margin-bottom:var(--s-3)}
.ad-title{font-size:1rem;font-weight:500;color:var(--clr-text);margin-bottom:var(--s-1)}
.ad-desc{color:var(--clr-dim);font-size:var(--fs-small);margin-bottom:var(--s-3);line-height:1.6}
.ad-cta{display:inline-block;padding:4px 14px;background:var(--clr-text);color:var(--clr-bg);text-decoration:none;font-size:var(--fs-small);margin-right:var(--s-2);margin-bottom:var(--s-1);transition:opacity var(--dur) var(--ease)}
.ad-cta:hover{opacity:.8;color:var(--clr-bg)}
.ad-cta-secondary{background:transparent;color:var(--clr-dim);border:1px solid var(--clr-line-light)}
.ad-cta-secondary:hover{border-color:var(--clr-dim);opacity:1;color:var(--clr-dim)}
.ad-contact{font-size:.6875rem;color:var(--clr-faint);margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--clr-line-light)}
.ad-contact a{color:var(--clr-dim);text-decoration:none}
.ad-contact a:hover{opacity:.65}
#comments-list{margin-bottom:var(--s-5)}
.comment{margin-bottom:var(--s-5);padding-bottom:var(--s-4);border-bottom:1px solid var(--clr-line-light)}
.comment:last-child{border-bottom:none}
.comment-author{font-weight:500;color:var(--clr-text);font-size:var(--fs-small)}
.comment-time{color:var(--clr-faint);font-size:.75rem;margin-left:var(--s-2)}
.comment p{margin-top:var(--s-1);color:var(--clr-text);font-size:var(--fs-body);line-height:1.6}
.comment-form input,.comment-form textarea{width:100%;border:1px solid var(--clr-line-light);padding:var(--s-2) var(--s-3);font-family:var(--ff-body);font-size:var(--fs-small);color:var(--clr-text);background:var(--clr-bg);margin-bottom:var(--s-3);outline:none;transition:border-color var(--dur) var(--ease)}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--clr-dim)}
.comment-form textarea{min-height:100px;resize:vertical;line-height:1.6}
.comment-actions{display:flex;justify-content:space-between;align-items:center}
.comment-status{font-size:var(--fs-small);color:var(--clr-dim)}
.comment-form button{background:var(--clr-text);color:var(--clr-bg);border:none;padding:var(--s-2) var(--s-5);cursor:pointer;font-size:var(--fs-small);font-family:var(--ff-body);transition:opacity var(--dur) var(--ease)}
.comment-form button:hover{opacity:.8}
footer{margin-top:var(--s-10);padding-top:var(--s-5);border-top:1px solid var(--clr-line-soft);text-align:center}
footer p{font-size:var(--fs-small);color:var(--clr-dim);margin:0;line-height:1.6}
footer a{color:var(--clr-dim);text-decoration:none}
footer a:hover{opacity:.65}
code,pre{font-family:"SF Mono","Cascadia Code","JetBrains Mono",Menlo,Consolas,monospace;font-size:.875em}
code{background:var(--clr-hover-bg);padding:.15em .4em;border-radius:3px}
pre{background:var(--clr-hover-bg);padding:var(--s-4);overflow-x:auto;line-height:1.6;margin:var(--s-5) 0;border-radius:0;font-size:.8125rem}
pre code{background:none;padding:0}
article img{max-width:100%;height:auto;margin:var(--s-6) auto;display:block}
@media(max-width:720px){
  .header-inner{flex-direction:column;gap:var(--s-3)}
  .site-name{font-size:1.15rem}
  .cat-nav a{font-size:.75rem;padding-right:var(--s-3);margin-right:var(--s-3)}
  :root{--fs-title:1.75rem;--fs-h1:1.6rem;--fs-h2:1.3rem;--fs-body:.9375rem}
  .post-list li{padding:var(--s-4) 0}
  .post-list .title{font-size:1.0625rem}
}
@media print{
  body{max-width:none;padding:0;font-size:12pt;color:#000;background:#fff}
  header,footer,.tags,.ad-card,.section-label{display:none}
  article blockquote{border-left-color:#ccc;color:#333}
  a{text-decoration:underline;opacity:1}
}
