/* Asmbly 0.9.29.3 — Unified City Calendar + Today Runtime */

/* The month should read as an active city calendar, not six oversized blank rows. */
.asmbly-calendar-reset .calendar-canvas{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
  scrollbar-gutter:stable;
}
.asmbly-calendar-reset .calendar-canvas::-webkit-scrollbar{width:7px}
.asmbly-calendar-reset .calendar-canvas::-webkit-scrollbar-track{background:transparent}
.asmbly-calendar-reset .calendar-canvas::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}
.asmbly-calendar-reset .calendar-month-day{
  min-height:82px!important;
  height:clamp(88px,calc((100dvh - 210px)/6),116px);
}
.asmbly-calendar-reset .calendar-month-signals{margin-top:5px!important}
.asmbly-calendar-reset .calendar-month-event-previews{padding-top:5px!important}
.asmbly-calendar-reset .calendar-month-event-previews button{font-size:8.5px!important;line-height:1.25}
.asmbly-calendar-reset .calendar-month-day.is-selected{box-shadow:inset 0 0 0 2px #63b3ff}

/* Agenda explains its job and lets viewers decide what they are scanning. */
.calendar-agenda-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:2px 2px 10px;
}
.calendar-agenda-intro>div:first-child{display:grid;gap:3px}
.calendar-agenda-intro b{font:900 20px/1.1 Outfit,Inter,system-ui,sans-serif;color:#fff}
.calendar-agenda-intro span{max-width:600px;color:rgba(255,255,255,.54);font-size:11px;line-height:1.45}
.calendar-agenda-filters{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.calendar-agenda-filters button{
  min-height:32px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  padding:6px 11px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.65);
  font:850 10px/1 Inter,system-ui,sans-serif;
  cursor:pointer;
}
.calendar-agenda-filters button.active{background:#fff;color:#111;border-color:#fff}
.asmbly-calendar-reset .calendar-agenda>section>header{cursor:pointer}

/* The selected date panel should be the active context, not an instructional void. */
.calendar-reset-side .calendar-day-explorer{overflow:hidden!important}
.calendar-reset-side .calendar-day-explorer-content{overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.calendar-reset-side .calendar-day-explorer-content::-webkit-scrollbar{width:6px}
.calendar-reset-side .calendar-day-explorer-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:999px}
.calendar-reset-side-empty{background:radial-gradient(circle at 50% 42%,rgba(99,179,255,.08),transparent 48%)}

/* Today remains useful without a saved itinerary. */
.asmbly-today-empty{margin-bottom:14px!important}
.asmbly-today-discovery-section{scroll-margin-top:90px}
.asmbly-today-discovery-card.event small{color:#ffcf3f!important}
.asmbly-today-discovery-card.place small{color:#8ff1c8!important}
.asmbly-today-discovery-card.guide small{color:#b9a8ff!important}

@media(max-width:820px){
  .asmbly-calendar-reset .calendar-canvas{scrollbar-gutter:auto}
  .asmbly-calendar-reset .calendar-month-day{height:clamp(62px,calc((100dvh - 190px)/6),76px);min-height:62px!important}
  .calendar-agenda-intro{display:grid;gap:10px;padding:4px 1px 8px}
  .calendar-agenda-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}
  .calendar-agenda-filters::-webkit-scrollbar{display:none}
  .calendar-agenda-filters button{flex:0 0 auto}
}

@media(prefers-reduced-motion:reduce){
  .asmbly-calendar-reset .calendar-month-day{scroll-behavior:auto}
}
