@font-face{font-family:fraunces;src:url(/fonts/fraunces.woff2)format('woff2');font-weight:340 640;font-style:normal;font-display:swap}@font-face{font-family:inter;src:url(/fonts/inter.woff2)format('woff2');font-weight:400 680;font-style:normal;font-display:swap}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains.woff2)format('woff2');font-weight:400 700;font-style:normal;font-display:swap}:root{color-scheme:dark;--ink:#14161b;--ink-raised:#1b1e25;--ink-sunken:#0f1116;--hairline:rgba(236, 234, 227, 0.10);--hairline-str:rgba(236, 234, 227, 0.18);--paper:#ece9e2;--paper-dim:#97938a;--paper-faint:#6f6c65;--accent:#3db8a5;--accent-strong:#2fa08d;--accent-soft:rgba(61, 184, 165, 0.14);--on-accent:#08130f;--signal:#7fae8f;--danger:#d98a7a;--font-display:'Fraunces', Georgia, 'Times New Roman', serif;--font-body:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;--font-mono:'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;--max-width:1120px;--measure:68ch;--nav-height:60px;--radius:5px;--radius-lg:9px;--ease:cubic-bezier(0.4, 0.14, 0.3, 1)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--ink:#fbfaf7;--ink-raised:#ffffff;--ink-sunken:#f2efe8;--hairline:rgba(22, 24, 29, 0.12);--hairline-str:rgba(22, 24, 29, 0.20);--paper:#1a1c22;--paper-dim:#5f5c55;--paper-faint:#8a877f;--accent:#12796a;--accent-strong:#0d6759;--accent-soft:rgba(18, 121, 106, 0.10);--on-accent:#ffffff;--signal:#40855a;--danger:#b4432f}}:root[data-theme=light]{color-scheme:light;--ink:#fbfaf7;--ink-raised:#ffffff;--ink-sunken:#f2efe8;--hairline:rgba(22, 24, 29, 0.12);--hairline-str:rgba(22, 24, 29, 0.20);--paper:#1a1c22;--paper-dim:#5f5c55;--paper-faint:#8a877f;--accent:#12796a;--accent-strong:#0d6759;--accent-soft:rgba(18, 121, 106, 0.10);--on-accent:#ffffff;--signal:#40855a;--danger:#b4432f}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 1.5rem);-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;color:var(--paper);background:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img,video,iframe{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}strong{font-weight:620;color:var(--paper)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:560;line-height:1.08;letter-spacing:-.018em;color:var(--paper);font-optical-sizing:auto;text-wrap:balance}code{font-family:var(--font-mono);font-size:.88em;background:var(--ink-sunken);border:1px solid var(--hairline);padding:.1em .4em;border-radius:4px;color:var(--accent)}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.hidden{display:none!important}.skip-link{position:absolute;top:-200%;left:1rem;z-index:9999;padding:.6rem 1rem;background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);font-size:.85rem;border-radius:var(--radius)}.skip-link:focus{top:1rem}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:1.5rem}.section{padding-block:clamp(3.5rem,8vw,6.5rem);border-top:1px solid var(--hairline)}.section:first-of-type{border-top:0}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim)}.eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--accent)}.nav{position:fixed;inset:0 0 auto 0;height:var(--nav-height);z-index:100;background:color-mix(in srgb,var(--ink) 82%,transparent);backdrop-filter:blur(14px)saturate(1.4);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--hairline)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:1.5rem}.nav-logo{font-family:var(--font-mono);font-weight:600;font-size:.9rem;letter-spacing:-.01em;color:var(--paper);white-space:nowrap}.nav-logo::before{content:"▮ ";color:var(--accent)}.nav-logo:hover{color:var(--paper);text-decoration:none}.nav-end{display:flex;align-items:center;gap:.35rem}.nav-links{display:flex;list-style:none;gap:.25rem}.nav-links a{display:block;padding:.4rem .7rem;color:var(--paper-dim);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.01em;border-radius:var(--radius);transition:color .15s var(--ease),background-color .15s var(--ease)}.nav-links a:hover,.nav-links a.active{color:var(--paper);background:var(--accent-soft);text-decoration:none}.nav-links a.active{color:var(--accent)}.theme-toggle{display:flex;align-items:center;justify-content:center;background:0 0;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;padding:.4rem;margin-left:.35rem;color:var(--paper-dim);transition:color .15s var(--ease),background-color .15s var(--ease),border-color .15s var(--ease)}.theme-toggle:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--hairline)}.theme-toggle svg{display:none}:root:not([data-theme]) .theme-toggle [data-icon=system],:root[data-theme=light] .theme-toggle [data-icon=light],:root[data-theme=dark] .theme-toggle [data-icon=dark]{display:block}.nav-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:.5rem;color:var(--paper)}.hamburger,.hamburger::before,.hamburger::after{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s var(--ease),opacity .2s var(--ease)}.hamburger{position:relative}.hamburger::before,.hamburger::after{content:'';position:absolute;left:0}.hamburger::before{top:-7px}.hamburger::after{top:7px}.nav-toggle[aria-expanded=true] .hamburger{background:0 0}.nav-toggle[aria-expanded=true] .hamburger::before{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] .hamburger::after{transform:translateY(-7px)rotate(-45deg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.4rem;font-family:var(--font-mono);font-size:.85rem;font-weight:500;letter-spacing:.01em;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:transform .15s var(--ease),background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.btn:hover{transform:translateY(-2px);text-decoration:none}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.btn-secondary{background:0 0;color:var(--paper);border-color:var(--hairline-str)}.btn-secondary:hover{background:var(--ink-raised);border-color:var(--paper-dim);color:var(--paper)}.masthead{padding-top:calc(var(--nav-height) + clamp(2.5rem,7vw,5rem));padding-bottom:clamp(3rem,7vw,5.5rem);border-top:0;position:relative;overflow:hidden}.masthead::before{content:"";position:absolute;top:-30%;left:-10%;width:55%;height:90%;background:radial-gradient(closest-side,var(--accent-soft),transparent);pointer-events:none}.masthead-inner{position:relative;display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,3.5rem);align-items:center}@media(min-width:940px){.masthead-inner{grid-template-columns:minmax(0,1.15fr)minmax(0,.85fr)}}.masthead-eyebrow{margin-bottom:1.6rem}.masthead-title{font-size:clamp(2.9rem,8.5vw,5.6rem);font-weight:600;line-height:.95;letter-spacing:-.035em;font-variation-settings:'opsz' 144;margin-bottom:1.1rem}.cursor{display:inline-block;width:.56ch;height:.82em;background:var(--accent);vertical-align:-.02em;animation:blink 1.15s steps(1)infinite}@keyframes blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}.masthead-tagline{font-family:var(--font-mono);font-size:clamp(1rem,2.4vw,1.25rem);font-weight:500;letter-spacing:-.01em;color:var(--accent);margin-bottom:1.6rem}.masthead-lede{max-width:46ch;margin-bottom:2rem}.masthead-lede p{font-size:1.075rem;line-height:1.6;color:var(--paper-dim)}.masthead-lede em{font-style:italic;color:var(--paper)}.masthead-lede strong{color:var(--paper)}.masthead-cta{display:flex;gap:.8rem;flex-wrap:wrap}.console{background:var(--ink-sunken);border:1px solid var(--hairline-str);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 60px -30px rgba(0,0,0,.7);font-family:var(--font-mono)}.console-bar{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--accent) 8%,transparent)}.console-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:1.4rem 0 0 var(--hairline-str),2.8rem 0 0 var(--hairline-str)}.console-file{margin-left:2.2rem;font-size:.74rem;color:var(--paper-dim);letter-spacing:.01em}.console-body{padding:1.1rem 1.2rem 1.3rem;font-size:.8rem;line-height:1.85;white-space:pre;overflow-x:auto;color:var(--paper)}.console-body a{color:inherit}.console-body a:hover{color:var(--accent);text-decoration:none}.console-body .c-comment{color:var(--paper-faint)}.console-body .c-key{color:var(--accent)}.console-body .c-ok{color:var(--signal)}.console-body .c-you{color:var(--accent);font-weight:600}.console-body .cursor{height:1.05em;vertical-align:-.18em}.post-list-head{margin-bottom:2.5rem}.post-list-head h1,.list-head h1{font-size:clamp(1.85rem,4vw,2.9rem);line-height:1.03;letter-spacing:-.025em;padding-top:1.6rem;position:relative}.post-list-head h1::before,.list-head h1::before{content:"";position:absolute;top:0;left:0;width:2.4rem;height:3px;background:var(--accent)}.list-lede{margin-top:1rem;max-width:var(--measure);color:var(--paper-dim)}.post-list{display:grid;grid-template-columns:1fr;gap:1.25rem;list-style:none}.post-card{display:flex;flex-direction:column;gap:.6rem;background:var(--ink-raised);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:1.5rem 1.6rem;transition:border-color .2s var(--ease),transform .2s var(--ease)}.post-card:hover{border-color:var(--hairline-str);transform:translateY(-2px)}.post-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim)}.post-card-meta .dot{color:var(--accent)}.post-card-title{font-size:1.4rem;font-weight:560;letter-spacing:-.02em;line-height:1.2}.post-card-title a{color:var(--paper)}.post-card-title a:hover{color:var(--accent);text-decoration:none}.post-card-excerpt{color:var(--paper-dim);font-size:1rem;max-width:var(--measure)}.post-card-more{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em;color:var(--accent)}.post-card-more::before{content:"→ "}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{display:inline-block;padding:.2rem .6rem;border:1px solid var(--hairline-str);border-radius:100px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;color:var(--paper-dim)}.tag::before{content:"#";color:var(--accent)}.tag:hover{color:var(--paper);border-color:var(--paper-dim);text-decoration:none}.post{padding-top:calc(var(--nav-height) + clamp(2.5rem,6vw,4rem));padding-bottom:5rem}.post-header{margin-bottom:2.5rem}.post-eyebrow{margin-bottom:1.4rem}.post-title{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:600;line-height:1.02;letter-spacing:-.03em;margin-bottom:1rem}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.04em;color:var(--paper-dim)}.post-meta .dot{color:var(--accent)}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1.1rem}.prose p{color:var(--paper-dim)}.prose>p:first-child{margin-top:0}.prose h2{font-size:clamp(1.5rem,3.4vw,2rem);letter-spacing:-.02em;margin-top:2.8rem;padding-top:1.6rem;position:relative}.prose h2::before{content:"";position:absolute;top:0;left:0;width:2.4rem;height:3px;background:var(--accent)}.prose h3{font-size:1.3rem;font-weight:540;letter-spacing:-.015em;margin-top:2.4rem;margin-bottom:-.2rem;color:var(--paper)}.prose h4{font-family:var(--font-mono);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--paper-dim);margin-top:2rem}.prose ul,.prose ol{list-style:none;padding-left:0}.prose ul>li,.prose ol>li{position:relative;padding-left:1.7rem;margin-bottom:.5rem;color:var(--paper-dim)}.prose ul>li::before{content:"→";position:absolute;left:0;color:var(--accent);font-family:var(--font-mono);font-size:.9em}.prose ol{counter-reset:item}.prose ol>li{counter-increment:item}.prose ol>li::before{content:counter(item,decimal-leading-zero);position:absolute;left:0;color:var(--accent);font-family:var(--font-mono);font-size:.78em;top:.28em}.prose li strong{color:var(--paper)}.prose blockquote{padding:1rem 1.4rem;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius)var(--radius)0;font-family:var(--font-mono);font-size:.92rem;line-height:1.6;color:var(--paper)}.prose blockquote p{color:inherit;margin:0}.prose blockquote>*+*{margin-top:.7rem}.prose pre{background:var(--ink-sunken);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:1.1rem 1.2rem;overflow-x:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.7;tab-size:2;-webkit-text-size-adjust:none}.prose pre code{background:0 0;border:0;padding:0;color:var(--paper);font-size:inherit}.prose hr{border:0;border-top:1px solid var(--hairline);margin:2.5rem 0}.prose img{border-radius:var(--radius-lg);border:1px solid var(--hairline);margin-block:1.6rem}.prose figure{margin-block:1.6rem}.prose figcaption{font-family:var(--font-mono);font-size:.74rem;color:var(--paper-faint);margin-top:.6rem;text-align:center}.prose table{width:100%;border-collapse:collapse;font-size:.95rem;margin-block:1.6rem}.prose th,.prose td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--hairline)}.prose th{font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--paper-dim)}.post-cta{max-width:var(--measure);margin-top:3.5rem;padding:1.6rem 1.7rem 1.8rem;border:1px solid var(--hairline-str);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent) 6%,var(--ink-raised))}.post-cta-eyebrow{margin-bottom:1.1rem}.post-cta-title{font-family:var(--font-display);font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:560;line-height:1.25;color:var(--paper)}.post-cta-blurb{margin-top:.7rem;color:var(--paper-dim)}.post-cta-btn{margin-top:1.5rem}.post-cta-btn span{transition:transform .15s var(--ease)}.post-cta-btn:hover span{transform:translateX(2px)}.post-footer{max-width:var(--measure);margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--hairline)}.post-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;font-family:var(--font-mono);font-size:.8rem}.post-nav a{color:var(--paper-dim)}.post-nav a:hover{color:var(--accent);text-decoration:none}.post-nav .prev::before{content:"← ";color:var(--accent)}.post-nav .next::after{content:" →";color:var(--accent)}.pagination{display:flex;justify-content:center;align-items:center;gap:.4rem;margin-top:3rem;font-family:var(--font-mono);font-size:.82rem}.pagination a,.pagination .current{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;padding:.4rem .6rem;border:1px solid var(--hairline);border-radius:var(--radius);color:var(--paper-dim)}.pagination a:hover{color:var(--paper);border-color:var(--paper-dim);text-decoration:none}.pagination .current{color:var(--accent);border-color:var(--accent)}.pagination .disabled{opacity:.4}.footer{border-top:1px solid var(--hairline);padding-block:2.5rem}.footer-grid{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.footer-credit{font-family:var(--font-mono);font-size:.76rem;color:var(--paper-dim)}.footer-links{display:flex;gap:1.4rem;flex-wrap:wrap}.footer-links a{font-family:var(--font-mono);font-size:.76rem;color:var(--paper-dim)}.footer-links a:hover{color:var(--accent);text-decoration:none}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:819px){.nav-toggle{display:flex;align-items:center;justify-content:center}.nav-links{display:none;position:fixed;top:var(--nav-height);inset-inline:0;flex-direction:column;gap:0;padding:.75rem;background:var(--ink);border-bottom:1px solid var(--hairline)}.nav-links.open{display:flex}.nav-links a{padding:.75rem;font-size:.9rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.chroma .err{color:#bf616a}.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:#424853}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6c6f74}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6c6f74}.chroma .line{display:flex}.chroma .k{color:#81a1c1;font-weight:700}.chroma .kc{color:#81a1c1;font-weight:700}.chroma .kd{color:#81a1c1;font-weight:700}.chroma .kn{color:#81a1c1;font-weight:700}.chroma .kp{color:#81a1c1}.chroma .kr{color:#81a1c1;font-weight:700}.chroma .kt{color:#81a1c1}.chroma .na{color:#8fbcbb}.chroma .nc{color:#8fbcbb}.chroma .no{color:#8fbcbb}.chroma .nd{color:#d08770}.chroma .ni{color:#d08770}.chroma .ne{color:#bf616a}.chroma .nl{color:#8fbcbb}.chroma .nn{color:#8fbcbb}.chroma .nx{color:#d8dee9}.chroma .py{color:#8fbcbb}.chroma .nt{color:#81a1c1}.chroma .nb{color:#81a1c1}.chroma .bp{color:#81a1c1}.chroma .nf{color:#88c0d0}.chroma .fm{color:#88c0d0}.chroma .s{color:#a3be8c}.chroma .sa{color:#a3be8c}.chroma .sb{color:#a3be8c}.chroma .sc{color:#a3be8c}.chroma .dl{color:#a3be8c}.chroma .sd{color:#7a8497}.chroma .s2{color:#a3be8c}.chroma .se{color:#ebcb8b}.chroma .sh{color:#a3be8c}.chroma .si{color:#a3be8c}.chroma .sx{color:#a3be8c}.chroma .sr{color:#ebcb8b}.chroma .s1{color:#a3be8c}.chroma .ss{color:#a3be8c}.chroma .m{color:#b48ead}.chroma .mb{color:#b48ead}.chroma .mf{color:#b48ead}.chroma .mh{color:#b48ead}.chroma .mi{color:#b48ead}.chroma .il{color:#b48ead}.chroma .mo{color:#b48ead}.chroma .o{color:#81a1c1}.chroma .ow{color:#81a1c1;font-weight:700}.chroma .or{color:#81a1c1}.chroma .p{color:#eceff4}.chroma .c{color:#7a8497;font-style:italic}.chroma .ch{color:#7a8497;font-style:italic}.chroma .cm{color:#7a8497;font-style:italic}.chroma .c1{color:#7a8497;font-style:italic}.chroma .cs{color:#7a8497;font-style:italic}.chroma .cp{color:#5e81ac;font-style:italic}.chroma .cpf{color:#5e81ac;font-style:italic}.chroma .gd{color:#bf616a}.chroma .ge{font-style:italic}.chroma .gr{color:#bf616a}.chroma .gh{color:#88c0d0;font-weight:700}.chroma .gi{color:#a3be8c}.chroma .go{color:#d8dee9}.chroma .gp{color:#7f838e;font-weight:700}.chroma .gs{font-weight:700}.chroma .gu{color:#88c0d0;font-weight:700}.chroma .gt{color:#bf616a}.chroma .w{color:#d8dee9}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .chroma .p{color:inherit;background-color:initial}:root:not([data-theme=dark]) .chroma .w{color:inherit;background-color:initial}:root:not([data-theme=dark]) .chroma .x{color:#4c4f69}:root:not([data-theme=dark]) .chroma .err{color:#d20f39}:root:not([data-theme=dark]) .chroma .cl{color:#4c4f69}:root:not([data-theme=dark]) .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root:not([data-theme=dark]) .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root:not([data-theme=dark]) .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root:not([data-theme=dark]) .chroma .hl{background-color:#bcc0cc}:root:not([data-theme=dark]) .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8c8fa1}:root:not([data-theme=dark]) .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8c8fa1}:root:not([data-theme=dark]) .chroma .line{display:flex}:root:not([data-theme=dark]) .chroma .k{color:#8839ef}:root:not([data-theme=dark]) .chroma .kc{color:#b04305}:root:not([data-theme=dark]) .chroma .kd{color:#d20f39}:root:not([data-theme=dark]) .chroma .kn{color:#0f7177}:root:not([data-theme=dark]) .chroma .kp{color:#8839ef}:root:not([data-theme=dark]) .chroma .kr{color:#8839ef}:root:not([data-theme=dark]) .chroma .kt{color:#d20f39}:root:not([data-theme=dark]) .chroma .na{color:#1a5cdf}:root:not([data-theme=dark]) .chroma .nc{color:#905a0f}:root:not([data-theme=dark]) .chroma .no{color:#905a0f}:root:not([data-theme=dark]) .chroma .nd{color:#1a5cdf;font-weight:700}:root:not([data-theme=dark]) .chroma .ni{color:#0f7177}:root:not([data-theme=dark]) .chroma .ne{color:#b04305}:root:not([data-theme=dark]) .chroma .nl{color:#026d99}:root:not([data-theme=dark]) .chroma .nn{color:#b04305}:root:not([data-theme=dark]) .chroma .nx{color:#4c4f69}:root:not([data-theme=dark]) .chroma .py{color:#b04305}:root:not([data-theme=dark]) .chroma .nt{color:#8839ef}:root:not([data-theme=dark]) .chroma .nb{color:#026d99}:root:not([data-theme=dark]) .chroma .bp{color:#026d99}:root:not([data-theme=dark]) .chroma .nv{color:#8f584c}:root:not([data-theme=dark]) .chroma .vc{color:#8f584c}:root:not([data-theme=dark]) .chroma .vg{color:#8f584c}:root:not([data-theme=dark]) .chroma .vi{color:#8f584c}:root:not([data-theme=dark]) .chroma .vm{color:#8f584c}:root:not([data-theme=dark]) .chroma .nf{color:#1a5cdf}:root:not([data-theme=dark]) .chroma .fm{color:#1a5cdf}:root:not([data-theme=dark]) .chroma .ld{color:#4c4f69}:root:not([data-theme=dark]) .chroma .s{color:#2d751d}:root:not([data-theme=dark]) .chroma .sa{color:#d20f39}:root:not([data-theme=dark]) .chroma .sb{color:#2d751d}:root:not([data-theme=dark]) .chroma .sc{color:#2d751d}:root:not([data-theme=dark]) .chroma .dl{color:#1a5cdf}:root:not([data-theme=dark]) .chroma .sd{color:#636670}:root:not([data-theme=dark]) .chroma .s2{color:#2d751d}:root:not([data-theme=dark]) .chroma .se{color:#1a5cdf}:root:not([data-theme=dark]) .chroma .sh{color:#636670}:root:not([data-theme=dark]) .chroma .si{color:#2d751d}:root:not([data-theme=dark]) .chroma .sx{color:#2d751d}:root:not([data-theme=dark]) .chroma .sr{color:#0f7177}:root:not([data-theme=dark]) .chroma .s1{color:#2d751d}:root:not([data-theme=dark]) .chroma .ss{color:#2d751d}:root:not([data-theme=dark]) .chroma .m{color:#b04305}:root:not([data-theme=dark]) .chroma .mb{color:#b04305}:root:not([data-theme=dark]) .chroma .mf{color:#b04305}:root:not([data-theme=dark]) .chroma .mh{color:#b04305}:root:not([data-theme=dark]) .chroma .mi{color:#b04305}:root:not([data-theme=dark]) .chroma .il{color:#b04305}:root:not([data-theme=dark]) .chroma .mo{color:#b04305}:root:not([data-theme=dark]) .chroma .o{color:#026d99;font-weight:700}:root:not([data-theme=dark]) .chroma .ow{color:#026d99;font-weight:700}:root:not([data-theme=dark]) .chroma .or{color:#026d99;font-weight:700}:root:not([data-theme=dark]) .chroma .c{color:#636670;font-style:italic}:root:not([data-theme=dark]) .chroma .ch{color:#63666e;font-style:italic}:root:not([data-theme=dark]) .chroma .cm{color:#636670;font-style:italic}:root:not([data-theme=dark]) .chroma .c1{color:#636670;font-style:italic}:root:not([data-theme=dark]) .chroma .cs{color:#636670;font-style:italic}:root:not([data-theme=dark]) .chroma .cp{color:#636670;font-style:italic}:root:not([data-theme=dark]) .chroma .cpf{color:#636670;font-weight:700;font-style:italic}:root:not([data-theme=dark]) .chroma .gd{color:#d20f39;background-color:#ccd0da}:root:not([data-theme=dark]) .chroma .ge{font-style:italic}:root:not([data-theme=dark]) .chroma .gr{color:#d20f39}:root:not([data-theme=dark]) .chroma .gh{color:#b04305;font-weight:700}:root:not([data-theme=dark]) .chroma .gi{color:#2d751d;background-color:#ccd0da}:root:not([data-theme=dark]) .chroma .go{color:#4c4f69}:root:not([data-theme=dark]) .chroma .gp{color:#4c4f69}:root:not([data-theme=dark]) .chroma .gs{font-weight:700}:root:not([data-theme=dark]) .chroma .gu{color:#b04305;font-weight:700}:root:not([data-theme=dark]) .chroma .gt{color:#d20f39}:root:not([data-theme=dark]) .chroma .gl{text-decoration:underline}}:root[data-theme=light] .chroma .p{color:inherit;background-color:initial}:root[data-theme=light] .chroma .w{color:inherit;background-color:initial}:root[data-theme=light] .chroma .x{color:#4c4f69}:root[data-theme=light] .chroma .err{color:#d20f39}:root[data-theme=light] .chroma .cl{color:#4c4f69}:root[data-theme=light] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root[data-theme=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root[data-theme=light] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root[data-theme=light] .chroma .hl{background-color:#bcc0cc}:root[data-theme=light] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8c8fa1}:root[data-theme=light] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8c8fa1}:root[data-theme=light] .chroma .line{display:flex}:root[data-theme=light] .chroma .k{color:#8839ef}:root[data-theme=light] .chroma .kc{color:#b04305}:root[data-theme=light] .chroma .kd{color:#d20f39}:root[data-theme=light] .chroma .kn{color:#0f7177}:root[data-theme=light] .chroma .kp{color:#8839ef}:root[data-theme=light] .chroma .kr{color:#8839ef}:root[data-theme=light] .chroma .kt{color:#d20f39}:root[data-theme=light] .chroma .na{color:#1a5cdf}:root[data-theme=light] .chroma .nc{color:#905a0f}:root[data-theme=light] .chroma .no{color:#905a0f}:root[data-theme=light] .chroma .nd{color:#1a5cdf;font-weight:700}:root[data-theme=light] .chroma .ni{color:#0f7177}:root[data-theme=light] .chroma .ne{color:#b04305}:root[data-theme=light] .chroma .nl{color:#026d99}:root[data-theme=light] .chroma .nn{color:#b04305}:root[data-theme=light] .chroma .nx{color:#4c4f69}:root[data-theme=light] .chroma .py{color:#b04305}:root[data-theme=light] .chroma .nt{color:#8839ef}:root[data-theme=light] .chroma .nb{color:#026d99}:root[data-theme=light] .chroma .bp{color:#026d99}:root[data-theme=light] .chroma .nv{color:#8f584c}:root[data-theme=light] .chroma .vc{color:#8f584c}:root[data-theme=light] .chroma .vg{color:#8f584c}:root[data-theme=light] .chroma .vi{color:#8f584c}:root[data-theme=light] .chroma .vm{color:#8f584c}:root[data-theme=light] .chroma .nf{color:#1a5cdf}:root[data-theme=light] .chroma .fm{color:#1a5cdf}:root[data-theme=light] .chroma .ld{color:#4c4f69}:root[data-theme=light] .chroma .s{color:#2d751d}:root[data-theme=light] .chroma .sa{color:#d20f39}:root[data-theme=light] .chroma .sb{color:#2d751d}:root[data-theme=light] .chroma .sc{color:#2d751d}:root[data-theme=light] .chroma .dl{color:#1a5cdf}:root[data-theme=light] .chroma .sd{color:#636670}:root[data-theme=light] .chroma .s2{color:#2d751d}:root[data-theme=light] .chroma .se{color:#1a5cdf}:root[data-theme=light] .chroma .sh{color:#636670}:root[data-theme=light] .chroma .si{color:#2d751d}:root[data-theme=light] .chroma .sx{color:#2d751d}:root[data-theme=light] .chroma .sr{color:#0f7177}:root[data-theme=light] .chroma .s1{color:#2d751d}:root[data-theme=light] .chroma .ss{color:#2d751d}:root[data-theme=light] .chroma .m{color:#b04305}:root[data-theme=light] .chroma .mb{color:#b04305}:root[data-theme=light] .chroma .mf{color:#b04305}:root[data-theme=light] .chroma .mh{color:#b04305}:root[data-theme=light] .chroma .mi{color:#b04305}:root[data-theme=light] .chroma .il{color:#b04305}:root[data-theme=light] .chroma .mo{color:#b04305}:root[data-theme=light] .chroma .o{color:#026d99;font-weight:700}:root[data-theme=light] .chroma .ow{color:#026d99;font-weight:700}:root[data-theme=light] .chroma .or{color:#026d99;font-weight:700}:root[data-theme=light] .chroma .c{color:#636670;font-style:italic}:root[data-theme=light] .chroma .ch{color:#63666e;font-style:italic}:root[data-theme=light] .chroma .cm{color:#636670;font-style:italic}:root[data-theme=light] .chroma .c1{color:#636670;font-style:italic}:root[data-theme=light] .chroma .cs{color:#636670;font-style:italic}:root[data-theme=light] .chroma .cp{color:#636670;font-style:italic}:root[data-theme=light] .chroma .cpf{color:#636670;font-weight:700;font-style:italic}:root[data-theme=light] .chroma .gd{color:#d20f39;background-color:#ccd0da}:root[data-theme=light] .chroma .ge{font-style:italic}:root[data-theme=light] .chroma .gr{color:#d20f39}:root[data-theme=light] .chroma .gh{color:#b04305;font-weight:700}:root[data-theme=light] .chroma .gi{color:#2d751d;background-color:#ccd0da}:root[data-theme=light] .chroma .go{color:#4c4f69}:root[data-theme=light] .chroma .gp{color:#4c4f69}:root[data-theme=light] .chroma .gs{font-weight:700}:root[data-theme=light] .chroma .gu{color:#b04305;font-weight:700}:root[data-theme=light] .chroma .gt{color:#d20f39}:root[data-theme=light] .chroma .gl{text-decoration:underline}