/* Pine —— 模仿 okmij.org/ftp/ 的极简风格，全站唯一样式文件 */

body {
  max-width: 95ch;
  margin: auto;
  padding: 0.5em;
  font-family: Georgia, "Times New Roman", "Noto Serif SC", "Songti SC", SimSun, serif;
  line-height: 1.6;
}

.heading { text-align: center; }
.small { font-size: 90%; }

/* 首页横向标签流 */
.shortcuts { line-height: 2; text-align: center; }
.shortcuts .sep { color: rgba(128, 128, 128, 0.6); }

/* 首页分类列表居中 */
.categories { text-align: center; }

dl dt { margin-top: 1em; font-weight: bold; }
dl dd { margin: 2px 0 1em; }

ul.changelog { list-style: none; padding-left: 0; }
ul.changelog li { margin: 0.3em 0; }

article h1 { margin-bottom: 0.2em; }
article .meta { margin-top: 0; color: #555; }

img { max-width: 100%; height: auto; }

/* 代码块与行内代码 */
pre {
  padding: 0.8em 1em;
  overflow-x: auto;
  line-height: 1.5;
  background: #f6f6f2;
  border: 1px solid rgba(128, 128, 128, 0.25);
}
code { font-family: Consolas, "Courier New", "Noto Serif SC", monospace; font-size: 0.92em; }
:not(pre) > code {
  background: rgba(128, 128, 128, 0.12);
  padding: 0.1em 0.3em;
  border-radius: 2px;
}

/* 语法高亮（浅色） */
pre code { color: #24292e; }
.token.comment, .token.prolog, .token.cdata { color: #6a737d; }
.token.punctuation { color: #444; }
.token.property, .token.tag, .token.constant, .token.symbol, .token.deleted { color: #a05a5a; }
.token.boolean, .token.number { color: #aa5d00; }
.token.selector, .token.attr-name, .token.string, .token.char, .token.builtin, .token.inserted { color: #3a7a3a; }
.token.operator, .token.entity, .token.url { color: #555; }
.token.atrule, .token.attr-value, .token.keyword { color: #7a3fa8; }
.token.function, .token.class-name { color: #2a5db0; }
.token.regex, .token.important, .token.variable { color: #b06000; }

/* 剧透遮罩：默认模糊，悬停/点按显示 */
.spoiler {
  filter: blur(0.4em);
  cursor: pointer;
  transition: filter 0.2s ease;
  background: rgba(128, 128, 128, 0.15);
  border-radius: 2px;
  padding: 0 0.15em;
}
.spoiler:hover, .spoiler:active { filter: none; }

hr { border: none; border-top: 1px solid rgba(128, 128, 128, 0.5); }

/* 页脚 */
.site-footer { margin-top: 3em; text-align: center; }
.site-footer p { margin: 0.4em 0; }
.site-footer .small { color: #777; }

/* 深色模式 */
@media (prefers-color-scheme: dark) {
  body { background: #1a1a1a; color: #d6d3cd; }
  a { color: #8ab4f8; }
  a:visited { color: #c58af9; }
  article .meta { color: #9a968f; }
  .site-footer .small { color: #8a867f; }
  hr { border-top-color: rgba(128, 128, 128, 0.6); }
  pre { background: #242424; border-color: rgba(128, 128, 128, 0.4); }
  :not(pre) > code { background: rgba(128, 128, 128, 0.25); }
  pre code { color: #d6d3cd; }
  .token.comment, .token.prolog, .token.cdata { color: #8a8a95; }
  .token.punctuation { color: #b0adb5; }
  .token.property, .token.tag, .token.constant, .token.symbol, .token.deleted { color: #d98a8a; }
  .token.boolean, .token.number { color: #e0a050; }
  .token.selector, .token.attr-name, .token.string, .token.char, .token.builtin, .token.inserted { color: #8ac08a; }
  .token.operator, .token.entity, .token.url { color: #a5a2aa; }
  .token.atrule, .token.attr-value, .token.keyword { color: #b08ad8; }
  .token.function, .token.class-name { color: #7ab0e0; }
  .token.regex, .token.important, .token.variable { color: #d8a860; }
}
