/* Arena PvP (pvp.js): the Store/Market window, collection slots, client modals and ba-outcome pieces only.
   Sprites are drawn by Market.fit (whole device pixels per sprite pixel, creatures walking). */
.pv-win .window-body{display:flex;flex-direction:column;gap:6px;padding:6px}
.pv-modes,.pv-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.pv-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.pv-modes button,.pv-tabs button{min-width:0;min-height:28px;padding:2px 4px}
.pv-modes small{display:block;color:#a9a9a9;font-size:9px;line-height:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-modes button.active,.pv-tabs button.active,.pv-side button.active,.pv-chips button.on,.pv-owned button.active{color:#fff;border-color:#c5b47c;box-shadow:inset 0 0 0 1px #c5b47c}
.pv-tabs .pv-bad{font-weight:normal}
.pv-pad{padding:6px}
.pv-note,.pv-text{margin:0;color:#a9a9a9;line-height:15px}
.pv-text{color:#c0c0c0}
.pv-good{color:#7cf08a;font-weight:normal}.pv-bad{color:#e8756c;font-weight:normal}.pv-gold{color:#f4d35e;font-weight:normal}
.pv-big{min-height:34px}
/* League header */
.pv-league{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:0;padding:5px 8px 5px 5px;text-align:left;border:1px solid #111;border-image:none;background:#1c1c1c;box-shadow:inset 0 0 0 1px #c5b47c,1px 1px #6a6a6a;color:#c0c0c0;cursor:pointer}
.pv-league>.ba-slot{width:56px}
.pv-league-txt{min-width:0}
.pv-league strong{display:block;color:#fff;font:22px/24px 'Tibia Pixel',Verdana,sans-serif;font-weight:normal}
.pv-league small{display:block;color:#a9a9a9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-league .pv-title{color:#e4ca78}
.pv-league .end{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
.pv-medal{display:inline-flex;align-items:center;gap:2px;color:#f4d35e;font-weight:normal}
.pv-ic16{position:relative;display:inline-block;flex:0 0 auto;width:16px;height:16px;vertical-align:-3px}
.pv-prog{position:relative;display:block;height:8px;margin-top:3px;background:#1c1c1c;border:1px solid #000}
.pv-prog i{position:absolute;left:0;top:0;bottom:0;background:#4a7a3a}
/* Emblems: a league, a cosmetic or an NPC team */
.ba-slot.pv-emblem{display:flex;align-items:center;justify-content:center}
.pv-emblem b{color:#a9a9a9;font:bold 11px 'Tibia Pixel',Verdana,sans-serif}
.pv-npc b{color:#e4ca78}
.pv-big-emblem{width:72px!important}
.ba-slot.pv-empty{background:#1c1c1c;box-shadow:inset 0 0 0 1px #3c3c3c}
.ba-slot.pv-missing{display:flex;align-items:center;justify-content:center;color:#e8756c;font:bold 16px 'Tibia Pixel',Verdana,sans-serif;box-shadow:inset 0 0 0 1px #e8584c}
.pv-side{display:grid;grid-template-columns:1fr 1fr;gap:2px}.pv-side button{min-height:26px}
/* Teams */
.pv-team{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px}
.pv-team .ba-slot{pointer-events:none}
.pv-team-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 6px 6px}
.pv-team-foot .grow,.pv-refresh .grow{flex:1;min-width:0}
.pv-els{display:flex;flex-wrap:wrap;gap:3px}
.pv-el{display:inline-flex;align-items:center;gap:2px;padding:0 4px;background:#1c1c1c;border:1px solid #111;color:#c0c0c0;white-space:nowrap}
.pv-el .ti{margin-right:1px}
/* Opponents */
.pv-opps{display:flex;flex-direction:column;gap:4px;padding:4px}
.pv-opp{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:6px;align-items:center;min-height:0;padding:4px;text-align:left;border:1px solid #111;border-image:none;background:#2b2b2b;box-shadow:inset 1px 1px #3d3d3d;color:#c0c0c0;cursor:pointer}
.pv-opp:hover{border-color:#5e5e5e}
.pv-opp.is-used{opacity:.55;cursor:default}
.pv-opp>.ba-slot{width:40px}
.pv-opp-txt{min-width:0}
.pv-opp strong{display:block;color:#fff;font-weight:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-opp small{display:block;color:#a9a9a9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-mini{display:flex;gap:2px;margin-top:2px}
.pv-mini .ba-slot{width:26px;flex:0 0 26px}
.pv-mini .ba-stars,.pv-mini .ba-level,.pv-mini .ba-shiny{display:none}
.pv-opp .end{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}
.pv-pts b{font-weight:normal}
.pv-refresh{display:flex;align-items:center;gap:4px;padding:0 4px 4px}
.pv-banner{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:6px;align-items:center;width:100%;min-height:0;padding:4px 6px;text-align:left;border:1px solid #111;border-image:none;background:#1c1c1c;box-shadow:inset 1px 1px #000,1px 1px #6a6a6a;color:#c0c0c0;cursor:pointer}
.pv-banner>.ba-slot{width:40px}
.pv-banner strong{display:block;color:#e4ca78;font-weight:normal}.pv-banner small{display:block;color:#a9a9a9}
.pv-links{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:4px}
.pv-links button{min-height:28px}
.pv-links .st-badge{display:inline-block;min-width:14px;padding:0 3px;font:bold 10px/14px 'Tibia Pixel',Verdana,sans-serif;color:#1c1c1c;background:#e8c547;border:1px solid #111}
/* Modal pieces (the window itself is the Market's mk-modal) */
.pv-head{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:center}
.pv-head>.ba-slot{width:64px}
.pv-head h2{margin:0;font:22px/24px 'Tibia Pixel',Verdana,sans-serif;color:#fff;overflow-wrap:anywhere}
.pv-head p{margin:2px 0 0;line-height:15px;color:#c0c0c0}.pv-head p small{color:#a9a9a9}
.pv-two{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.pv-box{display:grid;gap:3px;padding:6px 8px;background:#1c1c1c;border:1px solid #111;box-shadow:inset 1px 1px #000,1px 1px #6a6a6a;color:#c0c0c0;line-height:15px}
.pv-box b{color:#fff;font-weight:normal}
.pv-box h4{margin:0;color:#e4ca78;font:11px 'Tibia Pixel',Verdana,sans-serif}
.pv-box.pv-alert{box-shadow:inset 0 0 0 1px #e8584c,1px 1px #6a6a6a}.pv-box.pv-alert h4{color:#e8756c}
.pv-foot-l{display:flex;flex-direction:column;min-width:0;margin-right:auto;line-height:15px}.pv-foot-l small{color:#a9a9a9}.pv-foot-l b{color:#fff;font-weight:normal}
.pv-banner-res{margin:0}
.pv-banner-res.is-win strong{color:#f4d35e}.pv-banner-res.is-loss strong{color:#e8756c}
/* Stats and analysis */
.pv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
.pv-stats div{padding:4px 6px;background:#3d3d3d url('/assets/ui/classic/panel-texture.png');border:1px solid #111;box-shadow:inset 1px 1px #6a6a6a;line-height:15px;color:#c0c0c0}
.pv-stats b{display:block;color:#f4d35e;font-weight:normal}
.pv-bars{display:grid;gap:4px;padding:6px}
.pv-bar{display:grid;grid-template-columns:28px minmax(0,1fr) 56px;gap:6px;align-items:center;color:#c0c0c0}
.pv-bar>.ba-slot{width:28px}.pv-bar .ba-stars,.pv-bar .ba-level,.pv-bar .ba-shiny{display:none}
.pv-bar .t{min-width:0}.pv-bar .t small{color:#a9a9a9}
.pv-bar .track{position:relative;display:block;height:8px;margin-top:2px;background:#1c1c1c;border:1px solid #000}
.pv-bar .track i{position:absolute;left:0;top:0;bottom:0}.pv-bar .dmg{background:#e8756c}.pv-bar .heal{background:#5fc85f}
.pv-bar .n{text-align:right;color:#fff}
.pv-insights{display:grid;gap:4px;padding:6px}
.pv-insight{display:grid;grid-template-columns:16px minmax(0,1fr);gap:6px;align-items:start;padding:5px 6px;background:#262626;border:1px solid #111;box-shadow:inset 1px 1px #000,1px 1px #6a6a6a;line-height:15px;color:#c0c0c0}
/* Lists */
.pv-rows{display:flex;flex-direction:column;gap:2px;padding:2px;background:#1c1c1c;border:1px solid #111;box-shadow:inset 1px 1px #000,1px 1px #6a6a6a}
.pv-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;min-height:0;padding:3px 5px 3px 3px;text-align:left;border:1px solid #111;border-image:none;background:#2b2b2b;color:#c0c0c0}
button.pv-row{cursor:pointer}
.pv-row:nth-child(even){background:#323232}
.pv-row>.ba-slot{width:32px}
.pv-row strong{display:block;color:#fff;font-weight:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-row small{display:block;color:#a9a9a9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-row .end{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
.pv-row .end b{color:#fff;font-weight:normal}
.pv-row-btns{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px}
.pv-row-btns button{min-height:22px;padding:1px 6px}
.pv-row.me{box-shadow:inset 0 0 0 1px #c5b47c}
.pv-res{display:inline-block;min-width:18px;padding:0 3px;text-align:center;border:1px solid #111;background:#1c1c1c;color:#a9a9a9}
.pv-res.w{color:#7cf08a}.pv-res.l{color:#e8756c}
.pv-chips{display:flex;gap:3px;overflow-x:auto;scrollbar-width:none}.pv-chips::-webkit-scrollbar{display:none}
.pv-chips button{flex:0 0 auto;min-height:24px;padding:1px 8px;white-space:nowrap}
.pv-add{display:flex;gap:4px}.pv-add input{flex:1;min-width:0}
.pv-chk{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;background:#262626;border:1px solid #111;color:#c0c0c0}
/* Rewards */
.pv-wallet{display:flex;gap:4px}.pv-wallet .st-bal{flex:1;justify-content:center}
.pv-goals{display:grid;gap:4px;padding:6px}
.pv-goal{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;padding:4px 6px;background:#262626;border:1px solid #111;box-shadow:inset 1px 1px #000,1px 1px #6a6a6a;color:#c0c0c0}
.pv-goal .pv-prog{grid-column:1/-1;margin:0}
.pv-goal b{color:#f4d35e;font-weight:normal}
.pv-goal button{min-height:22px;padding:1px 8px}
.pv-leagues{display:flex;flex-direction:column;gap:2px;padding:6px}
.pv-lg{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px;align-items:center;padding:3px 5px 3px 3px;background:#2b2b2b;border:1px solid #111;color:#c0c0c0}
.pv-lg>.ba-slot{width:32px}
.pv-lg.on{box-shadow:inset 0 0 0 1px #c5b47c}.pv-lg strong{display:block;color:#fff;font-weight:normal}.pv-lg small{display:block;color:#a9a9a9}
.pv-shop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:#1c1c1c;border:1px solid #111;box-shadow:inset 1px 1px #000,1px 1px #6a6a6a}
.pv-card{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:3px 3px 4px;min-width:0;background:#2b2b2b;border:1px solid #111;box-shadow:inset 1px 1px #3d3d3d;color:#c0c0c0;text-align:center}
.pv-card .nm{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-card .sub{color:#a9a9a9}
.pv-card button{min-height:24px;padding:1px 4px;display:inline-flex;align-items:center;justify-content:center;gap:3px}
.pv-title-tag{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;padding:4px;background:#262626;border:1px solid #121212;color:#e4ca78;font:11px/14px 'Tibia Pixel',Verdana,sans-serif;text-shadow:1px 1px #000;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.pv-head .pv-title-tag{width:64px}
.pv-owned{display:flex;flex-wrap:wrap;gap:3px;padding:6px}
.pv-owned button{display:inline-flex;align-items:center;gap:3px;min-height:24px;padding:1px 6px}
/* Formation field */
.pv-field{display:grid;grid-template-columns:repeat(var(--cols,6),minmax(0,1fr));gap:1px;width:100%;max-width:320px;margin:0 auto;padding:3px;background:#1c1c1c;border:1px solid #111;box-shadow:inset 1px 1px #000,1px 1px #6a6a6a}
.pv-cell{position:relative;display:block;aspect-ratio:1;min-width:0;min-height:0;padding:0;border:0;border-image:none;background:#41382c;box-shadow:inset 0 0 0 1px #2b241c;color:#e8756c;text-align:center}
.pv-cell:nth-child(6n){background:#4a4034}
button.pv-cell{cursor:pointer}
.pv-cell.free{box-shadow:inset 0 0 0 1px #8baf7460}
.pv-cell.sel{box-shadow:inset 0 0 0 2px #e3d483}
.pv-cell.bad{box-shadow:inset 0 0 0 2px #e8584c}
.pv-cell b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:bold 14px 'Tibia Pixel',Verdana,sans-serif}
.pv-cell .ba-slot{position:absolute;inset:0;width:auto;background:transparent;box-shadow:none;border:0;pointer-events:none}
.pv-cell .ba-stars,.pv-cell .ba-level,.pv-cell .ba-shiny{display:none}
.pv-edit-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#a9a9a9}
.pv-edit-bar button{min-height:24px;padding:1px 8px}
.pv-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:3px;max-height:220px;overflow:auto;padding:3px;background:#1c1c1c;border:1px solid #111}
.pv-pick-c{min-width:0;min-height:0;padding:0;border:0;border-image:none;background:none}
.pv-pick-c .ba-slot{pointer-events:none}
.pv-pick-c.in .ba-slot{box-shadow:inset 0 0 0 2px #c5b47c}
.pv-pick-c:disabled{opacity:.4}
/* First entry */
.pv-first{display:grid;gap:4px;padding:6px}
.pv-step{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;align-items:center;padding:3px 6px;background:#262626;border:1px solid #111;color:#c0c0c0}
.pv-step b{display:flex;align-items:center;justify-content:center;height:20px;border:1px solid #111;background:#1c1c1c;color:#a9a9a9;font-weight:normal}
.pv-step.done b{color:#1c1c1c;background:#5fc85f}
.pv-step-title{margin:0;font:16px/18px 'Tibia Pixel',Verdana,sans-serif;color:#fff}
.pv-art{display:flex;justify-content:center;gap:8px;padding:8px;background:#1c1c1c;border:1px solid #111;box-shadow:inset 1px 1px #000,1px 1px #6a6a6a}
.pv-art .ba-slot{width:56px}
.lg-steps{display:flex;gap:2px}.lg-steps i{flex:1;height:6px;background:#262626;border:1px solid #111}.lg-steps i.on{background:#c5b47c}.lg-steps i.done{background:#5fc85f}
/* Wide screens */
@media(min-width:900px){
 .pv-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:start}
 .pv-shop{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}
 .pv-team{grid-template-columns:repeat(5,minmax(0,76px))}
 dialog.window.pv-modal{width:min(520px,calc(100vw - 12px))}
}
@media(max-width:380px){.pv-tabs button,.pv-modes button{font-size:10px}.pv-league strong{font-size:18px}}
/* Tutorial: the empty slots are buttons that open the formation editor. */
.pv-t-slot{display:inline-flex;min-width:0;min-height:0;padding:0;border:0;background:none;box-shadow:none;cursor:pointer}
.pv-t-slot:focus-visible{outline:1px solid #c5b47c}
.pv-placed{margin:4px 0;padding:4px 6px;background:#1c1c1c;border:1px solid #111;box-shadow:inset 1px 1px #000,1px 1px #6a6a6a;color:#c0c0c0;text-align:center}
