#timetable-container{min-height:100vh;padding:var(--space-6)var(--space-8);background:linear-gradient white}#timetable-container .top-controls{max-width:1400px;margin:0 auto var(--space-6);text-align:center}#timetable-container .title{margin-bottom:var(--space-5);font-size:var(--space-10);color:var(--text-color1);letter-spacing:var(--space-1);font-weight:900}#timetable-container .control-panel{gap:var(--space-7);margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}#timetable-container .date-selector{gap:var(--space-3);display:flex}#timetable-container .date-btn{padding:var(--space-2)var(--space-6);font-size:var(--space-3);cursor:pointer;border-top:2px solid var(--text-color1);border-right:4px solid var(--text-color1);border-bottom:4px solid var(--text-color1);border-left:2px solid var(--text-color1);border-radius:var(--space-7);background:#fff;font-weight:900;transition:all .2s}#timetable-container .date-btn:hover{box-shadow:0 var(--space-1)var(--space-3)var(--base-color)}#timetable-container .date-btn.active{color:#fff;background:var(--main-color)}#timetable-container .date-display{font-size:var(--space-3);color:var(--text-color2);font-weight:600}#timetable-container .venue-selector{gap:var(--space-3);max-width:1400px;margin:var(--space-5)auto;flex-wrap:wrap;justify-content:center;display:flex}#timetable-container .venue-btn{padding:var(--space-2)var(--space-4);font-size:var(--space-3);color:var(--text-color1);cursor:pointer;background:var(--bg-white);border:2px solid var(--text-color2);border-radius:20px;font-weight:700;transition:all .2s}#timetable-container .venue-btn:hover{border-color:var(--text-color1)}#timetable-container .venue-btn.active{color:var(--base-color);background:var(--text-color1);border-color:var(--text-color1)}#timetable-container .timetable-center-wrapper{justify-content:center;align-items:flex-start;margin:0 auto;display:flex;overflow-x:hidden}#timetable-container .timetable-wrapper{max-width:100%;position:relative;overflow-x:auto}#timetable-container .timetable-layout{max-width:100%;margin:var(--space-6)auto;align-items:stretch;display:flex}#timetable-container .time-column{z-index:2;width:50px;margin-right:var(--space-3);border-top:2px solid var(--text-color1);border-bottom:2px solid var(--text-color1);background:#fff;flex-shrink:0;grid-template-rows:48px repeat(42,50px);display:grid;position:relative}#timetable-container .time-column:before{content:"";background:#000;width:200px;height:2px;display:block;position:absolute;top:-2px}#timetable-container .time-column:after{content:"";background:#000;width:200px;height:2px;display:block;position:absolute;bottom:-2px}#timetable-container .time-corner{background:var(--base-color);grid-row:1}#timetable-container .timetable-grid{border-top:2px solid var(--text-color1);border-right:none;border-bottom:2px solid var(--text-color1);background:#fff;border-left:none;border-radius:0;grid-template-columns:repeat(8,200px);gap:0;min-width:min-content;display:grid;overflow:hidden}#timetable-container .time-label{padding:var(--space-1)var(--space-2);color:var(--text-color1);text-align:center;border-right:1px solid var(--text-color2);background:#fff;justify-content:center;align-items:flex-start;font-size:13px;font-weight:700;display:flex}#timetable-container .venue-label{z-index:1;padding:var(--space-3)var(--space-2);color:var(--text-color1);text-align:center;background:#fff;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}#timetable-container .event-card{z-index:0;min-width:200px;padding:var(--space-4);margin:var(--space-3)var(--space-2);cursor:pointer;border-top:2px solid var(--text-color1);border-right:6px solid var(--text-color1);border-bottom:6px solid var(--text-color1);border-left:2px solid var(--text-color1);background:#fff;border-radius:12px;flex-direction:column;transition:all .2s;display:flex;position:relative;overflow-y:scroll}#timetable-container .event-card a{width:100%;height:100%;min-height:fit-content;display:block}#timetable-container .selected-venue-label{border-bottom:3px solid var(--main-color)}#timetable-container .event-card.column-selected{color:#fff;background:color-mix(in srgb,var(--main-color)10%,white 90%)}#timetable-container .event-card.column-selected:hover{color:#fff;background:color-mix(in srgb,var(--main-color)20%,white 80%)}#timetable-container .event-card.now-playing{border-top-color:var(--main-color);border-right-color:var(--main-color);border-bottom-color:var(--main-color);border-left-color:var(--main-color)}#timetable-container .event-card .now-badge{color:#fff;letter-spacing:.5px;background:var(--main-color);border-radius:8px;padding:3px 6px;font-size:10px;font-weight:800;position:absolute;top:6px;right:8px}#timetable-container .event-card:hover{background:var(--base-color);min-height:100px;transform:translateY(-4px);box-shadow:0 8px 20px #00000026}#timetable-container .event-time{color:var(--text-color2);font-size:11px;font-weight:700}#timetable-container .event-name{margin-bottom:var(--space-1);color:var(--text-color1);font-size:18px;font-weight:900;line-height:1.4}#timetable-container .event-description{color:var(--text-color2);font-size:11px;line-height:1.3}.scroll-hint-icon{z-index:10;font-size:var(--font-size-xs);opacity:0;background-color:#fff;border:1px solid #000;border-radius:5px;flex-direction:column;align-items:center;padding:10px;transition:opacity .3s;display:flex;position:absolute;top:100px;left:50%;transform:translate(-50%)}.scroll-hint-icon-wrap.is-active .scroll-hint-icon{opacity:.8}.scroll-hint-icon:before{vertical-align:middle;color:#fff;text-align:center;content:"";background-image:url(/img/scroll-hint-hand.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;width:40px;height:40px;animation:1.2s linear 2 scroll-hint-appear;display:inline-block}.scroll-hint-icon:after{content:"";background-image:url(/img/scroll-hint-arrow.svg);background-repeat:no-repeat;width:34px;height:14px;margin-left:-20px;display:block;position:absolute;top:10px;left:50%}@keyframes scroll-hint-appear{0%{opacity:0;transform:translate(40px)}10%{opacity:1}50%,to{opacity:0;transform:translate(-40px)}}
