:root{--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px)}body.touch{-webkit-touch-callout:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#touch{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6;display:none;touch-action:none;pointer-events:auto;font-family:var(--font)}body.touch #touch.on{display:block}#touch .stick{position:absolute;width:0;height:0;opacity:0;transition:opacity .12s;pointer-events:none}#touch .stick.on{opacity:1}#touch .stick .base{position:absolute;left:-64px;top:-64px;width:128px;height:128px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:#080c1047}#touch .stick .knob{position:absolute;left:-26px;top:-26px;width:52px;height:52px;border-radius:50%;background:#e8eef2d9;box-shadow:0 2px 10px #00000080}#touch .tb{position:absolute;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:#080c107a;border:1.5px solid rgba(255,255,255,.38);color:var(--hud);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.1;-webkit-user-select:none;user-select:none}#touch .tb.down{background:#ffb52e59;border-color:var(--accent)}#touch .tb.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px #ffb52e59}#touch .tb.fire{width:96px;height:96px;border-width:2px;border-color:#ffb52ebf;font-size:13px}#touch .tb.fire.r{right:calc(26px + var(--sar));bottom:calc(96px + var(--sab))}#touch .tb.fire.l{left:34%;bottom:calc(150px + var(--sab));width:76px;height:76px;opacity:.75}#touch .tb.ads{right:calc(48px + var(--sar));bottom:calc(214px + var(--sab))}#touch .tb.jump{right:calc(146px + var(--sar));bottom:calc(36px + var(--sab))}#touch .tb.crouch{right:calc(146px + var(--sar));bottom:calc(116px + var(--sab))}#touch .tb.reload{right:calc(150px + var(--sar));bottom:calc(198px + var(--sab));width:54px;height:54px}#touch .tb.swap{right:calc(236px + var(--sar));bottom:calc(36px + var(--sab));width:54px;height:54px}#touch .tb.grapple{right:calc(236px + var(--sar));bottom:calc(116px + var(--sab));width:54px;height:54px;display:none}#touch .tb.grapple.on{display:flex}#touch .tb.nade{left:calc(24px + var(--sal));bottom:calc(104px + var(--sab));width:54px;height:54px}#touch .tb.melee{left:calc(24px + var(--sal));bottom:calc(30px + var(--sab));width:54px;height:54px}#touch .tb.pause{left:calc(112px + var(--sal));top:calc(10px + var(--sat));width:44px;height:30px;border-radius:4px;font-size:13px;letter-spacing:.3em;padding-left:.3em}#touch .tb.interact{display:none;left:50%;bottom:36%;transform:translate(-50%);width:auto;height:auto;min-height:40px;padding:8px 18px;border-radius:4px;border-color:var(--accent);color:var(--accent);font-size:12px;white-space:nowrap;max-width:70vw;overflow:hidden;text-overflow:ellipsis}#touch .tb.interact.on{display:flex}#touch .shop{display:none;position:absolute;left:50%;bottom:36%;transform:translate(-50%);gap:10px}#touch .shop.on{display:flex}#touch .shop .tb{position:static;width:auto;height:auto;padding:8px 14px;border-radius:4px;border-color:var(--accent)}#touch .shop .tb small{display:block;color:var(--accent);font-size:10px;margin-top:2px}#touch .shop .tb.poor{opacity:.4}body.short #touch .tb{width:50px;height:50px;font-size:9.5px}body.short #touch .tb.fire{width:78px;height:78px;font-size:11px}body.short #touch .tb.fire.r{right:calc(18px + var(--sar));bottom:calc(54px + var(--sab))}body.short #touch .tb.fire.l{left:36%;bottom:calc(96px + var(--sab));width:60px;height:60px}body.short #touch .tb.ads{right:calc(24px + var(--sar));bottom:calc(140px + var(--sab))}body.short #touch .tb.jump{right:calc(112px + var(--sar));bottom:calc(22px + var(--sab))}body.short #touch .tb.crouch{right:calc(112px + var(--sar));bottom:calc(86px + var(--sab))}body.short #touch .tb.reload{right:calc(112px + var(--sar));bottom:calc(142px + var(--sab));width:44px;height:44px}body.short #touch .tb.swap{right:calc(184px + var(--sar));bottom:calc(22px + var(--sab));width:44px;height:44px}body.short #touch .tb.grapple{right:calc(184px + var(--sar));bottom:calc(86px + var(--sab));width:44px;height:44px}body.short #touch .tb.nade{left:calc(18px + var(--sal));bottom:calc(76px + var(--sab));width:44px;height:44px}body.short #touch .tb.melee{left:calc(18px + var(--sal));bottom:calc(18px + var(--sab));width:44px;height:44px}body.short #touch .tb.pause{width:40px;height:26px;left:calc(96px + var(--sal));top:calc(8px + var(--sat))}body.short #touch .stick .base{left:-52px;top:-52px;width:104px;height:104px}body.short #touch .stick .knob{left:-22px;top:-22px;width:44px;height:44px}body.touch.short #tr{padding:3px}body.touch.short #tr canvas{width:70px;height:70px}body.touch.short #bl{top:calc(88px + var(--sat));min-width:130px;padding:4px 8px}body.touch.short #tl{min-width:110px;padding:4px 8px}body.touch.short #tl .wave{font-size:14px}body.touch.short #tl .row{font-size:10px}body.touch.short #tl>div:nth-of-type(4),body.touch.short #tl>div:nth-of-type(5){display:none}body.touch.short #br{right:calc(132px + var(--sar));min-width:86px;padding:4px 8px}body.touch.short #br #ammo{font-size:18px}body.touch.short #streak{left:calc(144px + var(--sal))}body.touch.short #streak .reward{width:44px}body.touch.short #abilities .ab{width:70px;font-size:9px}#touch .tb{opacity:var(--tb-alpha, 1)}#touch .tb.fire.l{opacity:calc(var(--tb-alpha, 1) * .75)}#touch .tb.off{display:none!important}#touch.measuring .tb{display:flex!important;visibility:hidden;transition:none}#touch.edit .tb{cursor:move;box-shadow:0 0 0 1px #ffffff26}#touch.edit .tb.off{display:flex!important;opacity:.3}#touch.edit .tb.grapple{display:flex}#touch.edit .tb.interact,#touch.edit .shop{display:none!important}#touch.edit .tb.sel{border-color:var(--accent);box-shadow:0 0 0 3px #ffb52e66}#touch.edit:before{content:"MOVE ZONE";position:absolute;left:calc(8px + var(--sal));top:56px;bottom:calc(8px + var(--sab));width:calc(45% - 16px);border:1px dashed rgba(255,255,255,.22);color:#ffffff4d;font-size:10px;letter-spacing:.3em;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;pointer-events:none}#touch .edit-bar{display:none;position:absolute;left:50%;top:calc(6px + var(--sat));transform:translate(-50%);z-index:2;gap:6px 12px;align-items:center;justify-content:center;flex-wrap:wrap;max-width:96vw;padding:6px 10px;background:#04060ae0;border:1px solid rgba(255,255,255,.16);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--hud);touch-action:auto}#touch.edit .edit-bar{display:flex}#touch .edit-bar .hint{color:var(--hud-dim)}#touch .edit-bar label{display:inline-flex;align-items:center;gap:6px}#touch .edit-bar select,#touch .edit-bar input[type=range]{accent-color:var(--accent);font:inherit}#touch .edit-bar select{background:#0f1216;color:var(--hud);border:1px solid rgba(255,255,255,.25);padding:3px 4px}#touch .edit-bar input[type=range]{width:90px;height:24px}#touch .edit-bar .sel-name{color:var(--accent);min-width:70px}#touch .edit-bar button{font:inherit;letter-spacing:inherit;text-transform:inherit;background:transparent;border:1px solid rgba(255,255,255,.3);color:var(--hud);padding:5px 9px}#touch .edit-bar button:disabled{opacity:.4}#touch .edit-bar button.primary{background:var(--accent);color:#141414;border-color:var(--accent);font-weight:700}body.touch #tr{left:calc(12px + var(--sal));top:calc(10px + var(--sat));padding:4px}body.touch #tr canvas{width:88px;height:88px}body.touch #tl{right:calc(12px + var(--sar));top:calc(10px + var(--sat));min-width:126px;padding:6px 10px}body.touch #tl #mode-label{display:none}body.touch #tl .wave{font-size:16px;margin-bottom:2px}body.touch #tl .row{font-size:11px;gap:12px}body.touch #tl .row b{font-size:12px}body.touch #bl{left:calc(12px + var(--sal));top:calc(108px + var(--sat));bottom:auto;min-width:150px;padding:6px 10px}body.touch #bl #health-label,body.touch #bl #armor-label{font-size:11px}body.touch #br{right:calc(150px + var(--sar));top:calc(10px + var(--sat));bottom:auto;min-width:96px;padding:6px 10px}body.touch #br #weapon-name,body.touch #br #firemode{display:none}body.touch #br #ammo{font-size:22px}body.touch #br #grenades{font-size:11px}body.touch #streak{right:auto;left:calc(166px + var(--sal));top:calc(8px + var(--sat));bottom:auto;align-items:flex-start;gap:6px;font-size:9px;white-space:nowrap;letter-spacing:.04em}body.touch #streak .count{display:none}body.touch #streak .reward{width:48px;padding:3px 4px}body.touch #streak .reward b{font-size:11px}body.touch #streak .reward.ready{pointer-events:auto}body.touch #streak .reward small{display:none}body.touch #abilities{bottom:calc(10px + var(--sab))}body.touch #abilities .ab{width:78px;padding:5px 6px 4px}body.touch #prompt{display:none}body.touch.overlay #hud{opacity:0}body.touch #feed{top:150px}body.touch .lobby:not([hidden]){display:flex;flex-direction:column;padding:0 var(--sar) 0 var(--sal)}body.touch .lobby:before{background:linear-gradient(90deg,#04060af2,#04060ae0 52%,#04060a4d)}body.touch .lobby-top{flex:0 0 auto;padding:calc(4px + var(--sat)) 14px 4px;align-items:center}body.touch .brand{gap:8px}body.touch .brand-mark,body.touch .brand-name{font-size:18px}body.touch .brand-mark{border-width:2px;padding:1px 6px}body.touch .brand-sub{display:none}body.touch .lobby-status{font-size:10px;padding:3px 8px;letter-spacing:.2em}body.touch .ios-hint{margin-left:auto;margin-right:10px;font-size:10px;letter-spacing:.08em;color:var(--hud-dim)}body.touch .ios-hint b{color:var(--hud)}body.touch .lobby-main{flex:1 1 auto;min-height:0;overflow:auto;width:68%;padding:8px 14px 10px;-webkit-overflow-scrolling:touch}body.touch .lobby-main h2{font-size:15px;letter-spacing:.24em;margin:0 0 6px}body.touch .lobby-main .lead,body.touch .lobby-foot,body.touch #btn-deploy-modes,body.touch #btn-deploy-maps{display:none}body.touch .lobby-bar{flex:0 0 auto;display:flex;align-items:stretch;gap:8px;padding:0 12px calc(4px + var(--sab)) 6px;border-top:1px solid rgba(255,255,255,.08);background:#04060a99}body.touch .lobby-nav{flex:1 1 auto;display:flex;flex-direction:row;gap:2px;padding:3px 0 0;overflow-x:auto;scrollbar-width:none}body.touch .lobby-nav::-webkit-scrollbar{display:none}body.touch .lobby-nav button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:58px;padding:5px 8px 4px;border:0;border-top:2px solid transparent;font-size:9px;letter-spacing:.16em;background:transparent;text-align:center}body.touch .lobby-nav button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}body.touch .lobby-nav button.active{border-top-color:var(--accent);background:linear-gradient(180deg,rgba(255,181,46,.16),transparent)}body.touch .lobby-bar .btn-deploy{align-self:center;padding:10px 22px 10px 26px;font-size:17px;letter-spacing:.24em;gap:10px}body.touch .lobby-bar .btn-deploy i{font-size:16px}body.touch .lobby-bar .btn-ghost{align-self:center;margin:0;padding:9px 12px;font-size:11px;letter-spacing:.14em}body.touch .mode-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 6px;scrollbar-width:none}body.touch .mode-grid::-webkit-scrollbar{display:none}body.touch .mcard{flex:0 0 236px;scroll-snap-align:start;padding:10px 12px 8px}body.touch .mcard-short{font-size:17px}body.touch .mcard-name{font-size:14px}body.touch .mcard p{font-size:11.5px;line-height:1.35;min-height:0;margin:4px 0 6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}body.touch .tags span{font-size:9px;padding:3px 6px}body.touch .wcard-foot{margin-top:6px;font-size:9px}body.touch .deploy-hero{max-width:none}body.touch .deploy-hero h1{font-size:22px;letter-spacing:.1em}body.touch .deploy-hero h1 small{font-size:10px;margin-bottom:2px}body.touch .deploy-hero #deploy-map-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;margin:4px 0 0}body.touch .summary{display:flex;gap:8px;margin:10px 0 0;overflow-x:auto;scrollbar-width:none}body.touch .summary::-webkit-scrollbar{display:none}body.touch .sum-card{flex:0 0 136px;padding:8px 10px}body.touch .sum-card small{font-size:9px}body.touch .sum-card b{font-size:14px;margin:2px 0 1px}body.touch .sum-card span{font-size:10px}body.touch .last-run{margin-top:10px;padding:8px 12px;max-width:none}body.touch .run-grid b{font-size:18px}body.touch .last-run p{font-size:12px;margin-top:6px}body.touch .loadout{grid-template-columns:1fr;gap:8px}body.touch .primary-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}body.touch .primary-strip .slot{flex:0 0 118px;min-height:96px}body.touch .slot img{height:48px}body.touch .slot-row.two .slot{min-height:84px}body.touch .showcase{position:fixed;right:calc(10px + var(--sar));top:calc(44px + var(--sat));bottom:calc(68px + var(--sab));width:calc(32% - 14px);min-height:0;display:flex;flex-direction:column;gap:4px;z-index:1}body.touch .showcase-head{gap:8px;flex-wrap:wrap}body.touch .showcase-class{font-size:9px;padding:2px 6px;letter-spacing:.2em}body.touch .showcase-name{font-size:15px;letter-spacing:.08em}body.touch .showcase-desc{font-size:11px;min-height:0;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body.touch .showcase-view{flex:1 1 auto;min-height:60px;aspect-ratio:auto;margin:0}body.touch .showcase-bars{max-width:none;margin-top:4px}body.touch .showcase-bars .bar{font-size:8px;grid-template-columns:46px 1fr;gap:6px}body.touch .showcase-bars .bar i{height:4px}body.touch .showcase-meta,body.touch.short .showcase-bars,body.touch.short .showcase-desc{display:none}body.touch .settings-grid{grid-template-columns:96px 1fr 44px;gap:8px 10px;font-size:11px;max-width:none}body.touch .settings-grid input[type=range]{height:30px}body.touch .settings-grid .grp{margin-top:4px}body.touch .chip{font-size:11px;padding:7px 10px}.touch-guide{display:none}body.touch [data-panel=controls]>:not(h2):not(.touch-guide):not(.touch-only){display:none}body.touch .touch-only{display:inline-block}body.touch .settings-grid .touch-only{display:block}body.touch .settings-grid .chips.touch-only{display:flex}body.touch .touch-guide{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:12px;color:var(--hud-dim);line-height:1.35}body.touch .touch-guide b{color:var(--hud);letter-spacing:.08em;text-transform:uppercase;font-size:11px;margin-right:6px}body.touch .lab-item{padding:8px 10px}body.touch .lab-item b{font-size:14px}body.touch .lab-item p{font-size:11.5px}body.touch .credits-list{grid-template-columns:1fr}body.touch #consent-bar{top:calc(40px + var(--sat));bottom:auto;font-size:11px;padding:6px 10px;gap:6px;max-width:96vw}body.touch #screen-kia{background:radial-gradient(ellipse at center,#280606b3,#040406f7);place-items:start center;overflow:auto;padding:calc(8px + var(--sat)) calc(12px + var(--sar)) calc(10px + var(--sab)) calc(12px + var(--sal))}body.touch .kia{width:100%}body.touch .kia h1{font-size:30px;letter-spacing:.2em}body.touch .kia h1 small{font-size:10px;margin-bottom:2px}body.touch .kia .sub{margin:4px 0 8px;font-size:11px}body.touch .kia-grid{gap:6px}body.touch .kia-stat{padding:6px 8px}body.touch .kia-stat small{font-size:9px}body.touch .kia-stat b{font-size:18px}body.touch .kia-cols{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}body.touch .kia-box{padding:8px 10px}body.touch .kia-row{font-size:12px;padding:3px 0}body.touch .kia-row b{font-size:13px}body.touch .kia-life b{font-size:14px}body.touch .kia-actions{margin-top:10px;gap:10px}body.touch .kia-actions .btn-deploy{padding:10px 22px 10px 26px;font-size:17px}#rotate{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0b0b0d;color:var(--hud);align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;font-size:18px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--font)}#rotate b{font-size:44px;display:block;animation:spinhint 1.6s ease-in-out infinite}@keyframes spinhint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@media(orientation:portrait){body.touch #rotate{display:flex}}
