/* Published results: the learner's target is separate from their outcome. */
.v25-result-hero{--result-accent:#2563b6;--result-dark:#173c71;--result-soft:#e9f2ff;display:grid;grid-template-columns:215px minmax(0,1fr);border:1px solid #c8dbf3;border-radius:22px;margin-bottom:22px;overflow:hidden;background:#fff;box-shadow:0 10px 28px #173c710a;color:#183355}
.v25-result-hero.passed{--result-accent:#148163;--result-dark:#10533f;--result-soft:#e2f8ed;border-color:#a5dec5}
.v25-result-hero.not-yet{--result-accent:#b95724;--result-dark:#85401c;--result-soft:#fff0df;border-color:#f0c79d}
.v25-result-hero.pending{--result-accent:#7659a6;--result-dark:#543581;--result-soft:#f1ebfb;border-color:#d8c7ed}
.v25-result-icon{width:25px;height:25px;flex-shrink:0;display:block}
.v25-result-target{background:linear-gradient(160deg,#234b93,#183567);color:white;padding:29px 24px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;position:relative}
.v25-target-caption{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750;color:#e0ebff;line-height:1.4}
.v25-target-caption svg{width:22px;height:22px}
.v25-result-target>strong{font-size:30px;line-height:1.3;margin-top:22px;letter-spacing:-.5px}
.v25-target-rank{font-size:13px;color:#d2e2ff;margin-top:5px}
.v25-target-required{margin-top:27px;padding-top:18px;border-top:1px solid #ffffff40;width:100%}
.v25-target-required small{display:block;font-size:12px;color:#e0ebff}
.v25-target-required b{display:block;font-size:32px;margin-top:4px}
.v25-target-required b span{font-size:14px;margin-left:5px;color:#cbdcff}
.v25-result-target>p{font-size:13px;line-height:1.6;color:#e0ebff}
.v25-result-outcome{min-width:0;padding:30px 32px;background:linear-gradient(135deg,var(--result-soft),#fff 75%)}
.v25-outcome-top{display:flex;align-items:center;gap:17px}
.v25-outcome-top>div{min-width:0}
.v25-result-face{flex-shrink:0;display:grid;place-items:center;width:65px;height:65px;border-radius:20px;background:var(--result-soft);color:var(--result-accent);border:1px solid currentColor}
.v25-result-face svg{width:42px;height:42px}
.v25-result-kicker{display:block;font-size:10px;font-weight:850;letter-spacing:1px;color:var(--result-dark)}
.v25-outcome-top h2{font-size:clamp(21px,2.2vw,29px);line-height:1.35;margin:6px 0 0!important;color:var(--result-dark);letter-spacing:-.4px}
.v25-result-message{font-size:14px;line-height:1.8;color:#384f67;margin:19px 0 23px}
.v25-result-numbers{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:14px}
.v25-result-numbers>div{background:#ffffffd9;border:1px solid #d7e2ed;border-radius:14px;padding:17px 20px;min-width:0}
.v25-result-numbers small{display:block;font-size:12px;color:#4e637c;font-weight:650;margin-bottom:7px}
.v25-overall>strong{display:block;font-size:38px;line-height:1.15;color:var(--result-dark);letter-spacing:-1px}
.v25-overall>strong>span{font-size:15px;color:#5e7288;margin-left:5px;letter-spacing:0}
.v25-result-band>strong{display:block;font-size:21px;line-height:1.4;color:var(--result-dark)}
.v25-outcome-badge{display:inline-block;font-size:11px;font-weight:800;padding:4px 9px;border-radius:99px;margin-top:8px;background:var(--result-soft);color:var(--result-dark)}
.v25-result-note{font-size:11px;line-height:1.6;color:#63758b;margin:17px 0 0}
.v25-skill-scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:17px}
.v25-skill-card{--skill-color:#2263ac;--skill-bg:#edf5ff;min-width:0;position:relative;padding:19px 17px;border:1px solid #d6e5f5;border-top:4px solid var(--skill-color);border-radius:13px;background:var(--skill-bg)}
.v25-skill-card[data-skill=reading]{--skill-color:#7a49a8;--skill-bg:#f5f0fc;border-color:#e4d6f3;border-top-color:var(--skill-color)}
.v25-skill-card[data-skill=writing]{--skill-color:#117b71;--skill-bg:#ecf8f4;border-color:#cae9df;border-top-color:var(--skill-color)}
.v25-skill-card[data-skill=speaking]{--skill-color:#b95823;--skill-bg:#fff4e9;border-color:#f0dcc7;border-top-color:var(--skill-color)}
.v25-skill-heading{display:flex;align-items:center;gap:9px;color:var(--skill-color);font-size:13px}
.v25-skill-heading svg{width:23px;height:23px}
.v25-skill-score{font-size:28px;font-weight:850;line-height:1.3;color:#193758;margin-top:16px}
.v25-skill-score small{font-size:13px;font-weight:650;color:#58718a;margin-left:4px}
.v25-skill-detail{font-size:11px;color:#4d647c;margin:8px 0 0;line-height:1.6}
.v25-skill-comment{font-size:13px;color:#324b65;line-height:1.6;margin:11px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.v25-history-summary{font-size:12px;line-height:1.7;color:#4d647c}
@media(max-width:900px){.v25-result-hero{grid-template-columns:185px minmax(0,1fr)}.v25-result-target{padding:26px 19px}.v25-result-target>strong{font-size:26px}.v25-result-outcome{padding:26px 22px}.v25-outcome-top{gap:12px}.v25-result-face{width:53px;height:53px;border-radius:16px}.v25-result-face svg{width:36px;height:36px}.v25-result-numbers{grid-template-columns:minmax(100px,.6fr) minmax(0,1.4fr)}.v25-result-numbers>div{padding:15px}.v25-result-band>strong{font-size:18px}.v25-skill-scores{gap:10px}.v25-skill-card{padding:15px 12px}.v25-skill-heading{gap:6px}}
@media(max-width:620px){.v25-result-hero{display:block;border-radius:17px}.v25-result-target{display:grid;grid-template-columns:1fr auto;gap:4px 15px;padding:18px 20px;align-items:center}.v25-target-caption{grid-column:1}.v25-result-target>strong{grid-column:1;grid-row:2;font-size:25px;margin:3px 0}.v25-target-rank{grid-column:1;grid-row:3;margin:0}.v25-target-required{grid-column:2;grid-row:1 / span 3;width:auto;margin:0;padding:1px 0 1px 18px;border-top:0;border-left:1px solid #ffffff40}.v25-target-required b{font-size:29px}.v25-result-target>p{grid-column:1 / -1}.v25-result-outcome{padding:22px 19px}.v25-outcome-top{align-items:flex-start;gap:11px}.v25-result-face{width:45px;height:45px;border-radius:13px}.v25-result-face svg{width:32px;height:32px}.v25-result-kicker{font-size:9px;letter-spacing:.7px}.v25-outcome-top h2{font-size:21px}.v25-result-message{font-size:13px;margin:16px 0 18px}.v25-result-numbers{gap:10px;grid-template-columns:minmax(90px,.65fr) minmax(0,1.35fr)}.v25-result-numbers>div{padding:13px 11px}.v25-overall>strong{font-size:32px}.v25-result-band>strong{font-size:16px}.v25-result-numbers small{font-size:11px}.v25-outcome-badge{font-size:10px;padding:4px 7px}.v25-skill-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.v25-skill-card{padding:15px}.v25-skill-score{font-size:26px}.v25-result-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.v25-result-hero *{animation:none!important;transition:none!important}}
