/* Operación Dunas · Alpha 0.3.9 · recursos gráficos y estilos de interfaz y correcciones de cabecera */
:root{--ui-gold:#e6b76a;--ui-blue:#73aee0}
.top{gap:14px;border-bottom-color:#84674544}
.logo .brand-metal img{display:block;width:174px;max-width:24vw;height:52px;object-fit:contain;filter:drop-shadow(0 2px 8px #000b)}
.brand-metal.xl img{width:min(385px,65vw);max-width:100%;height:auto;max-height:154px;object-fit:contain;filter:drop-shadow(0 8px 16px #000b)}
.top nav{justify-content:center}
.top nav button{padding:0 13px;font-size:13px}
.top nav button.on{color:#ffe3b1;border-bottom-color:var(--ac)}
.account-anchor{position:relative;display:flex;align-items:center;z-index:15}
.account-anchor .av{width:46px;height:46px;display:grid;place-items:center;background:transparent;border:0;border-radius:8px;box-shadow:0 0 16px #0006;overflow:visible}
.account-anchor .av img{height:33px;width:33px;object-fit:contain}
.account-anchor .av[aria-expanded="true"]{border-color:var(--ui-gold);box-shadow:0 0 0 2px #d7aa6233}
.account-menu{position:absolute;right:0;top:calc(100% + 13px);width:258px;border:1px solid #827052;border-radius:12px;background:linear-gradient(155deg,#232c34,#10161c 75%);box-shadow:0 20px 50px #000d;padding:9px;z-index:20;color:#eee8dc}
.account-menu::before{content:"";position:absolute;top:-7px;right:18px;height:12px;width:12px;transform:rotate(45deg);background:#232c34;border-left:1px solid #827052;border-top:1px solid #827052}
.account-menu-head{padding:11px 12px 14px;border-bottom:1px solid #ffffff24;margin-bottom:6px;display:grid;gap:2px}
.account-menu-head strong{font:700 21px var(--title);word-break:break-word}
.account-menu-head small{color:#acb9c4;font-size:12px}
.account-menu>button{display:flex;width:100%;align-items:center;text-align:left;border:0;background:transparent;color:#e2e8ec;border-radius:7px;padding:11px 13px;font:600 14px var(--title);transition:background .15s}
.account-menu>button:hover,.account-menu>button.on{background:#b7853828;color:#fbd69b}
.account-menu>button.account-menu-close{border-top:1px solid #ffffff1a;border-radius:0;color:#a8b2b9;font-size:12px;margin-top:5px;padding-top:12px}
.welcome-gift{width:min(720px,calc(100% - 32px));margin:12px auto 0;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #c5955590;border-left:4px solid var(--ac);border-radius:10px;background:linear-gradient(120deg,#3b2b1c,#1c232a 65%);box-shadow:0 12px 34px #0007}
.welcome-gift strong{display:block;font:700 17px var(--title);color:#fbd493;letter-spacing:.05em}
.welcome-gift span{display:block;color:#e4ded1;font-size:13px}
.welcome-gift button{border:1px solid #ffffff33;border-radius:6px;padding:0 10px;background:#ffffff10;font-size:23px}
.play-hub{display:grid;gap:17px}
.play-hero{min-height:196px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:30px 34px;background:radial-gradient(ellipse at 90% 45%,#83653b2b,transparent 45%),linear-gradient(122deg,#26313a,#141b23 65%,#2c251c);border:1px solid #96744b67;border-radius:12px;box-shadow:0 12px 36px #0003}
.play-hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background:repeating-linear-gradient(120deg,transparent 0 13px,#cdb47d 13px 14px,transparent 14px 65px)}
.play-hero-copy{position:relative;z-index:1;max-width:630px}
.play-hero-copy h1{font:700 clamp(30px,4vw,46px)/1.1 var(--title);margin:6px 0 9px;color:#f9e3bf}
.play-hero-copy p{margin:0;color:#d4d7da;max-width:550px;font-size:15px}
.play-hero .section-kicker{color:var(--ui-gold);letter-spacing:.14em}
.play-hero-mark{width:min(31%,225px);max-height:160px;object-fit:contain;z-index:1;filter:drop-shadow(0 7px 15px #000a)}
.play-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}
.play-tags span{border:1px solid #ad925247;color:#e8c58d;font:600 10px var(--title);padding:5px 9px;border-radius:3px;letter-spacing:.08em}
.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:16px}
.play-main{min-width:0}
.play-section-head{display:flex;justify-content:space-between;align-items:end;gap:8px;margin:12px 0 12px}
.play-section-head h2{margin:5px 0 0;font-size:25px}
.play-section-head>span{font:500 12px Barlow,sans-serif;color:#9cadb9}
.play-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.play-mode{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:12px;min-width:0;min-height:84px;padding:14px 16px;border:1px solid #495666;border-radius:9px;text-align:left;background:linear-gradient(160deg,#232d38,#141b23);transition:background .14s,transform .14s,border-color .14s}
.play-mode:not(.soon):hover{transform:translateY(-2px);border-color:#c69a59;background:linear-gradient(160deg,#313b44,#171f28)}
.play-mode.on{background:linear-gradient(120deg,#3b3426,#262523 65%,#1a222a);border-color:#e2b974;box-shadow:inset 3px 0 0 #ecbd72,0 4px 18px #0005}
.play-mode-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff21;border-radius:7px;background:#101820;color:#d1b479;font:700 24px var(--title)}
.play-mode.on .play-mode-icon{border-color:#dcb16a;background:#d6a75a24;color:#ffe0a4}
.play-mode-text b{font:700 18px var(--title);display:block;line-height:1.2}
.play-mode-text small{display:block;font:500 12px Barlow,sans-serif;color:#b7c1c9;line-height:1.3;margin-top:4px}
.play-mode-arrow{color:#c5a779;font:700 19px var(--title)}
.play-mode.soon{opacity:.52}
.play-mode-detail{border:1px solid #7d704e70;border-radius:9px;background:linear-gradient(120deg,#2d2c25,#1b232b);margin:12px 0 20px;padding:16px 20px}
.play-mode-detail h2{margin:3px 0 5px;color:#ffdfab;font-size:22px}
.play-mode-detail p{margin:0 0 6px;color:#eee4d2}
.play-mode-detail small{color:#bdc7cd}
.play-maps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.play-maps .map{height:150px;border-radius:10px;border-color:#58627399}
.play-maps .map.on{border-color:#edc27d;box-shadow:inset 0 0 0 2px #edc27d88,0 6px 20px #0008}
.play-maps .map .map-mark{font:700 11px var(--title);letter-spacing:.12em;color:#ffe7b9}
.play-maps .map small{font-size:11px}
.play-sidebar{position:sticky;top:85px;display:grid;gap:12px}
.play-panel,.play-tip{padding:20px;border-radius:10px;background:linear-gradient(180deg,#222d38,#121920);border:1px solid #69717c88;box-shadow:0 13px 32px #0003}
.play-panel h2{font:700 25px var(--title);margin:4px 0 18px}
.play-summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #ffffff16;font-size:13px}
.play-summary-row>span{color:#9caab7}
.play-summary-row strong{text-align:right;color:#dfe5e8}
.play-user{margin-top:17px}
.play-user .row{display:block;padding:0}
.play-user .row span{display:block;font:600 12px var(--title);color:#d6b77e;margin-bottom:6px}
.play-user input{width:100%;min-width:0}
.play-switch{margin-top:12px;font-size:12px}
.play-switch .row{align-items:flex-start;justify-content:space-between}
.play-launch{display:grid;gap:8px;margin-top:18px}
.play-start{width:100%;white-space:normal;line-height:1.25}
.play-launch small{font:500 11px/1.5 Barlow,sans-serif;color:#9eabb3;text-align:center}
.play-tip{background:linear-gradient(150deg,#24241e,#181e24);border-color:#b8904d55}
.play-tip p{color:#c9cbcd;font-size:13px;margin:12px 0}
.play-tip .btn{width:100%;font-size:12px}
#hXp{position:absolute;left:50%;top:105px!important;transform:translateX(-50%);width:min(390px,84vw);padding:17px 24px;background:linear-gradient(135deg,#3d3220f0,#101820ed);border:1px solid #edba6b;border-top:3px solid #ffe2a9;text-align:center;box-shadow:0 10px 44px #000a,0 0 28px #c58b3a38;animation:uiLevelUp .32s ease-out;pointer-events:none;display:none}
#hXp b{color:#ffdf99;font:700 20px var(--title);letter-spacing:.06em}
#hXp small{color:#e2ddcf;font-size:12px;margin-top:6px}
@keyframes uiLevelUp{from{opacity:0;transform:translateX(-50%) scale(.82)}to{opacity:1;transform:translateX(-50%) scale(1)}}
#hSpec{bottom:82px;width:min(480px,92vw);padding:13px 18px;border-color:#b79056bb;background:linear-gradient(160deg,#19242af0,#0a0f15f2);box-shadow:0 12px 35px #000a}
#hSpec .spec-title{display:grid;gap:3px;align-items:center;justify-items:center}
#hSpec .spec-title strong{font:700 22px var(--title)}
#hSpec .spec-title small{font-size:11px;color:#c2c8c9}
#hSpec .killcam-label{font:700 10px var(--title);color:#ebbc70;letter-spacing:.13em}
#hSpec .spec-health{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:6px 12px;margin-top:12px;text-align:left}
#hSpec .spec-health span{display:flex;align-items:center;justify-content:space-between;font:600 11px var(--title);color:#cbd8dc}
#hSpec .spec-health span b{font:700 16px var(--num);color:#f4efe8}
#hSpec .spec-track{height:7px;background:#ffffff24;border-radius:4px;overflow:hidden}
#hSpec .spec-track i{display:block;height:100%;background:linear-gradient(90deg,#5ca955,#a2e296);transition:width .18s}
#hSpec .spec-track.armor i{background:linear-gradient(90deg,#366eae,#82bce8)}
#hSpec .death-summary{margin-top:10px;padding-top:7px;border-top:1px solid #ffffff1d}
@media(max-width:1100px){.play-layout{grid-template-columns:minmax(0,1fr)}.play-sidebar{position:static;grid-template-columns:1fr 1fr}.play-maps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:690px){.logo .brand-metal img{width:120px;max-width:38vw;height:44px}.top{padding:0 8px;gap:5px}.top nav button{padding:0 8px;font-size:11px}.top .vtag{display:none}.top .right{gap:4px}.account-menu{right:-5px}.play-hero{min-height:0;padding:23px 20px}.play-hero-mark{width:90px;opacity:.5}.play-hero-copy h1{font-size:30px}.play-modes{grid-template-columns:1fr 1fr;gap:7px}.play-mode{min-height:88px;grid-template-columns:30px 1fr;gap:8px;padding:9px}.play-mode-icon{width:29px;height:30px;font-size:18px}.play-mode-arrow{display:none}.play-mode-text b{font-size:15px}.play-mode-text small{font-size:10px}.play-maps{grid-template-columns:repeat(2,minmax(0,1fr))}.play-sidebar{grid-template-columns:1fr}.play-tags span{font-size:9px}}
@media(max-width:430px){.top nav{justify-content:start}.top nav button{font-size:10px;padding:0 6px}.logo .brand-metal img{width:84px}.play-hero-mark{display:none}.play-hero-copy h1{font-size:27px}.welcome-gift strong{font-size:13px}.welcome-gift span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.play-mode,.play-maps .map,#hXp{transition:none!important;animation:none!important}}

/* 0.3.8: feedback de combate y resumen profesional de partida */
#hPips{flex-wrap:wrap;justify-content:center;max-width:320px}
#hPips strong{width:100%;text-align:center;font:700 11px var(--title);letter-spacing:.16em;color:#ffd18a;text-shadow:0 2px 5px #000}
#sb{width:min(980px,96vw)}
#sb table{width:100%}
#sb th{font:600 10px var(--title);letter-spacing:.08em;color:#9fabb3;text-transform:uppercase}
.match-summary{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px;margin:15px 0}
.match-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.match-cards article{display:grid;gap:3px;padding:12px 14px;border:1px solid #ffffff18;border-left:2px solid #c99a54;background:linear-gradient(145deg,#1c252d,#10161b)}
.match-cards small,.match-mvp small,.reward-breakdown small{font:600 9px var(--title);letter-spacing:.12em;color:#9ba8b0}
.match-cards b{font:700 25px var(--num);color:#f4eadb}
.match-mvp{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:14px;border:1px solid #d2a55a77;background:radial-gradient(circle at 50% 25%,#b47a302b,transparent 55%),#131b21}
.match-mvp strong{font:700 20px var(--title);color:#ffd18a;margin:8px 0 4px}.match-mvp span{font-size:11px;color:#bcc5ca}
.damage-ledger{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.damage-ledger>div{border-top:1px solid #ffffff22;padding-top:8px}.damage-ledger h4{margin:0 0 6px;font:600 10px var(--title);letter-spacing:.1em;color:#c9a875}
.damage-ledger span{display:flex;justify-content:space-between;gap:10px;padding:3px 5px;color:#cfd5d8;font-size:11px}.damage-ledger span:nth-child(odd){background:#ffffff08}.damage-ledger i{font-style:normal;color:#9eabb2}
.reward-breakdown{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 15px;margin:12px 0;padding:13px;border:1px solid #9b763f66;background:#181b1c}
.reward-breakdown>div{display:grid;margin-right:8px}.reward-breakdown strong{font:700 20px var(--title);color:#f2c67d}.reward-breakdown span{font-size:11px;color:#bdc5c9}.reward-breakdown span b{color:#e7ba72}
.match-actions{margin-top:14px}.match-actions .btn{min-width:170px}
/* Recompensas de progresión integradas en Perfil y suministros gratuitos */
.level-rewards{margin:15px 0;padding:16px;border:1px solid #9b825b77;border-left:3px solid #c59a5b;border-radius:8px;background:linear-gradient(145deg,#1b2329,#11171c)}
.level-rewards-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.level-rewards-head h3{margin:4px 0;color:#f0dfc3}.level-rewards-head small{color:#aab5bb}
.reward-pending{font:600 9px var(--title);font-style:normal;letter-spacing:.09em;color:#f0d096;border:1px solid #bb925a;padding:3px 7px;border-radius:12px;vertical-align:middle}
.free-case-count{font-size:12px;color:#bcc5c9}.free-case-count b{display:inline-grid;place-items:center;min-width:25px;height:25px;margin-left:5px;border-radius:50%;background:#b68b4c;color:#10161b}
.level-rewards-list{display:grid;gap:5px;margin:12px 0}.level-reward{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid #ffffff12;border-radius:5px;background:#0c1116aa}.level-reward.available{border-color:#b38b4e88;background:#29231966;animation:rewardReady .5s ease-out}.level-reward.claimed{opacity:.62}.reward-level{font:700 10px var(--title);color:#d2b77f;letter-spacing:.08em}.level-reward b,.level-reward small{display:block}.level-reward b{font:600 13px var(--title);color:#e9e2d5}.level-reward small{font-size:10px;color:#9ba8b0;margin-top:2px}.level-reward .btn{padding:5px 10px;font-size:10px}
.next-rewards{display:flex;gap:7px 14px;flex-wrap:wrap;padding:9px 0;border-top:1px solid #ffffff18;color:#bac3c8;font-size:11px}.next-rewards>b{font:700 9px var(--title);letter-spacing:.1em;color:#c7a76e}
.reward-history{font-size:11px;color:#c3b18e}.reward-history summary{cursor:pointer}.reward-history small{display:block;margin-top:7px;color:#9eabb2;line-height:1.6}
.free-case-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px;border:1px solid #ffffff15;background:#0d1318}.free-case-box>b{font:600 13px var(--title);color:#e7d6b7}.free-case-box small{flex:1;color:#aab4b9;font-size:10px}.free-case-box .btn{font-size:10px;padding:6px 9px}
.free-case-dialog{max-width:540px;text-align:center}.free-case-dialog>p{color:#c2c9ca;font-size:13px}.free-case-odds{display:flex;justify-content:center;gap:5px 13px;flex-wrap:wrap;margin:12px 0;padding:10px;background:#0a0f13;border:1px solid #ffffff16}.free-case-odds>b{width:100%;font:700 9px var(--title);letter-spacing:.1em;color:#c8ab76}.free-case-odds span{font-size:10px;color:#b7c0c3}.free-case-odds span b{color:#e9d3a8}
.free-case-animation{height:115px;display:grid;place-items:center;align-content:center;gap:8px;margin:12px auto;color:#b7a27a;font:600 9px var(--title);letter-spacing:.18em}.free-crate{display:grid;place-items:center;width:68px;height:54px;border:2px solid #b58d53;background:linear-gradient(145deg,#776144,#34352f);box-shadow:inset 0 0 0 5px #161a19,0 8px 16px #0008;font:700 18px var(--title);color:#dfc48c;transition:transform .65s cubic-bezier(.2,.7,.3,1),filter .65s}.free-case-animation.opening .free-crate{transform:translateY(-8px) rotateX(55deg) scale(1.13);filter:brightness(1.25)}
.free-prize{margin:8px auto;padding:13px;border:1px solid var(--rc);border-radius:6px;background:linear-gradient(140deg,#242a2c,#121719);animation:prizeReveal .42s ease-out}.free-prize>div{width:min(240px,70vw);height:95px;margin:auto}.free-prize>div svg{width:100%;height:100%}.free-prize>span{font:700 9px var(--title);letter-spacing:.1em;color:var(--rc)}.free-prize h3{margin:5px}.free-prize small{color:#b4bdc0}
@keyframes rewardReady{from{transform:translateY(3px);opacity:.5}to{transform:translateY(0);opacity:1}}@keyframes prizeReveal{from{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}
@media(max-width:600px){.level-reward{grid-template-columns:45px 1fr}.level-reward .btn{grid-column:2;justify-self:start}.free-case-box small{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.level-reward.available,.free-case-animation.opening .free-crate,.free-prize{animation:none!important;transition:none!important}}
@media(max-width:700px){.match-summary{grid-template-columns:1fr}.match-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.damage-ledger{grid-column:auto;grid-template-columns:1fr}.match-mvp{min-height:110px}#sb td,#sb th{padding:5px 4px;font-size:10px}}


/* 0.3.8: cabecera compacta estable incluso si existía un HTML anterior en caché */
.top .logo{flex:0 0 auto;min-width:0}
.top .logo .brand-compact{display:flex;align-items:center;white-space:nowrap}
.top .logo .brand-full-logo{display:block;width:auto;height:50px;max-width:148px;object-fit:contain;filter:drop-shadow(0 2px 7px #000b)}
.top .right{flex:0 0 auto}
.account-anchor #avatar{position:relative;padding:0;cursor:pointer}
.account-anchor #avatar .profile-chevron{position:absolute;right:-5px;bottom:-4px;display:grid;place-items:center;
  border:1px solid #ac874f;background:#14212b;color:#f4d49b;font-size:11px;width:16px;height:16px;border-radius:4px}
.account-anchor #accountMenu{z-index:55}
.account-menu[hidden],.welcome-gift[hidden]{display:none!important}
.play-hero-mark{display:none!important} /* nunca mostrar el logo gigante sobre el menú Jugar */
.play-hero{min-height:152px}
.play-hero-copy{max-width:100%}
@media(max-width:740px){
  .top .logo .brand-full-logo{height:46px;max-width:min(138px,34vw)}
}
@media(max-width:470px){.top .logo .brand-full-logo{height:42px;max-width:min(120px,34vw)}}

/* 0.3.9 · recursos gráficos del pack */
.faction-mark{display:inline-block;width:20px;height:20px;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 1px 2px #0008)}
.faction-mark.faction-t{width:22px;height:22px}.faction-mark.faction-ct{width:22px;height:22px}
.armory-sides .faction-mark{width:24px;height:24px;margin-right:5px;vertical-align:-7px}
.tabs .faction-mark{width:17px;height:17px;vertical-align:-4px}
.faction-feed-mark{display:inline-block;width:15px;height:15px;object-fit:contain;vertical-align:-3px;margin-right:3px;filter:drop-shadow(0 1px 2px #0009)}
.hud-faction-mark{position:static;flex:0 0 24px;width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 2px 3px #000c);pointer-events:none}
#hTop .sc{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;padding:5px 9px 4px}#hTop .sc.t{justify-content:flex-start}
#hTop .score-core{display:flex;flex:0 0 82px;flex-direction:column;align-items:center;justify-content:center;min-width:82px}#hTop .score-value{display:flex;align-items:center;justify-content:center;gap:7px;height:30px}#hTop .score-value b{display:block;margin:0;padding:0;line-height:1}#hTop .score-core small{display:block;padding:0;white-space:nowrap}
#hTop .team-roster{position:static;display:flex;align-items:center;gap:3px;flex:0 0 auto}#hTop .ct .team-roster,#hTop .t .team-roster{right:auto;left:auto;flex-direction:row}
#hTop .team-roster i{flex:0 0 20px;box-sizing:border-box;width:20px;height:20px}
@media(max-width:720px){#hTop .sc{padding:4px 5px}#hTop .score-core{flex-basis:70px;min-width:70px}#hTop .team-roster i{flex-basis:18px;width:18px;height:18px}.hud-faction-mark{flex-basis:20px;width:20px;height:20px}}
@media(max-width:520px){#hTop .team-roster i:nth-child(n+3){display:none}#hTop .sc{gap:3px;padding:4px}#hTop .score-core{flex-basis:62px;min-width:62px}#hTime{min-width:68px;padding:4px 8px}}
#sb h3 .faction-mark{margin-right:4px;vertical-align:-5px}
.achievement>span.achievement-mark{flex:0 0 48px;width:48px;height:48px;border:0;border-radius:0;background:transparent;padding:0;display:block}
.achievement-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px #0008)}
.achievement.locked .achievement-mark img{filter:grayscale(1) brightness(.8);opacity:.72}
.md .mi{overflow:hidden}.md .mi img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px #0009)}
@media(max-width:520px){.achievement>span.achievement-mark{flex-basis:42px;width:42px;height:42px}.armory-sides .faction-mark{width:20px;height:20px}}

/* 0.3.9 · el tamaño de las tarjetas no puede forzar el ancho de sus columnas */
.maps.play-maps{min-width:0;max-width:100%;width:100%;align-items:start}
.maps.play-maps>.map{box-sizing:border-box;min-width:0;max-width:100%;width:100%;height:auto;min-height:0;aspect-ratio:16/9;overflow:hidden}
.maps.play-maps>.map .map-scene{inset:0;max-width:100%;pointer-events:none}

/* Sprites de la tienda de partida (img/buy): blancos en origen, teñidos con el color del bando */
#buy{--buy-tint:var(--buy-accent)}#buy.buy-t{--buy-tint:#f0a24f}#buy.buy-ct{--buy-tint:#6fb4ff}
.bsp{position:relative;display:block;width:100%;height:100%;isolation:isolate}
.bsp::before{content:'';position:absolute;inset:0;background:var(--buy-tint);-webkit-mask:var(--img) center/contain no-repeat;mask:var(--img) center/contain no-repeat}
.bsp img{position:relative;display:block;width:100%;height:100%;max-width:none!important;max-height:none!important;object-fit:contain;mix-blend-mode:multiply;filter:none!important}
.bimg:has(.bsp){filter:drop-shadow(0 3px 4px #000b)}
.bc:not(:disabled):hover .bsp::before{background:color-mix(in srgb,var(--buy-tint) 70%,#fff)}
.bc.own .bsp,.bc.short .bsp{opacity:.45;filter:saturate(.4)}
.bc .bimg:has(.bsp){position:relative;flex:0 0 auto}
.bsp{position:absolute;inset:0;width:auto;height:auto}
.buy-group .bc .bimg:has(.bsp){height:40px;margin:1px 0 2px}

/* Ranuras de armas del HUD: sprites limpios, sin fondo; la activa en blanco pleno con el acento del HUD */
#hSlots{gap:6px}
#hSlots div{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:0;background:none!important;border:0!important;opacity:.45;transition:opacity .15s,transform .15s}
#hSlots div.on{opacity:1;transform:translateX(-4px)}
#hSlots .hs-sp{height:26px;width:auto;max-width:96px;object-fit:contain;filter:drop-shadow(0 2px 3px #000c)}
#hSlots div.on .hs-sp{filter:drop-shadow(0 2px 3px #000c) drop-shadow(0 0 6px color-mix(in srgb,var(--hud-accent,#4dde72) 60%,transparent))}
#hSlots b{width:auto;min-width:16px;margin:0;padding:0 4px;border:0;border-radius:3px;background:none;font:700 11px var(--num);color:#cfd6db}
#hSlots div.on b{color:var(--hud-accent,#4dde72)}
/* Póster del bando en la tienda de partida (sustituye a la silueta genérica) */
.buy-operator.buy-poster{padding:0;justify-content:stretch;background:#05080b}
.buy-operator.buy-poster>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:none;opacity:1}
.buy-operator.buy-poster::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--buy-accent) 35%,transparent),inset 0 -40px 40px -30px #000a;pointer-events:none}
.buy-operator.buy-poster>img:first-child{object-fit:contain;object-position:50% 50%;z-index:1}
.buy-operator.buy-poster::before{content:'';position:absolute;inset:-20px;background:var(--poster) center/cover no-repeat;filter:blur(14px) brightness(.55);z-index:0}
.buy-operator.buy-poster::after{z-index:2}
/* pósters sin texto: llenan el panel; el recorte cae en los bordes, no en la cara ni el emblema */
.buy-operator.buy-poster>img:first-child{object-fit:cover;object-position:42% 30%}
.buy-operator.buy-poster::before{display:none}
#buy.buy-t .buy-poster>img:first-child{object-position:44% 18%}
#buy.buy-ct .buy-poster>img:first-child{object-position:50% 0%}
/* HUD sin fondos: solo texto e iconos con sombra para leerse sobre el mapa */
#hTop .sc,#hTime,#hXp,#hHint,#hSpec,#hHp,#hAmmo,#hMoney,#hSlots div,#hMedal .md,#hRadar,.kf,.kf.me{background:none!important;box-shadow:none!important;backdrop-filter:none!important;border-color:transparent!important}
#hRadar{box-shadow:0 0 0 1px #ffffff30!important}
#hud{text-shadow:0 1px 2px #000,0 0 6px #000c}
#clickp{display:none!important}
