.app-header.drill-question-header{gap:18px}.drill-header-progress{background:#e6f2fb;border-radius:99px;flex:1;min-width:0;height:12px;overflow:hidden}.drill-header-progress>span{border-radius:inherit;background:#39aef2;height:100%;transition:width .25s;display:block;box-shadow:inset 0 -2px #168fd5}@media (prefers-reduced-motion:reduce){.drill-header-progress>span{transition:none}}@media (max-width:360px){.app-header.drill-question-header{gap:12px}}
.review-session .lesson-question{margin-bottom:28px}.review-session .test-quiz-options button{background:#f5f7fa;padding:18px 12px;font-size:21px}.review-session .test-quiz-options button.selected{background:#e8f4ff;box-shadow:inset 0 0 0 2px #30a9e6}.review-session .test-quiz-options button.selected.incorrect{background:#fff0ed;box-shadow:inset 0 0 0 2px #d87566}.review-scaffold{gap:22px;display:grid}.review-scaffold-step{border:1px solid #e4e8ed;border-radius:18px;min-width:0;padding:18px 14px}.review-scaffold-step h2{align-items:baseline;gap:10px;margin:0 0 16px;font-size:16px;line-height:1.6;display:flex}.review-scaffold-step h2>span:first-child{color:#3298cd;font-size:13px}.review-scaffold-step:not(.is-active) .lesson-field-keyboards{display:none}.review-blank-results{flex-wrap:wrap;gap:12px;margin-top:12px;font-size:13px;display:flex}.review-blank-results .is-correct,.score-gain{color:#219363}.review-blank-results .is-incorrect,.score-loss{color:#d55b57}.review-scoreboard .bank-screen{padding-bottom:140px}.review-overall{border-bottom:1px solid #e5e9ee;justify-content:space-between;align-items:center;margin:16px 0 4px;padding:24px 0;font-weight:750;display:flex}.review-overall strong{font-variant-numeric:tabular-nums;font-size:38px}.review-score-rows{display:grid}.review-score-row{border-bottom:1px solid #edf0f3;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;animation:.45s both score-row-appear;display:flex}.review-score-row h2{margin:0 0 12px;font-size:18px}.review-score-row>div{flex:1;min-width:0}.review-score-row>strong{font-variant-numeric:tabular-nums;font-size:28px}.review-concept-score{color:#798695;white-space:nowrap;margin-left:12px;font-size:13px}.review-score-footer{padding:18px 24px}.lesson-lock-notice{color:#7b8592;padding:0 20px 16px 62px;font-size:12px;line-height:1.6}.lesson-concept-card.is-locked{background:#f8f9fb}.lesson-concept-card.is-locked .test-option-number,.lesson-concept-card.is-locked .test-option-copy,.lesson-concept-card.is-locked .lesson-open-arrow{color:#9aa3ae}.lesson-concept-card .lesson-concept-link{align-items:center;gap:14px;width:100%;padding:20px;display:flex}.lesson-unlock{max-width:470px;margin:40px auto}.lesson-unlock h1{margin:12px 0 22px}.lesson-unlock p{margin:20px 0;line-height:1.8}@keyframes score-row-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.review-score-row{animation:none}}.review-formula .review-scaffold-step{border:0;padding:0}.review-formula .lesson-fill-equation{padding:24px 12px}.review-hints{background:#f4f9fe;border:1px solid #dcebf5;border-radius:18px;margin:0 0 24px;padding:20px}.review-hints h2{color:#328bbd;margin:0 0 12px;font-size:16px}.review-hints ol{margin:0;padding-left:22px;font-size:15px;line-height:1.9}.review-hints li+li{margin-top:8px}.lesson-fill-power{align-items:center;display:inline-flex}.lesson-fill-power>sup{align-self:flex-start;margin-left:2px;font-size:.7em;display:inline-flex;transform:translateY(-.35em)}.lesson-fill-power>sup .lesson-fill-input.fill-blank{width:26px;height:28px;padding:1px;font-size:15px}.review-session .lesson-fill-term{flex-wrap:wrap;flex:0 auto;justify-content:center;min-width:0;max-width:100%}.review-session .lesson-fill-parentheses{min-width:0;max-width:100%}.review-session .lesson-fill-power{flex-wrap:nowrap;flex:none}.review-session .bank-answer-formula{max-width:100%;overflow-x:auto}.bank-review-context{margin-bottom:24px;font-size:15px;line-height:1.8}.bank-review-context .katex-display,.bank-review-working .lesson-math{max-width:100%;overflow-x:auto}.bank-review-working{padding:8px 4px;line-height:1.8}.bank-review-working li{margin-bottom:24px}.bank-review-working li p{margin-bottom:10px}.bank-review-answer{align-items:center;gap:16px;margin-top:24px;display:flex}.review-session .qa-transcribed-text{white-space:pre-wrap;overflow-wrap:anywhere}
.drill-complete{--celebration-accent:#219edc}.drill-complete.drill-perfect{--celebration-accent:#c08c00}.drill-celebration{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:30px;padding:48px 24px 130px;display:flex;overflow:hidden}.drill-celebration-art{flex:none;width:280px;height:280px;position:relative}.drill-celebration-pea{object-fit:contain;transform-origin:bottom;width:250px;height:250px;animation:1.8s ease-in-out 3 drill-pea-cheer;position:absolute;top:12px;left:15px}.drill-finished .drill-celebration-pea{animation-name:drill-pea-dance}.drill-celebration-shadow{background:#e8f0f5;border-radius:50%;width:82px;height:9px;animation:1.8s ease-in-out 3 drill-shadow-cheer;position:absolute;bottom:1px;left:99px}.drill-celebration-stars{z-index:1;color:#ffd02c;align-items:center;gap:18px;font-size:26px;animation:.7s both drill-result-pop;display:flex;position:absolute;top:-14px;left:70px}.drill-celebration-stars span:nth-child(2){margin-top:-21px;font-size:38px}.drill-celebration-sparkles{position:absolute;inset:0}.drill-celebration-sparkles i{--spark-angle:calc(var(--spark-index) * 30deg);opacity:0;width:7px;height:12px;transform:rotate(var(--spark-angle)) translateY(-65px);animation:drill-confetti-burst 1.9s ease-out calc(var(--spark-index) * 35ms) 2;background:#ffc837;border-radius:2px;position:absolute;top:48%;left:50%}.drill-celebration-sparkles i:nth-child(3n){background:#3bb9f4}.drill-celebration-sparkles i:nth-child(3n+1){background:#f393ba}.drill-celebration h1{color:var(--celebration-accent);letter-spacing:-.8px;margin:0;font-size:clamp(32px,8vw,42px);font-weight:850;line-height:1.2;animation:.6s .15s both drill-result-pop}.drill-celebration-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;max-width:350px;margin:4px 0 0;display:grid}.drill-celebration-stat{color:#1d8fc7;background:#fff;border:2px solid #c4e8fc;border-radius:19px;animation:.55s .5s both drill-result-pop;position:relative;overflow:hidden}.drill-celebration-stat dt{background:#eaf7ff;justify-content:center;align-items:center;gap:7px;padding:12px 7px;font-size:13px;font-weight:800;display:flex}.drill-celebration-stat svg{fill:none;stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.drill-celebration-stat dd{font-variant-numeric:tabular-nums;margin:0;padding:17px 8px 19px;font-size:30px;font-weight:850;line-height:1}.drill-stat-number{transform-origin:50%;animation:.4s 1.75s both drill-score-settle;display:inline-block}.drill-stat-number>span{font-size:19px}.drill-stat-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.drill-stat-track{background:#e7f5fd;border-radius:10px;height:4px;margin:0 16px 12px;overflow:hidden}.drill-stat-track>span{border-radius:inherit;transform-origin:0;background:#38aeeb;width:100%;height:100%;display:block}.drill-celebration-stat:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 15%,#ffffffb3 45%,#0000 75%);animation:.65s 1.75s both drill-stat-shine;position:absolute;inset:0;transform:translate(-130%)}.drill-accuracy{color:#a77b08;border-color:#ffe09a;animation-delay:.72s}.drill-accuracy dt{background:#fff7db}.drill-accuracy .drill-stat-track{background:#fff4d1}.drill-accuracy .drill-stat-track>span{background:#efc338}.drill-accuracy .drill-stat-number,.drill-accuracy:after{animation-delay:2.2s}footer.drill-celebration-footer{width:min(520px,100%);padding:18px 24px calc(24px + env(safe-area-inset-bottom));background:#fff;border:0;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.drill-celebration-continue{color:#fff;background:#23afe9;border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:57px;font-size:17px;font-weight:800;text-decoration:none;animation:.6s 1.1s both drill-result-pop;display:flex;box-shadow:0 4px #1689b8}.drill-celebration-continue:focus-visible{outline-offset:5px;outline:3px solid #f4b835}.drill-celebration-continue:active{box-shadow:none;transform:translateY(3px)}@keyframes drill-pea-cheer{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-15px)rotate(-7deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-9px)rotate(7deg)}}@keyframes drill-pea-dance{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)translateY(-5px)}75%{transform:rotate(6deg)translateY(-5px)}}@keyframes drill-shadow-cheer{0%,50%,to{opacity:1;transform:scaleX(1)}25%,75%{opacity:.5;transform:scaleX(.75)}}@keyframes drill-confetti-burst{0%{opacity:0;transform:rotate(var(--spark-angle)) translateY(-65px) rotate(0)}20%{opacity:1}85%{opacity:.8}to{opacity:0;transform:rotate(var(--spark-angle)) translateY(-150px) rotate(150deg)}}@keyframes drill-result-pop{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes drill-score-settle{0%,to{transform:scale(1)}45%{transform:scale(1.16)}}@keyframes drill-stat-shine{0%{transform:translate(-130%)}to{transform:translate(130%)}}@media (max-height:700px){.drill-celebration{gap:22px;padding-top:30px}.drill-celebration-art{width:240px;height:240px}.drill-celebration-pea{width:210px;height:210px}.drill-celebration-shadow{left:79px}.drill-celebration-stars{left:50px}}@media (prefers-reduced-motion:reduce){.drill-complete *,.drill-complete :before,.drill-complete :after{transition:none!important;animation:none!important}}
