:root{--kde-font-display:"Bricolage Grotesque", "Inter", system-ui, sans-serif;--kde-font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--kde-font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--kde-font-signature:"Allura", "Brush Script MT", cursive}@font-face{font-family:Allura;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/allura-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Allura;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/allura-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/bricolage-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/bricolage-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--kde-bg-hero:#121212;--kde-bg-warm-dark:#1c1a17;--kde-bg-light:#f3f0eb;--kde-bg-light-raised:#faf8f4;--kde-text-on-dark:#f3f0eb;--kde-text-on-dark-muted:#a8a196;--kde-text-on-light:#1c1a17;--kde-text-on-light-muted:#6b6558;--kde-accent:#c9a15a;--kde-accent-dark:#a9813f;--kde-accent-text:#80612a;--kde-line-on-dark:#f3f0eb1f;--kde-line-on-light:#1c1a1724;--kde-space-xs:8px;--kde-space-s:16px;--kde-space-m:24px;--kde-space-l:32px;--kde-space-xl:48px;--kde-space-2xl:64px;--kde-space-3xl:96px;--kde-space-4xl:128px;--kde-container:1200px;--kde-container-title:960px;--kde-container-prose:720px;--kde-container-player:1100px;--kde-container-steps:760px;--kde-gutter:24px;--kde-fs-h1:clamp(2.5rem, 5vw, 4rem);--kde-fs-h2:clamp(2rem, 3.5vw, 2.75rem);--kde-fs-h3:clamp(1.5rem, 2.5vw, 1.875rem);--kde-fs-h4:1.25rem;--kde-fs-body:1.125rem;--kde-fs-small:.875rem;--kde-radius:4px}:root,:root[data-theme=light]{color-scheme:light;--c-bg:var(--kde-bg-light);--c-bg-alt:var(--kde-bg-light-raised);--c-bg-hero:var(--kde-bg-light-raised);--c-surface:var(--kde-bg-light-raised);--c-text:var(--kde-text-on-light);--c-text-muted:var(--kde-text-on-light-muted);--c-accent-text:var(--kde-accent-text);--c-accent-heading:var(--kde-accent-dark);--c-accent-deco:var(--kde-accent-dark);--c-line:var(--kde-line-on-light);--c-field-bg:var(--kde-bg-light-raised);--c-field-border:#1c1a1780;--c-focus:var(--kde-text-on-light)}:root[data-theme=dark],.theme-dark{color-scheme:dark;--c-bg:var(--kde-bg-warm-dark);--c-bg-alt:var(--kde-bg-hero);--c-bg-hero:var(--kde-bg-hero);--c-surface:#f3f0eb0a;--c-text:var(--kde-text-on-dark);--c-text-muted:var(--kde-text-on-dark-muted);--c-accent-text:var(--kde-accent);--c-accent-heading:var(--kde-accent);--c-accent-deco:var(--kde-accent);--c-line:var(--kde-line-on-dark);--c-field-bg:#f3f0eb0a;--c-field-border:#f3f0eb66;--c-focus:var(--kde-accent)}:root{--c-btn-bg:var(--kde-accent);--c-btn-bg-hover:var(--kde-accent-dark);--c-btn-text:var(--kde-bg-hero)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--c-bg)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--c-bg);color:var(--c-text);font-family:var(--kde-font-body);font-size:var(--kde-fs-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.7}.theme-dark{color:var(--c-text)}img,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--kde-font-display);font-optical-sizing:auto;margin:0 0 var(--kde-space-m);text-wrap:balance;overflow-wrap:break-word;color:var(--c-text);font-weight:700}h1{font-size:var(--kde-fs-h1);letter-spacing:-.02em;line-height:1.1}h2{font-size:var(--kde-fs-h2);letter-spacing:-.015em;line-height:1.15}h3{font-size:var(--kde-fs-h3);letter-spacing:-.01em;line-height:1.25}h4,h5,h6{font-family:var(--kde-font-body);font-size:var(--kde-fs-h4);margin:0 0 var(--kde-space-s);font-weight:600;line-height:1.3}:is(h1,h2,h3) em{color:var(--c-accent-heading);font-style:normal}p{margin:0 0 var(--kde-space-m)}a{color:var(--c-accent-text);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--c-text)}:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px}code{font-family:var(--kde-font-mono);background:var(--c-surface);border:1px solid var(--c-line);border-radius:3px;padding:.1em .35em;font-size:.875em}.eyebrow{margin:0 0 var(--kde-space-s);font-family:var(--kde-font-mono);font-size:var(--kde-fs-small);letter-spacing:.1em;text-transform:uppercase;color:var(--c-accent-text);font-weight:500;display:block}.lead{color:var(--c-text-muted);max-width:60ch;font-size:1.25rem}.muted{color:var(--c-text-muted)}.demo-badge{border:1px solid var(--c-accent-deco);font-family:var(--kde-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-accent-text);border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:600;line-height:1.5;display:inline-block}.container{width:100%;max-width:var(--kde-container);padding-inline:var(--kde-gutter);margin-inline:auto}.container--title{max-width:calc(var(--kde-container-title) + 2 * var(--kde-gutter))}.container--prose{max-width:calc(var(--kde-container-prose) + 2 * var(--kde-gutter))}.container--player{max-width:calc(var(--kde-container-player) + 2 * var(--kde-gutter))}.container--steps{max-width:calc(var(--kde-container-steps) + 2 * var(--kde-gutter))}.section{padding-block:var(--kde-space-xl);background:var(--c-bg)}.section--alt{background:var(--c-bg-alt)}.section--hero{background:var(--c-bg-hero);padding-block:var(--kde-space-xl);border-bottom:1px solid var(--c-line)}@media (width>=768px){.section,.section--hero{padding-block:var(--kde-space-3xl)}}@media (width>=1100px){.section{padding-block:var(--kde-space-4xl)}.section--hero{padding-block:var(--kde-space-3xl) var(--kde-space-4xl)}}@media (width<=767px){.section{text-align:center}.section .lead{margin-inline:auto}.section :is(.prose,ul,ol,form){text-align:left}}.btn{border-radius:var(--kde-radius);background:var(--c-btn-bg);color:var(--c-btn-text);font-family:var(--kde-font-body);letter-spacing:.02em;cursor:pointer;border:0;padding:18px 40px;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .2s;display:inline-block}.btn:hover,.btn:focus-visible{background:var(--c-btn-bg-hover);color:var(--c-btn-text)}.prose{text-align:left;hyphens:manual;font-size:1.125rem;line-height:1.75}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:0 0 1.25em}.prose h2{margin:2.2em 0 .6em;font-size:clamp(1.625rem,3vw,2.125rem);line-height:1.2}.prose h3{margin:1.8em 0 .5em;font-size:clamp(1.3125rem,2.2vw,1.5rem);line-height:1.3}.prose h4{margin:1.6em 0 .4em;font-size:1.125rem}.prose :is(h2,h3,h4)+p{margin-top:0}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.45em;padding-left:.2em}.prose li::marker{color:var(--c-accent-deco)}.prose ol li::marker{font-family:var(--kde-font-mono);font-size:.875em;font-weight:600}.prose strong{font-weight:600}.prose blockquote{border-left:2px solid var(--c-accent-deco);color:var(--c-text-muted);padding:.2em 0 .2em 1.2em}.prose pre{border:1px solid var(--c-line);border-radius:var(--kde-radius);background:var(--c-surface);padding:1em 1.2em;font-size:.9375rem;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.prose hr{border:0;border-top:1px solid var(--c-line);margin:2.5em 0}.prose table{border-collapse:collapse;width:100%;font-size:1rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--c-line);text-align:left;padding:.6em .8em}.prose img{border-radius:4px}@media (width<=767px){.prose{font-size:1.0625rem;line-height:1.7}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--kde-space-s);z-index:100;padding:var(--kde-space-xs) var(--kde-space-s);background:var(--c-btn-bg);color:var(--c-btn-text);border-radius:var(--kde-radius);position:absolute;top:-100px}.skip-link:focus{top:var(--kde-space-s)}
