/* Arsenal: armería cinematográfica. Pantalla completa sin scroll; el arma es la protagonista. */
body.ars-page #lobby{display:none}
body.ars-page .body{grid-template-columns:1fr;max-width:none;height:calc((100dvh - var(--top-h,68px)) / var(--ui,1));padding:12px 16px;overflow:hidden}
body.ars-page #page{height:100%;min-height:0}
.ars{--gold:#f2b544;--gold2:#ffd27a;height:100%;min-height:0;display:grid;gap:10px;
  grid-template-columns:clamp(220px,17vw,290px) minmax(0,1fr) clamp(260px,20vw,340px);grid-template-rows:minmax(0,1fr) auto;
  grid-template-areas:"left stage info" "left col col";animation:arsIn .45s cubic-bezier(.2,.8,.2,1)}
@keyframes arsIn{from{opacity:0;transform:translateY(8px)}}
.ars-kick{font:700 10px var(--title);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}

/* ---- izquierda: categorías y armas ---- */
.ars-left{grid-area:left;display:flex;flex-direction:column;min-height:0;border:1px solid #26333d;border-radius:12px;background:linear-gradient(180deg,#121a21,#0a0f13);overflow:hidden}
nav.ars-left{flex:initial}
.ars-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:8px;border-bottom:1px solid #222e37}
.ars-tabs button{height:auto;padding:7px 4px;border:0;border-radius:6px;background:#0c1318;color:#93a0a8;font:700 10.5px var(--title);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}
.ars-tabs button:hover{color:#fff}.ars-tabs button.on{background:linear-gradient(#ffc061,#e39a2e);color:#1a1206}
.ars-guns{flex:1;min-height:0;display:grid;grid-auto-rows:minmax(0,1fr);gap:4px;padding:8px;overflow:hidden}
.ars-gun{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;justify-items:start;min-height:0;max-height:110px;padding:6px 10px;border:1px solid #1f2a33;border-radius:8px;
  background:linear-gradient(120deg,#151e26,#0d1318);color:#cfd6db;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .18s,transform .18s,background .18s;animation:arsRow .35s ease both;animation-delay:calc(var(--i)*35ms)}
@keyframes arsRow{from{opacity:0;transform:translateX(-10px)}}
.ars-gun img{width:100%;height:100%;min-height:0;object-fit:contain;object-position:left center;opacity:.72;filter:drop-shadow(0 2px 3px #000b);transition:opacity .18s,transform .25s}
.ars-gun b{font:800 13px var(--title);letter-spacing:.04em;text-transform:uppercase}
.ars-gun small{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#7f8c95}
.ars-gun .sd{font-style:normal;font:800 9px var(--title);letter-spacing:.08em;padding:1px 5px;border-radius:3px;background:#1c262e;color:#aab4bb}
.ars-gun .sd.sT{background:#3a2a14;color:#ffb36b}.ars-gun .sd.sCT{background:#13283b;color:#7ab8ff}
.ars-gun em{position:absolute;top:6px;right:9px;font-style:normal;font-size:12px;color:var(--rc)}
.ars-gun:hover{border-color:#3d4d58;transform:translateX(2px)}.ars-gun:hover img{opacity:1}
.ars-gun.on{border-color:var(--gold);background:linear-gradient(120deg,#2a2112,#12171c 70%);box-shadow:inset 3px 0 0 var(--gold),0 0 18px -8px var(--gold)}
.ars-gun.on img{opacity:1;transform:scale(1.04)}.ars-gun.on b{color:#fff}

/* ---- escenario 3D ---- */
.ars-stage-slot,.ars-stage{grid-area:stage}
.ars-stage{position:relative;min-height:0;border-radius:14px;overflow:hidden;isolation:isolate;border:1px solid #2a3640;background:#05080b;--rc:#cfd6db;--k:.25}
.ars-stage[data-r="0"],.ars-stage[data-r="1"]{--k:.35}.ars-stage[data-r="2"],.ars-stage[data-r="3"]{--k:.55}.ars-stage[data-r="4"]{--k:.7}.ars-stage[data-r="5"]{--k:.85}.ars-stage[data-r="6"]{--k:1}
.ars-bg{position:absolute;inset:0;z-index:-3;background:
  radial-gradient(ellipse 60% 50% at 50% 42%,#1d2a35,transparent 70%),
  repeating-linear-gradient(90deg,#ffffff06 0 1px,transparent 1px 120px),
  linear-gradient(180deg,#0b1218 0%,#0a1015 60%,#06090c 61%,#0b0f12 100%)}
.ars-bg::after{content:'';position:absolute;left:0;right:0;top:61%;height:1px;background:linear-gradient(90deg,transparent,#f2b54455,transparent)}
.ars-beam{position:absolute;left:50%;top:-10%;width:70%;height:90%;transform:translateX(-50%);z-index:-2;pointer-events:none;
  background:conic-gradient(from 180deg at 50% 0%,transparent 160deg,color-mix(in srgb,var(--rc) 22%,transparent) 180deg,transparent 200deg);opacity:calc(.25 + var(--k)*.6);filter:blur(6px);transition:opacity .6s,background .6s}
.ars-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 45% 38% at 50% 50%,color-mix(in srgb,var(--rc) calc(var(--k)*38%),transparent),transparent 72%);transition:background .6s}
.ars-floor{position:absolute;left:18%;right:18%;bottom:13%;height:12%;z-index:-1;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--rc) calc(var(--k)*45%),#0000),transparent);filter:blur(4px);transition:background .6s}
.ars-zoom{position:absolute;inset:0;overflow:hidden}
.ars-view{position:absolute;left:50%;top:50%;width:calc(100% * var(--z,1));height:calc(100% * var(--z,1));transform:translate(-50%,-50%);transition:width .18s ease,height .18s ease,opacity .25s,filter .25s}
.ars-view canvas{width:100%;height:100%;display:block}
.ars-stage.out .ars-view{opacity:0;filter:blur(6px);transform:translate(-46%,-50%)}
.ars-stage.swap .ars-view{animation:arsSwap .55s cubic-bezier(.2,.9,.2,1)}
@keyframes arsSwap{from{opacity:0;transform:translate(-54%,-50%) scale(.96);filter:blur(4px)}}
.ars-stage.flash .ars-light{animation:arsFlash .6s ease}
@keyframes arsFlash{30%{background:radial-gradient(ellipse 50% 42% at 50% 50%,color-mix(in srgb,var(--rc) 60%,transparent),transparent 72%)}}
.ars-stage.equipfx::after{content:'';position:absolute;inset:0;border:2px solid var(--gold2);border-radius:14px;animation:arsEq .9s ease forwards;pointer-events:none}
@keyframes arsEq{0%{opacity:1;box-shadow:inset 0 0 60px #f2b54466}100%{opacity:0;box-shadow:inset 0 0 0 transparent}}
.ars-load{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 11px var(--title);letter-spacing:.2em;text-transform:uppercase;color:#6f7b84;z-index:-1}
.ars-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);font:700 10px var(--title);letter-spacing:.18em;text-transform:uppercase;color:#cfc6b260;pointer-events:none}
/* destellos solo en Encubierto y Contrabando: pocos y lentos */
.ars-sparks{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .5s}
.ars-stage[data-r="5"] .ars-sparks,.ars-stage[data-r="6"] .ars-sparks{opacity:1}
.ars-sparks i{position:absolute;bottom:18%;width:3px;height:3px;border-radius:50%;background:var(--rc);box-shadow:0 0 8px var(--rc);opacity:0;animation:arsSpark 6s linear infinite}
.ars-sparks i:nth-child(1){left:22%}.ars-sparks i:nth-child(2){left:30%;animation-delay:1.1s}.ars-sparks i:nth-child(3){left:38%;animation-delay:2.4s}.ars-sparks i:nth-child(4){left:46%;animation-delay:.6s}.ars-sparks i:nth-child(5){left:54%;animation-delay:3.2s}
.ars-sparks i:nth-child(6){left:62%;animation-delay:1.8s}.ars-sparks i:nth-child(7){left:70%;animation-delay:4s}.ars-sparks i:nth-child(8){left:78%;animation-delay:2.9s}.ars-sparks i:nth-child(9){left:34%;animation-delay:4.7s}.ars-sparks i:nth-child(10){left:66%;animation-delay:5.3s}
@keyframes arsSpark{0%{opacity:0;transform:translateY(0)}15%{opacity:.8}100%{opacity:0;transform:translateY(-55vh)}}
.ars-stage[data-r="6"] .ars-beam{animation:arsSweep 7s ease-in-out infinite}
@keyframes arsSweep{50%{transform:translateX(-46%) rotate(4deg)}}

/* ---- derecha: ficha ---- */
.ars-info{grid-area:info;display:flex;flex-direction:column;gap:9px;min-height:0;padding:16px 18px;border:1px solid #26333d;border-top:3px solid var(--rc);border-radius:12px;
  background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--rc) 14%,transparent),transparent 60%),linear-gradient(180deg,#121a21,#0a0f13);overflow:hidden;animation:arsInfo .35s ease;transition:border-color .4s}
@keyframes arsInfo{from{opacity:.4;transform:translateX(8px)}}
.ars-info h2{margin:0;font:900 clamp(24px,2vw,34px)/1 var(--title);letter-spacing:.03em;text-transform:uppercase}
.ars-skin{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;background:#0a1015;border:1px solid color-mix(in srgb,var(--rc) 40%,#26333d)}
.ars-skin b{font:800 15px var(--title);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ars-rar{flex:0 0 auto;padding:3px 8px;border-radius:3px;background:var(--rc);color:#0b0f12;font:800 10px var(--title);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 14px -2px var(--rc)}
.ars-rar.std{background:#26333d;color:#cfd6db;box-shadow:none}
.ars-kv,.ars-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0}
.ars-kv>div,.ars-stats>div{min-width:0;padding:5px 8px;border-radius:5px;background:#0b1217;border:1px solid #202b33}
.ars-kv dt,.ars-stats dt{font:600 9px var(--title);letter-spacing:.12em;text-transform:uppercase;color:#7f8c95}
.ars-kv dd,.ars-stats dd{margin:1px 0 0;font:700 12.5px var(--num);color:#e9e4d8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ars-copies small,.ars-knives small{font:700 9.5px var(--title);letter-spacing:.14em;text-transform:uppercase;color:#93a0a8}
.ars-copies>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.ars-copies button{padding:3px 8px;border:1px solid #2c3a44;border-radius:4px;background:#0c1318;color:#aab4bb;font:700 11px var(--num);cursor:pointer}
.ars-copies button.on{border-color:var(--rc);color:#fff}.ars-copies button.eq{box-shadow:inset 0 -2px 0 var(--gold)}
.ars-knives>div{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:4px}
.ars-knives button{display:grid;justify-items:center;gap:1px;padding:4px 2px;border:1px solid #26333d;border-radius:6px;background:#0c1318;color:#aab4bb;cursor:pointer}
.ars-knives button img{width:100%;height:28px;object-fit:contain}.ars-knives button span{font-size:8.5px;line-height:1.1;text-align:center}
.ars-knives button.on{border-color:var(--gold);color:#fff}
.ars-knives .note{margin:4px 0 0;font-size:10.5px}
.ars-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;align-items:center}
.ars-actions.sub{margin-top:0}.ars-actions .btn{flex:1 1 auto}
.ars-main{font-size:15px!important;padding:11px 14px!important}
.ars-state{flex:1 1 100%;padding:9px;border-radius:6px;text-align:center;font:800 12px var(--title);letter-spacing:.16em;text-transform:uppercase}
.ars-state.on{background:#16301f;color:#8ff0a8;border:1px solid #3f7a50;animation:arsOn .5s ease}.ars-state.std{background:#141c22;color:#aab4bb;border:1px solid #26333d}
.ars-state.lock{background:#2a1712;color:#ffb08f;border:1px solid #6a3424}
@keyframes arsOn{from{transform:scale(1.06);box-shadow:0 0 30px #5fc77a88}}

/* ---- abajo: colección ---- */
.ars-col{grid-area:col;position:relative;min-width:0;padding:8px 10px 10px;border:1px solid #26333d;border-radius:12px;background:linear-gradient(180deg,#111920,#0a0f13)}
.ars-col header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.ars-col h3{margin:0;font:800 13px var(--title);letter-spacing:.14em;text-transform:uppercase}.ars-col h3 small{color:#7f8c95;letter-spacing:.04em;text-transform:none;font-weight:600;margin-left:6px}
.ars-filters{display:flex;gap:8px;flex-wrap:wrap}.ars-filters>span{display:flex;gap:2px;padding:2px;border:1px solid #222e37;border-radius:6px;background:#0a1015}
.ars-filters button{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:0;border-radius:4px;background:none;color:#93a0a8;font:700 10px var(--title);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.ars-filters button i{width:7px;height:7px;border-radius:50%;background:var(--rc)}
.ars-filters button.on{background:#1d2b35;color:#fff}
.ars-strip{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;padding:2px 2px 4px;height:clamp(96px,14vh,124px)}
.ars-tile{position:relative;flex:0 0 clamp(120px,9vw,150px);display:grid;grid-template-rows:minmax(0,1fr) auto auto;padding:6px 8px;border:1px solid #222e37;border-bottom:3px solid var(--rc);border-radius:8px;
  background:linear-gradient(180deg,#151e26,color-mix(in srgb,var(--rc) 10%,#0c1217));color:#dfe4e8;text-align:left;cursor:pointer;scroll-snap-align:start;transition:transform .18s,border-color .18s,box-shadow .18s;animation:arsTile .3s ease both;animation-delay:calc(var(--i)*25ms)}
@keyframes arsTile{from{opacity:0;transform:translateY(8px)}}
.ars-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--rc) 60%,#3d4d58)}
.ars-tile.on{border-color:var(--rc);box-shadow:0 0 0 1px var(--rc),0 8px 20px -10px var(--rc)}
.ars-tile b{font:800 12px var(--title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ars-tile small{font-size:10px;color:color-mix(in srgb,var(--rc) 70%,#cfd6db)}
.ars-tile em{position:absolute;top:5px;right:6px;font:800 9px var(--title);font-style:normal;letter-spacing:.1em;color:#cfd6db;text-transform:uppercase}
.ars-tile .t-eq{color:#0b0f12;background:#8ff0a8;padding:1px 5px;border-radius:3px}.ars-tile .t-lock{color:#8794a0}
.ars-tile.lock .ars-sw{opacity:.4;filter:grayscale(.6)}
.ars-sw{display:block;min-height:0;width:100%;background:var(--pat) center/48px repeat;-webkit-mask:var(--spr) center/contain no-repeat;mask:var(--spr) center/contain no-repeat;filter:drop-shadow(0 2px 2px #000)}
.ars-sw.std{background:linear-gradient(180deg,#6a737b,#2e3338)}
.ars-empty{align-self:center;margin:0 10px;color:#93a0a8;font-size:13px}.ars-empty b{color:#e9e4d8}
.ars-nav{position:absolute;bottom:22px;width:26px;height:44px;border:0;border-radius:6px;background:#0a0f14d0;color:#fff;font-size:22px;cursor:pointer;z-index:2;opacity:.6}
.ars-nav:hover{opacity:1}.ars-nav.prev{left:2px}.ars-nav.next{right:2px}

/* ---- inspección: el arma ocupa la pantalla ---- */
.ars-insp-ui{display:none}
.ars.insp .ars-left,.ars.insp .ars-info,.ars.insp .ars-col{opacity:0;pointer-events:none;transform:scale(.98);transition:opacity .35s,transform .35s}
.ars-stage.insp{position:fixed;inset:0;z-index:60;border-radius:0;border:0;animation:arsInsp .45s cubic-bezier(.2,.9,.2,1)}
@keyframes arsInsp{from{clip-path:inset(12% 20% 22% 20% round 14px)}to{clip-path:inset(0 round 0)}}
.ars-stage.insp .ars-hint{display:none}
.ars.insp .ars-insp-ui{position:fixed;left:3vw;right:3vw;bottom:4vh;z-index:61;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;animation:arsFade .5s .2s both}
@keyframes arsFade{from{opacity:0;transform:translateY(10px)}}
.ars-insp-ui>div{display:grid;gap:2px}.ars-insp-ui b{font:900 clamp(24px,2.6vw,40px)/1 var(--title);letter-spacing:.03em;text-transform:uppercase;text-shadow:0 4px 18px #000}
.ars-insp-ui em{font:700 12px var(--title);font-style:normal;letter-spacing:.16em;text-transform:uppercase}
.ars-insp-ui small{color:#aab4bb;font:700 10px var(--title);letter-spacing:.18em;text-transform:uppercase}

/* ---- pantallas más pequeñas ---- */
@media(max-width:1280px){.ars{grid-template-columns:200px minmax(0,1fr) 250px}.ars-gun small{display:none}}
@media(max-height:800px){.ars-info{padding:12px 14px;gap:7px}.ars-gun small{display:none}.ars-strip{height:94px}}
@media(max-width:980px),(max-height:620px){
  body.ars-page .body{height:auto;overflow:visible}
  .ars{height:auto;grid-template-columns:1fr;grid-template-rows:auto 56vh auto auto;grid-template-areas:"left" "stage" "info" "col"}
  .ars-guns{grid-auto-flow:column;grid-auto-columns:150px;grid-auto-rows:auto;overflow-x:auto}.ars-gun{height:80px}
  .ars-tabs{grid-template-columns:repeat(6,1fr)}}
/* movimiento reducido */
body.rm .ars,body.rm .ars-gun,body.rm .ars-tile,body.rm .ars-info,body.rm .ars-sparks i,body.rm .ars-stage.swap .ars-view,body.rm .ars-stage.insp,body.rm .ars-stage[data-r="6"] .ars-beam{animation:none!important}
@media(prefers-reduced-motion:reduce){.ars,.ars-gun,.ars-tile,.ars-info,.ars-sparks i,.ars-stage.swap .ars-view,.ars-stage.insp,.ars-stage[data-r="6"] .ars-beam{animation:none!important}.ars-view{transition:none}}
.ars-stage:has(.ars-view canvas) .ars-load{display:none}
.ars-guns{align-content:start;grid-auto-rows:clamp(64px,10.5vh,100px)}
.ars-gun{max-height:none}
.ars-strip{padding:2px 30px 4px}
.ars-nav{bottom:18px;width:24px}
/* fila de arma: nombre a la izquierda y sprite grande a la derecha */
.ars-gun{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);grid-template-rows:1fr auto auto;column-gap:8px;align-items:end}
.ars-gun img{grid-column:2;grid-row:1/4;object-position:center}
.ars-gun b{grid-column:1;grid-row:2}.ars-gun small{grid-column:1;grid-row:3;flex-wrap:wrap}
@media(max-height:800px){.ars-gun{grid-template-rows:1fr auto}}
.ars-gun small{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
/* cambio de camuflaje: fundido de salida y de entrada, sin destello */
.ars-stage.fadeout .ars-view{opacity:0;transition:opacity .16s ease}
.ars-stage.fadein .ars-view{animation:arsFadeIn .35s ease}
@keyframes arsFadeIn{from{opacity:0}}
body.rm .ars-stage.fadein .ars-view{animation:none}
/* la colección deja sitio para el borde, la sombra y la elevación de las tarjetas */
.ars-strip{padding:6px 30px 8px;margin:-4px 0 -4px;height:clamp(104px,15vh,132px)}
