:root{--purple:#5D1C6A;--purple-mid:#7B2D8B;--magenta:#CA5995;--peach:#FFB090;--lilac:#FFE6FF;--cream:#F3E8FF;--white:#FFFFFF;--radius-card:20px;--radius-xl:16px;}.bento-card{background:var(--white);border-radius:var(--radius-card);box-shadow:0 2px 20px 0 rgba(93,28,106,0.06);transition:transform 0.3s ease,box-shadow 0.3s ease;border:0.5px solid rgba(202,89,149,0.15);}.bento-card:hover{transform:translateY(-3px) scale(1.005);box-shadow:0 8px 40px 0 rgba(93,28,106,0.14);}.accent-bar{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--purple),var(--magenta),var(--peach));}.accent-bar-single{height:3px;border-radius:3px;background:var(--magenta);}.gradient-text{background:linear-gradient(135deg,var(--purple),var(--magenta));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.4;}.gradient-text-peach{background:linear-gradient(135deg,var(--magenta),var(--peach));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}.badge-pill{display:inline-flex;align-items:center;gap:0.375rem;padding:0.25rem 0.75rem;border-radius:9999px;font-size:0.75rem;font-weight:700;line-height:1.25rem;}.badge-purple{background:rgba(93,28,106,0.1);color:var(--purple);}.badge-magenta{background:rgba(202,89,149,0.12);color:var(--magenta);}.badge-peach{background:rgba(255,176,144,0.2);color:var(--peach);}.badge-green{background:#D1FAE5;color:#065F46;}.badge-red{background:#FEE2E2;color:#DC2626;}.btn-gradient{background:linear-gradient(135deg,var(--purple),var(--magenta));color:white;font-weight:700;border-radius:1rem;padding:0.75rem 1.5rem;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(93,28,106,0.2);}.btn-gradient:hover{transform:scale(1.05);box-shadow:0 0 25px rgba(202,89,149,0.3);}.btn-gradient-sm{background:linear-gradient(135deg,var(--purple),var(--magenta));color:white;font-weight:700;border-radius:1rem;padding:0.5rem 1.25rem;font-size:0.875rem;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(93,28,106,0.2);}.btn-gradient-sm:hover{transform:scale(1.05);box-shadow:0 0 25px rgba(202,89,149,0.3);}.border-gradient{border:2px solid transparent;background-clip:padding-box;position:relative;}.border-gradient::before{content:'';position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,var(--magenta),var(--purple),var(--peach));z-index:-1;}.hero-bg{background:linear-gradient(135deg,#FFFFFF,var(--lilac));}.photo-circle-border{border-radius:9999px;padding:3px;background:linear-gradient(135deg,var(--magenta),var(--purple),var(--peach));}.filter-bar{position:sticky;top:64px;z-index:40;background:rgba(255,230,255,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.section-lilac{background:var(--lilac);}.section-gradient-hero{background:linear-gradient(135deg,#FFFFFF,var(--lilac));}.timeline-line{position:absolute;left:23px;top:0;bottom:0;width:2px;border-radius:9999px;background:linear-gradient(180deg,rgba(202,89,149,0.4),rgba(202,89,149,0.05));}.year-badge{background:linear-gradient(135deg,var(--purple),var(--magenta));color:white;font-weight:900;font-size:1.25rem;padding:0.5rem 1.5rem;border-radius:1rem;box-shadow:0 4px 20px rgba(93,28,106,0.2);}.glow-magenta{box-shadow:0 0 20px rgba(202,89,149,0.2);}.masonry-grid{columns:2;column-gap:1rem;}@media (min-width:640px){.masonry-grid{columns:3;}}@media (min-width:1024px){.masonry-grid{columns:4;}}.masonry-item{break-inside:avoid;margin-bottom:1rem;}.live-dot{width:10px;height:10px;border-radius:9999px;background:#DC2626;animation:livePing 1.5s cubic-bezier(0,0,0.2,1) infinite;}@keyframes livePing{75%,100%{transform:scale(2.5);opacity:0;}}#mobile-menu{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1),opacity 0.3s ease;opacity:0;}#mobile-menu.active{max-height:400px;opacity:1;}.reveal{position:relative;opacity:0;transition:all 0.8s cubic-bezier(0.25,0.46,0.45,0.94);}.reveal-up{transform:translateY(30px);}.reveal-right{transform:translateX(-30px);}.reveal-left{transform:translateX(30px);}.reveal.active{transform:translate(0,0);opacity:1;}.delay-100{transition-delay:100ms;}.delay-200{transition-delay:200ms;}.delay-300{transition-delay:300ms;}.delay-400{transition-delay:400ms;}.delay-500{transition-delay:500ms;}.page-fade-in{animation:fadeInPage 0.6s ease-out forwards;}@keyframes fadeInPage{from{opacity:0;}to{opacity:1;}}.animate-pulse-slow{animation:pulseSlow 3s cubic-bezier(0.4,0,0.6,1) infinite;}@keyframes pulseSlow{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.85;transform:scale(0.98);}}.type-cursor::after{content:'|';animation:blink 0.7s step-end infinite;font-weight:300;opacity:0.7;}@keyframes blink{50%{opacity:0;}}::-webkit-scrollbar{width:6px;}::-webkit-scrollbar-track{background:var(--lilac);}::-webkit-scrollbar-thumb{background:var(--magenta);border-radius:3px;}#lightbox.t-modal-overlay{opacity:0;pointer-events:none;transition:opacity 0.25s cubic-bezier(0.22,1,0.36,1);}#lightbox.t-modal-overlay.is-open{opacity:1;pointer-events:auto;}.chevron{transition:transform 0.3s ease;}.chevron.rotated{transform:rotate(180deg);}#toast{transition:all 0.3s ease;}.live-status-card{transition:all 0.3s ease;}.live-status-card:hover{border-color:var(--magenta);}@media (max-width:639px){.desktop-only{display:none !important;}}@media (min-width:640px){.mobile-only{display:none !important;}}.setlist-btn.active-sl{background:#5D1C6A !important;color:white !important;border-color:transparent !important;}.setlist-btn.active-sl .sl-title,.setlist-btn.active-sl .sl-year{color:white !important;}.font-heading{font-family:'Outfit',sans-serif;}.cropper-container{z-index:0 !important;}.cropper-view-box,.cropper-face{border-radius:0;}.cropper-modal{background-color:rgba(255,255,255,0.8);}.navbar-scrolled{padding:0.75rem 1rem 0 !important;background:transparent !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;border-bottom:none !important;}.navbar-scrolled > div:first-child{border-radius:20px !important;background:rgba(255,230,255,0.95) !important;box-shadow:0 8px 32px rgba(93,28,106,0.10),0 2px 8px rgba(93,28,106,0.06) !important;max-width:none !important;padding:0 !important;overflow:hidden;}.navbar-scrolled .h-16{height:auto !important;padding:0.5rem 1.75rem !important;gap:1.5rem;}
