@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--font-main: "Outfit", sans-serif;--color-bg: #0a081a;--color-bg-gradient: radial-gradient(circle at top right, #1a1a3a, #0a081a);--color-text-main: #ffffff;--color-text-muted: rgba(255, 255, 255, .6);--color-text-accent: #c084fc;--color-accent-glow: rgba(192, 132, 252, .5);--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--card-glow: 0 0 30px rgba(138, 43, 226, .15);--transition-smooth: all .4s cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-accent)}html{overscroll-behavior:none;background:var(--color-bg);min-height:100%}body{font-family:var(--font-main);background:var(--color-bg);background:var(--color-bg-gradient);color:var(--color-text-main);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{width:100%;min-height:100vh}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%{box-shadow:0 0 5px var(--color-accent-glow)}50%{box-shadow:0 0 20px var(--color-accent-glow)}to{box-shadow:0 0 5px var(--color-accent-glow)}}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.text-gradient{background:linear-gradient(135deg,#fff 0%,var(--color-text-accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.container{max-width:1000px;margin:0 auto;padding:4rem 1.5rem}header{margin-bottom:4rem;text-align:center;animation:fadeIn .8s ease-out}h1{font-size:clamp(2.5rem,8vw,4.5rem);letter-spacing:-.02em;margin-bottom:.5rem}.subtitle{font-size:1.1rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:2rem}.event-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2.5rem;animation:fadeIn 1s ease-out .2s both}.event-card{border-radius:24px;overflow:hidden;transition:var(--transition-smooth);height:100%;display:flex;flex-direction:column}.event-card:hover{transform:translateY(-8px);border-color:#fff3;box-shadow:var(--card-glow),0 20px 40px #0006}.event-image-container{aspect-ratio:16/10;width:100%;position:relative;overflow:hidden}.event-image-container img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.23,1,.32,1)}.event-card:hover .event-image-container img{transform:scale(1.08)}.event-date-badge{position:absolute;top:1.5rem;left:1.5rem;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.6rem 1rem;border-radius:16px;display:flex;flex-direction:column;align-items:center;border:1px solid rgba(255,255,255,.1)}.event-date-badge .month{font-size:.7rem;font-weight:600;color:var(--color-text-accent);letter-spacing:.05em}.event-date-badge .day{font-size:1.25rem;font-weight:700}.event-content{padding:1.75rem;flex:1;display:flex;flex-direction:column}.event-title{font-size:1.4rem;margin-bottom:.75rem;line-height:1.3}.event-meta{display:flex;align-items:center;margin-bottom:1rem}.event-time{font-size:.9rem;color:var(--color-text-accent);display:flex;align-items:center;font-weight:500}.event-description{font-size:.95rem;color:var(--color-text-muted);line-height:1.6}.btn-primary{background:var(--glass-bg);border:1px solid var(--glass-border);color:#fff;padding:.8rem 1.5rem;border-radius:100px;font-family:inherit;font-weight:500;cursor:pointer;transition:var(--transition-smooth);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-primary:hover{background:#ffffff14;border-color:var(--color-text-accent);box-shadow:0 0 20px #c084fc33;transform:scale(1.05)}.loading-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(max-width:600px){.container{padding:2rem 1rem}header{margin-bottom:2.5rem}.event-list{gap:1.5rem}}
