:root{color-scheme:light;--ink:#132a42;--muted:#5d6f80;--link:#2161a8;--surface:#f3f7fb;--line:#dde6ed;--paper:#fff;font:18px/1.85 "Avenir Next",Avenir,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--link);outline-offset:4px}img{max-width:100%;height:auto}.skip{position:absolute;left:1rem;top:-6rem;padding:.5rem 1rem;background:#fff;z-index:10}.skip:focus{top:1rem}.site-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:1152px;padding:1.1rem 2rem;margin:auto;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:700;color:var(--ink);text-decoration:none}.brand img{width:38px;height:34px}.site-header nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.site-header nav a,footer a{display:inline-flex;align-items:center;min-height:44px}.preview-note{background:var(--surface);padding:.5rem 1rem;text-align:center;font-size:.85rem;color:var(--ink)}main{padding:3.5rem 1.5rem 5rem;outline:none}.reading{max-width:66ch;min-width:0;margin:auto}h1{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:650;line-height:1.15;letter-spacing:-.035em;margin:0 0 1.25rem;overflow-wrap:anywhere}h2{font-size:1.45rem;line-height:1.3;margin:2.5rem 0 .8rem;letter-spacing:-.015em}h3{font-size:1.15rem;line-height:1.45;margin-top:2rem}p{margin:0 0 1.2rem}p,li{overflow-wrap:anywhere}.lede{font-size:1.15rem;line-height:1.7;margin-bottom:2.5rem}.breadcrumb,.byline,.credit,.task{font-size:.85rem;color:var(--muted)}.breadcrumb{margin-bottom:1.2rem}.byline time{display:block}.credit{margin-top:-.6rem}.draft{display:inline-block;padding:0 .5rem;border:1px solid var(--muted);border-radius:4px;margin-left:.4rem;color:var(--ink)}.post-list article{padding:1.8rem 0;border-top:1px solid var(--line)}.post-list h2{margin:.3rem 0 .65rem}.post-list article p:last-child{margin-bottom:0}.task{margin-bottom:0}.contents{margin:2rem 0;background:var(--surface);padding:.2rem 1rem}.contents summary{cursor:pointer;min-height:44px;display:list-item;align-content:center}.contents nav{display:grid;padding:.4rem 0 1rem;gap:.3rem}.contents nav a{min-height:44px;display:flex;align-items:center}h2[id],h3[id]{scroll-margin-top:1rem}.prose>p:first-child{font-size:1.1rem}.prose ul,.prose ol{padding-left:1.35rem}.prose li{margin:.5rem 0}blockquote{border-left:3px solid var(--link);margin:1.5rem 0;padding:.4rem 1.2rem;background:var(--surface)}blockquote p:last-child{margin:0}pre{max-width:100%;overflow:auto;padding:1rem;background:var(--surface);font-size:.85rem;line-height:1.7;tab-size:2;border:1px solid var(--line);border-radius:5px}code{font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}p code,li code,td code{overflow-wrap:anywhere}.table-scroll{max-width:100%;overflow-x:auto;margin:1.5rem 0;border:1px solid var(--line);border-radius:5px}table{border-collapse:collapse;min-width:36rem;width:100%;font-size:.88rem;line-height:1.6}th,td{text-align:left;vertical-align:top;padding:.7rem .85rem;border-bottom:1px solid var(--line)}th{background:var(--surface);font-weight:650}tr:last-child td{border-bottom:0}.next-step{margin-top:2.5rem;padding:1.25rem;background:var(--surface)}.next-step h2{margin:0;font-size:1.15rem}.next-step ul{margin-bottom:0;padding-left:1.1rem}footer{max-width:1152px;margin:auto;border-top:1px solid var(--line);padding:1.5rem 2rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.85rem}@media(max-width:600px){:root{font-size:17px}.site-header{padding:.85rem 1rem;align-items:flex-start;flex-direction:column;gap:.35rem}.site-header nav{width:100%;justify-content:space-between}.site-header nav a{min-width:44px}main{padding:2.25rem 1rem 3rem}h1{letter-spacing:-.025em}.lede{font-size:1.05rem}footer{padding:1rem;display:grid;gap:.25rem}}@media print{.site-header,.preview-note,footer,.contents,.skip{display:none}main{padding:0}.reading{max-width:none}pre{white-space:pre-wrap}.table-scroll{overflow:visible}table{min-width:0}a{color:inherit}}

.group-nav{display:grid;gap:.25rem;margin:0 0 2.5rem;padding:1rem;background:var(--surface)}.group-nav a{display:flex;align-items:center;min-height:44px}.post-list h3{font-size:1.3rem;margin:.3rem 0 .65rem;line-height:1.35}.reading>section{margin-top:3rem}.reading>section>h2{padding-top:.5rem;border-top:2px solid var(--line)}
