/* 10問チャレンジの追加部分。共通のquiz-guide.cssを基礎にする。 */
.challenge-facts { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; margin-top:18px; padding:0; border:0; background:transparent; }
.challenge-facts div { display:grid; gap:3px; min-width:0; padding:13px; border:1px solid #c8dce9; border-radius:12px; background:#f6fbff; }.challenge-facts strong { color:#286187; font-size:.85rem; }.challenge-facts span { color:#46677e; font-size:.9rem; font-weight:750; line-height:1.5; }
.challenge-quiz { border-color:#9ac7df; background:linear-gradient(145deg,#edf9ff,#f1fbf6); }.challenge-progress-row { display:flex; justify-content:space-between; gap:12px; color:#315d7c; font-size:.9rem; font-weight:800; }.challenge-progress-row span { text-align:right; }.challenge-progress { height:8px; margin:12px 0 22px; overflow:hidden; border-radius:999px; background:#dbe8ef; }.challenge-progress div { width:10%; height:100%; border-radius:inherit; background:#21809b; transition:width .15s ease; }
.challenge-question { margin:14px 0; color:#294e70; font-size:clamp(1.12rem,4vw,1.35rem); font-weight:850; line-height:1.6; }.challenge-choices { display:grid; gap:10px; }.challenge-choice { width:100%; min-height:52px; padding:13px 15px; border:1px solid #bcd4e2; border-radius:12px; background:#fff; color:#294e70; font:inherit; font-weight:800; line-height:1.55; text-align:left; cursor:pointer; }.challenge-choice:hover:not(:disabled) { border-color:#3185ab; background:#f0faff; }.challenge-choice:disabled { cursor:default; }.challenge-choice.is-correct { border-color:#2b8a5d; background:#e8f7ee; color:#165b3c; }.challenge-choice.is-wrong { border-color:#c65b5b; background:#fff0f0; color:#913d3d; }
.challenge-feedback { margin-top:16px; padding:15px; border:1px solid #bcd8c9; border-radius:12px; background:#f5fcf7; }.challenge-feedback strong { color:#246b49; }.challenge-feedback p { color:#3f5d73; }.challenge-next,.challenge-result-actions button { min-height:48px; margin-top:16px; padding:12px 20px; border:0; border-radius:12px; background:#176f9a; color:#fff; font:inherit; font-weight:850; cursor:pointer; }.challenge-next:hover,.challenge-result-actions button:hover { background:#125f86; }
.challenge-result { border-color:#9ac7df; background:linear-gradient(145deg,#edf9ff,#f1fbf6); text-align:center; }.challenge-result.is-pass { border-color:#80c6a1; }.challenge-result.is-fail { border-color:#d8b27d; }.challenge-score { margin-bottom:12px; color:#235f86; font-size:clamp(1.8rem,7vw,2.35rem); font-weight:900; line-height:1.2; }.challenge-result-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 auto 16px; }.challenge-result-stats div { padding:10px 6px; border:1px solid #c9dde8; border-radius:10px; background:#fff; }.challenge-result-stats dt { color:#54728a; font-size:.78rem; font-weight:800; }.challenge-result-stats dd { margin:4px 0 0; color:#235f86; font-size:1.05rem; font-weight:900; }.challenge-result-breakdown { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin:18px 0; padding:0; list-style:none; }.challenge-result-breakdown a { display:block; min-width:84px; padding:8px; border:1px solid #c7dce8; border-radius:9px; background:#fff; color:#315d7c; font-size:.82rem; font-weight:850; text-decoration:none; }.challenge-result-breakdown a.is-correct { border-color:#72b990; color:#17633e; }.challenge-result-breakdown a.is-wrong { border-color:#dd9a9a; color:#943c3c; }.challenge-result-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }.challenge-result-actions button { margin-top:4px; }.challenge-perfect-review-note { color:#315d7c; font-weight:800; }.challenge-next-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:17px 0; }.challenge-next-links a { padding:9px 11px; border:1px solid #bad4e4; border-radius:9px; background:#fff; color:#1767ae; font-size:.9rem; font-weight:850; text-decoration:none; }.challenge-result-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 16px; }.challenge-result-links a { color:#1767ae; font-weight:850; }
.challenge-review > ol { display:grid; gap:14px; margin:14px 0 0; padding:0; list-style:none; }.challenge-review.show-wrong-only .challenge-review-question:not(.is-wrong-answer) { display:none; }.challenge-review-question { scroll-margin-top:18px; padding:15px; border:1px solid #d9e5ef; border-radius:12px; background:#fff; }.challenge-review-question h3 { margin:4px 0 0; color:#294e70; font-size:1rem; line-height:1.55; }.challenge-review-question ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0; list-style:none; }.challenge-review-question li { min-width:0; padding:8px; border:1px solid #e0e8ef; border-radius:8px; background:#f9fbfd; color:#3d5870; font-size:.9rem; line-height:1.45; }.challenge-your-answer { margin:13px 0 0; padding:9px; border-left:4px solid #5587a6; background:#eef7fb; color:#294e70; font-weight:800; }.challenge-review-question details { margin-top:12px; border-top:1px solid #e3ecf1; padding-top:10px; }.challenge-review-question summary { color:#1767ae; font-weight:800; cursor:pointer; }.challenge-review-question details p { color:#3f5d73; }.challenge-review-question details strong { color:#246b49; }
@media (max-width:560px) { .challenge-facts { grid-template-columns:1fr; }.challenge-progress-row { align-items:flex-start; flex-direction:column; gap:3px; }.challenge-progress-row span { text-align:left; }.challenge-result-stats { grid-template-columns:1fr; }.challenge-result-actions { display:grid; grid-template-columns:1fr; }.challenge-result-actions button { width:100%; }.challenge-result-breakdown { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.challenge-result-breakdown a { min-width:0; }.challenge-review-question ul { grid-template-columns:1fr; } }
