.task-progress{min-width:0;--progress-ink:#89633d;--progress-soft:#f4eadc;--progress-fill-color:#e8d2ac;--progress-pattern-color:#94734e}.task-progress[data-pattern=leaf]{--progress-ink:#526e5b;--progress-soft:#eaf0ea;--progress-fill-color:#bed0c1;--progress-pattern-color:#526e5f}.task-progress[data-pattern=honeycomb]{--progress-ink:#7c6739;--progress-soft:#f3ebd8;--progress-fill-color:#e3d1a2;--progress-pattern-color:#8b743f}.task-progress.is-met{--progress-ink:var(--success);--progress-soft:var(--success-soft);--progress-fill-color:#b8cdb2;--progress-pattern-color:#4e674e}.dark .task-progress{--progress-ink:#d9ba95;--progress-soft:#3f352b;--progress-fill-color:#655037;--progress-pattern-color:#d3b28a}.dark .task-progress[data-pattern=leaf]{--progress-ink:#b9d0c0;--progress-soft:#2d3f34;--progress-fill-color:#3e5a4b;--progress-pattern-color:#b3cdbb}.dark .task-progress[data-pattern=honeycomb]{--progress-ink:#dfc996;--progress-soft:#3f392a;--progress-fill-color:#625537;--progress-pattern-color:#d7c194}.dark .task-progress.is-met{--progress-ink:var(--success);--progress-soft:var(--success-soft);--progress-fill-color:#465d44;--progress-pattern-color:#b6cea9}.task-progress-layout{min-width:0;min-height:54px}.task-progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:23px;margin-bottom:7px;color:var(--muted);font-size:12px;line-height:20px}.task-progress-caption{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.task-progress-caption>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-progress-counter{display:flex;align-items:baseline;flex-shrink:0;gap:3px;max-width:62%;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500;line-height:20px}.task-progress-number{position:relative;display:inline-flex;align-items:center;flex-shrink:0;height:23px;min-width:1ch;font-size:18px;font-weight:650;overflow:hidden}.task-progress-number>span{display:inline-block}.task-progress-denominator{display:flex;align-items:baseline;min-width:0;color:var(--muted);font-size:12px;font-weight:400;white-space:pre}.task-progress-unit{min-width:0;overflow:hidden;text-overflow:ellipsis}.task-progress-rail{position:relative;min-width:0;isolation:isolate;cursor:default}.task-progress-track{position:relative;height:24px;overflow:hidden;border-radius:12px;background:var(--surface-soft);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--text) 7%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--line) 60%,transparent)}.task-progress-fill{position:absolute;inset:0 auto 0 0;overflow:hidden;border-radius:inherit;background:var(--progress-fill-color);color:var(--progress-pattern-color);box-shadow:inset 0 1px 0 rgb(255 255 255/24%),inset 0 -1px 0 color-mix(in srgb,var(--progress-ink) 20%,transparent);transition:width .6s cubic-bezier(.22,1,.36,1),background-color .38s,color .38s,opacity .18s}.task-progress-texture{position:absolute;top:0;left:-56px;width:calc(100% + 112px);height:100%;opacity:.68;pointer-events:none}.task-progress-minimum{position:absolute;z-index:2;top:-2px;bottom:-2px;width:2px;border-radius:2px;background:var(--surface);box-shadow:0 0 0 1px color-mix(in srgb,var(--progress-ink) 30%,transparent);transform:translateX(-1px);pointer-events:none}.task-progress-sweep{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgb(255 255 255/48%) 50%,transparent 65%);pointer-events:none;animation:progress-finish-sweep .95s ease-out both}.task-progress-finish{position:absolute;inset:-2px;border:1px solid var(--success);border-radius:14px;pointer-events:none;animation:progress-finish-frame 1.2s ease-out both}.task-progress-particles{position:absolute;z-index:3;inset:-26px 0;overflow:hidden;pointer-events:none;background:transparent}.progress-particle-origin{position:absolute;top:50%;width:0;height:0;pointer-events:none}.progress-particle{position:absolute;top:-2px;left:-2px;display:block;width:4px;height:4px;border-radius:50%;background:var(--particle-color);box-shadow:0 0 3px color-mix(in srgb,var(--particle-color) 25%,transparent);opacity:0;animation:progress-particle-flight var(--particle-duration) var(--particle-delay) cubic-bezier(.18,.7,.35,1) both}.progress-particle.is-streak{top:-1px;left:-4px;width:9px;height:2px;border-radius:2px}.task-progress-feedback{display:inline-flex;align-items:center;gap:3px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--progress-ink);font-size:11px;line-height:18px;font-weight:600}.task-progress-feedback.complete,.task-progress-feedback.daily{color:var(--success)}.task-progress-feedback.complete>svg path,.task-progress-feedback.daily>svg path{stroke-dasharray:30;stroke-dashoffset:30;animation:completion-check-draw .45s ease-out forwards}.task-progress-feedback.decrement,.task-progress-feedback.pending{color:var(--muted)}.task-progress-feedback.failed{color:var(--danger)}.completion-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--success)}.completion-mark-ring{position:absolute;inset:1px;border:1px solid var(--success);border-radius:50%;opacity:0}.completion-mark.is-celebrating>svg{animation:completion-check-pop .6s cubic-bezier(.2,.9,.3,1.3) both}.completion-mark.is-celebrating>svg path{stroke-dasharray:30;stroke-dashoffset:30;animation:completion-check-draw .55s ease-out .1s forwards}.completion-mark.is-celebrating .completion-mark-ring{animation:completion-ring-open .85s ease-out both}.completion-petals{position:absolute;inset:0;pointer-events:none}.completion-petals i{position:absolute;inset:0;display:flex;justify-content:center}.completion-petals b{display:block;width:3px;height:6px;border-radius:2px;background:var(--success);animation:completion-petal-open .85s ease-out .1s both}.completion-petals i:nth-child(2n) b{background:var(--accent)}.compact-task-card.is-celebrating{position:relative}.compact-task-card.is-celebrating:after{content:"";position:absolute;inset:-1px;border:1px solid var(--success);border-radius:inherit;pointer-events:none;animation:completion-card-frame 1.55s ease-out both}.task-completion-toast{border-color:color-mix(in srgb,var(--success) 28%,var(--line))!important}.task-completion-toast [data-icon]{width:34px;height:34px;margin-right:8px}.task-completion-toast .completion-mark{width:34px;height:34px;background:var(--success-soft);border-radius:50%}.task-completion-toast [data-description]{color:var(--muted)!important;font-size:11px}.task-completion-toast [data-button]{background:var(--success-soft)!important;color:var(--success)!important}.task-progress.course-progress-enhanced{margin-top:20px}.task-progress.course-progress-enhanced .course-drawer-progress{margin:0}@keyframes progress-finish-sweep{0%{transform:translateX(-100%);opacity:0}25%{opacity:.8}to{transform:translateX(100%);opacity:0}}@keyframes progress-finish-frame{0%{opacity:0;box-shadow:0 0 0 0 var(--success-soft)}30%{opacity:.8;box-shadow:0 0 0 4px var(--success-soft)}to{opacity:0;box-shadow:0 0 0 7px transparent}}@keyframes progress-particle-flight{0%{transform:translate(0) rotate(var(--particle-angle)) scale(.3);opacity:0}18%{transform:translate(calc(var(--particle-x) * .25),calc(var(--particle-y) * .25)) rotate(var(--particle-angle)) scale(1);opacity:.9}to{transform:translate(var(--particle-x),var(--particle-y)) rotate(var(--particle-angle)) scale(.25);opacity:0}}@keyframes completion-check-pop{0%{transform:scale(.65);opacity:.2}60%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes completion-check-draw{to{stroke-dashoffset:0}}@keyframes completion-ring-open{0%{opacity:.65;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}@keyframes completion-petal-open{0%{transform:translateY(1px) scale(.2);opacity:0}30%{opacity:.8}to{transform:translateY(-11px) scale(.5);opacity:0}}@keyframes completion-card-frame{0%{opacity:0}25%{opacity:.6}to{opacity:0}}@media (max-width:767px){.task-progress-layout{min-height:51px}.task-progress-label{gap:8px;font-size:11px;margin-bottom:6px}.task-progress-caption{gap:5px}.task-progress-feedback{font-size:10px}.task-progress-counter{gap:2px}.task-progress-number{font-size:16px;height:22px}.task-progress-denominator{font-size:11px}.task-progress-track{height:22px;border-radius:11px}}@media (prefers-reduced-motion:reduce){.completion-mark,.completion-mark *,.task-progress,.task-progress *{transition:none!important;animation:none!important}.completion-mark-ring,.completion-petals,.task-progress-finish,.task-progress-particles,.task-progress-sweep{display:none}.compact-task-card.is-celebrating:after{animation:none!important}.completion-mark.is-celebrating>svg path,.task-progress-feedback>svg path{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}}@media (forced-colors:active){.task-progress-particles{display:none}.task-progress-track{border:1px solid CanvasText;background:Canvas}.task-progress-fill{background:Highlight;color:HighlightText;forced-color-adjust:none}.task-progress-minimum{background:CanvasText}}