:root{--ink: #3b2f2f;--paper: #fff8e7;--paper-2: #f6e7c8;--card: #fffdf6;--line: #e2cfa5;--accent: #f6c445;--accent-ink: #5e4630;--green: #52b788;--red: #e63946;--sky: #8ecae6;--muted: #8a7a62;--font: "Fredoka", "Nunito", ui-rounded, "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:#6fae4b;color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font-family:inherit;color:inherit}.app{height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) 390px;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"hud hud" "stage side";overflow:hidden}.hud{grid-area:hud;display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--ink);color:#fff;z-index:3}.brand{display:flex;align-items:center;gap:8px;min-width:0}.logo{font-size:22px}.title{font-weight:700;font-size:20px;white-space:nowrap;letter-spacing:.3px}.coins{margin-left:auto;display:flex;align-items:baseline;gap:8px;background:#ffffff14;padding:4px 14px;border-radius:999px}.coin-icon{font-size:20px;align-self:center}.coin-num{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.rate{font-size:13px;color:#c9f2a8;min-width:56px}.icon-btn.off{opacity:.4;filter:grayscale(1)}.icon-btn{background:#ffffff1f;border:0;border-radius:10px;width:38px;height:38px;font-size:18px;cursor:pointer}.icon-btn.small{width:28px;height:28px;font-size:13px;background:#0000000f}.quest-dock{position:absolute;top:12px;left:12px;width:min(300px,calc(100% - 24px));z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.desman-chip{position:relative;display:flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px 8px 6px;background:var(--card);border:3px solid var(--ink);border-radius:14px;box-shadow:0 6px 18px #0003;overflow:hidden}.desman-chip.ready{border-color:var(--green)}.desman-main{display:flex;align-items:center;gap:7px;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;min-width:0}.desman-icon{font-size:22px;line-height:1}.desman-text{display:flex;flex-direction:column;min-width:0}.desman-line{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desman-sub{font-size:12px;color:#5b4a3a;white-space:nowrap}.desman-go{flex-shrink:0}.desman-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:#0000001a}.desman-bar>div{height:100%;background:#c9a227;transition:width .3s}.desman-chip.ready .desman-bar>div,.desman-chip.brewing .desman-bar>div{background:var(--green)}.quest.soon{opacity:.85;border-style:dashed}.quest-bar.soon>div{background:#c9a227}.quest-bar.money>div{background:#e9a800}.quest-bar.money.ok>div{background:var(--green)}.quest-count.ok{color:var(--green)}.quest{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;background:var(--card);border:3px solid var(--ink);border-radius:14px;padding:9px 11px;box-shadow:0 6px 18px #0003;animation:questIn .6s ease-out}.quest.folded{flex-direction:row;align-items:center;width:auto;max-width:100%;padding:5px 10px 5px 6px;cursor:pointer;font:inherit}.quest.folded .quest-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quest-head{display:flex;align-items:center;gap:8px}.quest-head .icon-btn{margin-left:auto;font-weight:700}.quest-tag{background:var(--ink);color:var(--accent);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;white-space:nowrap}.quest-title{font-weight:700;font-size:16px;line-height:1.2}.quest-how{font-size:13.5px;line-height:1.35;color:#5b4a3a}.quest-count{font-weight:700;font-size:13px;color:var(--muted)}.quest-bar{position:relative;height:16px;border-radius:999px;background:var(--paper-2);border:2px solid var(--line);overflow:hidden}.quest-bar>div{height:100%;background:var(--green);transition:width .4s}.quest-bar>span{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;font-size:11px;font-weight:700;line-height:12px}.quest-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quest-reward{font-size:13px;font-weight:700}.quest-foot .mini{margin-left:auto;font-weight:700;border-color:var(--ink);background:var(--accent)}.lang-btn{font-size:13px;font-weight:700;color:#fff}@keyframes questIn{0%{background:#ffe58a;transform:scale(.96)}40%{background:#fff1b8;transform:scale(1.02)}to{background:var(--card);transform:none}}.stage{grid-area:stage;position:relative;min-height:0;background:linear-gradient(#8ecae6 50%,#76b852 50%);overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none}.scene{width:100%;height:100%;display:block}.scene-top{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.signs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.sign{position:absolute;left:0;top:0;width:70px;height:70px;margin:-35px 0 0 -35px;border-radius:50%;pointer-events:auto;cursor:pointer;transform-origin:center;will-change:transform;-webkit-tap-highlight-color:transparent}.sign .place-scale{width:100%;height:100%}.sign-art{position:absolute;left:-35px;top:-35px;display:block;overflow:visible}.sign-art g{transform-box:fill-box}.sign-art g[transform]{transform-box:view-box;transform-origin:0 0}.sign-art .quest-halo{transform-box:fill-box}.app.angry .stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 80px 10px #9d020866;animation:pulse .9s ease-in-out infinite alternate}.toasts{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;width:min(92%,460px)}.toast{background:#3b2f2fe8;color:#fff;padding:7px 14px;border-radius:12px;font-size:14px;box-shadow:0 4px 12px #0003;animation:toastIn .35s cubic-bezier(.2,1.6,.4,1);text-align:center}@keyframes toastIn{0%{transform:translateY(-14px) scale(.9);opacity:0}}.alert{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#9d0208;color:#fff;font-weight:700;padding:8px 16px;border-radius:12px;pointer-events:none;animation:pulse .5s ease-in-out infinite alternate;white-space:nowrap}.trade{position:absolute;right:12px;bottom:12px;width:min(340px,calc(100% - 24px));background:var(--card);border:3px solid var(--ink);border-radius:16px;padding:10px;box-shadow:0 8px 24px #0004;animation:toastIn .35s cubic-bezier(.2,1.6,.4,1)}.trade-head{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:6px;flex-wrap:wrap}.trade-head .icon-btn{margin-left:auto}.trade-sub{font-weight:400;font-size:12px;color:var(--muted)}.offer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border-radius:10px;background:var(--paper);margin-top:6px}.offer.done{opacity:.55}.offer-title{font-weight:600;font-size:14px}.offer-desc{font-size:12px;color:var(--muted)}.trade-timer{height:4px;background:#0001;border-radius:4px;margin-top:8px;overflow:hidden}.trade-timer div{height:100%;background:var(--red);transition:width .2s linear}.app.no-panel{grid-template-columns:minmax(0,1fr) 0}.app.no-panel .side{border:0}.app.no-panel .side .panel,.panel-peek{display:none}.app.paused .scene *,.app.paused .sign *{animation-play-state:paused!important}.paused-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;border:0;background:#3b2f2f55;display:flex;align-items:center;justify-content:center;cursor:pointer}.paused-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--paper);border:3px solid var(--ink);border-radius:16px;padding:14px 26px;font-size:24px;font-weight:800;color:var(--ink)}.paused-card small{font-size:13px;font-weight:500;color:var(--muted)}.place-pop{position:absolute;top:12px;width:min(370px,calc(100% - 150px));max-height:calc(100% - 80px);display:flex;flex-direction:column;background:var(--paper);border:3px solid var(--ink);border-radius:16px;box-shadow:0 8px 24px #0004;z-index:4;animation:toastIn .3s cubic-bezier(.2,1.4,.4,1)}.place-pop.lit{border-color:#e9a800;animation:toastIn .3s cubic-bezier(.2,1.4,.4,1),cardGlow 1.3s ease-in-out infinite}.place-pop.lit .place-head{position:relative;overflow:hidden}.place-pop.lit .place-head:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#ffd16699 50%,transparent 65%);background-size:250% 100%;animation:cardShimmer 1.6s ease-in-out infinite}@keyframes cardGlow{0%,to{box-shadow:0 8px 24px #0004,0 0 #ffd16600}50%{box-shadow:0 8px 24px #0004,0 0 0 7px #ffd166aa}}@keyframes cardShimmer{0%{background-position:120% 0}to{background-position:-30% 0}}.place-pop.anchored{top:auto;right:auto;overflow:visible}.place-pop.anchored:after{content:"";position:absolute;width:16px;height:16px;background:var(--paper);border:3px solid var(--ink);transform:rotate(45deg);pointer-events:none}.place-pop.tail-down:after{left:calc(var(--tail) - 8px);bottom:-11px;border-top:0;border-left:0}.place-pop.tail-up:after{left:calc(var(--tail) - 8px);top:-11px;border-bottom:0;border-right:0}.place-pop.tail-left:after{top:calc(var(--tail) - 8px);left:-11px;border-top:0;border-right:0}.place-pop.tail-right:after{top:calc(var(--tail) - 8px);right:-11px;border-bottom:0;border-left:0}.place-pop.lit.anchored:after{border-color:#e9a800}.place{display:flex;flex-direction:column;min-height:0}.place-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:2px solid var(--line)}.place-head .icon-btn{margin-left:auto}.place-icon{font-size:22px}.place-name{font-weight:700;font-size:16px}.place-body{overflow-y:auto;scrollbar-gutter:stable;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:0}.place-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:14px;padding:8px 10px;cursor:pointer}.place-row:hover{border-color:var(--accent)}.place-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.place-sum{font-size:12.5px;color:var(--muted)}.place-new{background:var(--green);color:#fff;font-weight:800;border-radius:999px;padding:1px 8px;font-size:13px}.place-go{font-size:22px;color:var(--muted)}.side{grid-area:side;min-height:0;background:var(--paper);border-left:3px solid var(--ink);display:flex;flex-direction:column}.panel{display:flex;flex-direction:column;min-height:0;height:100%}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;background:var(--paper-2);border-bottom:2px solid var(--line)}.tab{position:relative;border:0;background:transparent;border-radius:10px;padding:8px 2px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.tab.active{background:var(--ink);color:#fff}.tab.lit,.goods th.lit,.goods input.keep.lit{animation:litGlow 1.3s ease-in-out infinite;border-radius:8px}.goods th.lit{color:var(--ink)}@keyframes litGlow{0%,to{box-shadow:0 0 #ffd16600}50%{box-shadow:0 0 0 4px #ffd166cc}}.dot{position:absolute;top:5px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--paper-2)}.panel-body{overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}.card{display:flex;align-items:center;gap:10px;background:var(--card);border:2px solid var(--line);border-radius:14px;padding:9px 10px}.card.highlight{border-color:var(--accent);background:#fff7d6}.card.wanted{border-color:#e9a800;background:#fff7d6;animation:cardGlow 1.3s ease-in-out infinite}.card.wanted .card-title:after{content:" 📜";font-size:.85em}.card.locked{opacity:.75;border-style:dashed}.card-icon{font-size:28px;width:38px;text-align:center;flex-shrink:0}.card-main{flex:1;min-width:0}.card-title{font-weight:600;font-size:16px}.card-desc{font-size:13px;color:var(--muted);line-height:1.25}.card-meta{font-size:12.5px;margin-top:3px}.card-act{flex-shrink:0}.buy{border:0;border-bottom:3px solid #b8860b;background:var(--accent);border-radius:12px;padding:7px 12px;font-weight:600;font-size:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;min-width:82px;transition:transform .08s}.buy:active{transform:translateY(2px);border-bottom-width:1px}.buy .cost{font-size:12.5px;font-weight:500;white-space:nowrap}.buy.cant{background:#e9e1cf;border-bottom-color:#c9bda3;color:#8a7a62;cursor:not-allowed}.buy.wide{width:100%;flex-direction:row;justify-content:center;margin-top:8px;padding:10px}.buy.pet{background:#ffd6e0;border-bottom-color:#e5899c}.maxed{font-size:13px;color:var(--green);font-weight:600;padding:0 8px}.toggle{border:2px solid var(--line);background:#eee;border-radius:999px;padding:6px 14px;font-weight:600;cursor:pointer}.toggle.on{background:var(--green);color:#fff;border-color:#2d6a4f}.mini{border:2px solid var(--line);background:var(--card);border-radius:8px;padding:4px 10px;cursor:pointer;font-size:13px}.mini:disabled{opacity:.4;cursor:default}.mini.danger{border-color:#f4a3a8;color:#9d0208}.bar{height:8px;background:#0000001a;border-radius:6px;overflow:hidden;margin-top:5px}.bar div{height:100%;background:var(--green);border-radius:6px;transition:width .25s}.barn-head{background:var(--card);border:2px solid var(--line);border-radius:14px;padding:10px}table{width:100%;border-collapse:collapse;font-size:14px}.goods th{text-align:left;font-size:12px;color:var(--muted);font-weight:500;padding:2px 4px}.goods td{padding:5px 4px;border-top:1px solid var(--line)}.goods td:nth-child(n+2){font-variant-numeric:tabular-nums}.goods tr.use td{border-top:0;padding:0 4px 6px 26px;font-size:11px;line-height:1.2;color:var(--muted)}.goods input{width:18px;height:18px;accent-color:var(--green)}.goods input.keep{width:56px;height:26px;padding:0 4px;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}.tag{font-size:10px;background:var(--paper-2);border-radius:4px;padding:0 4px;margin-left:4px;color:var(--muted)}.stats td{padding:5px 4px;border-bottom:1px solid var(--line)}.stats td:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.footnote{font-size:12px;color:var(--muted);text-align:center;padding:2px 8px}.settings{display:flex;gap:8px;justify-content:center;margin-top:8px}.credits{text-align:center;font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;display:grid;place-items:center;z-index:10;padding:16px}.modal{background:var(--paper);border:3px solid var(--ink);border-radius:20px;padding:20px 22px;max-width:400px;width:100%;text-align:center;animation:toastIn .4s cubic-bezier(.2,1.6,.4,1)}.modal h2{margin:4px 0 8px}.modal p{margin:8px 0;line-height:1.4}.modal .dim{color:var(--muted);font-size:14px}.modal-row{display:flex;gap:10px;justify-content:center;margin-top:12px}.modal-row .mini{padding:8px 14px;font-size:14px}.done-list{list-style:none;margin:10px 0;padding:0;text-align:left}.done-list li{display:flex;justify-content:space-between;gap:14px;padding:5px 0;border-bottom:1px dashed var(--muted);font-size:14px}.done-list li:last-child{border-bottom:0}.done-list b{white-space:nowrap}.win-swan{font-size:54px;animation:bob 1.4s ease-in-out infinite}.scene g{transform-box:fill-box}.scene g[transform]{transform-box:view-box;transform-origin:0 0}.unit{transform-origin:center bottom}.unit-swan{animation:bob 2.8s ease-in-out infinite}.unit-capy .capy-body{animation:breathe 3.6s ease-in-out infinite;transform-origin:center bottom;transform-box:fill-box}.swan-neck.honk{animation:honk .6s ease-in-out;transform-origin:70% 90%}.blink{animation:blink 4.5s infinite;transform-origin:center}.heart{animation:heart 1.2s ease-out infinite}.rotor{transform-origin:center}.rotor.spin{animation:rotor .11s linear infinite alternate}.roll{animation:spin 1.4s linear infinite;transform-origin:center}.goat-head.chew{animation:chew .5s ease-in-out infinite alternate;transform-origin:right bottom}.quack{animation:breathe 1.1s ease-in-out infinite;transform-origin:center bottom}.peck{animation:pecking .16s ease-in-out infinite alternate;transform-origin:center bottom}.place-sign.ready{animation:signPulse 1.2s ease-in-out infinite;transform-origin:center}@keyframes signPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.place-sign.quest-lit{animation:questHop 1.1s cubic-bezier(.3,1.5,.5,1) infinite;transform-origin:center bottom}@keyframes questHop{0%,to{transform:translateY(0) scale(1)}12%{transform:translateY(2px) scale(1.12,.88)}40%{transform:translateY(-16px) scale(.94,1.08) rotate(-6deg)}60%{transform:translateY(-16px) scale(.94,1.08) rotate(6deg)}85%{transform:translateY(0) scale(1.06,.94)}}.quest-halo{animation:questHalo 1.1s ease-in-out infinite;transform-origin:center}@keyframes questHalo{0%,to{transform:scale(.9);opacity:.25}50%{transform:scale(1.25);opacity:.5}}.quest-ping{animation:questPing 1.5s ease-out infinite;transform-origin:center}.quest-ping.late{animation-delay:.75s}@keyframes questPing{0%{transform:scale(1);opacity:.9}to{transform:scale(2.4);opacity:0}}.quest-orbit{animation:spin 3s linear infinite;transform-origin:center}.quest-spark{animation:questSpark .8s ease-in-out infinite alternate;transform-origin:center}@keyframes questSpark{0%{opacity:.5}to{opacity:1}}.beetle-push{animation:push 1.4s ease-in-out infinite}.beetle-dance{animation:dungDance .9s ease-in-out infinite;transform-origin:center bottom}@keyframes dungDance{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-10deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-8px) rotate(10deg)}}.mush-walk{animation:waddle .5s ease-in-out infinite alternate;transform-origin:center bottom}.mush-walk .leg-a{animation:step .25s ease-in-out infinite alternate}.mush-walk .leg-b{animation:step .25s ease-in-out infinite alternate-reverse}.mush-angry{animation:rage .12s linear infinite alternate;transform-origin:center bottom}.mush-idle{animation:bob 3s ease-in-out infinite}.mush-arm{transform-origin:50% 0;animation:armReach 1.1s ease-in-out both}@keyframes armReach{0%{transform:rotate(0);opacity:0}10%{opacity:1}35%,60%{transform:rotate(80deg);opacity:1}90%{opacity:1}to{transform:rotate(0);opacity:0}}.mush-shades{transform-origin:center}.mush-shades.on{animation:shadesOn 1.1s ease-in-out both}@keyframes shadesOn{0%,30%{transform:translate(20px,10px) rotate(60deg);opacity:0}36%{opacity:1}52%,to{transform:none;opacity:1}}.mush-shades.off{animation:shadesOff 1.1s ease-in-out both}@keyframes shadesOff{0%,48%{transform:none;opacity:1}66%{opacity:1}72%,to{transform:translate(20px,10px) rotate(60deg);opacity:0}}.steam circle{animation:rise .9s ease-out infinite}.full-bubble{animation:bounce .9s ease-in-out infinite}.hint{animation:point .8s ease-in-out infinite alternate}.golden .glow{animation:pulse .7s ease-in-out infinite alternate;transform-origin:center}.golden .twinkle{animation:spin 2s linear infinite;transform-origin:center}.golden .golden-rays{animation:spin 7s linear infinite;transform-origin:center}.blob{animation:wobble .4s ease-in-out infinite alternate;transform-origin:center}.dizzy{animation:spin 1.6s linear infinite;transform-origin:center}.clouds{animation:drift 70s ease-in-out infinite alternate}.scene .pond-ring,.scene .glint,.scene .mote,.scene .heart,.scene .twinkle,.scene .desman-nose,.scene .quest-halo,.scene .bird{transform-box:fill-box}.pond-ring{animation:pondRing 5s ease-out infinite;transform-origin:center}@keyframes pondRing{0%{transform:scale(.15);opacity:0}8%{opacity:.85}60%{opacity:.25}to{transform:scale(2.2);opacity:0}}.glint{animation:glint 3.2s ease-in-out infinite;transform-origin:center;opacity:0}@keyframes glint{0%,to{opacity:0;transform:scaleX(.3)}35%{opacity:.9;transform:scaleX(1)}70%{opacity:.2;transform:scaleX(.6)}}.sun-glow{animation:sunGlow 5s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes sunGlow{0%,to{transform:scale(1);opacity:.25}50%{transform:scale(1.18);opacity:.38}}.sun-rays{animation:spin 90s linear infinite;transform-origin:center}.flock{animation:flock 100s linear infinite}.bird{animation:flap .5s ease-in-out infinite alternate;transform-origin:center}@keyframes flock{0%{transform:translate(-200px,150px);opacity:0}2%{opacity:1}40%{transform:translate(2300px,100px);opacity:1}42%{opacity:0}to{transform:translate(2300px,100px);opacity:0}}.mote{animation:mote 14s linear infinite;transform-origin:center;opacity:0}@keyframes mote{0%{transform:translate(0);opacity:0}10%{opacity:.9}50%{transform:translate(70px,-30px)}90%{opacity:.6}to{transform:translate(130px,-70px);opacity:0}}.firefly{animation:firefly 6s ease-in-out infinite}@keyframes firefly{0%,to{transform:translate(0);opacity:0}15%{opacity:1}30%{transform:translate(14px,-12px);opacity:.2}50%{transform:translate(26px,4px);opacity:1}70%{transform:translate(8px,16px);opacity:.1}85%{transform:translate(-10px,6px);opacity:.9}}.smoke circle,.steam-up{animation:rise 2.2s ease-out infinite}.bubble{animation:rise 1.2s ease-out infinite}.desman-walk{animation:bob .4s ease-in-out infinite}.aristo-stand{animation:breathe 4s ease-in-out infinite;transform-origin:center bottom}.desman-nose{animation:sniff .7s ease-in-out infinite alternate;transform-origin:right center}.bush-eager{animation:bounce .7s ease-in-out infinite;transform-origin:center bottom}.bush-idle{animation:breathe 3s ease-in-out infinite;transform-origin:center bottom}.pigeon{animation:peck 3.2s ease-in-out infinite;transform-origin:center bottom}.monument{animation:shine 3s ease-in-out infinite}.pk-head{transform-origin:center bottom}.roll-slow{animation:spin 9s linear infinite;transform-origin:center}.sock{animation:sway 2.2s ease-in-out infinite alternate;transform-origin:left center}.walk-bob{animation:bounce .36s ease-in-out infinite}.golem-walk{animation:waddle .9s ease-in-out infinite alternate;transform-origin:center bottom}.golem-thing{animation:bob 2.4s ease-in-out infinite}.demon-hover{animation:bounce 2.2s ease-in-out infinite}.rune-ring{animation:pulse 1.6s ease-in-out infinite alternate}.candle-flame{animation:pulse .35s ease-in-out infinite alternate}.wp-wing{animation:wingFlap .16s ease-in-out infinite alternate;transform-origin:center bottom}@keyframes wingFlap{0%{transform:scaleY(1)}to{transform:scaleY(-.6)}}.star{animation:twinkle 2.6s ease-in-out infinite alternate}.tok{animation:rise .9s ease-out infinite}@keyframes twinkle{0%{opacity:.35}to{opacity:1}}.pk-head.pecking{animation:peckGround 2.2s ease-in-out infinite}.pk-legs.walking .leg-a{animation:step .22s ease-in-out infinite alternate}.pk-legs.walking .leg-b{animation:step .22s ease-in-out infinite alternate-reverse}.lemur-run{animation:bounce .28s ease-in-out infinite}.lemur-chew{animation:bob .5s ease-in-out infinite}@keyframes peckGround{0%,55%,to{transform:rotate(0)}65%{transform:rotate(-58deg)}72%{transform:rotate(-40deg)}80%{transform:rotate(-58deg)}}.sway{animation:sway 3.4s ease-in-out infinite alternate;transform-origin:center bottom}g:nth-child(3n)>.sway{animation-duration:4.1s;animation-delay:-1.3s}g:nth-child(3n+1)>.sway{animation-duration:2.9s;animation-delay:-.6s}.flutter{animation:flutter 14s ease-in-out infinite}.flutter .wings{animation:flap .18s ease-in-out infinite alternate;transform-origin:center}.leaf-fall{animation:leafFall 11s ease-in infinite;opacity:0}.leaf-fall.slow{animation-duration:17s;animation-delay:-6s}@keyframes sway{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes flap{0%{transform:scaleX(1)}to{transform:scaleX(.25)}}@keyframes flutter{0%,to{transform:translate(0)}20%{transform:translate(28px,-14px)}40%{transform:translate(46px,6px)}60%{transform:translate(18px,-22px)}80%{transform:translate(-14px,-6px)}}@keyframes leafFall{0%{transform:translate(0) rotate(0);opacity:0}2%{opacity:1}18%{opacity:1}20%{transform:translate(34px,165px) rotate(320deg);opacity:0}to{transform:translate(34px,165px) rotate(320deg);opacity:0}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,.98)}}@keyframes honk{0%,to{transform:rotate(0)}30%{transform:rotate(-14deg)}60%{transform:rotate(6deg)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes heart{0%{transform:translateY(0) scale(.8);opacity:1}to{transform:translateY(-16px) scale(1.2);opacity:0}}@keyframes rotor{0%{transform:scaleX(1)}to{transform:scaleX(-1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes chew{0%{transform:rotate(0)}to{transform:rotate(-6deg)}}@keyframes pecking{0%{transform:rotate(0)}to{transform:rotate(-22deg)}}@keyframes push{0%,to{transform:translate(0)}50%{transform:translate(-4px)}}@keyframes waddle{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes step{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes rage{0%{transform:translate(-2px) rotate(-1.5deg)}to{transform:translate(2px) rotate(1.5deg)}}@keyframes rise{0%{transform:translateY(0);opacity:.8}to{transform:translateY(-18px);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes point{0%{transform:translate(0)}to{transform:translate(10px)}}@keyframes pulse{0%{opacity:.55}to{opacity:1}}@keyframes wobble{0%{transform:scaleY(.92)}to{transform:scale(.92,1.05)}}@keyframes drift{0%{transform:translate(-40px)}to{transform:translate(60px)}}@keyframes sniff{0%{transform:rotate(-8deg)}to{transform:rotate(10deg)}}@keyframes peck{0%,85%,to{transform:rotate(0)}90%{transform:rotate(-12deg)}}@keyframes shine{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.zone-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:78px;border:0;border-radius:14px;background:#3b2f2fb3;color:#fff;font-size:44px;line-height:1;padding-bottom:6px;cursor:pointer;z-index:2}.zone-arrow:hover{background:#3b2f2fe6}.zone-arrow.left{left:8px}.zone-arrow.right{right:8px}.zone-alert{position:absolute;top:-10px;right:-8px;font-size:20px;animation:bounce .9s ease-in-out infinite}.zone-bar{position:absolute;bottom:8px;left:8px;display:flex;gap:6px;z-index:2}.zone-dot{border:0;border-radius:999px;background:#3b2f2f99;color:#fff;font-size:16px;padding:4px 9px;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}.zone-dot.active{background:#3b2f2fe6}.zone-name{font-size:14px;font-weight:600}.link{border:0;background:none;padding:0;font-size:inherit;color:#2a6f97;text-decoration:underline;cursor:pointer}.farmer.walking .leg-a{animation:step .22s ease-in-out infinite alternate}.farmer.walking .leg-b{animation:step .22s ease-in-out infinite alternate-reverse}.farmer.walking .farmer-body{animation:bob .22s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.scene *,.app.angry .stage:after{animation-duration:0s!important;animation-iteration-count:1!important}}.mob-only{display:none}@media (max-width: 899px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"hud" "stage" "side"}.stage{aspect-ratio:1200 / 760;max-height:52dvh}.side{border-left:0;border-top:3px solid var(--ink)}.title{font-size:16px}.logo{display:none}.hud{padding:6px 10px;gap:8px}.coin-num{font-size:22px}.quest-dock.mob-only{display:block;position:static;width:auto;margin:6px 6px 0;flex-shrink:0}.quest{padding:6px 9px;gap:4px;box-shadow:none}.quest-title{font-size:15px}.quest-how{font-size:12.5px}.desk-only{display:none}.place-pop.mob-only{display:flex;position:static;width:auto;max-height:48%;margin:6px;box-shadow:none;flex-shrink:0}.trade.mob-only{display:block;position:static;width:auto;margin:6px;padding:8px;box-shadow:none}.offer{padding:5px 6px;margin-top:4px}.offer-desc,.trade-sub{display:none}.tab{font-size:13px}.zone-arrow{width:30px;height:50px;font-size:30px;border-radius:10px;background:#3b2f2f80}.zone-arrow.left{left:4px}.zone-arrow.right{right:4px}.zone-dot{font-size:13px;padding:2px 7px}.zone-name{display:none}.place-scale{transform:scale(1.5);transform-origin:center}.sign{width:105px;height:105px;margin:-52.5px 0 0 -52.5px}.sign-art{left:-17.5px;top:-17.5px}.app.no-panel{grid-template-columns:minmax(0,1fr)}.app.no-panel .side{border-top:3px solid var(--ink)}.app.no-panel .panel-peek{display:block;width:100%;border:0;background:var(--paper-2);padding:8px;font-weight:700;font-size:14px;cursor:pointer}.zone-bar{bottom:4px;left:4px;gap:4px}}@media (max-width: 899px) and (orientation: landscape) and (max-height: 520px){.app{grid-template-columns:minmax(0,1fr) min(320px,40vw);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"hud hud" "stage side"}.stage{aspect-ratio:auto;max-height:none}.side{border-top:0;border-left:3px solid var(--ink)}.hud{padding:3px 10px}.app.no-panel{grid-template-columns:minmax(0,1fr) auto}.app.no-panel .side{border-top:0;border-left:3px solid var(--ink);max-width:min(320px,40vw)}.app.no-panel .panel-peek{padding:8px 10px}}@media (max-width: 520px){.title{display:none}.coins{margin-left:0}.icon-btn{margin-left:auto}}
