:root{color-scheme:light;--white: #fff;--gray-1: #202224;--gray-2: #2d2d2d;--gray-3: #555759;--gray-4: #6e7072;--gray-5: #848688;--gray-6: #aaacae;--gray-7: #c6c8ca;--gray-8: #dcdee0;--gray-9: #f0f1f2;--gray-10: #f8f8f8;--turq-light: #5dc9e2;--turq-med: #50b7e0;--turq-dark: #007d9c;--yellow: #fddd00;--slate: #253443;--shark: #2b2d2f;--bg: var(--white);--bg-accented: var(--gray-10);--bg-code: var(--gray-9);--text: var(--gray-1);--text-subtle: var(--gray-3);--border: var(--gray-7);--link: var(--turq-dark);--brand: var(--turq-dark);--focus: var(--turq-dark);--footer-bg: var(--slate);--footer-text: var(--white)}:root[data-theme=dark]{color-scheme:dark;--bg: var(--gray-1);--bg-accented: var(--gray-2);--bg-code: var(--shark);--text: var(--gray-9);--text-subtle: var(--gray-7);--border: var(--gray-3);--link: var(--turq-med);--brand: var(--turq-light);--focus: var(--turq-light);--footer-bg: var(--gray-2);--footer-text: var(--gray-9)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: var(--gray-1);--bg-accented: var(--gray-2);--bg-code: var(--shark);--text: var(--gray-9);--text-subtle: var(--gray-7);--border: var(--gray-3);--link: var(--turq-med);--brand: var(--turq-light);--focus: var(--turq-light);--footer-bg: var(--gray-2);--footer-text: var(--gray-9)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Go,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans CJK SC,Microsoft YaHei,sans-serif;font-size:1rem;line-height:1.7}.container{max-width:75.75rem;margin-inline:auto;padding-inline:1.5rem}main{max-width:55rem;margin-inline:auto;padding:2.5rem 1.5rem 4rem}h1,h2,h3,h4,h5,h6{margin:0 0 .75rem;line-height:1.3;font-weight:700}h1{font-size:2.25rem}h2{margin-top:2.5rem;font-size:1.4rem}h3{margin-top:2rem;font-size:1.125rem}h4,h5,h6{font-size:1rem}p,ul,ol{margin:1rem 0}ul,ol{padding-left:1.5rem}a{color:var(--link);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--turq-light);color:var(--gray-1)}code,pre,kbd,samp{font-family:Go Mono,SFMono-Regular,Consolas,Noto Sans Mono CJK SC,monospace}code{padding:.1em .35em;border:1px solid var(--border);border-radius:3px;background:var(--bg-code);font-size:.9em;word-spacing:-.5ch}pre{overflow-x:auto;font-size:.875rem;line-height:1.5}pre code{padding:0;border:0;border-radius:0;background:none;font-size:1em;word-spacing:0}hr{margin:2rem 0;border:0;border-top:1px solid var(--border)}blockquote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:3px solid var(--brand);border-radius:0 4px 4px 0;background:var(--bg-accented)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}table{width:100%;margin:1.5rem 0;border-collapse:collapse;font-size:.9375rem}th,td{padding:.625rem .875rem;border:1px solid var(--border);text-align:left;vertical-align:top}th{background:var(--bg-accented);font-weight:700}img,video{max-width:100%;height:auto}img{border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}header{border-bottom:1px solid var(--border);background:var(--bg)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;min-height:4.5rem}.site-title{margin:0;font-size:1.5rem;font-style:italic;font-weight:700;line-height:1;letter-spacing:-.01em}.site-title a{display:inline-flex;align-items:center;color:var(--text);text-decoration:none}.site-title a:hover,.site-title a:focus-visible{text-decoration:none}.site-title a:after{content:"";display:inline-block;width:1.5rem;height:.875rem;margin-left:.5rem;background:repeating-linear-gradient(115deg,currentColor 0 2px,transparent 2px 6px);opacity:.85}header nav{margin-left:auto}header nav ul{display:flex;flex-wrap:wrap;gap:1.5rem;margin:0;padding:0;list-style:none}header nav a{color:var(--text);font-size:.875rem;text-decoration:none}header nav a:hover,header nav a:focus-visible{text-decoration:underline}header nav a.active{color:var(--brand);font-weight:700}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text);cursor:pointer}.theme-toggle:hover{background:var(--bg-accented)}.theme-icon{display:none;width:1.125rem;height:1.125rem}.theme-icon svg{display:block;width:100%;height:100%}html[data-theme=auto] .theme-icon--auto,:root:not([data-theme]) .theme-icon--auto{display:block}html[data-theme=light] .theme-icon--light,html[data-theme=dark] .theme-icon--dark{display:block}@media(max-width:48rem){.header-inner{column-gap:1rem;row-gap:.5rem;padding-block:.75rem}.site-title{font-size:1.25rem}header nav{order:3;width:100%;margin-left:0}header nav ul{gap:1rem}.theme-toggle{margin-left:auto}}footer{margin-top:4rem;background:var(--footer-bg);color:var(--footer-text)}footer .container{padding-block:2rem;font-size:.875rem}footer p{margin:0}footer a{color:var(--footer-text);text-decoration:none}footer a:hover,footer a:focus-visible{text-decoration:underline}footer :focus-visible{outline-color:var(--turq-light)}.post-header{margin-bottom:2rem}.post-header h1{margin-bottom:.5rem}.post-header time{color:var(--text-subtle);font-size:.875rem}.post h2{margin-top:2.5rem}.post h3{margin-top:2rem}.highlight{margin:1.5rem 0;overflow:hidden;border:1px solid var(--border);border-radius:6px}.highlight pre{margin:0;padding:1rem 1.25rem;font-size:.875rem;line-height:1.5}.terms{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2.5rem;color:var(--text-subtle);font-size:.8125rem}.terms ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.terms a{display:inline-block;padding:.15rem .5rem;border-radius:4px;background:var(--bg-accented);color:var(--text-subtle);text-decoration:none}.terms a:hover,.terms a:focus-visible{color:var(--link);text-decoration:none}.post-list{margin-top:1rem}.post-summary{padding-block:1.75rem;border-bottom:1px solid var(--border)}.post-summary:last-child{border-bottom:0}.post-summary-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem}.post-summary h2{margin:0;font-size:1.4rem}.post-summary time{color:var(--text-subtle);font-size:.875rem;white-space:nowrap}.post-summary-text{margin:.75rem 0 0;color:var(--text-subtle)}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;font-size:.8125rem}.tags a{display:inline-block;padding:.15rem .5rem;border-radius:4px;background:var(--bg-accented);color:var(--text-subtle);text-decoration:none}.tags a:hover,.tags a:focus-visible{color:var(--link);text-decoration:none}.term-list{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;padding:0;list-style:none}
