:root { --width-max: 730px; --font-secondary: "Georgia", "Noto Serif", "Times New Roman", serif; --font-size-primary: 1.08rem; --font-size-secondary: 1.05rem; --font-size-h1: calc(var(--font-size-primary) * 1.953125); /* ≈2.11rem ≈33.8px */ --font-size-h2: calc(var(--font-size-primary) * 1.5625); /* ≈1.69rem ≈27.0px */ --font-size-h3: calc(var(--font-size-primary) * 1.25); /* ≈1.35rem ≈21.6px */ --font-size-h4: calc(var(--font-size-primary) * 1.0); /* ≈1.08rem ≈17.3px */ --font-size-h5: calc(var(--font-size-primary) * 0.875); /* ≈0.945rem ≈15.1px */ --font-size-h6: calc(var(--font-size-primary) * 0.75); --body-bg-color: #fbf8f2; --bold-text-color: #1e1e1e; --body-text-color: #3d3a35; --link-color: #03539e; --link-visited-color: #5e4684; --table-border-color: #e6dfd1; --table-th-bg-color: #f3efe6; --img-border-color: #e6dfd1; --code-bg-color: #f4efe4; --code-text-color: #362c21; --blockquote-border-color: #c0b6a4; --blockquote-text-color: #5e5a52; --upvoted-color: #c47062; --caption-text-color: #7d7870; --summary-text-color: #6b6660; --toc-text-color: #d7cebc; --toc-hover-color: #b7aa8f; --music-bg-hover-light: #ede4d4; --music-bg-light: rgba(237, 228, 212, 0.5); --music-text-secondary: #7d7870; --music-shadow: 0 10px 15px -3px rgba(80, 70, 50, 0.08), 0 4px 6px -2px rgba(80, 70, 50, 0.04); /* ── 标题 & 图标 ── */ --title-color: #4d4840; --svg-size: 0.85em; } h1 { font-size: var(--font-size-h1); font-weight: 700; line-height: 1.2; margin: 0.67em 0; } h2 { font-size: var(--font-size-h2); font-weight: 600; line-height: 1.25; margin: 0.83em 0; } h3 { font-size: var(--font-size-h3); font-weight: 600; line-height: 1.3; margin: 1em 0; } h4 { font-size: var(--font-size-h4); font-weight: 600; line-height: 1.4; margin: 1.33em 0; } h5 { font-size: var(--font-size-h5); font-weight: 500; line-height: 1.5; margin: 1.67em 0; text-transform: uppercase; } h6 { font-size: var(--font-size-h6); font-weight: 500; line-height: 1.5; margin: 2em 0; color: #666; } p { font-size: var(--font-size-primary); line-height: 2; } .recent-title { border: none; font-weight: bold; } .grouped { margin-right: 0.7rem; } .recent-date { display: block; } summary p { color: var(--summary-text-color); } :is(article, .summary) p:not(.music-card *) { margin-top: 1.6rem; } gnu { display: none; } h1, h2 { margin: 0; padding: 0; } .site-title { margin: 15px 0 15px 0; font-size: 2.15em; font-weight: 700; } .badge-88x31 { display: flex; flex-wrap: wrap; gap: 5px; } .badge-88x31 a { flex: 0 0 auto; line-height: 0; } .badge-88x31 img { display: block; } .post-title a.item-link { font-size: 1.25rem; margin-bottom: 0; } .e-content :is(h1, h2, h3, h4, h5, h6), .summary :is(h1, h2, h3, h4, h5, h6) { margin-top: 1.5em; } .post-meta-item a, .rss-icon a, .post-title a, a.title h1, p { color: var(--body-text-color); } body { font-family: Noto Serif CJK SC; margin: auto; padding: 20px; max-width: var(--width-max); text-align: left; background-color: var(--body-bg-color); word-wrap: break-word; overflow-wrap: break-word; line-height: 1.6; color: var(--body-text-color); } .post-title a { margin: 16px 0; } div.summary p { line-height: 2; } a { text-decoration: none; border-bottom: 1px dotted; color: var(--body-text-color) !important; } strong, b { color: var(--bold-text-color); } i { font-style: normal; } hr { border: 0; border-top: 1px dashed; } time { font-size: 1rem; color: var(--body-text-color); } div.post-meta { font-weight: 500; } header { margin-top: 30px; } .title { text-align: left; text-decoration: none !important; } .title:hover { text-decoration: none; } a.title h1 { margin: 15px 0 15px 0; font-size: 2.15em; } .title span { font-weight: 400; } nav a { margin-right: 8px; border: none; } footer { padding: 25px 0; text-align: left; font-size: var(--font-size-secondary); } .recent-posts-item { margin: 0 0 120px 0; } .recent-item { margin-bottom: 4rem; } .recent-list { padding-left: 2vw; } .post-title a.item-link { font-size: 1.8rem; border: none; } h1.post-title { margin-top: 0; margin-bottom: 0.7rem; } .post-title { display: inline-block; } .post-date, .post-date-shortcode { font-size: 0.9em; color: #666; display: inline; min-width: 80px; flex-shrink: 0; margin-left: auto; } .recent-empty { text-align: center; font-style: italic; } ul.blog-posts { list-style-type: none; padding: unset; } ul.blog-posts li { display: flex; margin-bottom: 8px; } ul.blog-posts li span { flex: 0 0 130px; } ul.blog-posts li span.grouped { flex: 0 0 80px; } .posts-list li { margin-bottom: 12px; } .post-meta { margin-top: 20px; margin-bottom: 5px; } .recent-posts .post-meta { margin-bottom: 3em; } .post-meta-item { margin-right: 0.3rem; display: inline-block; } .post-meta-item svg { display: inline; width: var(--svg-size); height: var(--svg-size); } .post-meta-item p { margin: 0; } img { max-width: 100%; display: block; margin-left: auto; margin-right: auto; content-visibility: auto; } img.missing { display: none; } img[src*="#minipic"] { max-width: 50%; margin-left: 0; margin-right: auto; } .image-caption { margin: auto; } .image-caption figcaption { text-align: center; font-style: italic; font-size: 0.8em; margin-top: 0.6em; color: var(--caption-text-color); } .booklist { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; } .booklist-item { transform: translateZ(0); transition: transform 0.25s, box-shadow 0.25s; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .booklist-item:hover { transform: translateY(-5px) translateZ(20px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5); } .booklist-item img { height: 100%; } .rss-icon { display: inline; font-size: 16px; float: right; font-family: var(--font-primary); } .social-icons { margin: 15px 15px 5px 15px; text-align: center; } .social-icons a { padding: 5px 5px; } code { font-family: var(--font-secondary); background-color: var(--code-bg-color); color: var(--code-text-color); padding: 2px; border-radius: 4px; } pre code { display: block; padding: 16px; white-space: pre-wrap; overflow-x: auto; } div.highlight pre { border-radius: 4px; } div.highlight code { background-color: var(--code-bg-color); color: var(--code-text-color); } blockquote { margin: 17px 0 0 0; padding-left: 20px; font-style: normal; } blockquote p { color: var(--blockquote-text-color); } table { width: 100%; border-collapse: collapse; border: 1px solid var(--table-border-color); border-radius: 4px; margin-top: 16px; } th, td { border: 1px solid var(--table-border-color); padding: 4px; } th { background-color: var(--table-th-bg-color); } .wm { border: 1px #d0d7de solid; border-radius: 0.25em; padding: 1.5vw; padding-top: 0; background-color: #fffaed; margin-top: 1vh; } .wm p { margin-top: 1px; } textarea { width: 100%; font-size: 16px; } input { font-size: 14px; } div.footnotes hr::before { content: "Footnotes"; display: block; font-size: 1.5em; color: var(--bold-text-color); margin-top: 16px; } .music-card { display: flex; flex-direction: column; gap: 0.5rem; width: 100%; } .music-card img { border: none !important; } .music-info { display: flex; align-items: center; gap: 1.25rem; } .music-cover { width: 3.75rem; height: 3.75rem; border-radius: 0.5rem; box-shadow: var(--music-shadow); margin: 0 !important; object-fit: cover; } .music-title { margin: 0; font-size: 1rem; font-weight: bold; line-height: 1.2; } .music-artist { margin: 0; font-size: 0.875rem; color: var(--music-text-secondary); } .music-links { display: flex; align-items: center; gap: 0.5rem; } .music-btn { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0 0.75rem; height: 2rem; border-radius: 9999px; text-decoration: none !important; font-size: 0.75rem; transition: background-color 0.3s ease; background-color: var(--music-bg-light); color: inherit; } .music-btn:hover { background-color: var(--music-bg-hover-light); } .music-icon { display: block; width: 0.75rem; height: 0.75rem; margin: 0 !important; } .music-btn-text { display: inline; } /* 容器基础样式 */ #ms_toc { border-left: 1px solid #ddd; /* 目录左侧的整体引导线 */ padding: 0 0 0 1em; /* 只留左侧内边距,给缩进留空间 */ margin-bottom: 2em; font-size: 0.9em; line-height: 1.6; /* 稍微增加行高,更有大纲感 */ } #ms_toc strong { display: block; margin-bottom: 0.8em; text-transform: uppercase; font-size: 0.8em; color: #666; /* 标题颜色稍微减淡,突出内容 */ letter-spacing: 1px; } /* 核心:列表缩进逻辑 */ #ms_toc nav ul { list-style: none; /* 彻底移除圆点 */ padding-left: 0; margin: 0; } /* 所有的列表项 */ #ms_toc nav li { margin: 0.4em 0; } /* 关键:通过层级选择器实现逐级缩进 */ /* 第一级不需要额外缩进 */ #ms_toc nav > ul > li { padding-left: 0; } /* 第二级及更深层级:每深入一级,增加 1.2em 的缩进 */ #ms_toc nav ul ul { padding-left: 1.2em; margin-left: 0.2em; /* 与父级垂直线错开 */ } /* 链接样式 */ #ms_toc a { text-decoration: none; color: #555; /* 默认深灰色,更像大纲 */ display: inline-block; transition: color 0.2s ease; } #ms_toc a:hover { color: #0056b3; /* 悬停时变蓝 */ text-decoration: underline; } /* 响应式设计:大屏幕时侧靠 (Desktop) */ @media (min-width: 1100px) { #ms_toc_container { position: fixed; /* 使用 calc 动态定位,确保在 600px 正文的右侧 */ left: calc(50% + 350px); top: 20%; /* 距离顶部 15%,比 20% 稍微靠上一点 */ width: 260px; max-height: 75vh; /* 限制高度,防止遮挡底部 */ overflow-y: auto; z-index: 100; margin: 0; } #ms_toc { margin-bottom: 0; } } /* 移动端或窄屏样式:回归到正文流中 */ @media (max-width: 1099px) { #ms_toc { margin: 2em 0; /* 手机端上下留白 */ width: auto; position: static; border-left: 2px solid #eee; } } button.upvote-btn { padding: 0; border: none; background: none; cursor: pointer; display: flex; flex-direction: column; align-items: center; color: var(--body-text-color); } button.upvoted { color: var(--upvoted-color); } span.upvote-count { margin-top: -4px; font-size: smaller; } ul li:has(input) { list-style-type: none; margin-left: -25.5px; } /* @media (prefers-color-scheme: dark) { */ /* :root { */ /* --body-text-color: #bbb; */ /* --title-color: #aaa; */ /* --body-bg-color: #0f0f0f; */ /* --summary-text-color: #a8a8a8; */ /* --bold-text-color: #ffffff; */ /* --text-color-tertiary: #bbb; */ /* --link-color: #5cc2ff; */ /* --link-visited-color: #9d7eff; */ /* --code-bg-color: #1a1a1a; */ /* --code-text-color: #d4d4d4; */ /* --blockquote-border-color: #555555; */ /* --blockquote-text-color: #bbbbbb; */ /* --table-border-color: #444444; */ /* --table-th-bg-color: #1f1f1f; */ /* --img-border-color: #444444; */ /* --toc-text-color: #aaaaaa; */ /* --toc-hover-color: #5cc2ff; */ /* --summary-text-color: #878686; */ /* --color-background: var(--body-bg-color) !important; */ /* } */ /* a { */ /* color: var(--link-color); */ /* cursor: pointer; */ /* } */ /* h3.recent-post-title a { */ /* color: var(--body-text-color); */ /* } */ /* .post-meta-item svg { */ /* filter: invert(1) hue-rotate(180deg); */ /* } */ /* strong { */ /* /\* font-weight: 650; *\/ */ /* } */ /* .music-btn { */ /* background-color: var(--music-bg-dark); */ /* } */ /* .music-btn:hover { */ /* background-color: var(--music-bg-hover-dark); */ /* } */ /* .category-link { */ /* color: #dbdbdb; */ /* } */ /* .wm { */ /* background-color: #161b22; */ /* border-color: #30363d; */ /* color: var(--body-text-color); */ /* padding: 10px; */ /* } */ /* .wm input { */ /* background-color: #010409; */ /* border: #30363d 1px solid; */ /* color: var(--body-text-color); */ /* outline: none; */ /* } */ /* #webmention-source:focus { */ /* border-color: var(--color-accent-fg, #0969da); */ /* box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.1); */ /* } */ /* .wm button { */ /* color: var(--body-text-color); */ /* background-color: #161b22; */ /* border: #30363d 1px solid; */ /* } */ /* .post-summary { */ /* color: var(--text-color-primary) !important; */ /* } */ /* .post-item { */ /* border-bottom: 1px solid #414141 !important; */ /* } */ /* .pagination-link { */ /* border: 1px solid #414141 !important; */ /* } */ /* } */ @media (min-width: 768px) { .music-card { flex-direction: row; justify-content: space-between; align-items: center; } .music-btn { padding: 1rem; justify-content: center; width: auto; height: auto; } .music-icon { width: 1.25rem; height: 1.25rem; } .music-btn-text { display: none; } } @media (max-width: 800px) { img[src*="#minipic"] { max-width: 100%; margin-left: auto; margin-right: auto; } div.toc { } } @media (max-width: 720px) { .post-date { min-width: auto; font-size: 0.85em; } .item-link { white-space: normal; overflow: visible; } } @media (max-width: 700px) { .booklist { grid-template-columns: repeat(3, 1fr); gap: 10px; } } @media (max-width: 400px) { .booklist { grid-template-columns: repeat(2, 1fr); gap: 10px; } } .title h1, .title p { margin: 15px 0 !important; font-size: 2.15em !important; /* font-weight: 700 !important; */ line-height: 1.2 !important; display: block !important; padding: 0 !important; } .post-title { font-size: 26.4px; line-height: 1.4 !important; display: block !important; padding: 0 !important; } .post-title a { display: inline-block !important; padding: 0 !important; } nav { margin-top: 0 !important; margin-bottom: 20px !important; line-height: 1.6 !important; } header { margin-top: 30px; display: block; }