.kitten{overflow:visible}.kitten__dance{transform-box:view-box;transform-origin:60px 130px;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.kitten__dance--bounce{animation-name:kitten-bounce;animation-duration:.9s}@keyframes kitten-bounce{0%,to{transform:translateY(0)scale(1)}28%{transform:translateY(-11px)scale(.96,1.05)}58%{transform:translateY(0)scale(1.07,.93)}78%{transform:translateY(-3px)scale(1)}}.kitten__dance--sway{animation-name:kitten-sway;animation-duration:1.9s}@keyframes kitten-sway{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}.kitten__dance--wiggle{animation-name:kitten-wiggle;animation-duration:1.1s}@keyframes kitten-wiggle{0%,to{transform:translate(-6px)rotate(-3deg)}50%{transform:translate(6px)rotate(3deg)}}.kitten__dance--boogie{animation-name:kitten-boogie;animation-duration:1.35s}@keyframes kitten-boogie{0%,to{transform:translateY(0)rotate(-5deg)scale(1)}25%{transform:translateY(-9px)rotate(4deg)scale(1.04)}50%{transform:translateY(0)rotate(5deg)scale(.98)}75%{transform:translateY(-6px)rotate(-4deg)scale(1.03)}}.kitten__tail{transform-box:view-box;transform-origin:94px 114px;animation:1.15s ease-in-out infinite kitten-tail}@keyframes kitten-tail{0%,to{transform:rotate(-10deg)}50%{transform:rotate(12deg)}}.kitten__head{transform-box:view-box;transform-origin:60px 76px;animation:2.7s ease-in-out infinite kitten-head}@keyframes kitten-head{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.kitten__ears{transform-box:view-box;transform-origin:60px 36px;animation:3.3s ease-in-out infinite kitten-ears}@keyframes kitten-ears{0%,86%,to{transform:scaleY(1)rotate(0)}90%{transform:scaleY(.85)rotate(-3deg)}94%{transform:scaleY(1.05)rotate(2deg)}}.kitten__eyes{transform-box:fill-box;transform-origin:50%;animation:5.4s ease-in-out infinite kitten-blink}@keyframes kitten-blink{0%,93%,to{transform:scaleY(1)}95%{transform:scaleY(.06)}97%{transform:scaleY(1)}}.kitten__bow,.kitten__flower{transform-box:view-box;transform-origin:60px 20px;animation:2.2s ease-in-out infinite kitten-accessory}@keyframes kitten-accessory{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.dance-floor{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));width:min(100%,60rem);margin:0;padding:0;list-style:none;display:grid}.dance-floor__slot{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.dance-floor__podium{width:100%;padding:var(--space-3) var(--space-2) var(--space-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-fast);background:linear-gradient(#ffffffb3,#ffffff59);border:3px solid #fff;place-items:center;display:grid}.dance-floor__slot:hover .dance-floor__podium{box-shadow:var(--shadow-md);transform:translateY(-6px)rotate(-1.5deg)}.dance-floor__kitten{width:100%;max-width:140px;height:auto}.dance-floor__name{font-family:var(--font-display);font-size:var(--text-base);color:var(--pink-700);font-weight:700}.glitter-canvas{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;inset:0}.parade{width:100%;padding:var(--space-2) 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%)}.parade__track{width:max-content;animation-name:parade-scroll;animation-timing-function:linear;animation-iteration-count:infinite;display:flex}.parade--reverse .parade__track{animation-direction:reverse}.parade__group{align-items:flex-end;gap:clamp(var(--space-3), 4vw, var(--space-8));padding-right:clamp(var(--space-3), 4vw, var(--space-8));display:flex}.parade__kitten--raised{margin-bottom:14px}@keyframes parade-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.notes{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;width:min(100%,34rem);display:flex}.notes__envelope{font-size:2.5rem;line-height:1;animation:3s ease-in-out infinite notes-envelope}@keyframes notes-envelope{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-8px)rotate(6deg)}}.notes__title{font-size:var(--text-2xl);color:var(--pink-700)}.notes__body{min-height:9rem;font-size:var(--text-xl);color:var(--plum-900);justify-content:center;align-items:center;margin:0;font-weight:600;display:flex}.notes__text{animation:.42s ease-out both notes-fade-in}@keyframes notes-fade-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=640px){.notes__body{min-height:6rem}}.pet{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.pet__button{padding:var(--space-4);border-radius:var(--radius-lg);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--transition-normal);background:0 0;border:none;display:block;position:relative}.pet__button:hover{transform:scale(1.04)}.pet__button:active{transform:scale(.96)}.pet__button:before{content:"";opacity:0;transition:opacity var(--transition-normal);z-index:-1;background:radial-gradient(circle,#ffffffd9 0%,#0000 68%);border-radius:50%;position:absolute;inset:8%}.pet__button--delighted:before{opacity:1}.pet__kitten{filter:drop-shadow(0 12px 18px #a81e6740);width:min(230px,62vw);height:auto}.pet__halo{pointer-events:none;z-index:-1;position:absolute;inset:0}.pet__halo-sparkle{line-height:1;animation:4.2s ease-in-out infinite pet-halo-twinkle;position:absolute}@keyframes pet-halo-twinkle{0%,to{opacity:.15;transform:scale(.6)rotate(-12deg)}45%{opacity:1;transform:scale(1.15)rotate(10deg)}70%{opacity:.5;transform:scale(.9)rotate(0)}}.pet__hearts{inset-inline:0;justify-content:center;gap:var(--space-6);pointer-events:none;display:flex;position:absolute;top:4%}.pet__heart{font-size:1.75rem;animation:1.4s ease-out forwards pet-heart-float}.pet__heart--b{font-size:2.1rem;animation-delay:.12s}.pet__heart--c{animation-delay:.24s}@keyframes pet-heart-float{0%{opacity:0;transform:translateY(10px)scale(.5)}25%{opacity:1;transform:translateY(-6px)scale(1.15)}to{opacity:0;transform:translateY(-58px)scale(.85)}}.pet__status{align-items:baseline;gap:var(--space-2);font-family:var(--font-display);display:flex}.pet__count{font-size:var(--text-2xl);color:var(--pink-700);font-variant-numeric:tabular-nums;font-weight:800}.pet__label{font-size:var(--text-lg);color:var(--plum-700)}.pet__message{min-height:1.6em;font-size:var(--text-base);color:var(--plum-700);text-align:center}.tap-hearts{pointer-events:none;z-index:40;position:fixed;inset:0}.tap-hearts__heart{-webkit-user-select:none;user-select:none;will-change:transform, opacity;font-size:1.7rem;line-height:1;animation:1.2s cubic-bezier(.22,.61,.36,1) forwards tap-heart-rise;position:absolute;transform:translate(-50%,-50%)}@keyframes tap-heart-rise{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(0)}18%{opacity:1;transform:translate(-50%, -50%) scale(calc(var(--heart-scale,1) * 1.2)) rotate(0deg)}to{opacity:0;transform:translate(calc(-50% + var(--heart-drift,0px)), calc(-50% - 110px)) scale(var(--heart-scale,1)) rotate(var(--heart-tilt,0deg))}}.toolbar{top:calc(var(--space-3) + env(safe-area-inset-top,0px));right:calc(var(--space-3) + env(safe-area-inset-right,0px));z-index:50;align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.toolbar__chip{align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-2) var(--space-4);font-family:var(--font-display);font-size:var(--text-sm);color:var(--plum-900);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--transition-fast), box-shadow var(--transition-fast);background:#ffffffd1;border:2px solid #fff;font-weight:700;display:inline-flex}.toolbar__chip:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.toolbar__chip:active{transform:scale(.95)}.toolbar__chip[aria-pressed=false]{color:var(--plum-500);background:#fff9}.toolbar__icon{font-size:1.1rem;line-height:1}@media (width<=420px){.toolbar__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toolbar__chip{padding:var(--space-2);min-width:var(--tap-target);justify-content:center}}.page{z-index:2;align-items:center;gap:var(--space-12);width:100%;max-width:72rem;padding-block:calc(var(--space-16) + env(safe-area-inset-top,0px)) calc(var(--space-8) + env(safe-area-inset-bottom,0px));padding-inline:calc(var(--space-4) + env(safe-area-inset-left,0px)) calc(var(--space-4) + env(safe-area-inset-right,0px));flex-direction:column;margin-inline:auto;display:flex;position:relative}.hero{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.hero__eyebrow{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--pink-700);font-weight:700}.hero__title{font-size:var(--text-4xl);background:linear-gradient(100deg, var(--pink-600) 0%, var(--pink-400) 22%, var(--gold) 38%, var(--pink-500) 55%, var(--lilac) 72%, var(--pink-600) 100%);color:var(--pink-700);filter:drop-shadow(0 3px #fff)drop-shadow(0 8px 14px #a81e6738);background-size:260% 100%;animation:7s linear infinite hero-shimmer}@supports ((-webkit-background-clip:text) or (background-clip:text)){.hero__title{color:#0000;-webkit-background-clip:text;background-clip:text}}@keyframes hero-shimmer{0%{background-position:0%}to{background-position:260%}}.hero__subtitle{max-width:30ch;font-size:var(--text-lg);color:var(--plum-700)}.hero__hint{font-size:var(--text-sm);color:var(--plum-500)}.section{align-items:center;gap:var(--space-4);flex-direction:column;width:100%;display:flex}.section--flush{gap:0;width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}.section__title{font-size:var(--text-3xl);color:var(--pink-700);text-align:center;filter:drop-shadow(0 2px #fff)}.section__lede{max-width:34ch;font-size:var(--text-base);color:var(--plum-700);text-align:center}.footer{align-items:center;gap:var(--space-2);padding-top:var(--space-4);text-align:center;flex-direction:column;display:flex}.footer__hearts{font-size:var(--text-xl);letter-spacing:.3em}.footer__signature{font-family:var(--font-display);font-size:var(--text-base);color:var(--pink-700);font-weight:700}@media (width>=640px){.page{gap:var(--space-16);padding-inline:var(--space-8)}.hero__hint{font-size:var(--text-base)}}@media (width>=1024px){.page{padding-block:var(--space-16)}}:root{--pink-50:#fff5fa;--pink-100:#ffe4f1;--pink-200:#ffc9e3;--pink-300:#ffa8d2;--pink-400:#ff7fbe;--pink-500:#f857a6;--pink-600:#d62e85;--pink-700:#a81e67;--cream:#fff9f4;--gold:#ffd166;--lilac:#c9a7f5;--mint:#a7edd9;--sky:#a9d9f5;--plum-900:#4a1533;--plum-700:#6f2450;--plum-500:#8f4470;--font-display:"Baloo 2", "Trebuchet MS", system-ui, sans-serif;--font-body:"Quicksand", "Avenir Next", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:clamp(2rem, 9vw, 3.25rem);--text-4xl:clamp(2.5rem, 12vw, 4.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-md:1rem;--radius-lg:1.75rem;--radius-pill:999px;--shadow-sm:0 2px 6px #a81e671f;--shadow-md:0 8px 20px #a81e6729;--shadow-lg:0 16px 40px #a81e6733;--transition-fast:.15s ease;--transition-normal:.3s cubic-bezier(.34, 1.56, .64, 1);--tap-target:44px}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);color:var(--plum-900);background-color:var(--pink-50);-webkit-font-smoothing:antialiased;font-weight:600;line-height:1.6;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 0%, var(--pink-200) 0%, transparent 60%), radial-gradient(90% 60% at 0% 40%, #ffd9ec 0%, transparent 55%), radial-gradient(90% 60% at 100% 70%, #f6e0ff 0%, transparent 55%), linear-gradient(180deg, var(--pink-100) 0%, var(--pink-50) 45%, #ffeaf5 100%);position:fixed;inset:0}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;font-weight:800;line-height:1.1}p{text-wrap:pretty}:focus-visible{outline:3px solid var(--pink-700);outline-offset:3px;border-radius:var(--radius-md)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-3) var(--space-6);font-family:var(--font-display);font-size:var(--text-lg);color:#fff;background:linear-gradient(180deg, var(--pink-500), var(--pink-700));border-radius:var(--radius-pill);box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--transition-normal), box-shadow var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:3px solid #fff;font-weight:700;display:inline-flex}.btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)scale(1.03)}.btn:active{transform:translateY(1px)scale(.97)}.card{padding:var(--space-6);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffb8;border:3px solid #fff;position:relative}.glitter-surface{isolation:isolate;position:relative}.glitter-surface:before,.glitter-surface:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.glitter-surface:before{opacity:.65;z-index:-1;background-image:radial-gradient(circle,#ffffffd9 .6px,#0000 1.1px),radial-gradient(circle,#ffd1666b .7px,#0000 1.2px),radial-gradient(circle,#ff7fbe57 .6px,#0000 1.1px),radial-gradient(circle,#c9a7f54d .8px,#0000 1.3px);background-position:0 0,7px 13px,23px 5px,38px 27px;background-size:19px 19px,29px 29px,43px 43px,61px 61px}.glitter-surface:after{z-index:-1;background:linear-gradient(112deg,#0000 42%,#ffffffb3 50%,#0000 58%) 0 0/320% 100% no-repeat;animation:6.5s ease-in-out infinite glitter-sweep}@keyframes glitter-sweep{0%{background-position:150% 0}55%,to{background-position:-50% 0}}html[data-motion=calm] *,html[data-motion=calm] :before,html[data-motion=calm] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
