.section-completion{text-align:center;max-width:660px;margin:0 auto;color:inherit}
.completion-medal{position:relative;width:100px;height:100px;margin:0 auto 24px;border-radius:50%;background:var(--color-accent,#d5f8ee);color:var(--color-success,#07866d);animation:completion-pop .65s cubic-bezier(.22,1.5,.5,1) both}
.completion-medal svg{width:100%;height:100%;overflow:visible}.completion-ring{stroke:currentColor;stroke-width:3;stroke-dasharray:271;stroke-dashoffset:271;animation:completion-draw .8s .15s ease forwards}.completion-check{stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70;stroke-dashoffset:70;animation:completion-draw .45s .75s ease forwards}
.completion-spark{position:absolute;left:46px;top:46px;width:8px;height:8px;border-radius:3px;background:#1a63bf;transform:rotate(calc(var(--i)*60deg)) translateY(-43px);opacity:0;animation:completion-spark 1.4s .25s ease-out both}.completion-spark:nth-child(even){background:#10a48b;border-radius:50%}
.completion-kicker{font-size:14px;font-weight:700;color:var(--color-success,#07866d);margin:0 0 8px}.section-completion h2{font-size:clamp(24px,3.5vw,34px);line-height:1.7;margin:0 0 10px;outline:none}.completion-message{font-size:16px;color:var(--color-muted,#61716f);line-height:1.9;margin:0 auto 18px;max-width:500px}
.completion-progress{display:grid;justify-items:center;gap:10px;font-size:13px;color:var(--color-muted,#61716f);margin:20px 0}.completion-progress ol{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:0;margin:0}.completion-progress li{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--color-border,#ccdcd7);border-radius:50%;background:var(--color-surface,#fff);color:#fff}.completion-progress li.done{background:#07866d;border-color:#07866d}.completion-progress li.current{outline:3px solid #ceeee3;outline-offset:2px}
.completion-next{display:grid;gap:5px;padding:18px 22px;border:1px solid var(--color-border,#d7e6e0);background:var(--color-accent,#edf8f5);border-radius:18px;max-width:440px;margin:20px auto}.completion-next>span{font-size:13px;color:var(--color-muted,#61716f)}.completion-next>strong{font-size:20px;line-height:1.7}.completion-next button{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--color-primary,#185fbe);color:#fff;border:0;border-radius:30px;min-height:50px;padding:12px 18px;margin-top:9px;font:inherit;font-size:16px;font-weight:700;cursor:pointer}.completion-next button:disabled{opacity:.65;cursor:wait}.completion-next button:focus-visible{outline:3px solid #185fbe;outline-offset:4px}.completion-next button:hover:not(:disabled){filter:brightness(.94)}
.completion-secondary{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px}.completion-secondary button{font:inherit;padding:10px 18px;border:1px solid #ccdcd7;background:transparent;color:inherit;border-radius:25px;cursor:pointer;min-height:44px}
@keyframes completion-pop{from{transform:scale(.65);opacity:0}to{transform:scale(1);opacity:1}}@keyframes completion-draw{to{stroke-dashoffset:0}}@keyframes completion-spark{0%{opacity:0;transform:rotate(calc(var(--i)*60deg)) translateY(-38px) scale(.5)}25%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--i)*60deg)) translateY(-76px) scale(.7)}}
@media(max-width:600px){.completion-medal{width:84px;height:84px;margin-bottom:20px}.completion-spark{left:38px;top:38px}.completion-next{padding:15px}.completion-next button{width:100%}.section-completion h2{font-size:24px}.completion-message{font-size:14px}}
@media(prefers-reduced-motion:reduce){.completion-medal,.completion-ring,.completion-check,.completion-spark{animation:none!important}.completion-ring,.completion-check{stroke-dashoffset:0}.completion-spark{display:none}}

@media(prefers-color-scheme:dark){.guided-card .completion-medal{background:#193f36;color:#7eebc8}.guided-card .completion-message,.guided-card .completion-progress,.guided-card .completion-next>span{color:#afc2bd}.guided-card .completion-kicker{color:#7eebc8}.guided-card .completion-next{background:#15332f;border-color:#45675d}.guided-card .completion-progress li:not(.done){background:#182324;border-color:#63847a}}
