/* W30 – A deliberate quiet world UI: combat is contextual, never 9 HUD buttons.
   No backdrop-filter, no new canvas, no GPU shader, no additional pollers. */
#anwArenaCombat{position:absolute;inset:0;z-index:18;pointer-events:none;display:none;
 font-family:system-ui,-apple-system,sans-serif;color:#e9f8fc}
#anwArenaCombat.mode-active{display:block}
#anwArenaCombat.paused{visibility:hidden}
#anwArenaCombat button{font:700 12px system-ui;cursor:pointer;color:#eafffc;touch-action:manipulation}
#anwArenaCombat button:focus-visible{outline:2px solid #a5fff6;outline-offset:3px}
#anwArenaCombat button:disabled{opacity:.35;cursor:default}
#anwArenaCombat .anw-arena-topline{position:absolute;top:calc(64px + var(--safe-top,0px));left:50%;transform:translateX(-50%);
 display:none;color:#b9e5e9;letter-spacing:.13em;font-size:9px;font-weight:750}
#anwArenaCombat .anw-arena-crosshair{position:absolute;left:50%;top:50%;width:20px;height:20px;
 transform:translate(-50%,-50%);display:none;pointer-events:none}
#anwArenaCombat.armed .anw-arena-crosshair{display:block}
#anwArenaCombat .anw-arena-crosshair:before,#anwArenaCombat .anw-arena-crosshair:after{
 content:'';position:absolute;background:#c2fff3cf;border-radius:2px}
#anwArenaCombat .anw-arena-crosshair:before{height:1px;left:0;right:0;top:9px}
#anwArenaCombat .anw-arena-crosshair:after{width:1px;top:0;bottom:0;left:9px}
#anwArenaCombat .anw-arena-crosshair span{position:absolute;top:7px;left:7px;width:5px;height:5px;
 border:1px solid #d4fff5;border-radius:100%;background:#214e5e}
#anwArenaCombat .anw-arena-crosshair.flash span{background:#ffeb9d;border-color:#ffeb9d}
#anwArenaCombat .anw-arena-selector{position:absolute;top:calc(165px + var(--safe-top,0px));
 right:calc(11px + var(--safe-right,0px));display:flex;gap:4px;padding:3px;
 border:1px solid #a5dce240;border-radius:14px;background:#0a1b2bcf;pointer-events:auto}
#anwArenaCombat .anw-arena-selector button{width:36px;height:37px;border-radius:10px;border:0;
 background:transparent;font-size:18px}
#anwArenaCombat .anw-arena-selector button[aria-pressed="true"]{
 background:linear-gradient(135deg,#a8e5ed,#b6ffe6);color:#142e41;box-shadow:inset 0 0 0 1px #cffdec88}
#anwArenaCombat .anw-arena-ammo{position:absolute;top:calc(215px + var(--safe-top,0px));
 right:calc(11px + var(--safe-right,0px));min-width:104px;max-width:250px;
 padding:7px 10px;text-align:right;border-radius:10px;border:1px solid #b8fce441;
 color:#d8f3f6;background:#10263ac7;font:700 10px/1.4 system-ui;letter-spacing:.03em;
 overflow-wrap:anywhere}
#anwArenaCombat .anw-arena-touch{display:none}
#anwArenaCombat .anw-arena-expanded{position:absolute;top:calc(277px + var(--safe-top,0px));
 right:calc(12px + var(--safe-right,0px));width:155px;max-height:55dvh;overflow:auto;
 padding:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;z-index:2;
 background:#132738f0;border:1px solid #95e6e050;border-radius:15px;pointer-events:auto}
#anwArenaCombat .anw-arena-expanded[hidden]{display:none!important}
#anwArenaCombat .anw-arena-expanded button{border:1px solid #defaf32b;background:#ffffff0b;
 padding:9px 4px;min-height:40px;border-radius:9px;font-size:10px}
#anwArenaCombat #anwArenaClose{grid-column:1/-1;color:#ffdce3;background:#65364665}
#anwArenaCombat .anw-arena-tracer{position:absolute;height:2px;z-index:1;pointer-events:none;
 transform-origin:left center;background:linear-gradient(90deg,#a4fff6,#d1fff9bb,#fbd5a0,transparent)}
@media(pointer:coarse){
 #anwArenaCombat .anw-arena-topline{display:none}
 #anwArenaCombat .anw-arena-selector{top:calc(149px + var(--safe-top,0px));
  right:calc(8px + var(--safe-right,0px))}
 #anwArenaCombat .anw-arena-selector button{width:35px;height:34px}
 #anwArenaCombat .anw-arena-ammo{top:calc(196px + var(--safe-top,0px));
  right:calc(8px + var(--safe-right,0px));font-size:9px;max-width:146px}
 #anwArenaCombat .anw-arena-touch{display:grid;grid-template-columns:44px 68px;gap:8px;
  position:absolute;right:calc(12px + var(--safe-right,0px));top:53%;transform:translateY(-37%);
  align-items:center;pointer-events:auto}
 #anwArenaCombat .anw-arena-touch button{width:44px;height:44px;border-radius:50%;
  border:1px solid #d4fcf08c;background:#172b45e7;box-shadow:0 4px 14px #0006;
  font-size:21px;display:grid;place-items:center;touch-action:none}
 #anwArenaCombat #anwArenaFire{grid-column:2;grid-row:1/span 2;
  width:68px;height:68px;border-radius:50%;background:linear-gradient(145deg,#86d6d5dd,#2f7180e6);
  border:2px solid #d7fff4ab;color:#072f3b;font-size:30px;box-shadow:0 0 0 5px #b9fff310}
 #anwArenaCombat #anwArenaAim{grid-column:1;grid-row:1}
 #anwArenaCombat #anwArenaMoves{grid-column:1;grid-row:2}
 #anwArenaCombat #anwArenaAim[aria-pressed="true"]{background:#3a847c}
 #anwArenaCombat .anw-arena-expanded{top:auto;bottom:calc(54px + var(--safe-bottom,0px));
  right:calc(13px + var(--safe-right,0px));width:172px}
}
@media(pointer:coarse) and (max-height:530px) and (orientation:landscape){
 #anwArenaCombat .anw-arena-selector{top:calc(46px + var(--safe-top,0px));
  right:calc(78px + var(--safe-right,0px))}
 #anwArenaCombat .anw-arena-ammo{top:calc(92px + var(--safe-top,0px));right:calc(78px + var(--safe-right,0px))}
 #anwArenaCombat .anw-arena-touch{top:50%;right:calc(8px + var(--safe-right,0px))}
 #anwArenaCombat .anw-arena-expanded{bottom:calc(6px + var(--safe-bottom,0px));right:calc(83px + var(--safe-right,0px))}
}
@media(prefers-reduced-motion:reduce){#anwArenaCombat *{animation:none!important;transition:none!important}}


/* W34 controller fidelity: RMB hold = ADS shoulder zoom, release = original view.
   Mobile: movement left, aim/fire right, view drag on the canvas; no extra HUD wall.
   Only CSS feedback. No extra scene, WebGL pass or full-screen animated filter. */
#anwArenaCombat.aiming .anw-arena-crosshair{width:12px;height:12px}
#anwArenaCombat.aiming .anw-arena-crosshair:before{top:6px}
#anwArenaCombat.aiming .anw-arena-crosshair:after{left:6px}
#anwArenaCombat.aiming .anw-arena-crosshair span{top:4px;left:4px;width:4px;height:4px;background:#b3ffdd}
#anwArenaCombat .anw-arena-crosshair.confirmed:after,
#anwArenaCombat .anw-arena-crosshair.confirmed:before{background:#ffe0a7}
#anwArenaCombat .anw-arena-crosshair.confirmed span{background:#ffe0a7;box-shadow:0 0 8px #ffd58d}
#anwArenaCombat.aiming .anw-arena-topline{display:block}
@media(pointer:coarse){
  .game:has(#anwArenaCombat.mode-active) #btnPunch,
  .game:has(#anwArenaCombat.mode-active) #btnKick,
  .game:has(#anwArenaCombat.mode-active) #btnGuard{display:none!important}
  #anwArenaCombat #anwArenaAim{width:48px;height:48px}
  #anwArenaCombat #anwArenaFire{border-radius:50%;min-width:68px;min-height:68px}
}

/* W42 combat rebuild: crosshair IS the optical axis (NDC 0,0).
   No auto-lock decoration, no aim displacement under mobile touch. */
#anwArenaCombat.armed .anw-arena-crosshair{left:50%;top:50%;filter:drop-shadow(0 1px 2px #03131a)}
#anwArenaCombat .anw-arena-crosshair:before{left:1px;right:1px;top:10px}
#anwArenaCombat .anw-arena-crosshair:after{top:1px;bottom:1px;left:10px}
#anwArenaCombat .anw-arena-crosshair span{top:8px;left:8px;width:5px;height:5px;background:transparent}
#anwArenaCombat.aiming .anw-arena-crosshair{width:14px;height:14px}
#anwArenaCombat.aiming .anw-arena-crosshair:before{top:7px}
#anwArenaCombat.aiming .anw-arena-crosshair:after{left:7px}
#anwArenaCombat.aiming .anw-arena-crosshair span{top:5px;left:5px}
@media(pointer:coarse){
 #anwArenaCombat.mode-active .anw-arena-crosshair{left:50%;top:50%}
 #anwArenaCombat .anw-arena-touch{touch-action:none}
}
