:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafa;--fg:#111;--muted:#6b6b6b;--line:#d6d6d6;--line-strong:#111;--code-bg:#f0f0f0;--accent:#ff4d00;--accent-ink:#cc3900;--on-accent:#111;--font-sans:system-ui, -apple-system, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--measure:42rem;--wide:56rem;--gutter:1rem}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--fg:#f2f2f2;--muted:#9a9a9a;--line:#2b2b2b;--line-strong:#f2f2f2;--code-bg:#161616;--accent:#ff4d00;--accent-ink:#ff6a2b;--on-accent:#0a0a0a}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);overflow-wrap:anywhere;flex-direction:column;min-height:100vh;margin:0;font-size:1rem;line-height:1.8;display:flex}main{flex:1}a{color:inherit;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--on-accent)}img{max-width:100%;height:auto}.wrap{width:min(100% - 2 * var(--gutter), var(--wide));margin-inline:auto}.wrap--narrow{width:min(100% - 2 * var(--gutter), var(--measure));margin-inline:auto}.mono{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{padding-block:1rem}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.site-header a{text-decoration:none}.site-nav{flex-wrap:wrap;align-items:baseline;gap:1.25rem;display:flex}.site-nav a[aria-current=page]{color:var(--accent-ink)}.site-footer{border-top:1px solid var(--line);margin-top:5rem;padding-block:2rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.site-footer a{text-decoration:none}.hero{padding-block:clamp(2rem,8vw,5rem) 1.5rem}.wordmark{letter-spacing:-.06em;margin:0;font-size:clamp(4.5rem,21vw,11rem);font-weight:800;line-height:.85}.wordmark .dot{color:var(--accent)}.hero-sub{margin:1.25rem 0 0}.index-list{counter-reset:row;margin:0;padding:0;list-style:none}.index-list>li{counter-increment:row;border-top:1px solid var(--line)}.index-list>li:first-child{border-top:2px solid var(--line-strong)}.index-list a.row{grid-template-columns:3.2rem 1fr auto;align-items:baseline;gap:.1rem .75rem;padding:.9rem 0;text-decoration:none;display:grid}.index-list .num:before{content:counter(row, decimal-leading-zero)}.index-list .num{color:var(--muted)}.index-list .title{font-size:1.125rem;font-weight:600;line-height:1.45}.index-list .title .mark{background:var(--accent);vertical-align:.1em;border-radius:50%;width:.5rem;height:.5rem;margin-right:.5rem;display:inline-block}.index-list a.row:hover .title{color:var(--accent-ink)}.index-list .summary{color:var(--muted);grid-column:2/3;margin:.15rem 0 0;font-size:.9rem;line-height:1.6}.pager{justify-content:space-between;padding-top:1.5rem;display:flex}.empty{color:var(--muted);padding-block:3rem}.page-title{letter-spacing:-.04em;margin:2rem 0 1.5rem;font-size:clamp(2rem,7vw,3.5rem);font-weight:800;line-height:1.05}.section-label{margin:2.5rem 0 .5rem}.tag{font-family:var(--font-mono);border:1px solid var(--fg);padding:.05rem .5rem;font-size:.75rem;line-height:1.6;text-decoration:none;display:inline-block}.tag:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tag-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tag small{color:var(--muted);margin-left:.25rem}.tag:hover small{color:var(--on-accent)}.archive-year{letter-spacing:-.04em;margin:2.5rem 0 0;font-size:2.5rem;font-weight:800;line-height:1}.archive-month{margin:1.25rem 0 .25rem}.archive-list{margin:0;padding:0;list-style:none}.archive-list li{border-top:1px solid var(--line)}.archive-list a{align-items:baseline;gap:1rem;padding:.6rem 0;text-decoration:none;display:flex}.archive-list a:hover .t{color:var(--accent-ink)}.archive-list .d{color:var(--muted);min-width:3rem}.archive-list .mark{background:var(--accent);border-radius:50%;width:.45rem;height:.45rem;margin-right:.45rem;display:inline-block}.post-head{padding-top:2rem}.post-meta{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;display:flex}.post-meta .cat{color:var(--fg)}.post-meta .cat .mark{background:var(--accent);border-radius:50%;width:.5rem;height:.5rem;margin-right:.4rem;display:inline-block}.post-title{letter-spacing:-.035em;margin:.75rem 0 1rem;font-size:clamp(2rem,6.5vw,3.5rem);font-weight:800;line-height:1.12}.post-summary{color:var(--muted);margin:0 0 1.25rem;font-size:1.05rem}.post-head .tag-list{margin-bottom:1.5rem}.post-rule{border:0;border-top:2px solid var(--line-strong);margin:0}.prose{padding-block:1.75rem 1rem;font-size:1.0625rem;line-height:1.95}.prose>*{margin-block:0 1.2em}.prose h2,.prose h3,.prose h4{letter-spacing:-.02em;margin-block:2.2em .6em;font-weight:800;line-height:1.3}.prose h2{border-top:1px solid var(--line);padding-top:1.2rem;font-size:1.6rem}.prose h3{font-size:1.3rem}.prose>:first-child{margin-top:0}.prose>h2:first-child{border-top:0;padding-top:0}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin-inline:0;padding-left:1rem}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.3em}.prose hr{border:0;border-top:1px solid var(--line);margin-block:2em}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--code-bg);padding:.1em .4em;font-size:.875em}.prose pre{font-family:var(--font-mono);border:1px solid var(--line);padding:1rem;font-size:.875rem;line-height:1.65;overflow-x:auto;background:var(--code-bg)!important}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:.4rem .8rem}.prose th{background:var(--code-bg)}.prose img{border:1px solid var(--line);margin-inline:auto;display:block}.shiki span{color:var(--shiki-light)}[data-theme=dark] .shiki span{color:var(--shiki-dark)}.heading-anchor{text-decoration:none}#comments{border-top:2px solid var(--line-strong);margin-top:3rem;padding-top:1.5rem}@media (width<=36rem){.index-list a.row{grid-template-columns:2.4rem 1fr}.index-list .date,.index-list .summary{grid-column:2/3}}.theme-toggle{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;align-self:center;align-items:center;margin:-.25rem;padding:.25rem;display:inline-flex}.theme-toggle:hover{color:var(--accent-ink)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}@property --sr{syntax:"<length>";inherits:false;initial-value:0}.spotlight-root{isolation:isolate;touch-action:pan-y;position:relative}.spotlight-layer{z-index:2;pointer-events:none;background:var(--bg);color:var(--fg);clip-path:circle(var(--sr,0px) at var(--sx,50%) var(--sy,50%));transition:--sr .22s ease-out;position:absolute;inset:0;overflow:hidden}.spotlight-ring{z-index:3;left:var(--sx,0);top:var(--sy,0);width:var(--sd,0);height:var(--sd,0);border:1.5px solid var(--accent);pointer-events:none;opacity:0;border-radius:50%;transition:opacity .18s ease-out;position:absolute;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.spotlight-layer,.spotlight-ring{display:none}}.read-progress{z-index:50;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.read-progress>div{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(0)}.admin-bar{border-bottom:1px solid var(--line);background:var(--code-bg)}.admin-bar-inner{flex-wrap:wrap;align-items:baseline;gap:1.5rem;padding-block:.5rem;display:flex}.admin-bar nav{flex:1;gap:1.25rem;display:flex}.admin-bar a{text-decoration:none}.admin-bar a[aria-current=page]{color:var(--accent-ink)}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.admin-row{grid-template-columns:3.2rem 1fr auto!important}.admin-row-meta{white-space:nowrap;align-items:baseline;gap:1rem;display:flex}.badge{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--fg);color:var(--fg);padding:0 .4rem;font-size:.7rem}.badge--draft{color:var(--accent-ink);border-style:dashed;border-color:var(--accent-ink)}.btn{appearance:none;font:inherit;font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--fg);color:var(--fg);cursor:pointer;background:0 0;padding:.45rem .9rem;font-size:.8rem;line-height:1.4;text-decoration:none;display:inline-block}.btn:hover{background:var(--fg);color:var(--bg)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.btn--primary:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}.btn--danger:hover{color:#fff;background:#c0262d;border-color:#c0262d}.btn:disabled{opacity:.5;cursor:progress}.wrap--editor{width:min(100% - 2 * var(--gutter), 90rem);margin-inline:auto}.editor{padding-block:1.5rem 3rem}.editor-top{border-bottom:2px solid var(--line-strong);flex-wrap:wrap;align-items:center;gap:1rem;padding-bottom:.75rem;display:flex}.editor-title{min-width:0;font:inherit;letter-spacing:-.03em;color:var(--fg);background:0 0;border:0;flex:18rem;padding:.25rem 0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800}.editor-title:focus{outline:none}.editor-title::placeholder{color:var(--muted)}.editor-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.editor-status{text-align:right;text-transform:none;letter-spacing:.02em;min-width:9rem}.editor-status[data-error=true]{color:var(--accent-ink);font-weight:700}.editor-meta{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem 1rem;padding-block:1rem;display:grid}.field{flex-direction:column;gap:.25rem;min-width:0;display:flex}.field--wide{grid-column:1/-1}.field input,.field select,.field textarea{font:inherit;color:var(--fg);border:1px solid var(--line-strong);background:0 0;border-radius:0;width:100%;padding:.4rem .6rem;font-size:.95rem}.field input:focus,.field select:focus,.field textarea:focus,.editor-content:focus{outline:2px solid var(--accent);outline-offset:0}.editor-split{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=62rem){.editor-split{grid-template-columns:1fr 1fr}}.editor-pane{flex-direction:column;gap:.35rem;min-width:0;display:flex}.editor-content{font-family:var(--font-mono);color:var(--fg);background:var(--code-bg);border:1px solid var(--line-strong);resize:vertical;tab-size:2;width:100%;height:70vh;min-height:28rem;padding:.9rem;font-size:.9rem;line-height:1.7}.editor-preview{border:1px solid var(--line);height:70vh;min-height:28rem;padding:.5rem 1.25rem;font-size:1rem;overflow:auto}.comments{border-top:2px solid var(--line-strong);margin-top:3rem;padding-top:1.5rem}.comments-title{letter-spacing:-.02em;margin:0 0 1rem;font-size:1.4rem;font-weight:800}.comment-list,.comment-replies{margin:0;padding:0;list-style:none}.comment{border-top:1px solid var(--line);gap:.75rem;padding:1rem 0;display:flex}.comment-list>.comment:first-child{border-top:0}.comment-replies{margin-top:.5rem;padding-left:0}.comment-replies .comment{border-top:1px dashed var(--line);padding-block:.75rem}.comment-main{flex:1;min-width:0}.comment-avatar{border:1px solid var(--line-strong);width:2.25rem;height:2.25rem;color:var(--fg);flex:none;padding:.25rem;line-height:0}.comment-avatar svg{width:100%;height:100%}.comment-replies .comment-avatar{width:1.75rem;height:1.75rem;padding:.2rem}.comment-head{text-transform:none;letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.comment-name{color:var(--fg);font-weight:700}.comment-badge{background:var(--accent);color:var(--on-accent);letter-spacing:.08em;padding:0 .4rem;font-size:.7rem;font-weight:700}.comment-reply-btn{appearance:none;color:var(--muted);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em;background:0 0;border:0;padding:0;font-size:.75rem}.comment-reply-btn:hover{color:var(--accent-ink)}.comment-body{margin-top:.25rem;line-height:1.75}.comment-body pre{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--line);margin:.5rem 0;padding:.6rem .8rem;font-size:.85rem;line-height:1.6;overflow-x:auto}.comment-body code{font-family:var(--font-mono);background:var(--code-bg);padding:.05em .35em;font-size:.875em}.comment-body pre code{background:0 0;padding:0}.comment--admin>.comment-main>.comment-head .comment-name{color:var(--accent-ink)}.comment-form{border-top:2px solid var(--line-strong);gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:grid}.comment-fields{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.comment-form textarea{resize:vertical;font-family:var(--font-sans);line-height:1.7}.comment-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.comment-msg[data-error=true]{color:var(--accent-ink);font-weight:700}.comment-reply-hint{text-transform:none;letter-spacing:.02em;margin:0}.admin-comments{margin:0;padding:0;list-style:none}.admin-comment{border-top:1px solid var(--line);padding:1rem 0}.admin-comment:first-child{border-top:2px solid var(--line-strong)}.admin-comment.is-hidden{opacity:.6}.admin-comment-head{text-transform:none;letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.admin-comment-text{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--code-bg);border:1px solid var(--line);margin:.5rem 0;padding:.6rem .8rem;font-size:.9rem;line-height:1.7}.admin-comment-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-comment-actions [data-msg][data-error=true]{color:var(--accent-ink);font-weight:700}.admin-reply-form{justify-items:start;gap:.5rem;margin-top:.75rem;display:grid}.admin-reply-form[hidden]{display:none}.admin-reply-form textarea{width:100%;font:inherit;color:var(--fg);border:1px solid var(--line-strong);background:0 0;padding:.5rem .7rem}.search-box{flex-wrap:wrap;align-items:stretch;gap:.5rem;display:flex}.search-input{min-width:0;font:inherit;color:var(--fg);border:1px solid var(--line-strong);background:0 0;border-radius:0;flex:16rem;padding:.5rem .75rem;font-size:1.05rem}.search-input:focus{outline:2px solid var(--accent);outline-offset:0}.search-results .summary mark{background:var(--accent);color:var(--on-accent)}kbd.mono{border:1px solid var(--line);padding:0 .3rem;font-size:.8em}
