:root{--shell: #ff8a5b;--shell-dark: #c4532b;--shell-light: #ffb08e;--lcd: #e7efcf;--lcd-shade: #c9d6a8;--lcd-line: #a9bd84;--ink: #22301a;--ink-soft: #4f6338;--cream: #fff3e0;--cream-shade: #d9b99a;--yellow: #ffd84d;--yellow-shade: #d9a91c;--heart: #e0533a;--r-common: #6f7a5e;--r-uncommon: #2f8a52;--r-rare: #2f62c8;--r-epic: #7b3fbf;--r-legendary: #c47a00;--pixel: "Press Start 2P", monospace;--body: "Tiny5", monospace;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;font-synthesis:none}html,body{margin:0;background:var(--shell);color:var(--ink);font:500 16px/1.35 var(--body)}button,input{font:inherit;color:inherit}h1,h2{margin:0;font-family:var(--pixel);font-weight:400;text-transform:uppercase;letter-spacing:0}h1{font-size:13px;color:#fff;text-shadow:2px 2px 0 var(--shell-dark)}h2{font-size:11px;line-height:1.5}.ico{width:1.25em;height:1.25em;vertical-align:-.28em;flex:none}.app{max-width:560px;height:100vh;height:100dvh;margin:0 auto;padding:12px 14px calc(14px + env(safe-area-inset-bottom));box-shadow:inset -6px -6px 0 var(--shell-dark),inset 6px 6px 0 var(--shell-light);display:flex;flex-direction:column;overflow:hidden}.main{flex:1;min-height:0;overflow-y:auto;margin:0 -10px;padding:4px 10px 6px}.splash{min-height:100vh;display:grid;place-items:center;font-family:var(--pixel);font-size:11px;color:#fff;text-transform:uppercase}.muted{color:var(--ink-soft)}.small{font-size:14px}.center{text-align:center}.strong{font-weight:700}.topbar{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 14px}.coins{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:var(--yellow);padding:5px 10px;font:700 18px var(--body)}.coins .ico{color:var(--ink)}.banner{background:var(--yellow);box-shadow:0 0 0 3px var(--ink);padding:8px 12px;margin:4px 4px 16px;text-align:center;font-weight:600}.offline{background:var(--ink);color:var(--lcd);padding:8px 12px;margin:0 4px 14px}.card,.screen{background:var(--lcd);box-shadow:inset 4px 4px 0 var(--lcd-shade),0 0 0 4px var(--ink);margin:4px 4px 18px;padding:12px;position:relative}.card h2{margin-bottom:10px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.card-head h2{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:10px/1.4 var(--pixel);text-transform:uppercase;padding:12px;background:var(--cream);color:var(--ink);border:none;border-radius:0;cursor:pointer;box-shadow:inset -3px -3px 0 var(--cream-shade),0 0 0 3px var(--ink)}.btn .ico{width:18px;height:18px}.btn:active:not(:disabled){box-shadow:inset 3px 3px 0 var(--cream-shade),0 0 0 3px var(--ink)}.btn:disabled{opacity:.5;cursor:default}.btn-accent{background:var(--yellow);box-shadow:inset -3px -3px 0 var(--yellow-shade),0 0 0 3px var(--ink)}.btn-accent:active:not(:disabled){box-shadow:inset 3px 3px 0 var(--yellow-shade),0 0 0 3px var(--ink)}.btn.small{padding:8px;font-size:8px}.btn.wide{width:100%}.row-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:14px}.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.slot{background:none;border:none;outline:2px dashed var(--lcd-line);outline-offset:-2px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:150px;justify-content:center;cursor:default}.slot-ready{cursor:pointer;outline-style:solid;outline-color:var(--ink)}.slot-empty{color:var(--ink-soft)}.slot-label{font:600 16px var(--body)}.slot-label.strong{font:10px var(--pixel);text-transform:uppercase;animation:blink 1s steps(2) infinite}.progress{width:84%;height:12px;box-shadow:0 0 0 2px var(--ink);background:var(--lcd-shade)}.progress span{display:block;height:100%;background:var(--ink);transition:width 1s steps(4);-webkit-mask:repeating-linear-gradient(90deg,#000 0 6px,transparent 6px 8px);mask:repeating-linear-gradient(90deg,#000 0 6px,transparent 6px 8px)}@keyframes blink{50%{opacity:0}}.egg{width:70px}.egg svg{width:100%;display:block;overflow:visible}.egg-glow-1 svg{filter:drop-shadow(0 0 0 #fff) drop-shadow(2px 0 0 #8ec5ff) drop-shadow(-2px 0 0 #8ec5ff)}.egg-glow-2 svg{filter:drop-shadow(3px 0 0 var(--yellow)) drop-shadow(-3px 0 0 var(--yellow)) drop-shadow(0 3px 0 var(--yellow)) drop-shadow(0 -3px 0 var(--yellow))}.egg-ready{animation:wobble 1.6s steps(8) infinite;transform-origin:50% 90%}.egg-cracking{animation:shake .2s steps(2) infinite;transform-origin:50% 90%}.hatch-egg{padding:40px 0;display:grid;place-items:center}.hatch-egg .egg{width:120px}@keyframes wobble{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-8deg)}80%{transform:rotate(7deg)}90%{transform:rotate(-3deg)}}@keyframes shake{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.pets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}@media (max-width: 400px){.pets-grid{grid-template-columns:1fr 1fr}}.pet-card{position:relative;background:none;border:none;outline:2px solid var(--lcd-line);outline-offset:-2px;padding:6px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}.pet-card:hover{outline-color:var(--ink)}.pet-card:active{transform:translateY(2px)}.pet-svg svg{width:100%;display:block}.pet-name{font:600 17px var(--body);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coin-bubble{position:absolute;top:6px;right:6px;z-index:1;background:var(--ink);color:var(--yellow);font:9px var(--pixel);padding:4px 5px}.pet-card.r-epic,.pet-card.r-legendary{outline-color:var(--c)}.mood{display:inline-flex;align-items:center;gap:8px}.hearts{color:var(--heart);letter-spacing:2px;font-size:16px;line-height:1}.hearts .empty{color:var(--lcd-line)}.mood-label{font:600 14px var(--body);color:var(--ink-soft)}.mood-compact .hearts{font-size:14px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#22301a99;display:flex;align-items:flex-end;justify-content:center;z-index:20;animation:dim-in .2s ease-out}.sheet{background:var(--shell);width:100%;max-width:560px;max-height:94vh;overflow-y:auto;padding:14px 14px calc(18px + env(safe-area-inset-bottom));box-shadow:inset -6px -6px 0 var(--shell-dark),inset 6px 6px 0 var(--shell-light);display:flex;flex-direction:column;gap:4px;animation:slide-up .28s cubic-bezier(.2,.8,.2,1)}@media (min-width: 600px){.sheet-backdrop{align-items:center}.sheet{animation:rise .22s cubic-bezier(.2,.8,.2,1)}}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:2px 4px 10px}.sheet-head h2{font-size:14px;color:#fff;text-shadow:2px 2px 0 var(--shell-dark);cursor:pointer;display:flex;align-items:center;gap:8px}.sheet-head input{font:12px var(--pixel);width:100%;max-width:280px;padding:8px;background:var(--lcd);border:none;box-shadow:0 0 0 3px var(--ink)}.sheet-close{flex:none;width:38px;height:38px;display:grid;place-items:center;background:var(--cream);border:none;cursor:pointer;box-shadow:inset -3px -3px 0 var(--cream-shade),0 0 0 3px var(--ink)}.sheet-stage{padding:10px;margin-bottom:18px}.stage-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.stage-bottom{text-align:center;font-weight:600;color:var(--ink-soft)}.pet-svg.big{max-width:300px;margin:0 auto}.pad-row{display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;padding:6px 0 14px}.pad-item{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:108px}.pad{width:68px;height:68px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;color:var(--shell-dark);background:var(--cream);box-shadow:inset -4px -4px 0 var(--cream-shade),0 5px 0 var(--shell-dark)}.pad .ico{width:30px;height:30px}.pad:active:not(:disabled){transform:translateY(4px);box-shadow:inset 4px 4px 0 var(--cream-shade),0 1px 0 var(--shell-dark)}.pad:disabled{opacity:.55;cursor:default}.pad-label{font:8px var(--pixel);text-transform:uppercase;color:#fff;text-shadow:1px 1px 0 var(--shell-dark)}.pad-timer{font:600 13px var(--body);background:var(--ink);color:var(--lcd);padding:1px 6px}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 4px}.sheet-actions .wide-cell{grid-column:1 / -1}.shell-note{margin:10px 4px 14px;text-align:center;color:#fff;font-size:14px;text-shadow:1px 1px 0 var(--shell-dark)}.passport summary{cursor:pointer;font:10px var(--pixel);text-transform:uppercase;display:flex;align-items:center;gap:8px}.passport dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0 0}.passport dt{color:var(--ink-soft)}.passport dd{margin:0;font-weight:600}.modal{width:calc(100% - 40px);max-width:380px;margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--lcd);box-shadow:inset 4px 4px 0 var(--lcd-shade),0 0 0 4px var(--ink),0 0 0 14px var(--shell),0 0 0 18px var(--ink);padding:18px;animation:rise .22s cubic-bezier(.2,.8,.2,1)}.reveal{width:100%;outline:2px dashed var(--lcd-line);outline-offset:-2px}.pop{animation:pop .45s steps(6)}.name-form{width:100%;display:flex;flex-direction:column;gap:14px}.name-form label{display:flex;flex-direction:column;gap:6px}.name-form input{border:none;background:#fff;box-shadow:0 0 0 3px var(--ink);padding:10px;text-align:center;font:600 20px var(--body)}.grow-stage{position:relative;width:100%;aspect-ratio:228 / 188}.grow-frame{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .6s steps(4),transform .6s steps(4)}.grow-frame.out{opacity:0;transform:scale(.8)}.badge{display:inline-block;font:700 13px var(--body);text-transform:uppercase;color:#fff;background:var(--c);padding:2px 8px;box-shadow:2px 2px 0 var(--ink)}.r-common{--c: var(--r-common)}.r-uncommon{--c: var(--r-uncommon)}.r-rare{--c: var(--r-rare)}.r-epic{--c: var(--r-epic)}.r-legendary{--c: var(--r-legendary)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:40;background:var(--ink);color:var(--yellow);font:11px var(--pixel);padding:12px 16px;box-shadow:0 0 0 3px var(--lcd);width:max-content;max-width:calc(100vw - 40px);text-align:center;line-height:1.6;animation:pop .2s steps(3)}.dev summary{cursor:pointer;font:9px var(--pixel);text-transform:uppercase;display:flex;align-items:center;gap:8px}.dev .btn{font-size:9px;padding:8px 10px}@keyframes rise{0%{transform:translateY(16px);opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}@keyframes dim-in{0%{background-color:transparent}}@keyframes pop{0%{transform:scale(.8);opacity:0}}.pet-breathe{transform-box:view-box;transform-origin:100px 184px;animation:pet-breathe 3.2s ease-in-out infinite}.pet-blink{transform-box:fill-box;transform-origin:center;animation:pet-blink 5s infinite}.pet-sleep .pet-breathe{animation-duration:4.8s}@keyframes pet-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025,.975)}}@keyframes pet-blink{0%,93%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@media (prefers-reduced-motion: reduce){*,.pet-breathe,.pet-blink{animation:none!important}}.topbar-right{display:flex;align-items:center;gap:10px}.icon-btn{width:38px;height:38px;display:grid;place-items:center;background:var(--cream);color:var(--ink);border:none;cursor:pointer;box-shadow:inset -3px -3px 0 var(--cream-shade),0 0 0 3px var(--ink)}.icon-btn .ico{width:22px;height:22px}.icon-btn:active{box-shadow:inset 3px 3px 0 var(--cream-shade),0 0 0 3px var(--ink)}.screen h3{margin:0 0 12px;font:10px/1.5 var(--pixel);text-transform:uppercase}.sheet .screen{margin-bottom:18px}.stack{display:flex;flex-direction:column;gap:12px}.stack p{margin:0}.form{display:flex;flex-direction:column;gap:12px}.form label{display:flex;flex-direction:column;gap:6px}.form label>span{color:var(--ink-soft)}.form input{border:none;background:#fff;box-shadow:0 0 0 3px var(--ink);padding:10px 12px;font:18px var(--body);color:var(--ink);border-radius:0}.form input:focus{outline:none;box-shadow:0 0 0 3px var(--ink),0 0 0 6px var(--yellow)}.form-note{margin:0;color:var(--ink-soft)}.form-note.small{font-size:.8em}.form-note a{color:inherit;text-decoration:underline}.privacy-foot{text-align:center;margin-top:8px}.form-error{margin:0;color:#b3261e}.seg{display:flex;gap:14px;flex-wrap:wrap}.toggle{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:17px}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-box{width:40px;height:22px;flex:none;background:var(--lcd-shade);box-shadow:0 0 0 2px var(--ink);position:relative}.toggle-box:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--ink-soft);transition:transform .15s steps(2)}.toggle input:checked+.toggle-box{background:var(--yellow)}.toggle input:checked+.toggle-box:after{transform:translate(18px);background:var(--ink)}.toggle input:focus-visible+.toggle-box{box-shadow:0 0 0 2px var(--ink),0 0 0 5px var(--yellow)}.push-ask{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:14px;padding:10px;background:var(--yellow);box-shadow:0 0 0 3px var(--ink)}.push-ask .ico{width:22px;height:22px}.push-ask span{flex:1;min-width:160px}.push-ask-actions{display:flex;gap:10px}.modal p{margin:0}.yard{flex:1;min-height:0;position:relative;display:flex;justify-content:center;background:var(--ink);padding:5px;box-shadow:0 0 0 3px var(--ink);margin:4px 4px 12px}.yard-scene{display:block;height:100%;max-width:100%;aspect-ratio:9 / 15;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;cursor:pointer}.yard-zzz{font:9px var(--pixel);fill:#fff;paint-order:stroke;stroke:var(--ink);stroke-width:3px}.yard-name{font:600 15px var(--body);fill:#fff;paint-order:stroke;stroke:var(--ink);stroke-width:4px;stroke-linejoin:round}.yard-plus{font:11px var(--pixel);fill:var(--yellow);paint-order:stroke;stroke:var(--ink);stroke-width:3px}.yard-egg-ready{transform-box:fill-box;transform-origin:50% 90%;animation:wobble 1.6s steps(8) infinite}.yard-bang{animation:blink 1s steps(2) infinite}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:6px 4px 0;flex:none}.tab{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;font:11px var(--pixel);text-transform:uppercase;color:var(--ink);background:var(--cream);border:none;border-radius:0;cursor:pointer;box-shadow:inset -4px -4px 0 var(--cream-shade),0 0 0 3px var(--ink)}.tab .ico{width:20px;height:20px}.tab.on{background:var(--yellow);box-shadow:inset -4px -4px 0 var(--yellow-shade),0 0 0 3px var(--ink)}.tab:active{box-shadow:inset 4px 4px 0 var(--cream-shade),0 0 0 3px var(--ink)}.collection-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:-2px 0 12px}.yard-count{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink-soft)}.chip{display:inline-flex;align-items:center;gap:6px;border:none;cursor:pointer;background:var(--ink);color:var(--lcd);padding:4px 8px;font:600 14px var(--body)}.yard-badge{position:absolute;top:6px;left:6px;z-index:1;width:24px;height:24px;display:grid;place-items:center;background:var(--lcd);color:#2f8a52;box-shadow:0 0 0 2px var(--ink)}.app>.push-ask{margin:4px 4px 14px;flex:none}
