:root{--bg:#0b0d0c;--panel:#0e100ef0;--line:#3a3a2e;--text:#cfc8b4;--dim:#8a8574;--accent:#d9a441;--blood:#9e1b1b;--good:#7fb36b;--mono:"VT323", "Courier New", monospace;--type:"Silkscreen", "Courier New", monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--mono);margin:0;font-size:18px;overflow:hidden}#game{cursor:none;filter:contrast(1.06)saturate(.85);width:100vw;height:100vh;display:block}.hidden{display:none!important}button{font-family:var(--mono);color:var(--accent);cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:#2a2618;border:1px solid #5a4a24;padding:6px 12px}button:hover:not(:disabled){background:#3a3320}button:disabled{opacity:.4;cursor:default}button.ghost{color:var(--dim);border-color:var(--line);background:0 0;padding:3px 8px}.overlay{z-index:50;background:radial-gradient(#1a1c18 0%,#050605 75%);place-items:center;display:grid;position:fixed;inset:0}.join-card{border:1px solid var(--line);background:var(--panel);max-width:460px;padding:32px;box-shadow:0 0 60px #000}.join-card h1{font-family:var(--type);color:var(--blood);letter-spacing:6px;text-shadow:2px 2px #000;margin:0;font-size:44px}.join-card .tag{font-family:var(--type);color:var(--accent);margin-top:0}.join-card p{color:var(--dim);line-height:1.5}#auth-form,#new-char{flex-direction:column;gap:8px;margin-top:18px;display:flex}#new-char{flex-direction:row}#auth-form input,#new-char input{border:1px solid var(--line);color:var(--text);font-family:var(--mono);background:#050605;flex:1;padding:10px;font-size:16px}#join-status{min-height:1.4em;color:var(--accent)}#hud{pointer-events:none;z-index:10;text-shadow:1px 1px #000;font-size:18px;position:fixed;inset:0}.tl{width:260px;position:absolute;top:16px;left:16px}#lvl{color:var(--accent);margin-bottom:4px}.bar{background:#0009;border:1px solid #2a2a22;height:12px;margin-bottom:4px;position:relative}.bar>div{height:100%;transition:width .15s}.bar.hp{height:18px}.bar.hp>div{background:linear-gradient(#a32020,#6e1010)}.bar.st>div{background:linear-gradient(#8a8a50,#5a5a30)}.bar.xp{height:4px}.bar.xp>div{background:var(--accent)}#hp-text{font-size:12px;position:absolute;top:1px;left:6px}.tr{text-align:right;width:200px;position:absolute;top:16px;right:16px}#minimap{border:1px solid var(--line);image-rendering:pixelated;background:#000;width:180px;height:180px}#clock{color:var(--accent);font-size:15px}#zone{font-family:var(--type);color:var(--text);margin-top:2px;font-size:12px}#objective{color:var(--dim);margin-top:10px;font-size:12px}#objective b{color:#ffd23f}.br{text-align:right;position:absolute;bottom:16px;right:16px}#wname{font-family:var(--type);color:var(--text);font-size:14px}#ammo{color:#fff;font-size:40px;line-height:1}#ammotype,#atts{color:var(--dim);font-size:12px}#cash{color:var(--good);margin-top:4px;font-size:16px}.bl{width:460px;position:absolute;bottom:44px;left:16px}#log div{background:#00000059;margin-top:3px;padding:2px 6px;transition:opacity 2s;display:table}#log .fade{opacity:0}#log .warn{color:#ff6b5a;font-weight:700}#log .good{color:var(--accent)}#inv{color:var(--dim);position:absolute;bottom:16px;left:16px}#prompt{border:1px solid var(--line);color:var(--accent);white-space:nowrap;background:#0009;padding:6px 14px;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}#progress{text-align:center;width:200px;color:var(--accent);font-size:11px;position:absolute;top:58%;left:50%;transform:translate(-50%)}#progress>div{background:#0009;height:5px;margin-top:3px}#progress-fill{background:var(--accent);height:100%}#chat{pointer-events:auto;border:1px solid var(--line);width:460px;color:var(--text);font-family:var(--mono);background:#000c;padding:8px;position:absolute;bottom:260px;left:16px}#damage{pointer-events:none;z-index:5;position:fixed;inset:0;box-shadow:inset 0 0 160px #a0000000}#damage.hit{animation:.45s ease-out hit}@keyframes hit{0%{box-shadow:inset 0 0 160px #a00000d9}to{box-shadow:inset 0 0 160px #a0000000}}#bigmap-wrap{z-index:20;background:#000000bf;align-content:center;place-items:center;display:grid;position:fixed;inset:0}#bigmap{aspect-ratio:1;border:1px solid var(--line);max-width:92vw;max-height:86vh;image-rendering:pixelated}#bigmap-wrap p{color:var(--dim);margin:6px}#panel{background:var(--panel);border:1px solid var(--line);z-index:30;flex-direction:column;width:min(920px,94vw);max-height:86vh;display:flex;position:fixed;top:6vh;left:50%;transform:translate(-50%);box-shadow:0 0 80px #000}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;display:flex}#panel-tabs button{border:none;border-right:1px solid var(--line);color:var(--dim);background:0 0;padding:10px 16px}#panel-tabs button.active{color:var(--accent);background:#1d1b12}#panel-close{color:var(--dim);background:0 0;border:none}#panel-body{padding:14px 18px;overflow-y:auto}#panel-body h3{font-family:var(--type);color:var(--accent);border-bottom:1px solid var(--line);margin:18px 0 8px;padding-bottom:4px}#panel-body .sub{font-family:var(--type);color:var(--dim)}#panel-body .note{color:#ff8a6a}.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:8px;display:grid}.card{border:1px solid var(--line);background:#00000040;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}.card span{color:var(--dim);font-size:12px}.card i{color:#8f9a6a;font-size:12px;font-style:normal}.card.wide{display:block}.mono{font-family:var(--mono)}.tag{border:1px solid var(--good);margin-left:6px;padding:1px 4px;color:var(--good)!important;font-size:11px!important}.slots{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.slot{border:1px dashed var(--line);padding:4px 8px;font-size:12px}.slot span{color:var(--dim);margin-right:4px}.slot select{color:var(--text);border:1px solid var(--line);font-family:var(--mono);background:#050605}.pips{letter-spacing:2px;color:var(--accent)!important}.keys td{padding:3px 14px 3px 0}.keys td:first-child{color:var(--accent)}#death{text-align:center;z-index:40;background:radial-gradient(#3c000099,#000000eb);place-content:center;display:grid;position:fixed;inset:0}#death h1{font-family:var(--type);color:var(--blood);letter-spacing:4px;margin:0 0 10px;font-size:48px}#death p{color:var(--dim)}.hpwrap{margin-bottom:4px;position:relative}#hp-canvas{width:256px;height:72px;image-rendering:pixelated;display:block}#hp-text{color:#fff;font-size:18px;position:absolute;top:24px;left:72px}#panel,#death,.overlay{cursor:auto}#noise{color:var(--dim);white-space:nowrap;margin-top:2px;font-size:16px}#noise .bars{letter-spacing:1px;color:#8fb36b}#noise[data-level="3"] .bars{color:#e0a040}#noise[data-level="4"] .bars{color:#ff5a4a}#noise .warn{color:#e0a040}#inv.lowbat{color:#ff8a6a}#dialog{z-index:25;background:var(--panel);border:1px solid var(--line);cursor:default;width:min(620px,92vw);padding:14px 18px;position:fixed;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 0 60px #000}#dialog .who{font-family:var(--type);color:var(--accent);margin-bottom:6px;font-size:14px}#dialog .who span{color:var(--dim);margin-left:6px;font-size:11px}#dialog p{color:var(--text);margin:4px 0}#dialog .offer{border:1px dashed var(--line);color:var(--dim);margin-top:10px;padding:8px 10px}#dialog .offer b{color:#ffd23f}#dialog .offer i{color:#8f9a6a;font-style:normal}#dialog .btns{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}#sleepfade{pointer-events:none;z-index:4;opacity:0;background:radial-gradient(#04060c59 0%,#04060cd9 75%);transition:opacity 1.6s;position:fixed;inset:0}#sleepfade.on{opacity:1}#panel table.board{border-collapse:collapse;width:100%;font-size:14px}#panel table.board th{text-align:left;color:var(--dim);border-bottom:1px solid var(--line);padding:4px 6px;font-weight:400}#panel table.board td{vertical-align:top;border-bottom:1px solid #ffffff0d;padding:5px 6px}#panel table.board td span{color:var(--dim);font-size:12px}#panel table.board tr.me td{background:#8ee07a14}#panel table.board tr:nth-child(2) td b{color:#ffd23f}#panel input{color:var(--text);border:1px solid var(--line);font:inherit;background:#0e110f;padding:4px 6px}.join-card .row{gap:8px;display:flex}.join-card .row button{flex:1}.join-card label.check{color:var(--dim);cursor:pointer;align-items:center;gap:8px;display:flex}.join-card .who{margin-bottom:6px}.join-card .who a{color:var(--accent)}#char-list{flex-direction:column;gap:6px;display:flex}#char-list button{text-align:left;justify-content:space-between;display:flex}#char-list button span{color:var(--dim)}#blackout{pointer-events:none;z-index:45;opacity:0;background:#000;transition:opacity 2.4s;position:fixed;inset:0}#blackout.on{opacity:1}#auth-form label.check input,#chars label.check input{flex:none;width:auto;margin:0;padding:0}.join-card label.check{justify-content:flex-start}#blackout{place-items:center;display:grid}#blackout p{font-family:var(--type);color:#b8b0a0;text-align:center;opacity:0;max-width:640px;font-size:20px;transition:opacity 1.2s .8s}#blackout.on p{opacity:1}canvas.dazed{filter:blur(1.2px)saturate(.35)brightness(.8)sepia(.25);transition:filter 2s}#notice{z-index:48;cursor:default;background:#00000059;place-items:center;display:grid;position:fixed;inset:0}#notice .ncard{background:var(--panel);border:1px solid var(--line);width:min(560px,90vw);padding:26px 30px;animation:.9s ease-out notice-in;display:block;box-shadow:0 0 80px #000}#notice h2{font-family:var(--type);color:var(--accent);letter-spacing:2px;margin:0 0 14px;font-size:22px}#notice .body p{color:var(--text);margin:0 0 10px;font-size:17px;line-height:1.55}#notice .hint{color:#e8c872;border-top:1px dashed var(--line);margin-top:14px;padding-top:10px}#notice button{float:right;margin-top:14px}@keyframes notice-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}#online-count{color:#8ee07a;pointer-events:auto;cursor:pointer;margin-top:2px;font-size:14px}#online-count:before{content:"";vertical-align:middle;background:#8ee07a;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 6px #8ee07a}#online{z-index:26;background:var(--panel);border:1px solid var(--line);cursor:default;width:300px;max-height:50vh;padding:10px 12px;position:fixed;top:250px;right:16px;overflow-y:auto;box-shadow:0 0 40px #000}#online .head{color:var(--accent);font-family:var(--type);justify-content:space-between;margin-bottom:6px;display:flex}#online .head span{color:var(--dim);font-size:11px}#online .row{border-bottom:1px solid #ffffff0d;justify-content:space-between;gap:10px;padding:4px 0;font-size:15px;display:flex}#online .row .who b{color:#8ee07a;margin-right:4px}#online .row .who i{color:var(--dim);margin-left:4px;font-size:12px;font-style:normal}#online .row .where{color:var(--dim);text-align:right;font-size:13px}#online .row.me .who{color:var(--accent)}#inv-wrap{cursor:default}.inv{grid-template-columns:1fr auto 1fr;align-items:start;gap:14px;display:grid}.inv-col{border:1px solid var(--line);background:#ffffff06;padding:8px 10px 10px}.inv-col h4{font-family:var(--type);color:var(--accent);letter-spacing:2px;text-transform:uppercase;justify-content:space-between;margin:0 0 8px;font-size:13px;display:flex}.inv-col h4 span{color:var(--dim);letter-spacing:0}.inv-col h4 span.bad{color:#e05040}.inv-col h5{color:var(--dim);letter-spacing:2px;text-transform:uppercase;margin:10px 0 4px;font-size:11px;font-weight:400}.inv-grid{grid-template-columns:repeat(4,52px);gap:5px;display:grid}.inv-col.mid{flex-direction:column;align-items:stretch;gap:5px;width:240px;display:flex}.eq-row{gap:5px;display:flex}.cell{background:#10161a;border:1px solid #263038;place-items:center;width:52px;height:52px;display:grid;position:relative}.cell.empty{background:#0c1114}.cell.over{border-color:#6a2a24}.cell.act{cursor:pointer}.cell.act:hover{border-color:var(--accent);background:#162026}.cell.mark{border-color:#e8c872;box-shadow:inset 0 0 0 1px #e8c872}.cell img{image-rendering:pixelated;transform-origin:50%;max-width:44px;max-height:40px;transform:scale(2)}.cell.long,.cell.wide{width:100%;height:56px}.cell.long img{max-width:70px;max-height:18px;transform:scale(3)}.cell .q{color:#f2eee0;text-shadow:1px 1px #000;font-size:12px;position:absolute;bottom:1px;right:3px}.cell .lbl{color:var(--dim);letter-spacing:1px;font-size:10px;position:absolute;top:1px;left:3px}.cell .cond{background:#000;height:3px;position:absolute;bottom:2px;left:3px;right:3px}.cell .cond i{height:100%;display:block}.quick .cell{flex:1;width:auto}.inv-cash{color:#a8d08a;margin-top:8px;font-size:18px}#inv-takeall{width:100%;margin-top:8px}.inv-info{color:#b8c4c8;min-height:22px;margin-top:10px;font-size:16px}.card.locked{opacity:.55}.cond-tag{color:#7ab04a;border:1px solid #3a4a32;padding:0 4px;font-size:12px}.cond-tag.warn{color:#d8a030;border-color:#5a4a2a}.cond-tag.bad{color:#e05040;border-color:#5a2a24}#wname.worn{color:#e05040}#respawn-posts{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.card.tracked{border-color:#e8c872;box-shadow:inset 0 0 0 1px #e8c87280}#objective i{color:var(--dim);font-size:12px;font-style:normal}#guide{pointer-events:none;z-index:6;background:#0a0c0ce0;border:2px solid #e8c872;width:min(560px,100% - 32px);padding:10px 14px 12px;display:none;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #0009,0 6px 18px #00000080}#guide.on{animation:.35s ease-out guide-in;display:block}#guide b{color:#ffd23f;letter-spacing:.5px;margin-bottom:4px;font-family:Silkscreen,monospace;font-size:15px;display:block}#guide p{color:#e8ecd8;margin:0;font-family:VT323,monospace;font-size:21px;line-height:1.15}@keyframes guide-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.tiers{flex-wrap:wrap;gap:4px 12px;margin:4px 0;display:flex}.tier{align-items:center;gap:4px;display:inline-flex}.tier i{color:var(--dim);min-width:18px;font-size:12px;font-style:normal}.tier em{color:#a86a4a;font-size:12px;font-style:normal}.tier.shut .pips{opacity:.35}
