.ui-icon[data-v-42b8bc6c]{vertical-align:-.125em;flex-shrink:0;width:auto;height:1em;display:inline-block}.ui-icon--sm[data-v-42b8bc6c]{height:var(--font-size-sm)}.ui-icon--md[data-v-42b8bc6c]{height:var(--font-size-lg)}.ui-icon--lg[data-v-42b8bc6c]{height:var(--font-size-2xl)}.ui-external-link[data-v-c6ca12b9]{gap:var(--space-2);align-items:center;display:inline-flex}.ui-external-link__arrow[data-v-c6ca12b9]{opacity:.7;height:.75em}.site-footer[data-v-b851c4d8]{gap:var(--space-4) var(--space-8);padding:var(--space-6);border-top:var(--border-hairline) solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.site-footer__nav[data-v-b851c4d8]{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.site-footer__link[data-v-b851c4d8]{color:inherit}.site-footer__link[data-v-b851c4d8]:hover{color:var(--color-text)}.site-footer__copyright[data-v-b851c4d8]{margin:0}.site-header[data-v-6b12dd21]{gap:var(--space-3) var(--space-6);padding:var(--space-3) var(--space-4);border-bottom:var(--border-hairline) solid var(--color-border);grid-template-columns:auto 1fr;grid-template-areas:"brand end""nav nav";align-items:center;display:grid}@media (width>=48rem){.site-header[data-v-6b12dd21]{padding:var(--space-4) var(--space-6);grid-template-columns:1fr auto 1fr;grid-template-areas:"brand nav end"}}.site-header__brand[data-v-6b12dd21]{grid-area:brand;justify-self:start;display:flex}.site-header__logo[data-v-6b12dd21]{width:auto;height:var(--space-10);display:block}@media (width<360px){.site-header__logo[data-v-6b12dd21]{height:var(--space-8)}}@media (width>=48rem){.site-header__logo[data-v-6b12dd21]{height:var(--space-12)}}.site-header__nav[data-v-6b12dd21]{gap:var(--space-2);grid-area:nav;justify-content:center;display:flex}.site-header__link[data-v-6b12dd21]{padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);transition:background-color var(--duration-fast) var(--ease-standard);text-decoration:none}.site-header__link[data-v-6b12dd21]:hover{background:var(--color-accent-soft);color:var(--color-text)}.site-header__link.router-link-exact-active[data-v-6b12dd21]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 var(--border-hairline) var(--color-accent)}.site-header__end[data-v-6b12dd21]{gap:var(--space-4);grid-area:end;justify-self:end;align-items:center;display:flex}@media (width<400px){.site-header__github-text[data-v-6b12dd21]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.site-header__github[data-v-6b12dd21]{color:var(--color-text-muted);text-decoration:none}.site-header__github[data-v-6b12dd21]:hover{color:var(--color-text)}.theme-toggle[data-v-00e158bb]{gap:var(--space-1);padding:var(--space-1);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-sunken);margin:0;display:inline-flex}.theme-toggle__option[data-v-00e158bb]{border-radius:var(--radius-pill);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);place-items:center;display:grid}.theme-toggle__option[data-v-00e158bb]:hover{color:var(--color-text)}.theme-toggle__option[data-v-00e158bb]:has(:checked){background:var(--color-surface-raised);box-shadow:var(--shadow-sm);color:var(--color-accent)}.theme-toggle__option[data-v-00e158bb]:has(:focus-visible){outline:var(--border-thick) solid var(--color-focus-ring);outline-offset:1px}.site-layout[data-v-f3df5475]{flex-direction:column;min-height:100vh;display:flex}.site-layout__main[data-v-f3df5475]{flex:1}.site-layout__main[data-v-f3df5475]:focus{outline:none}.site-layout__skip-link[data-v-f3df5475]{top:var(--space-2);left:var(--space-2);z-index:var(--z-skip-link);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);position:absolute;transform:translateY(-200%)}.site-layout__skip-link[data-v-f3df5475]:focus{transform:none}.ui-button[data-v-aa47ef10]{gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--border-hairline) solid transparent;border-radius:var(--radius-pill);font:inherit;font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.ui-button--lg[data-v-aa47ef10]{padding:var(--space-3) var(--space-6);font-size:var(--font-size-lg)}.ui-button--block[data-v-aa47ef10]{width:100%;display:flex}.ui-button--primary[data-v-aa47ef10]{background:var(--color-primary);color:var(--color-on-primary)}.ui-button--primary[data-v-aa47ef10]:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-glow);color:var(--color-on-primary)}.ui-button--secondary[data-v-aa47ef10]{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.ui-button--secondary[data-v-aa47ef10]:hover{border-color:var(--color-accent);color:var(--color-text)}.ui-button--ghost[data-v-aa47ef10]{color:var(--color-text-muted);background:0 0}.ui-button--ghost[data-v-aa47ef10]:hover{background:var(--color-accent-soft);color:var(--color-text)}.download-button[data-v-88624fb2]{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:inline-flex}.download-button--center[data-v-88624fb2]{align-items:center}.download-button__details[data-v-88624fb2]{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.ui-card[data-v-bf7df1ba]{border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text)}.ui-card--raised[data-v-bf7df1ba]{background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.ui-card--pad-md[data-v-bf7df1ba]{padding:var(--space-6)}.ui-card--pad-lg[data-v-bf7df1ba]{padding:var(--space-8)}.ui-card[data-v-bf7df1ba]>:first-child{margin-top:0}.ui-card[data-v-bf7df1ba]>:last-child{margin-bottom:0}.ui-grid[data-v-c2868ba8]{grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.ui-grid--gap-sm[data-v-c2868ba8]{gap:var(--space-3)}.ui-grid--gap-md[data-v-c2868ba8]{gap:var(--space-6)}.ui-grid--gap-lg[data-v-c2868ba8]{gap:var(--space-10)}@media (width>=48rem){.ui-grid--cols-2[data-v-c2868ba8],.ui-grid--cols-3[data-v-c2868ba8],.ui-grid--cols-4[data-v-c2868ba8]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.ui-grid--cols-3[data-v-c2868ba8]{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-grid--cols-4[data-v-c2868ba8]{grid-template-columns:repeat(4,minmax(0,1fr))}}.ui-heading[data-v-534a168a]{margin:0 0 var(--space-4);color:var(--color-text);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);text-wrap:balance}.ui-heading--display[data-v-534a168a]{font-size:var(--font-size-display)}.ui-heading--4xl[data-v-534a168a]{font-size:var(--font-size-4xl)}.ui-heading--3xl[data-v-534a168a]{font-size:var(--font-size-3xl)}.ui-heading--2xl[data-v-534a168a]{font-size:var(--font-size-2xl)}.ui-heading--xl[data-v-534a168a]{font-size:var(--font-size-xl)}.ui-heading--lg[data-v-534a168a]{font-size:var(--font-size-lg)}.ui-heading--display[data-v-534a168a]{letter-spacing:-.02em}.ui-heading--xl[data-v-534a168a],.ui-heading--lg[data-v-534a168a]{margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug)}.ui-text[data-v-7a01d9c7]{margin:0 0 var(--space-4);line-height:var(--line-height-normal)}.ui-text--sm[data-v-7a01d9c7]{font-size:var(--font-size-sm)}.ui-text--md[data-v-7a01d9c7]{font-size:var(--font-size-md)}.ui-text--lg[data-v-7a01d9c7]{font-size:var(--font-size-lg)}.ui-text--default[data-v-7a01d9c7]{color:var(--color-text)}.ui-text--muted[data-v-7a01d9c7]{color:var(--color-text-muted)}span.ui-text[data-v-7a01d9c7]{margin:0}.key-messages__card[data-v-179ba65c]{scroll-margin-top:var(--space-4)}.key-messages__icon[data-v-179ba65c]{width:var(--space-12);height:var(--space-12);margin-bottom:var(--space-4);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent);place-items:center;display:inline-grid}.key-messages__links[data-v-179ba65c]{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;display:flex}.key-messages--compact[data-v-179ba65c]{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.key-messages__item[data-v-179ba65c]{gap:var(--space-3);color:var(--color-text-muted);align-items:baseline;display:flex}.key-messages__item-icon[data-v-179ba65c]{color:var(--color-accent)}.platform-list[data-v-c4eae3db]{gap:var(--space-2) var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.platform-list--center[data-v-c4eae3db]{justify-content:center}.platform-list__label[data-v-c4eae3db]{color:var(--color-text-muted);font-size:var(--font-size-sm)}.platform-list__items[data-v-c4eae3db]{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.platform-list__item[data-v-c4eae3db]{gap:var(--space-2);padding:var(--space-1) var(--space-3);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-weight:var(--font-weight-medium);align-items:center;display:inline-flex}.self-host[data-v-bbfce939]{gap:var(--space-4) var(--space-6);padding:var(--space-6);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);text-align:start;display:grid}@media (width>=48rem){.self-host[data-v-bbfce939]{grid-template-columns:auto minmax(0,1fr)}}.self-host__icon[data-v-bbfce939]{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent);place-items:center;display:inline-grid}.self-host__body[data-v-bbfce939]>:last-child{margin-bottom:0}.self-host-link[data-v-bbfce939]{margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.ui-badge[data-v-b7361234]{gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);white-space:nowrap;align-items:center;display:inline-flex}.ui-badge--neutral[data-v-b7361234]{border:var(--border-hairline) solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-muted)}.ui-badge--accent[data-v-b7361234]{background:var(--color-accent-soft);color:var(--color-accent)}.ui-badge--success[data-v-b7361234]{background:var(--color-success-soft);color:var(--color-success)}.ui-badge--warning[data-v-b7361234]{background:var(--color-warning-soft);color:var(--color-warning)}.ui-badge--danger[data-v-b7361234]{background:var(--color-danger-soft);color:var(--color-danger)}.tool-card[data-v-1eaee341]{gap:var(--space-1) var(--space-4);padding:var(--space-4) var(--space-5);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;position:relative}.tool-card[data-v-1eaee341]:hover,.tool-card[data-v-1eaee341]:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.tool-card__icon[data-v-1eaee341]{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent);grid-row:span 2;place-items:center;display:inline-grid}.tool-card__name[data-v-1eaee341]{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin:0}.tool-card__link[data-v-1eaee341]{color:var(--color-text);text-decoration:none}.tool-card__link[data-v-1eaee341]:after{border-radius:inherit;content:"";position:absolute;inset:0}.tool-card__link[data-v-1eaee341]:focus-visible{outline:none}.tool-card__link[data-v-1eaee341]:focus-visible:after{outline:var(--border-thick) solid var(--color-focus-ring);outline-offset:2px}.tool-card__media[data-v-1eaee341]{gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;grid-column:1/-1;display:flex}.tool-card__summary[data-v-1eaee341]{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-snug);margin:0}.ui-compare[data-v-8c99a5df]{--ui-compare-handle-inset:var(--space-5);margin:0}.ui-compare__frame[data-v-8c99a5df]{cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;position:relative}.ui-compare--framed .ui-compare__frame[data-v-8c99a5df]{border-radius:var(--radius-lg);box-shadow:var(--shadow-media)}.ui-compare__viewport[data-v-8c99a5df]{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.ui-compare--framed .ui-compare__viewport[data-v-8c99a5df]{border:var(--border-hairline) solid var(--color-media-outline)}.ui-compare__layer[data-v-8c99a5df]{position:absolute;inset:0}.ui-compare__layer--before[data-v-8c99a5df]{clip-path:inset(0 calc(100% - var(--ui-compare-position)) 0 0)}.ui-compare__image[data-v-8c99a5df]{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.ui-compare__tag[data-v-8c99a5df]{top:var(--space-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-raised);box-shadow:var(--shadow-sm);color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);position:absolute}.ui-compare__tag--before[data-v-8c99a5df]{left:var(--space-3)}.ui-compare__tag--after[data-v-8c99a5df]{right:var(--space-3)}.ui-compare__divider[data-v-8c99a5df]{top:0;bottom:0;left:var(--ui-compare-position);width:var(--border-thick);background:var(--color-primary);pointer-events:none;position:absolute;transform:translate(-50%)}.ui-compare__handle[data-v-8c99a5df]{top:50%;left:clamp(var(--ui-compare-handle-inset), var(--ui-compare-position), 100% - var(--ui-compare-handle-inset));width:calc(2 * var(--ui-compare-handle-inset));height:calc(2 * var(--ui-compare-handle-inset));border:var(--border-thick) solid var(--color-on-primary);border-radius:var(--radius-pill);background:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-on-primary);transition:background-color var(--duration-fast) var(--ease-standard);place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.ui-compare__handle[data-v-8c99a5df]:hover,.ui-compare--dragging .ui-compare__handle[data-v-8c99a5df]{background:var(--color-primary-hover)}.ui-compare__caption[data-v-8c99a5df]{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.ui-container[data-v-716b3509]{width:100%;padding-inline:var(--space-4);margin-inline:auto}@media (width>=48rem){.ui-container[data-v-716b3509]{padding-inline:var(--space-6)}}.ui-container--narrow[data-v-716b3509]{max-width:var(--container-narrow)}.ui-container--default[data-v-716b3509]{max-width:var(--container-default)}.ui-container--wide[data-v-716b3509]{max-width:var(--container-wide)}.ui-lightbox[data-v-99cd97ed]{--ui-lightbox-gutter:var(--space-4);--ui-lightbox-caption-space:0px;--ui-lightbox-media-height:calc(100dvh - 2 * var(--ui-lightbox-gutter) - var(--ui-lightbox-caption-space));width:100%;max-width:none;height:100%;max-height:none;padding:var(--ui-lightbox-gutter);color:var(--color-text);cursor:zoom-out;background:0 0;border:0;margin:0;position:fixed;inset:0;overflow:hidden}@media (width>=48rem){.ui-lightbox[data-v-99cd97ed]{--ui-lightbox-gutter:var(--space-12)}}.ui-lightbox[open][data-v-99cd97ed]{place-items:center;display:grid}.ui-lightbox--captioned[data-v-99cd97ed]{--ui-lightbox-caption-space:var(--space-16)}.ui-lightbox--captioned[open][data-v-99cd97ed]{gap:var(--space-3);grid-template-columns:minmax(0,1fr);place-content:center;justify-items:center}.ui-lightbox__caption[data-v-99cd97ed]{max-width:100%;padding:var(--space-2) var(--space-4);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);text-align:center;text-wrap:balance;cursor:auto;box-shadow:var(--shadow-md);margin:0;position:relative}.ui-lightbox[data-v-99cd97ed]::backdrop{background:0 0}.ui-lightbox__scrim[data-v-99cd97ed]{background:var(--color-scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:absolute;inset:0}.ui-lightbox__image[data-v-99cd97ed]{width:auto;max-width:100%;height:auto;max-height:var(--ui-lightbox-media-height);border:var(--border-hairline) solid var(--color-media-outline);border-radius:var(--radius-lg);box-shadow:var(--shadow-media);transform-origin:0 0;-webkit-user-select:none;user-select:none;display:block;position:relative}.ui-lightbox__video[data-v-99cd97ed]{width:min(100%, var(--ui-lightbox-media-height) * var(--ui-lightbox-ratio));aspect-ratio:var(--ui-lightbox-ratio);background:var(--color-surface-sunken);cursor:auto}.ui-lightbox--enlargeable .ui-lightbox__image[data-v-99cd97ed]{cursor:zoom-in}.ui-lightbox--actual .ui-lightbox__image[data-v-99cd97ed]{cursor:zoom-out;max-width:none;max-height:none;position:absolute;top:50%;left:50%}.ui-lightbox--pannable .ui-lightbox__image[data-v-99cd97ed]{cursor:grab;touch-action:none}.ui-lightbox--dragging .ui-lightbox__image[data-v-99cd97ed]{cursor:grabbing}.ui-lightbox__controls[data-v-99cd97ed]{top:var(--space-3);right:var(--space-3);gap:var(--space-2);display:flex;position:absolute}.ui-lightbox__control[data-v-99cd97ed]{width:var(--space-10);height:var(--space-10);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-md);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-lightbox__control[data-v-99cd97ed]:hover{background:var(--color-surface-sunken)}.ui-lightbox__control[aria-pressed=true][data-v-99cd97ed]{border-color:var(--color-primary)}.ui-media[data-v-0c1e2044]{margin:0}.ui-media__frame[data-v-0c1e2044]{width:100%;overflow:hidden}.ui-media--framed .ui-media__frame[data-v-0c1e2044]{border:var(--border-hairline) solid var(--color-media-outline);border-radius:var(--radius-lg);box-shadow:var(--shadow-media)}.ui-media__zoom[data-v-0c1e2044]{border-radius:inherit;width:100%;height:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.ui-media__zoom[data-v-0c1e2044]:focus-visible{outline-offset:calc(-1 * var(--border-thick))}.ui-media__zoom-hint[data-v-0c1e2044]{top:var(--space-3);right:var(--space-3);padding:var(--space-2);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-sm);opacity:0;transition:opacity var(--duration-base) var(--ease-standard);display:inline-flex;position:absolute}.ui-media__zoom:hover .ui-media__zoom-hint[data-v-0c1e2044],.ui-media__zoom:focus-visible .ui-media__zoom-hint[data-v-0c1e2044]{opacity:1}.ui-media__asset[data-v-0c1e2044]{object-fit:cover;width:100%;height:100%;display:block}.ui-media__placeholder[data-v-0c1e2044]{gap:var(--space-3);height:100%;padding:var(--space-6);border:var(--border-thick) dashed var(--color-border-strong);border-radius:inherit;background:repeating-linear-gradient(-45deg, var(--color-surface-sunken), var(--color-surface-sunken) var(--space-3), var(--color-surface) var(--space-3), var(--color-surface) var(--space-6));color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.ui-media__badge[data-v-0c1e2044]{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.ui-media__label[data-v-0c1e2044]{max-width:32rem;font-size:var(--font-size-sm)}.ui-media__caption[data-v-0c1e2044]{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.ui-section[data-v-a423def1]{scroll-margin-top:var(--space-4)}.ui-section--md[data-v-a423def1]{padding-block:var(--space-10)}.ui-section--lg[data-v-a423def1]{padding-block:var(--space-16)}@media (width>=48rem){.ui-section--lg[data-v-a423def1]{padding-block:var(--space-24)}}.ui-section--muted[data-v-a423def1]{border-block:var(--border-hairline) solid var(--color-border);background:var(--color-surface)}.home__hero[data-v-74627f39]{padding-block:var(--space-10) var(--space-16)}@media (width>=64rem){.home__hero[data-v-74627f39]{padding-block:var(--space-20) var(--space-24)}}.home__hero-inner[data-v-74627f39]{gap:var(--space-10);align-items:center;display:grid}@media (width>=64rem){.home__hero-inner[data-v-74627f39]{gap:var(--space-12);grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.home__hero-copy[data-v-74627f39]>:first-child{margin-bottom:var(--space-4)}.home__tagline[data-v-74627f39]{max-width:36rem}.home__actions[data-v-74627f39]{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;align-items:flex-start;display:flex}.home__actions--center[data-v-74627f39]{justify-content:center}.home__platforms[data-v-74627f39]{margin-top:var(--space-6)}.home__intro[data-v-74627f39]{max-width:44rem;margin-bottom:var(--space-10)}.home__spotlights[data-v-74627f39]{margin-bottom:var(--space-16)}.home__spotlight[data-v-74627f39]{flex-direction:column;align-items:flex-start;display:flex;overflow:hidden}.home__spotlight-media[data-v-74627f39]{width:calc(100% + 2 * var(--space-6));margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-5);border-bottom:var(--border-hairline) solid var(--color-border)}.home__spotlight-title[data-v-74627f39]{margin-top:var(--space-3)}.home__spotlight-link[data-v-74627f39]{gap:var(--space-2);font-weight:var(--font-weight-medium);align-items:center;margin-top:auto;display:inline-flex}.home__category[data-v-74627f39]{scroll-margin-top:var(--space-6)}.home__category+.home__category[data-v-74627f39]{margin-top:var(--space-12)}.home__tools[data-v-74627f39]{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));margin:0;padding:0;list-style:none;display:grid}.home__themes[data-v-74627f39]{background-image:radial-gradient(ellipse 60% 50% at 50% 70%, var(--color-glow), transparent 70%)}@media (width>=64rem){.home__themes[data-v-74627f39]{padding-block:var(--space-24)}}.home__themes-intro[data-v-74627f39]{max-width:44rem;margin:0 auto var(--space-10);text-align:center;flex-direction:column;align-items:center;display:flex}@media (width>=64rem){.home__themes-intro[data-v-74627f39]{margin-bottom:var(--space-12)}}.home__themes-title[data-v-74627f39]{margin-top:var(--space-4)}.home__theme-modes[data-v-74627f39]{gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;justify-content:center;padding:0;list-style:none;display:flex}.home__theme-modes li[data-v-74627f39]{gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);font-weight:var(--font-weight-medium);align-items:center;display:inline-flex}.home__closing[data-v-74627f39]{text-align:center}.home__self-host[data-v-74627f39]{margin-top:var(--space-10)}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ubuntu-400-latin-CQJ26Fy6.woff2)format("woff2")}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/ubuntu-500-latin-CnjGCQfM.woff2)format("woff2")}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/ubuntu-700-latin-DlYwEzNn.woff2)format("woff2")}@font-face{font-family:Ubuntu Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ubuntu-mono-400-latin-l4cqI2xd.woff2)format("woff2")}@font-face{font-family:Ubuntu Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/ubuntu-mono-700-latin-nUYOZNIl.woff2)format("woff2")}:root{--palette-white:#fff;--palette-ink-950:#02020a;--palette-ink-900:#070618;--palette-ink-800:#0c1029;--palette-ink-700:#141c45;--palette-ink-600:#252e5e;--palette-navy-900:#111936;--palette-slate-600:#4a5480;--palette-mist-500:#8b96c8;--palette-mist-300:#b7bfe3;--palette-frost-300:#c7d2fe;--palette-frost-200:#dde4f5;--palette-frost-100:#eef2ff;--palette-frost-50:#f6f8fe;--palette-purple-700:#4c1d95;--palette-purple-600:#6d28d9;--palette-purple-500:#7c3aed;--palette-violet-400:#a78bfa;--palette-blue-700:#1d4ed8;--palette-blue-500:#2563eb;--palette-cyan-300:#67e8f9;--palette-green-800:#166534;--palette-green-700:#15803d;--palette-green-400:#4ade80;--palette-amber-800:#92400e;--palette-amber-700:#b45309;--palette-amber-400:#fbbf24;--palette-rose-700:#be123c;--palette-rose-400:#fb7185;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem);--font-size-4xl:clamp(2.25rem, 1.6rem + 2.8vw, 3.25rem);--font-size-display:clamp(2.75rem, 1.8rem + 4.2vw, 4.5rem);--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-tight:1.15;--line-height-snug:1.35;--line-height-normal:1.6;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:999px;--border-hairline:1px;--border-thick:2px;--shadow-sm:0 1px 2px var(--color-shadow);--shadow-md:0 8px 24px -8px var(--color-shadow);--shadow-lg:0 24px 64px -16px var(--color-shadow);--shadow-glow:0 0 48px var(--color-glow);--shadow-media:0 24px 64px -16px var(--color-shadow), 0 0 48px var(--color-media-glow);--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--container-narrow:48rem;--container-default:72rem;--container-wide:84rem;--duration-fast:.12s;--duration-base:.18s;--duration-slow:.28s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--z-header:10;--z-skip-link:100;--font-sans:Ubuntu, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif;--font-mono:Ubuntu Mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--color-bg:var(--palette-frost-50);--color-surface:var(--palette-white);--color-surface-raised:var(--palette-white);--color-surface-sunken:var(--palette-frost-100);--color-border:var(--palette-frost-200);--color-border-strong:var(--palette-mist-300);--color-text:var(--palette-navy-900);--color-text-muted:var(--palette-slate-600);--color-text-inverse:var(--palette-white);--color-primary:var(--palette-purple-600);--color-primary-hover:var(--palette-purple-700);--color-on-primary:var(--palette-white);--color-accent:var(--palette-blue-700);--color-accent-soft:#1d4ed81a;--color-link:var(--palette-purple-700);--color-link-hover:var(--palette-blue-700);--color-focus-ring:var(--palette-blue-500);--color-success:var(--palette-green-800);--color-success-soft:#15803d1a;--color-warning:var(--palette-amber-800);--color-warning-soft:#b453091f;--color-danger:var(--palette-rose-700);--color-danger-soft:#be123c1a;--color-shadow:#11193624;--color-glow:#7c3aed29;--color-media-outline:#1119362e;--color-media-glow:transparent;--color-scrim:#1119368c;--gradient-page:radial-gradient(circle at 15% 0%, #7c3aed14, transparent 32rem), radial-gradient(circle at 85% 0%, #2563eb0f, transparent 28rem);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:var(--palette-ink-950);--color-surface:var(--palette-ink-900);--color-surface-raised:var(--palette-ink-800);--color-surface-sunken:var(--palette-ink-950);--color-border:var(--palette-ink-700);--color-border-strong:var(--palette-ink-600);--color-text:var(--palette-frost-100);--color-text-muted:var(--palette-mist-300);--color-text-inverse:var(--palette-ink-950);--color-primary:var(--palette-purple-500);--color-primary-hover:var(--palette-purple-600);--color-on-primary:var(--palette-white);--color-accent:var(--palette-cyan-300);--color-accent-soft:#67e8f91f;--color-link:var(--palette-violet-400);--color-link-hover:var(--palette-cyan-300);--color-focus-ring:var(--palette-cyan-300);--color-success:var(--palette-green-400);--color-success-soft:#4ade801f;--color-warning:var(--palette-amber-400);--color-warning-soft:#fbbf241f;--color-danger:var(--palette-rose-400);--color-danger-soft:#fb71851f;--color-shadow:#02020a99;--color-glow:#7c3aed47;--color-media-outline:#ffffff29;--color-media-glow:#a78bfa38;--color-scrim:#02020ab8;--gradient-page:radial-gradient(circle at 15% 0%, #4c1d954d, transparent 32rem), radial-gradient(circle at 85% 0%, #2563eb2e, transparent 28rem);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--color-bg:var(--palette-ink-950);--color-surface:var(--palette-ink-900);--color-surface-raised:var(--palette-ink-800);--color-surface-sunken:var(--palette-ink-950);--color-border:var(--palette-ink-700);--color-border-strong:var(--palette-ink-600);--color-text:var(--palette-frost-100);--color-text-muted:var(--palette-mist-300);--color-text-inverse:var(--palette-ink-950);--color-primary:var(--palette-purple-500);--color-primary-hover:var(--palette-purple-600);--color-on-primary:var(--palette-white);--color-accent:var(--palette-cyan-300);--color-accent-soft:#67e8f91f;--color-link:var(--palette-violet-400);--color-link-hover:var(--palette-cyan-300);--color-focus-ring:var(--palette-cyan-300);--color-success:var(--palette-green-400);--color-success-soft:#4ade801f;--color-warning:var(--palette-amber-400);--color-warning-soft:#fbbf241f;--color-danger:var(--palette-rose-400);--color-danger-soft:#fb71851f;--color-shadow:#02020a99;--color-glow:#7c3aed47;--color-media-outline:#ffffff29;--color-media-glow:#a78bfa38;--color-scrim:#02020ab8;--gradient-page:radial-gradient(circle at 15% 0%, #4c1d954d, transparent 32rem), radial-gradient(circle at 85% 0%, #2563eb2e, transparent 28rem);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background-color:var(--color-bg);background-image:var(--gradient-page);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;background-repeat:no-repeat;margin:0}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight)}a{color:var(--color-link);text-underline-offset:.2em}a:hover{color:var(--color-link-hover)}code,kbd,pre,samp{font-family:var(--font-mono)}:focus-visible{outline:var(--border-thick) solid var(--color-focus-ring);outline-offset:2px}::selection{background:var(--color-accent-soft)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
