:root{--color-bg: #ffffff;--color-bg-alt: #f9fafb;--color-text: #111827;--color-text-muted: #6b7280;--color-text-medium: #374151;--color-border: #d1d5db;--color-border-subtle: rgba(0, 0, 0, .1);--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-card-bg: #ffffff;--color-tag-bg: #dbeafe;--color-tag-text: #1e40af;--color-nav-bg: rgba(255, 255, 255, .95);--color-nav-mobile-bg: rgba(255, 255, 255, .98);--color-hamburger: #374151;--color-hero-from: #eff6ff;--color-hero-mid: #ffffff;--color-hero-to: #eef2ff;--color-footer-bg: #1f2937;--color-footer-text: #d1d5db;--color-footer-link: #9ca3af;--color-card-border: transparent}[data-theme=dark]{--color-bg: #0f172a;--color-bg-alt: #1e293b;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-text-medium: #cbd5e1;--color-border: #334155;--color-border-subtle: rgba(255, 255, 255, .1);--color-primary: #60a5fa;--color-primary-dark: #3b82f6;--color-card-bg: #1e293b;--color-tag-bg: #1e3a5f;--color-tag-text: #93c5fd;--color-nav-bg: rgba(15, 23, 42, .95);--color-nav-mobile-bg: rgba(15, 23, 42, .98);--color-hamburger: #cbd5e1;--color-hero-from: #0f172a;--color-hero-mid: #0f1629;--color-hero-to: #130f23;--color-footer-bg: #020617;--color-footer-text: #94a3b8;--color-footer-link: #64748b;--color-card-border: #334155}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;background-color:var(--color-bg);color:var(--color-text);transition:background-color .2s,color .2s}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}html{scroll-behavior:smooth}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.btn-primary{display:inline-flex;align-items:center;padding:.75rem 1.5rem;background-color:var(--color-primary);color:#fff;font-weight:500;border-radius:.5rem;text-decoration:none;transition:background-color .2s;box-shadow:0 4px 6px -1px #0000001a}.btn-primary:hover{background-color:var(--color-primary-dark);box-shadow:0 10px 15px -3px #0000001a}.btn-secondary{display:inline-flex;align-items:center;padding:.75rem 1.5rem;border:2px solid var(--color-border);color:var(--color-text-medium);font-weight:500;border-radius:.5rem;text-decoration:none;transition:all .2s;background-color:var(--color-bg)}.btn-secondary:hover{border-color:var(--color-text-muted);background-color:var(--color-bg-alt)}.section{padding:5rem 0}.section-title{font-size:2.25rem;font-weight:700;text-align:center;margin-bottom:1rem;color:var(--color-text)}.section-divider{width:6rem;height:.25rem;background-color:var(--color-primary);margin:0 auto 4rem}.card{background-color:var(--color-card-bg);border-radius:.5rem;border:1px solid var(--color-card-border);box-shadow:0 4px 6px -1px #0000001a;padding:2rem;transition:box-shadow .2s,background-color .2s}.card:hover{box-shadow:0 10px 15px -3px #0000001a}.tag{display:inline-block;padding:.25rem .75rem;background-color:var(--color-tag-bg);color:var(--color-tag-text);font-size:.875rem;font-weight:500;border-radius:9999px;margin:.125rem}.text-gradient{background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge-current{background-color:#dcfce7;color:#166534}.badge-ongoing{background-color:#fef3c7;color:#92400e}.badge-completed{background-color:var(--color-bg-alt);color:var(--color-text-medium);border:1px solid var(--color-border)}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}.animate-bounce{animation:bounce 2s infinite}.grid{display:grid;gap:2rem}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.space-x-4>*+*{margin-left:1rem}.space-y-4>*+*{margin-top:1rem}@media (max-width: 768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}.section-title{font-size:1.875rem}.container{padding:0 1rem}}
