/* Visible season overview. Load after styles.css and guided.css. */
body.guided .home-shell { min-width: 0; }
body.guided .scroll-cue { margin-top: 14px; color: #686868; font-size: 13px; line-height: 1.7; }

/* Keep the first action compact enough to reveal the season overview below. */
body.guided .home-shell .entry-stage { padding: 24px 28px; }
body.guided .home-shell .entry-stage h1 { font-size: 28px; }
body.guided .home-shell .entry-stage .action-kicker { margin-bottom: 7px; }
body.guided .home-shell .entry-stage .action-lead { margin-top: 9px; font-size: 14px; }
body.guided .home-shell .entry-stage .squad-visual { max-width: 540px; margin: 15px auto; }
body.guided .home-shell .entry-stage .squad-slot { gap: 4px; padding-block: 4px; }
body.guided .home-shell .entry-stage .avatar { width: 44px; height: 44px; flex-basis: 44px; margin-bottom: 3px; }
body.guided .home-shell .entry-stage .avatar:empty::before { width: 11px; height: 11px; top: 7px; margin-left: -5.5px; }
body.guided .home-shell .entry-stage .avatar:empty::after { width: 24px; height: 13px; bottom: 6px; margin-left: -12px; }
body.guided .home-shell .entry-stage .squad-slot strong { font-size: 13px; }
body.guided .home-shell .entry-stage .squad-slot small { font-size: 11px; }
body.guided .home-shell .entry-stage .entry-choices { gap: 14px; margin-top: 18px; }
body.guided .home-shell .entry-stage .choice { min-height: 130px; padding: 16px 20px; gap: 8px; }
body.guided .home-shell .entry-stage .choice strong { font-size: 18px; }
body.guided .home-shell .entry-stage .choice span { font-size: 13px; }

body.guided .season-overview { margin-top: 36px; min-width: 0; }
body.guided .season-overview :is(h2, h3, p, strong, small, span) { overflow-wrap: anywhere; }
body.guided .season-overview h2 { font-size: 22px; line-height: 1.5; font-weight: 650; }
body.guided .season-overview h2 + p { margin-top: 7px; color: #646464; font-size: 14px; line-height: 1.75; }
body.guided .season-path { padding-bottom: 30px; }
body.guided .season-schedule { padding-top: 28px; border-top: 1px solid #d4d4d4; }
body.guided .season-schedule .section-title { margin-bottom: 16px; }
body.guided .schedule-key { display: inline-block; margin-top: 10px; padding-left: 10px; border-left: 3px solid #555; color: #444; font-size: 13px; line-height: 1.6; }

body.guided ol.advancement-path,
body.guided .advancement-path > ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
body.guided .advancement-path li { min-width: 0; margin: 0; padding-top: 13px; border-top: 2px solid #ccc; }
body.guided .advancement-path li.past { border-top-color: #999; }
body.guided .advancement-path li.current { border-top-color: #333; }
body.guided .advancement-path .path-no { display: inline-block; color: #777; font-size: 12px; font-variant-numeric: tabular-nums; line-height: 1.6; }
body.guided .advancement-path .path-date { display: inline-block; margin-left: 9px; color: #666; font-size: 11px; font-variant-numeric: tabular-nums; line-height: 1.6; }
body.guided .advancement-path h3 { margin-top: 8px; font-size: 16px; line-height: 1.6; font-weight: 650; }
body.guided .advancement-path p { margin-top: 6px; font-size: 13px; color: #616161; line-height: 1.75; }
body.guided .advancement-path .path-gate { display: block; margin-top: 12px; padding-top: 9px; border-top: 1px solid #dedede; color: #686868; font-size: 12px; line-height: 1.7; }
body.guided .advancement-path .current .path-no { color: #333; font-weight: 650; }

body.guided .calendar-note { margin: 10px 0 13px; color: #6b6b6b; font-size: 12px; line-height: 1.7; }
body.guided .season-calendar { min-width: 0; border: 1px solid #cfcfcf; background: #fff; }
body.guided .calendar-week { margin: 0; padding: 0; min-width: 0; }
body.guided .calendar-week + .calendar-week { margin-top: 0; }
body.guided .week-label { margin: 0; padding: 8px 12px; border-bottom: 1px solid #d7d7d7; background: #f1f1f1; font-size: 12px; line-height: 1.5; font-weight: 600; color: #5d5d5d; }
body.guided ol.calendar-days,
body.guided .calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.guided .calendar-day {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 7px;
  min-width: 0;
  min-height: 88px;
  margin: 0;
  padding: 11px 10px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #d7d7d7;
  background: #fff;
  color: #555;
  line-height: 1.5;
}
body.guided .calendar-day:nth-child(7n) { border-right: 0; }
body.guided .calendar-week:last-child .calendar-day { border-bottom: 0; }
body.guided .calendar-day.past { background: #f8f8f8; }
body.guided .calendar-day.current { position: relative; background: #ededed; outline: 2px solid #626262; outline-offset: -2px; }
body.guided .calendar-day .day-no { display: block; font-size: 11px; color: #777; font-variant-numeric: tabular-nums; line-height: 1.4; }
body.guided .calendar-day strong { display: block; max-width: 100%; color: #494949; font-size: 13px; font-weight: 550; line-height: 1.5; }
body.guided .calendar-day .day-marker { display: block; max-width: 100%; min-height: 15px; color: #737373; font-size: 11px; line-height: 1.4; }
body.guided .calendar-day.current :is(.day-no, strong, .day-marker) { color: #333; }

body.guided ol.schedule-agenda,
body.guided .schedule-agenda > ol { margin: 24px 0 0; padding: 0; list-style: none; }
body.guided .schedule-agenda { min-width: 0; }
body.guided .schedule-agenda .agenda-item {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) 155px;
  align-items: start;
  gap: 18px;
  min-width: 0;
  margin: 0;
  padding: 18px 16px;
  border-bottom: 1px solid #d9d9d9;
}
body.guided .schedule-agenda .agenda-item:first-child { border-top: 1px solid #d9d9d9; }
body.guided .schedule-agenda .agenda-item.current { background: #eaeaea; border-left: 3px solid #555; padding-left: 13px; }
body.guided .agenda-date { min-width: 0; font-variant-numeric: tabular-nums; }
body.guided .agenda-date strong { display: block; font-size: 14px; line-height: 1.5; font-weight: 600; }
body.guided .agenda-date small { display: block; margin-top: 5px; color: #777; font-size: 11px; line-height: 1.5; }
body.guided .agenda-item.current .agenda-date small { color: #444; font-weight: 600; }
body.guided .agenda-body { min-width: 0; }
body.guided .agenda-body h3 { font-size: 15px; font-weight: 600; line-height: 1.6; }
body.guided .agenda-body p { margin-top: 5px; color: #676767; font-size: 13px; line-height: 1.75; }
body.guided .agenda-deadline { min-width: 0; padding-top: 2px; color: #656565; font-size: 12px; line-height: 1.7; text-align: right; font-variant-numeric: tabular-nums; }
body.guided .overview-links { display: flex; flex-wrap: wrap; gap: 0 24px; align-items: center; margin-top: 22px; padding-top: 10px; border-top: 1px solid #d5d5d5; color: #666; font-size: 13px; }
body.guided .overview-links :is(a, button) { display: inline-flex; align-items: center; min-height: 44px; font-size: inherit; }

@media (max-width: 760px) {
  body.guided .home-shell .entry-stage { padding: 22px; }
  body.guided .home-shell .entry-stage h1 { font-size: 26px; }
  body.guided .season-overview { margin-top: 30px; }
  body.guided .season-overview h2 { font-size: 21px; }
  body.guided ol.advancement-path,
  body.guided .advancement-path > ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; }
  body.guided .calendar-day { min-height: 82px; padding: 10px 7px; gap: 6px; }
  body.guided .calendar-day strong { font-size: 12px; }
  body.guided .schedule-agenda .agenda-item { grid-template-columns: 90px minmax(0, 1fr); gap: 7px 16px; }
  body.guided .agenda-deadline { grid-column: 2; padding-top: 0; text-align: left; }
}

@media (max-width: 540px) {
  body.guided .home-shell .entry-stage { padding: 20px 18px; }
  body.guided .home-shell .entry-stage h1 { font-size: 25px; }
  body.guided .home-shell .entry-stage .entry-choices { gap: 10px; margin-top: 16px; }
  body.guided .home-shell .entry-stage .choice { min-height: 112px; padding: 14px 16px; gap: 6px; }
  body.guided .home-shell .entry-stage .choice strong { font-size: 17px; }
  body.guided .season-overview { margin-top: 28px; }
  body.guided .season-overview h2 { font-size: 20px; }
  body.guided .season-overview h2 + p { font-size: 13px; }
  body.guided .season-path { padding-bottom: 24px; }
  body.guided .season-schedule { padding-top: 24px; }
  body.guided ol.advancement-path,
  body.guided .advancement-path > ol { gap: 20px 16px; margin-top: 18px; }
  body.guided .advancement-path li { padding-top: 10px; }
  body.guided .advancement-path h3 { font-size: 14px; }
  body.guided .advancement-path p { font-size: 12px; }
  body.guided .advancement-path .path-date { margin-left: 6px; font-size: 10px; }
  body.guided .advancement-path .path-gate { font-size: 11px; margin-top: 9px; padding-top: 7px; }
  body.guided .week-label { padding: 7px 9px; font-size: 11px; }
  body.guided .calendar-day { gap: 5px; min-height: 78px; padding: 8px 4px; align-items: center; text-align: center; }
  body.guided .calendar-day .day-no { font-size: 10px; }
  body.guided .calendar-day strong { font-size: 11px; line-height: 1.45; }
  body.guided .calendar-day .day-marker { font-size: 10px; line-height: 1.4; }
  body.guided .calendar-note { font-size: 11px; }
  body.guided .schedule-key { font-size: 12px; }
  body.guided .schedule-agenda .agenda-item { grid-template-columns: 72px minmax(0, 1fr); gap: 6px 12px; padding: 16px 10px; }
  body.guided .schedule-agenda .agenda-item.current { padding-left: 7px; }
  body.guided .agenda-date strong { font-size: 12px; }
  body.guided .agenda-date small { font-size: 10px; }
  body.guided .agenda-body h3 { font-size: 14px; }
  body.guided .agenda-body p { font-size: 12px; }
  body.guided .agenda-deadline { font-size: 11px; }
}

@media (max-width: 360px) {
  body.guided .home-shell .entry-stage { padding-inline: 14px; }
  body.guided .home-shell .entry-stage h1 { font-size: 24px; }
  body.guided .home-shell .entry-stage .squad-visual { gap: 4px; }
  body.guided .home-shell .entry-stage .squad-slot strong { font-size: 12px; }
  body.guided .calendar-day { padding-inline: 2px; min-height: 76px; }
  body.guided .calendar-day strong { font-size: 11px; }
  body.guided .calendar-day .day-marker { font-size: 10px; }
  body.guided .schedule-agenda .agenda-item { grid-template-columns: 65px minmax(0, 1fr); gap: 6px 10px; }
  body.guided .advancement-path .path-date { display: block; margin: 2px 0 0; }
}
