:root{--hue:340;--ink:#2b1d2f;--cream:#fff6e0;--cream2:#f3e3c3;--soft:#8a7466;--accent:hsl(var(--hue) 75% 62%);--good:#5fd35f;--low:#ff5a4f;--b:4px;color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:Pixelify Sans,ui-monospace,monospace}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow-x:hidden}body{background-color:#2a2140;background-image:repeating-conic-gradient(#2f2547 0 25%, #2a2140 0 50%);overscroll-behavior:none;-webkit-user-select:none;user-select:none;background-size:16px 16px;min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}h1,h2,h3,p{margin:0}svg{shape-rendering:crispedges}.ico{width:auto;height:30px;display:block}#app{max-width:480px;min-height:100dvh;margin:0 auto}.px-box{background:var(--cream);box-shadow:0 calc(-1 * var(--b)) 0 0 var(--ink), 0 var(--b) 0 0 var(--ink), calc(-1 * var(--b)) 0 0 0 var(--ink), var(--b) 0 0 0 var(--ink), inset calc(-1 * var(--b)) calc(-1 * var(--b)) 0 0 #0000001a}.px-btn{background:var(--cream);box-shadow:0 calc(-1 * var(--b)) 0 0 var(--ink), 0 var(--b) 0 0 var(--ink), calc(-1 * var(--b)) 0 0 0 var(--ink), var(--b) 0 0 0 var(--ink), inset 0 calc(-2 * var(--b)) 0 0 #00000038, inset var(--b) var(--b) 0 0 #ffffff73;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 4px 12px;font-size:17px;font-weight:700;display:flex;position:relative}.px-btn:active{transform:translateY(var(--b));box-shadow:0 calc(-1 * var(--b)) 0 0 var(--ink), 0 var(--b) 0 0 var(--ink), calc(-1 * var(--b)) 0 0 0 var(--ink), var(--b) 0 0 0 var(--ink), inset 0 var(--b) 0 0 #0003}.c-feed{background:#ffb15e}.c-play{background:#8be37d}.c-clean{background:#7cc6ff}.c-sleep{background:#c79bff}.create{padding:max(30px, env(safe-area-inset-top)) 26px 30px;text-align:center;flex-direction:column;align-items:center;gap:22px;min-height:100dvh;display:flex}.create h1{color:var(--cream);text-shadow:0 4px 0 var(--accent);letter-spacing:1px;text-transform:uppercase;font-size:34px;font-weight:700}.egg-preview{background:hsl(var(--hue) 60% 86%);width:232px;height:232px;padding:10px}.egg-preview svg{width:100%;height:100%;display:block}.row{justify-content:center;gap:14px;display:flex}.row.wrap{flex-wrap:wrap;justify-content:flex-start;gap:12px}.chip{background:var(--cream);width:60px;height:60px;padding:4px}.chip svg{width:100%;height:100%;display:block}.chip.on{background:var(--accent)}.swatch{background:hsl(var(--h) 72% 66%);width:34px;height:34px}.swatch.on{outline:var(--b) solid var(--cream);outline-offset:var(--b)}.name{align-items:center;gap:10px;width:100%;max-width:300px;padding:8px 14px;display:flex}.name span{color:var(--soft);text-transform:uppercase;font-size:14px;font-weight:700}.name input{font:inherit;color:var(--ink);-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:22px;font-weight:700}.cta{text-transform:uppercase;letter-spacing:1px;background:#ffd23f;width:100%;max-width:300px;padding:14px 28px;font-size:22px}.home{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 18px max(16px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex}header{justify-content:space-between;align-items:center;padding-top:4px;display:flex}.who{color:var(--cream);align-items:baseline;gap:10px;display:flex}.who h1{text-shadow:0 3px #000;font-size:28px;font-weight:700}.tag{color:#ffd23f;font-size:17px;font-weight:700}.hdr-right{align-items:center;gap:14px;display:flex}.streak{align-items:center;gap:4px;padding:4px 8px;font-size:18px;display:flex}.streak .ico{height:20px}.icon{place-items:center;width:34px;height:34px;display:grid}.icon .ico{max-width:22px;height:18px}.progress{background:#3c3158;height:14px;padding:3px}.progress i{background:repeating-linear-gradient(90deg,#ffd23f 0 8px,#e09a1f 8px 10px);height:100%;transition:width .6s steps(5,end);display:block}.room{background:#9ad8ff;flex:1;min-height:300px;position:relative;overflow:hidden;container-type:size}.roomwrap,.roomwrap svg{width:100%;height:100%;display:block;position:absolute;inset:0}.room.night .petwrap{filter:brightness(.7)saturate(.8)}.petwrap{aspect-ratio:1;width:66.6667cqw;transform:translateX(calc(-50% + var(--wx,0px)));cursor:pointer;transition:transform 1.5s steps(6,end);position:absolute;bottom:6.25cqw;left:50%}.petwrap svg{width:100%;height:100%;transform:scaleX(var(--face,1));display:block;overflow:visible}.poops{z-index:2;cursor:pointer;gap:2.08333cqw;display:flex;position:absolute;bottom:10.4167cqw;left:6.25cqw}.poop-ico{width:18.75cqw;height:auto;animation:.4s steps(3,end) both plop;display:block}.hint{text-align:center;width:100%;color:var(--ink);font-size:20px;font-weight:700;animation:1s step-end infinite blinkText;position:absolute;top:12px}.fx{pointer-events:none;position:absolute;top:45%;left:50%}.fx span{animation:1.3s steps(8,end) both rise;position:absolute}.fx-ico{width:auto;height:30px;display:block}.food-drop{pointer-events:none;animation:.9s steps(6,end) both drop;position:absolute;top:20%;transform:translate(-50%)}.food-drop .fx-ico{height:36px}.stats{grid-template-columns:1fr 1fr;gap:10px 18px;padding:12px 14px;display:grid}.stat{align-items:center;gap:8px;display:flex}.stat .ico{flex:none;width:24px;height:22px}.seg{flex:1;gap:2px;display:flex}.seg i{background:#e3d3b4;flex:1;height:14px}.seg i.on{background:var(--good);box-shadow:inset 0 -3px #0000002e}.stat.low .seg i.on{background:var(--low);animation:.8s step-end infinite blinkText}.actions{grid-template-columns:repeat(4,1fr);gap:14px;padding:4px;display:grid}.actions .ico{height:30px}.toast{opacity:0;pointer-events:none;z-index:30;white-space:nowrap;padding:8px 16px;font-size:18px;font-weight:700;position:fixed;bottom:140px;left:50%;transform:translate(-50%)}.toast.show{opacity:1;animation:.25s steps(3,end) pop}.modal{z-index:20;background:#140c228c;justify-content:center;align-items:flex-end;padding:18px;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:460px;max-height:90dvh;margin-bottom:max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:12px;padding:20px 18px;animation:.25s steps(4,end) up;display:flex;overflow:auto}.sheet h2{font-size:26px;font-weight:700}.sheet h3{text-transform:uppercase;letter-spacing:1px;color:var(--soft);margin-top:6px;font-size:14px}.sheet .cta{align-self:center}.sheet p{font-size:17px;line-height:1.35}.sheet p .ico,.sub .ico{vertical-align:-2px;height:16px;display:inline-block}.sub{color:var(--soft);font-size:15px}.party .sheet{text-align:center;align-items:center}.sheet:has(.celebrate){text-align:center;align-items:center}.celebrate{background:hsl(var(--hue) 60% 86%);width:160px;height:160px;padding:6px}.celebrate svg{width:100%;height:100%;display:block;overflow:visible}.pill{background:var(--cream2);padding:8px 12px;font-size:16px;font-weight:700}.pill.on{background:var(--ink);color:var(--cream)}.pill.warn{background:#ffb0a0}textarea{border:var(--b) solid var(--ink);resize:none;-webkit-user-select:text;user-select:text;background:#fff;padding:10px;font:13px ui-monospace,monospace}.game .sheet{text-align:center;align-items:center}.track{background:#3c3158;width:100%;height:52px;margin:14px 0 6px;position:relative}.track .zone{background:repeating-linear-gradient(90deg, var(--good) 0 8px, #49b849 8px 10px);position:absolute;top:4px;bottom:4px}.track .ball{width:32px;height:32px;margin:-16px 0 0 -16px;position:absolute;top:50%}.track .ball .ico{height:32px}.track.flash-hit{background:#2e8b3a}.track.flash-miss{background:#b8283a}.dots{gap:10px;display:flex}.dots span{background:var(--cream2);width:16px;height:16px;box-shadow:0 0 0 3px var(--ink)}.dots .hit{background:var(--good)}.dots .miss{background:var(--low)}.cta.big{background:#ff7aa2;padding:24px;font-size:30px}.anim-idle .body{animation:1s step-end infinite bob}.walking .anim-idle .body{animation:.25s step-end infinite hop}.anim-eat .body{animation:.3s step-end 4 chomp}.anim-jump .body{animation:.6s steps(6,end) 2 jump}.anim-boing .body{animation:.5s steps(4,end) boing}.anim-wash .body{animation:.16s step-end 6 shakeX}.anim-sleep .body{animation:2.4s step-end infinite bob}.anim-droop .body{animation:2s step-end infinite droop}.anim-sway .body{animation:1.6s step-end infinite shakeX}.wobble .egg{animation:2.4s step-end infinite wobble}.shake .egg{animation:.12s step-end 6 shakeX}.blink{visibility:hidden;animation:4.2s step-end infinite blink}.sparkle{animation:1.2s step-end infinite twinkle}.sparkle.s2{animation-delay:.6s}.zzz g{animation:2s step-end infinite zz}.zzz g:nth-child(2){animation-delay:1s}@keyframes bob{0%{transform:translateY(0)}50%{transform:translateY(1px)}}@keyframes hop{0%{transform:translateY(0)}50%{transform:translateY(-1px)}}@keyframes chomp{0%{transform:translateY(0)}50%{transform:translateY(1px)}}@keyframes jump{0%,to{transform:translateY(0)}33%{transform:translateY(-5px)}50%{transform:translateY(-7px)}66%{transform:translateY(-5px)}}@keyframes boing{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes shakeX{0%{transform:translate(-1px)}50%{transform:translate(1px)}}@keyframes droop{0%{transform:translateY(1px)}50%{transform:translateY(2px)}}@keyframes wobble{0%,70%{transform:translate(0)}75%{transform:translate(-1px)}85%{transform:translate(1px)}95%{transform:translate(0)}}@keyframes blink{0%,93%{visibility:hidden}94%,to{visibility:visible}}@keyframes twinkle{0%{visibility:visible}50%{visibility:hidden}}@keyframes zz{0%{visibility:visible;transform:translateY(0)}50%{visibility:visible;transform:translateY(-2px)}90%{visibility:hidden}}@keyframes rise{0%{opacity:0;transform:translate(-50%,16px)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)), -120px)}}@keyframes drop{0%{opacity:0;transform:translate(-50%,-40px)}20%{opacity:1}70%{opacity:1;transform:translate(-50%,90px)}to{opacity:0;transform:translate(-50%,90px)}}@keyframes plop{0%{transform:translateY(-12px)}to{transform:translateY(0)}}@keyframes pop{0%{transform:translate(-50%,8px)}to{transform:translate(-50%)}}@keyframes up{0%{transform:translateY(40px)}}@keyframes blinkText{0%{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.pet *,.fx span,.food-drop,.hint{animation:none!important}.petwrap{transition:none}}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pixelify-sans-latin-400-normal-DLrIX9QE.woff2)format("woff2"),url(/assets/pixelify-sans-latin-400-normal-JapMNN6Z.woff)format("woff")}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pixelify-sans-latin-700-normal-D3Xxx3QE.woff2)format("woff2"),url(/assets/pixelify-sans-latin-700-normal-BctWAS0u.woff)format("woff")}
