.frf-bar{background:var(--color-smoke);border-radius:999px;height:14px;position:relative;overflow:hidden}.frf-bar__fill{background:linear-gradient(90deg, #c8902c, var(--color-oro) 70%, #f6cf7c);transform:translateX(calc((var(--p) - 1) * 100%));transition:transform .8s var(--ease-sizzle);border-radius:999px 0 0 999px;display:block;position:absolute;inset:0;overflow:visible}.frf-bar__gloss{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.frf-bar__tip{fill:#f6cf7c;transform-origin:0;width:12px;height:100%;position:absolute;top:0;left:calc(100% - 1px)}@media (prefers-reduced-motion:no-preference){.frf-bar__tip{animation:1.4s ease-in-out infinite alternate frf-slosh}.frf-bar__gloss:after{content:"";background:linear-gradient(100deg,#0000,#ffffff73 50%,#0000);width:40%;animation:2.6s ease-in-out infinite frf-shimmer;position:absolute;inset:0 auto 0 0}}@keyframes frf-slosh{0%{transform:scaleX(.7)scaleY(1)}to{transform:scaleX(1.25)scaleY(.92)}}.frf-stepper__hit{text-align:center;width:100%;min-height:44px;color:var(--color-muted);border-radius:.9rem;justify-items:center;gap:.35rem;padding:.15rem 0;display:grid}button.frf-stepper__hit{cursor:pointer}button.frf-stepper__hit:hover .frf-dot{transform:scale(1.1)}.frf-dot{border:1.5px solid var(--color-smoke);background:var(--color-ember);width:2.25rem;height:2.25rem;font-family:var(--font-display);transition:transform .35s var(--ease-sizzle);border-radius:999px;place-content:center;font-size:.95rem;font-weight:800;line-height:1;display:grid}.frf-stepper[data-state=done] .frf-dot{border-color:var(--color-oro);background:var(--color-oro);color:var(--color-brace)}.frf-stepper[data-state=done] .frf-stepper__hit{color:var(--color-oro)}.frf-stepper[data-state=now] .frf-dot{border-color:var(--color-crema);background:var(--color-crema);color:var(--color-brace);transform:scale(1.12)}.frf-stepper[data-state=now] .frf-stepper__hit{color:var(--color-crema);font-weight:700}.frf-num{width:3.6rem;height:3.6rem;font-family:var(--font-display);color:var(--color-brace);flex:none;place-content:center;font-size:1.35rem;font-weight:800;display:grid;position:relative}.frf-num__blob{background:radial-gradient(circle at 35% 30%, #f3c86a, var(--color-oro) 60%, #c8902c);border-radius:58% 42% 55% 45%/48% 58% 42% 52%;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.frf-step[data-dir=next]{animation:frf-in-next .5s var(--ease-out-expo) both}.frf-step[data-dir=back]{animation:frf-in-back .5s var(--ease-out-expo) both}.frf-step .frf-num__blob{animation:frf-pop .6s var(--ease-sizzle) both, frf-wobble 5s ease-in-out .6s infinite}.frf-reveal{animation:frf-reveal .45s var(--ease-sizzle) both}.frf-saved{animation:2.4s both frf-saved}}@keyframes frf-in-next{0%{opacity:0;transform:translate(36px)}}@keyframes frf-in-back{0%{opacity:0;transform:translate(-36px)}}@keyframes frf-pop{0%{transform:scale(.3)rotate(-40deg)}}@keyframes frf-wobble{0%,to{transform:rotate(0)scale(1)}33%{transform:rotate(40deg)scale(1.06,.95)}66%{transform:rotate(-25deg)scale(.96,1.05)}}@keyframes frf-reveal{0%{opacity:0;transform:translateY(-10px)scale(.98)}}@keyframes frf-saved{0%{opacity:0}15%,70%{opacity:1}to{opacity:.55}}.frf-tile{border:1.5px solid var(--color-smoke);background:var(--color-ember);cursor:pointer;min-height:3.25rem;transition:border-color .2s, background-color .2s, color .2s, transform .3s var(--ease-sizzle);border-radius:1rem;align-items:center;gap:.7rem;padding:.7rem .9rem;display:flex;position:relative}.frf-tile:hover{border-color:var(--color-muted)}.frf-tile:active{transform:scale(.97)}.frf-tile:has(:focus-visible){outline:3px solid var(--color-oro);outline-offset:2px}.frf-tile--error{border-color:var(--color-danger)}.frf-tile__tick{border:1.5px solid var(--color-muted);color:#0000;width:1.4rem;height:1.4rem;transition:transform .35s var(--ease-sizzle), background-color .2s;border-radius:999px;flex:none;place-content:center;display:grid}.frf-tile__sub{color:var(--color-muted)}.frf-tile:has(:checked){border-color:var(--color-oro);background:var(--color-oro);color:var(--color-brace)}.frf-tile:has(:checked) .frf-tile__tick{border-color:var(--color-brace);background:var(--color-brace);color:var(--color-oro)}.frf-tile:has(:checked) .frf-tile__sub{color:#14110fc7}@media (prefers-reduced-motion:no-preference){.frf-tile:has(:checked){animation:frf-tile-pop .45s var(--ease-sizzle)}.frf-tile:has(:checked) .frf-tile__tick{animation:frf-pop .45s var(--ease-sizzle)}}@keyframes frf-tile-pop{40%{transform:scale(1.04)}}.frf-done__glow{pointer-events:none;background:radial-gradient(50% 60% at 50% 40%,#e9b44c47,#0000 70%);height:70%;position:absolute;inset:-20% -10% auto}.frf-confetti{transform:translate(var(--x), var(--y)) rotate(var(--r));margin:-1.375rem 0 0 -1.375rem}@media (prefers-reduced-motion:no-preference){.frf-confetti{animation:frf-confetti .9s var(--ease-sizzle) calc(.45s + var(--i) * 70ms) both, frf-float 3.2s ease-in-out calc(1.4s + var(--i) * -.5s) infinite alternate}.frf-days{animation:frf-reveal .6s var(--ease-sizzle) .9s both}}@keyframes frf-confetti{0%{opacity:0;transform:translate(0)rotate(0)scale(.2)}}@keyframes frf-float{0%{transform:translate(var(--x), var(--y)) rotate(var(--r))}to{transform:translate(var(--x), calc(var(--y) - 8px)) rotate(calc(var(--r) + 8deg))}}@keyframes frf-shimmer{0%{transform:translate(-100%)}to{transform:translate(260%)}}
