.bg{color:#e6edf3;background-color:#0d1117}.chroma{color:#e6edf3;background-color:#0d1117;-webkit-text-size-adjust:none}.chroma .err{color:#f85149}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#6e7681}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#737679}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}.chroma .line{display:flex}.chroma .k{color:#ff7b72}.chroma .kc{color:#79c0ff}.chroma .kd{color:#ff7b72}.chroma .kn{color:#ff7b72}.chroma .kp{color:#79c0ff}.chroma .kr{color:#ff7b72}.chroma .kt{color:#ff7b72}.chroma .nc{color:#f0883e;font-weight:700}.chroma .no{color:#79c0ff;font-weight:700}.chroma .nd{color:#d2a8ff;font-weight:700}.chroma .ni{color:#ffa657}.chroma .ne{color:#f0883e;font-weight:700}.chroma .nl{color:#79c0ff;font-weight:700}.chroma .nn{color:#ff7b72}.chroma .nx{color:#e6edf3}.chroma .py{color:#79c0ff}.chroma .nt{color:#7ee787}.chroma .nv{color:#79c0ff}.chroma .vc{color:#79c0ff}.chroma .vg{color:#79c0ff}.chroma .vi{color:#79c0ff}.chroma .vm{color:#79c0ff}.chroma .nf{color:#d2a8ff;font-weight:700}.chroma .fm{color:#d2a8ff;font-weight:700}.chroma .l{color:#a5d6ff}.chroma .ld{color:#79c0ff}.chroma .s{color:#a5d6ff}.chroma .sa{color:#79c0ff}.chroma .sb{color:#a5d6ff}.chroma .sc{color:#a5d6ff}.chroma .dl{color:#79c0ff}.chroma .sd{color:#a5d6ff}.chroma .s2{color:#a5d6ff}.chroma .se{color:#79c0ff}.chroma .sh{color:#79c0ff}.chroma .si{color:#a5d6ff}.chroma .sx{color:#a5d6ff}.chroma .sr{color:#79c0ff}.chroma .s1{color:#a5d6ff}.chroma .ss{color:#a5d6ff}.chroma .m{color:#a5d6ff}.chroma .mb{color:#a5d6ff}.chroma .mf{color:#a5d6ff}.chroma .mh{color:#a5d6ff}.chroma .mi{color:#a5d6ff}.chroma .il{color:#a5d6ff}.chroma .mo{color:#a5d6ff}.chroma .o{color:#ff7b72;font-weight:700}.chroma .ow{color:#ff7b72;font-weight:700}.chroma .or{color:#ff7b72;font-weight:700}.chroma .c{color:#8b949e;font-style:italic}.chroma .ch{color:#8b949e;font-style:italic}.chroma .cm{color:#8b949e;font-style:italic}.chroma .c1{color:#8b949e;font-style:italic}.chroma .cs{color:#8b949e;font-weight:700;font-style:italic}.chroma .cp{color:#8b949e;font-weight:700;font-style:italic}.chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}.chroma .gd{color:#ffa198;background-color:#490202}.chroma .ge{font-style:italic}.chroma .gr{color:#ffa198}.chroma .gh{color:#79c0ff;font-weight:700}.chroma .gi{color:#56d364;background-color:#0f5323}.chroma .go{color:#8b949e}.chroma .gp{color:#8b949e}.chroma .gs{font-weight:700}.chroma .gu{color:#79c0ff}.chroma .gt{color:#ff7b72}.chroma .gl{text-decoration:underline}.chroma .w{color:#6e7681}[data-theme=light] .bg{background-color:#f7f7f7}[data-theme=light] .chroma{background-color:#f7f7f7;-webkit-text-size-adjust:none}[data-theme=light] .chroma .err{color:#f6f8fa;background-color:#82071e}[data-theme=light] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}[data-theme=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-theme=light] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}[data-theme=light] .chroma .hl{background-color:#dedede}[data-theme=light] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-theme=light] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-theme=light] .chroma .line{display:flex}[data-theme=light] .chroma .k{color:#cf222e}[data-theme=light] .chroma .kc{color:#cf222e}[data-theme=light] .chroma .kd{color:#cf222e}[data-theme=light] .chroma .kn{color:#cf222e}[data-theme=light] .chroma .kp{color:#cf222e}[data-theme=light] .chroma .kr{color:#cf222e}[data-theme=light] .chroma .kt{color:#cf222e}[data-theme=light] .chroma .na{color:#1f2328}[data-theme=light] .chroma .nc{color:#1f2328}[data-theme=light] .chroma .no{color:#0550ae}[data-theme=light] .chroma .nd{color:#0550ae}[data-theme=light] .chroma .ni{color:#6639ba}[data-theme=light] .chroma .nl{color:#900;font-weight:700}[data-theme=light] .chroma .nn{color:#24292e}[data-theme=light] .chroma .nx{color:#1f2328}[data-theme=light] .chroma .nt{color:#0550ae}[data-theme=light] .chroma .nb{color:#6639ba}[data-theme=light] .chroma .bp{color:#6a737d}[data-theme=light] .chroma .nv{color:#953800}[data-theme=light] .chroma .vc{color:#953800}[data-theme=light] .chroma .vg{color:#953800}[data-theme=light] .chroma .vi{color:#953800}[data-theme=light] .chroma .vm{color:#953800}[data-theme=light] .chroma .nf{color:#6639ba}[data-theme=light] .chroma .fm{color:#6639ba}[data-theme=light] .chroma .s{color:#0a3069}[data-theme=light] .chroma .sa{color:#0a3069}[data-theme=light] .chroma .sb{color:#0a3069}[data-theme=light] .chroma .sc{color:#0a3069}[data-theme=light] .chroma .dl{color:#0a3069}[data-theme=light] .chroma .sd{color:#0a3069}[data-theme=light] .chroma .s2{color:#0a3069}[data-theme=light] .chroma .se{color:#0a3069}[data-theme=light] .chroma .sh{color:#0a3069}[data-theme=light] .chroma .si{color:#0a3069}[data-theme=light] .chroma .sx{color:#0a3069}[data-theme=light] .chroma .sr{color:#0a3069}[data-theme=light] .chroma .s1{color:#0a3069}[data-theme=light] .chroma .ss{color:#032f62}[data-theme=light] .chroma .m{color:#0550ae}[data-theme=light] .chroma .mb{color:#0550ae}[data-theme=light] .chroma .mf{color:#0550ae}[data-theme=light] .chroma .mh{color:#0550ae}[data-theme=light] .chroma .mi{color:#0550ae}[data-theme=light] .chroma .il{color:#0550ae}[data-theme=light] .chroma .mo{color:#0550ae}[data-theme=light] .chroma .o{color:#0550ae}[data-theme=light] .chroma .ow{color:#0550ae}[data-theme=light] .chroma .or{color:#0550ae}[data-theme=light] .chroma .p{color:#1f2328}[data-theme=light] .chroma .c{color:#57606a}[data-theme=light] .chroma .ch{color:#57606a}[data-theme=light] .chroma .cm{color:#57606a}[data-theme=light] .chroma .c1{color:#57606a}[data-theme=light] .chroma .cs{color:#57606a}[data-theme=light] .chroma .cp{color:#57606a}[data-theme=light] .chroma .cpf{color:#57606a}[data-theme=light] .chroma .gd{color:#82071e;background-color:#ffebe9}[data-theme=light] .chroma .ge{color:#1f2328}[data-theme=light] .chroma .gi{color:#116329;background-color:#dafbe1}[data-theme=light] .chroma .go{color:#1f2328}[data-theme=light] .chroma .gl{text-decoration:underline}[data-theme=light] .chroma .w{color:#fff}:root{--accent:#0d9e30;--accent-muted:rgba(13, 158, 48, 0.5);--bg:#0c0c0c;--bg-elevated:#141414;--bg-surface:#1a1a1a;--fg:#e8e8e6;--fg-muted:#8a8a85;--fg-dim:#7a7a75;--border:rgba(255, 255, 255, 0.08);--border-strong:rgba(255, 255, 255, 0.18);--font-mono:ui-monospace, 'SFMono-Regular', 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--font-serif:ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:8rem;--site-max:1400px;--line-height:1.7;--line-height-tight:1.15;--transition-fast:0.15s ease;scrollbar-color:var(--fg-dim)var(--bg-elevated);color-scheme:dark}[data-theme=light]{color-scheme:light;--accent:#0a8026;--accent-muted:rgba(10, 128, 38, 0.5);--bg:#fafaf9;--bg-elevated:#f5f5f4;--bg-surface:#e7e7e5;--fg:#1c1c1a;--fg-muted:#6a6a65;--fg-dim:#9a9a95;--border:rgba(0, 0, 0, 0.08);--border-strong:rgba(0, 0, 0, 0.18)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:1rem;line-height:var(--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background:var(--accent-muted);color:var(--fg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:var(--line-height-tight);letter-spacing:-.02em;color:var(--fg)}h1{font-size:clamp(2.8rem,6vw,5rem)}h2{font-size:clamp(1.6rem,3.5vw,2.4rem)}h3{font-size:clamp(1.2rem,2.5vw,1.6rem)}p{margin-bottom:var(--space-lg)}a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;cursor:pointer;transition:border-color var(--transition-fast)}a:hover,a:focus{border-bottom-color:var(--accent-muted)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-bottom-color:transparent}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.9em}code{background:var(--bg-surface);padding:.1em .35em;border:1px solid var(--border)}pre{background:var(--bg-elevated);border:1px solid var(--border);padding:var(--space-md);overflow-x:auto;line-height:1.5;margin-bottom:var(--space-lg)}pre code{background:0 0;padding:0;border:none;font-size:inherit}.highlight{background:var(--bg-elevated);border:1px solid var(--border);margin-bottom:var(--space-lg);overflow-x:auto}.highlight .chroma,.highlight pre{background:0 0;border:none;margin:0}.highlight pre{padding:var(--space-md);overflow:visible}.content .highlight table.lntable{width:auto;margin:0;border-collapse:collapse;border-spacing:0;font-size:inherit}.content .highlight .lntd{padding:0;border:none;vertical-align:top}.content .highlight tr:nth-child(even){background:0 0}.highlight .lntd:first-child pre{padding-right:0;color:var(--fg-dim);user-select:none}.highlight .hl{background:var(--bg-surface);display:block}.container{width:100%;max-width:var(--site-max);margin:0 auto;padding:0 var(--space-lg)}.skip-link{position:absolute;top:-100%;left:var(--space-md);z-index:1000;padding:var(--space-sm)var(--space-md);background:var(--accent);color:var(--bg);font-family:var(--font-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;border:none}.skip-link:focus{top:var(--space-md);outline:none}.site-header{border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;background:var(--bg)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;height:60px;flex-wrap:wrap;gap:var(--space-sm)}.site-brand{font-family:var(--font-mono);font-size:.9rem;font-weight:500;letter-spacing:.02em;color:var(--fg);text-decoration:none;border-bottom:none}.site-brand:hover{color:var(--accent)}.site-nav{display:flex;align-items:center;gap:var(--space-xl)}.site-nav a{font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);border-bottom:1px solid transparent;padding-bottom:2px}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--fg);border-bottom-color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--fg-muted);background:0 0;border:1px solid var(--border);padding:0;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-icon{width:18px;height:18px;display:block}.theme-icon.hidden{display:none}.hero{padding:var(--space-4xl)0 var(--space-3xl);border-bottom:1px solid var(--border)}.hero-name{font-family:var(--font-serif);font-weight:400;font-size:clamp(3.5rem,9vw,7rem);line-height:1;letter-spacing:-.03em;margin-bottom:var(--space-md)}.hero-tagline{font-family:var(--font-mono);font-size:clamp(.85rem,1.5vw,1rem);color:var(--fg-muted);letter-spacing:.02em;max-width:520px;line-height:1.6}.hero-meta{margin-top:var(--space-2xl);font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.06em}.hero-meta dl{display:grid;grid-template-columns:120px 1fr;gap:var(--space-xs)0}.hero-meta dt{color:var(--fg-muted)}.hero-meta dd{color:var(--accent)}.section{padding:var(--space-3xl)0;border-bottom:1px solid var(--border)}.section:last-of-type{border-bottom:none}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-2xl);flex-wrap:wrap;gap:var(--space-sm)}.section-title{font-family:var(--font-serif);font-size:clamp(1.4rem,3vw,2rem);font-weight:400}.section-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim);letter-spacing:.06em}.post-list{list-style:none}.post-item{padding:var(--space-lg)0;border-bottom:1px solid var(--border)}.post-item:first-child{padding-top:0}.post-item:last-child{border-bottom:none}.post-item-link{display:block;text-decoration:none;border-bottom:none}.post-item-link:hover .post-item-title{color:var(--accent)}.post-item-title{font-family:var(--font-serif);font-size:1.35rem;font-weight:400;line-height:1.25;color:var(--fg);margin-bottom:var(--space-sm);transition:color var(--transition-fast)}.post-item-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim);letter-spacing:.05em;margin-bottom:var(--space-sm)}.content{padding:var(--space-3xl)0}.content h1{margin-bottom:var(--space-2xl)}.content h2{margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.content h3{margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.content>:first-child{margin-top:0}.content ul,.content ol{margin-bottom:var(--space-lg);padding-left:var(--space-lg)}.content li{margin-bottom:var(--space-sm)}.content li::marker{color:var(--fg-dim)}.content blockquote{border-left:2px solid var(--accent);padding-left:var(--space-md);margin:var(--space-xl)0 var(--space-xl)var(--space-sm);color:var(--fg-muted);font-style:italic}.alert{--alert-color:var(--fg-muted);border:1px solid var(--border);border-left:2px solid var(--alert-color);background:var(--bg-elevated);padding:var(--space-md)var(--space-lg);margin:var(--space-xl)0}.alert-note{--alert-color:#4a8fe0}.alert-tip{--alert-color:var(--accent)}.alert-important{--alert-color:#9a6ce0}.alert-warning{--alert-color:#d29922}.alert-caution{--alert-color:#e0524a}.alert-title{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--alert-color);margin-bottom:var(--space-sm)}.alert>:last-child,.alert li:last-child{margin-bottom:0}.content hr{border:none;border-top:1px solid var(--border);margin:var(--space-2xl)0}.content sup{line-height:0}.footnote-ref{font-family:var(--font-mono);font-size:.75em;padding:0 .1em;border-bottom:none}.footnote-ref::before{content:'['}.footnote-ref::after{content:']'}.content [id^="fnref:"],.content [id^="fn:"]{scroll-margin-top:calc(60px + var(--space-lg))}.footnotes{margin-top:var(--space-3xl);font-size:.875rem;color:var(--fg-muted)}.footnotes::before{content:'References';display:block;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-dim);margin-bottom:var(--space-md)}.footnotes hr{display:none}.content .footnotes ol{padding-left:var(--space-lg);border-top:1px solid var(--border);padding-top:var(--space-md)}.footnotes li::marker{font-family:var(--font-mono)}.footnotes li p{margin-bottom:0}.footnotes li:target{color:var(--fg)}.footnote-backref{font-family:var(--font-mono);margin-left:var(--space-xs);border-bottom:none}.content img,.content video{max-width:100%;height:auto;display:block;border:1px solid var(--border)}.content figure{margin-bottom:var(--space-lg)}.content figcaption{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim);margin-top:var(--space-sm)}.content table{width:100%;border-collapse:collapse;margin-bottom:var(--space-lg);font-size:.95rem}.content th,.content td{padding:var(--space-sm)var(--space-md);border:1px solid var(--border-strong);text-align:left;vertical-align:top}.content th{background:var(--bg-elevated);font-family:var(--font-mono);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted)}.content tr:nth-child(even){background:var(--bg-elevated)}.post-header{padding:var(--space-2xl)0 var(--space-xl);border-bottom:1px solid var(--border);margin-bottom:var(--space-2xl)}.post-title{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:var(--space-md)}.post-meta{font-family:var(--font-mono);font-size:.8rem;color:var(--fg-dim)}.post-meta time{color:var(--fg-muted)}.post-meta .tag-link,.post-item-meta .tag-link{color:inherit;border-bottom:none}.post-meta .tag-link:hover,.post-item-meta .tag-link:hover{color:var(--accent)}.post-footer{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--border);font-family:var(--font-mono);font-size:.8rem}.post-nav{display:flex;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg)}.post-nav-next{margin-left:auto;text-align:right}.post-footer-all{color:var(--fg-muted)}.list-intro{margin-top:var(--space-sm)}.section-more{margin-top:var(--space-xl)}.site-footer{border-top:1px solid var(--border);padding:var(--space-xl)0;margin-top:auto}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.footer-copy{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim)}.footer-links{display:flex;gap:var(--space-lg)}.footer-links a{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-muted);border-bottom:none}.footer-links a:hover{color:var(--accent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-accent{color:var(--accent)}.text-muted{color:var(--fg-muted)}@media(max-width:640px){.site-header-inner{height:auto;min-height:52px;padding:var(--space-sm)0;gap:var(--space-md)}.site-nav{gap:var(--space-md);flex-wrap:wrap;justify-content:flex-end}.site-nav a{padding:var(--space-xs);font-size:.75rem;letter-spacing:.06em}.theme-toggle{width:32px;height:32px}.theme-icon{width:16px;height:16px}.hero{padding:var(--space-3xl)0 var(--space-2xl)}.section{padding:var(--space-2xl)0}.hero-meta dl{grid-template-columns:90px 1fr}.site-footer-inner{flex-direction:column;align-items:flex-start;gap:var(--space-md)}}