:root{--color-primary:#171717;--color-primary-dark:#0a0a0a;--color-primary-light:#404040;--color-primary-rgb:23, 23, 23;--color-background:#fafafa;--color-surface:#fff;--color-text:#171717;--color-text-muted:#737373;--color-text-inverse:#fff;--color-border:#e0e0e0;--color-dark-surface:#1a1a1a;--color-dark-surface-alt:#0f0f0f;--color-dark-surface-rgb:26, 26, 26;--color-error:#dc2626;--color-success:#16a34a;--color-warning:#f59e0b;--color-accent:#3d8bd4;--color-accent-rgb:61, 139, 212;--color-accent-light:#5fa3e0;--color-accent-dark:#2d6ba3;--color-accent-subtle:#3d8bd414;--color-accent-border:#3d8bd459;--color-accent-ring:#3d8bd473;--font-family-base:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-heading:var(--font-family-base);--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--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;--container-max:1280px;--container-padding:1rem;--header-height:3.5rem;--transition-fast:.15s;--transition-normal:.3s;--transition-slow:.5s;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700}@media (min-width:768px){:root{--font-size-4xl:3rem;--font-size-5xl:3.5rem;--container-padding:1.5rem;--header-height:4rem}}@media (min-width:1024px){:root{--font-size-4xl:3.5rem;--font-size-5xl:4rem}}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-normal:0s;--transition-slow:0s}}
@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes countUp{0%{--num:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-normal) var(--ease-out) forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) var(--ease-out) forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-normal) var(--ease-out) forwards}.animate-slide-in-left{animation:slideInLeft var(--transition-normal) var(--ease-out) forwards}.animate-slide-in-right{animation:slideInRight var(--transition-normal) var(--ease-out) forwards}.animate-scale-in{animation:scaleIn var(--transition-normal) var(--ease-out) forwards}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-spin{animation:1s linear infinite spin}.animate-bounce{animation:bounce 1s var(--ease-in-out) infinite}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.skeleton{background:linear-gradient(90deg, var(--color-border) 25%, var(--color-surface) 50%, var(--color-border) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-4)}a{color:var(--color-primary);transition:color var(--transition-fast) var(--ease-out);text-decoration:none}ul,ol{list-style:none}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}table{border-collapse:collapse;width:100%}::selection{background-color:var(--color-primary);color:var(--color-text-inverse)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.container{width:100%;max-width:var(--container-max);padding:0 var(--container-padding);margin:0 auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.m-0{margin:0}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.section{padding:var(--space-12) 0}.section-lg{padding:var(--space-16) 0}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-fast) var(--ease-out), box-shadow var(--transition-fast) var(--ease-out);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);transition:all var(--transition-fast) var(--ease-out);cursor:pointer;line-height:1;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);border:2px solid var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{color:var(--color-primary);border:2px solid var(--color-primary);background-color:#0000}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-ghost{color:var(--color-text);background-color:#0000;border:2px solid #0000}.btn-ghost:hover{background-color:var(--color-border)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast) var(--ease-out), box-shadow var(--transition-fast) var(--ease-out)}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring);outline:none}.input:disabled{background-color:var(--color-background);cursor:not-allowed}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px #dc262626}.label{margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);display:block}.error-message{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-error)}.badge{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;display:inline-flex}.badge-primary{background-color:rgba(var(--color-primary-rgb), .1);color:var(--color-primary)}.badge-success{color:var(--color-success);background-color:#16a34a1a}.badge-warning{color:var(--color-warning);background-color:#f59e0b1a}.badge-error{color:var(--color-error);background-color:#dc26261a}
