:root{--primary-color: #4CAF50;--danger-color: #F44336;--dark-bg: rgba(0, 0, 0, .8)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#1a1a2e;overflow:hidden}#app{width:100vw;height:100vh}canvas{display:block}#start-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;z-index:1000}.start-content{text-align:center;color:#fff;max-width:600px;padding:40px}.start-content h1{font-size:72px;margin-bottom:20px;text-shadow:0 0 30px rgba(76,175,80,.5);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.start-content p{font-size:20px;color:#aaa;margin-bottom:40px}#start-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:20px 60px;font-size:24px;font-weight:700;cursor:pointer;border-radius:10px;transition:all .3s ease;box-shadow:0 5px 20px #4caf5066}#start-btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px #4caf5099}#start-btn:active{transform:translateY(0)}.controls-info{margin-top:40px;text-align:left;background:#ffffff0d;padding:20px 30px;border-radius:10px}.controls-info h3{color:#4caf50;margin-bottom:15px;font-size:18px}.controls-info ul{list-style:none}.controls-info li{padding:5px 0;color:#ccc;font-size:14px}.controls-info li strong{color:#fff;display:inline-block;width:100px}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--dark-bg);display:flex;align-items:center;justify-content:center;z-index:2000}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#kill-feed{position:fixed;top:20px;right:20px;width:300px;pointer-events:none}.kill-entry{background:#0009;padding:8px 15px;margin-bottom:5px;border-radius:3px;color:#fff;font-size:14px;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.inventory-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#14141ef2;border:2px solid #4CAF50;border-radius:10px;padding:20px;z-index:1000;min-width:400px}.inventory-grid{display:grid;grid-template-columns:repeat(9,50px);gap:5px}.inventory-slot{width:50px;height:50px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:5px;display:flex;align-items:center;justify-content:center;position:relative}.inventory-slot.filled{background:#4caf5033;border-color:#4caf50}.inventory-slot .count{position:absolute;bottom:2px;right:4px;font-size:12px;color:#fff;font-weight:700}#chat-container{position:fixed;bottom:100px;left:20px;width:350px;pointer-events:none}#chat-messages{max-height:200px;overflow-y:auto;margin-bottom:10px}.chat-message{background:#00000080;padding:5px 10px;margin-bottom:3px;border-radius:3px;color:#fff;font-size:14px}.chat-message .username{color:#4caf50;font-weight:700}#chat-input{width:100%;padding:10px;background:#000000b3;border:1px solid rgba(255,255,255,.2);border-radius:5px;color:#fff;font-size:14px;pointer-events:auto;display:none}#chat-input:focus{outline:none;border-color:#4caf50}.loadout-hud{--loadout-panel: rgba(31, 24, 17, .92);--loadout-bone: #f1dfb9;--loadout-rust: #b85f32;--loadout-amber: #e4a94f;position:fixed;inset:0;z-index:420;pointer-events:none;color:var(--loadout-bone);font-family:var(--font-tac, "Rajdhani"),system-ui,sans-serif}.loadout-hotbar{position:absolute;left:50%;bottom:18px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;width:min(54vw,578px);padding:7px;transform:translate(-50%);background:linear-gradient(135deg,rgba(184,95,50,.16),transparent 45%),var(--loadout-panel);border:1px solid rgba(241,223,185,.28);border-top:2px solid var(--loadout-rust);box-shadow:0 8px 24px #0906037a;pointer-events:auto}.loadout-slot,.survival-slot{position:relative;display:grid;min-width:0;min-height:58px;padding:15px 5px 5px;overflow:hidden;color:var(--loadout-bone, var(--survival-bone, #f1dfb9));background:linear-gradient(165deg,#503e2beb,#18130ef5);border:1px solid rgba(241,223,185,.22);border-radius:3px;box-shadow:inset 0 0 0 1px #0604026b;font:inherit;text-align:center;cursor:default;transition:border-color .12s ease,background .12s ease,transform .12s ease}.loadout-slot[aria-selected=true],.survival-slot[aria-selected=true]{background:linear-gradient(165deg,#b85f32b8,#291c12fa);border-color:var(--loadout-amber, var(--survival-amber, #e4a94f));box-shadow:0 0 0 2px #e4a94f42,inset 0 0 12px #e4a94f1f;transform:translateY(-2px)}.loadout-slot__number,.survival-slot__number{position:absolute;top:3px;left:5px;color:#f1dfb99e;font:700 10px/1 var(--font-mono, "Share Tech Mono"),monospace}.loadout-slot__item,.survival-slot__item{align-self:center;overflow:hidden;font-size:11px;font-weight:700;line-height:1.05;text-overflow:ellipsis}.loadout-slot__count,.survival-slot__count{position:absolute;right:4px;bottom:2px;min-width:1.2em;color:var(--loadout-amber, var(--survival-amber, #e4a94f));font:700 12px/1 var(--font-mono, "Share Tech Mono"),monospace;text-shadow:0 1px 2px #000}.loadout-hud__transient{position:absolute;left:50%;bottom:98px;display:grid;justify-items:center;gap:7px;width:min(90vw,420px);transform:translate(-50%)}.loadout-gather-progress,.loadout-command-feedback{padding:7px 13px;background:#1b140ef0;border:1px solid rgba(241,223,185,.25);box-shadow:0 5px 16px #06040266;font:700 12px/1.2 var(--font-mono, "Share Tech Mono"),monospace;letter-spacing:.06em}.loadout-gather-progress{position:relative;min-width:190px;overflow:hidden;text-align:center}.loadout-gather-progress:after{position:absolute;bottom:0;left:0;width:var(--loadout-gather-progress, 0%);height:3px;background:var(--loadout-amber, #e4a94f);content:"";transition:width .12s ease}.loadout-command-feedback{color:#ffd1ac;border-left:3px solid var(--loadout-rust, #b85f32)}.survival-inventory{--survival-panel: rgba(31, 24, 17, .97);--survival-bone: #f1dfb9;--survival-rust: #b85f32;--survival-amber: #e4a94f;position:fixed;top:50%;left:50%;z-index:700;display:grid;grid-template-columns:minmax(510px,2fr) minmax(250px,1fr);gap:18px;width:min(1120px,calc(100vw - 64px));max-height:min(640px,calc(100vh - 64px));padding:20px;overflow:hidden;color:var(--survival-bone);background:linear-gradient(145deg,rgba(184,95,50,.13),transparent 36%),repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0 1px,transparent 1px 8px),var(--survival-panel);border:1px solid rgba(241,223,185,.3);border-top:3px solid var(--survival-rust);box-shadow:0 24px 70px #040302b3;font-family:var(--font-tac, "Rajdhani"),system-ui,sans-serif;transform:translate(-50%,-50%)}.survival-inventory[hidden]{display:none}.survival-inventory h2{margin:0 0 12px;color:var(--survival-amber);font-size:15px;letter-spacing:.18em;text-transform:uppercase}.survival-inventory__storage,.survival-inventory__crafting{min-width:0;min-height:0}.survival-inventory__grid{display:grid;grid-template-columns:repeat(8,minmax(50px,1fr));gap:6px}.survival-inventory__slot{min-height:62px;cursor:pointer}.survival-inventory__crafting{display:flex;flex-direction:column}.survival-inventory__recipes{display:grid;gap:8px;padding-right:4px;overflow-y:auto}.survival-recipe{display:grid;gap:4px;width:100%;padding:10px 12px;color:var(--survival-bone);background:#433120c7;border:1px solid rgba(241,223,185,.22);border-left:3px solid var(--survival-amber);border-radius:2px;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.survival-recipe:hover:not(:disabled){background:#6d4626e6;transform:translate(2px)}.survival-recipe:disabled{color:#f1dfb97a;background:#221d17b8;border-left-color:#f1dfb938;cursor:not-allowed}.survival-recipe__name,.survival-recipe__ingredients,.survival-recipe__status{display:block}.survival-recipe__name{font-weight:800;letter-spacing:.04em}.survival-recipe__ingredients{color:#f1dfb9ad;font:11px/1.3 var(--font-mono, "Share Tech Mono"),monospace}.survival-recipe__status{color:var(--survival-amber);font-size:11px;font-weight:700;text-transform:uppercase}.loadout-slot:focus-visible,.survival-slot:focus-visible,.survival-recipe:focus-visible{outline:3px solid #ffe09a;outline-offset:2px}@media(max-width:900px),(max-height:680px){.survival-inventory{grid-template-columns:minmax(440px,1.8fr) minmax(220px,1fr);gap:12px;width:calc(100vw - 28px);max-height:calc(100vh - 28px);padding:14px}.survival-inventory__grid{gap:4px}.survival-inventory__slot{min-height:50px}}@media(prefers-reduced-motion:reduce){.loadout-slot,.survival-slot,.survival-recipe,.loadout-gather-progress:after{transition:none}}:root{--conquest-red: #e34b4b;--conquest-blue: #42a5e8;--conquest-neutral: #c8bfae;--conquest-amber: #d39a38;--conquest-ink: #071019;--conquest-panel: rgba(8, 17, 26, .94);--conquest-line: rgba(219, 232, 239, .2)}.team-select,.death-screen,.conquest-scoreboard{position:fixed;inset:0;z-index:8500;align-items:center;justify-content:center;color:#edf4f7;background:linear-gradient(115deg,#03090ff7,#08131de6);font-family:Inter,Segoe UI,sans-serif}.team-select{z-index:10000;display:flex}.team-select__panel{width:min(760px,calc(100vw - 40px));padding:42px;border-block:1px solid var(--conquest-line);background:#050d15b3}.team-select__eyebrow,.death-screen__eyebrow{color:var(--conquest-neutral);font:700 11px/1.2 ui-monospace,monospace;letter-spacing:.28em}.team-select h1,.death-screen h1{margin:8px 0;font-size:clamp(30px,5vw,54px);font-weight:300;letter-spacing:-.03em;text-transform:uppercase}.team-select__brief{max-width:560px;color:#edf4f79e;line-height:1.5}.team-select__choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}.team-select__choice{min-height:190px;padding:26px;border:1px solid var(--conquest-line);border-left:4px solid currentColor;color:#fff;background:linear-gradient(145deg,#ffffff0f,#ffffff04);text-align:left;cursor:pointer;transition:background .14s ease,transform .14s ease}.team-select__choice--red{color:var(--conquest-red)}.team-select__choice--blue{color:var(--conquest-blue)}.team-select__choice:hover:not(:disabled),.team-select__choice:focus-visible{background:#ffffff1a;transform:translateY(-2px);outline:2px solid currentColor;outline-offset:2px}.team-select__choice:disabled{cursor:progress;opacity:.56}.team-select__insignia{display:block;width:42px;height:5px;margin-bottom:38px;background:currentColor;box-shadow:0 0 18px currentColor}.team-select__name,.team-select__count,.team-select__action{display:block}.team-select__name{color:#fff;font-size:28px;font-weight:700;text-transform:uppercase}.team-select__count{margin-top:5px;color:currentColor;font:700 11px ui-monospace,monospace;letter-spacing:.14em}.team-select__action{margin-top:30px;color:#ffffff73;font-size:10px;letter-spacing:.14em}.team-select__balance,.team-select__status{margin-top:14px;color:#edf4f794;font-size:13px}.team-select__status{min-height:20px;color:var(--conquest-neutral)}.conquest-hud{position:fixed;top:14px;left:50%;z-index:500;width:min(620px,calc(100vw - 28px));transform:translate(-50%);color:#f5f8fa;pointer-events:none;font-family:Inter,Segoe UI,sans-serif}.conquest-hud__status{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;width:min(380px,100%);margin:auto;background:#050d14db;border:1px solid var(--conquest-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.conquest-hud__tickets{display:flex;align-items:baseline;gap:8px;padding:8px 14px}.conquest-hud__tickets span{font:700 24px/1 ui-monospace,monospace}.conquest-hud__tickets small{font-size:9px;letter-spacing:.18em}.conquest-hud__tickets--red{color:var(--conquest-red);justify-content:flex-end}.conquest-hud__tickets--blue{color:var(--conquest-blue)}.conquest-hud__phase{display:grid;place-items:center;min-width:78px;padding:0 10px;border-inline:1px solid var(--conquest-line);color:#ffffffb3;font:700 9px ui-monospace,monospace;letter-spacing:.18em}.conquest-hud__sectors{display:flex;justify-content:center;gap:7px;margin-top:8px}.conquest-hud__sector{display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--sector-color);color:var(--sector-color);background:#050d14d1;transform:rotate(45deg);box-shadow:inset 0 0 12px #0000008c}.conquest-hud__sector>*{transform:rotate(-45deg)}.conquest-hud__sector span{font:800 14px ui-monospace,monospace}.conquest-hud__sector small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.conquest-hud__capture{display:flex;justify-content:center;margin-top:14px}.conquest-hud__capture-progress{position:relative;display:grid;grid-template-columns:1fr auto;width:260px;padding:9px 10px;overflow:hidden;border:1px solid var(--conquest-line);background:#050d14e6;font:700 10px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.conquest-hud__capture-progress i{position:absolute;inset:auto auto 0 0;height:3px;background:var(--conquest-neutral)}.conquest-hud__winner{margin:22px auto 0;width:max-content;padding:13px 28px;border:1px solid currentColor;background:#040a10f0;font:800 22px ui-monospace,monospace;letter-spacing:.16em}.conquest-hud__winner--red{color:var(--conquest-red)}.conquest-hud__winner--blue{color:var(--conquest-blue)}.conquest-minimap{position:fixed;left:24px;bottom:112px;z-index:480;overflow:hidden;border:1px solid var(--conquest-line);background:radial-gradient(circle,#22343de0,#050d14f0);clip-path:polygon(8% 0,100% 0,100% 92%,92% 100%,0 100%,0 8%);pointer-events:none}.conquest-minimap__layer{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:20px 20px}.conquest-minimap__marker{position:absolute;display:block;width:7px;height:7px;transform:translate(-50%,-50%);border:1px solid #071019;background:var(--marker-color);box-shadow:0 0 5px var(--marker-color)}.conquest-minimap__marker--hq{width:14px;height:14px;border:3px double #fff}.conquest-minimap__marker--sector{width:11px;height:11px;background:transparent;border:2px solid var(--marker-color);transform:translate(-50%,-50%) rotate(45deg)}.conquest-minimap__marker--player{border-radius:50%}.conquest-scoreboard{flex-direction:column;padding:6vh 4vw}.conquest-scoreboard>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;width:min(1120px,100%);padding:14px 0;border-bottom:1px solid var(--conquest-line);text-transform:uppercase}.conquest-scoreboard>header h2{font-size:26px;font-weight:300;letter-spacing:.12em}.conquest-scoreboard>header span,.conquest-scoreboard>header small{color:#ffffff73;font:700 10px ui-monospace,monospace;letter-spacing:.18em}.conquest-scoreboard>header small{text-align:right}.conquest-scoreboard__teams{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(1120px,100%);min-height:380px;margin-top:12px}.conquest-scoreboard__team{background:var(--conquest-panel);border-top:3px solid currentColor}.conquest-scoreboard__team--red{color:var(--conquest-red)}.conquest-scoreboard__team--blue{color:var(--conquest-blue)}.conquest-scoreboard__team>header{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:16px;border-bottom:1px solid var(--conquest-line)}.conquest-scoreboard__team h3{font-size:17px;letter-spacing:.18em}.conquest-scoreboard__team header span{grid-column:1 / -1;color:#fff6;font-size:9px;letter-spacing:.14em}.conquest-scoreboard__columns,.conquest-scoreboard__player{display:grid;grid-template-columns:minmax(100px,1fr) repeat(3,38px) 62px 56px;align-items:center;gap:5px;padding:7px 12px}.conquest-scoreboard__columns{color:#ffffff59;font:700 9px ui-monospace,monospace}.conquest-scoreboard__player{color:#ffffffd1;border-top:1px solid rgba(255,255,255,.05);font:12px ui-monospace,monospace}.conquest-scoreboard__player[data-connected=false]{opacity:.42}.conquest-scoreboard__player[data-local-player=true]{background:#ffffff12}.conquest-scoreboard__player span:not(:first-child),.conquest-scoreboard__columns span:not(:first-child){text-align:right}.conquest-scoreboard__empty{padding:28px 12px;color:#ffffff59;font-size:12px}.death-screen{display:none}.death-screen__backdrop{position:absolute;inset:0;background:radial-gradient(circle at center,#4d14142e,#010508d1)}.death-screen__content{position:relative;width:min(900px,calc(100vw - 40px))}.death-screen__content>[data-death-killer]{margin-top:10px;color:#ffffff94}.death-screen__stats{display:flex;gap:10px;margin:28px 0}.death-screen__stats span{display:grid;min-width:120px;padding:12px;border-left:2px solid var(--conquest-red);color:#ffffff73;font:9px ui-monospace,monospace;letter-spacing:.15em;background:#ffffff09}.death-screen__stats strong{color:#fff;font-size:22px}.death-screen__deployment{padding-top:20px;border-top:1px solid var(--conquest-line)}.death-screen__deployment h2{margin-bottom:12px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.death-screen__deployment [data-spawn-options]{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.death-screen__spawn{display:grid;gap:12px;min-height:90px;padding:16px;border:1px solid var(--conquest-line);border-left:3px solid var(--conquest-neutral);color:#fff;background:#08121be6;text-align:left;cursor:pointer}.death-screen__spawn:hover:not(:disabled),.death-screen__spawn:focus-visible{border-color:var(--conquest-neutral);outline:2px solid var(--conquest-neutral);outline-offset:2px}.death-screen__spawn:disabled{opacity:.38;cursor:not-allowed}.death-screen__spawn strong{font-size:14px;text-transform:uppercase}.death-screen__spawn span,[data-spawn-status]{color:#ffffff7a;font:9px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}[data-spawn-status]{min-height:18px;margin-top:12px;color:var(--conquest-neutral)}@media(max-width:700px){.team-select__panel{padding:24px}.team-select__choices,.conquest-scoreboard__teams{grid-template-columns:1fr}.team-select__choice{min-height:135px}.team-select__insignia{margin-bottom:20px}.conquest-scoreboard{justify-content:flex-start;overflow-y:auto;padding:20px 12px}.conquest-hud__sector{width:34px;height:34px}.conquest-minimap{transform:scale(.82);transform-origin:left bottom}.death-screen__stats{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.team-select__choice{transition:none}}
