[hidden]{display:none!important}:root{--bg: #14100c;--panel: #2b2118;--panel-2: #3a2c20;--panel-3: #4a3826;--edge: #6b4f37;--edge-hi: #a37850;--ink: #f6ecdc;--ink-dim: #b9a68d;--ink-mute: #8a7a66;--gold: #ffd84a;--gold-dark: #c9931a;--green: #6cc94f;--green-dark: #3d6b2a;--red: #e05d5d;--red-dark: #6b2a2a;--blue: #5aa9e6;--glass: rgba(43, 33, 24, .9);--shadow: 0 3px 0 rgba(0, 0, 0, .45);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .45);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs: clamp(12.5px, 3.4vw, 15px);--fs-sm: .86em;--fs-lg: 1.15em;--tap: 44px;--hotbar-slots: 10;--slot-gap: 2px;--slot: clamp(26px, calc((100vw - 2 * var(--hud-gap) - 2 * var(--sa-l) - 20px - var(--tap) - var(--hotbar-slots) * var(--slot-gap)) / var(--hotbar-slots)), 52px);--btn-a: 80px;--btn-b: 64px;--gap: 8px;--hud-gap: clamp(6px, 1.6vw, 12px);--radius: 8px;--radius-sm: 5px;--sa-t: env(safe-area-inset-top, 0px);--sa-b: env(safe-area-inset-bottom, 0px);--sa-l: env(safe-area-inset-left, 0px);--sa-r: env(safe-area-inset-right, 0px);--pad-bottom: 0px;--abtn-bottom: 14px;--padctx-gap: 0px;--anim: .18s}body[data-ui=small]{--fs: 12px;--btn-a: 68px;--btn-b: 54px}body[data-ui=large]{--fs: clamp(15px, 4vw, 18px);--btn-a: 92px;--btn-b: 72px;--slot-gap: 4px}body[data-ui=small]{--slot-gap: 2px}body[data-motion=reduce]{--anim: 0s}body[data-motion=reduce] *,body[data-motion=reduce] *:before,body[data-motion=reduce] *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}*{box-sizing:border-box;touch-action:manipulation}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs);font-variant-numeric:tabular-nums;line-height:1.35;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-text-size-adjust:100%}#app{position:relative;width:100%;height:100%;height:100dvh}#stage{position:relative;width:100%;height:100%;overflow:hidden;touch-action:none}.season-tint{position:absolute;inset:0;pointer-events:none;z-index:1}canvas#game{display:block;position:absolute;inset:0;width:100%;height:100%;image-rendering:crisp-edges;image-rendering:pixelated;background:#0b0907;touch-action:none}.ic{display:inline-grid;place-items:center;width:1.5em;height:1.5em;flex:none}.ic canvas{width:24px;height:24px;image-rendering:pixelated}#hud{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;gap:6px;padding:calc(var(--hud-gap) + var(--sa-t)) calc(var(--hud-gap) + var(--sa-r)) calc(var(--hud-gap) + var(--sa-b) + var(--pad-bottom)) calc(var(--hud-gap) + var(--sa-l));z-index:25}.hud-top{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.hud-top{padding-right:calc(var(--tap) + 8px)}body[data-hand=left] .hud-top{padding-right:0;padding-left:calc(var(--tap) + 8px)}.stat-bar{display:flex;align-items:center;gap:2px 10px;flex-wrap:wrap;max-width:100%;padding:4px 10px;background:var(--glass);border:2px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);font-weight:600;white-space:nowrap}.stat{display:inline-flex;align-items:center;gap:4px;min-height:24px}.stat.money b{color:var(--gold);font-weight:700}.stat.money b.bump{animation:bump .35s ease-out}.stat.clock{color:var(--blue)}.stat.clock .ic.night{filter:drop-shadow(0 0 2px #cfd8ea)}.stat.energy{gap:6px}.stat.water,.stat.power{color:var(--ink-dim)}.stat[hidden]{display:none}.stat.warn{color:var(--red);animation:warn-pulse 1.1s ease-in-out infinite}.meter{position:relative;display:inline-block;width:clamp(40px,12vw,64px);height:9px;background:#1b140e;border:1px solid #000;border-radius:3px;overflow:hidden}.meter>i{display:block;height:100%;background:linear-gradient(#8ede6a,#4c9c36);transition:width var(--anim) linear}.meter.low>i{background:linear-gradient(#f0a35c,#d05a2a)}.meter.crit>i{background:linear-gradient(#f07070,#b02828)}.want-chip{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;max-width:min(72vw,420px);min-height:30px;padding:4px 10px 4px 8px;background:var(--glass);border:2px solid color-mix(in srgb,var(--gold) 45%,var(--edge));border-radius:999px;box-shadow:var(--shadow);color:var(--gold);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:default}.want-chip #want{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-mid{display:flex;align-items:flex-end;flex:1;min-height:0}.mid-col{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;min-width:0}body[data-hand=left] .mid-col{align-items:flex-end}.animal-card{pointer-events:auto;width:clamp(128px,34vw,168px);padding:4px 6px 5px;background:var(--glass);border:2px solid var(--edge);border-radius:var(--radius-sm);box-shadow:var(--shadow);font-size:calc(var(--fs-sm) * .88);line-height:1.3;animation:toast-in var(--anim) ease-out}.animal-card .hd{display:flex;align-items:center;gap:5px;margin-bottom:3px;padding-bottom:3px;border-bottom:1px solid var(--panel-3)}.animal-card .hd b{flex:1;min-width:0}.animal-card .ax{flex:none;position:relative;width:18px;height:18px;min-height:18px;padding:0;line-height:1;border-radius:50%;font-size:1em}.animal-card .ax:before{content:"";position:absolute;left:50%;top:50%;width:40px;height:40px;transform:translate(-50%,-50%)}.animal-card .hd b{color:var(--gold)}.animal-card .pic canvas{display:block;width:32px;height:auto;image-rendering:crisp-edges;image-rendering:pixelated}.animal-card .mrow{display:flex;align-items:center;gap:6px;height:14px}.animal-card .mbar{flex:1;height:6px;min-width:0;background:var(--panel-3);border-radius:3px;overflow:hidden}.animal-card .mbar i{display:block;height:100%;background:var(--green)}.animal-card .mbar.ok i{background:var(--gold)}.animal-card .mbar.bad i{background:var(--red)}.animal-card .mval{color:var(--ink);font-weight:700}.animal-card .mo{margin-left:auto;min-height:24px;padding:2px 9px;font-size:.72em;font-weight:800;letter-spacing:.4px;border-radius:999px;background:#962e28eb;border-color:#c95048;color:#fff}.animal-card .mnote{font-size:.88em;line-height:1.3}.animal-card .mnote.bad{color:var(--red)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;margin:6px 0}.shop-card{display:grid;justify-items:center;align-content:start;gap:1px;padding:6px 4px 5px;min-height:0;border-radius:var(--radius-sm);background:#3a2c208c;line-height:1.15;text-align:center}.shop-card .icon{image-rendering:pixelated;margin-bottom:2px}.shop-card .nm,.shop-card .sub{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-card .nm{font-size:calc(var(--fs-sm) * .92);font-weight:700}.shop-card .sub{font-size:calc(var(--fs-sm) * .78);color:var(--ink-dim)}.shop-card .pr{font-size:calc(var(--fs-sm) * .88);color:var(--gold);font-weight:700}.shop-card.locked{opacity:.45}.shop-card:disabled{opacity:.5}.shop-card.wide{grid-column:span 2;padding-bottom:7px}.shop-card .acts{display:flex;gap:5px;margin-top:5px;width:100%}.shop-card .acts button{flex:1;min-height:32px;padding:4px 6px;font-size:calc(var(--fs-sm) * .9)}#update-bar{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--hud-gap) + var(--sa-b) + var(--pad-bottom) + 54px);z-index:45;display:flex;align-items:center;gap:8px;padding:5px 6px 5px 12px;background:#3d5a82f7;border:2px solid #5aa9e6;border-radius:999px;box-shadow:var(--shadow);pointer-events:auto;font-size:var(--fs-sm);color:#eaf4ff;animation:toast-in var(--anim) ease-out;max-width:92vw}#update-bar[hidden]{display:none}#update-bar .go{padding:3px 16px;min-height:var(--tap);border-radius:999px;background:#eaf4ff;color:#16324a;font-weight:700}#update-bar .x{position:relative;width:24px;height:24px;min-height:24px;padding:0;line-height:1;border-radius:50%;background:transparent;border-color:transparent;color:#cfe4ff}#update-bar .x:before{content:"";position:absolute;left:50%;top:50%;width:40px;height:40px;transform:translate(-50%,-50%)}#devpanel{position:absolute;top:calc(10px + var(--sa-t) + var(--tap) + 8px);right:calc(10px + var(--sa-r));z-index:40;width:min(224px,56vw);max-height:calc(100% - var(--tap) - 130px);overflow-y:auto;padding:5px 6px 6px;background:var(--glass);border:2px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow-soft);backdrop-filter:blur(4px);pointer-events:auto;font-size:calc(var(--fs-sm) * .86)}body[data-hand=left] #devpanel{right:auto;left:calc(10px + var(--sa-l))}#devpanel[hidden],#devpanel.mini .dev-body{display:none}#devpanel.mini{max-height:none}.dev-head{display:flex;align-items:center;gap:4px;margin-bottom:4px;cursor:grab;touch-action:none;user-select:none}#devpanel.dragging{opacity:.85}#devpanel.dragging .dev-head{cursor:grabbing}.dev-head b{flex:1;color:var(--gold);letter-spacing:.4px}.dev-x,.dev-min{width:20px;height:20px;min-height:20px;padding:0;line-height:1;border-radius:50%;font-size:1.1em;flex:none}.dev-group.wide{color:var(--gold-dark)}.dev-group{margin:5px 0 2px;color:var(--ink-dim);font-size:.85em}.dev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.dev-btn{padding:4px 2px;min-height:0;font-size:.9em;line-height:1.15;border-radius:var(--radius-sm)}.dev-stat{margin-top:6px;padding-top:5px;border-top:1px solid var(--edge);color:var(--ink-dim);font-size:.82em;line-height:1.35;word-break:break-word}#minimap{pointer-events:auto;padding:3px;background:var(--glass);border:2px solid var(--edge);border-radius:var(--radius-sm);box-shadow:var(--shadow);line-height:0;width:clamp(84px,18vw,150px);touch-action:none}#minimap.hidden{display:none}#minimap canvas{display:block;width:100%;height:auto;image-rendering:crisp-edges;image-rendering:pixelated;cursor:pointer}body[data-hand=left] .hud-mid{justify-content:flex-end}.hud-bottom{display:flex;justify-content:center}.hotbar-wrap{pointer-events:auto;display:flex;align-items:center;gap:8px}body[data-hand=left] .hotbar-wrap{flex-direction:row-reverse}.hotbar{display:flex;gap:var(--slot-gap);padding:3px;background:var(--glass);border:2px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);flex:none;overflow:hidden}.bag-btn{position:relative;width:var(--tap);height:calc(var(--slot) + 12px);min-height:var(--tap);padding:0;border-radius:var(--radius);background:var(--glass);display:grid;place-items:center;flex:none}.bag-btn .ic canvas{width:24px;height:24px}.bag-btn .n{position:absolute;right:-4px;top:-6px;min-width:18px;padding:0 4px;border-radius:999px;background:var(--gold);color:#241a05;font-size:.75em;font-weight:800;line-height:18px;text-align:center}.bag-btn .n:empty{display:none}.bag-btn.has{border-color:var(--edge-hi)}.slot{position:relative;flex:none;width:var(--slot);height:var(--slot);background:var(--panel-2);border:2px solid #1b140e;border-radius:var(--radius-sm);display:grid;place-items:center;cursor:pointer;touch-action:manipulation;transition:transform var(--anim) ease-out,border-color var(--anim)}.slot:before{content:"";position:absolute;left:0;right:0;top:50%;height:max(var(--tap),100%);transform:translateY(-50%)}.slot.empty{opacity:.55}.slot.sel{border-color:var(--gold);background:var(--panel-3);box-shadow:0 0 0 1px var(--gold),0 0 10px #ffd84a59;transform:translateY(-3px)}.slot canvas{image-rendering:crisp-edges;image-rendering:pixelated;width:32px;height:32px}.slot .n{position:absolute;right:2px;bottom:0;font-size:var(--fs-sm);font-weight:700;color:var(--ink);text-shadow:1px 1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,-1px -1px 0 #000}.slot .k{position:absolute;left:3px;top:0;font-size:.68em;color:var(--ink-mute)}body:not([data-input=kbm]) .slot .k{display:none}.tip{position:absolute;transform:translate(-50%);max-width:min(78vw,320px);padding:6px 10px;background:#140f0af5;border:2px solid var(--edge-hi);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);font-size:var(--fs-sm);pointer-events:none;z-index:35;animation:toast-in var(--anim) ease-out}.tip b{display:block;color:var(--gold)}.tip span{color:var(--ink-dim)}.day-banner{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:36;opacity:0}.day-banner.show{animation:banner 2.4s ease-out forwards}.day-banner b{display:block;font-size:2.2em;letter-spacing:3px;color:var(--gold);text-shadow:0 3px 0 #6b4f37,0 0 24px rgba(0,0,0,.8)}.day-banner span{color:var(--ink-dim);text-shadow:0 1px 0 #000}#toasts{align-self:stretch;display:flex;flex-direction:column;gap:3px;align-items:center;pointer-events:none;margin-top:3px}.toast{display:flex;align-items:center;gap:5px;background:#140f0af0;border:1px solid var(--edge);border-radius:999px;padding:3px 10px 3px 7px;animation:toast-in var(--anim) ease-out;text-align:center;font-size:calc(var(--fs-sm) * .9);max-width:68vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .25s ease-out,transform .25s ease-out}.toast .ico{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;font-weight:800;font-size:.72em;flex:none}.toast .ico:empty{display:none}.toast .n:empty{display:none}.toast .n{color:var(--gold);font-weight:700}.toast.good{border-color:var(--green);color:#d8f5c8}.toast.good .ico{background:var(--green);color:#0e2a08}.toast.bad{border-color:var(--red);color:#f8d2d2}.toast.bad .ico{background:var(--red);color:#2a0808}.toast.fade{opacity:0;transform:translateY(-4px)}.toast.bump{animation:bump .3s ease-out}#modal-root{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#080604b8;z-index:40;padding:calc(12px + var(--sa-t)) calc(12px + var(--sa-r)) calc(12px + var(--sa-b)) calc(12px + var(--sa-l))}#modal-root.open{display:flex}.modal{position:relative;background:var(--panel);border:3px solid var(--edge-hi);border-radius:10px;box-shadow:var(--shadow-soft);width:min(560px,100%);max-height:100%;display:flex;flex-direction:column;animation:modal-in .22s cubic-bezier(.2,.8,.2,1)}.modal .grip{display:none}.modal header{padding:10px 12px;border-bottom:2px solid var(--edge);display:flex;justify-content:space-between;align-items:center;gap:10px}.modal .hd{min-width:0}.modal h2{margin:0;font-size:var(--fs-lg);letter-spacing:.3px;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal .sub{font-size:var(--fs-sm);color:var(--ink-dim)}.modal .x{width:var(--tap);height:var(--tap);min-height:var(--tap);padding:0;border-radius:50%;font-size:1.1em;flex:none}.modal .body{padding:10px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px}.modal .body>*{flex-shrink:0}.modal footer{padding:8px 10px calc(8px + var(--sa-b));border-top:2px solid var(--edge);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center}.modal footer .sub{flex:1;min-width:0}@media (max-width: 640px) and (orientation: portrait){#modal-root{align-items:flex-end;padding:calc(24px + var(--sa-t)) 0 0}.modal.sheet,.modal{width:100%;max-height:min(88dvh,100%);border-radius:16px 16px 0 0;border-bottom:0;animation:sheet-in .26s cubic-bezier(.2,.8,.2,1)}.modal .grip{display:block;width:40px;height:4px;margin:8px auto 0;border-radius:2px;background:var(--edge-hi);opacity:.7}.modal header{padding-top:6px}}.bag-head{font-size:var(--fs-sm);color:var(--ink-mute);letter-spacing:.5px;margin-top:4px}.bag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:6px;touch-action:none}.bag-grid.hot{grid-template-columns:repeat(5,1fr)}.bslot{position:relative;aspect-ratio:1;min-height:50px;background:var(--panel-2);border:2px solid #1b140e;border-radius:var(--radius-sm);display:grid;place-items:center;cursor:pointer;user-select:none}.bslot .icon{image-rendering:pixelated;pointer-events:none}.bslot.empty{opacity:.5}.bslot.locked{border-style:dashed;border-color:var(--edge)}.bslot.sel{box-shadow:inset 0 0 0 2px var(--gold)}.bslot.picked{border-color:var(--gold);background:var(--panel-3);box-shadow:0 0 0 2px var(--gold),0 0 12px #ffd84a80;transform:translateY(-2px)}.bslot .n{position:absolute;right:3px;bottom:1px;font-size:var(--fs-sm);font-weight:700;text-shadow:1px 1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,-1px -1px 0 #000;pointer-events:none}.bslot.ghost{position:fixed;z-index:100;width:52px;height:52px;transform:translate(-50%,-60%) scale(1.15);pointer-events:none;opacity:.9;box-shadow:var(--shadow-soft)}.tabs{display:flex;gap:4px;padding:3px;background:#1b140e;border-radius:var(--radius);margin-bottom:4px}.tabs .tab{flex:1;border:2px solid transparent;border-bottom-width:2px;background:transparent;color:var(--ink-dim);min-height:var(--tap);padding:0 2px;font-size:calc(var(--fs-sm) * .86);white-space:nowrap}.tabs .tab.on{background:var(--panel-2);border-color:var(--edge-hi);color:var(--gold)}.tabs .tab:active{transform:none}.row{display:flex;align-items:center;gap:10px;flex:none;min-height:52px;padding:5px 8px;background:var(--panel-2);border:2px solid #1b140e;border-radius:var(--radius-sm)}.row.locked{opacity:.55}.row .icon{image-rendering:pixelated;flex:none}.row .info{flex:1;min-width:0}.row .name{font-weight:600}.row .desc{font-size:var(--fs-sm);color:var(--ink-dim);white-space:normal;line-height:1.3}.row .desc.dim{font-size:calc(var(--fs-sm) * .92);margin-top:1px}.row .desc.dim{opacity:.75}.row .need{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px 1px 3px;background:#1b140e;border-radius:999px;color:var(--ink-dim)}.chip .icon{image-rendering:pixelated}.chip.short{color:#f8b0b0;background:#3a1a1a}.row .right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.row .price{color:var(--gold);font-weight:700;white-space:nowrap}.stepper{display:inline-flex;align-items:center;gap:2px}.stepper button{width:36px;min-height:36px;padding:0;font-size:1.2em;line-height:1}.stepper span{min-width:46px;text-align:center;font-size:var(--fs-sm);color:var(--ink-dim)}button{font:inherit;font-weight:600;color:var(--ink);background:var(--panel-2);border:2px solid var(--edge);border-bottom-width:4px;border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer;touch-action:manipulation;min-height:var(--tap);transition:transform .08s,background var(--anim)}button:hover:not(:disabled){background:var(--panel-3);border-color:var(--edge-hi)}button:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button.primary{background:var(--green-dark);border-color:#5c9b40}button.primary:hover:not(:disabled){background:#4c8535}button.danger{background:var(--red-dark);border-color:#9b4040}button.accent{background:#3d4f7a;border-color:#6b86c0}button.dim{color:var(--ink-dim)}button.ghost{background:transparent}button.wide{flex:1;width:100%}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.menu-list{display:flex;flex-direction:column;gap:6px}.menu-list button{text-align:left}kbd{display:inline-block;background:#1b140e;border:1px solid var(--edge);border-bottom-width:2px;border-radius:3px;padding:0 5px;font-family:var(--mono);font-size:.85em;color:var(--ink);margin:0 1px}.mono{font-family:var(--mono)}.help-grid{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;font-size:var(--fs-sm);align-items:center}.help-grid .k{text-align:right;color:var(--gold);font-weight:600}.help-text{margin-top:8px;color:var(--ink-dim);font-size:var(--fs-sm);line-height:1.6}.help-text p{margin:0 0 8px}.help-text b{color:var(--ink)}.setting{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-bottom:1px solid #1b140e}.setting.toggle{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.st-head{display:flex;flex-direction:column;min-width:0}.st-head b{color:var(--ink)}.st-head .sub{font-size:var(--fs-sm)}.segment{display:flex;gap:3px;padding:3px;background:#1b140e;border-radius:var(--radius)}.segment button{flex:1;border-color:transparent;background:transparent;color:var(--ink-dim);padding:6px 4px}.segment button.on{background:var(--panel-3);border-color:var(--edge-hi);color:var(--gold)}.switch{position:relative;flex:none;width:56px;height:32px;min-height:32px;padding:0;border-radius:999px;background:#1b140e;border:2px solid var(--edge);border-bottom-width:2px}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink-mute);transition:left var(--anim),background var(--anim)}.switch.on{background:var(--green-dark);border-color:#5c9b40}.switch.on i{left:27px;background:var(--green)}.switch:active{transform:none}#touch{position:absolute;inset:0;display:none;pointer-events:none;z-index:20}body[data-input=touch] #touch,body[data-input=pad] #touch,body[data-input=pad-std] #touch,body[data-input=kbm] #touch{display:block}body[data-input=kbm] #stick{display:none}#stick{display:none;position:absolute;left:var(--sa-l);bottom:var(--sa-b);pointer-events:auto;touch-action:none}body[data-control=stick] #stick{display:block}body[data-control=stick][data-hand=left] #stick{left:auto;right:var(--sa-r)}#stick .base{position:absolute;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;background:#140f0a5c;border:2px solid rgba(163,120,80,.6);opacity:0;transition:opacity .12s ease-out;pointer-events:none}#stick .knob{position:absolute;left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%);border-radius:50%;background:#ffd84ac7;border:2px solid rgba(20,15,10,.6);box-shadow:0 2px #0006}#abtn{position:absolute;right:calc(12px + var(--sa-r));bottom:calc(var(--abtn-bottom, 14px) + var(--sa-b));display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}#abtn .btns button{pointer-events:auto}body[data-hand=left] #abtn{right:auto;left:calc(12px + var(--sa-l));align-items:flex-start}#abtn .btns{display:flex;align-items:flex-end;gap:16px}#abtn .btns .b{margin-bottom:calc(var(--btn-a) * .34)}#abtn .btns .t{margin-bottom:calc(var(--btn-a) * .12)}body[data-hand=left] #abtn .btns{flex-direction:row-reverse}#abtn .btns .y,body[data-input^=pad] #abtn .btns .t{display:none}body[data-input^=pad] #abtn .btns{display:grid;grid-template-columns:repeat(3,auto);grid-template-rows:repeat(2,auto);align-items:center;justify-items:center;gap:5px}body[data-input^=pad] #abtn .btns .y{display:grid;grid-area:1 / 2}body[data-input^=pad] #abtn .btns .b{margin-bottom:0}body[data-input^=pad] #abtn .btns .b{grid-area:1 / 3}body[data-input^=pad] #abtn .btns .a{grid-area:2 / 2}body[data-hand=left][data-input^=pad] #abtn .btns .b{grid-area:1 / 1}#abtn button{border-radius:50%;padding:0;opacity:.94;background:#3a2c20eb;font-weight:800;letter-spacing:.5px}#abtn .a{width:var(--btn-a);height:var(--btn-a);min-height:var(--btn-a);font-size:.95em;background:#3d6b2af0;border-color:#5c9b40;box-shadow:0 0 #6cc94f00;transition:box-shadow .25s,background .2s,transform .08s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.05}#abtn .a .it{image-rendering:crisp-edges;image-rendering:pixelated;width:32px;height:auto;flex:none;filter:drop-shadow(0 1px 0 rgba(0,0,0,.45))}#abtn .a.cocam span{font-size:.82em}#abtn .a.ready{background:#4c8535fa;box-shadow:0 0 0 3px #6cc94f59,0 0 16px #6cc94f73}#abtn .a.far{background:#3d5a82f0;border-color:#5aa9e6}#abtn .a[data-kind=run]{background:#a83e30f5;border-color:#f08a6a;box-shadow:0 0 0 3px #f08a6a59,0 0 16px #f08a6a66;color:#fff3ec}#abtn .a[data-kind=none]{background:#3a2c20e6;border-color:var(--edge);color:var(--ink-dim)}#abtn .a[data-kind=harvest]{background:#c9931af2;border-color:var(--gold);color:#241a05}#abtn .b{width:var(--btn-b);height:var(--btn-b);min-height:var(--btn-b);font-size:1.05em}#abtn .t{width:var(--btn-b);height:var(--btn-b);min-height:var(--btn-b);font-size:.56em;letter-spacing:0;line-height:1.05;border-color:#e2573f;color:#ffd8cf}#abtn .y{width:var(--btn-b);height:var(--btn-b);min-height:var(--btn-b);font-size:.62em;letter-spacing:0;color:var(--ink-dim)}#abtn button.down{transform:translateY(2px);border-bottom-width:2px}#abtn .why{max-width:46vw;padding:3px 9px;background:#140f0ae6;border:1px solid var(--edge);border-radius:999px;font-size:var(--fs-sm);color:var(--ink-dim);text-align:center;animation:toast-in var(--anim) ease-out}#abtn .why[hidden],body[data-ctx=off] #abtn .why{display:none}#sysbtn{position:absolute;right:calc(var(--hud-gap) + var(--sa-r));top:calc(var(--hud-gap) + var(--sa-t));pointer-events:auto}body[data-hand=left] #sysbtn{right:auto;left:calc(var(--hud-gap) + var(--sa-l))}#sysbtn .menu{width:var(--tap);height:var(--tap);min-height:var(--tap);padding:0;border-radius:var(--radius);background:var(--glass);display:grid;place-items:center;gap:4px;align-content:center}#sysbtn .menu span{display:block;width:18px;height:3px;background:var(--ink);border-radius:2px}body[data-orientation=landscape] #stick{width:38%;height:62%}body[data-orientation=portrait] #stick{width:55%;height:30%}body:not([data-input=kbm])[data-orientation=portrait]{--pad-bottom: 0px}body[data-orientation=portrait]{--abtn-bottom: calc(var(--hud-gap) + var(--slot) + 16px + var(--padctx-gap))}body:not([data-input=kbm])[data-orientation=landscape]{--pad-bottom: 6px}body:not([data-input=kbm])[data-orientation=landscape]{--slot: clamp(26px, calc((100vw - 2 * (var(--btn-a) + var(--btn-b) + 44px) - 20px - var(--tap) - var(--hotbar-slots) * var(--slot-gap)) / var(--hotbar-slots)), 48px)}body:not([data-input=kbm])[data-orientation=landscape] .hud-mid{align-items:flex-start}@media (max-height: 460px){:root{--hud-gap: 5px;--btn-a: 64px;--btn-b: 52px}.meter{height:7px}#minimap{width:clamp(72px,15vw,110px)}.want-chip{max-width:50vw}#stick .base{width:92px;height:92px;margin:-46px 0 0 -46px}}@media (max-width: 360px){.stat.day{display:none}}#tutorial{position:absolute;inset:0;z-index:45;background:#0806048c;pointer-events:auto}#tutorial[hidden]{display:none}.tut-ring{position:absolute;border:3px solid var(--gold);border-radius:12px;box-shadow:0 0 0 9999px #0806048c,0 0 18px #ffd84a99;animation:ring 1.2s ease-in-out infinite;pointer-events:none}.tut-card{position:absolute;left:50%;transform:translate(-50%);width:min(92vw,420px);padding:14px 16px;background:var(--panel);border:3px solid var(--edge-hi);border-radius:12px;box-shadow:var(--shadow-soft);animation:modal-in .22s ease-out}.tut-card.top{top:calc(16px + var(--sa-t) + 60px)}.tut-card.bottom{bottom:calc(16px + var(--sa-b) + 60px)}.tut-card.center{top:50%;transform:translate(-50%,-50%)}.tut-step{font-size:var(--fs-sm);color:var(--ink-mute)}.tut-card h3{margin:2px 0 6px;color:var(--gold);font-size:var(--fs-lg)}.tut-card p{margin:0 0 12px;color:var(--ink-dim);line-height:1.55}.tut-actions{display:flex;justify-content:flex-end;gap:8px}#boot{position:absolute;inset:0;display:grid;place-items:center;background:var(--bg);z-index:60;text-align:center;padding:16px;transition:opacity .4s ease-out}#boot.done{opacity:0;pointer-events:none}#boot .inner{display:flex;flex-direction:column;align-items:center;gap:14px}.logo{font-size:2em;font-weight:900;letter-spacing:4px;color:var(--gold);text-shadow:0 3px 0 #6b4f37}.logo span{color:var(--green)}#boot p{margin:0;color:var(--ink-dim);font-size:var(--fs-sm);max-width:360px;line-height:1.6}#boot .err{color:var(--red);white-space:pre-wrap;text-align:left;font-family:var(--mono);font-size:.85em;max-width:90vw;max-height:40vh;overflow:auto}.sprout{display:flex;align-items:flex-end;gap:6px;height:28px}.sprout i{display:block;width:8px;background:var(--green);border-radius:2px 2px 0 0;animation:grow 1.1s ease-in-out infinite}.sprout i:nth-child(2){animation-delay:.18s}.sprout i:nth-child(3){animation-delay:.36s}@keyframes toast-in{0%{transform:translateY(-6px);opacity:0}}@keyframes modal-in{0%{transform:scale(.96);opacity:0}}@keyframes sheet-in{0%{transform:translateY(40px);opacity:0}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes warn-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes banner{0%{opacity:0;transform:translate(-50%,-40%)}15%{opacity:1;transform:translate(-50%,-50%)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-60%)}}@keyframes ring{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes grow{0%,to{height:8px;opacity:.6}50%{height:28px;opacity:1}}body[data-orientation=landscape] #toasts{position:absolute;left:50%;top:auto;bottom:calc(var(--hud-gap) + var(--sa-b) + var(--pad-bottom) + var(--slot) + 24px);transform:translate(-50%);flex-direction:column-reverse;width:max-content;max-width:70vw}body[data-input^=pad][data-orientation=landscape] #toasts{bottom:calc(var(--hud-gap) + var(--sa-b) + var(--pad-bottom) + var(--slot) + 58px)}body[data-input^=pad] .selname{display:none}.stat.weather .ic.next{display:inline-flex;align-items:center;width:auto;opacity:.55;margin-left:2px}.stat.weather .ic.next:before{content:"›";opacity:.7;margin-right:1px;font-size:.85em}#buildmode{position:absolute;inset:0;z-index:42;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between}#buildmode[hidden]{display:none}.bm-bar{pointer-events:auto;display:flex;align-items:center;gap:8px;margin:calc(var(--hud-gap) + var(--sa-t)) var(--hud-gap) 0;padding:6px 8px 6px 12px;background:var(--glass);border:2px solid var(--gold-dark);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(4px);font-size:var(--fs-sm)}.bm-bar b{color:var(--gold);flex:none}.bm-note{color:var(--ink-mute);flex:1;min-width:0;font-size:.86em;line-height:1.2}.bm-bar .bm-x{flex:none;padding:6px 14px;min-height:var(--tap);background:var(--gold);color:#14100c;font-weight:800;border-radius:var(--radius-sm)}.bm-pal{pointer-events:auto;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 var(--hud-gap) calc(var(--hud-gap) + var(--sa-b));padding:6px;background:var(--glass);border:2px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(4px)}.bm-pal::-webkit-scrollbar{display:none}.bm-empty{color:var(--ink-dim);font-size:var(--fs-sm);padding:6px 4px}.bm-item{flex:none;width:72px;min-height:66px;padding:5px 3px 4px;display:grid;justify-items:center;align-content:start;gap:2px;border-radius:var(--radius-sm);background:#3a2c208c;font-size:calc(var(--fs-sm) * .8);line-height:1.15;text-align:center}.bm-item.on{background:var(--green-dark);outline:2px solid var(--gold);outline-offset:-2px}.bm-item .icon{image-rendering:pixelated;width:32px;height:auto}.bm-item .pr{color:var(--gold);font-weight:700}button.ico-btn{display:flex;align-items:center;justify-content:center;gap:7px}button.ico-btn .bi{image-rendering:crisp-edges;image-rendering:pixelated;width:24px;height:24px;flex:none}.modal button:focus,.modal [role=button]:focus,.modal input:focus,.tut-card button:focus,#devpanel button:focus,.bm-pal button:focus,.bm-pal [role=option]:focus,#update-bar button:focus,.animal-card button:focus{outline:3px solid var(--gold);outline-offset:-3px}body.pointer-focus .modal button:focus:not(:focus-visible),body.pointer-focus .modal [role=button]:focus:not(:focus-visible),body.pointer-focus #devpanel button:focus:not(:focus-visible),body.pointer-focus .bm-pal button:focus:not(:focus-visible),body.pointer-focus .bm-pal [role=option]:focus:not(:focus-visible),body.pointer-focus #update-bar button:focus:not(:focus-visible),body.pointer-focus .animal-card button:focus:not(:focus-visible){outline:none}.pad-map{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:8px 0 0;font-size:var(--fs-sm)}.pad-map b{color:var(--gold);font-family:var(--mono);white-space:nowrap}.pad-map span{color:var(--ink-dim)}.jrow{padding:7px 0 8px;border-bottom:1px solid var(--edge)}.jrow .jhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.jrow .jmark{color:var(--ink-dim);font-size:var(--fs-sm);font-weight:800}.jrow.done .jmark{color:var(--green)}.jrow .jbar{height:5px;margin:4px 0;border-radius:999px;background:#00000059;overflow:hidden}.jrow .jbar i{display:block;height:100%;background:var(--green)}.jrow.done .jbar i{background:var(--gold)}.jrow .jsub,.jrow .jgift{font-size:var(--fs-sm);color:var(--ink-dim);line-height:1.35}.jrow .jgift{color:var(--gold)}.jrow.done .jsub{font-style:italic}.menu-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px;margin:8px 0}.menu-tiles .tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:68px;padding:9px 4px;line-height:1.15;text-align:center;font-size:calc(var(--fs-sm) * .94)}.menu-tiles .tile .bi{image-rendering:crisp-edges;image-rendering:pixelated;width:24px;height:24px}body[data-input=pad-std] #stick{display:none}body[data-input=pad-std] #abtn .btns button{pointer-events:none}body[data-input^=pad] #abtn .btns button{position:relative;overflow:visible}body[data-input^=pad] #abtn .btns button[data-pad]:after{content:attr(data-pad);position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;padding:0 3px;display:grid;place-items:center;border-radius:999px;background:var(--panel-2);border:1px solid var(--edge-hi);color:var(--gold);font-family:var(--mono);font-size:10px;line-height:1;letter-spacing:0}body[data-input^=pad] #abtn .why,body[data-input^=pad] #abtn .btns .y{display:none}.sub.warn{color:var(--gold);border-left:3px solid var(--gold-dark);padding-left:8px}.padctx{display:none}body[data-input^=pad] .padctx,body[data-auto="1"] .padctx{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px;max-width:min(92vw,460px);padding:3px 12px 3px 6px;background:var(--glass);border:1px solid var(--edge-hi);border-radius:999px;box-shadow:var(--shadow);font-size:var(--fs-sm);pointer-events:none}.padctx[hidden]{display:none!important}body[data-input^=pad][data-auto="1"] .padctx,body[data-auto="1"] .padctx{display:flex!important}body[data-auto="1"] .padctx:after,body[data-input^=pad][data-auto="1"] .padctx:after{content:"TỰ ĐỘNG";padding:1px 8px;border-radius:999px;background:var(--green-dark);border:1px solid #5c9b40;color:#fff;font-size:.85em;font-weight:800;letter-spacing:.5px}body[data-input^=pad][data-padbar="1"] .padctx{display:none}.padctx .it{image-rendering:crisp-edges;image-rendering:pixelated;width:32px;height:auto;flex:none}.padctx span{color:var(--ink);font-weight:800;letter-spacing:.5px}.padctx i{color:var(--ink-mute);font-style:normal;font-size:.9em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animal-card .row .ri{flex:none;width:14px;height:14px;display:grid;place-items:center}.animal-card .row .ri canvas{image-rendering:crisp-edges;image-rendering:pixelated;width:24px;height:24px}#padbar{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--sa-b) + 6px);z-index:60;display:flex;gap:4px;max-width:96vw;overflow-x:auto;scrollbar-width:none;padding:4px 6px;background:#140f0aeb;border:1px solid var(--edge);border-radius:999px;box-shadow:var(--shadow);font-size:calc(var(--fs-sm) * .86);pointer-events:none;white-space:nowrap}#padbar[hidden]{display:none}#padbar::-webkit-scrollbar{display:none}#padbar span{display:inline-flex;align-items:center;gap:4px;padding:0 5px}#padbar b{min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--panel-2);border:1px solid var(--edge-hi);color:var(--gold);font-family:var(--mono);font-size:.9em}#padbar i{font-style:normal;color:var(--ink-dim)}body[data-input^=pad]{--padctx-gap: 26px}body[data-input^=pad] .hud-bottom{padding-bottom:var(--padctx-gap)}body[data-input^=pad] .modal [data-x][data-pad]:after{content:attr(data-pad);position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 3px;display:grid;place-items:center;border-radius:999px;background:var(--panel-2);border:1px solid var(--edge-hi);color:var(--gold);font-family:var(--mono);font-size:10px;line-height:1}body[data-input^=pad] .modal [data-x]{position:relative;overflow:visible}.animal-card .hd .ax.prev,.animal-card .hd .ax.next{font-size:1.1em;color:var(--gold)}.selname{align-self:center;margin-bottom:5px;padding:3px 12px;background:var(--glass);border:1px solid var(--edge-hi);border-radius:999px;box-shadow:var(--shadow);color:var(--gold);font-size:var(--fs-sm);font-weight:700;white-space:nowrap;pointer-events:none}.selname[hidden]{display:none}.selname.fade{animation:sel-in .14s ease-out,sel-out .35s ease-in 1.2s forwards}@keyframes sel-in{0%{opacity:0;transform:translateY(4px)}}@keyframes sel-out{to{opacity:0}}body[data-motion=reduce] .selname.fade{animation:none}.hud-bottom{flex-direction:column;align-items:center}@media (max-height: 700px){:root{--btn-a: 70px;--btn-b: 56px;--hud-gap: 6px}#abtn{gap:4px;bottom:calc(8px + var(--sa-b))}#abtn .why{max-width:42vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 8px}#minimap{width:clamp(70px,15vw,108px)}}@media (max-height: 560px){:root{--btn-a: 62px;--btn-b: 50px}#minimap{display:none}}.pen-sheet .mang{flex:none;padding:8px 10px;background:var(--panel-2);border:2px solid #1b140e;border-radius:var(--radius-sm)}.pen-sheet .mang .big{font-size:var(--fs-lg);font-weight:700;color:var(--ink)}.pen-sheet .mang .con{margin-top:3px;font-size:var(--fs-sm);color:var(--ink-dim)}.pen-sheet .mang .bar{height:10px;margin-top:6px;background:#1b140e;border-radius:5px;overflow:hidden}.pen-sheet .mang .bar i{display:block;height:100%;background:var(--green)}.pen-sheet .mang .bar i.low{background:var(--red)}.pen-sheet .feeds{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:5px}.pen-sheet .feeds .lbl{font-size:var(--fs-sm);color:var(--ink-mute)}.pen-sheet .feeds .f{display:inline-flex;padding:2px;background:var(--panel-2);border:2px solid #1b140e;border-radius:var(--radius-sm)}.pen-sheet .con-row{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.pen-sheet .con-row:hover,.pen-sheet .con-row:focus-visible{border-color:var(--edge-hi)}.pen-sheet .con-row .cham{flex:none;padding:2px 7px;font-size:var(--fs-sm);font-weight:700;border-radius:var(--radius-sm)}.pen-sheet .con-row .cham.doi{background:var(--red-dark);color:var(--ink)}.pen-sheet .con-row .cham.lua{background:var(--gold-dark);color:#1b140e}
