:root{--space-xs:0.25rem;--space-sm:0.5rem;--space-md:0.75rem;--space-base:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:3rem;--space-4xl:4rem;--font-size-xs:0.75rem;--font-size-sm:0.8125rem;--font-size-base-sm:0.875rem;--font-size-base:0.9375rem;--font-size-md:1rem;--font-size-lg:1.0625rem;--font-size-xl:1.125rem;--font-size-2xl:1.25rem;--font-size-3xl:1.5rem;--font-size-4xl:1.75rem;--font-size-5xl:2rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-snug:1.3;--line-height-normal:1.4;--line-height-relaxed:1.5;--line-height-loose:1.6;--line-height-xl:1.65;--line-height-2xl:1.7;--line-height-3xl:1.75;--letter-spacing-tight:-0.02em;--letter-spacing-normal:0;--letter-spacing-wide:0.02em;--letter-spacing-wider:0.05em;--letter-spacing-widest:0.08em;--opacity-disabled:0.4;--opacity-muted:0.5;--opacity-subtle:0.6;--opacity-visible:0.7;--opacity-prominent:0.8;--opacity-full:1;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--transition-theme:background-color 0.3s ease, color 0.3s ease;--radius-sm:2px;--radius-base:3px;--radius-md:4px;--radius-lg:8px;--radius-full:50%;--shadow-sm:0 1px 4px rgba(0, 0, 0, 0.05);--shadow-base:0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.05);--shadow-md:0 4px 12px rgba(0, 0, 0, 0.1);--z-base:1;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-modal-backdrop:40;--z-modal:50;--z-popover:60;--z-tooltip:70;--container-padding-x-sm:var(--space-base);--container-padding-x-md:var(--space-xl);--container-padding-x-lg:var(--space-3xl);--container-padding-y-sm:var(--space-md);--container-padding-y-md:var(--space-lg);--container-padding-y-lg:var(--space-xl);--gap-xs:var(--space-xs);--gap-sm:var(--space-sm);--gap-md:var(--space-md);--gap-base:var(--space-base);--gap-lg:var(--space-lg);--gap-xl:var(--space-xl);--gap-2xl:var(--space-2xl);--border-width-thin:1px;--border-width-base:2px;--border-width-thick:3px;--border-width-thicker:4px}@import '/css/tokens.css';:root:not([data-theme]){--color-bg:#dfe5db;--color-bg-secondary:#d2d9cd;--color-text:#1a1a1a;--color-text-secondary:#4a524a;--color-text-tertiary:#7a827a;--color-border:#c8d0c2;--color-border-secondary:#b8c2b0;--color-link:#c75b4a;--color-link-hover:#8a3d2e;--color-accent:#c75b4a;--color-accent-secondary:#6a9474;--color-accent-tertiary:#7282a8;--color-code-bg:#d0d8ca;--syntax-bg:var(--color-code-bg);--syntax-fg:var(--color-text);--syntax-comment:var(--color-text-tertiary);--syntax-keyword:#5a6a5a;--syntax-string:#8a5a4a;--syntax-function:#5a6a7a;--syntax-variable:var(--color-text-secondary);--syntax-number:#6a5a4a;--syntax-operator:var(--color-text-secondary);--syntax-type:#5a6a5a;--syntax-constant:#7a4a3a;--syntax-tag:#5a6a7a;--syntax-attribute:#6a5a4a;color-scheme:light}html[data-theme=light]:not([data-color-scheme]),html[data-color-scheme=default][data-theme=light]{--color-bg:#dfe5db;--color-bg-secondary:#d2d9cd;--color-text:#1a1a1a;--color-text-secondary:#4a524a;--color-text-tertiary:#7a827a;--color-border:#c8d0c2;--color-border-secondary:#b8c2b0;--color-link:#c75b4a;--color-link-hover:#8a3d2e;--color-accent:#c75b4a;--color-accent-secondary:#6a9474;--color-accent-tertiary:#7282a8;--color-code-bg:#d0d8ca;--syntax-bg:var(--color-code-bg);--syntax-fg:var(--color-text);--syntax-comment:var(--color-text-tertiary);--syntax-keyword:#5a6a5a;--syntax-string:#8a5a4a;--syntax-function:#5a6a7a;--syntax-variable:var(--color-text-secondary);--syntax-number:#6a5a4a;--syntax-operator:var(--color-text-secondary);--syntax-type:#5a6a5a;--syntax-constant:#7a4a3a;--syntax-tag:#5a6a7a;--syntax-attribute:#6a5a4a;color-scheme:light}html[data-theme=dark]:not([data-color-scheme]),html[data-color-scheme=default][data-theme=dark]{--color-bg:#1f1619;--color-bg-secondary:#2a1f23;--color-text:#ebe5e7;--color-text-secondary:#c5b5ba;--color-text-tertiary:#8a7580;--color-border:#3d2f35;--color-border-secondary:#4d3d45;--color-link:#f0a090;--color-link-hover:#ffc0b0;--color-accent:#f0a090;--color-accent-secondary:#a0c8b0;--color-accent-tertiary:#b0b8e0;--color-code-bg:#27191e;--syntax-bg:var(--color-code-bg);--syntax-fg:var(--color-text);--syntax-comment:var(--color-text-tertiary);--syntax-keyword:#7a9885;--syntax-string:#b87a6a;--syntax-function:#8a8aa8;--syntax-variable:var(--color-text-secondary);--syntax-number:#a88a6a;--syntax-operator:var(--color-text-secondary);--syntax-type:#7a9885;--syntax-constant:#c88a7a;--syntax-tag:#8a8aa8;--syntax-attribute:#a88a6a;color-scheme:dark}html[data-color-scheme=blue][data-theme=light]{--color-bg:#e1f5fe;--color-bg-secondary:#b3e5fc;--color-text:#01579b;--color-text-secondary:#0277bd;--color-text-tertiary:#0288d1;--color-border:#81d4fa;--color-border-secondary:#4fc3f7;--color-link:#0288d1;--color-link-hover:#01579b;--color-accent:#0288d1;--color-accent-secondary:#03a9f4;--color-accent-tertiary:#00bcd4;--color-code-bg:#b3e5fc;--syntax-keyword:#0277bd;--syntax-string:#01579b;--syntax-function:#0288d1;--syntax-number:#01579b;--syntax-type:#0277bd;--syntax-constant:#01579b;--syntax-tag:#0288d1;--syntax-attribute:#0277bd}html[data-color-scheme=blue][data-theme=dark]{--color-bg:#01579b;--color-bg-secondary:#0277bd;--color-text:#e1f5fe;--color-text-secondary:#b3e5fc;--color-text-tertiary:#81d4fa;--color-border:#0288d1;--color-border-secondary:#03a9f4;--color-link:#4fc3f7;--color-link-hover:#81d4fa;--color-accent:#4fc3f7;--color-accent-secondary:#03a9f4;--color-accent-tertiary:#00bcd4;--color-code-bg:#0277bd;--syntax-keyword:#81d4fa;--syntax-string:#b3e5fc;--syntax-function:#4fc3f7;--syntax-number:#b3e5fc;--syntax-type:#81d4fa;--syntax-constant:#b3e5fc;--syntax-tag:#4fc3f7;--syntax-attribute:#81d4fa}html[data-color-scheme=purple][data-theme=light]{--color-bg:#f3e5f5;--color-bg-secondary:#e1bee7;--color-text:#4a148c;--color-text-secondary:#6a1b9a;--color-text-tertiary:#7b1fa2;--color-border:#ce93d8;--color-border-secondary:#ba68c8;--color-link:#9c27b0;--color-link-hover:#4a148c;--color-accent:#9c27b0;--color-accent-secondary:#ab47bc;--color-accent-tertiary:#8e24aa;--color-code-bg:#e1bee7;--syntax-keyword:#6a1b9a;--syntax-string:#4a148c;--syntax-function:#9c27b0;--syntax-number:#4a148c;--syntax-type:#6a1b9a;--syntax-constant:#4a148c;--syntax-tag:#9c27b0;--syntax-attribute:#6a1b9a}html[data-color-scheme=purple][data-theme=dark]{--color-bg:#4a148c;--color-bg-secondary:#6a1b9a;--color-text:#f3e5f5;--color-text-secondary:#e1bee7;--color-text-tertiary:#ce93d8;--color-border:#9c27b0;--color-border-secondary:#ab47bc;--color-link:#ce93d8;--color-link-hover:#e1bee7;--color-accent:#ce93d8;--color-accent-secondary:#ab47bc;--color-accent-tertiary:#ba68c8;--color-code-bg:#6a1b9a;--syntax-keyword:#ce93d8;--syntax-string:#e1bee7;--syntax-function:#ce93d8;--syntax-number:#e1bee7;--syntax-type:#ce93d8;--syntax-constant:#e1bee7;--syntax-tag:#ce93d8;--syntax-attribute:#ce93d8}html[data-color-scheme=green][data-theme=light]{--color-bg:#e8f5e9;--color-bg-secondary:#c8e6c9;--color-text:#1b5e20;--color-text-secondary:#2e7d32;--color-text-tertiary:#388e3c;--color-border:#a5d6a7;--color-border-secondary:#81c784;--color-link:#2e7d32;--color-link-hover:#1b5e20;--color-accent:#2e7d32;--color-accent-secondary:#4caf50;--color-accent-tertiary:#66bb6a;--color-code-bg:#c8e6c9;--syntax-keyword:#2e7d32;--syntax-string:#1b5e20;--syntax-function:#2e7d32;--syntax-number:#1b5e20;--syntax-type:#2e7d32;--syntax-constant:#1b5e20;--syntax-tag:#2e7d32;--syntax-attribute:#2e7d32}html[data-color-scheme=green][data-theme=dark]{--color-bg:#1b5e20;--color-bg-secondary:#2e7d32;--color-text:#e8f5e9;--color-text-secondary:#c8e6c9;--color-text-tertiary:#a5d6a7;--color-border:#4caf50;--color-border-secondary:#66bb6a;--color-link:#81c784;--color-link-hover:#a5d6a7;--color-accent:#81c784;--color-accent-secondary:#4caf50;--color-accent-tertiary:#66bb6a;--color-code-bg:#2e7d32;--syntax-keyword:#a5d6a7;--syntax-string:#c8e6c9;--syntax-function:#81c784;--syntax-number:#c8e6c9;--syntax-type:#a5d6a7;--syntax-constant:#c8e6c9;--syntax-tag:#81c784;--syntax-attribute:#a5d6a7}html[data-color-scheme=orange][data-theme=light]{--color-bg:#fff3e0;--color-bg-secondary:#ffe0b2;--color-text:#e65100;--color-text-secondary:#f57c00;--color-text-tertiary:#ff6f00;--color-border:#ffcc80;--color-border-secondary:#ffb74d;--color-link:#ff6f00;--color-link-hover:#e65100;--color-accent:#ff6f00;--color-accent-secondary:#ff9800;--color-accent-tertiary:#ffa726;--color-code-bg:#ffe0b2;--syntax-keyword:#f57c00;--syntax-string:#e65100;--syntax-function:#ff6f00;--syntax-number:#e65100;--syntax-type:#f57c00;--syntax-constant:#e65100;--syntax-tag:#ff6f00;--syntax-attribute:#f57c00}html[data-color-scheme=orange][data-theme=dark]{--color-bg:#e65100;--color-bg-secondary:#f57c00;--color-text:#fff3e0;--color-text-secondary:#ffe0b2;--color-text-tertiary:#ffcc80;--color-border:#ff6f00;--color-border-secondary:#ff9800;--color-link:#ffb74d;--color-link-hover:#ffcc80;--color-accent:#ffb74d;--color-accent-secondary:#ff9800;--color-accent-tertiary:#ffa726;--color-code-bg:#f57c00;--syntax-keyword:#ffcc80;--syntax-string:#ffe0b2;--syntax-function:#ffb74d;--syntax-number:#ffe0b2;--syntax-type:#ffcc80;--syntax-constant:#ffe0b2;--syntax-tag:#ffb74d;--syntax-attribute:#ffcc80}html[data-color-scheme=red][data-theme=light]{--color-bg:#ffebee;--color-bg-secondary:#ffcdd2;--color-text:#b71c1c;--color-text-secondary:#c62828;--color-text-tertiary:#d32f2f;--color-border:#ef9a9a;--color-border-secondary:#e57373;--color-link:#d32f2f;--color-link-hover:#b71c1c;--color-accent:#d32f2f;--color-accent-secondary:#f44336;--color-accent-tertiary:#e53935;--color-code-bg:#ffcdd2;--syntax-keyword:#c62828;--syntax-string:#b71c1c;--syntax-function:#d32f2f;--syntax-number:#b71c1c;--syntax-type:#c62828;--syntax-constant:#b71c1c;--syntax-tag:#d32f2f;--syntax-attribute:#c62828}html[data-color-scheme=red][data-theme=dark]{--color-bg:#b71c1c;--color-bg-secondary:#c62828;--color-text:#ffebee;--color-text-secondary:#ffcdd2;--color-text-tertiary:#ef9a9a;--color-border:#d32f2f;--color-border-secondary:#f44336;--color-link:#ef9a9a;--color-link-hover:#ffcdd2;--color-accent:#ef9a9a;--color-accent-secondary:#f44336;--color-accent-tertiary:#e53935;--color-code-bg:#c62828;--syntax-keyword:#ef9a9a;--syntax-string:#ffcdd2;--syntax-function:#ef9a9a;--syntax-number:#ffcdd2;--syntax-type:#ef9a9a;--syntax-constant:#ffcdd2;--syntax-tag:#ef9a9a;--syntax-attribute:#ef9a9a}body{background-color:var(--color-bg);color:var(--color-text);transition:var(--transition-theme)}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm);transition:outline-offset var(--transition-fast)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.post:focus-within .post-title,.collection-item:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.post-preview.collection-item:focus-within{outline:none;border-top:2px solid var(--color-accent)!important;border-bottom:2px solid var(--color-accent)!important}*,*::before,*::after{box-sizing:border-box}:root{--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--container-sm:640px;--container-md:768px;--container-lg:900px;--container-xl:1024px;--container-2xl:1200px}html{font-size:clamp(1rem,.9rem + .5vw,1.3rem);scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto}}body{margin:0;padding:0;background-color:var(--color-bg);color:var(--color-text);min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:100%;overflow:auto}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);z-index:1000;padding:var(--space-sm)var(--space-lg);background-color:var(--color-accent);color:var(--color-bg);text-decoration:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:top var(--transition-base),opacity var(--transition-base)}.skip-link:focus{top:var(--space-sm);opacity:1;pointer-events:auto;outline:2px solid var(--color-text);outline-offset:2px}:is(main,.prose,.blog,.post,.taxonomy,.taxonomy-single){width:min(1200px,100% - clamp(1rem,5vw,3rem) * 2);margin-inline:auto;padding-block:var(--container-padding-y-sm);overflow-x:hidden}@media(min-width:768px){:is(main,.prose,.blog,.post,.taxonomy,.taxonomy-single){padding-block:var(--container-padding-y-md)}}@media(min-width:1024px){:is(main,.prose,.blog,.post,.taxonomy,.taxonomy-single){padding-block:var(--container-padding-y-lg)}}.consumed-section{width:min(1200px,100% - clamp(1rem,5vw,3rem) * 2);margin-inline:auto;padding-block:var(--container-padding-y-sm);overflow-x:hidden}.consumed-section header{margin-bottom:var(--space-xl)}.consumed-section header h1{margin:0;font-size:clamp(1.5rem,1.3rem + 1vw,2rem);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:-.02em;line-height:1.2}.consumed-section .section-description{margin-top:var(--space-sm);font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-loose)}.consumed-content{width:100%}@media(min-width:768px){.consumed-section{padding-block:var(--container-padding-y-md)}.consumed-section header{margin-bottom:var(--space-2xl)}}@media(min-width:1024px){.consumed-section{padding-block:var(--container-padding-y-lg)}}.back-nav{}.container-wide{max-width:var(--container-xl)}.container-narrow{max-width:680px}:root{--font-system-ui:system-ui, sans-serif;--font-transitional:Charter, 'Bitstream Charter', 'Sitka Text', Cambria, serif;--font-old-style:'Old Style', 'Baskerville', 'Palatino', 'Times New Roman', serif;--font-monospace:ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;--scale-ratio:1.333;--font-size-base:1rem;--font-size-h6:1rem;--font-size-h5:1.125rem;--font-size-h4:1.333rem;--font-size-h3:1.777rem;--font-size-h2:2.369rem;--font-size-h1:3.157rem;--font-size-display:4.209rem}body{font-family:var(--font-system-ui);font-weight:var(--font-weight-normal);line-height:var(--line-height-xl);font-size:1rem;color:var(--color-text)}@media(min-width:768px){body{font-size:.94rem}}@media(min-width:1280px){body{font-size:1rem}h1{font-size:1.6rem}h2{font-size:1.4rem}h3{font-size:1.2rem}}@media(min-width:1440px){body{font-size:1.1rem}h1{font-size:1.8rem}h2{font-size:1.5rem}h3{font-size:1.3rem}h4{font-size:1.1rem}}@media(min-width:1920px){body{font-size:1.1rem;line-height:var(--line-height-2xl)}h1{font-size:2rem}h2{font-size:1.6rem}h3{font-size:1.4rem}h4{font-size:1.2rem}h5{font-size:1.1rem}}@media(min-width:2560px){body{font-size:1.2rem;line-height:var(--line-height-3xl)}h1{font-size:2.3rem}h2{font-size:1.9rem}h3{font-size:1.5rem}h4{font-size:1.3rem}h5{font-size:1.1rem}}:is(h1,h2,h3,h4,h5,h6){font-family:var(--font-transitional);font-weight:var(--font-weight-normal);line-height:1.2;margin-block-start:2em;margin-block-end:1em;color:var(--color-text);letter-spacing:var(--letter-spacing-normal)}h1{font-size:var(--font-size-3xl);margin-block-start:0;margin-block-end:var(--space-lg);line-height:var(--line-height-snug);font-weight:var(--font-weight-medium)}h2{font-size:var(--font-size-2xl);line-height:var(--line-height-snug);font-weight:var(--font-weight-medium)}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}h5{font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);opacity:var(--opacity-visible)}p{margin:0 0 var(--space-lg);max-width:100%;font-size:inherit;line-height:1.6;color:var(--color-text)}.lead{font-size:clamp(1.1rem,1rem + .5vw,1.3rem);line-height:var(--line-height-loose);color:var(--color-text-secondary);opacity:var(--opacity-prominent)}:is(ul,ol){margin:0 0 var(--space-lg);padding-inline-start:var(--space-lg)}:is(ul,ol) li{margin-block-end:var(--space-sm)}a{color:var(--color-link);text-decoration:underline;text-decoration-thickness:var(--border-width-thin);text-underline-offset:var(--space-sm);text-decoration-color:var(--color-link);transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}a:hover{color:var(--color-link-hover);text-decoration-color:var(--color-link-hover)}blockquote{margin:var(--space-xl)0;padding-inline-start:var(--space-lg);border-inline-start:var(--border-width-thick)solid var(--color-accent);font-style:italic;color:var(--color-text-secondary);opacity:var(--opacity-prominent)}:is(code,pre,kbd,samp){font-family:var(--font-monospace)}code{font-size:.88em;padding:.2em .4em;background:unset;border-radius:3px}pre{overflow-x:auto;padding:1em;margin:1.5em 0;background:#1a1a1a!important;border-radius:4px;line-height:1.5;position:relative}@media(prefers-color-scheme:dark){pre{background:#0d0d0d!important}}pre code{padding:0;background:0 0}pre::-webkit-scrollbar{height:8px}pre::-webkit-scrollbar-track{background:0 0}pre::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px;opacity:.4;transition:opacity .2s ease}pre::-webkit-scrollbar-thumb:hover{opacity:.6}pre{scrollbar-width:thin;scrollbar-color:var(--color-border)transparent}:is(button,input,select,textarea,.nav,.menu,.button){font-family:var(--font-system-ui)}:is(small,.text-sm){font-size:var(--font-size-base)}.text-xs{font-size:var(--font-size-sm)}.text-display{font-size:clamp(2.5rem,2rem + 5vw,var(--font-size-display));font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}:is(.footnotes,section.footnotes){margin-block-start:var(--space-xl);padding-block-start:var(--space-lg);font-size:var(--font-size-base-sm);color:var(--color-text-secondary);opacity:var(--opacity-visible)}:is(.footnotes,section.footnotes) ol{margin:0;padding-inline-start:1.3rem}:is(.footnotes,section.footnotes) ol li{margin-block-end:var(--space-sm);line-height:var(--line-height-relaxed)}:is(.footnotes,section.footnotes) ol li p{margin:0;display:inline}:is(.footnote-backref,a.footnote-backref){text-decoration:none;color:var(--color-accent);margin-inline-start:var(--space-xs);opacity:var(--opacity-visible);transition:opacity var(--transition-base)}:is(.footnote-backref,a.footnote-backref):hover{opacity:var(--opacity-full)}.content :is(sup[id^=fnref],sup.footnote-reference) a{text-decoration:none;color:var(--color-accent);font-weight:var(--font-weight-medium);opacity:var(--opacity-prominent);transition:opacity var(--transition-base)}.content :is(sup[id^=fnref],sup.footnote-reference) a:hover{opacity:var(--opacity-full)}.content .footnote-definition{margin-block-start:0!important;margin-block-end:var(--space-sm);line-height:var(--line-height-relaxed);display:flex;align-items:baseline;gap:.38rem}.content .footnote-definition .footnote-definition-label{flex-shrink:0;font-weight:var(--font-weight-medium);color:var(--color-accent);opacity:var(--opacity-prominent);font-size:var(--font-size-sm)}.content .footnote-definition p{margin:0;flex:1;font-size:var(--font-size-base-sm)}.global-theme-toggle-wrapper{position:fixed;top:2rem;right:clamp(1rem,5vw,3rem);z-index:100;display:flex;flex-direction:column;align-items:center;gap:1rem}.global-language-switcher{display:flex;gap:.5rem;align-items:center;height:32px;width:auto;margin:0;padding:0}.global-language-switcher a{color:var(--color-text-secondary);font-size:.75rem;font-weight:500;text-decoration:none;opacity:.4;transition:opacity var(--transition-base);letter-spacing:.05em;line-height:1;display:inline-flex;align-items:center;justify-content:center;height:32px;width:32px;margin:0;padding:.5rem;box-sizing:border-box;min-width:32px}.global-language-switcher a:hover{opacity:.8}.global-theme-toggle{color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;padding:.5rem;width:32px;height:32px;background:0 0;border:none;cursor:pointer;opacity:.4;transition:opacity var(--transition-base);position:relative;margin:0;flex-shrink:0;box-sizing:border-box}.global-theme-toggle:hover{opacity:.8}.global-color-scheme-toggle{color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;padding:.5rem;width:32px;height:32px;background:0 0;border:none;cursor:pointer;opacity:.4;transition:opacity var(--transition-base),transform var(--transition-base);font-size:1rem;line-height:1;margin:0;flex-shrink:0;box-sizing:border-box}.global-color-scheme-toggle:hover{opacity:.8;transform:rotate(90deg)}.global-theme-toggle .theme-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:opacity var(--transition-slow),transform var(--transition-slow);width:14px;height:14px}.global-theme-toggle .theme-icon-sun{opacity:var(--opacity-full);transform:translate(-50%,-50%)rotate(0)scale(1)}.global-theme-toggle .theme-icon-moon{opacity:0;transform:translate(-50%,-50%)rotate(-90deg)scale(.8)}[data-theme=dark] .global-theme-toggle .theme-icon-sun{opacity:0;transform:translate(-50%,-50%)rotate(90deg)scale(.8)}[data-theme=dark] .global-theme-toggle .theme-icon-moon{opacity:var(--opacity-full);transform:translate(-50%,-50%)rotate(0)scale(1)}@media(max-width:1023px){.global-theme-toggle-wrapper{position:absolute;top:var(--container-padding-y-sm);right:clamp(1rem,5vw,3rem);transform:none;flex-direction:row}.global-theme-toggle{display:none}.global-color-scheme-toggle{display:none}}@media(max-width:640px){.global-theme-toggle-wrapper{top:var(--container-padding-y-sm);right:clamp(1rem,5vw,3rem);transform:none;flex-direction:row}}@media(max-width:480px){.global-theme-toggle-wrapper{top:var(--container-padding-y-sm);right:clamp(1rem,5vw,3rem);transform:none;flex-direction:row}}.back-nav{width:min(1200px,100% - clamp(1rem,5vw,3rem) * 2);margin-inline:auto;padding-block-start:var(--container-padding-y-sm);padding-block-end:var(--space-base);box-sizing:border-box}@media(min-width:768px){.back-nav{padding-block-start:var(--container-padding-y-md);padding-block-end:var(--space-base)}}@media(min-width:1024px){.back-nav{padding-block-start:var(--container-padding-y-md);padding-block-end:var(--space-base)}}.back-link{background:0 0;border:none;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast);font-family:var(--font-system-ui);font-weight:var(--font-weight-normal)}.back-link:hover{color:var(--color-text)}.back-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.site-footer{flex-shrink:0;margin-block-start:auto;padding-block:var(--space-md)var(--space-sm);box-sizing:border-box;width:min(1200px,100% - clamp(1rem,5vw,3rem) * 2);margin-inline:auto;border-top:1px solid var(--color-border)}body.section-posts .site-footer{position:sticky;bottom:0;background:var(--color-bg);z-index:var(--z-sticky);border-block-start:var(--border-width-thin)solid var(--color-border)}@media(prefers-color-scheme:dark){.site-footer{border-block-start-color:rgba(255,255,255,5%)}}@media(max-width:600px){.site-footer{padding-block:var(--space-md)var(--space-md);padding-inline:clamp(.75rem,2vw,1rem);width:100%;margin-inline:0}}.footer-content{width:100%;margin-inline:auto;box-sizing:border-box;padding-inline:0;padding-block:var(--space-xs);display:grid;grid-template-columns:auto 1fr auto;align-items:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);opacity:.5;letter-spacing:.01em;gap:var(--space-md)}@media(max-width:768px){.footer-content{grid-template-columns:auto 1fr auto}.footer-credits{font-size:var(--font-size-xs)}.footer-copyright,.cc-license{font-size:var(--font-size-xs)}}@media(max-width:600px){.footer-content{font-size:var(--font-size-xs);gap:var(--space-sm);padding-inline:0;width:100%;box-sizing:border-box}}@media(max-width:400px){.footer-content{grid-template-columns:1fr;grid-auto-rows:auto;align-items:start;gap:var(--space-sm)}.footer-left,.footer-center,.footer-right{width:100%;justify-content:start}.footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.footer-right{justify-content:flex-start;gap:var(--space-base)}.footer-center{display:none}}.footer-left{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;min-width:0;overflow:hidden;gap:var(--space-sm)}.footer-center{display:block;min-width:0}.footer-right{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-base);min-width:0}@media(max-width:600px){.footer-left{min-width:0;overflow:visible;gap:var(--space-xs)}.footer-right{gap:var(--space-sm)}.footer-credits{white-space:normal;word-break:break-word;line-height:1.3}}.footer-content a{background:0 0;border:none;cursor:pointer;font-size:inherit;color:inherit;padding:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:opacity var(--transition-base),text-decoration-color var(--transition-base);font-family:inherit;display:inline-flex;align-items:center;justify-content:center;line-height:1.4;vertical-align:middle;position:relative;opacity:var(--opacity-prominent)}.footer-content a:hover{opacity:var(--opacity-full);text-decoration-color:initial}#color-scheme-toggle{background:0 0;border:none;cursor:pointer;font-size:1.1rem;color:inherit;padding:0;text-decoration:none;transition:opacity var(--transition-base),transform var(--transition-base);font-family:inherit;display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;position:relative;width:15px;height:15px;min-width:15px;min-height:15px}#color-scheme-toggle:hover{opacity:var(--opacity-full);transform:rotate(90deg)}#theme-toggle{background:0 0;border:none;cursor:pointer;font-size:inherit;color:inherit;padding:0;text-decoration:none;transition:opacity var(--transition-base);font-family:inherit;display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;position:relative}#theme-toggle:hover{opacity:var(--opacity-full)}.footer-content a svg,#theme-toggle svg{display:block;width:15px;height:15px;stroke-width:1.5}@media(max-width:600px){.footer-content a svg,#theme-toggle svg{width:14px;height:14px}#color-scheme-toggle{font-size:1rem;width:14px;height:14px;min-width:14px;min-height:14px}}.footer-content span{display:inline-flex;align-items:center;line-height:1;vertical-align:middle}.cc-license-text{display:inline-block;padding-inline-end:var(--space-sm);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;color:inherit;opacity:var(--opacity-prominent);transition:opacity var(--transition-base),text-decoration-color var(--transition-base);font-size:inherit;line-height:1.4}.cc-license-text:hover{opacity:var(--opacity-full);text-decoration-color:initial}@media(max-width:600px){.cc-license-text{padding-inline-end:var(--space-xs);font-size:.81rem}}#theme-toggle{cursor:pointer;width:15px;height:15px;min-width:15px;min-height:15px}@media(min-width:1024px){.footer-right #theme-toggle{display:none}.footer-right #color-scheme-toggle{display:none}}@media(max-width:600px){#theme-toggle{width:14px;height:14px;min-width:14px;min-height:14px}}#theme-toggle .theme-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:opacity var(--transition-slow),transform var(--transition-slow);width:15px;height:15px}@media(max-width:600px){#theme-toggle .theme-icon{width:14px;height:14px}}#theme-toggle .theme-icon-sun{opacity:var(--opacity-full);transform:translate(-50%,-50%)rotate(0)scale(1)}#theme-toggle .theme-icon-moon{opacity:0;transform:translate(-50%,-50%)rotate(-90deg)scale(.8)}[data-theme=dark] #theme-toggle .theme-icon-sun{opacity:0;transform:translate(-50%,-50%)rotate(90deg)scale(.8)}[data-theme=dark] #theme-toggle .theme-icon-moon{opacity:var(--opacity-full);transform:translate(-50%,-50%)rotate(0)scale(1)}.footer-newsletter{margin-block-end:var(--space-md);padding-block-end:var(--space-lg);border-block-end:var(--border-width-thin)solid var(--color-border)}@media(prefers-color-scheme:dark){.footer-newsletter{border-block-end-color:rgba(255,255,255,5%)}}.newsletter-content{display:grid;grid-template-columns:1fr;align-items:stretch;gap:var(--space-sm);max-width:600px;margin-inline:auto}.newsletter-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:normal;margin:0 0 calc(var(--space-xs) * .5);text-align:center;width:100%}.newsletter-label span{font-style:italic;font-weight:var(--font-weight-medium)}.newsletter-content input[type=text],.newsletter-content input[type=email]{padding:calc(var(--space-xs) * .88)var(--space-md);font-size:var(--font-size-xs);font-family:inherit;color:var(--color-text);background-color:var(--color-bg);border:var(--border-width-thin)solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base);box-sizing:border-box;width:100%}.newsletter-content input[type=text],.newsletter-content input[type=email]{margin:0}.newsletter-content input[type=text]:focus,.newsletter-content input[type=email]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.1)}.newsletter-content input[type=text]::placeholder,.newsletter-content input[type=email]::placeholder{color:var(--color-text-secondary);opacity:var(--opacity-muted)}.newsletter-consent-label{display:flex;align-items:center;gap:calc(var(--space-xs) * .75);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;user-select:none;margin:0;width:100%;justify-content:flex-start;line-height:1.5;max-width:100%}.newsletter-consent-label input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--color-accent);flex-shrink:0;margin:0;margin-inline-end:calc(var(--space-xs) * .5);align-self:center}.newsletter-consent-label span{flex:1;line-height:1.5;min-width:0}.newsletter-consent-label a{color:var(--color-text-secondary);text-decoration:underline;text-decoration-color:var(--color-text-secondary);text-decoration-thickness:1px;text-underline-offset:.15em;transition:color var(--transition-base),text-decoration-color var(--transition-base)}.newsletter-consent-label a:hover{color:var(--color-text);text-decoration-color:var(--color-text)}.newsletter-content button{padding:calc(var(--space-xs) * .88)var(--space-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-family:inherit;color:#fff;background-color:var(--color-link-hover);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-fast);white-space:nowrap;margin:0;width:100%}.newsletter-content button:hover{background-color:var(--color-accent);transform:translateY(-1px)}[data-theme=dark] .newsletter-content button{color:#1a1a1a;background-color:var(--color-accent)}[data-theme=dark] .newsletter-content button:hover{background-color:var(--color-link-hover)}.newsletter-content button:active{transform:translateY(0)}.newsletter-content button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.newsletter-content button:disabled{opacity:.6;cursor:not-allowed;transform:none}.newsletter-content button:disabled:hover{opacity:.6;transform:none}.newsletter-error{display:flex;align-items:center;justify-content:center;width:100%;flex-basis:100%;margin:0;padding:calc(var(--space-xs) * .5)0;font-size:var(--font-size-xs);color:#dc2626;text-align:center;order:10}.newsletter-error[hidden]{display:none}.newsletter-content input[type=email][aria-invalid=true]{border-color:#dc2626;box-shadow:0 0 0 2px rgba(220,38,38,.1)}.newsletter-content input[type=email][aria-invalid=true]:focus{border-color:#dc2626;box-shadow:0 0 0 2px rgba(220,38,38,.2)}.newsletter-success{display:flex;align-items:center;justify-content:center;padding:var(--space-md);text-align:center}.newsletter-success[hidden]{display:none}.newsletter-success p{margin:0;font-size:var(--font-size-sm);color:var(--color-accent);opacity:var(--opacity-full)}@media(max-width:600px){.newsletter-content{max-width:100%}}.back-to-top-inline{display:flex;justify-content:center;align-items:center;margin-block-start:var(--space-md);margin-block-end:var(--space-sm);padding-block:var(--space-sm);border-top:1px solid var(--color-border)}.back-to-top-link{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);opacity:var(--opacity-subtle);transition:opacity var(--transition-base),transform var(--transition-base);padding:var(--space-xs)var(--space-md);border-radius:4px}.back-to-top-link:hover{opacity:var(--opacity-full);transform:translateY(-2px)}.back-to-top-link svg{width:16px;height:16px}@media(min-width:940px){.back-to-top-inline{display:none}}.back-to-top-footer{display:none!important}@media(min-width:1024px){.back-to-top-footer{position:fixed;bottom:clamp(1rem,5vw,3rem);right:clamp(1rem,5vw,3rem);display:inline-flex!important;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:0 0;border:none;color:var(--color-text-secondary);text-decoration:none;transition:opacity var(--transition-base),transform var(--transition-base);opacity:0;visibility:hidden;z-index:var(--z-fixed);cursor:pointer}.back-to-top-footer svg{width:20px;height:20px;display:block}.back-to-top-footer.visible{opacity:var(--opacity-muted);visibility:visible}.back-to-top-footer:hover{opacity:var(--opacity-full);transform:translateY(-2px)}.back-to-top-footer:active{transform:translateY(0)}}#back-to-top:not(.back-to-top-footer){position:fixed;inset-block-end:5.5rem;inset-inline-end:var(--space-lg);width:2.5rem;height:2.5rem;background:0 0;color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-base-sm);line-height:1;display:flex;align-items:center;justify-content:center;vertical-align:middle;opacity:0;visibility:hidden;transition:opacity var(--transition-base),transform var(--transition-base);z-index:var(--z-fixed);border:var(--border-width-thin)solid var(--color-text-secondary);border-radius:0;padding:0;cursor:pointer;font-weight:var(--font-weight-light);transform:rotate(45deg);box-sizing:border-box}#back-to-top:not(.back-to-top-footer)::before{content:'ᛒ';display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;transform:rotate(-45deg)}#back-to-top:not(.back-to-top-footer).visible{opacity:var(--opacity-muted);visibility:visible}#back-to-top:not(.back-to-top-footer):hover{opacity:var(--opacity-full);transform:rotate(45deg)scale(1.1)}#back-to-top:not(.back-to-top-footer):active{opacity:var(--opacity-full);transform:rotate(45deg)scale(.95)}#cursor{width:250px;height:250px;filter:blur(60px);position:fixed;border-radius:var(--radius-full);z-index:var(--z-modal-backdrop);mix-blend-mode:screen;pointer-events:none;opacity:0;transition:opacity .5s ease,background var(--transition-slow)}[data-theme=light] #cursor.gradient{background:linear-gradient(to bottom right,#e8a89a 20%,#a5c9b5 50%,#b5bdd9 80%)no-repeat}[data-theme=dark] #cursor.gradient{background:linear-gradient(to bottom right,#8a6b60 20%,#608a75 50%,#6b7a95 80%)no-repeat;mix-blend-mode:lighten}[data-theme=light] #cursor[style*="opacity: 1"]{opacity:.2!important}[data-theme=dark] #cursor[style*="opacity: 1"]{opacity:.04!important}.gradient{background:linear-gradient(to bottom right,#e8a89a 20%,#a5c9b5 50%,#b5bdd9 80%)no-repeat}:where(::selection,::-moz-selection){background:var(--color-text);color:var(--color-bg)}@media screen and (max-width:680px){#cursor{display:none}}body{position:relative;overflow-x:hidden}