.schedule-page{max-width:1200px;margin:0 auto;padding:46px 28px 40px;color:var(--color-text-primary)}.schedule-page .eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--color-text-muted);margin-bottom:12px}.schedule-page h1{font-size:clamp(27px,3vw,40px);font-weight:750;letter-spacing:-.04em;margin:0 0 14px}.schedule-page .intro{font-size:16px;line-height:1.8;max-width:700px}.schedule-page .updated{font-size:12px;color:var(--color-text-muted);margin:14px 0}.schedule-filters{display:flex;align-items:end;gap:22px;margin:26px 0}.schedule-filters label{font-size:12px;font-weight:600;display:grid;gap:6px}.schedule-filters select{min-width:190px;padding:10px 12px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:5px;font-size:14px;color:inherit}.schedule-filters .upcoming{display:flex;align-items:center;padding-bottom:10px;gap:8px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--color-border);padding-top:20px}.month-nav{display:flex;align-items:center;gap:12px}.month-nav h2{font-size:23px;font-weight:700;min-width:150px;text-align:center}.month-nav button,.view-switch button{min-height:40px;border:1px solid var(--color-border);border-radius:5px;padding:4px 13px;font-size:14px;background:var(--color-surface);cursor:pointer}.view-switch{display:flex;gap:3px}.view-switch button[aria-pressed=true]{background:var(--color-text-primary);color:var(--color-surface)}.calendar-table{width:100%;table-layout:fixed;border-collapse:collapse}.calendar-table th{font-size:12px;padding:10px;border-bottom:1px solid var(--color-border)}.calendar-table td{height:112px;vertical-align:top;border:1px solid var(--color-border);padding:7px;overflow-wrap:anywhere}.calendar-table td.rest-day{background:var(--color-surface-alt)}.calendar-table td.outside{background:var(--color-surface-hover);opacity:.4}.day-number{font-size:13px;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px}.today .day-number{background:var(--color-text-primary);color:var(--color-surface);border-radius:50%}.holiday{font-size:10px;display:block;color:var(--color-text-muted)}.calendar-event{display:block;width:100%;text-align:left;border:0;border-radius:2px;padding:5px 7px;margin-top:5px;background:var(--color-accent-light);color:var(--color-text-primary);cursor:pointer}.event-platform{display:block;font-weight:650;font-size:10px}.event-title{font-size:11px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.calendar-note{font-size:12px;color:var(--color-text-muted);margin:14px 0}.schedule-row{display:grid;grid-template-columns:200px 1fr;gap:24px;border-top:1px solid var(--color-border);padding:24px 0}.schedule-row .event-date,.schedule-row .event-meta{font-size:12px;color:var(--color-text-muted)}.schedule-row h3{font-size:18px;font-weight:700;margin:5px 0 8px}.schedule-row h3 button{text-align:left;cursor:pointer}.schedule-row p{font-size:14px;line-height:1.8}.schedule-sources{margin-top:32px;border-top:1px solid var(--color-border);padding-top:20px;font-size:13px;line-height:1.9}.schedule-sources summary{cursor:pointer;font-weight:600}.schedule-sources p{margin:12px 0}.schedule-sources a{text-decoration:underline}#schedule-dialog{margin:auto;max-width:600px;width:calc(100% - 32px);max-height:85vh;overflow:auto;padding:30px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary)}#schedule-dialog::backdrop{background:#0a1e2373}#schedule-dialog .dialog-close{display:block;margin-left:auto;margin-bottom:18px;cursor:pointer;min-height:40px;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px}#schedule-dialog h2{font-size:23px;line-height:1.5;font-weight:700;margin:12px 0}#schedule-dialog p{line-height:1.8;margin:12px 0}#schedule-dialog a{text-decoration:underline;display:inline-block;margin-top:16px;overflow-wrap:anywhere}.schedule-page [hidden]{display:none!important}@media(max-width:640px){.schedule-page{padding:28px 16px}.schedule-filters{gap:12px;flex-wrap:wrap}.schedule-filters label{flex:1}.schedule-filters select{min-width:0;width:100%}.schedule-filters .upcoming{flex-basis:100%;padding:0}.calendar-toolbar{align-items:start;flex-direction:column}.month-nav{gap:6px}.month-nav h2{font-size:20px;min-width:134px}.month-nav button{padding:4px 11px}.calendar-table td{padding:3px;height:88px}.calendar-event{padding:4px 2px;border-left:0;min-height:32px}.event-platform{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-title,.holiday{display:none}.day-number{font-size:11px}.schedule-row{grid-template-columns:1fr;gap:8px}.schedule-row h3{font-size:17px}}.calendar-more{display:block;width:100%;padding:5px 2px;min-height:32px;text-align:left;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:3px;color:var(--color-text-secondary);cursor:pointer}#schedule-day-dialog{margin:auto;max-width:600px;width:calc(100% - 32px);max-height:85vh;overflow:auto;padding:26px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary)}#schedule-day-dialog::backdrop{background:#0a1e2373}#schedule-day-dialog .dialog-close{display:block;margin-left:auto;margin-bottom:18px;cursor:pointer;min-height:40px;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px}#schedule-day-title{font-size:21px;font-weight:700;margin-bottom:18px}.day-event{display:block;width:100%;text-align:left;border-top:1px solid var(--color-border);padding:16px 0;cursor:pointer}.day-event:hover .day-event-title{text-decoration:underline}.day-event-meta{display:block;font-size:12px;line-height:1.7;color:var(--color-text-muted)}.day-event-title{display:block;font-size:16px;font-weight:650;line-height:1.7;margin:4px 0}.calendar-event.range-endpoint{background:transparent;color:var(--color-text-secondary);border-top:1px solid var(--color-border);border-radius:0;padding-inline:2px}.range-endpoint .event-platform{font-weight:500}.range-endpoint .event-title{font-weight:400}.schedule-periods{border-top:1px solid var(--color-border);margin-top:20px;padding:16px 0}.schedule-periods h2{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px}.schedule-period-row{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:center;gap:24px;width:100%;text-align:left;padding:12px 0;cursor:pointer;border-bottom:1px solid var(--color-border)}.period-dates{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.period-arrow{flex:1;display:flex;align-items:center;min-width:20px;font-size:14px;font-weight:400}.period-arrow:before{content:"";height:1px;background:var(--color-border);flex:1;margin-right:-3px}.period-meta{display:block;font-size:10px;color:var(--color-text-muted);margin-bottom:3px}.period-title{font-size:13px;line-height:1.7;color:var(--color-text-secondary)}.schedule-period-row:hover .period-title{text-decoration:underline}.schedule-period-row:focus-visible{outline:2px solid var(--color-accent-subtle);outline-offset:3px}@media(max-width:640px){.schedule-period-row{grid-template-columns:1fr;gap:6px;padding:14px 0}.period-dates{max-width:280px}.range-endpoint .event-platform{white-space:normal;line-height:1.4;font-size:9px}}.schedule-articles{margin:24px 0;padding-top:20px;border-top:1px solid var(--color-border)}.schedule-articles h3{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px}.schedule-articles li+li{margin-top:8px}.schedule-articles a{display:block;padding:8px 0;line-height:1.7;color:var(--color-accent-subtle);text-decoration:underline;text-underline-offset:3px}
