@layer foundation{*,:before,:after{box-sizing:border-box}img{max-width:100%;height:auto}pre{overflow-x:auto}.skip-link{inset-inline-start:1rem;z-index:100;position:absolute;top:-10rem}.skip-link:focus{top:1rem}.lightbox-image{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 10rem);margin-inline:auto;display:block}html:has(.lightbox[open]){overflow:hidden}}@layer theme{:root{color-scheme:light dark;--is-bg:light-dark(#f2f2f7,#000);--is-surface:light-dark(#fff,#1c1c1e);--is-surface-raised:light-dark(#fff,#2c2c2e);--is-glass:light-dark(#ffffffb8,#1e1e1eb8);--is-glass-blur:20px;--is-separator:light-dark(#3c3c434a,#54545899);--is-fill:light-dark(#7878801f,#7878803d);--is-accent-tint:light-dark(#1b6e2f1a,#8be59629);--is-control-border:light-dark(#8a8a8e,#8e8e93);--is-label:light-dark(#000,#fff);--is-label-secondary:light-dark(#5e5e63,#b4b4b9);--is-accent:light-dark(#1b6e2f,#8be596);--is-danger:light-dark(#c4161c,#ff6961);--is-warning:light-dark(#a05a00,#ffb340);--is-lime:#a8e05f;--is-lemon:#ffe066;--is-mint:#5fd4b4;--is-radius-sm:8px;--is-radius:12px;--is-radius-lg:20px;--is-radius-xl:28px;--is-space:1rem;--is-content:44rem;--is-gutter:max(var(--is-space), (100% - var(--is-content)) / 2);--is-shadow:0 1px 3px #00000014, 0 8px 24px #0000000f;--is-shadow-lg:0 2px 6px #0000000f, 0 18px 48px #0000001f;--is-ease:cubic-bezier(.25, .1, .25, 1);--is-font:-apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--is-font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--focus-ring-color:var(--is-accent);--focus-ring-width:3px;--focus-ring-offset:2px;--site-wide:68rem;--site-measure:42rem;--site-gutter:max(1rem, (100% - var(--site-wide)) / 2);--site-veil:light-dark(#f2f2f7b3,#0009);--site-glass:light-dark(#fff9,#24242699);--site-bar-backdrop:saturate(180%) contrast(.47) brightness(1.3) blur(var(--is-glass-blur));--site-field:light-dark(#e9e9ee,#2c2c2e);--site-glass-edge:light-dark(#ffffffb3,#ffffff1a);--site-search-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235e5e63' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E");font-family:var(--is-font);background-color:var(--is-bg);color:var(--is-label);-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:100%;line-height:1.5}@media (prefers-color-scheme:dark){:root{--site-bar-backdrop:saturate(180%) brightness(.6) blur(var(--is-glass-blur));--site-search-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4b4b9' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E")}}body{flex-direction:column;min-height:100vh;margin:0;display:flex}body:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(var(--site-veil), var(--site-veil)), url(/_astro/background-1280.Cldo2S8U.webp) center / cover no-repeat var(--is-bg);position:fixed;inset:0}@media (width>=48rem){body:before{background-image:linear-gradient(var(--site-veil), var(--site-veil)), url(/_astro/background-2560.BdHjtaBO.webp)}}main,.site-footer{padding-inline:var(--site-gutter)}main{flex:1;padding-block:1.5rem 4rem}main:focus{outline:none}::selection{background:var(--is-accent-tint)}a{color:var(--is-accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}h1,h2,h3,h4{text-wrap:balance;line-height:1.15}h1{letter-spacing:-.03em;margin-block:1rem;font-size:clamp(2rem,1.5rem + 2.2vw,3rem);font-weight:800}h2{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}p{text-wrap:pretty}code,pre,kbd{font-family:var(--is-font-mono);font-size:.9em}.site-header{z-index:10;width:min(100% - 1.5rem, var(--site-wide) + 1.5rem);border:.5px solid var(--is-separator);background:var(--is-surface);min-height:3.5rem;box-shadow:var(--is-shadow);border-radius:999px;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem auto 0;padding:.4375rem .4375rem .4375rem 1.25rem;display:flex;position:sticky;top:.75rem}html{scroll-padding-top:5.5rem}.site-brand{letter-spacing:-.02em;margin:0 auto 0 0;font-size:1.125rem;font-weight:800}.site-brand a{color:var(--is-label);align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.site-brand a:before{content:"";aspect-ratio:1;background:radial-gradient(circle at 32% 30%, #ffffffb3, transparent 38%), linear-gradient(140deg, var(--is-lemon), var(--is-lime) 55%, #5aa832);border-radius:50%;width:1.125rem;box-shadow:inset 0 0 0 1px #00000014}.lang-switch{margin:0}.lang-switch a{border:1px solid var(--is-separator);color:var(--is-label);border-radius:999px;padding:.4375rem .875rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:block}.lang-switch a:hover{background:var(--is-fill)}.site-search{flex:0 17rem;position:relative}.site-search input{box-sizing:border-box;background:var(--site-field) var(--site-search-icon) no-repeat .875rem center / 1.0625rem;width:100%;height:2.5rem;color:var(--is-label);font:inherit;border:none;border-radius:999px;padding:0 1rem 0 2.375rem;font-size:1rem}.site-search input::placeholder{color:var(--is-label-secondary);opacity:1}.search-panel{top:calc(100% + .75rem);border:.5px solid var(--is-separator);border-radius:var(--is-radius-lg);background:var(--is-surface);width:min(26rem,100vw - 1.5rem);max-height:min(70vh,32rem);box-shadow:var(--is-shadow-lg);padding:.5rem;position:absolute;inset-inline-end:0;overflow-y:auto}.search-panel:focus{outline:none}.search-panel ol{margin:0;padding:0;list-style:none}.search-panel li{border-radius:var(--is-radius);color:var(--is-label-secondary);padding:.625rem .75rem;font-size:.9375rem}.search-panel li:hover,.search-panel li:has(a:focus-visible){background:var(--is-fill)}.search-panel li a{color:var(--is-label);font-weight:650;text-decoration:none}.search-panel li a:hover{text-decoration:underline}.search-panel li p{color:var(--is-label-secondary);margin:.125rem 0 0;font-size:.875rem;line-height:1.4}.search-panel mark{background:var(--is-accent-tint);color:inherit;font-weight:600}.search-panel>p{border-block-start:.5px solid var(--is-separator);margin:.25rem 0 0;padding:.5rem .75rem .25rem}.search-panel>p a{font-size:.9375rem;font-weight:600}@media (width<=45.99rem){.site-header{border-radius:var(--is-radius-xl);gap:.5rem;padding-inline-start:1rem}.site-search{flex:none;position:static}.site-search input{cursor:pointer;background-position:50%;width:2.5rem;padding:0}.site-search input::placeholder{color:#0000}.site-search:focus-within input{z-index:1;background-color:var(--is-surface);width:auto;box-shadow:0 0 0 .4375rem var(--is-surface);cursor:text;background-position:.875rem;padding-inline:2.375rem 1rem;position:absolute;inset-block-start:.4375rem;inset-inline:.4375rem}.site-search:focus-within input::placeholder{color:var(--is-label-secondary)}.search-panel{width:auto;inset-inline:0}.lang-switch a{padding-inline:.75rem;font-size:.875rem}}h1:has(+.page-intro){letter-spacing:-.045em;margin-block:2rem .75rem;font-size:clamp(2.75rem,1.75rem + 5vw,5rem);line-height:1}.page-intro{max-width:36rem;color:var(--is-label);margin-block:0 2.5rem;font-size:clamp(1.125rem,1rem + .6vw,1.375rem);line-height:1.4}main>section>h2{margin-block:2.5rem 1rem}.load-more{justify-content:center;margin-block-start:.5rem;display:flex}.load-more :is(a,button){background:var(--is-surface);box-shadow:var(--is-shadow);color:var(--is-accent);font:inherit;cursor:pointer;border:none;border-radius:999px;align-items:center;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.load-more :is(a,button):hover{text-decoration:underline}.load-more button[aria-disabled=true]{color:var(--is-label-secondary);cursor:progress}.post-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));align-items:start;gap:1.25rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.post-list>li{display:flex}.post-card{border:.5px solid var(--is-separator);border-radius:var(--is-radius-xl);background:var(--is-surface);box-shadow:var(--is-shadow);flex-direction:column;flex:1;padding-block-end:1.25rem;display:flex;position:relative;overflow:hidden}.post-card>img{aspect-ratio:16/10;object-fit:cover;background:var(--is-fill);order:-2;width:100%;height:auto;margin-block-end:1rem}.post-card:not(:has(>img)){padding-block-start:1.25rem}.post-card>:not(img){margin-inline:1.25rem}.post-card :is(h2,h3){letter-spacing:-.02em;margin-block:0;font-size:1.25rem;font-weight:700}.post-card :is(h2,h3) a{color:var(--is-label);text-decoration:none}.post-card :is(h2,h3) a:after{content:"";z-index:1;position:absolute;inset:0}.post-card:hover :is(h2,h3) a{text-decoration:underline 2px}.post-card:has(a:focus-visible){box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring-color), var(--is-shadow-lg)}.post-card p{margin-block:.375rem 0}.post-card .post-meta{order:-1;margin-block:0 .375rem;font-size:.8125rem;font-weight:600}.post-card .post-meta+p{color:var(--is-label-secondary);font-size:.9375rem}.latest-posts .post-list>li:first-child{grid-column:1/-1}.latest-posts .post-list>li:first-child :is(h2,h3){letter-spacing:-.03em;font-size:clamp(1.625rem,1rem + 1.5vw,2.25rem)}.latest-posts .post-list>li:first-child .post-meta+p{font-size:1.0625rem}@media (width>=48rem){.latest-posts .post-list>li:first-child .post-card:has(>img){grid-template-rows:1fr auto auto auto 1fr;grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:.5rem;padding-block-end:0;display:grid}.latest-posts .post-list>li:first-child .post-card>img{aspect-ratio:auto;grid-area:1/1/-1;height:100%;min-height:20rem;margin:0}.latest-posts .post-list>li:first-child .post-card:has(>img)>:not(img){grid-column:2;margin-inline:1.5rem 2rem}.latest-posts .post-list>li:first-child .post-card:has(>img) .post-meta{grid-row:2}.latest-posts .post-list>li:first-child .post-card:has(>img) :is(h2,h3){grid-row:3}.latest-posts .post-list>li:first-child .post-card:has(>img) .post-meta+p{grid-row:4;margin-block-start:.75rem}.latest-posts .post-list>li:first-child .post-card:not(:has(>img)){padding:2rem .75rem}}.post{box-sizing:border-box;max-width:calc(var(--site-measure) + 2 * var(--site-sheet-padding));padding:.5rem var(--site-sheet-padding) var(--site-sheet-padding);border:.5px solid var(--is-separator);border-radius:var(--is-radius-xl);background:var(--is-surface);box-shadow:var(--is-shadow-lg);--site-sheet-padding:clamp(1.25rem, 4vw, 2.5rem);margin-inline:auto}.post-header{margin-block:1rem 2rem}.post-header h1{letter-spacing:-.04em;margin-block:0 1rem;font-size:clamp(2.25rem,1.5rem + 3.4vw,3.75rem);line-height:1.05}.post-meta{color:var(--is-label-secondary);margin:0;font-size:.9375rem}.post-tags{color:var(--is-label-secondary);flex-wrap:wrap;align-items:center;gap:.5rem;margin-block-start:1rem;font-size:.9375rem;display:flex}.post-tags ul{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.post-tags a{background:var(--is-surface);color:var(--is-accent);border-radius:999px;padding:.3125rem .875rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-block;box-shadow:0 1px 2px #00000014}.post-tags a:hover{text-decoration:underline}.post-translation{margin-block:1rem 0;font-size:.9375rem}.post-translation a{font-weight:600}.post-cover{margin-block:0 2.5rem}.post-cover img,.post-body img{border-radius:var(--is-radius-xl);width:100%;box-shadow:var(--is-shadow-lg);display:block}figcaption{color:var(--is-label-secondary);text-align:center;margin-block-start:.625rem;font-size:.875rem}.post-body{font-size:1.125rem;line-height:1.7}.post-body>:first-child{margin-block-start:0}.post-body :is(h2,h3,h4){margin-block:2.5rem .75rem}.post-body h2{font-size:1.625rem}.post-body h3{font-size:1.25rem}.post-body figure{margin:2.5rem 0}.post-body :is(ul,ol){padding-inline-start:1.5rem}.post-body li+li{margin-block-start:.375rem}.post-body li::marker{color:var(--is-accent)}.post-body blockquote{border-inline-start:4px solid var(--is-accent);border-radius:0 var(--is-radius) var(--is-radius) 0;background:var(--is-surface);color:var(--is-label-secondary);margin:2rem 0;padding:1rem 1.25rem}.post-body blockquote>:first-child{margin-block-start:0}.post-body blockquote>:last-child{margin-block-end:0}.post-body :not(pre)>code{background:var(--is-fill);border-radius:6px;padding:.1em .35em}.post-body pre{border-radius:var(--is-radius-lg);border:.5px solid var(--is-separator);padding:1rem 1.25rem;font-size:.875rem;line-height:1.55}.post-body hr{border:none;border-block-start:.5px solid var(--is-separator);width:30%;margin:3rem auto}.post-body table{border-collapse:collapse;max-width:100%;font-size:.9375rem;display:block;overflow-x:auto}.post-body :is(th,td){border-block-end:.5px solid var(--is-separator);text-align:start;padding:.5rem .75rem}@media (prefers-color-scheme:dark){.shiki,.shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}.gallery>h2{margin-block:3rem 1rem}.gallery ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.gallery li figure{margin:0}.gallery li a{border-radius:var(--is-radius-lg);box-shadow:var(--is-shadow);display:block;overflow:hidden}.gallery li img{aspect-ratio:1;object-fit:cover;background:var(--is-fill);width:100%;display:block}.gallery li figcaption{text-align:start}.lightbox{--focus-ring-color:#fff;width:100%;max-width:none;height:100%;max-height:none;padding:1rem var(--is-space) 1.25rem;color:#fff;background:#000;border:none;margin:0}.lightbox[open]{grid-template-rows:1fr auto auto;align-items:center;gap:.75rem;display:grid}.lightbox::backdrop{background:#0009}.lightbox-figure{margin:0}.lightbox-image{border-radius:var(--is-radius)}.lightbox-caption,.lightbox-position{color:#ebebf5;text-align:center;margin:.5rem 0 0;font-size:.9375rem}.lightbox-position{font-variant-numeric:tabular-nums;margin:0;font-size:.8125rem}.lightbox-controls{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.lightbox-controls button{color:#fff;background:#ffffff29}.lightbox-controls button:hover{background:#ffffff42}@supports (backdrop-filter:blur(1px)){.lightbox-controls button{backdrop-filter:blur(var(--is-glass-blur))}}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pagination p{color:var(--is-label);margin:0;font-size:.9375rem}.pagination ul{gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.pagination a{background:var(--is-surface);box-shadow:var(--is-shadow);border-radius:999px;padding:.625rem 1.25rem;font-weight:600;text-decoration:none;display:inline-block}.search-status,.search-results{max-width:var(--site-measure)}button{background:var(--is-accent);color:light-dark(#fff,#000);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.625rem 1.25rem;font-weight:600}.search-status{color:var(--is-label);font-size:.9375rem}.search-results{padding:0;list-style:none}.search-results li{border-radius:var(--is-radius-lg);background:var(--is-surface);box-shadow:var(--is-shadow);padding:1rem 1.25rem}.search-results li+li{margin-block-start:.75rem}.search-results a{font-weight:600}.search-results p{color:var(--is-label-secondary);margin:.25rem 0 0;font-size:.9375rem}.search-results mark{background:var(--is-accent-tint);color:inherit}.site-footer{color:var(--is-label);text-align:center;padding-block:1.5rem 2.5rem;font-size:.875rem}.site-footer small{font-size:inherit}main>p a,main>section>p a,.site-footer a{color:var(--is-label)}@supports (backdrop-filter:blur(1px)){.site-header,.post-card,.post{border-color:var(--site-glass-edge);background:var(--site-glass);backdrop-filter:saturate(180%) blur(var(--is-glass-blur))}.site-header{backdrop-filter:var(--site-bar-backdrop)}}@media (prefers-reduced-motion:no-preference){.lang-switch a,.pagination a,.post-tags a,.load-more :is(a,button),.search-panel li{transition:background-color .2s var(--is-ease), box-shadow .2s var(--is-ease)}.post-card{transition:transform .3s var(--is-ease), box-shadow .3s var(--is-ease)}.post-card>img{transition:scale .5s var(--is-ease)}.post-card:hover{box-shadow:var(--is-shadow-lg);transform:translateY(-3px)}.post-card:hover>img{scale:1.03}.gallery li img{transition:scale .4s var(--is-ease)}.gallery li a:hover img{scale:1.04}}}@layer a11y{:focus-visible{outline:var(--focus-ring-width,3px) solid var(--focus-ring-color,Highlight);outline-offset:var(--focus-ring-offset,2px)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}}
