.wyzwania-page {
  overflow: hidden;
}

.wyzwania-page .section {
  position: relative;
}

.wyzwania-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3rem, 7vw, 6rem);
  background: var(--color-night-navy);
}

.wyzwania-hero::before {
  position: absolute;
  inset: auto 0 0;
  height: 20%;
  background: repeating-linear-gradient(90deg, transparent 0 54px, rgba(56, 214, 195, 0.12) 54px 58px, transparent 58px 112px);
  content: "";
  pointer-events: none;
}

.wyzwania-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  column-gap: 8.333%;
  align-items: center;
}

.wyzwania-hero__copy,
.wyzwania-hero__media {
  min-width: 0;
}

.wyzwania-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.wyzwania-hero__copy h1,
.wyzwania-hero__copy p {
  margin: 0;
}

.wyzwania-hero__copy h1 {
  max-width: 12ch;
  font-size: clamp(2.25rem, 5.5vw, 4rem);
}

.wyzwania-hero__lead {
  max-width: 58ch;
  font-size: var(--font-size-18);
  line-height: 1.5;
}

.wyzwania-hero__note {
  max-width: 56ch;
  color: var(--color-muted-blue);
  font-size: var(--font-size-14);
  line-height: 1.5;
}

.wyzwania-hero__media {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: var(--border-dark);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-block);
}

.wyzwania-hero__media img {
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  object-position: 68% center;
}

.wyzwania-hero__pixel {
  position: absolute;
  width: 14px;
  height: 14px;
  background: var(--color-neon-lime);
  box-shadow: 18px 18px 0 var(--color-pixel-turquoise);
}

.wyzwania-hero__pixel--one {
  top: 18%;
  right: 24%;
  animation: wyzwania-pixel 220ms ease-in-out infinite alternate;
}

.wyzwania-hero__pixel--two {
  right: 10%;
  bottom: 18%;
  width: 10px;
  height: 10px;
  background: var(--color-coral-orange);
  animation: wyzwania-pixel 190ms ease-in-out infinite alternate-reverse;
}

@keyframes wyzwania-pixel {
  to { transform: translateY(-3px); opacity: 0.72; }
}

.wyzwania-map__intro,
.wyzwania-loop__intro,
.wyzwania-events__intro,
.wyzwania-training__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.wyzwania-map__intro {
  width: min(100%, 64ch);
  margin-bottom: var(--space-7);
}

.wyzwania-map__intro h2,
.wyzwania-map__intro p,
.wyzwania-loop__intro h2,
.wyzwania-loop__intro p,
.wyzwania-events__intro h2,
.wyzwania-events__intro p,
.wyzwania-training__intro h2,
.wyzwania-training__intro p {
  margin: 0;
}

.wyzwania-map__intro p {
  max-width: 64ch;
}

.wyzwania-map__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
}

.wyzwania-map-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-light);
  border-radius: var(--radius-card);
  background: var(--color-paper-light);
  color: var(--color-ink-blue);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.wyzwania-map-card > * { margin: 0; }
.wyzwania-map-card h3 { font-size: var(--font-size-24); }
.wyzwania-map-card p { max-width: 32ch; }
.wyzwania-map-card a { margin-top: auto; min-height: 2.75rem; display: inline-flex; align-items: center; }
.wyzwania-map-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-block); }
.wyzwania-map-card__marker { font-family: var(--font-heading); font-size: var(--font-size-12); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wyzwania-map-card--lime { border-top: 5px solid var(--color-neon-lime); }
.wyzwania-map-card--turquoise { border-top: 5px solid var(--color-pixel-turquoise); }
.wyzwania-map-card--coral { border-top: 5px solid var(--color-coral-orange); }
.wyzwania-map-card--purple { border-top: 5px solid var(--color-lavender-purple); }

.wyzwania-loop {
  overflow: hidden;
  background: var(--color-night-navy);
}

.wyzwania-loop::before {
  position: absolute;
  top: 54%;
  left: 0;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--color-pixel-line) 0 34px, transparent 34px 58px);
  content: "";
}

.wyzwania-loop__intro {
  width: min(100%, 60ch);
  margin-bottom: var(--space-7);
}

.wyzwania-loop__intro p { max-width: 60ch; }

.wyzwania-loop__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.wyzwania-step {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-dark);
  border-radius: var(--radius-card);
  background: var(--color-ink-blue);
}

.wyzwania-step > * { margin: 0; }
.wyzwania-step h3 { font-size: var(--font-size-24); }
.wyzwania-step p { max-width: 34ch; }
.wyzwania-step__number { color: var(--color-neon-lime); font-family: var(--font-heading); font-size: 3rem; font-weight: 800; line-height: 1; }
.wyzwania-step--turquoise .wyzwania-step__number { color: var(--color-pixel-turquoise); }
.wyzwania-step--purple .wyzwania-step__number { color: var(--color-lavender-purple); }
.wyzwania-step__example { padding: var(--space-3); border-left: 3px solid var(--color-neon-lime); background: var(--color-deep-navy); }
.wyzwania-step__questions { display: grid; gap: var(--space-2); margin: 0; padding-left: 1.35em; }

.wyzwania-score__heading { width: min(100%, 64ch); margin-bottom: var(--space-7); }
.wyzwania-score__heading > * { margin: 0 0 var(--space-4); }
.wyzwania-score__heading > :last-child { margin-bottom: 0; }

.wyzwania-score__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  column-gap: 8.333%;
  row-gap: var(--space-5);
  align-items: start;
}

.wyzwania-score__copy,
.wyzwania-journal,
.wyzwania-score__note { min-width: 0; }
.wyzwania-score__copy { grid-column: 1; }
.wyzwania-score__copy h3 { max-width: 24ch; }
.wyzwania-score__copy p { max-width: 48ch; }
.wyzwania-journal { grid-column: 2; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-5); border: var(--border-dark); border-radius: var(--radius-card); background: var(--color-ink-blue); color: var(--color-paper-light); }
.wyzwania-journal__label { margin: 0; color: var(--color-neon-lime); font-family: var(--font-heading); font-size: var(--font-size-12); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wyzwania-journal__toggle { align-self: flex-start; border-color: var(--color-pixel-turquoise); background: transparent; color: var(--color-pixel-turquoise); }
.wyzwania-journal__toggle:hover { background: var(--color-pixel-turquoise); color: var(--color-night-navy); }
.wyzwania-journal__legend { padding: var(--space-4); border-left: 3px solid var(--color-pixel-turquoise); background: var(--color-deep-navy); }
.wyzwania-journal__legend p { margin: 0; }
.wyzwania-journal__entries { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
.wyzwania-journal__entry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--space-4); padding: var(--space-4); border: var(--border-dark); background: var(--color-deep-navy); }
.wyzwania-journal__entry > div { min-width: 0; }
.wyzwania-journal__entry span { display: block; margin-bottom: var(--space-1); color: var(--color-muted-blue); font-size: var(--font-size-12); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.wyzwania-journal__entry strong { display: block; }
.wyzwania-journal__entry p { margin: 0; }
.wyzwania-score__note { grid-column: 2; margin: 0; }
.wyzwania-score__note .tag { margin-bottom: var(--space-3); }
.wyzwania-score__note p { margin: 0; max-width: 65ch; }

.wyzwania-events { background: var(--color-night-navy); }
.wyzwania-events__intro { width: min(100%, 62ch); margin-bottom: var(--space-7); }
.wyzwania-events__intro p { max-width: 62ch; }
.wyzwania-events__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.wyzwania-event-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: var(--border-dark); border-radius: var(--radius-card); background: var(--color-ink-blue); }
.wyzwania-event-card > * { margin: 0; }
.wyzwania-event-card h3 { font-size: var(--font-size-24); }
.wyzwania-event-card p { max-width: 35ch; }
.wyzwania-event-card__number { font-family: var(--font-heading); font-size: var(--font-size-14); font-weight: 800; letter-spacing: .08em; }
.wyzwania-event-card--turquoise { border-top: 4px solid var(--color-pixel-turquoise); }
.wyzwania-event-card--coral { border-top: 4px solid var(--color-coral-orange); }
.wyzwania-event-card--purple { border-top: 4px solid var(--color-lavender-purple); }

.wyzwania-collection h2 { margin-bottom: var(--space-7); }
.wyzwania-collection__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 8.333%; align-items: start; }
.wyzwania-collection__media,
.wyzwania-collection__content { min-width: 0; }
.wyzwania-collection__media { margin: 0; overflow: hidden; border: var(--border-dark); border-radius: var(--radius-card); }
.wyzwania-collection__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.wyzwania-collection__content { display: flex; flex-direction: column; gap: var(--space-5); }
.wyzwania-collection__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.wyzwania-collection__copy > * { margin: 0; }
.wyzwania-collection__copy p { max-width: 48ch; }
.wyzwania-collection__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.wyzwania-knowledge-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-height: 100%; padding: var(--space-4); border: var(--border-dark); border-radius: var(--radius-card); background: var(--color-ink-blue); color: var(--color-paper-light); text-decoration: none; }
.wyzwania-knowledge-card:hover { box-shadow: var(--shadow-block); }
.wyzwania-knowledge-card strong { font-family: var(--font-heading); font-size: var(--font-size-18); }
.wyzwania-knowledge-card span:last-child { max-width: 32ch; }
.wyzwania-knowledge-card--light { border-color: var(--color-light-line); background: var(--color-paper-light); color: var(--color-night-navy); }
.wyzwania-knowledge-card--light:hover { color: var(--color-night-navy); }

.wyzwania-multiplayer { background: var(--color-night-navy); }
.wyzwania-multiplayer__heading { width: min(100%, 62ch); margin-bottom: var(--space-7); }
.wyzwania-multiplayer__heading > * { margin: 0 0 var(--space-4); }
.wyzwania-multiplayer__heading > :last-child { margin-bottom: 0; }
.wyzwania-multiplayer__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.wyzwania-multiplayer__main { grid-column: 1 / span 8; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: var(--border-dark); border-radius: var(--radius-card); background: var(--color-ink-blue); }
.wyzwania-multiplayer__main > * { margin: 0; }
.wyzwania-multiplayer__main p { max-width: 62ch; }
.wyzwania-multiplayer__rules { grid-column: 1 / span 8; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.wyzwania-rule-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: var(--border-dark); border-radius: var(--radius-card); background: var(--color-deep-navy); }
.wyzwania-rule-card > * { margin: 0; }
.wyzwania-rule-card > span { font-family: var(--font-heading); font-size: var(--font-size-24); font-weight: 800; }
.wyzwania-rule-card--lime > span { color: var(--color-neon-lime); }
.wyzwania-rule-card--turquoise > span { color: var(--color-pixel-turquoise); }
.wyzwania-rule-card p { max-width: 34ch; }
.wyzwania-rule-card__note { color: var(--color-pixel-turquoise); font-family: var(--font-heading); font-size: var(--font-size-12); letter-spacing: .08em; text-transform: uppercase; }
.wyzwania-multiplayer__decoration { grid-column: 9 / span 4; grid-row: 1 / span 2; display: grid; min-width: 0; min-height: 100%; align-content: center; gap: var(--space-4); padding: var(--space-5); border: var(--border-dark); background: var(--color-deep-navy); }
.wyzwania-multiplayer__decoration span { display: block; width: 100%; height: 64px; border: 1px solid var(--color-lavender-purple); background: repeating-linear-gradient(90deg, var(--color-lavender-purple) 0 18px, transparent 18px 36px); }
.wyzwania-multiplayer__decoration span:last-child { margin-left: var(--space-5); width: calc(100% - var(--space-5)); border-color: var(--color-pixel-turquoise); background: repeating-linear-gradient(90deg, var(--color-pixel-turquoise) 0 18px, transparent 18px 36px); }

.wyzwania-training__intro { width: min(100%, 62ch); margin-bottom: var(--space-7); }
.wyzwania-training__intro p { max-width: 62ch; }
.wyzwania-training__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.wyzwania-training-card { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); overflow: hidden; padding: var(--space-6); border: var(--border-light); border-radius: var(--radius-card); background: var(--color-paper-light); color: var(--color-ink-blue); }
.wyzwania-training-card > * { margin: 0; }
.wyzwania-training-card h3 { font-size: var(--font-size-24); }
.wyzwania-training-card p { max-width: 36ch; }
.wyzwania-training-card a { margin-top: auto; min-height: 2.75rem; display: inline-flex; align-items: center; }
.wyzwania-training-card__symbol { width: 58px; height: 20px; border: 4px solid var(--color-neon-lime); background: repeating-linear-gradient(90deg, var(--color-ink-blue) 0 12px, transparent 12px 20px); }
.wyzwania-training-card--water .wyzwania-training-card__symbol { border-color: var(--color-pixel-turquoise); background: repeating-linear-gradient(90deg, var(--color-pixel-turquoise) 0 12px, transparent 12px 20px); }
.wyzwania-training-card--tempo .wyzwania-training-card__symbol { border-color: var(--color-coral-orange); background: var(--color-coral-orange); }
.wyzwania-training-card__prompt { padding: var(--space-3); border-left: 3px solid var(--color-pixel-turquoise); background: #e5fbf7; }

.wyzwania-checklist { background: var(--color-night-navy); }
.wyzwania-checklist__content { width: min(100%, 50rem); margin-inline: auto; }
.wyzwania-checklist__content > .eyebrow { margin-bottom: var(--space-4); }
.wyzwania-checklist__lead { max-width: 52ch; }
.wyzwania-checklist__list { display: grid; gap: var(--space-3); margin: var(--space-6) 0; padding: 0; list-style: none; }
.wyzwania-checklist__list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: var(--space-4); align-items: start; padding: var(--space-4); border: var(--border-dark); background: var(--color-ink-blue); }
.wyzwania-checklist__list li > span { display: grid; width: 48px; height: 48px; place-items: center; background: var(--color-neon-lime); color: var(--color-night-navy); font-family: var(--font-heading); font-size: var(--font-size-24); font-weight: 800; }
.wyzwania-checklist__list li div { min-width: 0; }
.wyzwania-checklist__list strong { display: block; margin-bottom: var(--space-1); font-family: var(--font-heading); font-size: var(--font-size-18); }
.wyzwania-checklist__list p { margin: 0; max-width: 52ch; }
.wyzwania-checklist__offline { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); margin: 0; }
.wyzwania-checklist__offline > * { margin: 0; }
.wyzwania-checklist__offline p { max-width: 60ch; }

.wyzwania-next { background: var(--color-deep-navy); }
.wyzwania-next__panel { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-7); padding: clamp(2rem, 5vw, 4rem); border: var(--border-dark); border-radius: var(--radius-panel); background: var(--color-night-navy); text-align: center; }
.wyzwania-next__copy { display: flex; min-width: 0; max-width: 40rem; flex-direction: column; align-items: center; gap: var(--space-4); }
.wyzwania-next__copy > * { margin: 0; }
.wyzwania-next__copy p { max-width: 50ch; }
.wyzwania-next__links { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: var(--space-5); }
.wyzwania-next__links a { display: flex; min-width: 0; min-height: 2.75rem; flex-direction: column; justify-content: center; padding-left: var(--space-4); border-left: 4px solid var(--color-pixel-turquoise); color: var(--color-paper-light); font-family: var(--font-heading); font-weight: 800; text-align: left; text-decoration: none; }
.wyzwania-next__links a:hover { color: var(--color-neon-lime); text-decoration: underline; }
.wyzwania-next__links span { color: var(--color-muted-blue); font-family: var(--font-body); font-size: var(--font-size-14); font-weight: 400; }

@media (max-width: 61.25rem) {
  .wyzwania-map__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wyzwania-training__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wyzwania-training-card:last-child { grid-column: 1 / span 2; }
}

@media (max-width: 56.25rem) {
  .wyzwania-hero__grid,
  .wyzwania-score__grid,
  .wyzwania-collection__grid { grid-template-columns: 1fr; }
  .wyzwania-hero__grid { gap: var(--space-6); }
  .wyzwania-score__copy,
  .wyzwania-journal,
  .wyzwania-score__note { grid-column: 1; }
  .wyzwania-collection__grid { gap: var(--space-6); }
  .wyzwania-loop__steps { grid-template-columns: 1fr; }
  .wyzwania-loop::before { top: 26%; left: calc(var(--container-padding) + 24px); width: 2px; height: 55%; background: repeating-linear-gradient(180deg, var(--color-pixel-line) 0 34px, transparent 34px 58px); }
  .wyzwania-events__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wyzwania-events__cards > :last-child { grid-column: 1 / span 2; }
}

@media (max-width: 52.5rem) {
  .wyzwania-multiplayer__grid { grid-template-columns: 1fr; }
  .wyzwania-multiplayer__main,
  .wyzwania-multiplayer__rules { grid-column: 1; }
  .wyzwania-multiplayer__decoration { display: none; }
}

@media (max-width: 47.5rem) {
  .wyzwania-hero__copy h1 { max-width: 12ch; }
  .wyzwania-collection__links { grid-template-columns: 1fr; }
  .wyzwania-multiplayer__rules { grid-template-columns: 1fr; }
}

@media (max-width: 40rem) {
  .wyzwania-hero { padding-block: var(--space-7); }
  .wyzwania-hero__lead { font-size: var(--font-size-18); }
  .wyzwania-map__cards,
  .wyzwania-events__cards,
  .wyzwania-training__cards { grid-template-columns: 1fr; }
  .wyzwania-events__cards > :last-child,
  .wyzwania-training-card:last-child { grid-column: 1; }
  .wyzwania-map-card,
  .wyzwania-step,
  .wyzwania-event-card,
  .wyzwania-training-card,
  .wyzwania-multiplayer__main { padding: var(--space-5); }
  .wyzwania-journal__entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .wyzwania-journal__toggle { display: none; }
  .wyzwania-journal__legend { display: block !important; }
  .wyzwania-checklist__list li { grid-template-columns: 1fr; gap: var(--space-3); }
  .wyzwania-next__panel { align-items: stretch; text-align: left; }
  .wyzwania-next__copy { align-items: flex-start; }
  .wyzwania-next__copy .button { width: 100%; min-height: 3rem; }
  .wyzwania-next__links { flex-direction: column; align-items: stretch; gap: var(--space-3); }
  .wyzwania-next__links a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .wyzwania-hero__pixel { animation: none; }
}
