/* Motion is confined to the illustration; feedback never moves or waits. */
.result-draw-background {position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgb(33 49 32 / 32%);backdrop-filter:blur(4px);pointer-events:none;}
.result-draw-background > .dialog {position:relative;margin:auto;}
.result-draw-background .dialog,.result-draw-background .dialog * {animation:none !important;}
.dialog.voice-result-dialog {width:min(720px,calc(100vw - 32px));height:fit-content;min-height:0;max-height:calc(100dvh - 40px);overflow:hidden;border-radius:24px;}
.dialog.voice-result-dialog[open] {display:flex;flex-direction:column;}
.voice-result-dialog .dialog-header {position:absolute;inset:12px 12px auto auto;padding:0;z-index:2;}
.voice-result-dialog .dialog-header .btn {margin:0;}
.voice-result-dialog .dialog-body {padding:60px 0 0;display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.repair-result {display:flex;flex-direction:column;min-height:0;}
.repair-result-scroll {overflow-y:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;padding:0 40px;}
.repair-result-hero {text-align:center;}
.repair-scene {width:100%;height:154px;position:relative;overflow:hidden;pointer-events:none;isolation:isolate;}
.repair-mascot {display:block;width:338px;max-width:100%;height:154px;margin:auto;overflow:visible;}
.repair-result-hero h3 {font-size:24px;line-height:1.45;color:var(--ink);margin:8px 0 9px;font-weight:650;letter-spacing:0;}
.repair-result-hero>p {font-size:14px;line-height:1.75;color:var(--muted);margin:0;}
.repair-feedback {padding:26px 0 22px;}
.repair-feedback-group>h4,.repair-tradeoff>h4 {font-size:13px;line-height:1.5;color:var(--muted);font-weight:500;letter-spacing:.04em;margin:0 0 12px;}
.repair-feedback-group+.repair-feedback-group {border-top:1px solid var(--line);margin-top:20px;padding-top:20px;}
.repair-feedback-list {display:grid;gap:16px;}
.repair-feedback-item {display:flex;align-items:flex-start;gap:12px;}
.repair-feedback-icon {width:22px;height:22px;flex:none;display:grid;place-items:center;background:#E8EFDD;color:#446648;border-radius:50%;margin-top:2px;}
.repair-feedback-icon .icon {width:13px;height:13px;}
.needs-work .repair-feedback-icon {background:#F1EAD7;color:#857443;}
.repair-feedback-item h5 {margin:0 0 5px;font-size:16px;line-height:1.6;font-weight:650;color:var(--ink);}
.repair-feedback-item p,.repair-tradeoff p {margin:0;font-size:16px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere;}
.repair-tradeoff {margin:20px 0 0;padding:14px 16px;background:#F2F4EC;border-radius:10px;}
.repair-tradeoff>h4 {margin-bottom:4px;}
.repair-result-actions {flex:none;padding:16px 40px 28px;border-top:1px solid var(--line);background:var(--surface);display:flex;justify-content:center;}
.repair-result-actions .voice-primary {width:100%;min-height:46px;gap:10px;box-shadow:none;}
.repair-result-actions .icon {width:18px;height:18px;}
.repair-dog {transform-origin:180px 146px;}
.is-celebrating .repair-dog {animation:repair-dog-hop 900ms cubic-bezier(.22,.7,.3,1) both;}
.repair-crown {transform-origin:180px 34px;animation:repair-crown-land 950ms ease both;}
.repair-sparkles {animation:repair-sparkle 1500ms ease both;transform-origin:180px 80px;}
.repair-confetti {position:absolute;top:105px;left:calc(50% - 205px);width:1px;height:1px;}
.repair-confetti.right {left:auto;right:calc(50% - 205px);transform:scaleX(-1);}
.repair-confetti i {position:absolute;width:6px;height:10px;border-radius:1px;background:#AEC989;opacity:0;animation:repair-confetti-flight 1900ms cubic-bezier(.2,.5,.4,1) var(--delay) both;}
.repair-confetti i:nth-child(3n) {background:#E4D693;width:5px;height:7px;}
.repair-confetti i:nth-child(3n + 1) {background:#486A51;height:6px;border-radius:50%;}
.repair-confetti i:nth-child(4n) {background:#D7E4C3;}
.is-retrying .repair-dog {animation:repair-dog-recover 1500ms ease both;}
.repair-weather {animation:repair-cloud-clear 1500ms ease both;}
.repair-raindrop {animation:repair-rain 650ms ease-in var(--delay) 2 both;}
.repair-umbrella {transform-origin:247px 126px;animation:repair-umbrella-open 1500ms cubic-bezier(.22,.7,.3,1) both;}
@keyframes repair-dog-hop {0%{transform:translateY(7px) scale(.94)}35%{transform:translateY(-9px) scale(1.02)}65%{transform:translateY(0) scale(.99)}100%{transform:none}}
@keyframes repair-crown-land {0%,15%{opacity:0;transform:translateY(-13px) rotate(-9deg)}50%{opacity:1;transform:translateY(2px) rotate(4deg)}100%{opacity:1;transform:none}}
@keyframes repair-sparkle {0%{opacity:0;transform:scale(.8)}35%{opacity:1;transform:scale(1.05)}100%{opacity:.75;transform:none}}
@keyframes repair-confetti-flight {0%{opacity:0;transform:translate(0,10px) rotate(0)}12%{opacity:1}45%{opacity:1;transform:translate(var(--dx),calc(-1 * var(--rise))) rotate(var(--turn))}100%{opacity:0;transform:translate(calc(var(--dx) * 1.2),var(--fall)) rotate(calc(var(--turn) * 2))}}
@keyframes repair-dog-recover {0%,35%{transform:translateY(4px) rotate(-4deg)}75%{transform:translateY(-2px) rotate(1deg)}100%{transform:none}}
@keyframes repair-cloud-clear {0%,40%{opacity:1}100%{opacity:0;transform:translateX(-12px)}}
@keyframes repair-rain {0%{opacity:0;transform:translateY(0)}25%{opacity:.8}100%{opacity:0;transform:translateY(24px)}}
@keyframes repair-umbrella-open {0%,32%{opacity:0;transform:translateY(18px) rotate(14deg) scale(.7)}68%{opacity:1;transform:rotate(-4deg)}100%{opacity:1;transform:none}}
@media(max-width:600px) {
 .dialog.voice-result-dialog {width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:20px;}
 .repair-result-scroll {padding:0 22px;}
 .repair-scene,.repair-mascot {height:130px;}
 .repair-result-hero h3 {font-size:21px;margin-top:10px;}
 .repair-result-hero>p {font-size:13px;}
 .repair-feedback {padding-top:22px;}
 .repair-result-actions {padding:14px 22px 20px;}
 .repair-confetti {left:0;top:91px;}
 .repair-confetti.right {right:0;left:auto;}
}
@media(prefers-reduced-motion:reduce) {
 .repair-scene * {animation:none!important;}
 .repair-confetti,.repair-weather {display:none;}
 .repair-umbrella {opacity:1;}
}
