/* rockcohen.cc/paper/ —— Apple 风格博客排版 */
:root{
  --ink:#1d1d1f; --sub:#6e6e73; --gray:#86868b;
  --hair:rgba(0,0,0,.08); --bg:#fbfbfd; --card:#ffffff;
  --blue:#2f6fdb; --blue-soft:rgba(47,111,219,.09);  /* 2026-09-12 并入全站门禁令牌 --accent */
  --radius:18px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC",
    "Hiragino Sans GB","Noto Sans SC","Helvetica Neue",sans-serif;
  color:var(--ink); background:var(--bg); margin:0;
  font-size:17px; line-height:1.75;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.layout{display:grid;grid-template-columns:1fr minmax(0,62rem) 1fr;padding:0 24px;align-items:start}
.wrap{grid-column:2;min-width:0;padding:0 0 80px}

/* ---------- hero ---------- */
.hero{padding:64px 0 8px;text-align:left}
.back{display:inline-block;font-size:14px;color:var(--blue);text-decoration:none;margin-bottom:26px}
.back:hover{text-decoration:underline}
.hero-kicker{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--gray);
             text-transform:uppercase;margin-bottom:10px}
h1.hero-title{
  font-size:clamp(25px,3.6vw,34px);line-height:1.25;font-weight:700;
  letter-spacing:-.012em;margin:0 0 10px;color:var(--ink)
}
.hero-sub{font-size:17px;font-weight:650;color:var(--ink);margin:0 0 14px}
.hero-meta{font-size:15px;color:var(--sub);line-height:1.6}

/* ---------- toc（毛玻璃卡片） ---------- */
.toc-side{grid-column:3;justify-self:start;width:224px;position:sticky;top:22px;max-height:calc(100vh - 44px);overflow-y:auto;scrollbar-width:thin}
.toc-side::-webkit-scrollbar{width:5px}
.toc-side::-webkit-scrollbar-thumb{background:rgba(0,0,0,.14);border-radius:4px}
.toc{
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);
  padding:13px 18px;
  box-shadow:0 4px 24px rgba(0,0,0,.06);
}
.toc summary{
  cursor:pointer;font-size:14px;font-weight:600;color:var(--sub);
  list-style:none;display:flex;align-items:center;gap:6px;user-select:none
}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"›";transform:rotate(90deg);transition:transform .2s;color:var(--gray)}
.toc:not([open]) summary::after{transform:rotate(0)}
.toc ul{list-style:none;margin:10px 0 4px;padding-left:0}
.toc ul ul{padding-left:18px}
.toc li{margin:3px 0}
.toc a{color:var(--sub);text-decoration:none;font-size:14px;line-height:1.5}
.toc a:hover{color:var(--blue)}

/* ---------- 正文 ---------- */
main{padding-top:26px}
main p{margin:1.1em 0;letter-spacing:.002em}
main h2{
  font-size:26px;font-weight:700;letter-spacing:-.012em;
  margin:2.6em 0 .7em;padding-top:1.2em;border-top:1px solid var(--hair)
}
main h2:first-child{border-top:none;padding-top:.2em;margin-top:1.2em}
main h3{font-size:20px;font-weight:650;margin:2em 0 .55em;letter-spacing:-.008em}
main h4{font-size:17px;font-weight:650;margin:1.6em 0 .5em;color:var(--ink)}
main ul,main ol{padding-left:1.45em;margin:.9em 0}
main li{margin:.42em 0}
main li::marker{color:var(--gray)}
strong{font-weight:650}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
hr{border:none;border-top:1px solid var(--hair);margin:2.8em 0}

/* 图片：大圆角、呼吸感 */
main img{width:100%;height:auto;border-radius:14px;margin:1.4em 0;
         box-shadow:0 2px 20px rgba(0,0,0,.07)}

/* 引用块：浅灰卡片（承载"补充/核对状态"说明） */
main blockquote{
  margin:1.3em 0;padding:14px 20px;
  background:rgba(0,0,0,.035);border:none;border-radius:12px;
  color:var(--sub);font-size:15.5px;line-height:1.7
}
main blockquote p{margin:.5em 0}

/* 表格：iOS 列表式分隔线，无重边框 */
main table{
  width:100%;border-collapse:collapse;margin:1.4em 0;font-size:14.5px;
  display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--hair);border-radius:12px
}
main th,main td{
  border:none;padding:10px 14px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--hair)
}
main tr:last-child td{border-bottom:none}
main th{font-weight:600;color:var(--sub);background:rgba(0,0,0,.02);white-space:nowrap}
main tr:nth-child(even) td{background:transparent}

/* 代码 */
code{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.86em;
     background:rgba(0,0,0,.05);padding:.12em .4em;border-radius:6px}
pre{background:#f6f6f8;border:1px solid var(--hair);border-radius:12px;
    padding:16px 18px;overflow-x:auto;font-size:13.5px;line-height:1.6}
pre code{background:none;padding:0}

/* KaTeX：衬线数学、可横向滚动 */
.katex{font-size:1.05em}
.katex-display{
  overflow-x:auto;overflow-y:hidden;padding:6px 2px;margin:1.3em 0
}

/* 脚注与 footer */
main .footnotes{font-size:14px;color:var(--sub)}
footer{margin-top:72px;padding-top:22px;border-top:1px solid var(--hair);
       font-size:13px;color:var(--gray);line-height:1.7;
       display:flex;gap:18px;flex-wrap:wrap}
footer .creed{margin-left:auto;font-family:"Songti SC","STSong",serif;letter-spacing:.06em}

@media (max-width:1499px){
  .layout{display:block;max-width:62rem;margin:0 auto;padding:0 22px}
  .wrap{padding:0 0 64px}
  .toc-side{position:static;width:auto;max-height:none;overflow:visible;margin:28px 0 0}
}
@media (max-width:600px){
  body{font-size:16px}
  .layout{padding:0 18px}
  .wrap{padding:0 0 64px}
  .hero{padding-top:44px}
  main h2{font-size:22px}
  main h3{font-size:18px}
}

/* ---------- 时间标签（hero 第二行） ---------- */
.hero-tags{margin-top:14px}
.tag{
  display:inline-block;font-size:12.5px;color:var(--sub);
  background:rgba(0,0,0,.045);border-radius:999px;padding:4px 12px;
  margin-right:8px
}

/* ---------- 说明类内容：可折叠 + 灰字 ---------- */
details.note{
  margin:1.2em 0;padding:0;border:none
}
details.note>summary{
  cursor:pointer;user-select:none;list-style:none;
  font-size:13px;color:var(--gray);
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 0
}
details.note>summary::-webkit-details-marker{display:none}
details.note>summary::before{content:"▸";transition:transform .18s;display:inline-block}
details.note[open]>summary::before{transform:rotate(90deg)}
details.note>summary:hover{color:var(--blue)}
details.note .note-body{
  margin-top:8px;padding:14px 18px;
  background:rgba(0,0,0,.035);border-radius:12px;
  color:var(--sub);font-size:15px;line-height:1.7
}
details.note .note-body p{margin:.5em 0}
details.note .note-body ul{padding-left:1.4em;margin:.5em 0}

/* ---------- 图片：可点放大 ---------- */
main img.zoomable{cursor:zoom-in;transition:transform .18s ease}
main img.zoomable:hover{transform:scale(1.008)}
.lightbox{
  position:fixed;inset:0;z-index:99;display:none;
  background:rgba(0,0,0,.78);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  align-items:center;justify-content:center;
  cursor:zoom-out;padding:28px
}
.lightbox.open{display:flex}
.lightbox img{
  max-width:96vw;max-height:94vh;width:auto;height:auto;
  border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.5);
  cursor:zoom-out;margin:0
}

/* ---------- 一分钟版卡片（§十一前移） ---------- */
.minutecard{
  background:rgba(255,255,255,.75);
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border:1px solid rgba(0,0,0,.06);border-radius:18px;
  padding:18px 24px;margin:30px 0 0;
  box-shadow:0 4px 24px rgba(0,0,0,.06)
}
.minutecard .mc-title{
  font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--gray);
  margin-bottom:10px
}
.minutecard ul{margin:0;padding-left:1.3em}
.minutecard li{font-size:15px;line-height:1.7;margin:.45em 0;color:var(--sub)}
.minutecard li::marker{color:var(--gray)}
.card-pointer{font-size:13.5px;color:var(--gray)}

/* ---------- 页首折叠（2026-09-12）：分钟卡+档案合并块、导读/承接栏 ---------- */
details.minutecard > summary{
  cursor:pointer;list-style:none;
  font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--gray);
}
details.minutecard > summary::-webkit-details-marker{display:none}
details.minutecard > summary::before{content:"▸";display:inline-block;margin-right:.45em;transition:transform .18s}
details.minutecard[open] > summary::before{transform:rotate(90deg)}
details.minutecard > summary:hover{color:var(--blue)}
details.fold{margin:26px 0 0}
details.fold > summary{cursor:pointer;list-style:none}
details.fold > summary::-webkit-details-marker{display:none}
details.fold > summary::before{content:"▸";display:inline-block;margin-right:.4em;transition:transform .18s;color:var(--gray)}
details.fold[open] > summary::before{transform:rotate(90deg)}
details.fold > summary:hover::before,
details.fold > summary:hover > h2{color:var(--blue)}
details.fold > summary > h2{display:inline;margin:0;border:none;padding:0}

/* ---------- 评论（阶段一：发表 + 列表；嵌套渲染已就绪） ---------- */
.cmt{margin-top:72px;border-top:1px solid var(--hair);padding-top:28px}
.cmt-title{font-size:20px;font-weight:700;margin:0 0 6px;color:var(--ink)}
.cmt-hint{font-size:13.5px;color:var(--gray);margin:0 0 18px}
.cmt-list{margin:0 0 24px}
.cmt-item{padding:12px 0;border-bottom:1px solid var(--hair)}
.cmt-child{margin-left:28px}
.cmt-meta{font-size:13px;color:var(--gray);margin-bottom:4px}
.cmt-meta b{color:var(--ink);font-weight:600}
.cmt-body{font-size:15px;line-height:1.7;color:var(--ink);white-space:pre-wrap;word-break:break-word}
.cmt-form{display:flex;flex-direction:column;gap:10px}
.cmt-input,.cmt-area{
  width:100%;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:10px 12px;
  font:inherit;font-size:15px;color:var(--ink);background:var(--card);outline:none
}
.cmt-input:focus,.cmt-area:focus{border-color:var(--blue)}
.cmt-row{display:flex;align-items:center;gap:14px}
.cmt-msg{font-size:13px;color:var(--gray)}
.cmt-msg.err{color:#c0392b}
.cmt-btn{
  margin-left:auto;border:none;border-radius:999px;background:var(--blue);color:#fff;
  font-size:14px;font-weight:600;padding:8px 20px;cursor:pointer
}
.cmt-btn:hover{opacity:.9}
.cmt-btn:disabled{opacity:.5;cursor:default}

/* hero figure（全篇看这张）：置于分钟卡正下方（2026-09-09） */
.herofig{margin:26px 0 6px;padding:14px;border:1px solid var(--hair);border-radius:16px;
         background:var(--card);box-shadow:0 1px 2px rgba(0,0,0,.03)}
.herofig img{width:100%;height:auto;display:block;border-radius:10px}
.herofig figcaption{margin-top:10px;font-size:13px;color:var(--sub);text-align:center}

/* ---------- 字里行间出版层（2026-09-09）：行内术语卡 + 工程旁注 ---------- */
/* 术语首次出现：虚线下划线；悬停弹白话定义卡（纯 CSS），点击跳概念字典 */
a.term{color:inherit;text-decoration:none;border-bottom:1px dashed rgba(0,113,227,.5);cursor:help;position:relative}
a.term:hover{color:var(--blue)}
a.term::after{
  content:attr(data-tip);position:absolute;left:0;top:1.7em;z-index:40;display:none;
  width:min(320px,74vw);padding:11px 14px;background:#fff;border:1px solid var(--hair);
  border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.13);
  font-size:13.5px;line-height:1.68;color:var(--sub);font-weight:400;text-align:left;white-space:normal}
a.term:hover::after,a.term:focus::after,a.term.tip-show::after{display:block}
/* 工程旁注：与页首卡片/目录同一套毛玻璃语言（2026-09-12 改版，原为暖琥珀色，与冷调主题不符）
   区分靠左侧蓝色细描边 + 靛蓝标签，不再靠暖色底 */
aside.anno{margin:20px 0 22px;padding:14px 18px 12px;
           background:rgba(255,255,255,.72);
           -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
           border:1px solid rgba(0,0,0,.06);border-left:2px solid rgba(0,113,227,.42);
           border-radius:0 var(--radius) var(--radius) 0;
           box-shadow:0 1px 2px rgba(0,0,0,.03);
           font-size:14.5px;line-height:1.78;color:var(--sub)}
aside.anno .anno-k{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--blue);margin-bottom:6px}
aside.anno p{margin:.45em 0}
aside.anno b{color:var(--ink);font-weight:650}
aside.anno strong{color:var(--ink)}
aside.anno a{color:var(--blue)}
aside.anno details{margin-top:8px}
aside.anno summary{cursor:pointer;font-size:13.5px;font-weight:650;color:var(--blue);list-style:none}
aside.anno summary::-webkit-details-marker{display:none}
aside.anno summary::before{content:"▸ ";font-size:12px}
aside.anno details[open] summary::before{content:"▾ "}

/* ---------- 风格门禁统一（2026-09-12 v1.1 试点）：品牌条 + 极光 hero ---------- */
/* theme.css 先于本文件加载；paper 站沿用自有 blob 光斑系统（与门禁色晕同族），关闭 theme 默认色晕 */
body::before{display:none}

/* 极光 hero（theme.css .aurora 的左对齐文章页变体；内容区豁免，框架层统一） */
.hero.aurora{
  display:block;
  margin-top:26px;padding:52px 46px 42px;
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-glass);
}
.hero.aurora .back{margin-bottom:20px}
@media (max-width:640px){
  .hero.aurora{padding:36px 24px 30px}
}

/* 品牌条内边距与文章栅格对齐（62rem 内容宽） */
.brandbar-inner{max-width:min(1080px,100%);}
