/* Presentation-local completion effects; product truth remains in the authoritative DOM below. */
.prismatic-effects-layer { position: fixed; z-index: 250; inset: 0; overflow: hidden; pointer-events: none; }
.completion-stage, .quiet-resolution-stage { position: absolute; inset: 0; }
.completion-overlay-card { position: fixed; z-index: 5; max-width: calc(100vw - 1rem); margin: 0; opacity: 0; transform-origin: top left; box-shadow: 0 26px 90px rgba(4,1,20,.68), -18px 18px 50px rgba(89,245,255,.18), 18px 15px 54px rgba(255,94,203,.2), 0 0 70px rgba(169,103,255,.22); will-change: transform, opacity; }
.completion-stage.is-active .completion-overlay-card { animation: prism-card-journey 1.3s cubic-bezier(.2,.72,.2,1) both; }
.completion-overlay-card::after { position: absolute; z-index: 8; inset: -35% -85%; opacity: 0; background: linear-gradient(105deg, transparent 31%, #59f5ff 42%, #6ff7b8 46%, #ffe66d 50%, #ff5ecb 55%, #a967ff 60%, transparent 68%); mix-blend-mode: screen; transform: translateX(-55%) rotate(5deg); content: ""; }
.completion-stage.is-active .completion-overlay-card::after { animation: prism-card-wave 560ms cubic-bezier(.2,.75,.2,1) 80ms both; }
@keyframes prism-card-journey { 0% { opacity: .35; transform: scale(.985); } 10% { opacity: 1; transform: translateY(-2px) scale(1.006); } 48% { opacity: 1; transform: translateY(-2px) scale(1.006); } 68% { opacity: 1; } 100% { opacity: 0; transform: translate3d(var(--settle-x), var(--settle-y), 0) scale(var(--settle-scale)); } }
@keyframes prism-card-wave { 0% { opacity: 0; transform: translateX(-55%) rotate(5deg); } 18% { opacity: .84; } 82% { opacity: .72; } 100% { opacity: 0; transform: translateX(55%) rotate(5deg); } }
.completion-result { display: flex; flex: 1 1 100%; min-width: 0; min-height: 54px; align-items: center; gap: .75rem; padding: .72rem .82rem; color: #fff; background: linear-gradient(115deg, rgba(44,119,100,.42), rgba(68,25,105,.56)) padding-box, var(--prism) border-box; border: 1px solid transparent; border-radius: 14px; }
.completion-result-mark { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; color: #142719; background: linear-gradient(135deg, #c8ffe5, #6ff7b8 48%, #59f5ff); border: 1px solid rgba(255,255,255,.74); border-radius: 50%; box-shadow: 0 0 20px rgba(111,247,184,.36); font-size: 1.05rem; font-weight: 950; }
.completion-result strong, .completion-result span { display: block; }
.completion-result div > span { margin-top: .1rem; color: #dcfff0; font-size: .77rem; }
.completion-bloom, .credit-target-bloom { position: fixed; z-index: 2; width: 1px; height: 1px; opacity: 0; border-radius: 50%; transform: translate(-50%,-50%) scale(.2); }
.completion-bloom { background: radial-gradient(circle, #fff 0 3%, rgba(89,245,255,.7) 10%, rgba(255,94,203,.38) 34%, rgba(169,103,255,.16) 54%, transparent 72%); }
.credit-target-bloom { background: radial-gradient(circle, #fff 0 4%, rgba(255,230,109,.68) 14%, rgba(111,247,184,.34) 38%, transparent 74%); }
.completion-stage.is-active .completion-bloom { animation: prism-source-bloom 760ms ease-out 300ms both; }
.completion-stage.is-active .credit-target-bloom { animation: prism-target-bloom 640ms ease-out 770ms both; }
@keyframes prism-source-bloom { 0% { opacity: 0; width: 1px; height: 1px; } 22% { opacity: .88; } 100% { opacity: 0; width: 280px; height: 280px; transform: translate(-50%,-50%); } }
@keyframes prism-target-bloom { 0% { opacity: 0; width: 1px; height: 1px; } 25% { opacity: .9; } 100% { opacity: 0; width: 150px; height: 150px; transform: translate(-50%,-50%); } }

.credit-return-flight { position: fixed; z-index: 11; display: grid; width: 38px; height: 38px; place-items: center; opacity: 0; color: #1b0830; background: radial-gradient(circle at 31% 23%, #fff 0 7%, transparent 24%), conic-gradient(from 210deg, #59f5ff, #6ff7b8, #ffe66d, #ff9364, #ff5ecb, #a967ff, #59f5ff); border: 1px solid rgba(255,255,255,.86); border-radius: 50%; box-shadow: 0 0 24px rgba(89,245,255,.62), 0 0 28px rgba(255,94,203,.48); font-size: .83rem; font-weight: 950; transform: translate(-50%,-50%) scale(.55) rotate(-18deg); }
.completion-stage.is-active .credit-return-flight { animation: prism-credit-flight 780ms cubic-bezier(.26,.67,.22,1) 245ms both; }
@keyframes prism-credit-flight { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.52) rotate(-18deg); } 13%,72% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(-50% + var(--flight-x)), calc(-50% + var(--flight-y))) scale(.9) rotate(242deg); } }
.credit-trail-dot { position: fixed; z-index: 9; width: 8px; height: 8px; opacity: 0; background: conic-gradient(from 30deg, #59f5ff, #ffe66d, #ff5ecb, #a967ff, #59f5ff); border: 1px solid rgba(255,255,255,.68); border-radius: 50%; box-shadow: 0 0 12px rgba(89,245,255,.52); transform: translate(-50%,-50%); }
.completion-stage.is-active .credit-trail-dot { animation: prism-trail 690ms cubic-bezier(.26,.67,.22,1) calc(270ms + var(--trail-delay)) both; }
@keyframes prism-trail { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.3); } 17% { opacity: .88; } 68% { opacity: .62; } 100% { opacity: 0; transform: translate(calc(-50% + var(--flight-x)), calc(-50% + var(--flight-y))) scale(.72); } }
.prismatic-particle { position: fixed; z-index: 10; width: var(--particle-size); height: var(--particle-size); opacity: 0; background: conic-gradient(from 40deg, #59f5ff, #6ff7b8, #ffe66d, #ff5ecb, #a967ff, #59f5ff); border: 1px solid rgba(255,255,255,.7); border-radius: 50%; box-shadow: 0 0 12px rgba(89,245,255,.4); transform: translate(-50%,-50%) scale(.3); }
.prismatic-particle-star { border-radius: 0; clip-path: polygon(50% 0%, 61% 36%, 100% 50%, 61% 64%, 50% 100%, 39% 64%, 0 50%, 39% 36%); }
.completion-stage.is-active .prismatic-particle { animation: prism-particle 720ms cubic-bezier(.16,.75,.22,1) calc(370ms + var(--particle-delay)) both; }
@keyframes prism-particle { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.25); } 18% { opacity: .95; } 72% { opacity: .72; } 100% { opacity: 0; transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(.8) rotate(170deg); } }

