:root{--u: min(100vw / 1920, 100dvh / 1080);--slot: calc(110 * var(--u))}@font-face{font-family:pixel;src:url(/ui/pixel.otf)}html,body{margin:0;height:100%;overflow:hidden;background:#000;font:14px/1.4 system-ui,sans-serif;color:#fff}#game{position:fixed;inset:0;display:block;width:100%;height:100%}#crosshair{position:fixed;left:50%;top:50%;width:calc(32 * var(--u));height:calc(32 * var(--u));transform:translate(-50%,-50%);opacity:.6;pointer-events:none}body:has(#join:not([hidden])) :is(#crosshair,.shade,#hotbar,#vitals,#chat,#teams,#touch,#notice){display:none}.shade{position:fixed;pointer-events:none}.shade.bottom{left:0;right:0;bottom:0;height:calc(256 * var(--u));background:url(/ui/shade-bottom.png) center / 100% 100%}.shade.corner{top:0;width:calc(786 * var(--u));height:calc(230 * var(--u));background:url(/ui/shade-corner.png) center / 100% 100%}.shade.corner.left{left:0}.shade.corner.right{right:0;transform:scaleX(-1)}#fps{position:fixed;left:calc(20 * var(--u) + env(safe-area-inset-left));bottom:calc(20 * var(--u) + env(safe-area-inset-bottom));font:calc(18 * var(--u)) / 1 pixel,ui-monospace,monospace;color:#acb9cc;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f;pointer-events:none}[hidden]{display:none!important}#hud{position:fixed;right:calc(8px + env(safe-area-inset-right));top:calc(56px + env(safe-area-inset-top));padding:6px 8px;border-radius:6px;max-width:min(420px,40vw);box-sizing:border-box;text-align:right;background:#00000073;white-space:pre-wrap;font:12px/1.5 ui-monospace,monospace;pointer-events:none}#hud:empty,body:has(#join:not([hidden])) #hud{display:none}#fullscreen{position:fixed;top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:8px;background:#00000073;color:#fff;cursor:pointer}#fullscreen.active{background:#2f6fe0b3}#touch{position:fixed;inset:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.stick{position:absolute;width:calc(300 * var(--u));height:calc(300 * var(--u));margin:calc(-150 * var(--u)) 0 0 calc(-150 * var(--u));pointer-events:none}.stick:not(.held){display:none}.stick:before{content:"";position:absolute;inset:0;background:url(/ui/joystick.png) center / 100% no-repeat;opacity:.4}.knob{position:absolute;left:50%;top:50%;width:calc(80 * var(--u));height:calc(80 * var(--u));margin:calc(-40 * var(--u)) 0 0 calc(-40 * var(--u));background:url(/ui/joystick-knob.png) center / 100% no-repeat}.actions{position:absolute;right:calc(224 * var(--u) + env(safe-area-inset-right));bottom:calc(210 * var(--u) + env(safe-area-inset-bottom));width:calc(436 * var(--u));height:calc(334 * var(--u))}.touch-button{position:absolute;width:calc(144 * var(--u));height:calc(144 * var(--u));padding:0;display:grid;place-items:center;border:0;background:none;touch-action:none;-webkit-tap-highlight-color:transparent}.touch-button:before{content:"";position:absolute;inset:0;background:url(/ui/action-back-small.png) center / 100% no-repeat;opacity:.5}.touch-button img{position:relative;width:calc(80 * var(--u));height:calc(80 * var(--u));pointer-events:none}.touch-button.attack{left:0;top:calc(43 * var(--u));width:calc(248 * var(--u));height:calc(248 * var(--u))}.touch-button.attack:before{background-image:url(/ui/action-back.png)}.touch-button.attack img{width:calc(134 * var(--u));height:calc(134 * var(--u))}.touch-button.jump{right:0;top:0}.touch-button.crouch{right:0;bottom:0}#vitals{position:fixed;left:50%;bottom:calc(149 * var(--u) + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:flex-end;gap:calc(4 * var(--u));font:bold calc(24 * var(--u)) / 1 pixel,ui-monospace,monospace;color:#fff;pointer-events:none}#vitals .column{display:flex;flex-direction:column;gap:calc(4 * var(--u))}#vitals .stat{height:calc(42 * var(--u));display:flex;align-items:center;gap:calc(5 * var(--u))}#vitals .left .stat{justify-content:flex-end}#vitals .stat img{width:calc(18 * var(--u));height:calc(18 * var(--u))}#vitals .value{min-width:calc(46 * var(--u));text-shadow:calc(2 * var(--u)) 0 0 #000,calc(-2 * var(--u)) 0 0 #000,0 calc(2 * var(--u)) 0 #000,0 calc(-2 * var(--u)) 0 #000}#vitals .left .value{text-align:right}#vitals .bar{width:calc(132 * var(--u));height:calc(12 * var(--u));padding:calc(2 * var(--u));border-image:url(/ui/bar-left.png) 2 10 4 2 fill / calc(1.25 * var(--u)) calc(6.25 * var(--u)) calc(2.5 * var(--u)) calc(1.25 * var(--u))}#vitals .right .bar{border-image:url(/ui/bar-right.png) 2 2 4 10 fill / calc(1.25 * var(--u)) calc(1.25 * var(--u)) calc(2.5 * var(--u)) calc(6.25 * var(--u))}#vitals .right .oxygen .bar{border-image-source:url(/ui/bar-right-top.png)}#vitals .bar i{display:block;height:100%;transition:width .15s}#vitals .health .bar i{border-image:url(/ui/fill-health.png) 0 16 0 2 fill / 0 calc(8.9 * var(--u)) 0 calc(1.1 * var(--u))}#vitals .food .bar i{border-image:url(/ui/fill-food.png) 0 2 0 16 fill / 0 calc(1.2 * var(--u)) 0 calc(9.4 * var(--u))}#vitals .oxygen .bar i{border-image:url(/ui/fill-oxygen.png) 0 2 0 16 fill / 0 calc(1.2 * var(--u)) 0 calc(9.4 * var(--u))}#vitals .oxygen{animation:slide-in .13s ease-out}@keyframes slide-in{0%{opacity:0;transform:translate(-12px)}}#vitals .level{position:relative;width:calc(42 * var(--u));height:calc(42 * var(--u));display:grid;place-items:center;font-size:calc(18 * var(--u));color:#fff1bb;text-shadow:calc(2 * var(--u)) 0 0 #000,calc(-2 * var(--u)) 0 0 #000,0 calc(2 * var(--u)) 0 #000,0 calc(-2 * var(--u)) 0 #000}#vitals .level:before{content:"";position:absolute;inset:0;background:url(/ui/level.png) center / 100% no-repeat;opacity:.4}#vitals .level span{position:relative}.slot{position:relative;flex:none;width:var(--slot);height:var(--slot);padding:0;border:0;background:none;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.slot:before,.slot.selected:after{content:"";position:absolute;inset:0;border-image:url(/ui/slot.png) 20 fill / calc(20 * var(--u)) stretch;filter:brightness(.83)}.slot.empty:before{border-image-source:url(/ui/slot-empty.png);filter:none}.slot.selected:before{filter:none}.slot.selected:after{inset:calc(-3 * var(--u));border-image-source:url(/ui/slot-selected.png);border-image-slice:20;filter:none}.slot img{position:absolute;inset:calc(10 * var(--u));width:calc(90 * var(--u));height:calc(90 * var(--u));image-rendering:pixelated;pointer-events:none}.slot.empty:not(.placeholder) img{display:none}.slot .amount{position:absolute;right:calc(10 * var(--u));bottom:calc(8 * var(--u));font:calc(24 * var(--u)) / 1 pixel,ui-monospace,monospace;text-shadow:1px 1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,-1px -1px 0 #000;pointer-events:none}.hotbar{position:fixed;left:50%;bottom:calc(20 * var(--u) + env(safe-area-inset-bottom));transform:translate(-50%)}.hotbar .slots{display:flex;gap:calc(20 * var(--u))}.hotbar .bag{position:absolute;left:calc(100% + 20 * var(--u));bottom:0;width:var(--slot);height:var(--slot);padding:0;display:grid;place-items:center;border:0;border-image:url(/ui/chat-bar.png) 5 8 8 5 fill / calc(5 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u)) calc(5 * var(--u));background:none;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.hotbar .bag.active{filter:brightness(1.35)}.hotbar .bag img{width:calc(72 * var(--u));margin-top:calc(-14 * var(--u))}.hotbar .bag span{position:absolute;bottom:calc(6 * var(--u));font:calc(20 * var(--u)) / 1 pixel,ui-monospace,monospace;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f}#inventory{position:fixed;inset:0;background:#44485580;font-family:pixel,ui-monospace,monospace;color:#fff;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f}body.window-open :is(#hotbar,#vitals,#chat,#hud,#teams,#touch,#crosshair,.shade){display:none}#inventory :is(.back,.tab){padding:0 0 calc(9 * var(--u));border:0;border-image:url(/ui/button-dark.png) 12 15 21 12 fill / calc(12 * var(--u)) calc(15 * var(--u)) calc(21 * var(--u)) calc(12 * var(--u));background:none;color:#fff;font:inherit;cursor:pointer}#inventory :is(.back:active,.tab.selected){border-image-source:url(/ui/button-light.png)}#inventory .back{position:absolute;left:calc(96 * var(--u) + env(safe-area-inset-left));top:calc(20 * var(--u) + env(safe-area-inset-top));width:calc(186 * var(--u));height:calc(64 * var(--u));font-size:calc(30 * var(--u))}#inventory .window{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:calc(670 * var(--u));display:flex;gap:calc(20 * var(--u))}#inventory :is(.bag-panel,.character-panel){position:relative;box-sizing:border-box;border-image:url(/ui/panel.png) 50 fill / calc(50 * var(--u))}#inventory .bag-panel{width:calc(1110 * var(--u))}#inventory header{height:calc(64 * var(--u));padding:0 calc(20 * var(--u));display:flex;align-items:center;gap:calc(10 * var(--u));border-image:url(/ui/headline.png) 0 55 fill / 0 calc(55 * var(--u))}#inventory .title{font-size:calc(30 * var(--u));color:#acb9cc}#inventory header img{width:calc(16 * var(--u));height:calc(16 * var(--u));image-rendering:pixelated}#inventory .subtitle{font-size:calc(24 * var(--u));color:#4fb5ff}#inventory .main{padding:calc(20 * var(--u));display:grid;grid-template-columns:repeat(9,var(--slot));gap:calc(10 * var(--u))}#inventory .item-name{position:absolute;left:calc(20 * var(--u));bottom:calc(116 * var(--u));margin:0;font-size:calc(24 * var(--u));color:#acb9cc}#inventory footer{position:absolute;left:calc(20 * var(--u));right:calc(20 * var(--u));bottom:calc(20 * var(--u));display:flex;align-items:flex-end;justify-content:space-between}#inventory .tab{width:calc(226 * var(--u));height:calc(76 * var(--u));font-size:calc(24 * var(--u))}#inventory .drop{width:calc(82 * var(--u));height:calc(82 * var(--u));padding:0;display:grid;place-items:center;border:0;border-image:url(/ui/action.png) 20 fill / calc(20 * var(--u));background:none;cursor:pointer}#inventory .drop:not(:disabled){border-image-source:url(/ui/action-red.png)}#inventory .drop img{width:calc(64 * var(--u));height:calc(64 * var(--u))}#inventory .character-panel{width:calc(621 * var(--u));display:flex}#inventory .column{width:calc(150 * var(--u));box-sizing:border-box;padding:calc(20 * var(--u));display:flex;flex-direction:column;gap:calc(20 * var(--u));border-image:url(/ui/column.png) 50 fill / calc(50 * var(--u))}#inventory .character{position:relative;flex:1;background:#232126}#inventory .character canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#trader{position:fixed;inset:0;background:#44485580;font-family:pixel,ui-monospace,monospace;color:#fff;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f}#trader :is(.back,.tab,.amount button){padding:0 0 calc(9 * var(--u));border:0;border-image:url(/ui/button-dark.png) 12 15 21 12 fill / calc(12 * var(--u)) calc(15 * var(--u)) calc(21 * var(--u)) calc(12 * var(--u));background:none;color:#fff;font:inherit;cursor:pointer}#trader :is(.back:active,.tab.selected,.amount button:active){border-image-source:url(/ui/button-light.png)}#trader .back{position:absolute;left:calc(96 * var(--u) + env(safe-area-inset-left));top:calc(20 * var(--u) + env(safe-area-inset-top));width:calc(186 * var(--u));height:calc(64 * var(--u));font-size:calc(30 * var(--u))}#trader .window{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:calc(670 * var(--u));display:flex;gap:calc(20 * var(--u))}#trader :is(.offers-panel,.deal-panel){position:relative;box-sizing:border-box;border-image:url(/ui/panel.png) 50 fill / calc(50 * var(--u))}#trader .offers-panel{width:calc(1110 * var(--u));display:flex;flex-direction:column}#trader header{height:calc(64 * var(--u));padding:0 calc(20 * var(--u));display:flex;align-items:center;gap:calc(10 * var(--u));border-image:url(/ui/headline.png) 0 55 fill / 0 calc(55 * var(--u))}#trader .title{font-size:calc(30 * var(--u));color:#acb9cc}#trader header img{width:calc(16 * var(--u));height:calc(16 * var(--u));image-rendering:pixelated}#trader .subtitle{font-size:calc(24 * var(--u));color:#4fb5ff}#trader .offers{flex:1;min-height:0;overflow-y:auto;padding:calc(20 * var(--u));display:grid;grid-template-columns:repeat(7,calc(130 * var(--u)));grid-auto-rows:calc(160 * var(--u));gap:calc(20 * var(--u));align-content:start}#trader .offer{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:calc(14 * var(--u)) 0 calc(12 * var(--u));border:0;border-image:url(/ui/trade-cell.png) 20 fill / calc(20 * var(--u));background:none;color:#fff;font:inherit;cursor:pointer}#trader .offer.selected{border-image-source:url(/ui/trade-cell-selected.png)}#trader .offer .item{width:calc(90 * var(--u));height:calc(90 * var(--u));image-rendering:pixelated}#trader .price{display:inline-flex;align-items:center;gap:calc(6 * var(--u));font-size:calc(26 * var(--u))}#trader .price .currency{width:calc(32 * var(--u));height:calc(32 * var(--u));image-rendering:pixelated}#trader footer{padding:0 calc(20 * var(--u)) calc(20 * var(--u));display:flex;gap:calc(15 * var(--u))}#trader .tab{height:calc(76 * var(--u));padding:0 calc(24 * var(--u)) calc(9 * var(--u));display:flex;align-items:center;gap:calc(10 * var(--u));font-size:calc(24 * var(--u))}#trader .tab img{width:calc(36 * var(--u));height:calc(36 * var(--u))}#trader .deal-panel{width:calc(621 * var(--u));padding:calc(30 * var(--u));display:grid}#trader .no-selection{margin:auto;font-size:calc(26 * var(--u));color:#acb9cc}#trader .deal{display:flex;flex-direction:column;align-items:center;gap:calc(14 * var(--u))}#trader .deal p{margin:0}#trader .art{width:calc(220 * var(--u));height:calc(220 * var(--u));display:grid;place-items:center;background:url(/ui/trade-glow.png) center / 100% no-repeat}#trader .art .item{width:calc(150 * var(--u));height:calc(150 * var(--u));image-rendering:pixelated}#trader .name{font-size:calc(32 * var(--u));text-align:center}#trader .amount{display:flex;gap:calc(10 * var(--u))}#trader .amount button{min-width:calc(64 * var(--u));height:calc(64 * var(--u));padding:0 calc(12 * var(--u)) calc(9 * var(--u));font-size:calc(26 * var(--u))}#trader .amount input{width:calc(90 * var(--u));height:calc(56 * var(--u));box-sizing:border-box;border:1px solid #3a4250;border-radius:6px;background:#15141a;color:#fff;text-align:center;font:calc(28 * var(--u)) pixel,ui-monospace,monospace}#trader .sum{display:flex;align-items:center;gap:calc(12 * var(--u));font-size:calc(26 * var(--u));color:#acb9cc}#trader .wallet{display:flex;align-items:center;gap:calc(6 * var(--u));font-size:calc(22 * var(--u));color:#acb9cc}#trader .wallet img{width:calc(28 * var(--u));height:calc(28 * var(--u));image-rendering:pixelated}#trader .confirm{min-width:calc(260 * var(--u));height:calc(80 * var(--u));padding:0 calc(24 * var(--u)) calc(9 * var(--u));border:0;border-image:url(/ui/button-green.png) 12 15 21 12 fill / calc(12 * var(--u)) calc(15 * var(--u)) calc(21 * var(--u)) calc(12 * var(--u));background:none;color:#fff;font:calc(30 * var(--u)) pixel,ui-monospace,monospace;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f;cursor:pointer}#trader .message{min-height:1.3em;font-size:calc(22 * var(--u));text-align:center;color:#9fe870}#trader .message.failed{color:#ff6b5e}#team-voting{position:fixed;inset:0;background:#1b1d2b url(/ui/team-background.jpg) center / cover;font-family:pixel,ui-monospace,monospace;color:#fff}#team-voting .headline{position:absolute;left:0;right:0;top:calc(76 * var(--u));height:calc(120 * var(--u));display:grid;place-items:center;background:#31354f4d}#team-voting h2{margin:0;font:calc(80 * var(--u)) / 1 pixel,ui-monospace,monospace;background:linear-gradient(#d4ff6b,#5ccf2a 55%,#2f9a1c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 calc(6 * var(--u)) 0 #1c4d13) drop-shadow(0 calc(3 * var(--u)) calc(4 * var(--u)) rgb(0 0 0 / .5))}#team-voting .teams{position:absolute;left:50%;top:52.5%;transform:translate(-50%,-50%);display:flex;gap:calc(48 * var(--u))}#team-voting .team{position:relative;width:calc(372 * var(--u));height:calc(584 * var(--u));padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}#team-voting .card,#team-voting .ribbon{position:absolute;background:url(/ui/team-card.png) center / 100% 100%,var(--team);background-blend-mode:multiply;-webkit-mask:url(/ui/team-card.png) center / 100% 100%;mask:url(/ui/team-card.png) center / 100% 100%}#team-voting .card{inset:0}#team-voting .art{position:absolute;left:4%;top:2%;width:92%;height:80%;object-fit:contain;object-position:center bottom;pointer-events:none}#team-voting .members{position:absolute;left:calc(16 * var(--u));top:calc(16 * var(--u));height:calc(56 * var(--u));padding:0 calc(20 * var(--u)) 0 calc(4 * var(--u));display:flex;align-items:center;gap:calc(6 * var(--u));font-size:calc(32 * var(--u));text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f}#team-voting .members:before{content:"";position:absolute;inset:0;border-image:url(/ui/team-pill.png) 1 12 1 1 fill / 1px calc(12 * var(--u)) 1px 1px;filter:brightness(.12);opacity:.8}#team-voting .members>*{position:relative}#team-voting .members img{width:calc(56 * var(--u));height:calc(56 * var(--u))}#team-voting .ribbon{left:-4%;right:-4%;bottom:0;height:24%;display:grid;place-items:center;background-image:url(/ui/team-ribbon.png);-webkit-mask-image:url(/ui/team-ribbon.png);mask-image:url(/ui/team-ribbon.png)}#team-voting .name{font-size:calc(72 * var(--u));text-shadow:calc(4 * var(--u)) 0 0 #000,calc(-4 * var(--u)) 0 0 #000,0 calc(4 * var(--u)) 0 #000,0 calc(-4 * var(--u)) 0 #000,0 calc(8 * var(--u)) 0 #000}#team-voting .check{position:absolute;right:calc(-24 * var(--u));bottom:calc(-24 * var(--u));width:calc(128 * var(--u));height:calc(128 * var(--u));pointer-events:none}#team-voting .team:not(.selected) .check{display:none}#team-voting .team.full :is(.card,.ribbon){background-color:#fff}#team-voting .team.full .art{filter:grayscale(1)}#teams{position:fixed;right:calc(136 * var(--u) + env(safe-area-inset-right));top:calc(20 * var(--u) + env(safe-area-inset-top));display:flex;gap:calc(20 * var(--u));font-family:pixel,ui-monospace,monospace;color:#fff;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f;pointer-events:none}#teams .team{position:relative;width:calc(196 * var(--u));height:calc(80 * var(--u));display:flex;align-items:center;justify-content:flex-end}#teams .team:before{content:"";position:absolute;inset:0;background:#31354f;-webkit-mask:url(/ui/team-panel.png) center / 100% 100%;mask:url(/ui/team-panel.png) center / 100% 100%}#teams .team.own:before{background:#28676f}#teams .info{position:relative;width:calc(104 * var(--u));display:flex;flex-direction:column;gap:calc(10 * var(--u))}#teams .name{height:calc(14 * var(--u));font-size:calc(18 * var(--u));line-height:calc(14 * var(--u));white-space:nowrap}#teams .players{display:flex;gap:calc(4 * var(--u))}#teams .players img{width:calc(32 * var(--u));height:calc(32 * var(--u))}#teams .bed{position:relative;flex:none;width:calc(80 * var(--u));height:calc(80 * var(--u))}#teams .bed img{width:100%;height:100%}#teams .mine{position:absolute;right:0;bottom:0;padding:calc(3 * var(--u)) calc(4 * var(--u));background:#41a53f;font-size:calc(12 * var(--u));line-height:calc(12 * var(--u));white-space:nowrap}#teams .team:not(.own) .mine{display:none}#notice{position:fixed;left:50%;top:calc(42 * var(--u) + env(safe-area-inset-top));width:calc(472 * var(--u));box-sizing:border-box;padding:calc(16 * var(--u));display:flex;flex-direction:column;align-items:center;gap:calc(16 * var(--u));translate:-50% 0;transform-origin:50% 0;background:#232126;font-family:pixel,ui-monospace,monospace;pointer-events:none;animation:notice-entry .117s linear both}#notice.above{z-index:20}#notice .message{margin:0;font-size:calc(18 * var(--u));line-height:1.2;color:#d9ff00;text-align:center;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f;overflow-wrap:anywhere}#notice button{width:calc(344 * var(--u));height:calc(64 * var(--u));padding:0 0 calc(6 * var(--u));border:0;border-image:url(/ui/button-dark.png) 12 15 21 12 fill / calc(12 * var(--u)) calc(15 * var(--u)) calc(21 * var(--u)) calc(12 * var(--u));background:none;color:#fff;font:calc(24 * var(--u)) pixel,ui-monospace,monospace;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f;cursor:pointer;pointer-events:auto}@keyframes notice-entry{0%{scale:.6;opacity:.2}71%{scale:1.2;opacity:1}to{scale:1;opacity:1}}#alerts{position:fixed;left:env(safe-area-inset-left);top:calc(50% - 400 * var(--u));width:calc(480 * var(--u));z-index:100;pointer-events:none}#alerts .alert{position:absolute;left:0;width:100%;background:#df3b3b;box-shadow:inset 0 0 0 calc(1 * var(--u)) #000;translate:calc(-512 * var(--u)) 0;transition-property:translate,top;transition-timing-function:linear}#alerts .alert.in{translate:0 0}#alerts p{margin:0;padding:calc(40 * var(--u));font:calc(32 * var(--u)) / 1.2 pixel,ui-monospace,monospace;color:#fff;text-align:center;text-shadow:calc(2 * var(--u)) 0 0 #000,calc(-2 * var(--u)) 0 0 #000,0 calc(2 * var(--u)) 0 #000,0 calc(-2 * var(--u)) 0 #000;overflow-wrap:anywhere}#outcome{position:fixed;inset:0;font-family:pixel,ui-monospace,monospace;color:#fff}#outcome .darkening{position:absolute;inset:0;background:url(/ui/outcome-shade.png) center / calc(1684 * var(--u)) 100% no-repeat,#444855b3}#outcome .info,#outcome .art-block,#outcome .art,#outcome .shine,#outcome .headline,#outcome .ribbon,#outcome h2,#outcome h2 span,#outcome .buttons{position:absolute}#outcome.win .info{left:50%;top:50%;width:calc(1200 * var(--u));height:calc(894 * var(--u));translate:-50% -50%}#outcome.lose .info{inset:8.1% 2.5% 7.93% 50.54%}#outcome.win .art-block{left:calc(50 * var(--u));top:calc(-37 * var(--u));width:calc(1100 * var(--u));height:calc(484 * var(--u))}#outcome.lose .art-block{left:calc(122 * var(--u));right:calc(122 * var(--u));top:0;bottom:calc(423 * var(--u))}#outcome .art{left:50%;top:50%;translate:-50% -50%}#outcome.win .art{width:100%;height:100%;animation:outcome-art .467s linear both}#outcome.lose .art{width:calc(800 * var(--u));height:calc(484 * var(--u));object-fit:contain}#outcome .shine{left:50%;top:50%;background:url(/ui/shine.png) center / 100% 100%,var(--tint);background-blend-mode:multiply;-webkit-mask:url(/ui/shine.png) center / 100% 100%;mask:url(/ui/shine.png) center / 100% 100%;mix-blend-mode:plus-lighter}#outcome.win .shine{width:calc(660 * var(--u));height:calc(660 * var(--u));translate:-50% calc(-50% + 215 * var(--u));--tint: #ffea03;opacity:.4;animation:outcome-shine .55s linear both}#outcome.lose .shine{width:calc(1000 * var(--u));height:calc(1000 * var(--u));translate:-50% calc(-50% + 151.5 * var(--u));--tint: #1300ff}#outcome.win .headline{left:calc(37 * var(--u));top:calc(447 * var(--u));width:calc(1126 * var(--u));height:calc(172 * var(--u))}#outcome.lose .headline{left:calc(1 * var(--u));right:calc(1 * var(--u));top:calc(483 * var(--u));bottom:calc(251 * var(--u))}#outcome .ribbon{left:calc(-87 * var(--u));right:calc(-87 * var(--u));top:0;border-image:url(/ui/ribbon-gold.png) 0 530 0 470 fill / 0 calc(530 * var(--u)) 0 calc(470 * var(--u))}#outcome.win .ribbon{height:calc(236 * var(--u));animation:outcome-ribbon .467s linear both}#outcome.lose .ribbon{bottom:calc(-64 * var(--u))}#outcome h2{margin:0;font:calc(72 * var(--u)) / 1.2 pixel,ui-monospace,monospace;text-align:center;filter:drop-shadow(calc(3 * var(--u)) 0 0 #000) drop-shadow(calc(-3 * var(--u)) 0 0 #000) drop-shadow(0 calc(3 * var(--u)) 0 #000) drop-shadow(0 calc(-3 * var(--u)) 0 #000)}#outcome.win h2{left:0;right:0;top:0;bottom:calc(30 * var(--u));font-size:calc(60 * var(--u));animation:outcome-title .483s linear both}#outcome.lose h2{left:calc(100 * var(--u));right:calc(100 * var(--u));top:calc(40 * var(--u));bottom:calc(70 * var(--u));white-space:nowrap}#outcome h2 span{left:0;right:0;top:50%;translate:0 calc(-50% - .125em);background:linear-gradient(#feffc5 .35em,#ffdc30 1.1em) 0 0 / 100% 1.2em;-webkit-background-clip:text;background-clip:text;color:transparent}#outcome .description{display:none}#outcome.lose .description{display:block;position:absolute;left:50%;top:calc(50% + 206 * var(--u));width:calc(684 * var(--u));height:calc(72 * var(--u));translate:-50% 0;margin:0;font:700 calc(30 * var(--u)) / 1.4 octosquares,ui-monospace,monospace;text-align:center;text-shadow:calc(2 * var(--u)) 0 0 #000,calc(-2 * var(--u)) 0 0 #000,0 calc(2 * var(--u)) 0 #000,0 calc(-2 * var(--u)) 0 #000}#outcome .buttons{left:50%;bottom:0;width:calc(960 * var(--u));height:calc(128 * var(--u));translate:-50% 0;display:flex;gap:calc(40 * var(--u))}#outcome .buttons button{flex:1;padding:0 0 calc(9 * var(--u));border:0;border-image:url(/ui/button-dark.png) 12 15 21 12 fill / calc(12 * var(--u)) calc(15 * var(--u)) calc(21 * var(--u)) calc(12 * var(--u));background:none;color:#fff;font:calc(52 * var(--u)) pixel,ui-monospace,monospace;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f;cursor:pointer}#outcome .buttons .again{border-image-source:url(/ui/button-green.png)}body:has(#outcome.lose:not([hidden])) #chat{display:flex;z-index:1;left:env(safe-area-inset-left);top:8%;bottom:7.93%;width:45.34%}body:has(#outcome.lose:not([hidden])) #chat .chat-lines{flex:1;max-height:none;overflow-y:auto;background:#31354f4d;pointer-events:auto}body:has(#outcome.lose:not([hidden])) #chat .chat-lines:empty{display:block}body:has(#outcome.lose:not([hidden])) #chat li.old{display:list-item}body:has(#outcome.lose:not([hidden])) #chat .chat-input[hidden]{display:flex!important}@keyframes outcome-art{0%,43%{scale:.4}to{scale:1}}@keyframes outcome-ribbon{0%,43%{scale:.6;opacity:0}57%{scale:.6}86%{scale:1.2;opacity:1}to{scale:1;opacity:1}}@keyframes outcome-shine{0%,67%{scale:.6}88%{scale:1.2}to{scale:1}}@keyframes outcome-title{0%,69%{opacity:0}to{opacity:1}}@font-face{font-family:octosquares;src:url(/ui/octosquares.otf)}#loading{position:fixed;inset:0;overflow:hidden;background:#353535;color:#fff}body.loading :is(#hotbar,#vitals,#chat,#hud,#touch,#crosshair,.shade,#fps,#fullscreen){display:none}#loading .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64.4% 43.4%}#loading .art:not([src]){display:none}#loading .darkening{position:absolute;left:0;right:0;bottom:calc(76 * var(--u));height:calc(300 * var(--u));background:url(/ui/shade-bottom.png) center / 100% 100%;filter:brightness(0)}#loading .tip{position:absolute;left:50%;bottom:calc(136 * var(--u));width:min(calc(1872 * var(--u)),calc(100% - 32px));margin:0;transform:translate(-50%);text-align:center;font:calc(30 * var(--u)) / 1.3 octosquares,system-ui,sans-serif}#loading .strip{position:absolute;left:0;right:0;bottom:0;height:calc(76 * var(--u) + env(safe-area-inset-bottom));background:#232126}#loading .label{position:absolute;left:calc(20 * var(--u) + env(safe-area-inset-left));top:calc(20 * var(--u));font:calc(18 * var(--u)) / 1 pixel,ui-monospace,monospace;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f}#loading .bar{position:absolute;left:calc(20 * var(--u) + env(safe-area-inset-left));right:calc(20 * var(--u) + env(safe-area-inset-right));bottom:calc(20 * var(--u) + env(safe-area-inset-bottom));height:calc(12 * var(--u));box-sizing:border-box;padding:1px;border-image:url(/ui/loading-bar.png) 7 8 7 8 fill / calc(7 * var(--u)) calc(8 * var(--u)) calc(7 * var(--u)) calc(8 * var(--u))}#loading .fill{position:relative;height:100%;background:url(/ui/loading-fill.png) center / 100% 100%}#loading .fill img{position:absolute;right:0;top:50%;width:calc(64 * var(--u));height:calc(64 * var(--u));transform:translate(50%,-50%)}#damage{position:fixed;inset:0;opacity:0;background:radial-gradient(ellipse at center,transparent 50%,rgb(214 0 0 / .55) 100%);pointer-events:none}#damage.flash{animation:damage .6s ease-in-out}@keyframes damage{50%{opacity:1}}#chat{position:fixed;left:calc(20 * var(--u) + env(safe-area-inset-left));top:calc(20 * var(--u) + env(safe-area-inset-top));width:calc(585 * var(--u));display:flex;flex-direction:column;font:calc(22 * var(--u)) / 1.3 pixel,ui-monospace,monospace;pointer-events:none}#chat .chat-header{position:relative;height:calc(48 * var(--u));padding:0 calc(10 * var(--u));display:flex;align-items:center;gap:calc(5 * var(--u));border:0;background:none;color:#fff;font:calc(24 * var(--u)) / 1 pixel,ui-monospace,monospace;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f;opacity:.5;cursor:pointer;pointer-events:auto}#chat .chat-header:before{content:"";position:absolute;inset:0;border-image:url(/ui/chat-bar.png) 5 8 8 5 fill / calc(5 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u)) calc(5 * var(--u));opacity:.5}#chat .chat-header>*{position:relative}#chat .chat-header img{width:calc(24 * var(--u));height:calc(24 * var(--u))}#chat .chat-header .chevron{width:calc(40 * var(--u));height:calc(40 * var(--u));margin-left:auto}#chat.open .chat-header .chevron{transform:rotate(180deg)}#chat .chat-lines{max-height:calc(244 * var(--u));margin:0;padding:calc(8 * var(--u)) calc(10 * var(--u));box-sizing:border-box;overflow:hidden;list-style:none;border:1px solid rgb(255 255 255 / .06);background:#2e335033;overflow-wrap:anywhere}#chat .chat-lines:empty{display:none}#chat li{color:#acb9cc;text-shadow:calc(2 * var(--u)) calc(2 * var(--u)) 0 #0d0c0f}#chat li.direct .partner{color:#d58cff}#chat:not(.open) li.old{display:none}#chat.open .chat-lines{max-height:45vh;overflow-y:auto;background:#141820cc;pointer-events:auto}#chat .chat-input{display:flex;gap:6px;margin-top:4px;font:16px system-ui,sans-serif;pointer-events:auto}#chat .chat-input input{flex:1;min-width:0;padding:6px 10px;border:1px solid #3a4250;border-radius:6px;background:#0f1218e6;color:#fff;font:inherit}#chat .chat-input button{padding:0 12px;border:0;border-radius:6px;background:#2f6fe0;color:#fff;font:600 13px system-ui,sans-serif}#chat .chat-input button:disabled{opacity:.5}#death{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:24px;background:radial-gradient(circle at center,#c3000059,#280000e0 75%)}#death h2{margin:0;font:800 44px system-ui,sans-serif;text-shadow:0 3px 0 rgb(0 0 0 / .5)}#death button{min-width:200px;padding:12px 24px;border:0;border-radius:8px;background:#2f6fe0;color:#fff;font:700 18px system-ui,sans-serif;cursor:pointer}#death .spinner{width:36px;height:36px;border:4px solid rgb(255 255 255 / .25);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 32px));max-height:calc(100% - 32px);overflow:auto;box-sizing:border-box;padding:20px;display:grid;gap:12px;background:#141820eb;border-radius:10px;box-shadow:0 8px 32px #00000080}.panel[hidden]{display:none}.panel h1{margin:0;font-size:20px}.panel label{display:grid;gap:4px;font-size:12px;color:#b8c0cc}.panel select,.panel input,.panel button{font:inherit;padding:8px 10px;border-radius:6px;border:1px solid #3a4250;background:#0f1218;color:#fff}.panel button{background:#2f6fe0;border-color:#2f6fe0;cursor:pointer}.panel p{margin:0}.panel .help{font-size:12px;color:#8a93a0}@media (max-height: 480px){.panel{padding:14px;gap:8px}.panel .help{display:none}}
