@font-face{font-family:Monocraft;src:url(/assets/monocraft-DA7zf1Uv.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Monocraft;src:url(/assets/monocraft-bold-DYwWE5PZ.ttf) format("truetype");font-weight:700;font-style:normal;font-display:block}:root{--dirt: #8b5a2b;--panel: #6f6f6f;--panel-light: #a8a8a8;--panel-dark: #3b3b3b;--text: #e8e8e8;--yellow: #ffff55;--green: #55ff55;--red: #ff5555;--blue: #55ffff;--shadow: 2px 2px 0 rgba(0, 0, 0, .7)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#000;color:var(--text);font-family:Monocraft,Courier New,monospace;font-variant-ligatures:none;-webkit-font-smoothing:none;image-rendering:pixelated;user-select:none}#app{position:fixed;inset:0;overflow:hidden}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;cursor:crosshair}.hidden{display:none!important}#hud{position:absolute;inset:0;pointer-events:none;overflow:hidden}#crosshair{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);mix-blend-mode:difference;opacity:.9}#crosshair:before,#crosshair:after{content:"";position:absolute;background:#fff}#crosshair:before{left:7px;top:0;width:2px;height:16px}#crosshair:after{top:7px;left:0;width:16px;height:2px}#hotbar{position:absolute;left:50%;bottom:10px;transform:translate(-50%);display:flex;gap:2px;padding:2px;background:#1414148c;border:2px solid rgba(0,0,0,.7);box-shadow:inset 0 0 0 1px #ffffff2e}.slot{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.18);background:#0000003d;position:relative}.slot.selected{border-color:#fff;background:#ffffff2e;box-shadow:0 0 0 2px #0009}.slot img{width:32px;height:32px;image-rendering:pixelated;pointer-events:none}.slot .slot-num{position:absolute;left:2px;top:0;font-size:9px;color:#ddd;text-shadow:1px 1px 0 #000}#hand{position:absolute;right:22px;bottom:12px;width:150px;height:150px;display:flex;align-items:flex-end;justify-content:flex-end;transform-origin:bottom right;pointer-events:none;filter:drop-shadow(4px 6px 0 rgba(0,0,0,.35))}#hand img{width:92px;height:92px;image-rendering:pixelated;transform:rotate(-8deg)}#hand.swing{animation:swing .22s ease-out}@keyframes swing{0%{transform:rotate(0) translate(0)}35%{transform:rotate(-18deg) translate(-14px,-18px)}to{transform:rotate(0) translate(0)}}#block-label{position:absolute;left:50%;bottom:62px;transform:translate(-50%);color:#fff;text-shadow:var(--shadow);font-size:13px;opacity:0;transition:opacity .35s;white-space:nowrap}#block-label.show{opacity:1}#chat{position:absolute;left:8px;bottom:66px;width:min(640px,calc(100% - 16px));max-height:40vh;display:flex;flex-direction:column;justify-content:flex-end;gap:1px;font-size:14px;line-height:1.25;text-shadow:2px 2px 0 rgba(0,0,0,.75);pointer-events:none;overflow:hidden}.chat-line{color:#fff;background:#0000;padding:0 2px;white-space:pre-wrap;overflow-wrap:anywhere}#chat.backdrop .chat-line{background:#00000061}.chat-time{color:#a0a0a0;font-size:.85em;margin-right:5px}.chat-line .mc-0{color:#000}.chat-line .mc-1{color:#00a}.chat-line .mc-2{color:#0a0}.chat-line .mc-3{color:#0aa}.chat-line .mc-4{color:#a00}.chat-line .mc-5{color:#a0a}.chat-line .mc-6{color:#fa0}.chat-line .mc-7{color:#aaa}.chat-line .mc-8{color:#555}.chat-line .mc-9{color:#55f}.chat-line .mc-a{color:#5f5}.chat-line .mc-b{color:#5ff}.chat-line .mc-c{color:#f55}.chat-line .mc-d{color:#f5f}.chat-line .mc-e{color:#ff5}.chat-line .mc-f{color:#fff}#chat[data-colors=old]{filter:saturate(.72) brightness(.9)}#chat[data-colors=beta]{filter:saturate(1.18) brightness(1.03)}#chat-input-wrap{position:absolute;left:8px;bottom:30px;width:min(720px,calc(100% - 16px));display:flex;align-items:center;gap:6px;padding:4px 6px;background:#0000008c;border:2px solid rgba(255,255,255,.25);pointer-events:auto}#chat-input-wrap.hidden{display:none}#chat-prefix{color:#ff5;font-size:14px}#chat-input{flex:1;background:transparent;border:0;outline:0;color:#fff;font-family:inherit;font-size:14px;text-shadow:var(--shadow);caret-color:#fff}#chat-hint{color:#bbb;font-size:10px;white-space:nowrap}#debug{position:absolute;left:6px;top:6px;padding:4px 6px;background:#00000073;color:#fff;font-size:11px;line-height:1.45;white-space:pre;text-shadow:1px 1px 0 #000;pointer-events:none}#watermark{position:absolute;right:8px;top:6px;color:#fffc;font-size:11px;text-shadow:1px 1px 0 #000}#player-list{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#000000b3;border:2px solid rgba(255,255,255,.3);padding:12px 22px;font-size:13px;text-align:center}#toast{position:absolute;left:50%;top:12%;transform:translate(-50%);background:#000000a6;border:2px solid rgba(255,255,255,.25);color:#fff;padding:7px 14px;font-size:12px;text-shadow:var(--shadow);opacity:0;transition:opacity .2s;pointer-events:none;max-width:80vw;text-align:center}#toast.show{opacity:1}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:20}#overlay.active{pointer-events:auto}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;pointer-events:none;background-color:#2a2118;background-image:var(--dirt-bg, none);background-size:64px 64px;background-blend-mode:normal;padding:24px;overflow-y:auto}.screen:before{content:"";position:absolute;inset:0;background:#0000006b;pointer-events:none}.screen>*{position:relative;z-index:1;pointer-events:auto}.logo{font-family:Monocraft,monospace;font-size:clamp(42px,9vw,86px);font-weight:700;letter-spacing:2px;color:#dcdcdc;text-shadow:3px 3px 0 #777,6px 6px 0 #3b3b3b,10px 10px 0 rgba(0,0,0,.45);transform:perspective(500px) rotateX(4deg);line-height:1;text-align:center}.logo .accent{color:#f5d76e}.splash{color:var(--yellow);font-size:13px;text-shadow:2px 2px 0 #3a3a00;transform:rotate(-6deg);margin-top:-12px}.subtitle{color:#cfcfcf;font-size:12px;text-align:center;text-shadow:var(--shadow);max-width:620px;line-height:1.6}.btn{font-family:inherit;font-size:15px;color:#e8e8e8;text-shadow:2px 2px 0 rgba(0,0,0,.8);background:linear-gradient(#8a8a8a,#6d6d6d);border:2px solid #3a3a3a;border-top-color:#b5b5b5;border-left-color:#b5b5b5;box-shadow:inset 0 0 0 2px #7c7c7c;padding:10px 18px;min-width:260px;cursor:pointer;image-rendering:pixelated}.btn:hover{background:linear-gradient(#a0a88c,#7d856d);color:#ff9}.btn:active{background:linear-gradient(#5f5f5f,#4a4a4a);border-top-color:#333;border-left-color:#333}.btn.small{min-width:0;padding:6px 10px;font-size:11px}.btn.danger{background:linear-gradient(#9a5555,#7a3d3d)}.btn:disabled{opacity:.5;cursor:default}.button-col{display:flex;flex-direction:column;gap:8px;align-items:stretch;width:min(340px,90vw)}.row{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.panel{width:min(760px,94vw);max-height:86vh;overflow-y:auto;background:#1c1c1cf0;border:3px solid #a8a8a8;border-top-color:#d8d8d8;border-left-color:#d8d8d8;border-right-color:#4a4a4a;border-bottom-color:#4a4a4a;box-shadow:0 0 0 3px #222,0 18px 50px #0000008c;padding:18px 20px;display:flex;flex-direction:column;gap:14px}.panel.menu-narrow{width:min(430px,94vw)}.panel.dragover{border-color:#9fd06a;box-shadow:0 0 0 3px #222,0 0 0 6px #9fd06a59}.panel h2{margin:0;font-size:20px;color:#fff;text-shadow:var(--shadow);letter-spacing:1px}.panel h3{margin:4px 0 0;font-size:13px;color:#ff8;text-shadow:var(--shadow)}.panel p{margin:0;color:#cfcfcf;font-size:12px;line-height:1.6}.panel .close-row{display:flex;justify-content:flex-end}.world-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1)}.world-row .meta{flex:1;min-width:0}.world-row .name{color:#fff;font-size:14px;text-shadow:var(--shadow);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-row .sub{color:#a8a8a8;font-size:10px;margin-top:3px}.world-row .actions{display:flex;gap:4px}.field{display:grid;grid-template-columns:180px 1fr 64px;align-items:center;gap:10px;font-size:12px;color:#ddd}.field input[type=range]{width:100%;accent-color:#9aa87a}.field input[type=text],.field input[type=number]{background:#1a1a1a;border:2px solid #555;color:#fff;font-family:inherit;font-size:12px;padding:5px 7px;outline:none;width:100%}.field input[type=text]:focus,.field input[type=number]:focus{border-color:#aaa}.field .val{text-align:right;color:#ff8}.check-row{display:flex;align-items:center;gap:8px;font-size:12px;color:#ddd}.check-row input{width:18px;height:18px;accent-color:#9aa87a}.map-wrap{display:flex;justify-content:center;background:#0a0a12;border:2px solid #333;padding:8px;overflow:auto}.map-wrap canvas{width:min(512px,100%);height:auto;image-rendering:pixelated}.text-page{background:#00000047;border:2px solid #333;padding:10px 12px;min-height:80px;max-height:48vh;overflow-y:auto;color:#ddd;font-size:12px;line-height:1.6;white-space:pre-wrap}.lua-layout{display:flex;gap:12px;align-items:stretch}.lua-list{width:160px;min-height:220px;background:#00000047;border:2px solid #333;padding:6px;display:flex;flex-direction:column;gap:3px;overflow-y:auto}.lua-list-title{color:#ff8;font-size:10px;padding:2px 4px 6px}.lua-item{font-family:inherit;font-size:10px;text-align:left;color:#ddd;background:#333;border:1px solid #222;padding:5px 6px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lua-item:hover{background:#4a4a4a}.lua-item.active{background:#6f7a5c;color:#fff}.lua-empty{color:#888;font-size:10px;padding:5px}.lua-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.lua-editor{width:100%;min-height:230px;resize:vertical;background:#101010;color:#d8e8c0;border:2px solid #555;padding:8px;font-family:Courier New,monospace;font-size:12px;line-height:1.45;outline:none;tab-size:2}.lua-editor:focus{border-color:#aaa}.lua-status{color:#9fd06a;font-size:10px;min-height:14px}.tabs{display:flex;gap:4px;flex-wrap:wrap}.tab{padding:7px 12px;font-size:11px;color:#ddd;background:#3a3a3a;border:2px solid #222;border-top-color:#777;border-left-color:#777;cursor:pointer}.tab.active{background:#6f7a5c;color:#fff}#inventory-grid{display:grid;grid-template-columns:repeat(9,44px);gap:4px;justify-content:center;max-height:46vh;overflow-y:auto;padding:4px}.inv-slot{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#3b3b3b;border:2px solid #222;border-top-color:#777;border-left-color:#777;cursor:pointer}.inv-slot:hover{background:#5a5a5a}.inv-slot img{width:32px;height:32px;image-rendering:pixelated}.inv-name{text-align:center;color:var(--yellow);font-size:12px;min-height:16px;text-shadow:var(--shadow)}#loading{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#2a2118;background-image:var(--dirt-bg, none);background-size:64px 64px;background-blend-mode:normal;color:#fff}#loading:before{content:"";position:absolute;inset:0;background:#00000073}#loading>*{position:relative}#loading .title{font-size:26px;text-shadow:3px 3px 0 #000}#loading .progress{width:min(420px,80vw);height:14px;border:2px solid #ddd;background:#222}#loading .progress>div{height:100%;width:0%;background:#7fb84a;transition:width .1s linear}#loading .status{font-size:11px;color:#ddd;text-shadow:1px 1px 0 #000}.kbd{display:inline-block;padding:1px 5px;background:#222;border:1px solid #777;border-bottom-width:2px;color:#fff;font-size:10px}.keymap{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:11px;color:#ccc;align-items:center}.keymap .k{color:#ff8;white-space:nowrap}footer.credits{position:absolute;left:8px;bottom:6px;color:#ffffff8c;font-size:9px;text-shadow:1px 1px 0 #000;z-index:2}footer.credits a{color:#bcd}@media(max-width:640px){.slot{width:34px;height:34px}.slot img{width:26px;height:26px}#hand{width:100px;height:100px}#hand img{width:78px;height:78px}.field{grid-template-columns:120px 1fr 48px}#inventory-grid{grid-template-columns:repeat(7,40px)}.inv-slot{width:40px;height:40px}.world-row{flex-wrap:wrap}.lua-layout{flex-direction:column}.lua-list{width:auto;min-height:0;max-height:110px;flex-direction:row;flex-wrap:wrap}.lua-list-title{width:100%}.lua-editor{min-height:170px}}
