*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden;background:#111118;font-family:Segoe UI,system-ui,sans-serif;color:#eee;cursor:url(/assets/ui/cursor_gauntlet_32.png) 4 1,crosshair}button,a,[role=button],input,select,label,.cooldown-indicator,#hud-quit-button,#class-select button,#splash-screen button,#lobby button{cursor:url(/assets/ui/cursor_gauntlet_32.png) 4 1,crosshair!important}#game-canvas{display:block;width:100vw;height:100vh}#hud{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}#hud-top-left{position:absolute;top:16px;left:16px}#class-label{font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px;text-shadow:0 0 8px rgba(0,0,0,.8)}#hp-bar-container{width:220px;height:20px;background:#0009;border:1px solid rgba(255,255,255,.15);border-radius:3px;position:relative;overflow:hidden}#hp-bar-fill{height:100%;background:#4c4;transition:width .15s ease;border-radius:2px}#hp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.9)}#cooldowns{display:flex;gap:10px;margin-top:10px}.cooldown-indicator{position:relative;width:50px;height:50px;border-radius:50%;background:conic-gradient(from -90deg,#78b4f0e6,#78b4f0e6 calc(var(--cd-progress, 0) * 360deg),#ffffff14 calc(var(--cd-progress, 0) * 360deg),#ffffff14);padding:3px;box-sizing:border-box;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:filter .15s ease}.cooldown-indicator.ready{filter:drop-shadow(0 0 4px rgba(120,180,240,.45))}.cooldown-indicator:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:#000000b8;z-index:0}.cooldown-indicator>span{position:relative;z-index:1;line-height:1;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.9)}.cooldown-indicator .cd-label{font-size:11px;letter-spacing:.04em}.cooldown-indicator .cd-time{font-size:10px;color:#c0d6f0;margin-top:2px;display:block}#combo-pips{display:none;gap:6px;margin-top:8px;align-items:center}#combo-pips.active{display:flex}.combo-pip{width:10px;height:10px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(227,38,54,.45);transition:background .12s ease,box-shadow .12s ease,transform .12s ease}.combo-pip.filled{background:#e32636;border-color:#ff5a6d;box-shadow:0 0 6px #e32636b3;transform:scale(1.15)}#combo-pips.finisher .combo-pip{animation:comboPulse .4s ease-in-out infinite alternate}@keyframes comboPulse{0%{box-shadow:0 0 6px #e32636b3}to{box-shadow:0 0 14px #ff788c}}#meat-rage{display:none;margin-top:10px;padding:4px 10px;background:linear-gradient(90deg,#ff662238,#cc331138);border:1px solid rgba(255,150,60,.6);border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.08em;color:#ffb074;text-shadow:0 0 6px rgba(255,120,40,.7),0 1px 2px rgba(0,0,0,.9);min-width:140px;box-shadow:0 0 12px #ff782866}#meat-rage.active{display:block}#meat-rage-bar{margin-top:3px;height:5px;background:#00000080;border-radius:2px;overflow:hidden}#meat-rage-fill{height:100%;background:linear-gradient(90deg,#ffa040,#ff3010);transition:width .1s linear;box-shadow:0 0 6px #ff641ecc inset}#teammates{display:none;flex-direction:column;gap:4px;margin-top:10px;max-width:180px}#teammates.active{display:flex}.teammate-row{display:flex;flex-direction:column;gap:2px;padding:4px 6px;background:#0006;border-left:3px solid var(--tm-color, #fff);border-radius:2px}.teammate-row.dead{opacity:.45;filter:grayscale(.6)}.teammate-row .tm-header{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--tm-color, #fff);text-shadow:0 1px 2px rgba(0,0,0,.9);display:flex;gap:6px;align-items:baseline}.teammate-row .tm-class-name{opacity:.75;font-size:9px;text-transform:uppercase;color:#ddd}.teammate-row .tm-hp{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.teammate-row .tm-hp-fill{height:100%;background:var(--tm-color, #fff);transition:width .15s ease;box-shadow:0 0 4px var(--tm-color, #fff) inset}#objective-text{position:absolute;top:16px;left:50%;transform:translate(-50%);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 10px rgba(0,0,0,.9);text-align:center}#center-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:700;text-align:center;text-shadow:0 0 20px rgba(0,0,0,.9);white-space:pre-line;opacity:0;transition:opacity .3s ease}#hud-quit-button{position:absolute;top:16px;right:16px;padding:6px 14px;background:#0000008c;border:1px solid rgba(255,255,255,.25);border-radius:3px;color:#ddd;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:1px;cursor:pointer;pointer-events:auto;transition:background .15s,border-color .15s,color .15s}#hud-quit-button:hover{background:#280000b3;border-color:#ff505099;color:#fff}#hud-quit-button.armed{background:#a01e1ecc;border-color:#f55;color:#fff;animation:quit-pulse .6s ease-in-out infinite alternate}@keyframes quit-pulse{0%{box-shadow:0 0 4px #ff505066}to{box-shadow:0 0 14px #ff5050e6}}#hud-net-indicator{position:absolute;top:16px;right:92px;padding:5px 10px;background:#000000a6;border:1px solid rgba(255,255,255,.22);border-radius:3px;font-family:monospace;font-size:12px;letter-spacing:.5px;max-width:360px;text-align:right;pointer-events:none;-webkit-user-select:none;user-select:none}#class-select{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:20;background:#000}#splash-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:url(/assets/ui/splash_bg.png) center/cover no-repeat;background-color:#0a0a0a}#splash-btn-hitbox{position:absolute;top:53%;left:30%;width:40%;height:13%;cursor:pointer;border-radius:6px;transition:all .2s ease}#splash-btn-hitbox:hover{background:#ffffff0f;box-shadow:0 0 30px #c8323233}#class-select-inner{text-align:center;max-width:900px;padding:40px;background:#0a0a12eb;border-radius:12px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#choose-title{font-size:32px;letter-spacing:4px;margin-bottom:4px;color:#e8dcc8;text-shadow:0 0 20px rgba(0,0,0,.8)}.back-btn{margin-top:20px;padding:8px 24px;font-size:14px;color:#888;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:4px;cursor:pointer;transition:all .2s}.back-btn:hover{color:#ccc;border-color:#ffffff4d}.subtitle{font-size:14px;color:#888;font-style:italic;margin-bottom:32px}#class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.class-card{background:#ffffff0a;border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:20px 16px;cursor:pointer;transition:all .2s ease;text-align:center;position:relative;overflow:hidden}.class-card:hover{background:#ffffff14;transform:translateY(-4px);box-shadow:0 8px 24px #0006}.class-color-bar{position:absolute;top:0;left:0;right:0;height:3px}.class-card h2{font-size:20px;margin-bottom:8px;letter-spacing:1px}.class-card p{font-size:12px;color:#aaa;margin-bottom:12px;line-height:1.4}.class-stats{display:flex;justify-content:center;gap:12px;font-size:11px;color:#999}@media (max-width: 700px){#class-grid{grid-template-columns:repeat(2,1fr)}}#lobby-screen{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:20;background:#000000eb}#lobby-menu,#lobby-join-panel,#lobby-waiting{text-align:center;max-width:500px;width:90%;padding:40px;background:#0a0a12f2;border-radius:12px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lobby-title{font-size:28px;letter-spacing:4px;margin-bottom:4px;color:#e8dcc8;text-shadow:0 0 20px rgba(0,0,0,.8)}.lobby-subtitle{font-size:14px;color:#888;font-style:italic;margin-bottom:28px}.lobby-buttons{display:flex;flex-direction:column;gap:12px;align-items:center}.lobby-btn{display:block;width:240px;padding:12px 24px;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#ccc;background:#ffffff0a;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;transition:all .2s ease}.lobby-btn:hover{color:#fff;background:#ffffff14;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 16px #0006}.lobby-btn-primary{color:#e8dcc8;background:#c8502833;border-color:#c8502880}.lobby-btn-primary:hover{color:#fff;background:#c8502859;border-color:#c85028b3}.lobby-btn-small{padding:4px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#aaa;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;cursor:pointer;transition:all .2s}.lobby-btn-small:hover{color:#fff;background:#ffffff1a}#lobby-code-input{display:block;width:180px;margin:0 auto 24px;padding:12px 16px;font-size:28px;font-weight:700;text-align:center;letter-spacing:8px;color:#e8dcc8;background:#0009;border:2px solid rgba(255,255,255,.15);border-radius:8px;outline:none;font-family:Segoe UI,system-ui,monospace;text-transform:uppercase}#lobby-code-input:focus{border-color:#c8502899;box-shadow:0 0 16px #c8502833}#lobby-code-input::placeholder{color:#444;letter-spacing:8px}.lobby-error{color:#c44;font-size:13px;margin-top:12px;min-height:20px}#lobby-room-code-display{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;padding:12px 20px;background:#0006;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.lobby-label{font-size:13px;color:#888;text-transform:uppercase;letter-spacing:1px}.lobby-code{font-size:32px;font-weight:700;letter-spacing:6px;color:#e8dcc8;text-shadow:0 0 12px rgba(200,80,40,.3)}#lobby-player-list{margin-bottom:24px}.lobby-player-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;margin-bottom:4px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.lobby-player-name{font-size:15px;font-weight:700;color:#ddd}.lobby-player-class{font-size:13px;color:#999;text-transform:capitalize}.lobby-host-badge{display:inline-block;padding:2px 6px;font-size:10px;font-weight:700;color:#e8dcc8;background:#c850284d;border:1px solid rgba(200,80,40,.5);border-radius:3px;letter-spacing:1px;margin-right:4px;vertical-align:middle}
