.test-score-bar{position:sticky;top:8px;z-index:12;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:12px 0 16px;padding:10px 14px;border:1px solid #bfd3c6;border-radius:14px;background:linear-gradient(110deg,#eff7ee,#fffdf3);color:#234b3e;font-size:14px;font-weight:700;box-shadow:0 5px 14px #163c2b17}
.test-score-bar[hidden],.test-score-breakdown[hidden]{display:none!important}
.test-score-bar strong{font-family:Georgia,'Yu Mincho',serif;font-size:24px;font-variant-numeric:tabular-nums;margin-left:6px}
.test-score-main{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.test-score-help{display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid #568274;border-radius:50%;background:#fff;color:#245747;font-family:inherit;font-size:13px;font-weight:700;line-height:1;cursor:pointer}
.test-score-help:hover,.test-score-help:focus-visible{background:#dceedd;outline:2px solid #245747;outline-offset:2px}
.test-score-gain{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 5px;color:#8d4f15}
.test-score-gain b{font-size:16px}
.test-score-gain small{font-size:12px;font-weight:700}
.score-gain-show{animation:vfqGain .45s ease-out}
@keyframes vfqGain{from{transform:translateY(7px);opacity:0}to{transform:translateY(0);opacity:1}}
.answer.vfq-correct-glow,.streak-answer.vfq-correct-glow{box-shadow:0 0 0 2px #49a46a,0 7px 20px #277a5033;animation:vfqCorrectPulse .7s ease-out}
.explanation.vfq-correct-card{padding-top:.7rem;padding-bottom:.7rem;border-left-color:#319461;background:linear-gradient(115deg,#e9f9e8 0%,#f5f9e9 55%,#f2f6ed 100%);box-shadow:0 4px 18px #2b8b5b26;animation:vfqSuccessCard .9s ease-out}
.explanation strong.vfq-correct-label{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:9px;white-space:nowrap;margin-bottom:.3rem;color:#196d42;font-size:clamp(1.3rem,4vw,1.6rem);line-height:1.15;font-weight:900;letter-spacing:.02em;animation:vfqCorrectText .65s cubic-bezier(.18,.8,.25,1.25)}
.vfq-correct-check{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#258658;color:#fff;font-family:inherit;font-size:19px;box-shadow:0 0 0 4px #bfe8c7}
@keyframes vfqCorrectPulse{0%{box-shadow:0 0 0 0 #82c99c99;background:#f4fff0}55%{box-shadow:0 0 0 7px #82c99c44;background:#def6d9}100%{box-shadow:0 0 0 2px #49a46a,0 7px 20px #277a5033}}
@keyframes vfqSuccessCard{0%{box-shadow:0 0 0 0 #a7dcad99;background:#dbf3d5}50%{box-shadow:0 0 0 7px #a7dcad55;background:#e1f6d8}100%{box-shadow:0 4px 18px #2b8b5b26}}
@keyframes vfqCorrectText{0%{opacity:.55;transform:scale(.92) translateY(5px)}55%{opacity:1;transform:scale(1.045)}100%{transform:scale(1)}}
.vfq-milestone{position:fixed;z-index:120;top:calc(env(safe-area-inset-top) + 8px);left:50%;transform:translate(-50%,-8px);padding:9px 18px;border-radius:999px;background:#205843;color:#fff;font-weight:800;box-shadow:0 8px 25px #143d2d33;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s}
.vfq-milestone.visible{opacity:1;transform:translate(-50%,0)}
.test-score-breakdown{margin:18px 0;padding:18px;border-radius:16px;background:#f4f7ef;border:1px solid #d8e5da}
.test-score-breakdown h3{margin:0 0 10px;font-size:17px}
.test-score-breakdown dl{margin:0}
.test-score-breakdown dl div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #dce7dd}
.test-score-breakdown dl div.total{border-bottom:0;padding-top:12px;color:#164d39;font-weight:800;font-size:18px}
.test-score-breakdown dt,.test-score-breakdown dd{margin:0}
.test-score-breakdown dd{font-variant-numeric:tabular-nums}
.test-score-help-dialog{max-width:500px;max-height:min(80vh,720px);overflow:auto;line-height:1.65}
.test-score-help-dialog h2{padding-right:20px;font-size:1.5rem}
.test-score-help-dialog p{font-size:.9rem;margin:.8rem 0}
.test-score-rule-card{margin:.9rem 0;padding:.75rem .9rem;border:1px solid #d3e6d6;border-radius:12px;background:#f1f6ed}
.test-score-rule-card h3{margin:0 0 .25rem;color:#1c6847;font-size:1rem}
.test-score-rule-card p{margin:.3rem 0 .1rem}
.test-score-rules{margin:.3rem 0 0;font-size:.86rem}
.test-score-rules div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
.test-score-rules dt,.test-score-rules dd{margin:0}
.test-score-rules dd{font-weight:800;white-space:nowrap}
@media(max-width:390px){.test-score-bar{font-size:12px;padding:9px 10px;gap:7px}.test-score-bar strong{font-size:21px}.test-score-gain small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.score-gain-show,.answer.vfq-correct-glow,.streak-answer.vfq-correct-glow,.vfq-correct-card,.vfq-correct-label{animation:none}.vfq-milestone{transition:none}}
