:root{--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #0f172a;--brand-950: #020617;--accent-emerald: #10b981;--accent-emerald-dark: #059669;--accent-purple: #8b5cf6;--accent-purple-dark: #6d28d9;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--neutral-0: #ffffff;--neutral-25: #fafbfc;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--neutral-950: #020617;--color-bg: var(--neutral-50);--color-surface: var(--neutral-0);--color-surface-muted: var(--neutral-100);--color-border: var(--neutral-200);--color-border-strong: var(--neutral-300);--color-text: var(--neutral-900);--color-text-muted: var(--neutral-500);--color-text-subtle: var(--neutral-400);--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-soft: #eff6ff;--color-success: #059669;--color-success-soft: #ecfdf5;--color-warning: #d97706;--color-warning-soft: #fffbeb;--color-danger: #e11d48;--color-danger-soft: #fff1f2;--color-info: #0284c7;--color-info-soft: #f0f9ff;--font-sans: "Plus Jakarta Sans", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, monospace;--text-xs: .75rem;--text-sm: .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;--leading-tight: 1.2;--leading-normal: 1.55;--leading-relaxed: 1.7;--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;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(15 23 42 / .04);--shadow-sm: 0 1px 3px 0 rgb(15 23 42 / .08), 0 1px 2px -1px rgb(15 23 42 / .04);--shadow-md: 0 4px 6px -1px rgb(15 23 42 / .07), 0 2px 4px -2px rgb(15 23 42 / .05);--shadow-lg: 0 10px 15px -3px rgb(15 23 42 / .08), 0 4px 6px -4px rgb(15 23 42 / .04);--shadow-xl: 0 20px 25px -5px rgb(15 23 42 / .1), 0 8px 10px -6px rgb(15 23 42 / .06);--shadow-ring: 0 0 0 3px rgba(37, 99, 235, .22);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s;--container-sm: 640px;--container-md: 860px;--container-lg: 1140px;--container-xl: 1320px;--header-height: 68px;--z-header: 40;--z-overlay: 60;--z-modal: 70;--z-toast: 80}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{margin:0;font-weight:650;line-height:var(--leading-tight);letter-spacing:-.015em}p{margin:0}a{color:var(--color-primary);text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--brand-200);color:var(--neutral-900)}.container{width:100%;max-width:var(--container-lg);margin-inline:auto;padding-inline:var(--space-5)}.container-wide{max-width:var(--container-xl)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-3)}.grid{display:grid;gap:var(--space-5)}.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}.muted{color:var(--color-text-muted)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.mono{font-family:var(--font-mono)}.center{text-align:center}@keyframes webcat-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:webcat-fade-up var(--duration-normal) var(--ease-out) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
