.hercules-timetable{
    --hercules-tt-background:#0e1116;
    --hercules-tt-surface:#171b23;
    --hercules-tt-card:#20252f;
    --hercules-tt-title:#fff;
    --hercules-tt-text:#fff;
    --hercules-tt-muted:#aeb3bf;
    --hercules-tt-accent:#f2552c;
    --hercules-tt-button-text:#fff;
    --hercules-tt-border:#343a46;
    --hercules-tt-section-padding:96px;
    --hercules-tt-container-width:1420px;
    --hercules-tt-card-radius:18px;
    --hercules-tt-session-min-height:220px;
    position:relative;
    padding:var(--hercules-tt-section-padding) 0;
    background:var(--hercules-tt-background);
    color:var(--hercules-tt-text);
    overflow:hidden
}
.hercules-timetable:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 10% 10%,color-mix(in srgb,var(--hercules-tt-accent) 18%,transparent),transparent 34%),
        radial-gradient(circle at 90% 80%,color-mix(in srgb,var(--hercules-tt-accent) 8%,transparent),transparent 30%);
    pointer-events:none
}
.hercules-timetable__container{
    position:relative;
    z-index:1;
    width:min(var(--hercules-tt-container-width),calc(100% - 40px));
    margin:0 auto
}
.hercules-timetable__header{max-width:760px;margin:0 auto 42px;text-align:center}
.hercules-timetable__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    color:var(--hercules-tt-accent);
    font-size:13px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase
}
.hercules-timetable__eyebrow:before{content:"";width:28px;height:2px;background:currentColor}
.hercules-timetable__title{
    margin:0;
    color:var(--hercules-tt-title);
    font-size:clamp(34px,5vw,58px);
    line-height:1.08;
    letter-spacing:-.03em
}
.hercules-timetable__subtitle{
    max-width:680px;
    margin:18px auto 0;
    color:var(--hercules-tt-muted);
    font-size:17px;
    line-height:1.7
}
.hercules-timetable__filters{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 30px
}
.hercules-timetable__filter{
    appearance:none;
    border:1px solid var(--hercules-tt-border);
    border-radius:999px;
    padding:11px 18px;
    background:var(--hercules-tt-surface);
    color:var(--hercules-tt-text);
    font:inherit;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease
}
.hercules-timetable__filter:hover,.hercules-timetable__filter:focus-visible{
    border-color:var(--hercules-tt-accent);
    outline:none;
    transform:translateY(-1px)
}
.hercules-timetable__filter.is-active{
    border-color:var(--hercules-tt-accent);
    background:var(--hercules-tt-accent);
    color:var(--hercules-tt-button-text);
    box-shadow:0 12px 30px color-mix(in srgb,var(--hercules-tt-accent) 24%,transparent)
}
.hercules-timetable__scroll{
    overflow-x:auto;
    padding:0 0 14px;
    scrollbar-width:thin;
    scrollbar-color:var(--hercules-tt-border) transparent
}
.hercules-timetable__grid{
    display:grid;
    grid-template-columns:repeat(var(--hercules-tt-columns),minmax(220px,1fr));
    gap:14px;
    min-width:max(100%,1120px)
}
.hercules-timetable__day{
    min-width:0;
    border:1px solid var(--hercules-tt-border);
    border-radius:var(--hercules-tt-card-radius);
    background:var(--hercules-tt-surface);
    overflow:hidden;
    transition:transform .2s ease,border-color .2s ease
}
.hercules-timetable__day:hover{border-color:color-mix(in srgb,var(--hercules-tt-accent) 44%,var(--hercules-tt-border))}
.hercules-timetable__day[hidden]{display:none}
.hercules-timetable__day-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:18px 18px 16px;
    border-bottom:1px solid var(--hercules-tt-border);
    background:color-mix(in srgb,var(--hercules-tt-surface) 84%,var(--hercules-tt-title) 16%)
}
.hercules-timetable__day-heading span{color:var(--hercules-tt-title);font-size:17px;font-weight:800}
.hercules-timetable__day-heading small{color:var(--hercules-tt-muted);font-size:12px}
.hercules-timetable__sessions{display:grid;gap:12px;padding:12px}
.hercules-timetable__session{
    --hercules-tt-session-accent:var(--hercules-tt-accent);
    position:relative;
    min-height:var(--hercules-tt-session-min-height);
    padding:18px;
    border:1px solid var(--hercules-tt-border);
    border-radius:max(0px,calc(var(--hercules-tt-card-radius) - 4px));
    background:var(--hercules-tt-card);
    box-shadow:0 18px 36px rgba(0,0,0,.12);
    overflow:hidden;
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease
}
.hercules-timetable__session:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:var(--hercules-tt-session-accent)
}
.hercules-timetable__session:hover{
    transform:translateY(-4px);
    border-color:var(--hercules-tt-session-accent);
    box-shadow:0 22px 44px color-mix(in srgb,var(--hercules-tt-session-accent) 12%,rgba(0,0,0,.16))
}
.hercules-timetable__time{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:15px;
    color:var(--hercules-tt-session-accent);
    font-size:13px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase
}
.hercules-timetable__time span{color:var(--hercules-tt-muted);font-weight:600}
.hercules-timetable__session-title{margin:0 0 10px;color:var(--hercules-tt-title);font-size:20px;line-height:1.25}
.hercules-timetable__description{margin:0 0 16px;color:var(--hercules-tt-muted);font-size:13px;line-height:1.6}
.hercules-timetable__meta{display:grid;gap:8px;margin:0}
.hercules-timetable__meta div{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--hercules-tt-border)}
.hercules-timetable__meta dt{color:var(--hercules-tt-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.hercules-timetable__meta dd{margin:0;color:var(--hercules-tt-text);font-size:12px;text-align:right}
.hercules-timetable__book{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:16px;
    color:var(--hercules-tt-text);
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    transition:transform .2s ease,background .2s ease,color .2s ease
}
.hercules-timetable__book span{color:var(--hercules-tt-session-accent);transition:transform .2s ease}
.hercules-timetable__book:hover span{transform:translateX(4px)}
.hercules-timetable--book-solid .hercules-timetable__book{
    padding:10px 15px;
    border-radius:999px;
    background:var(--hercules-tt-accent);
    color:var(--hercules-tt-button-text)
}
.hercules-timetable--book-solid .hercules-timetable__book span{color:currentColor}
.hercules-timetable--book-solid .hercules-timetable__book:hover{transform:translateY(-2px)}
.hercules-timetable__empty{margin:0;padding:22px 12px;color:var(--hercules-tt-muted);font-size:13px;text-align:center}
.hercules-timetable.is-filtered .hercules-timetable__grid{min-width:0;grid-template-columns:minmax(280px,520px);justify-content:center}
.hercules-timetable.is-filtered .hercules-timetable__day:not([hidden]){width:100%}
@media(max-width:991px){
    .hercules-timetable{--hercules-tt-section-padding:76px}
    .hercules-timetable__container{width:min(100% - 28px,var(--hercules-tt-container-width))}
    .hercules-timetable__grid{grid-template-columns:repeat(var(--hercules-tt-columns),minmax(260px,1fr))}
    .hercules-timetable__filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}
    .hercules-timetable__filter{white-space:nowrap}
}
@media(max-width:767px){
    .hercules-timetable{--hercules-tt-section-padding:64px}
    .hercules-timetable__header{text-align:left;margin-bottom:30px}
    .hercules-timetable__title{font-size:38px}
    .hercules-timetable__subtitle{font-size:15px}
    .hercules-timetable__eyebrow{justify-content:flex-start}
    .hercules-timetable__grid{display:block;min-width:0}
    .hercules-timetable__day{margin-bottom:14px}
    .hercules-timetable__day[hidden]{display:none}
    .hercules-timetable__session{min-height:0}
    .hercules-timetable__scroll{overflow:visible}
    .hercules-timetable.is-filtered .hercules-timetable__grid{display:block}
}
@media(prefers-reduced-motion:reduce){.hercules-timetable *{scroll-behavior:auto!important;transition:none!important}}
