/* Examen, resultado y certificado en una página del aula. */
.final-exam-launch { min-height:44px; padding:10px 16px; border:1px solid #b9cce0; border-radius:8px; background:#f1f6fc; color:#154b84; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.final-exam-launch[hidden], .final-course-page [hidden] { display:none !important; }
.aula-course-body > .final-exam-launch { width:100%; margin-top:10px; }
.final-course-page { margin:0; background:#f5f7fb; color:#142f47; font-family:var(--font-ui,system-ui,sans-serif); font-size:15px; line-height:1.6; }
.final-course-page *, .final-course-page *::before, .final-course-page *::after { box-sizing:border-box; }
.final-course-page a { color:inherit; text-decoration:none; }
.final-course-page button { font:inherit; cursor:pointer; }
.final-course-page button:disabled { cursor:default; opacity:.5; }
.final-course-page :focus-visible, .final-exam-launch:focus-visible { outline:3px solid #5595dd; outline-offset:4px; }
.final-course-page h1:focus, .final-course-page h2:focus { outline:none; }
.final-skip { position:absolute; left:16px; top:-80px; z-index:4; padding:12px 18px; border-radius:8px; background:#fff; }
.final-skip:focus { top:10px; }
.final-header { display:flex; align-items:center; gap:24px; min-height:76px; padding:16px max(24px,calc((100vw - 1132px)/2)); border-bottom:1px solid #e1e7ef; background:#fff; }
.final-brand { display:flex; align-items:center; gap:10px; flex:0 0 auto; font-size:21px; font-weight:750; letter-spacing:-.04em; }
.final-brand img { width:32px; height:36px; object-fit:contain; }
.final-header-label { padding-left:24px; border-left:1px solid #dbe3ec; color:#52677a; font-size:12px; }
.final-header > a:last-child { margin-left:auto; font-size:13px; font-weight:600; white-space:nowrap; }
.final-header > a:last-child span { margin-left:8px; color:#21669f; }
.final-shell { max-width:1180px; margin:0 auto; padding:32px 24px 64px; }
.final-steps { display:flex; gap:34px; align-items:center; width:fit-content; max-width:100%; margin:0 0 34px; padding:0; list-style:none; color:#536b7e; font-size:12px; }
.final-steps li { display:flex; align-items:center; gap:9px; position:relative; white-space:nowrap; }
.final-steps li + li::before { position:absolute; content:''; left:-25px; width:16px; height:1px; background:#cbd6e2; }
.final-steps li > span { display:grid; place-items:center; width:28px; height:28px; border:1px solid #ced9e5; border-radius:50%; background:#fff; font-size:10px; font-weight:600; }
.final-steps .is-current { color:#175e99; font-weight:650; }
.final-steps .is-current > span { color:#fff; border-color:#1c68a4; background:#1c68a4; }
.final-steps .is-done { color:#2b6a5d; }
.final-steps .is-done > span { color:#276b5c; border-color:#c2ded4; background:#e5f1ed; }
.final-intro { margin-bottom:30px; }
.final-kicker { margin:0 0 11px; color:#21669f; font-size:11px; line-height:1.6; font-weight:700; letter-spacing:.12em; }
.final-intro h1 { margin:0 0 12px; max-width:900px; font-size:clamp(28px,3.6vw,38px); font-weight:700; line-height:1.2; letter-spacing:-.035em; text-wrap:balance; }
.final-intro > p:last-child { margin:0; max-width:760px; color:#546b7e; font-size:14px; line-height:1.8; }
.final-exam-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:26px; align-items:start; }
.final-question-card, .final-review-card { min-width:0; padding:30px; border:1px solid #dce5ef; border-radius:16px; background:#fff; box-shadow:0 8px 30px #15345104; }
.final-question-top { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:22px; border-bottom:1px solid #e6ebf1; margin-bottom:26px; }
.final-question-top > span:first-child { color:#1d5f96; font-size:14px; font-weight:650; }
.final-question-top small { color:#536b7e; font-size:12px; font-weight:500; }
.final-question-top > span:last-child { padding:4px 10px; border-radius:20px; background:#f0f5fa; color:#587088; font-size:11px; }
.final-question-card fieldset { min-width:0; margin:0; padding:0; border:0; }
.final-question-card legend { width:100%; margin:0 0 24px; padding:0; color:#142f47; font-size:22px; font-weight:600; line-height:1.5; letter-spacing:-.015em; }
.final-option { position:relative; display:flex; align-items:center; gap:13px; min-height:67px; padding:15px 16px; margin-bottom:12px; border:1px solid #d9e2ec; border-radius:10px; color:#40596e; font-size:14px; line-height:1.65; cursor:pointer; transition:border-color .15s, background .15s; }
.final-option input { width:18px; height:18px; flex:0 0 18px; margin:0; accent-color:#1b6daa; }
.final-option-letter { color:#536b7e; font-size:12px; font-weight:650; }
.final-option-check { margin-left:auto; padding-left:4px; color:#1c649a; opacity:0; }
.final-option:has(input:checked) { color:#1c527c; border-color:#3f82b6; background:#f0f6fe; box-shadow:0 0 0 1px #3f82b614; }
.final-option:has(input:checked) .final-option-check { opacity:1; }
.final-response-status { min-height:20px; margin:16px 0 24px; color:#536b7e; font-size:12px; }
.final-question-footer { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center; padding-top:23px; border-top:1px solid #e6ebf1; }
.final-question-footer .final-primary { justify-self:end; }
.final-primary, .final-secondary { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:46px; padding:12px 19px; border:1px solid transparent; border-radius:8px; font:inherit; font-size:13px; line-height:1.6; font-weight:600; text-align:center; }
.final-primary { background:#1c659f; color:#fff !important; border-color:#1c659f; }
.final-primary:hover { background:#154f7e; }
.final-secondary { color:#345b7c; background:#fff; border-color:#cedae6; }
.final-secondary:hover { border-color:#8aa9c3; }
.final-sidebar { position:sticky; top:24px; min-width:0; padding:23px; border:1px solid #dce5ef; border-radius:16px; background:#fff; }
.final-side-top { display:flex; gap:11px; align-items:start; margin-bottom:25px; }
.final-side-check { display:grid; place-items:center; flex:0 0 26px; height:26px; border-radius:50%; background:#e8f2ee; color:#27705b; font-size:13px; }
.final-side-top strong { font-size:13px; font-weight:600; line-height:1.5; }
.final-side-top p { margin:7px 0 0; color:#536b7e; font-size:12px; line-height:1.6; }
.final-side-progress { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; color:#5a7185; font-size:12px; }
.final-side-progress strong { color:#224e71; font-weight:600; }
.final-side-progress progress { appearance:none; display:block; width:100%; height:5px; overflow:hidden; border:0; border-radius:5px; background:#e8eef5; }
.final-side-progress progress::-webkit-progress-bar { background:#e8eef5; }
.final-side-progress progress::-webkit-progress-value { border-radius:5px; background:#2674ac; transition:width .2s; }
.final-side-progress progress::-moz-progress-bar { background:#2674ac; }
.final-question-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin:19px 0 25px; }
.final-question-nav button { position:relative; min-height:44px; padding:5px; border:1px solid #d7e1ec; border-radius:8px; color:#5c7388; background:#fff; font-size:12px; }
.final-question-nav [aria-current] { border-color:#246a9f; color:#165783; box-shadow:0 0 0 1px #246a9f; }
.final-question-nav .is-answered { color:#236251; background:#edf6f1; border-color:#c9e1d6; }
.final-question-nav i { position:absolute; right:2px; bottom:1px; font-style:normal; font-size:9px; }
.final-sidebar dl { margin:0 0 21px; padding-top:18px; border-top:1px solid #e4ebf2; }
.final-sidebar dl > div { display:flex; justify-content:space-between; gap:12px; margin:12px 0; font-size:12px; }
.final-sidebar dt { color:#536b7e; }
.final-sidebar dd { margin:0; font-weight:600; }
.final-example { width:100%; min-height:44px; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 12px; border:1px solid #cbdcea; border-radius:8px; color:#225b86; background:#f3f7fc; font-size:12px !important; font-weight:600 !important; }
.final-practice-note { color:#536b7e; font-size:11px; line-height:1.8; }
.final-sidebar .final-practice-note { margin:13px 0 0; }
.final-review-card { padding-block:8px 25px; }
.final-review-card article { display:flex; gap:15px; align-items:start; padding:24px 0; border-bottom:1px solid #e1e9f1; }
.final-review-number { flex:0 0 28px; margin-top:2px; color:#536b7e; font-size:12px; }
.final-review-card article > div { flex:1; min-width:0; }
.final-review-card h2 { margin:0 0 8px; font-size:14px; font-weight:600; line-height:1.7; }
.final-review-card article p { margin:0; color:#597487; font-size:13px; line-height:1.7; }
.final-review-card article > button { min-height:44px; padding:8px 0 8px 8px; border:0; color:#256998; background:transparent; font-size:12px; }
.final-review-delivery { padding-top:22px; }
.final-review-delivery p { margin:0 0 15px; color:#536b7e; font-size:12px; }
.final-success { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:38px; align-items:center; padding:40px; overflow:hidden; border-radius:24px; background:radial-gradient(ellipse at 25% 0,#28527a99,transparent 65%),#0d243e; color:#d3e0ef; }
.final-success-copy, .final-earned-paper { position:relative; z-index:1; min-width:0; }
.final-success .final-kicker { color:#edcf92; margin-bottom:11px; }
.final-success h1 { margin:0; color:#fff; font-size:clamp(30px,3.1vw,40px); line-height:1.2; font-weight:700; letter-spacing:-.04em; text-wrap:balance; }
.final-success h1 > span { color:#f0d89e; }
.final-success-course { margin:23px 0 9px; color:#fff; font-size:17px; font-weight:600; line-height:1.5; }
.final-success-copy > p:not(.final-kicker):not(.final-success-course):not(.final-practice-note) { margin:0; max-width:440px; font-size:13px; line-height:1.9; color:#c3d3e7; }
.final-success .final-practice-note { margin-top:18px; color:#b8cce1; font-size:11px; }
.final-medal { position:relative; width:164px; margin:0 auto 25px; }
.final-medal svg { width:100%; height:100%; overflow:visible; }
.final-medal .final-medal-check { fill:none; stroke:#234b64; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.final-medal i { position:absolute; width:4px; height:4px; background:#f8dc96; transform:rotate(45deg); box-shadow:0 0 14px #e2ba6b88; }
.final-medal i:nth-of-type(1) { left:1px; top:30px; }
.final-medal i:nth-of-type(2) { right:-6px; top:10px; }
.final-confetti { position:absolute; z-index:2; inset:0; width:100%; height:100%; pointer-events:none; }
.final-result-metrics { display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:400px; margin:26px 0; padding-block:20px; border-block:1px solid #6684a34d; }
.final-result-metrics > div + div { padding-left:24px; border-left:1px solid #6684a34d; }
.final-result-metrics strong { display:block; margin-bottom:4px; color:#fff; font-size:30px; font-weight:600; line-height:1.4; }
.final-result-metrics strong small { margin-left:3px; color:#b5cce2; font-size:16px; font-weight:400; }
.final-result-metrics > div > span { font-size:11px; color:#c1d3e5; }
.final-result-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.final-success .final-primary { color:#352b18 !important; background:#efdcac; border-color:#efdcac; }
.final-success .final-primary:hover { background:#fae9be; }
.final-success .final-secondary { color:#d7e5f3; background:transparent; border-color:#6c89a85c; }
.final-earned-paper { padding:20px; border:1px solid #e6e0d4; border-radius:12px; background:#fff; color:#16344e; box-shadow:0 25px 60px #020d1c59; }
.final-paper-heading { display:flex; align-items:center; gap:7px; margin-bottom:18px; }
.final-paper-heading img { width:23px; height:28px; }
.final-paper-heading strong { font-size:15px; letter-spacing:-.03em; }
.final-paper-heading > span { margin-left:auto; color:#536b7e; font-size:9px; letter-spacing:.07em; }
.final-paper-image, .final-document-paper { position:relative; overflow:hidden; border:1px solid #dce5ee; background:#fff; }
.final-paper-image img { display:block; width:100%; aspect-ratio:842/595; object-fit:contain; }
.final-watermark { position:absolute; top:45%; left:-6%; width:112%; padding:3px; border-block:1px solid #9aaaba; background:#ffffffd9; color:#536a80; font-size:clamp(10px,1.7vw,20px); font-weight:600; line-height:2; text-align:center; transform:rotate(-17deg); pointer-events:none; }
.final-earned-paper > p { margin:17px 0 12px; color:#5d7488; font-size:12px; line-height:1.8; }
.final-text-action { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:44px; width:100%; padding:12px 0 0; border:0; border-top:1px solid #e2e8f0; background:transparent; color:#205d8c; font-size:12px !important; font-weight:600 !important; text-align:left; }
.final-start-over { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:14px; margin-top:26px; color:#536b7e; font-size:12px; }
.final-start-over button { min-height:44px; padding:9px 2px; border:0; color:#25638f; background:transparent; font-size:12px; font-weight:600; }
.final-document-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.final-document-heading .final-intro { max-width:760px; }
.final-document-heading > button { flex:0 0 auto; }
.final-document { margin-bottom:25px; padding:18px; border:1px solid #dbe4ed; border-radius:16px; background:#eaf0f6; }
.final-document-toolbar { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:18px; }
.final-document-toolbar nav { display:flex; gap:5px; padding:4px; border:1px solid #d9e3ee; border-radius:10px; background:#f7f9fc; }
.final-document-toolbar button { min-height:40px; padding:8px 16px; border:0; border-radius:7px; color:#536b7e; background:transparent; font-size:12px; font-weight:600; }
.final-document-toolbar [aria-pressed="true"] { color:#1d5b89; background:#fff; box-shadow:0 2px 8px #1d426012; }
.final-document-toolbar > span { color:#536b7e; font-size:11px; }
.final-document-paper { max-width:1050px; margin:0 auto; box-shadow:0 10px 25px #2c4e6c0a; }
.final-document-paper img { display:block; width:100%; aspect-ratio:842/595; object-fit:contain; }
.final-document-paper .final-watermark { font-size:clamp(14px,3vw,35px); }
.final-document-note { margin:17px 4px 0; color:#536b7e; font-size:12px; line-height:1.8; }
.final-emission-pending { min-height:225px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px; color:#276452; text-align:center; font-size:26px; }
.final-emission-pending strong { margin-top:12px; font-size:15px; }
.final-emission-pending p { color:#536b7e; font-size:12px; line-height:1.7; }
.final-not-passed { padding:40px; border:1px solid #dae4ed; border-radius:18px; background:#fff; }
.final-failed-score { display:flex; align-items:center; gap:24px; margin:24px 0; }
.final-failed-score strong { color:#254f70; font-size:54px; font-weight:600; letter-spacing:-.04em; }
.final-failed-score small { margin-left:4px; color:#536b7e; font-size:22px; font-weight:400; }
.final-failed-score > span { color:#5b7489; font-size:14px; }
.final-answer-review { margin-top:35px; padding:30px; border:1px solid #dce5ee; border-radius:14px; background:#fff; }
.final-answer-review h2 { margin:0 0 8px; font-size:24px; font-weight:600; }
.final-answer-review article { padding:23px 0; border-top:1px solid #e3eaf1; margin-top:20px; }
.final-answer-review article > span { color:#8c5e26; font-size:12px; font-weight:600; }
.final-answer-review article > .is-correct { color:#28715a; }
.final-answer-review h3 { margin:9px 0; font-size:15px; font-weight:600; }
.final-answer-review p { margin:8px 0 0; color:#597387; font-size:13px; }
.final-image-error { padding:25px; color:#526c82; font-size:13px; text-align:center; }
.final-image-error button { display:block; min-height:44px; margin:10px auto 0; padding:8px 16px; border:1px solid #c2d2e0; border-radius:7px; background:#f5f8fc; color:#205c88; }
@media (prefers-reduced-motion:no-preference) {
 .final-success .final-medal { animation:final-medal-enter .75s cubic-bezier(.2,.8,.2,1) both; }
 .final-medal-check { stroke-dasharray:80; animation:final-medal-trace .7s .2s both; }
 .final-earned-paper { animation:final-paper-enter .7s .15s both; }
 @keyframes final-medal-enter { from { opacity:0; transform:translateY(14px) scale(.75) rotate(-12deg); } to { opacity:1; transform:none; } }
 @keyframes final-medal-trace { from { stroke-dashoffset:80; } to { stroke-dashoffset:0; } }
 @keyframes final-paper-enter { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
}
@media (max-width:900px) {
 .final-exam-layout { grid-template-columns:minmax(0,1fr) 250px; gap:20px; }
 .final-sidebar { padding:18px; }
 .final-question-card, .final-review-card { padding:24px; }
 .final-success { padding:32px; gap:28px; }
 .final-result-actions { align-items:stretch; }
 .final-document-heading { display:block; }
 .final-document-heading > button { margin-bottom:20px; }
}
@media (max-width:700px) {
 .final-header { min-height:68px; padding:14px 18px; gap:14px; flex-wrap:wrap; }
 .final-header-label { order:3; width:100%; padding:0; border:0; font-size:11px; }
 .final-header > a:last-child { font-size:12px; }
 .final-shell { padding:24px 18px 44px; }
 .final-steps { width:100%; justify-content:space-between; gap:8px; margin-bottom:27px; font-size:10px; }
 .final-steps li { gap:5px; }
 .final-steps li + li::before { display:none; }
 .final-steps li > span { width:23px; height:23px; font-size:9px; }
 .final-intro { margin-bottom:23px; }
 .final-intro h1 { font-size:28px; }
 .final-intro > p:last-child { font-size:13px; }
 .final-exam-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
 .final-sidebar { position:static; padding:22px; }
 .final-side-top { margin-bottom:20px; }
 .final-question-card, .final-review-card { padding:22px; }
 .final-question-card legend { font-size:19px; margin-bottom:22px; }
 .final-option { padding:14px 12px; gap:10px; font-size:13px; }
 .final-option-letter { display:none; }
 .final-question-footer { gap:10px; }
 .final-question-footer .final-primary, .final-question-footer .final-secondary { padding:11px 13px; gap:7px; font-size:12px; }
 .final-review-card article { gap:10px; }
 .final-review-number { flex-basis:22px; font-size:11px; }
 .final-review-card h2 { font-size:13px; }
 .final-review-card article p { font-size:12px; }
 .final-success { grid-template-columns:minmax(0,1fr); gap:30px; padding:28px 22px; border-radius:17px; }
 .final-success h1 { font-size:33px; }
 .final-success-course { margin-top:20px; font-size:16px; }
 .final-success .final-medal { margin-bottom:14px; }
 .final-result-metrics { margin:23px 0; gap:12px; }
 .final-result-metrics > div + div { padding-left:16px; }
 .final-result-metrics strong { font-size:28px; }
 .final-result-metrics > div > span { font-size:10px; }
 .final-result-actions { display:grid; grid-template-columns:minmax(0,1fr); width:100%; gap:10px; }
 .final-earned-paper { padding:17px; }
 .final-document { padding:10px; border-radius:12px; }
 .final-document-toolbar { flex-wrap:wrap; gap:10px; margin-bottom:12px; }
 .final-document-toolbar button { padding:7px 12px; }
 .final-document-toolbar > span { font-size:10px; padding-left:4px; }
 .final-document-note { font-size:11px; }
 .final-not-passed { padding:27px 22px; }
 .final-failed-score { flex-wrap:wrap; gap:10px 20px; }
 .final-answer-review { padding:22px; }
}
@media (prefers-reduced-motion:reduce) {
 .final-course-page *, .final-course-page *::before, .final-course-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
.final-paper-open { display:block; width:100%; margin:0; padding:0; border:0; background:#fff; text-align:left; }
.final-paper-open .final-paper-image { display:block; transition:box-shadow .2s; }
.final-paper-open:hover .final-paper-image { box-shadow:0 4px 15px #142f4722; }
.final-verified { color:#28614e !important; font-size:10px; font-weight:650; letter-spacing:.02em; }
.final-credential-details { margin:20px 0; display:grid; gap:12px; }
.final-credential-details div { min-width:0; }
.final-credential-details dt { font-size:10px; color:#536b7e; }
.final-credential-details dd { margin:3px 0 0; color:#1c3e59; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.final-download-status { min-height:0; margin:0; font-size:12px; line-height:1.7; }
.final-download-status:not(:empty) { margin-top:14px; }
.final-after-reward { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-top:22px; color:#536b7e; font-size:12px; }
.final-after-reward p { margin:0; }
.final-after-reward > div { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.final-after-reward button, .final-after-reward a { padding:8px 0; border:0; background:transparent; color:#205d8c; font:inherit; font-weight:600; }
.final-document-footer { display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center; padding:8px 10px; }
.final-document-footer .final-credential-details { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; flex:1 1 500px; }
@media(max-width:700px) {
 .final-success { padding:28px 22px; }
 .final-success h1 { font-size:32px; }
 .final-document-footer .final-credential-details { grid-template-columns:minmax(0,1fr); gap:12px; }
 .final-document-footer { padding:4px; gap:0; }
 .final-after-reward { font-size:11px; }
}

/* Aula final: lectura cómoda, papel claro y una medalla completa. */
.final-course-page { background:#fafbfc; }
.final-header { min-height:72px; padding-block:14px; }
.final-shell { max-width:1280px; padding:28px 30px 42px; }
.final-journey { max-width:860px; margin:0 auto 32px; }
.final-journey .final-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:24px; margin:0; }
.final-journey li { display:block; min-width:0; white-space:normal; }
.final-journey li + li::before { display:none; }
.final-journey button { display:flex; align-items:center; gap:12px; width:100%; min-height:60px; padding:8px 10px; border:0; border-bottom:2px solid #e4e9ee; border-radius:0; background:transparent; color:#52677a; text-align:left; }
.final-journey button:disabled { opacity:1; }
.final-journey button:not(:disabled):hover { border-bottom-color:#96afc3; background:#f2f5f8; }
.final-journey .is-current button { border-bottom-color:#206ca6; }
.final-step-number { position:relative; display:grid; place-items:center; flex:0 0 32px; height:32px; border:1px solid #d1dce7; border-radius:50%; color:#4e6d85; background:#fff; font-size:12px; font-weight:650; }
.final-step-number i { position:absolute; right:-3px; bottom:-3px; display:grid; place-items:center; width:15px; height:15px; border:2px solid #fafbfc; border-radius:50%; color:#fff; background:#387965; font-size:8px; font-style:normal; }
.final-journey .is-current .final-step-number { color:#fff; background:#216ba4; border-color:#216ba4; }
.final-journey .is-done .final-step-number { color:#2c6958; background:#eaf4ef; border-color:#c6dfd4; }
.final-step-copy { display:block; min-width:0; }
.final-step-copy strong { display:block; color:#28465f; font-size:13px; line-height:1.5; font-weight:650; }
.final-step-copy small { display:block; margin-top:2px; color:#5c7081; font-size:11px; line-height:1.5; }
.final-intro { margin-bottom:26px; }
.final-intro h1 { font-size:34px; line-height:1.2; }
.final-intro > p:last-child { font-size:14px; line-height:1.7; }
.final-kicker { margin-bottom:9px; font-size:11px; letter-spacing:.09em; }
.final-primary, .final-secondary { font-size:14px; min-height:46px; padding:11px 18px; border-radius:8px; }
.final-text-button { min-height:40px; padding:8px 0; border:0; background:transparent; color:#205d8c; font-size:13px !important; }

/* Logro: sin contenedor oscuro ni compresión por altura de ventana. */
.final-success { grid-template-columns:205px minmax(0,1fr) minmax(300px,370px); align-items:center; gap:32px; padding:16px 0 26px; border:0; border-radius:0; background:none; box-shadow:none; overflow:visible; color:#17334c; }
.final-success > .final-medal { position:relative; width:205px; margin:0; align-self:center; }
.final-medal::before { content:''; position:absolute; inset:-35px -40px 0; z-index:-1; background:radial-gradient(ellipse,#ebd39935,transparent 68%); }
.final-medal svg { display:block; width:100%; height:224px; filter:drop-shadow(0 12px 12px #a27c3b28); }
.final-medal .final-medal-check { stroke:#80551d; }
.final-success-copy { text-align:left; }
.final-success-heading { margin-bottom:18px; }
.final-success .final-kicker { margin:0 0 12px; color:#886021; font-size:11px; letter-spacing:.13em; }
.final-success h1 { margin:0; color:#17334c; font-size:clamp(32px,3vw,40px); line-height:1.14; letter-spacing:-.04em; overflow-wrap:anywhere; }
.final-success-course { margin:15px 0 0; color:#254963; font-size:20px; line-height:1.45; }
.final-success-copy > p:not(.final-kicker):not(.final-success-course):not(.final-practice-note) { max-width:460px; margin:0; color:#536b7e; font-size:15px; line-height:1.75; }
.final-success .final-result-metrics { max-width:430px; margin:24px 0; padding-block:17px; gap:0; border-color:#dde5eb; }
.final-success .final-result-metrics > div { padding-right:12px; }
.final-success .final-result-metrics > div + div { padding:0 0 0 24px; border-color:#dde5eb; }
.final-success .final-result-metrics strong { color:#17334c; font-size:34px; line-height:1.2; }
.final-success .final-result-metrics small { color:#536b7e; font-size:16px; }
.final-success .final-result-metrics > div > span { color:#536b7e; font-size:12px; }
.final-success .final-result-actions { gap:10px; }
.final-success .final-primary { color:#fff !important; background:#1b5f92; border-color:#1b5f92; }
.final-success .final-primary:hover { background:#164c74; }
.final-success .final-secondary { color:#285672; border-color:#cddae4; background:#fff; }
.final-success .final-practice-note { margin:17px 0 0; color:#627687; font-size:12px; line-height:1.7; }
.final-success .final-download-status:not(:empty) { margin-top:10px !important; color:#28634d !important; font-size:13px !important; }
.final-earned-paper { padding:18px; border:1px solid #dfe6eb; border-radius:12px; background:#fff; box-shadow:0 12px 36px #1d364d07; }
.final-paper-heading { margin-bottom:14px; }
.final-paper-heading strong { font-size:14px; }
.final-paper-heading img { width:20px; height:25px; }
.final-paper-open { max-width:none; margin:0; }
.final-earned-paper .final-credential-details { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:13px 12px; margin:17px 0; }
.final-earned-paper .final-credential-details > div:nth-child(2) { grid-column:1/-1; grid-row:2; }
.final-earned-paper .final-credential-details > div:nth-child(3) { grid-column:2; grid-row:1; }
.final-earned-paper .final-credential-details dt { color:#5d7384; font-size:11px; line-height:1.5; }
.final-earned-paper .final-credential-details dd { margin:3px 0 0; font-size:12px; line-height:1.5; }
.final-earned-paper .final-text-action { font-size:12px !important; }
.final-after-reward { justify-content:flex-end; gap:12px 25px; margin:10px 0 0; padding-top:16px; border-top:1px solid #e2e8ed; color:#536b7e; font-size:13px; }
.final-after-reward > p { margin-right:auto; }
.final-after-reward > div { gap:24px; }
.final-after-reward button, .final-after-reward a { min-height:40px; font-size:13px; }

/* Cuestionario y revisión: el foco está en una pregunta y sus alternativas. */
.final-exam-layout { grid-template-columns:minmax(0,1fr) 255px; gap:38px; }
.final-question-card { padding:30px 34px; border-color:#dfe6ec; border-radius:14px; box-shadow:0 8px 28px #23446204; }
.final-question-top { margin-bottom:25px; padding-bottom:18px; }
.final-question-top > span:first-child { color:#2b5779; font-size:13px; font-weight:650; }
.final-question-top > span:first-child small { margin-left:4px; font-size:12px; }
.final-question-top > span:last-child { padding:3px 0; color:#536b7e; background:transparent; font-size:12px; }
.final-question-card legend, .final-recorded-question h2 { margin:0 0 25px; color:#203c53; font-size:23px; line-height:1.5; font-weight:600; letter-spacing:-.02em; }
.final-option { display:grid; grid-template-columns:18px 22px minmax(0,1fr) 20px; gap:12px; min-height:65px; padding:15px 17px; margin-bottom:11px; border-color:#dce4eb; border-radius:10px; color:#354e63; font-size:15px; line-height:1.6; background:#fff; box-shadow:none; }
.final-option-letter { color:#7a8c9b; font-size:12px; font-weight:600; }
.final-option-text { min-width:0; overflow-wrap:anywhere; }
.final-option-check { padding:0; margin:0; color:#21669b; }
.final-option:hover { border-color:#9cb4c7; background:#fafcff; }
.final-option:has(input:checked) { border-color:#4482b1; background:#f0f6fb; box-shadow:inset 3px 0 #2c74a9; color:#224c6d; }
.final-response-status { min-height:20px; margin:17px 0 21px; color:#5c7385; font-size:12px; }
.final-question-footer { padding-top:21px; }
.final-sidebar { top:24px; padding:5px 0 5px 24px; border:0; border-left:1px solid #e1e7ec; border-radius:0; background:transparent; }
.final-side-top { margin-bottom:25px; }
.final-side-top strong { color:#294b66; font-size:15px; font-weight:650; }
.final-side-top p { margin:8px 0 0; font-size:13px; line-height:1.7; }
.final-side-progress { font-size:12px; }
.final-question-nav { grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin:19px 0 24px; }
.final-question-nav button { min-height:40px; padding:5px 2px; font-size:12px; background:#fff; border-radius:8px; }
.final-question-nav [aria-current] { border-color:#276b9c !important; box-shadow:0 0 0 1px #276b9c; }
.final-question-nav .is-correct { color:#2c6b50; background:#eff7f2; border-color:#c5dfd1; }
.final-question-nav .needs-review { color:#9a574c; background:#fcf3f1; border-color:#e8cfca; }
.final-sidebar dl { margin-bottom:17px; }
.final-sidebar .final-practice-note { font-size:12px; line-height:1.75; }
.final-trial-controls { padding-top:18px; border-top:1px solid #e1e7ec; }
.final-trial-controls > span { display:block; margin-bottom:9px; color:#896020; font-size:12px; font-weight:600; }
.final-trial-controls .final-primary { width:100%; padding-inline:10px; font-size:12px; }
.final-trial-controls [role=status] { margin:5px 0; color:#6d5760; font-size:12px; }
.final-review-card { padding:7px 28px 24px; border-color:#dfe6ec; box-shadow:none; }
.final-review-card article { padding:20px 0; }
.final-review-card article h2 { font-size:15px; line-height:1.6; }
.final-review-card article p { display:flex; align-items:baseline; gap:8px; font-size:13px; line-height:1.65; }
.final-choice-letter { flex:0 0 21px; color:#1c628e; font-size:11px; font-weight:700; }
.final-review-heading { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:26px; }
.final-review-heading .final-intro { margin:0; }
.final-review-heading > button { flex:0 0 auto; font-size:13px; }
.final-recorded-status { display:inline-flex; align-items:center; padding:4px 9px; margin-bottom:16px; border-radius:5px; background:#eff7f2; color:#29684e; font-size:12px; font-weight:600; }
.final-recorded-status.needs-review { background:#fbf2ee; color:#925239; }
.final-recorded-question { padding:0; margin:0 0 26px; }
.final-recorded-options { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.final-recorded-options li { display:flex; align-items:center; gap:13px; min-height:63px; padding:14px 16px; border:1px solid #dfe6ec; border-radius:9px; color:#4d6578; font-size:14px; line-height:1.65; }
.final-answer-marker { display:grid; place-items:center; flex:0 0 24px; height:24px; border:1px solid #d3dfe8; border-radius:50%; color:#6d8292; font-size:11px; }
.final-recorded-options .is-selected { border-color:#8eacc3; background:#f3f7fb; }
.final-recorded-options .is-selected .final-answer-marker { color:#fff; background:#286c9e; border-color:#286c9e; font-size:9px; }
.final-recorded-options .is-incorrect { border-color:#d4b2ab; background:#fcf5f3; }
.final-recorded-options .is-correct { border-color:#98bea9; background:#f1f8f4; color:#2d5b45; }
.final-recorded-options .is-correct.is-selected .final-answer-marker { background:#388361; border-color:#388361; }
.final-answer-tags { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 8px; margin-left:auto; flex:0 0 auto; font-size:11px; font-weight:600; color:#486b85; }
.final-correct-label { color:#2b6b4d; }
.final-review-score { display:block; color:#243f54; font-size:42px; font-weight:600; line-height:1.2; }
.final-review-score small { margin-left:4px; color:#536b7e; font-size:17px; font-weight:400; }
.final-review-sidebar > p:not(.final-kicker) { margin:10px 0 0; color:#5c7385; font-size:13px; line-height:1.7; }
.final-review-sidebar .final-secondary { width:100%; margin-top:20px; padding-inline:10px; font-size:12px; }
@media(min-width:901px) and (max-width:1140px) {
 .final-success { grid-template-columns:150px minmax(0,1fr) 300px; gap:24px; }
 .final-success > .final-medal { width:150px; }
 .final-medal svg { height:164px; }
 .final-success h1 { font-size:32px; }
 .final-earned-paper { padding:14px; }
 .final-success .final-result-actions { flex-direction:column; align-items:stretch; }
}
@media(max-width:900px) {
 .final-success { grid-template-columns:170px minmax(0,1fr); gap:24px 30px; }
 .final-success > .final-medal { width:170px; }
 .final-medal svg { height:186px; }
 .final-earned-paper { grid-column:1/-1; justify-self:center; width:100%; max-width:580px; }
 .final-exam-layout { grid-template-columns:minmax(0,1fr) 220px; gap:24px; }
 .final-question-card { padding:25px; }
 .final-sidebar { padding-left:18px; }
 .final-question-card legend, .final-recorded-question h2 { font-size:21px; }
 .final-option { gap:8px; padding:13px; font-size:14px; }
 .final-answer-tags { flex-basis:auto; }
}
@media(max-width:700px) {
 .final-header { padding:14px 18px; }
 .final-shell { padding:20px 18px 30px; }
 .final-journey { margin-bottom:26px; }
 .final-journey .final-steps { gap:12px; }
 .final-journey button { flex-direction:column; align-items:flex-start; gap:7px; padding:5px 0 10px; min-height:74px; }
 .final-step-number { flex-basis:auto; width:28px; height:28px; font-size:11px; }
 .final-step-copy strong { font-size:11px; }
 .final-step-copy small { font-size:10px; }
 .final-intro h1 { font-size:29px; }
 .final-intro > p:last-child { font-size:13px; }
 .final-success { grid-template-columns:minmax(0,1fr); padding:4px 0 20px; gap:20px; }
 .final-success > .final-medal { width:155px; justify-self:center; }
 .final-medal svg { height:170px; }
 .final-success-copy { text-align:center; }
 .final-success h1 { font-size:34px; }
 .final-success-course { font-size:19px; }
 .final-success-copy > p:not(.final-kicker):not(.final-success-course):not(.final-practice-note) { font-size:14px; }
 .final-success .final-result-metrics { margin:23px auto; }
 .final-success .final-result-metrics > div + div { padding-left:14px; }
 .final-success .final-result-metrics strong { font-size:32px; }
 .final-success .final-result-metrics > div > span { font-size:11px; }
 .final-success .final-result-actions { display:grid; grid-template-columns:minmax(0,1fr); }
 .final-success .final-practice-note { font-size:12px; }
 .final-earned-paper { grid-column:auto; }
 .final-after-reward { justify-content:center; text-align:center; gap:10px; }
 .final-after-reward > p { margin:0; width:100%; }
 .final-after-reward > div { justify-content:center; gap:8px 19px; }
 .final-exam-layout { grid-template-columns:minmax(0,1fr); gap:27px; }
 .final-question-card { padding:23px 19px; }
 .final-question-card legend, .final-recorded-question h2 { font-size:21px; line-height:1.5; }
 .final-question-top { margin-bottom:22px; }
 .final-question-top > span:last-child { font-size:11px; }
 .final-option { grid-template-columns:18px 18px minmax(0,1fr) 13px; gap:9px; padding:14px 11px; font-size:14px; }
 .final-option-letter { display:block; }
 .final-question-footer { gap:8px; }
 .final-question-footer .final-primary, .final-question-footer .final-secondary { padding:10px 12px; font-size:12px; }
 .final-sidebar { position:static; padding:20px 0 0; border:0; border-top:1px solid #e1e7ec; }
 .final-side-top { margin-bottom:17px; }
 .final-question-nav { max-width:310px; }
 .final-trial-controls .final-primary { width:auto; padding-inline:17px; }
 .final-review-heading { display:block; }
 .final-review-heading > button { margin-top:17px; }
 .final-recorded-options li { flex-wrap:wrap; align-items:flex-start; gap:8px 10px; padding:13px; }
 .final-recorded-options .final-option-text { flex:1; }
 .final-answer-tags { flex-basis:100%; justify-content:flex-start; margin:0 0 0 34px; }
 .final-review-sidebar .final-secondary { width:auto; }
}

.final-exam-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:26px; }
.final-exam-heading .final-intro { margin:0; }
.final-practice-shortcut { flex:0 0 auto; max-width:260px; }
.final-practice-shortcut .final-primary { font-size:13px; }
.final-practice-shortcut [role=status]:empty { display:none; }
.final-practice-shortcut [role=status] { margin:8px 0 0; color:#76545c; font-size:12px; line-height:1.6; }
.final-trial-controls .final-text-button { display:block; }
@media(max-width:700px) { .final-exam-heading { display:block; } .final-practice-shortcut { margin-top:18px; max-width:none; } }
/* Stable journey chrome and a viewport-sized document workspace. */
html:has(.final-course-page) { scrollbar-gutter:stable; scroll-padding-top:calc(var(--final-chrome-height,160px) + 16px); }
.final-chrome { position:sticky; top:0; z-index:10; background:#fafbfc; }
.final-journey-host { padding:12px 30px 10px; border-bottom:1px solid #e7ecf1; }
.final-journey-host:empty { display:none; }
.final-journey-host .final-journey { margin:0 auto; }
.final-journey-host .final-steps { align-items:stretch; }
.final-journey-host .final-steps li { font-weight:400; }
.final-journey-host .final-steps button { height:100%; }
.final-journey-host .final-step-copy small { font-weight:400; }
.final-skip { z-index:20; }
.final-shell { padding-top:22px; }
.final-shell [tabindex="-1"] { scroll-margin-top:calc(var(--final-chrome-height,160px) + 16px); }
.final-shell[data-view="certificate"] { display:flex; flex-direction:column; height:calc(100svh - var(--final-chrome-height,160px)); min-height:440px; padding-block:18px 22px; }
.final-shell[data-view="certificate"] .final-document-heading { flex:0 0 auto; display:flex; gap:18px; margin-bottom:16px; align-items:center; }
.final-document-heading .final-intro { margin:0; }
.final-document-heading .final-kicker { margin-bottom:5px; font-size:10px; }
.final-document-heading .final-intro h1 { margin-bottom:6px; font-size:28px; }
.final-document-heading .final-intro > p:last-child { font-size:13px; }
.final-shell[data-view="certificate"] .final-document-heading > button { margin:0; min-height:44px; font-size:13px; }
.final-document { display:grid; grid-template-columns:minmax(0,1fr) 250px; grid-template-rows:auto minmax(0,1fr); gap:12px 20px; flex:1 1 0; min-height:0; margin:0; padding:16px; border-radius:14px; background:#eef2f6; }
.final-document-toolbar { grid-column:1; grid-row:1; flex-wrap:nowrap; gap:10px; margin:0; }
.final-document-toolbar nav { gap:2px; padding:2px; background:#f8fafc; }
.final-document-toolbar button { min-height:44px; padding:7px 14px; font-size:12px; }
.final-document-toolbar .final-document-zoom { flex:0 0 auto; padding:7px 10px; background:transparent; color:#235b83; border:1px solid transparent; }
.final-document-toolbar .final-document-zoom:hover { border-color:#bdcbd9; }
.final-document-paper { display:flex; align-items:center; justify-content:center; min-height:0; min-width:0; width:100%; max-width:none; height:100%; grid-column:1; grid-row:2; margin:0; overflow:auto; overscroll-behavior:contain; border:0; border-radius:3px; background:transparent; box-shadow:none; }
.final-document-paper img { display:block; flex:0 1 auto; width:auto; height:auto; max-width:100%; max-height:100%; aspect-ratio:842/595; object-fit:contain; border:1px solid #d9e2ec; background:#fff; box-shadow:0 4px 18px #2c4e6c10; }
.final-document-footer { grid-column:2; grid-row:1 / -1; display:flex; flex-direction:column; flex-wrap:nowrap; align-items:stretch; justify-content:center; gap:18px; min-width:0; padding:22px 18px; border-radius:10px; border:1px solid #e0e7ef; background:#fff; }
.final-document-footer > .final-verified { color:#286854; font-size:11px; }
.final-document-footer .final-credential-details { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; flex:none; margin:0; }
.final-document-footer .final-credential-details dt { font-size:11px; }
.final-document-footer .final-credential-details dd { margin-top:5px; font-size:13px; }
.final-document-footer .final-result-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; margin:0; }
.final-document-footer .final-result-actions > * { justify-content:center; min-height:44px; padding:10px 12px; font-size:13px; }
.final-document-details { display:none; }
.final-document-footer .final-download-status { margin:0; font-size:12px; }
.final-document-footer .final-download-status:empty { display:none; }
.final-shell[data-document-zoom="true"] .final-document-paper { justify-content:flex-start; align-items:flex-start; }
.final-shell[data-document-zoom="true"] .final-document-paper img { flex:none; width:1050px; max-width:none; height:auto; max-height:none; }
@media(max-width:900px) {
 .final-document { grid-template-columns:minmax(0,1fr) 215px; gap:12px; padding:12px; }
 .final-document-footer { padding:16px 13px; gap:16px; }
 .final-document-heading .final-intro h1 { font-size:25px; }
 .final-document-heading .final-intro > p:last-child { max-width:440px; }
}
@media(max-width:700px) {
 .final-journey-host { padding:10px 18px 8px; }
 .final-shell { padding-top:20px; }
 .final-shell[data-view="certificate"] { min-height:460px; padding:14px 18px 16px; }
 .final-shell[data-view="certificate"] .final-document-heading { align-items:flex-start; gap:12px; margin-bottom:12px; }
 .final-document-heading .final-kicker { font-size:9px; letter-spacing:.06em; }
 .final-document-heading .final-intro h1 { font-size:23px; line-height:1.2; }
 .final-document-heading .final-intro > p:last-child { font-size:12px; line-height:1.6; }
 .final-shell[data-view="certificate"] .final-document-heading > button { padding:6px 8px; font-size:12px; white-space:nowrap; }
 .final-document { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(110px,1fr) auto; gap:10px; padding:10px; border-radius:12px; }
 .final-document-toolbar button { padding:6px 10px; font-size:11px; }
 .final-document-toolbar .final-document-zoom { padding:6px; }
 .final-document-paper { grid-column:1; grid-row:2; }
 .final-document-footer { grid-column:1; grid-row:3; display:grid; grid-template-columns:1fr auto; gap:5px 8px; padding:0; border:0; border-radius:0; background:transparent; }
 .final-document-footer > .final-verified { grid-column:2; grid-row:1; align-self:center; font-size:9px; white-space:nowrap; }
 .final-document-facts { display:none; }
 .final-document-details { display:block; grid-column:1; grid-row:1; min-width:0; }
 .final-document-details summary { display:list-item; min-height:36px; padding:10px 0; color:#36566d; font-size:11px; cursor:pointer; }
 .final-document-details[open] { grid-column:1 / -1; }
 .final-document-details[open] + .final-result-actions { margin-top:8px; }
 .final-document-details .final-credential-details { gap:10px; margin:4px 0 10px; }
 .final-document-footer:has(.final-document-details[open]) > .final-verified { grid-row:auto; grid-column:1 / -1; }
 .final-shell[data-view="certificate"]:has(.final-document-details[open]) { height:auto; min-height:calc(100svh - var(--final-chrome-height,200px)); }
 .final-document:has(.final-document-details[open]) { flex:none; grid-template-rows:auto 200px auto; }
 .final-document:has(.final-document-details[open]) .final-document-paper { min-height:180px; }
 .final-document-footer .final-result-actions { grid-column:1 / -1; grid-template-columns:1.2fr 1fr; gap:8px; }
 .final-document-footer .final-result-actions > * { padding:10px 5px; font-size:12px; }
 .final-document-footer .final-download-status { grid-column:1 / -1; font-size:11px; }
}
/* Short viewports retain natural scrolling and fully reachable controls. */
@media(max-height:600px) and (min-width:701px) {
 .final-shell[data-view="certificate"] { min-height:520px; }
 .final-document-footer { padding:12px; gap:12px; }
 .final-document-footer .final-credential-details { gap:10px; }
}

/* Repeatable practice has its own result and never displays an issued credential. */
.final-practice-shortcut { max-width:350px; }
.final-practice-shortcut > span { display:block; margin-bottom:9px; color:#5b7183; font-size:11px; font-weight:600; }
.final-practice-shortcut > div { display:flex; flex-wrap:wrap; gap:8px; }
.final-practice-shortcut .final-secondary { min-height:44px; padding:10px 12px; font-size:12px; }
.final-practice-shortcut > .final-text-button { display:block; margin-top:9px; min-height:36px; padding:5px 0; color:#2c6085; font-size:12px; text-align:left; }
.final-practice-outcome { display:grid; grid-template-columns:160px minmax(0,1fr) 285px; gap:32px; padding:28px 0; align-items:start; }
.final-practice-emblem { padding-top:12px; }
.final-practice-emblem > svg { display:block; width:140px; height:140px; }
.final-practice-emblem .final-medal { width:160px; margin:0; }
.final-practice-emblem .final-medal svg { width:160px; height:175px; }
.final-practice-summary h1 { margin:0 0 16px; color:#203c53; font-size:36px; line-height:1.2; letter-spacing:-.035em; }
.final-practice-summary > p:not(.final-kicker) { color:#536b7e; font-size:14px; line-height:1.8; }
.final-practice-outcome[data-outcome="failed"] .final-kicker { color:#8b5c20; }
.final-practice-metrics { display:flex; gap:30px; margin:25px 0 10px; padding-block:22px; border-block:1px solid #dfe7ed; }
.final-practice-metrics > div { flex:1; }
.final-practice-metrics strong { display:block; color:#264861; font-size:38px; font-weight:650; line-height:1.2; }
.final-practice-metrics strong small { color:#5c7182; font-size:16px; font-weight:400; }
.final-practice-metrics > div > span { display:block; margin-top:7px; color:#5c7182; font-size:12px; }
.final-practice-summary .final-practice-threshold { margin:0 0 19px; font-size:12px; }
.final-practice-summary .final-practice-certificate-note { margin:0 0 21px; font-size:13px; }
.final-practice-summary .final-result-actions { margin-bottom:12px; }
.final-practice-summary .final-result-actions > button { padding:11px 13px; font-size:13px; }
.final-practice-summary .final-practice-note { margin:0; font-size:12px; }
.final-practice-options { padding:18px 0 18px 22px; border-left:1px solid #dfe7ed; }
.final-practice-options .final-practice-shortcut { max-width:none; }
.final-practice-options .final-practice-shortcut > div { display:grid; }
.final-review-sidebar > .final-text-button { margin-top:10px; min-height:40px; padding:5px 0; color:#2c6085; font-size:12px; }
@media(max-width:1000px) {
 .final-practice-outcome { grid-template-columns:130px minmax(0,1fr); gap:24px; }
 .final-practice-emblem .final-medal, .final-practice-emblem .final-medal svg { width:130px; }
 .final-practice-options { grid-column:2; padding:18px 0 0; border-left:0; border-top:1px solid #dfe7ed; }
 .final-practice-options .final-practice-shortcut > div { display:flex; }
}
@media(max-width:700px) {
 .final-journey-host .final-step-copy small { min-height:3em; }
 .final-practice-shortcut { max-width:none; }
 .final-practice-outcome { grid-template-columns:minmax(0,1fr); gap:18px; padding-top:8px; }
 .final-practice-emblem { padding:0; justify-self:center; }
 .final-practice-emblem > svg { width:105px; height:105px; }
 .final-practice-emblem .final-medal svg { height:142px; }
 .final-practice-summary h1 { font-size:30px; }
 .final-practice-metrics { gap:18px; margin-top:20px; padding-block:18px; }
 .final-practice-metrics strong { font-size:32px; }
 .final-practice-metrics > div > span { font-size:11px; }
 .final-practice-summary .final-result-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
 .final-practice-options { grid-column:1; padding-top:16px; }
}
