@layer reset,fonts,tokens,base,layout,components,utilities;@layer reset{*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}img,picture,svg,video{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,p,li{overflow-wrap:break-word}}@layer fonts{@font-face{font-family:MPLUSRounded1c;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/MPLUSRounded1c-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:MPLUSRounded1c;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/MPLUSRounded1c-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:MPLUSRounded1c;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/MPLUSRounded1c-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:MPLUSRounded1c;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/MPLUSRounded1c-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:MPLUSRounded1c;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/MPLUSRounded1c-800-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:MPLUSRounded1c;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/MPLUSRounded1c-800-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:AtkinsonHyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/AtkinsonHyperlegible-Regular.woff2)format("woff2")}@font-face{font-family:AtkinsonHyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/AtkinsonHyperlegible-Italic.woff2)format("woff2")}@font-face{font-family:AtkinsonHyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/AtkinsonHyperlegible-Bold.woff2)format("woff2")}@font-face{font-family:AtkinsonHyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/AtkinsonHyperlegible-BoldItalic.woff2)format("woff2")}@font-face{font-family:JetBrainsMono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/JetBrainsMono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrainsMono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/JetBrainsMono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrainsMono;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/JetBrainsMono-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrainsMono;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/JetBrainsMono-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}}@layer tokens{:root{--bg:#0e1626;--surface:#131f33;--border:#1e2c44;--fg:#e8eefc;--fg-muted:#9fb0cd;--fg-dim:#6f82a1;--accent:#38bdf8;--accent-2:#60a5fa;--accent-3:#818cf8;--nav-active-bg:#7dd3fc;--nav-active-fg:#0e1626;--cta-fg:#0e1626;--badge-bg:#1e3a5f;--badge-fg:#93c5fd;--code-fg:#c3d1ea;--focus:#7dd3fc;--field-border:#64769a;--monogram-gradient:conic-gradient(
      from 210deg, #38bdf8, #60a5fa, #818cf8, #38bdf8
    );color-scheme:dark}:root:has(#theme-light:checked),:root[data-theme=light]{--bg:#f5f8fd;--surface:#eaf1fb;--border:#d8e3f2;--fg:#0f1e33;--fg-muted:#55698c;--fg-dim:#60718f;--accent:#2563eb;--accent-2:#0284c7;--accent-3:#4f46e5;--nav-active-bg:#bae6fd;--nav-active-fg:#0e1626;--cta-fg:#ffffff;--badge-bg:#dbeafe;--badge-fg:#1d4ed8;--code-fg:#2c3f5c;--focus:#1d4ed8;--field-border:#6b7c99;--monogram-gradient:conic-gradient(
      from 210deg, #0284c7, #2563eb, #4f46e5, #0284c7
    );color-scheme:light}@media(prefers-color-scheme:light){:root:not(:has(#theme-dark:checked)):not([data-theme=dark]){--bg:#f5f8fd;--surface:#eaf1fb;--border:#d8e3f2;--fg:#0f1e33;--fg-muted:#55698c;--fg-dim:#60718f;--accent:#2563eb;--accent-2:#0284c7;--accent-3:#4f46e5;--nav-active-bg:#bae6fd;--nav-active-fg:#0e1626;--cta-fg:#ffffff;--badge-bg:#dbeafe;--badge-fg:#1d4ed8;--code-fg:#2c3f5c;--focus:#1d4ed8;--field-border:#6b7c99;--monogram-gradient:conic-gradient(
        from 210deg, #0284c7, #2563eb, #4f46e5, #0284c7
      );color-scheme:light}}:root:has(#theme-dark:checked),:root[data-theme=dark]{--bg:#0e1626;--surface:#131f33;--border:#1e2c44;--fg:#e8eefc;--fg-muted:#9fb0cd;--fg-dim:#6f82a1;--accent:#38bdf8;--accent-2:#60a5fa;--accent-3:#818cf8;--nav-active-bg:#7dd3fc;--nav-active-fg:#0e1626;--cta-fg:#0e1626;--badge-bg:#1e3a5f;--badge-fg:#93c5fd;--code-fg:#c3d1ea;--focus:#7dd3fc;--field-border:#64769a;--monogram-gradient:conic-gradient(
      from 210deg, #38bdf8, #60a5fa, #818cf8, #38bdf8
    );color-scheme:dark}:root{--font-heading:MPLUSRounded1c, system-ui, sans-serif;--font-body:AtkinsonHyperlegible, system-ui, sans-serif;--font-mono:JetBrainsMono, ui-monospace, SFMono-Regular, Menlo, monospace;--step--1:clamp(0.83rem, 0.80rem + 0.15vw, 0.92rem);--step-0:clamp(1.00rem, 0.95rem + 0.25vw, 1.13rem);--step-1:clamp(1.20rem, 1.11rem + 0.44vw, 1.41rem);--step-2:clamp(1.44rem, 1.29rem + 0.74vw, 1.76rem);--step-3:clamp(1.73rem, 1.49rem + 1.19vw, 2.20rem);--step-4:clamp(2.07rem, 1.71rem + 1.83vw, 2.75rem);--measure:66ch;--gutter:clamp(1rem, 0.5rem + 2.5vw, 2.5rem)}}@layer base{body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--step-0);line-height:1.7;transition:background-color 300ms,color 300ms}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}a{color:var(--accent);text-decoration-thickness:from-font}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.9em}pre{background:var(--surface);color:var(--code-fg);padding:1rem 1.1rem;border-radius:8px;overflow-x:auto;transition:background-color 300ms,color 300ms}:not(pre)>code{background:var(--surface);padding:.1em .35em;border-radius:4px}blockquote{border-inline-start:3px solid var(--border);padding-inline-start:1rem;color:var(--fg-muted)}hr{border:0;border-top:1px solid var(--border)}.skip-link{position:absolute;inset-inline-start:-9999px;&:focus{inset-inline-start:var(--gutter);top:.5rem;z-index:10;background:var(--surface);padding:.6rem 1rem;border-radius:6px}}}@layer layout{.shell{max-width:72rem;margin-inline:auto;padding-inline:var(--gutter)}.masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:1.5rem}.masthead__end{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.page{container-type:inline-size}.prose{container-type:inline-size;max-width:var(--measure);& > * + *{margin-block-start:1.1em}& > h2{margin-block-start:2em}& > h3{margin-block-start:1.6em}}.site-footer{margin-block-start:4rem;padding-block:2rem;border-top:1px solid var(--border);color:var(--fg-dim);font-size:var(--step--1)}}@layer components{.archive__header{margin-block:2rem 2.5rem}.archive__count{color:var(--fg-dim);font-size:var(--step--1);margin-block-start:.4rem}.archive__month{margin-block-start:2.5rem;container-type:inline-size;& > h2{font-size:var(--step-1);color:var(--fg-muted);font-weight:700;padding-block-end:.4rem;border-bottom:1px solid var(--border)}}.rows{list-style:none;padding:0;margin-block-start:.5rem}.row{display:grid;grid-template-columns:2.5rem 1fr;gap:.15rem .75rem;align-items:baseline;padding-block:.5rem;border-bottom:1px solid var(--border)}@container(min-width:34rem){.row { grid-template-columns: 2.5rem 1fr auto; }
  }.row__date{font-family:var(--font-mono);font-size:var(--step--1);color:var(--fg-dim);font-variant-numeric:tabular-nums}.row__title{text-decoration-thickness:from-font;text-underline-offset:.15em}.row__end{grid-column:2;display:flex;gap:.6rem;align-items:center;color:var(--fg-dim);font-size:var(--step--1)}@container(min-width:34rem){.row__end { grid-column: 3; justify-content: end; }
  }}@layer components{.badge{font:800 .65rem/1 var(--font-heading);letter-spacing:.06em;background:var(--badge-bg);color:var(--badge-fg);padding:.25rem .45rem;border-radius:999px;transition:background-color 300ms,color 300ms}}@layer components{.cards{display:grid;gap:1.5rem;margin-block-start:2rem}.card{padding:1.2rem 1.3rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:background-color 300ms,border-color 200ms;&:hover{border-color:var(--accent)}}.card__title{font-size:var(--step-1);& a{text-decoration:none;color:var(--fg)}& a:hover{text-decoration:underline;text-decoration-thickness:from-font}}.card__meta{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center;margin-block-start:.4rem;color:var(--fg-muted);font-size:var(--step--1)}.card__summary{margin-block-start:.7rem;color:var(--fg-muted)}}@layer components{:root .chroma,:root:has(#theme-dark:checked) .chroma,:root[data-theme=dark] .chroma{-webkit-text-size-adjust:none}:root .chroma .err,:root:has(#theme-dark:checked) .chroma .err,:root[data-theme=dark] .chroma .err{color:#f85149}:root .chroma .lnlinks,:root:has(#theme-dark:checked) .chroma .lnlinks,:root[data-theme=dark] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root .chroma .lntd,:root:has(#theme-dark:checked) .chroma .lntd,:root[data-theme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .lntable,:root:has(#theme-dark:checked) .chroma .lntable,:root[data-theme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root .chroma .hl,:root:has(#theme-dark:checked) .chroma .hl,:root[data-theme=dark] .chroma .hl{background-color:#1a2639;box-shadow:inset 2px 0 0 var(--accent)}:root .chroma .lnt,:root:has(#theme-dark:checked) .chroma .lnt,: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 .chroma .ln,:root:has(#theme-dark:checked) .chroma .ln,: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 .chroma .line,:root:has(#theme-dark:checked) .chroma .line,:root[data-theme=dark] .chroma .line{display:flex}:root .chroma .k,:root:has(#theme-dark:checked) .chroma .k,:root[data-theme=dark] .chroma .k{color:#ff7b72}:root .chroma .kc,:root:has(#theme-dark:checked) .chroma .kc,:root[data-theme=dark] .chroma .kc{color:#79c0ff}:root .chroma .kd,:root:has(#theme-dark:checked) .chroma .kd,:root[data-theme=dark] .chroma .kd{color:#ff7b72}:root .chroma .kn,:root:has(#theme-dark:checked) .chroma .kn,:root[data-theme=dark] .chroma .kn{color:#ff7b72}:root .chroma .kp,:root:has(#theme-dark:checked) .chroma .kp,:root[data-theme=dark] .chroma .kp{color:#79c0ff}:root .chroma .kr,:root:has(#theme-dark:checked) .chroma .kr,:root[data-theme=dark] .chroma .kr{color:#ff7b72}:root .chroma .kt,:root:has(#theme-dark:checked) .chroma .kt,:root[data-theme=dark] .chroma .kt{color:#ff7b72}:root .chroma .nc,:root:has(#theme-dark:checked) .chroma .nc,:root[data-theme=dark] .chroma .nc{color:#f0883e;font-weight:700}:root .chroma .no,:root:has(#theme-dark:checked) .chroma .no,:root[data-theme=dark] .chroma .no{color:#79c0ff;font-weight:700}:root .chroma .nd,:root:has(#theme-dark:checked) .chroma .nd,:root[data-theme=dark] .chroma .nd{color:#d2a8ff;font-weight:700}:root .chroma .ni,:root:has(#theme-dark:checked) .chroma .ni,:root[data-theme=dark] .chroma .ni{color:#ffa657}:root .chroma .ne,:root:has(#theme-dark:checked) .chroma .ne,:root[data-theme=dark] .chroma .ne{color:#f0883e;font-weight:700}:root .chroma .nl,:root:has(#theme-dark:checked) .chroma .nl,:root[data-theme=dark] .chroma .nl{color:#79c0ff;font-weight:700}:root .chroma .nn,:root:has(#theme-dark:checked) .chroma .nn,:root[data-theme=dark] .chroma .nn{color:#ff7b72}:root .chroma .nx,:root:has(#theme-dark:checked) .chroma .nx,:root[data-theme=dark] .chroma .nx{color:#e6edf3}:root .chroma .py,:root:has(#theme-dark:checked) .chroma .py,:root[data-theme=dark] .chroma .py{color:#79c0ff}:root .chroma .nt,:root:has(#theme-dark:checked) .chroma .nt,:root[data-theme=dark] .chroma .nt{color:#7ee787}:root .chroma .nv,:root:has(#theme-dark:checked) .chroma .nv,:root[data-theme=dark] .chroma .nv{color:#79c0ff}:root .chroma .vc,:root:has(#theme-dark:checked) .chroma .vc,:root[data-theme=dark] .chroma .vc{color:#79c0ff}:root .chroma .vg,:root:has(#theme-dark:checked) .chroma .vg,:root[data-theme=dark] .chroma .vg{color:#79c0ff}:root .chroma .vi,:root:has(#theme-dark:checked) .chroma .vi,:root[data-theme=dark] .chroma .vi{color:#79c0ff}:root .chroma .vm,:root:has(#theme-dark:checked) .chroma .vm,:root[data-theme=dark] .chroma .vm{color:#79c0ff}:root .chroma .nf,:root:has(#theme-dark:checked) .chroma .nf,:root[data-theme=dark] .chroma .nf{color:#d2a8ff;font-weight:700}:root .chroma .fm,:root:has(#theme-dark:checked) .chroma .fm,:root[data-theme=dark] .chroma .fm{color:#d2a8ff;font-weight:700}:root .chroma .l,:root:has(#theme-dark:checked) .chroma .l,:root[data-theme=dark] .chroma .l{color:#a5d6ff}:root .chroma .ld,:root:has(#theme-dark:checked) .chroma .ld,:root[data-theme=dark] .chroma .ld{color:#79c0ff}:root .chroma .s,:root:has(#theme-dark:checked) .chroma .s,:root[data-theme=dark] .chroma .s{color:#a5d6ff}:root .chroma .sa,:root:has(#theme-dark:checked) .chroma .sa,:root[data-theme=dark] .chroma .sa{color:#79c0ff}:root .chroma .sb,:root:has(#theme-dark:checked) .chroma .sb,:root[data-theme=dark] .chroma .sb{color:#a5d6ff}:root .chroma .sc,:root:has(#theme-dark:checked) .chroma .sc,:root[data-theme=dark] .chroma .sc{color:#a5d6ff}:root .chroma .dl,:root:has(#theme-dark:checked) .chroma .dl,:root[data-theme=dark] .chroma .dl{color:#79c0ff}:root .chroma .sd,:root:has(#theme-dark:checked) .chroma .sd,:root[data-theme=dark] .chroma .sd{color:#a5d6ff}:root .chroma .s2,:root:has(#theme-dark:checked) .chroma .s2,:root[data-theme=dark] .chroma .s2{color:#a5d6ff}:root .chroma .se,:root:has(#theme-dark:checked) .chroma .se,:root[data-theme=dark] .chroma .se{color:#79c0ff}:root .chroma .sh,:root:has(#theme-dark:checked) .chroma .sh,:root[data-theme=dark] .chroma .sh{color:#79c0ff}:root .chroma .si,:root:has(#theme-dark:checked) .chroma .si,:root[data-theme=dark] .chroma .si{color:#a5d6ff}:root .chroma .sx,:root:has(#theme-dark:checked) .chroma .sx,:root[data-theme=dark] .chroma .sx{color:#a5d6ff}:root .chroma .sr,:root:has(#theme-dark:checked) .chroma .sr,:root[data-theme=dark] .chroma .sr{color:#79c0ff}:root .chroma .s1,:root:has(#theme-dark:checked) .chroma .s1,:root[data-theme=dark] .chroma .s1{color:#a5d6ff}:root .chroma .ss,:root:has(#theme-dark:checked) .chroma .ss,:root[data-theme=dark] .chroma .ss{color:#a5d6ff}:root .chroma .m,:root:has(#theme-dark:checked) .chroma .m,:root[data-theme=dark] .chroma .m{color:#a5d6ff}:root .chroma .mb,:root:has(#theme-dark:checked) .chroma .mb,:root[data-theme=dark] .chroma .mb{color:#a5d6ff}:root .chroma .mf,:root:has(#theme-dark:checked) .chroma .mf,:root[data-theme=dark] .chroma .mf{color:#a5d6ff}:root .chroma .mh,:root:has(#theme-dark:checked) .chroma .mh,:root[data-theme=dark] .chroma .mh{color:#a5d6ff}:root .chroma .mi,:root:has(#theme-dark:checked) .chroma .mi,:root[data-theme=dark] .chroma .mi{color:#a5d6ff}:root .chroma .il,:root:has(#theme-dark:checked) .chroma .il,:root[data-theme=dark] .chroma .il{color:#a5d6ff}:root .chroma .mo,:root:has(#theme-dark:checked) .chroma .mo,:root[data-theme=dark] .chroma .mo{color:#a5d6ff}:root .chroma .o,:root:has(#theme-dark:checked) .chroma .o,:root[data-theme=dark] .chroma .o{color:#ff7b72;font-weight:700}:root .chroma .ow,:root:has(#theme-dark:checked) .chroma .ow,:root[data-theme=dark] .chroma .ow{color:#ff7b72;font-weight:700}:root .chroma .or,:root:has(#theme-dark:checked) .chroma .or,:root[data-theme=dark] .chroma .or{color:#ff7b72;font-weight:700}:root .chroma .c,:root:has(#theme-dark:checked) .chroma .c,:root[data-theme=dark] .chroma .c{color:#8b949e;font-style:italic}:root .chroma .ch,:root:has(#theme-dark:checked) .chroma .ch,:root[data-theme=dark] .chroma .ch{color:#8b949e;font-style:italic}:root .chroma .cm,:root:has(#theme-dark:checked) .chroma .cm,:root[data-theme=dark] .chroma .cm{color:#8b949e;font-style:italic}:root .chroma .c1,:root:has(#theme-dark:checked) .chroma .c1,:root[data-theme=dark] .chroma .c1{color:#8b949e;font-style:italic}:root .chroma .cs,:root:has(#theme-dark:checked) .chroma .cs,:root[data-theme=dark] .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}:root .chroma .cp,:root:has(#theme-dark:checked) .chroma .cp,:root[data-theme=dark] .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}:root .chroma .cpf,:root:has(#theme-dark:checked) .chroma .cpf,:root[data-theme=dark] .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}:root .chroma .gd,:root:has(#theme-dark:checked) .chroma .gd,:root[data-theme=dark] .chroma .gd{color:#ffa198;background-color:#490202}:root .chroma .ge,:root:has(#theme-dark:checked) .chroma .ge,:root[data-theme=dark] .chroma .ge{font-style:italic}:root .chroma .gr,:root:has(#theme-dark:checked) .chroma .gr,:root[data-theme=dark] .chroma .gr{color:#ffa198}:root .chroma .gh,:root:has(#theme-dark:checked) .chroma .gh,:root[data-theme=dark] .chroma .gh{color:#79c0ff;font-weight:700}:root .chroma .gi,:root:has(#theme-dark:checked) .chroma .gi,:root[data-theme=dark] .chroma .gi{color:#56d364;background-color:#0f5323}:root .chroma .go,:root:has(#theme-dark:checked) .chroma .go,:root[data-theme=dark] .chroma .go{color:#8b949e}:root .chroma .gp,:root:has(#theme-dark:checked) .chroma .gp,:root[data-theme=dark] .chroma .gp{color:#8b949e}:root .chroma .gs,:root:has(#theme-dark:checked) .chroma .gs,:root[data-theme=dark] .chroma .gs{font-weight:700}:root .chroma .gu,:root:has(#theme-dark:checked) .chroma .gu,:root[data-theme=dark] .chroma .gu{color:#79c0ff}:root .chroma .gt,:root:has(#theme-dark:checked) .chroma .gt,:root[data-theme=dark] .chroma .gt{color:#ff7b72}:root .chroma .gl,:root:has(#theme-dark:checked) .chroma .gl,:root[data-theme=dark] .chroma .gl{text-decoration:underline}:root .chroma .w,:root:has(#theme-dark:checked) .chroma .w,:root[data-theme=dark] .chroma .w{color:#6e7681}}@layer components{:root:has(#theme-light:checked) .chroma,:root[data-theme=light] .chroma{-webkit-text-size-adjust:none}:root:has(#theme-light:checked) .chroma .err,:root[data-theme=light] .chroma .err{color:#f6f8fa;background-color:#82071e}:root:has(#theme-light:checked) .chroma .lnlinks,:root[data-theme=light] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root:has(#theme-light:checked) .chroma .lntd,:root[data-theme=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root:has(#theme-light:checked) .chroma .lntable,:root[data-theme=light] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root:has(#theme-light:checked) .chroma .hl,:root[data-theme=light] .chroma .hl{background-color:#e5ecf6;box-shadow:inset 2px 0 0 var(--accent)}:root:has(#theme-light:checked) .chroma .lnt,:root[data-theme=light] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}:root:has(#theme-light:checked) .chroma .ln,:root[data-theme=light] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}:root:has(#theme-light:checked) .chroma .line,:root[data-theme=light] .chroma .line{display:flex}:root:has(#theme-light:checked) .chroma .k,:root[data-theme=light] .chroma .k{color:#cf222e}:root:has(#theme-light:checked) .chroma .kc,:root[data-theme=light] .chroma .kc{color:#cf222e}:root:has(#theme-light:checked) .chroma .kd,:root[data-theme=light] .chroma .kd{color:#cf222e}:root:has(#theme-light:checked) .chroma .kn,:root[data-theme=light] .chroma .kn{color:#cf222e}:root:has(#theme-light:checked) .chroma .kp,:root[data-theme=light] .chroma .kp{color:#cf222e}:root:has(#theme-light:checked) .chroma .kr,:root[data-theme=light] .chroma .kr{color:#cf222e}:root:has(#theme-light:checked) .chroma .kt,:root[data-theme=light] .chroma .kt{color:#cf222e}:root:has(#theme-light:checked) .chroma .nc,:root[data-theme=light] .chroma .nc{color:#1f2328}:root:has(#theme-light:checked) .chroma .no,:root[data-theme=light] .chroma .no{color:#0550ae}:root:has(#theme-light:checked) .chroma .nd,:root[data-theme=light] .chroma .nd{color:#0550ae}:root:has(#theme-light:checked) .chroma .ni,:root[data-theme=light] .chroma .ni{color:#6639ba}:root:has(#theme-light:checked) .chroma .ne,:root[data-theme=light] .chroma .ne{color:#1f2328;font-weight:700}:root:has(#theme-light:checked) .chroma .nl,:root[data-theme=light] .chroma .nl{color:#900;font-weight:700}:root:has(#theme-light:checked) .chroma .nn,:root[data-theme=light] .chroma .nn{color:#24292e}:root:has(#theme-light:checked) .chroma .nx,:root[data-theme=light] .chroma .nx{color:#1f2328}:root:has(#theme-light:checked) .chroma .py,:root[data-theme=light] .chroma .py{color:#1f2328}:root:has(#theme-light:checked) .chroma .nt,:root[data-theme=light] .chroma .nt{color:#0550ae}:root:has(#theme-light:checked) .chroma .nv,:root[data-theme=light] .chroma .nv{color:#953800}:root:has(#theme-light:checked) .chroma .vc,:root[data-theme=light] .chroma .vc{color:#953800}:root:has(#theme-light:checked) .chroma .vg,:root[data-theme=light] .chroma .vg{color:#953800}:root:has(#theme-light:checked) .chroma .vi,:root[data-theme=light] .chroma .vi{color:#953800}:root:has(#theme-light:checked) .chroma .vm,:root[data-theme=light] .chroma .vm{color:#953800}:root:has(#theme-light:checked) .chroma .nf,:root[data-theme=light] .chroma .nf{color:#6639ba}:root:has(#theme-light:checked) .chroma .fm,:root[data-theme=light] .chroma .fm{color:#6639ba}:root:has(#theme-light:checked) .chroma .l,:root[data-theme=light] .chroma .l{color:#1f2328}:root:has(#theme-light:checked) .chroma .ld,:root[data-theme=light] .chroma .ld{color:#1f2328}:root:has(#theme-light:checked) .chroma .s,:root[data-theme=light] .chroma .s{color:#0a3069}:root:has(#theme-light:checked) .chroma .sa,:root[data-theme=light] .chroma .sa{color:#0a3069}:root:has(#theme-light:checked) .chroma .sb,:root[data-theme=light] .chroma .sb{color:#0a3069}:root:has(#theme-light:checked) .chroma .sc,:root[data-theme=light] .chroma .sc{color:#0a3069}:root:has(#theme-light:checked) .chroma .dl,:root[data-theme=light] .chroma .dl{color:#0a3069}:root:has(#theme-light:checked) .chroma .sd,:root[data-theme=light] .chroma .sd{color:#0a3069}:root:has(#theme-light:checked) .chroma .s2,:root[data-theme=light] .chroma .s2{color:#0a3069}:root:has(#theme-light:checked) .chroma .se,:root[data-theme=light] .chroma .se{color:#0a3069}:root:has(#theme-light:checked) .chroma .sh,:root[data-theme=light] .chroma .sh{color:#0a3069}:root:has(#theme-light:checked) .chroma .si,:root[data-theme=light] .chroma .si{color:#0a3069}:root:has(#theme-light:checked) .chroma .sx,:root[data-theme=light] .chroma .sx{color:#0a3069}:root:has(#theme-light:checked) .chroma .sr,:root[data-theme=light] .chroma .sr{color:#0a3069}:root:has(#theme-light:checked) .chroma .s1,:root[data-theme=light] .chroma .s1{color:#0a3069}:root:has(#theme-light:checked) .chroma .ss,:root[data-theme=light] .chroma .ss{color:#032f62}:root:has(#theme-light:checked) .chroma .m,:root[data-theme=light] .chroma .m{color:#0550ae}:root:has(#theme-light:checked) .chroma .mb,:root[data-theme=light] .chroma .mb{color:#0550ae}:root:has(#theme-light:checked) .chroma .mf,:root[data-theme=light] .chroma .mf{color:#0550ae}:root:has(#theme-light:checked) .chroma .mh,:root[data-theme=light] .chroma .mh{color:#0550ae}:root:has(#theme-light:checked) .chroma .mi,:root[data-theme=light] .chroma .mi{color:#0550ae}:root:has(#theme-light:checked) .chroma .il,:root[data-theme=light] .chroma .il{color:#0550ae}:root:has(#theme-light:checked) .chroma .mo,:root[data-theme=light] .chroma .mo{color:#0550ae}:root:has(#theme-light:checked) .chroma .o,:root[data-theme=light] .chroma .o{color:#0550ae}:root:has(#theme-light:checked) .chroma .ow,:root[data-theme=light] .chroma .ow{color:#0550ae}:root:has(#theme-light:checked) .chroma .or,:root[data-theme=light] .chroma .or{color:#0550ae}:root:has(#theme-light:checked) .chroma .c,:root[data-theme=light] .chroma .c{color:#57606a}:root:has(#theme-light:checked) .chroma .ch,:root[data-theme=light] .chroma .ch{color:#57606a}:root:has(#theme-light:checked) .chroma .cm,:root[data-theme=light] .chroma .cm{color:#57606a}:root:has(#theme-light:checked) .chroma .c1,:root[data-theme=light] .chroma .c1{color:#57606a}:root:has(#theme-light:checked) .chroma .cs,:root[data-theme=light] .chroma .cs{color:#57606a}:root:has(#theme-light:checked) .chroma .cp,:root[data-theme=light] .chroma .cp{color:#57606a}:root:has(#theme-light:checked) .chroma .cpf,:root[data-theme=light] .chroma .cpf{color:#57606a}:root:has(#theme-light:checked) .chroma .gd,:root[data-theme=light] .chroma .gd{color:#82071e;background-color:#ffebe9}:root:has(#theme-light:checked) .chroma .ge,:root[data-theme=light] .chroma .ge{color:#1f2328}:root:has(#theme-light:checked) .chroma .gr,:root[data-theme=light] .chroma .gr{color:#1f2328}:root:has(#theme-light:checked) .chroma .gh,:root[data-theme=light] .chroma .gh{color:#1f2328;font-weight:700}:root:has(#theme-light:checked) .chroma .gi,:root[data-theme=light] .chroma .gi{color:#116329;background-color:#dafbe1}:root:has(#theme-light:checked) .chroma .go,:root[data-theme=light] .chroma .go{color:#1f2328}:root:has(#theme-light:checked) .chroma .gp,:root[data-theme=light] .chroma .gp{color:#1f2328}:root:has(#theme-light:checked) .chroma .gs,:root[data-theme=light] .chroma .gs{font-weight:700}:root:has(#theme-light:checked) .chroma .gu,:root[data-theme=light] .chroma .gu{color:#1f2328}:root:has(#theme-light:checked) .chroma .gt,:root[data-theme=light] .chroma .gt{color:#1f2328}:root:has(#theme-light:checked) .chroma .gl,:root[data-theme=light] .chroma .gl{text-decoration:underline}:root:has(#theme-light:checked) .chroma .w,:root[data-theme=light] .chroma .w{color:#fff}:root:has(#theme-light:checked) .chroma .na,:root[data-theme=light] .chroma .na{color:#1f2328}:root:has(#theme-light:checked) .chroma .nb,:root[data-theme=light] .chroma .nb{color:#6639ba}:root:has(#theme-light:checked) .chroma .bp,:root[data-theme=light] .chroma .bp{color:#5e666e}:root:has(#theme-light:checked) .chroma .p,:root[data-theme=light] .chroma .p{color:#1f2328}@media(prefers-color-scheme:light){:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma{-webkit-text-size-adjust:none}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .err{color:#f6f8fa;background-color:#82071e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .hl{background-color:#e5ecf6;box-shadow:inset 2px 0 0 var(--accent)}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .line{display:flex}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .k{color:#cf222e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .kc{color:#cf222e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .kd{color:#cf222e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .kn{color:#cf222e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .kp{color:#cf222e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .kr{color:#cf222e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .kt{color:#cf222e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .nc{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .no{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .nd{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .ni{color:#6639ba}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .ne{color:#1f2328;font-weight:700}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .nl{color:#900;font-weight:700}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .nn{color:#24292e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .nx{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .py{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .nt{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .nv{color:#953800}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .vc{color:#953800}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .vg{color:#953800}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .vi{color:#953800}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .vm{color:#953800}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .nf{color:#6639ba}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .fm{color:#6639ba}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .l{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .ld{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .s{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .sa{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .sb{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .sc{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .dl{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .sd{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .s2{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .se{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .sh{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .si{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .sx{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .sr{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .s1{color:#0a3069}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .ss{color:#032f62}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .m{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .mb{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .mf{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .mh{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .mi{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .il{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .mo{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .o{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .ow{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .or{color:#0550ae}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .c{color:#57606a}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .ch{color:#57606a}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .cm{color:#57606a}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .c1{color:#57606a}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .cs{color:#57606a}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .cp{color:#57606a}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .cpf{color:#57606a}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .gd{color:#82071e;background-color:#ffebe9}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .ge{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .gr{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .gh{color:#1f2328;font-weight:700}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .gi{color:#116329;background-color:#dafbe1}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .go{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .gp{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .gs{font-weight:700}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .gu{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .gt{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .gl{text-decoration:underline}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .w{color:#fff}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .na{color:#1f2328}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .nb{color:#6639ba}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .bp{color:#5e666e}:root:not(:has(#theme-dark:checked)):not([data-theme=dark]) .chroma .p{color:#1f2328}}}@layer components{.prose picture,.prose img{border-radius:8px;margin-block:1.5em}.prose figure{margin-block:1.5em}.prose figcaption{font-size:var(--step--1);color:var(--fg-dim);margin-block-start:.5em}.photo{max-inline-size:min(20rem,100%);margin-inline:auto;& img{border-radius:12px}}@container(min-width:34rem){.photo {
      float: inline-end;
      max-inline-size: min(13rem, 38%);
      margin-block-start: 0.35rem;
      margin-inline: 1.75rem 0;
      shape-margin: 1rem;
    }

    
    .prose:has(> .photo) > h2 { clear: inline-end; }
  }@container(max-width:33.999rem){.prose:has(> .photo) {
      display: flex;
      flex-direction: column;
      gap: 1.1em;

      & > * { margin-block: 0; }
      & > h2 { margin-block-start: 0.9em; }

      & > .photo { order: 1; }
      & > .photo ~ * { order: 2; }
      & > .photo + p { order: 0; }
    }
  }}@layer components{.page__header{margin-block:2rem 1.5rem}.prose{& input[type=text], & input[type=email], & input[type=search], & textarea{border:1px solid var(--field-border);background:var(--surface);color:var(--fg);border-radius:8px;padding:.5rem .7rem;max-width:100%;transition:background-color 300ms,border-color 200ms;&:hover{border-color:var(--accent)}}& textarea{resize:vertical}& label{font-weight:700}& input[type=submit], & button[type=submit]{background:var(--accent);color:var(--cta-fg);font-family:var(--font-heading);font-weight:700;border:0;border-radius:999px;padding:.55rem 1.2rem;cursor:pointer;transition:background-color 300ms,color 300ms}}}@layer components{.home__intro{margin-block:2.5rem 3.5rem}.home__lede{color:var(--fg);font-size:var(--step-4)}.home__blurb{margin-block-start:1rem;color:var(--fg-muted);font-size:var(--step-1)}.cta{display:inline-block;margin-block-start:1.2rem;background:var(--accent);color:var(--cta-fg);font-family:var(--font-heading);font-weight:700;text-decoration:none;padding:.55rem 1.1rem;border-radius:999px;transition:background-color 300ms,color 300ms}.home__recent-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--border);padding-block-end:.5rem}.home__empty{margin-block-start:2rem;color:var(--fg-dim)}.home__more{margin-block-start:2rem}}@layer components{.lang-filter{display:flex;align-items:center;gap:.5rem}.lang-filter__label{color:var(--fg-dim);font-size:var(--step--1)}.lang-filter__group{display:flex;gap:.25rem;border:1px solid var(--border);border-radius:999px;padding:.2rem}.lang-filter__group button{font:700 var(--step--1)/1 var(--font-heading);background:0 0;border:0;color:var(--fg-dim);padding:.35rem .7rem;border-radius:999px;cursor:pointer;transition:background-color 200ms,color 200ms;&[aria-pressed=true]{background:var(--nav-active-bg);color:var(--nav-active-fg)}}}@layer components{.monogram{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.85rem;background:var(--monogram-gradient);transform:rotate(-6deg);text-decoration:none;& span{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.6rem;background:var(--bg);color:var(--fg);font:850 var(--step--1)/1 var(--font-heading);transition:background-color 300ms,color 300ms}}}@layer components{.notice{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:.9rem 1.1rem;margin-block:1.5rem;max-width:var(--measure);color:var(--fg-muted);font-size:var(--step--1);transition:background-color 300ms,color 300ms,border-color 300ms}.notice--stale{border-color:var(--accent)}.notice--verify{border-style:dashed}.verify-marker{font-family:var(--font-mono);font-size:var(--step--1);color:var(--fg-muted)}}@layer components{.post__header{margin-block:2rem 1.5rem}.meta{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center;color:var(--fg-dim);font-size:var(--step--1);margin-block-start:.6rem}.post-nav-container{container-type:inline-size}.post-nav{display:grid;gap:1rem;margin-block-start:3rem;padding-block-start:1.5rem;border-top:1px solid var(--border)}@container(min-width:34rem){.post-nav { grid-template-columns: 1fr 1fr; }
    .post-nav__next { text-align: end; }
  }.post-nav a{display:grid;gap:.2rem;text-decoration:none;padding:.9rem 1rem;border:1px solid var(--border);border-radius:10px;transition:border-color 200ms;&:hover{border-color:var(--accent)}}.post-nav__label{font-size:var(--step--1);color:var(--fg-dim)}.post-nav__title{font-family:var(--font-heading);font-weight:700;color:var(--fg)}}@layer components{.project-list{list-style:none;padding:0;display:grid;gap:1.5rem;margin-block-start:2rem}.project{padding:1.3rem 1.4rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:background-color 300ms,border-color 200ms;&:hover{border-color:var(--accent)}}.project__title{font-size:var(--step-2);display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;& a{text-decoration:none;color:var(--fg)}& a:hover{text-decoration:underline;text-decoration-thickness:from-font}}.badge--status{text-transform:uppercase}.project__summary{margin-block-start:.6rem;color:var(--fg-muted)}.project__tech,.project__links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin-block-start:.8rem}.project__tech li{font-family:var(--font-mono);font-size:var(--step--1);color:var(--fg-muted);border:1px solid var(--border);border-radius:6px;padding:.1rem .45rem}.project__links{gap:1rem;font-size:var(--step--1)}}@layer components{.pullquote{margin-block:2rem;max-width:var(--measure);& blockquote{margin:0;border-inline-start:none;padding-inline-start:0;font-size:var(--step-2);font-style:italic;color:var(--fg);line-height:1.4}& figcaption{margin-block-start:.6rem;font-size:var(--step--1);color:var(--fg-dim)}}}@layer components{.search{position:relative;display:flex;align-items:center;gap:.5rem}.search__input{border:1px solid var(--field-border);background:var(--surface);color:var(--fg);border-radius:999px;padding:.35rem .8rem;inline-size:12rem;max-inline-size:100%;font-size:var(--step--1);transition:background-color 300ms,border-color 200ms,inline-size 200ms;&:focus{inline-size:16rem}}.search__results{position:absolute;inset-block-start:calc(100% + .4rem);inset-inline-start:0;z-index:20;list-style:none;margin:0;padding:.35rem;min-inline-size:18rem;max-inline-size:min(28rem,90vw);max-block-size:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--field-border);border-radius:10px;& li{display:grid;gap:.1rem;padding:.45rem .6rem;border-radius:6px;&:hover{background:var(--bg)}}& a{text-decoration:none;font-family:var(--font-heading);font-weight:700;font-size:var(--step--1)}}.search__meta{color:var(--fg-muted);font-size:var(--step--1);font-family:var(--font-mono)}}@layer components{.theme-switcher{display:flex;gap:.25rem;align-items:center;border:1px solid var(--border);border-radius:999px;padding:.25rem;margin:0;& input{position:absolute;opacity:0;pointer-events:none}& label{font:600 var(--step--1)/1 var(--font-heading);padding:.4rem .7rem;border-radius:999px;cursor:pointer;color:var(--fg-dim)}& input:checked + label{background:var(--nav-active-bg);color:var(--nav-active-fg)}& input:focus-visible + label{outline:2px solid var(--focus);outline-offset:2px}}}@layer components{.term-list{list-style:none;padding:0;display:grid;gap:.6rem;margin-block-start:2rem}.term-list__item{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.7rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:background-color 300ms,border-color 200ms;&:hover{border-color:var(--accent)}}.term-list__link{font-family:var(--font-heading);font-weight:700;font-size:var(--step-1);text-decoration:none}.term-list__count{font-family:var(--font-mono);font-size:var(--step--1);color:var(--fg-muted);font-variant-numeric:tabular-nums}}@layer utilities{[hidden]{display:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}