:root{--item-slots-slot-color: #393b44;--item-slots-slot-color-hover: #393b44;--item-slots-slot-color-focus: #c6cada}.item-slots{position:absolute;bottom:0;left:0;margin:12px;display:flex;align-items:center;justify-content:center;z-index:100000;-webkit-user-select:none;user-select:none}.item-slots-slot{display:flex;align-items:center;justify-content:center;z-index:-1;background:rgba(168,168,168,.05);border-style:solid;border-color:var(--item-slots-slot-color);transition:.1s ease-in-out}.item-slots-slot-hover{box-shadow:none;background:rgba(168,168,168,.15);border-color:var(--item-slots-slot-color-hover);transform:scale(1.06)}.item-slots-slot-focus{box-shadow:none;background:rgba(168,168,168,.4);border-color:var(--item-slots-slot-color-focus);transform:scale(1.1)}.debug-data{position:fixed;top:10px;left:10px;color:#f0f0f0;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 8px;border:1px solid rgba(255,255,255,.1);border-radius:6px;z-index:100000;display:flex;flex-direction:column;overflow:hidden;gap:6px;min-width:240px;font-family:Share Tech Mono,monospace;text-shadow:0 1px 2px rgba(0,0,0,.8)}.debug-entries{display:flex;flex-direction:column-reverse;align-items:flex-start;justify-content:flex-start;gap:2px}.debug-line{font-size:12px;line-height:1.3;margin:0;letter-spacing:.02em;transition:opacity .15s ease}.debug-label{color:#aaa;opacity:.8}.debug-value{color:#f0f0f0;font-weight:500}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}#app{width:100%;height:100%}#canvas{width:100%;height:100%;display:block}#welcome-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.82)}#welcome-screen.hidden{display:none}#welcome-box{background:rgba(10,10,18,.97);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:36px 40px 32px;width:420px;text-align:center;font-family:sans-serif;color:#eee}#welcome-box h1{font-size:2rem;letter-spacing:.06em;margin-bottom:14px;color:#fff}.welcome-blurb{font-size:.88rem;line-height:1.6;color:#aaa;margin-bottom:16px}.welcome-controls-hint{font-size:.72rem;color:#555;margin-bottom:22px;letter-spacing:.02em}.welcome-name-row{display:flex;gap:8px}#welcome-name{flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:6px;color:#fff;font-size:.95rem;padding:8px 12px;outline:none;font-family:monospace}#welcome-name:focus{border-color:#ffdc5099}#welcome-enter{background:rgba(255,220,80,.15);border:1px solid rgba(255,220,80,.5);border-radius:6px;color:#ffd740;font-size:.9rem;padding:8px 18px;cursor:pointer;font-family:sans-serif;transition:background .15s}#welcome-enter:hover{background:rgba(255,220,80,.28)}#welcome-error{margin-top:10px;font-size:.8rem;color:#e57373;min-height:1.2em}#overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);pointer-events:none;z-index:10}#overlay.hidden{display:none}#overlay-content{text-align:center;color:#fff;-webkit-user-select:none;user-select:none}#overlay-content h1{font-size:2.5rem;font-family:sans-serif;margin-bottom:.5rem}#overlay-content p{font-size:1.2rem;font-family:sans-serif;margin-bottom:1rem;opacity:.85}#overlay-content span{font-size:.8rem;font-family:sans-serif;opacity:.5}#wallet{position:fixed;bottom:16px;right:16px;color:gold;font-family:monospace;font-size:1rem;font-weight:700;background:rgba(0,0,0,.5);padding:4px 10px;border-radius:4px;pointer-events:none;z-index:20}#fps{position:fixed;top:10px;right:10px;color:#fff;font-family:monospace;font-size:.85rem;background:rgba(0,0,0,.4);padding:2px 6px;border-radius:3px;pointer-events:none;z-index:20}.speech-bubble{position:fixed;transform:translate(-50%,-100%);background:rgba(20,20,30,.92);color:#f0f0f0;font-family:sans-serif;font-size:.8rem;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);max-width:200px;text-align:center;pointer-events:none;z-index:30;white-space:pre-wrap;opacity:1;transition:opacity .5s ease;margin-top:-8px}.speech-bubble.hidden{display:none}.speech-bubble.fading{opacity:0}.speech-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#14141eeb;border-bottom:none}.speech-bubble .npc-name{font-size:.7rem;color:#8ecfff;margin-bottom:2px;font-weight:700;letter-spacing:.04em}#dialog{position:fixed;bottom:80px;left:50%;transform:translate(-50%);width:420px;background:rgba(15,15,25,.95);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:14px 16px 12px;z-index:40;font-family:sans-serif;color:#eee}#dialog.hidden{display:none}#dialog-name{font-size:.75rem;color:#8ecfff;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}#dialog-text{font-size:.9rem;min-height:2.2em;margin-bottom:10px;line-height:1.4;color:#ddd}#dialog-text.thinking{color:#888;font-style:italic}#dialog-hint{font-size:.7rem;color:#555;margin-bottom:6px}#dialog-actions{display:flex;gap:6px}#give-coin-wrap{display:flex;gap:4px;flex-shrink:0}#give-coin-amount{background:rgba(255,255,255,.07);border:1px solid rgba(255,215,0,.3);border-radius:5px;color:gold;font-size:.8rem;padding:4px 6px;cursor:pointer;outline:none}#give-coin-btn{background:rgba(255,215,0,.15);border:1px solid rgba(255,215,0,.4);border-radius:5px;color:gold;font-size:.8rem;padding:6px 10px;cursor:pointer;white-space:nowrap}#give-coin-btn:hover{background:rgba(255,215,0,.3)}#give-coin-btn:disabled{opacity:.4;cursor:default}#dialog-input{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:5px;color:#eee;font-size:.85rem;padding:6px 10px;outline:none}#dialog-input:focus{border-color:#8ecfff80}#dialog-input::placeholder{color:#555}#crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffffd9;font-size:20px;font-family:monospace;font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 0 4px rgba(0,0,0,.8);z-index:50;transition:font-size 60ms ease-out,color 60ms ease-out;display:none}#crosshair.firing{font-size:28px;color:#ffdc64f2}#weapon-hud{position:fixed;bottom:50px;right:16px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:6px 14px;pointer-events:none;z-index:20;display:none}#weapon-name{color:#e0e0e0;font-family:monospace;font-size:.9rem;letter-spacing:.05em}#weapon-ammo{display:block;color:#fff;font-family:monospace;font-size:1.1rem;font-weight:700;letter-spacing:.06em;margin-top:2px;text-align:right}#weapon-ammo.empty{color:#f44}#weapon-ammo.reloading{color:#fc4;animation:ammo-pulse .4s ease infinite alternate}@keyframes ammo-pulse{0%{opacity:1}to{opacity:.4}}.item-slots-slot-focus{border:2px solid rgba(255,220,0,.9)!important;background:rgba(255,220,0,.12)!important}.item-slots-slot-hover{border-color:#ffffff80!important}#health-hud{position:fixed;bottom:90px;left:16px;pointer-events:none;z-index:50;font-family:monospace}.hb-label{color:#eee;font-size:.78rem;margin-bottom:3px;text-shadow:0 1px 3px rgba(0,0,0,.8)}.hb-track{width:140px;height:8px;background:rgba(0,0,0,.55);border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.15)}.hb-fill{height:100%;border-radius:4px;transition:width .15s ease,background .3s ease}#damage-flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:80;background:rgba(220,30,30,.28);opacity:0;transition:opacity .1s ease}#damage-flash.active{opacity:1;transition:none}#death-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.72)}.ds-box{text-align:center;color:#fff;font-family:sans-serif}.ds-box h2{font-size:3rem;color:#e53935;letter-spacing:.1em;margin-bottom:12px;text-shadow:0 0 30px rgba(229,57,53,.6)}.ds-box p{font-size:1rem;opacity:.6}#killfeed{position:fixed;top:60px;right:16px;pointer-events:none;z-index:50;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.kf-entry{background:rgba(0,0,0,.6);color:#fff;font-family:monospace;font-size:.75rem;padding:3px 10px;border-radius:4px;border-left:3px solid #e53935;opacity:1;transition:opacity .5s ease}.kf-entry.kf-fade{opacity:0}.peer-hpbar{position:fixed;transform:translate(-50%,-100%);width:50px;height:5px;background:rgba(0,0,0,.5);border-radius:3px;overflow:hidden;pointer-events:none;z-index:45;border:1px solid rgba(0,0,0,.4)}.phb-fill{height:100%;border-radius:3px;transition:width .1s ease}
