.gem-progress[data-v-36a8a0a3]{align-items:center;display:flex;justify-content:center}.gem-sm[data-v-36a8a0a3]{height:52px;width:48px}.gem-md[data-v-36a8a0a3]{height:88px;width:80px}.gem-lg[data-v-36a8a0a3]{height:154px;width:140px}.gem-svg[data-v-36a8a0a3]{filter:drop-shadow(0 0 20px rgba(16,185,129,.1));height:100%;width:100%}.gem-facet[data-v-36a8a0a3]{stroke:#94a3b81a;stroke-width:.5;transition:fill .6s ease,opacity .6s ease,filter .6s ease}.gem-facet-active[data-v-36a8a0a3]{opacity:1}.gem-facet-current[data-v-36a8a0a3]{animation:facetPulse-36a8a0a3 2.5s ease-in-out infinite;opacity:1}.gem-facet-inactive[data-v-36a8a0a3]{opacity:.5}.gem-shimmer[data-v-36a8a0a3]{animation:shimmerSlide-36a8a0a3 3s ease-in-out infinite}@keyframes facetPulse-36a8a0a3{0%,to{opacity:.5}50%{opacity:.9}}@keyframes shimmerSlide-36a8a0a3{0%{transform:translate(-100%)}to{transform:translate(100%)}}.celebration-overlay[data-v-3bb5d9a2]{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0f14eb;contain:layout;cursor:pointer;display:flex;inset:0;justify-content:center;position:fixed;z-index:50}.celebration-content[data-v-3bb5d9a2]{align-items:center;display:flex;flex-direction:column;gap:1rem;max-width:340px;padding:2rem;text-align:center}.celebration-gem[data-v-3bb5d9a2]{animation:gemBounceIn-3bb5d9a2 .6s cubic-bezier(.34,1.56,.64,1) both}.celebration-progress-ring[data-v-3bb5d9a2]{align-items:center;display:flex;justify-content:center;position:relative}.progress-ring-circle[data-v-3bb5d9a2]{transition:stroke-dashoffset 1.8s cubic-bezier(.4,0,.2,1)}.progress-ring-text[data-v-3bb5d9a2]{color:#34d399;font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:700;position:absolute}.score-card[data-v-3bb5d9a2]{align-items:center;animation:scoreCardIn-3bb5d9a2 .7s cubic-bezier(.34,1.56,.64,1) .3s both;background:#34d3990f;border:1px solid rgba(52,211,153,.18);border-radius:1rem;display:flex;flex-direction:column;gap:.375rem;min-width:180px;padding:.875rem 1.5rem}.score-label[data-v-3bb5d9a2]{color:#94a3b8b3;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.score-value-row[data-v-3bb5d9a2]{align-items:baseline;display:flex;gap:.125rem}.score-value[data-v-3bb5d9a2]{color:#34d399;font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:800}.score-divider[data-v-3bb5d9a2]{color:#94a3b866;font-size:1rem;margin:0 .125rem}.score-max[data-v-3bb5d9a2]{color:#94a3b880;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:600}.score-bar-track[data-v-3bb5d9a2]{background:#94a3b81a;border-radius:2px;height:4px;margin-top:.125rem;overflow:hidden;width:100%}.score-bar-fill[data-v-3bb5d9a2]{background:linear-gradient(90deg,#34d399,#10b981);border-radius:2px;box-shadow:0 0 8px #34d39966;height:100%;transition:width 1.2s cubic-bezier(.4,0,.2,1) .5s}.score-percent[data-v-3bb5d9a2]{color:#34d39999;font-size:.6875rem;font-weight:500}@keyframes scoreCardIn-3bb5d9a2{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.celebration-title[data-v-3bb5d9a2]{animation:fadeSlideUp-3bb5d9a2 .6s ease-out .35s both;color:#fff;font-size:1.25rem;font-weight:700;line-height:1.3}.celebration-subtitle[data-v-3bb5d9a2]{animation:fadeSlideUp-3bb5d9a2 .6s ease-out .6s both;color:#94a3b8;font-size:.875rem;line-height:1.5}.celebration-hint[data-v-3bb5d9a2]{animation:fadeSlideUp-3bb5d9a2 .6s ease-out 2.5s both;color:#94a3b880;font-size:.75rem;margin-top:.5rem}.particles-container[data-v-3bb5d9a2]{left:50%;pointer-events:none;position:absolute;top:50%}.particle[data-v-3bb5d9a2]{animation:particleBurst-3bb5d9a2 2s ease-out forwards;animation-delay:var(--delay,0s);background:#34d399;border-radius:9999px;height:var(--size,4px);opacity:0;position:absolute;width:var(--size,4px)}@keyframes gemBounceIn-3bb5d9a2{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes fadeSlideUp-3bb5d9a2{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes particleBurst-3bb5d9a2{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(var(--distance)*-1))}}
