.challenge-entry { border-top:5px solid var(--tile); margin-bottom:16px; }
.challenge-intro { display:flex; justify-content:space-between; gap:28px; align-items:flex-start; }
.challenge-intro h1 { font-size:clamp(24px,2.7vw,36px); max-width:780px; }
.challenge-intro p:not(.eyebrow) { max-width:780px; line-height:1.6; color:var(--muted); margin:12px 0 20px; }
.challenge-intro .eyebrow { display:block; margin:0 0 12px; letter-spacing:.1em; font-size:12px; }
.custom-link { font-size:14px; flex-shrink:0; text-underline-offset:4px; margin-top:4px; }
.challenge-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:18px; border-top:1px solid var(--line); }
#challenge-number { display:block; font-size:19px; }
#challenge-length { display:block; margin-top:6px; font-size:13px; color:var(--muted); }
.challenge-buttons { display:flex; gap:10px; flex-wrap:wrap; }
.challenge-help { margin-top:20px; font-size:14px; line-height:1.6; max-width:880px; }
.challenge-help summary { cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.challenge-help summary:focus-visible { outline:3px solid var(--selected); outline-offset:4px; }
.challenge-session { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; margin:0 0 20px; font-size:14px; }
.challenge-session>span:first-child { font-size:11px; letter-spacing:.1em; color:var(--muted); }
.challenge-session strong { font-size:20px; margin-right:4px; }
.practice-note { color:var(--muted); margin-left:auto; }
.challenge-complete { padding:18px 22px; margin-bottom:20px; background:var(--good-bg); color:var(--good-ink); border:1px solid var(--good); line-height:1.6; }
.solved-next:has(button:not([hidden])) { padding:0 24px 20px; }
.presenting .challenge-session { display:none; }
@media(max-width:760px) {
  .challenge-intro,.challenge-toolbar { flex-direction:column; gap:12px; align-items:stretch; }
  .custom-link { margin:0 0 10px; }
  .challenge-buttons { display:grid; grid-template-columns:1fr; }
  .challenge-buttons button { width:100%; min-height:46px; }
  .practice-note { margin-left:0; flex-basis:100%; }
  .challenge-session { gap:10px 18px; }
}
