*,:before,:after{box-sizing:border-box}input,button,textarea,select{font:inherit}button{color:inherit}img{max-width:100%;height:auto}@font-face{font-weight:400;font-family:Dewi;font-style:normal;font-display:swap;src:url(../../fonts/dewi-regular-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:400;font-family:Dewi;font-style:normal;font-display:swap;src:url(../../fonts/dewi-regular-latin-extended.woff2)format("woff2");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-family:Dewi;font-style:normal;font-display:swap;src:url(../../fonts/dewi-bold-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-family:Dewi;font-style:normal;font-display:swap;src:url(../../fonts/dewi-bold-latin-extended.woff2)format("woff2");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:400;font-family:Dewi;font-style:italic;font-display:swap;src:url(../../fonts/dewi-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:400;font-family:Dewi;font-style:italic;font-display:swap;src:url(../../fonts/dewi-italic-latin-extended.woff2)format("woff2");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:400;font-family:Dewi;font-style:normal;font-display:swap;font-stretch:125%;src:url(../../fonts/dewi-expanded-regular-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:400;font-family:Dewi;font-style:normal;font-display:swap;font-stretch:125%;src:url(../../fonts/dewi-expanded-regular-latin-extended.woff2)format("woff2");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:700;font-family:Dewi;font-style:normal;font-display:swap;font-stretch:125%;src:url(../../fonts/dewi-expanded-bold-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-weight:700;font-family:Dewi;font-style:normal;font-display:swap;font-stretch:125%;src:url(../../fonts/dewi-expanded-bold-latin-extended.woff2)format("woff2");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-weight:100 800;font-family:JetBrains Mono;font-style:normal;size-adjust:95%;src:url(../../fonts/jetbrains-mono-latin.woff2)format("woff2");font-display:swap;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-weight:100 800;font-family:JetBrains Mono;font-style:normal;size-adjust:95%;src:url(../../fonts/jetbrains-mono-latin-extended.woff2)format("woff2");font-display:swap;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-weight:100 800;font-family:JetBrains Mono;font-style:italic;size-adjust:95%;src:url(../../fonts/jetbrains-mono-italic-latin.woff2)format("woff2");font-display:swap;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-weight:100 800;font-family:JetBrains Mono;font-style:italic;size-adjust:95%;src:url(../../fonts/jetbrains-mono-italic-latin-extended.woff2)format("woff2");font-display:swap;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}:root{--font-family-text:"Dewi",sans-serif;--font-family-code:"JetBrains Mono",monospace;--color-background-primary:var(--lightningcss-light,var(--color-basic-100))var(--lightningcss-dark,var(--color-basic-600));--color-background-secondary:var(--lightningcss-light,var(--color-basic-200))var(--lightningcss-dark,var(--color-basic-500));--color-border-primary:var(--color-basic-400);--color-border-secondary:var(--lightningcss-light,var(--color-basic-300))var(--lightningcss-dark,var(--color-basic-500));--color-text-primary:var(--lightningcss-light,var(--color-basic-700))var(--lightningcss-dark,var(--color-basic-100));--color-text-secondary:var(--color-basic-400);--color-link-normal:var(--lightningcss-light,var(--color-azure))var(--lightningcss-dark,var(--color-lime))}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--color-basic-100:oklch(100% 0 0);--color-basic-200:oklch(95% .01 240);--color-basic-300:oklch(85% .01 240);--color-basic-400:oklch(62% .01 240);--color-basic-500:oklch(37% .01 240);--color-basic-600:oklch(17% .01 240);--color-basic-700:oklch(0% 0 0);--color-lime:oklch(90% .2 130);--color-pear:oklch(87% .17 130);--color-moss:oklch(74% .12 140);--color-teal:oklch(68% .09 200);--color-aqua:oklch(65% .12 230);--color-azure:oklch(55% .11 240);--color-navy:oklch(48% .1 240)}.page,.page__body{height:100%}.page{overflow-wrap:anywhere;background-color:var(--color-background-primary);color:var(--color-text-primary);line-height:1.2;font-family:var(--font-family-text)}.page__body{grid-template-rows:auto 1fr auto;margin:0;display:grid}.header{border-bottom:1px solid var(--color-border-secondary);padding:1rem max(1rem,50vw - 600px);display:grid}@media not (min-width:545px){.header{grid-template-columns:48px 1fr;grid-template-areas:"logo logo"".links";gap:1rem .75rem}}@media (min-width:545px){.header{grid-template-columns:auto 1fr;grid-template-areas:"logo links";align-items:center;column-gap:1rem}}.header__logo{color:var(--color-text-primary);grid-area:logo;grid-template-columns:48px 1fr;grid-template-areas:"logo title""logo subtitle";gap:.25rem .75rem;text-decoration:none;display:grid}.header__image{filter:drop-shadow(0 2px 5px oklch(from var(--color-basic-700)l c h/20%));grid-area:logo}.header__title{grid-area:title;margin:0;font-size:1.75rem;font-weight:700;font-stretch:125%;line-height:1}.header__subtitle{grid-area:subtitle;margin:0;font-size:1rem}.header__links{grid-area:links;grid-template-columns:repeat(4,32px);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:545px){.header__links{justify-self:end}}.header__links li{display:contents}.header__links a{background-color:var(--color-text-primary);border-radius:50%}.header__links a:before{background-color:var(--lightningcss-light,var(--color-basic-100))var(--lightningcss-dark,var(--color-basic-700));content:"";width:32px;height:32px;display:block}.header__links a[data-social=mastodon]:before{mask-image:url(../../images/social/mastodon.svg)}.header__links a[data-social=bluesky]:before{mask-image:url(../../images/social/bluesky.svg)}.header__links a[data-social=x]:before{mask-image:url(../../images/social/x.svg)}.header__links a[data-social=rss]:before{mask-image:url(../../images/social/rss.svg)}.main{align-content:start;row-gap:2rem;padding:2rem max(1rem,50vw - 600px);display:grid}.news-list{grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:2rem 1rem;margin:0;padding:0;list-style:none;display:grid}.news-card{row-gap:.5rem;display:grid;position:relative}.news-card img{outline:1px solid var(--color-border-secondary);outline-offset:-1px}.news-card time{color:var(--color-text-secondary)}.news-card h2{text-wrap:balance;margin:0;font-weight:400;font-stretch:125%}.news-card h2 a{color:var(--color-link-normal);text-decoration:none}.news-card h2 a:before{content:"";position:absolute;inset:0}.news{row-gap:1rem;display:grid}@media (min-width:1024px){.news{grid-template-columns:1fr 1fr;grid-template-areas:"header cover""content cover""tags cover";column-gap:1rem}}.news__header{row-gap:.25rem;display:grid}@media (min-width:1024px){.news__header{grid-area:header}}.news__title{text-wrap:balance;margin:0;font-size:2rem;font-stretch:125%}.news__title a{color:var(--color-text-primary);text-decoration:none}.news__date{color:var(--color-text-secondary)}@media (min-width:1024px){.news__cover{grid-area:cover}}.news__cover img{outline:1px solid var(--color-border-secondary);outline-offset:-1px;display:block}.news__tags{margin:0}.news__tags a{color:var(--color-link-normal)}@media (min-width:1024px){.news__tags{grid-area:tags}}.archive{align-content:start;row-gap:2rem;display:grid}.archive__title{text-wrap:balance;margin:0;font-size:2rem;font-stretch:125%}.not-found{row-gap:1rem;display:grid}.not-found__title{text-wrap:balance;margin:0;font-size:2rem;font-stretch:125%}.related{border-top:1px solid var(--color-border-secondary)}.related__title{margin:0;padding:1rem 0;font-size:1.5rem;font-stretch:125%}.pagination{justify-content:center;display:flex}.pagination a{color:var(--color-link-normal);padding:.5rem 1rem;text-decoration:none}.pagination a:hover{background-color:var(--color-background-secondary)}.pagination a[rel]{padding-inline:.5rem}.pagination a[rel]:before{background-color:var(--color-link-normal);content:"";width:1.25rem;height:1.25rem;margin:auto;display:grid;mask-size:contain}.pagination a[rel=prev]:before{mask-image:url(../../images/icons/chevron-left.svg)}.pagination a[rel=next]:before{mask-image:url(../../images/icons/chevron-right.svg)}.pagination a[aria-current=page]{background-color:var(--color-background-secondary);pointer-events:none}.content{text-wrap:pretty;row-gap:1rem;max-width:70ch;line-height:1.5;display:grid}.content p{margin:0}.content a{color:var(--color-link-normal)}.content code{background-color:var(--color-background-secondary);font-family:var(--font-family-code);border-radius:.25rem;padding:.0625em .25em}.footer{border-top:1px solid var(--color-border-secondary);padding:2rem max(1rem,50vw - 600px);display:grid}@media not (min-width:520px){.footer{align-content:start;justify-items:start;row-gap:1rem}}@media (min-width:520px){.footer{grid-template-columns:repeat(3,auto);justify-content:space-between}}.footer a{color:var(--color-link-normal)}