.cg-root{width:100%;display:grid;justify-items:center;gap:14px;padding-bottom:calc(120px + env(safe-area-inset-bottom))}.cg-root h1{margin:.2rem 0;font-size:clamp(1.75rem,8vw,2.65rem)}.cg-copy{white-space:pre-line;line-height:1.55;max-width:410px}.cg-stage{position:relative;width:100%;min-height:280px;border-radius:26px;background:linear-gradient(#fffdf9,#f9e4e0);border:1px solid #ecd0ca;overflow:hidden;box-shadow:inset 0 -20px 35px rgba(150,90,80,.06)}.cg-dog-wrap{width:220px;height:205px;margin:auto;position:relative}.chihuahua-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 12px 12px rgba(90,59,56,.18))}.dog-core{transform-box:fill-box;transform-origin:center;animation:cgBreath 2.1s ease-in-out infinite}.dog-tail{transform-box:fill-box;transform-origin:left center;animation:cgWag .42s ease-in-out infinite alternate}.dog-eye{transform-box:fill-box;transform-origin:center;animation:cgBlink 4s infinite}.dog-ear{transform-box:fill-box;transform-origin:bottom center;animation:cgEar 3.2s ease-in-out infinite}.dog-tongue,.dog-cheeks,.dog-crumbs,.dog-flower,.dog-crown,.dog-bow,.dog-tag,.dog-sunglasses,.dog-moustache,.dog-wings,.dog-hat,.dog-cold-stars,.dog-hearts,.dog-food{opacity:0;pointer-events:none}.pose-running .dog-leg{transform-box:fill-box;transform-origin:top;animation:cgLeg .18s infinite alternate}.pose-running .dog-core{animation:cgRunBob .25s infinite alternate}.pose-running .dog-ear{animation:cgRunEar .25s infinite alternate}.pose-tongue-out .dog-tongue,.pose-peeking .dog-tongue,.pose-tired .dog-tongue,.pose-panting .dog-tongue{opacity:1}.pose-tired .dog-core,.pose-panting .dog-core{transform:translateY(12px) scaleY(.94)}.pose-tired .dog-ear{transform:rotate(12deg)}.pose-panting .dog-body{animation:cgPant .55s infinite}.pose-eating-pizza .dog-food,.pose-eating-pizza .dog-crumbs{opacity:1}.pose-eating-pizza .dog-head{animation:cgNibble .28s infinite alternate}.pose-brain-freeze .dog-cold-stars{opacity:1;animation:cgStars .7s infinite}.pose-brain-freeze .dog-eye{transform:scaleY(.15)}.pose-broccoli-disgust .dog-head{transform:translateX(-10px) rotate(-13deg)}.pose-broccoli-disgust .dog-food{opacity:1}.pose-blushing .dog-cheeks,.pose-blushing .dog-hearts{opacity:1}.pose-messy .dog-crumbs{opacity:1}.show-crown .dog-crown,.show-bow .dog-bow,.show-tag .dog-tag,.show-sunglasses .dog-sunglasses,.show-moustache .dog-moustache,.show-wings .dog-wings,.show-hat .dog-hat{opacity:1;animation:cgAccessory .45s ease}.pose-carrying-flower .dog-flower,.pose-stealing-flower .dog-flower,.pose-placing-flower .dog-flower{opacity:1}.pose-spinning{animation:cgSpin .85s ease}.pose-peeking .dog-body,.pose-peeking .dog-legs,.pose-peeking .dog-tail{opacity:0}.pose-peeking .dog-head{transform:translateY(58px) scale(.72)}.cg-theft-dog{position:absolute;right:-190px;bottom:8px;width:190px}.cg-theft-dog.run{animation:cgTheft 3.2s ease-in-out forwards}.cg-reward-flower{font-size:4rem;transition:transform .7s,opacity .7s}.cg-reward-flower.stolen{transform:translate(120px,35px) scale(.35);opacity:0}.cg-paws{letter-spacing:.6rem;color:#bd6873;opacity:0}.cg-paws.show{animation:cgPaws 1s forwards}.cg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:100%}.cg-box{position:relative;min-height:94px;border:0;background:transparent;cursor:pointer}.cg-box-base{position:absolute;inset:30px 5px 5px;border-radius:10px;background:#e9a9ae;box-shadow:0 8px 12px rgba(90,59,56,.15)}.cg-box-lid{position:absolute;left:1px;right:1px;top:22px;height:25px;border-radius:8px;background:#f1bdc1;transform-origin:left bottom;transition:.45s}.cg-ribbon{position:absolute;left:45%;top:22px;width:12%;height:67px;background:#c88f52}.cg-box:not(.open){animation:cgWiggle 2.7s infinite}.cg-box.open .cg-box-lid{transform:translateY(-14px) rotate(-18deg)}.cg-item{position:absolute;left:50%;top:24px;transform:translateX(-50%);opacity:0;font-size:1.35rem}.cg-box.open .cg-item{opacity:1;animation:cgPop .5s ease}.cg-peek{position:absolute;width:72px;height:70px;left:50%;top:4px;transform:translateX(-50%);overflow:hidden}.cg-chase{height:390px}.cg-chase-target{position:absolute;width:132px;height:125px;border:0;background:transparent;cursor:pointer;transition:offset-distance .7s ease}.cg-chase-target.moving{offset-path:path("M 20 150 C 90 10 220 310 300 120");animation:cgPath .75s ease}.cg-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%}.cg-option{min-height:60px;border:1px solid #e4beb9;border-radius:18px;background:#fffaf5;color:#5a3b38;font-weight:700}.cg-response{min-height:3.4em;white-space:pre-line;font-weight:700;color:#bd6873}.cg-note,.cg-result{width:100%;padding:22px;border-radius:18px;background:#fffdf8;border:1px solid #e5c89b;box-shadow:0 15px 35px rgba(90,59,56,.12);white-space:pre-line;line-height:1.65;text-align:left}.cg-result{text-align:center}.cg-root button{min-height:48px}.cg-badge{padding:20px;border-radius:50%;background:#f8d9d9;font-weight:700;animation:bloom .8s}.paw-badge{margin-left:6px}
@keyframes cgBreath{50%{transform:translateY(-3px)}}@keyframes cgWag{to{transform:rotate(-22deg)}}@keyframes cgBlink{0%,45%,49%,100%{transform:scaleY(1)}47%{transform:scaleY(.08)}}@keyframes cgEar{50%{transform:rotate(3deg)}}@keyframes cgLeg{to{transform:rotate(25deg)}}@keyframes cgRunBob{to{transform:translateY(-5px)}}@keyframes cgRunEar{to{transform:rotate(-9deg)}}@keyframes cgPant{50%{transform:scaleY(1.05)}}@keyframes cgNibble{to{transform:translateY(3px) rotate(2deg)}}@keyframes cgStars{50%{transform:rotate(15deg)}}@keyframes cgAccessory{from{transform:translateY(-18px) scale(.4)}}@keyframes cgSpin{to{transform:rotate(360deg)}}@keyframes cgTheft{0%{right:-190px}20%{right:-55px}38%{right:38%}62%{right:38%}100%{right:115%}}@keyframes cgPaws{to{opacity:1}}@keyframes cgWiggle{92%{transform:rotate(0)}95%{transform:rotate(-3deg)}98%{transform:rotate(3deg)}}@keyframes cgPop{from{transform:translate(-50%,20px) scale(.3)}}@keyframes cgPath{to{offset-distance:100%}}
@media(max-width:380px){.cg-dog-wrap{width:190px;height:178px}.cg-box{min-height:84px}.cg-chase{height:350px}}@media(prefers-reduced-motion:reduce){.chihuahua-svg *,.cg-box,.cg-theft-dog,.cg-paws,.pose-spinning{animation-duration:.01ms!important;animation-iteration-count:1!important}.cg-chase-target{transition-duration:.01ms}}

/* Mobile containment and the animated return scene. */
.cg-root{min-width:0;overflow:hidden;padding-inline:2px}.cg-root h1{max-width:100%;font-size:clamp(1.5rem,7vw,2.65rem);line-height:1.08;overflow-wrap:anywhere}.cg-copy{width:100%;overflow-wrap:anywhere}.cg-stage{min-width:0}.cg-return-dog{position:absolute;left:-210px;bottom:8px;width:200px;animation:cgReturnWalk 2.4s ease forwards}.cg-return-flower{position:absolute;left:65%;bottom:30px;font-size:3.8rem;opacity:0;transform:scale(.2)}.cg-return-flower.bloom{animation:cgReturnBloom .8s ease forwards}.cg-return-dog.sit{left:22%;animation:cgProudSit .7s ease forwards}.pose-hiding .dog-head{transform:translateY(80px)}.pose-captured .dog-core{animation:cgCaptured .55s ease}.pose-escaping .dog-core{animation:cgRunBob .18s infinite alternate}.pose-dressed .dog-core,.pose-sitting-proudly .dog-core{transform:translateY(8px)}.pose-placing-flower .dog-head{transform:translateY(18px) rotate(8deg)}
@keyframes cgReturnWalk{0%{left:-210px}75%,100%{left:22%}}@keyframes cgReturnBloom{to{opacity:1;transform:scale(1)}}@keyframes cgProudSit{to{transform:translateX(-22px) scale(.92)}}@keyframes cgCaptured{50%{transform:scale(.88)}}
@media(max-width:430px){.cg-root h1{font-size:1.48rem;word-break:break-word}.cg-copy{word-break:break-word;font-size:.98rem}.cg-root .eyebrow{font-size:.72rem;letter-spacing:.16em}.cg-stage{width:100%}}

/* Illustrated gift boxes. Keep these more specific than the shared button sizing. */
.cg-grid{gap:14px 10px;max-width:520px;padding:10px 2px 18px}.cg-root .cg-box{height:112px;min-height:112px;isolation:isolate;filter:drop-shadow(0 9px 8px rgba(91,55,48,.16));transition:transform .25s ease,filter .25s ease}.cg-root .cg-box:hover,.cg-root .cg-box:focus-visible{transform:translateY(-3px);filter:drop-shadow(0 12px 10px rgba(91,55,48,.2))}.cg-box-base{inset:34px 7px 7px;border:2px solid rgba(112,62,57,.2);border-radius:8px 8px 14px 14px;background:linear-gradient(135deg,#efb1b9 0 48%,#e99fa9 49% 100%);box-shadow:inset 0 5px rgba(255,255,255,.2),inset 0 -8px rgba(134,67,65,.08)}.cg-box-lid{left:2px;right:2px;top:24px;height:30px;border:2px solid rgba(112,62,57,.2);border-radius:10px;background:linear-gradient(#f8c8ce,#eda9b2);box-shadow:0 5px 6px rgba(91,55,48,.14);z-index:4}.cg-ribbon{left:43%;top:24px;width:14%;height:81px;border-inline:1px solid rgba(112,62,57,.16);background:linear-gradient(90deg,#c9873e,#e4ac5b,#c9873e);z-index:5}.cg-box-lid::before,.cg-box-lid::after{content:"";position:absolute;top:-19px;width:28px;height:24px;border:5px solid #d79b4d;background:#f8d7a1;z-index:6}.cg-box-lid::before{left:calc(50% - 29px);border-radius:24px 4px 18px 5px;transform:rotate(15deg)}.cg-box-lid::after{right:calc(50% - 29px);border-radius:4px 24px 5px 18px;transform:rotate(-15deg)}.cg-box:nth-child(3n+2) .cg-box-base{background:linear-gradient(135deg,#f4c6a8 0 48%,#eeb78f 49% 100%)}.cg-box:nth-child(3n+2) .cg-box-lid{background:linear-gradient(#f8d9c0,#efbf9e)}.cg-box:nth-child(3n) .cg-box-base{background:linear-gradient(135deg,#dcb9cf 0 48%,#cfa5c0 49% 100%)}.cg-box:nth-child(3n) .cg-box-lid{background:linear-gradient(#ead2e1,#dab4cc)}.cg-box.open{animation:none;filter:drop-shadow(0 5px 5px rgba(91,55,48,.12))}.cg-box.open .cg-box-lid{transform:translate(-5px,-24px) rotate(-15deg);box-shadow:8px 10px 8px rgba(91,55,48,.13)}.cg-box.open .cg-ribbon{height:70px;opacity:.85}.cg-item{top:42px;z-index:7;font-size:1.75rem;text-shadow:0 3px 3px rgba(91,55,48,.15)}.cg-peek{width:78px;height:76px;top:8px;z-index:8}.cg-peek .cg-dog-wrap{width:78px;height:74px}.cg-peek .chihuahua-svg{filter:drop-shadow(0 4px 3px rgba(91,55,48,.18))}
@media(max-width:430px){.cg-grid{gap:11px 6px}.cg-root .cg-box{height:98px;min-height:98px}.cg-box-base{inset:31px 4px 5px}.cg-box-lid{top:22px;height:27px}.cg-ribbon{top:22px;height:71px}.cg-box-lid::before,.cg-box-lid::after{width:23px;height:20px;top:-16px;border-width:4px}.cg-box-lid::before{left:calc(50% - 24px)}.cg-box-lid::after{right:calc(50% - 24px)}.cg-peek{width:68px;height:68px}.cg-peek .cg-dog-wrap{width:68px;height:65px}}
