/* Transits page-shell ownership. */

.page-shell--transits {
  --transit-page-bg: var(--page-bg);
  --line: color-mix(in srgb, var(--accent) 18%, #e4ddd2 82%);
  --transit-module-bg: color-mix(in srgb, var(--surface-soft) 92%, white 8%);
  --transit-card-bg: #ffffff;
  --transit-line: var(--line);
  --transit-frame-line: transparent;
  --transit-line-strong: color-mix(in srgb, var(--accent) 24%, #ddd5ca 76%);
  --transit-ink: #1f1d1b;
  --transit-muted: #8793a0;
  --transit-accent: #7f8a97;
  --transit-chip-bg: #173B67;
  --transit-chip-hover: #14345B;
  --transit-chip-ink: #f6f2eb;
  --transit-chip-subtle: rgba(246, 242, 235, 0.62);
  --transit-chip-moon-bg: color-mix(in srgb, var(--transit-chip-bg) 72%, white 28%);
  --transit-chip-moon-hover: color-mix(in srgb, var(--transit-chip-bg) 80%, white 20%);
  --transit-chip-fixed-star-bg: #5F6A78;
  --transit-chip-fixed-star-hover: #56616E;
  --transit-chip-tr-nat-bg: #AA554D;
  --transit-chip-tr-nat-hover: #9B4E49;
  --transit-card-accent-color: #587592;
  --transit-chip-accent: #587592;
  --transit-chip-muted-accent: #a9b8c6;
  --transit-today-bg: #edf0f4;
  --transit-today-ink: #6b7177;
}

.transits-page-shell--day .transit-month-nav {
  margin-bottom: 0.16rem;
}

.page-shell--transits .calendar-grid {
  margin-top: 0;
  width: calc(100% - (var(--transit-gutter) * 2));
  margin-inline: var(--transit-gutter);
  border: 0;
  background: var(--transit-line);
  box-shadow: inset 0 0 0 1px var(--transit-frame-line);
}

.transit-subpage-panel {
  display: grid;
  gap: 1.22rem;
}

.transit-detail-page {
  margin-top: 0;
}

.transit-detail-page .natal-body-detail {
  padding: 0 0.48rem 1.6rem;
}

.transit-day-nav {
  display: grid;
  grid-template-columns: min-content auto min-content;
  align-items: center;
  gap: 0.58rem;
  width: fit-content;
  margin: 0 auto 0.24rem;
}

.transit-day-nav__step {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1rem;
  min-height: 1.4rem;
  color: var(--muted);
  line-height: 1;
  text-decoration: none;
  transition: color 0.12s ease;
}

.transit-day-nav__icon {
  width: 0.78rem;
  height: 0.78rem;
  stroke-width: 1.4;
}

.transit-day-nav__step:hover {
  color: var(--ink);
  text-decoration: none;
}

.transit-day-nav__label {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-align: center;
}

.transit-subpage-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.transit-subpage-title {
  margin: 0.18rem 0 0;
  color: var(--ink);
  font-size: clamp(1.24rem, 2.4vw, 1.7rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.transit-subpage-caption {
  margin: 0.25rem 0 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.transit-subpage-actions {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-left: auto;
}

.transit-day-list {
  padding-top: 0.15rem;
}

.transit-calendar-selection {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 0 var(--transit-gutter);
  padding: 0.95rem 1.05rem;
  background: var(--transit-module-bg);
  border: 0;
  box-shadow: none;
  scroll-margin-top: 0.8rem;
}

.transit-calendar-selection--stacked {
  display: grid;
  gap: 0.22rem;
}

.transit-calendar-selection--active-now {
  padding-top: 0.18rem;
}

.transit-calendar-selection__label {
  color: var(--transit-ink, var(--ink));
  font-family: var(--font-serif);
  font-size: clamp(1.08rem, 1.03rem + 0.28vw, 1.24rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.36;
}

.transit-day-list--active-now {
  padding-top: 0.05rem;
}

.active-now-card--upsell {
  border-color: #e4ded1;
  background: #ffffff;
}

.active-now-card--upsell:hover {
  background: #ffffff;
  border-color: #e4ded1;
}

.active-now-upsell-card__body {
  justify-content: space-between;
  gap: 1rem;
}

.active-now-upsell-card__copy {
  display: grid;
  gap: 0.28rem;
  max-width: 24rem;
}

.active-now-upsell-card__eyebrow {
  margin: 0;
}

.active-now-upsell-card__title {
  margin: 0;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}

.active-now-upsell-card__text {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.5;
}

.active-now-upsell-card__cta {
  align-self: flex-start;
  pointer-events: none;
}

.page-shell--transits .moon-toggle-wrap {
  min-height: 1.82rem;
  padding: 0.42rem 0.72rem;
  background: var(--transit-module-bg);
}

.page-shell--transits .moon-toggle-wrap.is-locked {
  opacity: 0.58;
}

.page-shell--transits .moon-toggle-label {
  color: var(--transit-muted);
  font-family: var(--font-sans);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.page-shell--transits .moon-switch {
  width: 30px;
  height: 16px;
  background: #d9d6d2;
}

.page-shell--transits .moon-switch.is-on {
  background: var(--transit-accent);
}

.page-shell--transits .moon-switch-thumb {
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
}

.page-shell--transits .moon-switch.is-on .moon-switch-thumb {
  transform: translateX(14px);
}

.page-shell--transits .transit-month-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 0 var(--transit-gutter);
  padding: 0.62rem 1.05rem;
  border: 0;
  background: var(--transit-module-bg);
  gap: 0.58rem 1rem;
}

.page-shell--transits .transit-month-nav__month-controls {
  display: grid;
  grid-template-columns: min-content max-content min-content;
  align-items: center;
  gap: 0.44rem;
  flex: 0 0 auto;
  min-width: 0;
}

.page-shell--transits .transit-month-nav__utilities {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.32rem;
  flex-wrap: wrap;
  margin-left: auto;
}

.page-shell--transits .transit-month-nav form {
  display: flex;
  justify-content: center;
  flex: 0 0 auto;
  width: auto;
}

.page-shell--transits .transit-month-nav .month-step-btn {
  width: 1.38rem;
  height: 1.02rem;
  padding: 0;
  color: var(--transit-ink);
}

.page-shell--transits .transit-month-nav .month-step-btn:hover {
  background: transparent;
  color: var(--transit-ink);
}

.page-shell--transits .transit-month-nav .month-step-btn .transit-day-nav__icon {
  width: 0.72rem;
  height: 0.72rem;
}

.page-shell--transits .transit-month-nav .wheel-trigger {
  min-height: 1rem;
  padding: 0;
  font-family: var(--font-serif);
  font-size: clamp(1.1rem, 1.02rem + 0.38vw, 1.3rem);
  font-weight: 700;
  letter-spacing: 0.045em;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
}

.page-shell--transits .transit-month-nav .month-trigger-label {
  letter-spacing: 0.02em;
}

.page-shell--transits .month-picker-popup {
  background: var(--transit-card-bg);
  border: 1px solid rgba(221, 220, 216, 0.88);
  border-radius: 0;
  box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
}

.page-shell--transits .month-picker-year-nav span {
  font-family: var(--font-serif);
}

.page-shell--transits .month-nav-btn,
.page-shell--transits .month-cell {
  border-radius: 0;
}

.page-shell--transits .calendar-head {
  background: #f7f7f5;
  border-bottom-color: rgba(235, 233, 230, 0.94);
  padding: 0.62rem 0.45rem;
  color: var(--transit-muted);
  font-family: var(--font-sans);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-align: center;
}

.page-shell--transits .calendar-cell {
  min-height: 128px;
  padding: 0.54rem 0.5rem 0.46rem;
  border-right-color: rgba(235, 233, 230, 0.94);
  border-bottom-color: rgba(235, 233, 230, 0.94);
  background: var(--transit-card-bg);
}

.page-shell--transits .calendar-cell.is-muted {
  background: #f9f9f7;
}

.page-shell--transits .calendar-cell--clickable:hover {
  background: #fcfcfa;
}

.page-shell--transits .calendar-cell.is-selected {
  box-shadow: inset 0 0 0 1px rgba(133, 129, 125, 0.72);
  background: var(--transit-card-bg);
}

.page-shell--transits .calendar-cell.is-selected .calendar-day {
  color: #707b88;
}

.page-shell--transits .calendar-day {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.38rem;
  color: #9aa5b0;
  font-family: var(--font-sans);
  font-size: 0.68rem;
  font-weight: 600;
}

.page-shell--transits .calendar-day-number {
  color: var(--transit-ink);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.page-shell--transits .calendar-overflow-count {
  color: var(--transit-muted);
  font-family: var(--font-sans);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-shell--transits .active-now-list {
  gap: 0.8rem;
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 0 var(--transit-gutter);
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--transits .active-now-list--preview {
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--transits .active-now-card {
  min-height: 136px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
  overflow: visible;
  isolation: auto;
}

.page-shell--transits .active-now-card::before {
  content: none;
}

.page-shell--transits .active-now-card:hover {
  background: #ffffff;
  border-color: #d8d4cf;
}

.page-shell--transits .inline-plus-gate,
.page-shell--transits .yourlog-toolbar,
.page-shell--transits .yourlog-timeline,
.page-shell--transits .transit-empty-state {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 0 var(--transit-gutter);
  background: var(--transit-module-bg);
  border: 0;
  box-shadow: none;
}

.page-shell--transits .inline-plus-gate {
  padding: 1rem 1.05rem 1.18rem;
}

.page-shell--transits .yourlog-toolbar {
  padding: 1.02rem 1.05rem 1.08rem;
}

.page-shell--transits .yourlog-timeline {
  padding: 1.02rem 1.05rem 0.5rem;
}

.page-shell--transits .transit-empty-state {
  padding: 2.2rem 1.05rem 1.95rem;
}

.page-shell--transits .transit-event-card {
  background: #ffffff;
}

.page-shell--transits .transit-event-card:hover {
  background: #ffffff;
  border-color: #d8d4cf;
}

.page-shell--transits .active-now-card--upsell {
  background: #ffffff;
}

.page-shell--transits .active-now-card--upsell:hover {
  background: #ffffff;
  border-color: transparent;
}

.page-shell--transits .active-now-card--locked {
  background: linear-gradient(135deg, #ffffff 0%, #fcfbf9 100%);
  border-color: var(--transit-line);
}

.page-shell--transits .active-now-card--locked:hover {
  background: linear-gradient(135deg, #fcfbf9 0%, #f8f6f3 100%);
  border-color: var(--transit-line-strong);
}

.page-shell--transits .active-now-card-body {
  gap: 0;
  padding: 0.72rem 0.92rem 0.98rem;
}

.page-shell--transits .active-now-card-meta {
  display: flex;
  grid-template-columns: none;
  flex-direction: column;
  gap: 0.12rem;
  max-inline-size: 100%;
  min-height: 1.88rem;
  padding-inline-end: 0;
}

.page-shell--transits .active-now-meta-line {
  display: inline-flex;
  align-items: baseline;
  gap: 0.42rem;
  flex-wrap: wrap;
}

.page-shell--transits .active-now-meta-label {
  color: #8c867d;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: none;
}

.page-shell--transits .active-now-meta-value {
  color: color-mix(in srgb, var(--muted) 80%, var(--ink) 20%);
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.35;
  white-space: nowrap;
}

.page-shell--transits .active-now-text {
  margin-top: auto;
  min-height: auto;
  padding-top: 0.72rem;
  border-top: 0;
  align-items: end;
  column-gap: 0.5rem;
}

.page-shell--transits .active-now-copy {
  gap: 0.2rem;
  max-inline-size: 100%;
  align-self: stretch;
}

.page-shell--transits .active-now-eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  color: #8c867d;
  font-family: inherit;
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: none;
}

.page-shell--transits .active-now-report-title {
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-shell--transits .active-now-arrow {
  align-self: end;
  color: var(--muted);
  opacity: 1;
}

.page-shell--transits .active-now-star {
  top: 0.65rem;
  right: 0.65rem;
}

.page-shell--transits .active-now-star.trajectory-star-button {
  width: 1.72rem;
  height: 1.72rem;
  border-radius: 999px;
  background: transparent;
  color: var(--transit-card-accent-color);
}

.page-shell--transits .active-now-star.trajectory-star-button:hover {
  background: transparent;
  color: var(--transit-card-accent-color);
  transform: none;
}

.page-shell--transits .active-now-star.trajectory-star-button.is-active {
  background: transparent;
  color: var(--transit-card-accent-color);
}

.page-shell--transits .active-now-upsell-card__body {
  justify-content: space-between;
  gap: 1.08rem;
}

.page-shell--transits .active-now-upsell-card__copy {
  gap: 0.42rem;
  max-width: 100%;
}

.page-shell--transits .active-now-upsell-card__title {
  color: var(--transit-ink);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.4;
}

.page-shell--transits .active-now-upsell-card__text {
  color: var(--transit-muted);
  font-size: 0.84rem;
  line-height: 1.56;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event-card {
  gap: 0.18rem;
  min-width: 0;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event,
.page-shell--transits .yourlog-event-chip {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  min-height: 1.42rem;
  margin-bottom: 0.16rem;
  padding: 0.2rem 0.4rem;
  border: 1px solid transparent;
  border-radius: 4px;
  background: var(--transit-chip-bg);
  box-shadow: none;
  color: var(--transit-chip-ink);
  font-family: inherit;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.04;
  overflow: hidden;
  white-space: nowrap;
  transition: opacity 0.12s ease, background 0.12s ease, color 0.12s ease;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event {
  justify-content: center;
  gap: 0.16rem;
}

.page-shell--transits .yourlog-event-chip {
  justify-content: flex-start;
  gap: 0.12rem;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event:hover,
.page-shell--transits:not(.transits-page-shell--calendar) .yourlog-event-link:hover .calendar-event,
.page-shell--transits .yourlog-event-link:hover .yourlog-event-chip {
  background: var(--transit-chip-hover);
  color: var(--transit-chip-ink);
  transform: none;
  text-decoration: none;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--moon,
.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--moon:hover {
  background: var(--transit-chip-bg);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--moon-ingress,
.page-shell--transits .yourlog-event-chip.calendar-event--moon-ingress {
  background: var(--transit-chip-moon-bg);
  color: var(--transit-chip-ink);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--moon-ingress:hover,
.page-shell--transits:not(.transits-page-shell--calendar) .yourlog-event-link:hover .calendar-event--moon-ingress,
.page-shell--transits .yourlog-event-link:hover .yourlog-event-chip.calendar-event--moon-ingress {
  background: var(--transit-chip-moon-hover);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--fixed-star,
.page-shell--transits .yourlog-event-chip.calendar-event--fixed-star {
  background: var(--transit-chip-fixed-star-bg);
  color: var(--transit-chip-ink);
  font-size: 0.68rem;
  line-height: 0.98;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--fixed-star-compact,
.page-shell--transits .yourlog-event-chip.calendar-event--fixed-star-compact {
  font-size: 0.62rem;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--fixed-star-condensed,
.page-shell--transits .yourlog-event-chip.calendar-event--fixed-star-condensed {
  font-size: 0.56rem;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--fixed-star-micro,
.page-shell--transits .yourlog-event-chip.calendar-event--fixed-star-micro {
  font-size: 0.5rem;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-fixed-star-name,
.page-shell--transits .yourlog-event-chip .calendar-fixed-star-name {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--fixed-star:hover,
.page-shell--transits:not(.transits-page-shell--calendar) .yourlog-event-link:hover .calendar-event--fixed-star,
.page-shell--transits .yourlog-event-link:hover .yourlog-event-chip.calendar-event--fixed-star {
  background: var(--transit-chip-fixed-star-hover);
  color: var(--transit-chip-ink);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--tr-nat {
  background: var(--transit-chip-tr-nat-bg);
  color: var(--transit-chip-ink);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--tr-nat:hover {
  background: var(--transit-chip-tr-nat-hover);
  color: var(--transit-chip-ink);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--tr-nat .calendar-tr-nat-role {
  color: rgba(246, 242, 235, 0.64);
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--tr-nat .calendar-tr-nat-body {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event svg.astro-icon,
.page-shell--transits .yourlog-event-chip svg.astro-icon {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 auto;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-chip,
.page-shell--transits .yourlog-event-chip .astro-chip {
  align-items: center;
  justify-content: center;
  gap: 0.04rem;
  flex: 0 0 auto;
  min-width: 0;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-in,
.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-v2-in,
.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-aspect-sym,
.page-shell--transits .yourlog-event-chip .natal-card-in,
.page-shell--transits .yourlog-event-chip .natal-card-v2-in,
.page-shell--transits .yourlog-event-chip .astro-aspect-sym {
  font-size: 0.78rem;
  color: var(--transit-chip-subtle);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-rx,
.page-shell--transits .yourlog-event-chip .astro-rx {
  position: static;
  display: inline-block;
  align-self: center;
  margin-left: -0.1rem;
  margin-bottom: 0;
  color: rgba(246, 242, 235, 0.92);
  font-size: 0.5rem;
  letter-spacing: -0.01em;
  line-height: 1;
  text-shadow: none;
  transform: translateY(-0.01rem);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.transits-page-shell--active-now .active-now-card,
.transits-page-shell--active-now .active-now-card:hover {
  background: #ffffff;
}

@media (max-width: 760px) {
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event {
    min-height: 1.18rem;
    gap: 0.1rem;
    padding: 0.14rem 0.22rem;
    font-size: 0.62rem;
    line-height: 1.06;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event svg.astro-icon {
    width: 14px !important;
    height: 14px !important;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-in,
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-v2-in,
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-aspect-sym {
    font-size: 0.6rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-rx {
    margin-left: -0.08rem;
    font-size: 0.4rem;
  }
}

@media (max-width: 560px) {
  .page-shell--transits {
    gap: 0.92rem;
    padding: 0.62rem 0 0.88rem;
  }

  .page-shell--transits .transit-month-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.42rem;
    padding: 0.68rem 0.72rem;
  }

  .page-shell--transits .transit-month-nav__month-controls {
    gap: 0.34rem;
  }

  .page-shell--transits .transit-month-nav__utilities {
    gap: 0.28rem;
    flex-wrap: nowrap;
    margin-left: 0;
    min-width: 0;
  }

  .page-shell--transits .transit-month-nav form,
  .page-shell--transits .transit-month-nav .wheel-picker-outer,
  .page-shell--transits .transit-month-nav .wheel-trigger {
    min-width: 0;
  }

  .page-shell--transits .transit-month-nav .wheel-trigger {
    min-height: 1.2rem;
    padding: 0.04rem;
  }

  .page-shell--transits .transit-month-nav .month-trigger-label {
    font-size: 0.86rem;
    white-space: nowrap;
  }

  .page-shell--transits .transit-month-nav .month-step-btn {
    width: 1.1rem;
    height: 0.86rem;
  }

  .page-shell--transits .moon-toggle-wrap {
    min-height: 1.38rem;
    padding: 0.28rem 0.42rem;
  }

  .page-shell--transits .moon-toggle-label {
    font-size: 0.56rem;
    letter-spacing: 0.1em;
  }

  .page-shell--transits .calendar-head {
    padding: 0.46rem 0.14rem;
    font-size: 0.54rem;
    letter-spacing: 0.08em;
  }

  .page-shell--transits .calendar-cell {
    min-height: clamp(5.3rem, 20vw, 6.35rem);
    padding: 0.3rem 0.22rem 0.24rem;
  }

  .page-shell--transits .calendar-day {
    margin-bottom: 0.16rem;
    font-size: 0.58rem;
  }

  .page-shell--transits .calendar-day-number {
    font-size: 0.72rem;
  }

  .page-shell--transits .calendar-overflow-count {
    font-size: 0.54rem;
  }

  .transit-subpage-panel {
    gap: 0.82rem;
  }

  .page-shell--transits .transit-calendar-selection {
    padding: 0.78rem 0.82rem;
  }

  .page-shell--transits .active-now-list {
    padding: 0;
  }

  .page-shell--transits .inline-plus-gate,
  .page-shell--transits .yourlog-toolbar,
  .page-shell--transits .yourlog-timeline {
    padding-inline: 0.82rem;
  }

  .page-shell--transits .transit-empty-state {
    padding: 1.6rem 0.82rem 1.45rem;
  }

  .page-shell--transits .yourlog-filter-form {
    gap: 0.5rem;
  }

  .page-shell--transits .yourlog-filter-search-row {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.36rem;
  }

  .page-shell--transits .yourlog-filter-submit,
  .page-shell--transits .yourlog-filter-reset {
    white-space: nowrap;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event-card {
    gap: 0.1rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event {
    min-height: 1.26rem;
    gap: 0.1rem;
    margin-bottom: 0.1rem;
    padding: 0.13rem 0.2rem;
    border-radius: 2px;
    font-size: 0.62rem;
    line-height: 1.04;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--fixed-star {
    font-size: 0.56rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--fixed-star-compact {
    font-size: 0.52rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--fixed-star-condensed {
    font-size: 0.48rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event--fixed-star-micro {
    font-size: 0.44rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event svg.astro-icon {
    width: 14px !important;
    height: 14px !important;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-in,
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-v2-in,
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-aspect-sym {
    font-size: 0.64rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-rx {
    margin-left: -0.06rem;
    font-size: 0.42rem;
  }
}

.active-now-card-glyph {
  display: none;
}

/* Transit > Now mockup parity */
.transits-page-shell--active-now {
  --transit-gutter: 1.26rem;
  --transit-now-paper: #fffdf8;
  --transit-now-wash: #faf6ee;
  --transit-now-line: #e2d8c9;
  --transit-now-line-strong: #cfc0aa;
  --transit-now-ink: #302a23;
  --transit-now-muted: #91887d;
  --transit-now-soft: #f6f1e8;
  --transit-now-olive: #5c5438;
  --transit-now-blue: #58708c;
  width: 100%;
  max-width: 430px;
  min-height: calc(100dvh - 2rem);
  margin-inline: auto;
  gap: 0;
  padding: 1.05rem 0 1.32rem;
  border: 1px solid rgba(207, 192, 170, 0.62);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 254, 251, 0.98) 0%, rgba(250, 247, 240, 0.98) 100%),
    var(--transit-now-paper);
  box-shadow: 0 24px 72px rgba(58, 43, 23, 0.11);
  overflow: hidden;
}

.transit-now-surface {
  gap: 0;
  padding-top: 1.02rem;
}

.transit-now-section {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin-inline: var(--transit-gutter);
}

.transit-now-section + .transit-now-section {
  margin-top: 1.18rem;
}

.transit-now-section__head {
  padding: 0 0 0.82rem;
  border-bottom: 1px solid var(--transit-now-line);
}

.transit-now-section__eyebrow {
  margin: 0 0 0.54rem;
  color: var(--transit-now-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.1;
  text-transform: uppercase;
}

.transit-now-section__title {
  margin: 0;
  color: var(--transit-now-ink);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.42;
}

.transits-page-shell--active-now .active-now-list {
  display: grid;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.transits-page-shell--active-now .active-now-reveal {
  display: grid;
  width: 100%;
  padding: 0.42rem 0 0.22rem;
}

.transits-page-shell--active-now .active-now-reveal [hidden] {
  display: none !important;
}

.transits-page-shell--active-now .active-now-reveal__trigger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 0.66rem;
  width: 100%;
  min-height: 2.36rem;
  padding: 0.2rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--transit-now-muted);
  font: inherit;
  cursor: pointer;
  box-shadow: none;
}

.transits-page-shell--active-now .active-now-reveal__trigger:hover {
  color: var(--transit-now-olive);
  background: transparent;
}

.transits-page-shell--active-now .active-now-reveal__trigger:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--transit-now-blue) 46%, transparent);
  outline-offset: -2px;
}

.transits-page-shell--active-now .active-now-reveal__rule {
  height: 1px;
  background: var(--transit-now-line);
}

.transits-page-shell--active-now .active-now-reveal__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.34rem;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  white-space: nowrap;
}

.transits-page-shell--active-now .active-now-reveal__label,
.transits-page-shell--active-now .active-now-reveal__count {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.transits-page-shell--active-now .active-now-reveal__label {
  color: currentColor;
}

.transits-page-shell--active-now .active-now-reveal__count {
  color: color-mix(in srgb, currentColor 76%, var(--transit-now-ink) 24%);
}

.transits-page-shell--active-now .active-now-reveal__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  color: currentColor;
  transform-origin: 50% 50%;
  transition: transform 0.16s ease;
}

.transits-page-shell--active-now .active-now-reveal__icon svg {
  width: 0.86rem;
  height: 0.86rem;
  overflow: visible;
}

.transits-page-shell--active-now .active-now-reveal__icon path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.transits-page-shell--active-now .active-now-reveal__trigger.is-expanded .active-now-reveal__icon,
.transits-page-shell--active-now .active-now-reveal__trigger[aria-expanded="true"] .active-now-reveal__icon {
  transform: rotate(180deg);
}

.transits-page-shell--active-now .active-now-card,
.transits-page-shell--active-now .transit-event-card,
.transits-page-shell--active-now .active-now-card:hover,
.transits-page-shell--active-now .transit-event-card:hover {
  min-height: 7.35rem;
  border: 0;
  border-bottom: 1px solid var(--transit-now-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.transits-page-shell--active-now .active-now-card:last-child {
  border-bottom-color: transparent;
}

.transits-page-shell--active-now .active-now-card:hover {
  background: rgba(246, 241, 232, 0.46);
}

.transits-page-shell--active-now .active-now-card-glyph {
  position: absolute;
  top: 50%;
  left: 0.08rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.76rem;
  height: 1.76rem;
  border: 1px solid rgba(93, 83, 57, 0.38);
  border-radius: 999px;
  color: var(--transit-now-olive);
  font-family: "Segoe UI Symbol", "Apple Symbols", "Arial Unicode MS", sans-serif;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
}

.transits-page-shell--active-now .active-now-card-body {
  min-height: 7.35rem;
  padding: 1.08rem 2.66rem 0.98rem 2.55rem;
}

.transits-page-shell--active-now .active-now-card-body--link {
  color: inherit;
}

.transits-page-shell--active-now .active-now-card-meta {
  gap: 0.16rem;
  min-height: 2.2rem;
  padding-inline-end: 0;
}

.transits-page-shell--active-now .active-now-meta-line {
  gap: 0.42rem;
}

.transits-page-shell--active-now .active-now-meta-label,
.transits-page-shell--active-now .active-now-meta-value {
  color: var(--transit-now-muted);
  font-size: 0.68rem;
  line-height: 1.38;
}

.transits-page-shell--active-now .active-now-meta-label {
  font-weight: 700;
  letter-spacing: 0.03em;
}

.transits-page-shell--active-now .active-now-meta-value {
  font-weight: 400;
  white-space: nowrap;
}

.transits-page-shell--active-now .active-now-text {
  min-height: 0;
  margin-top: auto;
  padding-top: 0.72rem;
  column-gap: 0.48rem;
  align-items: end;
}

.transits-page-shell--active-now .active-now-copy {
  gap: 0.22rem;
}

.transits-page-shell--active-now .active-now-eyebrow {
  margin: 0 0 0.28rem;
  color: #8b8174;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.36;
}

.transits-page-shell--active-now .active-now-report-title {
  color: var(--transit-now-ink);
  font-family: var(--font-serif);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.42;
  overflow: visible;
  white-space: normal;
}

.transits-page-shell--active-now .active-now-arrow {
  color: #aaa195;
  opacity: 1;
  transform: translateY(-0.08rem);
}

.transits-page-shell--active-now .active-now-star {
  top: 1.05rem;
  right: 0.22rem;
}

.transits-page-shell--active-now .active-now-star.trajectory-star-button,
.transits-page-shell--active-now .active-now-star.trajectory-star-button:hover,
.transits-page-shell--active-now .active-now-star.trajectory-star-button.is-active {
  width: 1.72rem;
  height: 1.72rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--transit-now-blue);
  box-shadow: none;
  transform: none;
}

.transits-page-shell--active-now .inline-plus-gate,
.transits-page-shell--active-now .transit-empty-state {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--transit-now-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.transits-page-shell--active-now .inline-plus-gate {
  padding: 1rem 0.16rem 1.08rem 2.55rem;
}

.transits-page-shell--active-now .you-x-now-lock-gate {
  width: 100%;
  margin: 0;
  padding: 1.35rem 0.16rem 1.28rem;
  border-bottom: 1px solid var(--transit-now-line);
  background: transparent;
  color: var(--transit-now-ink);
  font-family: var(--font-serif);
  text-align: center;
}

.transits-page-shell--active-now .you-x-now-lock-gate__content {
  display: grid;
  justify-items: center;
  padding-inline: 0.28rem;
}

.transits-page-shell--active-now .you-x-now-lock-gate__seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.14rem;
  height: 2.14rem;
  margin-bottom: 0.5rem;
  border: 1px solid rgba(207, 192, 170, 0.86);
  border-radius: 999px;
  background: rgba(250, 246, 238, 0.62);
  color: var(--transit-now-olive);
}

.transits-page-shell--active-now .you-x-now-lock-gate__eyebrow {
  margin: 0 0 0.42rem;
  color: #746d62;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
}

.transits-page-shell--active-now .you-x-now-lock-gate__title {
  margin: 0;
  max-width: 18rem;
  color: var(--transit-now-ink);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.42;
}

.transits-page-shell--active-now .you-x-now-lock-gate__body {
  margin: 1rem 0 0;
  max-width: 18.5rem;
  color: #655f56;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.72;
}

.transits-page-shell--active-now .you-x-now-lock-gate__actions {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 1.28rem;
}

.transits-page-shell--active-now .you-x-now-lock-gate__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 13.8rem);
  min-height: 3.08rem;
  padding: 0.66rem 1.24rem;
  border: 1px solid rgba(92, 84, 56, 0.36);
  border-radius: 5px;
  background: var(--transit-now-olive);
  color: #fffdf8;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.18;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.transits-page-shell--active-now .you-x-now-lock-gate__cta:hover {
  border-color: rgba(68, 61, 39, 0.42);
  background: #4f482f;
  color: #fffdf8;
  text-decoration: none;
}

.transits-page-shell--active-now .you-x-now-lock-gate__cta--disabled {
  width: min(100%, 18.4rem);
  background: #8c8675;
  pointer-events: none;
}

.transits-page-shell--active-now .you-x-now-lock-gate__summary {
  display: grid;
  width: min(100%, 20.2rem);
  margin: 1.34rem auto 0;
  border-block: 1px solid var(--transit-now-line-strong);
}

.transits-page-shell--active-now .you-x-now-lock-gate__summary-row {
  display: grid;
  grid-template-columns: minmax(6.2rem, 0.74fr) minmax(0, 1fr);
  min-height: 2.34rem;
  border-top: 1px solid var(--transit-now-line);
}

.transits-page-shell--active-now .you-x-now-lock-gate__summary-row:first-child {
  border-top: 0;
}

.transits-page-shell--active-now .you-x-now-lock-gate__summary-label,
.transits-page-shell--active-now .you-x-now-lock-gate__summary-value {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 0.44rem 0.62rem;
  color: #5e564a;
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.42;
  text-align: left;
}

.transits-page-shell--active-now .you-x-now-lock-gate__summary-label {
  color: #473f35;
  white-space: nowrap;
}

.transits-page-shell--active-now .you-x-now-lock-gate__summary-value {
  border-left: 1px solid var(--transit-now-line);
}

.transits-page-shell--active-now .transit-empty-state {
  padding: 1.5rem 0.16rem 1.55rem 2.55rem;
}

@media (max-width: 1040px) {
  .transits-page-shell--active-now {
    min-height: calc(100dvh - 8.5rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 560px) {
  .transits-page-shell--active-now {
    --transit-gutter: 1.06rem;
    padding-top: 0.95rem;
  }

  .transits-page-shell--active-now .active-now-card-body {
    padding-right: 2.28rem;
    padding-left: 2.38rem;
  }

  .transits-page-shell--active-now .active-now-card-glyph {
    left: 0;
    width: 1.64rem;
    height: 1.64rem;
    font-size: 0.94rem;
  }

  .transits-page-shell--active-now .you-x-now-lock-gate {
    padding: 1.24rem 0 1.18rem;
  }

  .transits-page-shell--active-now .you-x-now-lock-gate__title {
    font-size: 1.22rem;
  }

  .transits-page-shell--active-now .you-x-now-lock-gate__body {
    max-width: 17.6rem;
    font-size: 0.88rem;
  }

  .transits-page-shell--active-now .you-x-now-lock-gate__summary-row {
    grid-template-columns: minmax(5.8rem, 0.68fr) minmax(0, 1fr);
  }

  .transits-page-shell--active-now .you-x-now-lock-gate__summary-label,
  .transits-page-shell--active-now .you-x-now-lock-gate__summary-value {
    padding-inline: 0.5rem;
    font-size: 0.76rem;
  }
}

/* Transit > Calendar day mockup parity */
.transits-page-shell--day {
  --transit-gutter: 1.26rem;
  --transit-day-paper: #fffdf8;
  --transit-day-line: #e2d8c9;
  --transit-day-ink: #302a23;
  --transit-day-muted: #91887d;
  --transit-day-olive: #5c5438;
  --transit-day-blue: #58708c;
  max-width: 430px;
  min-height: calc(100dvh - 2rem);
  margin-inline: auto;
  gap: 0;
  padding: 1.05rem 0 1.32rem;
  border: 1px solid rgba(207, 192, 170, 0.62);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 254, 251, 0.98) 0%, rgba(250, 247, 240, 0.98) 100%),
    var(--transit-day-paper);
  box-shadow: 0 24px 72px rgba(58, 43, 23, 0.11);
  overflow: hidden;
}

.transits-page-shell--day .transit-day-nav {
  gap: 0.55rem;
  margin: 1.08rem auto 1.02rem;
}

.transits-page-shell--day .transit-day-nav__step {
  min-width: 1.18rem;
  min-height: 1.38rem;
  color: #a29a91;
}

.transits-page-shell--day .transit-day-nav__step:hover {
  color: var(--transit-day-ink);
}

.transits-page-shell--day .transit-day-nav__icon {
  width: 0.68rem;
  height: 0.68rem;
}

.transits-page-shell--day .transit-day-nav__label {
  color: var(--transit-day-muted);
  font-family: var(--font-serif);
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.transits-page-shell--day .transit-day-surface {
  gap: 0;
  padding-top: 0.92rem;
}

.transits-page-shell--day .transit-day-section {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin-inline: var(--transit-gutter);
}

.transits-page-shell--day .transit-day-section + .transit-day-section {
  margin-top: 1.18rem;
}

.transits-page-shell--day .transit-day-section__head {
  padding: 0 0 0.82rem;
  border-bottom: 1px solid var(--transit-day-line);
}

.transits-page-shell--day .transit-day-section__eyebrow {
  margin: 0 0 0.54rem;
  color: var(--transit-day-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.1;
  text-transform: uppercase;
}

.transits-page-shell--day .transit-day-section__title {
  margin: 0;
  color: var(--transit-day-ink);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.42;
}

.transits-page-shell--day .active-now-list {
  display: grid;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.transits-page-shell--day .active-now-card,
.transits-page-shell--day .transit-event-card,
.transits-page-shell--day .active-now-card:hover,
.transits-page-shell--day .transit-event-card:hover {
  min-height: 7.35rem;
  border: 0;
  border-bottom: 1px solid var(--transit-day-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.transits-page-shell--day .active-now-card:last-child {
  border-bottom-color: transparent;
}

.transits-page-shell--day .active-now-card:hover {
  background: rgba(246, 241, 232, 0.46);
}

.transits-page-shell--day .active-now-card-glyph {
  position: absolute;
  top: 50%;
  left: 0.08rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.76rem;
  height: 1.76rem;
  border: 1px solid rgba(93, 83, 57, 0.38);
  border-radius: 999px;
  color: var(--transit-day-olive);
  font-family: "Segoe UI Symbol", "Apple Symbols", "Arial Unicode MS", sans-serif;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
}

.transits-page-shell--day .active-now-card-body {
  min-height: 7.35rem;
  padding: 1.08rem 2.66rem 0.98rem 2.55rem;
}

.transits-page-shell--day .active-now-card-meta {
  gap: 0.16rem;
  min-height: 2.2rem;
  padding-inline-end: 0;
}

.transits-page-shell--day .active-now-meta-label,
.transits-page-shell--day .active-now-meta-value {
  color: var(--transit-day-muted);
  font-size: 0.68rem;
  line-height: 1.38;
}

.transits-page-shell--day .active-now-meta-label {
  font-weight: 700;
  letter-spacing: 0.03em;
}

.transits-page-shell--day .active-now-meta-value {
  font-weight: 400;
  white-space: nowrap;
}

.transits-page-shell--day .active-now-text {
  min-height: 0;
  margin-top: auto;
  padding-top: 0.72rem;
  column-gap: 0.48rem;
  align-items: end;
}

.transits-page-shell--day .active-now-copy {
  gap: 0.22rem;
}

.transits-page-shell--day .active-now-eyebrow {
  margin: 0 0 0.28rem;
  color: #8b8174;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.36;
}

.transits-page-shell--day .active-now-report-title {
  color: var(--transit-day-ink);
  font-family: var(--font-serif);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.42;
  overflow: visible;
  white-space: normal;
}

.transits-page-shell--day .active-now-arrow {
  color: #aaa195;
  opacity: 1;
  transform: translateY(-0.08rem);
}

.transits-page-shell--day .active-now-star {
  top: 1.05rem;
  right: 0.22rem;
}

.transits-page-shell--day .active-now-star.trajectory-star-button,
.transits-page-shell--day .active-now-star.trajectory-star-button:hover,
.transits-page-shell--day .active-now-star.trajectory-star-button.is-active {
  width: 1.72rem;
  height: 1.72rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--transit-day-blue);
  box-shadow: none;
  transform: none;
}

.transits-page-shell--day .inline-plus-gate,
.transits-page-shell--day .transit-empty-state {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--transit-day-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.transits-page-shell--day .inline-plus-gate {
  padding: 1rem 0.16rem 1.08rem 2.55rem;
}

.transits-page-shell--day .transit-empty-state {
  padding: 6.1rem 0.16rem 3.5rem;
  text-align: center;
}

.transits-page-shell--day .transit-empty-state__glyph {
  margin-bottom: 0.72rem;
  color: #a29a91;
  font-size: 1.26rem;
}

.transits-page-shell--day .transit-empty-state__title {
  color: #5f5850;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.46;
}

@media (max-width: 1040px) {
  .transits-page-shell--day {
    min-height: calc(100dvh - 8.5rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 560px) {
  .transits-page-shell--day {
    --transit-gutter: 1.06rem;
    padding-top: 0.95rem;
  }

  .transits-page-shell--day .active-now-card-body {
    padding-right: 2.28rem;
    padding-left: 2.38rem;
  }

  .transits-page-shell--day .active-now-card-glyph {
    left: 0;
    width: 1.64rem;
    height: 1.64rem;
    font-size: 0.94rem;
  }
}

/* Migrated Transit final layers from z99. */
/* Transit > Now final mockup layer. */
.page-shell--transits.transits-page-shell--active-now {
  --transit-gutter: 1.26rem;
  --transit-now-paper: #fffdf8;
  --transit-now-line: #e2d8c9;
  --transit-now-ink: #302a23;
  --transit-now-muted: #91887d;
  --transit-now-olive: #5c5438;
  --transit-now-blue: #58708c;
  max-width: 430px;
  min-height: calc(100dvh - 2rem);
  margin-inline: auto;
  align-content: start;
  gap: 0;
  grid-auto-rows: max-content;
  padding: 1.05rem 0 1.32rem;
  border: 1px solid rgba(207, 192, 170, 0.62);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 254, 251, 0.98) 0%, rgba(250, 247, 240, 0.98) 100%),
    var(--transit-now-paper);
  box-shadow: 0 24px 72px rgba(58, 43, 23, 0.11);
  overflow: hidden;
}

.page-shell--transits.transits-page-shell--active-now .transit-now-surface {
  gap: 0;
  padding-top: 1.02rem;
}

.page-shell--transits.transits-page-shell--active-now .transit-now-section {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin-inline: var(--transit-gutter);
}

.page-shell--transits.transits-page-shell--active-now .transit-now-section + .transit-now-section {
  margin-top: 1.18rem;
}

.page-shell--transits.transits-page-shell--active-now .transit-now-section__head {
  padding: 0 0 0.82rem;
  border-bottom: 1px solid var(--transit-now-line);
}

.page-shell--transits.transits-page-shell--active-now .transit-now-section__eyebrow {
  margin: 0 0 0.54rem;
  color: var(--transit-now-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.1;
  text-transform: uppercase;
}

.page-shell--transits.transits-page-shell--active-now .transit-now-section__title {
  margin: 0;
  color: var(--transit-now-ink);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.42;
}

.page-shell--transits.transits-page-shell--active-now .active-now-list {
  display: grid;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--active-now .active-now-card,
.page-shell--transits.transits-page-shell--active-now .transit-event-card,
.page-shell--transits.transits-page-shell--active-now .active-now-card:hover,
.page-shell--transits.transits-page-shell--active-now .transit-event-card:hover {
  min-height: 7.35rem;
  border: 0;
  border-bottom: 1px solid var(--transit-now-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.page-shell--transits.transits-page-shell--active-now .active-now-card:last-child {
  border-bottom-color: transparent;
}

.page-shell--transits.transits-page-shell--active-now .active-now-card:hover {
  background: rgba(246, 241, 232, 0.46);
}

.page-shell--transits.transits-page-shell--active-now .active-now-card-glyph {
  position: absolute;
  top: 50%;
  left: 0.08rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.76rem;
  height: 1.76rem;
  border: 1px solid rgba(93, 83, 57, 0.38);
  border-radius: 999px;
  color: var(--transit-now-olive);
  font-family: "Segoe UI Symbol", "Apple Symbols", "Arial Unicode MS", sans-serif;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
}

.page-shell--transits.transits-page-shell--active-now .active-now-card-body {
  min-height: 7.35rem;
  padding: 1.08rem 2.66rem 0.98rem 2.55rem;
}

.page-shell--transits.transits-page-shell--active-now .active-now-card-meta {
  gap: 0.16rem;
  min-height: 2.2rem;
  padding-inline-end: 0;
}

.page-shell--transits.transits-page-shell--active-now .active-now-meta-label,
.page-shell--transits.transits-page-shell--active-now .active-now-meta-value {
  color: var(--transit-now-muted);
  font-size: 0.68rem;
  line-height: 1.38;
}

.page-shell--transits.transits-page-shell--active-now .active-now-text {
  min-height: 0;
  margin-top: auto;
  padding-top: 0.72rem;
  column-gap: 0.48rem;
  align-items: end;
}

.page-shell--transits.transits-page-shell--active-now .active-now-eyebrow {
  margin: 0 0 0.28rem;
  color: #8b8174;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.36;
}

.page-shell--transits.transits-page-shell--active-now .active-now-report-title {
  color: var(--transit-now-ink);
  font-family: var(--font-serif);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.42;
  overflow: visible;
  white-space: normal;
}

.page-shell--transits.transits-page-shell--active-now .active-now-arrow {
  color: #aaa195;
  opacity: 1;
  transform: translateY(-0.08rem);
}

.page-shell--transits.transits-page-shell--active-now .active-now-star {
  top: 1.05rem;
  right: 0.22rem;
}

.page-shell--transits.transits-page-shell--active-now .active-now-star.trajectory-star-button,
.page-shell--transits.transits-page-shell--active-now .active-now-star.trajectory-star-button:hover,
.page-shell--transits.transits-page-shell--active-now .active-now-star.trajectory-star-button.is-active {
  width: 1.72rem;
  height: 1.72rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--transit-now-blue);
  box-shadow: none;
  transform: none;
}

.page-shell--transits.transits-page-shell--active-now .inline-plus-gate,
.page-shell--transits.transits-page-shell--active-now .transit-empty-state {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--transit-now-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--active-now .inline-plus-gate {
  padding: 1rem 0.16rem 1.08rem 2.55rem;
}

.page-shell--transits.transits-page-shell--active-now .transit-empty-state {
  padding: 1.5rem 0.16rem 1.55rem 2.55rem;
}

.page-shell--transits.transits-page-shell--active-now .transit-pending-state {
  padding: 2.65rem 1rem 2.35rem;
  text-align: center;
}

@media (max-width: 1040px) {
  .page-shell--transits.transits-page-shell--active-now {
    min-height: calc(100dvh - 8.5rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 560px) {
  .page-shell--transits.transits-page-shell--active-now {
    --transit-gutter: 1.06rem;
    padding-top: 0.95rem;
  }

  .page-shell--transits.transits-page-shell--active-now .active-now-card-body {
    padding-right: 2.28rem;
    padding-left: 2.38rem;
  }

  .page-shell--transits.transits-page-shell--active-now .active-now-card-glyph {
    left: 0;
    width: 1.64rem;
    height: 1.64rem;
    font-size: 0.94rem;
  }
}

/* Transit > Your Log final mockup layer. */
.page-shell--transits.transits-page-shell--list {
  --transit-gutter: 1.26rem;
  --page-shell-chrome-inline: var(--transit-gutter);
  --page-shell-tabs-inline: var(--transit-gutter);
  --transit-log-paper: #fffdf8;
  --transit-log-line: #e2d8c9;
  --transit-log-line-strong: #cfc0aa;
  --transit-log-ink: #302a23;
  --transit-log-muted: #91887d;
  --transit-log-olive: #5c5438;
  --transit-log-moon-ingress: color-mix(in srgb, var(--transit-log-olive) 82%, white 18%);
  --transit-log-moon-ingress-hover: color-mix(in srgb, var(--transit-log-olive) 88%, white 12%);
  --transit-log-fixed-star: #5F6A78;
  --transit-log-fixed-star-hover: #56616E;
  --transit-log-gold: #a18443;
  max-width: 430px;
  min-height: calc(100dvh - 2rem);
  margin-inline: auto;
  align-content: start;
  gap: 0;
  grid-auto-rows: max-content;
  padding: 1.05rem 0 1.32rem;
  border: 1px solid rgba(207, 192, 170, 0.62);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 254, 251, 0.98) 0%, rgba(250, 247, 240, 0.98) 100%),
    var(--transit-log-paper);
  box-shadow: 0 24px 72px rgba(58, 43, 23, 0.11);
  overflow: hidden;
}

.page-shell--transits.transits-page-shell--list .yourlog-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.12rem;
  align-items: end;
  width: calc(100% - (var(--transit-gutter) * 2));
  min-height: 2.92rem;
  margin: 1rem var(--transit-gutter) 0;
  padding: 0 0 0.52rem;
  border-bottom: 1px solid var(--transit-log-line);
}

.page-shell--transits.transits-page-shell--list .yourlog-hero__copy {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
  padding-inline-start: 0.1rem;
}

.page-shell--transits.transits-page-shell--list .yourlog-hero__eyebrow {
  margin: 0;
  color: #75612a;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.1;
}

.page-shell--transits.transits-page-shell--list .yourlog-hero__title {
  margin: 0;
  color: var(--transit-log-ink);
  font-family: var(--font-serif);
  font-size: 1.24rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.28;
}

.page-shell--transits.transits-page-shell--list .yourlog-hero__mark {
  justify-self: end;
  align-self: center;
  width: 2.48rem;
  height: 2.48rem;
  opacity: 1;
  object-fit: contain;
}

.page-shell--transits.transits-page-shell--list .yourlog-toolbar {
  display: grid;
  align-content: start;
  width: calc(100% - (var(--transit-gutter) * 2));
  min-height: 0;
  margin: 0.58rem var(--transit-gutter) 0;
  padding: 0.34rem 0.68rem 0.38rem;
  border: 1px solid var(--transit-log-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.66);
  box-shadow: none;
  box-sizing: border-box;
}

.page-shell--transits.transits-page-shell--list .yourlog-filter-form {
  display: grid;
  align-content: start;
  gap: 0;
  min-height: 0;
}

.page-shell--transits.transits-page-shell--list .yourlog-filter-field {
  gap: 0.24rem;
  min-height: 0;
}

.page-shell--transits.transits-page-shell--list .yourlog-filter-field__label {
  color: #6b5b36;
  font-family: var(--font-serif);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.page-shell--transits.transits-page-shell--list .yourlog-filter-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 4.18rem auto;
  gap: 0.5rem;
  align-items: center;
}

.page-shell--transits.transits-page-shell--list .yourlog-filter-field__input {
  width: 100%;
  min-width: 0;
  min-height: 1.82rem;
  padding: 0.24rem 0.62rem;
  border: 1px solid var(--transit-log-line-strong);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.74);
  color: var(--transit-log-ink);
  font-family: var(--font-serif);
  font-size: 0.88rem;
  line-height: 1.2;
}

.page-shell--transits.transits-page-shell--list .yourlog-filter-field__input::placeholder {
  color: color-mix(in srgb, var(--transit-log-muted) 84%, white 16%);
}

.page-shell--transits.transits-page-shell--list .yourlog-filter-submit {
  min-width: 4.18rem;
  min-height: 1.82rem;
  padding: 0.24rem 0.62rem;
  border: 1px solid var(--transit-log-olive);
  border-radius: 8px;
  background: var(--transit-log-olive);
  color: #fffaf1;
  font-family: var(--font-serif);
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1;
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--list .yourlog-filter-reset {
  color: var(--transit-log-muted);
  font-size: 0.78rem;
  white-space: nowrap;
}

.page-shell--transits.transits-page-shell--list .yourlog-timeline {
  display: grid;
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 0.72rem var(--transit-gutter) 0;
  padding: 0.42rem 0.68rem;
  border: 1px solid var(--transit-log-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.66);
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--list .yourlog-item {
  display: grid;
  grid-template-columns: 3.3rem 0.86rem minmax(0, 1fr) 1.22rem;
  align-items: stretch;
  min-height: 3.56rem;
  column-gap: 0.56rem;
  border-bottom: 1px solid var(--transit-log-line);
}

.page-shell--transits.transits-page-shell--list .yourlog-item:last-child {
  border-bottom: 0;
}

.page-shell--transits.transits-page-shell--list .yourlog-date {
  display: grid;
  gap: 0.16rem;
  align-self: center;
  margin: 0;
  color: var(--transit-log-ink);
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.12;
  text-align: left;
  white-space: nowrap;
}

.page-shell--transits.transits-page-shell--list .yourlog-date__time {
  color: var(--transit-log-muted);
  font-size: 0.84rem;
  font-weight: 400;
}

.page-shell--transits.transits-page-shell--list .yourlog-spine {
  position: relative;
  display: grid;
  place-items: center;
  align-self: stretch;
  width: 0.86rem;
  padding: 0;
}

.page-shell--transits.transits-page-shell--list .yourlog-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  min-height: 0;
  margin: 0;
  background: var(--transit-log-line-strong);
  transform: translateX(-50%);
}

.page-shell--transits.transits-page-shell--list .yourlog-item:first-child .yourlog-line {
  top: 50%;
}

.page-shell--transits.transits-page-shell--list .yourlog-item:last-child .yourlog-line {
  display: block;
  bottom: 50%;
}

.page-shell--transits.transits-page-shell--list .yourlog-dot {
  position: relative;
  z-index: 1;
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border: 2px solid var(--transit-log-olive);
  border-radius: 999px;
  background: var(--transit-log-paper);
}

.page-shell--transits.transits-page-shell--list .yourlog-item:hover .yourlog-dot {
  background: var(--transit-log-paper);
}

.page-shell--transits.transits-page-shell--list .yourlog-content {
  display: grid;
  align-content: center;
  gap: 0.22rem;
  min-width: 0;
  padding: 0.62rem 0;
  grid-template-columns: minmax(0, 1fr);
}

.page-shell--transits.transits-page-shell--list .yourlog-event-link {
  display: block;
  width: 100%;
  min-width: 0;
  text-decoration: none;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-title {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--transit-log-ink);
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.32;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: keep-all;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-link:hover .yourlog-event-title {
  color: color-mix(in srgb, var(--transit-log-ink) 88%, var(--transit-log-gold) 12%);
}

.page-shell--transits.transits-page-shell--list .yourlog-event-chip {
  justify-content: center;
  min-width: 3.1rem;
  width: auto;
  max-width: 4.8rem;
  min-height: 1.34rem;
  margin: 0;
  padding: 0.13rem 0.22rem;
  border-radius: 4px;
  background: var(--transit-log-olive);
  color: #fffaf1;
  font-size: 0.7rem;
  font-weight: 600;
  gap: 0.04rem;
  line-height: 1;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-link:hover .yourlog-event-chip {
  background: color-mix(in srgb, var(--transit-log-olive) 92%, white 8%);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-chip.calendar-event--moon-ingress {
  background: var(--transit-log-moon-ingress);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-link:hover .yourlog-event-chip.calendar-event--moon-ingress {
  background: var(--transit-log-moon-ingress-hover);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-chip.calendar-event--fixed-star {
  background: var(--transit-log-fixed-star);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-link:hover .yourlog-event-chip.calendar-event--fixed-star {
  background: var(--transit-log-fixed-star-hover);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-chip svg.astro-icon {
  width: 14px !important;
  height: 14px !important;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-chip .astro-chip {
  gap: 0.02rem;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-chip .natal-card-in,
.page-shell--transits.transits-page-shell--list .yourlog-event-chip .natal-card-v2-in,
.page-shell--transits.transits-page-shell--list .yourlog-event-chip .astro-aspect-sym {
  color: rgba(255, 250, 241, 0.76);
  font-size: 0.68rem;
}

.page-shell--transits.transits-page-shell--list .yourlog-event-chip .astro-rx {
  color: rgba(255, 250, 241, 0.92);
  font-size: 0.43rem;
}

.page-shell--transits.transits-page-shell--list .yourlog-note {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  color: color-mix(in srgb, var(--transit-log-ink) 74%, var(--transit-log-muted) 26%);
  font-family: var(--font-serif);
  font-size: 0.79rem;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: keep-all;
}

.page-shell--transits.transits-page-shell--list .yourlog-note--placeholder {
  color: var(--transit-log-ink);
}

.page-shell--transits.transits-page-shell--list .yourlog-item > .trajectory-star-button {
  justify-self: end;
  align-self: center;
  width: 1.1rem;
  height: 1.55rem;
  color: #3f3b35;
}

.page-shell--transits.transits-page-shell--list .yourlog-item > .trajectory-star-button:hover,
.page-shell--transits.transits-page-shell--list .yourlog-item > .trajectory-star-button.is-active {
  color: #3f3b35;
  transform: none;
}

.page-shell--transits.transits-page-shell--list .yourlog-item > .trajectory-star-button .trajectory-bookmark-icon {
  width: 0.78rem;
  height: 1rem;
}

.page-shell--transits.transits-page-shell--list .transit-empty-state {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 1.48rem var(--transit-gutter) 0;
  border: 1px solid var(--transit-log-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.66);
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--list .yourlog-empty-state {
  display: grid;
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 0.92rem var(--transit-gutter) 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--list .yourlog-empty-state__art {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--transit-log-paper);
}

.page-shell--transits.transits-page-shell--list .yourlog-empty-state__image {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0.9;
  mix-blend-mode: multiply;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, #000 9%, #000 91%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 11%, #000 89%, transparent 100%);
  mask-image:
    linear-gradient(to right, transparent 0%, #000 9%, #000 91%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 11%, #000 89%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

.page-shell--transits.transits-page-shell--list .yourlog-empty-state__copy {
  position: absolute;
  top: 66.5%;
  left: 50%;
  display: grid;
  justify-items: center;
  width: min(78%, 21rem);
  gap: 0.34rem;
  padding: 0;
  text-align: center;
  transform: translateX(-50%);
}

.page-shell--transits.transits-page-shell--list .yourlog-empty-state__title {
  margin: 0;
  color: var(--transit-log-ink);
  font-family: var(--font-serif);
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.36;
}

.page-shell--transits.transits-page-shell--list .yourlog-empty-state__body {
  max-width: 22rem;
  margin: 0;
  color: color-mix(in srgb, var(--transit-log-muted) 78%, var(--transit-log-ink) 22%);
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.58;
  text-align: center;
  word-break: keep-all;
}

.page-shell--transits.transits-page-shell--list .yourlog-empty-state__nowrap {
  white-space: nowrap;
}

@media (max-width: 1040px) {
  .page-shell--transits.transits-page-shell--list {
    min-height: calc(100dvh - 8.5rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 560px) {
  .page-shell--transits.transits-page-shell--list {
    --transit-gutter: 1.06rem;
    --page-shell-chrome-inline: var(--transit-gutter);
    --page-shell-tabs-inline: var(--transit-gutter);
    padding-top: 0.95rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-hero {
    grid-template-columns: minmax(0, 1fr) 2.72rem;
    min-height: 2.72rem;
    margin-top: 0.96rem;
    padding-bottom: 0.48rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-hero__title {
    font-size: 1.16rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-hero__mark {
    width: 2.22rem;
    height: 2.22rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-toolbar {
    margin-top: 0.52rem;
    padding: 0.32rem 0.64rem 0.36rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-timeline {
    margin-top: 0.64rem;
    padding: 0.38rem 0.64rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-empty-state {
    margin-top: 0.84rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-empty-state__copy {
    top: 64.5%;
    width: min(82%, 20rem);
    gap: 0.3rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-empty-state__title {
    font-size: 1.02rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-empty-state__body {
    font-size: 0.84rem;
    line-height: 1.6;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-filter-search-row {
    grid-template-columns: minmax(0, 1fr) 3.72rem;
    gap: 0.44rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-filter-field__input,
  .page-shell--transits.transits-page-shell--list .yourlog-filter-submit {
    min-height: 1.8rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-filter-field__input {
    font-size: 0.82rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-filter-submit {
    min-width: 3.72rem;
    padding-inline: 0.58rem;
    font-size: 0.8rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-filter-reset {
    grid-column: 1 / -1;
    justify-self: end;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-item {
    grid-template-columns: 3.02rem 0.78rem minmax(0, 1fr) 1.06rem;
    column-gap: 0.46rem;
    min-height: 3.32rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-date {
    font-size: 0.82rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-date__time {
    font-size: 0.76rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-content {
    gap: 0.22rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-event-title {
    font-size: 0.8rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-event-chip {
    min-width: 2.82rem;
    max-width: 4.28rem;
    min-height: 1.22rem;
    padding: 0.12rem 0.16rem;
    font-size: 0.58rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-event-chip svg.astro-icon {
    width: 12px !important;
    height: 12px !important;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-event-chip .natal-card-in,
  .page-shell--transits.transits-page-shell--list .yourlog-event-chip .natal-card-v2-in,
  .page-shell--transits.transits-page-shell--list .yourlog-event-chip .astro-aspect-sym {
    font-size: 0.56rem;
  }

  .page-shell--transits.transits-page-shell--list .yourlog-note {
    font-size: 0.76rem;
    line-height: 1.32;
  }
}

/* Transit > Calendar final mockup layer. */
.page-shell--transits.transits-page-shell--calendar {
  --transit-gutter: 1.06rem;
  --transit-cal-paper: #fffdf8;
  --transit-cal-line: #e2d8c9;
  --transit-cal-line-strong: #cfc0aa;
  --transit-cal-ink: #302a23;
  --transit-cal-muted: #91887d;
  --transit-cal-olive: #173B67;
  --transit-cal-moon-ingress: color-mix(in srgb, var(--transit-cal-olive) 82%, white 18%);
  --transit-cal-moon-ingress-hover: color-mix(in srgb, var(--transit-cal-olive) 88%, white 12%);
  --transit-cal-fixed-star: #5F6A78;
  --transit-cal-fixed-star-hover: #56616E;
  --transit-cal-tr-nat: #5C5438;
  --transit-cal-tr-nat-hover: #514A32;
  --transit-cal-tr-nat-chip: #AA554D;
  --transit-cal-tr-nat-chip-hover: #9B4E49;
  --transit-cal-gold: #a18443;
  --transit-cal-blue: #58708c;
  max-width: 390px;
  min-height: calc(100dvh - 8.5rem);
  margin-inline: auto;
  gap: 0;
  padding: 0.95rem 0 1.32rem;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(255, 254, 251, 0.98) 0%, rgba(250, 247, 240, 0.98) 100%),
    var(--transit-cal-paper);
  box-shadow: none;
  overflow: hidden;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: calc(100% - (var(--transit-gutter) * 2));
  min-height: 2.72rem;
  margin: 0.52rem var(--transit-gutter) 0;
  padding: 0.42rem 0.62rem;
  border: 1px solid var(--transit-cal-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.68);
  gap: 0.42rem;
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .transit-month-nav__month-controls {
  justify-self: start;
  gap: 0.54rem;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .month-step-btn {
  width: 1.38rem;
  height: 1.8rem;
  color: var(--transit-cal-ink);
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .month-step-btn .transit-day-nav__icon {
  width: 0.78rem;
  height: 0.78rem;
  stroke-width: 1.65;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .wheel-trigger {
  color: var(--transit-cal-ink);
  font-family: var(--font-serif);
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .month-trigger-label {
  letter-spacing: 0;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .transit-month-nav__utilities {
  grid-column: 2;
  justify-self: end;
  width: auto;
  justify-content: flex-end;
  margin-left: 0;
  gap: 0.42rem;
  flex-wrap: nowrap;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .moon-toggle-wrap {
  min-height: 1.62rem;
  padding: 0.16rem 0.28rem;
  border: 0;
  background: transparent;
  white-space: nowrap;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .moon-toggle-label {
  color: #4e493f;
  font-family: var(--font-serif);
  font-size: 0.84rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .moon-switch {
  width: 27px;
  height: 15px;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .moon-switch-thumb {
  width: 11px;
  height: 11px;
}

.page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .moon-switch.is-on .moon-switch-thumb {
  transform: translateX(12px);
}

.page-shell--transits.transits-page-shell--calendar {
  --transit-calendar-cell-height: 5.34rem;
  --transit-calendar-cell-padding: 0.38rem 0.28rem 0.3rem;
  --transit-calendar-first-event-gap: 0.38rem;
  --transit-calendar-event-stack-gap: 0.09rem;
  --transit-calendar-chip-height: 1.02rem;
  --transit-calendar-chip-padding: 0.07rem 0.14rem;
  --transit-calendar-chip-gap: 0.04rem;
  --transit-calendar-chip-font-size: 0.56rem;
  --transit-calendar-chip-icon-size: 12px;
  --transit-calendar-chip-sub-font-size: 0.56rem;
  --transit-calendar-chip-rx-font-size: 0.43rem;
  --transit-calendar-fixed-star-font-size: 0.54rem;
  --transit-calendar-fixed-star-compact-font-size: 0.5rem;
  --transit-calendar-fixed-star-condensed-font-size: 0.46rem;
  --transit-calendar-fixed-star-micro-font-size: 0.42rem;
  --transit-calendar-today-ring-size: 1.32rem;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 1.34rem var(--transit-gutter) 0;
  border: 1px solid var(--transit-cal-line);
  border-radius: 8px;
  background: var(--transit-cal-line);
  box-shadow: none;
  overflow: hidden;
}

.page-shell--transits.transits-page-shell--calendar .calendar-head {
  min-height: 2.04rem;
  padding: 0.56rem 0.24rem;
  border-bottom: 1px solid var(--transit-cal-line);
  background: rgba(255, 253, 248, 0.82);
  color: #6e6254;
  font-family: var(--font-serif);
  font-size: 0.74rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  text-transform: none;
}

.page-shell--transits.transits-page-shell--calendar .calendar-cell,
.page-shell--transits.transits-page-shell--calendar .calendar-cell.is-muted,
.page-shell--transits.transits-page-shell--calendar .calendar-cell--clickable:hover {
  display: flex;
  flex-direction: column;
  height: var(--transit-calendar-cell-height);
  min-height: var(--transit-calendar-cell-height);
  padding: var(--transit-calendar-cell-padding);
  border-right: 1px solid var(--transit-cal-line);
  border-bottom: 1px solid var(--transit-cal-line);
  background: rgba(255, 253, 248, 0.82);
  box-shadow: none;
  color: inherit;
  overflow: hidden;
  text-decoration: none;
}

.page-shell--transits.transits-page-shell--calendar .calendar-cell:hover {
  text-decoration: none;
}

.page-shell--transits.transits-page-shell--calendar .calendar-cell.is-muted .calendar-day-number {
  color: #9f9a92;
}

.page-shell--transits.transits-page-shell--calendar .calendar-day {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  gap: 0.34rem;
  width: 100%;
  margin: 0;
  color: var(--transit-cal-ink);
  font-family: var(--font-serif);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-day-number {
  position: relative;
  color: var(--transit-cal-ink);
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  line-height: 1;
  z-index: 0;
}

.page-shell--transits.transits-page-shell--calendar .calendar-cell.is-today .calendar-day {
  color: var(--transit-cal-ink);
}

.page-shell--transits.transits-page-shell--calendar .calendar-cell.is-today .calendar-day-number {
  color: var(--transit-cal-ink);
  font-weight: 600;
}

.page-shell--transits.transits-page-shell--calendar .calendar-cell.is-today .calendar-day-number::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: var(--transit-calendar-today-ring-size);
  height: var(--transit-calendar-today-ring-size);
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--transit-cal-tr-nat) 12%, #fffdf8 88%);
  box-shadow: 0 0.05rem 0.12rem rgba(92, 84, 56, 0.08);
  transform: translate(-50%, -50%);
}

.page-shell--transits.transits-page-shell--calendar .calendar-day + .calendar-event-card {
  margin-top: var(--transit-calendar-first-event-gap);
}

.page-shell--transits.transits-page-shell--calendar .calendar-event-card {
  display: grid;
  justify-items: center;
  gap: 0.2rem;
  min-width: 0;
  margin-bottom: 0;
}

.page-shell--transits.transits-page-shell--calendar .calendar-event-card + .calendar-event-card {
  margin-top: var(--transit-calendar-event-stack-gap);
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  box-sizing: border-box;
  width: 100%;
  height: var(--transit-calendar-chip-height);
  max-width: 100%;
  min-width: 0;
  min-height: var(--transit-calendar-chip-height);
  margin: 0;
  padding: var(--transit-calendar-chip-padding);
  border: 0;
  border-radius: 4px;
  background: var(--transit-cal-olive);
  color: #fffaf1;
  font-family: var(--font-serif);
  font-size: var(--transit-calendar-chip-font-size);
  font-weight: 600;
  gap: var(--transit-calendar-chip-gap);
  line-height: 1;
  overflow: hidden;
  white-space: nowrap;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event:hover,
.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--moon,
.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--moon:hover {
  background: var(--transit-cal-olive);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--moon-ingress {
  background: var(--transit-cal-moon-ingress);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--moon-ingress:hover {
  background: var(--transit-cal-moon-ingress-hover);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--fixed-star {
  background: var(--transit-cal-fixed-star);
  color: #fffaf1;
  font-size: var(--transit-calendar-fixed-star-font-size);
  line-height: 0.96;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--fixed-star-compact {
  font-size: var(--transit-calendar-fixed-star-compact-font-size);
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--fixed-star-condensed {
  font-size: var(--transit-calendar-fixed-star-condensed-font-size);
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--fixed-star-micro {
  font-size: var(--transit-calendar-fixed-star-micro-font-size);
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-fixed-star-name {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--fixed-star:hover {
  background: var(--transit-cal-fixed-star-hover);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--tr-nat {
  background: var(--transit-cal-tr-nat-chip);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--tr-nat:hover {
  background: var(--transit-cal-tr-nat-chip-hover);
  color: #fffaf1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--tr-nat .calendar-tr-nat-role {
  color: rgba(255, 250, 241, 0.66);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event--tr-nat .calendar-tr-nat-body {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event svg.astro-icon {
  display: block;
  width: var(--transit-calendar-chip-icon-size) !important;
  height: var(--transit-calendar-chip-icon-size) !important;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event .astro-chip,
.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event .astro-aspect-sym {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  gap: 0.02rem;
  line-height: 1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event .natal-card-in,
.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event .natal-card-v2-in,
.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event .astro-aspect-sym {
  color: rgba(255, 250, 241, 0.76);
  font-size: var(--transit-calendar-chip-sub-font-size);
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event .astro-aspect-sym {
  margin: 0 0.02rem;
  transform: translateY(0.045em);
  transform-origin: center;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event .aspect-symbol--trine,
.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event .aspect-symbol--square {
  transform: translateY(0.045em) scale(0.86);
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event .astro-rx {
  color: rgba(255, 250, 241, 0.92);
  font-size: var(--transit-calendar-chip-rx-font-size);
}

.page-shell--transits.transits-page-shell--calendar .calendar-overflow-count {
  margin: 0.14rem 0 0;
  color: var(--transit-cal-muted);
  font-family: var(--font-serif);
  font-size: 0.7rem;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

.page-shell--transits.transits-page-shell--calendar .calendar-below {
  display: grid;
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 0.78rem var(--transit-gutter) 0;
  gap: 1.12rem;
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto auto auto;
  align-items: center;
  min-height: 3.82rem;
  padding: 0.58rem 0.56rem 0.58rem 0.68rem;
  border: 1px solid rgba(207, 192, 170, 0.82);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.92), rgba(249, 245, 240, 0.72));
  color: var(--transit-cal-ink);
  gap: 0.56rem;
  text-decoration: none;
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card:hover {
  border-color: rgba(176, 152, 122, 0.9);
  color: var(--transit-cal-ink);
  text-decoration: none;
  transform: translateY(-1px);
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__orbit {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.42rem;
  height: 2.42rem;
  color: #8f7650;
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__orbit-ring {
  position: absolute;
  inset: 0;
  border: 1px dashed rgba(176, 152, 122, 0.48);
  border-radius: 999px;
  background:
    repeating-conic-gradient(from 0deg, rgba(176, 152, 122, 0.18) 0 1deg, transparent 1deg 24deg),
    radial-gradient(circle, transparent 0 48%, rgba(176, 152, 122, 0.15) 49% 50%, transparent 51%);
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__orbit-person {
  position: relative;
  display: grid;
  place-items: center;
  width: 1.22rem;
  height: 1.22rem;
  border-radius: 999px;
  background: rgba(255, 253, 248, 0.88);
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__orbit-person svg {
  width: 0.98rem;
  height: 0.98rem;
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__copy {
  display: grid;
  gap: 0.26rem;
  min-width: 0;
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__title {
  color: var(--transit-cal-ink);
  font-family: var(--font-serif);
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.16;
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__desc {
  color: var(--transit-cal-muted);
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.25;
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.52rem;
  padding: 0.18rem 0.56rem;
  border: 1px solid rgba(207, 192, 170, 0.66);
  border-radius: 999px;
  background: rgba(238, 232, 221, 0.78);
  color: #766d62;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__lock {
  display: inline-grid;
  place-items: center;
  width: 1.68rem;
  height: 1.68rem;
  border: 1px solid rgba(207, 192, 170, 0.78);
  border-radius: 999px;
  color: #8f7650;
  background: rgba(255, 253, 248, 0.82);
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__lock svg {
  width: 1rem;
  height: 1rem;
}

.page-shell--transits.transits-page-shell--calendar .calendar-plus-card__arrow {
  color: #9a9287;
  font-family: var(--font-serif);
  font-size: 1.55rem;
  line-height: 1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming {
  display: grid;
  gap: 0.58rem;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming__title {
  margin: 0;
  color: var(--transit-cal-ink);
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.25;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming__all {
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  color: #8e857a;
  font-size: 0.76rem;
  font-weight: 600;
  text-decoration: none;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming__all::after {
  content: "›";
  color: #a79b8b;
  font-family: var(--font-serif);
  font-size: 1.12rem;
  line-height: 1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming__list {
  overflow: hidden;
  border: 1px solid rgba(226, 216, 201, 0.9);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.72);
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming__empty {
  padding: 0.86rem 0.9rem;
  border: 1px solid rgba(226, 216, 201, 0.9);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.72);
  color: var(--transit-cal-muted);
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.4;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.72rem;
  min-height: 3.9rem;
  padding: 0.58rem 0.66rem;
  border-bottom: 1px solid rgba(226, 216, 201, 0.76);
  color: var(--transit-cal-ink);
  text-decoration: none;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card:last-child {
  border-bottom: 0;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card:hover {
  background: rgba(246, 241, 232, 0.42);
  text-decoration: none;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__glyph {
  display: inline-grid;
  place-items: center;
  width: 2.08rem;
  height: 2.08rem;
  border: 1px solid rgba(93, 83, 57, 0.34);
  border-radius: 999px;
  color: var(--transit-cal-olive);
  font-family: "Segoe UI Symbol", "Apple Symbols", "Arial Unicode MS", sans-serif;
  font-size: 0.98rem;
  line-height: 1;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__copy {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__title {
  color: #746a5f;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__time {
  color: var(--transit-cal-muted);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.25;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__bookmark {
  display: inline-flex;
  width: 1.18rem;
  height: 1.18rem;
  color: #9a9287;
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__bookmark.is-active {
  color: var(--transit-cal-gold);
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__bookmark svg {
  width: 100%;
  height: 100%;
}

@media (max-width: 1040px) {
  .page-shell--transits.transits-page-shell--calendar {
    min-height: calc(100dvh - 8.5rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 560px) {
  .page-shell--transits.transits-page-shell--calendar {
    --transit-gutter: 1.06rem;
    --transit-calendar-cell-height: 5.34rem;
    --transit-calendar-cell-padding: 0.38rem 0.28rem 0.3rem;
    --transit-calendar-first-event-gap: 0.38rem;
    --transit-calendar-event-stack-gap: 0.09rem;
    --transit-calendar-chip-height: 1.02rem;
    --transit-calendar-chip-padding: 0.07rem 0.14rem;
    --transit-calendar-chip-font-size: 0.56rem;
    --transit-calendar-chip-icon-size: 12px;
    --transit-calendar-chip-sub-font-size: 0.56rem;
    --transit-calendar-fixed-star-font-size: 0.54rem;
    --transit-calendar-fixed-star-compact-font-size: 0.5rem;
    --transit-calendar-fixed-star-condensed-font-size: 0.46rem;
    --transit-calendar-fixed-star-micro-font-size: 0.42rem;
    --transit-calendar-today-ring-size: 1.32rem;
    padding-top: 0.95rem;
  }

  .page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.42rem;
    padding: 0.42rem 0.62rem;
  }

  .page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .transit-month-nav__utilities {
    grid-column: 2;
    justify-self: end;
    justify-content: flex-end;
    width: auto;
    gap: 0.32rem;
    flex-wrap: nowrap;
  }

  .page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .wheel-trigger {
    font-size: 1.02rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-head {
    font-size: 0.74rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-day {
    font-size: 0.92rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-below {
    margin-top: 0.78rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-plus-card {
    grid-template-columns: 3rem minmax(0, 1fr) auto auto auto;
    gap: 0.56rem;
    min-height: 3.82rem;
    padding: 0.58rem 0.56rem 0.58rem 0.68rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-plus-card__orbit {
    width: 2.42rem;
    height: 2.42rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-plus-card__title {
    font-size: 0.94rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-plus-card__desc,
  .page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__time {
    font-size: 0.72rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-plus-card__lock {
    width: 1.68rem;
    height: 1.68rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card {
    min-height: 3.9rem;
    padding: 0.58rem 0.66rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__glyph {
    width: 2.08rem;
    height: 2.08rem;
    font-size: 0.98rem;
  }

  .page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__title {
    font-size: 0.74rem;
  }
}

@media (max-width: 390px) {
  .page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .page-shell--transits.transits-page-shell--calendar .transit-month-nav--mockup .transit-month-nav__utilities {
    justify-self: end;
    justify-content: flex-end;
    width: auto;
    flex-wrap: nowrap;
  }
}

/* Transit > Calendar day final mockup layer. */
.page-shell--transits.transits-page-shell--day {
  --transit-gutter: 1.26rem;
  --transit-day-paper: #fffdf8;
  --transit-day-line: #e2d8c9;
  --transit-day-ink: #302a23;
  --transit-day-muted: #91887d;
  --transit-day-olive: #5c5438;
  --transit-day-blue: #58708c;
  max-width: 430px;
  min-height: calc(100dvh - 2rem);
  margin-inline: auto;
  gap: 0;
  padding: 1.05rem 0 1.32rem;
  border: 1px solid rgba(207, 192, 170, 0.62);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 254, 251, 0.98) 0%, rgba(250, 247, 240, 0.98) 100%),
    var(--transit-day-paper);
  box-shadow: 0 24px 72px rgba(58, 43, 23, 0.11);
  overflow: hidden;
}

.page-shell--transits.transits-page-shell--day .transit-day-nav {
  gap: 0.55rem;
  margin: 1.08rem auto 1.02rem;
}

.page-shell--transits.transits-page-shell--day .transit-day-nav__step {
  min-width: 1.18rem;
  min-height: 1.38rem;
  color: #a29a91;
}

.page-shell--transits.transits-page-shell--day .transit-day-nav__step:hover {
  color: var(--transit-day-ink);
}

.page-shell--transits.transits-page-shell--day .transit-day-nav__icon {
  width: 0.68rem;
  height: 0.68rem;
}

.page-shell--transits.transits-page-shell--day .transit-day-nav__label {
  color: var(--transit-day-muted);
  font-family: var(--font-serif);
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.page-shell--transits.transits-page-shell--day .transit-day-surface {
  gap: 0;
  padding-top: 0.92rem;
}

.page-shell--transits.transits-page-shell--day .transit-day-section {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin-inline: var(--transit-gutter);
}

.page-shell--transits.transits-page-shell--day .transit-day-section + .transit-day-section {
  margin-top: 1.18rem;
}

.page-shell--transits.transits-page-shell--day .transit-day-section__head {
  padding: 0 0 0.82rem;
  border-bottom: 1px solid var(--transit-day-line);
}

.page-shell--transits.transits-page-shell--day .transit-day-section__eyebrow {
  margin: 0 0 0.54rem;
  color: var(--transit-day-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.1;
  text-transform: uppercase;
}

.page-shell--transits.transits-page-shell--day .transit-day-section__title {
  margin: 0;
  color: var(--transit-day-ink);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.42;
}

.page-shell--transits.transits-page-shell--day .active-now-list {
  display: grid;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--day .active-now-card,
.page-shell--transits.transits-page-shell--day .transit-event-card,
.page-shell--transits.transits-page-shell--day .active-now-card:hover,
.page-shell--transits.transits-page-shell--day .transit-event-card:hover {
  min-height: 7.35rem;
  border: 0;
  border-bottom: 1px solid var(--transit-day-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.page-shell--transits.transits-page-shell--day .active-now-card:last-child {
  border-bottom-color: transparent;
}

.page-shell--transits.transits-page-shell--day .active-now-card:hover {
  background: rgba(246, 241, 232, 0.46);
}

.page-shell--transits.transits-page-shell--day .active-now-card-glyph {
  position: absolute;
  top: 50%;
  left: 0.08rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.76rem;
  height: 1.76rem;
  border: 1px solid rgba(93, 83, 57, 0.38);
  border-radius: 999px;
  color: var(--transit-day-olive);
  font-family: "Segoe UI Symbol", "Apple Symbols", "Arial Unicode MS", sans-serif;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
}

.page-shell--transits.transits-page-shell--day .active-now-card-body {
  min-height: 7.35rem;
  padding: 1.08rem 2.66rem 0.98rem 2.55rem;
}

.page-shell--transits.transits-page-shell--day .active-now-card-meta {
  gap: 0.16rem;
  min-height: 2.2rem;
  padding-inline-end: 0;
}

.page-shell--transits.transits-page-shell--day .active-now-meta-label,
.page-shell--transits.transits-page-shell--day .active-now-meta-value {
  color: var(--transit-day-muted);
  font-size: 0.68rem;
  line-height: 1.38;
}

.page-shell--transits.transits-page-shell--day .active-now-meta-label {
  font-weight: 700;
  letter-spacing: 0.03em;
}

.page-shell--transits.transits-page-shell--day .active-now-meta-value {
  font-weight: 400;
  white-space: nowrap;
}

.page-shell--transits.transits-page-shell--day .active-now-text {
  min-height: 0;
  margin-top: auto;
  padding-top: 0.72rem;
  column-gap: 0.48rem;
  align-items: end;
}

.page-shell--transits.transits-page-shell--day .active-now-copy {
  gap: 0.22rem;
}

.page-shell--transits.transits-page-shell--day .active-now-eyebrow {
  margin: 0 0 0.28rem;
  color: #8b8174;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.36;
}

.page-shell--transits.transits-page-shell--day .active-now-report-title {
  color: var(--transit-day-ink);
  font-family: var(--font-serif);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.42;
  overflow: visible;
  white-space: normal;
}

.page-shell--transits.transits-page-shell--day .active-now-arrow {
  color: #aaa195;
  opacity: 1;
  transform: translateY(-0.08rem);
}

.page-shell--transits.transits-page-shell--day .active-now-star {
  top: 1.05rem;
  right: 0.22rem;
}

.page-shell--transits.transits-page-shell--day .active-now-star.trajectory-star-button,
.page-shell--transits.transits-page-shell--day .active-now-star.trajectory-star-button:hover,
.page-shell--transits.transits-page-shell--day .active-now-star.trajectory-star-button.is-active {
  width: 1.72rem;
  height: 1.72rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--transit-day-blue);
  box-shadow: none;
  transform: none;
}

.page-shell--transits.transits-page-shell--day .inline-plus-gate,
.page-shell--transits.transits-page-shell--day .transit-empty-state {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--transit-day-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--transits.transits-page-shell--day .inline-plus-gate {
  padding: 1rem 0.16rem 1.08rem 2.55rem;
}

.page-shell--transits.transits-page-shell--day .transit-empty-state {
  padding: 6.1rem 0.16rem 3.5rem;
  text-align: center;
}

.page-shell--transits.transits-page-shell--day .transit-empty-state__glyph {
  margin-bottom: 0.72rem;
  color: #a29a91;
  font-size: 1.26rem;
}

.page-shell--transits.transits-page-shell--day .transit-empty-state__title {
  color: #5f5850;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.46;
}

.page-shell--transits.transits-page-shell--day .transit-pending-state {
  padding: 4.7rem 1rem 3.9rem;
}

@media (max-width: 1040px) {
  .page-shell--transits.transits-page-shell--day {
    min-height: calc(100dvh - 8.5rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 560px) {
  .page-shell--transits.transits-page-shell--day {
    --transit-gutter: 1.06rem;
    padding-top: 0.95rem;
  }

  .page-shell--transits.transits-page-shell--day .active-now-card-body {
    padding-right: 2.28rem;
    padding-left: 2.38rem;
  }

  .page-shell--transits.transits-page-shell--day .active-now-card-glyph {
    left: 0;
    width: 1.64rem;
    height: 1.64rem;
    font-size: 0.94rem;
  }
}

/* Transit > Your Log locked state: match the approved mobile mockup scale. */
.app-shell:not(.signed-out) .container--app > .page-shell--transits.transits-page-shell--list {
  --transit-gutter: 0.9rem;
  width: 100%;
  max-width: 430px;
  margin-inline: auto;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate--your-log {
  width: 100%;
  max-width: none;
  padding: 0 0 1.75rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__preview--your-log {
  width: 100%;
  max-height: 19.1rem;
  margin: 0.44rem auto 0.88rem;
  padding: 0;
  opacity: 0.58;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 76%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 76%, rgba(0, 0, 0, 0) 100%);
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__preview-toolbar {
  margin-top: 0.68rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__preview-input {
  display: flex;
  align-items: center;
  color: color-mix(in srgb, var(--transit-log-muted) 84%, white 16%);
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__preview-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__preview-timeline {
  margin-top: 0.78rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__preview-bookmark {
  pointer-events: none;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__rule {
  width: min(76%, 33rem);
  margin-bottom: 1.02rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__eyebrow {
  margin-bottom: 0.76rem;
  font-size: 0.72rem;
  letter-spacing: 0.3em;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__title {
  font-size: clamp(1.84rem, 6.2vw, 2.28rem);
  line-height: 1.35;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__body {
  width: min(66%, 24rem);
  margin-top: 0.98rem;
  padding-inline: 0;
  font-size: 0.94rem;
  line-height: 1.72;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__cta {
  width: min(58%, 18rem);
  min-height: 3.08rem;
  margin-top: 1.46rem;
  font-size: 1rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__rows {
  width: min(82%, 39rem);
  margin-top: 1.36rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__row {
  grid-template-columns: 3.05rem minmax(0, 1fr) auto;
  min-height: 4.28rem;
  column-gap: 0.9rem;
  padding: 0.58rem 0;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__row-icon {
  width: 2.68rem;
  height: 2.68rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__row-copy strong {
  font-size: 1.02rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__row-copy small {
  font-size: 0.78rem;
  line-height: 1.42;
  white-space: normal;
}

@media (max-width: 560px) {
  .app-shell:not(.signed-out) .container--app > .page-shell--transits.transits-page-shell--list {
    --transit-gutter: 0.9rem;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__preview--your-log {
    max-height: 18.45rem;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__rows {
    width: 82%;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .plus-lock-gate__body {
    width: 68%;
  }
}

/* Transit detail card: mockup-aligned meta rail and resilient mobile padding. */
.page-shell--transit-detail .transit-detail-page .natal-body-detail {
  padding-inline: 0;
}

.page-shell--transit-detail .astro-card-detail__header,
.page-shell--transit-detail .transit-detail-card .astro-card-detail__header {
  gap: 1.34rem;
  padding: 1.46rem 2.06rem 0;
}

.page-shell--transit-detail .astro-card-detail__content,
.page-shell--transit-detail .transit-detail-card .astro-card-detail__content,
.page-shell--transit-detail .transit-detail-card .natal-detail-card__content {
  padding: 1.18rem 2.06rem 1.52rem;
}

.page-shell--transit-detail .astro-card-detail__meta-row,
.page-shell--transit-detail .transit-detail-card__meta-row.astro-card-detail__meta-row,
.page-shell--transit-detail .astro-card-detail__meta-panel {
  grid-template-columns: minmax(0, 1fr) 4.2rem;
  min-width: 0;
  border-color: #DED2C1;
  border-radius: 8px;
  overflow: hidden;
}

.page-shell--transit-detail .astro-card-detail__meta-panel .astro-card-detail__meta-strip,
.page-shell--transit-detail .astro-card-detail__meta-strip.active-now-card-meta {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  min-width: 0;
}

.page-shell--transit-detail .astro-card-detail__meta-panel .active-now-meta-line,
.page-shell--transit-detail .astro-card-detail__meta-strip.active-now-card-meta .active-now-meta-line {
  min-width: 0;
  min-height: 4.28rem;
  padding: 0.7rem 1rem;
  border-right-color: #DED2C1;
  overflow: visible;
}

.page-shell--transit-detail .astro-card-detail__meta-panel .active-now-meta-label,
.page-shell--transit-detail .astro-card-detail__meta-strip.active-now-card-meta .active-now-meta-label {
  color: #80766B;
  font-size: 0.72rem;
  line-height: 1;
}

.page-shell--transit-detail .astro-card-detail__meta-panel .active-now-meta-value,
.page-shell--transit-detail .astro-card-detail__meta-strip.active-now-card-meta .active-now-meta-value {
  display: block;
  min-width: 0;
  overflow: visible;
  color: var(--astro-detail-ink);
  font-size: 1.06rem;
  line-height: 1.18;
  text-overflow: clip;
  white-space: nowrap;
}

.page-shell--transit-detail .astro-card-detail__meta-panel .astro-card-detail__actions,
.page-shell--transit-detail .astro-card-detail__actions {
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  min-width: 4.2rem;
  border-left: 1px solid #DED2C1;
}

.page-shell--transit-detail .astro-card-detail__meta-panel .astro-card-detail__actions .trajectory-star-button,
.page-shell--transit-detail .astro-card-detail__actions .trajectory-star-button,
.page-shell--transit-detail .transit-detail-card__upgrade-bookmark {
  width: 100%;
  min-width: 4.2rem;
  min-height: 4.28rem;
  border: 0;
  border-radius: 0;
  background: rgba(255, 253, 248, 0.46);
  color: #6B5E45;
}

.page-shell--transit-detail .astro-card-detail__actions .trajectory-bookmark-icon {
  width: 1.28rem;
  height: 1.62rem;
}

.page-shell--transit-detail .astro-card-detail__headline {
  max-width: none;
}

@media (max-width: 560px) {
  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .astro-card-detail__header,
  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .transit-detail-card .astro-card-detail__header,
  .page-shell--transit-detail .astro-card-detail__header,
  .page-shell--transit-detail .transit-detail-card .astro-card-detail__header {
    gap: 1.2rem;
    padding: 1.22rem 1.42rem 0;
  }

  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .astro-card-detail__content,
  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .transit-detail-card .astro-card-detail__content,
  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .transit-detail-card .natal-detail-card__content,
  .page-shell--transit-detail .astro-card-detail__content,
  .page-shell--transit-detail .transit-detail-card .astro-card-detail__content,
  .page-shell--transit-detail .transit-detail-card .natal-detail-card__content {
    padding: 1rem 1.42rem 1.28rem;
  }

  .page-shell--transit-detail .astro-card-detail__meta-row,
  .page-shell--transit-detail .transit-detail-card__meta-row.astro-card-detail__meta-row,
  .page-shell--transit-detail .astro-card-detail__meta-panel {
    grid-template-columns: minmax(0, 1fr) 3.45rem;
  }

  .page-shell--transit-detail .astro-card-detail__meta-panel .active-now-meta-line,
  .page-shell--transit-detail .astro-card-detail__meta-strip.active-now-card-meta .active-now-meta-line {
    min-height: 3.82rem;
    padding: 0.62rem 0.72rem;
  }

  .page-shell--transit-detail .astro-card-detail__meta-panel .active-now-meta-label,
  .page-shell--transit-detail .astro-card-detail__meta-strip.active-now-card-meta .active-now-meta-label {
    font-size: 0.62rem;
  }

  .page-shell--transit-detail .astro-card-detail__meta-panel .active-now-meta-value,
  .page-shell--transit-detail .astro-card-detail__meta-strip.active-now-card-meta .active-now-meta-value {
    font-size: 0.9rem;
  }

  .page-shell--transit-detail .astro-card-detail__meta-panel .astro-card-detail__actions,
  .page-shell--transit-detail .astro-card-detail__actions,
  .page-shell--transit-detail .astro-card-detail__meta-panel .astro-card-detail__actions .trajectory-star-button,
  .page-shell--transit-detail .astro-card-detail__actions .trajectory-star-button,
  .page-shell--transit-detail .transit-detail-card__upgrade-bookmark {
    min-width: 3.45rem;
  }
}

@media (max-width: 380px) {
  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .astro-card-detail__header,
  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .transit-detail-card .astro-card-detail__header,
  .page-shell--transit-detail .astro-card-detail__header,
  .page-shell--transit-detail .transit-detail-card .astro-card-detail__header {
    padding-inline: 1.18rem;
  }

  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .astro-card-detail__content,
  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .transit-detail-card .astro-card-detail__content,
  .app-shell:not(.signed-out) .container--app > .page-shell--transit-detail .transit-detail-card .natal-detail-card__content,
  .page-shell--transit-detail .astro-card-detail__content,
  .page-shell--transit-detail .transit-detail-card .astro-card-detail__content,
  .page-shell--transit-detail .transit-detail-card .natal-detail-card__content {
    padding-inline: 1.18rem;
  }

  .page-shell--transit-detail .astro-card-detail__meta-row,
  .page-shell--transit-detail .transit-detail-card__meta-row.astro-card-detail__meta-row,
  .page-shell--transit-detail .astro-card-detail__meta-panel {
    grid-template-columns: minmax(0, 1fr) 3.1rem;
  }

  .page-shell--transit-detail .astro-card-detail__meta-panel .active-now-meta-line,
  .page-shell--transit-detail .astro-card-detail__meta-strip.active-now-card-meta .active-now-meta-line {
    padding-inline: 0.58rem;
  }

  .page-shell--transit-detail .astro-card-detail__meta-panel .active-now-meta-value,
  .page-shell--transit-detail .astro-card-detail__meta-strip.active-now-card-meta .active-now-meta-value {
    font-size: 0.82rem;
  }

  .page-shell--transit-detail .astro-card-detail__meta-panel .astro-card-detail__actions,
  .page-shell--transit-detail .astro-card-detail__actions,
  .page-shell--transit-detail .astro-card-detail__meta-panel .astro-card-detail__actions .trajectory-star-button,
  .page-shell--transit-detail .astro-card-detail__actions .trajectory-star-button,
  .page-shell--transit-detail .transit-detail-card__upgrade-bookmark {
    min-width: 3.1rem;
  }
}

/* Event-first card hierarchy: loaded last to win the final app cascade. */
.home-dashboard-v2 .dashboard-event-item {
  gap: 0.46rem;
}

.home-dashboard-v2 .dashboard-event-item__header {
  align-items: flex-start;
  flex-wrap: wrap;
  row-gap: 0.18rem;
}

.home-dashboard-v2 .dashboard-event-item__eyebrow {
  flex: 1 1 11rem;
  max-width: 100%;
  padding: 0;
  overflow: hidden;
  color: var(--ink);
  background: transparent;
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.34;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
  overflow-wrap: anywhere;
}

.home-dashboard-v2 .dashboard-event-item__time {
  padding-top: 0.18rem;
  font-size: 0.66rem;
}

.home-dashboard-v2 .dashboard-event-item__title {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 0;
  color: #746c62;
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.page-shell--transits.transits-page-shell--active-now .active-now-eyebrow,
.page-shell--transits.transits-page-shell--day .active-now-eyebrow {
  margin: 0 0 0.16rem;
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.38;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow-wrap: anywhere;
}

.page-shell--transits.transits-page-shell--active-now .active-now-eyebrow {
  color: var(--transit-now-ink);
}

.page-shell--transits.transits-page-shell--day .active-now-eyebrow {
  color: var(--transit-day-ink);
}

.page-shell--transits.transits-page-shell--active-now .active-now-eyebrow-lockup,
.page-shell--transits.transits-page-shell--day .active-now-eyebrow-lockup {
  max-width: 100%;
  flex-wrap: nowrap;
}

.page-shell--transits.transits-page-shell--active-now .active-now-report-title,
.page-shell--transits.transits-page-shell--day .active-now-report-title {
  display: -webkit-box;
  overflow: hidden;
  color: #766d62;
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.page-shell--transit-detail .astro-card-detail__eyebrow,
.page-shell--transit-detail .transit-detail-card__eyebrow {
  margin: 0;
  color: #302a23;
  font-family: var(--font-serif);
  font-size: 1.06rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
  overflow-wrap: anywhere;
}

.page-shell--transit-detail .astro-card-detail__headline {
  max-width: none;
  color: #766d62;
  font-family: var(--font-sans);
  font-size: 0.86rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.55;
}

/* Transit > Your Log final guard.
   The page shell is a grid with viewport min-height; keep rows content-sized
   and restore gutters after the signed-in canvas reset above. */
.app-shell:not(.signed-out) .container--app > .page-shell--transits.transits-page-shell--list {
  --transit-gutter: 1.26rem;
  --page-shell-chrome-inline: var(--transit-gutter);
  --page-shell-tabs-inline: var(--transit-gutter);
  align-content: start;
  grid-auto-rows: max-content;
  padding-top: 1.05rem;
  padding-bottom: 1.32rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-hero {
  grid-template-columns: minmax(0, 1fr) 3.12rem;
  width: calc(100% - (var(--transit-gutter) * 2));
  min-height: 2.92rem;
  margin: 1rem var(--transit-gutter) 0;
  padding-bottom: 0.52rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-hero__copy {
  gap: 0.24rem;
  padding-inline-start: 0.1rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-hero__mark {
  width: 2.48rem;
  height: 2.48rem;
  opacity: 1;
  object-fit: contain;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-toolbar {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 0.58rem var(--transit-gutter) 0;
  padding: 0.34rem 0.68rem 0.38rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-filter-field {
  gap: 0.24rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-filter-field__label {
  font-size: 0.78rem;
  font-weight: 500;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-filter-search-row {
  gap: 0.5rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-filter-field__input {
  min-height: 1.82rem;
  padding: 0.24rem 0.62rem;
  font-weight: 400;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-filter-submit {
  min-height: 1.82rem;
  padding: 0.24rem 0.62rem;
  font-weight: 500;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-timeline {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin: 0.72rem var(--transit-gutter) 0;
  padding: 0.42rem 0.68rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-item {
  min-height: 3.56rem;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-content {
  gap: 0.22rem;
  grid-template-columns: minmax(0, 1fr);
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-event-link,
.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-note {
  grid-column: 1 / -1;
}

.app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-note {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: clip;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 560px) {
  .app-shell:not(.signed-out) .container--app > .page-shell--transits.transits-page-shell--list {
    --transit-gutter: 1.06rem;
    --page-shell-chrome-inline: var(--transit-gutter);
    --page-shell-tabs-inline: var(--transit-gutter);
    padding-top: 0.95rem;
    padding-bottom: 1.32rem;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-hero {
    grid-template-columns: minmax(0, 1fr) 2.72rem;
    min-height: 2.72rem;
    margin: 0.96rem var(--transit-gutter) 0;
    padding-bottom: 0.48rem;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-hero__copy {
    padding-inline-start: 0.06rem;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-hero__mark {
    width: 2.22rem;
    height: 2.22rem;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-toolbar {
    margin: 0.52rem var(--transit-gutter) 0;
    padding: 0.32rem 0.64rem 0.36rem;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-filter-field__input,
  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-filter-submit {
    min-height: 1.8rem;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-timeline {
    margin: 0.64rem var(--transit-gutter) 0;
    padding: 0.38rem 0.64rem;
  }

  .app-shell:not(.signed-out) .page-shell--transits.transits-page-shell--list .yourlog-item {
    min-height: 3.32rem;
  }
}

/* Migrated Transit mockup ownership from application.css. */
/* Transit Now Redesign */
.transit-section-header {
  margin-bottom: 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.transit-section-title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--ink);
  text-transform: uppercase;
}

.transit-section-subtitle {
  margin: 0;
  font-size: 0.95rem;
  color: var(--muted);
}

.transit-subpage-panel {
  padding-top: 1rem;
}

.transit-month-nav--standalone {
  justify-content: flex-end;
}

.active-now-card-glyph {
  display: none;
}

/* Transit > Now mockup parity */
.transits-page-shell--active-now {
  --transit-gutter: 1.26rem;
  --transit-now-paper: #fffdf8;
  --transit-now-wash: #faf6ee;
  --transit-now-line: #e2d8c9;
  --transit-now-line-strong: #cfc0aa;
  --transit-now-ink: #302a23;
  --transit-now-muted: #91887d;
  --transit-now-soft: #f6f1e8;
  --transit-now-olive: #5c5438;
  --transit-now-blue: #58708c;
  width: 100%;
  max-width: 430px;
  min-height: calc(100dvh - 2rem);
  margin-inline: auto;
  gap: 0;
  padding: 1.05rem 0 1.32rem;
  border: 1px solid rgba(207, 192, 170, 0.62);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 254, 251, 0.98) 0%, rgba(250, 247, 240, 0.98) 100%),
    var(--transit-now-paper);
  box-shadow: 0 24px 72px rgba(58, 43, 23, 0.11);
  overflow: hidden;
}

.transit-now-surface {
  gap: 0;
  padding-top: 1.02rem;
}

.transit-now-section {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin-inline: var(--transit-gutter);
}

.transit-now-section + .transit-now-section {
  margin-top: 1.18rem;
}

.transit-now-section__head {
  padding: 0 0 0.82rem;
  border-bottom: 1px solid var(--transit-now-line);
}

.transit-now-section__eyebrow {
  margin: 0 0 0.54rem;
  color: var(--transit-now-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.1;
  text-transform: uppercase;
}

.transit-now-section__title {
  margin: 0;
  color: var(--transit-now-ink);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.42;
}

.transits-page-shell--active-now .active-now-list {
  display: grid;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.transits-page-shell--active-now .active-now-card,
.transits-page-shell--active-now .transit-event-card,
.transits-page-shell--active-now .active-now-card:hover,
.transits-page-shell--active-now .transit-event-card:hover {
  min-height: 7.35rem;
  border: 0;
  border-bottom: 1px solid var(--transit-now-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.transits-page-shell--active-now .active-now-card:last-child {
  border-bottom-color: transparent;
}

.transits-page-shell--active-now .active-now-card:hover {
  background: rgba(246, 241, 232, 0.46);
}

.transits-page-shell--active-now .active-now-card-glyph {
  position: absolute;
  top: 50%;
  left: 0.08rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.76rem;
  height: 1.76rem;
  border: 1px solid rgba(93, 83, 57, 0.38);
  border-radius: 999px;
  color: var(--transit-now-olive);
  font-family: "Segoe UI Symbol", "Apple Symbols", "Arial Unicode MS", sans-serif;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
}

.transits-page-shell--active-now .active-now-card-body {
  min-height: 7.35rem;
  padding: 1.08rem 2.66rem 0.98rem 2.55rem;
}

.transits-page-shell--active-now .active-now-card-body--link {
  color: inherit;
}

.transits-page-shell--active-now .active-now-card-meta {
  gap: 0.16rem;
  min-height: 2.2rem;
  padding-inline-end: 0;
}

.transits-page-shell--active-now .active-now-meta-line {
  gap: 0.42rem;
}

.transits-page-shell--active-now .active-now-meta-label,
.transits-page-shell--active-now .active-now-meta-value {
  color: var(--transit-now-muted);
  font-size: 0.68rem;
  line-height: 1.38;
}

.transits-page-shell--active-now .active-now-meta-label {
  font-weight: 700;
  letter-spacing: 0.03em;
}

.transits-page-shell--active-now .active-now-meta-value {
  font-weight: 400;
  white-space: nowrap;
}

.transits-page-shell--active-now .active-now-text {
  min-height: 0;
  margin-top: auto;
  padding-top: 0.72rem;
  column-gap: 0.48rem;
  align-items: end;
}

.transits-page-shell--active-now .active-now-copy {
  gap: 0.22rem;
}

.transits-page-shell--active-now .active-now-eyebrow {
  margin: 0 0 0.16rem;
  color: var(--transit-now-ink);
  font-family: var(--font-serif);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.transits-page-shell--active-now .active-now-report-title {
  color: #766d62;
  display: -webkit-box;
  font-size: 0.78rem;
  font-weight: 400;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  letter-spacing: 0;
  line-height: 1.45;
  overflow: hidden;
  white-space: normal;
}

.transits-page-shell--active-now .active-now-arrow {
  color: #aaa195;
  opacity: 1;
  transform: translateY(-0.08rem);
}

.transits-page-shell--active-now .active-now-star {
  top: 1.05rem;
  right: 0.22rem;
}

.transits-page-shell--active-now .active-now-star.trajectory-star-button,
.transits-page-shell--active-now .active-now-star.trajectory-star-button:hover,
.transits-page-shell--active-now .active-now-star.trajectory-star-button.is-active {
  width: 1.72rem;
  height: 1.72rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--transit-now-blue);
  box-shadow: none;
  transform: none;
}

.transits-page-shell--active-now .inline-plus-gate,
.transits-page-shell--active-now .transit-empty-state {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--transit-now-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.transits-page-shell--active-now .inline-plus-gate {
  padding: 1rem 0.16rem 1.08rem 2.55rem;
}

.transits-page-shell--active-now .transit-empty-state {
  padding: 1.5rem 0.16rem 1.55rem 2.55rem;
}

@media (max-width: 1040px) {
  .transits-page-shell--active-now {
    min-height: calc(100dvh - 8.5rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 560px) {
  .transits-page-shell--active-now {
    --transit-gutter: 1.06rem;
    padding-top: 0.95rem;
  }

  .transits-page-shell--active-now .active-now-card-body {
    padding-right: 2.28rem;
    padding-left: 2.38rem;
  }

  .transits-page-shell--active-now .active-now-card-glyph {
    left: 0;
    width: 1.64rem;
    height: 1.64rem;
    font-size: 0.94rem;
  }
}

/* Transit > Calendar day mockup parity */
.transits-page-shell--day {
  --transit-gutter: 1.26rem;
  --transit-day-paper: #fffdf8;
  --transit-day-line: #e2d8c9;
  --transit-day-ink: #302a23;
  --transit-day-muted: #91887d;
  --transit-day-olive: #5c5438;
  --transit-day-blue: #58708c;
  max-width: 430px;
  min-height: calc(100dvh - 2rem);
  margin-inline: auto;
  gap: 0;
  padding: 1.05rem 0 1.32rem;
  border: 1px solid rgba(207, 192, 170, 0.62);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 254, 251, 0.98) 0%, rgba(250, 247, 240, 0.98) 100%),
    var(--transit-day-paper);
  box-shadow: 0 24px 72px rgba(58, 43, 23, 0.11);
  overflow: hidden;
}

.transits-page-shell--day .transit-day-nav {
  gap: 0.55rem;
  margin: 1.08rem auto 1.02rem;
}

.transits-page-shell--day .transit-day-nav__step {
  min-width: 1.18rem;
  min-height: 1.38rem;
  color: #a29a91;
}

.transits-page-shell--day .transit-day-nav__step:hover {
  color: var(--transit-day-ink);
}

.transits-page-shell--day .transit-day-nav__icon {
  width: 0.68rem;
  height: 0.68rem;
}

.transits-page-shell--day .transit-day-nav__label {
  color: var(--transit-day-muted);
  font-family: var(--font-serif);
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.transits-page-shell--day .transit-day-surface {
  gap: 0;
  padding-top: 0.92rem;
}

.transits-page-shell--day .transit-day-section {
  width: calc(100% - (var(--transit-gutter) * 2));
  margin-inline: var(--transit-gutter);
}

.transits-page-shell--day .transit-day-section + .transit-day-section {
  margin-top: 1.18rem;
}

.transits-page-shell--day .transit-day-section__head {
  padding: 0 0 0.82rem;
  border-bottom: 1px solid var(--transit-day-line);
}

.transits-page-shell--day .transit-day-section__eyebrow {
  margin: 0 0 0.54rem;
  color: var(--transit-day-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.1;
  text-transform: uppercase;
}

.transits-page-shell--day .transit-day-section__title {
  margin: 0;
  color: var(--transit-day-ink);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.42;
}

.transits-page-shell--day .active-now-list {
  display: grid;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.transits-page-shell--day .active-now-card,
.transits-page-shell--day .transit-event-card,
.transits-page-shell--day .active-now-card:hover,
.transits-page-shell--day .transit-event-card:hover {
  min-height: 7.35rem;
  border: 0;
  border-bottom: 1px solid var(--transit-day-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.transits-page-shell--day .active-now-card:last-child {
  border-bottom-color: transparent;
}

.transits-page-shell--day .active-now-card:hover {
  background: rgba(246, 241, 232, 0.46);
}

.transits-page-shell--day .active-now-card-glyph {
  position: absolute;
  top: 50%;
  left: 0.08rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.76rem;
  height: 1.76rem;
  border: 1px solid rgba(93, 83, 57, 0.38);
  border-radius: 999px;
  color: var(--transit-day-olive);
  font-family: "Segoe UI Symbol", "Apple Symbols", "Arial Unicode MS", sans-serif;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
}

.transits-page-shell--day .active-now-card-body {
  min-height: 7.35rem;
  padding: 1.08rem 2.66rem 0.98rem 2.55rem;
}

.transits-page-shell--day .active-now-card-meta {
  gap: 0.16rem;
  min-height: 2.2rem;
  padding-inline-end: 0;
}

.transits-page-shell--day .active-now-meta-label,
.transits-page-shell--day .active-now-meta-value {
  color: var(--transit-day-muted);
  font-size: 0.68rem;
  line-height: 1.38;
}

.transits-page-shell--day .active-now-meta-label {
  font-weight: 700;
  letter-spacing: 0.03em;
}

.transits-page-shell--day .active-now-meta-value {
  font-weight: 400;
  white-space: nowrap;
}

.transits-page-shell--day .active-now-text {
  min-height: 0;
  margin-top: auto;
  padding-top: 0.72rem;
  column-gap: 0.48rem;
  align-items: end;
}

.transits-page-shell--day .active-now-copy {
  gap: 0.22rem;
}

.transits-page-shell--day .active-now-eyebrow {
  margin: 0 0 0.16rem;
  color: var(--transit-day-ink);
  font-family: var(--font-serif);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.transits-page-shell--day .active-now-report-title {
  color: #766d62;
  display: -webkit-box;
  font-size: 0.78rem;
  font-weight: 400;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  letter-spacing: 0;
  line-height: 1.45;
  overflow: hidden;
  white-space: normal;
}

.transits-page-shell--day .active-now-arrow {
  color: #aaa195;
  opacity: 1;
  transform: translateY(-0.08rem);
}

.transits-page-shell--day .active-now-star {
  top: 1.05rem;
  right: 0.22rem;
}

.transits-page-shell--day .active-now-star.trajectory-star-button,
.transits-page-shell--day .active-now-star.trajectory-star-button:hover,
.transits-page-shell--day .active-now-star.trajectory-star-button.is-active {
  width: 1.72rem;
  height: 1.72rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--transit-day-blue);
  box-shadow: none;
  transform: none;
}

.transits-page-shell--day .inline-plus-gate,
.transits-page-shell--day .transit-empty-state {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--transit-day-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.transits-page-shell--day .inline-plus-gate {
  padding: 1rem 0.16rem 1.08rem 2.55rem;
}

.transits-page-shell--day .transit-empty-state {
  padding: 6.1rem 0.16rem 3.5rem;
  text-align: center;
}

.transits-page-shell--day .transit-empty-state__glyph {
  margin-bottom: 0.72rem;
  color: #a29a91;
  font-size: 1.26rem;
}

.transits-page-shell--day .transit-empty-state__title {
  color: #5f5850;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.46;
}

@media (max-width: 1040px) {
  .transits-page-shell--day {
    min-height: calc(100dvh - 8.5rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 560px) {
  .transits-page-shell--day {
    --transit-gutter: 1.06rem;
    padding-top: 0.95rem;
  }

  .transits-page-shell--day .active-now-card-body {
    padding-right: 2.28rem;
    padding-left: 2.38rem;
  }

  .transits-page-shell--day .active-now-card-glyph {
    left: 0;
    width: 1.64rem;
    height: 1.64rem;
    font-size: 0.94rem;
  }
}


/* Migrated Transit embedded calendar chip refinements from application.css. */
.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell {
  min-height: 128px;
  padding: 0.54rem 0.5rem 0.46rem;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell.is-today {
  box-shadow: none;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event-card {
  gap: 0.18rem;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event,
.page-shell--transits .yourlog-event-chip {
  align-items: center;
  min-height: 1.42rem;
  margin-bottom: 0.16rem;
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  font-size: 0.76rem;
  line-height: 1.04;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event {
  justify-content: center;
  gap: 0.16rem;
}

.page-shell--transits .yourlog-event-chip {
  gap: 0.12rem;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event svg.astro-icon,
.page-shell--transits .yourlog-event-chip svg.astro-icon {
  width: 20px !important;
  height: 20px !important;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-chip,
.page-shell--transits .yourlog-event-chip .astro-chip {
  align-items: center;
  justify-content: center;
  gap: 0.04rem;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-in,
.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-v2-in,
.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-aspect-sym,
.page-shell--transits .yourlog-event-chip .natal-card-in,
.page-shell--transits .yourlog-event-chip .natal-card-v2-in,
.page-shell--transits .yourlog-event-chip .astro-aspect-sym {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.72);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-rx,
.page-shell--transits .yourlog-event-chip .astro-rx {
  align-self: center;
  margin-left: -0.1rem;
  margin-bottom: 0;
  font-size: 0.5rem;
  line-height: 1;
  transform: translateY(-0.01rem);
}


/* Migrated Transit mobile calendar chip refinements from application.css. */
@media (max-width: 768px) {
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell {
    min-height: clamp(5.3rem, 20vw, 6.35rem);
    padding: 0.3rem 0.22rem 0.24rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event-card {
    gap: 0.1rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event {
    min-height: 1.26rem;
    gap: 0.1rem;
    margin-bottom: 0.1rem;
    padding: 0.13rem 0.2rem;
    font-size: 0.62rem;
    line-height: 1.04;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event svg.astro-icon {
    width: 14px !important;
    height: 14px !important;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-in,
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .natal-card-v2-in,
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-aspect-sym {
    font-size: 0.64rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event .astro-rx {
    margin-left: -0.06rem;
    font-size: 0.42rem;
  }
}


/* Migrated Transit calendar, active-now, log, and note bases from application.css. */
.transit-month-nav {
  display: grid;
  grid-template-columns: min-content auto min-content;
  align-items: center;
  gap: 0.58rem;
  width: fit-content;
  margin: -0.06rem auto 0.08rem;
}

.transit-month-nav .month-step-btn {
  width: 1rem;
  height: 1.2rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
}

.transit-month-nav .month-step-btn:hover {
  background: transparent;
  color: var(--ink);
}

.transit-month-nav .wheel-picker-outer {
  display: inline-flex;
}

.transit-month-nav form {
  margin: 0;
}

.transit-month-nav .wheel-trigger {
  min-height: 1.2rem;
  padding: 0 0.12rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.05;
  color: var(--ink);
  gap: 0.16rem;
}

.transit-month-nav .wheel-trigger:hover {
  border-color: transparent;
}

.transit-month-nav .month-trigger-label {
  letter-spacing: 0;
}

.transit-month-nav .wheel-trigger-icon {
  font-size: 0.48rem;
  line-height: 1;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  overflow: hidden;
  margin-top: 0.8rem;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-head {
  background: var(--bg-deep);
  border-bottom: 1px solid var(--line);
  padding: 0.5rem 0.45rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--muted);
  text-transform: uppercase;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell {
  display: flex;
  flex-direction: column;
  min-height: 118px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 0.3rem;
  background: var(--card-strong);
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell:nth-child(7n) {
  border-right: 0;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell.is-muted {
  background: var(--bg);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell--clickable {
  cursor: pointer;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell--clickable:hover {
  background: #f2f7fb;
  text-decoration: none;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell.is-selected {
  box-shadow: inset 0 0 0 1px rgba(34, 34, 34, 0.18);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell.is-selected .calendar-day {
  color: var(--fg);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-day {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  font-size: 0.82rem;
  font-weight: 600;
  margin-bottom: 0.22rem;
  color: var(--muted);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-day-number {
  line-height: 1;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell.is-today .calendar-day-number {
  display: inline;
  min-width: 0;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell.is-today.is-selected .calendar-day-number {
  color: var(--fg);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event-card {
  display: grid;
  gap: 0.15rem;
  margin-bottom: 0;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 0.1rem;
  padding: 0.15rem 0.3rem;
  font-size: 0.65rem;
  font-weight: 600;
  border: 1px solid transparent;
  border-radius: 3px;
  background: var(--btn);
  color: #ffffff;
  margin-bottom: 0.15rem;
  overflow: hidden;
  white-space: nowrap;
  transition: opacity 0.12s ease, transform 0.1s ease, background 0.12s ease;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event:hover {
  background: var(--btn-hover);
  transform: translateY(-1px);
  text-decoration: none;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event--moon {
  background: var(--btn);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event--moon:hover {
  background: var(--btn-hover);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event--moon-ingress {
  background: #666870;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event--moon-ingress:hover {
  background: #7a7c85;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event svg.astro-icon {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 auto;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event .astro-chip {
  align-items: flex-end;
  gap: 0;
  flex: 0 0 auto;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event .natal-card-in,
.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event .natal-card-v2-in {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.55);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event .astro-rx {
  position: static;
  display: inline-block;
  align-self: flex-end;
  margin-left: -0.14rem;
  margin-bottom: 0.02rem;
  font-size: 0.42rem;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: -0.01em;
  line-height: 0.9;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  transform: translateY(-0.05rem);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-event .astro-aspect-sym {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0.05rem;
}

/* Calendar day number button */
button.calendar-day {
  all: unset;
  font-size: 0.82rem;
  font-weight: 600;
  margin-bottom: 0.3rem;
  color: var(--muted);
  cursor: pointer;
  display: block;
}
button.calendar-day--clickable:hover {
  color: var(--fg);
  text-decoration: underline;
}

/* Day events modal */
/* Base: hidden (browser default for closed <dialog>) */
.day-modal-dialog {
  padding: 0;
  border: none;
  background: transparent;
  margin: 0;
}
/* Open: dialog becomes the full-screen overlay so backdrop clicks fire on the element */
.day-modal-dialog[open] {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  background: rgba(0, 0, 0, 0.55);
  padding: 1rem;
  box-sizing: border-box;
  animation: dayModalBgIn 0.2s ease forwards;
}
.day-modal-dialog[open] .day-modal-inner {
  animation: dayModalCardIn 0.2s ease forwards;
}
.day-modal-dialog.is-closing {
  animation: dayModalBgOut 0.15s ease forwards;
}
.day-modal-dialog.is-closing .day-modal-inner {
  animation: dayModalCardOut 0.15s ease forwards;
}
@keyframes dayModalBgIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes dayModalCardIn {
  from { opacity: 0; transform: scale(0.96) translateY(10px); }
  to   { opacity: 1; transform: scale(1)    translateY(0);    }
}
@keyframes dayModalBgOut {
  from { opacity: 1; }
  to   { opacity: 0; }
}
@keyframes dayModalCardOut {
  from { opacity: 1; transform: scale(1)    translateY(0);   }
  to   { opacity: 0; transform: scale(0.96) translateY(6px); }
}
/* Actual modal card box */
.day-modal-inner {
  background: var(--card-strong);
  color: var(--fg);
  border: 1px solid var(--line);
  border-radius: 16px;
  width: 520px;
  aspect-ratio: 3 / 4;
  max-height: 92vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

@media (max-width: 768px) {
  .day-modal-inner {
    width: 92vw;
    border-radius: 12px;
  }
}
.day-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.2rem 0.75rem;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.day-modal-date-label {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--fg);
}
.day-modal-close {
  background: none;
  border: none;
  color: var(--muted);
  font-size: 1rem;
  cursor: pointer;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  line-height: 1;
}
.day-modal-close:hover {
  color: var(--fg);
  background: var(--bg);
}
.day-modal-events {
  overflow-y: auto;
  padding: 1.44rem 1.98rem 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  flex: 1;
}
.day-modal-card-wrap {
  position: relative;
}
.day-modal-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 170px;
  padding: 0;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.day-modal-star {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  background: none;
  border: 1px solid var(--line);
  cursor: pointer;
  font-size: 0.8rem;
  line-height: 1;
  width: 1.6rem;
  height: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--muted);
  border-radius: 3px;
  transition: color 0.12s ease, background 0.12s ease, border-color 0.12s ease;
  z-index: 1;
}
.day-modal-star:hover {
  color: var(--star-color);
  background: var(--star-bg);
  border-color: var(--star-color);
}
.day-modal-star.is-active {
  color: var(--star-color);
  border-color: var(--star-color);
}
.day-modal-card:hover {
  background: var(--hover-lavender);
  border-color: var(--hover-lavender-border);
  text-decoration: none;
}
.day-modal-card-body {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1;
  padding: 1rem 1.1rem 1.9rem;
}
.day-modal-card-eyebrow {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.03em;
}
.day-modal-card-title--soon {
  font-style: italic;
  opacity: 0.35;
}
.day-modal-card-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--fg);
  line-height: 1.3;
}

.day-modal-card .day-modal-card-eyebrow,
.day-modal-card .day-modal-card-title,
.day-modal-card .day-modal-card-meta,
.day-modal-card .day-modal-card-text {
  max-inline-size: 100%;
}

.day-modal-card-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.16rem;
}

.day-modal-card-text {
  margin-top: auto;
}

.trajectory-lockup {
  margin-top: 0.8rem;
}

.trajectory-panel {
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.trajectory-table-tools {
  margin-top: 0.65rem;
  min-width: 240px;
}

/* Your Log - vertical timeline */
.yourlog-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin-bottom: 1rem;
}

.yourlog-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.yourlog-summary-card {
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--paper) 86%, white 14%);
}

.yourlog-summary-card__label {
  display: block;
  font-size: 0.68rem;
  color: var(--muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.yourlog-summary-card__value {
  display: block;
  margin-top: 0.28rem;
  font-size: 1.15rem;
  color: var(--ink);
}

.yourlog-summary-card__meta {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.4;
}

.yourlog-filter-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.4rem;
  align-items: start;
}

.yourlog-filter-field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}

.yourlog-filter-field__label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--muted);
}

.yourlog-filter-field--search {
  max-width: 28rem;
}

.yourlog-filter-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.5rem;
  align-items: center;
}

.yourlog-filter-field__input {
  min-width: 0;
  width: 100%;
}

.yourlog-filter-submit,
.yourlog-filter-reset {
  min-width: 4.1rem;
}

.yourlog-timeline {
  display: flex;
  flex-direction: column;
  margin-top: 0;
}

.yourlog-item {
  display: flex;
  gap: 0.85rem;
}

.yourlog-spine {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 2.8rem;
  padding-top: 0.1rem;
}

.yourlog-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--muted);
  flex-shrink: 0;
  margin-top: 0.28rem;
  transition: background 0.15s;
}

.yourlog-item:hover .yourlog-dot {
  background: var(--star-color);
}

.yourlog-date {
  font-size: 0.7rem;
  color: var(--muted);
  white-space: nowrap;
  margin-top: 0.3rem;
  text-align: center;
}

.yourlog-line {
  flex: 1;
  width: 1px;
  background: var(--line);
  margin-top: 0.4rem;
  min-height: 0.5rem;
}

.yourlog-item:last-child .yourlog-line {
  display: none;
}

.yourlog-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
}

.yourlog-event-row {
  display: grid;
  grid-template-columns: var(--yourlog-chip-column-width) minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.75rem;
  row-gap: 0.35rem;
}

.yourlog-event-link {
  grid-column: 1;
  display: block;
  align-items: center;
  text-decoration: none;
  color: var(--ink);
  width: 100%;
  min-width: 0;
}

.yourlog-event-link:hover {
  text-decoration: none;
}

.yourlog-event-link .calendar-event,
.yourlog-event-chip {
  margin-bottom: 0;
  width: 100%;
  max-width: 100%;
}

.yourlog-event-row .trajectory-star-button {
  grid-column: 3;
  justify-self: end;
  flex-shrink: 0;
}

.yourlog-event-link:hover .calendar-event {
  background: var(--btn-hover);
}

.yourlog-note {
  grid-column: 2;
  display: block;
  width: 100%;
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.4;
  margin: 0;
  margin-left: 0.75rem;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yourlog-note--placeholder {
  color: color-mix(in srgb, var(--muted) 58%, var(--paper) 42%);
}

.yourlog-reflection {
  margin-top: 0.55rem;
  margin-left: 0.75rem;
  border-top: 1px dashed color-mix(in srgb, var(--line) 68%, transparent);
  color: var(--ink);
}

.yourlog-reflection summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: 0.48rem;
  row-gap: 0.28rem;
  width: 100%;
  min-height: 2rem;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  list-style: none;
}

.yourlog-reflection summary::-webkit-details-marker {
  display: none;
}

.yourlog-reflection summary::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.18s ease;
}

.yourlog-reflection[open] summary::before {
  transform: rotate(45deg);
}

.yourlog-reflection__summary-main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.42rem;
  min-width: 0;
}

.yourlog-reflection summary small {
  min-width: 0;
  color: color-mix(in srgb, var(--muted) 72%, var(--paper) 28%);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.35;
  white-space: normal;
}

.yourlog-reflection__snapshot {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.24rem;
}

.yourlog-reflection__snapshot-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
  min-height: 1.28rem;
  padding: 0.16rem 0.38rem;
  border: 1px solid color-mix(in srgb, var(--ink) 18%, var(--line));
  border-radius: 4px;
  background: transparent;
  color: color-mix(in srgb, var(--muted) 78%, var(--ink));
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.1;
}

.yourlog-reflection__snapshot-chip strong {
  color: var(--ink);
  font-size: 0.66rem;
}

.yourlog-reflection__form {
  display: grid;
  gap: 0.58rem;
  padding: 0.38rem 0 0.16rem;
}

.yourlog-reflection__group {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.yourlog-reflection__group legend {
  padding: 0;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.yourlog-reflection__options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.26rem;
}

.yourlog-reflection__radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.yourlog-reflection__option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.5rem;
  padding: 0.2rem 0.46rem;
  border: 1px solid color-mix(in srgb, var(--line) 84%, var(--muted));
  border-radius: 4px;
  background: color-mix(in srgb, var(--paper) 90%, white);
  color: var(--ink);
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
}

.yourlog-reflection__radio:checked + .yourlog-reflection__option {
  border-color: color-mix(in srgb, var(--ink) 68%, var(--line));
  background: color-mix(in srgb, var(--ink) 88%, var(--btn) 12%);
  color: #fffaf1;
}

.yourlog-reflection__actions {
  display: flex;
  justify-content: flex-start;
}

.yourlog-reflection__submit {
  min-height: 1.72rem;
  padding: 0.3rem 0.66rem;
  border: 1px solid color-mix(in srgb, var(--ink) 35%, var(--line));
  border-radius: 999px;
  background: var(--ink);
  color: #fffaf1;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1;
}

.yourlog-reflection__locked {
  margin: 0.2rem 0 0;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.4;
}

.trajectory-star-status {
  display: inline-flex;
  align-items: center;
  max-width: min(17rem, calc(100vw - 3rem));
  min-height: 1.85rem;
  margin-left: 0.45rem;
  padding: 0.36rem 0.62rem;
  border: 1px solid color-mix(in srgb, #9f4f3f 48%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, #fff8f3 82%, var(--paper));
  color: #8a3f33;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.2;
}

@media (max-width: 820px) {
  .yourlog-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .yourlog-filter-field--search {
    max-width: none;
  }

  .yourlog-filter-search-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

.active-now-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.8rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0;
  margin: 0;
}

.active-now-list > * {
  min-width: 0;
}

.active-now-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 120px;
  padding: 0;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  background: linear-gradient(to bottom, #ffffff, #fdfcfb);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.01);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.active-now-card:hover {
  background: #ffffff;
  border-color: #d8d4cf;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.04), 0 2px 4px rgba(0, 0, 0, 0.02);
  transform: translateY(-2px);
}

.transit-event-card {
  background: #ffffff;
}

.transit-event-card:hover {
  background: #ffffff;
  border-color: #d8d4cf;
}

.active-now-card--locked {
  background: #ffffff;
  border-color: #d7d7d7;
}

.active-now-card--locked:hover {
  background: #ffffff;
  border-color: #d7d7d7;
}

.active-now-card--locked .active-now-meta-label,
.active-now-card--locked .active-now-meta-value,
.active-now-card--locked .active-now-eyebrow,
.active-now-card--locked .active-now-arrow {
  color: #8a8a8a;
}

.active-now-card--locked .active-now-report-title {
  color: #6f6f6f;
}

.active-now-report-title--locked {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  min-width: 0;
}

.active-now-report-title__label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.active-now-inline-lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #8a8a8a;
}

.active-now-card--locked .natal-placement-card__meta-lockup,
.active-now-card--locked .natal-placement-card__meta-lockup .astro-icon,
.active-now-card--locked .natal-placement-card__meta-secondary {
  color: var(--muted);
}

.active-now-card--locked .active-now-arrow {
  opacity: 0;
}

.active-now-card--locked .natal-placement-card__title {
  opacity: 1;
}

.active-now-card--locked .natal-placement-card__eyebrow {
  opacity: 0.72;
}

.active-now-card__lock-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  z-index: 2;
}

.active-now-card__lock-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9d9d9d;
  opacity: 1;
}

.active-now-card__lock-icon svg {
  width: 42px;
  height: 42px;
}

.active-now-star {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 1;
}

.active-now-card-body {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1;
  min-width: 0;
  padding: 0.8rem 1.1rem 1.5rem;
}

.active-now-card-body--link {
  text-decoration: none;
  color: inherit;
}

.active-now-card-body--link:hover {
  text-decoration: none;
}

.active-now-card-body--link:focus,
.active-now-card-body--link:focus-visible {
  outline: none;
}

.active-now-card-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.12rem;
  max-inline-size: 100%;
  min-height: 1.88rem;
}

.active-now-meta-line {
  display: inline-flex;
  align-items: baseline;
  gap: 0.42rem;
  flex-wrap: wrap;
}

.active-now-meta-line--placeholder {
  visibility: hidden;
}

.active-now-meta-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: 0.03em;
}

.active-now-meta-value {
  font-size: 0.74rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  line-height: 1.35;
}

.active-now-text {
  margin-top: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: 0.5rem;
  min-height: 3.84rem;
  padding-top: 0.96rem;
  text-decoration: none;
  color: inherit;
  inline-size: 100%;
  min-width: 0;
}

.active-now-text:hover {
  text-decoration: none;
}

.day-modal-card:hover .active-now-eyebrow,
.day-modal-card:hover .active-now-report-title,
.active-now-card:hover .active-now-eyebrow,
.active-now-card:hover .active-now-report-title,
.active-now-text:hover .active-now-eyebrow,
.active-now-text:hover .active-now-report-title {
  text-decoration: none;
}

.active-now-copy {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  max-inline-size: 100%;
  min-width: 0;
  align-self: stretch;
}

.active-now-eyebrow {
  color: var(--muted);
}

.active-now-eyebrow-lockup {
  display: inline-flex;
  align-items: baseline;
  gap: 0.08rem;
  flex-wrap: nowrap;
}

.active-now-eyebrow-aspect {
  display: inline-block;
  margin: 0 0.08rem;
  color: var(--fg);
}

.active-now-role-tag {
  display: inline-block;
  margin-right: 0;
  font-size: 0.5rem;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: color-mix(in srgb, var(--accent) 76%, var(--muted) 24%);
  transform: translateY(0.1em);
}

.active-now-role-tag--natal {
  color: color-mix(in srgb, var(--muted) 82%, var(--fg) 18%);
}

.active-now-role-name {
  color: inherit;
  line-height: 1.1;
}

.active-now-report-title {
  color: var(--fg);
  display: block;
  font-size: clamp(0.92rem, 0.88rem + 0.16vw, 1rem);
  line-height: 1.22;
  max-inline-size: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.active-now-report-title.active-now-report-title--locked {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  min-width: 0;
}

.active-now-report-title--soon {
  opacity: 0.42;
}

.active-now-arrow {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  align-self: end;
  color: var(--muted);
  line-height: 1;
}

.transit-detail-shell {
  gap: 0.28rem;
  min-height: 0;
}

.page-shell--transit-detail {
  gap: 0.18rem;
}

.page-shell--transit-detail .transit-subpage-panel {
  padding-top: 0;
}

.page-shell--transit-detail .transit-detail-shell .natal-body-back {
  gap: 0.18rem;
  margin: 0.72rem 0 0.06rem 1.18rem;
  color: var(--astro-detail-muted, #8B847D);
  font-family: var(--font-serif);
  font-size: 0.74rem;
  font-weight: 400;
  line-height: 1.12;
}

.page-shell--transit-detail .transit-detail-shell .natal-body-back svg {
  width: 0.76rem;
  height: 0.76rem;
  flex: 0 0 auto;
}

.transit-detail-card__header {
  gap: 0;
}

.transit-detail-card__symbol-row {
  min-height: 1.6rem;
}

.transit-detail-card__meta {
  min-height: 0;
  margin-bottom: 0;
}

.transit-detail-card__meta-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.transit-detail-card__meta .active-now-meta-line {
  gap: 0.38rem;
}

.transit-detail-card__actions {
  flex-shrink: 0;
  padding-top: 0.02rem;
}

.transit-detail-card__actions .trajectory-tools {
  display: flex;
  align-items: center;
  gap: 0;
}

.transit-detail-card__actions .trajectory-actions,
.transit-detail-card__actions .trajectory-actions-icon {
  gap: 0;
  margin-left: 0;
  justify-content: flex-end;
}

.transit-detail-card__actions .trajectory-star-button {
  width: 1.15rem;
  height: 1.52rem;
  color: rgba(34, 34, 34, 0.58);
}

.transit-detail-card__actions .trajectory-star-button:hover {
  color: var(--ink);
}

.transit-detail-card__copy {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-top: 0.96rem;
  max-inline-size: 100%;
  min-width: 0;
}

.transit-detail-card__eyebrow {
  margin: 0;
}

.transit-detail-card {
  min-height: 0;
  height: auto;
  grid-template-rows: minmax(9.2rem, auto) auto;
}

.transit-detail-card .natal-detail-card__content {
  padding: 3.15rem 2rem 3.15rem;
  overflow-y: visible;
}

.transit-detail-trajectory {
  display: grid;
  gap: 0.38rem;
  margin-top: 0.28rem;
  padding: 0.72rem 1.23rem 0.82rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
}

.transit-detail-trajectory__header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6rem;
  min-height: 0;
}

.transit-detail-trajectory__eyebrow {
  margin: 0;
  color: rgba(34, 34, 34, 0.42);
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.07em;
}

.transit-detail-trajectory__body {
  padding: 0.2rem 0.77rem 0;
  border-top: 0;
}

.transit-detail-trajectory__body .trajectory-tools {
  gap: 0.38rem;
}

.transit-detail-trajectory__body .trajectory-note-form {
  gap: 0.42rem;
}

.transit-detail-trajectory__body .trajectory-note-input-wrap {
  border-radius: 8px;
  overflow: hidden;
}

.transit-detail-trajectory__body .trajectory-note-input {
  min-height: 74px;
  padding: 0.76rem 0.86rem 1.48rem;
  border-radius: 8px !important;
  border-color: color-mix(in srgb, var(--line) 88%, #d8d8d8 12%);
  background: #fff;
  appearance: none;
  -webkit-appearance: none;
  font-family: var(--font-sans);
  font-size: 0.9rem;
  line-height: 1.58;
}

.transit-detail-trajectory__body .trajectory-note-input::placeholder {
  color: color-mix(in srgb, var(--muted) 84%, white 16%);
}

.transit-detail-trajectory__body .trajectory-note-input:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--muted) 36%, var(--line) 64%);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(34, 34, 34, 0.035);
}

.transit-detail-trajectory__body .trajectory-note-counter {
  right: 0.76rem;
  bottom: 0.58rem;
  font-size: 0.68rem;
}

.transit-detail-trajectory__body .trajectory-autosave-status {
  display: none;
  margin-top: 0;
  font-size: 0.72rem;
  color: rgba(34, 34, 34, 0.5);
}

.transit-detail-trajectory__body .trajectory-autosave-status:not(:empty) {
  display: block;
}

.transit-detail-personalization {
  margin-top: 1.42rem;
  padding-top: 1.08rem;
  border-top: 1px solid color-mix(in srgb, rgba(34, 34, 34, 0.14) 78%, white 22%);
}

.transit-detail-personalization__text {
  gap: 0.95rem;
}

.transit-detail-actions {
  margin-top: -0.2rem;
}

.trajectory-tools {
  display: grid;
  gap: 0.55rem;
}

.trajectory-tools.is-compact {
  gap: 0.35rem;
}

.trajectory-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.trajectory-actions-icon {
  justify-content: flex-end;
  margin-left: auto;
  flex-shrink: 0;
}

.trajectory-button {
  margin: 0;
  box-shadow: none;
}

.trajectory-star-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.8rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
  transition: color 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}

.trajectory-star-button:hover {
  color: var(--ink);
  transform: translateY(-1px);
}

.trajectory-star-button.is-active {
  color: color-mix(in srgb, var(--ink) 78%, #9d8d77 22%);
}

.trajectory-bookmark-icon {
  width: 0.92rem;
  height: 1.18rem;
  display: block;
}

.trajectory-bookmark-icon path {
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linejoin: round;
  transition: fill 0.15s ease, stroke 0.15s ease;
}

.trajectory-star-button.is-active .trajectory-bookmark-icon path {
  fill: currentColor;
}

.transit-empty-state {
  min-height: 15rem;
  display: grid;
  place-items: center;
  align-content: center;
  justify-items: center;
  gap: 0.48rem;
  padding: 2.2rem 1rem 1.8rem;
  text-align: center;
}

.transit-empty-state__glyph {
  margin: 0;
  color: color-mix(in srgb, var(--muted) 72%, #b3a590 28%);
  font-size: 1.35rem;
  line-height: 1;
}

.transit-empty-state__title {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
}

.transit-pending-state {
  gap: 1.1rem;
  min-height: 13.5rem;
}

.transit-pending-state__spinner {
  width: 64px;
  height: 64px;
  color: color-mix(in srgb, var(--accent) 54%, var(--muted) 46%);
  animation: transit-pending-orbit 4s ease-in-out infinite;
}

.transit-pending-state__copy {
  display: grid;
  justify-items: center;
  gap: 0.38rem;
  max-width: min(100%, 24rem);
}

.transit-pending-state__title {
  font-family: var(--font-serif);
  font-size: clamp(0.96rem, 0.92rem + 0.18vw, 1.08rem);
  font-weight: 400;
  color: color-mix(in srgb, var(--ink) 86%, var(--accent) 14%);
}

.transit-pending-state__body {
  margin: 0;
  color: color-mix(in srgb, var(--muted) 84%, var(--ink) 16%);
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.58;
}

.trajectory-meta {
  margin: 0;
  font-size: 0.82rem;
  color: var(--muted);
}

.trajectory-note-form {
  display: grid;
  gap: 0.55rem;
}

.trajectory-note-input-wrap {
  position: relative;
}

.trajectory-note-input {
  width: 100%;
  min-height: 88px;
  resize: vertical;
  padding: 0.75rem 0.85rem 1.6rem;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--card);
  color: var(--ink);
}

.trajectory-note-counter {
  position: absolute;
  right: 0.8rem;
  bottom: 0.65rem;
  font-size: 0.72rem;
  line-height: 1;
  color: var(--muted);
  pointer-events: none;
}

.trajectory-note-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.trajectory-note-status {
  display: block;
  font-size: 0.75rem;
  color: var(--muted);
  min-height: 1.1em;
}

.trajectory-note-save {
  background: var(--btn);
  color: #ffffff;
  border: none;
  border-radius: 4px;
  padding: 0.42rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, opacity 0.2s ease;
}

.trajectory-note-save:hover {
  background: var(--btn-hover);
}

.trajectory-note-save:disabled {
  background: var(--muted);
  cursor: not-allowed;
  opacity: 0.5;
}


/* Migrated Transit modal and detail title bases from application.css. */
/* Transit modal overlay fade-in (turbo frame load) */
.transit-modal-overlay {
  animation: transitOverlayIn 0.2s ease forwards;
}
.transit-modal-overlay > .relative {
  animation: transitCardIn 0.22s ease forwards;
}
/* Transit modal overlay fade-out (close) */
.transit-modal-overlay.is-closing {
  animation: transitOverlayOut 0.16s ease forwards;
}
.transit-modal-overlay.is-closing > .relative {
  animation: transitCardOut 0.16s ease forwards;
}
@keyframes transitOverlayIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes transitCardIn {
  from { opacity: 0; transform: scale(0.97) translateY(12px); }
  to   { opacity: 1; transform: scale(1)    translateY(0);    }
}
@keyframes transitOverlayOut {
  from { opacity: 1; }
  to   { opacity: 0; }
}
@keyframes transitCardOut {
  from { opacity: 1; transform: scale(1)    translateY(0);   }
  to   { opacity: 0; transform: scale(0.97) translateY(8px); }
}

@keyframes transit-pending-orbit {
  0% {
    opacity: 0.34;
    transform: rotate(0deg) scale(0.92);
  }

  50% {
    opacity: 1;
    transform: rotate(90deg) scale(1.08);
  }

  100% {
    opacity: 0.34;
    transform: rotate(180deg) scale(0.92);
  }
}

/* Transit Modal Title */
/* Transit modal event meta row */
.transit-modal-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.1rem;
  flex-wrap: wrap;
}

.transit-modal-meta-date {
  font-size: 0.78rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.transit-modal-meta-type {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--muted);
  background: var(--bg-deep);
  border-radius: 4px;
  padding: 0.1rem 0.45rem;
}

.transit-modal-meta-sign {
  font-size: 0.75rem;
  color: var(--muted);
}

.transit-modal-title-lockup {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: nowrap;
  font-family: var(--font-sans);
}

.transit-modal-title-lockup svg.astro-icon {
  flex-shrink: 0;
  color: var(--ink);
}

.transit-modal-title-lockup .natal-card-v2-in {
  font-size: 0.7rem;
  color: var(--muted);
  letter-spacing: 0.03em;
  flex-shrink: 0;
}

.transit-modal-arrow {
  font-size: 1rem;
  color: var(--muted);
  flex-shrink: 0;
  line-height: 1;
}

.transit-modal-aspect-sym {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--muted);
}

.astro-aspect-sym {
  font-size: 0.75rem;
  color: var(--muted);
  margin: 0 0.1rem;
}

.aspect-symbol--trine,
.aspect-symbol--square {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transform: scale(0.86);
  transform-origin: center;
}

.transit-modal-event-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

.transit-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.transit-detail-header h1 {
  margin-top: 0;
}


/* Migrated page surface theme from z99. */
.transit-calendar-selection,
.transit-empty-state {
  border-color: color-mix(in srgb, var(--line) 84%, white 16%);
  background: transparent;
  box-shadow: none;
}


/* Migrated Transit final theme from z99. */
.page-shell--transits {
  --transit-page-bg: transparent;
  --transit-module-bg: transparent;
  --transit-card-bg: var(--card);
  --transit-line: color-mix(in srgb, var(--line) 84%, white 16%);
  --transit-line-strong: color-mix(in srgb, var(--accent) 44%, var(--line) 56%);
  --transit-ink: var(--ink);
  --transit-muted: var(--muted);
  --transit-accent: var(--accent);
  --transit-chip-bg: #173B67;
  --transit-chip-hover: #14345B;
  --transit-chip-ink: #fffaf1;
  --transit-chip-moon-bg: color-mix(in srgb, var(--transit-chip-bg) 82%, white 18%);
  --transit-chip-moon-hover: color-mix(in srgb, var(--transit-chip-bg) 88%, white 12%);
  --transit-chip-fixed-star-bg: #5F6A78;
  --transit-chip-fixed-star-hover: #56616E;
}

.page-shell--transits .calendar-grid {
  border: 1px solid color-mix(in srgb, var(--line) 84%, white 16%);
  border-radius: 8px;
  background: color-mix(in srgb, var(--line) 60%, white 40%);
  overflow: hidden;
}

.page-shell--transits .calendar-head,
.page-shell--transits .calendar-cell,
.page-shell--transits .calendar-cell.is-muted,
.page-shell--transits .calendar-cell--clickable:hover {
  background: var(--card);
}

.page-shell--transits .active-now-list {
  gap: 0;
}

.page-shell--transits .active-now-card,
.page-shell--transits .transit-event-card,
.page-shell--transits .active-now-card--locked {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 64%, white 36%);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--transits .active-now-card:hover,
.page-shell--transits .transit-event-card:hover {
  background: color-mix(in srgb, var(--accent-soft) 34%, transparent);
  border-color: color-mix(in srgb, var(--accent) 38%, var(--line) 62%);
}

.page-shell--transits .active-now-report-title {
  font-size: 1rem;
  font-weight: 500;
}


/* Migrated app responsive page grid from z99. */
.yourlog-summary-grid {
  grid-template-columns: minmax(0, 1fr);
}


/* Migrated Transit responsive filter from z99. */
.yourlog-filter-field--search {
  max-width: none;
}


/* Migrated Transit calendar and bookmark final theme from z99. */
/* Calendar current-month cells: clean paper tone, with adjacent months muted. */
.page-shell--transits.transits-page-shell--calendar .calendar-cell:not(.is-muted),
.page-shell--transits.transits-page-shell--calendar .calendar-cell:not(.is-muted).calendar-cell--clickable:hover {
  background: #FFFDF8;
}

.page-shell--transits.transits-page-shell--calendar .calendar-cell.is-muted,
.page-shell--transits.transits-page-shell--calendar .calendar-cell.is-muted.calendar-cell--clickable:hover {
  background: rgba(246, 241, 232, 0.72);
}

/* Transit list bookmark color parity. */
.page-shell--transits.transits-page-shell--active-now .active-now-star.trajectory-star-button,
.page-shell--transits.transits-page-shell--active-now .active-now-star.trajectory-star-button:hover,
.page-shell--transits.transits-page-shell--active-now .active-now-star.trajectory-star-button.is-active {
  color: #6C663D;
}

.page-shell--transits.transits-page-shell--active-now .active-now-star.trajectory-star-button.is-active .trajectory-bookmark-icon path {
  fill: #6C663D;
}

/* Transit > Now card text lockup: shared by sky transits, fixed stars, and tr-natal cards. */
.page-shell--transits.transits-page-shell--active-now .active-now-card,
.page-shell--transits.transits-page-shell--active-now .transit-event-card,
.page-shell--transits.transits-page-shell--active-now .active-now-card:hover,
.page-shell--transits.transits-page-shell--active-now .transit-event-card:hover {
  min-height: 6.12rem;
}

.page-shell--transits.transits-page-shell--active-now .active-now-card-body {
  justify-content: flex-start;
  min-height: 6.12rem;
  padding: 0.72rem 2.56rem 0.82rem 2.55rem;
}

.page-shell--transits.transits-page-shell--active-now .active-now-card-meta {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 0.58rem;
  row-gap: 0.24rem;
  min-height: 1.18rem;
  margin: 0 0 0.56rem;
}

.page-shell--transits.transits-page-shell--active-now .active-now-meta-line {
  align-items: center;
  gap: 0.26rem;
  flex-wrap: nowrap;
  min-width: 0;
}

.page-shell--transits.transits-page-shell--active-now .active-now-meta-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 1.16rem;
  min-width: 1.7rem;
  padding: 0 0.36rem;
  border: 1px solid color-mix(in srgb, var(--transit-now-line) 88%, white 12%);
  border-radius: 4px;
  background: #FDFBF8;
  color: color-mix(in srgb, var(--transit-now-ink) 86%, var(--transit-now-muted) 14%);
  font-family: var(--font-serif);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}

.page-shell--transits.transits-page-shell--active-now .active-now-meta-value {
  color: color-mix(in srgb, var(--transit-now-ink) 72%, var(--transit-now-muted) 28%);
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.page-shell--transits.transits-page-shell--active-now .active-now-text {
  display: block;
  min-height: 0;
  margin-top: 0;
  padding-top: 0;
}

.page-shell--transits.transits-page-shell--active-now .active-now-copy {
  gap: 0.12rem;
}

.page-shell--transits.transits-page-shell--active-now .active-now-eyebrow {
  display: block;
  margin: 0;
  color: var(--transit-now-ink);
  font-family: var(--font-serif);
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.32;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-shell--transits.transits-page-shell--active-now .active-now-report-title {
  display: block;
  color: #766D62;
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.42;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-shell--transits.transits-page-shell--active-now .active-now-arrow {
  display: none;
}

.page-shell--transits.transits-page-shell--active-now .active-now-star {
  top: 0.7rem;
}

@media (max-width: 560px) {
  .page-shell--transits.transits-page-shell--active-now .active-now-card-body {
    padding-right: 2.36rem;
    padding-left: 2.38rem;
  }

  .page-shell--transits.transits-page-shell--active-now .active-now-eyebrow {
    font-size: 0.98rem;
  }
}


/* Migrated Transit tokens from application.css. */
.page-shell--transits {
  --yourlog-chip-column-width: 4.375rem;
}


/* Migrated Transit reduced-motion defaults from application.css. */
@media (prefers-reduced-motion: reduce) {
  .transit-pending-state__spinner,
  .trajectory-note-save {
    animation: none !important;
    transition: none !important;
  }
}


/* Migrated Transit report section bases from application.css. */
.transit-sections-list {
  display: flex;
  flex-direction: column;
}

/* Accordion */
.section-accordion {
  border-top: 1px solid var(--line);
}

.section-accordion:first-child {
  border-top: none;
}

.section-accordion-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 0;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.section-accordion-summary::-webkit-details-marker {
  display: none;
}

.section-accordion-summary::marker {
  display: none;
}

.section-accordion-summary .transit-topic-tags {
  margin-bottom: 0;
  flex: 1;
  min-width: 0;
}

/* Open/close chevron */
.section-accordion-chevron {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  position: relative;
}

.section-accordion-chevron::before,
.section-accordion-chevron::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 6px;
  height: 1.5px;
  background: var(--muted);
  border-radius: 1px;
  transition: transform 0.18s ease;
}

.section-accordion-chevron::before {
  left: 1px;
  transform: translateY(-50%) rotate(45deg);
}

.section-accordion-chevron::after {
  right: 1px;
  transform: translateY(-50%) rotate(-45deg);
}

.section-accordion[open] .section-accordion-chevron::before {
  transform: translateY(-50%) rotate(-45deg);
}

.section-accordion[open] .section-accordion-chevron::after {
  transform: translateY(-50%) rotate(45deg);
}

.section-accordion .transit-section-text {
  padding-bottom: 1rem;
}

/* Topic tag chips */
.transit-topic-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.65rem;
}

.transit-topic-tag {
  display: inline-block;
  background: var(--star-bg);
  color: var(--star-color);
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.transit-topic-tag-fallback {
  font-size: 0.8rem;
  color: var(--muted);
}

/* Section body paragraphs */
.transit-section-text {
  font-size: 0.875rem;
  line-height: 1.85;
  color: var(--ink);
  margin: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
}


/* Migrated Transit mobile calendar bases from application.css. */
@media (max-width: 768px) {
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-head {
    padding: 0.3rem 0.2rem;
    font-size: 0.6rem;
    letter-spacing: 0;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-cell {
    min-height: 96px;
    padding: 0.25rem 0.2rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-day {
    font-size: 0.7rem;
    margin-bottom: 0.2rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-event {
    padding: 0.1rem 0.25rem;
    font-size: 0.6rem;
    gap: 0.08rem;
    margin-bottom: 0.1rem;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-event svg.astro-icon {
    width: 14px !important;
    height: 14px !important;
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-event .natal-card-in,
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-event .natal-card-v2-in {
    font-size: 0.58rem;
    color: rgba(255, 255, 255, 0.9);
  }

  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-event .astro-aspect-sym {
    font-size: 0.62rem;
    color: rgba(255, 255, 255, 0.9);
  }
}


/* Migrated Transit mobile detail bases from application.css. */
@media (max-width: 768px) {
.transit-detail-card__meta-row {
    gap: 0.72rem;
  }

  .transit-detail-trajectory {
    gap: 0.34rem;
    padding: 0.66rem 1.14rem 0.76rem;
    border-radius: 9px;
  }

  .transit-detail-trajectory__body {
    padding: 0.16rem 0.21rem 0;
  }

  .transit-detail-trajectory__body .trajectory-note-input {
    min-height: 70px;
    padding: 0.72rem 0.8rem 1.42rem;
  }
}

/* Transit detail event: open paper redesign. Scoped to event detail cards only. */
body:not(.signed-out) .app-shell .container--app > .page-shell--transit-detail,
.page-shell--transit-detail .transit-subpage-panel,
.page-shell--transit-detail .transit-detail-page,
.page-shell--transit-detail .transit-detail-shell {
  background: transparent;
  background-blend-mode: normal;
}

.page-shell--transit-detail .transit-detail-page {
  gap: 0.36rem;
}

.page-shell--transit-detail .transit-detail-page .natal-body-detail.transit-detail-shell {
  padding-bottom: 0.28rem;
}

.page-shell--transit-detail .transit-detail-page .transit-detail-trajectory {
  margin-top: 0;
}

.page-shell--transit-detail .transit-detail-card--event.astro-card-detail {
  margin-top: -0.42rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__header,
.page-shell--transit-detail .transit-detail-card--event.transit-detail-card .astro-card-detail__header {
  gap: 0.08rem;
  padding: 0.16rem 0.86rem 0;
  border-bottom: 0;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-row,
.page-shell--transit-detail .transit-detail-card--event.transit-detail-card .astro-card-detail__meta-row,
.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.58rem;
  width: 100%;
  padding: 0 0 0.02rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-strip {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.58rem;
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-strip .active-now-meta-line {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-width: 0;
  min-height: 1.34rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  white-space: nowrap;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-strip .active-now-meta-line::before {
  display: none;
  content: none;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-strip .active-now-meta-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 1.18rem;
  min-height: 1.18rem;
  padding: 0 0.42rem;
  border: 1px solid var(--astro-detail-line, #EBE4DB);
  border-radius: 4px;
  background: var(--astro-detail-paper, #FDFBF8);
  color: color-mix(in srgb, var(--astro-detail-ink, #3D3935) 86%, var(--astro-detail-muted, #8B847D) 14%);
  font-family: var(--font-serif);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-strip .active-now-meta-value {
  display: inline;
  color: color-mix(in srgb, var(--astro-detail-ink, #3D3935) 72%, var(--astro-detail-muted, #8B847D) 28%);
  font-family: var(--font-serif);
  font-size: 0.76rem;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 1.68rem;
  border: 0;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__actions .trajectory-tools,
.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__actions .trajectory-actions,
.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__actions .trajectory-actions-icon {
  align-items: center;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__actions .trajectory-star-button,
.page-shell--transit-detail .transit-detail-card--event .transit-detail-card__upgrade-bookmark {
  width: 1.68rem;
  min-width: 1.68rem;
  height: 1.68rem;
  min-height: 1.68rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--astro-detail-olive, #6C663D);
  box-shadow: none;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__actions .trajectory-star-button:hover,
.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__actions .trajectory-star-button.is-active {
  background: transparent;
  color: #8A6E20;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__copy,
.page-shell--transit-detail .transit-detail-card--event .transit-detail-card__copy.astro-card-detail__copy {
  display: grid;
  gap: 0.14rem;
  margin-top: -0.34rem;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__eyebrow {
  gap: 0;
  margin: 0;
  color: var(--astro-detail-ink, #3D3935);
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__eyebrow .vesper-four-point-star {
  display: none;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__headline {
  max-width: none;
  margin: 0;
  color: #766d62;
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__title-rule {
  display: none;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.3rem;
  margin-top: 0.44rem;
  padding: 0.32rem 0 0.12rem;
  color: var(--astro-detail-muted, #8B847D);
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__timeline::before {
  content: "";
  position: absolute;
  top: 0.55rem;
  right: 8%;
  left: 8%;
  height: 1px;
  background: var(--astro-detail-line-strong, #D8C8B2);
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__timeline-item {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 0.12rem;
  min-width: 0;
  text-align: center;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__timeline-marker {
  width: 0.34rem;
  height: 0.34rem;
  margin-bottom: 0.14rem;
  border: 1px solid var(--astro-detail-bronze, #B8A889);
  border-radius: 999px;
  background: var(--vesper-shell-paper-background, #FDFBF8);
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__timeline-item--exact .astro-card-detail__timeline-marker {
  width: 0.44rem;
  height: 0.44rem;
  border-radius: 1px;
  background: var(--astro-detail-bronze, #B8A889);
  transform: rotate(45deg);
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__timeline-value {
  color: var(--astro-detail-ink, #3D3935);
  font-family: var(--font-serif);
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.15;
  white-space: nowrap;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__timeline-label {
  color: var(--astro-detail-muted, #8B847D);
  font-family: var(--font-sans);
  font-size: 0.58rem;
  font-weight: 600;
  line-height: 1.2;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__content,
.page-shell--transit-detail .transit-detail-card--event.transit-detail-card .astro-card-detail__content,
.page-shell--transit-detail .transit-detail-card--event.transit-detail-card .natal-detail-card__content {
  padding: 1.06rem 0.86rem 0.78rem;
  background: transparent;
}

.page-shell--transit-detail .transit-detail-card--event .astro-card-detail__text {
  gap: 0.58rem;
  color: var(--astro-detail-copy, #4A4540);
  font-family: var(--font-serif);
  font-size: 0.86rem;
  line-height: 1.68;
}

@media (max-width: 380px) {
  .page-shell--transit-detail .transit-detail-card--event .astro-card-detail__header,
  .page-shell--transit-detail .transit-detail-card--event.transit-detail-card .astro-card-detail__header,
  .page-shell--transit-detail .transit-detail-card--event .astro-card-detail__content,
  .page-shell--transit-detail .transit-detail-card--event.transit-detail-card .astro-card-detail__content,
  .page-shell--transit-detail .transit-detail-card--event.transit-detail-card .natal-detail-card__content {
    padding-inline: 0.68rem;
  }

  .page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-row,
  .page-shell--transit-detail .transit-detail-card--event.transit-detail-card .astro-card-detail__meta-row,
  .page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-panel {
    gap: 0.32rem;
  }

  .page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-strip {
    gap: 0.24rem;
  }

  .page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-strip .active-now-meta-line {
    padding-inline: 0.42rem;
  }

  .page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-strip .active-now-meta-label {
    font-size: 0.66rem;
  }

  .page-shell--transit-detail .transit-detail-card--event .astro-card-detail__meta-strip .active-now-meta-value {
    font-size: 0.72rem;
  }
}

/* Transit image icon sizing. */
.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event img.astro-icon,
.page-shell--transits .yourlog-event-chip img.astro-icon {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 auto;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event img.astro-icon {
  display: block;
  width: var(--transit-calendar-chip-icon-size) !important;
  height: var(--transit-calendar-chip-icon-size) !important;
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event img.astro-icon,
.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event img.astro-icon,
.page-shell--transits .yourlog-event-chip img.astro-icon {
  filter: brightness(0) invert(1);
  opacity: 0.88;
  transform-origin: center;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event img.astro-icon {
  margin-inline: -0.06rem;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event img.astro-icon--planet {
  transform: scale(1.42);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event img.astro-icon--aspect,
.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event img.astro-icon--aspect,
.page-shell--transits .yourlog-event-chip img.astro-icon--aspect {
  opacity: 0.58;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event img.astro-icon--aspect {
  margin-inline: -0.04rem;
  transform: scale(1.16);
}

.page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event img.astro-icon--retrograde-marker,
.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event img.astro-icon--retrograde-marker,
.page-shell--transits .yourlog-event-chip img.astro-icon--retrograde-marker {
  opacity: 0.72;
}

.page-shell--transits.transits-page-shell--calendar .calendar-grid .calendar-event img.astro-icon--retrograde-marker {
  margin-inline: -0.05rem;
  transform: scale(1.12);
}

.page-shell--transits.transits-page-shell--calendar .calendar-upcoming-card__glyph img.astro-icon {
  width: 1.24rem;
  height: 1.24rem;
}

.page-shell--transits .active-now-card-glyph img.astro-icon,
.page-shell--transit-detail .active-now-card-glyph img.astro-icon {
  width: 1.22rem;
  height: 1.22rem;
}

.transit-modal-title-lockup img.astro-icon {
  flex-shrink: 0;
}

@media (max-width: 760px) {
  .page-shell--transits:not(.transits-page-shell--calendar) .calendar-grid .calendar-event img.astro-icon {
    width: 14px !important;
    height: 14px !important;
  }
}
