:root{--primary-coral: #FF5A5F;--primary-coral-hover: #E38073;--electric-cyan: #00D2D3;--electric-cyan-hover: #17B8B8;--sunny-yellow: #FFD166;--deep-purple: #2C1342;--deep-purple-light: #3D2C8D;--soft-mint: #8EE4AF;--soft-mint-bg: #E8F8F5;--bg-light: #FBFBFD;--card-surface: #FFFFFF;--card-surface-dark: #161426;--text-primary: #181829;--text-secondary: #6E6D7A;--border-divider: #EFEFF4;--font-display: "Syne", "Plus Jakarta Sans", sans-serif;--font-sans: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-card: 20px;--radius-pill: 999px;--radius-modal: 26px;--shadow-floating: 0 8px 24px rgba(24, 24, 41, .08);--shadow-hover: 0 14px 32px rgba(24, 24, 41, .12);--glow-coral: 0 4px 20px rgba(255, 90, 95, .4);--glow-cyan: 0 4px 20px rgba(0, 210, 211, .35);--transition-fast: .2s cubic-bezier(.16, 1, .3, 1);--transition-smooth: .35s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);background-color:var(--bg-light);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,.brand-title{font-family:var(--font-display);letter-spacing:-.02em;font-weight:800}.btn-primary{background:var(--primary-coral);color:#fff;border:none;border-radius:var(--radius-pill);padding:14px 32px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:var(--glow-coral);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 24px #ff5a5f8c}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{background:#fffffff2;color:var(--text-primary);border:1px solid var(--border-divider);border-radius:var(--radius-pill);padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-secondary:hover{border-color:var(--primary-coral);color:var(--primary-coral);transform:translateY(-1px)}.card{background:var(--card-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-floating);border:1px solid var(--border-divider);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.vibe-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;background:var(--soft-mint-bg);color:#166534;border:1px solid rgba(142,228,175,.3);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.vibe-pill:hover,.vibe-pill.active{background:var(--soft-mint);color:#064e3b;transform:translateY(-1px)}.vibe-pill.cyan{background:#00d2d31a;color:#008b8b;border-color:#00d2d340}.vibe-pill.cyan:hover,.vibe-pill.cyan.active{background:var(--electric-cyan);color:#fff}.vibe-pill.yellow{background:#ffd16633;color:#b45309;border-color:#ffd16666}.vibe-pill.yellow:hover,.vibe-pill.yellow.active{background:var(--sunny-yellow);color:#78350f}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#16142699;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease-out}.modal-card{background:var(--card-surface);border-radius:var(--radius-modal);width:100%;max-width:480px;box-shadow:0 20px 48px #18182933;position:relative;overflow:hidden;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}.modal-details{max-width:820px;max-height:90vh;overflow-y:auto}.form-input{width:100%;padding:14px 18px;border-radius:14px;border:1.5px solid var(--border-divider);font-family:var(--font-sans);font-size:15px;background:#fff;color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{border-color:var(--primary-coral);box-shadow:0 0 0 4px #ff5a5f26}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}@media(max-width:640px){.events-grid{grid-template-columns:1fr}}
