.challenge-page .solver-breadcrumb { align-items:center; gap:.65rem; font-size:14px; margin-bottom:1rem; }
.challenge-page .challenge-game { min-height:470px; }
.challenge-page .challenge-actions { display:flex; gap:.5rem; }
.challenge-page .challenge-actions button { min-height:44px; padding-inline:12px; }
.challenge-page .challenge-trail { max-height:270px; }
.challenge-page .challenge-trail li { align-items:center; }
.challenge-page .challenge-trail .word,
.challenge-page #goal { display:grid; grid-template-columns:repeat(var(--word-length),minmax(0,44px)); gap:6px; }
.challenge-page .challenge-trail .letter,
.challenge-page #goal .letter { width:44px; height:44px; background:var(--surface); border-color:var(--border); color:var(--primary); font-family:var(--font-mono); }
.challenge-page .challenge-trail .letter.changed { border-color:var(--primary); }
.challenge-page .challenge-completion { margin:1rem 0; padding:1rem; border:1px solid var(--border); background:var(--surface); }
.challenge-page .challenge-completion h2 { font-size:20px; margin-bottom:.4rem; }
.challenge-page .challenge-completion p { margin:0; }
.challenge-page .challenge-share { margin-top:1rem; }
.challenge-page .share-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.5rem; }
.challenge-page #share-puzzle { text-transform:none; font:14px var(--font-mono); }
.challenge-page .rules code { overflow-wrap:anywhere; }
@media (max-width:420px) {
 .challenge-page .game-toolbar { align-items:flex-start; }
 .challenge-page .challenge-actions { width:100%; }
 .challenge-page .challenge-actions button { flex:1; }
 .challenge-page .challenge-trail .word,
 .challenge-page #goal { grid-template-columns:repeat(var(--word-length),minmax(0,39px)); gap:4px; }
 .challenge-page .challenge-trail .letter,
 .challenge-page #goal .letter { width:39px; height:44px; }
 .challenge-page .share-row { grid-template-columns:1fr; }
}
