/* Milo game V0.2 Fix 1 — Progressive Growth + semantic interaction FX */
.growth-curve-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.growth-curve-summary>div{display:flex;align-items:center;gap:10px}.growth-curve-summary>div>span{font-size:28px}.growth-curve-summary small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.growth-curve-summary>strong{font-size:12px;white-space:nowrap;color:#4f6d59}.growth-curve-list{display:grid;gap:9px}.growth-curve-row{background:#fff;border-radius:17px;padding:12px 13px;box-shadow:var(--soft);display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;border:1px solid rgba(70,50,50,.05)}.growth-curve-row.active{outline:2px solid var(--mint);background:#f4fbf7}.growth-curve-row.done{opacity:.62}.growth-curve-level{font-weight:900}.growth-curve-level span{color:var(--muted);padding:0 3px}.growth-curve-target{font-weight:900;color:#557964;font-size:12px}.growth-curve-row small{grid-column:1/-1;color:var(--muted);font-size:10px}
.cat-stage{isolation:isolate}.interaction-fx{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.fx-caption{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:var(--soft);font-size:11px;font-weight:900;animation:fxCaption .9s ease both}
.fx-pet .fx-hand{position:absolute;left:55%;top:15%;font-size:38px;animation:fxPetHand .95s ease both}.fx-pet .fx-heart{position:absolute;font-size:21px;animation:fxHeart 1s ease both}.fx-pet .h1{left:42%;top:24%}.fx-pet .h2{left:59%;top:29%;animation-delay:.12s}
.fx-play .fx-yarn{position:absolute;font-size:35px;left:14%;bottom:18%;animation:fxYarn 1.05s cubic-bezier(.2,.75,.3,1) both}.fx-play .fx-spark{position:absolute;font-size:20px;animation:fxSpark .9s ease both}.fx-play .s1{left:62%;top:21%}.fx-play .s2{left:28%;top:31%;animation-delay:.14s}
.fx-feed .fx-food{position:absolute;font-size:36px;right:8%;top:47%;animation:fxFood 1s cubic-bezier(.2,.7,.25,1) both}.fx-feed .fx-crumb{position:absolute;left:49%;top:49%;font-weight:900;animation:fxCrumb .8s ease both}.fx-feed .c2{left:54%;top:53%;animation-delay:.12s}
.fx-rest .fx-moon{position:absolute;right:18%;top:12%;font-size:34px;animation:fxMoon 1.25s ease both}.fx-rest .fx-zzz{position:absolute;right:31%;top:30%;font-weight:900;color:#7d86a7;text-shadow:0 2px 10px rgba(90,90,130,.18);animation:fxZzz 1.2s ease both}.fx-rest .z1{font-size:27px}.fx-rest .z2{font-size:20px;right:25%;top:25%;animation-delay:.15s}.fx-rest .z3{font-size:15px;right:20%;top:20%;animation-delay:.28s}
@keyframes fxCaption{0%{opacity:0;transform:translate(-50%,8px) scale(.96)}18%,75%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-4px) scale(.98)}}@keyframes fxPetHand{0%{opacity:0;transform:translate(28px,-22px) rotate(12deg)}20%{opacity:1}45%{transform:translate(-8px,18px) rotate(-8deg)}72%{transform:translate(5px,5px) rotate(5deg)}100%{opacity:0;transform:translate(-10px,24px) rotate(-5deg)}}@keyframes fxHeart{0%{opacity:0;transform:translateY(12px) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-50px) scale(1.2)}}@keyframes fxYarn{0%{opacity:0;transform:translateX(-10px) rotate(0) scale(.8)}12%{opacity:1}45%{transform:translate(170px,-55px) rotate(220deg) scale(1)}75%{transform:translate(250px,-12px) rotate(400deg) scale(.95)}100%{opacity:0;transform:translate(300px,-28px) rotate(520deg) scale(.8)}}@keyframes fxSpark{0%,100%{opacity:0;transform:scale(.5) rotate(0)}35%,65%{opacity:1;transform:scale(1.2) rotate(18deg)}}@keyframes fxFood{0%{opacity:0;transform:translate(45px,30px) scale(.75)}18%{opacity:1}68%{opacity:1;transform:translate(-115px,-24px) scale(1)}100%{opacity:0;transform:translate(-125px,-28px) scale(.45)}}@keyframes fxCrumb{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:translate(14px,-22px) scale(.7)}}@keyframes fxMoon{0%{opacity:0;transform:translateY(-12px) rotate(-15deg)}25%,75%{opacity:1}100%{opacity:0;transform:translateY(5px) rotate(8deg)}}@keyframes fxZzz{0%{opacity:0;transform:translateY(10px) scale(.75)}25%{opacity:1}100%{opacity:0;transform:translate(-10px,-42px) scale(1.2)}}
@media (max-width:410px){.growth-curve-summary{align-items:flex-start;flex-direction:column}.growth-curve-summary>strong{align-self:flex-end}.fx-play .fx-yarn{font-size:31px}@keyframes fxYarn{0%{opacity:0;transform:translateX(-10px) rotate(0) scale(.8)}12%{opacity:1}45%{transform:translate(125px,-48px) rotate(220deg) scale(1)}75%{transform:translate(205px,-8px) rotate(400deg) scale(.95)}100%{opacity:0;transform:translate(240px,-24px) rotate(520deg) scale(.8)}}}
