.pr{min-height:100dvh;padding:40px 24px calc(40px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:26px;display:flex;position:relative;overflow:hidden}.pr:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--primary) 22%, transparent) 0%, transparent 68%);filter:blur(10px);opacity:.7;pointer-events:none;width:460px;max-width:120vw;height:460px;animation:3.4s ease-in-out infinite pr-breathe;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}@keyframes pr-breathe{0%,to{opacity:.5;transform:translate(-50%,-50%)scale(.94)}50%{opacity:.85;transform:translate(-50%,-50%)scale(1.06)}}.pr-stage{z-index:1;flex-direction:column;align-items:center;gap:22px;display:flex;position:relative}.pr-orb{justify-content:center;align-items:center;width:132px;height:132px;display:flex;position:relative}.pr-orb svg{width:100%;height:100%;animation:1.1s linear infinite pr-spin;position:absolute;inset:0}.pr-orb .pr-track{stroke:color-mix(in srgb, var(--foreground) 12%, transparent)}.pr-orb .pr-arc{stroke:var(--primary)}@keyframes pr-spin{to{transform:rotate(360deg)}}.pr-orb-core{border-radius:16px;width:62px;height:62px;animation:1.6s ease-in-out infinite pr-pulse;position:relative}@keyframes pr-pulse{0%,to{opacity:.85;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}.pr-calc-greeting{letter-spacing:-.01em;color:var(--primary);margin-bottom:6px;font-size:14px;font-weight:650;animation:.5s pr-fade}.pr-calc-title{letter-spacing:-.02em;color:var(--foreground);font-size:22px;font-weight:750}.pr-calc-sub{min-height:1.4em;color:var(--muted-foreground);font-size:14.5px;animation:.4s pr-fade}@keyframes pr-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pr-progress{background:color-mix(in srgb, var(--foreground) 12%, transparent);border-radius:100px;width:200px;max-width:62vw;height:6px;overflow:hidden}.pr-progress i{background:linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 60%, #fff));width:0;height:100%;animation:pr-fill var(--pr-calc-ms,2s) cubic-bezier(.4, 0, .2, 1) forwards;border-radius:100px;display:block}@keyframes pr-fill{0%{width:0}to{width:100%}}.pr-reveal{animation:.5s cubic-bezier(.16,1,.3,1) both pr-rise}@keyframes pr-rise{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.pr-ring{width:232px;height:232px;position:relative}.pr-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.pr-ring .pr-ring-track{stroke:color-mix(in srgb, var(--foreground) 10%, transparent)}.pr-ring .pr-ring-fill{stroke:var(--primary);stroke-dasharray:553;stroke-dashoffset:553px;animation:pr-draw var(--pr-count-ms,1.3s) cubic-bezier(.22, 1, .36, 1) forwards}@keyframes pr-draw{to{stroke-dashoffset:55px}}.pr-ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pr-kcal{letter-spacing:-.03em;color:var(--foreground);font-variant-numeric:tabular-nums;font-size:58px;font-weight:820;line-height:1}.pr-unit{text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-top:6px;font-size:12.5px;font-weight:650}.pr-reveal-label{color:var(--muted-foreground);font-size:15px;font-weight:600}.pr-macros{gap:10px;display:flex}.pr-macro{background:color-mix(in srgb, var(--foreground) 6%, transparent);border:1px solid var(--border);opacity:0;border-radius:16px;flex-direction:column;align-items:center;gap:2px;min-width:74px;padding:12px 14px;animation:.5s cubic-bezier(.16,1,.3,1) forwards pr-chip;display:flex}.pr-macro:first-child{animation-delay:.15s}.pr-macro:nth-child(2){animation-delay:.28s}.pr-macro:nth-child(3){animation-delay:.41s}@keyframes pr-chip{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pr-macro b{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:18px;font-weight:750}.pr-macro span{color:var(--muted-foreground);font-size:11.5px}.pr-leaving .pr-reveal-label,.pr-leaving .pr-macros{animation:.42s cubic-bezier(.4,0,1,1) forwards pr-outro-out}@keyframes pr-outro-out{to{opacity:0;transform:translateY(12px)}}.pr-leaving .pr-ring{animation:.9s cubic-bezier(.4,0,.2,1) both pr-outro-breath}@keyframes pr-outro-breath{0%{transform:scale(1)}35%{transform:scale(1.035)}to{transform:scale(1)}}.pr-leaving .pr-ring:after{content:"";border:2px solid var(--primary);opacity:0;pointer-events:none;border-radius:50%;animation:.9s cubic-bezier(.22,1,.36,1) forwards pr-outro-halo;position:absolute;inset:-8px}@keyframes pr-outro-halo{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.pr-leaving:before{animation:.9s ease-out forwards pr-outro-glow}@keyframes pr-outro-glow{0%{opacity:.7;transform:translate(-50%,-50%)scale(1)}45%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}to{opacity:.5;transform:translate(-50%,-50%)scale(1.08)}}.pr-error{z-index:1;flex-direction:column;align-items:center;gap:14px;max-width:320px;display:flex}.pr-error p{color:var(--muted-foreground);font-size:14.5px}.pr-retry{background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:0;border-radius:12px;padding:12px 22px;font-size:15px;font-weight:700}.pr-cta{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:340px;margin-top:8px;animation:.56s cubic-bezier(.22,1,.36,1) both pr-cta-in;display:flex}.pr-cta-copy{color:var(--muted-foreground);text-wrap:pretty;font-size:14px;line-height:1.5}@keyframes pr-cta-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.pr:before,.pr-orb svg,.pr-orb-core,.pr-reveal,.pr-macro,.pr-cta,.pr-leaving .pr-reveal-label,.pr-leaving .pr-macros,.pr-leaving .pr-ring,.pr-leaving .pr-ring:after,.pr-leaving:before{opacity:1!important;animation:none!important;transform:none!important}.pr-progress i{width:100%;animation:none!important}.pr-ring .pr-ring-fill{stroke-dashoffset:55px;animation:none!important}}
