:root{color-scheme:dark;--gold:#f4c46e;--alert:#ea6050;--muted:#a3b2b6;--ui:#0c161bdc}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#233640;font-family:Inter,"Segoe UI",Arial,sans-serif;color:#f5f7f3;touch-action:none}button{font:inherit;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.35;cursor:default}#app{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;background:linear-gradient(180deg,#6d8790,#bbada2 49%,#444542)}#scene{display:block;width:100%;height:100%;outline:none;touch-action:none}.film-grain,.scanlines,.damage-flash{pointer-events:none;position:absolute;inset:0}.film-grain{background:radial-gradient(ellipse at center,transparent 17%,#101d2c70 100%);box-shadow:inset 0 0 130px #091318bb}.scanlines{background:repeating-linear-gradient(0deg,#06101608 0px,#06101608 1px,transparent 1px,transparent 4px);opacity:.7}.damage-flash{background:radial-gradient(circle,transparent 35%,#fd403fce 105%);opacity:0;transition:opacity .17s;z-index:3}
.topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:calc(18px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 15px max(24px,env(safe-area-inset-left));background:linear-gradient(#071318e8,#07131882 65%,transparent);gap:20px;z-index:5;pointer-events:none}.topbar button{pointer-events:auto}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.sigil{width:41px;height:41px;border:1px solid #f1c16a83;display:grid;place-items:center;color:#edbb62;background:#ce94401e;border-radius:8px;font-size:27px;line-height:1}.brand .mini{font-size:9px;color:#bcbdaf;display:block;letter-spacing:2.3px;font-weight:700}.brand strong{font-size:18px;letter-spacing:1.4px;font-weight:900}.brand strong em{color:var(--gold);font-style:normal}.v-tag{font-family:Consolas,monospace;font-size:10px;font-weight:800;color:var(--gold);border:1px solid #efbd6666;border-radius:4px;padding:5px 7px;margin-left:3px}.metrics{display:flex;gap:7px;align-items:center}.metric{min-width:86px;text-align:center;border:1px solid #cad3c72b;background:#0a1619c2;padding:8px 15px;border-radius:5px}.metric span{display:block;font-size:9px;letter-spacing:1.4px;font-weight:800;color:#c0c9c6}.metric strong{display:block;font-family:Consolas,monospace;font-size:20px;line-height:1.2;color:#fff}.icon-btn{width:37px;height:39px;background:#0e191ec7;border:1px solid #cfdecb3c;color:#f4eed9;border-radius:5px;font-size:19px}.icon-btn:hover{border-color:#f4c46e8e}
.underbar{position:absolute;top:94px;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;justify-content:space-between;gap:12px;z-index:4;pointer-events:none;font-size:10px;letter-spacing:1.4px;font-weight:800;color:#eee6d6}.sector,.hostiles{display:flex;align-items:center;gap:9px;text-shadow:0 2px 8px #000}.dot,.pulse{display:block;width:7px;height:7px;background:#eeae5b;border-radius:50%;box-shadow:0 0 11px #ffce6e}.pulse{background:#e36c57;box-shadow:0 0 11px #e87559}.integrity{position:absolute;top:119px;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));height:3px;background:#132a2b99;z-index:4}.integrity span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#e5b75b,#94d4b3);transition:width .25s}
.reticle{position:absolute;z-index:3;width:43px;height:43px;transform:translate(-50%,-50%);pointer-events:none;left:50%;top:48%;filter:drop-shadow(0 0 5px #000a)}.reticle .ret-h,.reticle .ret-v{position:absolute;display:block}.reticle .ret-h{left:0;top:20px;width:43px;height:2px;background:linear-gradient(90deg,#f8ebd8 0 28%,transparent 28% 72%,#f8ebd8 72%)}.reticle .ret-v{top:0;left:20px;width:2px;height:43px;background:linear-gradient(0deg,#f8ebd8 0 28%,transparent 28% 72%,#f8ebd8 72%)}.reticle i{position:absolute;left:18px;top:18px;width:7px;height:7px;border:1px solid #fff;border-radius:50%}.hit-marker{display:none;position:absolute;z-index:4;transform:translate(-50%,-50%);color:#ffe99c;font-weight:300;font-size:33px;text-shadow:0 0 16px #ffc65e;pointer-events:none}.toast{position:absolute;left:50%;top:24%;transform:translate(-50%,-12px);font-size:12px;font-weight:900;letter-spacing:1px;text-align:center;max-width:80%;background:#0c171add;border:1px solid #e1b86f88;padding:11px 17px;border-radius:4px;z-index:7;opacity:0;transition:opacity .15s,transform .15s;pointer-events:none;box-shadow:0 7px 32px #0008}.toast.visible{opacity:1;transform:translate(-50%,0)}
.side-info{position:absolute;bottom:142px;left:28px;z-index:3;display:flex;flex-direction:column;text-shadow:0 2px 8px #000;pointer-events:none}.side-info>span{color:var(--gold);letter-spacing:2px;font-size:10px;font-weight:800}.side-info b{font-size:23px;font-weight:900;letter-spacing:1px}.side-info small{font-weight:600;letter-spacing:1.1px;color:#d5d9d3;font-size:10px}
.bottom-hud{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:end;justify-content:space-between;gap:24px;padding:20px max(23px,env(safe-area-inset-right)) calc(23px + env(safe-area-inset-bottom)) max(23px,env(safe-area-inset-left));z-index:5;background:linear-gradient(0deg,#081318eb,#0714199b 65%,transparent);pointer-events:none}.bottom-hud button{pointer-events:auto}.weapon-display{display:flex;align-items:center;gap:12px;min-width:220px}.wep-icon{width:42px;height:51px;color:var(--gold);font-size:38px;border-right:1px solid #e0b87964;padding-right:5px}.wep-info>span{display:block;color:#e5e6df;font-size:10px;font-weight:900;letter-spacing:1.4px}.ammo{display:flex;align-items:baseline;gap:9px;font-family:Consolas,monospace}.ammo b{font-size:39px;line-height:1.2;color:var(--gold)}.ammo span{color:#d8ded0;font-size:17px}.wep-info>small{display:block;font-size:9px;color:#a3b8bb;letter-spacing:1.1px}.hints{font-size:10px;color:#c3c9c7;max-width:380px;text-align:center;font-weight:800;line-height:1.8;letter-spacing:1px;margin:0 auto 10px}.controls{display:flex;gap:8px;align-items:end}.ctrl{height:65px;min-width:66px;padding:6px 10px;display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;font-size:30px;border-radius:6px;font-weight:700;touch-action:none}.ctrl small{font-size:9px;font-weight:900;letter-spacing:1px}.ctrl.secondary{color:#e6e7de;border:1px solid #b6c2b56b;background:#132229db}.ctrl.fire{height:71px;min-width:92px;border:1px solid #ffd38f;background:linear-gradient(155deg,#efc57a,#bb7543);color:#141e24;box-shadow:0 0 35px #d27a3f61}.ctrl.fire:active{transform:scale(.97);filter:brightness(1.17)}.fire-symbol{font-size:30px}
.disclaimer{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:1.1px;color:#b1c2b0b7;font-weight:800;pointer-events:none;z-index:5}.rotate-tip{display:none}
.overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:flex-start;padding:80px clamp(18px,7vw,115px) 75px;background:linear-gradient(90deg,#08151ae8 0%,#08151bd3 34%,#09191e88 62%,transparent 100%);z-index:8;overflow-y:auto;touch-action:pan-y}.overlay.active{display:flex}.modal{width:min(590px,100%);max-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8e7549 transparent;padding-right:12px}.eyebrow{display:flex;align-items:center;gap:8px;color:#ebc178;letter-spacing:3px;font-size:11px;font-weight:900;margin-bottom:17px}.eyebrow:before{content:'●';color:#f0b55c;font-size:8px}.modal h1{font-size:clamp(36px,6vw,77px);font-weight:950;line-height:.97;letter-spacing:-1.7px;text-shadow:0 4px 25px #0008;margin:0 0 22px}.modal h1 .accent{color:#f1bd70}.modal p{font-size:14px;line-height:1.73;color:#c8d5d2;max-width:520px;margin:0 0 17px}.modal p b{color:white}.features,.report{display:flex;flex-wrap:wrap;gap:6px;margin:19px 0 23px}.features span,.report span{border:1px solid #bdc5af38;padding:10px 12px;border-radius:4px;background:#0d1c20ad;color:#e5e6d9;font-size:10px;font-weight:800;letter-spacing:.55px}.report strong{color:#f4c46e}.primary{display:block;min-height:58px;width:min(430px,100%);background:linear-gradient(115deg,#f4d08b,#d19a54);border:1px solid #fee0a3;color:#111f25;font-weight:950;letter-spacing:1px;border-radius:5px;padding:14px 20px;box-shadow:0 12px 35px #111918a3;text-align:center}.primary:hover{filter:brightness(1.1)}.modal .small{font-size:11px;margin-top:14px;color:#9fb3b6;line-height:1.7}.upgrades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0}.upgrade{min-height:84px;text-align:left;background:#101f24ef;color:#f1f3ed;border:1px solid #c1cbbe3c;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.upgrade:hover:not(:disabled){border-color:#eabc70}.upgrade b{font-size:10px;letter-spacing:.7px}.upgrade small{font-size:10px;color:#b2c3c7}.upgrade .price{font-size:12px;margin-top:auto;color:#f5c475;font-weight:900}.two-buttons{display:flex;gap:9px;flex-wrap:wrap}.ghost{padding:13px 18px;border:1px solid #829594;background:#12232bd8;border-radius:5px;color:#e5e9de;font-size:12px;font-weight:900}
@media(max-width:850px){.brand .mini{font-size:8px;letter-spacing:1.3px}.brand strong{font-size:14px}.v-tag{display:none}.sigil{width:32px;height:34px;font-size:20px}.topbar{padding:calc(8px + env(safe-area-inset-top)) 10px 10px;gap:8px}.metric{min-width:57px;padding:6px 7px}.metric span{font-size:7px;letter-spacing:.45px}.metric strong{font-size:15px}.metrics{gap:4px}.icon-btn{width:28px;height:33px;font-size:16px}.underbar{top:66px;left:12px;right:12px;font-size:8px}.integrity{top:88px;left:12px;right:12px}.bottom-hud{padding:10px 12px calc(14px + env(safe-area-inset-bottom))}.weapon-display{min-width:150px;gap:6px}.wep-icon{width:31px;font-size:26px}.wep-info>span{font-size:8px}.ammo b{font-size:27px}.ammo span{font-size:12px}.hints{display:none}.controls{gap:5px}.ctrl{height:52px;min-width:55px;font-size:24px}.ctrl small{font-size:8px}.ctrl.fire{height:57px;min-width:70px}.side-info{left:12px;bottom:94px}.side-info b{font-size:16px}.side-info small{font-size:8px}.side-info>span{font-size:8px}.overlay{padding:50px 25px 35px}.modal h1{font-size:46px}.modal p{font-size:12px}.modal{padding-right:0}.disclaimer{font-size:7px}}
@media(max-width:570px){.topbar{align-items:flex-start}.brand{gap:5px}.brand strong{font-size:12px}.brand .mini{display:none}.sigil{width:25px;height:27px;font-size:18px}.metrics{gap:3px}.metric{min-width:45px;padding:4px 5px}.metric strong{font-size:13px}.metric span{font-size:6px}.icon-btn{width:24px;height:27px;font-size:14px}.underbar{top:50px;font-size:7px}.integrity{top:67px}.weapon-display{min-width:98px}.wep-icon{display:none}.wep-info>span{max-width:100px;font-size:7px}.ammo b{font-size:26px}.controls{gap:4px}.ctrl{min-width:48px;height:48px;padding:4px}.ctrl.fire{min-width:59px;height:55px}.ctrl small{font-size:7px}.side-info b{font-size:13px}.side-info>span{font-size:7px}.side-info small{display:none}.overlay{padding:48px 16px 25px}.modal h1{font-size:38px}.features span,.report span{font-size:8px;padding:8px}.upgrade{min-height:74px;padding:8px}.upgrade b,.upgrade small{font-size:8px}.modal p{line-height:1.5}.modal .small{font-size:9px}}
@media(max-height:550px) and (orientation:landscape){.topbar{padding-top:5px}.underbar{top:50px}.integrity{top:67px}.bottom-hud{padding-top:4px;padding-bottom:9px}.side-info{bottom:77px}.overlay{padding-top:35px;padding-bottom:20px}.modal h1{font-size:39px;margin-bottom:13px}.modal p{font-size:11px;margin-bottom:9px}.eyebrow{margin-bottom:8px}.features,.report{margin:12px 0}.primary{min-height:43px;padding:9px}.upgrades{margin:10px 0}.upgrade{min-height:65px}}
@media(max-width:480px) and (orientation:portrait){.rotate-tip{display:block;position:absolute;left:50%;bottom:109px;transform:translateX(-50%);z-index:4;text-align:center;width:90%;font-size:9px;letter-spacing:.65px;font-weight:800;color:#f0c780;text-shadow:0 2px 5px #000}.side-info{display:none}.modal h1{font-size:41px}.disclaimer{font-size:6px}}
/* Menus must show the primary action without requiring a scroll on typical 720p PC screens. */
@media(min-width:851px){.overlay{padding-top:54px;padding-bottom:40px}.modal h1{font-size:clamp(37px,4.9vw,64px);margin-bottom:16px}.modal p{font-size:13px;line-height:1.53;margin-bottom:12px}.features,.report{margin:13px 0 17px}.modal .small{margin-top:9px}}

/* 0.4: cena urbana deve ser a protagonista, e nao o overlay. */
.overlay.active{background:linear-gradient(90deg,rgba(7,16,20,.87) 0%,rgba(7,16,20,.74) 34%,rgba(7,16,20,.28) 65%,rgba(7,16,20,.03) 100%)}
/* 0.7 — campanha tática de dez áreas */
.overlay:has(.campaign-layout){background:rgba(5,14,19,.94);padding:28px clamp(12px,3.8vw,65px) 20px}
.modal:has(.campaign-layout){width:min(1160px,100%);max-height:none;overflow:visible}
.modal:has(.campaign-layout) h1{font-size:clamp(27px,3.4vw,48px);margin:0 0 12px}
.modal:has(.campaign-layout)>p{margin:0 0 10px;max-width:950px}
.campaign-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.campaign-summary span{padding:8px 12px;border:1px solid #b7ac9069;background:#223138;color:#e1ddcd;font-size:10px;letter-spacing:.6px;font-weight:700;border-radius:3px}
.campaign-summary b{color:#f2bd69;margin-left:8px;font-size:13px}
.campaign-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(280px,.85fr);gap:13px;height:min(46vh,385px);min-height:220px}
.map-paper{position:relative;border-radius:5px;border:5px solid #806e4d;background:linear-gradient(0deg,#d4c5a822,#d4c5a822),repeating-linear-gradient(0deg,transparent,transparent 22px,#a7a08437 23px),repeating-linear-gradient(90deg,#e7dbc0,#e7dbc0 22px,#b5a88439 23px);box-shadow:inset 0 0 35px #6a614c77,0 5px 20px #0007;overflow:hidden}
.paper-head{position:absolute;left:12px;top:8px;font:800 11px monospace;color:#5b503f;letter-spacing:1.1px}
.map-paper svg{position:absolute;inset:0;width:100%;height:100%}
.map-paper svg path{fill:none;stroke:#675f50;stroke-width:.8;stroke-dasharray:1.1 0.4}
.map-paper svg path.street{stroke:#afa389;stroke-width:1.5;opacity:.5}
.area-node{position:absolute;left:var(--px);top:var(--py);transform:translate(-50%,-50%);border:2px solid #6b5d4c;border-radius:50%;width:34px;height:34px;background:#958f83;color:#f8eace;font-weight:900;box-shadow:0 2px 8px #4f443c80;cursor:pointer;z-index:1}
.area-node .node-label{position:absolute;left:50%;top:36px;transform:translateX(-50%);font-size:8px;letter-spacing:.1px;white-space:nowrap;padding:2px 4px;background:#e4d8bbdd;color:#352e25;border-radius:2px;pointer-events:none;font-weight:900}
.area-node.limpa{background:#3a8360;border-color:#c3dfbd}.area-node.disponivel{background:#cb9846;border-color:#fff0b6}.area-node.bloqueada{background:#777b7a;border-color:#9ba1a0;filter:grayscale(1);cursor:not-allowed}.area-node.selected{outline:3px solid #3e3330;outline-offset:3px}.area-node:not(:disabled):hover{filter:brightness(1.2)}
.map-legend{position:absolute;bottom:5px;right:8px;display:flex;gap:8px;color:#3c4537;background:#eadfc2dc;font-size:8px;font-weight:900;padding:4px}
.map-legend span:nth-child(1){color:#2c774c}.map-legend span:nth-child(2){color:#9b6823}.map-legend span:nth-child(3){color:#5b6466}
.campaign-list{border:1px solid #8395906c;border-radius:4px;overflow:auto;background:#0f2025e8}
.area-row{display:flex;align-items:center;width:100%;gap:9px;padding:8px 9px;color:#eff1e9;border:0;border-bottom:1px solid #7b8c8944;background:#112329;text-align:left;min-height:54px;cursor:pointer}
.area-row:nth-child(even){background:#182b31}.area-row.row-selected{border-left:4px solid #edbc72;background:#263b3f}.area-row:disabled{opacity:.48;cursor:not-allowed}.area-row:hover:not(:disabled){background:#355058}
.area-number{color:#e9c37b;font-family:monospace;font-size:16px;font-weight:900;width:28px}.area-row span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:2px}.area-row b{font-size:12px}.area-row small{color:#a9c0bc;font-size:10px}
.area-status{font-style:normal;font-size:9px;font-weight:900;white-space:nowrap}.s-limpa{color:#83d69d}.s-disponivel{color:#ebbc65}.s-bloqueada{color:#a1a8a7}
.selected-map{margin:11px 0 5px;padding:10px 13px;background:#1b2c31;border-left:3px solid #ecc075;min-height:68px}.selected-map b{font-size:15px;color:#f9d296}.selected-map p{font-size:11px;line-height:1.45;margin:3px 0!important}.selected-map #selectedStats{font-size:10px;letter-spacing:.5px;color:#d2cbaf;font-weight:900}
.campaign-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:10px 0}.campaign-actions .primary{width:auto;min-width:220px;min-height:43px;padding:10px 15px}.campaign-actions .ghost{min-height:43px;padding:10px 13px}
.blast-effect{position:absolute;z-index:6;width:116px;height:116px;border-radius:50%;background:radial-gradient(circle,#fff9c0 0,#ffd97fb8 19%,#fba35555 46%,transparent 65%);pointer-events:none;display:none;transform:translate(-50%,-50%)}
.grenade-control:disabled{opacity:.45}
@media(max-width:760px){.overlay:has(.campaign-layout){padding:12px}.campaign-layout{grid-template-columns:1fr;gap:7px;height:auto;min-height:0}.map-paper{height:205px}.campaign-list{max-height:160px}.area-node{width:27px;height:27px;font-size:10px}.area-node .node-label{top:27px;font-size:7px}.map-legend{font-size:6px}.paper-head{font-size:8px}.selected-map{padding:7px}.campaign-actions{gap:6px}.campaign-actions .primary{width:auto;min-width:160px}.modal:has(.campaign-layout) h1{font-size:28px}.modal:has(.campaign-layout)>p{font-size:11px}.campaign-summary{gap:4px}.campaign-summary span{padding:5px 7px;font-size:8px}.campaign-summary b{font-size:10px}}
@media(max-width:850px) and (orientation:landscape){.map-paper{height:178px}.campaign-list{max-height:178px}.modal:has(.campaign-layout) .small{font-size:8px}}
@media(max-width:560px){.grenade-control{min-width:48px}.controls{gap:3px}.ctrl.fire{min-width:54px}.bottom-hud{gap:6px}}
@media(max-height:530px) and (orientation:landscape){.overlay:has(.campaign-layout){padding-top:8px}.modal:has(.campaign-layout) h1{font-size:24px;margin-bottom:5px}.modal:has(.campaign-layout)>p{font-size:10px;margin-bottom:5px;line-height:1.3}.campaign-summary{margin:5px 0}.campaign-layout{height:166px;grid-template-columns:1.2fr .95fr;min-height:0}.map-paper{height:166px}.campaign-list{max-height:166px}.selected-map{padding:5px 8px;min-height:47px;margin:6px 0}.selected-map p{font-size:10px}.campaign-actions{position:sticky;bottom:0;padding:5px 0;background:#07131be8;z-index:4;margin:6px 0}.campaign-actions .primary,.campaign-actions .ghost{min-height:34px;padding:6px 10px;font-size:10px}.modal:has(.campaign-layout) .small{display:none}}

/* V0.8: real FBX models visualized in armory UI */
.weapon-upgrade{min-height:142px}.weapon-thumb{width:100%;height:73px;object-fit:contain;object-position:center;background:#10171b;border-radius:4px;border:1px solid #3c484a}.weapon-upgrade b{font-size:11px}
@media(max-height:550px){.weapon-thumb{height:48px}.weapon-upgrade{min-height:110px}}
/* V0.9: visitação de TODOS os mapas 3D sem alterar campanha e sem confundí-los com imagens promocionais */
.overlay.active:has(.scenery-preview){background:linear-gradient(90deg,rgba(5,17,23,.94) 0%,rgba(5,17,23,.89) 30%,rgba(5,17,23,.40) 48%,rgba(5,17,23,.01) 73%);justify-content:flex-start;align-items:flex-end;padding:clamp(16px,4vw,45px);}
.modal:has(.scenery-preview){width:min(540px,46%);max-height:83vh;overflow:auto;}
.scenery-preview h1{font-size:clamp(32px,4.7vw,67px);line-height:.97;margin:12px 0;color:#f7f1df;text-shadow:0 3px 22px #091016}
.scenery-preview p{max-width:410px;color:#d7dfd5;font-size:14px;line-height:1.6}
.scenery-preview .preview-marker{display:inline-block;padding:9px 12px;border:1px solid #c4ae7c88;background:#1c333cbb;color:#f7cd89;font-size:11px;font-weight:900;letter-spacing:1px}
.scenery-preview .campaign-actions .primary{min-width:150px}
.scenery-preview .campaign-actions .ghost{min-height:40px}
@media(max-width:800px){.overlay.active:has(.scenery-preview){padding:10px;background:linear-gradient(90deg,rgba(5,17,23,.94),rgba(5,17,23,.3) 75%)}.modal:has(.scenery-preview){width:min(330px,58%)}.scenery-preview h1{font-size:clamp(22px,4vw,37px)}.scenery-preview p{font-size:10px}.scenery-preview .campaign-actions .primary{min-width:90px}}

/* V0.9.1 — confirmação visual de tiro na cabeça */
.hit-marker.headshot{color:#ffcd63;font-size:50px;font-weight:900;filter:drop-shadow(0 0 10px #e8a52d);text-shadow:0 0 19px #a9490f,0 0 25px #fff3b4;animation:ol-headshot-pop .30s ease-out;}
@keyframes ol-headshot-pop{0%{transform:translate(-50%,-50%) scale(.5)}65%{transform:translate(-50%,-50%) scale(1.25)}100%{transform:translate(-50%,-50%) scale(1)}}

/* V0.9.2 — controles touch independentes, botões grandes e acessíveis */
.aim-touch-hint{position:absolute;top:19%;right:15%;z-index:3;padding:7px 10px;border:1px solid #c3d5ca55;background:#091c22a8;color:#e7eac9;font-size:10px;font-weight:900;letter-spacing:1.3px;pointer-events:none;opacity:0;transition:opacity .35s}.aim-touch-hint.show{opacity:.88}
.reticle.assisted .ret-h{background:linear-gradient(90deg,#a7ffd1 0 28%,transparent 28% 72%,#a7ffd1 72%)}.reticle.assisted .ret-v{background:linear-gradient(0deg,#a7ffd1 0 28%,transparent 28% 72%,#a7ffd1 72%)}.reticle.head-ready{filter:drop-shadow(0 0 9px #ffc366)}
.aim-settings[hidden]{display:none}.aim-settings{position:absolute;inset:0;z-index:12;display:grid;place-items:center;background:#061419ed;padding:12px;overflow:auto;touch-action:pan-y}.aim-settings-card{width:min(480px,96vw);max-height:96%;overflow:auto;background:linear-gradient(165deg,#152f38,#0c1e27);border:1px solid #d2a967;border-radius:10px;box-shadow:0 24px 70px #000a;padding:20px 24px;color:#edf4ee;touch-action:pan-y}.aim-settings-title{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#e7bd70;font-size:11px;letter-spacing:2px;font-weight:900}.aim-settings-title button{color:#fff;background:#263f47;border:1px solid #81949a;padding:7px 11px;border-radius:5px}.aim-settings-card h2{margin:9px 0;font-size:26px}.aim-settings-card p{font-size:12px;line-height:1.5;color:#cbd5d1;margin:0 0 16px}.aim-settings-card label:not(.aim-check){display:block;color:#dce4e4;font-size:10px;letter-spacing:1.2px;font-weight:900;margin:15px 0 5px}.aim-settings-card output{float:right;color:#ffd18d}.aim-settings-card input[type=range]{width:100%;accent-color:#e8b66b;height:29px;touch-action:pan-x}.aim-settings-card select{width:100%;background:#243b46;border:1px solid #748b8c;border-radius:5px;color:white;padding:9px 11px;font:inherit;font-size:13px;touch-action:auto}.aim-check{display:flex;align-items:center;gap:11px;margin:18px 0;font-size:12px;line-height:1.5;color:#e0e9e7}.aim-check input{accent-color:#e8b66b;min-width:21px;min-height:21px;touch-action:auto}.aim-settings-actions{display:flex;gap:10px;margin-top:15px}.aim-settings-actions button{flex:1;border-radius:5px;border:1px solid #b5b5ac;padding:12px 6px;background:#233e46;color:white;font-size:11px;font-weight:900;min-height:45px}.aim-settings-actions #saveTouchSettings{background:#ecc17d;color:#111b20;border-color:#ffe3a3}
@media (pointer:coarse){.aim-touch-hint.show{opacity:.83}.reticle{width:53px;height:53px}.reticle .ret-h{top:25px;width:53px}.reticle .ret-v{left:25px;height:53px}.reticle i{top:22px;left:22px;width:9px;height:9px}.bottom-hud{padding-bottom:max(9px,env(safe-area-inset-bottom));gap:8px}.controls{gap:7px}.ctrl{min-width:54px;min-height:55px}.ctrl.fire{min-width:88px;min-height:78px;border-radius:13px;box-shadow:0 3px 20px #e2a55588}.ctrl.fire .fire-symbol{font-size:35px}.ctrl.fire small{font-size:10px}.controls button{touch-action:none}}
@media (pointer:coarse) and (max-width:900px) and (orientation:landscape){.bottom-hud{align-items:end;padding:2px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:4px}.weapon-display{min-width:98px}.wep-icon{display:none}.controls{gap:5px}.ctrl.secondary{min-width:51px;height:52px;padding:3px}.ctrl.secondary small{font-size:8px}.ctrl.fire{width:88px;min-width:88px;height:79px;min-height:79px}.side-info{bottom:80px;max-width:32%}.side-info b{font-size:13px}.aim-touch-hint{top:21%;right:16%;font-size:9px}.aim-settings-card{padding:10px 17px}.aim-settings-card h2{font-size:20px;margin:3px 0}.aim-settings-card p{font-size:10px;margin:0 0 5px}.aim-settings-card label:not(.aim-check){margin:7px 0 4px}.aim-settings-card select{padding:5px}.aim-settings-card input[type=range]{height:21px}.aim-check{margin:9px 0}.aim-settings-actions{margin-top:6px}.aim-settings-actions button{min-height:36px;padding:6px}}
@media(pointer:coarse) and (max-width:610px){.ctrl.fire{min-width:66px;width:66px;min-height:65px;height:65px}.controls{gap:3px}.ctrl.secondary{min-width:41px;width:41px}.weapon-display{min-width:80px}.wep-info>span{max-width:80px}.ammo b{font-size:22px}.aim-touch-hint{display:none}.icon-btn{min-width:28px}}

@media(pointer:coarse){.hints{display:none!important}}

/* V1.0.2 - Capa oficial interativa. A imagem é preservada sem redesenhar nem substituir o jogador. */
.game-splash[hidden],.splash-confirm[hidden]{display:none!important}
.game-splash{position:absolute;inset:0;z-index:25;display:grid;place-items:center;background:#04090e;overflow:hidden;isolation:isolate}
.splash-stage{width:min(100vw,calc(100vh * 1672 / 941));aspect-ratio:1672 / 941;position:relative;overflow:hidden;box-shadow:0 0 70px #000c;background:#0a131c}
.splash-art{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;pointer-events:none}
.splash-hotspots{position:absolute;inset:0}
.splash-zone{position:absolute;left:2.33%;width:26.64%;height:8.30%;background:transparent;border:2px solid transparent;border-radius:7px;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s;color:transparent;touch-action:manipulation}
.splash-zone span{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.splash-zone:hover,.splash-zone:focus-visible{background:#f4c87a24;border-color:#f7d39f;box-shadow:0 0 18px #ecaf5980;outline:none}
.splash-zone:active{background:#e0ac4855}
.splash-start{top:44.09%}.splash-continue{top:52.98%}.splash-arsenal{top:61.92%}.splash-settings{top:71.03%}.splash-exit{top:80.15%}
.splash-reset{position:absolute;left:2.4%;top:88.25%;width:22.5%;min-height:3.65%;padding:3px 9px;border:1px solid #e08d65d0;border-radius:5px;background:#110c0dcc;box-shadow:0 6px 14px #0008;color:#ffe2c6;font-size:clamp(8px,1.02vw,15px);font-weight:900;letter-spacing:.5px;cursor:pointer;touch-action:manipulation}
.splash-reset:hover,.splash-reset:focus-visible{background:#57231c;border-color:#ffd1b0;outline:2px solid #fff7}
.splash-mobile-actions{display:none}
.splash-confirm{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#020609e9;padding:16px}
.splash-confirm-card{width:min(490px,95%);max-height:95%;overflow:auto;background:linear-gradient(155deg,#202d34,#091318);border:1px solid #e8b97e;border-radius:10px;padding:26px;color:#eee;box-shadow:0 12px 45px #000}
.splash-confirm-card h2{font-size:clamp(20px,2.8vw,29px);color:#f3bd78;margin:0 0 12px}
.splash-confirm-card p{font-size:13px;line-height:1.6;color:#d8dcda}
.splash-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.splash-confirm-actions button{flex:1;min-width:120px;min-height:47px;border:1px solid #657d81;background:#253840;color:#fff;border-radius:5px;font-weight:900;padding:7px;cursor:pointer}
#splashAcceptReset{background:#b85342;border-color:#f29b7e}
.aim-settings{z-index:45}
@media (orientation:portrait){
 .splash-stage{width:100%;height:100%;aspect-ratio:auto;box-shadow:none}
 .splash-art{object-fit:cover;object-position:66% center;opacity:.72}
 .splash-hotspots{display:none}
 .splash-mobile-actions{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(5px,1.6vh,16px);padding:clamp(14px,5vw,40px);background:linear-gradient(90deg,#050c12e8,#0a1018ae 64%,#0710156b);overflow-y:auto;touch-action:pan-y}
 .splash-mobile-actions h1{font-size:clamp(27px,8.5vw,52px);font-weight:950;line-height:1;margin:0;color:#f1e7d9;text-shadow:0 3px 15px #000;max-width:440px}
 .splash-mobile-actions h1 strong{display:block;color:#ed332c}
 .splash-mobile-actions p{font-weight:900;color:#ffcb82;letter-spacing:2px;margin:0 0 7px;font-size:clamp(10px,2vw,14px)}
 .splash-mobile-actions button{width:min(430px,100%);min-height:clamp(42px,6vh,58px);border-radius:6px;border:1px solid #9aa6a7a6;background:#111c21db;text-align:left;padding:9px 17px;color:#f4f0df;font-size:clamp(12px,3vw,17px);font-weight:900;letter-spacing:.5px}
 .splash-mobile-actions button.splash-mobile-primary{background:#ecc17e;color:#161b21;border-color:#ffe9b4}
 .splash-mobile-actions button:focus-visible{outline:3px solid #ffd38e}
}
@media (orientation:landscape) and (max-height:450px){.splash-reset{font-size:9px;min-height:22px;top:88%}}

.splash-live-state{position:absolute;right:2%;bottom:2.3%;padding:4px 9px;color:#f2e3d0;background:#071015ed;border-left:2px solid #dc352c;font:800 clamp(9px,.92vw,14px) Consolas,monospace;letter-spacing:.25px;pointer-events:none;text-shadow:0 1px 4px #000}
@media(orientation:portrait){.splash-live-state{bottom:1.9%;font-size:11px;right:4%;background:#071015ea}}
