/* bobbycn.cc 公共皮肤（2026-09-28）
 * 设计：纸感底 + 衬线标题 + 朱砂句读；深色默认（站主说浅色刺眼），右上角可切。
 * 用法：<link rel="stylesheet" href="/assets/site.css">，页面根元素 <html data-theme="dark">。
 * 主题切换与登录态见 /assets/site.js。
 */
:root{
  --serif:Georgia,"Songti SC","Source Han Serif SC","Noto Serif SC",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --seal:#D4553F;
}
html[data-theme="dark"]{
  --bg:#121110; --paper2:#191715; --ink:#EAE5DD; --dim:#948B80; --soft:#BDB4A8;
  --line:#2A2723; --line2:#201E1B; --underline:rgba(234,229,221,.22);
  --glow1:#211D19; --glow2:#1A1613;
  --code-bg:#1B1917; --code-line:#2E2A26;
}
html[data-theme="light"]{
  --bg:#FAF7F0; --paper2:#FFFDF8; --ink:#1E1B18; --dim:#8A8177; --soft:#4A443C;
  --line:#E7E1D6; --line2:#EFEAE1; --underline:rgba(30,27,24,.22);
  --glow1:#FFFDF8; --glow2:#F6EFE3;
  --code-bg:#F3EEE4; --code-line:#E3DCCE;
}
*{box-sizing:border-box}
[hidden]{display:none !important}         /* 作者样式里的 display:flex 会盖掉 UA 的 [hidden] */
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--sans);font-size:16px;line-height:1.95;color:var(--ink);
  background:
    radial-gradient(120% 80% at 12% -10%, var(--glow1) 0%, rgba(0,0,0,0) 60%),
    radial-gradient(90% 60% at 100% 0%, var(--glow2) 0%, rgba(0,0,0,0) 55%),
    var(--bg);
  transition:background .25s ease,color .25s ease;
}
body::before{ /* 纸纹：内联 SVG 噪点，不发请求 */
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.04;z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");
}
.wrap{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:26px 24px 88px}
a{color:inherit;text-decoration:none;border-bottom:1px solid var(--underline)}
a:hover{border-bottom-color:var(--seal);color:var(--seal)}

/* topbar + 分区胶囊 */
.top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 86%,transparent);
     backdrop-filter:blur(8px);border-bottom:1px solid var(--line2);margin:0 -24px;padding:8px 24px 0}
.toprow{display:flex;align-items:center;gap:16px;min-height:44px}
.name{font-family:var(--serif);font-size:19px;letter-spacing:.01em;border:0}
.name i{font-style:normal;color:var(--seal)}
.spacer{flex:1}
.iconbtn{font:inherit;font-size:12.5px;color:var(--dim);background:transparent;border:1px solid var(--line);
         border-radius:999px;padding:4px 11px;cursor:pointer;transition:.18s;display:inline-block;line-height:1.5}
.iconbtn:hover{color:var(--ink);border-color:var(--seal)}
button.iconbtn{background:transparent}
.me{font-size:13px;color:var(--dim);display:flex;align-items:center;gap:10px}
.me b{color:var(--ink);font-weight:600}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:9px 0 10px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:0 0 auto;border:1px solid var(--line);background:var(--paper2);padding:7px 15px;border-radius:999px;
        font-size:13.5px;color:var(--dim);transition:color .18s ease,border-color .18s ease,background .18s ease}
.tabs a:hover{color:var(--ink);border-color:var(--seal)}
.tabs a.on{color:var(--seal);border-color:var(--seal);background:color-mix(in srgb,var(--seal) 12%,transparent);font-weight:600}

/* 标题与正文 */
h1{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.55;letter-spacing:-.01em;margin:46px 0 18px}
h1 .seal{color:var(--seal)}
.lead{color:var(--soft);margin:0 0 8px}
.lead b{font-weight:600;color:var(--ink)}
h2{font-family:var(--serif);font-weight:400;font-size:14px;letter-spacing:.22em;color:var(--dim);margin:60px 0 6px;scroll-margin-top:120px}
h2::after{content:"";display:block;width:34px;height:1px;background:var(--seal);margin-top:10px;opacity:.6}
h3{font-family:var(--serif);font-weight:400;font-size:17px;margin:28px 0 8px}
p{margin:14px 0}
article img,.post img{max-width:100%;border-radius:8px;border:1px solid var(--line)}
pre{background:var(--code-bg);border:1px solid var(--code-line);border-radius:8px;padding:12px 14px;overflow:auto;font-family:var(--mono);font-size:13.5px;line-height:1.75}
code{font-family:var(--mono);background:var(--code-bg);padding:1px 5px;border-radius:4px;font-size:.93em}
pre code{background:none;padding:0}
blockquote{margin:16px 0;padding:2px 0 2px 14px;border-left:2px solid var(--line);color:var(--dim)}
hr{border:0;border-top:1px solid var(--line);margin:28px 0}
.meta{color:var(--dim);font-size:12.5px;margin:0 0 24px}
.meta a{border-bottom-color:transparent}

/* 清单行（首页项目 / 文章列表） */
ul.list{list-style:none;margin:18px 0 0;padding:0}
li.row{position:relative;padding:20px 0 18px;border-bottom:1px solid var(--line);transition:transform .18s ease}
li.row::before{content:"";position:absolute;left:-16px;top:32px;width:7px;height:2px;background:var(--seal);
               opacity:0;transform:translateX(-5px);transition:opacity .18s ease,transform .18s ease}
li.row:hover{transform:translateX(3px)}
li.row:hover::before{opacity:1;transform:translateX(0)}
.t{font-family:var(--serif);font-size:18px;border:0}
.t:hover{color:var(--seal)}
.who{color:var(--dim);font-size:12.5px;margin-left:8px}
.d{color:var(--soft);margin:6px 0 0;font-size:14.5px;line-height:1.85}
.d b{font-weight:600;color:var(--ink)}
.go{display:flex;gap:16px;margin-top:10px;font-size:13.5px;color:var(--dim);flex-wrap:wrap}
.go a{border-bottom-color:transparent}
.go a:hover{border-bottom-color:var(--seal)}
.pager{display:flex;gap:16px;margin-top:26px;font-size:13.5px;color:var(--dim)}

/* 事实表 / 页脚 */
dl.facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:13.5px;color:var(--dim);margin:26px 0 0}
dl.facts dt{opacity:.7}
dl.facts dd{margin:0;color:var(--soft)}
footer{margin-top:80px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;
       gap:14px;flex-wrap:wrap;color:var(--dim);font-size:12.5px}
.hand{font-family:"Segoe Script","Bradley Hand","Kaiti SC",cursive;opacity:.85}

@media(max-width:620px){
  .wrap{padding:16px 18px 64px}
  .top{margin:0 -18px;padding:6px 18px 0}
  h1{font-size:26px;margin-top:32px}
  .name{font-size:17px}
  li.row{padding:16px 0}
  li.row::before{left:-10px}
}
