@layer vendor{:root{--prism-text:#222;--prism-bg:#f6f3ec;--prism-punctuation:#bc0376;--prism-blue:#05618f;--prism-pink:#eb007d;--prism-purple-light:#7b5296;--prism-css-color:#f93d04;--prism-purple:#691b7a;--prism-purple-on-dark:#ff00d6;--prism-green:#5d8a1c;--prism-yellow:#a24c05;--prism-comment:#616161;--prism-regex:#6d3a00;--prism-border-color:var(--s-surface-border);--prism-accent-line:var(--s-accent-subtle);--prism-chrome-bg:var(--s-surface-2);--prism-chrome-divider:#3a342a1f}.dark{--prism-text:#eee;--prism-bg:#0e0c16;--prism-punctuation:linen;--prism-blue:#80cbc4;--prism-pink:#ff1493;--prism-purple-light:#c792ea;--prism-css-color:#fd9170;--prism-purple:#e599f7;--prism-purple-on-dark:#ff00d6;--prism-green:#a5e844;--prism-yellow:#ffcb6b;--prism-comment:#888;--prism-regex:#f2ff00;--prism-border-color:var(--prism-bg);--prism-accent-line:var(--s-accent-subtle);--prism-chrome-bg:#ffffff0a;--prism-chrome-divider:#ffffff1f;@media (dynamic-range:high){@supports (color:color(display-p3 0 0 0)){--prism-blue:color(display-p3 .61 .99 1);--prism-purple-light:color(display-p3 .79 .56 1);--prism-css-color:color(display-p3 .99 .62 .49);--prism-pink:color(display-p3 1 0 1);--prism-purple:color(display-p3 .5 0 1);--prism-purple-on-dark:color(display-p3 .98 0 .83);--prism-green:color(display-p3 .65 .98 .1);--prism-yellow:color(display-p3 1 .77 .3)}}}code[class*=language-],pre[class*=language-]{text-align:start;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;background:0 0;background:var(--prism-bg);color:var(--prism-text);hyphens:none;tab-size:4;border-radius:10px;font-family:Source Code Pro,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.5em;@media (width>=768px){font-size:1rem}}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.2em;padding:.1em}pre[class*=language-]{border-radius:var(--s-radius-code);box-shadow:var(--s-shadow-medium);border:0;padding:2.35em 0 0;position:relative;overflow:clip;&:before{border-block-end:1px solid var(--prism-chrome-divider);background:radial-gradient(circle at 1em 50%, #ff5f57 .22em, transparent .24em), radial-gradient(circle at 1.9em 50%, #febc2e .22em, transparent .24em), radial-gradient(circle at 2.8em 50%, #28c840 .22em, transparent .24em), linear-gradient(180deg, #ffffff8c, #ffffff2e), var(--prism-chrome-bg);content:"";pointer-events:none;block-size:1.7em;position:absolute;inset-block-start:0;inset-inline:0}}pre[class*=language-]>code{padding:0 1em 1.1em;display:block;overflow-x:auto}.dark pre[class*=language-]:before{background:radial-gradient(circle at 1em 50%, #ff5f57 .22em, transparent .24em), radial-gradient(circle at 1.9em 50%, #febc2e .22em, transparent .24em), radial-gradient(circle at 2.8em 50%, #28c840 .22em, transparent .24em), linear-gradient(180deg, #ffffff1a, #0000003d), var(--prism-chrome-bg)}.language-css>code,.language-sass>code,.language-scss>code,.language-javascript>code{color:var(--prism-css-color)}[class*=language-] .namespace{opacity:.7}.token.atrule{color:var(--prism-css-color);& .rule{color:var(--prism-purple-light)}}.token.attr-name{color:var(--prism-yellow)}.token.attr-value,.token.attribute{color:var(--prism-green)}.token.boolean{color:var(--prism-purple-light)}.token.builtin{color:var(--prism-yellow)}.token.cdata,.token.char{color:var(--prism-blue)}.token.class{color:var(--prism-yellow)}.token.class-name{color:var(--prism-regex)}.token.comment{color:var(--prism-comment)}.token.constant{color:var(--prism-purple-light)}.token.deleted{color:#f66}.token.doctype{color:#616161}.token.entity{color:#f66}.token.function{color:var(--prism-purple-light)}.token.hexcode{color:var(--prism-regex)}.token.id,.token.important{color:var(--prism-purple-light);font-weight:700}.token.inserted{color:var(--prism-blue)}.token.keyword{color:var(--prism-purple-light)}.token.number{color:#fd9170}.token.operator{color:var(--prism-blue)}.token.prolog{color:#616161}.token.property{color:var(--prism-blue)}.token.pseudo-class,.token.pseudo-element{color:var(--prism-green)}.token.punctuation{color:var(--prism-punctuation)}.token.regex{color:var(--prism-regex)}.token.selector{color:var(--prism-purple-on-dark)}.token.string{color:var(--prism-green)}.token.symbol{color:var(--prism-purple-light)}.token.tag{color:var(--prism-pink)}.token.unit{color:#fd9170}.token.url,.token.variable{color:#f66}}@layer tokens{:root{--p-color-primary-100:oklch(82.13% .123 328.92);--p-color-primary-300:oklch(70.07% .2161 330.26);--p-color-primary-500:oklch(64.52% .257 331.11);--p-color-primary-darker:oklch(47.43% .1978 331.33);--p-color-primary-dark:oklch(27.28% .1057 330.99);--p-color-primary-100-vivid:oklch(83.69% .1225 328.89);--p-color-primary-300-vivid:oklch(73.04% .2135 330.12);--p-color-primary-500-vivid:oklch(68.39% .254 330.83);--p-color-primary-darker-vivid:oklch(51.86% .2206 331.45);--p-color-primary-dark-vivid:oklch(29.91% .107 330.7);--p-color-secondary:oklch(94.99% .0305 57.92);--p-color-secondary-dark:oklch(19.37% .062 312.82);--p-color-tertiary:oklch(83.35% .1551 100.14);--p-color-tertiary-dark:oklch(38.78% .0318 82.05);--p-color-support:oklch(48.21% .0817 181.21);--p-color-support-bright:oklch(63.57% .1124 180.17);--p-color-white:oklch(100% 0 0);--p-color-black:oklch(0% 0 0);--p-color-rss-1:oklch(77.32% .2046 149.63);--p-color-rss-2:oklch(52.57% .1325 150.42);--p-color-bluesky:oklch(62.57% .2051 254.88);--p-color-facebook:oklch(58.91% .2029 257.86);--p-color-linkedin:oklch(51.56% .1632 254.73);--p-color-mastodon:oklch(57.03% .2378 275.53);--p-color-instagram:oklch(61.95% .1995 14.61);--p-color-spotify:oklch(68.88% .187 148.92);--p-color-sessionize:oklch(68.61% .1262 173.89);--p-color-rss-social:oklch(67.59% .1886 42.04);--p-color-reddit:oklch(66.02% .2294 35.4);--p-color-icon-sun:oklch(75.2% .1641 66.87);--p-color-icon-moon:oklch(45.91% .1539 270.63);--p-color-atmosphere:oklch(80% .06 320);--p-color-alert-success-bg:oklch(82.4% .1229 150.23);--p-color-alert-success-text:oklch(35.29% .1089 145.15);--p-color-alert-warning-bg:oklch(95.02% .0692 92.11);--p-color-alert-warning-text:oklch(40.28% .0823 87.84);--p-color-alert-error-bg:oklch(90.75% .037 11.63);--p-color-alert-error-text:oklch(37.13% .1191 20.24);--p-color-badge-html:oklch(62.21% .1938 34.85);--p-color-badge-css:oklch(48.77% .1979 293.68);--p-color-badge-ux:oklch(65.46% .1097 194.81);--p-color-badge-js:oklch(84.25% .1728 94.3);--p-color-badge-accessibility:oklch(60.57% .224 285.06);--p-color-badge-life:oklch(65.92% .1362 155.56);--p-color-badge-photography:oklch(52.34% .1347 144.17);--p-color-footer-gradient-start:oklch(94.17% .0175 327.73);--p-color-footer-gradient-end:oklch(89.72% .0233 314.7);--p-color-warm-lightest:oklch(97.71% .0074 80.72);--p-color-warm-darkest:oklch(27.15% .0094 67.42);--p-color-warm-text:oklch(39.14% .015 67.37);--p-color-warm-text-light:oklch(48.27% .0142 67.48);--p-color-warm-text-muted:oklch(50.75% .0141 67.5);--p-color-gray-warm-100:#3a342a14;--p-color-gray-warm-200:#3a342a26;--p-color-gray-warm-300:#3a342a40;--p-color-gray-warm-400:#3a342a59;--p-color-gray-warm-500:#3a342a7a;--p-color-gray-warm-600:#3a342a99;--p-color-gray-warm-700:#3a342ab3;--p-color-gray-warm-800:#3a342acc;--p-color-gray-warm-900:#3a342ae6;--p-color-gray-warm-1000:#3a342a;--p-color-cool-lightest:oklch(19.96% .0239 291.72);--p-color-cool-darkest:oklch(95.76% .0086 67.72);--p-color-cool-text:oklch(92.06% .008 73.74);--p-color-cool-text-light:oklch(81.92% .0112 76.59);--p-color-cool-text-muted:oklch(95.76% .0086 67.72);--p-color-gray-cool-100:#e8e4df14;--p-color-gray-cool-200:#e8e4df26;--p-color-gray-cool-300:#e8e4df40;--p-color-gray-cool-400:#e8e4df59;--p-color-gray-cool-500:#e8e4df7a;--p-color-gray-cool-600:#e8e4df99;--p-color-gray-cool-700:#e8e4dfb3;--p-color-gray-cool-800:#e8e4dfcc;--p-color-gray-cool-900:#e8e4dfe6;--p-color-gray-cool-1000:#e8e4df;--p-surface-warm-card:#faf7f299;--p-surface-warm-card-reel:#faf7f2a6;--p-surface-warm-card-solid:#faf7f2b3;--p-surface-warm-opaque:#2a2622f0;--p-surface-cool-card-muted:#16142080;--p-surface-cool-card:#161420b3;--p-surface-cool-reel:#161420bf;--p-surface-cool-deep:#161420f5;--p-overlay-backdrop:#000c;--p-shadow-dialog:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--p-shadow-badge-active:#0000000d 0px 6px 24px 0px, #00000014 0px 0px 0px 1px;--p-glass-light-faint:#ffffff1a;--p-glass-light-hover:#ffffff38;--p-color-like:oklch(60% .22 15);--p-color-boost:oklch(65% .25 335);--p-color-kofi:oklch(53.35% .2243 331.38);--p-glass-warm-faint:#3a342a08;--p-glass-cool-faint:#e8e4df0a;--p-glass-dark-subtle:#0000000f;--p-glass-dark-hover:#0000001a;--p-glass-light-subtle:#ffffff0f;--p-glass-light-medium:#ffffff1f;--p-glass-light-low:#ffffff26;--p-glass-light-mid:#ffffff29;--p-glass-light-border:#ffffff2e;--p-glass-light-strong:#ffffff40;--p-glass-light-overlay:#ffffff57;--p-glass-light-ghost:#ffffff05;--p-accent-warm-peach-soft:#ffeadb40;--p-accent-warm-peach-medium:#ffeadb66;--p-accent-cool-deep-muted:#280826b3;--p-accent-cool-deep:#280826;--p-surface-warm-0:oklch(96.5% .012 75);--p-surface-warm-1:oklch(94.3% .014 72);--p-surface-warm-2:oklch(97.8% .01 78);--p-surface-warm-border:oklch(82% .02 68);--p-surface-warm-header:oklch(95% .012 32);--p-accent-warm:oklch(65% .03 320/.28);--p-glass-warm:#3a342a0d;--p-glass-warm-border:#3a342a12;--p-glass-warm-hover:#3a342a1a;--p-highlight-warm:#92268b1a;--p-highlight-warm-strong:#92268b26;--p-gradient-warm:#faf7f2b3;--p-surface-cool-0:oklch(19.96% .0239 291.72);--p-surface-cool-1:oklch(24% .03 304);--p-surface-cool-2:oklch(28% .04 304);--p-surface-cool-border:oklch(42% .02 304/.6);--p-surface-cool-header:oklch(24.72% .034 291.35);--p-accent-cool:oklch(73% .08 304/.45);--p-glass-cool:#ffffff0f;--p-glass-cool-border:#ffffff14;--p-glass-cool-hover:#ffffff1f;--p-highlight-cool:#c06cab26;--p-highlight-cool-strong:#c06cab38;--p-gradient-cool:#161420b3;--p-color-link-warm:oklch(41.86% .1293 330.26);--p-color-link-warm-hover:oklch(44.03% .1603 303.37);--p-color-link-warm-visited:oklch(37.83% .0949 329.77);--p-color-link-cool:oklch(72.58% .1395 329.28);--p-color-link-cool-hover:oklch(79.09% .1139 328.87);--p-color-link-cool-visited:oklch(69.43% .1273 329.21);--p-shadow-warm-inline-code:inset 0 -1px 0 #3a342a29, 0 1px 1px #3a342a14;--p-shadow-warm-header-stuck:0 2px 12px #3a342a1a, 0 4px 24px #3a342a0f;--p-shadow-cool-header-stuck:0 2px 12px #0000004d, 0 8px 32px #0003;--p-shadow-cool-blockquote:0 2px 12px #0006;--p-shadow-blur-container:#0000000f 0px 10px 36px 0px, #0000000f 0px 0px 0px 1px;--p-shadow-warm-subtle:0 1px 3px #3a342a0a;--p-shadow-warm-medium:0 2px 8px #3a342a0f, 0 4px 16px #3a342a0a;--p-shadow-warm-elevated:0 4px 12px #3a342a14, 0 8px 32px #3a342a0f;--p-shadow-cool-subtle:0 1px 3px #00000026;--p-shadow-cool-medium:0 2px 8px #0003, 0 4px 16px #0000001f;--p-shadow-cool-elevated:0 4px 12px #00000040, 0 8px 32px #0000002e;--s-color-text:light-dark(var(--p-color-warm-text),var(--p-color-cool-text));--s-color-text-light:light-dark(var(--p-color-warm-text-light),var(--p-color-cool-text-light));--s-color-text-lightest:light-dark(var(--p-color-warm-text-muted),var(--p-color-cool-text-muted));--s-color-text-on-dark:var(--p-color-white);--s-color-text-inverse:light-dark(var(--p-color-warm-darkest),var(--p-color-cool-darkest));--s-color-brand-primary:light-dark(var(--p-color-primary-500),var(--p-color-primary-500-vivid));--s-color-brand-primary-light:light-dark(var(--p-color-primary-100),var(--p-color-primary-100-vivid));--s-color-brand-primary-muted:light-dark(var(--p-color-primary-300),var(--p-color-primary-300-vivid));--s-color-brand-primary-dark:light-dark(var(--p-color-primary-darker),var(--p-color-primary-darker-vivid));--s-color-brand-primary-darkest:light-dark(var(--p-color-primary-dark),var(--p-color-primary-dark-vivid));--s-color-secondary:light-dark(var(--p-color-secondary),var(--p-color-secondary-dark));--s-color-support:light-dark(var(--p-color-support),var(--p-color-support-bright));--s-color-rss-1:var(--p-color-rss-1);--s-color-rss-2:var(--p-color-rss-2);--s-surface-0:light-dark(var(--p-surface-warm-0),var(--p-surface-cool-0));--s-surface-1:light-dark(var(--p-surface-warm-1),var(--p-surface-cool-1));--s-surface-2:light-dark(var(--p-surface-warm-2),var(--p-surface-cool-2));--s-surface-contrast:light-dark(var(--p-color-warm-lightest),var(--p-color-cool-lightest));--s-surface-border:light-dark(var(--p-surface-warm-border),var(--p-surface-cool-border));--s-accent-subtle:light-dark(var(--p-accent-warm),var(--p-accent-cool));--s-color-surface-glass:light-dark(var(--p-glass-warm),var(--p-glass-cool));--s-color-surface-glass-border:light-dark(var(--p-glass-warm-border),var(--p-glass-cool-border));--s-color-surface-glass-hover:light-dark(var(--p-glass-warm-hover),var(--p-glass-cool-hover));--s-color-highlight:light-dark(var(--p-highlight-warm),var(--p-highlight-cool));--s-color-highlight-strong:light-dark(var(--p-highlight-warm-strong),var(--p-highlight-cool-strong));--s-selection-background:light-dark(var(--s-color-brand-primary-light),var(--s-color-brand-primary-dark));--s-selection-foreground:light-dark(var(--s-color-text),var(--s-color-text-on-dark));--s-color-gray-100:light-dark(var(--p-color-gray-warm-100),var(--p-color-gray-cool-100));--s-color-gray-200:light-dark(var(--p-color-gray-warm-200),var(--p-color-gray-cool-200));--s-color-gray-300:light-dark(var(--p-color-gray-warm-300),var(--p-color-gray-cool-300));--s-color-gray-400:light-dark(var(--p-color-gray-warm-400),var(--p-color-gray-cool-400));--s-color-gray-500:light-dark(var(--p-color-gray-warm-500),var(--p-color-gray-cool-500));--s-color-gray-600:light-dark(var(--p-color-gray-warm-600),var(--p-color-gray-cool-600));--s-color-gray-700:light-dark(var(--p-color-gray-warm-700),var(--p-color-gray-cool-700));--s-color-gray-800:light-dark(var(--p-color-gray-warm-800),var(--p-color-gray-cool-800));--s-color-gray-900:light-dark(var(--p-color-gray-warm-900),var(--p-color-gray-cool-900));--s-color-link:light-dark(var(--p-color-link-warm),var(--p-color-link-cool));--s-color-link-hover:light-dark(var(--p-color-link-warm-hover),var(--p-color-link-cool-hover));--s-color-link-visited:light-dark(var(--p-color-link-warm-visited),var(--p-color-link-cool-visited));--s-color-bg:var(--s-surface-0);--s-color-divider:light-dark(var(--s-surface-border),var(--p-color-gray-cool-200));--s-color-header-bg:light-dark(var(--p-surface-warm-header),var(--p-surface-cool-header));--s-color-logo:light-dark(var(--p-color-warm-darkest),var(--p-color-cool-darkest));--s-color-logo-bg:light-dark(var(--p-color-primary-500),var(--p-color-primary-500-vivid));--s-color-on-contrast:var(--p-color-white);--s-color-footer-bg:light-dark(var(--p-color-footer-gradient-start),var(--p-color-footer-gradient-end));--s-surface-card:light-dark(var(--p-surface-warm-card),var(--p-surface-cool-card));--s-surface-card-reel:light-dark(var(--p-surface-warm-card-reel),var(--p-surface-cool-reel));--s-surface-card-solid:light-dark(var(--p-surface-warm-card-solid),var(--p-surface-cool-card-muted));--s-surface-lightbox:light-dark(var(--p-surface-warm-opaque),var(--p-surface-cool-deep));--s-surface-categories-dot:light-dark(var(--p-glass-warm-faint),var(--p-glass-cool-faint));--s-surface-categories-grad-start:light-dark(var(--p-accent-warm-peach-soft),var(--p-accent-cool-deep-muted));--s-surface-categories-grad-end:light-dark(var(--p-accent-warm-peach-medium),var(--p-accent-cool-deep));--s-surface-cta-bg:light-dark(var(--p-glass-dark-subtle),var(--p-glass-light-subtle));--s-surface-cta-hover:light-dark(var(--p-glass-dark-hover),var(--p-glass-light-medium));--s-color-bluesky:var(--p-color-bluesky);--s-color-facebook:var(--p-color-facebook);--s-color-linkedin:var(--p-color-linkedin);--s-color-mastodon:var(--p-color-mastodon);--s-color-instagram:var(--p-color-instagram);--s-color-spotify:var(--p-color-spotify);--s-color-sessionize:var(--p-color-sessionize);--s-color-rss-social:var(--p-color-rss-social);--s-color-reddit:var(--p-color-reddit);--s-color-icon-sun:var(--p-color-icon-sun);--s-color-icon-moon:var(--p-color-icon-moon);--s-shadow-inline-code:light-dark(var(--p-shadow-warm-inline-code),none);--s-shadow-blur-container:var(--p-shadow-blur-container);--s-shadow-dialog:var(--p-shadow-dialog);--s-shadow-badge-active:var(--p-shadow-badge-active);--s-overlay-backdrop:var(--p-overlay-backdrop);--s-color-like:var(--p-color-like);--s-color-boost:var(--p-color-boost);--s-lightbox-btn-bg:var(--p-glass-light-faint);--s-lightbox-btn-hover-bg:var(--p-glass-light-hover);--c-header-shadow-stuck:light-dark(var(--p-shadow-warm-header-stuck),var(--p-shadow-cool-header-stuck));--s-color-alert-success-bg:var(--p-color-alert-success-bg);--s-color-alert-success-text:var(--p-color-alert-success-text);--s-color-alert-warning-bg:var(--p-color-alert-warning-bg);--s-color-alert-warning-text:var(--p-color-alert-warning-text);--s-color-alert-error-bg:var(--p-color-alert-error-bg);--s-color-alert-error-text:var(--p-color-alert-error-text);--s-color-badge-html:var(--p-color-badge-html);--s-color-badge-css:var(--p-color-badge-css);--s-color-badge-ux:var(--p-color-badge-ux);--s-color-badge-js:var(--p-color-badge-js);--s-color-badge-js-text:var(--p-color-warm-darkest);--s-color-badge-accessibility:var(--p-color-badge-accessibility);--s-color-badge-life:var(--p-color-badge-life);--s-color-badge-photography:var(--p-color-badge-photography);--s-color-image-gradient:light-dark(var(--p-gradient-warm),var(--p-gradient-cool));--s-color-overlay-bg:light-dark(var(--p-surface-warm-0),var(--p-color-primary-dark-vivid));--s-color-overlay-text:light-dark(var(--p-color-primary-darker),var(--p-color-white));--s-color-overlay-text-hover:light-dark(var(--p-color-primary-500),var(--p-color-primary-300-vivid));--s-color-overlay-text-active:light-dark(var(--p-color-warm-text),var(--p-color-primary-100-vivid));--s-color-overlay-divider:light-dark(var(--p-color-gray-warm-300),var(--p-glass-light-strong));--s-color-overlay-btn-bg:light-dark(var(--p-glass-warm),var(--p-glass-cool-border));--s-color-overlay-btn-border:light-dark(var(--p-glass-warm-border),var(--p-glass-light-low));--s-color-overlay-btn-hover:light-dark(var(--p-glass-warm-hover),var(--p-glass-light-mid));--s-color-overlay-btn-color:light-dark(var(--p-color-warm-darkest),var(--p-color-white));--s-shadow-subtle:var(--p-shadow-warm-subtle);--s-shadow-medium:var(--p-shadow-warm-medium);--s-shadow-elevated:var(--p-shadow-warm-elevated);--s-accent-weight:3px;--s-focus-ring:var(--s-color-brand-primary);--s-focus-ring-offset:var(--s-surface-0);--s-focus-ring-on-dark:var(--s-color-text-on-dark);--s-scrollbar-thumb:light-dark(color-mix(in oklab, var(--p-surface-warm-2), var(--p-color-primary-500) 65%),var(--p-color-primary-darker-vivid));--s-scrollbar-track:light-dark(var(--p-color-gray-warm-100),transparent);--s-scrollbar-thumb-root:light-dark(color-mix(in oklab, var(--p-surface-warm-2), var(--p-color-primary-300) 78%),color-mix(in oklab, var(--p-surface-cool-2), var(--p-color-primary-500-vivid) 78%));--s-scrollbar-track-root:light-dark(var(--p-color-gray-warm-100),var(--p-color-gray-cool-100));--c-btn-color:light-dark(var(--s-color-brand-primary-dark),var(--s-color-text-inverse));--c-btn-border:light-dark(color-mix(in oklab, var(--s-surface-border), var(--s-color-brand-primary-muted) 27%),var(--p-glass-light-hover));--c-btn-stop-1:light-dark(color-mix(in oklab, var(--s-surface-2), var(--s-color-brand-primary-muted) 16%),color-mix(in oklab, var(--s-surface-1), var(--s-color-brand-primary) 13%));--c-btn-stop-2:light-dark(color-mix(in oklab, var(--s-surface-1), var(--s-color-brand-primary-muted) 12%),color-mix(in oklab, var(--s-surface-2), var(--s-color-brand-primary) 38%));--c-btn-hover-stop-1:light-dark(color-mix(in oklab, var(--s-surface-2), var(--s-color-brand-primary-muted) 26%),color-mix(in oklab, var(--s-surface-1), var(--s-color-brand-primary) 22%));--c-btn-hover-stop-2:light-dark(color-mix(in oklab, var(--s-surface-1), var(--s-color-brand-primary-muted) 22%),color-mix(in oklab, var(--s-surface-2), var(--s-color-brand-primary) 55%));--c-btn-hover-color:light-dark(color-mix(in oklab, var(--s-color-brand-primary-dark), black 6%),var(--s-color-text-on-dark));--c-btn-hover-border:light-dark(color-mix(in oklab, color-mix(in oklab, var(--s-surface-border), var(--s-color-brand-primary-muted) 27%), var(--s-color-brand-primary-muted) 28%),color-mix(in oklab, var(--p-glass-light-overlay), var(--s-color-brand-primary-muted) 20%));--c-btn-secondary-border:light-dark(color-mix(in oklab, var(--s-surface-border), var(--s-color-brand-primary-muted) 20%),var(--p-glass-light-border));--c-btn-secondary-color:light-dark(color-mix(in oklab, var(--s-color-brand-primary-dark), var(--s-color-text) 35%),var(--s-color-text-light));--c-btn-secondary-bg:light-dark(color-mix(in oklab, var(--s-surface-1), var(--s-surface-0) 50%),var(--p-glass-light-ghost));--c-header-border-color:light-dark(color-mix(in oklab, var(--s-surface-border), var(--s-surface-0) 40%),var(--p-glass-light-medium));--c-nav-desktop-link-color:light-dark(var(--s-color-brand-primary-dark),var(--s-color-brand-primary-light));--c-nav-desktop-link-hover-color:light-dark(var(--s-color-brand-primary-dark),var(--s-color-brand-primary-muted));--c-breadcrumb-link-color:light-dark(var(--s-color-brand-primary-dark),var(--s-color-brand-primary));--c-breadcrumb-link-hover:light-dark(var(--s-color-brand-primary),var(--s-color-brand-primary-muted));--c-breadcrumb-icon-color:light-dark(currentcolor,var(--s-color-gray-800));--c-nav-page-link-color:light-dark(currentcolor,var(--s-color-brand-primary-light));--c-nav-page-link-hover:light-dark(currentcolor,var(--s-color-brand-primary-muted));--c-nav-page-item-bg:transparent;--c-nav-page-item-color:light-dark(var(--s-color-text),var(--s-color-text));--c-nav-page-item-hover-bg:light-dark(color-mix(in oklab, var(--s-color-brand-primary), transparent 85%),color-mix(in oklab, var(--s-surface-2), transparent 30%));--c-nav-page-item-active-bg:light-dark(var(--s-color-brand-primary),var(--s-color-brand-primary-dark));--c-nav-page-item-active-color:light-dark(var(--s-color-text-on-dark),var(--s-color-text-on-dark));--c-io-logo-color:light-dark(#000,#fff);--c-io-bg-color:light-dark(#fff,#000);--c-badge-general-active-bg:light-dark(var(--s-color-brand-primary-dark),var(--s-color-brand-primary));--c-badge-general-active-border:light-dark(var(--s-color-brand-primary-dark),var(--s-color-brand-primary));--c-footer-social-hover-color:light-dark(var(--s-color-brand-primary-darkest),var(--s-color-brand-primary-light));--c-footer-color:light-dark(var(--s-color-text),var(--s-color-on-contrast));--c-footer-bg:light-dark(var(--s-color-footer-bg),var(--s-color-brand-primary-darkest));--c-footer-bg-image:linear-gradient(135deg, light-dark(var(--s-color-footer-bg),var(--s-color-brand-primary-darkest)), light-dark(var(--s-color-footer-bg),var(--s-color-brand-primary-darkest)));--c-lightbox-bg:var(--s-surface-lightbox);--c-article-share-link-bg:light-dark(color-mix(in oklab, var(--s-surface-2), var(--s-surface-0) 60%),var(--s-color-surface-glass));--c-rte-figcaption-color:light-dark(var(--s-surface-contrast),var(--s-color-text-on-dark));--c-article-by-border:light-dark(var(--s-color-divider),color-mix(in oklab, var(--s-surface-border), var(--s-color-brand-primary) 25%));--c-blockquote-border-color:light-dark(var(--s-color-brand-primary),var(--s-color-brand-primary-muted));--c-home-latest-card-bg:var(--s-surface-card);--c-home-latest-card-border:light-dark(var(--s-color-gray-200),var(--s-color-gray-200));--c-about-card-bg:var(--s-surface-card-solid);--c-about-card-border:light-dark(var(--s-color-gray-200),var(--s-color-gray-200));--c-home-categories-dot-color:var(--s-surface-categories-dot);--c-home-categories-gradient-start:var(--s-surface-categories-grad-start);--c-home-categories-gradient-end:var(--s-surface-categories-grad-end);--c-carousel-arrow-bg:light-dark(var(--s-surface-0),var(--s-surface-1));--c-carousel-arrow-border:light-dark(var(--s-color-gray-300),var(--s-color-gray-300));--c-carousel-fade:light-dark(var(--s-surface-0),var(--p-surface-cool-reel));--c-photo-reel-bg:var(--s-surface-card-reel);--c-photo-cta-bg:var(--s-surface-cta-bg);--c-photo-cta-border:light-dark(var(--s-color-gray-400),var(--s-color-gray-300));--c-photo-cta-color:light-dark(var(--s-color-gray-700),var(--s-color-gray-600));--c-photo-cta-hover-bg:var(--s-surface-cta-hover);--c-kofi-button-bg:var(--p-color-kofi);--c-badge-html-active:var(--s-color-badge-html);--c-badge-css-active:var(--s-color-badge-css);--c-badge-ux-active:var(--s-color-badge-ux);--c-badge-js-active:var(--s-color-badge-js);--c-badge-js-text-active:var(--s-color-badge-js-text);--c-badge-accessibility-active:var(--s-color-badge-accessibility);--c-badge-life-active:var(--s-color-badge-life);--c-badge-photography-active:var(--s-color-badge-photography)}.dark{--s-shadow-subtle:var(--p-shadow-cool-subtle);--s-shadow-medium:var(--p-shadow-cool-medium);--s-shadow-elevated:var(--p-shadow-cool-elevated)}:root{--p-spacing-0:0;--p-spacing-1:4px;--p-spacing-2:8px;--p-spacing-3:12px;--p-spacing-4:16px;--p-spacing-5:24px;--p-spacing-6:32px;--p-spacing-7:48px;--p-spacing-8:64px;--p-spacing-9:96px;--p-spacing-10:144px;--s-spacing-0:var(--p-spacing-0);--s-spacing-1:var(--p-spacing-1);--s-spacing-2:var(--p-spacing-2);--s-spacing-3:var(--p-spacing-3);--s-spacing-4:var(--p-spacing-4);--s-spacing-5:var(--p-spacing-5);--s-spacing-6:var(--p-spacing-6);--s-spacing-7:var(--p-spacing-7);--s-spacing-8:var(--p-spacing-8);--s-spacing-9:var(--p-spacing-9);--s-spacing-10:var(--p-spacing-10);--p-radius-xs:2px;--p-radius-sm:3px;--p-radius-md:10px;--p-radius-lg:12px;--p-radius-xl:14px;--p-radius-2xl:18px;--p-radius-3xl:20px;--p-radius-full:100vw;--s-radius-md:var(--p-radius-md);--s-radius-card:var(--p-radius-2xl) var(--p-radius-2xl) var(--p-radius-2xl) var(--p-radius-sm);--s-radius-card-mirror:var(--p-radius-sm) var(--p-radius-2xl) var(--p-radius-2xl) var(--p-radius-2xl);--s-radius-badge:var(--p-radius-lg) var(--p-radius-lg) var(--p-radius-lg) var(--p-radius-sm);--s-radius-btn:var(--p-radius-full) var(--p-radius-full) var(--p-radius-full) 0;--s-radius-code:var(--p-radius-lg) var(--p-radius-lg) var(--p-radius-lg) var(--p-radius-xs);--s-radius-surface:var(--p-radius-3xl);--s-radius-pill:var(--p-radius-full);--s-progress-height:6px;--p-duration-instant:.1s;--p-duration-fast:.2s;--p-duration-default:.25s;--p-duration-slow:.35s;--p-duration-slower:.5s;--p-easing-default:ease;--p-easing-out:ease-out;--p-easing-in-out:ease-in-out;--s-transition-duration-instant:var(--p-duration-instant);--s-transition-duration-fast:var(--p-duration-fast);--s-transition-duration-default:var(--p-duration-default);--s-transition-duration-slow:var(--p-duration-slow);--s-transition-duration-slower:var(--p-duration-slower);--s-transition-easing-default:var(--p-easing-default);--s-transition-easing-out:var(--p-easing-out);--s-transition-easing-in-out:var(--p-easing-in-out);--s-divider-gradient:linear-gradient(90deg, transparent, var(--s-color-gray-300) 20%, var(--s-color-gray-500) 50%, var(--s-color-gray-300) 80%, transparent);--s-divider-diamond:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)}@supports (corner-shape:squircle){:root{--p-radius-xs:3px;--p-radius-sm:4px;--p-radius-md:10px;--p-radius-lg:14px;--p-radius-xl:16px;--p-radius-2xl:22px;--p-radius-3xl:24px}}:root{--p-font-family-base:"Inter", system-ui, sans-serif;--p-font-family-heading:"Young Serif", Georgia, serif;--p-font-weight-regular:400;--p-font-weight-medium:500;--p-font-weight-semibold:600;--p-font-weight-bold:700;--s-font-family-base:var(--p-font-family-base);--s-font-family-heading:var(--p-font-family-heading);--s-font-weight-regular:var(--p-font-weight-regular);--s-font-weight-medium:var(--p-font-weight-medium);--s-font-weight-semibold:var(--p-font-weight-semibold);--s-font-weight-bold:var(--p-font-weight-bold);--s-font-size-base:clamp(1rem, .46vw + .91rem, 1.31rem);--s-line-height-base:clamp(1.625rem, .74vw + 1.48rem, 2.13rem);--s-font-size-h1:clamp(1.3125rem, 3.15vw + .68rem, 3.44rem);--s-line-height-h1:clamp(1.625rem, 3.61vw + .9rem, 4.06rem);--s-font-size-h2:clamp(1.375rem, 1.11vw + 1.16rem, 2rem);--s-line-height-h2:clamp(1.6875rem, 1.39vw + 1.41rem, 2.5rem);--s-font-size-h3:clamp(1.125rem, .93vw + .94rem, 1.75rem);--s-line-height-h3:clamp(1.4375rem, 1.48vw + 1.14rem, 2.44rem);--s-font-size-h4:clamp(1.0625rem, .56vw + .94rem, 1.5rem);--s-line-height-h4:clamp(1.4375rem, .56vw + 1.28rem, 2rem);--s-font-size-h5:clamp(1rem, .09vw + .98rem, 1.06rem);--s-line-height-h5:clamp(1.375rem, .19vw + 1.34rem, 1.5rem);--s-font-size-lead:clamp(1.125rem, .74vw + .98rem, 1.63rem);--s-line-height-lead:clamp(1.75rem, 1.11vw + 1.53rem, 2.5rem);--s-font-size-sm:clamp(.75rem, .19vw + .71rem, .88rem);--s-line-height-sm:clamp(1.25rem, .19vw + 1.21rem, 1.38rem);--s-font-size-xs:clamp(.6875rem, .09vw + .67rem, .75rem);--s-line-height-xs:clamp(.9375rem, .09vw + .92rem, 1rem);--s-line-height-default:1.65}@font-face{font-style:normal;font-weight:400;src:url(/assets/fonts/young-serif-latin-400.woff2)format("woff2");font-family:Young Serif;font-display:swap}@font-face{font-style:normal;font-weight:400 700;src:url(/assets/fonts/inter-latin-variable.woff2)format("woff2");font-family:Inter;font-display:swap}@font-face{font-style:normal;font-weight:400;src:local(""),url(/assets/fonts/source-code-pro-v22-latin-regular.woff2)format("woff2"),url(/assets/fonts/source-code-pro-v22-latin-regular.woff)format("woff");font-family:Source Code Pro;font-display:swap}}@layer reset{:where(*){box-sizing:border-box;scrollbar-color:var(--s-scrollbar-thumb) var(--s-scrollbar-track);scrollbar-width:thin}:where(){box-sizing:inherit}:where(html){interpolate-size:allow-keywords;text-size-adjust:100%}:where(body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd){margin:0}:where(ul,ol)[role=list]{list-style:none}:where(body){background-color:var(--s-color-bg);min-block-size:100dvh;color:var(--s-color-text);line-height:var(--s-line-height-default);text-wrap:pretty}:where(a:not([class])){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}:where(img,picture){border-radius:var(--s-radius-md);block-size:auto;inline-size:100%;max-inline-size:100%;display:block}:where(video){aspect-ratio:16/9;-o-object-fit:contain;object-fit:contain;block-size:auto;inline-size:100%;max-inline-size:100%}:where(input,button,textarea,select){font:inherit}:where(html,body){scrollbar-color:var(--s-scrollbar-thumb-root) var(--s-scrollbar-track-root);scrollbar-width:auto}}@layer atoms{.wrapper{--_wrapper-max-inline-size:1600px;margin-inline:max(clamp(var(--s-spacing-4), 5.45vw + -.09rem, var(--s-spacing-8)), 50% - var(--_wrapper-max-inline-size) / 2)}.page-main{z-index:1;position:relative}body{font-weight:var(--s-font-weight-regular);font-size:var(--s-font-size-base);line-height:var(--s-line-height-base);font-family:var(--s-font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:is(h1,h2,h3,h4,h5,h6),p{margin:0}:is(h1,.h1){font-weight:var(--s-font-weight-regular);font-size:var(--s-font-size-h1);line-height:var(--s-line-height-h1);font-family:var(--s-font-family-heading);letter-spacing:-.02em;text-wrap:balance;&.medium{--s-font-size-h1:clamp(1.625rem, 1.3vw + 1.37rem, 2.5rem);--s-line-height-h1:clamp(1.875rem, 2.31vw + 1.41rem, 3.44rem)}}:is(h2,.h2){font-weight:var(--s-font-weight-regular);font-size:var(--s-font-size-h2);line-height:var(--s-line-height-h2);font-family:var(--s-font-family-heading);letter-spacing:-.01em;text-wrap:balance}:is(h3,.h3){font-weight:var(--s-font-weight-regular);font-size:var(--s-font-size-h3);line-height:var(--s-line-height-h3);font-family:var(--s-font-family-heading);letter-spacing:-.01em;text-wrap:balance}:is(h4,.h4){font-weight:var(--s-font-weight-regular);font-size:var(--s-font-size-h4);line-height:var(--s-line-height-h4);font-family:var(--s-font-family-heading)}:is(h5,.h5){font-weight:var(--s-font-weight-regular);font-size:var(--s-font-size-h5);line-height:var(--s-line-height-h5);font-family:var(--s-font-family-heading)}p{text-wrap:pretty;margin-block-end:clamp(22px,.56vw + 1.26rem,1.75rem)}.text-reset{font-weight:var(--s-font-weight-regular);font-size:var(--s-font-size-base);line-height:var(--s-line-height-base);font-family:var(--s-font-family-base)}.lead{color:var(--s-color-text-light);font-weight:var(--s-font-weight-regular);font-size:var(--s-font-size-lead);line-height:var(--s-line-height-lead)}small,.small,label{font-weight:var(--s-font-weight-regular);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);font-family:var(--s-font-family-base)}strong{font-weight:var(--s-font-weight-semibold)}kbd{border:1px solid var(--s-surface-border);background-color:var(--s-surface-1);box-shadow:var(--s-shadow-inline-code);color:var(--s-color-text);font-weight:var(--s-font-weight-medium);vertical-align:baseline;white-space:nowrap;border-radius:.25rem;padding:.15em .4em;font-family:Source Code Pro,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.85em;line-height:1;display:inline-block}blockquote{border-inline-start:var(--s-accent-weight) solid var(--c-blockquote-border-color,var(--s-color-brand-primary));background:var(--s-surface-contrast);box-shadow:var(--c-blockquote-shadow,var(--s-shadow-subtle));color:var(--s-color-text);border-radius:8px;margin-block-end:1.25rem;padding-block:1.5rem;padding-inline:2.75rem 1.5rem;line-height:1.6;display:block;position:relative;& p{margin:0}}blockquote:before{content:"“";color:var(--s-color-brand-primary-muted);font-family:Young Serif,Georgia,serif;font-size:3.5rem;font-weight:700;line-height:1;position:absolute;inset-block-start:.25rem;inset-inline-start:.6rem}blockquote:after{z-index:1;block-size:clamp(2.5rem,2rem + 1.5vi,3rem);inline-size:clamp(2.9rem,2rem + 1.5vi,3.2rem);background:var(--s-color-brand-primary-light);content:"";opacity:.12;pointer-events:none;border-radius:62% 38% 46% 54%/60% 44% 56% 40%;position:absolute;inset-block-start:calc(-1 * var(--s-spacing-2));inset-inline-start:0;rotate:-12deg}blockquote a{background:var(--s-color-gray-100);color:var(--s-color-brand-primary);cursor:pointer;border-radius:3px;padding:0 3px;text-decoration:none}blockquote a:hover{color:var(--s-color-brand-primary-dark)}blockquote cite{font-style:italic}.dark{--c-blockquote-shadow:var(--p-shadow-cool-blockquote)}.nav-list,.list-unstyled{margin:0;padding:0;list-style:none}.alert{--_alert-bg:var(--c-alert-bg,var(--s-color-gray-200));--_alert-color:var(--c-alert-color,var(--s-color-text-inverse));padding:var(--s-spacing-3);background:var(--_alert-bg);color:var(--_alert-color);border-radius:8px;position:relative;& p{margin:0}}.alert-success{--c-alert-bg:var(--s-color-alert-success-bg);--c-alert-color:var(--s-color-alert-success-text)}.alert-warning{--c-alert-bg:var(--s-color-alert-warning-bg);--c-alert-color:var(--s-color-alert-warning-text)}.alert-error{--c-alert-bg:var(--s-color-alert-error-bg);--c-alert-color:var(--s-color-alert-error-text)}.rte .alert{& ul li::marker,& a{color:var(--_alert-color)}& a:is(:hover,:active){opacity:.9}}@property --_btn-stop-1{syntax:"<color>";inherits:false;initial-value:#0000}@property --_btn-stop-2{syntax:"<color>";inherits:false;initial-value:#0000}@property --_btn-angle{syntax:"<angle>";inherits:false;initial-value:180deg}@keyframes backgroundMove{0%{background-position:0 0}to{background-position:100% 0}}@keyframes backgroundMoveOut{0%{background-position:100% 0}to{background-position:0 0}}.btn{--_btn-padding-x:var(--s-spacing-4);--_btn-padding-y:var(--s-spacing-3);--_btn-icon-gap:var(--s-spacing-3);--_btn-font-size:.875rem;--_btn-font-line-height:1.25rem;--_btn-bg:color-mix(in oklab, var(--s-surface-2), var(--s-color-brand-primary-light) 12%);--_btn-border:color-mix(in oklab, var(--s-surface-border), var(--s-color-brand-primary-muted) 27%);--_btn-color:var(--c-btn-color,var(--s-color-brand-primary-dark));--_btn-accent:var(--s-accent-subtle);--_btn-stop-1:var(--c-btn-stop-1,color-mix(in oklab, var(--s-surface-2), var(--s-color-brand-primary-muted) 16%));--_btn-stop-2:var(--c-btn-stop-2,color-mix(in oklab, var(--s-surface-1), var(--s-color-brand-primary-muted) 12%));--_btn-angle:180deg;padding:var(--_btn-padding-y) var(--_btn-padding-x);border:1px solid var(--_btn-border);border-radius:var(--s-radius-btn);background:linear-gradient(var(--_btn-angle), var(--_btn-stop-1), var(--_btn-stop-2));box-shadow:none;isolation:isolate;color:var(--_btn-color);font-weight:var(--s-font-weight-semibold);font-size:var(--_btn-font-size);line-height:var(--_btn-font-line-height);font-family:var(--s-font-family-base);letter-spacing:.01em;cursor:pointer;transition:border-color var(--s-transition-duration-default) var(--s-transition-easing-default), color var(--s-transition-duration-fast) var(--s-transition-easing-default), --_btn-stop-1 var(--s-transition-duration-slow) var(--s-transition-easing-default), --_btn-stop-2 var(--s-transition-duration-slow) var(--s-transition-easing-default), --_btn-angle var(--s-transition-duration-default) var(--s-transition-easing-default);align-items:center;text-decoration:none;display:inline-flex;position:relative;@media (width>=1400px){--_btn-font-size:.9375rem;--_btn-font-line-height:1.5rem;--_btn-padding-x:var(--s-spacing-5);--_btn-padding-y:var(--s-spacing-3);--_btn-icon-gap:var(--s-spacing-4)}&>span{z-index:1;block-size:100%;inline-size:100%;display:flex;position:relative}&:hover,&:focus-visible{--_btn-stop-1:var(--c-btn-hover-stop-1,color-mix(in oklab, var(--s-surface-2), var(--s-color-brand-primary-muted) 26%));--_btn-stop-2:var(--c-btn-hover-stop-2,color-mix(in oklab, var(--s-surface-1), var(--s-color-brand-primary-muted) 22%));--_btn-angle:var(--c-btn-hover-angle,192deg);border-color:var(--c-btn-hover-border,color-mix(in oklab, var(--_btn-border), var(--s-color-brand-primary-muted) 28%));color:var(--c-btn-hover-color,color-mix(in oklab, var(--s-color-brand-primary-dark), black 6%))}&:focus-visible{box-shadow:0 0 0 2px var(--s-focus-ring-offset), 0 0 0 4px var(--s-focus-ring);outline:none}&.has-icon>span{align-items:center;gap:var(--_btn-icon-gap)}&:is(:link,:visited,:active){color:var(--_btn-color)}& em{margin-inline-start:4px}}.btn-secondary{--_btn-border:var(--c-btn-secondary-border,color-mix(in oklab, var(--s-surface-border), var(--s-color-brand-primary-muted) 20%));--_btn-color:var(--c-btn-secondary-color,color-mix(in oklab, var(--s-color-brand-primary-dark), var(--s-color-text) 35%));--_btn-accent:color-mix(in oklab, var(--s-color-brand-primary-muted), var(--s-surface-border) 55%);background:var(--c-btn-secondary-bg,color-mix(in oklab, var(--s-surface-1), var(--s-surface-0) 50%));box-shadow:none}.btn-rss{--_btn-color:var(--s-color-text);inline-size:100%;box-shadow:none;font-weight:var(--s-font-weight-regular);font-size:1rem;font-family:var(--s-font-family-heading);letter-spacing:0;text-decoration-line:underline;text-decoration-color:color-mix(in oklab, currentcolor, transparent 40%);text-underline-offset:.3em;text-transform:none;transition:color var(--s-transition-duration-fast) var(--s-transition-easing-default), text-decoration-color var(--s-transition-duration-fast) var(--s-transition-easing-default);background:0 0;border:0;border-radius:0;justify-content:center;padding-inline:0;text-decoration-thickness:1px;&:hover,&:focus-visible{color:var(--s-color-link-hover);text-decoration-color:currentColor}&:focus-visible{outline:2px solid var(--s-focus-ring);outline-offset:2px}&:any-link{color:var(--s-color-text)}& span{justify-content:space-between;align-items:center;gap:var(--s-spacing-3);inline-size:100%;display:flex}}.btn-menu-toggle{aspect-ratio:1;border:1px solid var(--s-color-surface-glass-border);background:var(--s-color-surface-glass);inline-size:2.25rem;color:var(--s-color-text-inverse);cursor:pointer;transition:background-color var(--s-transition-duration-fast) var(--s-transition-easing-default);border-radius:50%;order:1;justify-content:center;align-items:center;padding:0;display:flex;&:is(:hover,:focus-visible){background-color:var(--s-color-surface-glass-hover)}&:focus-visible{outline:2px solid var(--s-focus-ring);outline-offset:2px}@media (width>=768px){display:none}}.btn-link{color:var(--s-color-text);cursor:pointer;background:0 0;border:none;border-radius:0;text-decoration:underline}.dark .btn:hover,.dark .btn:focus-visible{--c-btn-hover-angle:196deg}.badge{padding:var(--s-spacing-1) var(--s-spacing-2);border:1px solid var(--s-color-gray-600);border-radius:var(--s-radius-pill);background-color:var(--s-surface-contrast);color:var(--s-color-gray-800);font-weight:var(--c-badge-font-weight,var(--s-font-weight-medium));font-size:var(--c-badge-font-size,var(--s-font-size-sm));line-height:1;font-family:var(--s-font-family-base);transition:background-color var(--s-transition-duration-fast) var(--s-transition-easing-default), color var(--s-transition-duration-fast) var(--s-transition-easing-default), border-color var(--s-transition-duration-fast) var(--s-transition-easing-default), scale var(--s-transition-duration-fast) var(--s-transition-easing-default);align-items:center;text-decoration:none;display:inline-flex;&:any-link{color:var(--s-color-gray-800)}&:is(:hover,:focus-visible){background-color:var(--s-color-brand-primary-light);color:var(--s-color-gray-900);scale:1.05}&.active{border:1px solid var(--s-color-brand-primary-dark);background-color:var(--s-color-brand-primary-dark);color:var(--s-color-on-contrast)}}.badge-usp{aspect-ratio:4/3;background:var(--s-surface-contrast);inline-size:100%;box-shadow:var(--s-shadow-badge-active);font-weight:var(--s-font-weight-bold);font-family:var(--s-font-family-base);border:none;justify-content:center;display:flex;position:relative;&:any-link{color:var(--s-color-gray-800)}&:is(:hover,:focus-visible),&.active{background-image:radial-gradient(closest-side at 50% 50%, var(--p-glass-light-faint), transparent);color:var(--s-surface-contrast)}}.badge-html{&:is(:hover,:focus-visible),&.active{border-color:var(--c-badge-html-active,var(--s-color-badge-html));background-color:var(--c-badge-html-active,var(--s-color-badge-html));color:var(--s-color-on-contrast)}}.badge-css{&:is(:hover,:focus-visible,:active),&.active{border-color:var(--c-badge-css-active,var(--s-color-badge-css));background-color:var(--c-badge-css-active,var(--s-color-badge-css));color:var(--s-color-on-contrast)}}.badge-ux,.badge-ui{&:is(:hover,:focus-visible,:active),&.active{border-color:var(--c-badge-ux-active,var(--s-color-badge-ux));background-color:var(--c-badge-ux-active,var(--s-color-badge-ux));color:var(--s-color-on-contrast)}}.badge-javascript{&:is(:hover,:focus-visible,:active),&.active{border-color:var(--c-badge-js-active,var(--s-color-badge-js));background-color:var(--c-badge-js-active,var(--s-color-badge-js));color:var(--c-badge-js-text-active,var(--s-color-badge-js-text))}}.badge-general{&:is(:hover,:focus-visible,:active),&.active{border-color:var(--c-badge-general-active-border,var(--s-color-brand-primary-dark));background-color:var(--c-badge-general-active-bg,var(--s-color-brand-primary-dark));color:var(--s-color-on-contrast)}}.badge-accessibility{&:is(:hover,:focus-visible,:active),&.active{border-color:var(--c-badge-accessibility-active,var(--s-color-badge-accessibility));background-color:var(--c-badge-accessibility-active,var(--s-color-badge-accessibility));color:var(--s-color-on-contrast)}}.badge-life{&:is(:hover,:focus-visible,:active),&.active{border-color:var(--c-badge-life-active,var(--s-color-badge-life));background-color:var(--c-badge-life-active,var(--s-color-badge-life));color:var(--s-color-on-contrast)}}.badge-photography{&:is(:hover,:focus-visible,:active),&.active{border-color:var(--c-badge-photography-active,var(--s-color-badge-photography));background-color:var(--c-badge-photography-active,var(--s-color-badge-photography));color:var(--s-color-on-contrast)}}.blur-container{backdrop-filter:blur(13px);box-shadow:var(--s-shadow-blur-container)}a{text-underline-offset:.3em;transition:background-color var(--s-transition-duration-slow) var(--s-transition-easing-default), color var(--s-transition-duration-slow) var(--s-transition-easing-default);&:link{color:var(--s-color-link)}&:visited{color:var(--s-color-link-visited)}&:is(:hover,:focus-visible){color:var(--s-color-link-hover)}}a.nav-link:visited{color:var(--s-color-link)}a:focus-within,.btn:focus-within{outline-color:var(--s-color-brand-primary-muted)}.icon{block-size:1.5rem;inline-size:1.5rem;min-inline-size:1.5rem;display:inline-block}.lds-ripple{block-size:80px;inline-size:80px;display:inline-block;position:relative}.lds-ripple div{border:4px solid var(--s-color-gray-500);opacity:1;border-radius:50%;animation:1s cubic-bezier(0,.2,.8,1) infinite lds-ripple;position:absolute}.lds-ripple div:nth-child(2){animation-delay:-.5s}@keyframes lds-ripple{0%{opacity:1;width:0;height:0;top:36px;left:36px}to{opacity:0;width:72px;height:72px;top:0;left:0}}.embed{inline-size:100%;container-type:inline-size;&>*{aspect-ratio:4/3;border:0;block-size:100%;inline-size:100%}& p{aspect-ratio:auto}@container (inline-size>=768px){&>*{aspect-ratio:16/9}& p{aspect-ratio:auto}}}.card-clickable{cursor:pointer;position:relative;&:is(:hover,:active){& .card-action{--btn-bg:var(--s-color-brand-primary);animation:.8s forwards backgroundMove;&:before,& span:before{block-size:100%}& span:after{inline-size:100%}}}& .card-action{position:static;&:before{display:none}}& .card-action:after{z-index:1;box-shadow:none;content:"";background:0 0;position:absolute;inset:0}}@supports (corner-shape:squircle){.intro-text,.home-latest .article-preview,pre[class*=language-],.nav-category,.related,.comments{corner-shape:squircle}.comments-avatar,.comments-avatar img{corner-shape:squircle;border-radius:30%}.article-share,.sidebar .search{corner-shape:squircle}.btn:not(.btn-link){corner-shape:round;transition:border-color var(--s-transition-duration-default) var(--s-transition-easing-default), color var(--s-transition-duration-fast) var(--s-transition-easing-default), --_btn-stop-1 var(--s-transition-duration-slow) var(--s-transition-easing-default), --_btn-stop-2 var(--s-transition-duration-slow) var(--s-transition-easing-default), --_btn-angle var(--s-transition-duration-default) var(--s-transition-easing-default), corner-shape var(--s-transition-duration-default) var(--s-transition-easing-default), border-radius var(--s-transition-duration-default) var(--s-transition-easing-default);&:is(:hover,:focus-visible){corner-shape:round round round scoop;--s-radius-btn:var(--s-radius-pill) var(--s-radius-pill) var(--s-radius-pill) 50vw}}}@supports (view-transition-name:navigation){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}.header-container{view-transition-name:site-header}.page-main{view-transition-name:page-content}.footer-primary{view-transition-name:site-footer}.article-overview .sidebar{@media (width>=1024px){view-transition-name:article-sidebar}}::view-transition-old(site-header),::view-transition-new(site-header),::view-transition-old(site-footer),::view-transition-new(site-footer){animation:none}::view-transition-group(*){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(page-content){animation:.15s ease-out both vt-fade-out}::view-transition-new(page-content){animation:.2s ease-out .1s both vt-fade-in}[data-vt]{view-transition-name:attr(data-vt type(<custom-ident>))}.related [data-vt]{view-transition-name:none}.article-preview-image,.article-latest .article-preview-image{view-transition-class:post-image}.article-preview-header h2,.article-latest .article-preview-header h2,.article-header h1{view-transition-class:post-title}.article-body>figure:first-child{view-transition-class:post-image}.article-preview-description p,.article-latest .article-preview-description p,.article-body>.lead{view-transition-class:post-lead}.article-preview-description .btn,.article-latest .article-preview-description .btn{view-transition-class:post-btn}.article-preview-date,.article-header .article-preview-date{view-transition-class:post-date}::view-transition-group(.post-image){animation-duration:.35s;animation-timing-function:cubic-bezier(.4,0,.15,1);overflow:clip;@supports (corner-shape:squircle){& ::view-transition-group(.post-image){corner-shape:squircle;border-radius:40%}}}::view-transition-old(.post-image),::view-transition-new(.post-image){-o-object-fit:cover;object-fit:cover;mix-blend-mode:normal;block-size:100%;inline-size:100%}:active-view-transition-type(forward){&::view-transition-old(page-content){animation:.25s cubic-bezier(.4,0,1,1) both vt-slide-out-left}&::view-transition-new(page-content){animation:.3s cubic-bezier(0,0,.2,1) 50ms both vt-slide-in-right}}:active-view-transition-type(back){&::view-transition-old(page-content){animation:.25s cubic-bezier(.4,0,1,1) both vt-slide-out-right}&::view-transition-new(page-content){animation:.3s cubic-bezier(0,0,.2,1) 50ms both vt-slide-in-left}}:active-view-transition-type(same-level){&::view-transition-old(page-content){animation:.1s ease-out both vt-fade-out}&::view-transition-new(page-content){animation:.15s ease-out 50ms both vt-fade-in}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-slide-out-left{to{opacity:0;translate:-8%}}@keyframes vt-slide-in-right{0%{opacity:0;translate:8%}}@keyframes vt-slide-out-right{to{opacity:0;translate:8%}}@keyframes vt-slide-in-left{0%{opacity:0;translate:-8%}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important;animation-delay:0s!important}}}}@layer molecules{.nav-primary .nav-link{padding:var(--s-spacing-5);font-weight:var(--s-font-weight-semibold);font-size:.875rem;line-height:1;font-family:var(--s-font-family-base);letter-spacing:.06em;text-align:center;text-transform:uppercase;text-decoration:none;display:block}.nav-desktop{display:none;@media (width>=768px){justify-content:flex-end;display:flex}& .nav-list{justify-content:flex-end;align-items:center;gap:.25rem;display:flex}& .nav-link{color:var(--c-nav-desktop-link-color,var(--s-color-brand-primary-dark));text-align:start;transition:color var(--s-transition-duration-fast) var(--s-transition-easing-default), background-color var(--s-transition-duration-fast) var(--s-transition-easing-default);border-radius:100vw;padding-block:.5rem;padding-inline:1rem;&:is(:hover,:focus-visible){background-color:var(--c-nav-desktop-link-hover-bg,var(--s-color-surface-glass));color:var(--c-nav-desktop-link-hover-color,var(--s-color-brand-primary-dark))}&.active{background-color:var(--s-color-highlight);color:var(--s-color-text)}}}.header .nav-desktop .nav-list{border:1px solid var(--s-color-surface-glass-border);background:var(--s-color-surface-glass);border-radius:100vw;padding:.25rem;position:relative}@supports (anchor-name:--a){.nav-desktop .nav-link{z-index:1;position:relative;&:not(:has(.nav-link:hover)).active,&:is(:hover,:focus-visible){anchor-name:--nav-pill;background-color:#0000}&.active:is(:hover,:focus-visible){background-color:#0000}}.nav-desktop .nav-list:has(.nav-link:hover) .nav-link.active:not(:hover){anchor-name:none}.nav-desktop .nav-list:before{position-anchor:--nav-pill;inset:anchor(top) anchor(right) anchor(bottom) anchor(left);background:var(--s-color-highlight);content:"";transition:var(--s-transition-duration-fast);border-radius:100vw;position:absolute}.nav-desktop .nav-list:not(:has(.nav-link:hover)):before{background:var(--s-color-highlight-strong)}}.nav-mobile{background-color:var(--s-color-overlay-bg);opacity:1;block-size:100%;max-block-size:none;inline-size:100%;max-inline-size:none;transition:opacity var(--s-transition-duration-slow) var(--s-transition-easing-default), translate var(--s-transition-duration-slow) var(--s-transition-easing-default), overlay var(--s-transition-duration-slow) allow-discrete, display var(--s-transition-duration-slow) allow-discrete;border:0;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:0;position:fixed;inset:0;translate:100%;& .nav-list{flex-direction:column;align-items:center;display:flex}& .nav-item{position:relative;&:not(:first-child):before{background-color:var(--s-color-overlay-divider);content:"";block-size:1px;inline-size:12px;position:absolute;inset-block-start:0;inset-inline-start:50%;translate:-50%}}& .nav-link{padding:var(--s-spacing-5) var(--s-spacing-8);color:var(--s-color-overlay-text);font-size:1.125rem;&:visited{color:var(--s-color-overlay-text)}&:is(:hover,:focus-visible){color:var(--s-color-overlay-text-hover)}&.active{color:var(--s-color-overlay-text-active)}}@media (width>=768px){display:none}}.nav-mobile:popover-open{display:flex;translate:0}.btn-menu-close{aspect-ratio:1;inline-size:2.5rem;border:1px solid var(--s-color-overlay-btn-border);background:var(--s-color-overlay-btn-bg);color:var(--s-color-overlay-btn-color);cursor:pointer;transition:background-color var(--s-transition-duration-fast) var(--s-transition-easing-default);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset-block-start:var(--s-spacing-5);inset-inline-end:var(--s-spacing-5);&:is(:hover,:focus-visible){background-color:var(--s-color-overlay-btn-hover)}&:focus-visible{outline:2px solid var(--s-accent-subtle);outline-offset:2px}}@starting-style{.nav-mobile:popover-open{opacity:0;translate:100%}}@media (prefers-reduced-motion:reduce){.nav-mobile:popover-open{transition-duration:.01ms}}.nav-category{inline-size:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:relative;overflow:visible;& .nav-list{gap:var(--s-spacing-2);flex-wrap:wrap;display:flex}& .badge{padding:var(--s-spacing-2) var(--s-spacing-3);text-transform:uppercase}}.nav-page{justify-content:center;align-items:center;gap:var(--s-spacing-2);border-block-start:1px solid var(--s-color-divider);flex-wrap:wrap;margin-block-start:var(--s-spacing-7);padding-block-start:var(--s-spacing-5);display:flex;container-type:inline-size;& :is(a,span):where(.previous,.next){align-items:center;gap:var(--s-spacing-2);color:var(--c-nav-page-link-color,inherit);font-family:var(--s-font-family-base);text-decoration:none;display:flex;& .icon{transition:translate var(--s-transition-duration-slower) var(--s-transition-easing-default)}}& a:where(.previous,.next){&:is(:hover,:focus-visible){color:var(--c-nav-page-link-hover,inherit);& .icon{translate:8px}}&.previous:is(:hover,:focus-visible) .icon{translate:-8px}}& span[aria-disabled=true]{opacity:.35;pointer-events:none}& .nav-page-indicator{color:var(--s-color-text-light);text-align:center;text-wrap:balance;flex-basis:100%;order:1;padding-block-start:var(--s-spacing-1);font-size:.875rem;@container (inline-size>=480px){display:none}}& .nav-page-list{gap:var(--s-spacing-1);align-items:center;margin:0;padding:0;list-style:none;display:none;@container (inline-size>=480px){display:flex}}& .nav-page-number{min-block-size:2.25rem;min-inline-size:2.25rem;padding-inline:var(--s-spacing-1);border-radius:var(--s-radius-md);background:var(--c-nav-page-item-bg,transparent);color:var(--c-nav-page-item-color,inherit);font-family:var(--s-font-family-base);transition:background-color var(--s-transition-duration-fast) var(--s-transition-easing-default), color var(--s-transition-duration-fast) var(--s-transition-easing-default);justify-content:center;align-items:center;font-size:.9375rem;text-decoration:none;display:inline-flex;&:is(:hover,:focus-visible){background:var(--c-nav-page-item-hover-bg)}&[aria-current=page]{background:var(--c-nav-page-item-active-bg);color:var(--c-nav-page-item-active-color);pointer-events:none;font-weight:700}}& .nav-page-ellipsis{min-block-size:2.25rem;min-inline-size:1.5rem;color:var(--s-color-text-lightest);font-family:var(--s-font-family-base);letter-spacing:.1em;justify-content:center;align-items:center;display:inline-flex}}.breadcrumb{padding-block:var(--s-spacing-3);border-block-end:1px solid var(--s-color-divider);font-weight:var(--s-font-weight-semibold);letter-spacing:.03em;& .nav-list{text-overflow:ellipsis;white-space:nowrap;inline-size:100%;display:inline-flex;overflow:hidden}& .nav-item{align-items:center;display:flex;&:last-child{min-inline-size:0;color:var(--s-color-gray-800);text-overflow:ellipsis;white-space:nowrap;display:inline;overflow:hidden}}& .nav-link{transition:color var(--s-transition-duration-fast) var(--s-transition-easing-default);text-decoration:none;&:any-link{color:var(--c-breadcrumb-link-color,var(--s-color-brand-primary-dark))}&:is(:hover,:focus-visible){color:var(--c-breadcrumb-link-hover,var(--s-color-brand-primary));text-decoration:none}}& .icon{block-size:8px;inline-size:8px;margin-inline:var(--s-spacing-2);color:var(--c-breadcrumb-icon-color,inherit)}}.form-group{position:relative;& label{font-size:var(--s-font-size-base)}& input,& textarea{inline-size:100%;padding:var(--s-spacing-3);border:1px solid var(--s-color-gray-500);outline-color:var(--s-color-brand-primary-dark);background-color:var(--s-surface-contrast);color:var(--s-color-gray-700);caret-color:var(--s-color-brand-primary);font-size:1rem;line-height:1.5rem;font-family:var(--s-font-family-base);border-radius:4px;&:focus-visible{border:1px solid var(--s-color-gray-900);scale:1.004}}& textarea{resize:vertical;min-block-size:160px}}.icon-search{border-radius:0 3px 3px 0;justify-content:center;align-items:center;gap:0;inline-size:40px;padding:0;display:flex;position:absolute;inset-block:13px 0;inset-inline-end:0;&>span{justify-content:center;align-items:center}}.buy-coffee{padding-block-start:var(--s-spacing-4)}.buy-coffee:before{block-size:6px;background-color:var(--s-surface-border);content:"";margin-block-end:var(--s-spacing-4);display:block;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 6'%3E%3Cpath d='M0 3Q5 0 10 3Q15 6 20 3' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E");mask-size:20px 6px;mask-repeat:repeat-x}.buy-coffee .btn-container{inline-size:100%!important}.buy-coffee .kofi-button{transition:filter var(--s-transition-duration-default) ease-out;border-radius:3px;background-color:var(--c-kofi-button-bg)!important;inline-size:100%!important}.buy-coffee .kofi-button .kofitext{color:var(--s-color-on-contrast)!important}.buy-coffee .kofi-button:hover{filter:brightness(1.15)}.kofitext img.kofiimg{animation:none!important}.io-trigger{timeline-trigger:--io-trigger view() contain / cover;position:absolute;inset:30% 0}.io{--logo-color:var(--c-io-logo-color,black);--background-color:var(--c-io-bg-color,white);transform-origin:50%;cursor:pointer;animation-trigger:--io-trigger play-forwards none;grid-template-columns:auto auto;justify-content:start;gap:8px;animation:.15s 1.5s both moveCanvas;display:grid;transform:translate(50%);& .path{background:var(--s-color-logo);background-image:var(--background-image,none);background-size:var(--background-size,auto)}& .path-1{transform-origin:100% 100%;block-size:35px;inline-size:27px;clip-path:path("M2.38.154c-5.96 13.4.06 29.09 13.46 35.06l10.8-24.26L2.38.154Z");opacity:0;animation-trigger:--io-trigger play-forwards none;margin-inline-start:6px;animation:2s both top-i;transform:translate(-78%)translateY(96.95%)rotate(-24deg)}& .path-2{transform-origin:100% 100%;block-size:60px;inline-size:38px;clip-path:path("M 21.648 0.1 L 0.108 48.48 L 24.368 59.28 L 35.108 35.15 C 41.068 21.76 35.038 6.06 21.648 0.1 Z");animation-trigger:--io-trigger play-forwards none;animation:2s both bottom-i;transform:translate(calc(100vw + 100%))rotate(-24deg)}& .path-3{block-size:93px;inline-size:92px;clip-path:path("M 46.404 23.66 C 59.014 23.66 69.264 33.92 69.264 46.52 C 69.264 59.12 59.004 69.38 46.404 69.38 C 33.804 69.38 23.544 59.12 23.544 46.52 C 23.544 33.92 33.804 23.66 46.404 23.66 M 46.404 0.8 C 21.154 0.8 0.684 21.27 0.684 46.52 C 0.684 71.77 21.154 92.24 46.404 92.24 C 71.654 92.24 92.124 71.77 92.124 46.52 C 92.134 21.27 71.664 0.8 46.404 0.8 Z");animation-trigger:--io-trigger play-forwards none;margin-block-start:3px;animation:2s both right-o;transform:translate(calc(100vw + 100%))scaleX(1)}@media (prefers-reduced-motion:reduce){animation:none;transform:translate(0);& .path-1{opacity:1;animation:none;transform:translate(0)translateY(0)rotate(0)}& .path-2{animation:none;transform:translate(0)translateY(0)rotate(0)}& .path-3{animation:none;transform:translate(0)scaleX(1)}}}@supports not (animation-trigger:none){.io{animation:none;transform:translate(0);& .path-1{opacity:1;animation:none;transform:translate(0)translateY(0)rotate(0)}& .path-2{animation:none;transform:translate(0)translateY(0)rotate(0)}& .path-3{animation:none;transform:translate(0)scaleX(1)}}}@keyframes moveCanvas{0%{transform:translate(50%)}to{transform:translate(0)}}@keyframes top-i{0%,47%{opacity:0;transform:translate(-100%)translateY(96.95%)rotate(-24deg)}48%,56%{opacity:1;transform:translate(-100%)translateY(96.95%)rotate(-24deg)}60%,71%{opacity:1;transform:translate(-78%)translateY(96.95%)rotate(-24deg)}84%{opacity:1;transform:translate(-78%)translateY(0)rotate(-24deg)}88%{opacity:1;transform:translate(-78%)translateY(0)rotate(-24deg)}to{opacity:1;transform:translate(0)translateY(0)rotate(0)}}@keyframes bottom-i{0%{transform:translate(calc(100vw + 100%))rotate(-24deg)}20%{transform:translate(0)rotate(-24deg)}34%{transform:translate(0)rotate(-24deg)}43%{transform:translate(0)translateY(-4%)rotate(-24deg)}50%,90%{transform:translate(0)translateY(0)rotate(-24deg)}to{transform:translate(0)translateY(0)rotate(0)}}@keyframes right-o{0%,67%{transform:translate(calc(100vw + 100%))scaleX(1)}78%{transform:translate(-35%)scaleX(.95)}82%{transform:translate(-24%)scaleX(1)}to{transform:translate(0)scaleX(1)}}@supports selector(::details-content){::details-content{block-size:0;transition:padding-block var(--s-transition-duration-slow) var(--s-transition-easing-default), block-size var(--s-transition-duration-slow) var(--s-transition-easing-default), content-visibility var(--s-transition-duration-slow) var(--s-transition-easing-default) allow-discrete;overflow:clip}@starting-style{details[open]::details-content{block-size:0}}}details[open]{& summary{border-block-end:1px dashed var(--_accent-color);&:after{rotate:-180deg}}@supports selector(::details-content){&::details-content{block-size:auto}}}details{--_accent-color:var(--c-details-accent,var(--s-color-brand-primary-dark));--_padding:1rem;border:1px solid var(--_accent-color);background:var(--s-color-gray-100);&:has(+details){border-block-end-color:#0000}&:first-child{border-radius:5px 5px 0 0}&:last-child{border-radius:0 0 5px 5px}}summary{padding:var(--_padding);letter-spacing:.03em;cursor:pointer;grid-template-columns:1fr auto;align-items:center;font-family:Lilita One,sans-serif;font-size:1.1rem;font-style:normal;font-weight:400;display:grid;&::marker{content:""}&::-webkit-details-marker{display:none}&:after{background:var(--s-color-text);content:"";block-size:1.5rem;inline-size:1.5rem;transition:rotate var(--s-transition-duration-slow) var(--s-transition-easing-out);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E%0A")}}.content-wrapper{--_padding:1.5rem;padding:var(--_padding)}.section-header{border-block-end:1px solid;-o-border-image:var(--s-divider-gradient) 1;border-image:var(--s-divider-gradient) 1;margin-block-end:var(--s-spacing-5);padding-block-end:var(--s-spacing-4);position:relative;&:after{background:var(--s-color-text);content:"";block-size:12px;inline-size:12px;clip-path:var(--s-divider-diamond);position:absolute;inset-block-end:-6px;inset-inline-start:50%;translate:-50%}}@supports (scroll-marker-group:after){.bluesky-feed,.photo-reel-carousel{&::scroll-button(inline-start){z-index:2;aspect-ratio:1;border:1px solid var(--c-carousel-arrow-border,var(--s-color-gray-300));background-position:50%;background-repeat:no-repeat;background-size:14px;background-color:var(--c-carousel-arrow-bg,var(--s-surface-0));inline-size:40px;box-shadow:var(--s-shadow-subtle);content:"";cursor:pointer;transition:background-color var(--s-transition-duration-default) var(--s-transition-easing-default), border-color var(--s-transition-duration-default) var(--s-transition-easing-default), box-shadow var(--s-transition-duration-fast) var(--s-transition-easing-default);border-radius:50%;margin-block-start:10px;position:absolute}&::scroll-button(inline-end){z-index:2;aspect-ratio:1;border:1px solid var(--c-carousel-arrow-border,var(--s-color-gray-300));background-position:50%;background-repeat:no-repeat;background-size:14px;background-color:var(--c-carousel-arrow-bg,var(--s-surface-0));inline-size:40px;box-shadow:var(--s-shadow-subtle);content:"";cursor:pointer;transition:background-color var(--s-transition-duration-default) var(--s-transition-easing-default), border-color var(--s-transition-duration-default) var(--s-transition-easing-default), box-shadow var(--s-transition-duration-fast) var(--s-transition-easing-default);border-radius:50%;margin-block-start:10px;position:absolute}&::scroll-button(inline-start){content:"" / "slide previous";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E")}&::scroll-button(inline-end){content:"" / "slide next";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E")}.dark &::scroll-button(inline-start){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8e4df' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E")}.dark &::scroll-button(inline-end){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8e4df' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E")}&::scroll-button(inline-start):not(:disabled):hover{border-color:var(--c-btn-hover-border,color-mix(in oklab, var(--s-color-gray-300), var(--s-color-brand-primary-muted) 28%));background-color:var(--c-btn-hover-stop-1,color-mix(in oklab, var(--s-surface-2), var(--s-color-brand-primary-muted) 26%));box-shadow:var(--s-shadow-medium)}&::scroll-button(inline-end):not(:disabled):hover{border-color:var(--c-btn-hover-border,color-mix(in oklab, var(--s-color-gray-300), var(--s-color-brand-primary-muted) 28%));background-color:var(--c-btn-hover-stop-1,color-mix(in oklab, var(--s-surface-2), var(--s-color-brand-primary-muted) 26%));box-shadow:var(--s-shadow-medium)}&::scroll-button(inline-start):disabled{box-shadow:none;cursor:default;opacity:.35}&::scroll-button(inline-end):disabled{box-shadow:none;cursor:default;opacity:.35}}.bluesky-feed{anchor-name:--bluesky-carousel;&::scroll-button(inline-start){position-anchor:--bluesky-carousel;top:anchor(end);inset-inline:auto anchor(end)}&::scroll-button(inline-end){position-anchor:--bluesky-carousel;top:anchor(end);inset-inline:auto anchor(end)}&::scroll-button(inline-end){translate:calc(-1 * var(--s-spacing-3)) calc(-100% - var(--s-spacing-5))}&::scroll-button(inline-start){translate:calc(-1 * var(--s-spacing-3) - 48px) calc(-100% - var(--s-spacing-5))}}.photo-reel-carousel{anchor-name:--photo-carousel;&::scroll-button(inline-start){position-anchor:--photo-carousel;top:anchor(end);inset-inline:auto anchor(end)}&::scroll-button(inline-end){position-anchor:--photo-carousel;top:anchor(end);inset-inline:auto anchor(end)}&::scroll-button(inline-end){translate:calc(-1 * var(--s-spacing-3)) calc(-100% - var(--s-spacing-5))}&::scroll-button(inline-start){translate:calc(-1 * var(--s-spacing-3) - 48px) calc(-100% - var(--s-spacing-5))}}}.scroll-fade{display:none}@supports (container-type:scroll-state){.bluesky-feed,.photo-reel-carousel{container-type:scroll-state}.scroll-fade{z-index:1;opacity:0;pointer-events:none;inline-size:20px;transition:opacity var(--s-transition-duration-slow) var(--s-transition-easing-default);flex:0 0 20px;align-self:stretch;display:block;position:sticky}.scroll-fade-start{background:linear-gradient(to right, color-mix(in oklab, var(--c-carousel-fade,var(--s-surface-0)) 50%, transparent), transparent);order:-1;margin-inline-end:-20px;inset-inline-start:0}.scroll-fade-end{background:linear-gradient(to left, color-mix(in oklab, var(--c-carousel-fade,var(--s-surface-0)) 50%, transparent), transparent);order:999;margin-inline-start:-20px;inset-inline-end:0}.home-photo-reel .scroll-fade{--c-carousel-fade:var(--c-photo-reel-bg,var(--s-surface-card-reel))}@container scroll-state(scrollable:left){.scroll-fade-start{opacity:1}}@container scroll-state(scrollable:right){.scroll-fade-end{opacity:1}}}body:has(.preferences-dialog-wrap[open]){overflow:hidden}.preferences-dialog-wrap{background:0 0;border:none;border-radius:12px;max-inline-size:800px;padding:0;&::backdrop{background-color:var(--s-overlay-backdrop)}}.preferences-dialog{padding:var(--s-spacing-5);background-color:var(--s-surface-contrast);box-shadow:var(--s-shadow-dialog);color:var(--s-color-text);border-radius:12px;& .preferences-title{color:inherit}& .btn-link{color:var(--s-color-text)}& .button-group{justify-content:space-between;align-items:center;display:flex}}}@layer organisms{.social-icons{& a svg{display:block;overflow:visible}& .facebook{--_social-brand-color:var(--s-color-facebook)}& .linkedin{--_social-brand-color:var(--s-color-linkedin)}& .bluesky,& .twitter{--_social-brand-color:var(--s-color-bluesky)}& .mastodon{--_social-brand-color:var(--s-color-mastodon)}& .instagram{--_social-brand-color:var(--s-color-instagram)}& .codepen,& .eyeem{--_social-brand-color:var(--c-footer-social-hover-color,var(--s-color-brand-primary-darkest))}& .spotify{--_social-brand-color:var(--s-color-spotify)}& .sessionize{--_social-brand-color:var(--s-color-sessionize)}& .rss{--_social-brand-color:var(--s-color-rss-social)}& .reddit{--_social-brand-color:var(--s-color-reddit)}& :is(a):is(:hover,:focus-visible,:active),& .social-card-title{color:var(--_social-brand-color)}}:root{--c-header-height:clamp(80px, 3.98vw + 52.27px, 108px)}.header-container{z-index:11;position:sticky;inset-block-start:0;@supports (container-type:scroll-state){container-type:scroll-state}}.header{block-size:var(--c-header-height);border-block-end:1px solid var(--c-header-border-color,color-mix(in oklab, var(--s-surface-border), var(--s-surface-0) 40%));background-color:var(--s-color-header-bg);box-shadow:var(--s-shadow-subtle);position:relative;& .wrapper{block-size:var(--c-header-height);align-items:center;gap:var(--s-spacing-5);grid-template-columns:170px auto;display:grid;@media (width>=1024px){grid-template-columns:1fr auto}}& .logo{transform-origin:0;color:var(--s-color-logo);scale:.6;@media (width>=1024px){scale:.8}}}@supports (container-type:scroll-state){.header{border-block-end-color:var(--c-header-border-color,color-mix(in oklab, var(--s-surface-border), var(--s-surface-0) 40%));box-shadow:none;transition:box-shadow var(--s-transition-duration-slow) var(--s-transition-easing-default), border-block-end-color var(--s-transition-duration-slow) var(--s-transition-easing-default)}@container scroll-state(stuck:top){.header{box-shadow:var(--c-header-shadow-stuck)}}html{container-type:scroll-state}.header-container{transition:translate var(--s-transition-duration-slow) var(--s-transition-easing-default)}@container scroll-state(scrolled:top){.header-container{translate:0}}@container scroll-state(scrolled:bottom){.header-container{translate:0 calc(-100% + var(--s-progress-height))}}}@supports (animation-timeline:scroll()){body:has(.article-body) .header:after{inline-size:100%;block-size:var(--s-progress-height);transform-origin:0;background:linear-gradient(90deg, var(--s-color-brand-primary), var(--s-color-brand-primary-muted));content:"";animation:linear both progress-grow scroll(root);position:absolute;inset-block-end:0;inset-inline-start:0;scale:0 1}@keyframes progress-grow{to{scale:1}}}.nav-wrapper{justify-content:flex-end;align-items:center;gap:var(--s-spacing-4);display:flex}.switch-theme{aspect-ratio:1;border:1px solid var(--s-color-surface-glass-border);background:var(--s-color-surface-glass);inline-size:2.25rem;box-shadow:none;cursor:pointer;transition:background-color var(--s-transition-duration-fast) var(--s-transition-easing-default);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;&:is(:hover,:focus-visible){background-color:var(--s-color-surface-glass-hover)}& .icon-sun,& .icon-moon,& .icon-system{display:none}& .icon-sun{color:var(--s-color-icon-sun)}& .icon-moon{color:var(--s-color-icon-moon)}}[data-theme=system] .switch-theme .icon-system,[data-theme=light] .switch-theme .icon-sun,[data-theme=dark] .switch-theme .icon-moon{display:inline-block}:root{--c-article-spacing:var(--s-spacing-4)}.article-list{container-type:inline-size}.rss-image{display:none}.article-preview img,.article-preview picture,.article-overview img,.article-overview picture{border-radius:var(--s-radius-md);filter:var(--c-article-image-filter,none)}.article-preview img,.article-body>figure:first-of-type img{@supports (corner-shape:squircle){corner-shape:squircle;border-radius:80px;@container (width>=680px){border-radius:75vw}}}.article-latest img,.article-latest picture,.article-body>figure:first-of-type img{@supports (corner-shape:squircle){corner-shape:squircle;border-radius:80px}}.article-preview{gap:var(--s-spacing-3);display:grid;@container (width>=680px){-moz-column-gap:var(--s-spacing-5);column-gap:var(--s-spacing-5);row-gap:var(--s-spacing-3);grid-template-rows:auto 1fr;grid-template-columns:180px 1fr}@container (width>=700px){grid-template-columns:280px 1fr}& .article-preview-header{& h2{text-wrap:pretty}@container (width>=680px){order:1;grid-column:1/span 2}@container (width>=700px){order:2;grid-column:auto}}& .article-preview-image{margin-block-end:var(--s-spacing-2);margin-inline:-3px;@container (width>=680px){order:1;grid-row:span 2/span 2;margin-block-end:0;margin-inline:0}}& .article-preview-description{@container (width>=680px){order:2;grid-row:span 2/span 2;& p.default{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}}}&+.article-preview{--c-article-spacing:clamp(var(--s-spacing-4), 1.82vw + .64rem, var(--s-spacing-6));border-block-start:1px solid var(--s-color-divider);margin-block-start:var(--c-article-spacing);padding-block-start:var(--c-article-spacing)}}.article-preview-date{color:var(--s-color-gray-700);font-size:clamp(.875rem,.28vw + .8rem,1rem);line-height:clamp(1.3125rem,.56vw + 1.19rem,1.5625rem);font-family:var(--s-font-family-heading)}.article-latest{--c-article-spacing:clamp(var(--s-spacing-4), 1.82vw + .64rem, var(--s-spacing-6));gap:var(--s-spacing-2);border-block-end:1px solid var(--s-color-divider);flex-direction:column;margin-block-end:var(--c-article-spacing);padding-block-end:var(--c-article-spacing);display:flex;& h2{font-size:var(--s-font-size-h1);line-height:var(--s-line-height-h1)}& .article-preview-image{margin-inline:-3px}& .article-preview-image picture,& .article-preview-image picture img{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;margin-block-end:var(--s-spacing-2)}@container (inline-size>=768px){gap:var(--s-spacing-3)}& .lead{--s-font-size-lead:clamp(1.125rem, .74vw + .98rem, 1.63rem);--s-line-height-lead:clamp(1.9375rem, .74vw + 1.79rem, 2.44rem)}}.icon.external{opacity:.8;margin-inline-start:var(--s-spacing-2)}.dark{--c-article-image-filter:contrast(.99)}.footer-primary{--_footer-color:var(--c-footer-color,var(--s-color-text));z-index:5;padding-block:var(--s-spacing-5);background-image:var(--c-footer-bg-image,linear-gradient(135deg, var(--s-color-footer-bg), var(--s-color-footer-bg)));background-color:var(--c-footer-bg,var(--s-color-footer-bg));color:var(--_footer-color);font-size:clamp(1rem,.28vw + .93rem,1.125rem);line-height:clamp(1.5rem,.42vw + 1.38rem,1.6875rem);font-family:var(--s-font-family-heading);border-radius:0;position:relative;container-type:inline-size;@container (inline-size>=1024px){padding-block:var(--s-spacing-6)}& .wrapper{text-align:center;@container (inline-size>=768px){gap:var(--s-spacing-6);text-align:start;grid-template-columns:repeat(2,1fr);display:grid}}& p{margin-block-end:var(--s-spacing-4)}& .social-icons{& a{margin-inline-end:1rem;display:inline-block}& a.footer-home-link{margin:0}}& .footer-separator{display:none;@container (inline-size>=576px){display:inline}}& .footer-rights{display:block;@container (inline-size>=576px){display:inline}}}.footer-nav{& a,& button{color:var(--_footer-color);font:inherit;cursor:pointer;transition:border-color var(--s-transition-duration-slow) var(--s-transition-easing-default), color var(--s-transition-duration-slow) var(--s-transition-easing-default);background:0 0;border-block-end:.1rem solid #0000;padding:0;text-decoration:none}& :is(a,button):is(:hover,:focus-visible,:active){border-block-end-color:currentColor}& .social-icons{text-align:center;margin-block-end:var(--s-spacing-6);@container (inline-size>=768px){text-align:start;grid-column:span 2/span 2;margin-block-end:0}@container (inline-size>=1024px){grid-column:span 1/span 1}}}.social-icons{& a{color:var(--_footer-color);transition:color var(--s-transition-duration-slow) var(--s-transition-easing-out);text-decoration:none}}.footer-nav{margin-block-start:1.2rem;@container (inline-size>=768px){text-align:end;margin-block-start:0}}.sidebar{--_sidebar-border:color-mix(in oklab, var(--s-surface-border), transparent 30%);margin-block:var(--s-spacing-4);padding-block:var(--s-spacing-4);border-block-start:1px solid var(--_sidebar-border);@media (width>=1024px){padding-block:var(--s-spacing-3) 0;border:none;margin-block:0}& :is(h3,h4,.h4){margin:0 0 var(--s-spacing-3);justify-content:flex-start;align-items:center;gap:var(--s-spacing-2);color:var(--s-color-text-lightest);font-weight:var(--s-font-weight-semibold);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);font-family:var(--s-font-family-base);letter-spacing:.05em;text-transform:uppercase;display:flex}& .search{background:0 0;border:0;padding:0}& .nav-aside{flex-direction:column;flex:auto;min-block-size:0;display:flex;& .buy-coffee{flex-shrink:0}&>div:not(.buy-coffee){flex-direction:column;flex:auto;gap:0;min-block-size:0;display:flex;&>*{padding-block:var(--s-spacing-4);&:first-child{padding-block-start:0}&:last-child{padding-block-end:0}&+*{border-block-start:1px solid var(--_sidebar-border);padding-block-start:var(--s-spacing-4)}}&>.article-toc{padding-block-end:0}&>h3{padding-block:0;&+.nav-category{border-block-start:0;margin-block-start:0;padding-block-start:0}}}}& .sidebar-categories{display:none;@media (width>=1024px){display:block}}& .sticky{flex-direction:column;display:flex;@media (width>=1024px){max-block-size:calc(100dvh - var(--c-header-height) - var(--s-spacing-4) * 2);padding-block:var(--s-spacing-4);position:sticky;inset-block-start:calc(var(--c-header-height) + var(--s-spacing-4))}@media screen and (height<=700px){max-block-size:none;position:static}}}.article-toc{display:none;@media (width>=1024px){min-block-size:0;flex-direction:column;margin-block-end:var(--s-spacing-4);padding-block-start:var(--s-spacing-2);display:flex}& .toc-scroll{flex-direction:column;flex:auto;min-block-size:0;display:flex}& ol{scrollbar-color:var(--s-scrollbar-thumb) var(--s-scrollbar-track);scrollbar-width:thin;flex:auto;min-block-size:0;margin:0;padding:0;list-style:none;overflow-y:auto}& li+li{margin-block-start:var(--s-spacing-1)}& a{padding-inline:var(--s-spacing-3);padding-block:var(--s-spacing-1);border-inline-start:var(--s-accent-weight) solid transparent;color:var(--s-color-text-light);transition:color var(--s-transition-duration-fast) var(--s-transition-easing-default), border-color var(--s-transition-duration-fast) var(--s-transition-easing-default);font-size:.9rem;line-height:1.5;text-decoration:none;display:block;&:hover{color:var(--s-color-brand-primary)}}}.nav-aside>div:not(.buy-coffee)>.article-toc+*{border-block-start:0;padding-block-start:0;@media (width>=1024px){border-block-start:1px solid var(--_sidebar-border);padding-block-start:var(--s-spacing-4)}}@supports (scroll-target-group:auto){@keyframes init-scroll-target-group{0%{scroll-target-group:none}to{scroll-target-group:auto}}.article-toc ol{animation:1ms .1s both init-scroll-target-group}.article-toc a:target-current{border-inline-start-color:var(--s-color-brand-primary);color:var(--s-color-brand-primary);font-weight:var(--s-font-weight-medium)}@supports (anchor-name:--a){.article-toc .toc-scroll{position:relative;overflow:clip}.article-toc a:target-current{anchor-name:--toc-active;border-inline-start-color:#0000}.article-toc .toc-scroll:before{position-anchor:--toc-active;inline-size:var(--s-accent-weight);border-radius:var(--s-radius-pill);background:var(--s-color-brand-primary);content:"";transition:inset-block-start var(--s-transition-duration-fast) var(--s-transition-easing-default), inset-block-end var(--s-transition-duration-fast) var(--s-transition-easing-default);position:absolute;inset-block-start:anchor(top);inset-block-end:anchor(bottom);inset-inline-start:anchor(left)}}}@supports (container-type:scroll-state){.article-toc ol{container-type:scroll-state}.article-toc ol:before,.article-toc ol:after{z-index:1;content:"";opacity:0;pointer-events:none;block-size:24px;transition:opacity var(--s-transition-duration-slow) var(--s-transition-easing-default);display:block;position:sticky}.article-toc ol:before{background:linear-gradient(to bottom, var(--s-color-bg), transparent);margin-block-end:-24px;inset-block-start:0}.article-toc ol:after{background:linear-gradient(to top, var(--s-color-bg), transparent);margin-block-start:-24px;inset-block-end:0}@container scroll-state(scrollable:top){.article-toc ol:before{opacity:1}}@container scroll-state(scrollable:bottom){.article-toc ol:after{opacity:1}}}.page-photography>.wrapper{container-type:inline-size}.photography-header .rte{max-inline-size:900px;padding-block-start:clamp(var(--s-spacing-6), 5vw, var(--s-spacing-8));& p{margin:0}}.photo-grid{-moz-column-gap:var(--s-spacing-3);column-gap:var(--s-spacing-3);margin-block:var(--s-spacing-5);-moz-columns:1;columns:1;@container (inline-size>=768px){-moz-columns:2;columns:2}@container (inline-size>=1024px){-moz-columns:3;columns:3}& img{border-radius:0;block-size:auto;inline-size:100%;display:block}}.photo-grid-item{inline-size:100%;-moz-column-break-inside:avoid;break-inside:avoid;cursor:zoom-in;transition:opacity var(--s-transition-duration-fast) var(--s-transition-easing-default);background:0 0;border:0;margin-block-end:var(--s-spacing-3);padding:0;display:block;overflow:clip;&:is(:hover,:focus-visible){opacity:.88}&:focus-visible{outline:3px solid var(--s-focus-ring-on-dark);outline-offset:2px;box-shadow:0 0 0 5px oklch(0% 0 0/.55)}}.photo-grid-sentinel{block-size:1px}.photo-grid-actions{padding-block:var(--s-spacing-5) var(--s-spacing-7);justify-content:center;display:flex}.photo-grid-actions[hidden],.photo-grid-actions.is-all-loaded{display:none!important}.lightbox{background:var(--c-lightbox-bg,var(--s-surface-lightbox));block-size:100%;max-block-size:100vh;inline-size:100%;max-inline-size:100vw;color:var(--s-color-text-on-dark);opacity:0;transition:opacity var(--s-transition-duration-fast) var(--s-transition-easing-default), overlay var(--s-transition-duration-fast) var(--s-transition-easing-default) allow-discrete, display var(--s-transition-duration-fast) var(--s-transition-easing-default) allow-discrete;border:0;padding:0;overflow:hidden;container-type:inline-size;&::backdrop{background:0 0}&[open]{opacity:1;justify-content:center;align-items:center;display:flex}@starting-style{&[open]{opacity:0}}}.lightbox-content{block-size:100%;inline-size:100%;padding:var(--s-spacing-7);justify-content:center;align-items:center;display:flex;@container (inline-size<=767px){padding:var(--s-spacing-4)}}.lightbox-img{-o-object-fit:contain;object-fit:contain;max-block-size:100%;max-inline-size:100%;transition:opacity var(--s-transition-duration-fast) var(--s-transition-easing-default);user-select:none;border-radius:0;&.lightbox-transitioning{opacity:0}}.lightbox-controls{z-index:1;pointer-events:none;position:fixed;inset:0}.lightbox-btn{background:var(--s-lightbox-btn-bg);block-size:3rem;inline-size:3rem;color:var(--s-color-on-contrast);cursor:pointer;pointer-events:auto;transition:background-color var(--s-transition-duration-fast) var(--s-transition-easing-default), scale var(--s-transition-duration-fast) var(--s-transition-easing-default);border:0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;&:is(:hover,:focus-visible){background:var(--s-lightbox-btn-hover-bg);scale:1.06}&:focus-visible{outline:3px solid var(--s-focus-ring-on-dark);outline-offset:3px;box-shadow:0 0 0 6px oklch(0% 0 0/.5)}}.lightbox-prev{inset-block-start:50%;inset-inline-start:var(--s-spacing-4);translate:0 -50%}.lightbox-next{inset-block-start:50%;inset-inline-end:var(--s-spacing-4);translate:0 -50%}.lightbox-close{inset-block-start:var(--s-spacing-4);inset-inline-end:var(--s-spacing-4)}.comments{padding:var(--s-spacing-4);border:1px solid var(--s-surface-border);border-radius:var(--s-radius-card);background:var(--c-home-latest-card-bg,var(--s-surface-card));box-shadow:var(--s-shadow-subtle);margin-block-end:var(--s-spacing-8);overflow-x:hidden;container-type:inline-size;@container (inline-size>=768px){padding:var(--s-spacing-5)}& h3{border-block-end:1px solid var(--s-surface-border);margin-block-end:var(--s-spacing-4);padding-block-end:var(--s-spacing-4)}& h4{align-items:center;gap:.4rem;margin-block-end:var(--s-spacing-3);display:flex}& .like{color:var(--s-color-like)}& .boost{color:var(--s-color-boost)}& .globe{color:var(--s-color-brand-primary-muted)}& small{justify-content:flex-end;align-items:flex-end;font-size:.9rem;display:flex;& svg{block-size:1.5rem;inline-size:1.5rem;display:inline-block}}}.comments-avatars{margin:0 0 var(--s-spacing-5);flex-wrap:wrap;gap:4px;padding:0;list-style:none;display:flex}.comments-avatar{aspect-ratio:1;transform-origin:50%;background:var(--s-color-gray-200);inline-size:2.25rem;transition:scale var(--s-transition-duration-slow) var(--s-transition-easing-out);border-radius:50%;place-content:center;align-items:center;display:flex;position:relative;&.placeholder{background:var(--s-color-text);justify-content:center;align-items:center;display:flex;& .icon{color:var(--s-color-bg)}}@media (hover:hover){&:hover{scale:1.3}}& img{border-radius:50%;inline-size:100%}}.rte{container-type:inline-size;& .code-block{inline-size:100%;overflow:clip}&>*{margin-block-end:clamp(24px,.74vw + 1.35rem,2rem)}& :is(h1,.h1){margin-block-end:0}& :is(h2,.h2){margin-block-end:clamp(12px,.65vw + .56rem,1rem)}& :is(h3,.h3){margin-block-end:clamp(8px,.56vw + .38rem,.88rem)}& :is(h4,.h4){margin-block-end:clamp(6px,.37vw + .28rem,.75rem)}& .lead{margin-block-end:clamp(35px,1.39vw + 1.91rem,3.13rem)}& p+.code-block,& .code-block+p{margin-block-start:-12px}& :is(p,li) code{border:1px solid var(--s-surface-border);background-color:var(--s-surface-1);border-radius:.3rem;max-inline-size:100%;padding:.1em .25em;font-family:Source Code Pro,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:87%}& figcaption{padding:var(--s-spacing-2);border-block-start:2px solid var(--s-color-brand-primary-muted);background-color:var(--s-color-brand-primary-darkest);color:var(--c-rte-figcaption-color,var(--s-surface-contrast));font-size:1.125rem;font-style:italic;line-height:1.5625rem;font-family:var(--s-font-family-heading);border-radius:0 0 8px 8px;& a,& a:is(:hover,:active,:focus-visible){color:var(--s-color-on-contrast)}}& figure:has(figcaption) img{border-end-end-radius:0;border-end-start-radius:0}& .image{margin-inline:auto;&.quarter{inline-size:25%}&.half{@container (inline-size>=768px){inline-size:50%}}&.thirds{@container (inline-size>=768px){inline-size:75%}}}& ul li::marker{color:var(--s-color-brand-primary)}& .small-image{max-inline-size:270px}& p>code{text-wrap:nowrap}}baseline-status{max-inline-size:100%}.bluesky-feed{--_bluesky-accent:var(--s-color-bluesky);scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-color:var(--s-scrollbar-thumb) var(--s-scrollbar-track);scrollbar-width:thin;padding-block-end:var(--s-spacing-3);display:flex;overflow-x:auto;&::-webkit-scrollbar{block-size:8px}&::-webkit-scrollbar-track{background:var(--s-scrollbar-track)}&::-webkit-scrollbar-thumb{background:var(--s-scrollbar-thumb);border-radius:4px}&::-webkit-scrollbar-thumb:hover{background:var(--s-color-brand-primary-muted)}@supports (scroll-marker-group:after){scrollbar-width:none;padding-block-end:calc(40px + var(--s-spacing-6));&::-webkit-scrollbar{display:none}}}.bluesky-section-header{justify-content:space-between;align-items:center;display:flex;& h2{align-items:center;gap:var(--s-spacing-2);display:flex}}.bluesky-icon{block-size:1.1em;inline-size:1.1em;color:var(--_bluesky-accent,var(--s-color-bluesky));flex-shrink:0}.bluesky-follow-link{color:var(--s-color-gray-600);transition:color var(--s-transition-duration-fast) var(--s-transition-easing-default);margin-inline-start:auto;font-size:.8rem;text-decoration:none;&:hover,&:focus-visible{color:var(--_bluesky-accent,var(--s-color-bluesky))}}.bluesky-posts{gap:var(--s-spacing-5);flex:none;margin:0;padding:0;list-style:none;display:flex;@supports (-moz-column-rule-color:red, red) or (column-rule-color:red, red){-moz-column-rule:1px solid color-mix(in oklab, var(--s-color-text), transparent 80%);column-rule:1px solid color-mix(in oklab, var(--s-color-text), transparent 80%);rule-inset:160px}}.bluesky-post{border:1px solid var(--c-about-card-border,var(--s-color-gray-200));background:var(--c-about-card-bg,var(--s-surface-card-solid));block-size:360px;inline-size:clamp(280px,28vw,340px);box-shadow:var(--s-shadow-subtle);cursor:pointer;scroll-snap-align:start;scroll-snap-stop:always;transition:box-shadow var(--s-transition-duration-slow) var(--s-transition-easing-default), translate var(--s-transition-duration-slow) var(--s-transition-easing-default);border-radius:12px;flex:none;position:relative;overflow:hidden;&:hover{box-shadow:var(--s-shadow-medium)}}.bluesky-post-inner{block-size:100%;padding:var(--s-spacing-3);color:inherit;flex-direction:column;display:flex}.bluesky-post-body{flex:1 1 0;min-block-size:0;overflow:hidden;mask-image:linear-gradient(#000 0% calc(100% - 2.5rem),#0000 100%)}.bluesky-post-text{color:var(--s-color-gray-800);overflow-wrap:break-word;font-size:.94rem;line-height:1.5;& a{z-index:1;position:relative}}.bluesky-post-thumb{max-block-size:200px;inline-size:100%;-o-object-fit:cover;object-fit:cover;border-radius:6px;margin-block-start:var(--s-spacing-2);display:block}.bluesky-post-card{border:1px solid var(--c-about-card-border,var(--s-color-gray-200));background:color-mix(in oklab, var(--s-surface-1), transparent 50%);border-radius:6px;grid-template-columns:48px 1fr;align-items:center;gap:0;margin-block-start:var(--s-spacing-2);display:grid;overflow:hidden;&.no-thumb{grid-template-columns:1fr}& img{-o-object-fit:cover;object-fit:cover;block-size:48px;inline-size:48px;display:block}& .bluesky-post-card-title{-webkit-line-clamp:2;padding:var(--s-spacing-1) var(--s-spacing-2);color:var(--s-color-gray-800);-webkit-box-orient:vertical;font-size:.75rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}}.bluesky-post-meta{border-block-start:1px solid color-mix(in oklab, var(--s-surface-border), transparent 40%);color:var(--s-color-gray-600);flex-shrink:0;justify-content:space-between;align-items:center;margin-block-start:auto;padding-block-start:var(--s-spacing-2);font-size:.75rem;display:flex}.bluesky-post-permalink{color:inherit;text-decoration:none;&:after{z-index:0;border-radius:inherit;content:"";position:absolute;inset:0}&:focus-visible:after{outline:2px solid var(--s-color-brand-primary,var(--_bluesky-accent,var(--s-color-bluesky)));outline-offset:2px}& time{opacity:.8}}.bluesky-post-stats{z-index:1;gap:var(--s-spacing-3);display:flex;position:relative}.bluesky-stat{align-items:center;gap:3px;display:inline-flex;& svg{opacity:.6;block-size:.85em;inline-size:.85em}}.photo-reel-carousel{scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-color:var(--s-scrollbar-thumb) var(--s-scrollbar-track);scrollbar-width:thin;padding-block-end:var(--s-spacing-3);display:flex;overflow-x:auto;&::-webkit-scrollbar{block-size:8px}&::-webkit-scrollbar-track{background:var(--s-scrollbar-track)}&::-webkit-scrollbar-thumb{background:var(--s-scrollbar-thumb);border-radius:4px}&::-webkit-scrollbar-thumb:hover{background:var(--s-color-brand-primary-muted)}@supports (scroll-marker-group:after){scrollbar-width:none;padding-block-end:calc(40px + var(--s-spacing-6));&::-webkit-scrollbar{display:none}}}.photo-reel-scroll{gap:var(--s-spacing-5);flex:none;display:flex}.photo-reel-item{scroll-snap-align:start;scroll-snap-stop:always;flex:none;block-size:clamp(200px,28vw,320px);inline-size:max-content;& picture{block-size:100%;inline-size:max-content;display:block}& img{block-size:100%;inline-size:auto;box-shadow:var(--s-shadow-medium);border-radius:0;display:block}}.photo-reel-header{justify-content:space-between;align-items:center;gap:var(--s-spacing-4);display:flex;& .btn{white-space:nowrap}}.photo-reel-cta{aspect-ratio:3/2;scroll-snap-align:end;flex:none;inline-size:clamp(140px,18vw,200px)}.photo-reel-cta-link{justify-content:center;align-items:center;gap:var(--s-spacing-2);border:1px dashed var(--c-photo-cta-border,var(--s-color-gray-400));background:var(--c-photo-cta-bg,var(--s-surface-cta-bg));block-size:100%;inline-size:100%;color:var(--c-photo-cta-color,var(--s-color-gray-700));transition:background-color var(--s-transition-duration-fast) var(--s-transition-easing-default), color var(--s-transition-duration-fast) var(--s-transition-easing-default), border-color var(--s-transition-duration-fast) var(--s-transition-easing-default);border-radius:8px;flex-direction:column;font-size:.85rem;font-weight:600;text-decoration:none;display:flex;& svg{opacity:.7;block-size:1.5em;inline-size:1.5em;transition:opacity var(--s-transition-duration-fast) var(--s-transition-easing-default)}&:hover,&:focus-visible{border-color:var(--s-color-gray-600);background:var(--c-photo-cta-hover-bg,var(--s-surface-cta-hover));color:var(--s-color-text);& svg{opacity:1}}}.sidebar-about{padding:var(--s-spacing-4);border:1px solid var(--c-about-card-border,var(--s-color-gray-200));background:var(--c-about-card-bg,var(--s-surface-card-solid));box-shadow:var(--s-shadow-subtle);text-align:center;border-radius:16px;@media (width>=1024px){grid-area:2/2;align-self:start;position:sticky;inset-block-start:calc(var(--c-header-height) + var(--s-spacing-4))}& .img-holder{inline-size:80px;margin-block-end:var(--s-spacing-3);margin-inline:auto;position:relative;&:after{z-index:-1;background-image:radial-gradient(closest-side at 50% 50%, var(--s-color-image-gradient), transparent);content:"";position:absolute;inset:-24px}}& img{-o-object-fit:cover;object-fit:cover;border-radius:28%;block-size:80px;inline-size:80px}& .p-name-intro{color:var(--s-color-text-inverse);font-size:clamp(1rem,1vw + .8rem,1.15rem);line-height:var(--s-line-height-lead);font-family:var(--s-font-family-heading);letter-spacing:normal;margin-block-end:var(--s-spacing-1)}& .p-note{color:var(--s-color-gray-800);font-size:1rem;line-height:1.55}}}@layer pages{html,body{scroll-padding-block-start:var(--c-header-height);@media (prefers-reduced-motion:no-preference){scroll-behavior:smooth}}html{color-scheme:light dark}html.light{color-scheme:light only}html.dark{color-scheme:dark only}body{flex-direction:column;display:flex}::selection{background:var(--s-selection-background);color:var(--s-selection-foreground)}.page-main{flex:1;&:has(.page-contact){justify-content:stretch;display:flex}}.page-header{padding-block:var(--s-spacing-5);border-block-end:1px solid;-o-border-image:var(--s-divider-gradient) 1;border-image:var(--s-divider-gradient) 1;margin-block-end:var(--s-spacing-5);position:relative;&.centered .wrapper{text-align:center;inline-size:min(700px,100%);margin-inline:auto;& .search{margin-block-start:var(--s-spacing-4)}}&:after{background:var(--s-color-text);content:"";block-size:12px;inline-size:12px;clip-path:var(--s-divider-diamond);position:absolute;inset-block-end:-6px;inset-inline-start:50%;translate:-50%}}body.overflow-hidden{overflow:hidden}body:has(#mobile-nav:popover-open){overflow:hidden}.grain{z-index:9999;block-size:100%;inline-size:100%;mix-blend-mode:var(--c-grain-blend-mode,multiply);opacity:var(--c-grain-opacity,.035);pointer-events:none;position:fixed;inset:0}.dark{--c-grain-blend-mode:soft-light;--c-grain-opacity:.06}@property --atm-hue-1{syntax:"<number>";inherits:false;initial-value:30}@property --atm-hue-2{syntax:"<number>";inherits:false;initial-value:280}@property --atm-opacity-1{syntax:"<number>";inherits:false;initial-value:.28}@property --atm-opacity-2{syntax:"<number>";inherits:false;initial-value:.06}@property --atm-opacity-3{syntax:"<number>";inherits:false;initial-value:0}.homepage-sections{position:relative;overflow:clip;&>*{z-index:2;position:relative}&:before,&:after{z-index:0;content:"";filter:blur(clamp(60px,8vw,120px));pointer-events:none;will-change:translate, opacity;position:fixed}&:before{background:oklch(85% .08 var(--atm-hue-1));block-size:50vw;inline-size:50vw;opacity:var(--atm-opacity-1);border-radius:62% 38% 46% 54%/60% 44% 56% 40%;inset-block-start:-10%;inset-inline-end:-15%;translate:60% -15%}&:after{background:oklch(82% .1 var(--atm-hue-2));mix-blend-mode:multiply;block-size:45vw;inline-size:45vw;opacity:var(--atm-opacity-2);border-radius:44% 56% 38% 62%/52% 48% 60% 40%;inset-block-end:-10%;inset-inline-start:-15%;translate:-30% 35%}@supports (animation-timeline:scroll()){&:before{--atm-hue-1:30;--atm-opacity-1:.28;animation:linear forwards atm-light-1 scroll(root);animation-range:0% 100%}&:after{--atm-hue-2:290;--atm-opacity-2:.06;animation:linear forwards atm-light-2 scroll(root);animation-range:5% 95%}@media (prefers-reduced-motion:reduce){&:before,&:after{animation:none}}}}.atmosphere-glow{z-index:0;background:var(--p-color-atmosphere);filter:blur(clamp(60px,8vw,120px));block-size:40vw;inline-size:40vw;opacity:var(--atm-opacity-3);pointer-events:none;will-change:translate, scale, opacity;border-radius:52% 48% 44% 56%/46% 54% 38% 62%;position:fixed;inset-block-start:40%;inset-inline-start:30%;@supports (animation-timeline:scroll()){--atm-opacity-3:0;animation:linear forwards atm-light-3 scroll(root);animation-range:15% 85%;@media (prefers-reduced-motion:reduce){animation:none}}}@keyframes atm-light-1{0%{--atm-hue-1:30;--atm-opacity-1:.28;border-radius:62% 38% 46% 54%/60% 44% 56% 40%;translate:60% -15%}33%{--atm-hue-1:25;--atm-opacity-1:.24;border-radius:56% 44% 50% 50%/54% 46% 52% 48%;translate:0% -10%}66%{--atm-hue-1:340;--atm-opacity-1:.1;translate:-25% -80%}to{--atm-hue-1:320;--atm-opacity-1:.1;border-radius:48% 52% 42% 58%/56% 44% 50% 50%;translate:-105% -90%}}@keyframes atm-light-2{0%{--atm-hue-2:290;--atm-opacity-2:.06;border-radius:44% 56% 38% 62%/52% 48% 60% 40%;translate:-30% 35%}33%{--atm-hue-2:295;--atm-opacity-2:.2;border-radius:50% 50% 44% 56%/48% 52% 54% 46%;translate:-55% 40%}66%{--atm-hue-2:305;--atm-opacity-2:.08;translate:-20% 30%}to{--atm-hue-2:300;--atm-opacity-2:.25;border-radius:52% 48% 46% 54%/42% 58% 48% 52%;translate:-50% 38%}}@keyframes atm-light-3{0%{--atm-opacity-3:0;translate:-50% -50%;scale:.9}33%{--atm-opacity-3:.12;translate:-40% -48%;scale:1}66%{--atm-opacity-3:.04;translate:-60% -52%;scale:.95}to{--atm-opacity-3:.16;translate:-35% -46%;scale:1.05}}.home-hero{padding-block:clamp(var(--s-spacing-6), 5vw, var(--s-spacing-8))}.home-hero-grid{gap:var(--s-spacing-4);display:grid;@media (width>=1024px){grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 320px}@media (width>=1400px){grid-template-columns:minmax(0,1fr) 360px}}.home-hero-header{justify-content:space-between;align-items:center;margin-block-end:calc(var(--s-spacing-5) / 2);display:flex;@media (width>=1024px){grid-area:1/1/auto/-1}& .home-hero-btn-label{display:none;@media (width>=768px){display:inline}}}.home-hero-articles{min-inline-size:0;@media (width>=1024px){grid-area:2/1}& .home-articles{gap:var(--s-spacing-6);display:grid;container-type:inline-size}& .article-preview,& .article-latest{& h2 a{color:inherit;transition:color var(--s-transition-duration-fast) var(--s-transition-easing-default);text-decoration:none;&:focus-visible{color:var(--s-color-link)}}& .article-preview-image{order:-1;& a{display:block}& img{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;border-radius:var(--s-radius-md);@supports (corner-shape:squircle){corner-shape:squircle;border-radius:80px}}}@container (width>=630px){padding:var(--s-spacing-4);align-items:center;gap:var(--s-spacing-4);border:1px solid var(--c-home-latest-card-border,var(--s-color-gray-200));background-color:var(--c-home-latest-card-bg,var(--s-surface-card));box-shadow:var(--s-shadow-subtle);transition:box-shadow var(--s-transition-duration-slow) var(--s-transition-easing-default);border-radius:12px;grid-template-rows:auto;grid-template-columns:110px 1fr;display:grid;&:hover,&:focus-within{box-shadow:var(--s-shadow-medium);& h2 a{color:var(--s-color-link)}}& .article-preview-image{order:0;grid-area:1/1;margin-block-end:0;margin-inline:0;& img{aspect-ratio:1;border-radius:18%;@supports (corner-shape:squircle){corner-shape:squircle;border-radius:40%}}}& .article-preview-header{order:0;grid-area:1/2}}@container (width>=800px){grid-template-columns:130px 1fr}}& .article-preview+.article-preview,& .article-latest+.article-preview,& .article-preview+.article-latest{--c-article-spacing:0;margin-block-start:0;@container (width<630px){border-block-start:none;padding-block-start:0}}}.home-bluesky{padding-block:clamp(var(--s-spacing-5), 4vw, var(--s-spacing-7));position:relative}.home-photo-reel{padding-block:clamp(var(--s-spacing-5), 4vw, var(--s-spacing-7));backdrop-filter:blur(16px);background:var(--c-photo-reel-bg,var(--s-surface-card-reel));mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24'%3E%3Ccircle cx='9' cy='2' r='1'/%3E%3Ccircle cx='34' cy='3' r='.8'/%3E%3Ccircle cx='61' cy='1' r='1'/%3E%3Ccircle cx='88' cy='3' r='.7'/%3E%3Ccircle cx='4' cy='6' r='1'/%3E%3Ccircle cx='19' cy='7' r='1.2'/%3E%3Ccircle cx='34' cy='5' r='1'/%3E%3Ccircle cx='49' cy='7' r='1'/%3E%3Ccircle cx='64' cy='6' r='1.1'/%3E%3Ccircle cx='79' cy='5' r='1.2'/%3E%3Ccircle cx='94' cy='7' r='1'/%3E%3Ccircle cx='2' cy='10' r='1.3'/%3E%3Ccircle cx='13' cy='11' r='1.2'/%3E%3Ccircle cx='25' cy='10' r='1.4'/%3E%3Ccircle cx='37' cy='11' r='1.3'/%3E%3Ccircle cx='49' cy='10' r='1.2'/%3E%3Ccircle cx='61' cy='11' r='1.4'/%3E%3Ccircle cx='73' cy='10' r='1.3'/%3E%3Ccircle cx='85' cy='11' r='1.2'/%3E%3Ccircle cx='97' cy='10' r='1.4'/%3E%3Ccircle cx='3' cy='15' r='1.7'/%3E%3Ccircle cx='13' cy='14' r='1.5'/%3E%3Ccircle cx='23' cy='16' r='1.8'/%3E%3Ccircle cx='33' cy='14' r='1.6'/%3E%3Ccircle cx='43' cy='15' r='1.7'/%3E%3Ccircle cx='53' cy='14' r='1.8'/%3E%3Ccircle cx='63' cy='16' r='1.6'/%3E%3Ccircle cx='73' cy='14' r='1.7'/%3E%3Ccircle cx='83' cy='15' r='1.8'/%3E%3Ccircle cx='93' cy='14' r='1.6'/%3E%3Ccircle cx='2' cy='20' r='2.2'/%3E%3Ccircle cx='11' cy='21' r='2'/%3E%3Ccircle cx='21' cy='19' r='2.3'/%3E%3Ccircle cx='31' cy='21' r='2.1'/%3E%3Ccircle cx='40' cy='20' r='2.2'/%3E%3Ccircle cx='50' cy='19' r='2.3'/%3E%3Ccircle cx='59' cy='21' r='2.1'/%3E%3Ccircle cx='69' cy='20' r='2.2'/%3E%3Ccircle cx='78' cy='21' r='2.3'/%3E%3Ccircle cx='88' cy='19' r='2.1'/%3E%3Ccircle cx='97' cy='20' r='2.2'/%3E%3C/svg%3E"),linear-gradient(#000,#000);mask-position:top,0 20px;mask-size:100px 24px,100% 100%;mask-repeat:repeat-x,no-repeat}.home-categories{padding-block:clamp(var(--s-spacing-6), 2.22vw + 1.51rem, var(--s-spacing-7));border-block-start:1px solid var(--s-color-gray-300);background-image:radial-gradient(circle, var(--c-home-categories-dot-color,var(--s-surface-categories-dot)) .5px, transparent .5px), linear-gradient(var(--c-home-categories-gradient-start,var(--s-surface-categories-grad-start)) 0, var(--c-home-categories-gradient-end,var(--s-surface-categories-grad-end)) 90px);background-size:14px 14px,100% 100%;& .badge-usp{--c-badge-font-size:var(--s-font-size-base)}& .nav-list{gap:var(--s-spacing-5);grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));display:grid}}.article-overview{padding-block-start:clamp(var(--s-spacing-6), 5vw, var(--s-spacing-8));padding-block-end:clamp(var(--s-spacing-6), 2.96vw + 1.05rem, var(--s-spacing-8));container-type:inline-size;@media (width>=1024px){gap:var(--s-spacing-7);grid-template-columns:minmax(200px,1fr) 240px;display:grid}@media (width>=1200px){grid-template-columns:minmax(200px,1fr) 320px}@media (width>=1400px){gap:var(--s-spacing-9);grid-template-columns:72ch auto}& .article-preview .article-preview-image img{@container (width>=680px){aspect-ratio:1;-o-object-fit:cover;object-fit:cover}}}.article-header{border-block-end:1px solid;-o-border-image:var(--s-divider-gradient) 1;border-image:var(--s-divider-gradient) 1;margin-block-end:clamp(var(--s-spacing-5), 4vw, var(--s-spacing-7));padding-block-end:var(--s-spacing-4);position:relative;&:after{background:var(--s-color-text);content:"";block-size:12px;inline-size:12px;clip-path:var(--s-divider-diamond);position:absolute;inset-block-end:-6px;inset-inline-start:50%;translate:-50%}& h1{text-wrap:pretty}& .article-preview-date{font-size:1rem;@media (width>=768px){font-size:1.25rem}}}.return-to-overview{margin-block:var(--s-spacing-4) 0;padding-block:var(--s-spacing-7) 0;border-block-start:1px solid;-o-border-image:var(--s-divider-gradient) 1;border-image:var(--s-divider-gradient) 1;justify-content:center;display:flex;position:relative;@media (width>=1024px){margin-block:var(--s-spacing-8) 0;padding-block:var(--s-spacing-8)}&:after{background:var(--s-color-text);content:"";block-size:12px;inline-size:12px;clip-path:var(--s-divider-diamond);position:absolute;inset-block-start:-6px;inset-inline-start:50%;translate:-50%}}.article-by{margin-block:var(--s-spacing-8);padding-block:var(--s-spacing-4);border-block-start:1px solid var(--c-article-by-border,var(--s-color-divider));border-block-end:1px solid var(--c-article-by-border,var(--s-color-divider))}.related{padding:var(--s-spacing-4);border:1px solid var(--s-surface-border);border-radius:var(--s-radius-card);background:var(--c-home-latest-card-bg,var(--s-surface-card));box-shadow:var(--s-shadow-subtle);container-type:inline-size;@media (width>=768px){padding:var(--s-spacing-5)}& h3{border-block-end:1px solid var(--s-surface-border);margin-block-end:var(--s-spacing-4);padding-block-end:var(--s-spacing-4)}}.article-share{padding:0;padding-block:var(--s-spacing-4);border:0;border-block-start:1px solid var(--_sidebar-border);box-shadow:none;background:0 0;border-radius:0;& h4{margin-block-end:var(--s-spacing-3)}& a{block-size:2.5rem;inline-size:2.5rem;border:1px solid color-mix(in oklab, var(--s-surface-border), transparent 35%);background:var(--c-article-share-link-bg,color-mix(in oklab, var(--s-surface-2), var(--s-surface-0) 60%));color:var(--s-color-text-inverse);transition:background-color var(--s-transition-duration-fast) var(--s-transition-easing-default), color var(--s-transition-duration-fast) var(--s-transition-easing-default), scale var(--s-transition-duration-fast) var(--s-transition-easing-default), border-color var(--s-transition-duration-fast) var(--s-transition-easing-default);border-radius:50%;justify-content:center;align-items:center;margin-inline-end:var(--s-spacing-1);display:inline-flex;&:hover,&:focus-visible{border-color:color-mix(in oklab, var(--s-accent-subtle), transparent 28%);color:var(--_social-brand-color,var(--s-color-text-inverse));scale:1.04}}}.article-share+.btn-rss{padding-block:var(--s-spacing-4) 0;border-block-start:1px solid var(--_sidebar-border)}.search-list-item:not(:first-child){--c-article-spacing:clamp(var(--s-spacing-4), 1.82vw + .64rem, var(--s-spacing-6));border-block-start:1px solid var(--s-color-divider);margin-block-start:var(--c-article-spacing);padding-block-start:var(--c-article-spacing)}.search{position:relative}.search-results{z-index:3;overscroll-behavior:contain;border:1px solid var(--s-surface-border);background-color:var(--s-color-bg);max-block-size:40vh;box-shadow:var(--s-shadow-elevated);border-radius:8px;position:absolute;inset-block-end:100%;inset-inline:0;overflow-y:auto;@media (width>=1024px){margin-block-start:var(--s-spacing-2);inset-block:100% auto}}.search-results-heading{padding:var(--s-spacing-2) var(--s-spacing-3);border-block-end:1px solid var(--s-surface-border);color:var(--s-color-text-lightest);font-weight:600;font-size:var(--13px,.8125rem);font-family:var(--s-font-family-base);letter-spacing:.04em;text-transform:uppercase;outline:none;margin:0;&:focus-visible{color:var(--s-color-brand-primary)}}.search-results-list{margin:0;padding:0;list-style:none;& li{padding:var(--s-spacing-2) var(--s-spacing-3);transition:background-color var(--s-transition-duration-instant) var(--s-transition-easing-default);&:not(:last-child){border-block-end:1px solid color-mix(in oklab, var(--s-surface-border), transparent 50%)}&:hover,&.is-active{background-color:var(--s-surface-1)}&.is-active a{color:var(--s-color-brand-primary);text-decoration:underline}& a{color:var(--s-color-link);font-size:1rem;line-height:1.375rem;font-family:var(--s-font-family-heading);margin-block-end:2px;text-decoration:none;display:block;&:hover{text-decoration:underline}&:focus-visible{outline:none}}}}.search-summary{-webkit-line-clamp:2;color:var(--s-color-text-lightest);-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.25rem;display:-webkit-box;overflow:hidden}.about-page{background-color:var(--s-color-secondary);padding-block-start:clamp(var(--s-spacing-5), 3.7vw + .52rem, var(--s-spacing-8));padding-block-end:clamp(var(--s-spacing-6), 2.96vw + 1.05rem, var(--s-spacing-8));& .about-intro{gap:var(--s-spacing-6);display:grid;@media (width>=1200px){align-items:center;gap:var(--s-spacing-7);grid-template-columns:repeat(2,1fr);gap:var(--s-spacing-8)}}}.about-content .wrapper{--_wrapper-max-inline-size:900px;padding-block-start:clamp(var(--s-spacing-4), 4.44vw + .11rem, var(--s-spacing-8));padding-block-end:clamp(var(--s-spacing-6), 2.96vw + 1.05rem, var(--s-spacing-8))}.side-projects{padding-inline-start:0;list-style:none;& li+li{margin-block-start:var(--s-spacing-2)}& a{font-weight:600}}.spoken-at-scroll{max-block-size:20rem;padding:var(--s-spacing-2) var(--s-spacing-3);border:1px solid var(--s-color-divider);border-radius:.5rem;overflow-y:auto;container-type:inline-size}.spoken-at-list{margin:0;padding-inline-start:0;list-style:none;& li{-moz-column-gap:var(--s-spacing-3);column-gap:var(--s-spacing-3);padding-block:var(--s-spacing-2);flex-wrap:wrap;align-items:baseline;display:flex}& li+li{border-block-start:1px solid var(--s-color-divider)}& .spoken-at-name{flex-basis:100%;font-weight:600}& .spoken-at-location{opacity:.7}& time{font-size:var(--s-font-size-sm);opacity:.55;margin-inline-start:auto}@container (inline-size>=460px){grid-template-columns:auto 1fr auto;display:grid;& .spoken-at-name{flex-basis:auto}& li{grid-template-columns:subgrid;-moz-column-gap:var(--s-spacing-4);column-gap:var(--s-spacing-4);grid-column:1/-1;align-items:baseline;display:grid}& time{text-align:end;white-space:nowrap}}}.about-io{padding-block:var(--s-spacing-8);border-block-start:1px solid var(--s-color-divider);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:clip;& h2{margin-block-end:var(--s-spacing-5)}}.error-page{text-align:center;padding-block-start:clamp(var(--s-spacing-4), 4.44vw + .11rem, var(--s-spacing-8));padding-block-end:clamp(var(--s-spacing-6), 2.96vw + 1.05rem, var(--s-spacing-8))}.page-contact{inline-size:100%;padding-block:0;& .lead{max-inline-size:650px}& .contact-grid{gap:var(--s-spacing-6);display:grid;@media (width>=1024px){grid-template-columns:2fr 1fr;padding-block-end:0;&>:first-child{order:2}}}& h1{margin-block-end:0}}.contact-form .wrapper{--_wrapper-max-inline-size:900px;padding-block-start:clamp(var(--s-spacing-6), 2.96vw + 1.05rem, var(--s-spacing-8));padding-block-end:clamp(var(--s-spacing-6), 2.96vw + 1.05rem, var(--s-spacing-8));& .contact-form-header{text-align:center}& .form-group{margin-block-end:var(--s-spacing-5)}& .alert{margin-block-start:var(--s-spacing-5)}}.social-contact{padding-block:clamp(var(--s-spacing-6), 5vw, var(--s-spacing-8));background-color:var(--s-color-secondary)}.contact-form{border-block-start:1px solid;-o-border-image:var(--s-divider-gradient) 1;border-image:var(--s-divider-gradient) 1;padding-block-start:clamp(var(--s-spacing-4), 4.44vw + .11rem, var(--s-spacing-8));padding-block-end:clamp(var(--s-spacing-6), 2.96vw + 1.05rem, var(--s-spacing-8));position:relative;& form{padding:clamp(var(--s-spacing-4), 3vw, var(--s-spacing-6));border:1px solid var(--s-surface-border);border-radius:var(--s-radius-card);background:var(--c-home-latest-card-bg,var(--s-surface-card));box-shadow:var(--s-shadow-subtle)}& h2{-moz-column-gap:20px;margin-block:var(--s-spacing-5);color:var(--s-color-text);letter-spacing:.05em;text-align:center;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:20px;line-height:1.2;display:grid;&:before,&:after{background:var(--s-color-text);content:"";block-size:1px}}}.social-cards{gap:var(--s-spacing-5);grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));padding-block-end:var(--s-spacing-5);display:grid}.social-card-title{text-align:center;opacity:0;transition:opacity var(--s-transition-duration-slower) var(--s-transition-easing-default);display:block}.social-card{box-sizing:border-box;padding-block:var(--s-spacing-3);padding-inline:var(--s-spacing-3);aspect-ratio:4/3;background:var(--s-color-bg);box-shadow:var(--s-shadow-dialog);font-size:1.25rem;font-weight:700;font-family:var(--s-font-family-heading);text-align:center;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;display:flex;@supports (corner-shape:squircle){corner-shape:squircle;border-radius:75vw}@media (width>=576px) and (width<=767px){aspect-ratio:4/2}@media (width>=1024px) and (width<=1199px){aspect-ratio:4/3}& svg{transition:translate var(--s-transition-duration-slow) var(--s-transition-easing-out);flex-shrink:0;display:block;overflow:visible;translate:0 18px}&:is(:hover,:focus-visible,:active){& svg{translate:0 5px}& .social-card-title{opacity:1;transition-delay:0;margin-block-start:8px}}}}@layer utilities{.sr-only{white-space:nowrap;clip:rect(0, 0, 0, 0);clip-path:inset(50%);border:0;block-size:1px;inline-size:1px;padding:0;position:absolute;overflow:clip}.sr-only-focusable{transition:translate var(--s-transition-duration-default) var(--s-transition-easing-out);translate:0 -100%}.sr-only-focusable:is(:active,:focus-visible){block-size:auto;inline-size:100%;padding:var(--s-spacing-3) var(--s-spacing-4);color:var(--s-color-on-contrast);font-weight:600;font-size:var(--s-font-size-base);font-family:var(--s-font-family-heading);text-align:center;white-space:normal;clip:auto;z-index:1000000;outline:2px solid var(--s-color-on-contrast);outline-offset:-4px;background:var(--p-color-black);clip-path:none;text-decoration:none;position:fixed;inset-block-start:0;overflow:visible;translate:0}@media (forced-colors:active){.btn,.badge,.article-preview,.article-latest{border:1px solid buttontext}.btn:is(:hover,:focus-visible){border-color:highlight}.lightbox-btn{border:1px solid buttontext}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}
