*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.6}main{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 20px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:1rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}.flex{display:flex}.flex-column{flex-direction:column}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.flex-wrap{flex-wrap:wrap}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4,.grid{gap:1.5rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:.375rem;text-decoration:none;font-weight:500;transition:all .3s ease;cursor:pointer;border:none;font-size:1rem}.btn-primary{background-color:#0070f3;color:white}.btn-primary:hover{background-color:#005bb5;transform:translateY(-2px)}.home-link:hover{background-color:#005bb5!important}.btn-secondary{background-color:#6c757d;color:white}.btn-secondary:hover{background-color:#5a6268;transform:translateY(-2px)}.card{background:white;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:box-shadow .3s ease}.card:hover{box-shadow:0 4px 6px rgba(0,0,0,.1)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.container{padding:0 15px}.grid{grid-template-columns:1fr}.btn{padding:.5rem 1rem;font-size:.875rem}.card{padding:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-in-out}