@font-face{font-family:Bricolage Grotesque Variable;src:url(./bricolage-grotesque.DLoelf7F.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:optional}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f2f6fb;--paper-deep:#e4ecf7;--surface:#fff;--ink:#10233f;--ink-soft:#4b5d78;--line:#d3deec;--accent:#2b59e0;--accent-hover:#1f47c2;--accent-ink:#fff;--accent-soft:#dce6fc;--danger:#cf3a3a;--hint:#a86d00;--queen:#10233f;--highlight-peer:18%;--highlight-same:32%;--highlight-selected:42%;--grid-line:#c2d0e4;--region-1:#cde4f8;--region-2:#9cc3f0;--region-3:#b8e2dc;--region-4:#d6d4f5;--region-5:#7fa8e8;--region-6:#c9d6e6;--region-7:#a9d3ea;--queens-1:#b1c5ff;--queens-2:#85ede9;--queens-3:#7dc78e;--queens-4:#cca34c;--queens-5:#fecfac;--queens-6:#f5a2ca;--queens-7:#a294e0;--font-sans:"Bricolage Grotesque Variable", "Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--step--1:.875rem;--step-0:1.0625rem;--step-1:clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);--step-2:clamp(1.375rem, 1.2rem + .8vw, 1.75rem);--step-3:clamp(2rem, 1.5rem + 2.2vw, 3.25rem);--step-4:clamp(2.75rem, 1.6rem + 5vw, 5.25rem);--radius-s:6px;--radius-m:10px;--radius-l:18px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--header-height:4.5rem;--nav-clearance:5.5rem;--page-max:72rem;--gutter:clamp(1.25rem, 4vw, 2.5rem)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0b1628;--paper-deep:#10203a;--surface:#162a48;--ink:#e7eef9;--ink-soft:#9db0cc;--line:#243a5c;--accent:#7fa4ff;--accent-hover:#9ab8ff;--accent-ink:#0b1628;--accent-soft:#1d3462;--danger:#ff8a8a;--hint:#f2c14e;--queen:#eef4fc;--highlight-peer:10%;--highlight-same:22%;--highlight-selected:30%;--grid-line:#10203a;--region-1:#1d3a5e;--region-2:#2b5796;--region-3:#1d4f55;--region-4:#343365;--region-5:#3c6fc4;--region-6:#283a52;--region-7:#1f5577;--queens-1:#2e5296;--queens-2:#056a6f;--queens-3:#027f3f;--queens-4:#8d6804;--queens-5:#7a390f;--queens-6:#8e2a55;--queens-7:#755ea4}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0b1628;--paper-deep:#10203a;--surface:#162a48;--ink:#e7eef9;--ink-soft:#9db0cc;--line:#243a5c;--accent:#7fa4ff;--accent-hover:#9ab8ff;--accent-ink:#0b1628;--accent-soft:#1d3462;--danger:#ff8a8a;--hint:#f2c14e;--queen:#eef4fc;--highlight-peer:10%;--highlight-same:22%;--highlight-selected:30%;--grid-line:#10203a;--region-1:#1d3a5e;--region-2:#2b5796;--region-3:#1d4f55;--region-4:#343365;--region-5:#3c6fc4;--region-6:#283a52;--region-7:#1f5577;--queens-1:#2e5296;--queens-2:#056a6f;--queens-3:#027f3f;--queens-4:#8d6804;--queens-5:#7a390f;--queens-6:#8e2a55;--queens-7:#755ea4}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--nav-clearance)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}img,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;font-weight:650;line-height:1.1}p{text-wrap:pretty}a{color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1.5px}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.container{width:100%;max-width:calc(var(--page-max) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.cell-grid{--gap-ratio:.1;--radius-ratio:.16;--cell:calc(100cqi / (var(--n) + (var(--n) - 1) * var(--gap-ratio)));grid-template-columns:repeat(var(--n), 1fr);gap:calc(var(--cell) * var(--gap-ratio));display:grid}.cell-grid>*{aspect-ratio:1;border-radius:calc(var(--cell) * var(--radius-ratio))}.text-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);font-weight:600;text-decoration-thickness:2px;transition:text-decoration-color .16s}.text-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.button{border-radius:var(--radius-m);background:var(--accent);min-height:3rem;color:var(--accent-ink);letter-spacing:-.01em;cursor:pointer;transition:background-color .16s, box-shadow .16s, transform .16s var(--ease-out);border:0;justify-content:center;align-items:center;gap:.5rem;padding:0 1.375rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-hover)}.button:active{transform:translateY(1px)}.button--quiet{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.button--quiet:hover{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--ink-soft)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:root{--portal-duration:.75s;--portal-ease:cubic-bezier(.76, 0, .24, 1);--portal-window:inset(var(--portal-top) calc(100% - var(--portal-left) - var(--portal-width)) calc(100% - var(--portal-top) - var(--portal-height)) var(--portal-left) round var(--radius-l))}:root[data-portal]::view-transition-group(*){animation-duration:var(--portal-duration);animation-timing-function:var(--portal-ease)}:root[data-portal]::view-transition-old(portal-seed){mix-blend-mode:normal}:root[data-portal]::view-transition-new(portal-seed){mix-blend-mode:normal}:root[data-portal=in]::view-transition-old(portal-seed){z-index:1;animation:.35s ease-out both portal-fade-out}:root[data-portal=in]::view-transition-new(portal-seed){animation:none}:root[data-portal=out]::view-transition-old(portal-seed){animation:none}:root[data-portal=out]::view-transition-new(portal-seed){animation:.35s ease-in .35s both portal-fade-in}:root[data-portal=in]::view-transition-old(root){transform-origin:var(--portal-x) var(--portal-y);animation:portal-fall-away var(--portal-duration) var(--portal-ease) both}:root[data-portal=in]::view-transition-new(root){animation:portal-open var(--portal-duration) var(--portal-ease) both}:root[data-portal=out]::view-transition-old(root){z-index:1;animation:portal-close var(--portal-duration) var(--portal-ease) both}:root[data-portal=out]::view-transition-new(root){transform-origin:var(--portal-x) var(--portal-y);animation:portal-come-back var(--portal-duration) var(--portal-ease) both}@keyframes portal-open{0%{clip-path:var(--portal-window)}to{clip-path:inset(0)}}@keyframes portal-close{0%{clip-path:inset(0)}to{clip-path:var(--portal-window)}}@keyframes portal-fall-away{to{opacity:0;transform:scale(1.3)}}@keyframes portal-come-back{0%{opacity:0;transform:scale(1.3)}}@keyframes portal-fade-out{to{opacity:0}}@keyframes portal-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.skip-link.svelte-12qhfyh{z-index:30;border-radius:var(--radius-m);background:var(--ink);color:var(--paper);padding:.6rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link.svelte-12qhfyh:focus-visible{transform:none}.site-header.svelte-12qhfyh{--bar-full:var(--header-height);--bar-island:3.5rem;--hit:2.75rem;--icon:1.5rem;--island-pad:.375rem;--nav-gap:.25rem;--divider-gap:.375rem;--peek-gap:.375rem;--peek-end:.25rem;--morph:.65s var(--ease-out);height:var(--bar-full)}.bar.svelte-12qhfyh{z-index:20;width:min(100%, calc(var(--page-max) + var(--gutter) * 2));height:var(--bar-full);padding-inline:var(--gutter);transition:width var(--morph), height var(--morph), padding var(--morph), transform var(--morph), border-radius var(--morph), background-color var(--morph), box-shadow var(--morph);background-color:#0000;border-radius:0;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #0000,0 12px 32px -14px #0000}.bar.compact.svelte-12qhfyh{width:calc(var(--island-pad) * 2 + var(--hit) * 3 + var(--nav-gap) + var(--divider-gap) * 2 + 1px + var(--peek-extra,0px));height:var(--bar-island);padding-inline:var(--island-pad);border-radius:calc(var(--bar-island) / 2);background-color:color-mix(in srgb, var(--surface) 82%, transparent);box-shadow:0 0 0 1px var(--line), 0 12px 32px -14px #10233f66;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%,.75rem)}.bar.compact.peeking.svelte-12qhfyh{--peek-extra:calc(var(--peek-width) + var(--peek-gap) + var(--peek-end))}.bar.svelte-12qhfyh:not(.ready),.bar.svelte-12qhfyh:not(.ready) :where(.svelte-12qhfyh){transition:none}html[data-early-scroll] .bar.svelte-12qhfyh:not(.ready){visibility:hidden}.divider.svelte-12qhfyh{background:var(--line);opacity:0;width:1px;height:0;transition:height var(--morph), margin var(--morph), opacity var(--morph);flex:none}.compact.svelte-12qhfyh .divider:where(.svelte-12qhfyh){height:var(--icon);margin-inline:var(--divider-gap);opacity:1}nav.svelte-12qhfyh{transition:gap var(--morph);gap:clamp(1rem,3vw,2rem);display:flex}.compact.svelte-12qhfyh nav:where(.svelte-12qhfyh){gap:var(--nav-gap)}.brand.svelte-12qhfyh,nav.svelte-12qhfyh a:where(.svelte-12qhfyh){height:var(--hit);border-radius:calc(var(--hit) / 2);transition:padding var(--morph), color .16s, background-color .16s;align-items:center;text-decoration:none;display:flex}.compact.svelte-12qhfyh .brand:where(.svelte-12qhfyh),.compact.svelte-12qhfyh nav:where(.svelte-12qhfyh) a:where(.svelte-12qhfyh){padding-inline:calc((var(--hit) - var(--icon)) / 2)}.compact.svelte-12qhfyh .peek:where(.svelte-12qhfyh){padding-inline-end:calc((var(--hit) - var(--icon)) / 2 + var(--peek-end))}.compact.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{background-color:var(--paper-deep)}.brand.svelte-12qhfyh{color:var(--ink);letter-spacing:-.03em;font-size:1.1875rem;font-weight:700}.brand.svelte-12qhfyh .label:where(.svelte-12qhfyh){font-size:var(--step-0);letter-spacing:normal;font-weight:500}nav.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--ink-soft);font-weight:500}nav.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:var(--ink)}.mark.svelte-12qhfyh{width:var(--icon);aspect-ratio:1;flex:none;grid-template-columns:1fr 1fr;gap:2.5px;display:grid}.mark.svelte-12qhfyh span:where(.svelte-12qhfyh){background:var(--region-2);border-radius:3px}.mark.svelte-12qhfyh span:where(.svelte-12qhfyh):first-child{background:var(--accent)}.mark.svelte-12qhfyh span:where(.svelte-12qhfyh):nth-child(4){background:var(--region-3)}.icon.svelte-12qhfyh svg:where(.svelte-12qhfyh){width:var(--icon);height:var(--icon);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.fold.svelte-12qhfyh{opacity:0;transition:grid-template-columns var(--morph), margin var(--morph), opacity var(--morph);grid-template-columns:0fr;display:inline-grid;overflow:hidden}.fold.svelte-12qhfyh>:where(.svelte-12qhfyh){white-space:nowrap;justify-self:start;min-width:0}.brand-name.svelte-12qhfyh,nav.svelte-12qhfyh .label:where(.svelte-12qhfyh){opacity:1;grid-template-columns:1fr}.brand-name.svelte-12qhfyh{margin-left:.625rem}.compact.svelte-12qhfyh .brand-name:where(.svelte-12qhfyh),.compact.svelte-12qhfyh .label:where(.svelte-12qhfyh){opacity:0;grid-template-columns:0fr;margin-left:0}.compact.svelte-12qhfyh .icon:where(.svelte-12qhfyh){opacity:1;grid-template-columns:1fr}.compact.svelte-12qhfyh .peek:where(.svelte-12qhfyh) .label:where(.svelte-12qhfyh){margin-left:var(--peek-gap);opacity:1;grid-template-columns:1fr}main.svelte-12qhfyh>*,.site-footer.svelte-12qhfyh{transition:opacity .4s var(--ease-out)}html[data-spotlight] main.svelte-12qhfyh>:not([data-spotlit]),html[data-spotlight] .site-footer.svelte-12qhfyh{opacity:0}.site-footer.svelte-12qhfyh{color:var(--ink-soft);font-size:var(--step--1);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:2rem 2.5rem;display:flex}
