.goal-achieved-banner{position:relative;flex-shrink:0;overflow:hidden;box-sizing:border-box;width:calc(100% - 2 * clamp(.75rem, 4vw, 2rem));max-inline-size:48rem;margin:var(--s4) auto var(--s2);padding:var(--s5);border:1px solid color-mix(in srgb,var(--success,var(--primary)) 35%,var(--outline-variant));border-radius:var(--r-lg);background:var(--success-container,var(--primary-container));color:var(--on-success-container,var(--on-primary-container));box-shadow:var(--el-1)}.goal-achieved-banner__confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}.goal-achieved-banner__confetti-piece{position:absolute;top:-20%;width:7px;height:12px;border-radius:2px;opacity:0;animation:goal-achieved-confetti-fall 1s ease-out forwards}.goal-achieved-banner__confetti-piece:nth-child(odd){background:var(--primary)}.goal-achieved-banner__confetti-piece:nth-child(2n){background:var(--secondary)}.goal-achieved-banner__confetti-piece:first-child{left:6%;animation-delay:0s}.goal-achieved-banner__confetti-piece:nth-child(2){left:16%;animation-delay:.04s}.goal-achieved-banner__confetti-piece:nth-child(3){left:26%;animation-delay:.1s}.goal-achieved-banner__confetti-piece:nth-child(4){left:36%;animation-delay:.02s}.goal-achieved-banner__confetti-piece:nth-child(5){left:46%;animation-delay:.11s}.goal-achieved-banner__confetti-piece:nth-child(6){left:56%;animation-delay:.06s}.goal-achieved-banner__confetti-piece:nth-child(7){left:66%;animation-delay:.14s}.goal-achieved-banner__confetti-piece:nth-child(8){left:76%;animation-delay:.03s}.goal-achieved-banner__confetti-piece:nth-child(9){left:86%;animation-delay:.09s}.goal-achieved-banner__confetti-piece:nth-child(10){left:11%;animation-delay:.12s}.goal-achieved-banner__confetti-piece:nth-child(11){left:51%;animation-delay:.07s}.goal-achieved-banner__confetti-piece:nth-child(12){left:91%;animation-delay:.05s}.goal-achieved-banner__confetti-piece:nth-child(13){left:31%;animation-delay:.08s}.goal-achieved-banner__confetti-piece:nth-child(14){left:71%;animation-delay:.13s}@keyframes goal-achieved-confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:0}12%{opacity:1}to{transform:translateY(140%) rotate(240deg);opacity:0}}.goal-achieved-banner__close{position:absolute;top:var(--s3);right:var(--s3);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--r-pill);background:transparent;color:inherit;cursor:pointer;transition:background .15s ease}.goal-achieved-banner__close:hover{background:color-mix(in srgb,currentColor 10%,transparent)}.goal-achieved-banner__close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.goal-achieved-banner__body{position:relative;z-index:1;display:grid;grid-gap:var(--s2);gap:var(--s2);padding-right:2.5rem}.goal-achieved-banner__headline{margin:0;font-family:var(--type-title-medium-font-family);font-size:var(--type-title-medium-font-size);font-weight:var(--type-title-medium-font-weight);letter-spacing:var(--type-title-medium-letter-spacing);line-height:var(--type-title-medium-line-height)}.goal-achieved-banner__reason{margin:0;opacity:.85;font-family:var(--type-body-medium-font-family);font-size:var(--type-body-medium-font-size);letter-spacing:var(--type-body-medium-letter-spacing);line-height:var(--type-body-medium-line-height)}.goal-achieved-banner__actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s2)}.goal-achieved-banner__action{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:0 var(--s4);border-radius:var(--r-pill);cursor:pointer;font-family:var(--type-label-large-font-family);font-size:var(--type-label-large-font-size);font-weight:var(--type-label-large-font-weight);letter-spacing:var(--type-label-large-letter-spacing);line-height:var(--type-label-large-line-height);transition:background .15s ease,color .15s ease}.goal-achieved-banner__action--primary{border:1px solid var(--primary);background:var(--primary);color:var(--on-primary)}.goal-achieved-banner__action--primary:hover{background:color-mix(in srgb,var(--on-primary) 8%,var(--primary))}.goal-achieved-banner__action--secondary{border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:transparent;color:inherit}.goal-achieved-banner__action--secondary:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.goal-achieved-banner__action:focus-visible{outline:2px solid var(--primary);outline-offset:2px}