.timeline-mini-header{background:var(--dark);border-bottom:1px solid var(--grey-500);z-index:50;justify-content:space-between;align-items:center;height:60px;padding:0 1rem;display:flex;position:fixed;top:0;left:0;right:0}.back-button{color:var(--light);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.back-button:hover{color:var(--grey-200)}.back-button svg{color:var(--light)}.timeline-mini-title{color:var(--light);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:1.125rem;font-weight:700}.mini-header-logo{width:auto;height:1.5rem}.timeline-page{background:var(--dark);overscroll-behavior:none;height:100vh;padding-top:60px;overflow:hidden}.timeline-page-header{text-align:center;background:linear-gradient(135deg,var(--grey-900)0%,var(--dark)100%);border-bottom:1px solid var(--grey-500);padding:2rem 1rem}.timeline-title{color:var(--light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:2.5rem;font-weight:900}.timeline-subtitle{color:var(--grey-200);font-size:1.125rem;font-weight:500}@media (max-width:768px){.timeline-mini-header{padding:0 .75rem}.back-button{font-size:.75rem}.timeline-mini-title{font-size:1rem}.mini-header-logo{height:1.25rem}.timeline-page-header{padding:1.5rem 1rem}.timeline-title{font-size:2rem}.timeline-subtitle{font-size:1rem}}.timeline-container{overscroll-behavior:none;width:100%;height:100vh;position:relative;overflow:hidden}.timeline-time-header{background:var(--grey-900);border-right:1px solid var(--grey-500);flex-shrink:0;justify-content:center;align-items:center;min-width:80px;padding:1rem;display:flex}.timeline-header-logo{filter:brightness(0)invert();opacity:.9;width:auto;height:1.5rem}@media (max-width:768px){.timeline-header-logo{height:1.25rem}}.stage-name{text-transform:uppercase;white-space:nowrap}.timeline-content{overscroll-behavior:none;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:var(--grey-300)var(--grey-900);position:absolute;inset:0;overflow:auto}.timeline-content::-webkit-scrollbar{width:8px;height:8px}.timeline-content::-webkit-scrollbar-thumb{background:var(--grey-300);border-radius:4px}.timeline-content::-webkit-scrollbar-thumb:hover{background:var(--grey-200)}.timeline-scroll-area{flex-direction:column;flex:1;width:100%;min-width:100%;min-height:100%;display:flex}.timeline-grid{grid-template-columns:80px repeat(4,minmax(250px,1fr));grid-auto-rows:60px;gap:0;width:100%;min-width:1080px;display:grid;position:relative}.timeline-stage-header{background:var(--grey-900);border-right:1px solid var(--grey-500);border-bottom:1px solid var(--grey-500);z-index:20;justify-content:center;align-items:center;padding:1rem;display:flex;position:sticky;top:0;box-shadow:0 6px 15px #0006}.timeline-time-cell{background:var(--grey-900);border-right:1px solid var(--grey-500);border-bottom:1px solid var(--grey-500);z-index:15;flex-shrink:0;justify-content:center;align-items:center;width:80px;min-height:60px;padding:1rem .5rem;display:flex;position:sticky;left:0}.timeline-time-header-cell{z-index:30;border-top:1px solid var(--grey-500);top:0;box-shadow:3px 3px 15px #0009}.timeline-cell{border-right:1px solid var(--grey-700);border-bottom:1px solid var(--grey-700);flex:1;align-items:stretch;min-width:0;padding:.25rem;display:flex;position:relative}.timeline-cell-unified-start{z-index:10;border-top:1px solid var(--grey-700);border-bottom:1px solid var(--grey-700);position:relative}.timeline-cell-hidden{display:none}.timeline-cell-single{border-top:1px solid var(--grey-700);border-bottom:1px solid var(--grey-700)}.timeline-cell-first{border-top:1px solid var(--grey-700)}.timeline-cell-middle{border-top:none;border-bottom:none}.timeline-cell-last{border-bottom:1px solid var(--grey-700)}.empty-slot{border-radius:4px;width:100%;height:100%}.timeline-slot{cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;width:100%;height:100%;padding:.75rem;transition:all .2s;display:flex;position:relative}.timeline-slot:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000004d}.slot-content{flex-direction:row;align-items:center;gap:.5rem;width:100%;display:flex}.artist-avatar{object-fit:cover;border:2px solid #ffffff4d;border-radius:.75rem;flex-shrink:0;width:36px;height:36px}.artist-avatars{flex-direction:column;flex-shrink:0;display:flex;position:relative}.artist-avatars .artist-avatar{width:32px;height:32px;margin-top:-8px}.artist-avatars .artist-avatar:first-child{margin-top:0}.artist-avatars .artist-avatar:nth-child(n+5){display:none}.artist-avatar-modal{object-fit:cover;border:2px solid #ffffff4d;border-radius:.75rem;flex-shrink:0;width:48px;height:48px}.artist-avatars-modal{flex-direction:column;flex-shrink:0;display:flex;position:relative}.artist-avatars-modal .artist-avatar-modal{width:44px;height:44px;margin-top:-12px}.artist-avatars-modal .artist-avatar-modal:first-child{margin-top:0}.artist-avatars-modal .artist-avatar-modal:nth-child(n+5){display:none}.artist-avatar-modal-small{object-fit:cover;border:2px solid #ffffff4d;border-radius:.5rem;flex-shrink:0;width:48px;height:48px}.artist-avatars-modal-small{flex-direction:column;flex-shrink:0;gap:4px;display:flex;position:relative}.artist-avatars-modal-small .artist-avatar-modal-small{width:44px;height:44px}.artist-avatars-modal-small .artist-avatar-modal-small:first-child{margin-top:0}.artist-avatars-modal-small .artist-avatar-modal-small:nth-child(n+5){display:none}.artist-text{flex:1;min-width:0}.artist-name{color:#000;text-align:left;white-space:pre-line;margin-bottom:.125rem;font-size:.875rem;font-weight:700;line-height:1.2}.sub-event-name{opacity:.5;color:var(--grey-200);font-size:.75rem;font-weight:600;line-height:1.2}.duration{color:var(--grey-300);margin-top:.25rem;font-size:.625rem;font-weight:400}.logo-cell{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.timeline-logo{filter:brightness(0)invert();opacity:.9;width:auto;height:2rem}@media (max-width:768px){.timeline-logo{height:1.5rem}.scroll-indicator{z-index:40;pointer-events:none;animation:3s forwards scroll-indicator-fade;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.scroll-indicator-backdrop{background:#000000b3;border-radius:6px;justify-content:center;align-items:center;width:110px;height:50px;padding:12px;display:flex}.scroll-indicator-icon{filter:brightness(0)saturate()invert();opacity:0;will-change:transform,opacity;-webkit-user-select:none;user-select:none;width:32px;height:32px;animation:1.666s cubic-bezier(.7,0,.3,1) 3 forwards scroll-indicator-swipe}}@keyframes scroll-indicator-swipe{0%{opacity:0;transform:translate(24px)scale(.95)}50%{opacity:1;transform:translate(-16px)scale(1)}to{opacity:0;transform:translate(-32px)scale(.95)}}@keyframes scroll-indicator-fade{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}15%{opacity:1;transform:translate(-50%,-50%)scale(1)}85%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.95)}}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.timeline-legend{z-index:20;background:var(--grey-900);border:1px solid var(--grey-500);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1rem;position:fixed;bottom:2rem;right:2rem;box-shadow:0 8px 32px #0000004d}.legend-content{flex-direction:column;gap:.75rem;display:flex}.legend-title{color:var(--light);margin:0;font-size:.875rem;font-weight:700}.legend-items{flex-direction:column;gap:.5rem;display:flex}.legend-item{align-items:center;gap:.5rem;display:flex}.legend-color{border-radius:50%;flex-shrink:0;width:12px;height:12px}.legend-text{color:var(--grey-200);font-size:.75rem;font-weight:500}@media (max-width:768px){.timeline-stage-header{padding:.75rem}.stage-name{font-size:.75rem}.timeline-cell{padding:.25rem}.timeline-slot{padding:.5rem}.artist-name{font-size:.75rem}.sub-event-name{font-size:.625rem}.duration{font-size:.5rem}.timeline-legend{padding:.75rem;bottom:1rem;right:1rem}.legend-title{font-size:.75rem}.legend-text{font-size:.625rem}}body.timeline-page-body{overscroll-behavior:none;height:100vh;overflow:hidden}
