.klQuickZmanim{margin:0 0 24px;padding:14px 22px;border-radius:24px;color:#fff;overflow:hidden}
.klQuickHead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.klQuickHead h2{margin:0;font-size:14px;letter-spacing:.19em;line-height:1.4;font-weight:700}
.klQuickToggle{border:0;background:none;border-radius:0;box-shadow:none;color:inherit;font-size:30px;font-weight:300;line-height:1;padding:0 0 0 12px;min-width:32px;min-height:30px;cursor:pointer}
.klQuickSummary{font-size:15px;line-height:1.4;margin-top:4px;color:rgba(255,255,255,.9)}
#quickZmanimRows{margin-top:10px}#quickZmanimRows[hidden]{display:none}
.klQuickRow{display:grid;grid-template-columns:10px minmax(0,1fr) minmax(0,1.3fr);gap:10px;align-items:start;padding:8px 0;border-top:1px solid rgba(255,255,255,.18);font-size:13px;line-height:1.4}
.klQuickRow strong{font-size:13px;font-weight:600;overflow-wrap:normal}.klQuickDetail{min-width:0}.klQuickWindow{color:rgba(255,255,255,.73);margin-top:2px;font-size:12px}
.klQuickDot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#ff687d}.klQuickDot.first{background:#4fa5ff}.klQuickDot.custom{background:#43d887}.klQuickDot.seven{background:#eab64f}.klQuickDot.festival{background:#b58bf5}
@media(max-width:360px){.klQuickZmanim{padding:12px 16px}.klQuickRow{grid-template-columns:8px minmax(0,1fr) minmax(0,1.25fr);gap:8px;font-size:12px}.klQuickRow strong{font-size:12px}}

/* The preceding state already provides the shared 24px card gap. */
html.v2 .scene .wrap > .glass.klQuickZmanim{margin-top:0!important;margin-bottom:24px!important}
/* Compact, aligned names / fixed Passed slot / dates. */
.klQuickHeading{display:flex;align-items:baseline;gap:7px;min-width:0;white-space:nowrap}
.klQuickStatus{font-size:9px;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.7)}
.klQuickRow{grid-template-columns:9px minmax(0,1.1fr) 39px minmax(0,1fr);gap:7px;align-items:start}
.klQuickRow strong{line-height:1.4;font-size:12px;min-width:0}
.klQuickDetail{font-size:11px;line-height:1.4}.klQuickWindow{font-size:10px;white-space:nowrap}
.klQuickPillSlot{width:39px;min-height:17px;padding-top:0;line-height:1.4}
.klQuickPassed{display:inline-block;padding:1px 4px;border-radius:8px;background:rgba(255,255,255,.13);color:rgba(255,255,255,.65);font-size:8px;font-weight:600;line-height:15px}
.klQuickStars{font-size:9px;white-space:nowrap;margin-left:2px}
.klQuickFootnote{font-size:10px;line-height:1.45;color:rgba(255,255,255,.73);margin:10px 0 0;padding-top:8px;border-top:1px solid rgba(255,255,255,.18)}
@media(max-width:360px){.klQuickRow{grid-template-columns:8px minmax(0,1.1fr) 36px minmax(0,1fr);gap:5px}.klQuickPillSlot{width:36px}.klQuickRow strong{font-size:11px}.klQuickDetail{font-size:10px}.klQuickWindow{font-size:9px}.klQuickStatus{font-size:8px}.klQuickSummary{font-size:13px}}

/* Option A and current-month calendar state. No status pills. */
html.v2 .scene .klQuickStatus{color:#a8bacd!important;background:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
html.v2 .scene .calendarEntry h2{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.klCalendarMonthStatus{flex:0 0 auto;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.035em;line-height:1.4}
.klCalendarMonthStatus[hidden]{display:none!important}.klCalendarMonthStatus[data-state="before"]{color:#a8bacd}.klCalendarMonthStatus[data-state="open"]{color:#a3efbd}.klCalendarMonthStatus[data-state="passed"]{color:#ff8d95}
@media(max-width:360px){.klCalendarMonthStatus{font-size:9px;letter-spacing:0}.calendarEntry .inlineNav{gap:5px}}

/* Bullet is its own item with identical explicit gaps on each side. */
html.v2 .scene .klQuickHeading{column-gap:6px!important}
html.v2 .scene .klQuickSeparator{display:block;font-size:9px;font-weight:600;letter-spacing:0;line-height:1.4;color:#a8bacd;margin:0;padding:0}
/* One shared inter-card gap. Every visible state reserves it, even before the
   timeline node has moved into that state. Snapshot's -48px lift and matching
   negative bottom margin cancel; no second margin is added by the next card. */
html.v2 .scene .wrap{--kl-card-gap:24px}
html.v2 .scene .wrap > .state{padding-bottom:var(--kl-card-gap)!important;margin-bottom:0!important;border-bottom:0!important}
html.v2 .scene .wrap > .state .panel{transform:translateY(-48px)!important;margin-bottom:-48px!important}
html.v2 .scene .wrap > .glass.klQuickZmanim,html.v2 .scene .wrap > .glass.nights,html.v2 .scene .wrap > .glass.calendarEntry,html.v2 .scene .wrap > .glass.links{margin-top:0!important;margin-bottom:var(--kl-card-gap)!important}
/* Bottom disclosures are the type/edge source for every expand control. */
html.v2 .scene .wrap{--kl-toggle-size:18px;--kl-toggle-width:18px;--kl-toggle-inset:20px}
html.v2 .scene .glass.links,html.v2 .scene .glass.calendarEntry,html.v2 .scene .glass.klQuickZmanim{position:relative!important}
html.v2 .scene .klSnapshotToggle,html.v2 .scene .klQuickToggle,html.v2 .scene .klForecastToggle,html.v2 .scene .klDisclosureIcon{font-family:inherit!important;font-size:var(--kl-toggle-size)!important;font-weight:400!important;line-height:1!important;width:var(--kl-toggle-width)!important;min-width:var(--kl-toggle-width)!important;text-align:center!important;padding:0!important;box-sizing:content-box!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html.v2 .scene .klSnapshotToggle,html.v2 .scene .klQuickToggle,html.v2 .scene .klForecastToggle{position:absolute!important;right:var(--kl-toggle-inset)!important;height:18px!important;min-height:18px!important}
html.v2 .scene .klSnapshotToggle{top:18px!important}
html.v2 .scene .klQuickToggle{top:18px!important}
html.v2 .scene .klForecastToggle{top:18px!important}
html.v2 .scene .links summary .klDisclosureIcon,html.v2 .scene .calendarEntry .calendarKeyDetails summary .klDisclosureIcon{position:absolute!important;right:var(--kl-toggle-inset)!important;transform:none!important}
html.v2 .scene .klQuickHeading{padding-right:24px}
/* Override inherited white heading text with the approved status colors. */
html.v2 .scene .calendarEntry h2 .klCalendarMonthStatus[data-state="passed"]{color:#ff8d95!important;-webkit-text-fill-color:#ff8d95!important}
html.v2 .scene .calendarEntry h2 .klCalendarMonthStatus[data-state="open"]{color:#a3efbd!important;-webkit-text-fill-color:#a3efbd!important}
html.v2 .scene .calendarEntry h2 .klCalendarMonthStatus[data-state="before"]{color:#a8bacd!important;-webkit-text-fill-color:#a8bacd!important}
