@font-face{font-family:oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/oswald-latin-500-normal.woff2)format("woff2")}@font-face{font-family:oswald;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-latin-600-normal.woff2)format("woff2")}:root{--blue:#3653a7;--blue-strong:#2c448b;--blue-soft:#eef1fa;--gray:#5b5959;--text:#1f2330;--muted:#5f6472;--bg:#ffffff;--surface:#f7f8fb;--border:#e3e6ee;--code-bg:#f5f7fb;--shadow:0 1px 2px rgba(20, 30, 60, .06), 0 4px 16px rgba(20, 30, 60, .06);--radius:10px;--font-head:"Oswald", "Arial Narrow", "Segoe UI", system-ui, sans-serif;--font-body:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:"Cascadia Code", "Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace;--logo-filter:none;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--blue:#93a8f0;--blue-strong:#b4c3f6;--blue-soft:#1a2240;--gray:#b7b4b4;--text:#e7e9ef;--muted:#a3a8b6;--bg:#0e121c;--surface:#151a27;--border:#262d3f;--code-bg:#121724;--shadow:none;--logo-filter:brightness(1.9) saturate(.9);color-scheme:dark}}:root[data-theme=dark]{--blue:#93a8f0;--blue-strong:#b4c3f6;--blue-soft:#1a2240;--gray:#b7b4b4;--text:#e7e9ef;--muted:#a3a8b6;--bg:#0e121c;--surface:#151a27;--border:#262d3f;--code-bg:#121724;--shadow:none;--logo-filter:brightness(1.9) saturate(.9);color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:1rem}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.7 var(--font-body);text-rendering:optimizeLegibility}img,video{max-width:100%;height:auto}a{color:var(--blue);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--blue-strong)}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:3px}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:0;background:var(--blue);color:#fff;padding:8px 12px;z-index:10}.skip:focus{left:8px;top:8px}.muted{color:var(--muted)}.site-header{border-bottom:1px solid var(--border);background:var(--bg)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}.brand{display:inline-flex;line-height:0}.brand-logo{width:240px;height:auto;filter:var(--logo-filter)}.nav{display:flex;align-items:center;gap:6px}.nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.nav a{display:block;padding:6px 12px;border-radius:999px;font:500 15px/1.4 var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--gray);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--blue);background:var(--blue-soft)}.theme-toggle{background:0 0;border:1px solid var(--border);color:var(--gray);border-radius:999px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;margin-left:6px}.theme-toggle:hover{color:var(--blue);border-color:var(--blue)}h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;line-height:1.2;letter-spacing:.01em;color:var(--text)}h1{font-size:clamp(2rem,1.4rem + 2.4vw,2.9rem);margin:.2em 0 .35em}.eyebrow{font:500 13px/1.4 var(--font-head);text-transform:uppercase;letter-spacing:.12em;color:var(--blue);margin:0}.eyebrow a{text-decoration:none}.lead{font-size:1.15rem;color:var(--muted);max-width:60ch}.meta{color:var(--muted);font-size:.92rem;margin:.2rem 0 0}.meta a{color:inherit}.intro{padding:36px 0 8px}.intro .lead{margin:0 0 16px}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;border:1px solid var(--border);color:var(--text);text-decoration:none;font-size:.92rem;background:var(--bg)}.chip span{color:var(--muted);font-size:.8rem}.chip:hover{border-color:var(--blue);color:var(--blue)}.chips.big .chip{font-size:1rem;padding:6px 14px}.featured{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;margin:28px 0 36px;padding:18px;border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:var(--surface)}.featured-img img{border-radius:var(--radius);display:block;width:100%;aspect-ratio:1200/560;object-fit:cover}.featured h2{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);margin:.3em 0}.featured h2 a,.card-title a{color:var(--text);text-decoration:none}.featured h2 a:hover,.card-title a:hover{color:var(--blue)}.featured p:last-child{color:var(--muted);margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin:8px 0 32px}.search-page{--pagefind-ui-primary:var(--blue);--pagefind-ui-text:var(--text);--pagefind-ui-background:var(--bg);--pagefind-ui-border:var(--border);padding:32px 0 48px}.search-page #search{max-width:780px}.card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg);box-shadow:var(--shadow);transition:border-color .15s}.card:hover{border-color:var(--blue)}.card-img img{display:block;width:100%;aspect-ratio:640/336;object-fit:cover;background:var(--surface)}.card-body{padding:16px 18px 18px}.card-title{font-size:1.3rem;margin:0 0 4px}.card-summary{color:var(--muted);font-size:.95rem;margin:.6rem 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.list-header{padding:32px 0 8px}.pager{display:flex;justify-content:space-between;align-items:center;margin:8px 0 48px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em}.post{max-width:780px;margin:0 auto;padding:32px 0 48px}.post-header{margin-bottom:24px}.notice{display:inline-block;background:#fff4d6;color:#6b4e00;padding:2px 10px;border-radius:6px;font-size:.9rem}.toc{border:1px solid var(--border);border-radius:var(--radius);padding:12px 18px;background:var(--surface);margin:0 0 28px;font-size:.95rem}.toc summary{cursor:pointer;font:500 14px/1.6 var(--font-head);text-transform:uppercase;letter-spacing:.1em;color:var(--gray)}.toc ul{margin:.4rem 0 0;padding-left:1.1rem}.toc a{text-decoration:none}.prose{overflow-wrap:break-word}.prose h2{font-size:1.75rem;margin:2.2em 0 .5em}.prose h3{font-size:1.35rem;margin:1.8em 0 .4em}.prose h4{font-size:1.1rem;margin:1.5em 0 .3em}.prose .anchor{margin-left:.35em;color:var(--border);text-decoration:none;opacity:0;transition:opacity .15s}.prose h2:hover .anchor,.prose h3:hover .anchor,.prose .anchor:focus{opacity:1;color:var(--blue)}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.prose li{margin:.25em 0}.prose img{display:block;margin:1.4em auto;max-height:720px;width:auto;border-radius:8px;border:1px solid var(--border);background:#fff}.prose .img-link{display:block}.img-caption{display:block;text-align:center;color:var(--muted);font-size:.9rem;margin-top:-.8em}.prose blockquote{margin:1.4em 0;padding:.6em 1.1em;border-left:4px solid var(--blue);background:var(--blue-soft);border-radius:0 8px 8px 0}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--border);margin:2.4em 0}.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.prose th{background:var(--surface);font-weight:600}.prose :not(pre)>code{font:.88em var(--font-mono);background:var(--code-bg);border:1px solid var(--border);border-radius:5px;padding:.1em .35em}.code-block{position:relative;margin:1.4em 0}.code-block .highlight{position:relative}.code-label{position:absolute;top:0;left:14px;transform:translateY(-50%);z-index:1;font:500 11px/1 var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:4px 7px}.code-block pre{margin:0;padding-top:20px}.prose .chroma .err{background:0 0;color:inherit}.prose .language-http .nf{font-weight:700;color:var(--blue)}.prose pre{font:14px/1.6 var(--font-mono);background:var(--code-bg)!important;border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;overflow-x:auto;tab-size:4}.copy-btn{position:absolute;top:8px;right:8px;font:500 12px/1 var(--font-head);letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--gray);cursor:pointer;opacity:0;transition:opacity .15s}.highlight:hover .copy-btn,.copy-btn:focus{opacity:1}.video video{width:100%;border-radius:var(--radius);border:1px solid var(--border);background:#000}.prose .youtube,.prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--radius)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1.4em 0;align-items:start}.gallery[data-cols="1"]{grid-template-columns:minmax(0,1fr)}.gallery[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery p{margin:0}.prose .gallery img{margin:0;width:100%;max-height:none;object-fit:contain}@media(max-width:640px){.gallery[data-cols]{grid-template-columns:minmax(0,1fr)}}.tags{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.92rem}.tags a{color:var(--muted);text-decoration:none}.tags a:hover{color:var(--blue)}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:40px 0 0;padding-top:24px;border-top:1px solid var(--border)}.post-nav a{display:block;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);font-weight:600;line-height:1.4}.post-nav a span{display:block;font:500 12px/1.6 var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.post-nav a:hover{border-color:var(--blue)}.post-nav .next{text-align:right}.comments{margin-top:48px;padding-top:24px;border-top:1px solid var(--border)}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.92rem;background:var(--surface)}.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-top:20px;padding-bottom:20px}.footer-inner p{margin:0}.site-footer a{color:var(--muted)}@media(max-width:760px){body{font-size:16px}.brand-logo{width:190px}.header-inner{justify-content:center}.nav{width:100%;justify-content:center}.nav ul{flex-wrap:nowrap}.nav a{padding:6px 7px;font-size:13px;letter-spacing:.04em}.theme-toggle{width:32px;height:32px;margin-left:2px}.featured{grid-template-columns:1fr;padding:12px;gap:12px}.post-nav{grid-template-columns:1fr}.post-nav .next{text-align:left}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.site-header,.site-footer,.comments,.post-nav,.copy-btn,.theme-toggle{display:none}}.lightbox{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:0 0}.lightbox::backdrop{background:rgba(8,11,20,.88)}.lightbox figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 64px}.lightbox img{max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto;border-radius:6px;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.5);cursor:zoom-out}.lightbox figcaption{color:#e7e9ef;font-size:.9rem;text-align:center;max-width:80ch}.lightbox button{position:fixed;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;width:44px;height:44px;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center}.lightbox button:hover{background:rgba(255,255,255,.25)}.lightbox .lb-close{top:14px;right:14px}.lightbox .lb-prev{left:14px;top:50%;transform:translateY(-50%)}.lightbox .lb-next{right:14px;top:50%;transform:translateY(-50%)}.lightbox.single .lb-prev,.lightbox.single .lb-next{display:none}.prose a.img-link{cursor:zoom-in}@media(max-width:640px){.lightbox figure{padding:56px 8px 16px}.lightbox .lb-prev,.lightbox .lb-next{top:auto;bottom:14px;transform:none}}.about{max-width:900px}.about-hero{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:28px;margin:8px 0 36px;border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);background:linear-gradient(135deg,var(--blue-soft),var(--surface))}.about-photo{width:200px;height:200px;border-radius:50%;object-fit:cover;border:4px solid var(--bg);box-shadow:0 6px 24px rgba(20,30,60,.18)}.about-intro h1{margin:.1em 0 .15em}.about-role{margin:0;font:500 1.15rem/1.4 var(--font-head);letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}.about-location{margin:.2rem 0 0;color:var(--muted)}.about-links{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.about-links a{display:inline-block;padding:6px 14px;border-radius:999px;border:1px solid var(--blue);color:var(--blue);text-decoration:none;font-size:.92rem;background:var(--bg)}.about-links a:hover{background:var(--blue);color:var(--bg)}.about-badges{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;align-items:center}.about-badges li{display:flex;flex-direction:column;align-items:center;gap:4px}.about-badges img{width:160px;height:auto;display:block}.about-badges span{font:500 12px/1.2 var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.about .prose{max-width:780px}@media(max-width:760px){.about-hero{grid-template-columns:1fr;justify-items:center;text-align:center;padding:22px 16px}.about-photo{width:160px;height:160px}.about-links{justify-content:center}.about-badges{flex-direction:row;flex-wrap:wrap;justify-content:center}.about-badges img{width:130px}}.nav-toggle{display:none}@media(max-width:760px){.header-inner{flex-wrap:nowrap;justify-content:space-between;position:relative}.brand-logo{width:180px}.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;margin-left:auto}.nav-toggle span{display:block;height:2px;background:var(--gray);border-radius:2px;transition:transform .2s,opacity .2s}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.js .nav{display:none}.js .nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px;position:absolute;top:100%;left:0;right:0;z-index:20;padding:12px 20px 16px;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.js .nav.open ul{flex-direction:column;flex-wrap:nowrap;gap:2px}.js .nav.open a{padding:10px 12px;font-size:15px;border-radius:8px}.js .nav.open .theme-toggle{align-self:flex-start;margin:4px 0 0 8px}html:not(.js) .nav-toggle{display:none}}.footer-cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding-top:32px;padding-bottom:8px}.cta-card{display:flex;gap:18px;align-items:center;padding:20px 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.cta-card img{flex:none;width:120px;height:auto}.cta-card h2{font-size:1.25rem;margin:0 0 .3em}.cta-card p{margin:0 0 .9em;color:var(--muted)}.cta-card .btn{display:inline-block;padding:8px 16px;border-radius:999px;background:var(--blue);color:#fff;text-decoration:none;font-weight:600;font-size:.95rem}.cta-card .btn:hover{background:var(--blue-strong);color:#fff}.cta-card .btn-coffee,.cta-card .btn-coffee:hover{background:#fd0;color:#1f2330}.cta-card .btn-coffee:hover{background:#f5cf00}:root[data-theme=dark] .cta-card .btn:not(.btn-coffee){color:#0e121c}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .cta-card .btn:not(.btn-coffee){color:#0e121c}}@media(max-width:640px){.cta-card{flex-direction:column;text-align:center}}:root[data-theme=dark] .invert-dark{filter:brightness(0)invert(.92)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .invert-dark{filter:brightness(0)invert(.92)}}.nav a.nav-home{display:inline-flex;align-items:center;gap:6px}.nav-home svg{display:block}.nav-home-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:760px){.js .nav.open .nav-home-label{position:static;width:auto;height:auto;clip:auto}}.tools-page .lead p{margin:0}.tool-grid{list-style:none;margin:16px 0 48px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.tool-tile{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px;border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:var(--bg);box-shadow:var(--shadow);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.tool-tile:hover{border-color:var(--blue);transform:translateY(-2px);color:var(--text)}.tool-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--blue-soft);color:var(--blue);margin-bottom:6px}.tool-name{font:600 1.3rem/1.25 var(--font-head)}.tool-desc{color:var(--muted);font-size:.95rem;flex:1}.tool-url{color:var(--blue);font-size:.9rem;font-weight:600}.bg{background-color:#f7f7f7}.chroma{background-color:#f7f7f7;-webkit-text-size-adjust:none}.chroma .err{color:#f6f8fa;background-color:#82071e}.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:#dedede}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#cf222e}.chroma .kc{color:#cf222e}.chroma .kd{color:#cf222e}.chroma .kn{color:#cf222e}.chroma .kp{color:#cf222e}.chroma .kr{color:#cf222e}.chroma .kt{color:#cf222e}.chroma .na{color:#1f2328}.chroma .nc{color:#1f2328}.chroma .no{color:#0550ae}.chroma .nd{color:#0550ae}.chroma .ni{color:#6639ba}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#24292e}.chroma .nx{color:#1f2328}.chroma .nt{color:#0550ae}.chroma .nb{color:#6639ba}.chroma .bp{color:#6a737d}.chroma .nv{color:#953800}.chroma .vc{color:#953800}.chroma .vg{color:#953800}.chroma .vi{color:#953800}.chroma .vm{color:#953800}.chroma .nf{color:#6639ba}.chroma .fm{color:#6639ba}.chroma .s{color:#0a3069}.chroma .sa{color:#0a3069}.chroma .sb{color:#0a3069}.chroma .sc{color:#0a3069}.chroma .dl{color:#0a3069}.chroma .sd{color:#0a3069}.chroma .s2{color:#0a3069}.chroma .se{color:#0a3069}.chroma .sh{color:#0a3069}.chroma .si{color:#0a3069}.chroma .sx{color:#0a3069}.chroma .sr{color:#0a3069}.chroma .s1{color:#0a3069}.chroma .ss{color:#032f62}.chroma .m{color:#0550ae}.chroma .mb{color:#0550ae}.chroma .mf{color:#0550ae}.chroma .mh{color:#0550ae}.chroma .mi{color:#0550ae}.chroma .il{color:#0550ae}.chroma .mo{color:#0550ae}.chroma .o{color:#0550ae}.chroma .ow{color:#0550ae}.chroma .or{color:#0550ae}.chroma .p{color:#1f2328}.chroma .c{color:#57606a}.chroma .ch{color:#57606a}.chroma .cm{color:#57606a}.chroma .c1{color:#57606a}.chroma .cs{color:#57606a}.chroma .cp{color:#57606a}.chroma .cpf{color:#57606a}.chroma .gd{color:#82071e;background-color:#ffebe9}.chroma .ge{color:#1f2328}.chroma .gi{color:#116329;background-color:#dafbe1}.chroma .go{color:#1f2328}.chroma .gl{text-decoration:underline}.chroma .w{color:#fff}:root[data-theme=dark] .chroma{color:#e6edf3;background-color:#0d1117;-webkit-text-size-adjust:none}:root[data-theme=dark] .chroma .err{color:#f85149}:root[data-theme=dark] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root[data-theme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root[data-theme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root[data-theme=dark] .chroma .hl{background-color:#6e7681}:root[data-theme=dark] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#737679}:root[data-theme=dark] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}:root[data-theme=dark] .chroma .line{display:flex}:root[data-theme=dark] .chroma .k{color:#ff7b72}:root[data-theme=dark] .chroma .kc{color:#79c0ff}:root[data-theme=dark] .chroma .kd{color:#ff7b72}:root[data-theme=dark] .chroma .kn{color:#ff7b72}:root[data-theme=dark] .chroma .kp{color:#79c0ff}:root[data-theme=dark] .chroma .kr{color:#ff7b72}:root[data-theme=dark] .chroma .kt{color:#ff7b72}:root[data-theme=dark] .chroma .nc{color:#f0883e;font-weight:700}:root[data-theme=dark] .chroma .no{color:#79c0ff;font-weight:700}:root[data-theme=dark] .chroma .nd{color:#d2a8ff;font-weight:700}:root[data-theme=dark] .chroma .ni{color:#ffa657}:root[data-theme=dark] .chroma .ne{color:#f0883e;font-weight:700}:root[data-theme=dark] .chroma .nl{color:#79c0ff;font-weight:700}:root[data-theme=dark] .chroma .nn{color:#ff7b72}:root[data-theme=dark] .chroma .nx{color:#e6edf3}:root[data-theme=dark] .chroma .py{color:#79c0ff}:root[data-theme=dark] .chroma .nt{color:#7ee787}:root[data-theme=dark] .chroma .nv{color:#79c0ff}:root[data-theme=dark] .chroma .vc{color:#79c0ff}:root[data-theme=dark] .chroma .vg{color:#79c0ff}:root[data-theme=dark] .chroma .vi{color:#79c0ff}:root[data-theme=dark] .chroma .vm{color:#79c0ff}:root[data-theme=dark] .chroma .nf{color:#d2a8ff;font-weight:700}:root[data-theme=dark] .chroma .fm{color:#d2a8ff;font-weight:700}:root[data-theme=dark] .chroma .l{color:#a5d6ff}:root[data-theme=dark] .chroma .ld{color:#79c0ff}:root[data-theme=dark] .chroma .s{color:#a5d6ff}:root[data-theme=dark] .chroma .sa{color:#79c0ff}:root[data-theme=dark] .chroma .sb{color:#a5d6ff}:root[data-theme=dark] .chroma .sc{color:#a5d6ff}:root[data-theme=dark] .chroma .dl{color:#79c0ff}:root[data-theme=dark] .chroma .sd{color:#a5d6ff}:root[data-theme=dark] .chroma .s2{color:#a5d6ff}:root[data-theme=dark] .chroma .se{color:#79c0ff}:root[data-theme=dark] .chroma .sh{color:#79c0ff}:root[data-theme=dark] .chroma .si{color:#a5d6ff}:root[data-theme=dark] .chroma .sx{color:#a5d6ff}:root[data-theme=dark] .chroma .sr{color:#79c0ff}:root[data-theme=dark] .chroma .s1{color:#a5d6ff}:root[data-theme=dark] .chroma .ss{color:#a5d6ff}:root[data-theme=dark] .chroma .m{color:#a5d6ff}:root[data-theme=dark] .chroma .mb{color:#a5d6ff}:root[data-theme=dark] .chroma .mf{color:#a5d6ff}:root[data-theme=dark] .chroma .mh{color:#a5d6ff}:root[data-theme=dark] .chroma .mi{color:#a5d6ff}:root[data-theme=dark] .chroma .il{color:#a5d6ff}:root[data-theme=dark] .chroma .mo{color:#a5d6ff}:root[data-theme=dark] .chroma .o{color:#ff7b72;font-weight:700}:root[data-theme=dark] .chroma .ow{color:#ff7b72;font-weight:700}:root[data-theme=dark] .chroma .or{color:#ff7b72;font-weight:700}:root[data-theme=dark] .chroma .c{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .ch{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .cm{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .c1{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}:root[data-theme=dark] .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}:root[data-theme=dark] .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}:root[data-theme=dark] .chroma .gd{color:#ffa198;background-color:#490202}:root[data-theme=dark] .chroma .ge{font-style:italic}:root[data-theme=dark] .chroma .gr{color:#ffa198}:root[data-theme=dark] .chroma .gh{color:#79c0ff;font-weight:700}:root[data-theme=dark] .chroma .gi{color:#56d364;background-color:#0f5323}:root[data-theme=dark] .chroma .go{color:#8b949e}:root[data-theme=dark] .chroma .gp{color:#8b949e}:root[data-theme=dark] .chroma .gs{font-weight:700}:root[data-theme=dark] .chroma .gu{color:#79c0ff}:root[data-theme=dark] .chroma .gt{color:#ff7b72}:root[data-theme=dark] .chroma .gl{text-decoration:underline}:root[data-theme=dark] .chroma .w{color:#6e7681}:root[data-theme=dark] .chroma .p{color:#c9d1d9}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .chroma{color:#e6edf3;background-color:#0d1117;-webkit-text-size-adjust:none}:root:not([data-theme=light]) .chroma .err{color:#f85149}:root:not([data-theme=light]) .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root:not([data-theme=light]) .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root:not([data-theme=light]) .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root:not([data-theme=light]) .chroma .hl{background-color:#6e7681}:root:not([data-theme=light]) .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#737679}:root:not([data-theme=light]) .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}:root:not([data-theme=light]) .chroma .line{display:flex}:root:not([data-theme=light]) .chroma .k{color:#ff7b72}:root:not([data-theme=light]) .chroma .kc{color:#79c0ff}:root:not([data-theme=light]) .chroma .kd{color:#ff7b72}:root:not([data-theme=light]) .chroma .kn{color:#ff7b72}:root:not([data-theme=light]) .chroma .kp{color:#79c0ff}:root:not([data-theme=light]) .chroma .kr{color:#ff7b72}:root:not([data-theme=light]) .chroma .kt{color:#ff7b72}:root:not([data-theme=light]) .chroma .nc{color:#f0883e;font-weight:700}:root:not([data-theme=light]) .chroma .no{color:#79c0ff;font-weight:700}:root:not([data-theme=light]) .chroma .nd{color:#d2a8ff;font-weight:700}:root:not([data-theme=light]) .chroma .ni{color:#ffa657}:root:not([data-theme=light]) .chroma .ne{color:#f0883e;font-weight:700}:root:not([data-theme=light]) .chroma .nl{color:#79c0ff;font-weight:700}:root:not([data-theme=light]) .chroma .nn{color:#ff7b72}:root:not([data-theme=light]) .chroma .nx{color:#e6edf3}:root:not([data-theme=light]) .chroma .py{color:#79c0ff}:root:not([data-theme=light]) .chroma .nt{color:#7ee787}:root:not([data-theme=light]) .chroma .nv{color:#79c0ff}:root:not([data-theme=light]) .chroma .vc{color:#79c0ff}:root:not([data-theme=light]) .chroma .vg{color:#79c0ff}:root:not([data-theme=light]) .chroma .vi{color:#79c0ff}:root:not([data-theme=light]) .chroma .vm{color:#79c0ff}:root:not([data-theme=light]) .chroma .nf{color:#d2a8ff;font-weight:700}:root:not([data-theme=light]) .chroma .fm{color:#d2a8ff;font-weight:700}:root:not([data-theme=light]) .chroma .l{color:#a5d6ff}:root:not([data-theme=light]) .chroma .ld{color:#79c0ff}:root:not([data-theme=light]) .chroma .s{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sa{color:#79c0ff}:root:not([data-theme=light]) .chroma .sb{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sc{color:#a5d6ff}:root:not([data-theme=light]) .chroma .dl{color:#79c0ff}:root:not([data-theme=light]) .chroma .sd{color:#a5d6ff}:root:not([data-theme=light]) .chroma .s2{color:#a5d6ff}:root:not([data-theme=light]) .chroma .se{color:#79c0ff}:root:not([data-theme=light]) .chroma .sh{color:#79c0ff}:root:not([data-theme=light]) .chroma .si{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sx{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sr{color:#79c0ff}:root:not([data-theme=light]) .chroma .s1{color:#a5d6ff}:root:not([data-theme=light]) .chroma .ss{color:#a5d6ff}:root:not([data-theme=light]) .chroma .m{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mb{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mf{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mh{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mi{color:#a5d6ff}:root:not([data-theme=light]) .chroma .il{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mo{color:#a5d6ff}:root:not([data-theme=light]) .chroma .o{color:#ff7b72;font-weight:700}:root:not([data-theme=light]) .chroma .ow{color:#ff7b72;font-weight:700}:root:not([data-theme=light]) .chroma .or{color:#ff7b72;font-weight:700}:root:not([data-theme=light]) .chroma .c{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .ch{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .cm{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .c1{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}:root:not([data-theme=light]) .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}:root:not([data-theme=light]) .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}:root:not([data-theme=light]) .chroma .gd{color:#ffa198;background-color:#490202}:root:not([data-theme=light]) .chroma .ge{font-style:italic}:root:not([data-theme=light]) .chroma .gr{color:#ffa198}:root:not([data-theme=light]) .chroma .gh{color:#79c0ff;font-weight:700}:root:not([data-theme=light]) .chroma .gi{color:#56d364;background-color:#0f5323}:root:not([data-theme=light]) .chroma .go{color:#8b949e}:root:not([data-theme=light]) .chroma .gp{color:#8b949e}:root:not([data-theme=light]) .chroma .gs{font-weight:700}:root:not([data-theme=light]) .chroma .gu{color:#79c0ff}:root:not([data-theme=light]) .chroma .gt{color:#ff7b72}:root:not([data-theme=light]) .chroma .gl{text-decoration:underline}:root:not([data-theme=light]) .chroma .w{color:#6e7681}:root:not([data-theme=light]) .chroma .p{color:#c9d1d9}}