:root{--violet-50: #f4f0ff;--violet-100: #e9e1ff;--violet-200: #d7c5ff;--violet-300: #bda0ff;--violet-400: #a066ff;--violet-500: #7a3ff0;--violet-600: #5122d6;--violet-700: #431bb0;--violet-800: #34168a;--violet-900: #241158;--violet-950: #160b34;--indigo-950: #130e2b;--indigo-900: #1b1440;--indigo-800: #251a57;--neutral-0: #ffffff;--neutral-50: #f8f7fb;--neutral-100: #f1eff6;--neutral-200: #e4e1ee;--neutral-300: #cfcbdd;--neutral-400: #a6a1bd;--neutral-500: #797395;--neutral-600: #565073;--neutral-700: #3e3957;--neutral-800: #2a2640;--neutral-900: #1a1730;--success-100: #d6f5e3;--success-500: #18a957;--success-700: #0e7a3d;--warning-100: #fdeecb;--warning-500: #d99311;--warning-700: #9c6708;--danger-100: #fbded9;--danger-500: #de3a26;--danger-700: #a82817;--info-100: #d9e6ff;--info-500: #2f6fe8;--info-700: #1f4fab;--gradient-brand: linear-gradient(135deg, #6a2be0 0%, #8b4bf5 100%);--gradient-brand-deep: linear-gradient(135deg, #5122d6 0%, #7a3ff0 100%);--gradient-violet-soft: linear-gradient(135deg, #a066ff 0%, #d7c5ff 100%);--gradient-text: var(--gradient-brand-deep);--brand: var(--violet-600);--brand-hover: var(--violet-700);--brand-active: var(--violet-800);--brand-soft: var(--violet-100);--brand-on: var(--neutral-0);--surface-page: var(--neutral-50);--surface-card: var(--neutral-0);--surface-sunken: var(--neutral-100);--surface-inverse: var(--indigo-950);--surface-brand: var(--violet-600);--surface-glass: rgba(255, 255, 255, .72);--text-strong: var(--indigo-950);--text-body: var(--neutral-800);--text-muted: var(--neutral-600);--text-subtle: var(--neutral-500);--text-on-brand: var(--neutral-0);--text-on-inverse: var(--neutral-100);--text-link: var(--violet-600);--border: var(--neutral-200);--border-strong: var(--neutral-300);--border-brand: var(--violet-400);--divider: var(--neutral-100);--focus-ring: var(--violet-500);--focus-ring-offset: var(--neutral-0);--success: var(--success-500);--success-soft: var(--success-100);--warning: var(--warning-500);--warning-soft: var(--warning-100);--danger: var(--danger-500);--danger-soft: var(--danger-100);--info: var(--info-500);--info-soft: var(--info-100);--font-display: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-body: "Atkinson Hyperlegible", "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--font-body-active: var(--font-body);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--text-display: clamp(2.75rem, calc(1.6rem + 4.6vw) , 4.5rem);--text-h1: clamp(2.1rem, calc(1.5rem + 2.6vw) , 3.25rem);--text-h2: clamp(1.7rem, calc(1.3rem + 1.7vw) , 2.5rem);--text-h3: clamp(1.4rem, calc(1.2rem + .9vw) , 1.875rem);--text-h4: 1.375rem;--text-h5: 1.125rem;--text-lead: 1.25rem;--text-base: 1.0625rem;--text-sm: .9375rem;--text-xs: .8125rem;--text-overline: .75rem;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.45;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-caps: .18em;--reader-scale: 1;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .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;--container-max: 1200px;--container-wide: 1360px;--container-prose: 68ch;--gutter: clamp(1.25rem, 5vw, 4rem);--target-min: 44px;--header-h: 76px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-2xl: 36px;--radius-pill: 999px;--radius-circle: 50%;--shadow-xs: 0 1px 2px rgba(19, 14, 43, .06);--shadow-sm: 0 2px 6px rgba(19, 14, 43, .08);--shadow-md: 0 8px 20px -6px rgba(43, 22, 110, .16);--shadow-lg: 0 18px 40px -12px rgba(43, 22, 110, .22);--shadow-xl: 0 30px 70px -20px rgba(43, 22, 110, .3);--shadow-brand: 0 12px 30px -8px rgba(81, 34, 214, .45);--shadow-focus: 0 0 0 3px var(--focus-ring-offset), 0 0 0 5px var(--focus-ring);--ease-standard: cubic-bezier(.22, .61, .36, 1);--ease-emphasis: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--dur-slower: .52s}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-base: 0ms;--dur-slow: 0ms;--dur-slower: 0ms}}[data-theme=dark]{--brand: var(--violet-400);--brand-hover: var(--violet-300);--brand-active: var(--violet-200);--brand-soft: rgba(160, 102, 255, .16);--brand-on: var(--indigo-950);--surface-page: #0d0a1f;--surface-card: #15102e;--surface-sunken: #100c24;--surface-inverse: #060410;--surface-brand: var(--violet-600);--surface-glass: rgba(21, 16, 46, .72);--gradient-text: var(--gradient-violet-soft);--text-strong: #f6f4ff;--text-body: #ddd8f0;--text-muted: #aba4c9;--text-subtle: #8c84ad;--text-on-brand: var(--neutral-0);--text-on-inverse: var(--neutral-100);--text-link: var(--violet-300);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--border-brand: var(--violet-500);--divider: rgba(255, 255, 255, .07);--focus-ring: var(--violet-400);--focus-ring-offset: #0d0a1f;--success-soft: rgba(24, 169, 87, .16);--warning-soft: rgba(217, 147, 17, .16);--danger-soft: rgba(222, 58, 38, .16);--info-soft: rgba(47, 111, 232, .16);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .45);--shadow-md: 0 8px 20px -6px rgba(0, 0, 0, .55);--shadow-lg: 0 18px 40px -12px rgba(0, 0, 0, .6);--shadow-xl: 0 30px 70px -20px rgba(0, 0, 0, .7);--shadow-brand: 0 12px 30px -8px rgba(122, 63, 240, .5)}[data-theme=dark] .section-inverse{--surface-inverse: #0a0718}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-4));color-scheme:light;background-color:var(--surface-page);transition:background-color var(--dur-slow) var(--ease-standard)}[data-theme=dark]{color-scheme:dark}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--font-body-active);font-size:calc(var(--text-base) * var(--reader-scale));line-height:var(--leading-relaxed);color:var(--text-body);background:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:color var(--dur-slow) var(--ease-standard);overflow-x:hidden}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-strong);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 .5em;font-weight:var(--weight-bold);text-wrap:balance}p{margin:0 0 1em;text-wrap:pretty}a{color:var(--text-link);text-underline-offset:3px;text-decoration-thickness:1.5px;transition:color var(--dur-fast) var(--ease-standard)}img,svg,video{max-width:100%;height:auto;display:block}code,pre,kbd{font-family:var(--font-mono)}ul,ol{margin:0;padding:0}button{font:inherit}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--violet-200);color:var(--indigo-950)}.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);z-index:200;transform:translateY(-150%);background:var(--brand);color:var(--text-on-brand);padding:.75rem 1.25rem;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:var(--weight-semibold);text-decoration:none;box-shadow:var(--shadow-lg);transition:transform var(--dur-base) var(--ease-emphasis)}.skip-link:focus{transform:translateY(0)}.pa-overline{font-family:var(--font-display);font-size:var(--text-overline);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--brand)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html[data-reader-font=legible]{--font-body-active: "Atkinson Hyperlegible", "Comic Sans MS", sans-serif;letter-spacing:.015em;word-spacing:.08em}html[data-contrast=high]{--text-body: var(--indigo-950);--text-muted: var(--indigo-950);--text-strong: #000;--border: var(--neutral-500);--border-strong: var(--neutral-700)}html[data-contrast=high][data-theme=dark]{--text-body: #fff;--text-muted: #fff;--text-strong: #fff;--surface-page: #000;--surface-card: #0b0a14;--border: rgba(255,255,255,.4)}html[data-contrast=high] a{text-decoration:underline}html[data-contrast=high] :where(button,.btn){outline:1px solid currentColor}html[data-links=underline] a{text-decoration:underline}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reading-guide{position:fixed;left:0;right:0;height:2.25rem;pointer-events:none;z-index:150;background:#5122d61a;border-top:2px solid var(--violet-500);border-bottom:2px solid var(--violet-500);display:none}html[data-reading-guide=on] .reading-guide{display:block}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}.container--wide{max-width:var(--container-wide)}.container--prose{max-width:var(--container-prose)}.section{padding-block:clamp(3.5rem,7vw,6rem);position:relative}.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}.section-inverse{background:var(--surface-inverse);color:var(--text-on-inverse)}.section-inverse h1,.section-inverse h2,.section-inverse h3{color:#fff}.eyebrow{display:inline-block;margin-bottom:.9rem}.section-head{max-width:42rem;margin-bottom:clamp(2rem,4vw,2.75rem)}.section-head--center{margin-inline:auto;text-align:center}.lead{font-size:var(--text-lead);color:var(--text-muted);line-height:var(--leading-normal)}.grid{display:grid;gap:var(--space-5)}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media(max-width:900px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.md\:cols-2{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.md\:cols-2{grid-template-columns:1fr}}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.center{justify-content:center}.between{justify-content:space-between}.btn{--_bg: var(--brand);display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:var(--target-min);padding:.7rem 1.4rem;border:1.5px solid transparent;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.btn svg{transition:transform var(--dur-base) var(--ease-emphasis)}.btn--lg{padding:.95rem 1.8rem;font-size:var(--text-base)}.btn--block{width:100%}.btn--primary{background:var(--brand);color:var(--text-on-brand);box-shadow:var(--shadow-brand)}.btn--primary:hover{background:var(--brand-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-brand)}.btn--primary:active{background:var(--brand-active);transform:translateY(0) scale(.985)}.btn--primary:hover svg.arrow{transform:translate(4px)}.btn--outline{background:transparent;color:var(--text-strong);border-color:var(--border-strong)}.btn--outline:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px)}.btn--outline:active{transform:translateY(0) scale(.985)}.btn--ghost{background:transparent;color:var(--text-link)}.btn--ghost:hover{background:var(--brand-soft)}.btn--on-brand{background:#fff;color:var(--brand);box-shadow:var(--shadow-md)}.btn--on-brand:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn--on-brand:hover svg.arrow{transform:translate(4px)}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}.card--interactive{cursor:pointer}.card--interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-brand)}.card--lg{padding:var(--space-7)}.icon-tile{width:52px;height:52px;border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:1.1rem;transition:transform var(--dur-base) var(--ease-emphasis)}.card--interactive:hover .icon-tile{transform:scale(1.08) rotate(-3deg)}.icon-tile--gradient{background:var(--gradient-brand);color:#fff}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-semibold);background:var(--brand-soft);color:var(--brand)}.badge--outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted)}.h-display{font-size:var(--text-display);letter-spacing:-.03em}.h1{font-size:var(--text-h1)}.h2{font-size:var(--text-h2)}.h3{font-size:var(--text-h3)}.text-muted{color:var(--text-muted)}.text-gradient{background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}.mesh{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.mesh__blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;will-change:transform}[data-theme=dark] .mesh__blob{opacity:.4}.bg-field{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.bg-field__blob{position:absolute;top:0;left:0;width:46vw;height:46vw;min-width:360px;min-height:360px;border-radius:50%;filter:blur(90px);opacity:.55;will-change:transform}[data-theme=dark] .bg-field__blob{opacity:.34}@keyframes field-a{0%{transform:translate3d(-16vw,-12vh,0) scale(1)}50%{transform:translate3d(34vw,26vh,0) scale(1.25)}to{transform:translate3d(-4vw,58vh,0) scale(1.05)}}@keyframes field-b{0%{transform:translate3d(62vw,54vh,0) scale(1.1)}50%{transform:translate3d(8vw,8vh,0) scale(1.32)}to{transform:translate3d(72vw,74vh,0) scale(1)}}@keyframes field-c{0%{transform:translate3d(28vw,82vh,0) scale(1)}50%{transform:translate3d(52vw,18vh,0) scale(1.22)}to{transform:translate3d(14vw,60vh,0) scale(1.12)}}.field-a{animation:field-a 46s var(--ease-in-out) infinite alternate}.field-b{animation:field-b 58s var(--ease-in-out) infinite alternate}.field-c{animation:field-c 38s var(--ease-in-out) infinite alternate}@media(prefers-reduced-motion:reduce){.field-a,.field-b,.field-c{animation:none}}html[data-motion=off] .field-a,html[data-motion=off] .field-b,html[data-motion=off] .field-c{animation:none}.mesh__layer{position:absolute;will-change:transform}@keyframes mesh-drift-a{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(46px,34px,0) scale(1.08)}to{transform:translate3d(-26px,52px,0) scale(1.02)}}@keyframes mesh-drift-b{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-54px,28px,0) scale(1.1)}to{transform:translate3d(28px,-34px,0) scale(1.04)}}@keyframes mesh-drift-c{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(40px,-46px,0) scale(1.14)}to{transform:translate3d(-34px,26px,0) scale(1)}}.mesh__drift-a{animation:mesh-drift-a 23s var(--ease-in-out) infinite alternate}.mesh__drift-b{animation:mesh-drift-b 29s var(--ease-in-out) infinite alternate}.mesh__drift-c{animation:mesh-drift-c 19s var(--ease-in-out) infinite alternate}@media(prefers-reduced-motion:reduce){.mesh__drift-a,.mesh__drift-b,.mesh__drift-c{animation:none}}html[data-motion=off] .mesh__drift-a,html[data-motion=off] .mesh__drift-b,html[data-motion=off] .mesh__drift-c{animation:none}[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity var(--dur-slower) var(--ease-emphasis),transform var(--dur-slower) var(--ease-emphasis);transition-delay:var(--reveal-delay, 0ms)}[data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}.link-underline{position:relative;text-decoration:none}.link-underline:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-standard)}.link-underline:hover:after,.link-underline:focus-visible:after{transform:scaleX(1)}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float{animation:float-soft 6s var(--ease-in-out) infinite}@keyframes gradient-pan{0%{background-position:0% 50%}to{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){.float{animation:none}}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee__track{display:flex;gap:var(--space-8);width:max-content;animation:marquee 34s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}.divider{height:1px;background:var(--divider);border:0}.check-list{list-style:none;display:flex;flex-direction:column;gap:.85rem}.check-list li{display:flex;align-items:flex-start;gap:.75rem}.check-list .tick{flex:none;width:24px;height:24px;margin-top:1px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-7{margin-top:var(--space-7)}.mb-0{margin-bottom:0}.maxw-prose{max-width:54ch}.logo[data-astro-cid-tvrurpns]{display:inline-flex;align-items:center}.logo__img[data-astro-cid-tvrurpns]{height:var(--logo-h);width:auto}.logo__light[data-astro-cid-tvrurpns]{display:block}.logo__dark[data-astro-cid-tvrurpns],[data-theme=dark] .logo__light[data-astro-cid-tvrurpns]{display:none}[data-theme=dark] .logo__dark[data-astro-cid-tvrurpns]{display:block}
