
:root{--bg:#f4f2ec;--panel:#fff;--ink:#141414;--dim:#5c5c5c;--line:#141414;--accent:#c0392b;--accent2:#1a4fa0}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:16px/1.75 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--accent2);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:860px;margin:0 auto;padding:0 18px 80px}
header.top{border-bottom:3px solid var(--line);background:var(--panel);margin-bottom:28px}
header.top .wrap{padding-top:26px;padding-bottom:18px}
h1.site{font-size:32px;letter-spacing:1px}
.site small{display:block;font-size:13px;font-weight:400;color:var(--dim);letter-spacing:0;margin-top:6px}
nav.crumbs{font-size:13px;color:var(--dim);margin-bottom:14px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.toolbar input,.toolbar select{font:inherit;font-size:14px;padding:8px 10px;border:2px solid var(--line);background:var(--panel);color:var(--ink)}
.toolbar input{flex:1;min-width:180px}
.count{font-size:13px;color:var(--dim);margin-bottom:10px}
.yr{font-size:15px;font-weight:700;letter-spacing:2px;color:var(--dim);border-bottom:2px solid var(--line);padding:18px 0 4px;margin-bottom:8px}
ul.posts{list-style:none}
ul.posts li{background:var(--panel);border:2px solid var(--line);box-shadow:4px 4px 0 var(--line);margin-bottom:14px}
ul.posts li a.tt{display:block;padding:14px 16px;color:var(--ink)}
ul.posts li a.tt:hover{background:#fdf5d8;text-decoration:none}
.tt b{font-size:18px;font-weight:600;display:block;margin-bottom:4px}
.tt .ex{font-size:13px;color:var(--dim);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tt .mt{font-size:12px;color:var(--dim);margin-top:8px;display:flex;gap:12px;flex-wrap:wrap}
.tag{display:inline-block;font-size:11px;border:1px solid var(--dim);padding:1px 6px;color:var(--dim)}
article{background:var(--panel);border:2px solid var(--line);box-shadow:6px 6px 0 var(--line);padding:26px 28px}
article h1{font-size:28px;line-height:1.35;margin-bottom:10px}
.meta{font-size:13px;color:var(--dim);border-bottom:1px solid #ddd;padding-bottom:14px;margin-bottom:22px;display:flex;gap:14px;flex-wrap:wrap}
.body{font-size:16.5px;line-height:1.9;word-wrap:break-word;overflow-wrap:break-word}
.body h1,.body h2,.body h3,.body h4{line-height:1.4;margin:1.4em 0 .6em}
.body h1{font-size:24px;border-bottom:2px solid var(--line);padding-bottom:6px}
.body h2{font-size:21px;border-left:6px solid var(--accent);padding-left:10px}
.body h3{font-size:18px}
.body p{margin:.85em 0}
.body ul,.body ol{margin:.85em 0 .85em 1.6em}
.body li{margin:.3em 0}
.body img{max-width:100%;height:auto;display:block;margin:14px auto;border:1px solid #ddd}
.body blockquote{border-left:6px solid #bbb;background:#faf8f2;padding:8px 14px;margin:1em 0;color:#444}
.body pre{background:#1e1e1e;color:#eee;padding:14px;overflow-x:auto;margin:1em 0;font-size:14px;line-height:1.6}
.body pre code{background:none;color:inherit;padding:0;font-size:inherit}
.body code{background:#eceae2;padding:1px 5px;font-size:14px;font-family:Consolas,Monaco,monospace}
.body table{border-collapse:collapse;margin:1em 0;display:block;overflow-x:auto;max-width:100%}
.body th,.body td{border:1px solid #999;padding:6px 10px;font-size:14.5px}
.body th{background:#efece4}
.body hr{border:none;border-top:2px solid var(--line);margin:1.6em 0}
/* fallback if the KaTeX stylesheet fails to load: hide the MathML twin so the
   HTML rendering shows alone instead of both stacked on top of each other */
.katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}
.body .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:24px;font-size:14px}
.pager a{background:var(--panel);border:2px solid var(--line);box-shadow:3px 3px 0 var(--line);padding:9px 13px;color:var(--ink);max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pager a:hover{background:#fdf5d8;text-decoration:none}
footer.bot{margin-top:36px;font-size:12px;color:var(--dim);text-align:center}
@media(max-width:600px){article{padding:18px 15px}.wrap{padding:0 12px 60px}h1.site{font-size:24px}article h1{font-size:22px}}
