*{margin:0;padding:0;box-sizing:border-box}:root{--primary-blue: #2563eb;--primary-purple: #9333ea;--gradient-primary: linear-gradient(135deg, #2563eb 0%, #9333ea 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.btn-primary{background:var(--gradient-primary);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;transition:all .3s ease;font-weight:600}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out}@media (max-width: 768px){body{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.glass{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}@media (max-width: 640px){.container{padding-left:1rem;padding-right:1rem}nav .flex{flex-direction:column;gap:.5rem}.btn-primary{width:100%}h1{font-size:1.5rem}h2{font-size:1.25rem}}@media (min-width: 641px) and (max-width: 1024px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media print{nav,footer,.no-print{display:none}body{background:#fff}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){*{border-width:2px}}.transition-all{transition:all .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000001a}.focus-ring:focus{outline:2px solid var(--primary-blue);outline-offset:2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
