.topbar[data-v-ecbb38bc]{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 28px;background:#ffffffe0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand[data-v-ecbb38bc]{display:flex;align-items:baseline;gap:10px}.brand-mark[data-v-ecbb38bc]{font-family:var(--mono);font-weight:700;font-size:15px;background:var(--ink);color:#fff;border-radius:6px;padding:2px 7px;letter-spacing:.02em;transform:translateY(-1px)}.brand-name[data-v-ecbb38bc]{font-family:var(--serif);font-size:19px;letter-spacing:-.01em}.brand-sub[data-v-ecbb38bc]{font-size:12px;color:var(--muted);letter-spacing:.28em}.top-meta[data-v-ecbb38bc]{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.top-meta .dot[data-v-ecbb38bc]{margin:0 7px;color:var(--faint)}@media(max-width:640px){.topbar[data-v-ecbb38bc]{padding:0 16px}.brand-sub[data-v-ecbb38bc],.top-meta[data-v-ecbb38bc]{display:none}}.app[data-v-482873ed]{min-height:100vh;display:flex;flex-direction:column}:root{--bg: #fbfbfa;--surface: #ffffff;--surface-2: #f7f6f3;--surface-3: #f1f0ec;--ink: #111111;--ink-2: #3f3e3b;--muted: #787774;--faint: #a5a29b;--line: #eaeaea;--line-2: #dfdeda;--red-bg: #fdebec;--red-tx: #9f2f2d;--blue-bg: #e1f3fe;--blue-tx: #1f6c9f;--green-bg: #edf3ec;--green-tx: #346538;--yellow-bg: #fbf3db;--yellow-tx: #956400;--term-bg: #191b1d;--term-head: #212427;--term-ink: #d8d8d3;--term-muted: #8f938e;--term-green: #8cc265;--term-cyan: #57b6c2;--term-red: #f18585;--term-yellow: #e3b341;--serif: "Georgia", "Times New Roman", "Songti SC", "STSong", "SimSun", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono: "Cascadia Code", "JetBrains Mono", "SF Mono", "Consolas", "Courier New", monospace;--track: #111111;--radius: 10px;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--yellow-bg);color:var(--ink)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#dedcd6;border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#cfccc4}::-webkit-scrollbar-track{background:transparent}.btn-dark{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;border:none;border-radius:6px;padding:7px 16px;font-size:13px;letter-spacing:.02em;transition:background .2s var(--ease),transform .15s var(--ease)}.btn-dark:hover{background:#333}.btn-dark:active{transform:scale(.98)}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 11px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.pill-green{background:var(--green-bg);color:var(--green-tx)}.pill-blue{background:var(--blue-bg);color:var(--blue-tx)}.pill-yellow{background:var(--yellow-bg);color:var(--yellow-tx)}.pill-red{background:var(--red-bg);color:var(--red-tx)}.pill-gray{background:var(--surface-3);color:var(--muted)}.mono{font-family:var(--mono)}.section-label{display:flex;align-items:center;gap:12px;margin:44px 0 18px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);-webkit-user-select:none;user-select:none}.section-label:after{content:"";flex:1;height:1px;background:var(--line)}.prose{color:var(--ink-2);font-size:15.5px;line-height:1.85}.prose p{margin:0 0 14px}.prose p:last-child{margin-bottom:0}.prose strong{color:var(--ink);font-weight:650}.prose code{font-family:var(--mono);font-size:.88em;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:1px 6px;color:var(--ink);word-break:break-word}.prose ul,.prose ol{margin:0 0 14px;padding-left:22px}.prose li{margin:4px 0}.prose li::marker{color:var(--faint)}.prose blockquote{margin:0 0 14px;padding:2px 0 2px 16px;border-left:2px solid var(--line-2);color:var(--muted)}.prose h2,.prose h3,.prose h4{color:var(--ink);font-family:var(--serif);line-height:1.4;margin:22px 0 10px}.prose h2{font-size:20px}.prose h3{font-size:17px}.prose h4{font-size:15.5px;font-family:var(--sans);font-weight:650}.prose h2:first-child,.prose h3:first-child,.prose h4:first-child{margin-top:0}.prose table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14px}.prose th,.prose td{border:1px solid var(--line);padding:7px 11px;text-align:left;vertical-align:top}.prose th{background:var(--surface-2);color:var(--ink);font-weight:600}.prose hr{border:none;border-top:1px solid var(--line);margin:20px 0}.prose a{color:var(--blue-tx);text-decoration:underline;text-underline-offset:2px}.hljs{color:#2f3437;background:transparent}.hljs-comment,.hljs-quote{color:#a5a29b;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag,.hljs-formula{color:#9f2f2d}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-meta .hljs-string{color:#346538}.hljs-number,.hljs-symbol,.hljs-bullet,.hljs-variable,.hljs-template-variable,.hljs-attr,.hljs-attribute{color:#956400}.hljs-title,.hljs-section,.hljs-name,.hljs-title.class_,.hljs-title.function_,.hljs-built_in{color:#1f6c9f}.hljs-type,.hljs-class .hljs-title,.hljs-params{color:#1f7a5e}.hljs-tag{color:#2f3437}.hljs-tag .hljs-name{color:#9f2f2d}.hljs-meta,.hljs-subst,.hljs-punctuation{color:#6f6d68}.hljs-deletion{color:#9f2f2d}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:650}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fade-up .6s var(--ease) both}.fade-up-1{animation-delay:.06s}.fade-up-2{animation-delay:.12s}.fade-up-3{animation-delay:.18s}@media(max-width:960px){.prose table{display:block;overflow-x:auto}}
