@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg-primary:#f4f4f5;--color-bg-white:#fff;--color-bg-subtle:#fafafa;--color-border:#e4e4e7;--color-border-light:#f4f4f5;--color-text-primary:#18181b;--color-text-secondary:#52525b;--color-text-muted:#71717a;--color-text-dim:#a1a1aa;--color-brand:#2563eb;--color-brand-hover:#1d4ed8;--color-brand-light:#eff6ff;--color-brand-muted:rgba(37,99,235,.1);--color-success:#22c55e;--color-success-dark:#16a34a;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--color-success-text:#166534;--color-success-text-light:#15803d;--color-success-muted:rgba(34,197,94,.15);--color-warning:#f59e0b;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-warning-text:#92400e;--color-info:#3b82f6;--color-info-bg:#eff6ff;--color-info-border:#bfdbfe;--color-info-text:#1e40af;--color-purple:#7c3aed;--color-purple-bg:#f3e8ff;--color-purple-border:#ddd6fe;--color-purple-text:#6b21a8;--color-neutral:#71717a;--color-neutral-bg:#f4f4f5;--color-neutral-border:#e4e4e7;--color-neutral-text:#3f3f46;--color-error:#ef4444;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-error-text:#991b1b;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--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);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--transition-fast:150ms ease;--transition-normal:200ms ease}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-brand);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-hover);text-decoration:underline}::selection{background-color:var(--color-brand);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes buttonPress{0%{transform:scale(1)}50%{transform:scale(.97)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes breathe{0%,to{transform:scale(1);box-shadow:0 2px 8px rgba(34,197,94,.3)}50%{transform:scale(1.02);box-shadow:0 4px 12px rgba(34,197,94,.4)}}@keyframes progressFill{0%{width:0}}@keyframes stepPop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace}