:root{color:#4a3222;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--ui-cream:#fff8ea;--ui-cream-2:#fcecc9;--ui-paper:#fffdf6;--ui-ink:#4a3222;--ui-ink-2:#7a5a40;--ui-ink-3:#a78466;--ui-honey:#ffc84a;--ui-honey-2:#ffdc7c;--ui-honey-edge:#d9901f;--ui-leaf:#6cc05a;--ui-leaf-2:#8fd873;--ui-leaf-edge:#3e8c3a;--ui-berry:#6a6fd6;--ui-berry-2:#8d92ec;--ui-berry-edge:#3f439c;--ui-rose:#f06a74;--ui-dark:#3d5a4c;--ui-dark-2:#4f7462;--ui-dark-edge:#253b31;--ui-radius:22px;--ui-shadow:0 10px 24px #3a26142e, 0 2px 6px #3a26141f;--ui-gap:clamp(8px, 1.6vmin, 14px);--ui-edge-x:calc(max(var(--safe-left), var(--safe-right)) + clamp(10px, 2vmin, 18px));--ui-edge-top:calc(var(--safe-top) + clamp(8px, 1.8vmin, 16px));--ui-edge-bottom:calc(var(--safe-bottom) + clamp(10px, 2.2vmin, 20px));--ui-font:clamp(13px, .9vw + .9vh, 19px);--menu-size:clamp(48px, 9.5vmin, 58px);background:#2b4a3f;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Hiragino Sans GB,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body,#app{overscroll-behavior:none;width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;min-height:100dvh}#app{background:#2b4a3f;position:fixed;top:0;bottom:0;left:0;right:0}button{font:inherit}#game-shell{font-size:var(--ui-font);background:#9bd4c1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}#world-container{position:absolute;top:0;bottom:0;left:0;right:0}#world-container canvas{touch-action:none;display:block;width:100%!important;height:100%!important}#hud{z-index:10;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hud-card{top:var(--ui-edge-top);left:calc(var(--ui-edge-x) + var(--menu-size) + var(--ui-gap));border-radius:var(--ui-radius);background:linear-gradient(180deg, var(--ui-paper), var(--ui-cream));max-width:min(46vw,30em);box-shadow:var(--ui-shadow);border:3px solid #fff;flex-direction:column;align-items:flex-start;gap:.15em;padding:.55em 1.1em .6em;display:flex;position:absolute}.hud-label{color:var(--ui-ink-3);letter-spacing:.08em;font-size:.72em;font-weight:800}#task-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.05em;line-height:1.25;overflow:hidden}.inventory-stack{top:var(--ui-edge-top);right:var(--ui-edge-x);gap:.5em;display:flex;position:absolute}.ui-res{background:var(--ui-paper);min-height:2.6em;box-shadow:var(--ui-shadow);border:3px solid #fff;border-radius:999px;align-items:center;gap:.35em;padding:.2em .95em .2em .3em;font-weight:800;display:inline-flex}.ui-res__icon{flex:none;width:2em;height:2em;display:grid}.ui-res__icon svg{width:100%;height:100%}.inventory-card .res-icon-coin,.inventory-card.is-coin .res-icon-berry{display:none}.inventory-card.is-coin .res-icon-coin{display:grid}.res-label{color:var(--ui-ink-2);font-size:.86em}.ui-res strong{text-align:center;min-width:1.2em;font-size:1.18em}.ui-res.is-bump{animation:.42s cubic-bezier(.34,1.56,.64,1) hud-bump}@keyframes hud-bump{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}#open-menu{z-index:12;top:var(--ui-edge-top);left:var(--ui-edge-x);width:var(--menu-size);height:var(--menu-size);color:#fff8e2;background:linear-gradient(180deg, var(--ui-dark-2), var(--ui-dark));box-shadow:0 5px 0 var(--ui-dark-edge), 0 9px 16px #1e2d2647;cursor:pointer;border:3px solid #fff;border-radius:18px;place-items:center;padding:11px;transition:transform .11s,box-shadow .11s;display:grid;position:absolute}#open-menu svg{width:100%;height:100%}#open-menu:active{box-shadow:0 1px 0 var(--ui-dark-edge), 0 4px 8px #1e2d263d;transform:translateY(4px)}#open-menu:focus-visible{outline-offset:3px;outline:3px solid #ffde78}body:not([data-scene=ManorScene]) .task-card{display:none}@media (orientation:portrait){body[data-renderer=three] .inventory-stack{top:calc(var(--ui-edge-top) + var(--menu-size) + 5.4em)}}#scene-fade{z-index:40;opacity:0;pointer-events:none;background:radial-gradient(circle,#fff4d6,#f4d28f);transition:opacity .24s;position:absolute;top:0;bottom:0;left:0;right:0}#scene-fade.is-active{opacity:1;pointer-events:auto}#scene-fade .paw-loader{color:#d9901f;width:64px;height:64px;animation:.9s ease-in-out infinite fade-paw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes fade-paw{0%,to{transform:translate(-50%,-50%)rotate(-8deg)}50%{transform:translate(-50%,calc(-50% - 10px))rotate(8deg)}}#menu-overlay{z-index:60;padding:max(14px, var(--safe-top)) max(16px, var(--safe-right)) max(14px, var(--safe-bottom)) max(16px, var(--safe-left));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(#283c2d66,#192820b3);place-items:center;animation:.18s menu-fade;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes menu-fade{0%{opacity:0}}.menu-dialog{background:radial-gradient(circle at 50% -30%, #ffde8c80, transparent 55%), linear-gradient(180deg, var(--ui-paper), var(--ui-cream));border:4px solid #fff;border-radius:30px;width:min(900px,94vw);max-height:100%;padding:1.2em 1.4em 1.4em;animation:.38s cubic-bezier(.34,1.56,.64,1) menu-pop;position:relative;overflow:auto;box-shadow:0 0 0 5px #ffc84a8c,0 24px 50px #182a2459}@keyframes menu-pop{0%{opacity:0;transform:scale(.85)translateY(16px)}}.menu-dialog h2,.menu-dialog h3{color:var(--ui-ink);margin:0 0 .7em}.menu-dialog h2{text-align:center;font-size:1.45em}.close-menu{color:#fff;background:linear-gradient(180deg, #f38a92, var(--ui-rose));cursor:pointer;border:3px solid #fff;border-radius:50%;width:48px;height:48px;font-size:26px;font-weight:800;line-height:1;position:absolute;top:12px;right:14px;box-shadow:0 4px #c0474f}.menu-tabs{background:#f4e4c1;border-radius:22px;grid-template-columns:repeat(7,1fr);gap:.5em;margin-bottom:1em;padding:.35em;display:grid}.menu-tabs button,.setting-button,.danger-button{min-height:48px;color:var(--ui-ink);background:linear-gradient(180deg, var(--ui-honey-2), var(--ui-honey));box-shadow:0 4px 0 var(--ui-honey-edge);cursor:pointer;border:3px solid #fff;border-radius:999px;font-weight:800;transition:transform .1s,box-shadow .1s}.menu-tabs button:active,.setting-button:active,.danger-button:active{box-shadow:0 1px 0 var(--ui-honey-edge);transform:translateY(3px)}.menu-panel{background:var(--ui-paper);border:3px solid #fff;border-radius:22px;min-height:240px;padding:1.1em;box-shadow:inset 0 2px 8px #78501e14}.resource-grid,.npc-row{grid-template-columns:repeat(2,1fr);gap:.7em;display:grid}.resource-grid span,.npc-row span{background:#f7eedb;border-radius:16px;min-height:54px;padding:.85em 1em;font-weight:700}.resource-grid strong{float:right;color:#c0692d}.growth-grid{grid-template-columns:repeat(6,1fr);gap:.6em;display:grid}.quest-steps,.build-grid{grid-template-columns:repeat(2,1fr);gap:.6em;display:grid}.quest-step,.build-grid span{background:#f7eedb;border-radius:16px;min-height:54px;padding:.85em 1em;font-weight:700}.quest-step.is-complete{color:#3e754d;background:#e1f3d6}.build-grid strong{float:right;color:#c0692d}.build-grid small{color:#8a745e;margin-top:8px;display:block}.growth-badge{color:#8b8f89;text-align:center;background:#ebebe6;border-radius:18px;place-items:center;min-height:56px;font-weight:800;display:grid}.growth-badge strong,.growth-badge small,.area-badge strong,.area-badge small{display:block}.growth-badge small,.area-badge small{opacity:.78;margin-top:4px;font-size:12px;font-weight:700}.growth-badge.is-complete{color:#6a482c;background:hsl(var(--badge-hue) 78% 78%);box-shadow:inset 0 -3px #00000014}.area-badge-title{margin-top:18px!important}.area-badge-grid{grid-template-columns:repeat(3,1fr);gap:.6em;display:grid}.area-badge{color:#888f89;text-align:center;background:#f0efe8;border:2px dashed #c9c3b5;border-radius:18px;min-height:62px;padding:11px 14px}.area-badge.is-unlocked{color:#79552f;background:#fff1c3;border-color:#e1a64c}.area-badge.is-complete{color:#356740;background:#dff0d5;border-style:solid;border-color:#6ea56f}.setting-button{padding:0 1.2em}.danger-button{color:#fff;background:linear-gradient(#d98079,#b45d58);margin-top:12px;padding:0 1.2em;box-shadow:0 4px #8a3f3b}#try-game-fullscreen{margin-left:10px}#rotate-overlay{z-index:100;color:#fffdf3;text-align:center;background:radial-gradient(circle at 50% 35%,#7bb89f,#3f6f60);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}#rotate-overlay button{min-width:210px;min-height:52px;color:var(--ui-ink);background:linear-gradient(180deg, var(--ui-honey-2), var(--ui-honey));box-shadow:0 5px 0 var(--ui-honey-edge), 0 10px 18px #1e2d2647;border:3px solid #fff;border-radius:999px;margin-top:8px;padding:0 24px;font-size:18px;font-weight:800}#rotate-overlay small{color:#ffffffb8;font-size:13px}#rotate-overlay strong{font-size:24px}#rotate-overlay span{color:#ffffffd9;max-width:340px;font-size:15px;line-height:1.6}#rotate-overlay .wechat-only{display:none}body[data-embedded-browser=wechat] #rotate-overlay .wechat-only{display:block}body[data-viewport-mode=rotate-prompt] #rotate-overlay{display:flex}.phone-icon{border:5px solid #fff8db;border-radius:14px;width:64px;height:102px;margin-bottom:12px;animation:1.8s cubic-bezier(.34,1.56,.64,1) infinite rotate-phone}@keyframes rotate-phone{0%,25%{transform:rotate(0)}70%,to{transform:rotate(90deg)}}@media (max-height:470px){.hud-card{padding:.4em .9em .45em}.menu-dialog{padding:.8em 1em 1em}.menu-dialog h2{margin-bottom:.4em;font-size:1.2em}.menu-tabs{grid-template-columns:repeat(7,minmax(92px,1fr));margin-bottom:.6em;overflow-x:auto}.menu-panel{min-height:170px;padding:.8em}[data-menu-panel=growth]{min-height:0;padding:10px 14px}[data-menu-panel=growth] h3{margin-bottom:6px}[data-menu-panel=growth] #growth-summary{margin:4px 0 8px;font-size:14px}.growth-grid{gap:6px}.growth-badge{border-radius:13px;min-height:42px;font-size:13px}.growth-badge small,.area-badge small{margin-top:1px;font-size:10px}.area-badge-title{font-size:16px;margin:8px 0 5px!important}.area-badge{border-radius:13px;min-height:44px;padding:5px 8px;font-size:12px}}@media (orientation:portrait){.menu-tabs{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login{z-index:1000;padding:calc(var(--safe-top) + 12px) calc(var(--safe-right) + 12px) calc(var(--safe-bottom) + 12px) calc(var(--safe-left) + 12px);color:var(--ui-ink);background:radial-gradient(circle at 20% 15%,#ffffff8c 0 12%,#0000 13%),radial-gradient(circle at 85% 80%,#fff6 0 10%,#0000 11%),linear-gradient(160deg,#bfe6a8,#8fcf86 55%,#6fb874);place-items:center;transition:opacity .35s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.login.is-leaving{opacity:0;pointer-events:none}.login__card{background:var(--ui-paper);width:min(720px,100%);max-height:100%;box-shadow:0 8px 0 #e3c38b, var(--ui-shadow);text-align:center;border:4px solid #f4d9a8;border-radius:30px;flex-direction:column;align-items:center;gap:clamp(10px,2.4vmin,20px);padding:clamp(16px,4vmin,34px);display:flex;overflow:auto}.login__title{margin:0;font-size:clamp(22px,4.6vmin,36px)}.login__hint{color:#6b4a33;max-width:30em;margin:0;font-size:clamp(15px,2.6vmin,20px);line-height:1.5}.login__hint.is-error{color:#c0392b;font-weight:700}.login__players{flex-wrap:wrap;justify-content:center;gap:clamp(12px,3vmin,24px);display:flex}.login__player{width:clamp(104px,22vmin,150px);color:var(--ui-ink);font:inherit;cursor:pointer;touch-action:manipulation;background:#fff4dc;border:4px solid #f4bd5d;border-radius:26px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 12px;transition:transform .12s;display:flex;box-shadow:0 6px #d9a24a}.login__player:active{transform:translateY(4px);box-shadow:0 2px #d9a24a}.login__avatar{font-size:clamp(48px,11vmin,76px);line-height:1}.login__name{font-size:clamp(17px,3vmin,24px);font-weight:800}.login__pin{justify-content:center;align-items:center;gap:clamp(16px,5vmin,48px);display:flex}.login__who{flex-direction:column;align-items:center;gap:10px;min-width:11em;display:flex}.login__dots{gap:14px;display:flex}.login__dots span{background:#fff;border:3px solid #d9a24a;border-radius:50%;width:22px;height:22px}.login__dots span.is-filled{background:var(--ui-honey)}.login__dots.is-shake{animation:.4s login-shake}@keyframes login-shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.login__pad{grid-template-columns:repeat(3,clamp(58px,12vmin,78px));gap:clamp(8px,1.8vmin,12px);display:grid}.login__key{height:clamp(50px,10.5vmin,70px);color:var(--ui-ink);cursor:pointer;touch-action:manipulation;background:#fffdf6;border:3px solid #e8cfa0;border-radius:18px;font-family:inherit;font-size:clamp(22px,4.4vmin,32px);font-weight:800;line-height:1;box-shadow:0 5px #e0c28c}.login__key.is-small{background:#fff4dc;font-size:clamp(15px,2.8vmin,20px)}.login__key:active{transform:translateY(3px);box-shadow:0 2px #e0c28c}.login__row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.login__btn{cursor:pointer;border:3px solid #ffffffb3;border-radius:999px;min-height:52px;padding:0 1.4em;font-family:inherit;font-size:clamp(16px,2.8vmin,20px);font-weight:800;line-height:1}.login__btn--leaf{background:var(--ui-leaf);color:#fff;box-shadow:0 5px 0 var(--ui-leaf-edge)}.login__btn--cream{color:var(--ui-ink);background:#fff4dc;box-shadow:0 5px #d6b98c}.login__btn--honey{background:var(--ui-honey);color:var(--ui-ink);box-shadow:0 5px 0 var(--ui-honey-edge)}.login__link{color:var(--ui-dark);font-size:clamp(16px,2.8vmin,20px);font-weight:800}.login__admin{color:#a08060;align-self:flex-end;font-size:13px}@media (max-aspect-ratio:1){.login__pin{flex-direction:column}}@media (orientation:landscape) and (max-height:480px){.login__card{gap:8px;padding:12px 18px}.login__pad{grid-template-columns:repeat(3,56px);gap:6px}.login__key{height:46px}}.player-line{margin:0 0 6px;font-weight:800}.account-toast{left:50%;bottom:calc(var(--safe-bottom) + 90px);z-index:1200;background:var(--ui-paper);max-width:min(90vw,28em);box-shadow:var(--ui-shadow);color:var(--ui-ink);text-align:center;border:3px solid #f4d9a8;border-radius:999px;padding:12px 20px;font-weight:800;transition:opacity .5s;position:fixed;transform:translate(-50%)}.account-toast.is-leaving{opacity:0}
