pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}:root{--bg: #f6f5f1;--surface: #ffffff;--text: #24292f;--muted: #6e7781;--border: #e6e3da;--accent: #0f766e;--accent-soft: rgba(15, 118, 110, .09);--danger: #b91c1c;--radius: 10px;--shadow: 0 1px 3px rgba(20, 24, 28, .06), 0 8px 24px rgba(20, 24, 28, .04);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.7}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:32px 20px 64px}.app-footer{text-align:center;color:var(--muted);font-size:13px;padding:24px;border-top:1px solid var(--border)}.site-header{position:sticky;top:0;z-index:10;background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.site-header-inner{max-width:1080px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.site-logo{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--text)}.site-logo:hover{text-decoration:none;color:var(--accent)}.site-nav{display:flex;align-items:center;gap:20px}.site-nav a,.nav-link-btn{color:var(--muted);font-size:15px;font-weight:500;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.site-nav a:hover,.nav-link-btn:hover{color:var(--accent);text-decoration:none}.hero{text-align:center;padding:26px 0 34px}.hero h1{margin:0;font-size:34px;letter-spacing:-1px}.hero p{margin:10px 0 0;color:var(--muted)}.home-layout{width:100%;max-width:780px;margin:0 auto}.home-toolbar{margin-bottom:28px}.search-box{display:flex;gap:8px;max-width:460px;margin:0 auto 18px}.search-box input{flex:1;min-width:0}.filter-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.filter-label{font-size:13px;letter-spacing:2px;color:var(--muted);margin-right:2px}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 26px;margin-bottom:18px;transition:transform .15s ease,box-shadow .15s ease}.post-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #14181c14,0 12px 32px #14181c0f}.post-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.post-card-title{font-size:19px;font-weight:650;color:var(--text)}.post-card-title:hover{color:var(--accent);text-decoration:none}.post-card-date{flex-shrink:0;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.post-card-summary{margin:8px 0 0;color:var(--muted);font-size:14.5px}.post-card-tags,.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--accent);background:var(--accent-soft);border:none;border-radius:999px;padding:3px 12px;cursor:pointer;font-family:inherit}.tag-chip:hover{text-decoration:none;background:#0f766e29}.tag-chip-btn{font-size:13px;padding:5px 14px}.tag-chip-active{background:var(--accent);color:#fff}.tag-count{opacity:.75;font-size:11.5px}.tag-chip-cat{background:#2563eb14;color:#2563eb}.tag-chip-cat:hover{background:#2563eb29}.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:14px}.filter-bar .tag-chip-active:hover{text-decoration:line-through}.post-page{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 48px;max-width:860px;margin:0 auto}.post-header{border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:28px}.post-title{margin:0;font-size:30px;line-height:1.3;letter-spacing:-.5px}.post-meta{display:flex;align-items:center;gap:16px;margin-top:12px;color:var(--muted);font-size:14px}.post-tags{margin-top:16px}.markdown-body{font-size:16px;line-height:1.75;word-break:break-word}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:1.6em 0 .6em;line-height:1.35;letter-spacing:-.3px}.markdown-body h1{font-size:26px}.markdown-body h2{font-size:21px;border-bottom:1px solid var(--border);padding-bottom:6px}.markdown-body h3{font-size:18px}.markdown-body p{margin:.85em 0}.markdown-body ul,.markdown-body ol{padding-left:1.6em;margin:.8em 0}.markdown-body li{margin:.3em 0}.markdown-body blockquote{margin:1em 0;padding:4px 18px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;color:#3d4750}.markdown-body blockquote p{margin:.4em 0}.markdown-body code{font-family:var(--font-mono);font-size:.88em;background:#24292f12;border-radius:5px;padding:2px 6px}.markdown-body pre{background:#f2f1ec;border:1px solid var(--border);border-radius:8px;padding:16px 18px;overflow-x:auto;line-height:1.55}.markdown-body pre code{background:none;padding:0;font-size:13.5px}.markdown-body table{border-collapse:collapse;margin:1em 0;width:100%;font-size:14.5px}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:8px 14px;text-align:left}.markdown-body th{background:var(--bg);font-weight:600}.markdown-body img{display:block;max-width:100%;margin:1.4em auto;border-radius:8px;border:1px solid var(--border);box-shadow:var(--shadow)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:2em 0}.markdown-body input[type=checkbox]{margin-right:6px}.pagination{display:flex;justify-content:center;gap:8px;margin-top:28px}.page-btn{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 14px;font-size:14px;color:var(--text);cursor:pointer;font-family:inherit}.page-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.page-btn:disabled{opacity:.45;cursor:default}.page-btn-active{background:var(--accent);border-color:var(--accent);color:#fff}input,textarea{font-family:inherit;font-size:15px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 13px;outline:none}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.alert{border-radius:8px;padding:12px 16px;font-size:14.5px;margin-bottom:16px}.alert-error{background:#b91c1c14;border:1px solid rgba(185,28,28,.25);color:var(--danger)}.loading,.empty{text-align:center;color:var(--muted);padding:48px 0}.empty a{display:inline-block;margin-top:8px}.muted{color:var(--muted)}@media (max-width: 900px){.post-page{padding:28px 22px}.post-card{padding:18px 20px}.post-card-head{flex-direction:column;gap:4px}.filter-label{margin-right:0}}
