/* Calendar controls and semantic colors. The approved glass/calendar layout
   and its isolated scroll layer remain in theater.css. */
#page-schedule{
  --schedule-personal:#c7a0f4;
  --schedule-collab:#7ddcc3;
  --schedule-commerce:#f0c27d;
  --schedule-off:#b5b9c7;
  --schedule-personal-fill:#c7a0f426;
  --schedule-collab-fill:#7ddcc326;
  --schedule-commerce-fill:#f0c27d26;
  --schedule-off-fill:#b5b9c71f;
  --schedule-holiday:#f19ab2;
  --schedule-saturday:#8dbeff;
  --schedule-weekday:#ddd7e5;
  --schedule-event-ink:#eee9f5;
  --schedule-cell-inset:16px;
  --schedule-date-line-offset:2px;
}
#page-schedule .v44-schedule-head{
  display:grid;grid-template-columns:1fr auto;align-items:center;
  gap:20px;margin-bottom:30px;padding:0;background:none;border:0;box-shadow:none;
}
#page-schedule .v44-month{
  position:relative;inset:auto;transform:none;grid-column:2;grid-row:1;
  display:flex;align-items:center;gap:10px;margin:0;z-index:12;
}
#page-schedule .schedule-month-anchor{position:relative;flex:none;}
#page-schedule .v44-month button{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  min-height:44px;padding:0;border:1px solid #cbb5df42;border-radius:12px;
  color:#eee8f4;background:linear-gradient(145deg,#d8baf20d,#b298d003);
  box-shadow:inset 0 1px 0 #fff3ff13,inset 0 -1px 0 #130f1d40;
  font:400 15px/1.2 var(--sans);
  transition:border-color 160ms ease-out,background-color 160ms ease-out,transform 140ms ease-out;
}
#page-schedule .v44-month .schedule-month-arrow{width:44px;height:44px;}
#page-schedule .v44-month .schedule-month-today{width:auto;min-width:64px;height:44px;padding:0 16px;font-size:15px;white-space:nowrap;transition:opacity 160ms ease-out;}
#page-schedule .v44-month .schedule-month-today.is-current{opacity:0;pointer-events:none;}
#page-schedule .v44-day.today .schedule-date-ink{color:#f3e6ff;text-shadow:0 0 10px #c79bf0b0;}
#page-schedule .v44-day.today-flash{animation:schedule-today-flash 1.4s ease-out;}
@keyframes schedule-today-flash{0%,30%{box-shadow:inset 0 0 0 2px #d9b8f7cc,0 0 18px #b58ed655;}100%{box-shadow:inset 0 0 0 2px #d9b8f700,0 0 18px #b58ed600;}}
#page-schedule .v44-month .schedule-month-trigger{width:152px;height:44px;gap:12px;}
#page-schedule #monthTitle{font:400 26px/1 Georgia;letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap;}
#page-schedule .v44-month svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;}
#page-schedule .schedule-month-trigger svg{width:14px;height:14px;color:#cbb5df;transition:transform 180ms ease-out;}
#page-schedule .schedule-month-trigger[aria-expanded="true"]{border-color:#cfb0f485;background-color:#b58ed616;}
#page-schedule .schedule-month-trigger[aria-expanded="true"] svg{transform:rotate(180deg);}
#page-schedule .v44-month button:focus-visible{outline:2px solid #dec2ff;outline-offset:3px;}
#page-schedule .v44-month button:disabled{opacity:.35;}
#page-schedule .v44-month button:active:not(:disabled){transform:scale(.97);}
#page-schedule .schedule-month-panel{
  position:absolute;top:calc(100% + 12px);left:50%;right:auto;width:296px;max-width:calc(100vw - 32px);
  translate:calc(-50% + var(--schedule-picker-shift,0px)) 0;
  max-height:calc(100dvh - 168px);overflow-y:auto;overscroll-behavior:contain;scroll-margin-block:16px;
  padding:16px;border:1px solid #cbb5df69;border-radius:16px;
  background:radial-gradient(ellipse at 0 0,#bc94db16,transparent 68%),linear-gradient(145deg,#282530,#201e29 65%,#272330);
  box-shadow:inset 0 1px 0 #efdfff29,inset 0 -1px 0 #d4b9ed18,0 16px 34px #08060e55;
  transform:translateY(0);transform-origin:calc(50% - var(--schedule-picker-shift,0px)) top;isolation:isolate;
}
/* Keep the year on one raster layer through the final entrance frame. Hidden
   panels release the layer; no calendar-wide promotion or frame loop. */
#page-schedule .schedule-month-panel:not([hidden]){will-change:transform;}
#page-schedule .schedule-month-panel::before{
  content:'';position:absolute;inset:3px;border:1px solid #d9c6ed12;border-radius:12px;pointer-events:none;z-index:-1;
}
#page-schedule .schedule-picker-year{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
#page-schedule .schedule-picker-year button{width:44px;height:44px;border-color:#cbb5df29;}
#page-schedule #monthPickerYear{font:400 24px/1.3 Georgia;color:#f0eaf6;font-variant-numeric:tabular-nums;}
#page-schedule .schedule-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
#page-schedule .schedule-picker-grid button{width:100%;height:44px;min-width:0;border-radius:9px;border-color:#cbb5df2e;background:#d9c6ed04;font-size:14px;}
#page-schedule .schedule-picker-grid button[aria-pressed="true"]{background:#b58ed635;border-color:#d6b3f1b3;box-shadow:inset 0 1px #fff2ff20;color:#fff5ff;}
#page-schedule .v44-legend{
  position:static;grid-row:1;grid-column:1;justify-self:start;display:flex;
  align-items:center;justify-content:flex-start;gap:24px;margin:0;padding:0;
  width:auto;height:auto;transform:none;border:0;box-shadow:none;background:none;
  font:400 12px/1.65 var(--sans);color:#cfc6d9;
}
#page-schedule .v44-legend span{display:flex;align-items:center;gap:7px;white-space:nowrap;color:inherit;font:inherit;}
#page-schedule .v44-legend i{width:8px;height:8px;border-radius:50%;display:block;flex:none;box-shadow:none;}
#page-schedule .v44-legend .personal{background:var(--schedule-personal);}
#page-schedule .v44-legend .collab{background:var(--schedule-collab);}
#page-schedule .v44-legend .commerce{background:var(--schedule-commerce);}
#page-schedule .v44-legend .off{background:var(--schedule-off);}
#page-schedule .v44-event{transition:background-color 140ms ease-out;}
/* Retain the approved pre-balance cell geometry. Optical alignment moves only
   ink inside the header, without moving events or changing their spacing. */
#page-schedule .v44-day{
  padding-block:calc(var(--schedule-cell-inset) - var(--schedule-date-line-offset)) var(--schedule-cell-inset);
}
#page-schedule .v44-start{align-items:center;cursor:inherit;}
#page-schedule .v44-clock{display:block;line-height:inherit;}
#page-schedule :is(.schedule-date-ink,.schedule-clock-ink){position:relative;top:var(--schedule-ink-y,0px);}
#page-schedule .v44-start :is(.live-dot,.v44-sub-icon){position:relative;top:var(--schedule-ink-y,0px);}
#page-schedule .v44-start .v44-sub-icon{
  display:block;object-fit:contain;flex:0 0 15px;margin:0;padding:0;border:0;background:none;
  width:15px;min-width:15px;max-width:15px;height:15px;min-height:15px;max-height:15px;
}
#page-schedule .can-plan{cursor:pointer;}
#page-schedule .v82-date-wrap b[role="button"]{cursor:pointer;}
#page-schedule .v82-date-wrap b[role="button"]:focus-visible{outline:2px solid #dec2ff;outline-offset:3px;border-radius:2px;}
#page-schedule .v44-start:has(.v44-sub-icon){min-height:18px;}
/* Replace inherited bottom margins with explicit gaps. The 9px event gap and
   18px between sessions preserve the previous spacing without a trailing gap. */
#page-schedule .v44-event{margin:0;}
#page-schedule .v44-session-group{margin:0;gap:9px;}
#page-schedule .v44-events{gap:18px;}
/* Once measured, each later session gets the first header's visible spacing.
   Keep the 9px separation exclusively between cards of the same broadcast. */
#page-schedule .v44-events.session-spacing-ready{gap:0;}
#page-schedule .session-spacing-ready .v44-session-group{gap:0;}
#page-schedule .session-spacing-ready .v44-session-group+.v44-session-group{margin-top:var(--schedule-session-before,18px);}
#page-schedule .session-spacing-ready .v44-event+.v44-event{margin-top:9px;}
#page-schedule .session-spacing-ready .v44-session-start{margin:0 0 var(--schedule-session-after,5px);}
#page-schedule .session-spacing-ready .v44-session-start:empty{display:none;}
#page-schedule .v44-start .live-dot{
  display:block;flex:0 0 6px;box-sizing:border-box;
  width:6px;min-width:6px;max-width:6px;height:6px;min-height:6px;max-height:6px;
  margin:0;border:.5px solid #e4ceff80;border-radius:50%;
  background:radial-gradient(ellipse at 28% 22%,#fff8fff2 0 11%,#eee0ff80 16%,transparent 46%),
    radial-gradient(circle at 38% 35%,#ead8ffe6 0,#b994d8c9 58%,#524361 100%);
  box-shadow:inset 0 0 1px #fff2ff80,0 0 3px #bd8de938;
  animation:none;pointer-events:none;
}
@media(hover:hover) and (pointer:fine){
  #page-schedule .v44-month button:hover:not(:disabled){border-color:#d7bcec90;background-color:#b58ed614;}
  #page-schedule .schedule-picker-grid button[aria-pressed="true"]:hover{background-color:#b58ed645;}
  #page-schedule .v44-event:hover{background-color:#c7a0f433;}
  #page-schedule .v44-event.collab:hover{background-color:#7ddcc333;}
  #page-schedule .v44-event.commerce:hover,#page-schedule .v44-event.ad:hover{background-color:#f0c27d33;}
  #page-schedule .v44-event.off:hover,#page-schedule .v44-event.rest:hover{background-color:#b5b9c72b;}
}
@media(max-width:900px){
  #page-schedule{--schedule-cell-inset:12px;}
  #page-schedule .v44-legend{gap:16px;}
}
@media(max-width:760px){
  #page-schedule .v44-schedule-head{grid-template-columns:1fr;gap:15px;}
  #page-schedule .v44-month{grid-row:1;grid-column:1;justify-content:center;}
  #page-schedule .v44-legend{grid-row:2;grid-column:1;justify-self:stretch;justify-content:center;flex-wrap:wrap;row-gap:8px;}
}
@media(max-width:600px){
  #page-schedule{--schedule-cell-inset:10px;--schedule-date-line-offset:0px;}
  #page-schedule .v44-schedule-head{grid-template-columns:1fr;gap:15px;margin-bottom:16px;}
  #page-schedule .v44-month{grid-row:1;grid-column:1;justify-content:center;}
  #page-schedule .v44-legend{grid-row:2;justify-self:stretch;justify-content:center;flex-wrap:wrap;column-gap:14px;row-gap:8px;margin:0;font-size:11px;}
  #page-schedule .v44-legend span{gap:5px;}
  #page-schedule .v44-start .live-dot{display:none;}
  #page-schedule .v44-month{gap:6px;}
  #page-schedule .v44-month .schedule-month-today{min-width:48px;padding:0 10px;font-size:14px;}
  #page-schedule .v44-month .schedule-month-trigger{width:132px;}
  #page-schedule #monthTitle{font-size:23px;}
  #page-schedule .v44-start .v44-sub-icon{flex-basis:12px;width:12px;min-width:12px;max-width:12px;height:12px;min-height:12px;max-height:12px;}
}
@media(max-width:360px){
  #page-schedule .v44-start{gap:0;}
  #page-schedule .v44-start .v44-sub-icon{flex-basis:10px;width:10px;min-width:10px;max-width:10px;height:10px;min-height:10px;max-height:10px;}
}
@media(prefers-reduced-motion:reduce){
  #page-schedule .v44-month button,#page-schedule .schedule-month-trigger svg,#page-schedule .v44-event{transition:none;}
  #page-schedule .v44-month button:active:not(:disabled){transform:none;}
}
