@layer legacy,settings,base,utilities,layout,components,theme,hacks;@layer settings;@layer legacy;@layer settings{:root{--font-sans: "DM Sans",system-ui,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, -apple-system, sans-serif;--font-display: "Fraunces", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-weight-regular: 400;--font-weight-display: 600;--font-weight-bold: 700;--text-xs: .8125rem;--text-s: .9375rem;--text-m: 1.0625rem;--text-l: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--text-hero: max(2.75rem, min(6vw, 4.5rem));--space-xs: .25rem;--space-s: .5rem;--space-m: 1rem;--space-l: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-header: 5rem;--content-width: 72rem;--content-measure: 65ch;--content-measure-display: 14ch;--content-gutter: var(--space-xl);--content-padding-inline: var(--space-l);--content-padding: var(--content-padding-inline);--chapter-rule: 4px;--content-accent-gap: var(--space-m);--content-text-start: calc( var(--content-padding-inline) + var(--chapter-rule) + var(--content-accent-gap) );--grouped-list-padding: var(--space-s) var(--space-xl) var(--space-s) var(--space-m);--touch-target-min: 2.75rem;--radius-sm: .25rem;--radius-md: .625rem;--radius: var(--radius-md);--line-height: 1.6;--line-height-tight: 1.2;--duration-fast: .15s;--duration-normal: .22s;--duration-slow: .5s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--layer-nav: 20;--layer-nav-menu: 2;--layer-popover: 30;--layer-dialog: 40;--layer-toast: 50;--layer-skip-link: 100}}@layer settings{@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-400.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-700.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-600.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2")}}@layer settings{@media(min-width:768px){:root{--space-header: 7rem}}@media(min-width:1280px){:root{--grouped-list-padding: var(--space-m) var(--space-2xl) var(--space-m) var(--space-l)}}@media(max-width:767.98px){:root{--content-gutter: var(--space-m);--content-padding-inline: var(--space-s);--content-accent-gap: var(--space-s);--space-header: 3.5rem;--grouped-list-padding: var(--space-s) var(--space-l) var(--space-s) var(--space-m)}}}@layer base{*,*:before,*:after{box-sizing:border-box}body{margin:0}img{max-width:100%;height:auto}ul[class],ol[class]{list-style:none;margin:0;padding:0}}@layer base{html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-m);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased}h1{font-family:var(--font-display);line-height:var(--line-height-tight);font-weight:var(--font-weight-display);font-size:var(--text-hero);letter-spacing:-.02em;color:var(--color-text)}h2,h3,h4{font-family:var(--font-sans);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);color:var(--color-text)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-l)}p{margin-top:0;margin-bottom:var(--space-m)}p:last-child{margin-bottom:0}a{color:var(--color-accent);text-underline-offset:.15em;-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}a:hover,a:focus-visible{color:var(--color-link-hover);text-decoration-color:currentColor}code,pre{font-family:var(--font-mono);font-size:.9em}code:not(pre code){padding:var(--space-xs) var(--space-s);font-size:.875em;line-height:1.3;vertical-align:middle;background-color:var(--color-code-inline-bg);box-shadow:inset 0 0 0 1px var(--color-code-inline-border);border-radius:var(--radius-sm)}pre{padding:var(--space-m);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@layer utilities{.skip-link{position:absolute;left:var(--space-m);top:var(--space-m);padding:var(--space-s) var(--space-m);background:var(--color-accent);color:var(--color-on-accent);-webkit-text-decoration:none;text-decoration:none;font-weight:var(--font-weight-bold);border-radius:var(--radius-md);transform:translateY(-200%);z-index:var(--layer-skip-link)}.skip-link:focus{transform:translateY(0)}}@layer utilities{.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}}@layer utilities{.is_hidden{display:none}}@layer utilities{:focus{outline:none}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}}@layer utilities{@keyframes hero-enter{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes chapter-enter{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media not (prefers-reduced-motion:reduce){.content-chapter{animation:chapter-enter var(--duration-normal) var(--ease-standard) both;animation-timeline:view();animation-range:entry 0% cover 25%}.page-hero>.inner{animation:hero-enter var(--duration-slow) var(--ease-standard) both}}}@layer utilities{.inner>.content-prose,.content-chapter .content-prose,.content-chapter .tick-list,.page-content .tick-list,.page-content.content-prose>:where(h2,h3,h4,p,ul,ol),.lead,.content-chapter>.inner>.header,.page-section>.inner>.header,.page-header>.inner>h1{max-width:var(--content-measure)}}@layer utilities{@supports (text-wrap: balance){.page-hero>.inner>h1,.content-chapter>.inner>.header>h2,.content-chapter>.inner>.header>h3,.content-chapter .content-prose h2,.content-chapter .content-prose h3{text-wrap:balance}}@supports (text-wrap: pretty){.page-hero>.inner>.lead,.content-chapter>.inner>.header>.lead,.content-chapter .content-prose p,.content-chapter .content-prose li,.content-chapter .tick-list>li,.page-content .tick-list>li{text-wrap:pretty}}}@layer layout{.page-shell>.main{min-height:50vh}.page-content{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl)}.page-header+.page-content{padding-top:var(--space-l)}.page-shell:has(.main>.page-hero:first-child) .site-header{position:absolute;left:0;right:0;top:0;background:transparent;border-bottom-color:transparent}.page-shell:has(.main>.page-hero:first-child) .site-header>.inner>.header-bar>.logo{color:var(--color-hero-text)}.page-shell:has(.main>.page-hero:first-child) .site-header>.inner>.header-bar>.logo:hover,.page-shell:has(.main>.page-hero:first-child) .site-header>.inner>.header-bar>.logo:focus-visible{color:var(--color-hero-tagline)}.page-shell:has(.main>.page-hero:first-child) .site-header .primary-nav a{color:var(--color-hero-text)}.page-shell:has(.main>.page-hero:first-child) .site-header .primary-nav a[aria-current=page]{color:var(--color-hero-text);text-decoration-color:var(--color-hero-tagline)}@media(min-width:768px){.page-shell:has(.main>.page-hero:first-child) .site-header .primary-nav a:hover,.page-shell:has(.main>.page-hero:first-child) .site-header .primary-nav a:focus-visible{color:var(--color-hero-tagline)}}@media(max-width:767.98px){.page-shell:has(.main>.page-hero:first-child) .site-header{position:sticky;background:var(--color-bg);border-bottom-color:var(--color-border)}.page-shell:has(.main>.page-hero:first-child) .site-header>.inner>.header-bar>.logo,.page-shell:has(.main>.page-hero:first-child) .site-header .primary-nav a{color:var(--color-text)}.page-shell:has(.main>.page-hero:first-child) .site-header>.inner>.header-bar>.logo:hover,.page-shell:has(.main>.page-hero:first-child) .site-header>.inner>.header-bar>.logo:focus-visible{color:var(--color-link-hover)}}}@layer layout{.site-header>.inner,.site-footer>.inner,.page-hero>.inner,.content-chapter>.inner,.page-section>.inner,.page-header>.inner,.cta-band>.inner,.page-content,.container{width:min(100% - var(--content-gutter),var(--content-width));margin-left:auto;margin-right:auto;padding-left:var(--content-padding-inline);padding-right:var(--content-padding-inline)}.page-content,.content-chapter:not(.cta-band)>.inner,.page-section:not(.does-not-exist)>.inner,.page-header:not(.does-not-exist)>.inner{padding-left:var(--content-text-start)}.content-chapter:not(.cta-band)>.inner,.page-section:not(.does-not-exist)>.inner,.page-header:not(.does-not-exist)>.inner{position:relative}.content-chapter:not(.cta-band)>.inner:before{content:"";position:absolute;left:var(--content-padding-inline);top:0;bottom:0;width:var(--chapter-rule);background:var(--color-accent)}.page-section:not(.does-not-exist)>.inner:before{content:"";position:absolute;left:var(--content-padding-inline);top:0;bottom:0;width:var(--chapter-rule);background:var(--color-accent)}.page-header:not(.does-not-exist)>.inner:before{content:"";position:absolute;left:var(--content-padding-inline);top:0;bottom:0;width:var(--chapter-rule);background:var(--color-accent)}@media(max-width:767.98px){.page-content,.content-chapter:not(.cta-band)>.inner,.page-section:not(.does-not-exist)>.inner,.page-header:not(.does-not-exist)>.inner{padding-left:var(--content-padding-inline);padding-right:var(--content-padding-inline)}.content-chapter:not(.cta-band)>.inner:before{display:none}.page-section:not(.does-not-exist)>.inner:before{display:none}.page-header:not(.does-not-exist)>.inner:before{display:none}}}@layer components{.site-header{position:relative;z-index:var(--layer-nav);overflow:visible;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.site-header>.inner{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-s);padding-top:var(--space-m);padding-bottom:var(--space-m)}.site-header>.inner>.header-bar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--space-m)}.site-header>.inner>.header-bar>.logo{font-family:var(--font-display);font-size:var(--text-l);font-weight:var(--font-weight-display);color:var(--color-text);-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.15em;transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}.site-header>.inner>.header-bar>.logo:hover,.site-header>.inner>.header-bar>.logo:focus-visible{color:var(--color-link-hover);text-decoration-color:currentColor}.site-header>.inner>.header-bar>.menu-button{display:none}.site-header .primary-nav>.nav-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--space-xs) var(--space-m);list-style:none;margin:0;padding:0}.site-header .primary-nav>.nav-list>li{list-style:none}.site-header .primary-nav>.nav-list>li::marker{content:none}.site-header .primary-nav a{display:block;padding:var(--space-s) var(--space-xs);color:var(--color-text);-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.15em;font-weight:var(--font-weight-bold);font-size:var(--text-s);line-height:1.4;transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}.site-header .primary-nav a[aria-current=page]{color:var(--color-accent);text-decoration-color:currentColor;text-decoration-thickness:3px;text-underline-offset:.25em}@media(min-width:768px){.site-header>.inner{padding-top:var(--space-m);padding-bottom:var(--space-s)}.site-header>.inner>.header-bar{flex-wrap:wrap}.site-header>.inner>.header-bar>.primary-nav{flex:1 1 100%;order:2}.site-header>.inner>.header-bar>.logo{order:1}.site-header>.inner>.header-bar>.menu-button{display:none}.site-header .primary-nav{display:block}.site-header .primary-nav a{padding-left:0;padding-right:0;padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.site-header .primary-nav a:hover,.site-header .primary-nav a:focus-visible{color:var(--color-link-hover);text-decoration-color:currentColor}}@media(max-width:767.98px){.site-header{position:sticky;top:0}.site-header>.inner{gap:var(--space-xs);padding-top:var(--space-s);padding-bottom:var(--space-s)}.site-header>.inner>.header-bar>.logo{flex:1 1 auto;min-width:0;font-size:var(--text-m);line-height:var(--line-height-tight)}.site-header>.inner>.header-bar>.menu-button{display:block;flex:0 0 auto;margin-left:auto;min-height:var(--touch-target-min);font-family:var(--font-sans);font-size:var(--text-s);font-weight:var(--font-weight-bold);line-height:1;padding:var(--space-s) var(--space-m);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.site-header>.inner>.header-bar>.menu-button:focus-visible{outline:none;color:var(--color-link-hover);border-color:var(--color-card-hover-border);background:var(--color-interaction-bg);box-shadow:0 0 0 2px var(--color-focus-ring)}.site-header.is_open>.inner>.header-bar>.menu-button{color:var(--color-link-hover);border-color:var(--color-accent);background:var(--color-interaction-bg)}.site-header .primary-nav{display:none}.site-header.is_open>.inner>.header-bar>.primary-nav{position:absolute;left:0;right:0;top:100%;z-index:var(--layer-nav-menu);display:block;margin:0;padding-top:var(--space-s);padding-bottom:var(--space-s);padding-left:0;padding-right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:0 var(--space-m) var(--space-l) var(--color-overlay-shadow)}.site-header.is_open .primary-nav>.nav-list{flex-direction:column;align-items:stretch;gap:0;width:min(100% - var(--content-gutter),var(--content-width));margin-left:auto;margin-right:auto;padding-left:var(--content-padding-inline);padding-right:var(--content-padding-inline)}.site-header.is_open .primary-nav>.nav-list>li+li{border-top:1px solid var(--color-border)}.site-header.is_open .primary-nav a{padding-top:var(--space-m);padding-bottom:var(--space-m);padding-left:var(--space-m);padding-right:var(--space-l);border-radius:0;-webkit-text-decoration:none;text-decoration:none;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.site-header.is_open .primary-nav a[aria-current=page]{-webkit-text-decoration:none;text-decoration:none;box-shadow:inset 4px 0 0 var(--color-accent)}.site-header.is_open .primary-nav a:focus-visible{outline:none;color:var(--color-link-hover);background:var(--color-interaction-bg);box-shadow:inset 4px 0 0 var(--color-accent),inset 0 0 0 2px var(--color-focus-ring)}.site-header.is_open .primary-nav a[aria-current=page]:focus-visible{color:var(--color-link-hover)}@media(hover:hover){.site-header>.inner>.header-bar>.menu-button:hover{color:var(--color-link-hover);border-color:var(--color-card-hover-border);background:var(--color-interaction-bg)}.site-header.is_open .primary-nav a:hover{color:var(--color-link-hover);background:var(--color-interaction-bg);box-shadow:inset 4px 0 0 var(--color-accent)}.site-header.is_open .primary-nav a[aria-current=page]:hover{color:var(--color-link-hover)}}}}@layer components{.site-footer{background:var(--color-footer-bg);color:var(--color-footer-text);padding-top:var(--space-2xl);padding-bottom:var(--space-2xl);border-top:var(--chapter-rule) solid var(--color-footer-border)}.site-footer>.inner{display:grid;grid-gap:var(--space-l);gap:var(--space-l)}.site-footer>.inner>.top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-m) var(--space-xl)}.site-footer>.inner>.top>.brand{font-family:var(--font-display);font-size:var(--text-l);font-weight:var(--font-weight-display);color:var(--color-footer-text);-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.15em;line-height:var(--line-height-tight);transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}.site-footer>.inner>.top>.brand:hover,.site-footer>.inner>.top>.brand:focus-visible{color:var(--color-link-hover);text-decoration-color:currentColor}.site-footer>.inner>.top>.footer-nav>.nav-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-m);list-style:none;margin:0;padding:0}.site-footer>.inner>.top>.footer-nav>.nav-list>li{list-style:none}.site-footer>.inner>.top>.footer-nav>.nav-list>li::marker{content:none}.site-footer>.inner>.top>.footer-nav>.nav-list>li>a{display:block;padding:0;font-size:var(--text-s);font-weight:var(--font-weight-bold);line-height:var(--line-height);color:var(--color-footer-text);-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.15em;text-decoration-thickness:2px;transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}.site-footer>.inner>.top>.footer-nav>.nav-list>li>a:hover,.site-footer>.inner>.top>.footer-nav>.nav-list>li>a:focus-visible{color:var(--color-link-hover);text-decoration-color:currentColor}.site-footer>.inner>.top>.footer-nav>.nav-list>li>a:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-focus-ring)}.site-footer>.inner>.top>.footer-nav>.nav-list>li>a[aria-current=page]{color:var(--color-link-hover);text-decoration-color:currentColor}.site-footer>.inner>.footer-legal>.nav-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-m);list-style:none;margin:0;padding:0}.site-footer>.inner>.footer-legal>.nav-list>li{list-style:none}.site-footer>.inner>.footer-legal>.nav-list>li::marker{content:none}.site-footer>.inner>.footer-legal>.nav-list>li>a{display:block;padding:var(--space-xs) 0;font-size:var(--text-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height);color:var(--color-footer-muted);-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.15em;transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}.site-footer>.inner>.footer-legal>.nav-list>li>a:hover,.site-footer>.inner>.footer-legal>.nav-list>li>a:focus-visible{color:var(--color-link-hover);text-decoration-color:currentColor}.site-footer>.inner>.footer-legal>.nav-list>li>a:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-focus-ring)}.site-footer>.inner>.meta{margin:0;padding-top:var(--space-l);border-top:1px solid var(--color-footer-divider);font-size:var(--text-xs);line-height:var(--line-height);color:var(--color-footer-muted)}.site-footer>.inner>.meta a{color:var(--color-footer-text);font-weight:var(--font-weight-bold);-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.15em;transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}.site-footer>.inner>.meta a:hover,.site-footer>.inner>.meta a:focus-visible{color:var(--color-link-hover);text-decoration-color:currentColor}.site-footer>.inner>.meta a:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-focus-ring)}@media(max-width:767.98px){.site-footer>.inner>.top{flex-direction:column;align-items:flex-start}.site-footer>.inner>.top>.footer-nav>.nav-list{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.site-footer>.inner>.footer-legal>.nav-list{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}}}@layer components{.page-section{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}.page-section--alt{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.page-section>.inner>.header{margin-bottom:var(--space-xl)}.page-section>.inner>.header>.lead{font-size:var(--text-l);color:var(--color-text-muted)}.page-section>.inner>.actions{margin-top:var(--space-xl)}}@layer components{.content-chapter{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl);border-top:1px solid var(--color-border)}.content-chapter--tinted{background:var(--color-surface-tinted)}.content-chapter>.inner>.label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-weight-regular);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-top:0;margin-bottom:var(--space-s)}.content-chapter>.inner>.label>.index{color:var(--color-accent-secondary);font-weight:var(--font-weight-regular)}.content-chapter>.inner>.header{margin-bottom:var(--space-xl)}.content-chapter>.inner>.header>h2,.content-chapter>.inner>.header>h3{margin-top:0}.content-chapter>.inner .lead{font-size:var(--text-l);color:var(--color-text-muted)}.content-chapter>.inner .actions{margin-top:var(--space-xl)}.content-chapter>.inner>.section-heading{font-size:var(--text-l);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-top:var(--space-xl);margin-bottom:var(--space-m)}.content-chapter>.inner>.content-prose+.section-heading,.content-chapter>.inner>.content-prose+.tick-list,.content-chapter>.inner>.content-prose+.link-list{margin-top:var(--space-xl)}.content-chapter>.inner>.tick-list+.section-heading,.content-chapter>.inner>.tick-list+.content-prose{margin-top:var(--space-xl)}@media(max-width:767.98px){.content-chapter>.inner>.label{margin-bottom:var(--space-xs)}}}@layer components{.page-hero{background-image:linear-gradient(var(--color-hero-overlay),var(--color-hero-overlay)),var(--color-hero-bg);color:var(--color-hero-text);padding-top:calc(var(--space-header) + var(--space-4xl));padding-bottom:var(--space-4xl);margin-top:calc(-1 * var(--space-header))}.page-hero>.inner>.kicker{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-weight-regular);text-transform:uppercase;letter-spacing:.08em;color:var(--color-hero-text-muted);margin-top:0;margin-bottom:var(--space-s)}.page-hero>.inner>h1{color:var(--color-hero-tagline);max-width:var(--content-measure-display);margin-top:0;margin-bottom:0}.page-hero>.inner>.lead{font-size:var(--text-l);color:var(--color-hero-text-muted);max-width:var(--content-measure);margin-top:var(--space-m)}.page-hero>.inner>.actions{display:flex;flex-wrap:wrap;gap:var(--space-s);margin-top:var(--space-xl)}.page-hero .action-button--primary{background:var(--color-hero-btn-bg);color:var(--color-hero-btn-text)}.page-hero .action-button--primary:hover,.page-hero .action-button--primary:focus-visible{background:var(--color-hero-btn-hover-bg);color:var(--color-hero-btn-text);box-shadow:0 0 0 3px var(--color-hero-btn-focus-ring)}.page-hero .action-button--secondary{color:var(--color-hero-text);border-color:var(--color-hero-btn-secondary-border)}.page-hero .action-button--secondary:hover,.page-hero .action-button--secondary:focus-visible{background:var(--color-hero-btn-bg);color:var(--color-hero-btn-text);border-color:var(--color-hero-btn-bg)}@media(max-width:767.98px){.page-hero{margin-top:0;padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}}}@layer components{.action-button{display:inline-block;padding:var(--space-m) var(--space-l);font-family:var(--font-sans);font-size:var(--text-s);font-weight:var(--font-weight-bold);line-height:1.2;-webkit-text-decoration:none;text-decoration:none;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.action-button--primary{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text)}.action-button--primary:hover{background:var(--color-btn-primary-hover-bg);color:var(--color-btn-primary-hover-text)}.action-button--primary:focus-visible{background:var(--color-btn-primary-hover-bg);color:var(--color-btn-primary-hover-text);box-shadow:0 0 0 3px var(--color-bg),0 0 0 6px var(--color-focus-ring)}.action-button--secondary{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}.action-button--secondary:hover{background:var(--color-btn-secondary-hover-bg);color:var(--color-btn-secondary-hover-text);border-color:var(--color-btn-secondary-hover-bg)}.action-button--secondary:focus-visible{background:var(--color-btn-secondary-hover-bg);color:var(--color-btn-secondary-hover-text);border-color:var(--color-btn-secondary-hover-bg);box-shadow:0 0 0 3px var(--color-bg),0 0 0 6px var(--color-focus-ring)}}@layer components{.content-card-grid{container-type:inline-size;container-name:content-card-grid;display:grid;grid-gap:var(--space-l);gap:var(--space-l);grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));list-style:none;margin:0;padding:0}.content-card-grid>li{display:flex}.content-card{display:flex;flex-direction:column;flex:1;min-width:0;-webkit-text-decoration:none;text-decoration:none;color:inherit;background:var(--color-bg);border:1px solid var(--color-border);border-top:var(--chapter-rule) solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-l);transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.content-card:hover,.content-card:focus-visible{border-top-color:var(--color-link-hover);border-color:var(--color-card-hover-border);box-shadow:0 8px 24px var(--color-card-hover-shadow)}.content-card:hover>.title,.content-card:focus-visible>.title{color:var(--color-link-hover)}.content-card>.title{margin-top:0;margin-bottom:var(--space-s);font-size:var(--text-l);font-family:var(--font-sans);font-weight:var(--font-weight-bold);transition:color var(--duration-fast) var(--ease-standard)}.content-card>.summary{font-size:var(--text-s);color:var(--color-text-muted);margin:0}@container content-card-grid (min-width: 28rem){.content-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}}@media not (prefers-reduced-motion:reduce){.content-card:hover,.content-card:focus-visible{box-shadow:0 0 0 2px var(--color-card-hover-ring),0 8px 24px var(--color-card-hover-shadow)}}}@layer components{.link-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.link-list>li+li{border-top:1px solid var(--color-border)}.link-list a{position:relative;display:block;font-weight:var(--font-weight-bold);line-height:var(--line-height);-webkit-text-decoration:none;text-decoration:none;padding:var(--grouped-list-padding);background:var(--color-bg);transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.link-list a:after{content:"";position:absolute;right:var(--space-m);top:50%;width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-50%) rotate(-45deg);opacity:.65;transition:opacity var(--duration-fast) var(--ease-standard)}.link-list a:hover:after,.link-list a:focus-visible:after{opacity:1}.link-list a:hover,.link-list a:focus-visible{color:var(--color-link-hover);-webkit-text-decoration:none;text-decoration:none;background:var(--color-interaction-bg);box-shadow:inset 4px 0 0 var(--color-accent)}.link-list a:focus-visible{outline:none;box-shadow:inset 4px 0 0 var(--color-accent),inset 0 0 0 2px var(--color-focus-ring)}@media not (prefers-reduced-motion:reduce){.link-list a:after{transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.link-list a:hover:after,.link-list a:focus-visible:after{transform:translateY(-50%) translate(2px) rotate(-45deg)}}}@layer components{.content-index{margin-bottom:var(--space-xl)}.content-index>.label{font-family:var(--font-mono);font-size:var(--text-s);font-weight:var(--font-weight-regular);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-m)}.content-index>.list{display:flex;flex-wrap:wrap;gap:var(--space-s);list-style:none;padding:0;margin:0}.content-index>.list a{display:inline-block;font-weight:var(--font-weight-bold);-webkit-text-decoration:none;text-decoration:none;padding:var(--space-xs) var(--space-m);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.content-index>.list a:hover,.content-index>.list a:focus-visible{color:var(--color-link-hover);border-color:var(--color-accent);background:var(--color-interaction-bg)}.content-index>.list a:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.content-group{scroll-margin-block-start:var(--space-xl)}.content-group+.content-group{margin-top:var(--space-2xl)}.content-group>.header{margin-bottom:var(--space-m);padding-left:var(--space-m);border-left:4px solid var(--color-accent)}.content-group>.header>.title{font-size:var(--text-l);margin:0}.content-group>.header>.description{margin-top:var(--space-s);margin-bottom:0;color:var(--color-text-muted);max-width:var(--content-measure)}.content-group>.header>.title>.count{font-family:var(--font-mono);font-size:var(--text-s);font-weight:var(--font-weight-regular);color:var(--color-text-muted);margin-left:var(--space-s)}.content-group>.link-list{margin-top:var(--space-m)}.page-content>.actions{display:flex;flex-wrap:wrap;gap:var(--space-m);margin-top:var(--space-2xl)}}@layer components{.tick-list{display:flex;flex-direction:column;gap:var(--space-m);margin:0;padding:0;list-style:none}.content-chapter>.inner>.tick-list{margin-bottom:var(--space-xl)}.tick-list>li{position:relative;margin:0;padding-left:calc(1.25rem + var(--space-m))}.tick-list>li>.icon{position:absolute;left:0;top:.2em;width:1.25rem;height:1.25rem;color:var(--color-accent)}}@layer components{.faq-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.faq-list>li+li{border-top:1px solid var(--color-border)}.faq-item{background:var(--color-bg)}.faq-item>summary,.faq-item>.answer{max-width:none;width:100%;box-sizing:border-box}.faq-item>summary{position:relative;padding:var(--grouped-list-padding);font-family:var(--font-sans);font-weight:var(--font-weight-bold);font-size:var(--text-m);line-height:var(--line-height);cursor:pointer;list-style:none;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:after{content:"";position:absolute;right:var(--space-m);top:50%;width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-50%) rotate(45deg);opacity:.65;transition:opacity var(--duration-fast) var(--ease-standard)}.faq-item:not([open])>summary:hover:after,.faq-item:not([open])>summary:focus-visible:after{opacity:1}.faq-item[open]>summary:after{opacity:1}.faq-item[open]>summary:hover:after,.faq-item[open]>summary:focus-visible:after{opacity:1}.faq-item>summary:hover,.faq-item>summary:focus-visible{color:var(--color-link-hover);background:var(--color-interaction-bg);box-shadow:inset 4px 0 0 var(--color-accent)}.faq-item>summary:focus-visible{outline:none;box-shadow:inset 4px 0 0 var(--color-accent),inset 0 0 0 2px var(--color-focus-ring)}.faq-item[open]>summary{border-bottom:1px solid var(--color-border);color:var(--color-link-hover);background:var(--color-interaction-bg)}.faq-item>.answer{padding:var(--grouped-list-padding);font-size:var(--text-s);color:var(--color-text-muted);background:var(--color-surface)}.faq-item>.answer p{margin-top:0;margin-bottom:0}.faq-item>.answer p+p{margin-top:var(--space-s)}@media not (prefers-reduced-motion:reduce){.faq-item>summary:after{transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.faq-item:not([open])>summary:hover:after,.faq-item:not([open])>summary:focus-visible:after{transform:translateY(-50%) translateY(2px) rotate(45deg)}.faq-item[open]>summary:after{transform:translateY(-50%) rotate(-135deg)}.faq-item[open]>summary:hover:after,.faq-item[open]>summary:focus-visible:after{transform:translateY(-50%) translateY(-2px) rotate(-135deg)}}}@layer components{.cta-band{text-align:center;background:var(--color-surface-tinted)}.cta-band>.inner{min-width:0;max-width:100%;padding-left:var(--content-padding-inline);padding-right:var(--content-padding-inline)}.cta-band>.inner:before{content:none;display:none}.cta-band>.inner>.label{margin-top:0;margin-bottom:var(--space-s);word-wrap:break-word;text-wrap:balance}.cta-band>.inner>h2{margin-top:0;margin-bottom:var(--space-m);word-wrap:break-word;text-wrap:balance}.cta-band>.inner>.lead{margin-left:auto;margin-right:auto;margin-bottom:var(--space-l);font-size:var(--text-l);color:var(--color-text-muted);max-width:var(--content-measure);word-wrap:break-word;text-wrap:pretty}.cta-band>.inner>.action-button{max-width:100%}@media(max-width:767.98px){.cta-band>.inner>.label{margin-bottom:var(--space-xs)}.cta-band>.inner>h2{font-size:var(--text-xl)}.cta-band>.inner>.lead{font-size:var(--text-m)}}}@layer components{.page-header{padding-top:var(--space-2xl);padding-bottom:var(--space-l);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.page-header>.inner>.breadcrumb-nav{margin-bottom:var(--space-s)}.page-header>.inner>.breadcrumb-nav>.list{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center;list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.page-header>.inner>.breadcrumb-nav>.list>li{display:flex;align-items:center;gap:var(--space-xs)}.page-header>.inner>.breadcrumb-nav>.list>li+li:before{content:"/";color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.page-header>.inner>.breadcrumb-nav>.list a{color:var(--color-accent);font-weight:var(--font-weight-regular);-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.15em;transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}.page-header>.inner>.breadcrumb-nav>.list a:hover,.page-header>.inner>.breadcrumb-nav>.list a:focus-visible{color:var(--color-link-hover);text-decoration-color:currentColor}.page-header>.inner>.breadcrumb-nav>.list>li[aria-current=page]{color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.page-header>.inner>h1{margin-top:0;margin-bottom:0}.page-header>.inner>h1+.lead{margin-top:var(--space-m)}.page-header>.inner>.lead{font-size:var(--text-l);color:var(--color-text-muted);margin-bottom:0}}@layer components{.content-prose p{margin-top:0;margin-bottom:var(--space-m)}.content-prose p:last-child{margin-bottom:0}.content-prose .legal-updated{margin-top:0;margin-bottom:var(--space-l);color:var(--color-text-muted)}.content-prose h2{margin-top:var(--space-xl);margin-bottom:var(--space-s)}.content-prose h2:first-child{margin-top:0}.content-prose h3{margin-top:var(--space-l);margin-bottom:var(--space-s);font-size:var(--text-l)}.content-prose h4{margin-top:var(--space-m);margin-bottom:var(--space-xs);font-size:var(--text-m)}.content-prose pre,.content-prose .tick-list{margin-top:0;margin-bottom:var(--space-m)}.content-prose ul:not([class]){padding-left:var(--space-l);margin-top:0;margin-bottom:var(--space-m)}.content-prose li{margin-bottom:var(--space-s)}}@layer theme{:root{color-scheme:dark;--color-bg: #0d0e12;--color-surface: #16181f;--color-surface-tinted: #1a1428;--color-text: #eef0f6;--color-text-muted: #9aa0b4;--color-border: #2a2d38;--color-accent: #ff2d8a;--color-accent-hover: #ffffff;--color-accent-secondary: #f5b8ff;--color-accent-spark: #ffffff;--color-link-hover: var(--color-accent-hover);--color-focus-ring: #ffffff;--color-hero-bg: linear-gradient( 135deg, #a8005c 0%, #ff006f 50%, #ff2d8a 100% );--color-hero-text: #ffffff;--color-hero-text-muted: rgba(255, 255, 255, .85);--color-hero-tagline: #ffffff;--color-hero-overlay: rgba(13, 14, 18, .25);--color-hero-btn-bg: #ffffff;--color-hero-btn-text: #c4006a;--color-hero-btn-hover-bg: #ffffff;--color-hero-btn-focus-ring: rgba(255, 255, 255, .35);--color-hero-btn-secondary-border: rgba(255, 255, 255, .65);--color-on-accent: #ffffff;--color-btn-primary-bg: var(--color-accent);--color-btn-primary-text: var(--color-on-accent);--color-btn-primary-hover-bg: #ffffff;--color-btn-primary-hover-text: #9d0054;--color-btn-secondary-hover-bg: #ff2d8a;--color-btn-secondary-hover-text: #ffffff;--color-footer-bg: #08090c;--color-footer-text: #eef0f6;--color-footer-muted: #6b7289;--color-footer-border: var(--color-accent);--color-overlay-shadow: rgba(0, 0, 0, .35);--color-interaction-bg: rgba(255, 255, 255, .06);--color-card-hover-border: rgba(255, 255, 255, .2);--color-card-hover-shadow: rgba(255, 255, 255, .08);--color-card-hover-ring: rgba(255, 255, 255, .15);--color-footer-divider: rgba(255, 255, 255, .1);--color-footer-link-bg: rgba(255, 255, 255, .1);--color-code-bg: var(--color-surface);--color-code-border: var(--color-border);--color-code-text: var(--color-text);--color-code-inline-bg: color-mix( in srgb, var(--color-surface) 80%, var(--color-text) 12% );--color-code-inline-border: var(--color-border);--color-prism-comment: #8b92a8;--color-prism-punctuation: #b8bdd0;--color-prism-tag: #ff7eb9;--color-prism-attr-name: var(--color-accent-secondary);--color-prism-attr-value: #8ce99a;--color-prism-string: #8ce99a;--color-prism-keyword: var(--color-accent);--color-prism-function: #74c0fc;--color-prism-operator: #c5cad8;--color-prism-property: #74c0fc;--color-prism-selector: #ff7eb9;--color-prism-regex: #ffd43b;--color-prism-important: var(--color-accent-hover);--color-prism-builtin: #74c0fc;--color-prism-number: #ffd43b;--color-prism-boolean: #ffd43b}}@layer theme{.content-prose pre:has(>code[class*=language-]),pre:has(>code[class*=language-]){background:var(--color-code-bg);border:1px solid var(--color-code-border)}.content-prose pre[class*=language-],pre[class*=language-]{background:var(--color-code-bg);border:1px solid var(--color-code-border)}.content-prose pre[class*=language-]>code,pre[class*=language-]>code,.content-prose pre>code[class*=language-],pre>code[class*=language-]{display:block;color:var(--color-code-text);background:none;border:0;padding:0;font-size:inherit;line-height:var(--line-height);white-space:pre}code[class*=language-] .token.comment,code[class*=language-] .token.prolog,code[class*=language-] .token.doctype,code[class*=language-] .token.cdata{color:var(--color-prism-comment)}code[class*=language-] .token.punctuation{color:var(--color-prism-punctuation)}code[class*=language-] .token.property,code[class*=language-] .token.constant,code[class*=language-] .token.symbol{color:var(--color-prism-property)}code[class*=language-] .token.tag{color:var(--color-prism-tag)}code[class*=language-] .token.boolean,code[class*=language-] .token.number{color:var(--color-prism-number)}code[class*=language-] .token.selector,code[class*=language-] .token.string,code[class*=language-] .token.char,code[class*=language-] .token.builtin,code[class*=language-] .token.inserted{color:var(--color-prism-string)}code[class*=language-] .token.attr-name{color:var(--color-prism-attr-name)}code[class*=language-] .token.attr-value{color:var(--color-prism-attr-value)}code[class*=language-] .token.operator,code[class*=language-] .token.entity,code[class*=language-] .token.url{color:var(--color-prism-operator)}code[class*=language-] .token.atrule,code[class*=language-] .token.keyword{color:var(--color-prism-keyword)}code[class*=language-] .token.function,code[class*=language-] .token.class-name{color:var(--color-prism-function)}code[class*=language-] .token.regex{color:var(--color-prism-regex)}code[class*=language-] .token.important,code[class*=language-] .token.variable{color:var(--color-prism-important)}code[class*=language-] .token.bold{font-weight:var(--font-weight-regular)}code[class*=language-] .token.italic{font-style:italic}}@layer hacks;
