/* Novas brincadeiras: dificuldades, desenho com formas e Zurich animado. */
.memory-board.memory-hard{max-width:min(620px,calc(100dvh - 80px))}
.difficulty{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.difficulty .tab{padding:10px 18px;min-height:46px;font-size:13px}.difficulty small{display:block;font-size:10px;font-weight:600;margin-top:2px}.game-win{background:#e7efdc;color:#5f7955;padding:14px 20px;border:1px solid #bfcea9;border-radius:14px;text-align:center;font-weight:900;margin:14px 0}.memory-board.memory-medium,.memory-board.memory-hard{grid-template-columns:repeat(6,1fr);max-width:760px}.memory-card.open{color:var(--motif)}.memory-card.matched{opacity:1;color:var(--motif);cursor:default}.memory-card.matched:active{transform:none}.memory-hard{gap:9px}.puzzle-tile:disabled{opacity:1;cursor:default}.bank-note{font-size:11px;text-align:center;color:#a18e72;margin:0 0 22px}.drawing-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.drawing-controls h2{font-size:20px}.drawing-tools .option{min-height:83px}.drawing-controls .stage-actions{display:grid}.drawing-controls .button{font-size:11px}.draw-layout{grid-template-columns:minmax(0,1fr) 250px}
.pet-room-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:22px;align-items:start}.pet-room{position:relative;isolation:isolate;overflow:hidden;min-height:510px;border:7px solid #fff8e9;border-radius:100px 100px 28px 28px;background:linear-gradient(#e6eee0 0%,#f1f0df 68%,#d5bd9b 68%,#ead7b9 100%);box-shadow:var(--shadow)}.pet-room:before{content:'';position:absolute;left:0;right:0;top:67%;height:8px;background:#fff6db;box-shadow:0 4px 6px #8f744329;z-index:-1}.room-window{position:absolute;top:39px;right:26px;width:95px;height:120px;border:8px solid #fff5de;outline:1px solid #cfbd99;border-radius:50px 50px 5px 5px;background:linear-gradient(#c6e4e8,#e8f1da);box-shadow:0 5px 10px #8f744318}.room-window:before{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:5px solid #fff5de}.room-window:after{content:'';position:absolute;top:50%;left:0;right:0;border-top:5px solid #fff5de}.room-window span{position:absolute;top:12px;left:7px;font-size:27px;color:#e8bc5d}.room-plant{position:absolute;left:16px;bottom:100px;font:100px Georgia,serif;color:#8a9f76;transform:rotate(-10deg)}.pet-nameplate{position:relative;margin:25px auto 0;text-align:center;max-width:65%;padding:7px 14px 9px;z-index:1;background:#fff7e5e8;border:1px solid #e8d6b7;border-radius:16px;box-shadow:0 3px 8px #85693e15}.pet-nameplate span{display:block;font-size:9px;letter-spacing:1.4px;color:#ad8a66;font-weight:900}.pet-nameplate strong{display:block;overflow-wrap:anywhere;font:29px/1.15 'Patrick Hand',cursive;color:#956e53;margin-top:2px}.pet-world{position:relative;min-height:350px;display:grid;place-items:center;isolation:isolate;padding:20px 0 0}.pet-rug{position:absolute;bottom:12px;left:12%;right:12%;height:77px;border-radius:50%;background:repeating-radial-gradient(ellipse,#dabbb3 0 4px,#e9cec5 5px 9px);transform:rotate(-3deg);box-shadow:0 5px 8px #8b694c25;z-index:-1}.pet-avatar{width:min(420px,100%);aspect-ratio:384/341;background-image:url('assets/zurich-animacoes.png');background-size:400% 300%;background-repeat:no-repeat;background-position:0 0;animation:zurich-idle 3.2s steps(1,end) infinite;transform-origin:50% 88%;filter:drop-shadow(0 7px 3px #63482718)}.pet-world[data-action=eating] .pet-avatar{animation:zurich-eat 1.8s steps(1,end) infinite}.pet-world[data-action=love] .pet-avatar,.pet-world[data-action=play] .pet-avatar,.pet-world[data-action=bath] .pet-avatar{animation:zurich-love 1.4s steps(1,end) infinite}.pet-world[data-action=play] .pet-avatar{animation:zurich-love 1.2s steps(1,end) infinite,zurich-hop .65s ease-in-out infinite}.pet-world[data-action=sleep] .pet-avatar{animation:zurich-breathe 3s ease-in-out infinite;background-position:66.666667% 0;filter:brightness(.9) drop-shadow(0 7px 3px #63482718)}.pet-mood{position:relative;margin:0 12px 20px;text-align:center;font:22px/1.2 'Patrick Hand',cursive;color:#80654d;min-height:28px}.pet-controls{min-width:0}.pet-controls h2{font-size:22px;line-height:1.2;overflow-wrap:anywhere}.pet-controls #pet-message{font-size:13px;min-height:50px;color:#9b8168}.pet-controls .pet-care{margin-top:23px}.pet-controls .pet-care button:last-child{grid-column:span 2}.pet-controls .caption-input{min-width:0;max-width:100%}.pet-love,.pet-bubbles{position:absolute;inset:20px 0 15px;pointer-events:none;opacity:0;overflow:hidden}.pet-world[data-action=love] .pet-love,.pet-world[data-action=play] .pet-love{opacity:1}.pet-love span{position:absolute;left:18%;bottom:18%;font-size:38px;color:#da7e93;animation:zurich-hearts 1.5s ease-out infinite}.pet-love span:nth-child(2){left:72%;animation-delay:.4s;font-size:30px}.pet-love span:nth-child(3){left:50%;animation-delay:.9s;font-size:25px}.pet-world[data-action=bath] .pet-bubbles{opacity:1}.pet-bubbles span{position:absolute;width:34px;height:34px;border:2px solid #b6dae5;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff9,#deeff333);left:25%;bottom:3%;animation:zurich-hearts 1.8s ease-out infinite}.pet-bubbles span:nth-child(2){left:65%;animation-delay:.6s}.pet-bubbles span:nth-child(3){left:47%;animation-delay:1.2s;width:23px;height:23px}.pet-bubbles span:nth-child(4){left:80%;animation-delay:.3s;width:19px;height:19px}.pet-zzz{position:absolute;right:15%;top:25%;font:28px Georgia,serif;color:#8593a8;opacity:0;letter-spacing:8px;pointer-events:none}.pet-world[data-action=sleep] .pet-zzz{opacity:1;animation:zurich-breathe 3s ease-in-out infinite}
@keyframes zurich-idle{0%,54%{background-position:0 0}62%{background-position:33.333333% 0}70%{background-position:66.666667% 0}79%,100%{background-position:100% 0}}@keyframes zurich-eat{0%{background-position:0 50%}25%{background-position:33.333333% 50%}50%{background-position:66.666667% 50%}75%,100%{background-position:100% 50%}}@keyframes zurich-love{0%{background-position:0 100%}25%{background-position:33.333333% 100%}50%{background-position:66.666667% 100%}75%,100%{background-position:100% 100%}}@keyframes zurich-hop{50%{transform:translateY(-12px) rotate(2deg)}}@keyframes zurich-breathe{50%{transform:scale(1.015) translateY(-2px)}}@keyframes zurich-hearts{0%{opacity:0;transform:translateY(0) scale(.7)}20%{opacity:.9}100%{opacity:0;transform:translateY(-140px) scale(1.2)}}
@media(max-width:1050px){.pet-room-layout{grid-template-columns:minmax(0,1fr) minmax(240px,.8fr)}.pet-room{min-height:460px}.pet-world{min-height:310px}.pet-avatar{width:350px}.draw-layout{grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:780px){.pet-room-layout{grid-template-columns:1fr}.pet-room{max-width:560px;width:100%;margin:auto;min-height:470px}.pet-room .pet-avatar{width:380px}.pet-world{min-height:340px}.draw-layout{grid-template-columns:1fr}.drawing-tools{grid-template-columns:repeat(6,1fr)}.drawing-tools .option{font-size:10px;min-height:72px}.drawing-controls .swatches{justify-content:center}.drawing-controls .stage-actions{display:flex}.memory-hard,.memory-medium{gap:7px}}
@media(max-width:520px){.difficulty{gap:7px}.difficulty .tab{padding:9px 14px;font-size:12px}.memory-board.memory-medium,.memory-board.memory-hard{gap:6px}.memory-medium .memory-card,.memory-hard .memory-card{border-radius:9px;border-width:2px;min-height:44px}.memory-card .icon{width:55%;height:55%}.pet-room{border-width:5px;border-radius:70px 70px 25px 25px;min-height:410px}.pet-world{min-height:290px}.pet-room .pet-avatar{width:320px}.pet-nameplate{margin-top:20px;max-width:62%}.pet-nameplate strong{font-size:26px}.pet-mood{font-size:20px}.room-window{width:75px;height:100px;right:13px}.drawing-tools{grid-template-columns:repeat(3,1fr)}.drawing-tools .option{font-size:11px}.bank-note{font-size:10px}.puzzle-board{border-width:5px}}
@media(prefers-reduced-motion:reduce){.pet-avatar,.pet-love span,.pet-bubbles span,.pet-zzz{animation:none!important}.pet-world[data-action=eating] .pet-avatar{background-position:33.333333% 50%}.pet-world[data-action=love] .pet-avatar{background-position:33.333333% 100%}}
.memory-board.memory-hard{max-width:min(620px,calc(100dvh - 80px))}
