body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 21px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;color:#E6F2EE;background-color:#0b1b17;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:14px}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:18.375px}ul,ol{margin-left:28px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400;overflow-wrap:break-word}a{color:var(--link, #22c55e);text-decoration:none}a:visited{color:var(--link-visited, #229c4f)}a:hover{color:var(--link-hover, #45df7e);text-decoration:none}blockquote{color:var(--muted, #7aa39a);border-left:2px solid var(--rule-accent, #b0c9c3);padding-left:14px;font-size:18px;letter-spacing:-0.01em;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-size:15px;border:1px solid rgba(120,164,153,0.25);border-radius:8px;background-color:rgba(15,42,34,0.85)}code{padding:1px 5px}pre{padding:12px 14px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0;background:transparent}.wrapper{max-width:-webkit-calc(1220px - (28px * 2));max-width:calc(1220px - (28px * 2));margin-right:auto;margin-left:auto;padding-right:28px;padding-left:28px}@media screen and (max-width: 760px){.wrapper{max-width:-webkit-calc(1220px - (28px));max-width:calc(1220px - (28px));padding-right:14px;padding-left:14px}}.wrapper:after,.footer-col-wrapper:after{content:"";display:table;clear:both}:where(a, button, [tabindex]):focus-visible{outline:2px solid var(--brand, #22c55e);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:8px;top:-100%;z-index:300;padding:10px 14px;border-radius:10px;background:var(--surface, #0b1b17);border:1px solid var(--brand, #22c55e);color:var(--link, #22c55e);font-size:18.375px;text-decoration:none;transition:top .15s ease}.skip-link:focus{top:8px}main:focus{outline:none}.icon>svg{display:inline-block;width:16px;height:16px;vertical-align:middle}.icon>svg path{fill:currentColor}.site-header{position:sticky;top:0;z-index:100;backdrop-filter:saturate(120%) blur(6px);background:linear-gradient(to bottom, rgba(11,27,23,0.9), rgba(11,27,23,0.65));border-bottom:1px solid rgba(120,164,153,0.18);min-height:56px}.site-title{font-size:20px;font-weight:600;line-height:56px;letter-spacing:.6px;margin-bottom:0;float:left;text-transform:uppercase}.site-title,.site-title:visited{color:#E6F2EE}.site-title:after{content:" ▎";color:#22c55e;text-shadow:0 0 8px rgba(34,197,94,0.4)}.site-nav{float:right;line-height:56px}.site-nav .menu-icon{display:none}.site-nav .page-link{position:relative;color:#E6F2EE;line-height:1.6;padding:9px 10px;border-radius:8px;transition:background-color .15s ease, color .15s ease}.site-nav .page-link::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);min-width:44px;min-height:44px;width:100%;height:100%}.site-nav .page-link:not(:last-child){margin-right:20px}.site-nav .page-link:hover{background-color:rgba(34,197,94,0.12);color:#45df7e}.site-nav .top-actions{display:inline-flex;align-items:center;gap:10px;margin-left:12px}@media screen and (max-width: 720px){.site-nav{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:8px}.site-nav .menu-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;line-height:0;margin-left:8px;padding-top:0;text-align:center}.site-nav .menu-icon>svg{width:18px;height:15px}.site-nav .menu-icon>svg path{fill:currentColor}.site-nav .trigger{clear:both;display:none;position:absolute;right:0;top:calc(100% + 8px);background-color:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:12px;text-align:left;padding:8px 0;min-width:220px;z-index:110;box-shadow:0 12px 28px rgba(0,0,0,0.24),0 2px 6px rgba(0,0,0,0.1);transform:translateY(-4px);opacity:0;transition:transform .16s ease, opacity .16s ease}.site-nav .trigger:before{content:"";position:absolute;width:10px;height:10px;background:var(--bg);border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg);top:-6px;right:12px}.site-nav.open .trigger{display:block;transform:translateY(0);opacity:1}.site-nav .page-link{display:block;padding:10px 14px;margin:0;white-space:nowrap}.site-nav .page-link:hover{background-color:color-mix(in oklab, var(--brand), transparent 90%)}}.site-notice{font-size:14px;line-height:1.4;color:var(--muted, #7aa39a);border-bottom:1px solid var(--border, rgba(120,164,153,0.18));padding:8px 0}.site-notice>.wrapper{display:flex;align-items:center;gap:12px}.site-notice p{margin:0;flex:1 1 auto}.site-notice a{position:relative;display:inline-block}.site-notice a::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);min-width:44px;min-height:44px;width:100%;height:100%}html[data-campaign-notice="dismissed"] .site-notice{display:none}.site-notice-dismiss{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:none;color:var(--muted, #7aa39a);cursor:pointer;transition:color .15s ease, background-color .15s ease}.site-notice-dismiss::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);min-width:44px;min-height:44px;width:100%;height:100%}.site-notice-dismiss[hidden]{display:none}.site-notice-dismiss:hover{color:var(--text, #E6F2EE);background-color:rgba(120,164,153,0.14)}.site-footer{border-top:1px solid var(--border, rgba(120,164,153,0.18));padding:28px 0;color:var(--muted, #7aa39a)}.footer-heading{font-size:18px;font-weight:600;margin-bottom:14px}.contact-list,.social-media-list{list-style:none;margin-left:0}.contact-list a,.social-media-list a{display:inline-block;padding:13px 0;line-height:1.2}.footer-col-wrapper{font-size:15px;color:#7aa39a;margin-left:-14px}.footer-col{float:left;margin-bottom:14px;padding-left:14px}.footer-col-1{width:-webkit-calc(35% - (28px / 2));width:calc(35% - (28px / 2))}.footer-col-2{width:-webkit-calc(20% - (28px / 2));width:calc(20% - (28px / 2))}.footer-col-3{width:-webkit-calc(45% - (28px / 2));width:calc(45% - (28px / 2))}@media screen and (max-width: 760px){.footer-col-1,.footer-col-2{width:-webkit-calc(50% - (28px / 2));width:calc(50% - (28px / 2))}.footer-col-3{width:-webkit-calc(100% - (28px / 2));width:calc(100% - (28px / 2))}}@media screen and (max-width: 720px){.footer-col{float:none;width:-webkit-calc(100% - (28px / 2));width:calc(100% - (28px / 2))}}.page-content{padding:28px 0}.page-heading{font-size:20px}.post-list{margin-left:0;list-style:none}.post-list>li{max-width:760px;margin-left:auto;margin-right:auto;position:relative;margin-bottom:28px;padding:16.8px;background:rgba(17,47,38,0.65);border:1px solid rgba(120,164,153,0.15);border-radius:14px;box-shadow:0 1px 0 rgba(255,255,255,0.03) inset,0 8px 30px rgba(0,0,0,0.35);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}.post-list>li:hover{transform:translateY(-2px);border-color:rgba(34,197,94,0.35);box-shadow:0 1px 0 rgba(255,255,255,0.04) inset,0 14px 40px rgba(6,148,78,0.2)}.post-meta{font-size:18.375px;color:#7aa39a}.post-link{display:block;font-size:24px}.post-link::after{content:"";position:absolute;inset:0;z-index:1}.post-header{margin-bottom:28px}.post-header .post-title,.post-header .post-meta{max-width:760px;margin-left:auto;margin-right:auto}.post-title{font-size:42px;letter-spacing:-0.01em;line-height:1.08}@media screen and (max-width: 760px){.post-title{font-size:36px}}.post-content{margin-bottom:28px;--measure: 760px}.post-content>p,.post-content>ul,.post-content>ol,.post-content>dl,.post-content>blockquote,.post-content>h2,.post-content>h3,.post-content>h4,.post-content>h5,.post-content>h6,.post-content>hr{max-width:var(--measure);margin-left:auto;margin-right:auto}.post-content>ul,.post-content>ol{max-width:calc(var(--measure) - 28px)}.post-content h2{font-size:32px}@media screen and (max-width: 760px){.post-content h2{font-size:28px}}.post-content h3{font-size:26px}@media screen and (max-width: 760px){.post-content h3{font-size:22px}}.post-content h4{font-size:20px}@media screen and (max-width: 760px){.post-content h4{font-size:18px}}.post-hero{margin:28px auto;width:fit-content;max-width:760px;border-radius:12px;overflow:hidden;background:transparent;border:1px solid var(--border);box-shadow:0 4px 12px rgba(0,0,0,0.06),0 1px 3px rgba(0,0,0,0.04)}.post-hero img{display:block;width:auto;height:auto;max-width:100%;max-height:420px}.post-hero figcaption{padding:14px 28px;font-size:18.375px;color:var(--muted, #7aa39a);border-top:1px solid var(--border, #b0c9c3);background:var(--surface, #0c1f1a);text-align:center}.post-list>.post-list-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:35px}@media screen and (max-width: 760px){.post-list>.post-list-item{display:block}}.post-list .post-thumb{display:block;flex:0 0 180px;max-width:180px;margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 3px 10px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.05)}.post-list .post-thumb img{display:block;width:100%;height:auto;max-height:140px;object-fit:contain}@media screen and (max-width: 760px){.post-list .post-thumb{max-width:100%;margin-bottom:14px}}.post-list .post-summary{flex:1 1 auto;min-width:0}.post-list .post-summary .content>p{max-width:100%}.post-list .read-more{position:relative;z-index:2;display:inline-block;margin-top:9.3333333333px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:color-mix(in oklab, var(--bg), #fff 4%);color:var(--text);text-decoration:none;font-weight:600;transition:background-color .15s ease, border-color .15s ease, transform .15s ease, color .15s ease}.post-list .read-more:hover{background:color-mix(in oklab, var(--brand), transparent 90%);border-color:color-mix(in oklab, var(--brand), transparent 65%);color:color-mix(in oklab, var(--brand), #fff 12%);transform:translateY(-1px)}.post-list>.post-list-item--first{display:block}.post-teaser{max-width:760px;margin-bottom:0;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:28px;padding-top:14px;border-top:1px solid var(--border)}.pagination .page_number{font-size:18.375px;color:var(--muted)}.pagination .page-nav{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid var(--border);color:var(--text);text-decoration:none;font-weight:600;transition:background-color .15s ease, border-color .15s ease, transform .15s ease, color .15s ease}.pagination .page-nav:hover{background:color-mix(in oklab, var(--brand), transparent 90%);border-color:color-mix(in oklab, var(--brand), transparent 65%);color:color-mix(in oklab, var(--brand), #fff 12%);transform:translateY(-1px)}.pagination .page-nav.is-disabled{opacity:.35;border-style:dashed}.rss-subscribe{font-size:18.375px;color:var(--muted)}.post-next{max-width:760px;margin:42px auto 0;padding-top:28px;border-top:1px solid var(--border)}.post-next__heading{font-size:20px;margin-bottom:14px;color:var(--muted);font-weight:400}.post-next__list{list-style:none;margin:0 0 14px;padding:0}.post-next__item{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid var(--border)}.post-next__link{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-weight:600;line-height:1.35;overflow-wrap:break-word;display:block;padding:12px 0}.post-next__date{flex:0 0 auto;font-size:18.375px;color:var(--muted);white-space:nowrap}.post-next__all{font-size:18.375px;color:var(--muted);margin-bottom:28px}.post-next__all a{display:inline-block;padding:13px 0}.post-byline{display:flex;align-items:flex-start;gap:14px;padding:14px 0 0;border-top:1px solid var(--border)}.post-byline__avatar{flex:0 0 auto;width:56px;height:56px;border-radius:9999px;border:1px solid var(--border);object-fit:cover}.post-byline__text{margin:0;font-size:18.375px;line-height:1.55;color:var(--muted)}.post-byline__text strong{color:var(--text)}@media screen and (max-width: 720px){.post-next__item{display:block}.post-next__date{display:block;margin-top:2px}}.archive-intro{color:var(--muted);font-size:18.375px}.archive-year{margin-top:28px;max-width:760px;margin-left:auto;margin-right:auto}.archive-year__heading{font-size:20px;color:var(--muted);font-weight:400;padding-bottom:6px;border-bottom:1px solid var(--border)}.archive-list{list-style:none;margin:0;padding:0}.archive-item{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid var(--border)}.archive-link{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;line-height:1.35;overflow-wrap:break-word;display:block;padding:12px 0}.archive-date{flex:0 0 auto;font-size:18.375px;color:var(--muted);white-space:nowrap}@media screen and (max-width: 720px){.archive-item{display:block}.archive-date{display:block;margin-top:2px}}.post-content img,.post-content table,.post-content iframe,.post-content object,.post-content embed,.post-content pre{max-width:100%}.post-content img{height:auto}.post-content table{display:block;overflow-x:auto;border-collapse:collapse}.post-content [class^="wlWriter"],.post-content [style*="width"]{max-width:100%}.post-hero-figure{position:relative;width:fit-content;max-width:760px;margin:0 auto 28px;border-radius:12px;overflow:hidden;border:1px solid var(--border);box-shadow:0 4px 12px rgba(0,0,0,0.06),0 1px 3px rgba(0,0,0,0.04)}.post-hero-figure .post-hero{margin:0;max-width:none;border:0;border-radius:0;box-shadow:none}.post-hero-figure .post-hero-caption{position:absolute;right:0;bottom:0;left:0;padding:140px 28px 21px;background:linear-gradient(to top, rgba(6,16,13,0.72) 0%, rgba(6,16,13,0.48) 50%, rgba(6,16,13,0) 100%)}.post-hero-figure .post-hero-caption .post-title{max-width:none;margin:0 0 4px;font-size:38px;line-height:1.08;color:#E6F2EE;text-wrap:balance;text-shadow:0 1px 2px rgba(6,16,13,0.55),0 0 18px rgba(6,16,13,0.45)}.post-hero-figure .post-hero-caption .post-meta{max-width:none;margin:0;color:#c5ddd4;text-shadow:0 1px 2px rgba(6,16,13,0.5)}.post-hero-credit{max-width:760px;margin:-14px auto 28px;font-size:18.375px;color:var(--muted);text-align:center}@media screen and (max-width: 720px){.post-hero-figure{width:auto;max-width:100%;overflow:visible;border:0;border-radius:0;box-shadow:none}.post-hero-figure .post-hero{width:fit-content;max-width:100%;margin:0 auto;border:1px solid var(--border);border-radius:12px;overflow:hidden}.post-hero-figure .post-hero-caption{position:static;padding:14px 0 0;background:none}.post-hero-figure .post-hero-caption .post-title{font-size:30px;color:var(--text)}.post-hero-figure .post-hero-caption .post-meta{color:var(--muted)}}.highlight{background:rgba(15,42,34,0.85);color:#E6F2EE}.highlighter-rouge .highlight{background:rgba(15,42,34,0.85)}.highlight .c{color:#6b8f86;font-style:italic}.highlight .err{color:#ff6b6b;background-color:rgba(255,107,107,0.1)}.highlight .k{color:#93e8a1;font-weight:600}.highlight .o{color:#a7f3d0;font-weight:600}.highlight .cm{color:#6b8f86;font-style:italic}.highlight .cp{color:#86efac;font-weight:600}.highlight .c1{color:#6b8f86;font-style:italic}.highlight .cs{color:#86efac;font-weight:600;font-style:italic}.highlight .gd{color:#ffb4b4;background-color:rgba(255,80,80,0.08)}.highlight .gd .x{color:#ffd0d0;background-color:rgba(255,80,80,0.12)}.highlight .ge{font-style:italic}.highlight .gr{color:#ff6b6b}.highlight .gh{color:#a3bfb8}.highlight .gi{color:#d1fae5;background-color:rgba(20,83,45,0.25)}.highlight .gi .x{color:#ecfdf5;background-color:rgba(20,83,45,0.35)}.highlight .go{color:#9ab5ae}.highlight .gp{color:#b6c9c5}.highlight .gs{font-weight:600}.highlight .gu{color:#9ab5ae}.highlight .gt{color:#ff8c8c}.highlight .kc{color:#86efac;font-weight:600}.highlight .kd{color:#86efac;font-weight:600}.highlight .kp{color:#a7f3d0;font-weight:600}.highlight .kr{color:#93e8a1;font-weight:600}.highlight .kt{color:#7ee787;font-weight:600}.highlight .m{color:#4dd4a3}.highlight .s{color:#7ee787}.highlight .na{color:#5eead4}.highlight .nb{color:#34d399}.highlight .nc{color:#a7f3d0;font-weight:600}.highlight .no{color:#5eead4}.highlight .ni{color:#c084fc}.highlight .ne{color:#ffb86c;font-weight:600}.highlight .nf{color:#34d399;font-weight:600}.highlight .nn{color:#a3bfb8}.highlight .nt{color:#86efac}.highlight .nv{color:#5eead4}.highlight .ow{color:#a7f3d0;font-weight:600}.highlight .w{color:#6b8f86}.highlight .mf{color:#4dd4a3}.highlight .mh{color:#4dd4a3}.highlight .mi{color:#4dd4a3}.highlight .mo{color:#4dd4a3}.highlight .sb{color:#7ee787}.highlight .sc{color:#7ee787}.highlight .sd{color:#7ee787}.highlight .s2{color:#7ee787}.highlight .se{color:#7ee787}.highlight .sh{color:#7ee787}.highlight .si{color:#7ee787}.highlight .sx{color:#7ee787}.highlight .sr{color:#22c55e}.highlight .s1{color:#7ee787}.highlight .ss{color:#c084fc}.highlight .bp{color:#9ab5ae}.highlight .vc{color:#5eead4}.highlight .vg{color:#5eead4}.highlight .vi{color:#5eead4}.highlight .il{color:#4dd4a3}.share-buttons{margin-top:28px;max-width:760px;margin-left:auto;margin-right:auto;display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--muted)}.share-buttons .share-label{font-size:14px;color:var(--muted);margin-right:2px}.share-buttons .share-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;line-height:1;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;transition:transform .12s ease, border-color .12s ease, background-color .12s ease, box-shadow .12s ease}.share-buttons .share-btn::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);min-width:44px;min-height:44px;width:100%;height:100%}.share-buttons .share-btn:hover{transform:translateY(-1px);border-color:color-mix(in oklab, var(--brand), transparent 60%);box-shadow:0 6px 16px rgba(0,0,0,0.18)}.share-buttons .share-btn:focus{outline:2px solid color-mix(in oklab, var(--brand), transparent 50%);outline-offset:2px}.share-buttons .share-btn svg{width:18px;height:18px}.share-buttons .share-x:hover{background:color-mix(in oklab, #0f1419, transparent 90%)}html[data-theme="light"] .share-buttons .share-x:hover,html[data-theme-auto="true"][data-theme="light"] .share-buttons .share-x:hover{color:#0f1419;background:color-mix(in oklab, #0f1419, transparent 94%)}.share-buttons .share-linkedin:hover{color:#0a66c2;background:color-mix(in oklab, #0a66c2, transparent 94%)}.share-buttons .share-reddit:hover{color:#ff4500;background:color-mix(in oklab, #ff4500, transparent 94%)}.share-buttons .share-hn:hover{color:#ff6600;background:color-mix(in oklab, #f60, transparent 94%)}.share-buttons .share-email:hover{color:var(--link-hover)}.share-buttons .share-copy.copied{border-color:color-mix(in oklab, var(--brand), transparent 40%);box-shadow:0 0 0 2px color-mix(in oklab, var(--brand), transparent 80%)}.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}.captioned img{display:block;margin:0 auto}.captioned+em{display:block;text-align:center}body{background-image:radial-gradient(1200px 600px at 20% -10%, rgba(34,197,94,0.06), transparent),radial-gradient(1000px 500px at 110% 10%, rgba(15,66,50,0.35), transparent)}.card,.post-list>li{background:rgba(17,47,38,0.65);border:1px solid rgba(120,164,153,0.15);border-radius:14px;box-shadow:0 1px 0 rgba(255,255,255,0.03) inset,0 8px 30px rgba(0,0,0,0.35);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}.card:hover,.post-list>li:hover{transform:translateY(-2px);border-color:rgba(34,197,94,0.35);box-shadow:0 1px 0 rgba(255,255,255,0.04) inset,0 14px 40px rgba(6,148,78,0.2)}a{transition:color .15s ease, text-shadow .15s ease}html[data-theme="dark"] a:hover,html[data-theme-auto="true"][data-theme="dark"] a:hover{text-shadow:0 0 10px rgba(34,197,94,0.28)}h1,h2,h3,h4,h5,h6{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;letter-spacing:0.2px}.post-content img{border-radius:10px}:root{--bg: #f7faf9;--surface: #ffffff;--text: #0f1a17;--muted: #5a6b66;--brand: #1a7f49;--link: #1a7f49;--link-hover: #146b3d;--link-visited: #2f6b4d;--rule-accent: rgba(26, 127, 73, 0.35);--border: rgba(15, 26, 23, 0.12);--code-bg: #f3f7f5;--code-border: rgba(15, 26, 23, 0.12)}@media (prefers-color-scheme: dark){:root{--bg: #0b1b17;--surface: rgba(17, 47, 38, 0.65);--text: #E6F2EE;--muted: #7aa39a;--brand: #22c55e;--link: #22c55e;--link-hover: #4ade80;--link-visited: #8fd4a8;--rule-accent: rgba(34, 197, 94, 0.35);--border: rgba(120, 164, 153, 0.18);--code-bg: rgba(15, 42, 34, 0.85);--code-border: rgba(120, 164, 153, 0.25)}}html[data-theme="light"],html[data-theme-auto="true"][data-theme="light"]{--bg: #f7faf9;--surface: #ffffff;--text: #0f1a17;--muted: #5a6b66;--brand: #1a7f49;--link: #1a7f49;--link-hover: #146b3d;--link-visited: #2f6b4d;--rule-accent: rgba(26, 127, 73, 0.35);--border: rgba(15, 26, 23, 0.12);--code-bg: #f3f7f5;--code-border: rgba(15, 26, 23, 0.12)}html[data-theme="dark"],html[data-theme-auto="true"][data-theme="dark"]{--bg: #0b1b17;--surface: rgba(17, 47, 38, 0.65);--text: #E6F2EE;--muted: #7aa39a;--brand: #22c55e;--link: #22c55e;--link-hover: #4ade80;--link-visited: #8fd4a8;--rule-accent: rgba(34, 197, 94, 0.35);--border: rgba(120, 164, 153, 0.18);--code-bg: rgba(15, 42, 34, 0.85);--code-border: rgba(120, 164, 153, 0.25)}body{color:var(--text);background-color:var(--bg)}.site-header{background:linear-gradient(to bottom, color-mix(in oklab, var(--bg), #000 6%), color-mix(in oklab, var(--bg), #000 2%));border-bottom:1px solid var(--border)}.site-title,.site-title:visited{color:var(--text)}.site-title:after{color:var(--brand)}.site-nav .page-link{color:var(--text)}.site-title .logo-mark{display:inline-block;vertical-align:middle;margin-right:8px;opacity:.9}.site-nav{margin-left:auto}.site-nav .page-link:hover{background-color:color-mix(in oklab, var(--brand), transparent 88%);color:color-mix(in oklab, var(--brand), #fff 12%)}.site-nav .social-icons{display:inline-flex;gap:8px;margin-left:0;vertical-align:middle}.social-btn{position:relative;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;border:1px solid var(--border);color:var(--muted);background:color-mix(in oklab, var(--bg), #fff 3%);transition:color .15s ease, border-color .15s ease, background-color .15s ease, transform .15s ease}.social-btn::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);min-width:44px;min-height:44px;width:100%;height:100%}.social-btn:hover{color:var(--brand);border-color:color-mix(in oklab, var(--brand), transparent 65%);background-color:color-mix(in oklab, var(--brand), transparent 90%);transform:translateY(-1px)}.social-btn .icon svg{width:16px;height:16px}.site-nav .menu-icon{display:none}.site-nav .trigger,.site-nav .top-actions,.site-nav .menu-icon{flex:0 0 auto}@media screen and (max-width: 720px){.site-nav .social-icons .rss-btn{display:none}}.site-footer{border-top:1px solid var(--border)}.post-list>li{background:var(--surface);border-color:var(--border)}pre,code{background-color:var(--code-bg);border-color:var(--code-border)}html[data-theme="light"] .site-header,html[data-theme-auto="true"][data-theme="light"] .site-header{background:#ffffff;border-bottom:1px solid rgba(15,26,23,0.18);box-shadow:0 2px 10px rgba(15,26,23,0.05)}html[data-theme="light"] .site-nav .page-link,html[data-theme-auto="true"][data-theme="light"] .site-nav .page-link{color:#0a0f0e}html[data-theme="light"] .site-nav .page-link:hover,html[data-theme-auto="true"][data-theme="light"] .site-nav .page-link:hover{background-color:color-mix(in oklab, var(--brand), transparent 86%);color:var(--link-hover)}html[data-theme="light"] h1,html[data-theme="light"] h2,html[data-theme="light"] h3,html[data-theme="light"] h4,html[data-theme="light"] h5,html[data-theme="light"] h6,html[data-theme-auto="true"][data-theme="light"] h1,html[data-theme-auto="true"][data-theme="light"] h2,html[data-theme-auto="true"][data-theme="light"] h3,html[data-theme-auto="true"][data-theme="light"] h4,html[data-theme-auto="true"][data-theme="light"] h5,html[data-theme-auto="true"][data-theme="light"] h6{color:#0a0f0e;font-weight:700}.post-meta{color:var(--muted)}.footer-col-wrapper{color:var(--muted)}.theme-toggle{position:relative;margin-left:12px;position:fixed;left:calc(16px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));z-index:200;background:color-mix(in oklab, var(--bg), var(--brand) 4%);border:1px solid color-mix(in oklab, var(--brand), transparent 60%);color:var(--brand);border-radius:14px;height:42px;padding:0 14px;line-height:40px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;box-shadow:0 8px 24px rgba(0,0,0,0.18)}.theme-toggle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);min-width:44px;min-height:44px;width:100%;height:100%}.theme-toggle:hover{background:color-mix(in oklab, var(--bg), var(--brand) 8%);border-color:color-mix(in oklab, var(--brand), transparent 40%)}.theme-toggle:focus-visible{outline:2px solid color-mix(in oklab, var(--brand), #fff 20%);outline-offset:2px}.theme-toggle .mode{display:none;font-size:14px}html[data-theme-auto="true"] .theme-toggle .mode-auto{display:inline}html[data-theme="light"]:not([data-theme-auto]) .theme-toggle .mode-light{display:inline}html[data-theme="dark"]:not([data-theme-auto]) .theme-toggle .mode-dark{display:inline}.theme-toggle .mode svg{display:block;width:22px;height:22px}@media (max-width: 480px){.theme-toggle{left:12px;bottom:12px;height:38px;line-height:36px;padding:0 12px}}.theme-toggle.hidden{opacity:.06;transform:translateY(10px);pointer-events:none;transition:opacity .25s ease, transform .25s ease}.theme-toggle:not(.hidden){opacity:1;transform:translateY(0);transition:opacity .25s ease, transform .25s ease}@media (max-width: 420px){.theme-toggle{transform:translateX(-4px)}.theme-toggle:hover,.theme-toggle:focus{transform:translateX(0)}.theme-toggle.hidden{transform:translateX(-4px) translateY(10px)}}.site-nav .top-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.site-header .wrapper{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}.site-title{float:none;margin:0;line-height:56px}.site-nav{float:none;display:flex;align-items:center;gap:12px;position:relative}.site-nav .trigger{display:flex;align-items:center;gap:12px}@media screen and (max-width: 720px){.site-nav{gap:6px}.site-nav .trigger{display:none}.site-nav .top-actions{margin-left:0;gap:6px}.site-nav .menu-icon{position:relative;display:inline-flex;border:1px solid var(--border);background:color-mix(in oklab, var(--bg), #fff 3%);color:var(--muted);border-radius:10px;align-items:center;justify-content:center;width:36px;height:36px;padding:0;line-height:0;box-sizing:border-box}.site-nav .menu-icon::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);min-width:44px;min-height:44px;width:100%;height:100%}.site-nav .menu-icon:hover{color:var(--brand);border-color:color-mix(in oklab, var(--brand), transparent 65%);background-color:color-mix(in oklab, var(--brand), transparent 90%)}.site-header .wrapper{gap:8px;flex-wrap:nowrap}.site-title{font-size:18px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0;line-height:56px}.site-title .logo-mark{display:none}.site-title:after{display:none}.social-btn{width:28px;height:28px;border:0;background:transparent}.social-btn .icon svg{width:14px;height:14px}.site-nav .menu-icon{width:32px;height:32px}}.hero{position:relative;padding:56px 0 40px;margin-bottom:8px}.hero .title{font-size:clamp(28px, 7.5vw, 52px);margin-bottom:8px}.hero .subtitle{color:var(--muted);margin-bottom:20px}.hero,.page-heading,.rss-subscribe,.pagination{max-width:760px;margin-left:auto;margin-right:auto}.hero .quick-links a{display:inline-block;margin-right:12px;margin-bottom:8px;padding:8px 12px;border:1px solid var(--border);border-radius:10px}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(transparent 23px, color-mix(in oklab, var(--brand), transparent 85%) 24px),linear-gradient(90deg, transparent 23px, color-mix(in oklab, var(--brand), transparent 85%) 24px);background-size:24px 24px, 24px 24px;mask-image:radial-gradient(1200px 200px at 50% 0%, #000, transparent 70%);opacity:.4;pointer-events:none}.divider-grid{margin:8px 0 0;opacity:.7}pre.code-block{position:relative;padding-top:36px}.copy-btn{position:absolute;top:8px;right:8px;font-size:12px;border:1px solid var(--border);color:var(--text);background:color-mix(in oklab, var(--bg), #fff 2%);border-radius:8px;padding:4px 8px;cursor:pointer}.code-gutter{position:absolute;left:0;top:0;bottom:0;width:3.2rem;padding:36px 8px 8px;text-align:right;color:var(--muted);border-right:1px solid var(--code-border);user-select:none;pointer-events:none;white-space:pre}pre.code-block code{display:block;padding-left:3.6rem}
