/* ===== FAFI 1.6 — tema visual (inspirado en CS:GO / Valorant) ===== */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Oswald:wght@500;600&display=swap');
:root{
  --bg0:#07090d; --bg1:#0d1219; --panel:rgba(14,19,27,.82); --line:rgba(255,255,255,.09);
  --gold:#e0a82e; --gold2:#ffcb5c; --ct:#4aa3ff; --t:#ff9a3c; --danger:#ff4655; --ok:#3ddc84;
  --font:'Rajdhani','Segoe UI',Arial,sans-serif; --font-d:'Oswald','Rajdhani',sans-serif;
  --cut:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
}
*{font-family:var(--font);}
body{background:var(--bg0);letter-spacing:.2px}

/* ---------- login / menú principal ---------- */
#login-overlay,#menus{background:
  radial-gradient(1200px 600px at 20% -10%,rgba(224,168,46,.10),transparent 60%),
  radial-gradient(900px 500px at 100% 110%,rgba(74,163,255,.10),transparent 60%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 2px,transparent 2px 22px),
  linear-gradient(180deg,#0a0e14,#06080b);}
#menus{backdrop-filter:none}
.auth-logo,.fafi16-logo{font-family:var(--font-d);font-weight:600;letter-spacing:6px}
.auth-logo{font-size:54px;text-shadow:0 0 30px rgba(224,168,46,.35)}
.auth-logo span,.fafi16-logo span{color:var(--gold)}
.auth-box{width:380px;background:var(--panel);border:1px solid var(--line);border-radius:0;clip-path:var(--cut);padding:36px;box-shadow:none;position:relative}
.auth-box::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold),transparent)}
.fafi16-header{background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.35));border-bottom:1px solid var(--line);min-height:70px}
.fafi16-tab-btn{font-family:var(--font-d);font-weight:500;letter-spacing:2px;font-size:15px;min-height:70px;transition:.15s}
.fafi16-tab-btn.active{color:var(--gold2);border-bottom-color:var(--gold);text-shadow:0 0 14px rgba(224,168,46,.4)}
.fafi16-coins{border-radius:0;clip-path:var(--cut)}
.fafi16-panel{border-radius:0;clip-path:var(--cut);background:var(--panel);border:1px solid var(--line);width:620px}
.fafi16-panel-title{font-family:var(--font-d);font-weight:500;letter-spacing:4px;color:var(--gold2);border-bottom:1px solid var(--line)}
.fafi16-btn-standard{border-radius:0;clip-path:var(--cut);padding:16px;font-family:var(--font-d);font-weight:500;letter-spacing:2px;font-size:15px;transition:.15s;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.fafi16-btn-standard:hover{transform:translateX(4px);background:rgba(255,255,255,.1)}
.fafi16-btn-success{border-color:rgba(61,220,132,.5);color:var(--ok);background:linear-gradient(90deg,rgba(61,220,132,.16),transparent)}
.fafi16-btn-success:hover{background:var(--ok);color:#04130a}
.fafi16-btn-campaign{border-color:rgba(224,168,46,.55);color:var(--gold2);background:linear-gradient(90deg,rgba(224,168,46,.16),transparent)}
.fafi16-btn-campaign:hover{background:var(--gold);color:#120d00}
.fafi16-input{border-radius:0;background:rgba(0,0,0,.55)}
#offlineBtn{margin-top:8px}

/* ---------- selector de mapa / bando ---------- */
#teamOverlay{background:
  radial-gradient(900px 500px at 50% 0%,rgba(224,168,46,.12),transparent 65%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 2px,transparent 2px 22px),#06080b}
#teamOverlay h1{font-family:var(--font-d)!important;font-weight:600;letter-spacing:10px!important;text-shadow:0 0 40px rgba(224,168,46,.5)!important}
.map-pick{border-radius:0;clip-path:var(--cut);background:rgba(255,255,255,.04);border:1px solid var(--line);transition:.15s}
.map-pick img{border-radius:0}
.map-pick:hover{transform:translateY(-3px)}
.map-pick.sel{box-shadow:0 0 0 1px var(--gold) inset,0 10px 30px rgba(224,168,46,.2)}
.team-card{border-radius:0;clip-path:var(--cut);display:flex;flex-direction:column;align-items:center;gap:6px}
.team-card .badge{width:74px;height:74px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}
.team-card h3{font-family:var(--font-d);font-weight:500;letter-spacing:4px}

/* ---------- HUD en partida (estilo CS:GO) ---------- */
#hud{background:none;padding:12px 18px}
.hud-item{background:linear-gradient(180deg,rgba(14,19,27,.85),rgba(8,11,16,.85));border:1px solid var(--line);border-radius:0;clip-path:var(--cut);min-width:104px}
.hud-label{font-family:var(--font-d);letter-spacing:3px;font-size:10px}
.hud-value{font-family:var(--font-d);font-weight:500;font-size:22px}
.hud-value.accent{color:var(--gold2)}
#weapon-info{left:auto;right:22px;bottom:22px;flex-direction:row-reverse;background:linear-gradient(270deg,rgba(14,19,27,.9),rgba(14,19,27,.35));border:none;border-right:3px solid var(--gold);border-radius:0;padding:10px 18px;gap:16px;min-width:230px}
#weapon-info .icon{background:none;font-size:26px;width:auto;height:auto;filter:drop-shadow(0 0 6px rgba(224,168,46,.5))}
#weapon-info b{font-family:var(--font-d);font-weight:500}
#weapon-info #ammoEl{font-size:34px;line-height:1}
#teamTag{text-align:right}
#reloadBar{background:rgba(255,255,255,.14);height:5px}
#reloadBar i{background:linear-gradient(90deg,var(--gold),var(--gold2))}
#reloadText{color:var(--gold2)}
#crosshair::before,#crosshair::after{box-shadow:0 0 0 1px rgba(0,0,0,.65)}
#crosshair .dot{background:transparent;box-shadow:none;width:2px;height:2px;left:11px;top:11px;background:#fff}
#hitMarker::before,#hitMarker::after{background:#fff;box-shadow:0 0 6px rgba(0,0,0,.8)}
#pauseOverlay,#resultOverlay{background:rgba(5,8,13,.88)}
#fpsCounter{font-family:var(--font)}

/* ---------- menú de compra ---------- */
.buy-panel{background:linear-gradient(180deg,#121a26,#0a0f17);border:1px solid var(--line);border-radius:0;clip-path:var(--cut)}
.buy-header{background:linear-gradient(90deg,rgba(224,168,46,.2),transparent 65%)}
.buy-header h2{font-family:var(--font-d);font-weight:500;color:var(--gold2)}
.buy-card{border-radius:0;clip-path:var(--cut);background:rgba(255,255,255,.045)}
.buy-card.primary{border-color:rgba(224,168,46,.45)}
.buy-btn{border-radius:0;font-family:var(--font-d);background:linear-gradient(180deg,var(--gold2),var(--gold));color:#150f00;letter-spacing:2px}

/* ---------- DEFUSE: HUD ---------- */
#dfHud,#dfDamage,#dfFlash{display:none}
body.df-on #dfHud{display:block}
#dfDamage,#dfFlash{display:block;position:fixed;inset:0;pointer-events:none;opacity:0}
#dfDamage{background:radial-gradient(circle at 50% 50%,transparent 38%,rgba(190,10,20,.85) 100%);z-index:7;transition:opacity .35s}
#dfFlash{background:#fff;z-index:30}
body.df-on #hud,body.df-on #weapon-info #teamTag b{display:none!important}
body.df-on #moneyBox{display:none!important}
#dfHud{position:absolute;inset:0;pointer-events:none;z-index:6;font-family:var(--font-d)}
#dfTop{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;align-items:stretch;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}
#dfTop .side{display:flex;align-items:center;gap:10px;padding:6px 16px;background:linear-gradient(180deg,rgba(12,17,25,.92),rgba(7,10,15,.92));min-width:230px}
#dfTop .side.ct{border-bottom:3px solid var(--ct);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);justify-content:flex-start}
#dfTop .side.t{border-bottom:3px solid var(--t);clip-path:polygon(14px 0,100% 0,100% 100%,0 100%);justify-content:flex-end}
#dfTop .side b{font-size:34px;font-weight:600;line-height:1}
#dfTop .side.ct b{color:var(--ct)} #dfTop .side.t b{color:var(--t)}
#dfTop .bw .badge{width:34px;height:34px;display:block}
#dfTop .pips{display:flex;gap:4px}
#dfTop .pips i{width:9px;height:18px;background:rgba(255,255,255,.14);transform:skewX(-14deg)}
#dfTop .side.ct .pips i.on{background:var(--ct)} #dfTop .side.t .pips i.on{background:var(--t)}
#dfTop .pips i.me{box-shadow:0 0 0 1px #fff}
#dfTop .mid{background:rgba(5,8,12,.95);padding:2px 22px;text-align:center;min-width:120px;display:flex;flex-direction:column;justify-content:center}
#dfTimer{font-size:30px;font-weight:600;line-height:1.05;letter-spacing:2px}
#dfTimer.low{color:var(--danger);animation:dfblink 1s steps(2) infinite}
#dfTimer.bomb{color:var(--danger)} #dfTimer.freeze{color:var(--gold2)}
#dfRound{font-size:11px;letter-spacing:3px;color:#9fb0c4}
@keyframes dfblink{50%{opacity:.35}}
#dfHealth{position:absolute;left:24px;bottom:22px;min-width:240px;padding:10px 18px 12px;background:linear-gradient(90deg,rgba(10,14,20,.9),rgba(10,14,20,.25));border-left:3px solid var(--gold)}
#dfHealth .hp{display:flex;align-items:center;gap:12px}
#dfHealth .cross{color:var(--ok);font-size:26px}
#dfHealth b{font-size:48px;font-weight:600;line-height:1}
#dfHealth .bar{height:5px;background:rgba(255,255,255,.14);margin:6px 0 8px;width:190px}
#dfHealthBar{height:100%;width:100%;background:var(--ok);transition:width .2s}
#dfHealthBar.low{background:var(--danger)}
#dfHealth .money{font-size:24px;color:#9be37f;font-weight:600;letter-spacing:1px}
#dfBombInfo{font-size:13px;color:var(--gold2);letter-spacing:1px;min-height:16px}
#dfKillfeed{position:absolute;top:70px;right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
#dfKillfeed .kf{background:rgba(8,11,16,.78);padding:4px 12px;font-size:15px;border-right:3px solid #555;letter-spacing:.5px}
#dfKillfeed .kf.me{outline:1px solid var(--gold);background:rgba(40,28,4,.85)}
#dfKillfeed b.ct{color:var(--ct)} #dfKillfeed b.t{color:var(--t)} #dfKillfeed i{color:#aab6c6;font-style:normal;margin:0 6px;font-size:13px}
#dfBanner{position:absolute;left:50%;top:22%;transform:translate(-50%,-10px);display:flex;align-items:center;gap:18px;padding:14px 34px;background:linear-gradient(90deg,transparent,rgba(6,9,14,.92) 20%,rgba(6,9,14,.92) 80%,transparent);opacity:0;transition:.35s;text-align:left}
#dfBanner.show{opacity:1;transform:translate(-50%,0)}
#dfBanner .badge{width:62px;height:62px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.7))}
#dfBanner b{display:block;font-size:34px;font-weight:600;letter-spacing:4px;line-height:1.05}
#dfBanner span{font-size:15px;color:#b6c4d6;letter-spacing:1.5px}
#dfBanner.ct b{color:var(--ct)} #dfBanner.t b{color:var(--t)}
#dfBanner.good b{color:var(--ok)} #dfBanner.bad b{color:var(--danger)}
#dfPrompt{position:absolute;left:50%;bottom:26%;transform:translateX(-50%);padding:8px 20px;background:rgba(6,9,14,.85);border:1px solid var(--gold);color:var(--gold2);letter-spacing:2px;font-size:16px;display:none}
#dfPrompt.show{display:block}
#dfProgress{position:absolute;left:50%;bottom:30%;transform:translateX(-50%);width:300px;text-align:center;display:none}
#dfProgress.show{display:block}
#dfProgress span{font-size:15px;letter-spacing:4px;color:var(--gold2)}
#dfProgress div{height:10px;background:rgba(255,255,255,.16);margin-top:6px;border:1px solid rgba(0,0,0,.6)}
#dfProgress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2))}
#dfScoreboard{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:none;gap:18px;background:rgba(5,8,13,.92);padding:20px 26px;border:1px solid var(--line);width:min(900px,92vw)}
#dfScoreboard.show{display:flex}
#dfScoreboard .team{flex:1}
#dfScoreboard h3{display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:4px;margin-bottom:8px;border-bottom:2px solid}
#dfScoreboard .team.ct h3{color:var(--ct)} #dfScoreboard .team.t h3{color:var(--t)}
#dfScoreboard h3 .badge{width:28px;height:28px}
#dfScoreboard h3 em{margin-left:auto;font-style:normal;font-size:28px}
#dfScoreboard table{width:100%;border-collapse:collapse;font-size:16px}
#dfScoreboard th{font-weight:500;color:#8aa0b8;text-align:left;font-size:12px;letter-spacing:2px;padding:3px 6px}
#dfScoreboard td{padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.06)}
#dfScoreboard td:nth-child(n+2){text-align:center;width:48px}
#dfScoreboard tr.dead td{opacity:.45} #dfScoreboard tr.me td{background:rgba(224,168,46,.14)}
/* en defuse el minimapa baja para no tapar el marcador */
body.df-on #minimapWrap{top:14px;left:16px}

/* ---------- pantalla de carga ---------- */
#dfLoading{position:fixed;inset:0;z-index:20000;background:
  radial-gradient(800px 400px at 50% 40%,rgba(224,168,46,.12),transparent 70%),#06080b;display:none;align-items:center;justify-content:center}
#dfLoading.show{display:flex}
#dfLoading .box{text-align:center;width:min(420px,86vw)}
#dfLoading .logo{font-family:var(--font-d);font-size:46px;letter-spacing:8px;margin-bottom:22px}
#dfLoading .logo span{color:var(--gold)}
#dfLoading .msg{letter-spacing:3px;color:#9fb0c4;font-size:14px;margin-bottom:10px;text-transform:uppercase}
#dfLoading .barl{height:6px;background:rgba(255,255,255,.12)}
#dfLoading .barl i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .15s}

/* utilidad en la tienda + barra de granadas */
.buy-grid.util{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.buy-grid.util{grid-template-columns:repeat(2,1fr)}}
.buy-grid.util .buy-card p{min-height:58px}
#gBar{position:absolute;right:22px;bottom:96px;display:flex;gap:10px;font-size:22px;z-index:5;pointer-events:none}
#gBar span{opacity:.55;position:relative;filter:drop-shadow(0 2px 4px #000)}
#gBar span.sel{opacity:1;transform:scale(1.2);filter:drop-shadow(0 0 8px var(--gold))}
#gBar sup{font-size:11px;font-family:var(--font-d);color:#fff;margin-left:1px}

/* cabecera compacta en pantallas estrechas */
@media(max-width:900px){
  .fafi16-header{padding:0 14px;gap:6px;min-height:0}
  .fafi16-logo{margin-right:12px;font-size:22px}
  .fafi16-nav-tabs{gap:14px}
  .fafi16-tab-btn{min-height:46px;font-size:13px;letter-spacing:1px}
  .fafi16-header-right{width:100%;margin-left:0;justify-content:space-between;padding-bottom:8px}
  .fafi16-content-area{padding:14px}
}

/* ---------- HUD v2: más compacto, escala con la ventana (--hs lo fija game_2_0_0v.js) y barra de armas ---------- */
:root{--hs:1}
#minimapWrap,#dfTop,#dfHealth,#weapon-info,#gBar,#wBar,#dfKillfeed,#dfBanner,#dfPrompt,#dfProgress,#hud{zoom:var(--hs)}
#dfTop{top:8px}
#dfTop .side{min-width:178px;padding:4px 14px;gap:8px}
#dfTop .side b{font-size:30px}
#dfTimer{font-size:27px}
#dfTop .mid{min-width:104px;padding:2px 16px}
#dfRound{font-size:10px}
#dfHealth{left:18px;bottom:18px;min-width:0;padding:8px 22px 9px 16px;background:linear-gradient(90deg,rgba(8,12,18,.9) 55%,rgba(8,12,18,0));border-left:3px solid var(--gold)}
#dfHealth b{font-size:42px}
#dfHealth .cross{font-size:22px}
#dfHealth .bar{width:176px;height:4px;margin:5px 0 6px}
#dfHealth .money{font-size:19px}
#weapon-info{right:18px;bottom:18px;min-width:0;padding:8px 18px 8px 26px;background:linear-gradient(270deg,rgba(8,12,18,.9) 55%,rgba(8,12,18,0))}
#weapon-info #ammoEl{font-size:38px}
#weapon-info b{letter-spacing:1px}
#weapon-info span{font-size:10px;letter-spacing:2px}
body.df-on #weaponMode,body.df-on #weapon-info .icon{display:none}
#gBar{right:20px;bottom:84px;font-size:20px}
#dfKillfeed{top:62px;right:14px}
#dfKillfeed .kf{font-size:13px;padding:3px 10px}
#dfBanner b{font-size:30px}
#wBar{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:6px;z-index:5;pointer-events:none;font-family:var(--font-d)}
#wBar span{display:flex;align-items:center;gap:6px;padding:4px 10px;background:rgba(8,12,18,.62);border-bottom:2px solid transparent;color:#8394a8;font-size:12px;letter-spacing:1.5px;opacity:.8}
#wBar span i{font-style:normal;font-size:11px;color:#c9a64a;border:1px solid rgba(201,166,74,.5);padding:0 4px}
#wBar span.sel{color:#fff;opacity:1;border-bottom-color:var(--gold);background:rgba(20,26,36,.85)}
#fpsCounter{font-size:10px;opacity:.55}
#instructions{left:50%;right:auto;transform:translateX(-50%);bottom:64px;max-width:min(860px,82vw);text-align:center;font-size:11px;background:rgba(6,9,14,.7);animation:hintfade 12s forwards}
@keyframes hintfade{0%,80%{opacity:.95}100%{opacity:0}}

/* === TIENDA estilo CS:GO (columnas) y armadura === */
#buyMenu .buy-panel{width:min(1040px,96vw)}
#buyCols{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:6px 20px 14px}
@media(max-width:860px){#buyCols{grid-template-columns:repeat(2,1fr)}}
.bz-col{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);padding:0 0 6px;transition:.15s}
.bz-col.sel{border-color:var(--gold2,#ffc44d);box-shadow:0 0 0 1px var(--gold2,#ffc44d),0 0 18px rgba(255,196,77,.25);background:rgba(255,196,77,.07)}
.bz-col h4{display:flex;align-items:center;gap:8px;margin:0 0 4px;padding:9px 10px;font-size:13px;letter-spacing:2px;color:#cfd8e6;background:rgba(0,0,0,.35);border-bottom:1px solid rgba(255,255,255,.1)}
.bz-col h4 i{font-style:normal;display:inline-grid;place-items:center;width:20px;height:20px;background:var(--gold2,#ffc44d);color:#150f00;font-weight:900;font-size:12px}
.bz-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;margin:0;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:#e9eef6;text-align:left;cursor:pointer;font:inherit}
.bz-row:hover{background:rgba(255,196,77,.14)}
.bz-row .k{flex:0 0 18px;height:18px;display:grid;place-items:center;font-size:11px;font-weight:800;color:#9fb0c6;border:1px solid rgba(255,255,255,.25)}
.bz-col.sel .bz-row .k{color:#150f00;background:var(--gold2,#ffc44d);border-color:var(--gold2,#ffc44d)}
.bz-row .n{flex:1;font-size:14px;font-weight:700;line-height:1.15}
.bz-row .n small{display:block;font-size:10.5px;font-weight:500;color:#8aa0b8;margin-top:2px}
.bz-row .p{font-size:14px;font-weight:800;color:#8cf08c;white-space:nowrap}
.bz-row.cant .p{color:#ff6b6b}
.bz-row.cant{opacity:.65}
.bz-row.eq .p{color:#7fd4ff;font-size:11px;letter-spacing:1px}
.bz-row.own .p{color:#ffc44d;font-size:11px;letter-spacing:1px}
#buyInvEl span{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:6px 12px;font-size:11px;letter-spacing:1px;color:#8aa0b8}
#buyInvEl span b{color:#fff;margin-left:6px;font-weight:700}
#dfArmor{display:none;align-items:center;gap:8px;margin:0 0 6px;color:#9ec8ff}
#dfArmor.on{display:flex}
#dfArmor .ico{font-size:17px}
#dfArmor b{font-size:22px;font-weight:600}
#dfArmor em{display:none;font-style:normal;font-size:10px;letter-spacing:2px;color:#ffc44d;border:1px solid #ffc44d;padding:1px 5px}
#dfArmor.helm em{display:inline}
#dfScoreboard{flex-wrap:wrap}
#dfScoreboard .sbHead{flex:0 0 100%;display:flex;gap:18px;align-items:baseline;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px;color:#9fb0c6;letter-spacing:1px}
#dfScoreboard .sbHead b:first-child{font-size:24px;letter-spacing:4px;color:var(--gold2,#ffc44d)}
#dfScoreboard .sbHead span b{color:#fff}
#dfScoreboard td:nth-child(n+2){width:46px}

/* === TIENDA estilo Valorant === */
#buyMenu .buy-panel{width:min(1180px,97vw);max-height:96vh;background:rgba(10,18,22,.9);border:1px solid rgba(80,230,190,.28);clip-path:none;border-radius:0}
#buyMenu .buy-header{background:linear-gradient(90deg,rgba(60,230,180,.16),transparent 65%);padding:10px 18px}
#buyMenu .buy-header h2{color:#6af0cd;letter-spacing:5px;font-size:20px}
#buyMenu .buy-money{border-color:rgba(106,240,205,.55);color:#9cffe4;border-radius:0}
#buyMenu .buy-inv{margin:8px 18px;padding:8px}
#buyCols{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(0,4.2fr) minmax(150px,1fr);gap:14px;padding:6px 18px 12px;--ch:clamp(54px,9.4vh,88px)}
.vsec{min-width:0}
.vhead{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px;font-size:14px;letter-spacing:4px;color:#7df3d2}
.vhead i{width:12px;height:12px;border-radius:50%;background:#42e6bd;box-shadow:0 0 10px #42e6bd}
.vsub{margin:6px 0 4px;padding:3px 0;text-align:center;font-size:11px;letter-spacing:3px;color:#cfeee6;background:linear-gradient(90deg,rgba(66,230,189,.32),rgba(66,230,189,.16));border-top:1px solid rgba(66,230,189,.4)}
.vsec>.vsub:first-of-type,.vcol>.vsub:first-child{margin-top:0}
.vpgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.vcol,.vstack{min-width:0}
.vstack{display:flex;flex-direction:column;gap:5px}
.vutil{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.vc{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:var(--ch);padding:6px 8px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.055);color:#e6f3ef;text-align:left;cursor:pointer;font:inherit;overflow:hidden;transition:.12s}
.vc:hover:not(.locked){background:rgba(66,230,189,.16);border-color:rgba(66,230,189,.55)}
.vimg{position:absolute;inset:4px 6px 22px;display:grid;place-items:center;pointer-events:none}
.vimg img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1) brightness(1.5) contrast(.95) drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.vimg b{font-size:30px}
.vn{position:relative;font-size:11.5px;letter-spacing:.6px;color:#cfd8d4;line-height:1.1}
.vp{position:relative;font-size:12px;color:#d9e6e2;font-weight:600}
.vk{position:absolute;top:3px;right:5px;font-size:9px;color:#6af0cd;opacity:.75;letter-spacing:1px}
.vc.eq,.vc.own{background:rgba(66,230,189,.2);border-color:#42e6bd;box-shadow:inset 0 0 0 1px rgba(66,230,189,.35)}
.vc.eq .vp{color:#8cffe0;letter-spacing:1px}.vc.own .vp{color:#ffd86a}
.vc.cant{opacity:.6}.vc.cant .vp{color:#ff8d8d}
.vc.locked{cursor:not-allowed;background:rgba(255,255,255,.03)}
.vc.locked .vimg img{opacity:.32;filter:grayscale(1) brightness(1)}
.vc.locked .vn{color:#7c8a86}.vc.locked .vp{color:#6b7a76;font-size:10px;letter-spacing:1.5px}
.vlock{position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-18px 0 0 -13px;color:#9fb5af;opacity:.9}
#buyCols[data-sel="0"] .vc:not([data-col="0"]),#buyCols[data-sel="1"] .vc:not([data-col="1"]),#buyCols[data-sel="2"] .vc:not([data-col="2"]),#buyCols[data-sel="3"] .vc:not([data-col="3"]){opacity:.35}
#buyCols[data-sel="0"] .vc[data-col="0"],#buyCols[data-sel="1"] .vc[data-col="1"],#buyCols[data-sel="2"] .vc[data-col="2"],#buyCols[data-sel="3"] .vc[data-col="3"]{border-color:#ffd86a;box-shadow:0 0 12px rgba(255,216,106,.35)}
@media(max-width:900px){#buyCols{grid-template-columns:1fr}.vpgrid{grid-template-columns:1fr 1fr}}

/* === MIRA DINÁMICA (se abre con el retroceso, la dispersión y el movimiento) === */
#crosshair{--g:4px;width:0;height:0}
#crosshair::before,#crosshair::after{display:none}
#crosshair .xh{position:absolute;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.7);pointer-events:none}
#crosshair .xh.t{left:-1px;width:2px;height:8px;top:calc(-1 * var(--g) - 8px)}
#crosshair .xh.b{left:-1px;width:2px;height:8px;top:var(--g)}
#crosshair .xh.l{top:-1px;height:2px;width:8px;left:calc(-1 * var(--g) - 8px)}
#crosshair .xh.r{top:-1px;height:2px;width:8px;left:var(--g)}
#crosshair .dot{left:-1px!important;top:-1px!important;width:2px!important;height:2px!important}
#crosshair.aiming .xh{opacity:0}
/* === MIRA DEL AWP estilo CS:GO === */
#scopeOverlay{background:radial-gradient(circle at 50% 50%,transparent calc(49.4vmin - 14px),rgba(0,0,0,.35) calc(49.4vmin - 6px),rgba(0,0,0,.9) 49.4vmin,#000 calc(49.4vmin + 1px));box-shadow:none;transform:scale(1.06)}
#scopeOverlay::before,#scopeOverlay::after{display:none}
#scopeOverlay svg{position:absolute;left:50%;top:50%;width:98.8vmin;height:98.8vmin;transform:translate(-50%,-50%)}
#scopeOverlay .dot{display:none}
#awpCd{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);width:180px;height:16px;display:none;z-index:6;pointer-events:none;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.25)}
#awpCd.on{display:block}
#awpCd i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#ffb020,#ffe27a)}
#awpCd span{position:absolute;inset:0;text-align:center;font-size:10px;line-height:16px;letter-spacing:3px;color:#fff;text-shadow:0 0 3px #000}

/* aviso de solicitudes de amistad pendientes sobre la pestaña Perfil */
.fafi16-tab-btn[data-badge]:not([data-badge=""])::after{content:attr(data-badge);display:inline-block;margin-left:6px;min-width:16px;padding:0 4px;border-radius:8px;background:#e23b3b;color:#fff;font-size:10px;line-height:16px;text-align:center;vertical-align:middle}

/* inventario de armas a la derecha y municion grande (estilo CS:GO) */
#wBar{left:auto;right:18px;bottom:auto;top:50%;transform:translateY(-50%);flex-direction:column;align-items:flex-end;gap:3px}
#wBar span{flex-direction:row;gap:10px;padding:5px 12px;border-bottom:none;border-right:3px solid transparent;background:rgba(8,12,18,.45);font-size:13px;opacity:.75;min-width:150px;justify-content:flex-end}
#wBar span em{font-style:normal;flex:1;text-align:right}
#wBar span svg{width:46px;height:15px;flex:none}
#wBar span.sel{background:rgba(255,255,255,.14);border-right-color:#fff;color:#fff;opacity:1}
#weapon-info #ammoEl{font-size:46px;font-weight:700;color:#fff!important;text-shadow:0 2px 6px #000}
#gBar{display:none}
#weaponMode,#instructions,.fafi16-note{display:none!important}

/* moneda Fafi */
.fcoin{display:inline-block;width:1.05em;height:1.05em;vertical-align:-.17em;margin-right:.25em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='15' fill='%23b8800f'/%3E%3Ccircle cx='16' cy='16' r='12.5' fill='%23f2b92e' stroke='%23ffe28a' stroke-width='1.5'/%3E%3Cpath d='M11 9h10v3h-6.6v3H20v3h-5.6v5H11z' fill='%237a4e00'/%3E%3C/svg%3E") center/contain no-repeat}
/* Fafi Pass */
#fafi16-tab-pass{padding:18px 28px;user-select:none;width:100%;box-sizing:border-box}
.fp-top{display:flex;align-items:center;gap:30px;background:linear-gradient(90deg,rgba(224,168,46,.18),rgba(8,12,18,.85) 45%);border-bottom:2px solid #e0a82e;padding:16px 26px}
.fp-season em{display:block;font-style:normal;font-size:11px;letter-spacing:4px;color:#c9a64a}
.fp-season b{font-size:34px;letter-spacing:7px;color:#fff;font-family:var(--font-d)}
.fp-lvbox{text-align:center;border:2px solid #e0a82e;padding:4px 22px;background:rgba(0,0,0,.35)}
.fp-lvbox span{display:block;font-size:10px;letter-spacing:3px;color:#8a9ab0}
.fp-lvbox b{font-size:40px;line-height:1.05;color:#fff}
.fp-prog{flex:1}
.fp-bar{height:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.1)}
.fp-bar i{display:block;height:100%;background:linear-gradient(90deg,#e0a82e,#ffd770)}
.fp-prog small{display:block;margin-top:5px;font-size:12px;color:#8a9ab0;letter-spacing:2px}
.fp-buy{display:flex;align-items:center;gap:14px}
.fp-pbox{text-align:right}
.fp-pbox b{display:block;font-size:13px;letter-spacing:3px;color:#ffd770}
.fp-pbox span{font-size:22px;color:#fff;font-weight:700}
.fp-soon{background:rgba(255,255,255,.1);color:#8a9ab0;border:1px dashed rgba(255,255,255,.3);padding:12px 20px;font-weight:700;letter-spacing:3px;font-size:12px;cursor:not-allowed}
.fp-body{display:flex;gap:18px;margin-top:18px;align-items:stretch}
.fp-tbl{flex:1;display:flex;min-width:0;position:relative}
.fp-rows{width:64px;flex:none;display:flex;flex-direction:column;gap:10px}
.fp-rl{height:40px;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:3px;color:#8a9ab0}
.fp-rl.t{height:215px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;letter-spacing:6px;border-right:2px solid #8a9ab0}
.fp-rl.t.prem{color:#ffd770;border-color:#e0a82e}
.fp-scroll{flex:1;min-width:0;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#e0a82e rgba(255,255,255,.08)}
.fp-grid{display:flex;flex-direction:column;gap:10px;width:max-content}
.fp-line{display:flex;gap:8px}
.fp-n{width:150px;height:40px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;background:rgba(255,255,255,.07);color:#8a9ab0}
.fp-n.on{background:#e0a82e;color:#111}
.fp-c{position:relative;width:150px;height:215px;flex:none;border:1px solid rgba(255,255,255,.14);border-bottom:5px solid var(--c);background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.07),rgba(8,12,18,.92) 70%);display:flex;flex-direction:column;align-items:center;padding:12px 8px;cursor:pointer;transition:transform .12s}
.fp-c.prem{background:radial-gradient(circle at 50% 35%,rgba(224,168,46,.16),rgba(8,12,18,.92) 70%);border-top:2px solid #e0a82e}
.fp-c:hover,.fp-c.sel{transform:translateY(-4px);outline:2px solid #fff}
.fp-art{flex:1;width:100%;display:flex;align-items:center;justify-content:center}
.fp-img{width:100%;max-height:110px;object-fit:contain;opacity:0;transition:opacity .25s}.fp-img.ok{opacity:1}
.fp-coin{display:flex;flex-direction:column;align-items:center;gap:6px}
.fp-coin .fcoin{width:54px;height:54px;margin:0}
.fp-coin b{font-size:22px;color:#ffd770}
.fp-coin.big .fcoin{width:110px;height:110px}.fp-coin.big b{font-size:34px}
.fp-nm{font-size:13px;color:#fff;text-align:center;min-height:34px;font-weight:600}
.fp-st{font-size:10px;letter-spacing:2px;color:#8a9ab0;margin-top:6px}
.fp-st.go{color:#111;background:#e0a82e;padding:5px 12px;font-weight:700}
.fp-st.ok{color:#7aff9a}
.fp-lk{position:absolute;top:8px;right:8px;color:#e0a82e}
.fp-c.got{opacity:.55}
.fp-c.prem:not(.can):not(.got){filter:saturate(.7)}
.fp-c.can{box-shadow:0 0 18px rgba(224,168,46,.55)}
.fp-arr{position:absolute;top:50%;z-index:3;width:38px;height:70px;margin-top:-35px;background:rgba(0,0,0,.7);color:#fff;border:1px solid rgba(255,255,255,.25);font-size:28px;cursor:pointer}
.fp-arr.l{left:56px}.fp-arr.r{right:0}
.fp-side{width:290px;flex:none;display:flex;flex-direction:column;gap:10px}
.fp-pv{flex:1;border:1px solid rgba(255,255,255,.14);border-top:5px solid var(--c);background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.08),rgba(8,12,18,.9) 70%);padding:18px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.fp-pv em{font-style:normal;font-size:10px;letter-spacing:3px;color:#8a9ab0}
.fp-show{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:170px}
.fp-img.big{max-height:190px}
.fp-pv b{font-size:22px;color:#fff}
.fp-pv span{font-size:12px;letter-spacing:4px;color:var(--c)}
.fp-pv p{font-size:12px;color:#8a9ab0;margin:0}
#fpAll{background:#e0a82e;color:#111;border:none;padding:13px;font-weight:700;letter-spacing:3px;cursor:pointer}
