.cb-wrap{position:fixed;top:70px;left:50%;transform:translateX(-50%);z-index:60;cursor:pointer}.cb-card{position:relative;display:flex;align-items:center;gap:11px;padding:9px 18px 9px 14px;background:var(--bg-elevated,var(--bg-surface,#fff));border:1px solid var(--line-2,rgba(0,0,0,.1));border-radius:var(--r-pill,999px);box-shadow:0 14px 34px -14px rgba(0,0,0,.28),0 0 0 4px color-mix(in srgb,var(--brand,#6e5bfa) 9%,transparent);animation:cb-pop .42s cubic-bezier(.2,.9,.3,1.25) both}.cb-star{color:var(--brand,#6e5bfa);animation:cb-twinkle 1.5s ease-in-out infinite;flex:none}.cb-stars{display:inline-flex;align-items:center;gap:4px;flex:none}.cb-stars .cb-star:nth-child(2){color:var(--accent-warm-deep,#C26B2E);animation-delay:.3s}.cb-stars .cb-star:nth-child(3){animation-delay:.6s}.cb-card[data-tone=finish]{border-color:color-mix(in srgb,var(--accent-warm,#E8965A) 45%,var(--line-2,rgba(0,0,0,.1)));box-shadow:0 14px 34px -14px rgba(0,0,0,.28),0 0 0 4px color-mix(in srgb,var(--accent-warm,#E8965A) 14%,transparent)}.cb-text{display:flex;flex-direction:column;gap:1px;line-height:1.25}.cb-title{font-size:var(--text-ui,13px);font-weight:700;color:var(--ink-800,#1c1c28);letter-spacing:.02em}.cb-sub{font-size:var(--text-cap,12px);color:var(--ink-500,#6b6b7b)}.cb-score{color:var(--ok-600,#2f9e6b);font-weight:600}.cb-spark{position:absolute;font-size:11px;pointer-events:none;animation:cb-float 2.4s ease-in-out infinite}.cb-spark-1{top:-9px;left:20px;color:var(--brand,#6e5bfa);animation-delay:0s}.cb-spark-2{top:-5px;right:26px;color:var(--ok-500,#34b37e);animation-delay:.55s}.cb-spark-3{bottom:-9px;right:46px;color:var(--brand,#6e5bfa);animation-delay:1.05s}@keyframes cb-pop{0%{opacity:0;transform:scale(.9) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cb-twinkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.82}}@keyframes cb-float{0%,to{transform:translateY(0);opacity:.45}50%{transform:translateY(-5px);opacity:1}}@media (prefers-reduced-motion:reduce){.cb-card{animation:cb-fade .3s ease both}.cb-spark,.cb-star{animation:none}}@keyframes cb-fade{0%{opacity:0}to{opacity:1}}