@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Nunito Variable", "Nunito", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--ink:#3b2a1e;--ink-soft:#7a6450;--ink-faint:#a8937c;--paper:#fff8ea;--paper-2:#fbefd8;--paper-3:#f4e2c2;--line:#e6cfa8;--line-strong:#cfae7c;--wood:#a86b3c;--wood-dark:#7a4a26;--accent:#e8743b;--accent-dark:#c35a26;--green:#4f9d4a;--green-dark:#3a7b36;--gold:#f2b631;--gold-soft:#ffe7a3;--danger:#cf4646;--sky:#bfe7f2;--radius:16px;--radius-sm:10px;--shadow:0 2px 0 #7a4a262e, 0 10px 24px #4a2e1429;--shadow-soft:0 1px 0 #7a4a261f, 0 4px 12px #4a2e141a;--gutter:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{background:var(--sky);height:100%;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;overflow:hidden}button{font:inherit;color:inherit}kbd{font-family:var(--font);border:1px solid var(--line-strong);background:var(--paper);color:var(--ink-soft);border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-size:.72em;font-weight:800}:focus-visible{outline-offset:2px;outline:3px solid #4aa3df}.app{position:fixed;inset:0}.game-canvas{touch-action:none;cursor:pointer;inset:0;position:absolute!important}.app.tool-build .game-canvas,.app.tool-move .game-canvas,.app.tool-demolish .game-canvas{cursor:crosshair}.app.tool-plant .game-canvas{cursor:cell}.app.is-panning .game-canvas{cursor:grab}.panel{background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hud{z-index:30;pointer-events:none;padding:max(var(--gutter), env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(var(--gutter), env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));position:absolute;inset:0}.hud>*,.hud__left>*,.hud__right>*{pointer-events:auto}.hud__left,.hud__right{pointer-events:none}.btn{border:2px solid var(--line-strong);background:var(--paper-2);cursor:pointer;box-shadow:0 2px 0 var(--line-strong);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:800;transition:transform 80ms,box-shadow 80ms,background .15s;display:inline-flex}.btn:hover:not(:disabled){background:#fff}.btn:active:not(:disabled){box-shadow:0 0 0 var(--line-strong);transform:translateY(2px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--green);border-color:var(--green-dark);color:#fff;box-shadow:0 2px 0 var(--green-dark)}.btn--primary:hover:not(:disabled){background:#5aae54}.btn--danger{background:var(--danger);color:#fff;border-color:#a83434;box-shadow:0 2px #a83434}.btn--ghost{box-shadow:none;background:0 0}.btn--small{border-radius:10px;padding:6px 11px;font-size:.86rem}.btn--tiny{border-radius:8px;padding:3px 8px;font-size:.75rem}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.btn-row--end{justify-content:flex-end}.icon-btn{cursor:pointer;width:44px;height:44px;color:var(--wood-dark);place-items:center;padding:0;display:inline-grid}.icon-btn--plain{background:0 0;border:none;border-radius:10px;width:36px;height:36px}.icon-btn--plain:hover{background:var(--paper-3)}.badge{background:var(--accent);color:#fff;border:2px solid var(--paper);border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-weight:900;display:grid;position:absolute;top:-6px;right:-6px}.progress{background:var(--paper-3);border-radius:6px;height:8px;overflow:hidden;box-shadow:inset 0 1px 2px #4a2e1426}.progress__fill{background:linear-gradient(90deg, #8fd16a, var(--green));border-radius:6px;height:100%;transition:width .25s}.progress--quest{height:10px}.progress--quest .progress__fill{background:linear-gradient(90deg, #ffd56b, var(--gold))}.progress--grow{height:10px;margin:6px 0 10px}.is-hint{z-index:1;animation:1.6s ease-in-out infinite hint-pulse;position:relative}@keyframes hint-pulse{0%,to{box-shadow:0 0 0 0 #f2b631e6, var(--shadow-soft)}50%{box-shadow:0 0 0 7px #f2b63100, var(--shadow-soft)}}.topbar{top:max(var(--gutter), env(safe-area-inset-top));left:max(var(--gutter), env(safe-area-inset-left));right:max(var(--gutter), env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute}.topbar>*{pointer-events:auto}.topbar__res{align-items:center;gap:6px;min-width:0;padding:6px 10px 6px 8px;display:flex}.topbar__goods{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.topbar__right{align-items:center;gap:8px;display:flex}.chip{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:12px;align-items:center;gap:5px;padding:4px 9px 4px 6px;font-weight:900;display:inline-flex}.chip--coins{border-right:2px solid var(--line);color:#8a5a10;border-radius:12px 0 0 12px;margin-right:4px;padding-right:14px;font-size:1.25rem}.chip--good{background:var(--paper-2);font-size:1rem}.chip--good.is-full .chip__value{color:var(--danger)}.chip.is-bump{animation:.32s bump}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.boost{border:2px solid var(--line);background:var(--paper);height:50px;box-shadow:var(--shadow);cursor:default;font-variant-numeric:tabular-nums;border-radius:26px;align-items:center;gap:6px;padding:3px 14px 3px 3px;font-weight:900;display:flex;position:relative}.boost__ring{width:42px;height:42px;transform:rotate(-90deg)}.boost__track{fill:var(--paper-2);stroke:var(--paper-3);stroke-width:4px}.boost__fill{fill:none;stroke:var(--gold);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset .3s}.boost__icon{position:absolute;top:50%;left:12px;transform:translateY(-50%)}.boost__text{min-width:42px;color:var(--ink-soft);font-size:.95rem}.boost.is-ready{cursor:pointer;border-color:var(--gold);background:linear-gradient(#fff6d6,#ffe7a3);animation:1.2s ease-in-out infinite boost-glow}.boost.is-ready .boost__text{color:#8a5a10}.boost.is-active{border-color:var(--accent);background:linear-gradient(#fff1e0,#ffd8b0)}.boost.is-active .boost__fill{stroke:var(--accent)}@keyframes boost-glow{0%,to{box-shadow:0 0 0 0 #f2b631cc, var(--shadow)}50%{box-shadow:0 0 0 9px #f2b63100, var(--shadow)}}.hud__left{top:calc(max(var(--gutter), env(safe-area-inset-top)) + 70px);left:max(var(--gutter), env(safe-area-inset-left));width:300px;position:absolute}.quest{padding:12px 16px 14px;position:relative}.quest:before{content:"";background:var(--gold);border-radius:0 4px 4px 0;width:5px;position:absolute;top:14px;bottom:14px;left:-2px}.quest.is-flash{animation:.9s flash}@keyframes flash{0%{background:#fff3c4;transform:scale(1)}30%{transform:scale(1.03)}to{background:var(--paper);transform:scale(1)}}.quest__toggle{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.quest__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--wood);align-items:center;gap:5px;font-size:.72rem;font-weight:900;display:inline-flex}.quest__chevron{color:var(--ink-faint);font-size:.8rem}.quest__title{margin:4px 0;font-size:1.25rem;font-weight:900;line-height:1.2}.quest__text{margin:0 0 10px;font-size:.95rem;line-height:1.4}.quest__progress{align-items:center;gap:10px;display:flex}.quest__progress .progress{flex:1}.quest__count{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.9rem;font-weight:900}.quest__hint{color:var(--ink-soft);margin:10px 0 0;font-size:.84rem;line-height:1.35}.quest__reward{background:var(--gold-soft);color:#8a5a10;border-radius:999px;align-items:center;gap:4px;margin-top:8px;padding:3px 10px;font-size:.8rem;font-weight:800;display:inline-flex}.deliveries{flex-direction:column;gap:8px;display:flex}.delivery{align-items:center;gap:8px;padding:6px 0;display:flex}.delivery__icon{background:var(--paper-2);border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.delivery__body{flex:1;min-width:0}.delivery__label{justify-content:space-between;margin-bottom:3px;font-size:.88rem;font-weight:800;display:flex}.delivery__count{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.delivery__check{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.delivery.is-done .progress__fill{background:var(--green)}.hud__right{top:calc(max(var(--gutter), env(safe-area-inset-top)) + 70px);right:max(var(--gutter), env(safe-area-inset-right));flex-direction:column;width:330px;max-height:calc(100% - 170px);display:flex;position:absolute}.detail{flex-direction:column;max-height:100%;animation:.18s slide-in;display:flex;overflow:hidden}@keyframes slide-in{0%{opacity:0;transform:translate(16px)}}.detail__head{border-bottom:2px solid var(--line);background:var(--paper-2);align-items:center;gap:10px;padding:12px 10px 10px 14px;display:flex}.detail__head>div{flex:1;min-width:0}.detail__icon{background:var(--paper);border:2px solid var(--line);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.detail__title{margin:0;font-size:1.1rem;font-weight:900}.detail__subtitle{color:var(--ink-soft);margin:1px 0 0;font-size:.82rem}.detail__body{flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex;overflow-y:auto}.detail__row{justify-content:space-between;gap:10px;font-size:.9rem;display:flex}.detail__label{color:var(--ink-soft)}.detail__value{text-align:right;align-items:center;gap:4px;font-weight:800;display:inline-flex}.detail__section{letter-spacing:.06em;text-transform:uppercase;color:var(--wood);margin:6px 0 0;font-size:.74rem;font-weight:900}.detail__text{margin:0;font-size:.93rem;line-height:1.4}.detail__text--status{border-radius:var(--radius-sm);background:var(--paper-2);border-left:4px solid var(--green);padding:9px 11px}.detail__text--status.is-waitingInput,.detail__text--status.is-outputFull{border-left-color:var(--accent);background:#fff1e4}.detail__text--status.is-paused{border-left-color:var(--ink-faint)}.detail__note{color:var(--ink-soft);margin:0;font-size:.8rem;line-height:1.35}.detail__actions{border-top:2px dashed var(--line);flex-wrap:wrap;gap:6px;margin-top:6px;padding-top:10px;display:flex}.seg{background:var(--paper-3);border-radius:12px;flex-wrap:wrap;gap:4px;padding:3px;display:flex}.seg__btn{cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 8px;font-size:.82rem;font-weight:800;display:inline-flex}.seg__btn:hover:not(:disabled){background:#fff9}.seg__btn.is-active{background:var(--paper);box-shadow:var(--shadow-soft)}.seg__btn:disabled{opacity:.4;cursor:not-allowed}.recipe{border-radius:var(--radius-sm);background:var(--paper-2);align-items:center;gap:10px;padding:8px 12px;font-weight:900;display:flex}.recipe span{align-items:center;gap:3px;display:inline-flex}.recipe__arrow{color:var(--ink-faint)}.recipe__time{color:var(--ink-soft);margin-left:auto;font-size:.85rem}.upgrade{border-radius:var(--radius-sm);border:2px dashed var(--line-strong);background:#fffdf6;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.helper-block{border-radius:var(--radius-sm);background:var(--paper-2);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.helper-block__head{align-items:center;gap:8px;display:flex}.reserves{flex-direction:column;gap:6px;display:flex}.reserve-row{align-items:center;gap:8px;display:flex}.reserve-row__info{flex-direction:column;flex:1;min-width:0;display:flex}.reserve-row__name{font-size:.88rem;font-weight:800}.reserve-row__meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:2px;font-size:.72rem;display:inline-flex}.stepper{border:2px solid var(--line);background:var(--paper);border-radius:10px;align-items:center;display:inline-flex;overflow:hidden}.stepper button{background:var(--paper-2);cursor:pointer;border:none;place-items:center;width:26px;height:26px;display:grid}.stepper button:disabled{opacity:.4}.stepper__value{text-align:center;font-variant-numeric:tabular-nums;min-width:30px;font-size:.85rem;font-weight:900}.toggle{cursor:pointer;align-items:flex-start;gap:8px;font-size:.9rem;line-height:1.35;display:flex}.toggle input{width:18px;height:18px;accent-color:var(--green);flex:none;margin-top:1px}.slider{align-items:center;gap:10px;font-size:.9rem;display:flex}.slider input{accent-color:var(--green);flex:1}.toolbar-wrap{--clear-left:174px;--clear-right:210px;left:max(var(--gutter), env(safe-area-inset-left));right:max(var(--gutter), env(safe-area-inset-right));bottom:max(var(--gutter), env(safe-area-inset-bottom));grid-template-columns:minmax(var(--clear-left), 1fr) auto minmax(var(--clear-right), 1fr);pointer-events:none;justify-items:center;row-gap:10px;display:grid;position:absolute}.toolbar-wrap>*{pointer-events:auto;grid-column:1/-1}.toolbar-wrap>.toolbar{grid-column:2}.toolbar{align-items:stretch;gap:4px;padding:6px;display:flex}.toolbar__sep{background:var(--line);border-radius:2px;width:2px;margin:6px 4px}.tool,.action{cursor:pointer;min-width:70px;color:var(--wood-dark);background:0 0;border:2px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:7px 10px 6px;transition:background .15s,transform 80ms;display:flex;position:relative}.tool:hover,.action:hover:not(:disabled){background:var(--paper-2)}.tool:active,.action:active:not(:disabled){transform:translateY(1px)}.tool.is-active{background:var(--paper-3);border-color:var(--line-strong);color:var(--ink)}.tool__label,.action__label{white-space:nowrap;font-size:.78rem;font-weight:800}.tool__key{opacity:.7;padding:0 4px;font-size:.6rem;position:absolute;top:3px;right:4px}.action:disabled{opacity:.45;cursor:not-allowed}.action--sell{background:var(--green);color:#fff;min-width:150px;box-shadow:0 2px 0 var(--green-dark)}.action--sell:hover:not(:disabled){background:#5aae54}.action--sell:disabled{background:var(--paper-3);color:var(--ink-soft);box-shadow:none}.action__value{background:var(--gold);color:#5d3c06;border:2px solid var(--paper);border-radius:999px;align-items:center;gap:2px;padding:2px 7px;font-size:.72rem;font-weight:900;display:inline-flex;position:absolute;top:-10px;right:-6px}.popover{padding:12px 14px;animation:.15s pop-up}@keyframes pop-up{0%{opacity:0;transform:translateY(8px)}}.popover__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.popover__title{color:var(--ink-soft);margin:0;font-size:.86rem;font-weight:800}.popover__note{color:var(--ink-soft);margin:8px 0 0;font-size:.78rem}.crop-picker__row{gap:8px;display:flex}.crop-btn{border:2px solid var(--line);background:var(--paper-2);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:96px;padding:8px 10px;display:flex}.crop-btn.is-active{border-color:var(--green);background:#eef8e4}.crop-btn:disabled{opacity:.45;cursor:not-allowed}.crop-btn__name{font-size:.88rem;font-weight:900}.crop-btn__meta{color:var(--ink-soft);align-items:center;gap:3px;font-size:.72rem;display:inline-flex}.build-menu{width:min(640px, calc(100vw - 2 * var(--gutter)));max-height:min(62vh,520px);overflow-y:auto}.build-menu__head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.build-menu__head h2{margin:0;font-size:1.15rem;font-weight:900}.build-menu__hint{color:var(--ink-soft);flex:1;font-size:.76rem}.build-menu h3{letter-spacing:.06em;text-transform:uppercase;color:var(--wood);margin:10px 0 6px;font-size:.74rem;font-weight:900}.build-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;display:grid}.build-card{border:2px solid var(--line);background:var(--paper-2);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 9px;transition:transform 80ms,background .15s;display:flex}.build-card:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.build-card.is-active{border-color:var(--green);background:#eef8e4}.build-card.is-locked{opacity:.6;cursor:not-allowed;background:var(--paper-3)}.build-card.is-unaffordable .build-card__cost{color:var(--danger)}.build-card__thumb{width:46px;height:46px;color:var(--ink-soft);place-items:center;display:grid}.thumb-icon{width:44px;height:44px;color:var(--danger);background:#ffe1d6;border-radius:12px;place-items:center;display:grid}.build-card__title{font-size:.86rem;font-weight:900;line-height:1.15}.build-card__cost{color:#8a5a10;align-items:center;gap:3px;font-size:.82rem;font-weight:900;display:inline-flex}.build-card__meta{color:var(--ink-soft);align-items:center;gap:2px;font-size:.7rem;line-height:1.2;display:inline-flex}.build-card__meta--lock{font-weight:700}.camera-ctl{right:max(var(--gutter), env(safe-area-inset-right));bottom:max(var(--gutter), env(safe-area-inset-bottom));flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}.camera-ctl__buttons{gap:2px;padding:4px;display:flex}.seg--touch{background:var(--paper);padding:4px}.toasts{top:calc(max(var(--gutter), env(safe-area-inset-top)) + 72px);width:min(440px, calc(100% - 2 * var(--gutter)));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%);pointer-events:none!important}.toast{background:var(--paper);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:10px;padding:9px 14px;font-size:.92rem;font-weight:800;animation:.2s toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}}.toast--error{color:#9b3322;background:#fff1ec;border-color:#f0b4a6}.toast--quest{border-color:var(--gold);background:linear-gradient(#fffaf0,#fff0c6)}.toast--boost{border-color:var(--accent);background:#fff4e8}.toast__sub{color:var(--ink-soft);font-size:.8rem;font-weight:600}.toast__count{opacity:.7;margin-left:6px;font-size:.75rem}.toast__reward{color:#8a5a10;align-items:center;gap:3px;margin-left:auto;display:inline-flex}.notice{max-width:min(560px, calc(100% - 2 * var(--gutter)));background:#fff7e6;border-color:#f0c98e;align-items:center;gap:10px;padding:10px 10px 10px 16px;font-size:.9rem;display:flex;position:absolute;bottom:110px;left:50%;transform:translate(-50%)}.modebar{left:50%;bottom:calc(max(var(--gutter), env(safe-area-inset-bottom)) + 92px);max-width:calc(100% - 2 * var(--gutter));background:#fffdf4;align-items:center;gap:12px;padding:7px 8px 7px 16px;font-size:.88rem;font-weight:700;display:flex;position:absolute;transform:translate(-50%)}.floating-hint{left:50%;top:calc(max(var(--gutter), env(safe-area-inset-top)) + 72px);align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;font-weight:700;display:flex;position:absolute;transform:translate(-50%);pointer-events:none!important}.fps{color:var(--ink-soft);background:#fff8eacc;border-radius:6px;padding:1px 8px;font-size:.72rem;font-weight:900;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.world-badge{background:var(--paper);border:2px solid var(--line);box-shadow:var(--shadow-soft);font-family:var(--font);color:var(--ink);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:4px;padding:3px 9px 3px 5px;font-size:12px;font-weight:900;animation:2s ease-in-out infinite badge-bob;display:inline-flex}.world-badge__icon{place-items:center;min-width:18px;height:18px;display:grid}.world-badge--quest{background:var(--gold);color:#5d3c06;border-color:#fff;padding:2px 9px;font-size:16px}.world-badge--wait,.world-badge--full{background:#fff1e4;border-color:#f2a36b}.world-badge--info{background:#fff8eaeb;animation:none}@keyframes badge-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.build-label{border:2px solid var(--green);min-width:120px;box-shadow:var(--shadow-soft);font-family:var(--font);text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fff8eaf5;border-radius:12px;padding:6px 10px}.build-label--invalid{border-color:var(--danger)}.build-label__title{color:var(--ink);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:900;display:flex}.build-label__cost{color:#8a5a10;align-items:center;gap:2px;display:inline-flex}.build-label__reason{color:var(--danger);margin-top:2px;font-size:12px;font-weight:800}.float-label{font-family:var(--font);color:var(--ink);white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-soft);background:#fff8eae6;border-radius:999px;gap:8px;padding:2px 8px;font-size:15px;font-weight:900;animation:1.3s ease-out forwards float-up;display:inline-flex}.float-label__item{align-items:center;gap:2px;display:inline-flex}@keyframes float-up{0%{opacity:0;transform:translateY(6px)scale(.8)}15%{opacity:1;transform:translateY(0)scale(1.08)}30%{transform:translateY(-4px)scale(1)}to{opacity:0;transform:translateY(-34px)}}.modal-backdrop{padding:var(--gutter);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;z-index:50;background:#3b2a1e59;place-items:center;animation:.15s fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal{width:min(460px,100%);max-height:calc(100vh - 2 * var(--gutter));flex-direction:column;animation:.18s pop-up;display:flex;overflow:hidden}.modal--wide{width:min(620px,100%)}.modal__head{background:var(--paper-2);border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;padding:14px 12px 12px 20px;display:flex}.modal__head h2{margin:0;font-size:1.2rem;font-weight:900}.modal__body{padding:14px 20px 18px;line-height:1.45;overflow-y:auto}.settings-section{border-bottom:2px dashed var(--line);flex-direction:column;gap:8px;padding:10px 0 14px;display:flex}.settings-section:last-child{border-bottom:none}.settings-section h3{letter-spacing:.06em;text-transform:uppercase;color:var(--wood);margin:0;font-size:.78rem;font-weight:900}.settings-message{border-radius:10px;margin:0;padding:8px 12px;font-size:.88rem;font-weight:700}.settings-message--ok{color:var(--green-dark);background:#eef8e4}.settings-message--error{color:#9b3322;background:#fff1ec}.keys{margin:0;padding-left:18px;font-size:.88rem;line-height:1.7}.welcome-list{background:var(--paper-2);border-radius:12px;flex-direction:column;gap:4px;margin:10px 0;padding:10px 14px;font-weight:800;list-style:none;display:flex}.welcome-list li{align-items:center;gap:5px;display:flex}.celebrate{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.celebrate__headline{margin:4px 0;font-size:1.45rem;font-weight:900;line-height:1.2}.overlay{padding:var(--gutter);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;z-index:60;background:#bfe7f2bf;place-items:center;display:grid;position:fixed;inset:0}.overlay__card{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:440px;padding:22px 24px;display:flex}.overlay__card h2{margin:0;font-weight:900}.overlay__card p{margin:0 0 8px;line-height:1.45}.spinner{border:4px solid var(--paper-3);border-top-color:var(--green);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop--top{z-index:70}.legal-links{left:max(var(--gutter), env(safe-area-inset-left));bottom:max(6px, env(safe-area-inset-bottom));z-index:65;gap:4px;display:flex;position:fixed}.legal-links button{font:inherit;color:var(--ink-soft);cursor:pointer;background:#fff8eacc;border:0;border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:800}.legal-links button:hover{color:var(--ink);text-decoration:underline}.legal section+section{margin-top:14px}.legal h3{margin:0 0 4px;font-size:1rem;font-weight:900}.legal p,.legal ul{margin:0 0 8px}.legal ul{padding-left:20px}.legal__line{display:block}.legal a{color:var(--accent-dark);font-weight:800}@media (width<=999px){.legal-links--playing{display:none}.toolbar-wrap{--clear-left:0px}}@media (width<=1049px){.tool,.action{min-width:58px;padding:7px 6px 6px}.action--sell{min-width:0}.tool__key{display:none}}@media (width<=900px){.hud__left{width:260px}.hud__right{width:300px}.hide-narrow{display:none}}@media (width<=720px){:root{--gutter:8px}.toolbar-wrap{grid-template-columns:1fr}.toolbar-wrap>.toolbar{grid-column:1;width:100%}.toolbar .tool,.toolbar .action{flex:1 1 0;min-width:0}.action--sell{min-width:0}.action__value{right:-2px}.hud.has-detail .camera-ctl{display:none}.camera-ctl{align-items:flex-end}.seg--touch .seg__btn{padding:6px 8px}.topbar__res{padding:4px 6px}.chip--coins{padding-right:8px;font-size:1.05rem}.chip--good{padding:3px 6px 3px 4px;font-size:.86rem}.boost{height:46px;padding-right:8px}.boost__text{display:none}.topbar__right .icon-btn{width:40px;height:40px}.topbar__right .icon-btn:first-of-type{display:none}.hud__left{top:calc(max(var(--gutter), env(safe-area-inset-top)) + 58px);width:min(280px,100% - 70px)}.quest{padding:9px 12px 10px}.quest__title{font-size:1.02rem}.quest__text{font-size:.86rem}.hud__right{top:auto;left:var(--gutter);right:var(--gutter);bottom:calc(max(var(--gutter), env(safe-area-inset-bottom)) + 76px);width:auto;max-height:46vh}.tool__label,.action__label{font-size:.68rem}.tool,.action{min-width:48px;padding:6px 4px 5px}.toolbar{gap:2px;padding:4px}.toolbar__sep{margin:6px 1px}.camera-ctl{bottom:calc(max(var(--gutter), env(safe-area-inset-bottom)) + 80px)}.modebar{bottom:calc(max(var(--gutter), env(safe-area-inset-bottom)) + 136px);font-size:.8rem}.crop-btn{flex:1;min-width:0}.toasts{top:calc(max(var(--gutter), env(safe-area-inset-top)) + 58px)}.build-menu__hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
