.cal{--cal-cell:calc((100% - 6 * .25rem) / 7)}.cal-day{aspect-ratio:1;font-variant-numeric:tabular-nums;place-items:center;display:grid;position:relative}.cal-mark{pointer-events:none;position:absolute;inset:-18%}.cal-flip-stage{perspective:900px}.cal-tilt-stage{perspective:800px}.cal-tilt-card{transform-style:preserve-3d;transition:transform .25s ease-out}.cal-tilt-card .cal-grid{transform:translateZ(18px)}.cal-tilt-card .cal-mark{transform:translateZ(26px)}@media (prefers-reduced-motion:no-preference){.cal[data-armed]:not([data-play]){visibility:hidden}.cal[data-play][data-style=flip] .cal-page{transform-origin:50% 0;animation:cal-drop calc(1.3s * var(--cal-k,1)) cubic-bezier(.2, .9, .25, 1.15) both}.cal[data-play][data-style=float] .cal-num{animation:cal-float-in calc(.8s * var(--cal-k,1)) cubic-bezier(.16, 1, .3, 1) calc((.15s + var(--i) * 25ms) * var(--cal-k,1)) both}.cal[data-play][data-style=classic] .cal-page,.cal[data-play][data-style=tilt] .cal-page{animation:cal-rise calc(1s * var(--cal-k,1)) cubic-bezier(.16, 1, .3, 1) both}.cal[data-play][data-style=fold] .cal-page{transform-origin:0%;animation:cal-unfold calc(1.1s * var(--cal-k,1)) cubic-bezier(.2, .85, .25, 1.05) both}.cal[data-play][data-style=fold] .cal-num{transform-origin:50% 0;animation:cal-row-fold calc(.7s * var(--cal-k,1)) cubic-bezier(.2, .9, .3, 1.2) calc((.55s + var(--r) * .11s) * var(--cal-k,1)) both}.cal[data-play][data-style=pop] .cal-page{animation:cal-rise calc(.8s * var(--cal-k,1)) cubic-bezier(.16, 1, .3, 1) both}.cal[data-play][data-style=pop] .cal-num{animation:cal-pop-in calc(.6s * var(--cal-k,1)) cubic-bezier(.3, 1.6, .5, 1) calc((.25s + var(--i) * 30ms) * var(--cal-k,1)) both}.cal[data-play][data-style=pop] [data-day] .cal-n{animation:cal-pop-in calc(.9s * var(--cal-k,1)) cubic-bezier(.3, 1.8, .5, 1) calc(1.3s * var(--cal-k,1)) both;display:inline-block}.cal[data-visible][data-style=tilt] .cal-tilt-card:not([data-pointer]){animation:9s ease-in-out infinite cal-sway}.cal[data-play] .cal-mark-draw{stroke-dasharray:260;animation:cal-draw calc(1.6s * var(--cal-k,1)) ease-out calc(.7s * var(--cal-k,1)) both}.cal[data-visible] .cal-mark-beat{transform-origin:50% 55%;animation:1.8s ease-in-out 1s infinite cal-beat}.cal[data-visible] .cal-mark-spin{transform-origin:50%;animation:18s linear infinite cal-spin}.cal[data-play] .cal-mark-pop{transform-origin:50%;animation:cal-pop calc(.9s * var(--cal-k,1)) cubic-bezier(.2, .9, .3, 1.4) calc(.8s * var(--cal-k,1)) both}}@keyframes cal-drop{0%{opacity:0;transform:rotateX(-100deg)}35%{opacity:1}to{transform:rotateX(0)}}@keyframes cal-unfold{0%{opacity:0;transform:rotateY(-95deg)}40%{opacity:1}}@keyframes cal-row-fold{0%{opacity:0;transform:rotateX(-95deg)}}@keyframes cal-pop-in{0%{opacity:0;transform:scale(.1)}}@keyframes cal-rise{0%{opacity:0;transform:translateY(1.5rem)}}@keyframes cal-float-in{0%{opacity:0;transform:translateY(1.2rem)scale(.7)}}@keyframes cal-sway{0%,to{transform:rotateX(8deg)rotateY(-10deg)}50%{transform:rotateX(-6deg)rotateY(10deg)}}@keyframes cal-draw{0%{stroke-dashoffset:260px}to{stroke-dashoffset:0}}@keyframes cal-beat{0%,to{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(.98)}45%{transform:scale(1.08)}}@keyframes cal-spin{to{transform:rotate(360deg)}}@keyframes cal-pop{0%{opacity:0;transform:scale(.2)rotate(-30deg)}}
.cd-flip{perspective:300px;font-variant-numeric:tabular-nums;min-width:3.1rem;height:3.1rem;line-height:3.1rem;position:relative}.cd-half{background:var(--cd-face);height:50%;color:inherit;text-align:center;backface-visibility:hidden;position:absolute;left:0;right:0;overflow:hidden}.cd-half>span{height:3.1rem;display:block}.cd-top{box-shadow:inset 0 -1px 0 var(--cd-seam);border-radius:.6rem .6rem 0 0;top:0}.cd-bottom{border-radius:0 0 .6rem .6rem;bottom:0}.cd-bottom>span{transform:translateY(-50%)}.cd-flap-top{transform-origin:50% 100%;z-index:2}.cd-flap-bottom{transform-origin:50% 0;z-index:2;transform:rotateX(90deg)}@media (prefers-reduced-motion:no-preference){.cd-flap-top[data-run]{animation:.32s ease-in both cd-fold-top}.cd-flap-bottom[data-run]{animation:.32s ease-out .3s both cd-fold-bottom}.cd-roll-strip{transition:transform .7s cubic-bezier(.22,1,.36,1)}}@media (prefers-reduced-motion:reduce){.cd-flap-top,.cd-flap-bottom{display:none}}@keyframes cd-fold-top{0%{transform:rotateX(0)}to{transform:rotateX(-90deg)}}@keyframes cd-fold-bottom{0%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.cd-roll{vertical-align:top;height:1em;line-height:1;display:inline-block;overflow:hidden}.cd-roll-strip{flex-direction:column;display:flex}.cd-roll-strip>span{height:1em}
