html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}
body{background:#020617;color:#fff;font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
body.pointer-locked,body.pointer-locked *{cursor:none!important}
.slant{clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}
#boot-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(ellipse at 50% 35%,#172554,#020617 70%);color:#facc15;z-index:9999;font-family:Arial,Helvetica,sans-serif;letter-spacing:.12em}
.boot-mark{display:grid;place-items:center;width:58px;height:58px;border:2px solid #facc15;border-radius:16px;background:#facc1520;font-size:32px}
#boot-screen strong{font-size:20px;font-weight:900;font-style:italic}
#boot-status{color:#a5b4fc;font-size:11px;letter-spacing:.04em}
.mobile-game-root{height:100dvh;min-height:0;touch-action:none}
.mobile-rotate-banner{line-height:1.3}
.mobile-rotate-card{width:min(90vw,420px);padding:clamp(20px,5vw,32px)}
.mobile-rotate-icon{position:relative;display:grid;place-items:center;width:92px;height:78px;margin:0 auto 12px}
.mobile-rotate-icon span{display:block;font-size:54px;animation:phone-landscape 2.2s ease-in-out infinite}
.mobile-rotate-icon svg{position:absolute;right:2px;top:4px;width:27px;height:27px;color:#facc15;filter:drop-shadow(0 2px 3px #000)}
.mobile-aim-hint{white-space:nowrap;text-shadow:0 1px 4px #000}
.mobile-joystick,.mobile-action-button{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.mobile-action-button{box-shadow:0 4px 12px #0009;transition:transform .08s,filter .08s}
.mobile-action-button:active{filter:brightness(1.18);transform:scale(.94)}
.mobile-result-card{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 2rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.mobile-result-actions{position:sticky;bottom:0;z-index:2;width:100%;flex:0 0 auto;padding-top:8px;margin-top:auto}
.mobile-result-actions--danger{background:linear-gradient(180deg,rgba(69,10,10,0),#450a0a 35%)}
.mobile-result-actions--victory{background:linear-gradient(180deg,rgba(2,44,34,0),#022c22 35%)}
@keyframes phone-landscape{0%,15%{transform:rotate(0)}55%,80%{transform:rotate(90deg)}100%{transform:rotate(90deg)}}
@media (pointer:coarse){
  .mobile-result-card{padding:clamp(12px,3dvh,24px)!important}
  .mobile-result-card h1{font-size:clamp(22px,7dvh,34px)!important;line-height:1.05!important}
  .mobile-result-icon{font-size:clamp(28px,8dvh,44px)!important;line-height:1!important;margin-bottom:6px!important}
  .mobile-result-icon.w-16{width:clamp(36px,9dvh,52px)!important;height:clamp(36px,9dvh,52px)!important}
  .mobile-result-stats{padding:8px!important;margin-bottom:10px!important}
  .mobile-result-card button{min-height:52px;padding-top:10px!important;padding-bottom:10px!important;flex:0 0 auto}
}
@media (pointer:coarse) and (orientation:landscape){
  .mobile-bottom-hud{padding:0!important}
  .mobile-vitals-hud{position:absolute!important;left:calc(env(safe-area-inset-left,0px) + 132px);bottom:calc(env(safe-area-inset-bottom,0px) + 8px);gap:5px!important;align-items:flex-start}
  .mobile-radar{width:56px!important;height:56px!important}
  .mobile-radar .w-4{width:12px!important;height:12px!important}
  .mobile-radar .w-2\.5{width:8px!important;height:8px!important}
  .mobile-radar span{font-size:7px!important}
  .mobile-vitals{width:clamp(112px,21vw,158px)!important;padding:5px!important;gap:3px!important}
  .mobile-vitals .mobile-vital-row{gap:4px!important}
  .mobile-vitals .mobile-vital-row>span{font-size:10px!important}
  .mobile-vitals .mobile-vital-meter{height:8px!important}
  .mobile-weapon-hud{position:absolute!important;right:calc(env(safe-area-inset-right,0px) + 86px);bottom:calc(env(safe-area-inset-bottom,0px) + 132px);gap:4px!important;align-items:flex-end}
  .mobile-weapon-card{max-width:clamp(152px,28vw,205px);padding:5px 7px!important;gap:5px!important}
  .mobile-weapon-card>span{font-size:18px!important}
  .mobile-weapon-card>div>span:first-child{font-size:9px!important;line-height:1.15}
  .mobile-weapon-card>div>span:last-child{font-size:8px!important;line-height:1.1}
  .mobile-weapon-slots{gap:3px!important}
  .mobile-weapon-slots>button{width:32px!important;height:32px!important}
  .mobile-weapon-slots>button>span{font-size:11px!important}
  .mobile-weapon-slots>button>span:last-child{font-size:7px!important}
  .mobile-joystick{left:calc(env(safe-area-inset-left,0px) + 12px)!important;bottom:calc(env(safe-area-inset-bottom,0px) + 9px)!important;width:clamp(108px,27dvh,132px)!important;height:clamp(108px,27dvh,132px)!important;background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.5)!important;box-shadow:0 3px 18px #0005;z-index:35!important}
  .mobile-joystick>div{width:52px!important;height:52px!important;background:rgba(250,204,21,.94)!important}
  .mobile-action-cluster{right:calc(env(safe-area-inset-right,0px) + 10px)!important;bottom:calc(env(safe-area-inset-bottom,0px) + 8px)!important;gap:8px!important;z-index:35!important}
  .mobile-action-cluster>div{gap:7px!important}
  .mobile-action-button.mobile-loot,.mobile-action-button.mobile-jump{width:clamp(48px,13dvh,58px)!important;height:clamp(48px,13dvh,58px)!important;font-size:9px!important}
  .mobile-action-button.mobile-fire{width:clamp(68px,18dvh,82px)!important;height:clamp(68px,18dvh,82px)!important;font-size:11px!important}
  .mobile-aim-hint{top:52px!important;font-size:9px!important;opacity:.72}
}
@media (max-height:360px) and (pointer:coarse) and (orientation:landscape){
  .mobile-weapon-hud{bottom:calc(env(safe-area-inset-bottom,0px) + 140px)}
  .mobile-radar{width:48px!important;height:48px!important}
  .mobile-joystick{width:100px!important;height:100px!important}
  .mobile-joystick>div{width:46px!important;height:46px!important}
}
@media (pointer:coarse) and (orientation:portrait){
  .mobile-rotate-card{max-width:360px}
}
