/* Pixel's finished challenge: an uncluttered score sheet, with answers behind an explicit action. */
.results-view { max-width:960px; margin:0 auto; padding:7px 0 30px; }
.results-view.hidden { display:none; }
.result-sheet { background:var(--surface); border:2px solid #42615d; border-radius:25px; padding:31px 36px 25px; }
.result-heading { display:flex; align-items:flex-start; gap:20px; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid var(--line); }
.result-heading h1 { font-size:32px; line-height:1.35; font-weight:800; margin:0 0 9px; color:var(--text); letter-spacing:-.02em; }
.result-heading p { max-width:47ch; color:#c4d8e2; font-size:15px; line-height:1.7; margin:0; }
.result-saved { display:flex; align-items:center; gap:6px; white-space:nowrap; color:#a1eac0; font-size:12px; padding-top:8px; }
.result-saved svg { width:17px; height:17px; }
.result-center { display:flex; align-items:center; justify-content:center; gap:60px; padding:23px 0 27px; }
.result-mascot { text-align:center; }
.result-mascot img { display:block; width:195px; height:205px; object-fit:contain; margin:0 auto; }
.result-mascot p { margin:0; color:var(--sky); font-size:14px; font-weight:600; }
.result-score { min-width:250px; text-align:center; }
.result-score-label { font-size:17px; font-weight:600; color:#d1e5ef; }
.result-score-number { color:var(--warm); font-size:96px; font-weight:800; line-height:1.15; font-variant-numeric:tabular-nums; letter-spacing:-.035em; margin:4px 0; }
.result-score-number>span { font-size:25px; font-weight:500; color:#c1d5df; letter-spacing:0; margin-inline-start:4px; }
.result-score-caption { display:block; color:var(--muted); font-size:14px; }
.result-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:20px 0; border-block:1px solid var(--line); text-align:center; }
.result-facts>div+div { border-inline-start:1px solid var(--line); }
.result-facts dt { font-size:13px; color:var(--muted); margin-bottom:7px; }
.result-facts dd { color:var(--text); font-size:27px; font-weight:750; margin:0; font-variant-numeric:tabular-nums; }
.result-facts dd>span { color:var(--muted); font-size:13px; font-weight:450; }
.result-facts dd>.result-earned { color:var(--accent); font-size:24px; font-weight:650; }
.result-next { text-align:center; padding:23px 0 2px; }
.result-next h2 { color:var(--text); font-size:19px; margin:0 0 5px; }
.result-next p { color:var(--muted); font-size:14px; margin:0; line-height:1.6; }
.result-next ul { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin:13px 0 0; padding:0; list-style:none; }
.result-next li { border:1px solid #406278; background:#213d4e; color:#c4eaff; border-radius:9px; padding:6px 10px; font-size:12px; }
.result-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; padding-top:25px; }
.result-actions .button-primary,.result-actions .button-secondary { min-height:49px; font-size:15px; }
.result-map-link { display:flex; align-items:center; gap:7px; min-height:46px; padding:8px 12px; font-size:13px; color:#c4d8e2; border:0; background:none; cursor:pointer; }
.result-map-link svg { width:17px; height:17px; }
.result-map-link:hover { color:var(--accent); }
.result-answer-note { text-align:center; color:var(--muted); font-size:12px; line-height:1.6; margin:17px 0 0; }
.result-heading h1:focus { outline:none; }
.result-actions button:focus-visible { outline:3px solid var(--sky); outline-offset:4px; }
@media(max-width:700px) {
 .result-sheet { padding:24px 20px; border-radius:21px; }
 .result-heading { flex-direction:column; gap:10px; }
 .result-heading h1 { font-size:27px; }
 .result-heading p { font-size:14px; }
 .result-saved { padding:0; }
 .result-center { gap:20px; }
 .result-mascot img { width:145px; height:165px; }
 .result-mascot p { font-size:12px; }
 .result-score { min-width:0; }
 .result-score-number { font-size:76px; }
 .result-score-number>span { font-size:19px; }
 .result-score-caption { font-size:12px; }
 .result-actions .button-primary,.result-actions .button-secondary { flex:1 1 230px; justify-content:center; }
 .result-map-link { justify-content:center; }
}
@media(max-width:400px) {
 .result-sheet { padding:20px 15px; }
 .result-center { gap:8px; padding-block:18px; }
 .result-mascot img { width:116px; height:145px; }
 .result-score-number { font-size:65px; }
 .result-score-number>span { font-size:17px; }
 .result-score-label { font-size:14px; }
 .result-facts dt { font-size:11px; }
 .result-facts dd { font-size:23px; }
 .result-facts dd>span { font-size:11px; }
}
