@keyframes skeletonShimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 37%,var(--skeleton-base) 63%);background-size:400px 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;width:100%;height:100%;border-radius:inherit}.event-card-skeleton{display:flex;flex-direction:row;position:relative;overflow:hidden;width:100%;min-width:0;aspect-ratio:3.7/1.5;min-height:180px;max-height:200px;background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--card-shadow)}.event-card-skeleton-image{flex:0 0 auto;aspect-ratio:1/1;width:auto;height:100%;min-width:0;max-width:40%;overflow:hidden;position:relative;background-color:var(--skeleton-base)}.event-card-skeleton-content{flex:1 1;display:flex;flex-direction:column;min-width:0;padding:14px 16px}.skeleton-line{border-radius:4px;background-color:var(--skeleton-base);overflow:hidden;position:relative}.skeleton-title{height:18px;width:85%;margin:3px 0 8px}.skeleton-date{height:13px;width:60%;margin:3px 0 7px}.skeleton-location{height:13px;width:70%;margin:3px 0 7px}.skeleton-tags{display:flex;gap:4px;margin-top:8px;max-height:24px;overflow:hidden}.skeleton-tag{height:22px;width:60px;border-radius:var(--radius-lg);background-color:var(--skeleton-base);overflow:hidden;position:relative}.skeleton-tag:nth-child(2){width:45px}.skeleton-tag:nth-child(3){width:55px}@media (max-width:600px){.event-card-skeleton{min-height:120px}.skeleton-tags{margin-top:4px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;min-height:300px}.loading-spinner{width:40px;height:40px;border-top:3px solid var(--border-light,#e5e7eb);border:3px solid var(--border-light,#e5e7eb);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-container p{color:var(--text-secondary,#6b7280);font-size:1rem;margin:0}.event-card-skeleton{animation:skeletonFadeIn .3s ease-in-out}@keyframes skeletonFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.events-grid .event-card-skeleton:first-child{animation-delay:0s}.events-grid .event-card-skeleton:nth-child(2){animation-delay:.1s}.events-grid .event-card-skeleton:nth-child(3){animation-delay:.2s}.events-grid .event-card-skeleton:nth-child(4){animation-delay:.3s}.events-grid .event-card-skeleton:nth-child(5){animation-delay:.4s}.events-grid .event-card-skeleton:nth-child(6){animation-delay:.5s}.events-grid .event-card-skeleton:nth-child(7){animation-delay:.6s}.events-grid .event-card-skeleton:nth-child(8){animation-delay:.7s}.events-grid .event-card-skeleton:nth-child(9){animation-delay:.8s}.database-loading-skeletons{margin-top:1rem;opacity:.7}.database-loading-skeletons .events-grid{margin-bottom:0}.database-loading-skeletons .event-card-skeleton{animation:skeletonPulse 1.5s ease-in-out infinite}@keyframes skeletonPulse{0%,to{opacity:.7}50%{opacity:.4}}.toast-container{position:fixed;top:calc(var(--header-h, 56px) + 12px + env(safe-area-inset-top));inset-inline-end:max(16px,env(safe-area-inset-right));z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:380px}.toast{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:10px;font-size:.9rem;font-weight:500;background-color:var(--surface-1);animation:toastSlideIn .3s ease-out;box-shadow:var(--shadow-lg)}.toast span{min-width:0;overflow-wrap:anywhere}.toast-info{background-image:linear-gradient(rgba(59,130,246,.15),rgba(59,130,246,.15));border:1px solid rgba(59,130,246,.3);color:var(--color-blue-300)}.toast-success{background-image:linear-gradient(rgba(34,197,94,.15),rgba(34,197,94,.15));border:1px solid rgba(34,197,94,.3);color:var(--color-green-300)}.toast-error{background-image:linear-gradient(rgba(239,68,68,.15),rgba(239,68,68,.15));border:1px solid rgba(239,68,68,.3);color:var(--color-red-300)}.toast-warning{background-image:linear-gradient(rgba(245,158,11,.15),rgba(245,158,11,.15));border:1px solid rgba(245,158,11,.3);color:var(--color-amber-300)}.toast-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-block:-10px;margin-inline:0 -12px;background:none;border:none;border-radius:8px;color:inherit;opacity:.6;cursor:pointer;font-size:1.2rem;padding:0;line-height:1;transition:opacity .2s}.toast-close:focus-visible,.toast-close:hover{opacity:1}[data-theme=light] .toast-info{color:var(--color-blue-700)}[data-theme=light] .toast-success{color:var(--color-green-700)}[data-theme=light] .toast-error{color:var(--color-red-700)}[data-theme=light] .toast-warning{color:var(--color-amber-700)}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}:root[dir=rtl] .toast{animation-name:toastSlideInRtl}@keyframes toastSlideInRtl{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.toast-container{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));max-width:none}.toast,:root[dir=rtl] .toast{animation-name:toastSlideUp}}@media (prefers-reduced-motion:reduce){.toast,:root[dir=rtl] .toast{animation:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.event-detail-page,.group-page,.home-page-redesigned,.profile-display{animation:fadeIn .3s ease-out}.events-grid>*{animation:fadeInUp .35s ease-out both}.events-grid>:first-child{animation-delay:0s}.events-grid>:nth-child(2){animation-delay:40ms}.events-grid>:nth-child(3){animation-delay:80ms}.events-grid>:nth-child(4){animation-delay:.12s}.events-grid>:nth-child(5){animation-delay:.16s}.events-grid>:nth-child(6){animation-delay:.2s}.events-grid>:nth-child(7){animation-delay:.24s}.events-grid>:nth-child(8){animation-delay:.28s}.events-grid>:nth-child(9){animation-delay:.32s}.skeleton-fade-out{animation:fadeIn .25s ease-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}