#hotbar{position:fixed;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:10;font-family:monospace}#hotbar .slot{width:64px;height:40px;background:#1a1a2e;border:2px solid #3a3a55;color:#ccc;font-size:9px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;user-select:none;padding:2px;position:relative}#hotbar .slot .key{position:absolute;top:1px;right:3px;font-size:8px;color:#88a}#hotbar .slot .cooldown{position:absolute;left:0;right:0;bottom:0;height:0%;background:#0a0a14c7;pointer-events:none}#hotbar .slot.empty{color:#445}#hotbar .slot.ultimate{border-color:#c9a227}#charsheet{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#14142a;border:3px solid #3a3a55;color:#ddd;font-family:monospace;padding:14px;z-index:20;min-width:480px;max-height:80vh;overflow-y:auto}#charsheet.hidden{display:none}#charsheet h2{font-size:14px;margin:0 0 10px;color:#c9a227}#charsheet h3{font-size:12px;margin:10px 0 6px}#charsheet .trees{display:flex;gap:18px}#charsheet .tree{flex:1}#charsheet .tier-label{font-size:10px;color:#88a;margin:8px 0 3px}#charsheet .tier-label.locked{color:#b55}#charsheet .node-btn{display:block;width:100%;background:#1f1f3a;border:2px solid #3a3a55;color:#ddd;font-family:monospace;font-size:10px;text-align:left;padding:5px 7px;margin-bottom:4px;cursor:pointer}#charsheet .node-btn:hover:not(:disabled){border-color:#c9a227}#charsheet .node-btn:disabled{opacity:.4;cursor:not-allowed}#charsheet .node-btn .pips{float:right;color:#c9a227}#charsheet .node-btn .desc{display:block;color:#88a;font-size:9px;margin-top:2px}@keyframes node-flash{0%{background:#c9a227}to{background:#1f1f3a}}#charsheet .node-btn.flash{animation:node-flash .45s ease-out}@keyframes counter-pulse{0%{color:#fff}to{color:#c9a227}}#charsheet h2.pulse{animation:counter-pulse .6s ease-out}#charsheet .granted{margin-top:12px;border-top:2px solid #3a3a55;padding-top:8px}#charsheet .granted-btn{display:inline-block;background:#1f1f3a;border:2px solid #4a6a4a;color:#baffc9;font-family:monospace;font-size:10px;padding:5px 8px;margin:0 6px 6px 0;cursor:pointer}#charsheet .granted-btn.ultimate{border-color:#c9a227;color:#ffe9a6}#charsheet .granted-btn:hover{border-color:#fff}#charsheet .hint{font-size:9px;color:#88a}#toast{position:fixed;bottom:70px;left:50%;transform:translate(-50%);background:#5a1f1f;border:2px solid #bb5555;color:#fcc;font-family:monospace;font-size:11px;padding:6px 12px;z-index:30;opacity:0;transition:opacity .2s;pointer-events:none}#toast.show{opacity:1}#hpbar{position:fixed;top:12px;left:12px;display:flex;align-items:center;gap:6px;font-family:monospace;z-index:10}#hpbar .hp-label{color:#f87;font-size:10px}#hpbar .hp-track{width:140px;height:12px;background:#3a1515;border:2px solid #3a3a55}#hpbar .hp-fill{height:100%;width:100%;background:#3ecc55;transition:width .15s}#hpbar .hp-fill.low{background:#c33}#hpbar .hp-text{color:#ccc;font-size:10px}#deathOverlay{position:fixed;inset:0;background:#2800008c;color:#ffb3b3;font-family:monospace;font-size:18px;display:flex;align-items:center;justify-content:center;z-index:25;pointer-events:none}#deathOverlay.hidden{display:none}#chatbox{position:fixed;bottom:12px;left:12px;width:280px;z-index:10;font-family:monospace}#chatlog{max-height:132px;overflow-y:auto;font-size:11px;color:#ccc;text-shadow:0 1px 2px #000;margin-bottom:4px;overflow-wrap:break-word}#chatlog .chatline{margin:1px 0}#chatlog .chatline b{color:#bae1ff}#chatlog .chatline b.own{color:#fc4}#chatinput{width:100%;box-sizing:border-box;background:#1a1a2e;border:2px solid #3a3a55;color:#eee;font-family:monospace;font-size:11px;padding:4px 6px;outline:none}#chatinput:focus{border-color:#c9a227}#charsheet .skills{margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid #3a3a55}#charsheet .skills .skill-line{font-size:10px;color:#da7;margin:1px 0}#craftpanel{position:fixed;bottom:64px;right:12px;width:260px;background:#1a1a2e;border:2px solid #3a3a55;padding:10px;z-index:20;font-family:monospace;color:#ccc}#craftpanel.hidden{display:none}#craftpanel h2{font-size:13px;margin:0 0 8px;color:#c9a227;display:inline-block}#craftpanel .close-btn{float:right;background:none;border:none;color:#88a;font-size:14px;cursor:pointer}#craftpanel .recipe{border-top:1px solid #3a3a55;padding:6px 0}#craftpanel .recipe-name{font-size:11px;color:#eec}#craftpanel .recipe-mats{margin:3px 0}#craftpanel .mat{font-size:9px;margin-right:8px}#craftpanel .mat.ok{color:#3c3}#craftpanel .mat.short{color:#b55}#craftpanel .craft-btn{width:100%;background:#2a2a44;border:2px solid #3a3a55;color:#fc4;font-family:monospace;font-size:10px;padding:3px;cursor:pointer}#craftpanel .craft-btn:disabled{opacity:.45;cursor:not-allowed;color:#88a}#invpanel{position:fixed;top:60px;right:12px;width:232px;background:#1a1a2e;border:2px solid #3a3a55;padding:10px;z-index:20;font-family:monospace;color:#ccc}#invpanel.hidden{display:none}#invpanel h2{font-size:13px;margin:0 0 8px;color:#c9a227;display:inline-block}#invpanel .close-btn{float:right;background:none;border:none;color:#88a;font-size:14px;cursor:pointer}#invpanel .inv-grid{display:grid;grid-template-columns:repeat(5,40px);gap:6px}#invpanel .inv-cell{position:relative;width:40px;height:40px;background:#12121f;border:1px solid #3a3a55;border-radius:2px}#invpanel .inv-cell.actionable{cursor:pointer}#invpanel .inv-cell.actionable:hover{border-color:#c9a227}#invpanel .inv-cell img{width:32px;height:32px;margin:3px;image-rendering:pixelated}#invpanel .inv-count{position:absolute;right:1px;bottom:0;font:700 10px monospace;color:#eec;text-shadow:0 1px 2px #000;pointer-events:none}#invpanel .inv-tip{display:none;position:absolute;right:44px;top:0;width:150px;background:#12121f;border:1px solid #c9a227;border-radius:2px;padding:5px 6px;z-index:21;pointer-events:none}#invpanel .inv-cell:hover .inv-tip{display:block}#invpanel .inv-tip b{display:block;font-size:11px;color:#fc4;margin-bottom:2px}#invpanel .inv-tip span{font-size:9px;color:#88a}#invpanel .inv-menu{position:absolute;left:2px;top:36px;z-index:22;display:flex;flex-direction:column;background:#1a1a2e;border:1px solid #c9a227;border-radius:2px}#invpanel .inv-menu button{background:none;border:none;color:#eec;font:10px monospace;padding:4px 10px;cursor:pointer;text-align:left}#invpanel .inv-menu button:hover{background:#2a2a45;color:#fc4}#goldhud{position:fixed;top:15px;left:252px;font:700 12px monospace;color:gold;text-shadow:0 1px 3px #000;z-index:10;pointer-events:none}#charsheet .sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px}#respecBtn{background:#1a1a2e;border:1px solid #c9a227;border-radius:2px;color:gold;font:700 11px monospace;padding:4px 10px;cursor:pointer;white-space:nowrap}#respecBtn:hover{background:#2a2a45}#vendorpanel{position:fixed;bottom:64px;right:12px;width:260px;background:#1a1a2e;border:2px solid #3a3a55;padding:10px;z-index:20;font-family:monospace;color:#ccc}#vendorpanel.hidden{display:none}#vendorpanel h2{font-size:13px;margin:0 0 8px;color:#c9a227;display:inline-block}#vendorpanel .close-btn{float:right;background:none;border:none;color:#88a;font-size:14px;cursor:pointer}#vendorpanel .vendor-section{font-size:10px;color:#88a;text-transform:uppercase;margin:6px 0 2px}#vendorpanel .vendor-row{display:flex;align-items:center;gap:6px;border-top:1px solid #3a3a55;padding:5px 0}#vendorpanel .vendor-name{flex:1;font-size:11px;color:#eec}#vendorpanel .vendor-price{font-size:11px;color:gold}#vendorpanel .vendor-empty{font-size:10px;color:#88a;padding:4px 0}#vendorpanel .vendor-btn{background:#2a2a44;border:2px solid #3a3a55;color:#eec;font:10px monospace;padding:3px 8px;cursor:pointer}#vendorpanel .vendor-btn:disabled{opacity:.45;cursor:not-allowed;color:#88a}#ahpanel{position:fixed;bottom:64px;right:12px;width:300px;max-height:320px;overflow-y:auto;background:#10101ef0;border:2px solid #3a3a55;border-radius:4px;padding:10px 12px;z-index:20;font-family:monospace}#ahpanel.hidden{display:none}#ahpanel h2{font-size:13px;margin:0 0 8px;color:#c9a227;display:inline-block}#ahpanel .close-btn{float:right;background:none;border:none;color:#88a;font-size:14px;cursor:pointer}#ahpanel .ah-tabs{display:flex;gap:4px;margin-bottom:6px}#ahpanel .ah-tabs button{flex:1;background:#1a1a2e;border:1px solid #3a3a55;color:#88a;font:10px monospace;padding:3px 0;cursor:pointer}#ahpanel .ah-tabs button.active{color:#fc4;border-color:#c9a227;background:#2a2a45}#ahpanel .ah-row{display:flex;align-items:center;gap:6px;border-top:1px solid #3a3a55;padding:5px 0}#ahpanel .ah-item{flex:1;font-size:11px;color:#eec}#ahpanel .ah-seller{font-size:9px;color:#88a}#ahpanel .ah-price{font-size:11px;color:gold}#ahpanel .ah-empty{font-size:10px;color:#88a;padding:4px 0}#ahpanel .ah-select{flex:1;background:#1a1a2e;border:1px solid #3a3a55;color:#eec;font:10px monospace;padding:2px;min-width:0}#ahpanel .ah-input{width:70px;background:#1a1a2e;border:1px solid #3a3a55;color:gold;font:10px monospace;padding:2px 4px}#ahpanel .ah-btn{background:#2a2a44;border:2px solid #3a3a55;color:#eec;font:10px monospace;padding:3px 8px;cursor:pointer}#ahpanel .ah-btn:disabled{opacity:.45;cursor:not-allowed;color:#88a}#ahpanel .ah-collect{width:100%;margin-top:6px}#tradewindow{position:fixed;top:80px;left:50%;transform:translate(-50%);width:340px;background:#12122add;border:2px solid #3a3a55;padding:10px;color:#eec;font:10px monospace;z-index:20}#tradewindow.hidden{display:none}#tradewindow h2{font-size:13px;margin:0 0 6px;color:#c9a227;display:inline-block}#tradewindow .close-btn{float:right;background:none;border:none;color:#88a;font-size:14px;cursor:pointer}#tradewindow .trade-status{font-size:10px;color:#88a;margin-bottom:8px}#tradewindow .trade-cols{display:flex;gap:10px}#tradewindow .trade-cols.hidden{display:none}#tradewindow .trade-col{flex:1;border-top:1px solid #3a3a55;padding-top:6px;min-width:0}#tradewindow h3{font-size:11px;margin:0 0 4px;color:#fc4}#tradewindow .trade-grid{display:grid;grid-template-columns:repeat(4,34px);gap:4px;margin-bottom:6px}#tradewindow .trade-cell{position:relative;width:34px;height:34px;background:#1a1a2e;border:1px solid #3a3a55;cursor:pointer}#tradewindow .trade-cell:hover{border-color:#c9a227}#tradewindow .trade-cell.picked{border-color:gold}#tradewindow .trade-cell img{width:24px;height:24px;margin:4px;image-rendering:pixelated}#tradewindow .trade-count{position:absolute;right:1px;bottom:0;font-size:8px;color:gold}#tradewindow .trade-gold{width:60px;background:#1a1a2e;border:1px solid #3a3a55;color:gold;font:10px monospace;padding:2px 4px;margin-right:4px}#tradewindow .trade-offered{font-size:9px;color:#88a;margin-top:4px;word-break:break-word}#tradewindow .trade-actions{margin-top:8px;display:flex;gap:6px}#tradewindow .trade-btn{background:#2a2a44;border:2px solid #3a3a55;color:#eec;font:10px monospace;padding:3px 8px;cursor:pointer}#tradewindow .trade-btn.confirm{border-color:#2c6e2c;color:#9fdf9f}#tradewindow .trade-btn:disabled{opacity:.45;cursor:not-allowed;color:#88a}#tradeinvite{position:fixed;top:52px;left:50%;transform:translate(-50%);background:#12122add;border:2px solid #c9a227;padding:6px 10px;color:#eec;font:10px monospace;z-index:21;display:flex;gap:8px;align-items:center}#tradeinvite button{background:#2a2a44;border:2px solid #3a3a55;color:#eec;font:10px monospace;padding:2px 8px;cursor:pointer}#tradeinvite button:hover{border-color:#c9a227}
