:root{--ink:#f4ead2;--dim:#b8ab8c;--panel:#0e0a12b8;--edge:#ffe6b42e;--p1:#3fc6d0;--p2:#e8564b;--hp:#e0413a;--st:#e6c25a;--xp:#8a7bff;--common:#d8d2c4;--uncommon:#5fd36b;--rare:#4aa3ff;--epic:#c167ff;--legendary:#ffae2b}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:#000;margin:0;font-family:VT323,monospace;overflow:hidden}canvas#game{width:100vw;height:100vh;image-rendering:pixelated;outline:none;display:block;position:fixed;inset:0}#hud,#labels,#overlay{pointer-events:none;position:fixed;inset:0}#labels{overflow:hidden}.ppanel{background:var(--panel);border:1px solid var(--edge);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:6px;width:min(340px,40vw);padding:10px 12px;position:absolute;top:14px;box-shadow:0 6px 24px #00000073}.ppanel.p1{border-left:3px solid var(--p1);left:14px}.ppanel.p2{border-right:3px solid var(--p2);right:14px}.ppanel .name{letter-spacing:1px;justify-content:space-between;font-family:Silkscreen,monospace;font-size:13px;display:flex}.ppanel.p1 .name b{color:var(--p1)}.ppanel.p2 .name b{color:var(--p2)}.bar{background:#0000008c;border:1px solid #ffffff1f;height:9px;margin-top:5px;position:relative;overflow:hidden}.bar>i{background:var(--hp);transition:width .12s;position:absolute;top:0;bottom:0;left:0}.bar.hp>i{background:linear-gradient(#ff6a5b,#b9241f)}.bar.hp>u{background:#ffffff80;transition:width .6s .2s;position:absolute;top:0;bottom:0;left:0}.bar.st{height:5px}.bar.st>i{background:linear-gradient(#ffe48a,#c99a2a)}.bar.xp{height:3px}.bar.xp>i{background:var(--xp)}.bar span{color:#fff;text-shadow:0 1px #000;font-size:13px;position:absolute;top:-3px;right:4px}.slots{align-items:stretch;gap:6px;margin-top:7px;display:flex}.slot{background:#00000059;border:1px solid #ffffff14;flex:1;align-items:center;gap:5px;min-width:0;padding:3px 5px;font-size:15px;line-height:15px;display:flex}.slot.active{background:#ffdc8c14;border-color:#ffe6a08c}.slot canvas{width:26px;height:26px;image-rendering:pixelated;flex:none}.slot .t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.slot .t small{color:var(--dim);font-size:13px;display:block}.stats{color:var(--dim);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:15px;display:flex}.stats b{color:var(--ink);font-weight:400}.buffs{color:#9fe8a8;min-height:14px;margin-top:3px;font-size:14px}.r0{color:var(--common)}.r1{color:var(--uncommon)}.r2{color:var(--rare)}.r3{color:var(--epic)}.r4{color:var(--legendary)}#clock{background:var(--panel);border:1px solid var(--edge);text-align:center;border-radius:6px;min-width:220px;padding:6px 14px;font-size:18px;position:absolute;top:14px;left:50%;transform:translate(-50%)}#clock .biome{color:var(--dim);letter-spacing:1px;font-family:Silkscreen,monospace;font-size:11px}#clock .obj{color:#ff8f8f;font-size:15px}#log{text-shadow:0 2px #000,0 0 6px #000;flex-direction:column;gap:2px;width:min(460px,45vw);font-size:18px;display:flex;position:absolute;bottom:14px;left:14px}#log div{transition:opacity 1s}#minimap{border:1px solid var(--edge);width:190px;height:190px;image-rendering:pixelated;background:#0009;border-radius:6px;position:absolute;bottom:14px;right:14px}#bigmap{border:2px solid var(--edge);width:88vh;height:88vh;image-rendering:pixelated;background:#000000d9;display:none;position:absolute;inset:6vh 50% auto auto;transform:translate(50%)}#banner{text-align:center;letter-spacing:3px;color:#ffe9c0;text-shadow:0 3px #000,0 0 30px #ffb45a99;opacity:0;font-family:Silkscreen,monospace;font-size:34px;transition:opacity .8s;position:absolute;top:26%;left:0;right:0}#banner small{letter-spacing:1px;color:var(--dim);font-family:VT323,monospace;font-size:22px;display:block}.label{white-space:nowrap;text-shadow:0 1px #000;background:#0a080ec7;border:1px solid #ffffff1f;border-radius:3px;padding:1px 6px;font-size:17px;position:absolute;transform:translate(-50%,-100%)}.label .k{color:#111;background:#eee;border-radius:2px;margin-right:5px;padding:0 4px;font-family:Silkscreen,monospace;font-size:10px;display:inline-block}.label .k.p1{background:var(--p1)}.label .k.p2{background:var(--p2)}.label small{color:var(--dim)}.bubble{color:#241a14;white-space:nowrap;background:#faf4e4ed;border-radius:6px;padding:2px 8px;font-size:17px;position:absolute;transform:translate(-50%,-100%)}#overlay>.screen{pointer-events:auto;background:radial-gradient(#0000000d 0%,#000000a6 80%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.title{letter-spacing:6px;color:#ffe6b0;text-shadow:0 6px #3b1a10,0 0 50px #ff963c8c;font-family:Silkscreen,monospace;font-size:clamp(42px,9vw,110px);font-weight:700;line-height:1}.subtitle{color:#d8c8a8;text-shadow:0 2px #000;margin-top:10px;font-size:clamp(18px,2.4vw,28px)}.menu{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px;display:flex}.menu button{pointer-events:auto;letter-spacing:1px;color:var(--ink);cursor:pointer;background:#140e16d9;border:1px solid #ffdca066;border-radius:4px;padding:12px 22px;font-family:Silkscreen,monospace;font-size:16px}.menu button:hover,.menu button.sel{background:#ffc87833;border-color:#ffd28a}.controls{border:1px solid var(--edge);background:#0a080eb3;border-radius:6px;grid-template-columns:1fr 1fr;gap:18px 40px;margin-top:30px;padding:16px 26px;font-size:19px;display:grid}.controls h3{letter-spacing:1px;margin:0 0 6px;font-family:Silkscreen,monospace;font-size:13px}.controls .c1 h3{color:var(--p1)}.controls .c2 h3{color:var(--p2)}.controls kbd{color:#1a1410;background:#e9e1cf;border-radius:2px;margin-right:3px;padding:1px 5px;font-family:Silkscreen,monospace;font-size:11px}.hint{color:var(--dim);text-align:center;max-width:760px;margin-top:18px;font-size:17px}.stat-grid{grid-template-columns:auto auto;gap:4px 30px;margin-top:20px;font-size:22px;display:grid}.loading{text-align:center;color:var(--dim);font-size:20px;position:absolute;bottom:30px;left:0;right:0}.controls h3 small.dev{letter-spacing:0;color:var(--dim);margin-left:6px;font-family:VT323,monospace;font-size:16px}kbd.k{color:#111;background:#e9e1cf;border-radius:2px;padding:1px 5px;font-family:Silkscreen,monospace;font-size:11px}.roomcode{letter-spacing:14px;color:#fff3d6;border:1px solid var(--edge);-webkit-user-select:all;user-select:all;background:#0a080ecc;border-radius:6px;margin-top:24px;padding:8px 26px;font-family:Silkscreen,monospace;font-size:clamp(40px,8vw,84px)}.lnk{color:#ffd28a;-webkit-user-select:all;user-select:all}.codein{pointer-events:auto;letter-spacing:14px;text-align:center;text-transform:uppercase;color:#fff3d6;background:#0a080ed9;border:1px solid #ffd28a;border-radius:6px;outline:none;width:6.4em;margin-top:24px;padding:6px 10px;font-family:Silkscreen,monospace;font-size:54px}.netbadge{background:var(--panel);border:1px solid var(--edge);color:var(--dim);border-radius:4px;padding:2px 8px;font-size:16px;position:absolute;bottom:214px;right:14px}.vrow{border-top:1px solid #ffffff1a;margin-top:6px;padding-top:5px;font-size:16px}.vrow b{color:#ffd76a;font-weight:400}.vhelp{color:var(--dim);margin-top:3px;font-size:14px}.shop{background:#0e0a12e6;border:1px solid #ffdca059;border-radius:6px;width:min(380px,44vw);padding:8px;display:none;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 40px #0009}.shop.s0{left:14px}.shop.s1{right:14px}.sh-title{letter-spacing:1px;color:#ffe6b0;justify-content:space-between;padding:2px 4px 8px;font-family:Silkscreen,monospace;font-size:14px;display:flex}.sh-title span{color:#ffd76a}.sh-row{border:1px solid #0000;border-radius:3px;align-items:center;gap:8px;padding:3px 6px;font-size:17px;display:flex}.sh-row img{width:28px;height:28px;image-rendering:pixelated;object-fit:contain;flex:none}.sh-row .t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;line-height:16px;overflow:hidden}.sh-row .t small{color:var(--dim);font-size:14px;display:block}.sh-row b{color:#ffd76a;font-weight:400}.sh-row b.poor{color:#c86a5a}.sh-row.sel{background:#ffc87824;border-color:#ffd28a}.sh-row.dis{opacity:.45}.sh-help{color:var(--dim);padding:8px 4px 2px;font-size:14px}
