/* Camp boards, daily weather and the companion's thirty small performances. */
.app-shell .daily-note{display:block;transform:none}.app-shell .weather-button>span{display:inline}.app-shell .weather-button>span:first-child{font-size:20px}.app-shell .weather-button>span:last-child{font-size:10px}.camp-grid{position:relative}.link-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2;filter:drop-shadow(0 0 4px #f7d47b)}.link-route polyline{stroke:#d9a436;stroke-width:.06;stroke-linecap:round;stroke-linejoin:round;animation:camp-link-glow .7s ease-out}.board-match3>button{animation:camp-fruit-fall .3s ease-out}.board-match3>button.selected{animation:camp-fruit-pop .38s ease-in both}@keyframes camp-fruit-fall{from{translate:0 -20px;opacity:.3}to{translate:0 0;opacity:1}}@keyframes camp-fruit-pop{40%{scale:1.2}100%{scale:.3;opacity:0}}@keyframes camp-link-glow{from{opacity:.3}50%{opacity:1;stroke:#ffd05d}to{opacity:.8}}
.daily-note{margin:16px 0 0;padding:15px 18px;border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:0 3px 0 #70895a0a}.daily-note>span{font-size:10px;color:var(--muted);letter-spacing:1px}.daily-note blockquote{margin:7px 0;font-size:13px;line-height:1.65}.daily-note blockquote small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.daily-note footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.daily-note .text-button{font-size:11px;padding:3px 8px}
.weather-button{background:transparent;border:0;cursor:pointer;text-align:right;max-width:240px;line-height:1.5;gap:6px}.weather-button:hover{color:var(--ink)}.weather-settings{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.weather-settings>label{display:block;font-size:12px;margin:12px 0 6px}.weather-settings>select{width:100%;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--canvas);color:var(--ink)}.weather-settings form{display:flex;gap:8px;margin:12px 0}.weather-settings input{min-width:0;width:100%;font-size:12px}.weather-settings form .button{padding:10px 15px;flex-shrink:0;font-size:12px}.weather-settings>p{font-size:12px;line-height:1.8;margin:8px 0}.weather-settings>small{font-size:10px;color:var(--muted);display:block;line-height:1.7}.weather-settings a{color:var(--muted)}.built-in-music select{max-width:50%}
.camp-invites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.camp-invites:has(>.mini-invite:only-of-type){grid-template-columns:1fr}.camp-invites>.mini-quota{grid-column:1/-1}.checkpoint-loot{grid-template-columns:minmax(115px,.65fr) minmax(0,1.5fr)}.mini-invite{min-width:0;background:#ffffff60;border:1px solid #d4e4c750;border-radius:18px;padding:14px 9px}.mini-invite>p{line-height:1.8}.mini-invite>.button{min-width:0}.mini-modal:has(.camp-player){max-width:620px}.camp-player{outline:none}.camp-player:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.camp-player .mini-game-heading h3{font-size:20px}.camp-player .mini-game-heading{padding-right:12px}.camp-player>p small{display:inline;font-size:10px}.camp-scene{position:relative;isolation:isolate;background:linear-gradient(150deg,#e7f0df,#f8f5df);border-radius:20px;padding:18px;min-height:240px;overflow:hidden;border:1px solid #cfdec3}.scene-1 .camp-scene{background:linear-gradient(150deg,#e0eaf7,#e8e2f3)}.scene-2 .camp-scene{background:linear-gradient(150deg,#f9e8d7,#fcf3df)}.scene-3 .camp-scene{background:linear-gradient(150deg,#d7ede8,#e4f4f1)}.scene-4 .camp-scene{background:linear-gradient(150deg,#f3e1eb,#f3e6da)}.camp-background-cloud{position:absolute;left:-18px;top:0;color:#ffffff80;font-size:95px;z-index:-1;animation:camp-cloud-drift 7s ease-in-out infinite;pointer-events:none}.camp-background-spark{position:absolute;right:15px;bottom:18px;color:#d5bc72;font-size:34px;z-index:-1;animation:camp-spark-glow 3s infinite;pointer-events:none}.camp-message{min-height:34px;text-align:center;font-size:12px!important;line-height:1.7!important;color:#668153!important;margin:11px 0 0!important;animation:camp-message-pop .3s ease-out}
.camp-grid{display:grid;gap:7px;max-width:380px;margin:8px auto}.camp-grid>button{aspect-ratio:1;border:2px solid #ccdac1;background:linear-gradient(150deg,#fffdf4,#ecf1e1);border-radius:10px;box-shadow:0 3px 0 #95ae7b40;font-size:clamp(16px,4.5vw,28px);min-width:0;padding:4px;color:#48603e;cursor:pointer;transition:scale .15s,background .18s}.camp-grid>button:hover:not(:disabled){scale:1.04}.camp-grid>button.selected{border-color:#d7b34f;background:#fff1bb;animation:camp-selected .35s ease-out}.camp-grid>button:disabled{cursor:default}.camp-grid .wall{background:#a7c58f;box-shadow:none;border-color:#8da777}.camp-grid .visited:not(.wall){background:#f6e6ad}.camp-grid .blank{visibility:hidden}.board-lights .lit,.board-sequence .lit{background:#fff1a8;box-shadow:0 0 18px #e6bc5a70;border-color:#ecc75e}.board-sequence>button{font-size:35px}.board-maze,.board-trail{gap:3px}.board-maze>button,.board-trail>button{border:0;border-radius:5px;box-shadow:none;font-size:clamp(12px,4vw,23px)}.board-link>button:disabled{visibility:hidden}.board-mines>button{font-size:16px;box-shadow:0 3px 0 #72966450;background:#a9c691;color:#385e35}.board-mines .revealed{background:#f4f5e8;box-shadow:none}.board-merge>button{background:#eddec1;border-color:#d6c59f;color:#805e37;font-size:25px;font-weight:800}.board-sort,.board-sum{grid-template-columns:repeat(4,minmax(0,1fr))!important}.board-sort>button:disabled{opacity:.45}.board-scene>p{text-align:center;font-size:13px;line-height:1.6}.board-scene>.button,.board-scene>.text-button{display:block;margin:14px auto 0}.direction-pad{display:flex;justify-content:center;gap:9px;margin:15px auto 0}.direction-pad button{width:48px;height:42px;border-radius:12px;background:#fffaf0;border:1px solid #c4d5b7;box-shadow:0 3px 0 #bdd0a1;font-size:23px}.camp-hole{height:84px;aspect-ratio:auto!important;border-radius:50%!important;background:radial-gradient(ellipse,#bbd3a6,#e6efd9)!important;font-size:35px!important}
.camp-player .memory-field{gap:8px;padding:9px}.camp-player .memory-field>button{aspect-ratio:1.05;min-height:48px}.camp-player .memory-field>button span{font-size:28px}.camp-player .star-field{height:260px}.camp-player .bridge-field{padding:15px 12px}.camp-quiz h4{text-align:center;font-size:18px;line-height:1.7;white-space:pre-wrap}.quiz-visual{font-size:25px;text-align:center;letter-spacing:3px;line-height:1.8;margin:25px 0;overflow-wrap:anywhere}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:24px}.quiz-options>button{padding:16px 8px;border:1px solid #c8d6bb;border-radius:15px;box-shadow:0 4px 0 #adc19b55;background:#fffdf4;font-size:21px;color:#4c6441;transition:scale .2s}.quiz-options>button:active{scale:.96}.odd-grid{grid-template-columns:repeat(4,1fr);gap:7px}.odd-grid>button{padding:11px 4px;font-size:26px}.camp-player form{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 7px}.camp-player form input{min-width:0;flex:1;width:100%;font-size:17px;background:#fffdf6}.camp-player form .button{font-size:12px;padding:12px 16px}.number-cards{display:flex;justify-content:center;gap:12px;margin:18px 0}.number-cards>span{display:grid;place-items:center;width:60px;height:78px;border:2px solid #e4cf8d;background:linear-gradient(#fffdf3,#faebbb);border-radius:14px;box-shadow:0 5px 0 #c8ae6a55;font-size:32px;font-weight:800;animation:camp-card-deal .4s ease-out}.number-lab>p{font-size:12px;text-align:center;color:var(--muted)}
.sudoku-grid{display:grid;border:2px solid #718763;max-width:390px;aspect-ratio:1;margin:0 auto 16px;background:#fffef5}.sudoku-grid label{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;border-right:1px solid #d4dccb;border-bottom:1px solid #d4dccb;color:#407176;font-size:clamp(15px,4.5vw,25px)}.sudoku-grid label.given{background:#edf2e7;color:#4a5e3e;font-weight:800}.sudoku-grid .box-right{border-right:2px solid #718763}.sudoku-grid .box-bottom{border-bottom:2px solid #718763}.sudoku-grid input{position:absolute;inset:0;width:100%;height:100%;min-width:0;padding:0;text-align:center;border:0;border-radius:0;color:#327884;background:transparent;font-size:inherit;-moz-appearance:textfield}.sudoku-grid input::-webkit-inner-spin-button,.sudoku-grid input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sudoku-field>.button{display:block;margin:auto}
.hanoi-field{display:flex;gap:10px;min-height:220px;align-items:stretch;padding-top:18px}.hanoi-field>button{position:relative;flex:1;display:flex;flex-direction:column-reverse;justify-content:flex-start;align-items:center;background:linear-gradient(90deg,transparent 46%,#b4a084 47%,#b4a084 53%,transparent 54%);border:0;border-bottom:8px solid #b4a084;border-radius:6px;min-width:0;padding-bottom:5px}.hanoi-field>button.selected{background-color:#fff5ca80}.hanoi-field>button>span{height:27px;border:1px solid #ffffff70;box-shadow:0 3px 0 #a0927e3d;border-radius:9px;margin-top:3px;display:grid;place-items:center;font-size:13px;color:#61543d;max-width:98%}.hanoi-field strong{position:absolute;bottom:-30px;font-size:11px;color:#75654e}.dot-field{position:relative;height:300px}.dot-field svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dot-field>button{position:absolute;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:50%;background:#fffdf4;box-shadow:0 3px 0 #b2c29b;border:2px solid #c8d7b3;font-size:14px;color:#597946}.dot-field>button.selected{background:#f8de97;border-color:#d7b24c}.reaction-field{display:grid;place-items:center;min-height:235px}.reaction-signal{padding:32px 25px;border:3px solid #dfb1a9;border-radius:24px;background:#f4d5cd;font-size:25px;box-shadow:0 6px 0 #be978b55}.reaction-signal.ready{background:#d6ebbc;border-color:#9bb97d;animation:camp-selected .4s infinite alternate}.nim-field{text-align:center;padding:10px 0}.nim-field>p{font-size:14px;line-height:1.8}.nim-stars{font-size:26px;line-height:1.8;margin:20px 0}.nim-field>.button{margin:4px;padding:12px 15px}.code-field>p{font-size:12px;line-height:1.7}.code-field ol{max-height:145px;overflow:auto;font-size:12px;line-height:1.8;padding-left:24px}
.mini-clock{position:relative;width:175px;height:175px;border:7px solid #b4c9a3;border-radius:50%;background:#fffdf4;margin:15px auto;box-shadow:0 5px 0 #a2b59540}.mini-clock>span{position:absolute;transform:translate(-50%,-50%);font-size:14px;font-weight:700;color:#657952}.mini-clock>i{position:absolute;bottom:50%;left:calc(50% - 2px);width:4px;border-radius:4px;background:#6c8b57;transform-origin:center bottom}.mini-clock .clock-hour{height:38px}.mini-clock .clock-minute{height:55px;background:#c6a653;width:3px}.mini-clock>b{position:absolute;width:10px;height:10px;background:#6c8b57;border-radius:50%;left:calc(50% - 5px);top:calc(50% - 5px)}

/* A compact play area and care tray fit side by side on laptops. */
.pet-modal{width:min(1000px,100%);max-width:1000px;max-height:calc(100dvh - 48px);padding:22px 24px;overflow-y:auto}
.pet-room-heading h2{margin:6px 0;font-size:23px}.pet-room-heading p{font-size:11px;line-height:1.7}
.pet-room-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,1fr);gap:22px;margin-top:16px}
.pet-play-column,.pet-care-column{min-width:0}.pet-care-column{display:flex;flex-direction:column;gap:14px}
.pet-room-body .pet-playground{height:clamp(200px,calc(100dvh - 350px),345px);margin:0;border-radius:19px}
.pet-room-body .pet-position{width:clamp(140px,43%,220px)}
.pet-room-body .pet-dialogue{margin:0;min-height:40px;padding:8px 2px;font-size:12px;line-height:1.7;display:flex;align-items:center;justify-content:center}
.pet-room-body .pet-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}
.pet-room-body .pet-controls .button{padding:9px 5px;font-size:12px;min-height:40px;gap:4px}
.pet-action-picker{padding:14px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(140deg,var(--mint),var(--surface))}
.pet-action-picker label{display:block;font-size:12px;font-weight:700;margin-bottom:10px;color:var(--green-dark)}
.pet-action-select{position:relative;border:1.5px solid var(--border);border-radius:13px;background:var(--surface);box-shadow:0 3px 0 #70895a10;transition:border-color .2s,box-shadow .2s}
.pet-action-select:hover,.pet-action-select:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--mint)}
.pet-action-picker .pet-action-select select{appearance:none;-webkit-appearance:none;width:100%;max-width:none;height:50px;padding:11px 37px 11px 57px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.pet-action-icon{position:absolute;left:10px;top:7px;display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--mint);font-size:22px;pointer-events:none}
.pet-action-select>.app-icon,.pet-action-select>svg{position:absolute;right:13px;top:16px;color:var(--green);pointer-events:none}
.pet-action-select:has(select:disabled){opacity:.6}.pet-action-picker option{background:var(--surface);color:var(--ink);font-size:14px}
.pet-action-buttons{display:flex;align-items:center;gap:14px;margin-top:11px}.pet-action-buttons .button{flex:1;min-height:39px;font-size:12px;padding:9px 13px}.pet-action-buttons .text-button{font-size:11px;padding:7px 0;flex-shrink:0}
.pet-feeding{padding:14px;background:var(--canvas);border:1px solid var(--border);border-radius:17px;margin:0}
.pet-feeding>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.pet-feeding strong{font-size:12px}.pet-feeding small{font-size:10px;color:var(--muted)}
.pet-food-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.pet-food-tray>button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:8px 4px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 3px 0 #a8bb941a;transition:transform .2s,border-color .2s}
.pet-food-tray>button:not(:disabled):hover{transform:translateY(-3px);border-color:var(--green)}.pet-food-tray>button:disabled{opacity:.5;cursor:default}
.pet-food-tray>button>span{font-size:25px;line-height:1.2}.pet-food-tray>button>strong{font-size:11px}.pet-feeding>p{margin:10px 0 0;font-size:10px;line-height:1.7;color:var(--muted);text-align:center}
.pet-modal .pet-room-footer{margin-top:16px;padding-top:13px}.pet-modal .pet-room-footer .button{min-height:41px;font-size:12px;padding:10px 16px}
.pet-hand,.pet-wing,.pet-fin{transform-box:fill-box;transform-origin:center top}.reaction-wave .pet-hand-left{animation:pet-paw-wave .6s ease-in-out 4}.reaction-fly .pet-wing{animation:pet-wing-flap .35s ease-in-out 7}.reaction-drink{animation:pet-sip .6s ease-in-out 3}
@keyframes pet-paw-wave{50%{rotate:28deg;translate:0 -4px}}@keyframes pet-wing-flap{50%{scale:1 .72;rotate:12deg}}@keyframes pet-sip{50%{rotate:-6deg;scale:1.02}}
@media(max-width:760px){.pet-modal{max-height:calc(100dvh - 24px);padding:20px 16px}.pet-room-heading h2{font-size:20px}.pet-room-body{grid-template-columns:1fr;gap:14px;margin-top:13px}.pet-room-body .pet-playground{height:clamp(220px,35dvh,300px)}.pet-room-body .pet-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-room-body .pet-position{width:clamp(140px,43%,190px)}.pet-modal .pet-room-footer{margin-top:14px}.pet-care-column{gap:12px}}
@media(min-width:761px) and (max-height:760px){
  .pet-modal{padding:16px 20px}.pet-eyebrow{font-size:8px}.pet-room-heading h2{font-size:20px;margin:4px 0}.pet-room-heading p{margin:0}
  .pet-room-body{margin-top:11px;gap:16px}.pet-room-body .pet-playground{height:clamp(190px,calc(100dvh - 320px),285px)}
  .pet-action-picker,.pet-feeding{padding:11px}.pet-care-column{gap:11px}.pet-action-picker label{margin-bottom:7px}
  .pet-action-picker .pet-action-select select{height:44px}.pet-action-icon{top:4px}.pet-action-select>svg{top:13px}
  .pet-action-buttons{margin-top:8px}.pet-action-buttons .button{min-height:36px;padding:8px 12px}
  .pet-food-tray{margin-top:10px;gap:7px}.pet-food-tray>button{padding:6px 3px;gap:3px}.pet-food-tray>button>span{font-size:23px}.pet-food-tray>button>strong,.pet-food-tray>button>small{line-height:1.3}.pet-feeding>p{margin-top:8px}
  .pet-modal .pet-room-footer{margin-top:12px;padding-top:10px}
}
@media(min-width:1000px) and (max-height:620px){
  .pet-room-body{grid-template-columns:minmax(250px,.85fr) minmax(500px,1.4fr)}
  .pet-room-body .pet-playground{height:220px}.pet-room-body .pet-position{width:155px}
  .pet-care-column{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(270px,1.2fr);align-items:start;gap:12px}
  .pet-action-buttons{flex-direction:column;gap:6px}.pet-action-buttons .button{width:100%}
}
.pet-food-flight{position:absolute;z-index:4;left:48%;top:48%;font-size:38px;pointer-events:none;animation:pet-food-fly 1.8s ease-in forwards}.pet-sleep-bubbles{position:absolute;right:-10px;top:10px;color:#7184ac;font-size:25px;letter-spacing:9px;animation:pet-dream 2.6s ease-in-out infinite;z-index:3}.pet-action-spark{position:absolute;top:-8px;right:-7px;font-size:33px;z-index:3;animation:pet-sparkle 2.7s ease-out both;pointer-events:none}.pet-actor.reaction-eat{animation:pet-chew .35s ease-in-out infinite}.pet-actor.reaction-sleep{rotate:65deg;scale:.85;animation:pet-nap 2.5s ease-in-out infinite}.pet-actor.reaction-dance{animation:pet-dance 1.3s ease-in-out 2}.pet-actor.reaction-spin{animation:pet-spin 1.2s ease-in-out 2}.pet-actor.reaction-roll{animation:pet-roll 1.3s ease-in-out 2}.pet-actor.reaction-stretch{animation:pet-stretch 2.5s}.pet-actor.reaction-bow{animation:pet-bow 1.25s 2;transform-origin:center bottom}.pet-actor.reaction-nod{animation:pet-nod .65s 4}.pet-actor.reaction-shake{animation:pet-shake .45s 5}.pet-actor.reaction-wave{animation:pet-wave .7s 4}.pet-actor.reaction-peek{animation:pet-peek 2.6s}.pet-actor.reaction-bounce{animation:pet-bounce .7s 4}.pet-actor.reaction-sway{animation:pet-sway 1.2s 2}.pet-actor.reaction-float{animation:pet-float 2.6s}.pet-actor.reaction-fly{animation:pet-fly 2.6s}.pet-actor.reaction-swim{animation:pet-swim 2.6s}.pet-actor.reaction-tiptoe{animation:pet-tiptoe 2.6s}.pet-actor.reaction-stomp{animation:pet-stomp .45s 6}.pet-actor.reaction-wiggle{animation:pet-wiggle .7s 4}.pet-actor.reaction-backflip{animation:pet-backflip 1.3s 2}.pet-actor.reaction-hop{animation:pet-hop .9s 3}.pet-actor.reaction-shiver{animation:pet-shiver .25s 10}.pet-actor.reaction-giggle{animation:pet-giggle .4s 6}.pet-actor.reaction-sing{animation:pet-sing .85s 3}.pet-actor.reaction-kiss{animation:pet-kiss 1.3s 2}.pet-actor.reaction-balance{animation:pet-balance 2.6s}.pet-actor.reaction-celebrate{animation:pet-celebrate .9s 3}.pet-actor.reaction-run{animation:pet-run .35s 7}
@keyframes camp-cloud-drift{50%{translate:20px 0}}@keyframes camp-spark-glow{50%{opacity:.4;scale:.8}}@keyframes camp-message-pop{from{opacity:.3;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes camp-selected{50%{scale:1.06}}@keyframes camp-card-deal{from{opacity:0;translate:0 15px;rotate:-8deg}to{opacity:1;translate:0 0;rotate:0deg}}
@keyframes pet-food-fly{0%{translate:100px 120px;scale:.8;opacity:1;rotate:20deg}55%{translate:0 0;scale:1;rotate:-10deg}85%{translate:-15px -3px;scale:.5;opacity:1}100%{translate:-20px -5px;scale:0;opacity:0}}@keyframes pet-chew{50%{scale:1.035 .95;rotate:2deg}}@keyframes pet-dream{0%,100%{translate:0 0;opacity:.4}50%{translate:0 -15px;opacity:1}}@keyframes pet-nap{50%{scale:.88 .82}}@keyframes pet-sparkle{0%{opacity:0;scale:.2}25%,70%{opacity:1;scale:1}100%{opacity:0;translate:0 -20px}}
@keyframes pet-dance{20%{rotate:-14deg;translate:-8px -5px}50%{rotate:14deg;translate:8px -10px}80%{rotate:-8deg;translate:-5px 0}}@keyframes pet-spin{to{rotate:360deg}}@keyframes pet-roll{25%{translate:-35px 15px;rotate:-90deg}75%{translate:35px 15px;rotate:90deg}}@keyframes pet-stretch{40%,65%{scale:.85 1.22;translate:0 -8px}}@keyframes pet-bow{45%,60%{transform:perspective(500px) rotateX(30deg);translate:0 12px}}@keyframes pet-nod{50%{translate:0 9px;scale:1 .95}}@keyframes pet-shake{25%{rotate:-9deg}75%{rotate:9deg}}@keyframes pet-wave{35%{rotate:-12deg;translate:-4px -5px}70%{rotate:8deg;translate:3px -5px}}@keyframes pet-peek{20%,45%{opacity:.1;scale:.6;translate:0 30px}60%{opacity:1;scale:1.05;translate:0 -5px}}@keyframes pet-bounce{50%{translate:0 -22px;scale:.95 1.05}}@keyframes pet-sway{25%{translate:-17px 0;rotate:-5deg}75%{translate:17px 0;rotate:5deg}}@keyframes pet-float{30%,70%{translate:0 -40px;rotate:-4deg}}@keyframes pet-fly{25%{translate:-30px -30px;rotate:-10deg}65%{translate:35px -45px;rotate:10deg}}@keyframes pet-swim{25%{translate:-30px 8px;rotate:-12deg}75%{translate:30px 8px;rotate:12deg}}@keyframes pet-tiptoe{30%,70%{translate:0 -15px;scale:.95 1.08;rotate:5deg}}@keyframes pet-stomp{30%{translate:-5px 8px;rotate:-4deg}65%{translate:5px 0;rotate:4deg}}@keyframes pet-wiggle{25%{scale:1.1 .9;rotate:-8deg}75%{scale:.9 1.1;rotate:8deg}}@keyframes pet-backflip{50%{translate:0 -45px;rotate:-180deg}100%{translate:0 0;rotate:-360deg}}@keyframes pet-hop{35%{translate:16px -20px;rotate:12deg}70%{translate:10px 0;rotate:8deg}}@keyframes pet-shiver{25%{translate:-3px 0;rotate:-2deg}75%{translate:3px 0;rotate:2deg}}@keyframes pet-giggle{40%{scale:1.05 .92;translate:0 3px}80%{scale:.97 1.03;translate:0 -2px}}@keyframes pet-sing{50%{scale:1.04;rotate:-6deg;translate:0 -7px}}@keyframes pet-kiss{30%{translate:12px -2px;scale:1.08}70%{translate:-5px 0;scale:1}}@keyframes pet-balance{25%{rotate:15deg;translate:5px -8px}50%{rotate:-12deg;translate:-5px -8px}75%{rotate:8deg;translate:3px -8px}}@keyframes pet-celebrate{35%{translate:0 -25px;scale:1.08;rotate:8deg}70%{translate:0 -10px;rotate:-8deg}}@keyframes pet-run{50%{translate:8px -7px;rotate:4deg}}
@media(max-width:760px){.daily-note{padding:13px;margin-top:13px}.daily-note blockquote{font-size:12px}.weather-button{max-width:155px;font-size:10px}.checkpoint-loot{grid-template-columns:1fr}.treasure-chest{min-height:115px}.camp-invites{gap:8px}.camp-player .mini-game-heading h3{font-size:18px}.camp-player .mini-game-heading>span{font-size:10px}.camp-scene{padding:12px;min-height:230px}.camp-grid{gap:5px}.camp-grid>button{border-radius:8px}.camp-player .star-field{height:240px}.number-cards{gap:8px}.number-cards>span{width:49px;height:65px;font-size:27px}.pet-feeding{padding:12px 10px}.pet-food-tray{gap:5px}.pet-food-tray>button{padding:8px 2px}.pet-food-tray>button>strong{font-size:10px}.pet-feeding>div:first-child{align-items:flex-start}.pet-feeding small{font-size:9px}.camp-hole{height:65px}.hanoi-field{min-height:180px}.sudoku-grid input{font-size:19px}}
@media(prefers-reduced-motion:reduce){.camp-player *,.pet-modal *{animation:none!important;transition:none!important}.pet-food-flight{opacity:1;translate:0 0}.reaction-signal.ready{outline:4px solid #90ad67}}
