@charset "UTF-8";:root{--color-primary-50: #ecf3f9;--color-primary-100: #d1e3f0;--color-primary-200: #abcbe3;--color-primary-300: #7dafd4;--color-primary-400: #4b91c3;--color-primary-500: #3674a1;--color-primary-600: #2a5b7e;--color-primary-700: #204560;--color-primary-800: #162f41;--color-primary-900: #0d1c26;--color-secondary-50: #f2eff5;--color-secondary-100: #dfd9e8;--color-secondary-200: #c4b9d5;--color-secondary-300: #a493be;--color-secondary-400: #8169a5;--color-secondary-500: #665086;--color-secondary-600: #503f69;--color-secondary-700: #3d3050;--color-secondary-800: #292136;--color-secondary-900: #181320;--color-neutral-0: #ffffff;--color-neutral-50: #f9fafb;--color-neutral-100: #f3f4f6;--color-neutral-200: #e5e7eb;--color-neutral-300: #d1d5db;--color-neutral-400: #9ca3af;--color-neutral-500: #6b7280;--color-neutral-600: #4b5563;--color-neutral-700: #374151;--color-neutral-800: #1f2937;--color-neutral-900: #111827;--color-neutral-950: #030712;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-200: #fecaca;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-info-50: #ecfeff;--color-info-100: #cffafe;--color-info-200: #a5f3fc;--color-info-500: #06b6d4;--color-info-600: #0891b2;--color-info-700: #0e7490;--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-tertiary: var(--color-neutral-400);--color-text-disabled: var(--color-neutral-300);--color-text-inverse: var(--color-neutral-0);--color-text-link: var(--color-primary-600);--color-text-link-hover: var(--color-primary-800);--color-bg-base: var(--color-neutral-0);--color-bg-subtle: var(--color-neutral-50);--color-bg-muted: var(--color-neutral-100);--color-bg-elevated: var(--color-neutral-0);--color-bg-overlay: rgba(0, 0, 0, .5);--color-border-default: var(--color-neutral-200);--color-border-strong: var(--color-neutral-400);--color-border-focus: var(--color-primary-500);--color-brand-default: var(--color-primary-600);--color-brand-hover: var(--color-primary-700);--color-brand-active: var(--color-primary-800);--color-brand-subtle: var(--color-primary-50);--color-brand-muted: var(--color-primary-100);--color-brand-secondary-default: var(--color-secondary-500);--color-brand-secondary-hover: var(--color-secondary-600);--color-brand-secondary-active: var(--color-secondary-700);--color-brand-secondary-subtle: var(--color-secondary-50);--color-brand-secondary-muted: var(--color-secondary-100);--color-success-default: var(--color-success-600);--color-success-subtle: var(--color-success-50);--color-success-muted: var(--color-success-100);--color-warning-default: var(--color-warning-600);--color-warning-subtle: var(--color-warning-50);--color-warning-muted: var(--color-warning-100);--color-error-default: var(--color-error-600);--color-error-subtle: var(--color-error-50);--color-error-muted: var(--color-error-100);--color-info-default: var(--color-info-600);--color-info-subtle: var(--color-info-50);--color-info-muted: var(--color-info-100)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-text-primary: var(--color-neutral-50);--color-text-secondary: var(--color-neutral-400);--color-text-tertiary: var(--color-neutral-500);--color-text-disabled: var(--color-neutral-700);--color-text-inverse: var(--color-neutral-900);--color-text-link: var(--color-primary-300);--color-text-link-hover: var(--color-primary-100);--color-bg-base: var(--color-neutral-950);--color-bg-subtle: var(--color-neutral-900);--color-bg-elevated: var(--color-neutral-800);--color-bg-muted: var(--color-neutral-700);--color-border-default: var(--color-neutral-700);--color-border-strong: var(--color-neutral-500);--color-brand-default: var(--color-primary-400);--color-brand-hover: var(--color-primary-300);--color-brand-active: var(--color-primary-200);--color-brand-subtle: rgba(75, 145, 195, .1);--color-brand-muted: rgba(75, 145, 195, .2);--color-success-subtle: rgba(34, 197, 94, .15);--color-success-muted: rgba(34, 197, 94, .25);--color-warning-subtle: rgba(245, 158, 11, .15);--color-warning-muted: rgba(245, 158, 11, .25);--color-error-subtle: rgba(239, 68, 68, .15);--color-error-muted: rgba(239, 68, 68, .25);--color-info-subtle: rgba(6, 182, 212, .15);--color-info-muted: rgba(6, 182, 212, .25)}}:root[data-theme=dark]{--color-text-primary: var(--color-neutral-50);--color-text-secondary: var(--color-neutral-400);--color-text-tertiary: var(--color-neutral-500);--color-text-disabled: var(--color-neutral-700);--color-text-inverse: var(--color-neutral-900);--color-text-link: var(--color-primary-300);--color-text-link-hover: var(--color-primary-100);--color-bg-base: var(--color-neutral-950);--color-bg-subtle: var(--color-neutral-900);--color-bg-elevated: var(--color-neutral-800);--color-bg-muted: var(--color-neutral-700);--color-border-default: var(--color-neutral-700);--color-border-strong: var(--color-neutral-500);--color-brand-default: var(--color-primary-400);--color-brand-hover: var(--color-primary-300);--color-brand-active: var(--color-primary-200);--color-brand-subtle: rgba(75, 145, 195, .1);--color-brand-muted: rgba(75, 145, 195, .2);--color-success-subtle: rgba(34, 197, 94, .15);--color-success-muted: rgba(34, 197, 94, .25);--color-warning-subtle: rgba(245, 158, 11, .15);--color-warning-muted: rgba(245, 158, 11, .25);--color-error-subtle: rgba(239, 68, 68, .15);--color-error-muted: rgba(239, 68, 68, .25);--color-info-subtle: rgba(6, 182, 212, .15);--color-info-muted: rgba(6, 182, 212, .25);color-scheme:dark}:root{--font-family-sans: "DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-family-brand: "Syne", "DM Sans", system-ui, sans-serif;--font-family-serif: "Georgia", "Times New Roman", serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-size-2xs: .625rem;--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: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0em;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--text-display-size: var(--font-size-5xl);--text-display-weight: var(--font-weight-bold);--text-display-lh: var(--line-height-tight);--text-h1-size: var(--font-size-4xl);--text-h1-weight: var(--font-weight-bold);--text-h1-lh: var(--line-height-tight);--text-h2-size: var(--font-size-3xl);--text-h2-weight: var(--font-weight-semibold);--text-h2-lh: var(--line-height-snug);--text-h3-size: var(--font-size-2xl);--text-h3-weight: var(--font-weight-semibold);--text-h3-lh: var(--line-height-snug);--text-h4-size: var(--font-size-xl);--text-h4-weight: var(--font-weight-semibold);--text-h4-lh: var(--line-height-snug);--text-body-lg-size: var(--font-size-lg);--text-body-lg-weight: var(--font-weight-regular);--text-body-lg-lh: var(--line-height-relaxed);--text-body-md-size: var(--font-size-md);--text-body-md-weight: var(--font-weight-regular);--text-body-md-lh: var(--line-height-normal);--text-body-sm-size: var(--font-size-sm);--text-body-sm-weight: var(--font-weight-regular);--text-body-sm-lh: var(--line-height-normal);--text-label-lg-size: var(--font-size-md);--text-label-lg-weight: var(--font-weight-medium);--text-label-lg-lh: var(--line-height-tight);--text-label-md-size: var(--font-size-sm);--text-label-md-weight: var(--font-weight-medium);--text-label-md-lh: var(--line-height-tight);--text-label-sm-size: var(--font-size-xs);--text-label-sm-weight: var(--font-weight-medium);--text-label-sm-lh: var(--line-height-tight);--text-helper-size: var(--font-size-xs);--text-helper-weight: var(--font-weight-regular);--text-helper-lh: var(--line-height-normal);--text-code-size: var(--font-size-sm);--text-code-weight: var(--font-weight-regular);--text-code-family: var(--font-family-mono)}:root{--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--inset-xs: var(--space-1) var(--space-2);--inset-sm: var(--space-1-5) var(--space-3);--inset-md: var(--space-2) var(--space-4);--inset-lg: var(--space-3) var(--space-6);--inset-xl: var(--space-4) var(--space-8);--stack-2xs: var(--space-1);--stack-xs: var(--space-2);--stack-sm: var(--space-3);--stack-md: var(--space-4);--stack-lg: var(--space-6);--stack-xl: var(--space-8);--stack-2xl: var(--space-12);--inline-2xs: var(--space-1);--inline-xs: var(--space-2);--inline-sm: var(--space-3);--inline-md: var(--space-4);--inline-lg: var(--space-6)}:root{--radius-none: 0;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--border-width-none: 0;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 4px}:root{--shadow-none: none;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-focus-ring: 0 0 0 3px rgba(59, 130, 246, .45);--shadow-focus-ring-error: 0 0 0 3px var(--color-error-200);--shadow-focus-ring-success: 0 0 0 3px var(--color-success-200);--z-index-base: 0;--z-index-raised: 10;--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-overlay: 300;--z-index-modal: 400;--z-index-popover: 500;--z-index-toast: 600;--z-index-tooltip: 700}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--shadow-xs: 0 1px 2px 0 rgba(255, 255, 255, .04);--shadow-sm: 0 1px 3px 0 rgba(255, 255, 255, .05), 0 1px 2px -1px rgba(255, 255, 255, .04);--shadow-md: 0 4px 6px -1px rgba(255, 255, 255, .06), 0 2px 4px -2px rgba(255, 255, 255, .04);--shadow-lg: 0 8px 12px -2px rgba(255, 255, 255, .08), 0 3px 5px -3px rgba(255, 255, 255, .05);--shadow-xl: 0 12px 18px -4px rgba(255, 255, 255, .05), 0 5px 8px -4px rgba(255, 255, 255, .03);--shadow-2xl: 0 16px 28px -8px rgba(255, 255, 255, .06)}}:root[data-theme=dark]{--shadow-xs: 0 1px 2px 0 rgba(255, 255, 255, .04);--shadow-sm: 0 1px 3px 0 rgba(255, 255, 255, .05), 0 1px 2px -1px rgba(255, 255, 255, .04);--shadow-md: 0 4px 6px -1px rgba(255, 255, 255, .06), 0 2px 4px -2px rgba(255, 255, 255, .04);--shadow-lg: 0 8px 12px -2px rgba(255, 255, 255, .08), 0 3px 5px -3px rgba(255, 255, 255, .05);--shadow-xl: 0 12px 18px -4px rgba(255, 255, 255, .05), 0 5px 8px -4px rgba(255, 255, 255, .03);--shadow-2xl: 0 16px 28px -8px rgba(255, 255, 255, .06)}:root{--duration-instant: 0ms;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-colors: color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), fill var(--duration-fast) var(--ease-out);--transition-shadow: box-shadow var(--duration-fast) var(--ease-out);--transition-transform: transform var(--duration-normal) var(--ease-spring);--transition-opacity: opacity var(--duration-normal) var(--ease-out);--transition-all: all var(--duration-normal) var(--ease-in-out)}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms;--duration-slower: 0ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;tab-size:4}body{font-family:var(--font-family-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit}button{cursor:pointer;background:transparent;border:none}a{color:var(--color-text-link);text-decoration:underline}a:hover{color:var(--color-text-link-hover)}:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:2px}.ea-tooltip{z-index:var(--z-index-tooltip);position:absolute;padding:var(--space-1-5) var(--space-2-5);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);white-space:nowrap;border-radius:var(--radius-md);background-color:var(--color-neutral-800);color:var(--color-neutral-0);pointer-events:none;animation:ea-tooltip-fade-in var(--duration-fast) var(--ease-out)}@media(hover:none){.ea-tooltip{display:none}}@keyframes ea-tooltip-fade-in{0%{opacity:0}to{opacity:1}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-padding-top:var(--web-height-header)}body{min-height:100dvh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}:root{--web-width-content: 1140px;--web-height-header: 64px;--web-color-headerBg: color-mix(in srgb, var(--color-bg-base) 78%, transparent);--web-color-flutterStop1: var(--color-primary-100);--web-color-flutterStop2: var(--color-secondary-100);--web-color-flutterStop3: var(--color-primary-50);--web-color-flutterStop4: var(--color-secondary-50);--web-color-wordmarkSheen: color-mix( in oklch, var(--color-primary-500), var(--color-primary-400) 50% )}@media(prefers-color-scheme:dark){:root{--web-color-flutterStop1: var(--color-primary-900);--web-color-flutterStop2: var(--color-secondary-900);--web-color-flutterStop3: var(--color-neutral-950);--web-color-flutterStop4: var(--color-secondary-800);--web-color-wordmarkSheen: color-mix( in oklch, var(--color-primary-50), var(--color-neutral-50) 50% )}}:root[data-theme=light]{--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-tertiary: var(--color-neutral-400);--color-text-disabled: var(--color-neutral-300);--color-text-inverse: var(--color-neutral-0);--color-bg-base: var(--color-neutral-0);--color-bg-subtle: var(--color-neutral-50);--color-bg-muted: var(--color-neutral-100);--color-border-default: var(--color-neutral-200);--color-border-strong: var(--color-neutral-400);--color-brand-default: var(--color-primary-700);--color-brand-hover: var(--color-primary-800);--color-brand-active: var(--color-primary-800);--color-brand-subtle: var(--color-primary-50);--color-brand-muted: var(--color-primary-100);--color-text-link: var(--color-primary-600);--color-text-link-hover: var(--color-primary-800);--web-color-flutterStop1: var(--color-primary-100);--web-color-flutterStop2: var(--color-secondary-100);--web-color-flutterStop3: var(--color-primary-50);--web-color-flutterStop4: var(--color-secondary-50);--web-color-wordmarkSheen: color-mix( in oklch, var(--color-primary-500), var(--color-primary-400) 50% )}:root[data-theme=dark]{--color-text-primary: var(--color-neutral-50);--color-text-secondary: var(--color-neutral-300);--color-text-tertiary: var(--color-neutral-400);--color-text-disabled: var(--color-neutral-600);--color-text-inverse: var(--color-neutral-900);--color-bg-base: var(--color-neutral-900);--color-bg-subtle: var(--color-neutral-800);--color-bg-muted: var(--color-neutral-700);--color-border-default: var(--color-neutral-700);--color-border-strong: var(--color-neutral-500);--color-brand-default: var(--color-primary-400);--color-brand-hover: var(--color-primary-300);--color-brand-active: var(--color-primary-200);--color-text-link: var(--color-primary-300);--color-text-link-hover: var(--color-primary-100);--web-color-flutterStop1: var(--color-primary-900);--web-color-flutterStop2: var(--color-secondary-900);--web-color-flutterStop3: var(--color-neutral-950);--web-color-flutterStop4: var(--color-secondary-800);--web-color-wordmarkSheen: color-mix( in oklch, var(--color-primary-50), var(--color-neutral-50) 50% )}[data-tooltip]{position:relative}@media(hover:hover){[data-tooltip]:after{content:attr(data-tooltip);position:absolute;z-index:1000;top:calc(100% + 8px);left:50%;padding:6px 10px;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;border-radius:6px;background-color:var(--color-neutral-800);color:var(--color-neutral-0);pointer-events:none;transform:translate(-50%);opacity:0;transition:opacity .15s ease}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1}}@media(prefers-color-scheme:dark){.ea-tooltip{background-color:var(--color-neutral-700)}}:root[data-theme=dark] .ea-tooltip{background-color:var(--color-neutral-700)}ea-icon-github svg path{fill:currentColor}@keyframes web-gradient-flutter{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}
