:root{--color-lavender:#e9e4f7;--color-lavender-mid:#c4b5f4;--color-lavender-deep:#7c3aed;--color-mint:#d4f1e4;--color-mint-mid:#6ee7b7;--color-peach:#fde8d8;--color-peach-mid:#fdba74;--color-sky:#dbeafe;--color-sky-mid:#93c5fd;--color-primary:#7c3aed;--color-primary-hover:#6d28d9;--color-primary-light:#ede9fe;--color-background:#fafafa;--color-surface:#ffffff;--color-surface-alt:#f5f3ff;--color-text:#1e1b4b;--color-text-soft:#4c1d95;--color-muted:#6b7280;--color-border:#ede9fe;--color-focus-ring:#7c3aed;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--shadow-sm:0 1px 3px 0 rgb(124 58 237/0.08);--shadow-md:0 4px 16px -2px rgb(124 58 237/0.12),0 2px 6px -2px rgb(124 58 237/0.08);--shadow-lg:0 10px 40px -4px rgb(124 58 237/0.15),0 4px 12px -4px rgb(124 58 237/0.1);--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms;--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{max-width:100vw;overflow-x:hidden}body{background-color:var(--color-background);color:var(--color-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:9999;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;transition:top var(--duration-fast) var(--ease-out)}.skip-link:focus{top:var(--space-4)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}[role=button],a,button{cursor:pointer}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}