:root{--schedule-time-column-width: 80px;--schedule-track-header-height: 60px;--schedule-speaker-picture-size: 36px;--schedule-speaker-picture-border: 2px;--schedule-speaker-picture-overlap: -10px;--schedule-card-padding: 6px;--schedule-card-gap: 4px;--gaia-green: #369b84;--gaia-salmon: #de7365;--gaia-purple: #54428E;--gaia-white: #ffffff;--gaia-light-gray: #f5f5f5;--gaia-border-gray: #e0e0e0;--gaia-text-gray: #666;--gaia-dark-text: #333}.schedule-loading,.schedule-error,.schedule-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:32px;text-align:center;color:var(--gaia-text-gray)}.schedule-loading{gap:24px}.loading-spinner{position:relative;width:60px;height:60px}.spinner{position:absolute;width:100%;height:100%;border:4px solid var(--gaia-light-gray);border-top-color:var(--gaia-green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.schedule-error h2,.schedule-empty h2{color:var(--gaia-dark-text);margin-bottom:8px;font-size:24px}.schedule-error p,.schedule-empty p{margin:4px 0;font-size:16px}.conference-schedule{max-width:980px;margin:0 auto;padding:0;font-family:var(--body-font)}.track-headers{display:flex;gap:0;margin-bottom:16px;position:sticky;top:0;z-index:10;background:var(--background);padding:8px 0}.time-header-spacer{width:var(--schedule-time-column-width);flex-shrink:0}.track-headers-row{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.track-header{text-align:center;font-weight:600;font-size:16px;padding:12px;border-radius:8px;background:var(--track-color, var(--muted));color:var(--gaia-white);font-family:var(--heading-font);text-transform:uppercase;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center}.track-name{font-size:14px;font-weight:700;line-height:1.2}.track-room{font-size:12px;font-weight:500;opacity:.9;text-transform:none;line-height:1.2}.schedule-grid{display:grid;grid-template-columns:auto 1fr;gap:0;position:relative}.time-labels-column{width:var(--schedule-time-column-width);flex-shrink:0;position:relative}.time-label{position:absolute;right:12px;transform:translateY(-50%);font-size:14px;font-weight:500;color:var(--muted-foreground);font-family:var(--heading-font)}.tracks-container{flex:1;position:relative;min-height:400px}.tracks-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;height:100%;position:relative}.track-column{position:relative;border-radius:8px;z-index:2}.track-talks{position:absolute;inset:0;pointer-events:none;z-index:3}.grid-line{position:absolute;left:0;right:0;height:1px;background:var(--border)}.now-indicator{position:absolute;left:0;right:0;z-index:15;pointer-events:none}.now-line{position:absolute;left:0;right:0;height:2px;background:#e03131;box-shadow:0 0 8px #e0313180}.now-label{position:absolute;left:-80px;top:-12px;background:#e03131;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;font-family:var(--heading-font)}.talks-layer{position:absolute;inset:0;pointer-events:none;z-index:10}.talk-card{display:flex;flex-direction:column;background:var(--track-color, var(--card));border-radius:8px;padding:var(--schedule-card-padding);margin:0;cursor:pointer;text-decoration:none;color:inherit;transition:all .2s ease;pointer-events:auto;box-sizing:border-box;border-bottom:1px solid var(--gaia-white)}.talk-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px);filter:brightness(1.1);z-index:20;will-change:transform,filter,box-shadow}.talk-card.talk-plenary{margin:0;padding:var(--schedule-card-padding);position:relative}.talk-plenary .talk-content{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--schedule-card-gap);overflow:visible}.talk-plenary .talk-text{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;gap:var(--schedule-card-gap)}.talk-plenary .talk-title{flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.talk-plenary .speaker-info{flex:1;min-width:0;display:flex;flex-direction:row;align-items:baseline;gap:12px;font-size:12px}.talk-plenary .speaker-names,.talk-plenary .speaker-orgs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.talk-plenary .speaker-pictures{position:relative;z-index:5;overflow:visible;flex-shrink:0}.talk-plenary .speaker-picture{width:var(--schedule-speaker-picture-size);height:var(--schedule-speaker-picture-size);position:relative}.talk-content{display:flex;flex-direction:row;gap:var(--schedule-card-gap);flex:1;min-height:0;align-items:center;overflow:visible;color:var(--gaia-white)}.talk-content::-webkit-scrollbar{display:none}.talk-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;justify-content:center}.talk-title{font-size:14px;font-weight:600;line-height:1.1;margin:0;padding:0;color:var(--gaia-white);font-family:var(--heading-font);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.speaker-pictures{display:flex;flex-direction:row;position:relative;flex-shrink:0;align-self:center;overflow:visible}.speaker-picture{width:var(--schedule-speaker-picture-size);height:var(--schedule-speaker-picture-size);border-radius:50%;overflow:hidden;background:var(--muted);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}.speaker-picture:not(:first-child){margin-left:var(--schedule-speaker-picture-overlap)}.speaker-picture img{width:100%;height:100%;object-fit:cover}.speaker-picture-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--gaia-white);background:var(--muted);font-family:var(--heading-font)}.speaker-info{display:flex;flex-direction:column;gap:1px;font-size:12px}.speaker-names{font-weight:500;font-size:12px;line-height:1.1}.speaker-orgs{font-size:9px;line-height:1.1}.mobile-only{display:none}.desktop-only{display:flex}@media (max-width: 767px){.mobile-only{display:flex}.desktop-only{display:none}:root{--schedule-time-column-width: 40px}.mobile-track-header{position:relative;margin-bottom:16px;position:sticky;top:0;z-index:10;background:var(--background);padding:8px 0;display:grid;grid-template-columns:40px 1fr;gap:0}.mobile-track-header-spacer{width:40px;flex-shrink:0}.track-nav-button{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;backdrop-filter:blur(4px);border:2px solid rgba(255,255,255,.8);color:#fff;font-size:20px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;user-select:none;-webkit-tap-highlight-color:transparent;z-index:2}.track-nav-button:hover:not(:disabled){background:#000000b3;border-color:#fff;transform:translateY(-50%) scale(1.1)}.track-nav-button:active:not(:disabled){transform:translateY(-50%) scale(.95)}.track-nav-button:disabled{opacity:.3;cursor:not-allowed}.track-nav-left{left:12px}.track-nav-right{right:12px}.mobile-track-info{width:100%;text-align:center;font-weight:600;font-size:16px;padding:16px 60px;border-radius:12px;background:var(--track-color, var(--muted));color:var(--gaia-white);font-family:var(--heading-font);text-transform:uppercase;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:90px;position:relative}.mobile-track-info .track-name{font-size:16px;font-weight:700;line-height:1.2}.mobile-track-info .track-room{font-size:13px;font-weight:500;opacity:.9;text-transform:none;line-height:1.2}.track-dots{display:flex;gap:8px;margin-top:6px}.track-dot{width:10px;height:10px;border-radius:50%;background:#fff6;transition:all .3s ease}.track-dot.active{background:#fff;transform:scale(1.5)}.tracks-grid{display:block;position:relative}.track-column{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;transform:translate(0);z-index:1}.track-column.mobile-visible{opacity:1;pointer-events:auto;z-index:5}.track-column.mobile-hidden{opacity:0;pointer-events:none}.tracks-grid.transitioning .track-column{transition:opacity .3s ease,transform .3s ease}.time-label{font-size:12px;right:8px}.talk-title{font-size:13px}.speaker-names{font-size:11px}.speaker-orgs{font-size:9px}.now-label{left:-60px;font-size:.7rem}.talks-layer{z-index:10;pointer-events:none}.talks-layer .talk-card{pointer-events:auto}.conference-schedule{padding:0 8px}.tracks-container{user-select:none;-webkit-user-select:none;touch-action:pan-y}}@media (max-width: 479px){.mobile-track-info{padding:12px 56px;min-height:80px}.mobile-track-info .track-name{font-size:14px}.mobile-track-info .track-room{font-size:11px}.track-nav-button{width:44px;height:44px;font-size:18px}.track-nav-left{left:8px}.track-nav-right{right:8px}.track-dot{width:8px;height:8px}.talk-title{font-size:12px}.speaker-names{font-size:10px}}
