:root{--bg:#fdfdfc;--bg-soft:#f4f3f0;--fg:#23211e;--fg-muted:#6b6660;--line:#e2ded7;--accent:#9a4f21;--accent-soft:#fbf1e8;--warn-bg:#fff8e6;--warn-line:#e8c76a;--code-bg:#f4f3f0;--measure:42rem}@media(prefers-color-scheme:dark){:root{--bg:#17171a;--bg-soft:#202024;--fg:#e4e2de;--fg-muted:#97928b;--line:#32323a;--accent:#e0975e;--accent-soft:#2a2019;--warn-bg:#2a2418;--warn-line:#6d5a2a;--code-bg:#202024}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,segoe ui,noto sans tc,pingfang tc,microsoft jhenghei,sans-serif;font-size:17px;line-height:1.75;text-spacing-trim:space-all;overflow-wrap:break-word}.wrap{width:100%;max-width:var(--measure);margin:0 auto;padding:0 1.25rem}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:10;background:var(--bg);padding:.5rem .75rem;border:2px solid var(--accent)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}.muted{color:var(--fg-muted)}.site-head{border-bottom:1px solid var(--line);margin-bottom:2.5rem}.head-inner{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;padding-top:1.25rem;padding-bottom:1.25rem}.brand{text-decoration:none;color:inherit;display:flex;flex-direction:column}.brand-name{font-weight:700;font-size:1.2rem;letter-spacing:.02em}.brand-sub{color:var(--fg-muted);font-size:.82rem}.nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:1rem;font-size:.92rem}.nav a{color:var(--fg-muted);text-decoration:none}.nav a:hover,.nav a.active{color:var(--accent)}.nav a.active{font-weight:600}.sect-icon{width:1em;height:1em;flex:none;vertical-align:-.12em;margin-right:.35em}h1 .sect-icon{width:.82em;height:.82em;color:var(--fg-muted)}.card strong .sect-icon{color:var(--accent)}.tagcloud{margin:1rem 0 2rem}.tagcloud .chip{text-decoration:none;overflow-wrap:anywhere}.searchhint{font-size:.82rem;margin:-.6rem 0 1rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0 1.2rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;font:inherit;font-size:.82rem;color:var(--fg-muted);background:var(--bg);border:1px solid var(--line);border-radius:999px;cursor:pointer}.chip:hover{border-color:var(--accent);color:var(--fg)}.chip .sect-icon{margin-right:0}.chip-n{font-size:.72rem;font-variant-numeric:tabular-nums;opacity:.7}.chip.on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent);font-weight:500}.entries{list-style:none;margin:0;padding:0}.entries li{padding:.7rem 0;border-bottom:1px solid var(--line)}.entry{display:flex;text-decoration:none;color:inherit}.entry:hover .entry-title{color:var(--accent);text-decoration:underline}.entry-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.entry-meta{display:flex;align-items:center;gap:.4rem;color:var(--fg-muted);font-size:.78rem;font-variant-numeric:tabular-nums}.entry-meta .sect-icon{margin-right:0}.entry-sect{letter-spacing:.02em}.entry-title{font-weight:500;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.entry-desc{color:var(--fg-muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.entry-tags{margin:.35rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem .5rem;font-size:.76rem;color:var(--fg-muted)}.entry-tags a{color:var(--fg-muted);text-decoration:none;padding:.05rem .4rem;border:1px solid var(--line);border-radius:999px}.entry-tags a:hover{color:var(--accent);border-color:var(--accent)}.sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.8rem 0 1rem}.sortbar[hidden]{display:none}.sortbar-t{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);margin-right:.2rem}.hero{margin-bottom:2.5rem}.hero h1{font-size:1.6rem;margin:0 0 .4rem}.hero p{margin:0;color:var(--fg-muted)}.recent h2,.sections h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);font-weight:600;margin:2.5rem 0 .5rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem}.card{display:flex;flex-direction:column;gap:.15rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:inherit;font-size:.9rem}.card:hover{border-color:var(--accent)}.card-blurb{color:var(--fg-muted);font-size:.8rem}.list-head h1,.post-head h1{font-size:1.75rem;line-height:1.3;margin:.2rem 0 .5rem}.sect{font-size:.78rem;letter-spacing:.06em;text-decoration:none;color:var(--accent);background:var(--accent-soft);padding:.12rem .5rem;border-radius:3px}.meta{color:var(--fg-muted);font-size:.85rem;margin:0 0 1.5rem}.draft-tag{color:var(--accent);font-style:normal}.stale{background:var(--warn-bg);border-left:3px solid var(--warn-line);padding:.7rem .9rem;font-size:.88rem;margin:1.25rem 0}.tldr,.takeaway{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;background:var(--bg-soft);padding:.85rem 1.1rem;margin:0 0 2rem}.takeaway{margin:2.5rem 0 0}.tldr-t,.takeaway-t{margin:0 0 .4rem;font-size:.75rem;letter-spacing:.1em;font-weight:600;color:var(--accent)}.tldr ul{margin:0;padding-left:1.1rem;font-size:.93rem}.tldr li{margin:.3rem 0}.takeaway p:last-child{margin:0;font-size:.95rem}.toc{border:1px solid var(--line);border-radius:6px;padding:.8rem 1rem;margin-bottom:2rem;font-size:.9rem}.toc-t{margin:0 0 .3rem;font-weight:600;font-size:.8rem;color:var(--fg-muted)}.toc ul{margin:0;padding-left:1.1rem}.toc li{margin:.15rem 0}.content>*:first-child{margin-top:0}.content h2{font-size:1.25rem;margin:2.5rem 0 .6rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}.content h3{font-size:1.06rem;margin:1.8rem 0 .4rem}.content h4{font-size:.98rem;margin:1.4rem 0 .3rem;color:var(--fg-muted)}.content p,.content ul,.content ol{margin:.85rem 0}.content li{margin:.25rem 0}.content img{max-width:100%;height:auto;border-radius:4px}.content blockquote{margin:1.25rem 0;padding:.1rem 0 .1rem 1rem;border-left:3px solid var(--line);color:var(--fg-muted)}.content code{background:var(--code-bg);padding:.12em .35em;border-radius:3px;font-size:.88em;font-family:ui-monospace,cascadia code,source code pro,Menlo,Consolas,monospace}.content pre{background:var(--code-bg);border:1px solid var(--line);border-radius:6px;padding:.85rem 1rem;overflow-x:auto;font-size:.86rem;line-height:1.6}.content pre code{background:0 0;padding:0;font-size:inherit}.content table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1.25rem 0;display:block;overflow-x:auto}.content th,.content td{border:1px solid var(--line);padding:.4rem .6rem;text-align:left;vertical-align:top}.content th{background:var(--bg-soft);font-weight:600}.content th{white-space:nowrap}.content th,.content td{min-width:5em}.content hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.tags{margin:2rem 0 0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.5rem;color:var(--fg-muted)}.tags a{color:inherit;text-decoration:none}.tags a:hover{color:var(--accent)}.pager{display:flex;justify-content:space-between;gap:1rem;margin:2.5rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:.88rem}.pager .next{margin-left:auto;text-align:right}.pagination{display:flex;gap:1rem;align-items:center;justify-content:center;margin:2rem 0;font-size:.9rem}.site-foot{margin-top:4rem;padding:1.5rem 0 2.5rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--fg-muted)}.site-foot p{margin:.2rem 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.search-form{margin:0 0 1rem}#q{width:100%;font:inherit;font-size:1rem;padding:.6rem .8rem;color:var(--fg);background:var(--bg-soft);border:1px solid var(--line);border-radius:6px}#q:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}#q::placeholder{color:var(--fg-muted)}#search-status{font-size:.85rem;margin:0 0 .5rem}mark{background:var(--accent-soft);color:var(--accent);padding:0 .1em;border-radius:2px}.code-wrap{position:relative}.copy-btn{position:absolute;top:.4rem;right:.4rem;font:inherit;font-size:.75rem;line-height:1;padding:.3rem .55rem;color:var(--fg-muted);background:var(--bg);border:1px solid var(--line);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .12s ease}.code-wrap:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn:hover{color:var(--accent);border-color:var(--accent)}.copy-btn.ok{color:var(--accent);border-color:var(--accent);opacity:1}@media(hover:none){.copy-btn{opacity:.7}}