:root{--color-blue-50:#EFF6FF;--color-blue-100:#DBEAFE;--color-blue-200:#BFDBFE;--color-blue-300:#93C5FD;--color-blue-400:#60A5FA;--color-blue-500:#3B82F6;--color-blue-600:#2563EB;--color-blue-700:#1D4ED8;--color-blue-800:#1E40AF;--color-blue-900:#1E3A8A;--color-grey-50:#F8FAFC;--color-grey-100:#F1F5F9;--color-grey-200:#E2E8F0;--color-grey-300:#CBD5E1;--color-grey-400:#94A3B8;--color-grey-500:#64748B;--color-grey-600:#475569;--color-grey-700:#334155;--color-grey-800:#1E293B;--color-grey-900:#0F172A;--color-white:#FFFFFF;--color-black:#000000;--color-success-50:#F0FDF4;--color-success-100:#DCFCE7;--color-success-200:#BBF7D0;--color-success-600:#16A34A;--color-success-700:#15803D;--color-success-800:#166534;--color-warning-50:#FFFBEB;--color-warning-100:#FEF3C7;--color-warning-200:#FDE68A;--color-warning-600:#D97706;--color-warning-700:#B45309;--color-warning-800:#92400E;--color-error-50:#FEF2F2;--color-error-100:#FEE2E2;--color-error-200:#FECACA;--color-error-600:#DC2626;--color-error-700:#B91C1C;--color-error-800:#991B1B;--color-info-50:#EFF6FF;--color-info-100:#DBEAFE;--color-info-200:#BFDBFE;--color-info-600:#2563EB;--color-info-700:#1D4ED8;--color-info-800:#1E40AF;--color-bg-base:var(--color-white);--color-bg-subtle:var(--color-grey-50);--color-bg-muted:var(--color-grey-100);--color-text-primary:var(--color-grey-900);--color-text-body:var(--color-grey-700);--color-text-muted:var(--color-grey-500);--color-text-disabled:var(--color-grey-400);--color-text-inverse:var(--color-white);--color-text-link:var(--color-blue-600);--color-text-link-hover:var(--color-blue-700);--color-border:var(--color-grey-200);--color-border-strong:var(--color-grey-300);--color-border-focus:var(--color-blue-600);--color-brand-primary:var(--color-blue-600);--color-brand-primary-hover:var(--color-blue-700);--color-brand-primary-active:var(--color-blue-800);--color-brand-primary-subtle:var(--color-blue-50);--font-family-sans:"Inter","Segoe UI","Helvetica Neue",Arial,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code","Courier New",monospace;--font-size-display:3.5rem;--font-size-h1:2.5rem;--font-size-h2:2rem;--font-size-h3:1.5rem;--font-size-h4:1.25rem;--font-size-h5:1.125rem;--font-size-h6:1rem;--font-size-body-lg:1.125rem;--font-size-body:1rem;--font-size-body-sm:0.875rem;--font-size-caption:0.75rem;--font-size-label:0.75rem;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0em;--letter-spacing-wide:0.025em;--letter-spacing-wider:0.05em;--letter-spacing-label:0.08em;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.07),0 2px 4px -2px rgb(0 0 0 / 0.05);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.08),0 4px 6px -4px rgb(0 0 0 / 0.05);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.08),0 8px 10px -6px rgb(0 0 0 / 0.05);--shadow-2xl:0 25px 50px -12px rgb(0 0 0 / 0.15);--shadow-focus:0 0 0 3px rgb(37 99 235 / 0.35);--shadow-focus-error:0 0 0 3px rgb(185 28 28 / 0.30);--transition-fast:100ms ease;--transition-base:150ms ease;--transition-slow:250ms ease;--transition-slower:350ms ease;--z-below:-1;--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--container-max:1280px;--container-narrow:768px;--container-wide:1440px;--gutter:var(--space-6);--gutter-md:var(--space-8);--gutter-lg:var(--space-16);--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1440px;--font-size-display-fluid:clamp(2rem,    3.5vw + 1rem,   3.5rem);--font-size-h1-fluid:clamp(1.75rem, 3vw   + 0.75rem,2.5rem);--font-size-h2-fluid:clamp(1.375rem,2vw   + 0.625rem,2rem);--font-size-h3-fluid:clamp(1.125rem,1.5vw + 0.375rem,1.5rem);--font-size-h4-fluid:clamp(1rem,    1vw   + 0.5rem,  1.25rem)}