:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1b1b1f;background-color:#f5f6f8}body{margin:0}button{font-family:inherit}.return-to-website{display:inline-block;margin:1rem 1.25rem 0;padding:.5rem 1rem;background:#2451b0;color:#fff;text-decoration:none;border-radius:4px;font-size:.9rem;font-weight:600}.return-to-website:hover{background:#1b3d8a}.schedule-status{padding:3rem 1rem;text-align:center;font-size:1.1rem}.schedule-status--error{color:#b3261e}.schedule-app{max-width:1100px;margin:0 auto;padding:1rem 1.25rem 3rem}.schedule-app__header h1{margin:0 0 .75rem;font-size:1.6rem}.day-tabs{display:flex;gap:.5rem;border-bottom:1px solid #d8dade;margin-bottom:1.5rem}.day-tab{border:none;background:none;padding:.6rem 1rem;font-size:.95rem;cursor:pointer;color:#4b4f58;border-bottom:3px solid transparent}.day-tab--active{color:#1b1b1f;border-bottom-color:#2451b0;font-weight:600}.schedule-empty{color:#6b6f76;font-style:italic}.time-block{margin-bottom:2rem}.time-block__heading{font-size:1.05rem;background-color:#2451b0;color:#fff;padding:.4rem .8rem;border-radius:4px;display:inline-block;margin-bottom:.75rem}.time-block__sessions{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.session-card{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left;background:#fff;border:1px solid #d8dade;border-radius:6px;padding:.85rem 1rem;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.session-card:hover,.session-card:focus-visible{border-color:#2451b0;box-shadow:0 2px 8px #2451b02e}.session-card--interactive{background:#e7f5ec;border-color:#bfe3cc}.session-card--exploratory{background:#e8f0fc;border-color:#c2d4f5}.session-card--keynote{background:#fdf3da;border-color:#ecd998}.session-card--adventure{background:#f0ebfa;border-color:#d4b8f0}.session-card__number{font-size:.75rem;font-weight:600;color:#4b4f58;text-transform:uppercase;letter-spacing:.03em}.session-card__title{font-size:1rem;font-weight:600}.session-card__presenter{font-size:.9rem;font-style:italic;color:#4b4f58}.session-card__room{font-size:.85rem;color:#6b6f76}.session-card__repeat{font-size:.8rem;color:#6b6f76}.session-card__badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.2rem}.session-card__badge{font-size:.7rem;background:#eef1fa;color:#2451b0;border-radius:3px;padding:.15rem .4rem}.session-card__badge-icon{display:block;width:20px;height:20px}.schedule-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;align-items:center;margin-bottom:1.25rem;padding:.5rem .9rem;background:#f9f9fb;border:1px solid #d8dade;border-radius:6px;font-size:.85rem}.schedule-legend__icon-item{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.session-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1414188c;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;overflow-y:auto;z-index:100}.session-detail{position:relative;background:#fff;border-radius:8px;max-width:640px;width:100%;padding:2rem 1.75rem 1.75rem;box-shadow:0 12px 40px #00000040}.session-detail__close{position:absolute;top:.75rem;right:.85rem;border:none;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:#6b6f76}.session-detail__title{margin:0 0 .75rem;font-size:1.35rem}.session-detail__timeandplace{margin-bottom:.5rem;color:#2c2f36}.session-detail__type{display:inline-block;font-size:.8rem;font-weight:600;color:#2451b0;background:#eef1fa;border-radius:3px;padding:.2rem .5rem;margin-bottom:1rem}.session-detail__meta{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 1rem;font-size:.85rem;color:#4b4f58}.session-detail__meta li:after{content:""}.session-detail__presenters h3{font-size:.95rem;margin:0 0 .25rem}.session-detail__description{white-space:pre-line;line-height:1.5;margin-top:1rem}.session-detail__repeat{margin-top:1rem;font-size:.85rem;color:#4b4f58}.session-detail__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin-top:1rem}.session-detail__tags li{font-size:.75rem;background:#f0f1f3;border-radius:3px;padding:.2rem .5rem;color:#4b4f58}
