:root{color-scheme:dark;font-family:"Lucida Console","Courier New",monospace;font-size:14px;font-weight:700;color:#fff;background:#181818;--panel:#c6c6c6;--slot:#8b8b8b;--edge:#161616;--light:#fff;--shade:#555;--pixel:2px}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button,a{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:2px}[hidden]{display:none!important}#world{display:block;position:fixed;inset:0;width:100%;height:100%;touch-action:none;outline:none}

/* The world remains unobstructed until a game control is opened. */
.screen{position:fixed;inset:0;z-index:3;display:grid;place-items:center;pointer-events:none}#join-form{width:min(280px,calc(100vw - 48px));pointer-events:auto}.primary,.leave-link,.close-dialog,.touch-controls button{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:2px solid var(--edge);border-radius:0;background:#777;color:#fff;text-shadow:2px 2px #333;box-shadow:inset 2px 2px #bcbcbc,inset -2px -2px #444;text-align:center;text-decoration:none}.primary{width:100%}.primary:disabled{color:#999;background:#444;box-shadow:inset 2px 2px #555,inset -2px -2px #333;text-shadow:2px 2px #222}.primary:active:not(:disabled),.leave-link:active,.close-dialog:active,.touch-controls button:active{background:#555;box-shadow:inset 2px 2px #333,inset -2px -2px #a0a0a0}
.aim{position:fixed;left:50%;top:50%;width:17px;height:17px;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:difference;z-index:1}.aim::before,.aim::after{content:"";position:absolute;background:#fff}.aim::before{left:7px;top:0;width:3px;height:17px}.aim::after{left:0;top:7px;width:17px;height:3px}
.connection,.toast{position:fixed;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:8px 12px;background:#000b;color:#fff;text-align:center;font-size:13px;line-height:1.45;text-shadow:2px 2px #222;z-index:12;pointer-events:none}.connection{top:20px}.toast{bottom:108px}

/* Nine slots, ten hearts and a short-lived selected item name. */
.inventory-dock{position:fixed;left:50%;bottom:max(4px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(368px,calc(100vw - 16px));pointer-events:none}.hotbar{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:0;padding:3px;border:2px solid #111;background:#999;box-shadow:inset 2px 2px #ddd,inset -2px -2px #444;pointer-events:auto}.slot{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:0;border:2px solid;border-color:#373737 #d9d9d9 #d9d9d9 #373737;border-radius:0;background:var(--slot);color:#fff;box-shadow:inset 1px 1px #606060;image-rendering:pixelated}.hotbar .slot{background:#626262a8;border-color:#444 #aaa #aaa #444}.hotbar .slot[aria-pressed=true]{z-index:1;outline:3px solid #eee;outline-offset:-1px;border-color:#555;box-shadow:inset 1px 1px #222,0 0 0 2px #111;background:#808080c9}.slot-key{display:none}.item-icon{display:block;width:30px;height:30px;max-width:90%;max-height:90%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.item-count,.recipe-output{position:absolute;right:2px;bottom:0;font-size:15px;font-weight:700;line-height:1;color:#fff;text-shadow:2px 2px #222;pointer-events:none}.selected-label{position:absolute;left:-20px;right:-20px;bottom:calc(100% + 29px);text-align:center;font-size:16px;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:2px 2px #222;pointer-events:none}
#health{display:flex;align-items:center;gap:1px;height:18px;margin:0 0 5px 2px;pointer-events:none}#health span{--heart-fill:#d72d36;--heart-dark:#751319;position:relative;display:block;flex:0 0 17px;width:17px;height:17px;font-size:0;line-height:0;background:#1a090b;clip-path:polygon(0 12%,12% 12%,12% 0,41% 0,41% 12%,59% 12%,59% 0,88% 0,88% 12%,100% 12%,100% 53%,88% 53%,88% 65%,76% 65%,76% 76%,65% 76%,65% 88%,53% 88%,53% 100%,41% 100%,41% 88%,29% 88%,29% 76%,18% 76%,18% 65%,6% 65%,6% 53%,0 53%)}#health span::before{content:"";position:absolute;inset:2px;background:var(--heart-fill);box-shadow:inset -2px -3px var(--heart-dark);clip-path:inherit}#health span::after{content:"";position:absolute;left:4px;top:3px;width:3px;height:2px;background:#ffb3ba}#health .empty{--heart-fill:#38272a;--heart-dark:#211518}#health .empty::after{background:#514044}#health .half::before{background:linear-gradient(90deg,#d72d36 50%,#38272a 50%)}

/* Original grayscale, square, inset game panels. */
.panel{margin:auto;border:2px solid var(--edge);border-radius:0;padding:12px;background:var(--panel);color:#333;box-shadow:inset 3px 3px #fff,inset -3px -3px #555;max-height:calc(100dvh - 24px);max-width:calc(100vw - 20px);overflow:auto}.panel::backdrop{background:#0009}.panel-heading{display:flex;justify-content:flex-end;height:22px;margin:0 0 8px}.close-dialog{min-height:22px;width:22px;height:22px;padding:0;font-size:18px;line-height:1}.craft-panel{width:558px}.craft-body{display:grid;grid-template-columns:minmax(0,1fr) 174px;gap:14px;align-items:end}.craft-body section{min-width:0}.inventory-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:0}.inventory-grid .slot:disabled{opacity:1;cursor:default}.inventory-grid .item-icon{width:28px;height:28px}.recipes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;max-height:245px;overflow:auto;padding:1px}.recipe{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:0;border:2px solid;border-color:#f4f4f4 #555 #555 #f4f4f4;border-radius:0;background:#979797;color:#fff;box-shadow:inset 1px 1px #bdbdbd}.recipe:disabled{background:#aaa;box-shadow:none}.recipe:disabled .item-icon{opacity:.35;filter:grayscale(.6)}.recipe:disabled .recipe-output{opacity:.55}.recipe .item-icon{width:28px;height:28px}.recipe strong,.recipe small{display:none}.recipe .recipe-output{font-size:12px;right:1px;bottom:0}
.menu-panel{width:320px;padding:16px}.menu-panel .panel-heading{margin-bottom:10px}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:4px 0;font-size:14px}.setting input{appearance:none;width:20px;height:20px;margin:0;border:2px solid;border-color:#555 #fff #fff #555;border-radius:0;background:#777;cursor:pointer}.setting input:checked::after{content:"";display:block;width:10px;height:6px;margin:3px 2px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg)}.setting select{padding:5px 22px 5px 8px;min-height:32px;background:#777;color:#fff;border:2px solid;border-color:#eee #444 #444 #eee;border-radius:0;text-shadow:1px 1px #333;font-size:13px}.menu-panel .primary{margin-top:12px}.leave-link{margin-top:8px;min-height:38px;font-size:13px}#death-dialog::backdrop{background:#3a0000a0}#death-dialog .primary{margin:0}
.people-panel{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(500px,calc(100vw - 32px));max-height:65vh;padding:4px;background:#0009;z-index:8;overflow:hidden;pointer-events:none}#people-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:3px;margin:0;padding:0;list-style:none}#people-list li{min-width:0;padding:4px 6px;background:#ffffff14;color:#fff;font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:2px 2px #222}

#item-tooltip{position:fixed;z-index:30;max-width:min(320px,calc(100vw - 20px));padding:7px 9px;border:2px solid #32134e;outline:2px solid #100716;background:#160c1af5;color:#fff;box-shadow:inset 1px 1px #54316b;font-size:12px;font-weight:700;line-height:1.45;white-space:pre-line;text-shadow:1px 1px #000;pointer-events:none}
.touch-controls{display:none}
@media(hover:hover) and (pointer:fine){.primary:hover:not(:disabled),.leave-link:hover,.close-dialog:hover{background:#8d8d9e;box-shadow:inset 2px 2px #dbdbe7,inset -2px -2px #57576a}.slot:hover:not(:disabled),.recipe:hover:not(:disabled){background:#b7b7b7}.recipe:active:not(:disabled){border-color:#555 #eee #eee #555}}
@media(max-width:580px){.craft-panel{width:360px}.craft-body{grid-template-columns:1fr;gap:14px;align-items:start}.recipes{grid-template-columns:repeat(9,minmax(0,1fr));max-height:145px}.craft-body section:first-child{grid-row:2}.inventory-grid .item-icon,.recipe .item-icon{width:27px;height:27px}.item-count{font-size:14px}.panel{padding:10px}.menu-panel{padding:14px}}
@media(pointer:coarse){.touch-controls{display:block}#move-pad{position:fixed;left:max(22px,env(safe-area-inset-left));bottom:112px;display:grid;place-items:center;width:106px;height:106px;background:#3337;border:2px solid #ddd8;touch-action:none}#move-pad i{display:block;width:38px;height:38px;background:#ddd8;border:2px solid #fff9;pointer-events:none}.touch-system{position:fixed;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));display:flex;gap:8px}.touch-system button{width:38px;height:38px;min-height:38px;padding:7px;background:#5559}.touch-actions{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:112px;display:grid;grid-template-columns:repeat(2,48px);gap:8px}.touch-actions button{width:48px;height:48px;min-height:48px;padding:10px;background:#5559;touch-action:none}.touch-controls svg{display:block;width:100%;height:100%;fill:#fff;filter:drop-shadow(2px 2px #222);pointer-events:none}#touch-jump{grid-column:2}.inventory-dock{bottom:max(8px,env(safe-area-inset-bottom))}}
@media(max-height:430px){.craft-panel{max-height:calc(100dvh - 16px)}.panel-heading{margin-bottom:4px}.menu-panel{padding:10px}.menu-panel .setting{min-height:34px}.menu-panel .primary{margin-top:6px}.primary,.leave-link{min-height:34px}.touch-actions,#move-pad{bottom:88px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
