/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
*,*::before,*::after{box-sizing:border-box;}*{margin:0;}html{-webkit-tap-highlight-color:transparent;scrollbar-gutter:stable;}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}body{min-height:100vh;min-height:100dvh;background:var(--color-bg);color:var(--color-fg);}img,picture,svg,video,canvas{display:block;max-width:100%;height:auto;}input,button,textarea,select{font:inherit;color:inherit;}button{background:none;border:0;cursor:pointer;}ul,ol{padding:0;}table{border-collapse:collapse;width:100%;}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm);}:focus:not(:focus-visible){outline:none;}[hidden]{display:none !important;}.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}.visually-hidden.focusable:focus,.visually-hidden.focusable:active{position:static !important;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;white-space:normal;margin:0;}.no-js .js-only{display:none !important;}
:root{color-scheme:light dark;--hue-primary:250;--hue-accent:28;--gray-0:hsl(230 30% 99%);--gray-50:hsl(230 24% 97%);--gray-100:hsl(230 20% 94%);--gray-200:hsl(230 16% 88%);--gray-300:hsl(230 14% 79%);--gray-400:hsl(230 12% 65%);--gray-500:hsl(230 10% 52%);--gray-600:hsl(230 12% 41%);--gray-700:hsl(230 16% 30%);--gray-800:hsl(230 20% 20%);--gray-900:hsl(230 26% 13%);--gray-950:hsl(230 32% 9%);--primary-300:hsl(var(--hue-primary) 85% 78%);--primary-400:hsl(var(--hue-primary) 78% 68%);--primary-500:hsl(var(--hue-primary) 70% 60%);--primary-600:hsl(var(--hue-primary) 66% 51%);--primary-700:hsl(var(--hue-primary) 62% 42%);--accent-400:hsl(var(--hue-accent) 92% 66%);--accent-500:hsl(var(--hue-accent) 90% 55%);--accent-600:hsl(var(--hue-accent) 86% 46%);--red-500:hsl(2 72% 52%);--green-500:hsl(150 62% 36%);--amber-500:hsl(38 88% 48%);--red-400:hsl(2 84% 68%);--green-400:hsl(150 52% 52%);--amber-400:hsl(38 92% 62%);--step--2:clamp(0.78rem,0.75rem + 0.11vw,0.87rem);--step--1:clamp(0.9rem,0.86rem + 0.20vw,1.03rem);--step-0:clamp(1.0625rem,1.0rem + 0.36vw,1.36rem);--step-1:clamp(1.28rem,1.20rem + 0.44vw,1.58rem);--step-2:clamp(1.54rem,1.40rem + 0.72vw,2.0rem);--step-3:clamp(1.85rem,1.62rem + 1.18vw,2.53rem);--step-4:clamp(2.22rem,1.86rem + 1.90vw,3.2rem);--step-5:clamp(2.66rem,2.10rem + 2.95vw,4.05rem);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-11:6rem;--space-12:8rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.875rem;--radius-full:999px;--shadow-weak:light-dark(hsl(230 30% 10% / 0.06),hsl(230 50% 2% / 0.44));--shadow-mid:light-dark(hsl(230 30% 10% / 0.08),hsl(230 50% 2% / 0.52));--shadow-strong:light-dark(hsl(230 30% 10% / 0.12),hsl(230 50% 2% / 0.64));--shadow-1:0 1px 2px var(--shadow-weak),0 1px 3px var(--shadow-mid);--shadow-2:0 4px 12px var(--shadow-mid),0 2px 4px var(--shadow-weak);--shadow-3:0 12px 32px var(--shadow-strong),0 4px 8px var(--shadow-weak);--font-sans:'Inter','Inter Fallback',system-ui,-apple-system,'Segoe UI',sans-serif;--font-serif:'Fraunces','Fraunces Fallback',Georgia,'Times New Roman',serif;--font-mono:ui-monospace,'SF Mono',SFMono-Regular,Menlo,'Cascadia Code',Consolas,monospace;--measure:100%;--width-page:54rem;--header-h:4rem;--gutter:clamp(1rem,4vw,2.5rem);--color-bg:light-dark(var(--gray-0),var(--gray-950));--color-bg-subtle:light-dark(var(--gray-50),hsl(230 26% 12%));--color-surface:light-dark(#fff,hsl(230 24% 14%));--color-surface-raised:light-dark(#fff,hsl(230 22% 18%));--color-fg:light-dark(var(--gray-900),var(--gray-100));--color-fg-muted:light-dark(var(--gray-600),var(--gray-400));--color-fg-subtle:light-dark(var(--gray-500),hsl(230 10% 58%));--color-fg-inverted:light-dark(#fff,var(--gray-950));--color-link:light-dark(var(--primary-700),var(--primary-300));--color-link-hover:light-dark(var(--primary-600),var(--primary-400));--color-accent:light-dark(var(--accent-600),var(--accent-400));--color-accent-fg:light-dark(#fff,var(--gray-950));--color-border:light-dark(var(--gray-200),hsl(230 16% 24%));--color-border-strong:light-dark(var(--gray-300),hsl(230 14% 36%));--color-focus:light-dark(var(--primary-600),var(--primary-400));--color-selection:light-dark(hsl(var(--hue-primary) 90% 90%),hsl(var(--hue-primary) 55% 32%));--color-code-bg:light-dark(var(--gray-950),hsl(230 34% 5%));--color-code-fg:light-dark(hsl(230 22% 88%),hsl(230 18% 82%));--color-code-border:light-dark(transparent,hsl(230 15% 38%));--color-danger:light-dark(var(--red-500),var(--red-400));--color-success:light-dark(var(--green-500),var(--green-400));--color-warning:light-dark(var(--amber-500),var(--amber-400));--color-info:light-dark(var(--primary-600),var(--primary-400));}:root[data-theme="light"]{color-scheme:light;}:root[data-theme="dark"]{color-scheme:dark;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/themes/custom/nikofischer/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/themes/custom/nikofischer/fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 900;font-display:swap;src:url(/themes/custom/nikofischer/fonts/fraunces-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 900;font-display:swap;src:url(/themes/custom/nikofischer/fonts/fraunces-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Inter Fallback';src:local('Arial');ascent-override:90%;descent-override:22.4%;line-gap-override:0%;size-adjust:107%;}@font-face{font-family:'Fraunces Fallback';src:local('Georgia');ascent-override:96%;descent-override:26%;line-gap-override:0%;size-adjust:106%;}html{font-family:var(--font-sans);font-size:100%;line-height:1.6;-webkit-text-size-adjust:100%;text-size-adjust:100%;}body{font-size:var(--step-0);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.15;text-wrap:balance;letter-spacing:-0.011em;color:var(--color-fg);}h1{font-size:var(--step-5);}h2{font-size:var(--step-3);}h3{font-size:var(--step-2);}h4{font-size:var(--step-1);}h5,h6{font-size:var(--step-0);font-family:var(--font-sans);font-weight:700;}p,li{text-wrap:pretty;}a{color:var(--color-link);text-decoration-thickness:0.08em;text-underline-offset:0.18em;}a:hover{color:var(--color-link-hover);}strong,b{font-weight:650;}code,kbd,samp,pre{font-family:var(--font-mono);font-size:0.9em;}::selection{background:var(--color-selection);}
.page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;}.page__main{flex:1 0 auto;}.wrap{width:min(100% - var(--gutter) * 2,var(--width-page));margin-inline:auto;}.layout-content{padding-block:var(--space-6) var(--space-10);}.skip-link{position:absolute;inset-inline-start:var(--space-4);top:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-fg);color:var(--color-fg-inverted);border-radius:var(--radius-md);text-decoration:none;}body{overflow-x:clip;}
.article{position:relative;}.article__header{padding-block:var(--space-7) var(--space-6);}.article__title{font-size:var(--step-5);letter-spacing:-0.022em;margin-bottom:var(--space-5);}.reading-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--step--1);color:var(--color-fg-subtle);}.reading-meta__item{display:inline-flex;align-items:center;gap:var(--space-2);}.reading-meta__item svg{width:1em;height:1em;opacity:.8;}.reading-meta__sep{color:var(--color-border-strong);}.reading-meta a{color:inherit;text-decoration:none;}.reading-meta a:hover{color:var(--color-link);}.article__hero{margin-block:var(--space-6);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-2);width:fit-content;max-width:100%;}.article__hero img{width:auto;max-width:100%;}.article__footer{margin-top:var(--space-8);display:flex;flex-direction:column;gap:var(--space-7);}.article__tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);}.article__tags-label{font-size:var(--step--2);font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--color-fg-subtle);}
.toc__list{list-style:none;display:flex;flex-direction:column;}.toc__link{display:block;text-decoration:none;line-height:1.45;}.toc--inline{margin-block:var(--space-6) var(--space-8);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding-block:var(--space-3);}.toc--inline .toc__summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--space-3);font-size:var(--step--2);font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--color-fg-subtle);padding-block:var(--space-1);}.toc--inline .toc__summary::-webkit-details-marker{display:none;}.toc--inline .toc__summary:hover{color:var(--color-fg);}.toc__count{margin-inline-start:auto;font-variant-numeric:tabular-nums;font-weight:450;letter-spacing:0;}.toc--inline .toc__summary::after{content:'';width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s;}.toc--inline[open] .toc__summary::after{transform:rotate(-135deg) translate(-2px,-2px);}.toc--inline .toc__list{margin-block:var(--space-4) var(--space-2);gap:var(--space-1);font-size:var(--step--1);}.toc--inline .toc__item--3{padding-inline-start:var(--space-5);}.toc--inline .toc__link{padding:var(--space-1) 0;color:var(--color-fg-muted);}.toc--inline .toc__link:hover{color:var(--color-link);}.toc--inline .toc__link[aria-current='location']{color:var(--color-fg);font-weight:600;}.toc--rail{display:none;}@media (min-width:84em){.toc--inline{display:none;}.toc--rail{display:block;position:absolute;inset-inline-start:calc(100% + var(--space-5));top:0;height:100%;width:13rem;}.toc__inner{position:sticky;top:calc(var(--header-h) + var(--space-5));max-height:calc(100dvh - var(--header-h) - var(--space-9));overflow-y:auto;overscroll-behavior:contain;font-size:var(--step--2);padding-inline-end:var(--space-2);}.toc__inner::-webkit-scrollbar{width:3px;}.toc__inner::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:999px;}.toc--rail .toc__title{font-family:var(--font-sans);font-size:var(--step--2);font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--color-fg-subtle);margin-bottom:var(--space-3);}.toc--rail .toc__list{gap:1px;}.toc--rail .toc__item--3{padding-inline-start:var(--space-3);}.toc--rail .toc__link{padding:var(--space-2) var(--space-3);border-inline-start:2px solid var(--color-border);color:var(--color-fg-muted);transition:color .15s,border-color .15s;}.toc--rail .toc__link:hover{color:var(--color-fg);border-color:var(--color-border-strong);}.toc--rail .toc__link[aria-current='location']{color:var(--color-link);border-color:var(--color-link);font-weight:600;}}@media print{.toc{display:none;}}
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none;background:transparent;}.reading-progress__bar{height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--color-accent),var(--color-link));will-change:transform;}@supports (animation-timeline:scroll()){.reading-progress__bar{animation:nf-read linear both;animation-timeline:scroll(root block);}@keyframes nf-read{from{transform:scaleX(0);}to{transform:scaleX(1);}}}@media print{.reading-progress{display:none;}}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);}.share__label{font-size:var(--step--2);font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--color-fg-subtle);}.share__list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;}.share__link{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-muted);text-decoration:none;transition:border-color .15s,color .15s,background-color .15s;}.share__link:hover{border-color:var(--color-link);color:var(--color-link);background:color-mix(in srgb,var(--color-link) 8%,transparent);}.share__link svg{width:1.05rem;height:1.05rem;}.share__link[data-copied='true']{border-color:var(--color-success);color:var(--color-success);}@media print{.share{display:none;}}
.related{border-top:1px solid var(--color-border);padding-top:var(--space-7);}.related__title{font-family:var(--font-sans);font-size:var(--step--1);font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--color-fg-subtle);margin-bottom:var(--space-5);}.related__list{display:flex;flex-direction:column;gap:var(--space-1);list-style:none;}.related__link{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-inline:calc(var(--space-4) * -1);border-radius:var(--radius-md);color:var(--color-fg);text-decoration:none;font-weight:550;line-height:1.4;transition:background-color .15s,color .15s;}.related__link::before{content:'→';color:var(--color-fg-subtle);transition:transform .15s,color .15s;}.related__link:hover{background:var(--color-bg-subtle);color:var(--color-link);}.related__link:hover::before{color:var(--color-link);transform:translateX(2px);}
.author-card{display:flex;gap:var(--space-5);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-subtle);}.author-card__avatar{flex:0 0 auto;width:3.5rem;height:3.5rem;border-radius:var(--radius-full);overflow:hidden;background:var(--color-border);display:grid;place-items:center;font-family:var(--font-serif);font-size:var(--step-2);font-weight:700;color:var(--color-fg-muted);}.author-card__avatar img{width:100%;height:100%;object-fit:cover;}.author-card__body{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;}.author-card__name{font-family:var(--font-serif);font-size:var(--step-1);font-weight:650;}.author-card__bio{font-size:var(--step--1);color:var(--color-fg-muted);line-height:1.6;}.author-card__links{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--step--1);margin-top:var(--space-1);}.author-card__youtube{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;}.author-card__youtube svg{width:1.15em;height:1.15em;color:#f00;flex:0 0 auto;}
.hljs{color:var(--color-code-fg);background:transparent;}.hljs-comment,.hljs-quote{color:hsl(230 12% 52%);font-style:italic;}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag{color:hsl(280 68% 76%);}.hljs-string,.hljs-regexp,.hljs-addition{color:hsl(95 52% 68%);}.hljs-number,.hljs-symbol,.hljs-bullet{color:hsl(28 90% 70%);}.hljs-title,.hljs-section,.hljs-name,.hljs-selector-id{color:hsl(205 82% 72%);}.hljs-attribute,.hljs-attr,.hljs-variable,.hljs-template-variable{color:hsl(45 88% 72%);}.hljs-type,.hljs-built_in,.hljs-builtin-name,.hljs-class .hljs-title{color:hsl(175 60% 66%);}.hljs-meta{color:hsl(230 12% 60%);}.hljs-deletion{color:hsl(2 78% 72%);}.hljs-emphasis{font-style:italic;}.hljs-strong{font-weight:700;}.hljs-link{text-decoration:underline;}
.article__body pre{position:relative;padding:var(--space-5);padding-top:var(--space-7);border-radius:var(--radius-md);border:1px solid var(--color-code-border);background:var(--color-code-bg);color:var(--color-code-fg);overflow-x:auto;font-size:var(--step--1);line-height:1.6;tab-size:2;}.article__body pre code{background:none;border:0;padding:0;color:inherit;}.code-copy{position:absolute;top:var(--space-2);inset-inline-end:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid hsl(0 0% 100% / .18);border-radius:var(--radius-sm);background:hsl(0 0% 100% / .06);color:hsl(0 0% 100% / .7);font-size:var(--step--2);font-family:var(--font-sans);font-weight:550;opacity:0;transition:opacity .15s,background-color .15s,color .15s;}pre:hover .code-copy,.code-copy:focus-visible{opacity:1;}.code-copy:hover{background:hsl(0 0% 100% / .12);color:#fff;}.code-copy[data-copied='true']{color:hsl(150 62% 68%);border-color:hsl(150 62% 45% / .5);opacity:1;}@media (hover:none){.code-copy{opacity:1;}}
.comments{border-top:1px solid var(--color-border);padding-top:var(--space-7);margin-top:var(--space-8);}.comments__title{font-family:var(--font-sans);font-size:var(--step--1);font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--color-fg-subtle);margin-bottom:var(--space-5);}.comment{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);}.comment + .comment{margin-top:var(--space-4);}.comment .indented{margin-inline-start:var(--space-6);margin-top:var(--space-4);}.comment__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-3);font-size:var(--step--2);color:var(--color-fg-subtle);margin-bottom:var(--space-3);}.comment__author{font-weight:650;color:var(--color-fg);font-size:var(--step--1);}.comment__body{font-size:var(--step--1);line-height:1.65;}.comment__body > * + *{margin-top:var(--space-3);}.comment__body pre{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-code-bg);color:var(--color-code-fg);overflow-x:auto;font-size:var(--step--2);}.comments__closed{font-size:var(--step--1);color:var(--color-fg-subtle);font-style:italic;}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--color-border);}@supports not (backdrop-filter:blur(1px)){.site-header{background:var(--color-bg);}}.site-header__inner{display:flex;align-items:center;gap:var(--space-3);min-height:var(--header-h);}.site-header__inner > .region,.site-header__tools > .region{display:contents;}.site-branding{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;margin-inline-end:auto;}.site-branding__mark{font-size:1.15em;line-height:1;flex:0 0 auto;transform:translateY(-0.04em);}.site-branding__name{font-family:var(--font-serif);font-weight:700;font-size:var(--step-1);letter-spacing:-0.02em;color:var(--color-fg);}.site-branding:hover .site-branding__name{color:var(--color-link);}.site-header__tools{display:flex;align-items:center;gap:var(--space-2);}.block--language-blocklanguage-interface ul{display:flex;gap:var(--space-1);list-style:none;}.block--language-blocklanguage-interface a{display:block;padding:var(--space-1) var(--space-2);font-size:var(--step--1);font-weight:550;text-transform:uppercase;letter-spacing:.04em;color:var(--color-fg-subtle);text-decoration:none;border-radius:var(--radius-sm);}.block--language-blocklanguage-interface a:hover{color:var(--color-fg);background:var(--color-bg-subtle);}.block-language .is-active a,.block--language-blocklanguage-interface a.is-active{color:var(--color-link);}.header-search-link{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);color:var(--color-fg-muted);transition:background-color .15s,color .15s;}.header-search-link:hover{background:var(--color-bg-subtle);color:var(--color-fg);}.header-search-link svg{width:1.1rem;height:1.1rem;}@media (max-width:47.99em){.site-header__inner{flex-wrap:nowrap;gap:var(--space-2);}.site-branding__name{font-size:var(--step-0);}.site-header__tools{margin-inline-start:auto;}.block--language-blocklanguage-interface a{padding:var(--space-1);}}.nav-toggle{flex:0 0 auto;}.site-branding{min-width:0;}.site-branding__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.site-branding{flex:0 0 auto;}.site-branding__name{overflow:visible;text-overflow:clip;}.menu--main a{white-space:nowrap;}@media (min-width:48em){.site-header__inner{gap:var(--space-2);}.menu--main{gap:0;}.menu--main > li > a{padding-inline:var(--space-2);font-size:var(--step--2);}.site-branding__name{font-size:var(--step-0);}.primary-nav{margin-inline-start:auto;}}.theme-toggle{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:0 0 auto;border-radius:var(--radius-md);color:var(--color-fg-muted);transition:color .15s,background-color .15s;}.theme-toggle:hover{background:var(--color-bg-subtle);color:var(--color-fg);}.theme-toggle svg{width:1.2rem;height:1.2rem;}.theme-toggle__sun{display:none;}.theme-toggle[aria-pressed='true'] .theme-toggle__sun{display:block;}.theme-toggle[aria-pressed='true'] .theme-toggle__moon{display:none;}
.nav-toggle{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-md);color:var(--color-fg);}.nav-toggle:hover{background:var(--color-bg-subtle);}.nav-toggle svg{width:1.35rem;height:1.35rem;}.nav-toggle__close{display:none;}.nav-toggle[aria-expanded='true'] .nav-toggle__open{display:none;}.nav-toggle[aria-expanded='true'] .nav-toggle__close{display:block;}.menu--main,.menu--main .menu{list-style:none;}.menu--main a{display:block;color:var(--color-fg-muted);text-decoration:none;font-weight:550;font-size:var(--step--1);border-radius:var(--radius-md);transition:color .15s;}.menu--main a:hover{color:var(--color-fg);}.menu--main a.is-active{color:var(--color-link);}@media (max-width:47.99em){.primary-nav{position:fixed;inset:var(--header-h) 0 auto 0;max-height:calc(100dvh - var(--header-h));overflow-y:auto;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--gutter) var(--space-6);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s;}.primary-nav[data-open='true']{opacity:1;transform:none;visibility:visible;}.menu--main{display:flex;flex-direction:column;gap:var(--space-1);}.menu--main a{padding:var(--space-3) var(--space-3);font-size:var(--step-0);}.menu--main .menu{padding-inline-start:var(--space-4);}}@media (min-width:48em){.nav-toggle{display:none;}.primary-nav{display:block !important;}.menu--main{display:flex;align-items:center;gap:var(--space-1);}.menu--main > li{position:relative;}.menu--main > li > a{padding:var(--space-2) var(--space-3);}.menu--main .menu{position:absolute;top:100%;inset-inline-start:0;min-width:12rem;list-style:none;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:var(--space-2);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;}.menu--main > li:hover > .menu,.menu--main > li:focus-within > .menu{opacity:1;visibility:visible;transform:none;}.menu--main .menu a{padding:var(--space-2) var(--space-3);}.menu--main .menu a:hover{background:var(--color-bg-subtle);}}
.site-footer{margin-top:var(--space-11);border-top:1px solid var(--color-border);background:var(--color-bg-subtle);padding-block:var(--space-8) var(--space-7);font-size:var(--step--1);color:var(--color-fg-muted);}.site-footer__grid{display:grid;gap:var(--space-7);grid-template-columns:minmax(0,1fr);}@media (min-width:48em){.site-footer__grid{grid-template-columns:1.4fr 1fr 1fr;}}.site-footer h2{font-family:var(--font-sans);font-size:var(--step--1);font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--color-fg);margin-bottom:var(--space-3);}.site-footer ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);}.site-footer a{color:inherit;text-decoration:none;}.site-footer a:hover{color:var(--color-link);text-decoration:underline;}.site-footer__bottom{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;font-size:var(--step--2);color:var(--color-fg-subtle);}.site-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-4);}
.button,.button--primary,input[type='submit'],button[type='submit']{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-fg);font-weight:600;font-size:var(--step--1);line-height:1.2;text-decoration:none;cursor:pointer;transition:filter .15s,transform .05s;}.button:hover,input[type='submit']:hover,button[type='submit']:hover{filter:brightness(1.07);color:var(--color-accent-fg);}.button:active,input[type='submit']:active,button[type='submit']:active{transform:translateY(1px);}.button[disabled],input[type='submit'][disabled]{opacity:.55;cursor:not-allowed;}.button--secondary{background:transparent;color:var(--color-fg);border-color:var(--color-border-strong);}.button--secondary:hover{background:var(--color-bg-subtle);color:var(--color-fg);filter:none;}.button--ghost{background:transparent;color:var(--color-fg-muted);padding:var(--space-2) var(--space-3);}.button--ghost:hover{background:var(--color-bg-subtle);color:var(--color-fg);filter:none;}
.form-item{margin-block:var(--space-4);}label{display:block;margin-bottom:var(--space-2);font-size:var(--step--1);font-weight:600;color:var(--color-fg);}label.option{display:inline;font-weight:450;margin:0;}input[type='text'],input[type='email'],input[type='url'],input[type='search'],input[type='password'],input[type='tel'],input[type='number'],textarea,select{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-fg);transition:border-color .15s,box-shadow .15s;}input:focus,textarea:focus,select:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 22%,transparent);outline:none;}textarea{min-height:8rem;resize:vertical;}.description{margin-top:var(--space-2);font-size:var(--step--2);color:var(--color-fg-subtle);}.form-required{color:var(--color-danger);}.form-item--error-message,.form-item--error input{border-color:var(--color-danger);}.form-item--error-message{color:var(--color-danger);font-size:var(--step--2);margin-top:var(--space-2);}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);}legend{padding-inline:var(--space-2);font-weight:650;}.form-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-5);}
.messages{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border-inline-start:4px solid;background:var(--color-bg-subtle);margin-block:var(--space-5);}.messages__list{list-style:none;}.messages--status{border-color:var(--color-success);}.messages--warning{border-color:var(--color-warning);}.messages--error{border-color:var(--color-danger);}
.breadcrumb{padding-block:var(--space-5) 0;}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;font-size:var(--step--1);color:var(--color-fg-subtle);}.breadcrumb li + li::before{content:'/';margin-inline-end:var(--space-2);color:var(--color-border-strong);}.breadcrumb a{color:inherit;text-decoration:none;}.breadcrumb a:hover{color:var(--color-link);text-decoration:underline;}
.pager{margin-top:var(--space-9);padding-top:var(--space-6);border-top:1px solid var(--color-border);}.pager__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);}.pager__current{font-size:var(--step--2);color:var(--color-fg-subtle);font-variant-numeric:tabular-nums;text-align:center;}.pager__link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--step--1);font-weight:600;color:var(--color-fg-muted);text-decoration:none;transition:color .15s;}.pager__link:hover{color:var(--color-link);}.pager__link span{transition:transform .15s;display:inline-block;}.pager__link--prev{justify-self:start;}.pager__link--next{justify-self:end;}.pager__link--prev:hover span{transform:translateX(-3px);}.pager__link--next:hover span{transform:translateX(3px);}.pager__items{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;justify-content:center;}.pager__item a{display:inline-flex;align-items:center;min-width:2.5rem;height:2.5rem;padding-inline:var(--space-3);justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-muted);text-decoration:none;font-size:var(--step--1);}.pager__item a:hover{border-color:var(--color-border-strong);color:var(--color-fg);}.pager__item.is-active a{background:var(--color-fg);color:var(--color-fg-inverted);border-color:var(--color-fg);}@media (max-width:33.99em){.pager__row{grid-template-columns:1fr;justify-items:center;gap:var(--space-3);}.pager__link--prev,.pager__link--next{justify-self:center;}}
.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;}.tag{display:inline-block;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--step--2);font-weight:550;color:var(--color-fg-muted);text-decoration:none;transition:border-color .15s,color .15s,background-color .15s;}.tag:hover{border-color:var(--color-link);color:var(--color-link);background:color-mix(in srgb,var(--color-link) 8%,transparent);}
.block--legacy{border-radius:var(--radius-lg);overflow:hidden;}.block--legacy img{border-radius:var(--radius-md);}.block__title{font-family:var(--font-sans);font-size:var(--step--1);font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--color-fg-subtle);margin-bottom:var(--space-4);}
.article__body{font-size:var(--step-0);line-height:1.72;color:var(--color-fg);}.article__body > * + *{margin-top:var(--space-5);}.article__body h2{margin-top:var(--space-8);font-size:var(--step-3);letter-spacing:-0.015em;}.article__body h3{margin-top:var(--space-7);font-size:var(--step-2);}.article__body h4{margin-top:var(--space-6);}.article__body :is(h2,h3,h4){scroll-margin-top:calc(var(--header-h) + var(--space-4));}.article__body a{text-decoration:underline;}.article__body :is(ul,ol){padding-inline-start:1.4em;}.article__body li{padding-inline-start:0.25em;}.article__body li + li{margin-top:var(--space-3);}.article__body li > :is(ul,ol){margin-top:var(--space-3);}.article__body li::marker{color:var(--color-fg-subtle);}.article__body :is(p,h2,h3,h4) + :is(ul,ol){margin-top:var(--space-3);}.article__body :is(h2,h3,h4) + :is(figure,img){margin-top:var(--space-4);}.article__body blockquote{padding:var(--space-1) 0 var(--space-1) var(--space-5);border-inline-start:3px solid var(--color-accent);font-family:var(--font-serif);font-size:var(--step-1);font-style:italic;color:var(--color-fg-muted);}.article__body img{border-radius:var(--radius-md);margin-inline:auto;}.article__body figure{margin-block:var(--space-6);}.article__body figcaption{margin-top:var(--space-3);font-size:var(--step--1);color:var(--color-fg-subtle);text-align:center;}.article__body hr{border:0;height:1px;background:var(--color-border);margin-block:var(--space-8);}.article__body :not(pre) > code{padding:0.15em 0.4em;border-radius:var(--radius-sm);background:var(--color-bg-subtle);border:1px solid var(--color-border);font-size:0.88em;}.article__body table{display:block;overflow-x:auto;font-size:var(--step--1);}.article__body :is(th,td){padding:var(--space-3);border-bottom:1px solid var(--color-border);text-align:start;}.article__body th{font-weight:650;background:var(--color-bg-subtle);}.page-title{margin-block:var(--space-7) var(--space-6);font-size:var(--step-4);letter-spacing:-0.02em;}.node--page .article__body > :first-child{margin-top:0;}.article__body :is(img,.align-center,.align-left,.align-right){border-radius:var(--radius-md);}.article__body img.align-center{display:block;margin-inline:auto;margin-block:var(--space-6);}.article__body img.align-left{margin-inline-end:var(--space-5);margin-block:var(--space-2);}.article__body img.align-right{margin-inline-start:var(--space-5);margin-block:var(--space-2);}
.article__body .callout{--callout-accent:var(--color-border-strong);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid color-mix(in oklab,var(--callout-accent) 35%,transparent);border-inline-start-width:3px;border-inline-start-color:var(--callout-accent);background:color-mix(in oklab,var(--callout-accent) 8%,var(--color-surface));}.article__body .callout--info{--callout-accent:var(--color-info);}.article__body .callout--warn{--callout-accent:var(--color-warning);}.article__body .callout--success{--callout-accent:var(--color-success);}.article__body .callout--danger{--callout-accent:var(--color-danger);}.article__body .callout--accent{--callout-accent:var(--color-accent);}.article__body .callout--note{--callout-accent:var(--color-border-strong);}.article__body .callout--cta{--callout-accent:var(--color-accent);border-inline-start-width:1px;border-color:color-mix(in oklab,var(--callout-accent) 45%,transparent);background:color-mix(in oklab,var(--callout-accent) 12%,var(--color-surface));}.article__body .callout--cta :is(h2,h3,h4){color:var(--color-fg);}.article__body .callout__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;}.article__body .callout .button,.article__body .callout .button:hover{text-decoration:none;}.article__body .scan-form{margin-top:var(--space-4);}.article__body .scan-form__row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:stretch;}.article__body .scan-form__input{flex:1 1 16rem;min-width:0;}.article__body .scan-form .button{flex:0 0 auto;}.article__body .callout__note{font-size:var(--step--2);color:var(--color-fg-muted);}.article__body .callout > :first-child{margin-top:0;}.article__body .callout > :last-child{margin-bottom:0;}.article__body .callout :is(h2,h3,h4){margin-top:var(--space-4);font-size:var(--step-1);}.article__body .callout > :is(h2,h3,h4):first-child{margin-top:0;}.article__body .callout .callout{border-inline-start-width:1px;background:var(--color-surface);}.article__body :is([style*="display: flex"],[style*="display:flex"]) > .callout,.article__body :is([style*="display: grid"],[style*="display:grid"]) > .callout{margin:0;}.article__body [style*="background"]{color-scheme:light;color:var(--gray-900);}.article__body [style*="background"] :where(p,li,h1,h2,h3,h4,h5,span,strong,em,td,th,dt,dd,blockquote){color:inherit;}.article__body [style*="background"] :where(a){color:var(--primary-700);}.article__body [style*="background"] :where(li)::marker{color:var(--gray-600);}
.newsletter{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-subtle);}.newsletter__heading{font-family:var(--font-serif);font-size:var(--step-1);font-weight:650;color:var(--color-fg);margin-bottom:var(--space-2);}.newsletter__intro{font-size:var(--step--1);color:var(--color-fg-muted);line-height:1.6;margin-bottom:var(--space-5);}.newsletter__row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-start;}.newsletter__row .form-item{margin:0;flex:1 1 14rem;min-width:0;}.newsletter__input{width:100%;}.newsletter__submit{flex:0 0 auto;}.newsletter__note{margin-top:var(--space-3);font-size:var(--step--2);color:var(--color-fg-subtle);}.newsletter .form-item-website{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden;}.newsletter--result{text-align:start;}.article__footer .newsletter{margin-block:var(--space-2);}@media print{.newsletter{display:none;}}
