:root{--ink:#0b0c10;--stone-0:#1d1f26;--stone-1:#2a2d35;--stone-2:#3a3d46;--stone-3:#4a4d58;--stone-4:#5d616e;--stone-5:#7d8190;--text:#f4f5f8;--muted:#c4c8d4;--faint:#8f94a3;--brand:#ff8a1f;--brand-dark:#d96f0a;--brand-light:#ffc27a;--brand-deep:#8a4306;--ok:#6fd677;--warn:#f2cc60;--bad:#ff8078;--panel-face:var(--stone-3);--panel-hi:var(--stone-5);--panel-lo:var(--stone-1);--btn-face:var(--stone-4);--btn-hi:#9a9eae;--btn-lo:#34363f;--slot-face:var(--stone-0);--slot-lo:#0f1014;--slot-hi:#6a6e7c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", "DejaVu Sans Mono", monospace;--z-touch:10;--z-hud:20;--z-screen:40;--z-modal:60;--edge:10px;--inset-t:max(var(--edge), env(safe-area-inset-top,0px));--inset-r:max(var(--edge), env(safe-area-inset-right,0px));--inset-b:max(var(--edge), env(safe-area-inset-bottom,0px));--inset-l:max(var(--edge), env(safe-area-inset-left,0px));--kb:0px;--avail-w:calc(100vw - var(--inset-l) - var(--inset-r));--avail-h:calc(100vh - var(--inset-t) - var(--inset-b))}@supports (height:100dvh){:root{--avail-h:calc(100dvh - var(--inset-t) - var(--inset-b))}}@media (width<=479px){:root{--edge:8px}}*{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;height:100%;color:var(--text);font:15px/1.4 var(--font);-webkit-tap-highlight-color:transparent;background:#000;margin:0;overflow:hidden}canvas{touch-action:none;display:block}input{-webkit-user-select:text;user-select:text}button{touch-action:manipulation}button,input,select{font:inherit;color:inherit}button{border:2px solid var(--ink);cursor:pointer;text-shadow:1px 1px #000a;background:var(--btn-face) var(--skin-plate,none);min-height:44px;image-rendering:pixelated;box-shadow:inset 2px 2px 0 var(--btn-hi), inset -2px -2px 0 var(--btn-lo);background-size:32px;border-radius:0;padding:10px 14px;font-size:14px;font-weight:700;line-height:1.2;position:relative}@media (hover:hover){button:hover:not(:disabled){background-color:color-mix(in srgb, var(--btn-face) 85%, white)}}button:active:not(:disabled){box-shadow:inset 2px 2px 0 var(--btn-lo), inset -2px -2px 0 var(--btn-hi);padding-top:12px;padding-bottom:8px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--brand);outline-offset:2px;z-index:2}button.primary{--btn-face:var(--brand);--btn-hi:var(--brand-light);--btn-lo:var(--brand-deep);color:#1a0f00;text-shadow:1px 1px #ffffff59}button.danger{color:var(--bad)}button.small{min-height:36px;padding:6px 10px;font-size:13px}button.small:active:not(:disabled){padding-top:8px;padding-bottom:4px}button.on{--btn-face:var(--brand);--btn-hi:var(--brand-light);--btn-lo:var(--brand-deep);color:#1a0f00;text-shadow:1px 1px #ffffff59}button:disabled{cursor:default;color:var(--faint);text-shadow:none;--btn-face:var(--stone-2);background-image:none;box-shadow:inset 2px 2px #0003,inset -2px -2px #ffffff12}button.primary:disabled{color:#3b2a14;--btn-face:#8a6a44}@media (pointer:coarse){button.small{min-height:44px}}.touch button.small{min-height:44px}input[type=text],select{border:2px solid var(--ink);background:var(--slot-face);width:100%;min-width:0;min-height:44px;box-shadow:inset 2px 2px 0 var(--slot-lo), inset -2px -2px 0 #ffffff1c;border-radius:0;padding:8px 12px}select{margin-top:4px}input[type=text]::placeholder{color:var(--faint)}input[type=checkbox]{accent-color:var(--brand)}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.meta{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px}.row{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.row>input{flex:140px;min-width:0}label.field{color:var(--muted);font-size:13px;display:block}label.field input{color:var(--text);margin-top:4px}.status{overflow-wrap:anywhere;min-height:1.4em;margin:0;font-size:13px}.status.error{color:var(--bad)}.status.ok{color:var(--ok)}.status.info{color:var(--muted)}.advice{border:2px solid var(--ink);background:var(--slot-face);box-shadow:inset 2px 2px 0 var(--slot-lo);color:var(--muted);overflow-wrap:anywhere;padding:8px 10px;font-size:12px}.advice.warn{border-color:var(--warn);color:var(--warn)}.advice.ok{color:var(--muted)}.empty{color:var(--muted);padding:6px 2px;font-size:13px}.file{cursor:pointer;text-align:center;text-shadow:1px 1px #000a;border:2px solid var(--ink);background:var(--btn-face) var(--skin-plate,none);max-width:100%;min-height:44px;image-rendering:pixelated;box-shadow:inset 2px 2px 0 var(--btn-hi), inset -2px -2px 0 var(--btn-lo);background-size:32px;justify-content:center;align-items:center;margin-top:10px;padding:10px 14px;font-size:14px;font-weight:700;line-height:1.2;display:inline-flex;position:relative}.file:active{box-shadow:inset 2px 2px 0 var(--btn-lo), inset -2px -2px 0 var(--btn-hi)}.file:focus-within{outline:3px solid var(--brand);outline-offset:2px}.file input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.count{font:700 13px/1 var(--font);color:#fff;text-shadow:1px 1px #000,-1px 1px #000,1px -1px #000,-1px -1px #000;pointer-events:none;position:absolute;bottom:1px;right:3px}.wear{pointer-events:none;background:#000c;height:4px;position:absolute;bottom:3px;left:4px;right:4px;overflow:hidden}.wear>span{height:100%;display:block}kbd{border:2px solid var(--ink);background:var(--btn-face);min-width:1.6em;box-shadow:inset 1px 1px 0 var(--btn-hi), inset -1px -2px 0 var(--btn-lo);font:inherit;text-align:center;color:var(--text);text-shadow:1px 1px #000a;border-radius:0;margin:0 1px;padding:0 6px;font-weight:700;display:inline-block}.icon{width:16px;height:16px;image-rendering:pixelated;background-repeat:no-repeat;background-size:contain;flex:none}@media (width<=479px){.icon{width:13px;height:13px}}.icon.heart.full{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 8' shape-rendering='crispEdges'%3E%3Cpath fill='%23201010' d='M1 0h2v1h1v1h1V1h1V0h2v1h1v3H8v1H7v1H6v1H5v1H4V7H3V6H2V5H1V4H0V1h1z'/%3E%3Cpath fill='%23e5322d' d='M1 1h2v1h1v1h1V2h1V1h2v2H8v1H7v1H6v1H5v1H4V6H3V5H2V4H1z'/%3E%3Cpath fill='%23ff8a80' d='M1 1h1v1H1z'/%3E%3C/svg%3E")}.icon.heart.half{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 8' shape-rendering='crispEdges'%3E%3Cpath fill='%23201010' d='M1 0h2v1h1v1h1V1h1V0h2v1h1v3H8v1H7v1H6v1H5v1H4V7H3V6H2V5H1V4H0V1h1z'/%3E%3Cpath fill='%23e5322d' d='M1 1h2v1h1v1h0v3H3V5H2V4H1z'/%3E%3Cpath fill='%23403030' d='M4 3h1V2h1V1h2v2H8v1H7v1H6v1H5v1H4z'/%3E%3C/svg%3E")}.icon.heart.empty{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 8' shape-rendering='crispEdges'%3E%3Cpath fill='%23201010' d='M1 0h2v1h1v1h1V1h1V0h2v1h1v3H8v1H7v1H6v1H5v1H4V7H3V6H2V5H1V4H0V1h1z'/%3E%3Cpath fill='%23403030' d='M1 1h2v1h1v1h1V2h1V1h2v2H8v1H7v1H6v1H5v1H4V6H3V5H2V4H1z'/%3E%3C/svg%3E")}.hearts.low .icon.heart{animation:.7s ease-in-out infinite beat}@keyframes beat{50%{transform:scale(1.18)}}.icon.food.full{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 8' shape-rendering='crispEdges'%3E%3Cpath fill='%23201408' d='M3 0h2v1h1v1h1v1h1v3H7v1H6v1H3V7H2V6H1V3h1V2h1z'/%3E%3Cpath fill='%23d9822b' d='M3 1h2v1h1v1h1v3H6v1H3V6H2V3h1z'/%3E%3Cpath fill='%23ffd28a' d='M3 2h1v1H3z'/%3E%3C/svg%3E")}.icon.food.half{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 8' shape-rendering='crispEdges'%3E%3Cpath fill='%23201408' d='M3 0h2v1h1v1h1v1h1v3H7v1H6v1H3V7H2V6H1V3h1V2h1z'/%3E%3Cpath fill='%23d9822b' d='M3 1h2v1h0v5H3V6H2V3h1z'/%3E%3Cpath fill='%23403020' d='M5 2h1v1h1v3H6v1H5z'/%3E%3C/svg%3E")}.icon.food.empty{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 8' shape-rendering='crispEdges'%3E%3Cpath fill='%23201408' d='M3 0h2v1h1v1h1v1h1v3H7v1H6v1H3V7H2V6H1V3h1V2h1z'/%3E%3Cpath fill='%23403020' d='M3 1h2v1h1v1h1v3H6v1H3V6H2V3h1z'/%3E%3C/svg%3E")}.icon.bubble.full{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 8' shape-rendering='crispEdges'%3E%3Cpath fill='%23123a66' d='M3 0h3v1h2v1h1v4H8v1H7v1H3V7H2V6H1V5H0V2h1V1h2z'/%3E%3Cpath fill='%2379c3ff' d='M3 1h3v1h2v3H7v1H6v1H3V6H2V5H1V2h2z'/%3E%3Cpath fill='%23e6f6ff' d='M3 2h1v1H3z'/%3E%3C/svg%3E")}.icon.bubble.empty{opacity:.45;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 8' shape-rendering='crispEdges'%3E%3Cpath fill='%23123a6680' d='M3 0h3v1h2v1h1v4H8v1H7v1H3V7H2V6H1V5H0V2h1V1h2zM3 1H2v1H1v3h1v1h1v1h3V6h1V5h1V2H6V1z' fill-rule='evenodd'/%3E%3C/svg%3E")}@media (prefers-reduced-motion:reduce){.hearts.low .icon.heart{animation:none}}:root{--gap:6px;--tb:44px;--tg:8px;--frame:6px;--slot-gap:4px;--thumbs:0px;--hot-side:0px;--vitals-h:46px;--name-h:24px}@media (width<=479px){:root{--slot-gap:2px}}body.touch{--thumbs:110px}body{--slot:clamp(28px, calc((var(--avail-w) - 2 * var(--hot-side) - 2 * var(--frame) - 8 * var(--slot-gap)) / 9), 56px);--bar-w:calc(9 * var(--slot) + 8 * var(--slot-gap) + 2 * var(--frame));--hotbar-stack:calc(var(--slot) + 2 * var(--frame) + var(--vitals-h) + var(--name-h) + 2 * var(--gap))}@media (orientation:landscape){body.touch{--hot-side:var(--thumbs)}}#hud{width:100%;height:100vh;padding:var(--inset-t) var(--inset-r) calc(var(--inset-b) + var(--kb)) var(--inset-l);gap:var(--gap);pointer-events:none;text-shadow:1px 1px #000;z-index:var(--z-hud);flex-direction:column;display:none;position:fixed;top:0;left:0}@supports (height:100dvh){#hud{height:100dvh}}#hud.open{display:flex}#hud{--top-room:calc(50vh - 64px - var(--inset-t));--bottom-room:calc(50vh - 44px - var(--inset-b))}@supports (height:100dvh){#hud{--top-room:calc(50dvh - 64px - var(--inset-t));--bottom-room:calc(50dvh - 44px - var(--inset-b))}}#hud:has(#banner.open){--top-room:calc(50vh - 64px - var(--inset-t) - 36px)}@supports (height:100dvh){#hud:has(#banner.open){--top-room:calc(50dvh - 64px - var(--inset-t) - 36px)}}#hud>.hud-top,#hud>.hud-bottom,#hud>#banner{z-index:1;position:relative}#banner{background:var(--warn);color:#1a1400;text-align:center;text-shadow:none;overflow-wrap:anywhere;border:2px solid var(--ink);flex:none;padding:6px 10px;font-size:13px;font-weight:700;display:none;box-shadow:inset 2px 2px #fff6,inset -2px -2px #0003}#banner.open{display:block}.hud-top{gap:var(--gap) var(--tg);flex:0 auto;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stack bar""alarm alarm";align-items:start;min-height:0;display:grid}.touch .hud-top{grid-template-columns:minmax(0,1fr);grid-template-areas:"bar""alarm""stack"}.hud-stack{min-width:0;max-height:var(--top-room);flex-direction:column;grid-area:stack;align-items:flex-start;gap:4px;display:flex;overflow:hidden}.touch .hud-stack{max-width:calc(100% - var(--thumbs));max-height:calc(var(--top-room) - var(--tb) - var(--gap))}.hud-bar{justify-self:end;gap:var(--tg);pointer-events:none;grid-area:bar;display:flex}.hud-bar>button:focus-visible{outline-offset:-3px}.hud-bar>button{pointer-events:auto;width:var(--tb);height:var(--tb);--btn-face:#3a3d46f0;min-height:0;padding:0;font-size:20px;position:relative}.hud-bar .tool img{width:26px;height:26px;image-rendering:pixelated;pointer-events:none;margin:auto;display:block}.hud-bar .key{color:#fff;text-shadow:0 1px 2px #000,0 0 3px #000;pointer-events:none;font-size:9px;font-weight:700;line-height:1;display:none;position:absolute;bottom:2px;right:3px}body:not(.touch) .hud-bar .key{display:block}#info{white-space:pre;background:#0b0c10b8;max-width:100%;padding:3px 7px;font-size:12px;overflow:hidden}#info:empty,.touch #info{display:none}.touch.perf #info{display:block}#saveState{overflow-wrap:anywhere;background:#0b0c10b8;max-width:100%;padding:2px 7px;font-size:12px}#saveState:empty{display:none}#flying{color:#bfe7ff;background:#0b0c10b8;max-width:100%;padding:2px 7px;font-size:12px;font-weight:700}#saveState.bad{color:var(--bad)}#toasts{justify-items:start;gap:6px;min-width:0;max-width:min(420px,100%);display:grid}#toasts:empty{display:none}.toast{background:var(--stone-1);border:2px solid var(--ink);box-shadow:inset 2px 2px 0 var(--stone-3), inset -2px -2px 0 #0006;overflow-wrap:anywhere;padding:7px 12px;font-size:13px;animation:3.5s forwards fade}@keyframes fade{0%,80%{opacity:1}to{opacity:0}}#alarm{border:2px solid var(--ink);color:#fff;letter-spacing:.02em;pointer-events:none;background:#b4361f;grid-area:alarm;justify-self:center;padding:6px 14px;font-weight:700;animation:.5s ease-in-out infinite alternate alarm;display:none;box-shadow:inset 2px 2px #ff9a80,inset -2px -2px #6a1a0c}#alarm.on{display:block}@keyframes alarm{0%{transform:scale(1)}to{transform:scale(1.08)}}#cross{width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;top:50%;left:50%}#cross:before,#cross:after{content:"";mix-blend-mode:difference;background:#fff;position:absolute}#cross:before{width:2px;height:18px;top:0;left:8px}#cross:after{width:18px;height:2px;top:8px;left:0}#dig{border:2px solid var(--ink);background:#0b0c10cc;width:56px;height:8px;margin-left:-28px;display:none;position:absolute;top:calc(50% + 22px);left:50%;overflow:hidden}#dig.on{display:block}#dig>span{background:var(--brand);height:100%;display:block}#mob{text-align:center;text-shadow:0 1px 2px #000;pointer-events:none;font-size:12px;font-weight:600;display:none;position:absolute;top:calc(50% - 46px);left:50%;transform:translate(-50%)}#mob.on{display:block}#mob>.bar{border:2px solid var(--ink);background:#0b0c10cc;width:72px;height:8px;margin:3px auto 0;display:block;overflow:hidden}#mob>.bar>span{background:#e5484d;height:100%;display:block}.hud-bottom{min-height:0;max-height:var(--bottom-room);align-items:center;gap:var(--gap);flex-direction:column;flex:0 auto;margin-top:auto;display:flex}#tip{width:max-content;min-height:0;max-width:calc(100% - var(--thumbs));text-align:center;pointer-events:none;background:var(--stone-1);border:2px solid var(--ink);box-shadow:inset 2px 2px 0 var(--stone-3), inset -2px -2px 0 #0006;flex:0 auto;padding:8px 14px;font-size:14px;line-height:1.8;display:none;overflow:hidden}#tip.on{animation:.4s ease-out tip-in;display:block}@keyframes tip-in{0%{opacity:0}to{opacity:1}}.touch #tip{padding:6px 10px;font-size:13px}#chatlog{min-height:0;width:min(480px, calc(100% - var(--thumbs)));flex-direction:column;flex:0 auto;justify-content:flex-end;align-self:flex-start;font-size:14px;display:flex;overflow:hidden}#chatlog div{overflow-wrap:anywhere;background:#0b0c10b8;flex:none;margin-top:2px;padding:2px 8px;transition:opacity 1.5s}#chatlog .sys{color:#ffe08a}#chatlog .old{opacity:0}#chatlog.clipped{-webkit-mask-image:linear-gradient(0deg,#000 calc(100% - 22px),#0000);mask-image:linear-gradient(0deg,#000 calc(100% - 22px),#0000)}#chatbox{align-self:flex-start;gap:var(--gap);width:min(480px, calc(100% - var(--thumbs)));pointer-events:auto;flex:none;display:flex}#chatinput{flex:auto;min-width:0}.chatclose{flex:none;display:none}.touch .chatclose{width:var(--tb);min-height:var(--tb);padding:0;display:block}.hud-hotbar{max-width:calc(100% - 2 * var(--hot-side));flex-direction:column;flex:none;align-items:stretch;gap:2px;display:flex}#held-name{height:var(--name-h);line-height:var(--name-h);text-align:center;width:0;min-width:100%}#held-name .name{vertical-align:top;text-overflow:ellipsis;white-space:nowrap;background:var(--stone-1);border:2px solid var(--ink);max-width:100%;box-shadow:inset 2px 2px 0 var(--stone-3);font-size:13px;font-weight:700;line-height:calc(var(--name-h) - 4px);padding:0 10px;animation:.25s ease-out name-pop;display:inline-block;overflow:hidden}@keyframes name-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#condition{width:0;min-width:100%;min-height:var(--vitals-h);pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:3px 6px;display:flex}#condition .hearts,#condition .food{gap:1px;display:flex}#condition .food{justify-content:flex-end}#condition .air{flex:100%;justify-content:flex-end;gap:1px;display:flex}.stamina{border:1px solid var(--ink);background:#0b0c10cc;flex:100%;height:6px;overflow:hidden}.stamina>span{background:#6fc2ff;height:100%;display:block}#hotbar{gap:var(--slot-gap);max-width:min(100%, var(--bar-w));scrollbar-width:none;pointer-events:auto;background:var(--stone-2) var(--skin-stone,none);image-rendering:pixelated;border:2px solid var(--ink);box-shadow:inset 2px 2px 0 var(--stone-5), inset -2px -2px 0 var(--stone-1), 0 4px 0 #00000070;background-size:32px;padding:4px;display:flex;overflow:auto hidden}#hotbar::-webkit-scrollbar{display:none}.slot{width:var(--slot);height:var(--slot);background:var(--slot-face) center / 80% no-repeat;min-height:0;image-rendering:pixelated;text-shadow:none;box-shadow:inset 2px 2px 0 var(--slot-lo), inset -2px -2px 0 var(--slot-hi);background-size:max(16px,round(down,90%,16px));border:0;flex:none;padding:0;position:relative}.slot:active:not(:disabled){box-shadow:inset 2px 2px 0 var(--slot-lo), inset -2px -2px 0 var(--slot-hi);padding:0}.slot.sel{z-index:1;outline-offset:0;box-shadow:inset 2px 2px 0 var(--slot-lo), inset -2px -2px 0 var(--slot-hi), 0 0 0 5px var(--ink);outline:3px solid #fff}.slot .key{color:#fff;text-shadow:1px 1px #000;pointer-events:none;font-size:10px;font-weight:700;line-height:1;display:none;position:absolute;top:2px;left:3px}body:not(.touch) .slot .key{display:block}.medium{pointer-events:none;z-index:0;position:absolute;inset:0}.medium.water{background:radial-gradient(#2f6fd340 0%,#1a4aa070 100%)}.medium.lava{background:radial-gradient(#ff7a1ab0 0%,#d83a00e0 100%)}.hurt-flash{pointer-events:none;z-index:0;background:radial-gradient(#0000 40%,#ff1a1acc 100%);animation:.45s ease-out forwards hurt;position:absolute;inset:0}@keyframes hurt{0%{opacity:1}to{opacity:0}}#death{z-index:3;pointer-events:auto;text-align:center;text-shadow:none;background:#4a0a0ad9;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}#death h1{margin:0;font-size:40px}#death p{color:#ffd9d9;margin:0 0 12px;font-size:18px}#touch{width:100%;height:100vh;z-index:var(--z-touch);pointer-events:none;display:none;position:fixed;top:0;left:0;overflow:hidden}@supports (height:100dvh){#touch{height:100dvh}}#touch.active{display:block}.touch-layer{pointer-events:auto;touch-action:none;position:absolute;inset:0}.stick-base{pointer-events:none;background:#ffffff18;border:3px solid #0b0c10aa;border-radius:50%;position:absolute}.stick-base.run{border-color:var(--brand);box-shadow:0 0 0 3px #ff8a1f44}.stick-knob{border:3px solid var(--ink);pointer-events:none;background:#fff9;border-radius:50%;width:52px;height:52px;position:absolute}.touch-btn{pointer-events:auto;touch-action:none;border:3px solid var(--ink);color:#fff;background:#1d1f26b8;border-radius:50%;min-height:0;padding:0;position:absolute;box-shadow:inset 3px 3px #ffffff40,inset -3px -3px #00000070}.touch-btn:active:not(:disabled){padding:0;box-shadow:inset 3px 3px #00000070,inset -3px -3px #ffffff40}.touch-btn.jump{width:78px;height:78px;right:var(--inset-r);bottom:var(--inset-b);font-size:26px}.touch-btn.run{width:58px;height:58px;right:calc(var(--inset-r) + 10px);bottom:calc(var(--inset-b) + 78px + 14px);font-size:26px;font-weight:700}.touch-btn.run.on{background:var(--brand);color:#1a1209}.touch-btn.fly{width:58px;height:58px;right:calc(var(--inset-r) + 10px);bottom:calc(var(--inset-b) + 78px + 14px + 58px + 12px);font-size:24px}.touch-btn.fly.on{background:var(--brand);color:#1a1209}@media (orientation:portrait){.touch-btn.jump{bottom:calc(var(--inset-b) + var(--hotbar-stack) + var(--gap))}.touch-btn.run{bottom:calc(var(--inset-b) + var(--hotbar-stack) + var(--gap) + 78px + 14px)}.touch-btn.fly{bottom:calc(var(--inset-b) + var(--hotbar-stack) + var(--gap) + 78px + 14px + 58px + 12px)}}@media (prefers-reduced-motion:reduce){.toast,#alarm,#tip.on,#held-name .name{animation:none}}.screen{width:100%;height:100vh;padding:var(--inset-t) var(--inset-r) var(--inset-b) var(--inset-l);background:linear-gradient(#0a0b10b8, #0a0b10e6), var(--skin-earth,#17151b);image-rendering:pixelated;z-index:var(--z-screen);background-size:auto,64px 64px;justify-content:center;align-items:center;display:none;position:fixed;top:0;left:0;overflow:hidden}@supports (height:100dvh){.screen{height:100dvh}}.screen.open{display:flex}.screen.overlay{background:#05060acc}.card{width:min(var(--card-w,560px), 100%);flex-direction:column;min-width:0;min-height:0;max-height:100%;display:flex}.tabs{z-index:1;scrollbar-width:none;flex:none;align-items:flex-end;gap:3px;margin-bottom:-6px;padding:0 10px;display:flex;position:relative;overflow:auto hidden}.tabs::-webkit-scrollbar{display:none}.tab{border:3px solid var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:72px;min-height:44px;color:var(--muted);--btn-face:var(--stone-2);--btn-hi:#6a6e7c;--btn-lo:#1b1c22;box-shadow:inset 2px 2px 0 var(--btn-hi), inset -2px 0 0 var(--btn-lo);border-bottom:0;flex:0 auto;margin:6px 0;padding:8px 16px;overflow:hidden}.tab:focus-visible{outline-offset:-6px}.tab:active:not(:disabled){box-shadow:inset 2px 2px 0 var(--btn-hi), inset -2px 0 0 var(--btn-lo);padding-top:8px;padding-bottom:8px}.tab.on{min-height:52px;color:var(--text);--btn-face:var(--panel-face);--btn-hi:var(--panel-hi);--btn-lo:var(--panel-lo);background-image:var(--skin-stone,none);margin-top:0;margin-bottom:0;padding-bottom:14px}.tab.on:active:not(:disabled){padding-top:8px;padding-bottom:14px}.tab[data-badge]:after{content:attr(data-badge);background:#0000005a;margin-left:6px;padding:0 5px;font-size:11px}.tab.on[data-badge]:after{background:#00000040}.panel{background:var(--panel-face) var(--skin-stone,none);min-height:0;image-rendering:pixelated;border:3px solid var(--ink);box-shadow:inset 3px 3px 0 var(--panel-hi), inset -3px -3px 0 var(--panel-lo), 0 6px 0 #00000070;background-size:32px;flex-direction:column;flex:auto;padding:3px;display:flex}.card-head{flex:none;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:10px 14px 6px;display:flex}.card-head.logo{padding:0 12px 10px;display:block}.card h1{letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;text-shadow:2px 2px #0009;min-width:0;margin:0;font-size:22px;overflow:hidden}.logo h1{letter-spacing:1px;color:#f4f5f8;text-shadow:1px 1px 0 var(--ink), 2px 2px 0 var(--ink), 3px 3px 0 var(--ink), 4px 4px 0 var(--ink), 5px 5px 0 #000;font-size:40px;font-weight:900;line-height:1.1;overflow:visible}.logo h1 span{color:var(--brand);text-shadow:1px 1px 0 var(--brand-deep), 2px 2px 0 var(--brand-deep), 3px 3px 0 var(--brand-deep), 4px 4px 0 var(--ink), 5px 5px 0 #000}.tagline{color:var(--muted);text-shadow:1px 1px #000;margin:6px 0 0;font-size:13px}.card h2{text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);border-bottom:2px solid var(--panel-lo);box-shadow:0 2px 0 var(--panel-hi);margin:18px 0 8px;padding-bottom:4px;font-size:12px}.card h2:first-child{margin-top:4px}.panel-head{flex:none;padding:8px 14px 0}.panel-head .status{margin:0 0 4px}.panel-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--stone-5) var(--stone-1);flex:auto;min-height:0;padding:6px 14px 14px;overflow-y:auto}.panel-body::-webkit-scrollbar{width:12px}.panel-body::-webkit-scrollbar-track{background:var(--stone-1)}.panel-body::-webkit-scrollbar-thumb{background:var(--stone-5);border:2px solid var(--ink)}.panel-foot{border-top:2px solid var(--panel-lo);box-shadow:inset 0 2px 0 var(--panel-hi);flex:none;gap:8px;padding:10px 14px 12px;display:grid}.panel-foot.quiet{box-shadow:none;border:0;gap:0;padding:0}.panel-foot.quiet .status{height:0;min-height:0;overflow:hidden}.foot-buttons{flex-wrap:nowrap}.foot-buttons>button{flex:1 1 0;min-width:0}.list-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 8px;display:flex}.list-bar .meta{flex:auto;margin:0}.list-bar .filter{flex:160px;min-height:44px}label.field.inline{white-space:nowrap;align-items:center;gap:10px;display:flex}label.field.inline input{flex:auto;margin-top:0}.advice{margin-top:10px}.panel-foot .advice{margin-top:0}@media (width<=479px){.card-head,.panel-head,.panel-body,.panel-foot{padding-left:10px;padding-right:10px}.tabs{padding:0 6px}.tab{flex:auto;min-width:0;padding:8px 2px;font-size:13px}.logo h1{font-size:32px}}@media (height<=520px){.tagline{display:none}.card-head{padding-top:6px;padding-bottom:2px}.card-head.logo{padding-bottom:8px}.logo h1{font-size:28px}.card h1{font-size:18px}.panel-foot{padding-top:6px;padding-bottom:8px}}.saves{gap:6px;margin:0;padding:0;list-style:none;display:grid}.save,.players li,.inv-info{background:var(--slot-face);border:2px solid var(--ink);box-shadow:inset 2px 2px 0 var(--slot-lo), inset -2px -2px 0 #ffffff18}.save{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:8px 10px;display:grid}.save .what{min-width:0}.save .title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.save .actions{justify-content:flex-end;gap:6px;display:flex}.save .more{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:6px;display:flex}.save label{cursor:pointer;overflow-wrap:anywhere;display:block}.save input[type=checkbox]{vertical-align:-3px;width:18px;height:18px;margin:0 6px 0 0}.save .meta{margin-top:2px;display:block}.invite{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invite code{font:700 24px/1 var(--font);letter-spacing:4px;background:var(--slot-face);border:2px solid var(--ink);box-shadow:inset 2px 2px 0 var(--slot-lo), inset -2px -2px 0 #ffffff18;color:var(--brand-light);text-shadow:2px 2px #000;padding:10px 12px}.players{gap:6px;margin:0;padding:0;list-style:none;display:grid}.players li{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.players .you{color:var(--brand-light)}#pause .controls{gap:6px;margin:0 0 10px;padding:0;font-size:13px;list-style:none;display:grid}#pause .controls li{align-items:center;gap:10px;display:flex}#pause .controls .caps{flex-wrap:wrap;flex:0 0 150px;gap:3px;display:flex}#pause .controls kbd{font-size:12px}@media (width<=479px){#pause .controls .caps{flex-basis:110px}}.inv-name{overflow-wrap:anywhere;margin-bottom:6px;font-weight:700}.inv-actions{flex-wrap:wrap}.inv-info{padding:8px 10px}.islots{gap:4px;display:grid}.islots.grid{grid-template-columns:repeat(9,minmax(0,1fr))}.islots.armor{grid-template-columns:repeat(4,minmax(0,56px))}.islot{aspect-ratio:1;background:var(--slot-face) center / 78% no-repeat;width:100%;min-width:0;min-height:0;image-rendering:pixelated;text-shadow:none;box-shadow:inset 3px 3px 0 var(--slot-lo), inset -3px -3px 0 var(--slot-hi);background-size:max(16px,round(down,90%,16px));border:0;padding:0;position:relative}.islot:active:not(:disabled){box-shadow:inset 3px 3px 0 var(--slot-lo), inset -3px -3px 0 var(--slot-hi);background-color:var(--stone-1);padding:0}@media (hover:hover){.islot:hover:not(:disabled){background-color:var(--stone-1)}}.islot.picked{outline:3px solid var(--brand);outline-offset:-3px;z-index:1}.machine{grid-template-rows:auto auto;grid-template-columns:auto 72px auto;place-items:center;gap:10px 12px;padding:8px 0 14px;display:grid}.machine .islot{width:60px}.machine .m-in{grid-area:1/1}.machine .m-arrow{grid-area:1/2}.machine .m-out{grid-area:1/3}.machine .m-fuel{grid-area:2/1}.machine .m-flame{grid-area:2/2}.m-arrow{background:var(--slot-face);border:2px solid var(--ink);width:100%;height:14px;overflow:hidden}.m-arrow span{background:var(--brand);height:100%;display:block}.m-flame{background:var(--slot-face);border:2px solid var(--ink);align-items:flex-end;width:22px;height:34px;display:flex;overflow:hidden}.m-flame span{background:linear-gradient(#ffd25a,#ff7a1a);width:100%;display:block}.palette-search{width:100%;margin:0 0 10px}.palette section+section{margin-top:12px}.palette-tile{cursor:pointer}[data-drop=trash].drop-over{outline:3px solid var(--brand);outline-offset:2px}@media (width<=479px){.islots.grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=359px){.islots.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}[data-drag]{cursor:grab}.dragging,.dragging *{cursor:grabbing}.drag-ghost{z-index:3;pointer-events:none;width:48px;height:48px;image-rendering:pixelated;filter:drop-shadow(2px 2px #000b);background:50%/contain no-repeat;position:fixed;transform:translate(-50%,-50%)}.drag-ghost .count{bottom:0;right:0}.islot.drop-over{outline-offset:-3px;background-color:var(--stone-1);z-index:1;outline:3px solid #fff}.drop-over.islots{outline-offset:2px;outline:3px solid #fff}.craft{--cell:56px;grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width<=479px){.craft{--cell:48px}}.craft-switch{gap:6px;display:none}.craft-switch>button{flex:1 1 0;min-width:0}.craft-main{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:10px 0 8px;display:flex}.craft-grid{grid-template-columns:repeat(var(--n), var(--cell));background:var(--stone-1);border:2px solid var(--ink);box-shadow:inset 2px 2px 0 var(--slot-lo), inset -2px -2px 0 #ffffff18;gap:4px;padding:6px;display:grid}.craft-grid .islot{width:var(--cell)}.craft-arrow{background:var(--skin-arrow,none) center / contain no-repeat;width:72px;height:51px;image-rendering:pixelated;flex:none}@media (width<=479px){.craft-arrow{width:48px;height:34px}}.craft-out{flex-direction:column;align-items:center;gap:6px;display:flex}.islot.big{width:calc(var(--cell) + 12px)}.islot.big:not(:disabled){outline:3px solid var(--brand);outline-offset:-3px}.islot:disabled{color:inherit;box-shadow:inset 3px 3px 0 var(--slot-lo), inset -3px -3px 0 var(--slot-hi);background-color:var(--slot-face)}.craft-make{gap:6px;display:flex}@media (width<=479px){.craft-main{flex-wrap:nowrap;gap:8px}.craft-make{flex-direction:column;align-self:stretch}.craft-make>button{width:100%;min-width:44px;padding-left:6px;padding-right:6px}}.craft-tools{justify-content:center}.craft-note{text-align:center;min-height:2.8em;margin:8px 0 0}.chips{flex-wrap:wrap;gap:4px;display:flex}.islot.chip{aspect-ratio:auto;width:44px;height:44px}.islots.hot{margin-bottom:8px}.craft-items{padding-bottom:4px}.craft-items.drop-over{outline:3px dashed var(--brand-light);outline-offset:2px}.book-tools{align-items:center;margin-bottom:8px}.book-tools input{flex:140px}.recipes{gap:6px;margin:0;padding:0;list-style:none;display:grid}.recipe{text-align:left;width:100%;min-height:52px;text-shadow:none;background:var(--slot-face);box-shadow:inset 2px 2px 0 var(--slot-lo), inset -2px -2px 0 #ffffff18;gap:4px;padding:8px 10px;font-weight:400;display:grid}.recipe:active:not(:disabled){box-shadow:inset 2px 2px 0 var(--slot-lo), inset -2px -2px 0 #ffffff18;background-color:var(--stone-1);padding-top:8px;padding-bottom:8px}@media (hover:hover){.recipe:hover:not(:disabled){background-color:var(--stone-1)}}.recipe.no{color:var(--muted)}.recipe.no .rpic{opacity:.7}.made{align-items:center;gap:8px;min-width:0;font-weight:700;display:flex}.rname{overflow-wrap:anywhere}.rpic,.npic{image-rendering:pixelated;background:50%/contain no-repeat;flex:none;display:inline-block}.rpic{width:32px;height:32px}.npic{vertical-align:-3px;width:16px;height:16px;margin-right:5px}.needs{color:var(--text);flex-wrap:wrap;gap:4px 10px;font-size:12px;display:flex}.need.short,.station.short{color:var(--bad)}.station{border:2px solid var(--ink);padding:0 6px}@media (width<=759px){.craft-switch{display:flex}.craft[data-view=table] .craft-book,.craft[data-view=book] .craft-table{display:none}}@media (width>=760px){.panel-body.craft-body{flex-direction:column;padding:0;display:flex;overflow:hidden}.craft{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0;min-height:0}.craft>section{overscroll-behavior:contain;min-height:0;padding:6px 14px 14px;overflow-y:auto}.craft>.craft-book{border-left:2px solid var(--panel-lo);box-shadow:inset 2px 0 0 var(--panel-hi);flex-direction:column;display:flex;overflow:hidden}.craft-book>.recipes{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}}
