*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none}
[hidden]{display:none!important}   /* FIX: altfel #dead{display:flex} ignora atributul hidden -> ELIMINAT mereu vizibil */
:root{--bg:#0c0f14;--ink:#e8eef2;--accent:#ffcf3a;--hp:#3ad06b;--danger:#e5484d;--panel:rgba(12,16,22,.72)}
html,body{height:100%;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;overflow:hidden;overscroll-behavior:none}
#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}

/* HUD */
#hud{position:fixed;inset:0;pointer-events:none;z-index:10}
#hud .top{position:absolute;top:max(10px,env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:space-between;padding:0 16px;font-size:13px;letter-spacing:.08em}
#hud .top b{color:var(--accent);font-size:18px}
.hp-wrap{position:absolute;left:16px;bottom:max(18px,env(safe-area-inset-bottom));width:38vw;max-width:220px;height:14px;background:#0008;border-radius:8px;overflow:hidden;display:flex;align-items:center}
.hp{height:100%;width:100%;background:linear-gradient(90deg,var(--hp),#8be29f);transition:width .12s}
.hp-wrap span{position:absolute;right:6px;font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000}
.ammo{position:absolute;right:16px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 78px);font-size:15px;text-align:right;text-shadow:0 1px 3px #000}
.ammo b{font-size:30px;color:var(--accent);font-weight:800}
.ammo i{display:block;font-style:normal;font-size:11px;color:var(--accent);letter-spacing:.1em}
#crosshair{position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);
  background:radial-gradient(circle,transparent 0 3px,var(--ink) 3px 4px,transparent 4px),
  linear-gradient(var(--ink),var(--ink)) center/2px 10px no-repeat,
  linear-gradient(90deg,var(--ink),var(--ink)) center/10px 2px no-repeat;opacity:.85;mix-blend-mode:difference}
#feed{position:absolute;top:46px;right:16px;text-align:right;font-size:12px;line-height:1.7}
#feed div{opacity:.9;animation:fade 2.6s forwards}
@keyframes fade{0%{opacity:0;transform:translateX(8px)}10%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0}}
#hit-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 40%,var(--danger) 140%);opacity:0;transition:opacity .25s;mix-blend-mode:screen}
#hit-flash.on{opacity:.5;transition:none}
#dead{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0008;backdrop-filter:blur(3px)}
#dead b{font-size:40px;color:var(--danger);letter-spacing:.1em}
#dead span{font-size:14px;opacity:.85}#dead i{font-style:normal;color:var(--accent);font-weight:800}

/* Controale */
#controls{position:fixed;inset:0;z-index:20}
.joy{position:absolute;left:18px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 60px));width:128px;height:128px;border-radius:50%;
  background:#ffffff10;border:1.5px solid #ffffff22;pointer-events:auto;touch-action:none}
.nub{position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;transform:translate(-50%,-50%);
  background:#ffffff2a;border:1.5px solid #ffffff44}
#look-pad{position:absolute;right:0;top:0;width:55%;height:100%;pointer-events:auto;touch-action:none}
.cbtn{position:absolute;pointer-events:auto;border:none;border-radius:50%;font-size:26px;color:#fff;
  background:radial-gradient(circle at 35% 30%,#ffffff22,#ffffff0d);border:1.5px solid #ffffff33;backdrop-filter:blur(4px)}
.cbtn svg{width:48%;height:48%;display:block}
.cbtn-fire{right:24px;bottom:max(86px,calc(env(safe-area-inset-bottom) + 76px));width:96px;height:96px;display:grid;place-items:center;color:#fff}
.cbtn-reload{display:grid;place-items:center;color:#fff}
.cbtn-fire:active{background:radial-gradient(circle,#ffcf3a55,#ffcf3a18);transform:scale(.95)}
.cbtn-reload{right:130px;bottom:max(150px,calc(env(safe-area-inset-bottom) + 140px));width:60px;height:60px;font-size:24px}

/* Overlay start */
#overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 35%,#16202c,#0c0f14 70%)}
.card{text-align:center;padding:30px;max-width:380px}
.card h1{font-size:48px;letter-spacing:.16em;font-weight:800;background:linear-gradient(100deg,#ffcf3a,#fff4cf,#ffcf3a);-webkit-background-clip:text;background-clip:text;color:transparent}
.card .sub{margin-top:6px;letter-spacing:.22em;font-size:12px;color:#9fb0bd}
.card .hint{margin:18px 0;font-size:12px;line-height:1.8;color:#c3d0da}
.start{margin-top:6px;padding:15px 40px;font-size:18px;font-weight:800;letter-spacing:.08em;border:none;border-radius:14px;
  color:#0c0f14;background:linear-gradient(180deg,#ffd965,#e9b73a);box-shadow:0 8px 30px #ffcf3a44;cursor:pointer}
.start:active{transform:scale(.97)}
.card .orig{margin-top:22px;font-size:10px;color:#5d6b76;line-height:1.5}
@media(min-width:760px){ .joy{left:32px} .cbtn-fire{right:40px} }
