:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171717;background:#f6f5f1;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(180deg,#efeee9 0,#f8f7f4 340px);overflow-x:hidden}button{font:inherit}.shell{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:48px 0 80px}.hero{padding:18px 0 28px}.hero-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.14em;color:#69665f;margin:0}.cache-status{font-size:.76rem;font-weight:750;color:#645f55;border:1px solid #cbc6ba;background:#fff9e9;border-radius:999px;padding:7px 10px}.hero h1{font-size:clamp(2.5rem,8vw,5.6rem);line-height:.93;letter-spacing:-.065em;margin:12px 0 0;max-width:800px}.lede{font-size:1.05rem;line-height:1.6;color:#66625b;max-width:650px;margin:22px 0 0}.schedule{border-top:1px solid #d7d4cc;padding-top:16px}.day-tabs{position:sticky;top:0;z-index:4;margin:0 -8px 28px;padding:8px;background:rgba(248,247,244,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(215,212,204,.8)}.day-tabs-scroll{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px}.day-tabs-scroll::-webkit-scrollbar{display:none}.day-tab{appearance:none;flex:0 0 auto;min-width:112px;min-height:54px;border:1px solid #d2cec4;background:#fff;color:#4d4942;border-radius:14px;padding:9px 13px;text-align:left;cursor:pointer;display:grid;gap:2px}.day-tab.selected{border-color:#171717;background:#171717;color:#fff}.day-tab:focus-visible,.slot-event-card:focus-visible,.carousel-arrow:focus-visible,.close:focus-visible{outline:3px solid rgba(23,23,23,.22);outline-offset:2px}.day-tab-label{font-weight:800;font-size:.95rem}.day-tab-date{font-size:.68rem;opacity:.68;font-variant-numeric:tabular-nums}.timeslots{display:grid;gap:30px}.timeslot{min-width:0}.timeslot-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:11px}.timeslot-heading>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}.slot-time{font-size:1.2rem;font-weight:850;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.parallel-count{font-size:.74rem;color:#777269;font-weight:700}.carousel-controls{display:flex;gap:6px}.carousel-arrow{width:36px;height:36px;border-radius:999px;border:1px solid #cfcac0;background:#fff;color:#171717;display:grid;place-items:center;font-size:1.35rem;line-height:1;cursor:pointer}.slot-carousel{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:2px 2px 12px;scrollbar-width:thin;scrollbar-color:#c3beb4 transparent;-webkit-overflow-scrolling:touch}.slot-event-card{appearance:none;flex:0 0 min(430px,82%);scroll-snap-align:start;border:1px solid #d8d4ca;background:#fff;color:inherit;border-radius:18px;padding:18px;text-align:left;display:grid;align-content:start;gap:10px;min-height:180px;cursor:pointer}.slot-event-card:hover{border-color:#aaa59b}.slot-event-card strong{font-size:clamp(1.08rem,2.7vw,1.34rem);line-height:1.15;letter-spacing:-.025em}.card-time{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:750;color:#716d65}.card-meta,.dialog-meta{color:#716d65;font-size:.9rem}.track{display:inline-flex;width:max-content;align-items:center;border:1px solid #cbc7bd;border-radius:999px;padding:6px 10px;font-size:.69rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em;margin-top:auto}.status{padding:28px;border:1px solid #d8d4ca;border-radius:16px;background:#fff}.status.error button,.close{border:1px solid #c8c4bb;background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer}.dialog-backdrop{position:fixed;inset:0;background:rgba(20,20,18,.52);display:grid;place-items:end center;padding:20px;z-index:10}.dialog{width:min(680px,100%);background:#fbfaf7;border-radius:24px 24px 12px 12px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.18);max-height:min(82vh,760px);overflow-y:auto}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.time{font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:750;color:#716d65}.dialog h2{font-size:clamp(2rem,7vw,3.6rem);letter-spacing:-.055em;line-height:1;margin:30px 0 12px}.dialog p:not(.dialog-meta){line-height:1.65;color:#4e4b46;margin:24px 0}.dialog .track{margin-top:4px}@media(max-width:650px){.shell{width:min(100% - 20px,1040px);padding-top:22px}.hero{padding-bottom:20px}.lede{font-size:.98rem}.day-tabs{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.day-tab{min-width:104px}.timeslots{gap:24px}.carousel-controls{display:none}.slot-carousel{margin-right:-10px;padding-right:10px;scrollbar-width:none}.slot-carousel::-webkit-scrollbar{display:none}.slot-event-card{flex-basis:88%;min-height:168px;padding:17px}.dialog-backdrop{padding:10px}.dialog{padding:22px}.close{min-height:44px}}@media(min-width:651px){.slot-event-card{flex-basis:min(430px,58%)}}@media(hover:hover) and (pointer:fine){.day-tab:hover:not(.selected){background:#fdfcf9}.carousel-arrow:hover{background:#171717;color:#fff}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v1.2.0: sticky day + tag filters */
.schedule-filters{position:sticky;top:0;z-index:4;margin:0 -8px 28px;padding:8px;background:rgba(248,247,244,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(215,212,204,.8)}
.schedule-filters .day-tabs{position:static;top:auto;z-index:auto;margin:0;padding:0;background:transparent;backdrop-filter:none;border-bottom:0}
.tag-filters{margin-top:9px;min-width:0}
.tag-filters-scroll{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:1px 2px 2px}
.tag-filters-scroll::-webkit-scrollbar{display:none}
.tag-filter{appearance:none;flex:0 0 auto;min-height:36px;border:1px solid #d2cec4;background:#fff;color:#514d46;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:750;cursor:pointer;white-space:nowrap}
.tag-filter.selected{border-color:#171717;background:#171717;color:#fff}
.tag-filter:focus-visible{outline:3px solid rgba(23,23,23,.22);outline-offset:2px}
.event-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.event-tag{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:#efede7;color:#5b574f;padding:5px 9px;font-size:.68rem;font-weight:700;line-height:1.1}
.dialog .event-tags{margin-top:12px}
@media(max-width:650px){.schedule-filters{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.schedule-filters .day-tabs{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.tag-filter{min-height:40px;padding:8px 12px}}
@media(hover:hover) and (pointer:fine){.tag-filter:hover:not(.selected){background:#fdfcf9}}
