.pg-tilt{transform:perspective(1200px) rotateX(calc(var(--rx,0deg) * .35)) rotateY(calc(var(--ry,0deg) * .35));transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .3s;position:relative;overflow:hidden}.pg-tilt[data-tilting]{transition:box-shadow .3s}.pg-tilt:before{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(70% 60% at 85% 0,#7c3aed1a,#0000 70%),radial-gradient(60% 50% at 0 100%,#06b6d414,#0000 70%);position:absolute;inset:0}.dark .pg-tilt:before{background:radial-gradient(70% 60% at 85% 0,#8b5cf633,#0000 70%),radial-gradient(60% 50% at 0 100%,#22d3ee24,#0000 70%)}.pg-tilt>*{position:relative}.pg-tilt:hover{box-shadow:0 28px 54px -30px #7c3aed73}.pg-stage{background:linear-gradient(180deg, transparent, hsl(var(--muted) / .35));border-radius:18px;padding:6px 4px 0}.pg-bars{width:100%;height:auto;overflow:visible}.pg-bars text{fill:hsl(var(--muted-foreground));font-size:10px;font-weight:700}.pg-bars .pg-axis{stroke:hsl(var(--border));stroke-width:1.5px}.pg-bars .pg-grid{stroke:hsl(var(--border) / .55);stroke-dasharray:3 5}.pg-col{transform-box:fill-box;transform-origin:bottom;animation:.9s cubic-bezier(.16,1,.3,1) both pg-grow;animation-delay:calc(var(--i,0) * 45ms)}.pg-area{animation:1s .4s both pg-fade}.pg-line{fill:none;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round;animation:.8s .5s both pg-fade}.pg-dot{transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.34,1.56,.64,1) both pg-pop;animation-delay:calc(.6s + var(--i,0) * 40ms)}.dark .pg-dot circle[stroke]{stroke:#0f172a}.pg-mini{border:1px solid hsl(var(--border));background:hsl(var(--background) / .6);text-align:center;border-radius:18px;justify-items:center;gap:8px;padding:14px 8px;display:grid}.pg-mini-dial{background:radial-gradient(circle at 50% 35%, hsl(var(--card)), hsl(var(--muted) / .6));border-radius:50%;place-items:center;width:92px;height:92px;display:grid;position:relative;box-shadow:inset 0 3px 8px #0f172a1f,0 10px 22px -14px #0f172a80}.dark .pg-mini-dial{box-shadow:inset 0 3px 10px #0000008c,0 10px 22px -14px #000c}.pg-mini-dial svg{width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px;overflow:visible;transform:rotate(-90deg)}.pg-track{stroke:hsl(var(--muted))}.pg-arc{animation:.9s .15s both pg-fade}.pg-mini-v{color:hsl(var(--foreground));font-variant-numeric:tabular-nums;font-size:19px;font-weight:900;position:relative}.pg-mini-l{color:hsl(var(--muted-foreground));font-size:11px;font-weight:800}.pg-donut{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.pg-donut-stage{perspective:600px;flex:none;width:160px}.pg-donut-stage svg{transform-origin:50% 60%;width:160px;height:auto;display:block;overflow:visible;transform:rotateX(18deg)}.pg-donut-face{animation:.8s both pg-fade}.pg-donut-hole{fill:hsl(var(--card))}.pg-donut-shadow{fill:#0f172a38}.dark .pg-donut-shadow{fill:#0000008c}.pg-donut-n{fill:hsl(var(--foreground));font-size:20px;font-weight:900}.pg-donut-t{fill:hsl(var(--muted-foreground));font-size:10px;font-weight:700}.pg-streak{background:linear-gradient(120deg,#fbbf241f,#0000 70%);border:1px solid #d977064d;border-radius:18px;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;display:flex}.pg-streak-medal{filter:drop-shadow(0 6px 14px #d9770659);flex:none}.pg-streak-title{color:hsl(var(--foreground));font-size:14px;font-weight:900}.pg-streak-sub{color:hsl(var(--muted-foreground));font-size:12px}.pg-skel{border:1px dashed hsl(var(--border));background:hsl(var(--muted) / .35);border-radius:18px;min-height:330px}.pg-months{grid-template-columns:repeat(auto-fill,minmax(min(100%,168px),1fr));gap:12px;display:grid}@media (max-width:420px){.pg-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.pg-month{border:1px solid hsl(var(--border));background:hsl(var(--background) / .65);animation:.5s cubic-bezier(.16,1,.3,1) both pg-rise;animation-delay:calc(var(--i,0) * 30ms);border-radius:18px;gap:8px;padding:12px;display:grid;position:relative}@media (max-width:420px){.pg-month{padding:9px}}.pg-month[data-full]{background:linear-gradient(160deg, #fbbf2424, hsl(var(--background) / .65) 60%);border-color:#d9770680;box-shadow:0 0 0 1px #fbbf2433,0 14px 30px -18px #d97706b3}.pg-month-head{justify-content:space-between;align-items:flex-start;gap:6px;min-height:36px;display:flex}.pg-month-name{color:hsl(var(--foreground));font-size:13.5px;font-weight:900}.pg-month-sub{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.pg-month-medal{transform-origin:100% 0;filter:drop-shadow(0 4px 10px #d977068c);flex:none;margin:-6px -6px 0 0;transform:scale(.72)}.pg-cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.pg-wd{text-align:center;color:hsl(var(--muted-foreground));font-size:9px;font-weight:800}.pg-day{aspect-ratio:1;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;border-radius:5px;place-items:center;font-size:9px;font-weight:700;display:grid}.pg-day[data-today]{outline:2px solid hsl(var(--ring));outline-offset:1px;color:hsl(var(--foreground))}.pg-l0{background:hsl(var(--muted))}.pg-l1{color:#065f46;background:#10b98147}.pg-l2{color:#064e3b;background:#10b98185}.pg-l3{color:#fff;background:#059669d9;box-shadow:0 0 8px #10b98173}.pg-l4{color:#fff;background:#047857;box-shadow:0 0 10px #10b98199}.dark .pg-l1{color:#a7f3d0;background:#34d39942}.dark .pg-l2{color:#ecfdf5;background:#34d39980}.dark .pg-l3{color:#022c22;background:#34d399c7}.dark .pg-l4{color:#022c22;background:#6ee7b7}.pg-lf{border:1px dashed hsl(var(--border));opacity:.55;background:0 0}.pg-key{border-radius:3px;width:11px;height:11px;display:inline-block}.pg-month-bar{background:hsl(var(--muted));border-radius:999px;height:4px;overflow:hidden}.pg-month-bar>span{border-radius:inherit;background:linear-gradient(90deg,#6ee7b7,#059669);height:100%;display:block}@keyframes pg-grow{0%{transform:scaleY(0)}}@keyframes pg-fade{0%{opacity:0}}@keyframes pg-pop{0%{opacity:0;transform:scale(.3)}}@keyframes pg-rise{0%{opacity:0;translate:0 10px}}@media (prefers-reduced-motion:reduce){.pg-col,.pg-area,.pg-line,.pg-dot,.pg-arc,.pg-donut-face,.pg-month{animation:none}.pg-tilt{transition:none;transform:none}}
