.sp-page{overflow-x:hidden}.sp-main{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:16px 0 18px}@media (min-width:860px){.sp-main{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}}.sp-stage-card{padding:14px}.sp-stage{position:relative;max-width:480px;margin:0 auto;border-radius:18px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;outline:none}.sp-stage:focus-visible{box-shadow:0 0 0 3px #e3891f}.sp-stage:active{cursor:grabbing}.sp-svg{display:block;border-radius:16px;box-shadow:0 0 0 2px #c79a4b,0 10px 30px rgba(33,22,13,.25)}.sp-hint{margin:10px 0 8px}.sp-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.sp-actions .btn{flex:1 1 auto;min-width:0;white-space:normal}@media (max-width:520px){.sp-actions .btn{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 8px);font-size:.9rem;padding-left:8px;padding-right:8px}}.sp-toasts{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}.sp-mood{margin:2px 0 0;font-size:clamp(1.4rem,3vw,1.9rem)}.sp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.sp-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:8px}.sp-stages span{text-align:center;font-size:.72rem;padding:6px 2px;border-radius:8px;border:1px solid #c79a4b;color:#574330;overflow:hidden;text-overflow:ellipsis}.sp-stages span.done{background:rgba(199,154,75,.25)}.sp-stages span.on{background:#e3891f;color:#fff;border-color:#e3891f;font-weight:700}.sp-fruit{display:flex;gap:12px;align-items:center}.sp-fruit svg{flex:none}.sp-why{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:8px}@media (min-width:700px){.sp-why{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1040px){.sp-why{grid-template-columns:repeat(3,minmax(0,1fr))}}.sp-advice li{margin-bottom:6px}.sp-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:10px}.sp-badge{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:12px;border:1px dashed #c79a4b;opacity:.62;min-width:0}.sp-badge.got{opacity:1;border-style:solid;background:rgba(227,137,31,.08)}.sp-bi{font-size:1.5rem;line-height:1}.sp-plus{margin-bottom:18px}.sp-mini{max-width:240px;margin:0 auto}.sp-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sp-pair .sp-mini{max-width:none}.sp-select{width:100%;margin-bottom:8px;padding:6px 8px;border-radius:8px;border:1px solid #c79a4b;background:#fbf3df;color:#21160d}.sp-upsell{margin-bottom:18px}.sp-evolve{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:12px}.sp-bubble{left:6%;right:6%;top:4%;color:#21160d;border:2px solid #c79a4b;border-radius:16px;padding:10px 12px;box-shadow:0 8px 20px rgba(0,0,0,.3);cursor:default;animation:sp-pop .25s ease-out}.sp-bubble,.sp-bubble:after{position:absolute;background:#fffaf0}.sp-bubble:after{content:"";left:50%;bottom:-10px;width:16px;height:16px;border-right:2px solid #c79a4b;border-bottom:2px solid #c79a4b;transform:translateX(-50%) rotate(45deg)}.sp-bubble p{margin:0 0 6px;font-size:.98rem;line-height:1.4}.sp-heart{position:absolute;pointer-events:none;color:#f2557f;font-size:1.5rem;transform:translate(-50%,-50%);animation:sp-heart 1.3s ease-out forwards;text-shadow:0 1px 2px rgba(0,0,0,.3)}.sp-heart.sp-spark{color:#ffe08a}.sp-svg .sp-crt,.sp-svg .sp-egg{transform-box:fill-box;transform-origin:50% 100%;animation:sp-breathe 3.4s ease-in-out infinite}.sp-svg .sp-float{animation:sp-float 4s ease-in-out infinite}.sp-svg .sp-blink{transform-box:fill-box;transform-origin:center;animation:sp-blink 5s infinite}.sp-svg .sp-tail{transform-box:fill-box;transform-origin:0 100%;animation:sp-wag 2.4s ease-in-out infinite}.sp-svg .sp-flick{transform-box:fill-box;transform-origin:50% 100%;animation:sp-flick 1.1s ease-in-out infinite}.sp-svg .sp-wingL{transform-box:fill-box;transform-origin:100% 50%;animation:sp-flapL 1.6s ease-in-out infinite}.sp-svg .sp-wingR{transform-box:fill-box;transform-origin:0 50%;animation:sp-flapR 1.6s ease-in-out infinite}.sp-svg .sp-tent{transform-box:fill-box;transform-origin:50% 0;animation:sp-sway 3s ease-in-out infinite}.sp-svg .sp-twinkle{animation:sp-twinkle 2.8s ease-in-out infinite}.sp-svg .sp-aura{transform-box:fill-box;transform-origin:center;animation:sp-pulse 3s ease-in-out infinite}.sp-svg .sp-orbit{transform-origin:100px 116px;animation:sp-spin 14s linear infinite}.sp-svg .sp-z{animation:sp-z 2.6s ease-in-out infinite}.sp-svg .sp-z2{animation-delay:.6s}.sp-svg .sp-z3{animation-delay:1.2s}.sp-svg .sp-sweat{animation:sp-drip 1.8s ease-in infinite}.sp-svg .sp-chomp{animation:sp-chomp .28s ease-in-out infinite}.sp-svg .sp-chomp,.sp-svg .sp-eat{transform-box:fill-box;transform-origin:center}.sp-svg .sp-eat{animation:sp-eat 1.1s ease-in forwards}.sp-m-energetic .sp-crt{animation:sp-bounce .75s ease-in-out infinite!important}.sp-m-energetic .sp-tail{animation-duration:.9s!important}.sp-m-cuddly .sp-crt{animation:sp-snuggle 2.6s ease-in-out infinite!important}.sp-m-sleepy .sp-crt{animation:sp-breathe 5.5s ease-in-out infinite!important}.sp-m-sleepy .sp-flick,.sp-m-sleepy .sp-tail,.sp-m-sleepy .sp-wingL,.sp-m-sleepy .sp-wingR{animation-duration:4s!important}.sp-m-worried .sp-crt{animation:sp-shiver 2.2s ease-in-out infinite!important}.sp-m-quiet .sp-crt{animation-duration:4.6s!important}.sp-s-0 .sp-egg{animation:sp-wobble 2.8s ease-in-out infinite}.sp-purr .sp-svg .sp-crt,.sp-purr .sp-svg .sp-egg{animation:sp-purr .12s linear 5!important}.sp-hop .sp-svg .sp-crt,.sp-hop .sp-svg .sp-egg{animation:sp-hop .45s ease-out 1!important}@keyframes sp-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025,.975)}}@keyframes sp-float{0%,to{transform:translateY(-4px)}50%{transform:translateY(4px)}}@keyframes sp-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes sp-wag{0%,to{transform:rotate(-4deg)}50%{transform:rotate(6deg)}}@keyframes sp-flick{0%,to{transform:scale(1)}50%{transform:scale(.9,1.12)}}@keyframes sp-flapL{0%,to{transform:rotate(0)}50%{transform:rotate(-14deg)}}@keyframes sp-flapR{0%,to{transform:rotate(0)}50%{transform:rotate(14deg)}}@keyframes sp-sway{0%,to{transform:skewX(-4deg)}50%{transform:skewX(4deg)}}@keyframes sp-twinkle{0%,to{opacity:.2}50%{opacity:.9}}@keyframes sp-pulse{0%,to{transform:scale(.94);opacity:.75}50%{transform:scale(1.06);opacity:1}}@keyframes sp-spin{to{transform:rotate(1turn)}}@keyframes sp-z{0%{opacity:0;transform:translateY(4px)}40%{opacity:1}to{opacity:0;transform:translate(6px,-10px)}}@keyframes sp-drip{0%{opacity:0;transform:translateY(-2px)}30%{opacity:1}to{opacity:0;transform:translateY(6px)}}@keyframes sp-chomp{0%,to{transform:scaleY(1)}50%{transform:scaleY(.3)}}@keyframes sp-eat{0%{transform:translateY(-26px) scale(1.2)}60%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(0) scale(0);opacity:0}}@keyframes sp-bounce{0%,to{transform:translateY(0) scale(1.03,.97)}40%{transform:translateY(-12px) scale(.98,1.03)}70%{transform:translateY(0) scale(1.04,.96)}}@keyframes sp-snuggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes sp-shiver{0%,80%,to{transform:translateX(0)}84%{transform:translateX(-1.5px)}88%{transform:translateX(1.5px)}92%{transform:translateX(-1px)}96%{transform:translateX(1px)}}@keyframes sp-wobble{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-5deg)}84%{transform:rotate(5deg)}92%{transform:rotate(-2deg)}}@keyframes sp-purr{0%{transform:translateX(-1px) rotate(-1deg)}50%{transform:translateX(1px) rotate(1deg)}to{transform:translateX(0) rotate(0)}}@keyframes sp-hop{0%{transform:translateY(0)}40%{transform:translateY(-14px) scale(1.04)}to{transform:translateY(0)}}@keyframes sp-heart{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}20%{opacity:1;transform:translate(-50%,-60%) scale(1.1)}to{opacity:0;transform:translate(-50%,-260%) scale(.9)}}@keyframes sp-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.sp-bubble,.sp-stage *,.sp-svg *{animation:none!important}.sp-heart{animation:sp-fade 1.2s ease-out forwards!important}@keyframes sp-fade{0%{opacity:1}to{opacity:0}}}