:root{--bg:#ffffff;--surface:#ffffff;--surface-2:#f4f4f5;--border:#e4e4e7;--text:#111113;--muted:#52525b;--accent:#2f54eb;--accent-soft:rgba(47, 84, 235, 0.08);--accent-text:#ffffff;--ok:#15803d;--code-key:#9a3412;--code-str:#1d4ed8;--danger:#b91c1c;--shadow:0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.05);--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius:12px;--gutter:clamp(24px, 4vw, 56px);--wrap:1360px;color-scheme:light}:root[data-theme=dark]{--bg:#0d1117;--surface:#161b22;--surface-2:#1c2128;--border:#30363d;--text:#e6edf3;--muted:#9198a1;--accent:#4493f8;--accent-soft:rgba(68, 147, 248, 0.12);--accent-text:#0d1117;--ok:#3fb950;--code-key:#7ee787;--code-str:#a5d6ff;--danger:#f85149;--shadow:0 1px 2px rgba(0, 0, 0, 0.3), 0 12px 32px rgba(0, 0, 0, 0.35);color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{line-height:1.2;margin:0;letter-spacing:-.015em;text-wrap:balance}p{margin:0}a{color:inherit}ul{margin:0;padding:0}.wrap{max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}@media(max-width:600px){:root{--gutter:16px}}.muted{color:var(--muted)}.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--accent-text);padding:8px 12px;border-radius:6px;z-index:100}.skip:focus{left:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(140%)blur(10px);-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}.site-header.scrolled{border-bottom-color:var(--border)}.header-inner{display:flex;align-items:center;gap:24px;height:64px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600}.brand-mark{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--border)}.nav{display:flex;gap:4px;margin-left:auto}.nav a{text-decoration:none;color:var(--muted);font-size:15px;padding:6px 12px;border-radius:8px;transition:color .15s,background .15s}.nav a:hover,.nav a.active{color:var(--text);background:var(--surface-2)}.nav a.nav-cta{color:var(--accent)}.theme-toggle{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}@media(max-width:760px){.brand-name{display:none}.nav a:not(.nav-cta){display:none}}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font:500 16px/1 var(--font-sans);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .15s,background .15s,border-color .15s,opacity .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:hover{opacity:.9}.btn-ghost{border-color:var(--border);background:var(--surface);color:var(--text)}.btn-ghost:hover{border-color:var(--muted)}.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero{padding:72px 0 56px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,6vw,96px);align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;color:var(--muted);padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.pulse{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--ok) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 transparent}}@media(prefers-reduced-motion:reduce){.pulse{animation:none}}.hero h1{margin-top:24px;font-size:clamp(34px,4.6vw,62px);font-weight:700;letter-spacing:-.03em}.hero h1 em{font-style:normal;color:var(--accent)}.lede{margin-top:20px;font-size:18px;color:var(--muted);max-width:64ch}.lede p+p{margin-top:12px}.lede-sub{margin-top:12px;color:var(--text);font-weight:500}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.manifest{margin:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.manifest-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.manifest-bar .dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--border)}.manifest-tabs{display:flex;gap:2px;margin-left:8px;min-width:0}.manifest-tabs button{font:12px/1 var(--font-mono);color:var(--muted);white-space:nowrap;padding:6px 10px;border:1px solid transparent;border-radius:6px;background:0 0;cursor:pointer;transition:color .15s,background .15s}.manifest-tabs button:hover{color:var(--text)}.manifest-tabs button[aria-selected=true]{color:var(--text);background:var(--surface);border-color:var(--border)}.manifest-panels{position:relative}.manifest pre{margin:0;padding:18px 20px;overflow-x:auto;cursor:pointer;font-family:var(--font-mono);font-size:13.5px;line-height:1.65;transition:opacity .2s ease,visibility .2s}.manifest .panel-schema{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain}.manifest[data-view=profile] .panel-schema,.manifest[data-view=schema] .panel-profile{opacity:0;visibility:hidden}.manifest .c{color:var(--muted);font-style:italic}@media(max-width:600px){.manifest-tabs button{padding:6px 7px}}.manifest .k{color:var(--code-key)}.manifest .s{color:var(--code-str)}.manifest .ok{color:var(--ok);font-weight:500}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:64px 0 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.stats>div{padding:22px 24px;border-left:1px solid var(--border)}.stats>div:first-child{border-left:0}.stats dt{font-size:14px;color:var(--muted)}.stats dd{margin:6px 0 0;font-size:36px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}@media(max-width:900px){.hero{padding-top:48px}.hero-grid{grid-template-columns:1fr;gap:40px}.stats{grid-template-columns:repeat(2,1fr)}.stats>div:nth-child(3){border-left:0}.stats>div:nth-child(n+3){border-top:1px solid var(--border)}}.section{padding:88px 0;border-top:1px solid var(--border)}@media(max-width:600px){.section{padding:64px 0}}.section-head{margin-bottom:40px}.section-kicker{font-family:var(--font-mono);font-size:13px;color:var(--accent);margin-bottom:10px}.section h2{font-size:clamp(28px,3.6vw,40px);font-weight:700;letter-spacing:-.025em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .2s,transform .2s}.card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));transform:translateY(-2px)}.card-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:20px}.card-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.card h3{font-size:20px;font-weight:600;margin-bottom:10px}.card p{color:var(--muted);font-size:16px}.card .tags{margin-top:auto;padding-top:20px}@media(max-width:900px){.cards{grid-template-columns:1fr}}.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none}.tags li{font-family:var(--font-mono);font-size:12.5px;padding:4px 10px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.timeline{list-style:none;margin:0;padding:0}.references{display:grid;grid-template-columns:200px 1fr;gap:40px;padding-top:32px;border-top:1px solid var(--border)}.references h3{font-size:15px;font-weight:600}.references p{max-width:860px;color:var(--muted);font-size:16px}.references a{color:var(--accent)}@media(max-width:760px){.references{grid-template-columns:1fr;gap:8px}}.role{display:grid;grid-template-columns:200px 1fr;gap:40px;padding:36px 0;border-top:1px solid var(--border)}.role:first-child{border-top:0;padding-top:0}.role-dates{font-family:var(--font-mono);font-size:14px;color:var(--text)}.role-where{font-size:14px;color:var(--muted);margin-top:4px}.role-body{max-width:860px}.role h3{font-size:21px;font-weight:600}.role h3 .at{color:var(--muted);font-weight:500}.role-content{margin-top:14px}.role-content h3,.role-content h4{margin:22px 0 8px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.role-content>:first-child{margin-top:0}.role ul{list-style:none;display:grid;gap:8px}.role li{position:relative;padding-left:20px;color:var(--muted);font-size:16px}.role li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:2px;background:var(--border)}@media(max-width:760px){.role{grid-template-columns:1fr;gap:12px}}.oss{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.oss-item{position:relative;display:block;text-decoration:none;padding:24px 48px 24px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .2s}.oss-item:hover{border-color:var(--accent)}.oss-item p{color:var(--muted);font-size:16px}.oss-item .oss-repo{font-family:var(--font-mono);font-size:15px;color:var(--text);font-weight:500;margin-bottom:8px}.oss-arrow{position:absolute;top:22px;right:22px;color:var(--muted);transition:color .2s,transform .2s}.oss-item:hover .oss-arrow{color:var(--accent);transform:translate(2px,-2px)}.oss-arrow svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:760px){.oss{grid-template-columns:1fr}}.skills{display:grid;grid-template-columns:240px 1fr;gap:24px 40px;align-items:start}.skills h3{font-size:16px;font-weight:600;letter-spacing:0;padding-top:4px}.skills ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none}.skills li{font-family:var(--font-mono);font-size:12.5px;padding:4px 10px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border)}@media(max-width:760px){.skills{grid-template-columns:1fr;gap:10px}.skills ul{margin-bottom:18px}}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}.contact-book{margin-top:28px;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.contact-book p{color:var(--text);font-weight:500}.contact-links{list-style:none;margin-top:24px}.contact-links a{color:var(--accent);text-decoration:none;font-weight:500}.contact-links a:hover{text-decoration:underline}@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:32px}}.contact-form{display:grid;gap:18px;padding:28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}@media(max-width:600px){.contact-form{padding:20px}}.field{display:grid;gap:6px}.field label{font-size:14px;font-weight:500}.optional{color:var(--muted);font-weight:400}.field input,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:11px 14px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field.invalid input,.field.invalid textarea{border-color:var(--danger)}.h-captcha{min-height:78px}.btn-submit{justify-content:center;width:100%;padding:14px 20px}.btn-submit[disabled]{opacity:.6;cursor:progress}.form-status{min-height:1.5em;font-size:15px}.form-status.ok{color:var(--accent)}.form-status.err{color:var(--danger)}.site-footer{border-top:1px solid var(--border);padding:28px 0;font-size:14px}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.section-head-row{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}.more{color:var(--accent);text-decoration:none;font-weight:500}.more:hover{text-decoration:underline}.post-list{list-style:none;border-top:1px solid var(--border)}.post-list a{display:grid;grid-template-columns:140px 1fr;gap:4px 24px;padding:20px 0;border-bottom:1px solid var(--border);text-decoration:none}.post-list time{grid-row:span 2;font-family:var(--font-mono);font-size:14px;color:var(--muted);padding-top:3px}.post-title{font-size:19px;font-weight:600}.post-list a:hover .post-title{color:var(--accent)}.post-desc{color:var(--muted);font-size:16px}@media(max-width:600px){.post-list a{grid-template-columns:1fr}.post-list time{grid-row:auto}}.page-top{border-top:0;padding-top:56px}.narrow{max-width:calc(820px + 2 * var(--gutter))}.page-title{font-size:clamp(30px,4.4vw,46px);font-weight:700;letter-spacing:-.025em}.section-kicker a{color:inherit;text-decoration:none}.section-kicker a:hover{text-decoration:underline}.post-head{margin-bottom:40px;padding-bottom:28px;border-bottom:1px solid var(--border)}.post-meta{margin-top:14px;color:var(--muted);font-size:15px}.post-meta a{color:var(--accent)}.post-head .tags{margin-top:16px}.prose{font-size:18px;line-height:1.75}.prose>*+*{margin-top:1.2em}.prose h2{font-size:28px;margin-top:2em}.prose h3{font-size:22px;margin-top:1.8em}.prose h4{font-size:18px;margin-top:1.6em}.prose a{color:var(--accent);text-underline-offset:3px}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose blockquote{margin-left:0;padding:4px 0 4px 20px;border-left:3px solid var(--accent);color:var(--muted)}.prose code{font-family:var(--font-mono);font-size:.86em;padding:2px 6px;border-radius:5px;background:var(--surface-2);border:1px solid var(--border)}.prose pre{margin:1.6em 0;padding:18px 20px;overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:14.5px;line-height:1.6}.prose pre code{padding:0;border:0;background:0 0;font-size:inherit}.prose img{max-width:100%;height:auto;border-radius:var(--radius)}.prose hr{border:0;border-top:1px solid var(--border);margin:2.4em 0}.prose table{width:100%;border-collapse:collapse;font-size:16px;display:block;overflow-x:auto}.prose th,.prose td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left}.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}.js .reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}.cursor{display:inline-block;width:.55em;height:1.1em;margin-left:1px;vertical-align:text-bottom;background:var(--accent);animation:blink 1.1s steps(1)infinite}@keyframes blink{50%{opacity:0}}.footer-fun{font-family:var(--font-mono);font-size:13px}.uptime{font-variant-numeric:tabular-nums}.term-hint{font:inherit;color:inherit;background:0 0;border:0;padding:0;cursor:pointer}.term-hint:hover{color:var(--accent)}kbd{font-family:var(--font-mono);font-size:12px;padding:1px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--surface-2);color:var(--text)}.term{position:fixed;left:50%;bottom:16px;z-index:200;transform:translateX(-50%);width:min(760px,calc(100vw - 32px));height:min(470px,75vh);display:flex;flex-direction:column;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:var(--radius);box-shadow:0 24px 60px rgba(0,0,0,.45);font:13.5px/1.6 var(--font-mono);animation:term-in .18s ease-out}.term[hidden]{display:none}@keyframes term-in{from{opacity:0;transform:translate(-50%,12px)}}.term-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #30363d;color:#9198a1;font-size:12px}.term-close{font:inherit;color:#9198a1;background:#1c2128;border:1px solid #30363d;border-radius:5px;padding:1px 7px;cursor:pointer}.term-close:hover{color:#e6edf3}.term-out{flex:1;overflow-y:auto;padding:12px 14px 4px;white-space:pre-wrap;overscroll-behavior:contain}.term-out a{color:#4493f8}.term-out .cmd{color:#e6edf3}.term-out .dim{color:#9198a1}.term-out .ok{color:#3fb950}.term-out .warn{color:#d29922}.term-out .err{color:#f85149}.term-line{display:flex;gap:8px;align-items:center;padding:6px 14px 12px}.term-prompt{color:#3fb950;white-space:nowrap}.term-input{flex:1;min-width:0;font:inherit;color:#e6edf3;background:0 0;border:0;outline:none;caret-color:#3fb950}@media(max-width:600px){.term{font-size:12.5px;height:70vh}}.crash{margin:8px 0 28px}.crash pre{cursor:default}.crash-title{margin-left:8px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.manifest .bad{color:var(--danger);font-weight:500}@media(prefers-reduced-motion:reduce){.cursor{animation:none}.term{animation:none}}.chroma{-webkit-text-size-adjust:none}.chroma .err{color:#cf222e}.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 .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}.chroma .ge{color:#1f2328}.chroma .gi{color:#116329}.chroma .go{color:#1f2328}.chroma .gl{text-decoration:underline}.chroma .w{color:#fff}:root[data-theme=dark] .chroma span{color:inherit;font-weight:inherit;font-style:inherit}:root[data-theme=dark] .chroma{color:#e6edf3;-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 .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}: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}: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}