/* All reward art shares the established pixel LCD. Color only unlocks at 15. */
.screen{--room-floor:#b8c88e;--room-wood:#7e925b;--room-sky:#bdcfa1;--room-soft:#9fb17b;--room-light:#e1eac5;--toy-dark:#586c3f;--toy-mid:#839d60;--toy-light:#c1d29b}
.reward-room{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.furnished-room,.cloud-room-art,.cozy-art,.star-room-art{display:none}.screen[data-room=bedroom] .furnished-room,.screen[data-room=stars] .furnished-room{display:block}.screen[data-room=stars] .bedroom-art{display:none}.screen[data-room=stars] .star-room-art{display:block}.screen[data-room=clouds] .cloud-room-art{display:block}.screen[data-decor=cozy] .cozy-art{display:block}.screen[data-room=stars]{--room-sky:#6a8056;--room-light:#dae8b1}.screen[data-room=clouds]{--room-sky:#9ab77b}.room-twinkle{animation:room-twinkle 3s steps(3,end) infinite}.screen[data-scene=wash] .reward-room,.screen[data-scene] .toy-button{visibility:hidden}
.toy-button{position:absolute;right:8%;bottom:17%;width:14%;aspect-ratio:1;padding:0;background:none;border:0;z-index:4;cursor:pointer}.toy-button svg{width:100%;height:100%;filter:drop-shadow(0 2px 0 #49583833)}.toy-button:disabled{opacity:1}.screen[data-toy-active=true] .toy-button{animation:ball-roll 9s steps(24,end) infinite}.screen[data-toy-active=true] .toy-button svg{animation:ball-spin 3s steps(16,end) infinite}.screen .toy-button.toy-play{animation:ball-play 1.7s ease-in-out}.screen:not([data-scene]):not(.sleeping) .pet-button.affection-hug{animation:friend-hug 1.6s steps(4,end)}.screen:not([data-scene]):not(.sleeping) .pet-button.affection-dance{animation:friend-dance .4s steps(4,end) 4}.screen:not([data-scene]):not(.sleeping) .pet-button.affection-hearts{animation:friend-hearts .5s steps(4,end) 3}.screen:not([data-scene]):not(.sleeping) .pet-button.best-greeting{animation:best-greeting 1s steps(8,end) 4}.best-friend-badge{position:absolute;top:11%;left:0;right:0;text-align:center;font:1.8cqw monospace;color:var(--lcd-ink);z-index:6;letter-spacing:.4px}
.screen[data-color=true]{--lcd:#f7e5cc;--lcd-ink:#514156;--room-floor:#d5b799;--room-wood:#a27e78;--room-sky:#b4d8e5;--room-soft:#d7acc3;--room-light:#fff0cc;--toy-dark:#87556e;--toy-mid:#e98e8a;--toy-light:#f9d786;background-color:var(--lcd);border-color:#9e8f85;background-image:linear-gradient(#685b6d08 1px,transparent 1px),linear-gradient(90deg,#685b6d08 1px,transparent 1px)}.screen[data-color=true][data-room=stars]{--lcd:#c4c0df;--room-floor:#aaa3c3;--room-sky:#596184;--room-light:#fff1b8;--room-wood:#79718d;--room-soft:#bd9bc7}.screen[data-color=true][data-room=clouds]{--lcd:#c7e3e6;--room-floor:#b6d6dc;--room-sky:#8fafd6;--room-light:#fff2e7;--room-soft:#d8b6cf;--room-wood:#ba94b0}.screen[data-color=true] .floor-shadow{background:#9e799a44}.screen[data-color=true] .mess{color:#907056}.screen[data-color=true] .mess svg [fill="#a5b77c"]{fill:#bb9671}.screen[data-color=true] .mess svg [fill="#dce6b9"]{fill:#e7d1b8}.screen[data-color=true] .blanket{background:#a5b8da;border-color:#7586ab}.screen[data-color=true] .scene-art [fill="#596b42"],.screen[data-color=true] .scene-art [fill="#677d4d"]{fill:#9181a3}.screen[data-color=true] .scene-art [fill="#9db07b"],.screen[data-color=true] .scene-art [fill="#b1c28c"]{fill:#bccadd}.screen[data-color=true] .scene-art [fill="#7f9460"]{fill:#c6a68d}.screen[data-color=true] .scene-art [fill="#839759"],.screen[data-color=true] .scene-art [fill="#a8b575"]{fill:#d39c6f}.screen[data-color=true] .scene-art [fill="#617844"]{fill:#a27156}.screen[data-color=true] .scene-art [fill="#e3ebcd"]{fill:#fff5eb}.screen[data-color=true] .scene-art [fill="#c8d6a7"]{fill:#c9dbe0}.screen[data-color=true] .scene-art [stroke="#adbe8c"]{stroke:#a1bcc8}.screen[data-color=true] .scene-art [stroke="#a9c08a"]{stroke:#91c6db}
.unlock-flash{position:absolute;inset:31% 7% auto;padding:9% 5%;border:2px solid var(--lcd-ink);background:var(--lcd);color:var(--lcd-ink);z-index:12;box-shadow:3px 3px 0 #49583844;text-align:center;font-size:3.8cqw;font-weight:800;line-height:1.6;pointer-events:none}.reward-upgrade{animation:upgrade-flash .7s steps(3,end) 4}
.friendship-rewards button,.friendship-wardrobe button{display:block;border:1px solid var(--line);border-radius:9px;padding:9px 12px;margin-top:10px;background:var(--accent-bg);color:var(--ink);font-size:11px;min-height:36px}.friendship-rewards button:disabled{opacity:.5;cursor:default}.friendship-rewards li[data-reached=true] .reward-level{color:var(--ink)}.friendship-wardrobe{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.friendship-wardrobe button{margin-top:0}.finds-album{padding:12px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)!important;font-size:11px!important;line-height:1.6}.game-picker button:disabled{opacity:.5}.garden-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);height:100%;padding:16px;gap:12px;background:radial-gradient(ellipse at center,#c8dcad,#b7cea0)}.garden-grid button{border:1px solid #8fa774;border-radius:12px;background:#dce8bd;font-size:32px;color:#658052}.garden-grid button:disabled{opacity:1;background:#eef0d5}.care-actions small{max-width:100%;overflow:hidden;text-overflow:ellipsis}
@keyframes room-twinkle{50%{opacity:.45}}@keyframes ball-roll{0%,15%,100%{translate:0 0}35%,55%{translate:-60% -15%}75%{translate:-20% 0}}@keyframes ball-spin{to{rotate:360deg}}@keyframes ball-play{0%,100%{translate:0 0}25%{translate:-180% -80%;rotate:-180deg}55%{translate:-360% 0;rotate:-360deg}80%{translate:-100% -120%;rotate:180deg}}@keyframes friend-hug{25%,75%{transform:translateY(3%) scale(1.12,.88) rotate(-5deg)}50%{transform:translateY(-5%) scale(.95,1.08) rotate(5deg)}}@keyframes friend-dance{25%{transform:translate(-9%,-9%) rotate(-12deg)}75%{transform:translate(9%,-9%) rotate(12deg)}}@keyframes friend-hearts{50%{transform:translateY(-12%) scale(1.08)}}@keyframes best-greeting{0%,100%{transform:translate(0,0)}20%{transform:translate(-20%,-15%) rotate(-15deg)}40%{transform:translate(0,-30%)}60%{transform:translate(20%,-15%) rotate(15deg)}80%{transform:translate(0,-10%) scale(1.12,.9)}}@keyframes upgrade-flash{50%{filter:brightness(1.25)}}
.screen{--walk-leaf:#7d955b;--walk-grass:#a5bb7b;--walk-flower:#697f48}.screen[data-color=true]{--walk-leaf:#77a77d;--walk-grass:#b2cf8d;--walk-flower:#df96ae}
.scene-walk .walk-garden{display:block;z-index:1}.scene-walk .reward-room,.scene-walk .room-details,.scene-walk .floor-shadow,.scene-walk .mess,.scene-walk .best-friend-badge{visibility:hidden}
.walk-landscape{animation:garden-pass 12s linear infinite}.screen[data-scene=walk] .pet-button{width:42%;left:29%;bottom:11%;animation:garden-step .5s steps(2,end) infinite}
.screen[data-walk-phase="1"] .pet-button{animation:garden-sniff 1s steps(3,end) infinite}.screen[data-walk-phase="1"] .walk-landscape,.screen[data-walk-phase="2"] .walk-landscape{animation-play-state:paused}
.screen[data-walk-phase="2"] .pet-button{animation:garden-find .8s steps(3,end) infinite}.walk-find{display:none;position:absolute;right:23%;bottom:25%;z-index:5;color:var(--walk-leaf);font-size:6cqw;filter:drop-shadow(1px 1px 0 var(--room-light))}.screen[data-walk-phase="2"] .walk-find,.screen[data-walk-phase="3"] .walk-find{display:block;animation:room-twinkle 1s steps(2,end) infinite}
.walk-home{position:absolute;right:4%;top:30%;z-index:9;padding:5px 7px;border:1px solid var(--lcd-ink);border-radius:5px;background:var(--lcd);color:var(--lcd-ink);font:2.7cqw monospace;min-height:24px}.scene-walk .speech{background:var(--lcd);border-radius:3px}
@keyframes garden-pass{to{transform:translateX(-240px)}}@keyframes garden-step{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-4%) rotate(3deg)}}@keyframes garden-sniff{50%{transform:translate(10%,4%) rotate(8deg)}}@keyframes garden-find{50%{transform:translateY(-9%) rotate(-5deg)}}
/* Lights out inside the LCD; shell and care controls keep their brightness. */
.screen::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:inherit;background:#142019;opacity:0;transition:opacity .7s ease}
.screen[data-color=true]::after{background:#161e32}
.screen.sleeping::after{opacity:.74}
.screen.sleeping{--lcd-ink:#d6dec0}
.screen.sleeping[data-color=true]{--lcd-ink:#d9dced}
.screen.sleeping .sleep-scene{z-index:6}
.screen.sleeping .pet-button{z-index:6;filter:brightness(.6) saturate(.75)}
.screen.sleeping .sleep-scene>span{color:#e3e8ba;text-shadow:0 0 10px #dce8b333}
.screen.sleeping .sleep-scene i{color:var(--lcd-ink)}
.screen.sleeping .blanket{filter:brightness(.62) saturate(.75)}
.screen.sleeping .screen-status{opacity:.85}
@media(prefers-reduced-motion:reduce){.screen,.screen *{animation:none!important}.screen::after{transition:none}}
