html,body,#root{margin:0;padding:0;overflow:hidden}header{position:absolute;left:1rem;top:1rem}.game-clock{position:absolute;left:64px;top:12px;color:#fff;font-family:JetBrains Mono,Fira Code,monospace;font-weight:400;font-size:1.2rem;margin-block-start:0em;margin-block-end:0em;z-index:1000}.ui-home-button{position:absolute;z-index:10000}.ui-home-icon{width:22px;height:22px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}.ui-button{border-radius:8px;z-index:1;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;transition:transform .15s ease-out,box-shadow .15s ease-out,background .15s ease-out,opacity .15s ease-out,border-color .15s ease-out}.ui-button--md{width:44px;height:44px}.ui-button--lg{width:52px;height:52px}.ui-button--primary{background:#ffffff0a;color:#ffffffa6;font-size:11px;font-weight:500;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#ffffff1a;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f}.ui-button--primary.selected{background:#ffffff1f!important;border-color:#fff!important;box-shadow:0 0 12px #ffffff4d,inset 0 0 8px #ffffff14!important;transform:translateY(-3px)!important}.ui-button--primary.static{background:#ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ffffffa6;font-size:11px;font-weight:500;border-color:#ffffff1a;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f;cursor:default;pointer-events:none;transition:none}.ui-button--primary.disabled{opacity:.25;cursor:not-allowed;pointer-events:none;filter:saturate(0)}.ui-button--primary:hover{background:#ffffff17;border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 12px 36px #00000073,inset 0 1px #ffffff14}.ui-button--primary:active{transform:scale(.97);box-shadow:0 4px 16px #0006,inset 0 1px #ffffff0f}.ui-button--ghost{background:transparent;border-color:transparent;box-shadow:none}.ui-button--ghost:hover{background:#ffffff12;border-color:#ffffff26;transform:translateY(-1px)}.ui-button--ghost:active{transform:scale(.97)}@media(max-width:768px){.ui-button--md{width:52px;height:52px}.ui-button--lg{width:60px;height:60px}}.loader-root{position:fixed;inset:0;overflow:hidden;z-index:9999}.loader-overlay{position:fixed;inset:0;background:#fff;z-index:3;clip-path:circle(150% at 50% 50%);pointer-events:all}.loader-overlay.reveal{animation:loader-hole 1.4s forwards}.loader-overlay.hidden{opacity:0;pointer-events:none}.loader-particles{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:1;transition:opacity .45s ease-out;contain:layout paint style}.loader-particles.fade-out{opacity:0}.loader-particle{position:absolute;left:-12%;font-size:clamp(15px,1.9vw,26px);line-height:1;animation-name:particle-wind;animation-iteration-count:infinite;animation-timing-function:linear;opacity:0}.loader-particle:before{content:"🍃";display:block}.loader-particle.variant-1:before{content:"🌸"}.loader-particle.variant-2:before{content:"🌼"}.loader-logo-wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}.loader-logo{max-width:40%;pointer-events:none;transform:scale(1);transform-origin:center center}.loader-logo.bounce{animation:logo-bounce .9s cubic-bezier(.2,.8,.2,1) forwards}.loader-logo.gone{transform:scale(0);opacity:0}@keyframes loader-hole{0%{clip-path:circle(150% at 50% 50%);animation-timing-function:cubic-bezier(.4,0,.2,1)}60%{clip-path:circle(40% at 50% 50%);animation-timing-function:cubic-bezier(.2,.8,.4,1.2)}75%{clip-path:circle(48% at 50% 50%);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{clip-path:circle(0% at 50% 50%)}}@keyframes logo-bounce{0%{transform:scale(1);opacity:1}22%{transform:scale(.88);opacity:1}45%{transform:scale(1.08);opacity:1}to{transform:scale(0);opacity:0}}@keyframes particle-wind{0%{transform:translate3d(-10vw,0,0) rotate(0) scale(.8);opacity:0}12%{transform:translate3d(6vw,calc(var(--wind-drift, 28px) * -.4),0) rotate(240deg) scale(1);opacity:.95}38%{transform:translate3d(34vw,var(--wind-drift, 28px),0) rotate(540deg) scale(.95);opacity:.9}66%{transform:translate3d(70vw,calc(var(--wind-drift, 28px) * -1),0) rotate(860deg) scale(1);opacity:.82}to{transform:translate3d(120vw,calc(var(--wind-drift, 28px) * .5),0) rotate(1200deg) scale(.75);opacity:0}}.dev-toolbar{position:fixed;z-index:1000;bottom:24px;right:24px;display:flex;flex-direction:column;gap:4px;opacity:0;transform:translateY(150%) scale(.95);pointer-events:none;font-family:JetBrains Mono,Fira Code,monospace;transition:opacity .3s cubic-bezier(.2,1,.3,1),transform .3s cubic-bezier(.2,1,.3,1);will-change:transform,opacity;padding:6px;border-radius:12px;background:#0a0a0fb8;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f;pointer-events:all}.dev-toolbar .line{display:flex;gap:16px}.dev-toolbar section{display:flex;gap:4px}.dev-toolbar.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.dev-toolbar{-webkit-backdrop-filter:blur(8px) saturate(1.05);backdrop-filter:blur(8px) saturate(1.05)}}.pm-panel{position:fixed;bottom:150px;right:12px;width:260px;background:#08080ce0;border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 8px 32px #00000080;padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px;z-index:999;font-family:JetBrains Mono,Fira Code,monospace;animation:pm-in .18s ease;contain:layout paint}@keyframes pm-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pm-header{display:flex;align-items:center;gap:8px}.pm-title{font-size:9px;letter-spacing:.12em;color:#ffffff4d;flex:1}.pm-fps{display:flex;align-items:baseline;gap:3px;transition:color .3s}.pm-fps-n{font-size:20px;font-weight:700;line-height:1}.pm-fps-u{font-size:10px;opacity:.6}.pm-fps-tag{font-size:8px;letter-spacing:.1em;padding:1px 5px;border-radius:3px;background:none;color:#fff!important;opacity:.9;font-weight:700;align-self:center}.pm-close{background:none;border:none;color:#ffffff40;cursor:pointer;font-size:11px;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s;line-height:1}.pm-close:hover{color:#fffc;background:#ffffff14}.pm-graph{display:flex;flex-direction:column;gap:4px}.pm-graph-head{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.1em;color:#ffffff40}.pm-canvas{width:100%;height:44px;display:block;border-radius:4px;border:1px solid rgba(255,255,255,.04)}.pm-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.06)}.pm-stat{display:flex;flex-direction:column;gap:1px}.pm-stat span{font-size:7.5px;letter-spacing:.06em;color:#ffffff40;text-transform:uppercase}.pm-stat b{font-size:13px;font-weight:600;color:#ffffffd9}.pm-stat b em{font-size:9px;font-style:normal;color:#ffffff59;margin-left:1px}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.pm-panel{-webkit-backdrop-filter:blur(10px) saturate(1.05);backdrop-filter:blur(10px) saturate(1.05)}}#inventory-bar{--inv-slot-size: 60px;--inv-slot-gap: 4px;--inv-columns: 9;--inv-hotbar-width: calc(var(--inv-columns) * var(--inv-slot-size) + (var(--inv-columns) - 1) * var(--inv-slot-gap));position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:100;pointer-events:none}#placement-hint{display:flex;align-items:center;gap:8px;padding:5px 14px;border-radius:8px;background:#0000008c;border:1px solid rgba(255,255,255,.08);font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;color:#ffffffa6;pointer-events:all;animation:fadeSlideUp .2s ease}.hint-key{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;border-radius:4px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);font-size:10px;color:#fff;font-weight:600;letter-spacing:.03em}.hint-key-button{font:inherit;line-height:1;cursor:pointer}.hint-sep{color:#ffffff40}.hint-status{font-weight:600;transition:color .15s}.hint-status.ok{color:#4dffaa}.hint-status.bad{color:#f46}#inventory-wrapper{display:flex;align-items:flex-end;gap:6px;pointer-events:none}#inventory-expand-btn{pointer-events:all;flex-shrink:0;width:28px;height:28px;border-radius:8px;border:1.5px solid rgba(255,255,255,.15);background:#0a0a0fb8;color:#ffffff8c;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s;margin-bottom:6px}#inventory-expand-btn:hover,#inventory-expand-btn.expanded{background:#ffffff1a;color:#fff;border-color:#ffffff4d}#inventory-slots{display:flex;flex-direction:column;width:max-content;padding:6px;border-radius:12px;background:#0a0a0fb8;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f;pointer-events:all}#inventory-extra-rows{display:flex;flex-direction:column;gap:6px;overflow:hidden;max-height:0;margin-top:0;transition:max-height .32s ease,margin-top .32s ease}#inventory-extra-rows.open{max-height:400px;margin-top:4px}.extra-drop-hint{font-family:JetBrains Mono,monospace;font-size:9px;color:#fff3;text-align:center;padding:2px 0;letter-spacing:.04em}.inventory-row{display:flex;gap:var(--inv-slot-gap);width:var(--inv-hotbar-width)}.extra-row{flex-wrap:wrap;width:var(--inv-hotbar-width)}.inv-slot-wrap{border-radius:8px;transition:background .1s}.inv-slot-wrap.drag-over{background:#ffffff1f;outline:1.5px dashed rgba(255,255,255,.4);outline-offset:-2px}.inv-slot{position:relative;width:var(--inv-slot-size);height:var(--inv-slot-size);border-radius:8px;border:1.5px solid rgba(255,255,255,.1);background:#ffffff0a;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:background .15s,border-color .15s,transform .1s;outline:none;-webkit-user-select:none;user-select:none}.inv-slot[draggable=true]{cursor:grab}.inv-slot[draggable=true]:active{cursor:grabbing}.inv-slot:hover{background:#ffffff17;border-color:#ffffff40;transform:translateY(-2px)}.inv-slot.inv-slot-empty{border-color:transparent;background:transparent;cursor:default;border:none;outline:1.5px dashed rgba(255,255,255,.07);outline-offset:-1.5px}.inv-slot.inv-slot-empty:hover{transform:none;background:#ffffff08}.inv-slot.empty{opacity:.4;filter:grayscale(.7);cursor:not-allowed}.inv-slot-key{position:absolute;top:3px;left:5px;font-family:JetBrains Mono,monospace;font-size:9px;color:#ffffff4d;line-height:1}.inv-slot-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:28px;line-height:1;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.loot-fly-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:28px;line-height:1;object-fit:contain}.inv-slot-label{font-family:JetBrains Mono,Fira Code,monospace;font-size:9px;color:#ffffff73;text-transform:uppercase;letter-spacing:.04em}.inv-slot-qty{position:absolute;top:2px;right:2px;font-weight:600;font-size:9px;color:#fff9}.inv-slot-level{position:absolute;top:5px;right:5px;width:6px;display:flex;flex-direction:column;gap:2px}.inv-slot-level-bar{height:2px;border-radius:2px;background:#494949fa}.inv-slot-level-bar.active{background:#ffffffe6}.inv-slot.selected{border-color:#ffffff80;background:#ffffff1a}.inv-slot.selected .inv-slot-label{color:#fff}@keyframes fadeSlideUp{0%{transform:translateY(6px)}to{transform:translateY(0)}}body.placing{cursor:crosshair}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){#placement-hint,#inventory-expand-btn,#inventory-slots{-webkit-backdrop-filter:blur(6px) saturate(1.05);backdrop-filter:blur(6px) saturate(1.05)}}.inv-slot-hit{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.loot-fly{position:fixed;z-index:250;pointer-events:none;transform:translate(-50%,-50%);font-size:28px;line-height:1;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35));animation:lootFly .58s cubic-bezier(.22,1,.36,1) forwards}@keyframes lootFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}12%{opacity:1}to{opacity:.95;transform:translate(calc(-50% + var(--loot-to-x)),calc(-50% + var(--loot-to-y))) scale(.9)}}.inv-slot-bump{animation:inventoryBump .2s cubic-bezier(.33,1,.68,1)}@keyframes inventoryBump{0%{transform:scale(1)}40%{transform:scale(1.1)}to{transform:scale(1)}}#inventory-slots.inventory-receive-bump,#inventory-expand-btn.inventory-receive-bump{animation:inventoryReceiveBump .22s cubic-bezier(.33,1,.68,1)}@keyframes inventoryReceiveBump{0%{transform:scale(1)}45%{transform:scale(1.045)}to{transform:scale(1)}}.entity-popup{pointer-events:auto;z-index:10;opacity:0;padding:6px;border-radius:12px;background:#0a0a0fb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f;transform:translate(-50%,calc(-50% + 10px));animation:popupFadeIn .18s ease-out forwards}.entity-popup-bridge{position:absolute;top:100%;left:50%;transform:translate(-50%);width:80px;height:40px;background:transparent;outline:transparent;pointer-events:auto;clip-path:polygon(0% 0%,100% 0%,50% 100%)}@keyframes popupFadeIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 10px))}to{opacity:1;transform:translate(-50%,-50%)}}.rollback-bar{position:fixed;z-index:1000;bottom:24px;left:24px;display:flex;gap:4px;padding:6px;border-radius:12px;background:#0a0a0fb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f}.temperature-bar{position:fixed;z-index:1000;top:24px;right:24px;display:flex;gap:4px;padding:6px;border-radius:12px;background:#0a0a0fb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f}.temperature-widget{z-index:1000;font-family:JetBrains Mono,monospace}.cycle-widget{z-index:1000;overflow:hidden}.cycle-rotator{height:40px;width:40px;border-radius:50%;position:relative;transform-origin:center center;will-change:transform}.cycle-rotator:before{content:"";position:absolute;inset:-3px;border-radius:50%;padding:3px;background:linear-gradient(to top,gold,#0d0b3b);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}.sun,.moon{position:absolute;font-size:1.4rem;top:50%;left:50%;display:flex;justify-content:center;align-items:center;z-index:2}.moon{transform:translate(-50%,-50%) translateY(-20px)}.sun{transform:translate(-50%,-50%) translateY(20px)}.cursor-item{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;margin-left:12px;margin-top:12px}@keyframes cursor-item-in{0%{opacity:0;scale:.75}to{opacity:1;scale:1}}.cursor-item__slot{width:54px!important;height:54px!important;opacity:.88;cursor:none!important}
