/* PokéBattle V13.63 CSS bundle; original execution/cascade order preserved. */

/* ===== pb_quantity_controls.css ===== */
/* PokéBattle quantity controls */
.pbQtyControl{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  gap:7px;
  align-items:center;
  width:100%;
}
.pbQtyControl > input[type="number"]{
  width:100%!important;
  min-width:0!important;
  text-align:center;
  -moz-appearance:textfield;
}
.pbQtyControl > input[type="number"]::-webkit-outer-spin-button,
.pbQtyControl > input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.pbQtyBtn{
  min-width:42px;
  width:42px;
  height:42px;
  border:1px solid #30394d;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:21px;
  line-height:1;
  font-weight:1000;
  cursor:pointer;
  display:grid;
  place-items:center;
  user-select:none;
  -webkit-user-select:none;
  touch-action:manipulation;
  transition:border-color .15s ease,background .15s ease,transform .08s ease;
}
.pbQtyBtn:hover{border-color:#f3d13f;background:#171f2f}
.pbQtyBtn:active{transform:scale(.96)}
.pbQtyBtn:disabled{opacity:.45;cursor:not-allowed;transform:none}
@media(max-width:700px){
  .pbQtyControl{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}
  .pbQtyBtn{width:44px;min-width:44px;height:44px;font-size:23px}
  .pbQtyControl > input[type="number"]{min-height:44px!important;font-size:16px!important}
}

/* Quantity stepper inside the active battle lobby */
.pb46QtyFact .pbQtyControl{
  grid-template-columns:34px minmax(54px,1fr) 34px;
  gap:5px;
  margin-top:2px;
}
.pb46QtyFact .pbQtyBtn{
  width:34px;
  min-width:34px;
  height:34px;
  font-size:18px;
  border-radius:8px;
}
.pb46QtyFact .pbQtyControl > input[type="number"]{
  height:34px!important;
  min-height:34px!important;
  padding:0 5px!important;
  font-size:13px!important;
  border:1px solid #33405a!important;
  border-radius:8px!important;
  background:#0c1320!important;
  color:#fff!important;
  font-weight:900!important;
}
@media(max-width:700px){
  .pb46QtyFact .pbQtyControl{grid-template-columns:36px minmax(52px,1fr) 36px;gap:5px}
  .pb46QtyFact .pbQtyBtn{width:36px;min-width:36px;height:36px;font-size:20px}
  .pb46QtyFact .pbQtyControl > input[type="number"]{height:36px!important;min-height:36px!important;font-size:16px!important}
}


/* ===== pb_stable.css ===== */
/* PokéBattle stable UI patch */
#lobby.pbStable46{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#lobby.pbStable46>*:not(#pbLobbyStable46){display:none!important}
#pbLobbyStable46{display:grid;grid-template-columns:minmax(210px,300px) 1fr;gap:14px;padding:14px;border:1px solid #2a3448;background:#0f1522;border-radius:16px;margin:0 0 12px}
.pb46Set{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;border:1px solid #2b3549;background:#111827;border-radius:14px;padding:10px;min-height:104px}
.pb46Set.canEdit{cursor:pointer}.pb46Set.canEdit:hover{border-color:#f2cf42}
.pb46SetLogo{height:84px;display:grid;place-items:center;border-radius:11px;background:#0b111d;overflow:hidden}.pb46SetLogo img{width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box}
.pb46SetText b{display:block;color:#fff;font-size:17px;line-height:1.15}.pb46SetText span{display:inline-block;margin-top:9px;border:1px solid #39445b;border-radius:9px;padding:7px 9px;color:#fff;font-size:10px;font-weight:900}.pb46SetText small{display:block;margin-top:8px;color:#8793a8}
.pb46Right{display:grid;grid-template-rows:auto auto;gap:10px;min-width:0}.pb46Facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.pb46Fact{border:1px solid #2b3549;background:#111827;border-radius:11px;padding:9px 10px;min-width:0}.pb46Fact small{display:block;color:#8793a8;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.pb46Fact b{display:block;color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb46Fact span{display:block;color:#f2cf42;font-size:9px;font-weight:900;margin-top:4px}
.pb46Actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.pb46Actions button{min-height:40px;border-radius:10px;border:1px solid #354057;background:#151d2d;color:#fff;font-weight:1000;padding:0 14px;cursor:pointer}.pb46Actions button:hover:not(:disabled){border-color:#556582}.pb46Actions button:disabled{opacity:.38;cursor:not-allowed}.pb46Actions .primary{background:#f5c83e;border-color:#f7d75c;color:#111}.pb46Actions .leave{background:#d7354d;border-color:#e44960;color:#fff}.pb46CodeRow{display:flex;align-items:center;gap:6px}.pb46CodeRow button{min-height:24px!important;padding:0 7px!important;font-size:9px!important;border-radius:7px!important}
#arenaTitle.pb46Title{font-size:18px!important}#arenaInfo.pb46Info{color:#8995aa!important}

#pb46Picker{position:fixed;inset:0;z-index:1800;display:none;align-items:flex-start;justify-content:center;padding:94px 18px 18px;background:rgba(4,7,13,.80);backdrop-filter:blur(12px);overflow:auto}#pb46Picker.open{display:flex}
.pb46PickerModal{width:min(1120px,100%);max-height:calc(100dvh - 112px);display:grid;grid-template-rows:auto auto 1fr auto;border:1px solid #303b51;background:#0d1421;border-radius:20px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.45)}.pb46PickerHead{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #253044}.pb46PickerHead h3{margin:0;color:#fff;font-size:22px}.pb46PickerHead p{margin:5px 0 0;color:#8e9ab0;font-size:11px}.pb46PickerHead button{width:42px;height:42px;border-radius:12px;border:1px solid #344057;background:#151d2d;color:#fff;font-size:18px;cursor:pointer}.pb46PickerControls{display:grid;grid-template-columns:1.4fr 1fr;gap:9px;padding:12px 18px;border-bottom:1px solid #253044}.pb46PickerControls input,.pb46PickerControls select{min-height:42px;border-radius:11px;border:1px solid #344057;background:#0b111c;color:#fff;padding:0 11px;font-weight:800}.pb46PickerGrid{overflow:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px}.pb46PickerCard{border:1px solid #2c364a;background:#111827;border-radius:14px;padding:10px;cursor:pointer;text-align:left;transition:.12s transform,.12s border-color}.pb46PickerCard:hover{transform:translateY(-1px);border-color:#475875}.pb46PickerCard.active{border-color:#f1cc3f;box-shadow:0 0 0 1px rgba(241,204,63,.2)}.pb46PickerCard .logo{height:100px;border-radius:11px;background:#0b111d;display:grid;place-items:center;margin-bottom:8px}.pb46PickerCard img{width:100%;height:100%;object-fit:contain;padding:8px;box-sizing:border-box}.pb46PickerCard b{display:block;color:#fff;font-size:13px}.pb46PickerFoot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #253044}.pb46PickerPreview{display:flex;align-items:center;gap:9px;color:#dfe5ef;font-size:11px}.pb46PickerPreview img{width:52px;height:52px;object-fit:contain;background:#0a101a;border-radius:9px;padding:5px}.pb46PickerApply{min-height:42px;padding:0 17px;border-radius:11px;border:1px solid #f7d45b;background:#f2c73e;color:#111;font-weight:1000;cursor:pointer}

#pb46Vs{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;background:rgba(5,8,14,.40);backdrop-filter:blur(14px)}#pb46Vs.show{display:flex}.pb46VsStage{width:min(1160px,calc(100vw - 34px));min-height:320px;border-radius:24px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(135deg,rgba(17,23,37,.96),rgba(8,12,20,.96));box-shadow:0 28px 80px rgba(0,0,0,.45);display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:18px;padding:28px;overflow:hidden;position:relative}.pb46VsStage:before{content:"";position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 36%,rgba(240,55,78,.10) 44%,transparent 52%,rgba(91,74,255,.11) 61%,transparent 68%);transform:translateX(-25%);animation:pb46Slash 3s ease both;pointer-events:none}@keyframes pb46Slash{to{transform:translateX(25%)}}
.pb46Team{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;position:relative;z-index:1}.pb46Fighter{width:160px;border:1px solid #354159;background:#151d2d;border-radius:18px;padding:13px;text-align:center;opacity:0;box-shadow:0 18px 30px rgba(0,0,0,.25)}.pb46Fighter.left.go{animation:pb46Left .38s cubic-bezier(.2,.9,.2,1) forwards}.pb46Fighter.right.go{animation:pb46Right .38s cubic-bezier(.2,.9,.2,1) forwards}@keyframes pb46Left{from{opacity:0;transform:translateX(-90px) skewX(-8deg) scale(.82)}to{opacity:1;transform:none}}@keyframes pb46Right{from{opacity:0;transform:translateX(90px) skewX(8deg) scale(.82)}to{opacity:1;transform:none}}.pb46Avatar{width:86px;height:86px;margin:0 auto 9px;border-radius:18px;border:1px solid #3b4760;background:#0d1421;display:grid;place-items:center;overflow:hidden;font-size:36px;font-weight:1000}.pb46Avatar img{width:100%;height:100%;object-fit:cover}.pb46Fighter b{display:block;color:#fff;font-size:17px}.pb46Fighter small{display:block;color:#9ba7ba;font-size:10px;font-weight:900;margin-top:4px;letter-spacing:.06em}.pb46VsCenter{position:relative;z-index:1;text-align:center}.pb46VsLogo{width:165px;height:165px;object-fit:contain;opacity:0;transform:scale(.35) rotate(-10deg);filter:drop-shadow(0 13px 18px rgba(0,0,0,.36))}.pb46VsLogo.go{animation:pb46VsPop .34s cubic-bezier(.2,1.2,.2,1) forwards}@keyframes pb46VsPop{to{opacity:1;transform:scale(1) rotate(0)}}.pb46Open{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.5);opacity:0;color:#fff;font-size:58px;font-weight:1000;letter-spacing:.16em;text-shadow:0 0 18px rgba(255,213,64,.35);z-index:3}.pb46Open.go{animation:pb46Open .42s ease forwards}@keyframes pb46Open{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

#musicPanelV7.pb46Music,#musicBox.pb46Music{width:min(340px,calc(100vw - 22px));padding:14px!important}.pb46MusicTitle{font-size:15px;font-weight:1000;color:#fff;margin-bottom:10px}.pb46Now{padding:11px;border:1px solid #303b51;border-radius:12px;background:#111827;margin-bottom:9px}.pb46Now small{display:block;color:#8995aa;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.pb46Now b{display:block;color:#fff;font-size:16px;margin-top:4px}.pb46Now span{display:block;color:#919db2;font-size:10px;margin-top:4px}.pb46MusicControls{display:grid;grid-template-columns:44px 1fr 44px;gap:7px}.pb46MusicControls button,.pb46MusicBottom button{min-height:40px;border:1px solid #344057;background:#151d2d;color:#fff;border-radius:10px;font-weight:1000;cursor:pointer}.pb46MusicControls .play{background:#6a4bea;border-color:#846cff}.pb46MusicBottom{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;margin-top:9px}.pb46MusicBottom input{width:100%}

#battleHistoryDateV131035,#battleHistoryResultV131035{color:#fff!important;color-scheme:dark!important;background:#0e1523!important}#battleHistoryDateV131035::-webkit-calendar-picker-indicator{filter:invert(1)!important}.pb46HistoryToggle{margin-left:auto;width:38px;height:38px;border-radius:10px;border:1px solid #344057;background:#151d2d;color:#fff;font-weight:1000;cursor:pointer}.pb46HistClosed .bhFiltersV131035,.pb46HistClosed .bhList{display:none!important}.pb46HistoryToggle.closed{transform:rotate(-90deg)}
#inventorySellDuplicatesStable{white-space:nowrap}
#pbConfigureRematchV131038,#pbRematchPanelV131038{display:none!important}

@media(max-width:900px){#pbLobbyStable46{grid-template-columns:1fr}.pb46Facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pb46VsStage{grid-template-columns:1fr;min-height:500px}.pb46VsCenter{order:-1}.pb46PickerControls{grid-template-columns:1fr}.pb46Set{grid-template-columns:82px 1fr}}

/* Requested: stable battle lobby spans the full arena width. */
#lobby.pbStable46.inArena{display:block!important;grid-template-columns:none!important;width:100%!important;max-width:none!important;box-sizing:border-box!important}
#pbLobbyStable46{grid-column:1/-1!important;width:100%!important;max-width:none!important;box-sizing:border-box!important}
.pb46PickerFoot{justify-content:flex-start!important}

/* Roulette final state: keep the winning item under the arrow with neighbours visible. */
#page-roulette .pb46RouletteWrap{flex:0 0 auto!important;width:auto!important}
#page-roulette .pbStableRouletteWinner{border-color:#ffd12f!important;box-shadow:0 0 0 2px rgba(255,209,47,.28),0 0 28px rgba(255,209,47,.22)!important}
#page-roulette #rouletteResultsV10:empty,#page-roulette #rouletteV8Results:empty{display:none!important}


/* ===== pb_fixes.css ===== */
/* Final user-requested fixes: responsive, teams, podium, calendars. */
html,body{max-width:100%;overflow-x:hidden}

/* White native calendar glyphs on dark controls. */
input[type="date"]{color-scheme:dark!important;color:#fff!important}
#battleHistoryDateV131035::-webkit-calendar-picker-indicator,
#authBirthV131038::-webkit-calendar-picker-indicator,
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(2)!important;opacity:1!important;cursor:pointer}

/* 2v2 team identity during the live battle. */
#playerSlots .slot.pbTeamAFix{border-color:#3284ff!important;box-shadow:0 0 0 1px rgba(50,132,255,.18)}
#playerSlots .slot.pbTeamBFix{border-color:#ff4e63!important;box-shadow:0 0 0 1px rgba(255,78,99,.16)}
#playerSlots .slot.pbTeamAFix .slotTop{background:linear-gradient(90deg,rgba(34,112,255,.24),rgba(17,24,38,.96))!important;border-bottom-color:rgba(61,139,255,.55)!important}
#playerSlots .slot.pbTeamBFix .slotTop{background:linear-gradient(90deg,rgba(234,56,77,.24),rgba(17,24,38,.96))!important;border-bottom-color:rgba(255,77,97,.55)!important}
#playerSlots .slot.pbTeamAFix .slotWho small:after{content:" · EQUIPO AZUL";color:#78b3ff;font-weight:1000}
#playerSlots .slot.pbTeamBFix .slotWho small:after{content:" · EQUIPO ROJO";color:#ff8493;font-weight:1000}

/* VS presentation: FFA is everyone-vs-everyone, never visually 3v2. */
.pb46VsModeFix{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:5;color:#ffd75a;font-size:11px;font-weight:1000;letter-spacing:.12em;white-space:nowrap}
.pb46Fighter.teamA{border-color:#347fe8!important;background:linear-gradient(180deg,rgba(28,87,177,.28),#151d2d)!important}
.pb46Fighter.teamB{border-color:#e94c61!important;background:linear-gradient(180deg,rgba(183,46,65,.28),#151d2d)!important}
.pb46VsStage.ffaModeFix{grid-template-columns:1fr!important;min-height:340px!important;padding-top:52px!important}
.pb46VsStage.ffaModeFix #pb46Right{display:none!important}
.pb46VsStage.ffaModeFix .pb46VsCenter{order:-1;margin:0 auto 8px}
.pb46VsStage.ffaModeFix #pb46Left{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));width:min(930px,100%);margin:0 auto;gap:12px;align-items:start}
.pb46Fighter.ffa{width:100%;max-width:170px;justify-self:center;opacity:0;transform:scale(.78) translateY(28px)}
.pb46Fighter.ffa.go{animation:pbFfaEnterFix .36s cubic-bezier(.2,.9,.2,1) forwards}
@keyframes pbFfaEnterFix{to{opacity:1;transform:none}}

/* A classic 2 / 1 / 3 podium. */
.leaderboardPodiumV131029{grid-template-columns:1fr 1.08fr 1fr!important;align-items:end!important;gap:10px!important}
.leaderboardPodiumV131029>.lbPodiumCardV131029:nth-child(1){min-height:158px!important;order:1}
.leaderboardPodiumV131029>.lbPodiumCardV131029:nth-child(2){min-height:188px!important;order:2;transform:translateY(-10px)}
.leaderboardPodiumV131029>.lbPodiumCardV131029:nth-child(3){min-height:142px!important;order:3}

/* ---------- Mobile responsiveness ---------- */
@media(max-width:760px){
  .page{padding-left:10px!important;padding-right:10px!important}
  .sectionhead{gap:10px!important;flex-wrap:wrap!important}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .stat{min-width:0!important;padding:12px!important}
  .stat strong{font-size:19px!important;overflow-wrap:anywhere}

  /* Inventory toolbar: no clipped selects/buttons. */
  #page-inventory .inventoryToolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;width:100%!important;min-width:0!important;padding:8px!important}
  #page-inventory #invSearch{grid-column:1/-1!important;min-width:0!important;width:100%!important}
  #page-inventory .inventoryToolbar select{width:100%!important;min-width:0!important}
  #page-inventory #invGradeFilterV115{grid-column:1/-1!important}
  #inventorySellBarV1396{width:100%!important;min-width:0!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
  #inventorySellBarV1396 .sellBtnsV1396{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:6px!important}
  #inventorySellBarV1396 .sellBtnsV1396 .btn{min-width:0!important;width:100%!important;white-space:normal!important;padding:8px 6px!important}
  #inventorySellSummaryV1396{overflow-wrap:anywhere}
  .inventoryActionsV10{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  #inventory{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #inventory .inv,#inventory .invPackV10{min-width:0!important}
  #inventory .inv b,#inventory .invPackV10 b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* Upgrade: wheel and cards fit viewport. */
  .upgradeLayoutV10{grid-template-columns:1fr!important;width:100%!important;min-width:0!important;gap:10px!important}
  .upgradeOfferV10,.upgradeWheelPanelV10,.upgradeTargetV10{min-width:0!important;width:100%!important;box-sizing:border-box!important;padding:12px!important}
  .upgradeOfferGridV10{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .upgradeWheelV10{width:min(270px,calc(100vw - 70px))!important;height:auto!important;aspect-ratio:1/1!important}
  .upgradeWheelV10 .needleV10{height:43%!important;top:7%!important;transform-origin:50% 100%!important}
  .upgradeTargetCardV10 img{max-width:100%!important;height:auto!important;max-height:360px!important;object-fit:contain!important}
  .upgradeFilterBarV113{grid-template-columns:1fr 1fr!important}
  .upgradeFilterBarV113 #upgradeInvSearchV10{grid-column:1/-1!important}

  /* Battle lobby controls: clean two-column grid. */
  #pbLobbyStable46{grid-template-columns:1fr!important;padding:0!important;gap:10px!important}
  #pbLobbyStable46 .pb46Set{grid-template-columns:76px minmax(0,1fr)!important;padding:10px!important}
  #pbLobbyStable46 .pb46SetLogo{width:76px!important;height:76px!important}
  #pbLobbyStable46 .pb46Facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #pbLobbyStable46 .pb46Fact{min-width:0!important;padding:9px!important}
  #pbLobbyStable46 .pb46Fact:nth-child(5){grid-column:1/-1!important}
  #pbLobbyStable46 .pb46Actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:7px!important}
  #pbLobbyStable46 .pb46Actions button{width:100%!important;min-width:0!important;padding:0 7px!important;font-size:12px!important;white-space:normal!important}
  #pbLobbyStable46 .pb46Actions .leave{grid-column:1/-1!important}
  #pbLobbyStable46 .pb46Actions .primary{min-height:44px!important}
  .arenahead{flex-wrap:wrap!important;gap:8px!important}
  .arenaTools{width:100%!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:6px!important}
  #battleSpeedButtonsV118{max-width:100%!important;overflow:hidden!important}
  #battleSpeedButtonsV118 button{min-width:36px!important;padding:7px 6px!important}

  /* VS mobile remains a real versus; 2v2 does not stack 4 people vertically. */
  .pb46VsStage:not(.ffaModeFix){grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr)!important;gap:5px!important;min-height:270px!important;width:calc(100vw - 18px)!important;padding:42px 8px 12px!important;border-radius:18px!important}
  .pb46VsStage:not(.ffaModeFix) .pb46VsCenter{order:0!important}
  .pb46VsStage:not(.ffaModeFix) .pb46Team{display:flex!important;flex-direction:column!important;gap:7px!important;align-items:stretch!important}
  .pb46VsStage:not(.ffaModeFix) .pb46Fighter{width:100%!important;max-width:none!important;padding:8px 5px!important;border-radius:12px!important}
  .pb46VsStage:not(.ffaModeFix) .pb46Avatar{width:54px!important;height:54px!important;font-size:25px!important;margin-bottom:5px!important;border-radius:12px!important}
  .pb46VsStage:not(.ffaModeFix) .pb46Fighter b{font-size:12px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pb46VsStage:not(.ffaModeFix) .pb46Fighter small{font-size:8px!important}
  .pb46VsStage:not(.ffaModeFix) .pb46VsLogo{width:64px!important;height:64px!important}
  .pb46VsStage:not(.ffaModeFix) .pb46Open{font-size:24px!important}
  .pb46VsModeFix{top:13px!important;font-size:9px!important}
  .pb46VsStage.ffaModeFix{width:calc(100vw - 18px)!important;min-height:0!important;padding:45px 10px 14px!important}
  .pb46VsStage.ffaModeFix #pb46Left{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .pb46VsStage.ffaModeFix .pb46Fighter{width:100%!important;max-width:150px!important;padding:8px!important}
  .pb46VsStage.ffaModeFix .pb46Fighter:last-child:nth-child(odd){grid-column:1/-1;justify-self:center}
  .pb46VsStage.ffaModeFix .pb46Avatar{width:58px!important;height:58px!important;font-size:26px!important;margin-bottom:5px!important}
  .pb46VsStage.ffaModeFix .pb46Fighter b{font-size:12px!important}
  .pb46VsStage.ffaModeFix .pb46VsCenter{position:absolute!important;top:44px!important;left:50%!important;transform:translateX(-50%)!important;z-index:3}
  .pb46VsStage.ffaModeFix .pb46VsLogo{width:70px!important;height:70px!important;opacity:.95}
  .pb46VsStage.ffaModeFix #pb46Left{padding-top:73px!important}

  /* Leaderboard: podium stays 2-1-3 in one row, rows show account value without horizontal drag. */
  .leaderboardShellV131029{padding:8px!important;width:100%!important;min-width:0!important}
  .leaderboardPodiumV131029{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;align-items:end!important}
  .leaderboardPodiumV131029>.lbPodiumCardV131029{min-width:0!important;padding:9px 4px!important;transform:none!important}
  .leaderboardPodiumV131029>.lbPodiumCardV131029:nth-child(1){min-height:132px!important}
  .leaderboardPodiumV131029>.lbPodiumCardV131029:nth-child(2){min-height:158px!important;transform:translateY(-7px)!important}
  .leaderboardPodiumV131029>.lbPodiumCardV131029:nth-child(3){min-height:116px!important}
  .lbPodiumAvatarV131029{width:42px!important;height:42px!important;font-size:20px!important}
  .lbPodiumCardV131029 b{font-size:11px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
  .lbPodiumCardV131029 small{font-size:8px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
  .lbPodiumValueV131029{font-size:14px!important;white-space:nowrap!important}
  .leaderboardTableWrapV131029{overflow:visible!important;width:100%!important}
  .leaderboardTableV131029{min-width:0!important;width:100%!important;display:block!important}
  .leaderboardTableV131029 thead{display:none!important}
  .leaderboardTableV131029 tbody{display:block!important;width:100%!important}
  .leaderboardTableV131029 tbody tr{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;align-items:center!important;width:100%!important;padding:8px 6px!important;border-bottom:1px solid #252e40!important;gap:5px!important}
  .leaderboardTableV131029 td{display:block!important;padding:0!important;border:0!important;min-width:0!important}
  .leaderboardTableV131029 .lbDetailV131029{display:none!important}
  .leaderboardTableV131029 .lbMetricV131029{justify-self:end!important;text-align:right!important;font-size:12px!important;max-width:105px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .leaderboardTableV131029 .lbTrainerV131029{min-width:0!important;gap:7px!important}
  .leaderboardTableV131029 .lbTrainerV131029 span{min-width:0!important}
  .leaderboardTableV131029 .lbTrainerV131029 b,.leaderboardTableV131029 .lbTrainerV131029 small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
  .leaderboardTableV131029 .lbTrainerV131029 small{font-size:8px!important}
}

@media(max-width:430px){
  #inventory{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .upgradeOfferGridV10{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #inventorySellBarV1396 .sellBtnsV1396{grid-template-columns:1fr!important}
  .leaderboardPodiumV131029{gap:3px!important}
  .lbPodiumAvatarV131029{width:36px!important;height:36px!important}
  .lbPodiumValueV131029{font-size:12px!important}
}
.lbPodiumStepFix{margin:12px -13px -13px;padding:8px 0 6px;border-top:1px solid rgba(255,255,255,.09);font-size:20px;font-weight:1000;line-height:1;color:#fff;background:linear-gradient(180deg,#b82c2c,#7d1717);text-shadow:0 2px 4px rgba(0,0,0,.35)}
.lbPodiumStepFix.rank1{padding-top:14px;padding-bottom:10px;background:linear-gradient(180deg,#d33c34,#a51d1d);font-size:25px}
.lbPodiumStepFix.rank2{background:linear-gradient(180deg,#bd332e,#8a1d1d)}
.lbPodiumStepFix.rank3{padding-top:6px;background:linear-gradient(180deg,#a82b29,#751817)}
@media(max-width:760px){.lbPodiumStepFix{margin:8px -4px -9px;padding:6px 0 5px;font-size:16px}.lbPodiumStepFix.rank1{padding-top:10px;padding-bottom:7px;font-size:20px}}


/* ===== pb_mobile_battle_hotfix.css ===== */
/* Final UI hotfix: mobile inventory + battle duplicate summary + visible room code. */

/* During/after battle there must be one product/set summary only: the stable lobby block. */
#battleBriefV131038{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* Make the room code visually unmistakable. */
#pbLobbyStable46 .pb46CodeRow{
  align-items:center!important;
  flex-wrap:nowrap!important;
}
#pbLobbyStable46 .pb46CodeRow b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:7px 10px!important;
  border-radius:9px!important;
  border:1px solid #745ee8!important;
  background:linear-gradient(180deg,rgba(116,94,232,.24),rgba(78,59,171,.16))!important;
  color:#ffe052!important;
  font-size:13px!important;
  font-weight:1000!important;
  letter-spacing:.12em!important;
  text-shadow:0 1px 0 rgba(0,0,0,.25)!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#pbLobbyStable46 .pb46CodeRow button{
  flex:0 0 auto!important;
}

/* Mobile inventory: deliberately vertical controls; no compressed selects or horizontal overflow. */
@media(max-width:620px){
  #page-inventory{
    width:100%!important;
    max-width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  #page-inventory .sectionhead{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
  }
  #page-inventory .sectionhead>div{
    width:100%!important;
    min-width:0!important;
  }
  #page-inventory #sellAll{
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
  }
  #page-inventory .stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  #page-inventory .stat{
    width:auto!important;
    min-width:0!important;
    padding:12px!important;
  }

  #page-inventory .inventoryToolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 10px!important;
    padding:10px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  #page-inventory .inventoryToolbar>#invSearch,
  #page-inventory .inventoryToolbar>#invSort,
  #page-inventory .inventoryToolbar>#invRarity,
  #page-inventory .inventoryToolbar>#invGradeFilterV115{
    grid-column:1/-1!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    margin:0!important;
    box-sizing:border-box!important;
    font-size:14px!important;
  }
  #page-inventory .inventoryToolbar select{
    padding-left:13px!important;
    padding-right:38px!important;
    text-overflow:ellipsis!important;
  }

  /* Legacy selection/lock row: stack instead of scrolling sideways. */
  #page-inventory .sellSelectedBar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 10px!important;
    overflow:visible!important;
  }
  #page-inventory #sellSelected{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    margin:0!important;
    white-space:normal!important;
  }
  #page-inventory #invLockMassV132{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scrollbar-width:none!important;
  }
  #page-inventory #invLockMassV132 .btn,
  #page-inventory #invLockMassV132 #inventorySellModeV1396{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    margin:0!important;
    padding:9px 10px!important;
    font-size:11px!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-align:center!important;
  }

  /* New sale-mode bar also stacks cleanly. */
  #page-inventory #inventorySellBarV1396{
    display:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0 0 10px!important;
    padding:10px!important;
    overflow:visible!important;
  }
  #page-inventory.pbSellModeV1396 #inventorySellBarV1396{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }
  #page-inventory #inventorySellBarV1396 .sellSummaryV1396{
    width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  #page-inventory #inventorySellBarV1396 .sellBtnsV1396{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
  }
  #page-inventory #inventorySellBarV1396 .sellBtnsV1396 .btn{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    white-space:normal!important;
  }

  #page-inventory .inventoryActionsV10{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 10px!important;
  }
  #page-inventory .inventoryActionsV10 .btn{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    white-space:normal!important;
  }
  #page-inventory #inventory{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
}

@media(max-width:370px){
  #page-inventory #inventory{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* ===== pb_latest.css ===== */
/* Latest requested fixes: 3-up mobile inventory, editable battle lobby, friend invite modal, FFA VS chain. */

/* ---------- Mobile inventory: three cards per row ---------- */
@media(max-width:760px){
  #page-inventory #inventory{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #page-inventory #inventory .inv,
  #page-inventory #inventory .invPackV10{
    min-width:0!important;
    width:auto!important;
    padding:3px!important;
    border-radius:8px!important;
    overflow:hidden!important;
  }
  #page-inventory #inventory .inv img,
  #page-inventory #inventory .invPackV10 img{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    border-radius:5px!important;
  }
  #page-inventory #inventory .inv b,
  #page-inventory #inventory .invPackV10 b{
    display:block!important;
    font-size:7px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    margin-top:3px!important;
  }
  #page-inventory #inventory .inv span,
  #page-inventory #inventory .invPackV10 span,
  #page-inventory #inventory .rarityLine{
    font-size:6.5px!important;
    line-height:1.15!important;
  }
  #page-inventory #inventory .inv .btn,
  #page-inventory #inventory .invPackV10 .btn,
  #page-inventory #inventory .sellOne,
  #page-inventory #inventory button{
    min-height:24px!important;
    padding:3px 2px!important;
    font-size:6.5px!important;
    border-radius:6px!important;
    white-space:normal!important;
  }
  #page-inventory #inventory .packActionsV10{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  /* In sale mode, finger dragging should select instead of scrolling the card grid. */
  #page-inventory.pbSellModeV1396 #inventory [data-inv-index]{
    touch-action:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }
}
@media(max-width:370px){
  #page-inventory #inventory{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}
}

/* ---------- Editable lobby facts ---------- */
.pbLatestEditableFact select,.pbLatestEditableFact input{
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  border:1px solid #3a465f!important;
  background:#0c1320!important;
  color:#fff!important;
  border-radius:8px!important;
  padding:0 8px!important;
  font-size:11px!important;
  font-weight:900!important;
  box-sizing:border-box!important;
}
.pbLatestEditableFact input[type="number"]{appearance:textfield}
.pbLatestEditableFact input[type="number"]::-webkit-outer-spin-button,
.pbLatestEditableFact input[type="number"]::-webkit-inner-spin-button{appearance:none;margin:0}
.pbLatestEditableFact .pbLatestHint{display:block;color:#f2cf42;font-size:8px;font-weight:900;margin-top:4px}

/* ---------- Dedicated battle-friend invite popup ---------- */
#pbBattleInviteModalLatest{
  position:fixed;inset:0;z-index:2400;display:none;align-items:center;justify-content:center;
  padding:16px;background:rgba(4,7,13,.76);backdrop-filter:blur(12px)
}
#pbBattleInviteModalLatest.open{display:flex}
.pbBattleInviteCardLatest{
  width:min(620px,100%);max-height:min(82vh,760px);overflow:hidden;
  display:grid;grid-template-rows:auto 1fr;border:1px solid #354159;border-radius:20px;
  background:linear-gradient(180deg,#111827,#0b111b);box-shadow:0 28px 80px rgba(0,0,0,.5)
}
.pbBattleInviteHeadLatest{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #283349}
.pbBattleInviteHeadLatest h3{margin:0;color:#fff;font-size:19px}
.pbBattleInviteHeadLatest p{margin:4px 0 0;color:#8f9bb0;font-size:10px}
.pbBattleInviteHeadLatest button{width:38px;height:38px;border:1px solid #354159;border-radius:11px;background:#151d2d;color:#fff;font-size:18px;cursor:pointer}
.pbBattleInviteBodyLatest{overflow:auto;padding:13px;display:grid;gap:12px}
.pbBattleInviteSectionLatest>h4{margin:0 0 7px;color:#aab5c8;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.pbBattleInviteListLatest{display:grid;gap:7px}
.pbBattleInviteRowLatest{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #2c374c;border-radius:12px;background:#101725;padding:9px 10px}
.pbBattleInviteWhoLatest{min-width:0}.pbBattleInviteWhoLatest b{display:block;color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pbBattleInviteWhoLatest small{display:block;color:#8996ac;font-size:9px;margin-top:3px}
.pbBattleInviteStatusLatest{display:inline-flex;align-items:center;gap:5px}.pbBattleInviteStatusLatest i{width:7px;height:7px;border-radius:50%;display:inline-block;background:#5d6678}.pbBattleInviteStatusLatest.online i{background:#48d68b;box-shadow:0 0 8px rgba(72,214,139,.45)}
.pbBattleInviteRowLatest button{flex:0 0 auto;min-width:92px;min-height:34px;border:1px solid #4b5a78;border-radius:9px;background:#171f30;color:#fff;font-weight:1000;font-size:10px;cursor:pointer}.pbBattleInviteRowLatest button:hover:not(:disabled){border-color:#f2cf42}.pbBattleInviteRowLatest button:disabled{opacity:.52;cursor:not-allowed}
.pbBattleInviteEmptyLatest{padding:14px;text-align:center;color:#7f8ba1;border:1px dashed #303b50;border-radius:11px;font-size:10px}

/* ---------- FFA VS chain ---------- */
#pbLatestVs{position:fixed;inset:0;z-index:2600;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(4,7,13,.42);backdrop-filter:blur(15px)}
#pbLatestVs.show{display:flex}
.pbLatestVsStage{width:min(1320px,calc(100vw - 24px));min-height:330px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:linear-gradient(135deg,rgba(16,23,37,.97),rgba(7,11,19,.97));box-shadow:0 28px 90px rgba(0,0,0,.5);padding:30px 24px;display:flex;align-items:center;justify-content:center;gap:11px;overflow:hidden;position:relative}
.pbLatestVsStage:before{content:"";position:absolute;inset:-25%;background:linear-gradient(115deg,transparent 36%,rgba(255,65,80,.11) 44%,transparent 51%,rgba(70,109,255,.11) 60%,transparent 67%);animation:pbLatestSlash 2.8s ease both;pointer-events:none}
@keyframes pbLatestSlash{from{transform:translateX(-26%)}to{transform:translateX(26%)}}
.pbLatestVsChain{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;width:100%}
.pbLatestVsFighter{width:150px;min-width:0;border:1px solid #37445d;background:#151d2d;border-radius:17px;padding:12px 9px;text-align:center;opacity:0;transform:translateY(22px) scale(.82);box-shadow:0 16px 28px rgba(0,0,0,.25)}
.pbLatestVsFighter.go{animation:pbLatestFighterIn .34s cubic-bezier(.2,.95,.2,1) forwards}
@keyframes pbLatestFighterIn{to{opacity:1;transform:none}}
.pbLatestVsAvatar{width:76px;height:76px;margin:0 auto 8px;border:1px solid #40506b;border-radius:17px;background:#0c1320;display:grid;place-items:center;overflow:hidden;font-size:32px;font-weight:1000}.pbLatestVsAvatar img{width:100%;height:100%;object-fit:cover}
.pbLatestVsFighter b{display:block;color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pbLatestVsFighter small{display:block;color:#9ba6ba;font-size:8px;font-weight:900;margin-top:3px;letter-spacing:.05em}
.pbLatestVsSep{width:78px;height:78px;object-fit:contain;opacity:0;transform:scale(.35) rotate(-8deg);filter:drop-shadow(0 12px 18px rgba(0,0,0,.35));flex:0 0 auto}.pbLatestVsSep.go{animation:pbLatestVsPop .28s cubic-bezier(.2,1.25,.2,1) forwards}@keyframes pbLatestVsPop{to{opacity:1;transform:scale(1) rotate(0)}}
.pbLatestOpen{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.55);z-index:5;opacity:0;color:#fff;font-size:66px;font-weight:1000;letter-spacing:.16em;text-shadow:0 0 20px rgba(255,212,70,.35)}.pbLatestOpen.go{animation:pbLatestOpenIn .38s ease forwards}@keyframes pbLatestOpenIn{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.pbLatestTeamWrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr 145px 1fr;align-items:center;gap:15px;width:100%}.pbLatestTeam{display:flex;justify-content:center;gap:10px}.pbLatestTeam.blue .pbLatestVsFighter{border-color:#3e72c7;background:linear-gradient(180deg,#15213a,#111827)}.pbLatestTeam.red .pbLatestVsFighter{border-color:#b94c5b;background:linear-gradient(180deg,#311923,#17131c)}

@media(max-width:760px){
  .pbLatestVsStage{min-height:260px;padding:22px 7px;border-radius:18px;gap:4px}
  .pbLatestVsChain{gap:3px}
  .pbLatestVsFighter{width:58px;padding:7px 3px;border-radius:11px}
  .pbLatestVsAvatar{width:42px;height:42px;border-radius:10px;font-size:20px;margin-bottom:5px}
  .pbLatestVsFighter b{font-size:8px}.pbLatestVsFighter small{font-size:6px}
  .pbLatestVsSep{width:29px;height:29px}
  .pbLatestOpen{font-size:34px}
  .pbLatestTeamWrap{grid-template-columns:1fr 56px 1fr;gap:4px}
  .pbLatestTeam{gap:4px}.pbLatestTeam .pbLatestVsFighter{width:70px}
  .pbBattleInviteCardLatest{max-height:88vh}
  .pbBattleInviteRowLatest{padding:8px}.pbBattleInviteRowLatest button{min-width:78px}
}


/* V13.37 — stable custom battle dropdowns. Native <select> popups were being
   destroyed by room polling; these menus are part of the game UI instead. */
#page-battle #pbLobbyStable46{overflow:visible!important}
#page-battle #pbLobbyStable46 .pb46Facts{overflow:visible!important}
#page-battle #pbLobbyStable46 .pbLatestEditableFact{position:relative!important;overflow:visible!important}
.pbBattleDropdownV1337{position:relative;width:100%;z-index:20}
.pbBattleDropdownV1337.open{z-index:500}
.pbBattleDropdownBtnV1337{
  width:100%;min-height:34px;border:1px solid #3a465f;border-radius:8px;
  background:#0c1320;color:#fff;padding:0 10px;display:flex;align-items:center;
  justify-content:space-between;gap:10px;font-size:11px;font-weight:900;cursor:pointer;
  box-sizing:border-box;text-align:left
}
.pbBattleDropdownBtnV1337:hover,.pbBattleDropdownV1337.open .pbBattleDropdownBtnV1337{border-color:#6c50f4;box-shadow:0 0 0 2px rgba(108,80,244,.12)}
.pbBattleDropdownBtnV1337 i{font-style:normal;color:#a8b4c9;font-size:14px;line-height:1;transition:transform .14s ease}
.pbBattleDropdownV1337.open .pbBattleDropdownBtnV1337 i{transform:rotate(180deg)}
.pbBattleDropdownMenuV1337{
  display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);padding:5px;
  border:1px solid #3b4760;border-radius:10px;background:#0a101b;
  box-shadow:0 18px 45px rgba(0,0,0,.48);max-height:260px;overflow:auto;z-index:9999
}
.pbBattleDropdownV1337.open .pbBattleDropdownMenuV1337{display:grid;gap:3px}
.pbBattleDropdownMenuV1337 button{
  min-height:34px;width:100%;border:0;border-radius:7px;background:transparent;color:#e8edf7;
  padding:7px 9px;text-align:left;font-size:11px;font-weight:800;cursor:pointer
}
.pbBattleDropdownMenuV1337 button:hover{background:#182237;color:#fff}
.pbBattleDropdownMenuV1337 button.active{background:#5c3fe0;color:#fff}

/* V13.38 — instant custom dropdown interaction. */
.pbBattleDropdownBtnV1337,.pbBattleDropdownMenuV1337 button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}


/* ===== pb_last_hotfix.css ===== */
/* Final small fixes: white calendar icon + clean transparent set logos. */

/* Force a clearly visible WHITE calendar glyph in Chromium/Android/desktop. */
#battleHistoryDateV131035,
#authBirthV131038{
  color:#fff!important;
  color-scheme:dark!important;
  padding-right:38px!important;
  background-color:#111827!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 10px center!important;
  background-size:18px 18px!important;
}
#battleHistoryDateV131035::-webkit-calendar-picker-indicator,
#authBirthV131038::-webkit-calendar-picker-indicator{
  opacity:0!important;
  width:30px!important;
  height:100%!important;
  position:absolute!important;
  right:0!important;
  cursor:pointer!important;
}
#battleHistoryDateV131035::-webkit-datetime-edit,
#battleHistoryDateV131035::-webkit-datetime-edit-fields-wrapper,
#battleHistoryDateV131035::-webkit-datetime-edit-text,
#battleHistoryDateV131035::-webkit-datetime-edit-month-field,
#battleHistoryDateV131035::-webkit-datetime-edit-day-field,
#battleHistoryDateV131035::-webkit-datetime-edit-year-field,
#authBirthV131038::-webkit-datetime-edit,
#authBirthV131038::-webkit-datetime-edit-fields-wrapper,
#authBirthV131038::-webkit-datetime-edit-text,
#authBirthV131038::-webkit-datetime-edit-month-field,
#authBirthV131038::-webkit-datetime-edit-day-field,
#authBirthV131038::-webkit-datetime-edit-year-field{color:#fff!important}

/* The three user-supplied logos now have transparent image assets. Keep their
   containers consistent with the rest of the set catalogue (no white tile). */
img[src*="logo_temporal_forces.png"],
img[src*="logo_furious_fists.png"],
img[src*="logo_undaunted.png"]{
  background:transparent!important;
  box-shadow:none!important;
}
.pb46PickerCard img[src*="logo_temporal_forces.png"],
.pb46PickerCard img[src*="logo_furious_fists.png"],
.pb46PickerCard img[src*="logo_undaunted.png"],
.pb46SetLogo img[src*="logo_temporal_forces.png"],
.pb46SetLogo img[src*="logo_furious_fists.png"],
.pb46SetLogo img[src*="logo_undaunted.png"]{
  object-fit:contain!important;
}


/* ===== pb_all_fixes.css ===== */
/* PokéBattle V13.11 — consolidated fixes requested 20/09/2026 */

/* Keep header pinned above every page/modal shell on desktop + mobile. */
html body .topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:999990!important}

/* Opening autoclicker — circular, compact and explicit ON/OFF */
.pbAutoOpenV1311{margin-top:10px;padding:10px 12px;border:1px solid #2b3447;border-radius:14px;background:#0d1420;display:grid;gap:9px}
.pbAutoOpenCompactV1311{display:flex;align-items:center;gap:12px}
.pbAutoOpenCircleV1311{position:relative;width:72px;height:72px;min-width:72px;border-radius:50%;padding:0;border:4px solid #d94b5f;background:#171d28;overflow:hidden;cursor:pointer;box-shadow:0 0 0 3px rgba(217,75,95,.12),0 8px 22px rgba(0,0,0,.28);transition:.2s ease}
.pbAutoOpenCircleV1311.on{border-color:#36d68a;box-shadow:0 0 0 4px rgba(54,214,138,.14),0 0 22px rgba(54,214,138,.2)}
.pbAutoOpenCircleV1311.off{border-color:#df5064;box-shadow:0 0 0 4px rgba(223,80,100,.11),0 8px 22px rgba(0,0,0,.28)}
.pbAutoOpenImgV1311{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#22cad3}
.pbAutoOpenImgV1311 img{width:100%;height:100%;object-fit:cover;transform:scale(1.33);display:block}
.pbAutoOpenCircleV1311:after{content:'';position:absolute;inset:0;border-radius:50%;background:rgba(0,0,0,.08);pointer-events:none}.pbAutoOpenCircleV1311.on:after{background:rgba(26,177,94,.16)}.pbAutoOpenCircleV1311.off:after{background:rgba(187,30,52,.19)}
.pbAutoOpenTextV1311{display:grid;gap:2px}.pbAutoOpenTextV1311 b{font-size:13px;color:#fff}.pbAutoOpenTextV1311 small{font-size:8px;color:#8994aa;line-height:1.35}
.pbAutoOpenStateV1311{font-size:12px;font-weight:1000;letter-spacing:.08em}.pbAutoOpenStateV1311.on{color:#47e39a}.pbAutoOpenStateV1311.off{color:#f06a7c}
.pbAutoOpenSpeedsV1311{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border-top:1px solid #242d3e;padding-top:9px}
.pbAutoOpenSpeedsV1311 button{border:1px solid #313a50;background:#111928;color:#aab4c7;border-radius:9px;padding:8px 7px;font-size:10px;font-weight:1000;cursor:pointer}
.pbAutoOpenSpeedsV1311 button.active{background:#6849e8;border-color:#8068ef;color:#fff;box-shadow:0 5px 18px rgba(104,73,232,.28)}
.pbAutoOpenV1311.on{border-color:rgba(54,214,138,.34)}.pbAutoOpenV1311.off{border-color:rgba(223,80,100,.24)}

/* FAQ */
.pbFaqV1311 h2{margin:0 0 5px}.pbFaqLeadV1311{font-size:10px;color:#8e99ad;margin:0 0 12px;line-height:1.5}
.pbFaqV1311 details{border:1px solid #2a3346;border-radius:10px;background:#0e1521;margin-top:7px;overflow:hidden}
.pbFaqV1311 summary{cursor:pointer;list-style:none;padding:11px 12px;color:#fff;font-size:10px;font-weight:950;display:flex;justify-content:space-between;gap:8px}
.pbFaqV1311 summary::-webkit-details-marker{display:none}.pbFaqV1311 summary:after{content:'+';color:#8d98ac}.pbFaqV1311 details[open] summary:after{content:'−'}
.pbFaqV1311 .pbFaqAnswerV1311{border-top:1px solid #252e40;padding:10px 12px;color:#a2adbf;font-size:9px;line-height:1.55}
.pbFaqV1311 .pbFaqAnswerV1311 b{color:#f3f6fb}

/* Exchange: keep the fairness/QoL action obvious without overgrowing the footer. */
#exchangeAuto70V135{white-space:nowrap}
.exchangeFairV1333 #exchangeFairPctV1333{min-width:52px;text-align:right}

/* The requested mobile grading density: exactly 3 cards per row. */
@media(max-width:760px){
  #gradeInventoryV10.gradeInventoryV10{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  #gradeInventoryV10 .gradeInvCardV10{min-width:0!important;padding:4px!important}
  #gradeInventoryV10 .gradeInvCardV10 img{width:100%!important;max-width:none!important}
  #gradeInventoryV10 .gradeInvCardV10 b,#gradeInventoryV10 .gradeInvCardV10 span{font-size:7px!important}
}


/* ===== pb_v1312_hotfix.css ===== */
/* V13.12 — tiny compatibility layer only. */
/* Keep the battle page interactive after aborting a room/countdown. */
#page-battle.active{pointer-events:auto}


/* ===== pb_v1313_hotfix.css ===== */
/* PokéBattle V13.13 */

/* Opening: compact circular autoclicker floating in the stage, like the requested reference. */
#page-open .openstage{position:relative!important}
#page-open #pbAutoOpenV1311{
  position:absolute!important;
  z-index:18!important;
  top:118px!important;
  left:22px!important;
  width:auto!important;
  min-width:220px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:block!important;
}
#page-open .pbAutoOpenCompactV1311{display:flex!important;align-items:center!important;gap:11px!important}
#page-open .pbAutoOpenCircleV1311{
  width:72px!important;height:72px!important;min-width:72px!important;border-radius:50%!important;
  border:4px solid #ef4c64!important;background:#121824!important;
  box-shadow:0 0 0 2px rgba(239,76,100,.20),0 8px 20px rgba(0,0,0,.36)!important;
}
#page-open .pbAutoOpenCircleV1311.off{border-color:#ef4c64!important;box-shadow:0 0 0 2px rgba(239,76,100,.20),0 8px 20px rgba(0,0,0,.36)!important}
#page-open .pbAutoOpenCircleV1311.on{border-color:#36dc8e!important;box-shadow:0 0 0 3px rgba(54,220,142,.18),0 0 20px rgba(54,220,142,.25)!important}
#page-open .pbAutoOpenCircleV1311.off:after{background:rgba(190,22,48,.24)!important}
#page-open .pbAutoOpenCircleV1311.on:after{background:rgba(20,180,96,.20)!important}
#page-open .pbAutoOpenTextV1311{display:grid!important;grid-template-columns:auto auto!important;column-gap:6px!important;align-items:center!important}
#page-open .pbAutoOpenTextV1311 b{font-size:12px!important}
#page-open .pbAutoOpenTextV1311 small{grid-column:1/-1!important;font-size:8px!important;margin-top:2px!important}
#page-open .pbAutoOpenStateV1311{font-size:11px!important}
#page-open .pbAutoOpenSpeedsV1311{
  margin:8px 0 0 83px!important;padding:0!important;border:0!important;
  display:grid!important;grid-template-columns:repeat(4,46px)!important;gap:5px!important;
}
#page-open .pbAutoOpenSpeedsV1311[hidden]{display:none!important}
#page-open .pbAutoOpenSpeedsV1311 button{padding:7px 5px!important;border-radius:8px!important;font-size:9px!important}

/* FAQ + redeem code */
.pbRedeemV1313{grid-column:1/-1;padding:18px!important}
.pbRedeemV1313 h2{margin:0 0 5px;font-size:20px}
.pbRedeemV1313>p{margin:0 0 12px;color:#8e99ad;font-size:10px;line-height:1.5}
.pbRedeemRowV1313{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center}
.pbRedeemRowV1313 .input{text-transform:none!important}
.pbRedeemHintV1313{margin-top:9px;padding:9px 10px;border:1px solid #273146;border-radius:9px;background:#0d1420;color:#909bb0;font-size:9px}
.pbRedeemMsgV1313{min-height:16px;margin-top:8px;font-size:10px;font-weight:800}
.pbRedeemMsgV1313.ok{color:#53df9a}.pbRedeemMsgV1313.bad{color:#ff7889}

/* Battle preparation state: immediate visible feedback instead of appearing stuck in lobby. */
#battleGrid.session-active #arenaTitle.pbPreparingV1313:after{content:' ';display:inline-block;width:12px;height:12px;margin-left:8px;border:2px solid #465168;border-top-color:#f6cf35;border-radius:50%;vertical-align:-1px;animation:pbPrepSpin1313 .65s linear infinite}
@keyframes pbPrepSpin1313{to{transform:rotate(360deg)}}

@media(max-width:760px){
  #page-open #pbAutoOpenV1311{position:relative!important;top:auto!important;left:auto!important;margin:12px 0 2px 4px!important;min-width:0!important}
  #page-open .pbAutoOpenCircleV1311{width:62px!important;height:62px!important;min-width:62px!important}
  #page-open .pbAutoOpenSpeedsV1311{margin-left:73px!important;grid-template-columns:repeat(4,42px)!important}
  .pbRedeemRowV1313{grid-template-columns:1fr 1fr}.pbRedeemRowV1313 input{grid-column:1/-1}
}


/* ===== pb_v1314_hotfix.css ===== */
/* V13.14 — battle-room mode selector + rematch modal */
.pb46ModeFact{min-width:190px}
.pb46ModeBtns{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
.pb46ModeBtns button{border:1px solid #33405a;background:#0c121d;color:#aeb8ca;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:900;cursor:pointer;transition:.15s ease}
.pb46ModeBtns button:hover{border-color:#6854e8;color:#fff}
.pb46ModeBtns button.active{border-color:#f2ca21;background:rgba(242,202,33,.10);color:#fff;box-shadow:0 0 0 1px rgba(242,202,33,.08) inset}
.pbRematchModalV1314{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px;background:rgba(3,6,12,.78);backdrop-filter:blur(10px)}
.pbRematchCardV1314{width:min(650px,100%);max-height:min(88vh,760px);overflow:auto;border:1px solid #37445f;border-radius:20px;background:linear-gradient(180deg,#111827,#0b111c);box-shadow:0 30px 90px rgba(0,0,0,.55);padding:22px}
.pbRematchCardV1314 h2{font-size:24px;margin:0 0 6px;color:#f5f7fb}
.pbRematchCardV1314 p{margin:0 0 16px;color:#a8b3c7;font-size:12px;line-height:1.55}
.pbRmSummaryV1314{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 18px}
.pbRmSummaryV1314>div{min-width:0;border:1px solid #2d3951;background:#0b111c;border-radius:12px;padding:11px}
.pbRmSummaryV1314 span{display:block;color:#77849a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.pbRmSummaryV1314 b{display:block;color:#fff;font-size:11px;line-height:1.3;overflow-wrap:anywhere}
.pbRmSummaryV1314 small{display:block;color:#7f8ba0;font-size:8px;margin-top:4px}
.pbRmActionsV1314{display:flex;gap:9px;flex-wrap:wrap}
.pbRmActionsV1314 button{flex:1;min-width:150px;border:0;border-radius:11px;padding:12px 14px;font-size:11px;font-weight:1000;cursor:pointer}
.pbRmAcceptV1314,.pbRmReadyV1314{background:#2fd58b;color:#06150f}
.pbRmNotReadyV1314{background:#f0b631;color:#201500}
.pbRmDeclineV1314{background:#1a2231!important;color:#d3d9e5!important;border:1px solid #354159!important}
.pbRmReadyStateV1314{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:12px;padding:11px 13px;margin:0 0 12px;border:1px solid #364259;background:#0c121d}
.pbRmReadyStateV1314 span{font-size:11px;font-weight:1000}
.pbRmReadyStateV1314 small{font-size:9px;color:#8b97ab;text-align:right}
.pbRmReadyStateV1314.ready{border-color:rgba(47,213,139,.55);background:rgba(47,213,139,.07)}
.pbRmReadyStateV1314.ready span{color:#55e6a4}.pbRmReadyStateV1314.waiting span{color:#f0b631}
@media(max-width:760px){.pb46ModeFact{min-width:0}.pb46ModeBtns{display:grid;grid-template-columns:1fr 1fr}.pbRmSummaryV1314{grid-template-columns:1fr 1fr}.pbRematchCardV1314{padding:16px;border-radius:16px}.pbRematchCardV1314 h2{font-size:20px}.pbRmActionsV1314 button{min-width:100%}}
/* V13.49 rematch presentation */
.pbRmHeroV1349{position:relative;display:grid;grid-template-columns:118px 1fr;align-items:center;gap:16px;min-height:126px;margin:-4px -4px 18px;padding:16px;border-radius:16px;overflow:hidden;border:1px solid rgba(115,90,235,.34);background:radial-gradient(circle at 18% 50%,rgba(111,76,235,.25),transparent 38%),linear-gradient(135deg,#17122b,#101827 55%,#12131d)}
.pbRmHeroGlowV1349{position:absolute;inset:-70%;background:conic-gradient(from 90deg,transparent,rgba(246,207,53,.08),transparent 28%,rgba(113,81,235,.12),transparent);animation:pbRmGlow 12s linear infinite;pointer-events:none}
@keyframes pbRmGlow{to{transform:rotate(360deg)}}
.pbRmHeroArtV1349{position:relative;z-index:1;height:90px;border-radius:13px;display:grid;place-items:center;background:rgba(4,7,14,.55);border:1px solid rgba(255,255,255,.08);font-size:36px;overflow:hidden}
.pbRmHeroArtV1349 img{max-width:92%;max-height:74px;object-fit:contain;filter:drop-shadow(0 8px 15px rgba(0,0,0,.45))}
.pbRmHeroTextV1349{position:relative;z-index:1}.pbRmHeroTextV1349 span{display:block;color:#f3d044;font-size:9px;font-weight:1000;letter-spacing:.16em}.pbRmHeroTextV1349 h3{margin:5px 0 3px;color:#fff;font-size:24px}.pbRmHeroTextV1349 small{color:#9da8bc;font-size:10px}
.pbRmCancelledV1349{display:flex;align-items:center;gap:13px;margin:12px 0 17px;padding:14px;border-radius:13px;border:1px solid rgba(239,74,91,.42);background:rgba(153,29,44,.12)}
.pbRmCancelledV1349 h2{margin:0 0 3px!important;font-size:19px!important}.pbRmCancelledV1349 p{margin:0!important}.pbRmCancelledIconV1349{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#c82d3d;color:#fff;font-size:20px;font-weight:1000;flex:0 0 auto}
@media(max-width:600px){.pbRmHeroV1349{grid-template-columns:82px 1fr;min-height:102px;padding:12px;gap:11px}.pbRmHeroArtV1349{height:70px}.pbRmHeroTextV1349 h3{font-size:19px}}


/* ===== pb_v1315_critical.css ===== */
/* V13.15 — CEO badge + battle transition guard */
.pbCeoBadgeV1316{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;margin-left:5px;padding:3px 6px;border:1px solid rgba(246,207,53,.38);border-radius:999px;background:rgba(246,207,53,.08);color:#f6cf35;font-size:8px!important;font-weight:1000!important;line-height:1;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.pbCeoBadgeV1316 img{width:12px!important;height:12px!important;object-fit:contain!important;filter:invert(86%) sepia(85%) saturate(731%) hue-rotate(343deg) brightness(104%) contrast(93%);opacity:.98}
#profileCeoRoleV1316{margin-top:7px;width:max-content;font-size:10px!important;padding:5px 8px}
#profileCeoRoleV1316 img{width:15px!important;height:15px!important}
#profileName.pbCeoNameV1316{display:inline-block}
/* session-active is also used while a room lobby is open; do not use it as a battle-only visibility flag. */


/* ===== pb_v1316_battle_fix.css ===== */
/* V13.16 — the room and the battle share session-active; visibility is controlled by .hidden only. */
#countdownV7,#pb46Vs,#pbLatestVs{display:none!important;pointer-events:none!important}


/* ===== pb_v1317_final.css ===== */
/* V13.17 — battle room compacting + CEO alignment */

/* Keep CEO badge visually centred against the trainer name. */
#page-profile #profileName.pbCeoNameV1316{
  display:inline-flex!important;
  align-items:center!important;
  vertical-align:middle!important;
  line-height:1.05!important;
}
#page-profile #profileCeoRoleV1316{
  margin-top:0!important;
  margin-left:8px!important;
  vertical-align:middle!important;
  transform:translateY(-2px)!important;
}

/* The battle room was too stretched on desktop. Keep the same information, but closer together. */
#page-battle #pbLobbyStable46{
  grid-template-columns:minmax(210px,255px) minmax(0,1fr)!important;
  gap:10px!important;
  padding:10px!important;
  margin-bottom:8px!important;
}
#page-battle .pb46Set{
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:9px!important;
  min-height:88px!important;
  padding:8px!important;
}
#page-battle .pb46SetLogo{height:70px!important}
#page-battle .pb46SetText b{font-size:15px!important}
#page-battle .pb46SetText span{margin-top:7px!important;padding:6px 8px!important}
#page-battle .pb46Right{gap:7px!important}
#page-battle .pb46Facts{
  grid-template-columns:repeat(5,minmax(94px,1fr))!important;
  gap:6px!important;
}
#page-battle .pb46Fact{
  padding:7px 8px!important;
  min-height:52px!important;
  border-radius:9px!important;
}
#page-battle .pb46Fact small{margin-bottom:4px!important}
#page-battle .pb46Actions{
  gap:6px!important;
  margin-top:0!important;
  justify-content:flex-end!important;
}
#page-battle .pb46Actions button{
  min-height:36px!important;
  padding:0 12px!important;
  border-radius:9px!important;
}

/* Waiting seats remain useful, but should not dominate the whole page. */
#page-battle #playerSlots.waitingSlots{gap:7px!important;margin-top:7px!important}
#page-battle #playerSlots.waitingSlots>.waitingCard{min-height:300px!important}
#page-battle #playerSlots.waitingSlots .waitingBody{padding:12px!important}
#page-battle #playerSlots.waitingSlots .waitingPulse{width:72px!important;height:72px!important;margin-bottom:11px!important}

@media(max-width:1200px){
  #page-battle .pb46Facts{grid-template-columns:repeat(3,minmax(110px,1fr))!important}
}
@media(max-width:900px){
  #page-battle #pbLobbyStable46{grid-template-columns:1fr!important}
  #page-battle .pb46Facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-battle #playerSlots.waitingSlots>.waitingCard{min-height:275px!important}
}


/* ===== pb_v1319_battle_polish.css ===== */
/* PokéBattle V13.19 — VS-only intro, compact lobby mode, stable x1/x2/x3/x5 speed. */

/* Normal / Underdog sits directly below Product, without becoming a sixth large fact card. */
#page-battle #pbLobbyStable46 .pb46Fact:nth-child(2){overflow:visible!important}
#page-battle #pbLobbyStable46 .pb46ModeInline{
  min-width:0!important;margin-top:6px!important;padding-top:6px!important;
  border-top:1px solid rgba(255,255,255,.07)!important;background:transparent!important
}
#page-battle #pbLobbyStable46 .pb46ModeInline>small{display:none!important}
#page-battle #pbLobbyStable46 .pb46ModeInline .pb46ModeBtns{display:flex!important;gap:4px!important;flex-wrap:nowrap!important;margin:0!important}
#page-battle #pbLobbyStable46 .pb46ModeInline .pb46ModeBtns button{
  min-height:24px!important;padding:3px 6px!important;border-radius:7px!important;font-size:8px!important;line-height:1!important;white-space:nowrap!important
}

/* Battle setup is a lobby-only UI. Once the actual battle is running it stays out of the way. */
#page-battle #lobby.hidden{display:none!important}

/* Speed = x1, x2, x3, x5. Keep the segment compact and deterministic. */
#battleSpeedButtonsV118{gap:3px!important}
#battleSpeedButtonsV118 button{min-width:42px!important;padding:7px 8px!important}

/* VS intro — no 3,2,1 and no OPEN. */
#pb1319Vs{
  position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;
  padding:18px;background:rgba(4,7,13,.56);backdrop-filter:blur(15px);pointer-events:none
}
#pb1319Vs.show{display:flex}
.pb1319VsStage{
  width:min(1220px,calc(100vw - 32px));min-height:330px;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;padding:30px 24px;border-radius:24px;
  border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(16,23,37,.98),rgba(7,11,19,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.55)
}
.pb1319VsStage:before{
  content:"";position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 36%,rgba(89,91,255,.12) 44%,transparent 51%,rgba(255,65,80,.12) 59%,transparent 67%);
  transform:translateX(-32%);animation:pb1319Slash 1.9s ease both;pointer-events:none
}
@keyframes pb1319Slash{to{transform:translateX(32%)}}
.pb1319Mode{position:absolute;top:17px;left:50%;transform:translateX(-50%);z-index:3;color:#ffd43e;font-size:10px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}
.pb1319Chain,.pb1319Teams{position:relative;z-index:2;width:100%;display:flex;align-items:center;justify-content:center;gap:10px}
.pb1319Teams{display:grid;grid-template-columns:1fr 125px 1fr;gap:16px}
.pb1319Team{display:flex;align-items:center;justify-content:center;gap:10px}
.pb1319Fighter{
  width:155px;min-width:0;padding:12px 10px;border:1px solid #394760;border-radius:17px;background:#151d2d;text-align:center;
  opacity:0;transform:translateY(24px) scale(.82);box-shadow:0 16px 30px rgba(0,0,0,.26)
}
.pb1319Team.blue .pb1319Fighter{border-color:#3e72c7;background:linear-gradient(180deg,#15213a,#111827)}
.pb1319Team.red .pb1319Fighter{border-color:#b94c5b;background:linear-gradient(180deg,#311923,#17131c)}
.pb1319Fighter.go{animation:pb1319Fighter .34s cubic-bezier(.2,.95,.2,1) forwards}
@keyframes pb1319Fighter{to{opacity:1;transform:none}}
.pb1319Avatar{width:78px;height:78px;margin:0 auto 8px;display:grid;place-items:center;overflow:hidden;border:1px solid #40506b;border-radius:17px;background:#0c1320;font-size:34px;font-weight:1000}
.pb1319Avatar img{width:100%;height:100%;object-fit:cover}
.pb1319Fighter b{display:block;color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb1319Fighter small{display:block;margin-top:3px;color:#9ba6ba;font-size:8px;font-weight:900;letter-spacing:.05em}
.pb1319VsSep{width:82px;height:82px;object-fit:contain;flex:0 0 auto;opacity:0;transform:scale(.3) rotate(-10deg);filter:drop-shadow(0 12px 18px rgba(0,0,0,.38))}
.pb1319VsSep.go{animation:pb1319VsPop .3s cubic-bezier(.2,1.25,.2,1) forwards}
@keyframes pb1319VsPop{to{opacity:1;transform:scale(1) rotate(0)}}

@media(max-width:760px){
  #page-battle #pbLobbyStable46 .pb46ModeInline .pb46ModeBtns{grid-template-columns:none!important}
  .pb1319VsStage{min-height:260px;padding:42px 7px 18px;border-radius:18px}
  .pb1319Chain{gap:3px}
  .pb1319Fighter{width:59px;padding:7px 3px;border-radius:11px}
  .pb1319Avatar{width:42px;height:42px;border-radius:10px;font-size:20px;margin-bottom:5px}
  .pb1319Fighter b{font-size:8px}.pb1319Fighter small{font-size:6px}
  .pb1319VsSep{width:29px;height:29px}
  .pb1319Teams{grid-template-columns:1fr 45px 1fr;gap:4px}
  .pb1319Team{gap:4px}.pb1319Team .pb1319Fighter{width:70px}
  .pb1319Mode{top:13px;font-size:8px}
}


/* ===== pb_v1321_safe_ui.css ===== */
/* PokéBattle V13.21 — UI-only patch. No battle engine/lobby polling overrides. */

/* Battle history: show roughly 10 rows, then scroll with wheel/touch. */
#battleHistoryV131025 .bhList{
  max-height:590px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding-right:5px!important;
  scrollbar-gutter:stable!important;
}
#battleHistoryV131025 .bhList::-webkit-scrollbar{width:8px}
#battleHistoryV131025 .bhList::-webkit-scrollbar-thumb{background:#30394d;border-radius:999px}
#battleHistoryV131025 .bhList::-webkit-scrollbar-track{background:transparent}

/* Mobile header: trophy -> balance -> music -> profile. Music is NOT in the drawer. */
@media(max-width:760px){
  .topright{display:flex!important;align-items:center!important;gap:6px!important}
  #leaderboardTopBtnV131029{order:1!important;display:grid!important}
  .topright .balance{order:2!important}
  #musicBtn{
    order:3!important;
    display:grid!important;
    place-items:center!important;
    width:38px!important;height:38px!important;min-width:38px!important;
    padding:0!important;border-radius:10px!important;
    font-size:0!important;line-height:1!important;
    border:1px solid rgba(141,119,255,.3)!important;
    background:#111725!important;color:#fff!important;
  }
  #musicBtn::before{content:'🎵';font-size:17px!important;line-height:1!important}
  #topAvatar{order:4!important}
  #musicPanelV7.pb46Music,
  #musicPanelV7{
    position:fixed!important;
    top:70px!important;left:10px!important;right:10px!important;
    width:auto!important;max-width:none!important;
    z-index:999995!important;
  }
  #musicPanelV7 input[type="range"]{width:100%!important;min-width:0!important}
}

@media(max-width:560px){
  #battleHistoryV131025 .bhList{max-height:520px!important}
}


/* ===== pb_v1322_safe_ui.css ===== */
/* PokéBattle V13.22 — safe UI/account patch. Battle engine untouched. */

/* Rule lives inside Product and stays compact. */
#page-battle #pbLobbyStable46 .pb46Fact:nth-child(2){overflow:visible!important}
#page-battle #pbLobbyStable46 .pb46ModeInline{
  display:block!important;
  margin-top:7px!important;
  padding-top:6px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  background:transparent!important;
}
#page-battle #pbLobbyStable46 .pb46ModeInline>small{
  display:block!important;
  margin:0 0 5px!important;
  color:#7f8aa0!important;
  font-size:7px!important;
  font-weight:1000!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
#page-battle #pbLobbyStable46 .pb46ModeInline .pb46ModeBtns{
  display:flex!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
  margin:0!important;
}
#page-battle #pbLobbyStable46 .pb46ModeInline .pb46ModeBtns button{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  min-height:25px!important;
  padding:4px 6px!important;
  border-radius:7px!important;
  font-size:8px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* On phones/tablets: Trophy -> Music -> Balance -> Profile. Desktop keeps its existing text button. */
@media(max-width:1100px){
  .topright{display:flex!important;align-items:center!important;gap:6px!important}
  #leaderboardTopBtnV131029{order:1!important;display:grid!important}
  #musicBtn{
    order:2!important;
    display:grid!important;
    place-items:center!important;
    width:38px!important;height:38px!important;min-width:38px!important;
    padding:0!important;border-radius:10px!important;
    font-size:0!important;line-height:1!important;
    border:1px solid rgba(141,119,255,.3)!important;
    background:#111725!important;color:#fff!important;
  }
  #musicBtn::before{content:'🎵';font-size:17px!important;line-height:1!important}
  .topright .balance{order:3!important}
  #topAvatar{order:4!important}
}


/* ===== pb_v1329_final.css ===== */
/* PokéBattle V13.28 — exact user-designed battle room + persistent final arena. */

/* Room configuration stays visible above live/final battle without altering engine state. */
#battleGrid.session-active .battlearena > #lobby.pbStable46.hidden{
  display:block!important;width:100%!important;max-width:none!important;
  margin:0 0 12px!important;padding:0!important;border:0!important;
  background:transparent!important;box-shadow:none!important;
}

/* EXACT desktop composition from the approved mockup:
   SET | FORMAT | PRODUCT | QUANTITY | PRICE | CODE
                 RULE    | room action buttons                */
#page-battle #pbLobbyStable46{
  display:grid!important;
  grid-template-columns:minmax(270px,290px) minmax(0,1fr)!important;
  gap:10px!important;width:100%!important;max-width:none!important;
  box-sizing:border-box!important;padding:10px!important;margin:0!important;
  border-radius:14px!important;
}
#page-battle #pbLobbyStable46 .pb46Set{
  min-height:144px!important;height:144px!important;
  grid-template-columns:82px minmax(0,1fr)!important;gap:10px!important;
  padding:10px!important;border-radius:12px!important;align-content:center!important;
  box-sizing:border-box!important;
}
#page-battle #pbLobbyStable46 .pb46SetLogo{height:76px!important;border-radius:9px!important}
#page-battle #pbLobbyStable46 .pb46SetText b{font-size:17px!important}
#page-battle #pbLobbyStable46 .pb46SetText span{margin-top:8px!important;padding:7px 9px!important;font-size:9px!important}
#page-battle #pbLobbyStable46 .pb46SetText small{margin-top:7px!important;font-size:10px!important}

#page-battle #pbLobbyStable46 .pb46Right{
  display:grid!important;grid-template-rows:80px 56px!important;gap:8px!important;min-width:0!important;
}
#page-battle #pbLobbyStable46 .pb46Facts,
#page-battle #pbLobbyStable46 .pb46Lower{
  display:grid!important;
  grid-template-columns:1.05fr 1.10fr 1.06fr 1fr 1.10fr!important;
  gap:8px!important;min-width:0!important;
}
#page-battle #pbLobbyStable46 .pb46Fact{
  min-height:80px!important;height:80px!important;padding:9px 10px!important;
  border-radius:10px!important;box-sizing:border-box!important;overflow:hidden!important;
}
#page-battle #pbLobbyStable46 .pb46Fact small,
#page-battle #pbLobbyStable46 .pb46ModeInline>small{
  display:block!important;margin:0 0 5px!important;color:#8793a8!important;
  font-size:8px!important;font-weight:900!important;letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
#page-battle #pbLobbyStable46 .pb46Fact b{font-size:12px!important;line-height:1.15!important}
#page-battle #pbLobbyStable46 .pb46Fact span{font-size:9px!important;margin-top:4px!important}
#page-battle #pbLobbyStable46 .pb46QtyFact input{min-height:38px!important;font-size:14px!important}

/* Rule is its OWN card, directly under Formato — not nested inside another card. */
#page-battle #pbLobbyStable46 .pb46ModeInline{
  grid-column:1/2!important;display:block!important;height:56px!important;min-height:56px!important;
  margin:0!important;padding:6px 8px!important;box-sizing:border-box!important;
  border:1px solid #2b3549!important;background:#111827!important;border-radius:10px!important;
}
#page-battle #pbLobbyStable46 .pb46ModeInline>small{margin-bottom:4px!important}
#page-battle #pbLobbyStable46 .pb46ModeBtns{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin:0!important;
}
#page-battle #pbLobbyStable46 .pb46ModeBtns button{
  width:100%!important;min-width:0!important;min-height:30px!important;height:30px!important;
  padding:0 8px!important;border-radius:8px!important;font-size:9px!important;
  line-height:1!important;font-weight:1000!important;white-space:nowrap!important;
}
#page-battle #pbLobbyStable46 .pb46ModeBtns button:disabled{opacity:1!important;cursor:default!important}

/* Actions begin under Producto and use the original large sizing. */
#page-battle #pbLobbyStable46 .pb46Actions{
  grid-column:2/6!important;display:flex!important;align-items:center!important;
  justify-content:flex-end!important;gap:8px!important;flex-wrap:nowrap!important;min-width:0!important;
}
#page-battle #pbLobbyStable46 .pb46Actions button{
  min-height:40px!important;height:40px!important;padding:0 14px!important;
  border-radius:10px!important;font-size:12px!important;font-weight:1000!important;white-space:nowrap!important;
}
#page-battle #pbLobbyStable46 .pb46CodeRow button{min-height:27px!important;height:27px!important;padding:0 8px!important;font-size:10px!important}

/* Live/final data stays visible but cannot mutate a running result. */
#battleGrid.session-active .battlearena > #lobby.pbStable46.hidden #pbLobbyStable46 select,
#battleGrid.session-active .battlearena > #lobby.pbStable46.hidden #pbLobbyStable46 input,
#battleGrid.session-active .battlearena > #lobby.pbStable46.hidden #pbLobbyStable46 .pb46Set.canEdit{
  pointer-events:none!important;
}
body:not(.pbBattleFinalHoldV1327) #battleGrid.session-active .battlearena > #lobby.pbStable46.hidden #pbLobbyStable46 button:not(#pb46Leave){pointer-events:none!important}
body.pbBattleFinalHoldV1327 #battleGrid.session-active .battlearena > #lobby.pbStable46.hidden #pbLobbyStable46 button:not(#pb46Start):not(#pb46Leave){pointer-events:none!important}

/* Finished battle: revealed lanes, card totals and result stay exactly where they ended. */
body.pbBattleFinalHoldV1327 #playerSlots{display:grid!important;visibility:visible!important}
body.pbBattleFinalHoldV1327 #battleResult{display:block!important}
body.pbBattleFinalHoldV1327 #battleResult .battleResultActions{display:none!important}

/* VS: fighters first, OPEN last. */
.pb1319Open{
  position:absolute;left:50%;top:50%;z-index:6;transform:translate(-50%,-50%) scale(.55);opacity:0;
  color:#fff;font-size:68px;font-weight:1000;letter-spacing:.16em;
  text-shadow:0 0 24px rgba(255,210,55,.48),0 7px 28px rgba(0,0,0,.6);pointer-events:none;
}
.pb1319Open.go{animation:pb1328Open .38s cubic-bezier(.2,.9,.2,1) forwards}
@keyframes pb1328Open{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* Sets preview: sticky app header never covers close button. */
#setPreviewV6{z-index:1000010!important;place-items:start center!important;align-items:start!important;overflow:auto!important;padding:88px 17px 18px!important}
#setPreviewV6 .modalcard{position:relative!important;margin:0 auto!important;max-height:calc(100dvh - 106px)!important}
#setPreviewV6 .zoomClose{top:10px!important;right:12px!important;z-index:30!important}
#setPreviewV6 .previewCardsV6{max-height:calc(100dvh - 245px)!important}

/* Pokédex detail identity + progress remain sticky while the cards scroll. */
#pokedexDetailV138 .pokedexStickyV1327{
  position:sticky;top:84px;z-index:70;background:linear-gradient(180deg,#080b13 0%,rgba(8,11,19,.97) 88%,rgba(8,11,19,0) 100%);
  padding:0 0 8px;margin:0 0 8px;backdrop-filter:blur(12px);
}
#pokedexDetailV138 .pokedexStickyV1327 .pokedexDetailTopV138{margin-bottom:10px!important;box-shadow:0 10px 24px rgba(0,0,0,.18)}
#pokedexDetailV138 .pokedexStickyV1327 .pokedexDetailProgressV138{margin-bottom:0!important;box-shadow:0 10px 24px rgba(0,0,0,.14)}

@media(max-width:900px){
  #page-battle #pbLobbyStable46{grid-template-columns:1fr!important}
  #page-battle #pbLobbyStable46 .pb46Set{min-height:96px!important;grid-template-columns:72px 1fr!important}
  #page-battle #pbLobbyStable46 .pb46SetLogo{height:66px!important}
  #page-battle #pbLobbyStable46 .pb46Facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-battle #pbLobbyStable46 .pb46Fact:nth-child(2){min-height:122px!important}
  #pokedexDetailV138 .pokedexStickyV1327{top:74px}
}
@media(max-width:760px){
  #page-battle #pbLobbyStable46{padding:7px!important;gap:7px!important}
  #page-battle #pbLobbyStable46 .pb46Facts{grid-template-columns:1fr 1fr!important;gap:6px!important}
  #page-battle #pbLobbyStable46 .pb46Actions button{min-height:38px!important;font-size:10px!important;padding:0 10px!important}
  #page-battle #pbLobbyStable46 .pb46ModeBtns button{min-height:32px!important;font-size:9px!important}
  .pb1319Open{font-size:36px}
  #setPreviewV6{padding:76px 8px 10px!important}
  #setPreviewV6 .modalcard{max-height:calc(100dvh - 88px)!important}
  #setPreviewV6 .previewCardsV6{max-height:calc(100dvh - 220px)!important}
  #pokedexDetailV138 .pokedexStickyV1327{top:68px;padding-bottom:6px}
}


/* V13.28 responsive battle room. */
@media(max-width:1000px){
  #page-battle #pbLobbyStable46{grid-template-columns:1fr!important}
  #page-battle #pbLobbyStable46 .pb46Set{height:auto!important;min-height:96px!important;grid-template-columns:72px 1fr!important}
  #page-battle #pbLobbyStable46 .pb46Right{grid-template-rows:auto auto!important}
  #page-battle #pbLobbyStable46 .pb46Facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-battle #pbLobbyStable46 .pb46Fact{height:auto!important;min-height:76px!important}
  #page-battle #pbLobbyStable46 .pb46Fact:nth-child(2){height:auto!important;min-height:76px!important}
  #page-battle #pbLobbyStable46 .pb46Lower{grid-template-columns:1fr!important}
  #page-battle #pbLobbyStable46 .pb46ModeInline{grid-column:1!important;width:100%!important;height:auto!important;min-height:56px!important}
  #page-battle #pbLobbyStable46 .pb46Actions{grid-column:1!important;justify-content:flex-start!important;flex-wrap:wrap!important}
}
@media(max-width:760px){
  #page-battle #pbLobbyStable46{padding:7px!important;gap:7px!important}
  #page-battle #pbLobbyStable46 .pb46Facts{grid-template-columns:1fr 1fr!important;gap:6px!important}
  #page-battle #pbLobbyStable46 .pb46Actions button{min-height:38px!important;height:38px!important;font-size:10px!important;padding:0 10px!important}
  #page-battle #pbLobbyStable46 .pb46ModeBtns button{min-height:32px!important;height:32px!important;font-size:9px!important}
}


/* ===== pb_v1330_final.css ===== */
/* PokéBattle V13.30 — interaction/sticky fixes only. */

/* Once the arena has actually started, nobody can be kicked. Before start these remain visible. */
body.pbBattleNoKickV1330 .waitingKickV7,
body.pbBattleNoKickV1330 .kickBtnV7,
body.pbBattleNoKickV1330 [onclick*="kickMemberV7"],
body.pbBattleNoKickV1330 [onclick*="kickMember"]{display:none!important;pointer-events:none!important}

/* Rule buttons: clear instant feedback and no transition flicker while polling synchronizes. */
#pbLobbyStable46 .pb46ModeBtns button{transition:border-color .08s ease,background .08s ease,color .08s ease,box-shadow .08s ease!important;touch-action:manipulation!important}
#pbLobbyStable46 .pb46ModeBtns button.active{border-color:#f2ca21!important;background:rgba(242,202,33,.10)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(242,202,33,.10) inset!important}

/* JS-backed sticky: uses fixed positioning because several legacy ancestors use overflow,
   which prevents native position:sticky from behaving reliably. */
#pokedexDetailV138 .pokedexStickyPlaceholderV1330{height:0;margin:0;padding:0}
#pokedexDetailV138 .pokedexStickyV1327.pbPokedexFixedV1330{
  position:fixed!important;z-index:130!important;margin:0!important;padding:0 0 8px!important;
  background:linear-gradient(180deg,#080b13 0%,rgba(8,11,19,.985) 92%,rgba(8,11,19,.93) 100%)!important;
  backdrop-filter:blur(14px);box-sizing:border-box!important
}


/* ===== pb_v1331_exchange_qol.css ===== */
/* PokéBattle V13.31/V13.33 — Exchange QoL. */

#page-exchange .exchangeOfferV135{min-height:0!important}

/* Three true full-width columns. The first nine cards (3x3) form the default
   viewport; card 10+ stays inside this panel and is reached by internal scroll. */
#page-exchange .exchangeOfferGridV135{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:10px!important;
  width:100%!important;
  height:1040px!important;
  min-height:1040px!important;
  max-height:1040px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-content:start!important;
  justify-content:stretch!important;
  padding:2px 9px 2px 2px!important;
  box-sizing:border-box!important;
  overscroll-behavior-y:auto!important;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
#page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
#page-exchange .exchangeOfferGridV135>.exchangeEmptyV135{
  grid-column:1/-1!important;
  width:100%!important;
  min-height:1010px!important;
  box-sizing:border-box!important;
  pointer-events:none!important;
}
#page-exchange .exchangeOfferGridV135::-webkit-scrollbar{width:9px}
#page-exchange .exchangeOfferGridV135::-webkit-scrollbar-track{background:#0b1019;border-radius:999px}
#page-exchange .exchangeOfferGridV135::-webkit-scrollbar-thumb{background:#354057;border-radius:999px;border:2px solid #0b1019}

#page-exchange .exchangeQuickTopV138{grid-template-columns:1fr auto auto auto auto!important}
#page-exchange #exchangeAuto70V135.exchangeAuto70TopV1331{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:42px!important;padding:0 16px!important;white-space:nowrap!important;
  box-shadow:0 7px 20px rgba(255,195,49,.12)
}
#page-exchange #exchangeAuto70V135.exchangeAuto70TopV1331:not(:disabled){
  border-color:#e0b628!important;background:linear-gradient(180deg,#f1c532,#c99e1f)!important;color:#161000!important
}

/* Native select: short, useful list; no live DOM rewriting while it is open. */
#page-exchange #exchangeRarityV185{min-width:200px;cursor:pointer}
#page-exchange #exchangeRarityV185 option{cursor:pointer}

@media(max-width:1200px){
  #page-exchange .exchangeOfferGridV135{height:900px!important;min-height:900px!important;max-height:900px!important}
  #page-exchange .exchangeOfferGridV135>.exchangeEmptyV135{min-height:870px!important}
}
@media(max-width:820px){
  #page-exchange .exchangeQuickTopV138{grid-template-columns:1fr 1fr!important}
  #page-exchange .exchangeQuickTopV138 .meta{grid-column:1/-1!important}
  #page-exchange .exchangeQuickTopV138 .btn{width:100%!important}
  #page-exchange .exchangeOfferGridV135{height:650px!important;min-height:650px!important;max-height:650px!important;gap:7px!important}
  #page-exchange .exchangeOfferGridV135>.exchangeEmptyV135{min-height:620px!important}
}
@media(max-width:430px){
  #page-exchange .exchangeOfferGridV135{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    height:520px!important;min-height:520px!important;max-height:520px!important;
    gap:6px!important;padding-right:5px!important
  }
  #page-exchange .exchangeOfferGridV135>.exchangeEmptyV135{min-height:490px!important}
  #page-exchange .exchangeQuickTopV138{grid-template-columns:1fr!important}
}

/* V13.36 — an EMPTY offer is display-only: it must never trap mouse-wheel or
   touch scrolling. The moment a card appears, the normal internal viewport
   becomes interactive again automatically. */
#page-exchange .exchangeOfferGridV135:not(:has(.exchangeOfferCardV135)){
  overflow-y:hidden!important;
  overflow-x:hidden!important;
  overscroll-behavior:auto!important;
  pointer-events:none!important;
  touch-action:auto!important;
}
#page-exchange .exchangeOfferGridV135:not(:has(.exchangeOfferCardV135))::-webkit-scrollbar{display:none!important}


/* V13.37 — more compact exchange offers. Keep the panel full-width, but cards
   are intentionally smaller and the 3x3 area no longer dominates the page. */
#page-exchange .exchangeOfferGridV135{
  grid-template-columns:repeat(3,minmax(0,155px))!important;
  justify-content:start!important;
  height:720px!important;min-height:720px!important;max-height:720px!important;
  gap:9px!important;padding:4px 8px 4px 2px!important
}
#page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135{max-width:155px!important;padding:4px!important}
#page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135 img{width:100%!important;max-height:214px!important;object-fit:cover!important}
#page-exchange .exchangeOfferGridV135>.exchangeEmptyV135{min-height:690px!important}
@media(max-width:1200px){
  #page-exchange .exchangeOfferGridV135{grid-template-columns:repeat(3,minmax(0,135px))!important;height:640px!important;min-height:640px!important;max-height:640px!important}
  #page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135{max-width:135px!important}
  #page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135 img{max-height:186px!important}
  #page-exchange .exchangeOfferGridV135>.exchangeEmptyV135{min-height:610px!important}
}
@media(max-width:820px){
  #page-exchange .exchangeOfferGridV135{grid-template-columns:repeat(3,minmax(0,1fr))!important;height:500px!important;min-height:500px!important;max-height:500px!important}
  #page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135{max-width:none!important}
  #page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135 img{max-height:none!important}
  #page-exchange .exchangeOfferGridV135>.exchangeEmptyV135{min-height:470px!important}
}


/* ===== pb_v1332_battle_format_teams_copy.css ===== */
/* V13.32 — solo formato, equipos 2v2 y feedback de copiar. */
#pbLatestFormat option:disabled{color:inherit!important;opacity:1!important}

#playerSlots.waitingSlots>.waitingCard.pbTeamLobbyBlueV1332{
  border-color:#3d83ff!important;
  box-shadow:0 0 0 1px rgba(61,131,255,.2),inset 0 1px 0 rgba(255,255,255,.02)!important;
}
#playerSlots.waitingSlots>.waitingCard.pbTeamLobbyRedV1332{
  border-color:#ef5367!important;
  box-shadow:0 0 0 1px rgba(239,83,103,.18),inset 0 1px 0 rgba(255,255,255,.02)!important;
}
#playerSlots.waitingSlots>.waitingCard.pbTeamLobbyBlueV1332 .slotTop{
  background:linear-gradient(90deg,rgba(45,113,225,.22),rgba(17,24,38,.96))!important;
  border-bottom-color:rgba(61,131,255,.42)!important;
}
#playerSlots.waitingSlots>.waitingCard.pbTeamLobbyRedV1332 .slotTop{
  background:linear-gradient(90deg,rgba(217,57,80,.22),rgba(17,24,38,.96))!important;
  border-bottom-color:rgba(239,83,103,.42)!important;
}
.pbTeamBadgeV1332{
  margin-left:auto;font-size:9px;font-weight:1000;letter-spacing:.06em;padding:4px 7px;border-radius:999px;white-space:nowrap
}
.pbTeamLobbyBlueV1332 .pbTeamBadgeV1332{color:#93c1ff;background:rgba(50,123,235,.15);border:1px solid rgba(80,146,255,.35)}
.pbTeamLobbyRedV1332 .pbTeamBadgeV1332{color:#ff9caa;background:rgba(225,62,85,.14);border:1px solid rgba(239,83,103,.34)}

/* Refuerzo visual del VS 2v2: además del fondo, muestra el nombre del equipo. */
.pb1319Team.blue,.pb1319Team.red{position:relative;padding-top:27px}
.pb1319Team.blue:before,.pb1319Team.red:before{
  position:absolute;top:0;left:50%;transform:translateX(-50%);font-size:11px;font-weight:1000;letter-spacing:.08em;white-space:nowrap
}
.pb1319Team.blue:before{content:'EQUIPO AZUL';color:#78b3ff}
.pb1319Team.red:before{content:'EQUIPO ROJO';color:#ff8493}
.pb1319Team.blue .pb1319Fighter{box-shadow:0 0 0 2px rgba(61,131,255,.22)!important}
.pb1319Team.red .pb1319Fighter{box-shadow:0 0 0 2px rgba(239,83,103,.2)!important}

#pb46Copy.pbCopiedV1332,#copyCode.pbCopiedV1332,#pbCopySocialV136.pbCopiedV1332{
  border-color:#2fd889!important;color:#77f2b5!important;background:rgba(34,197,123,.12)!important
}


/* ===== pb_v1335_rewards_support.css ===== */
/* PokéBattle V13.35 — daily/maintenance rewards + compact support note */
.pbRewardOverlayV1335{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,5,12,.72);backdrop-filter:blur(7px)}
.pbRewardOverlayV1335.show{display:flex}
.pbRewardCardV1335{width:min(430px,94vw);padding:24px;border:1px solid #39435a;border-radius:20px;background:linear-gradient(155deg,#141a28,#0d121d);box-shadow:0 25px 80px rgba(0,0,0,.5);text-align:center}
.pbRewardIconV1335{font-size:38px;margin-bottom:7px}.pbRewardCardV1335 h2{margin:0 0 7px;font-size:23px}.pbRewardAmountV1335{font-size:34px;font-weight:1000;color:#ffd43b;margin:4px 0 10px}.pbRewardCardV1335 p{margin:0 0 18px;color:#aeb8ca;line-height:1.55;font-size:13px}.pbRewardCardV1335 button{width:100%}
#page-profile .pbSupportNoteV1335{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;padding:12px 14px;margin-top:-2px;background:rgba(17,23,36,.78);border-color:#283247}
.pbSupportHeartV1335{font-size:15px;line-height:1.45;flex:0 0 auto}.pbSupportNoteV1335 p{margin:0;color:#8f9aaf;font-size:10px;line-height:1.5}.pbSupportNoteV1335 b{color:#d8deea}
@media(max-width:760px){#page-profile .pbSupportNoteV1335{padding:11px 12px}.pbSupportNoteV1335 p{font-size:9.5px}}

.pbSupportNoteV1335 a{color:#8f80ff;text-decoration:none;font-weight:900}.pbSupportNoteV1335 a:hover{text-decoration:underline;color:#b5aaff}


/* ===== pb_v1339_format_dropdown.css ===== */
/* PokéBattle V13.39 — Formato dropdown visibility fix only.
   Product dropdown already worked correctly; this makes the Formato card
   use the same visible overflow/stacking behavior without touching battle logic. */
#page-battle #pbLobbyStable46,
#page-battle #pbLobbyStable46 .pb46Right,
#page-battle #pbLobbyStable46 .pb46Facts {
  overflow: visible !important;
}

#page-battle #pbLobbyStable46 .pb46Facts .pb46Fact:first-child {
  position: relative !important;
  overflow: visible !important;
  z-index: 250 !important;
}

#page-battle #pbLobbyStable46 .pb46Facts .pb46Fact:first-child .pbBattleDropdownV1337 {
  position: relative !important;
  overflow: visible !important;
  z-index: 300 !important;
}

#page-battle #pbLobbyStable46 .pb46Facts .pb46Fact:first-child .pbBattleDropdownV1337.open {
  z-index: 10000 !important;
}

#page-battle #pbLobbyStable46 .pb46Facts .pb46Fact:first-child .pbBattleDropdownMenuV1337 {
  z-index: 10001 !important;
  min-width: 100% !important;
  width: 100% !important;
  max-height: 260px !important;
}

/* Keep the second row and player area underneath an open Formato menu. */
#page-battle #pbLobbyStable46 .pb46Lower {
  position: relative !important;
  z-index: 1 !important;
}
#page-battle #battleGrid,
#page-battle .battleGrid,
#page-battle .pbBattleGrid {
  position: relative;
  z-index: 0;
}


/* ===== pb_v1341_team_score_payout.css ===== */
/* V13.41 — centred 2v2 team totals + clear winner + full-width pot split. */
#pbTeamScoreV1340{display:none!important}
.pbTeamPairLabelsV1341{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin:8px 0 7px;pointer-events:none}
.pbTeamPairHalfV1341{display:flex;justify-content:center;align-items:center;min-width:0}
.pbTeamPairChipV1341{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:205px;max-width:92%;padding:7px 13px;border-radius:999px;background:#0d1420;border:1px solid #2b354a;box-shadow:0 8px 20px rgba(0,0,0,.18);white-space:nowrap}
.pbTeamPairHalfV1341.blue .pbTeamPairChipV1341{border-color:#3284ff;box-shadow:0 0 0 1px rgba(50,132,255,.14),0 8px 20px rgba(0,0,0,.18)}
.pbTeamPairHalfV1341.red .pbTeamPairChipV1341{border-color:#ff4e63;box-shadow:0 0 0 1px rgba(255,78,99,.13),0 8px 20px rgba(0,0,0,.18)}
.pbTeamPairChipV1341 span{font-size:10px;font-weight:1000;letter-spacing:.07em}
.pbTeamPairHalfV1341.blue span{color:#7db7ff}.pbTeamPairHalfV1341.red span{color:#ff909d}
.pbTeamPairChipV1341 strong{font-size:15px;color:#f4f6fb}
.pbTeamPairChipV1341 em{display:none;font-style:normal;font-size:8px;font-weight:1000;letter-spacing:.04em;color:#141104;background:#f5cf3b;border:1px solid #ffe36b;border-radius:999px;padding:3px 6px}
.pbTeamPairHalfV1341.leading .pbTeamPairChipV1341{border-color:#f5cf3b!important;background:linear-gradient(90deg,rgba(245,207,59,.12),#0d1420);box-shadow:0 0 0 1px rgba(245,207,59,.20),0 0 20px rgba(245,207,59,.10)}
.pbTeamPairHalfV1341.leading .pbTeamPairChipV1341 em{display:inline-flex}

/* Preserve the classic pot layout: text on the left, total on the right; payout below full width. */
#battleResult .pb133Pot.pbTeamPotV1341{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:18px!important;row-gap:12px!important}
#battleResult .pb133Pot.pbTeamPotV1341>strong{grid-column:2;grid-row:1;align-self:center}
.pbTeamPayoutsV1341{grid-column:1/-1;width:100%;padding-top:11px;border-top:1px solid rgba(255,255,255,.09)}
.pbTeamPayoutTitleV1341{text-align:center;font-size:9px;font-weight:1000;letter-spacing:.09em;color:#aab3c4;margin-bottom:8px}
.pbTeamPayoutGridV1341{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:760px;margin:0 auto}
.pbTeamPayoutCardV1341{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(8,12,20,.38)}
.pbTeamPayoutCardV1341 span{font-size:11px!important;font-weight:900!important;color:#d7deeb!important;text-transform:none!important;letter-spacing:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pbTeamPayoutCardV1341 b{font-size:15px;color:#f5d33f;white-space:nowrap}
@media(max-width:760px){
  .pbTeamPairLabelsV1341{gap:5px;margin:6px 0}
  .pbTeamPairChipV1341{min-width:0;width:94%;gap:5px;padding:6px 7px}
  .pbTeamPairChipV1341 span{font-size:8px}.pbTeamPairChipV1341 strong{font-size:12px}.pbTeamPairChipV1341 em{font-size:6px;padding:2px 4px}
  .pbTeamPayoutGridV1341{grid-template-columns:1fr}
  #battleResult .pb133Pot.pbTeamPotV1341{grid-template-columns:1fr auto!important}
}

/* V13.58.1 — centre the pot heading across the full result panel. */
#battleResult .pb133Pot.pbTeamPotV1341{position:relative!important;grid-template-columns:1fr!important}
#battleResult .pb133Pot.pbTeamPotV1341>div:first-child{grid-column:1!important;grid-row:1!important;text-align:center!important;padding-left:120px!important;padding-right:120px!important}
#battleResult .pb133Pot.pbTeamPotV1341>strong{position:absolute!important;right:18px!important;top:20px!important;grid-column:auto!important;grid-row:auto!important;margin:0!important}
#battleResult .pb133Pot.pbTeamPotV1341>.pbTeamPayoutsV1341{grid-column:1!important}
@media(max-width:760px){
  #battleResult .pb133Pot.pbTeamPotV1341>div:first-child{padding-left:0!important;padding-right:0!important}
  #battleResult .pb133Pot.pbTeamPotV1341>strong{position:static!important;justify-self:center!important;margin-top:-4px!important}
}


/* ===== pb_v1343_multiplayer_social.css ===== */
/* PokéBattle V13.43 — multiplayer authority, team placement, exchange + public profiles */
.pb43ReadyToggle,.pb43ReadyBadge{border-radius:9px!important;font-weight:1000!important;letter-spacing:.02em!important}
.pb43ReadyToggle.isReady,.pb43ReadyBadge.isReady{color:#6ff0a8!important;border:1px solid rgba(62,220,132,.65)!important;background:rgba(27,150,86,.15)!important}
.pb43ReadyToggle.notReady,.pb43ReadyBadge.notReady{color:#ff8c9a!important;border:1px solid rgba(255,77,97,.62)!important;background:rgba(180,41,57,.14)!important}
#playerSlots .ready.pb43ReadyBadge{padding:5px 8px!important;font-size:8px!important;line-height:1!important;white-space:nowrap!important}

.pb43MoveBtn{margin-top:8px!important;padding:6px 9px!important;border:1px solid #3a455c!important;border-radius:8px!important;background:#111927!important;color:#dbe2ef!important;font-size:8px!important;font-weight:900!important;cursor:pointer!important}
.pb43MoveBtn:hover{border-color:#7b62e8!important;color:white!important}
.pb43MoveModal{position:fixed;inset:0;z-index:100300;background:rgba(2,5,12,.78);backdrop-filter:blur(6px);display:none;place-items:center;padding:18px}
.pb43MoveModal.open{display:grid}
.pb43MoveCard{width:min(520px,96vw);border:1px solid #30394c;border-radius:16px;background:#101622;box-shadow:0 25px 80px rgba(0,0,0,.55);padding:18px}
.pb43MoveCard h3{margin:0 0 5px}.pb43MoveCard p{margin:0 0 14px;color:#8f99ad;font-size:11px}
.pb43MoveGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pb43MoveSlot{padding:12px 10px;border-radius:10px;border:1px solid #313b50;background:#0c121d;color:white;font-weight:1000;cursor:pointer}.pb43MoveSlot.blue{border-color:#3187ff;color:#86bfff}.pb43MoveSlot.red{border-color:#f05265;color:#ff97a3}.pb43MoveClose{margin-top:12px;width:100%}

/* The local player's team is always shown on the left in 2v2; score chips follow that same order. */
#pbTeamPairLabelsV1341.pb43LocalRed [data-team="B"]{order:0}#pbTeamPairLabelsV1341.pb43LocalRed [data-team="A"]{order:1}
#pbTeamPairLabelsV1341.pb43LocalBlue [data-team="A"]{order:0}#pbTeamPairLabelsV1341.pb43LocalBlue [data-team="B"]{order:1}
#pb46Vs .pb46Team[data-pb43-team="A"] .pb46Fighter{border-color:#3187ff!important;box-shadow:0 0 0 1px rgba(49,135,255,.15)}
#pb46Vs .pb46Team[data-pb43-team="B"] .pb46Fighter{border-color:#f05265!important;box-shadow:0 0 0 1px rgba(240,82,101,.15)}
#pb46Vs .pb46Team[data-pb43-team="A"]:before,#pb46Vs .pb46Team[data-pb43-team="B"]:before{display:block;text-align:center;font-size:10px;font-weight:1000;letter-spacing:.08em;margin:0 0 8px}
#pb46Vs .pb46Team[data-pb43-team="A"]:before{content:'EQUIPO AZUL';color:#78b5ff}#pb46Vs .pb46Team[data-pb43-team="B"]:before{content:'EQUIPO ROJO';color:#ff8e9b}

/* Exchange: both offer viewports really use the full half-panel width. */
#page-exchange .exchangeBoardV135{width:100%!important;max-width:none!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
#page-exchange .exchangeOfferV135{width:100%!important;min-width:0!important;box-sizing:border-box!important}
#page-exchange .exchangeOfferGridV135{grid-template-columns:repeat(3,minmax(0,1fr))!important;justify-content:stretch!important;width:100%!important;max-width:none!important;height:620px!important;min-height:620px!important;max-height:620px!important}
#page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135{width:100%!important;max-width:none!important}
#page-exchange .exchangeOfferGridV135>.exchangeEmptyV135{width:100%!important;max-width:none!important;min-height:590px!important}
#exchangeReadyTopV138.pb43ExchangeReady{border-width:1px!important}
@media(max-width:820px){#page-exchange .exchangeOfferGridV135{height:500px!important;min-height:500px!important;max-height:500px!important}#page-exchange .exchangeOfferGridV135>.exchangeEmptyV135{min-height:470px!important}}

/* Public trainer profiles */
.pb43PublicEditor{grid-column:1/-1;padding:18px!important}.pb43PublicEditorHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pb43PublicEditorHead h2{margin:0}.pb43Bio{width:100%;min-height:88px;resize:vertical}
.pb43FeaturedPreview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:11px}.pb43FeaturedEmpty{grid-column:1/-1;padding:22px;text-align:center;color:#8994a9;border:1px dashed #30394d;border-radius:10px}
.pb43FeaturedCard{min-width:0;border:1px solid #2e374a;border-radius:10px;background:#0d131e;padding:6px}.pb43FeaturedCard img{width:100%;aspect-ratio:245/337;object-fit:cover;border-radius:6px}.pb43FeaturedCard b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.pb43FeaturedCard small{display:block;color:#ffd34a;font-size:9px;font-weight:900;margin-top:3px}
.pb43PublicActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pb43ProfileBtn{border:1px solid #3b465e;background:#111927;color:#dce3f0;border-radius:8px;padding:6px 9px;font-size:8px;font-weight:900;cursor:pointer}.pb43ProfileBtn:hover{border-color:#7560e7;color:white}
.pb43PublicModal,.pb43SelectModal{position:fixed;inset:0;z-index:100400;background:rgba(2,5,12,.82);backdrop-filter:blur(7px);display:none;place-items:center;padding:18px}.pb43PublicModal.open,.pb43SelectModal.open{display:grid}
.pb43PublicCard{width:min(980px,97vw);max-height:90vh;overflow:auto;border:1px solid #30394d;border-radius:18px;background:#101622;box-shadow:0 30px 90px rgba(0,0,0,.6);padding:20px}.pb43PublicTop{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.pb43PublicAvatar{width:78px;height:78px;border-radius:18px;background:linear-gradient(135deg,#5b46d8,#c6417c);display:grid;place-items:center;overflow:hidden;font-size:28px;font-weight:1000}.pb43PublicAvatar img{width:100%;height:100%;object-fit:cover}.pb43PublicTop h2{margin:0}.pb43PublicTop p{margin:4px 0 0;color:#98a3b6;line-height:1.45}.pb43Close{align-self:start}
.pb43PublicStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0}.pb43PublicStat{border:1px solid #2d3649;border-radius:10px;background:#0c121d;padding:11px}.pb43PublicStat small{display:block;color:#7e899e;font-size:8px;font-weight:900}.pb43PublicStat b{display:block;font-size:18px;margin-top:4px;color:#f3d44c}.pb43PublicFeatured{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.pb43PublicFeatured .pb43FeaturedCard small span{color:#aeb7c7;font-weight:800}
.pb43SelectCard{width:min(1080px,97vw);max-height:90vh;overflow:hidden;border:1px solid #30394d;border-radius:18px;background:#101622;padding:18px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px}.pb43SelectGrid{overflow:auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:2px}.pb43Pick{border:1px solid #2d3648;border-radius:9px;background:#0d131e;padding:4px;color:white;cursor:pointer;text-align:left}.pb43Pick.selected{border-color:#f3cf3b;box-shadow:inset 0 0 0 1px rgba(243,207,59,.25)}.pb43Pick img{width:100%;aspect-ratio:245/337;object-fit:cover;border-radius:5px}.pb43Pick b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.pb43Pick small{display:block;font-size:8px;color:#f3d44c;margin-top:2px}.pb43SelectFoot{display:flex;align-items:center;justify-content:space-between;gap:10px}
@media(max-width:760px){.pb43FeaturedPreview,.pb43PublicFeatured{grid-template-columns:repeat(2,minmax(0,1fr))}.pb43PublicTop{grid-template-columns:auto 1fr}.pb43PublicTop .pb43Close{grid-column:1/-1;width:100%}.pb43PublicStats{grid-template-columns:1fr}.pb43SelectGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.pb43MoveGrid{grid-template-columns:1fr}}

.pb43RoleBadge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;border:1px solid rgba(244,210,72,.45);background:rgba(244,210,72,.12);color:#f4d248;font-size:9px;font-weight:1000;vertical-align:middle;white-space:nowrap}
.pb43RoleBadge img{width:13px;height:13px;object-fit:contain}
.pb43PublicTitleLine{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pb43PublicTitleLine h2{margin:0}
.pb43AlreadyFriend{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;border:1px solid #2f9f67;background:rgba(38,149,98,.13);color:#7df0b0;font-size:10px;font-weight:1000}
.pb43AddBtn{white-space:nowrap}
.pb43LbActions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pb43LbActions.row{margin-top:7px}.lbPodiumCardV131029 .pb43LbActions.podium{position:absolute;left:10px;right:10px;bottom:10px;justify-content:center}.lbPodiumCardV131029{padding-bottom:44px!important}
.lbPodiumCardV131029 .pb43ProfileBtn{padding:5px 8px;font-size:8px}
.pb43AddFriendBtn{border-color:#6f55e7;background:#171332;color:#fff}.pb43AddFriendBtn:hover{border-color:#f2d04f;color:#fff}
@media(max-width:760px){.leaderboardTableV131029 .lbDetailV131029{display:block!important;grid-column:2 / span 2!important;justify-self:end!important;text-align:right!important;margin-top:4px!important;font-size:0!important}.leaderboardTableV131029 .lbDetailV131029>.pb43LbActions{justify-content:flex-end!important}.leaderboardTableV131029 .lbDetailV131029 .pb43ProfileBtn{font-size:8px!important;padding:5px 8px!important}.lbPodiumCardV131029{padding-bottom:38px!important}.lbPodiumCardV131029 .pb43LbActions.podium{left:6px;right:6px;bottom:6px;gap:4px}.lbPodiumCardV131029 .pb43ProfileBtn{padding:4px 7px!important;font-size:7px!important}.pb43PublicTop{grid-template-columns:auto 1fr!important;align-items:start}.pb43PublicTop .pb43Close{grid-column:1/-1;width:100%}.pb43PublicActions{margin-top:8px}}

/* V13.50 public profile redesign */
.pb43PublicCard{padding:0!important;overflow:auto!important;background:#0d131e!important}.pb43ProfileHero{position:relative;min-height:245px;display:flex;align-items:flex-end;padding:22px;background-size:cover!important;background-position:center!important;border-bottom:1px solid #30394d}.pb43ProfileHeroShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,6,12,.02),rgba(3,6,12,.88))}.pb43ProfileHeroIdentity{position:relative;z-index:1;display:flex;align-items:center;gap:16px;max-width:780px}.pb43ProfileHeroIdentity .pb43PublicAvatar{width:92px;height:92px;border:2px solid rgba(255,255,255,.55);box-shadow:0 14px 32px rgba(0,0,0,.42)}.pb43ProfileHeroIdentity h2{font-size:27px}.pb43ProfileHeroIdentity small{color:#c0cadb!important}.pb43ProfileHeroIdentity p{color:#eef2f8!important;max-width:650px}.pb43HeroClose{position:absolute;z-index:3;right:16px;top:16px;background:rgba(10,15,25,.76)!important;backdrop-filter:blur(8px)}.pb43PublicStats{padding:0 20px;margin:18px 0!important}.pb43FeaturedTitle{padding:0 20px}.pb43PublicFeatured{padding:0 20px 20px}.pb43PublicActions{margin-top:10px}.pb43RoleBadge{background:rgba(24,18,1,.66)!important}.pb43FeaturedCard{background:#0a1019!important;transition:transform .15s ease,border-color .15s ease}.pb43FeaturedCard:hover{transform:translateY(-2px);border-color:#53617d}.pb43PublicStat{background:linear-gradient(180deg,#101827,#0a1019)!important}
@media(max-width:760px){.pb43ProfileHero{min-height:280px;padding:18px 14px}.pb43ProfileHeroIdentity{align-items:flex-start;gap:12px}.pb43ProfileHeroIdentity .pb43PublicAvatar{width:72px;height:72px;flex:0 0 72px}.pb43ProfileHeroIdentity h2{font-size:21px}.pb43HeroClose{right:10px;top:10px;padding:8px!important;font-size:0}.pb43HeroClose:after{content:'✕';font-size:14px}.pb43PublicStats{padding:0 12px}.pb43FeaturedTitle,.pb43PublicFeatured{padding-left:12px;padding-right:12px}}

/* V13.50.1 — profile background covers the whole public card */
.pb43FullProfile{min-height:100%;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;padding-bottom:20px;overflow:hidden}
.pb43FullProfile .pb43ProfileHero{background:transparent!important;border-bottom:1px solid rgba(255,255,255,.13)!important}
.pb43FullProfile .pb43PublicStats{position:relative;z-index:1}
.pb43FullProfile .pb43PublicStat{background:rgba(7,12,21,.72)!important;backdrop-filter:blur(10px);border-color:rgba(255,255,255,.15)!important}
.pb43FullProfile .pb43FeaturedTitle{position:relative;z-index:1;text-shadow:0 2px 10px rgba(0,0,0,.65)}
.pb43FullProfile .pb43FeaturedCard,.pb43FullProfile .pb43FeaturedEmpty{background:rgba(7,12,21,.76)!important;backdrop-filter:blur(9px);border-color:rgba(255,255,255,.14)!important}
.pb43RoleBadge img,.pbCeoBadgeV1316 img{filter:brightness(0) saturate(100%) invert(88%) sepia(73%) saturate(1267%) hue-rotate(347deg) brightness(105%) contrast(96%);drop-shadow(0 0 5px rgba(246,211,72,.45));}
.pb43RoleBadge{border-color:rgba(246,211,72,.68)!important;color:#ffe25c!important;box-shadow:0 0 0 1px rgba(246,211,72,.08),0 4px 14px rgba(0,0,0,.25)}

.pb43RequestSent{border-color:rgba(58,211,132,.6)!important;background:rgba(29,137,86,.2)!important;color:#85f4b6!important;cursor:default!important}


/* ===== pb_v1344_admin_profile_perf.css ===== */
/* PokéBattle V13.44 — profile editor, public showcase, CEO tools, lightweight multiplayer */
#pbPublicEditor43{display:none!important}
.pb44ProfileAction{display:inline-flex!important;align-items:center;justify-content:center;gap:7px}
.pb44AdminGear{border-color:#d7b638!important;color:#f6d34e!important}

.pb44Modal{position:fixed;inset:0;z-index:100650;background:rgba(2,5,12,.84);backdrop-filter:blur(7px);display:none;place-items:center;padding:18px}
.pb44Modal.open{display:grid}.pb44Card{width:min(1080px,97vw);max-height:92vh;overflow:auto;border:1px solid #30394d;border-radius:18px;background:#101622;box-shadow:0 30px 90px rgba(0,0,0,.65);padding:18px}
.pb44Head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.pb44Head h2{margin:0}.pb44Close{min-width:42px}
.pb44EditorGrid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px}.pb44Side,.pb44Main{min-width:0}.pb44AvatarPreview{width:104px;height:104px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#5d44df,#c53e7e);display:grid;place-items:center;font-size:36px;font-weight:1000;margin:0 auto 12px}.pb44AvatarPreview img{width:100%;height:100%;object-fit:cover}
.pb44AvatarGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.pb44AvatarChoice{border:1px solid #30394c;border-radius:10px;background:#0d131e;padding:5px;cursor:pointer}.pb44AvatarChoice.active{border-color:#f1cf3c;box-shadow:0 0 0 1px rgba(241,207,60,.25)}.pb44AvatarChoice img{width:100%;aspect-ratio:1;object-fit:contain}
.pb44Bio{width:100%;min-height:105px;resize:vertical}.pb44FeatureStrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:10px}.pb44FeatureEmpty{grid-column:1/-1;border:1px dashed #313a4e;border-radius:10px;padding:24px;text-align:center;color:#8d98ac}
.pb44CardMini{min-width:0;border:1px solid #30394d;border-radius:10px;background:#0c121d;padding:5px}.pb44CardMini img{width:100%;aspect-ratio:245/337;object-fit:cover;border-radius:6px;display:block}.pb44CardMini b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.pb44CardMini small{display:block;color:#f4d348;font-size:8px;font-weight:900;margin-top:2px}.pb44Grade{color:#b9c6ff!important}
.pb44Actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

.pb44SelectorCard{width:min(1260px,98vw);max-height:93vh;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;border:1px solid #30394d;border-radius:18px;background:#101622;padding:16px}.pb44Filters{display:grid;grid-template-columns:minmax(210px,1fr) 220px 180px 200px;gap:8px}.pb44Grid{overflow:auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-content:start;padding:2px 4px 8px 2px}.pb44Pick{position:relative;border:1px solid #2d3649;border-radius:9px;background:#0d131e;padding:5px;text-align:left;color:white;cursor:pointer;min-width:0}.pb44Pick:hover{border-color:#56627d}.pb44Pick.selected{border-color:#f3d03d;box-shadow:inset 0 0 0 1px rgba(243,208,61,.36)}.pb44Pick.selected:before{content:'✓';position:absolute;top:7px;left:7px;z-index:2;background:#f3d03d;color:#111;border-radius:999px;width:22px;height:22px;display:grid;place-items:center;font-weight:1000}.pb44Pick img{width:100%;aspect-ratio:245/337;object-fit:cover;border-radius:5px;display:block;background:#0a0f18}.pb44Pick b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.pb44Pick small{display:block;font-size:8px;color:#f4d348;margin-top:2px}.pb44SelectorFoot{display:flex;align-items:center;justify-content:space-between;gap:10px}

.pb44PreviewTop{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center}.pb44PreviewAva{width:82px;height:82px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#5d44df,#c53e7e);display:grid;place-items:center;font-size:30px;font-weight:1000}.pb44PreviewAva img{width:100%;height:100%;object-fit:cover}.pb44PreviewStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.pb44Stat{border:1px solid #2d3649;border-radius:10px;background:#0c121d;padding:11px}.pb44Stat small{display:block;color:#8994a8;font-size:8px;font-weight:900}.pb44Stat b{display:block;color:#f2d248;font-size:18px;margin-top:4px}

.pb44AdminCard{width:min(1180px,98vw);max-height:92vh;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;border:1px solid #4d4322;border-radius:18px;background:#101622;padding:17px}.pb44AdminToolbar{display:flex;gap:8px}.pb44AdminToolbar .input{flex:1}.pb44AdminList{overflow:auto;display:grid;gap:8px;padding-right:3px}.pb44Player{border:1px solid #30394d;border-radius:12px;background:#0c121d;padding:10px;display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(250px,1.4fr) auto;gap:12px;align-items:center}.pb44PlayerMain{display:flex;gap:9px;align-items:center;min-width:0}.pb44PlayerAva{width:44px;height:44px;border-radius:10px;overflow:hidden;background:#6a45d7;display:grid;place-items:center;font-weight:1000}.pb44PlayerAva img{width:100%;height:100%;object-fit:cover}.pb44PlayerMain b,.pb44PlayerMain small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb44PlayerMain small{color:#8994a8}.pb44PlayerMeta{font-size:10px;color:#a4aec0}.pb44PlayerOps{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.pb44PlayerOps input,.pb44PlayerOps select{width:92px;background:#090f18;color:white;border:1px solid #354057;border-radius:8px;padding:8px}.pb44BanBadge{display:inline-block;margin-top:4px;padding:3px 6px;border-radius:999px;background:rgba(205,50,68,.18);border:1px solid rgba(241,77,96,.45);color:#ff9aa5;font-size:8px;font-weight:900}.pb44CEO{color:#f4d248!important}

.pb44GiftModal .pb44Card{width:min(500px,94vw);text-align:center}.pb44GiftAmount{font-size:38px;color:#f4d248;font-weight:1000;margin:8px 0}.pb44GiftIcon{font-size:40px}

/* Exchange really uses all available width; both sides are symmetrical. */
#page-exchange .exchangeBoardV135{width:100%!important;max-width:none!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
#page-exchange .exchangeOfferV135{width:100%!important;max-width:none!important}
#page-exchange .exchangeOfferGridV135{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;justify-content:stretch!important}
#page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135{width:100%!important;max-width:none!important}

@media(max-width:900px){.pb44EditorGrid{grid-template-columns:1fr}.pb44Filters{grid-template-columns:1fr 1fr}.pb44Grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pb44Player{grid-template-columns:1fr}.pb44PlayerOps{justify-content:flex-start}}
@media(max-width:620px){.pb44FeatureStrip{grid-template-columns:repeat(2,minmax(0,1fr))}.pb44Filters{grid-template-columns:1fr}.pb44Grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb44PreviewStats{grid-template-columns:1fr}}

.pb44Modal{align-items:flex-start!important;padding:84px 18px 22px!important}
.pb44AdminCard{background:linear-gradient(180deg,#101622,#0c121d)!important;box-shadow:0 32px 90px rgba(0,0,0,.58)!important}
.pb44Head{position:sticky;top:0;z-index:2;padding-bottom:10px;margin-bottom:6px;background:linear-gradient(180deg,#101622 84%,rgba(16,22,34,0))}
.pb44AdminToolbar{position:sticky;top:62px;z-index:2;padding:6px 0 10px;background:linear-gradient(180deg,#101622 78%,rgba(16,22,34,0))}
.pb44Player{box-shadow:0 12px 30px rgba(0,0,0,.18)}
.pb44Player.isCeo{border-color:rgba(244,210,72,.4);background:linear-gradient(180deg,rgba(244,210,72,.06),#0c121d)}
.pb44PlayerTitle{display:flex;align-items:center;gap:8px;min-width:0}.pb44RolePill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(244,210,72,.45);background:rgba(244,210,72,.12);color:#f4d248;font-size:9px;font-weight:1000;white-space:nowrap}
.pb44PlayerOps{align-items:center}
@media(max-width:900px){.pb44Modal{padding-top:72px!important}.pb44Head,.pb44AdminToolbar{position:static!important;background:none!important}}
/* V13.49 CEO console polish */
.pb44Player{grid-template-columns:minmax(210px,.9fr) minmax(320px,1.25fr) minmax(360px,1.5fr)!important;padding:13px!important;gap:14px!important}
.pb44PlayerIdentity{display:grid;gap:9px;align-content:center}.pb44ProfileBtnAdmin{width:max-content}
.pb44PlayerStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pb44PlayerStats>span{border:1px solid #293449;background:#0a101a;border-radius:9px;padding:8px 9px;min-width:0}.pb44PlayerStats small{display:block;color:#75829a;font-size:7px;font-weight:1000;letter-spacing:.06em}.pb44PlayerStats b{display:block;color:#f1f4fb;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb44PlayerOps{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;justify-content:stretch!important}.pb44GiftOps,.pb44ModerationOps,.pb44TagsOps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border:1px solid #293449;border-radius:10px;background:#0a101a;padding:8px}.pb44GiftOps{border-color:rgba(244,210,72,.25);background:rgba(244,210,72,.035)}.pb44GiftOps label,.pb44ModerationOps label,.pb44TagsOps label{flex-basis:100%;font-size:7px;font-weight:1000;letter-spacing:.07em;color:#7f8ba1;text-transform:uppercase}.pb44GiftOps input,.pb44ModerationOps input,.pb44ModerationOps select{min-width:72px;flex:0 1 90px}.pb44GiftOps .btn,.pb44ModerationOps .btn{min-height:34px}
.pb44TagsOps{grid-column:1/-1;border-color:rgba(120,150,255,.22);background:rgba(120,150,255,.035)}
.pb44TagChips{display:flex;flex-wrap:wrap;gap:6px}
.pb44TagChip{border:1px solid #34405a;background:#111827;color:#9aa5b7;font-size:10px;font-weight:900;padding:6px 10px;border-radius:999px;cursor:pointer;transition:.15s}
.pb44TagChip.active{border-color:rgba(120,170,255,.6);background:rgba(120,170,255,.16);color:#c9dbff}
.pb44TagChip:disabled{opacity:.5;cursor:wait}
.pb44RolePill.pb44TagPill{border-color:rgba(120,170,255,.45);background:rgba(120,170,255,.12);color:#c9dbff}
.pb43RoleBadge.pb43TagBadge{border-color:rgba(120,170,255,.45);background:rgba(120,170,255,.12);color:#c9dbff}.pb43RoleBadge.pb43TagBadge[data-tag="vip"]{border-color:rgba(255,210,83,.7);background:rgba(255,190,35,.16);color:#ffe08a}.pb43RoleBadge.pb43TagBadge[data-tag="donator"]{border-color:rgba(54,224,132,.7);background:rgba(31,190,102,.16);color:#76f0ae}.pb43RoleBadge.pb43TagBadge[data-tag="staff"]{border-color:rgba(38,103,189,.78);background:rgba(20,64,130,.3);color:#86b8ff}.pb43RoleBadge.pb43TagBadge[data-tag="og"]{border-color:rgba(255,145,45,.75);background:rgba(220,102,18,.18);color:#ffb866}.pb43RoleBadge.pb43TagBadge[data-tag="verificado"]{border-color:rgba(50,239,132,.85);background:rgba(21,203,105,.22);color:#8affbd}
.pbTagBadgeV1400[data-tag="vip"]{border-color:rgba(255,210,83,.7)!important;background:rgba(255,190,35,.16)!important;color:#ffe08a!important}.pbTagBadgeV1400[data-tag="donator"]{border-color:rgba(54,224,132,.7)!important;background:rgba(31,190,102,.16)!important;color:#76f0ae!important}.pbTagBadgeV1400[data-tag="staff"]{border-color:rgba(38,103,189,.78)!important;background:rgba(20,64,130,.3)!important;color:#86b8ff!important}.pbTagBadgeV1400[data-tag="og"]{border-color:rgba(255,145,45,.75)!important;background:rgba(220,102,18,.18)!important;color:#ffb866!important}.pbTagBadgeV1400[data-tag="verificado"]{border-color:rgba(50,239,132,.85)!important;background:rgba(21,203,105,.22)!important;color:#8affbd!important}
@media(max-width:1120px){.pb44Player{grid-template-columns:1fr 1fr!important}.pb44PlayerOps{grid-column:1/-1}}
@media(max-width:720px){.pb44Player{grid-template-columns:1fr!important}.pb44PlayerOps{grid-column:auto;grid-template-columns:1fr!important}.pb44PlayerStats{grid-template-columns:1fr 1fr}.pb44GiftOps,.pb44ModerationOps{width:100%}.pb44GiftOps .btn,.pb44ModerationOps .btn{flex:1}}

/* V13.50 profile-card customization */
.pb44BgSection{margin-top:15px;padding:13px;border:1px solid #2c374a;border-radius:13px;background:#0b111b}.pb44BgHead{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:9px}.pb44BgHead small{color:#8390a5;font-size:9px}.pb44BgGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pb44BgChoice{height:64px;border-radius:10px;border:1px solid #344057;position:relative;overflow:hidden;cursor:pointer;background-size:cover!important;background-position:center!important}.pb44BgChoice span{position:absolute;left:7px;bottom:6px;color:#fff;font-size:8px;font-weight:1000;text-shadow:0 1px 5px #000}.pb44BgChoice.active{border-color:#f4d348;box-shadow:0 0 0 2px rgba(244,211,72,.18)}#pb44UploadBg{width:100%;margin-top:8px}
.pbProfileBg-aurora{background:radial-gradient(circle at 18% 25%,rgba(75,226,201,.5),transparent 28%),radial-gradient(circle at 82% 20%,rgba(151,81,245,.6),transparent 33%),linear-gradient(135deg,#071923,#17102f)!important}.pbProfileBg-electric{background:radial-gradient(circle at 70% 25%,rgba(255,221,51,.62),transparent 25%),linear-gradient(125deg,#0d1530,#17133f 45%,#060b18)!important}.pbProfileBg-forest{background:radial-gradient(circle at 20% 25%,rgba(92,200,111,.38),transparent 30%),linear-gradient(135deg,#071b16,#102b1e 52%,#09111b)!important}.pbProfileBg-sunset{background:radial-gradient(circle at 78% 20%,rgba(255,178,74,.48),transparent 28%),linear-gradient(135deg,#2c1028,#5c2138 48%,#111227)!important}.pbProfileBg-ice{background:radial-gradient(circle at 76% 22%,rgba(115,222,255,.48),transparent 28%),linear-gradient(135deg,#071623,#16314b 52%,#0a1020)!important}.pbProfileBg-cosmic{background:radial-gradient(circle at 15% 30%,rgba(196,83,255,.42),transparent 24%),radial-gradient(circle at 82% 20%,rgba(65,128,255,.46),transparent 24%),linear-gradient(135deg,#09071c,#171034 50%,#050914)!important}.pb44BgCustom{background-size:cover!important;background-position:center!important}
.pb50ProfileHero{position:relative;min-height:210px;border:1px solid #354159;border-radius:18px;overflow:hidden;background-size:cover!important;background-position:center!important;display:flex;align-items:flex-end;padding:18px}.pb50ProfileShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,6,12,.05),rgba(3,6,12,.86))}.pb50ProfileIdentity{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.pb50ProfileName{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pb50ProfileName h2{margin:0}.pb50ProfileIdentity p{margin:6px 0 0;color:#d0d7e4}.pb50ProfileIdentity small{color:#9ba7bb}.pb50CeoBadge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;border:1px solid rgba(244,211,72,.48);background:rgba(25,19,2,.58);color:#f6d64d;font-size:9px;font-weight:1000}.pb50CeoBadge img{width:14px;height:14px;object-fit:contain}
@media(max-width:620px){.pb44BgGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb44BgHead{align-items:flex-start;flex-direction:column}.pb50ProfileHero{min-height:230px;padding:14px}.pb50ProfileIdentity{align-items:flex-start}.pb50ProfileName h2{font-size:20px}}

/* V13.50.1 — selected wallpaper spans the entire profile preview */
.pb50FullProfile{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;border:1px solid #354159;border-radius:18px;overflow:hidden;padding-bottom:18px}
.pb50FullProfile .pb50ProfileHero{border:0!important;border-radius:0!important;background:transparent!important;min-height:210px}
.pb50FullProfile .pb44PreviewStats{padding:0 18px;position:relative;z-index:1}
.pb50FullProfile .pb44Stat{background:rgba(7,12,21,.72)!important;backdrop-filter:blur(10px);border-color:rgba(255,255,255,.15)!important}
.pb50FullProfile>h3{padding:0 18px;position:relative;z-index:1;text-shadow:0 2px 10px rgba(0,0,0,.65)}
.pb50FullProfile>.pb44FeatureStrip{padding:0 18px;position:relative;z-index:1}
.pb50FullProfile .pb44CardMini,.pb50FullProfile .pb44FeatureEmpty{background:rgba(7,12,21,.76)!important;backdrop-filter:blur(9px);border-color:rgba(255,255,255,.14)!important}
.pb50CeoBadge img{filter:brightness(0) saturate(100%) invert(88%) sepia(73%) saturate(1267%) hue-rotate(347deg) brightness(105%) contrast(96%);drop-shadow(0 0 5px rgba(246,211,72,.45));}
.pb50CeoBadge{border-color:rgba(246,211,72,.7)!important;color:#ffe25c!important;background:rgba(39,29,1,.76)!important}
@media(max-width:620px){.pb50FullProfile .pb44PreviewStats,.pb50FullProfile>h3,.pb50FullProfile>.pb44FeatureStrip{padding-left:12px;padding-right:12px}}


/* ===== pb_v1345_mobile_ready_profiles.css ===== */
/* PokéBattle V13.45 — requested mobile / ready / profile polish */

/* No instructional label over offered cards: the card itself remains clickable. */
#exchangeMyOfferV135 .exchangeOfferCardV135::after{content:none!important;display:none!important}

/* Ready button is a status toggle, not an action sentence. */
#exchangeReadyTopV138.notReady,#exchangeReadyV135.notReady{border-color:#c83b55!important;color:#ff8a9a!important;background:rgba(133,23,43,.22)!important}
#exchangeReadyTopV138.isReady,#exchangeReadyV135.isReady{border-color:#22b77a!important;color:#64e7ad!important;background:rgba(12,100,66,.22)!important}

.pb45PublicProfileBtn{margin-top:5px;border:1px solid #35425b;border-radius:7px;background:#101827;color:#b9c9e8;padding:4px 7px;font-size:8px;font-weight:900;cursor:pointer}
.pb45PublicProfileBtn:hover{border-color:#6e82aa;color:#fff}

/* Developer toolbar now contains search + sort + refresh. */
#pb44AdminSort{min-width:190px}

@media(max-width:760px){
  /* Requested two cards per row in the exchange offer on mobile. */
  #page-exchange .exchangeOfferGridV135{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #page-exchange .exchangeOfferCardV135 b{font-size:8px!important}
  #page-exchange .exchangeOfferCardV135 span{font-size:8px!important}

  /* Profile/editor modals use the whole phone viewport cleanly. */
  .pb44Modal{padding:0!important;place-items:stretch!important;align-items:stretch!important}
  .pb44Card,.pb44AdminCard,.pb44SelectorCard{width:100%!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border-left:0!important;border-right:0!important;padding:14px!important}
  .pb44Card{overflow:auto!important}
  .pb44EditorGrid{grid-template-columns:1fr!important;gap:14px!important}
  .pb44AvatarPreview{width:92px!important;height:92px!important}
  .pb44AvatarGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pb44Main .input,.pb44Main textarea{font-size:16px!important}
  .pb44Actions{position:sticky!important;bottom:0!important;background:#101622!important;padding:10px 0 2px!important;z-index:4}
  .pb44Actions .btn{flex:1 1 140px!important}

  .pb44SelectorCard{grid-template-rows:auto auto minmax(0,1fr) auto!important;overflow:hidden!important}
  .pb44Filters{grid-template-columns:1fr!important}
  .pb44Grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .pb44SelectorFoot{position:sticky!important;bottom:0!important;background:#101622!important;padding-top:8px!important}

  .pb44PreviewTop{grid-template-columns:72px minmax(0,1fr)!important;align-items:start!important}
  .pb44PreviewAva{width:72px!important;height:72px!important}
  .pb44PreviewStats{grid-template-columns:1fr 1fr!important}
  #pbPreview44 .pb44FeatureStrip{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  .pb44AdminCard{grid-template-rows:auto auto minmax(0,1fr)!important;overflow:hidden!important}
  .pb44AdminToolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  #pb44AdminSort{width:100%!important;min-width:0!important}
  .pb44AdminToolbar .btn{width:100%!important}
  .pb44AdminList{padding-right:0!important}
  .pb44Player{grid-template-columns:1fr!important;gap:9px!important;padding:11px!important}
  .pb44PlayerMeta{font-size:9px!important;line-height:1.6!important}
  .pb44PlayerOps{display:grid!important;grid-template-columns:1fr 1fr!important;justify-content:stretch!important}
  .pb44PlayerOps .btn,.pb44PlayerOps input,.pb44PlayerOps select{width:100%!important;min-width:0!important}
}

@media(max-width:420px){
  .pb44PreviewStats{grid-template-columns:1fr!important}
  .pb44PlayerOps{grid-template-columns:1fr!important}
}


/* ===== pb_v1346_history_ready_admin_gifts.css ===== */
/* PokéBattle V13.46 */
/* Historical card detail belongs to each battle row. */
#battleAllPullsV127{display:none!important}
.bhCardsBtnV1346{margin-top:6px;border:1px solid #39445c;border-radius:7px;background:#151d2c;color:#c8d3e9;padding:5px 8px;font-size:9px;font-weight:900;cursor:pointer}
.bhCardsBtnV1346:hover{border-color:#7c65ee;color:#fff}
#battleAllModalV127{padding-top:82px!important;align-items:flex-start!important;overflow:auto!important}
#battleAllModalV127 .modalcard{margin:0 auto 36px!important;max-height:calc(100vh - 110px)!important}

/* Ready buttons: feedback is instant and visually unambiguous. */
#pb46Ready,#pb46ReadyHost{min-width:104px!important;transition:.12s!important}
#pb46Ready.notReady,#pb46ReadyHost.notReady{border-color:#d7445f!important;background:rgba(150,31,55,.23)!important;color:#ff92a4!important}
#pb46Ready.isReady,#pb46ReadyHost.isReady{border-color:#20bd7c!important;background:rgba(17,119,76,.23)!important;color:#6cf0b4!important}

/* Exchange: disabled LISTO still exposes a native tooltip and clear visual state. */
#exchangeReadyTopV138:disabled{opacity:.48!important;cursor:not-allowed!important;filter:saturate(.55)}
#exchangeReadyTopV138[title]{position:relative}

/* Developer toolbar: reserve actual room for search. */
#pbAdmin44 .pb44AdminToolbar{display:grid!important;grid-template-columns:minmax(320px,1fr) 220px auto!important;align-items:center!important}
#pb44AdminSearch{min-width:280px!important;width:100%!important}
#pb44AdminSort{min-width:200px!important;width:100%!important}

/* Admin gift picker */
.pb46GiftAdminCard{width:min(1040px,96vw);max-height:90vh;overflow:hidden;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;border:1px solid #4d4322;border-radius:18px;background:#101622;padding:17px}
.pb46GiftTabs{display:flex;gap:8px}.pb46GiftTabs button{border:1px solid #34405a;background:#0c121d;color:#9ca8bd;border-radius:9px;padding:8px 14px;font-weight:900;cursor:pointer}.pb46GiftTabs button.active{border-color:#f4d23f;color:#fff;background:#2b2540}
.pb46GiftSearch{display:grid;grid-template-columns:1fr auto;gap:8px}.pb46GiftResults{overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding-right:3px}
.pb46GiftChoice{display:grid;grid-template-columns:72px minmax(0,1fr);gap:9px;align-items:center;text-align:left;border:1px solid #30394d;background:#0c121d;color:#fff;border-radius:11px;padding:8px;cursor:pointer}.pb46GiftChoice:hover{border-color:#6e56dd}.pb46GiftChoice b,.pb46GiftChoice small{display:block}.pb46GiftChoice small{color:#8e99ad;font-size:9px;margin-top:4px}.pb46GiftThumb{width:72px;height:92px;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#111827}.pb46GiftThumb img{max-width:100%;max-height:100%;object-fit:contain}

/* Gift received */
.pb46GiftPlayerCard{width:min(440px,94vw);text-align:center;border:1px solid #5a4b1f;border-radius:20px;background:linear-gradient(180deg,#121927,#0c111b);padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.pb46Present{font-size:72px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));animation:pb46GiftBob 1.5s ease-in-out infinite}.pb46GiftPlayerCard h2{margin:8px 0}.pb46GiftPlayerCard p{font-weight:900;color:#f3d34b}.pb46GiftPlayerCard small{display:block;color:#99a4b7;line-height:1.5}.pb46GiftPlayerActions{display:flex;gap:8px;justify-content:center;margin-top:18px;flex-wrap:wrap}@keyframes pb46GiftBob{50%{transform:translateY(-6px) rotate(-2deg)}}
.pb46AdminGiftInv{position:relative!important;border-color:#725fd2!important;background:linear-gradient(180deg,#15172a,#10151f)!important}.pb46AdminGiftInv .invImageBtn img{object-fit:contain!important}.pb46GiftBadge{position:absolute;z-index:5;top:6px;left:6px;padding:4px 6px;border-radius:999px;background:#f4d23f;color:#17130b;font-size:7px;font-weight:1000}

@media(max-width:760px){
  #battleAllModalV127{padding:66px 6px 12px!important}
  #battleAllModalV127 .modalcard{max-height:calc(100dvh - 78px)!important;width:100%!important}
  #pbAdmin44 .pb44AdminToolbar{grid-template-columns:1fr!important}
  #pb44AdminSearch,#pb44AdminSort{min-width:0!important;width:100%!important}
  .pb46GiftAdminCard{width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:12px!important}
  .pb46GiftSearch{grid-template-columns:1fr!important}.pb46GiftResults{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pb46GiftChoice{grid-template-columns:52px minmax(0,1fr)!important;padding:7px!important}.pb46GiftThumb{width:52px;height:72px}
}
@media(max-width:420px){.pb46GiftResults{grid-template-columns:1fr!important}}
/* V13.49 gift confirmation */
.pb46GiftConceptLabel1371{display:grid;gap:5px;color:#8f9ab0;font-size:8px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}
.pb46GiftConceptLabel1371 .input{min-height:38px}
.pb46GiftConfirm{border-top:1px solid #2e394e;padding-top:11px;margin-top:6px;display:grid;gap:10px}.pb46GiftConfirm.hidden{display:none!important}.pb46GiftConfirmPreview{display:flex;gap:10px;align-items:center;border:1px solid rgba(244,210,72,.30);background:rgba(244,210,72,.05);border-radius:12px;padding:10px}.pb46GiftConfirmPreview>div{min-width:0}.pb46GiftConfirmPreview small{display:block;color:#f3d247;font-size:8px;font-weight:1000;letter-spacing:.08em}.pb46GiftConfirmPreview b{display:block;color:#fff;margin:3px 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb46GiftConfirmPreview span{color:#8f9bb0;font-size:9px}.pb46GiftConfirmActions{display:flex;gap:8px;justify-content:flex-end}.pb46GiftConfirmActions .btn{min-width:150px}
@media(max-width:620px){.pb46GiftConfirmActions{display:grid;grid-template-columns:1fr}.pb46GiftConfirmActions .btn{width:100%;min-width:0}}


#battleAllModalV127 .modalcard{position:relative!important;padding-top:20px!important}
#battleAllModalV127 #closeBattleAllV127{display:grid!important;place-items:center!important;position:absolute!important;top:12px!important;right:12px!important;z-index:25!important;width:42px!important;height:42px!important;border-radius:11px!important;border:1px solid #3a455d!important;background:#151c2b!important;color:#fff!important;font-size:24px!important;line-height:1!important;cursor:pointer!important;box-shadow:0 8px 24px rgba(0,0,0,.28)!important}
#battleAllModalV127 #closeBattleAllV127:hover{border-color:#7460e7!important;background:#1b2334!important}
#battleAllModalV127 .battleAllGroupsV127{padding-top:4px!important}
#battleAllModalV127 .battleAllCardV127 img{object-fit:contain!important;background:#0a0f18!important}
@media(max-width:620px){#battleAllModalV127{padding-top:72px!important}#battleAllModalV127 .modalcard{width:96vw!important;padding:14px!important;padding-top:56px!important}#battleAllModalV127 #closeBattleAllV127{top:10px!important;right:10px!important}}

.pbReadySyncingV13602{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)!important}


/* ===== pb_v1349_critical_fixes.css ===== */
/* PokéBattle V13.49 — critical multiplayer/inventory/exchange hardening */
.exchangeLimitV1349{grid-column:1/-1;padding:10px 12px;border:1px dashed #354158;border-radius:10px;color:#8e9ab0;background:#0b111b;text-align:center;font-size:9px}
#exchangeInventoryV135{align-content:start}
#exchangeReadyTopV138[disabled]{cursor:not-allowed;opacity:.55}
#exchangeReadyTopV138:not([disabled]){cursor:pointer}
@media(max-width:760px){.exchangeLimitV1349{font-size:8px;padding:8px}}


/* ===== pb_v1351_battle_speed_sync.css ===== */
/* PokéBattle V13.51 — one authoritative room speed for every participant */
#battleSpeedButtonsV118{position:relative}
#battleSpeedButtonsV118.pbSpeedLockedV1351 button{opacity:.42!important;cursor:not-allowed!important;pointer-events:none!important}
#battleSpeedButtonsV118.pbSpeedLockedV1351 button.active{opacity:1!important}
#battleSpeedButtonsV118.pbSpeedLockedV1351:after{content:"HOST · " attr(data-room-speed) "×";display:flex;align-items:center;justify-content:center;margin-left:4px;padding:0 8px;min-height:28px;border:1px solid #343e54;border-radius:8px;background:#101725;color:#9da8bc;font-size:8px;font-weight:1000;letter-spacing:.04em;white-space:nowrap}
@media(max-width:620px){#battleSpeedButtonsV118.pbSpeedLockedV1351:after{padding:0 5px;font-size:7px}}


/* ===== pb_v1352_inventory_exchange_profile.css ===== */
/* PokéBattle V13.52 — inventory integrity / exchange clarity / continuous profiles */

/* Exchange cards: never crop artwork. */
#page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135 img,
#page-exchange #exchangeInventoryV135 .exchangeInvCardV135 img{
  object-fit:contain!important;
  object-position:center!important;
  background:#080d16!important;
}
#page-exchange #exchangeMyOfferV135 .exchangeOfferCardV135::after{
  content:none!important;
  display:none!important;
}
#page-exchange .exchangeOfferCardV135{
  overflow:hidden!important;
}
#page-exchange .exchangeOfferCardV135 img{
  aspect-ratio:245/337!important;
}

/* A profile is one continuous wallpaper-backed trainer card, not a hero + lower block. */
.pb43PublicCard{
  background:transparent!important;
  border-color:rgba(255,255,255,.15)!important;
}
.pb43FullProfile,
.pb50FullProfile{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
.pb43FullProfile::before,
.pb50FullProfile::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,7,14,.20) 0%,rgba(3,7,14,.48) 42%,rgba(3,7,14,.62) 100%);
}
.pb43FullProfile>* ,
.pb50FullProfile>*{
  position:relative;
  z-index:1;
}
.pb43FullProfile .pb43ProfileHero,
.pb50FullProfile .pb50ProfileHero{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.pb43FullProfile .pb43ProfileHeroShade,
.pb50FullProfile .pb50ProfileShade{
  display:none!important;
}
.pb43FullProfile .pb43PublicStats,
.pb50FullProfile .pb44PreviewStats{
  margin-top:0!important;
  padding-top:16px!important;
}
.pb43FullProfile .pb43PublicStat,
.pb50FullProfile .pb44Stat,
.pb43FullProfile .pb43FeaturedCard,
.pb50FullProfile .pb44CardMini{
  background:rgba(6,11,19,.62)!important;
  backdrop-filter:blur(9px)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.pb43FullProfile .pb43FeaturedTitle,
.pb50FullProfile>h3{
  margin-top:18px!important;
}

/* Atomic sale feedback stays visibly active only for the actual request. */
#page-inventory #inventorySellConfirmV1396:disabled{
  cursor:wait;
}


/* ===== pb_v1354_instant_admin_trade.css ===== */
/* PokéBattle V13.54 — instant CEO wake + fast sale + centered trade confirmation */
#page-inventory.pbSaleBusyV1354 #inventory{opacity:.72;transition:opacity .12s ease}
#page-inventory.pbSaleBusyV1354 #inventory .sellOne{pointer-events:none}
#page-exchange .exchangeBoardV135{position:relative!important}
#page-exchange .exchangeCountdownV135{
  position:absolute!important;left:50%!important;top:45%!important;transform:translate(-50%,-50%)!important;
  z-index:80!important;grid-column:auto!important;width:min(330px,calc(100% - 36px))!important;
  padding:18px!important;border:1px solid rgba(255,211,63,.62)!important;border-radius:18px!important;
  background:linear-gradient(155deg,rgba(17,22,34,.98),rgba(20,13,31,.98))!important;
  box-shadow:0 24px 80px rgba(0,0,0,.62),0 0 0 1px rgba(109,82,231,.18)!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  text-align:center!important;pointer-events:auto!important
}
#page-exchange .exchangeCountdownV135.hidden{display:none!important}
#page-exchange .exchangeCountdownLabelV135{font-size:10px!important;letter-spacing:.1em!important;color:#aeb9cc!important;font-weight:1000!important}
#page-exchange .exchangeCountdownClockV135{display:flex;align-items:flex-end;justify-content:center;gap:5px;line-height:1}
#page-exchange .exchangeCountdownClockV135 strong{font-size:64px!important;line-height:.9!important;color:#ffd33f!important;text-shadow:0 0 28px rgba(255,211,63,.28)}
#page-exchange .exchangeCountdownClockV135 span{font-size:18px;color:#8f9bb0;font-weight:900;margin-bottom:5px}
#page-exchange .exchangeCountdownV135 small{color:#8d99ae;font-size:9px;line-height:1.4}
#page-exchange #exchangeCountdownCancelV135{margin-top:5px;min-width:190px}
@media(max-width:760px){#page-exchange .exchangeCountdownV135{top:50%!important;width:min(290px,calc(100% - 24px))!important;padding:15px!important}#page-exchange .exchangeCountdownClockV135 strong{font-size:54px!important}}


/* ===== pb_v1355_ceo_gift_reveal.css ===== */
/* PokéBattle V13.55 — instant CEO delivery + visual gift reveal */
#pbGift44.pb55MoneyModal{position:fixed!important;inset:0!important;z-index:100980!important;padding:18px!important;background:rgba(2,5,12,.86)!important;backdrop-filter:blur(10px)!important;align-items:center!important;justify-items:center!important;place-items:center!important}
#pbGift44.pb55MoneyModal.open{display:grid!important}
#pbGift44 .pb55MoneyCard{width:min(430px,94vw);border:1px solid rgba(246,207,53,.48);border-radius:22px;background:linear-gradient(155deg,#121927,#171222);box-shadow:0 32px 100px rgba(0,0,0,.72);padding:28px 24px;text-align:center;position:relative;overflow:hidden}
#pbGift44 .pb55MoneyCard:before{content:"";position:absolute;inset:-45%;background:radial-gradient(circle,rgba(246,207,53,.14),transparent 52%);pointer-events:none}
.pb55MoneyCoin{position:relative;margin:0 auto 10px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#f6cf35;color:#191300;font-size:29px;font-weight:1000;box-shadow:0 0 34px rgba(246,207,53,.28)}
#pbGift44 .pb55MoneyCard>small{position:relative;color:#f6d75d;font-size:9px;font-weight:1000;letter-spacing:.13em}
#pbGift44 .pb55MoneyCard h2{position:relative;margin:8px 0 3px;font-size:24px}
#pbGift44 .pb44GiftAmount{position:relative;font-size:42px!important;color:#f8d84f!important;margin:12px 0!important}
#pbGift44 .pb55MoneyCard p{position:relative;color:#9ba7bb;margin:0 0 18px}
#pbGift44 #pb55MoneyAccept{position:relative;min-width:180px;min-height:44px}
.pb55GiftOverlay{position:fixed;inset:0;z-index:100990;display:none;place-items:center;padding:18px;background:rgba(2,5,12,.88);backdrop-filter:blur(11px)}
.pb55GiftOverlay.open{display:grid}
.pb55GiftEnvelope,.pb55RevealCard{width:min(480px,95vw);border:1px solid #3b4660;border-radius:24px;background:linear-gradient(155deg,#121927,#161120);box-shadow:0 35px 110px rgba(0,0,0,.72);padding:27px 24px;text-align:center;position:relative;overflow:hidden}
.pb55Present{font-size:66px;line-height:1;margin-bottom:9px;filter:drop-shadow(0 12px 22px rgba(0,0,0,.35))}
.pb55GiftEnvelope>small,.pb55RevealEyebrow{color:#f6d75d;font-size:9px;font-weight:1000;letter-spacing:.14em}.pb55GiftEnvelope h2{font-size:24px;margin:8px 0}.pb55GiftEnvelope p{color:#98a4b8;margin:0 auto 19px;max-width:360px}.pb55GiftActions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.pb55GiftActions .btn{min-height:43px}
.pb55RevealCard{border-color:rgba(246,207,53,.48);padding-top:24px}.pb55RevealBurst{position:absolute;inset:-45%;background:conic-gradient(from 20deg,transparent,rgba(246,207,53,.10),transparent 18%,rgba(109,82,231,.10),transparent 38%,rgba(246,207,53,.08),transparent 60%);animation:pb55Spin 12s linear infinite;pointer-events:none}@keyframes pb55Spin{to{transform:rotate(360deg)}}
.pb55RevealEyebrow,.pb55RevealMedia,.pb55RevealCard h2,.pb55RevealMeta,.pb55RevealCard .btn{position:relative;z-index:1}.pb55RevealMedia{height:min(390px,52vh);display:grid;place-items:center;margin:13px auto 12px}.pb55RevealMedia img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:13px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.42))}.pb55RevealFallback{font-size:100px}.pb55RevealCard h2{margin:5px 0 8px;font-size:24px}.pb55RevealMeta{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:17px}.pb55RevealMeta span{font-size:9px;letter-spacing:.09em;color:#95a1b5;font-weight:1000}.pb55RevealMeta b{color:#f6d64d;font-size:18px}.pb55RevealCard .btn{min-width:190px;min-height:44px}
@media(max-width:620px){#pbGift44 .pb55MoneyCard,.pb55GiftEnvelope,.pb55RevealCard{padding:22px 17px;border-radius:19px}.pb55RevealMedia{height:min(330px,48vh)}.pb55GiftActions{display:grid;grid-template-columns:1fr;width:100%}.pb55GiftActions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.pb55RevealBurst{animation:none}}


/* ===== V13.69 CEO priority + personalised gifts ===== */
.pb44GiftOps [data-gift-concept]{flex:1 1 100%!important;width:100%!important;min-width:100%!important}
.pb46GiftOptionsV1369{display:grid;grid-template-columns:minmax(220px,1fr) 150px 180px;gap:9px;align-items:end;padding:10px;border:1px solid rgba(111,76,255,.22);border-radius:12px;background:rgba(15,21,36,.72)}
.pb46GiftOptionsV1369 label{display:grid;gap:5px;color:#8f9ab0;font-size:8px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}
.pb46GiftOptionsV1369 input[type="color"]{width:100%;height:40px;padding:3px;border:1px solid #354057;border-radius:9px;background:#090f18;cursor:pointer}
.pb46GiftAdminCard{grid-template-rows:auto auto auto auto minmax(0,1fr) auto!important}

#pbGift44.pb55MoneyModal{align-items:center!important;justify-content:center!important;place-items:center!important}
#pbGift44 .pb55MoneyCard{margin:auto!important;align-self:center!important;justify-self:center!important}
.pb55MoneyConcept{position:relative;display:none;max-width:330px;margin:8px auto 10px;padding:9px 12px;border:1px solid rgba(246,207,53,.24);border-radius:11px;background:rgba(246,207,53,.06);color:#f8e8a0;font-size:12px;font-weight:800;line-height:1.4}

.pb55GiftEnvelope,.pb55RevealCard{--pbGiftAccent:#6f4cff;border-color:var(--pbGiftAccent)!important;box-shadow:0 35px 110px rgba(0,0,0,.72),0 0 35px color-mix(in srgb,var(--pbGiftAccent) 24%,transparent)!important}
.pb55GiftEnvelope:before{content:"";position:absolute;inset:-38%;background:radial-gradient(circle,color-mix(in srgb,var(--pbGiftAccent) 18%,transparent),transparent 54%);pointer-events:none}
.pb55GiftBallWrap{position:relative;z-index:2;display:grid;place-items:center;margin:0 auto 10px;min-height:84px}
.pb55GiftConcept,.pb55RevealConcept{position:relative;z-index:2;display:none;max-width:370px;margin:7px auto 10px;padding:8px 11px;border-radius:10px;background:color-mix(in srgb,var(--pbGiftAccent) 10%,#0b1220);border:1px solid color-mix(in srgb,var(--pbGiftAccent) 40%,#30394d);color:#e8edfa;font-size:12px;font-weight:800;line-height:1.4}

.pb55Ball{position:relative;width:78px;height:78px;border-radius:50%;overflow:hidden;background:#f5f6f8;border:5px solid #111827;box-shadow:0 12px 25px rgba(0,0,0,.38),0 0 24px color-mix(in srgb,var(--pbGiftAccent) 32%,transparent)}
.pb55BallTop{position:absolute;inset:0 0 50%;background:#e64646}
.pb55BallLine{position:absolute;left:0;right:0;top:50%;height:9px;transform:translateY(-50%);background:#111827}
.pb55BallButton{position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%);border-radius:50%;background:#f8fafc;border:6px solid #111827;box-shadow:inset 0 0 0 2px #cbd5e1}
.pb55Ball-great .pb55BallTop{background:#2385d7}
.pb55Ball-great:before,.pb55Ball-great:after{content:"";position:absolute;z-index:2;top:12px;width:9px;height:32px;background:#e84c4c;border-radius:5px;transform:rotate(28deg)}
.pb55Ball-great:before{left:17px}.pb55Ball-great:after{right:17px;transform:rotate(-28deg)}
.pb55Ball-ultra .pb55BallTop{background:#17191e}
.pb55Ball-ultra:before,.pb55Ball-ultra:after{content:"";position:absolute;z-index:2;top:-4px;width:13px;height:39px;background:#f2cf31;transform:rotate(27deg)}
.pb55Ball-ultra:before{left:18px}.pb55Ball-ultra:after{right:18px;transform:rotate(-27deg)}
.pb55Ball-master .pb55BallTop{background:#8650c9}
.pb55Ball-master:before,.pb55Ball-master:after{content:"";position:absolute;z-index:2;top:19px;width:14px;height:14px;border-radius:50%;background:#ef72ad}
.pb55Ball-master:before{left:10px}.pb55Ball-master:after{right:10px}
.pb55Ball-master>b{position:absolute;z-index:3;top:7px;left:50%;transform:translateX(-50%);color:#fff;font-size:22px;font-weight:1000;text-shadow:0 2px 3px rgba(0,0,0,.45)}

@media(max-width:720px){.pb46GiftOptionsV1369{grid-template-columns:1fr 1fr}.pb46GiftOptionsV1369 label:first-child{grid-column:1/-1}}
@media(max-width:440px){.pb46GiftOptionsV1369{grid-template-columns:1fr}.pb46GiftOptionsV1369 label:first-child{grid-column:auto}.pb55Ball{width:68px;height:68px}}
/* CEO alerts must win over any gameplay/settings/sync overlay. */
#pbGift44.pb55MoneyModal,.pb55GiftOverlay{z-index:2147483500!important}

/* ===== V13.71 CEO gift flow / static reveal / concept confirm ===== */
.pbGiftConceptConfirm1371{z-index:101760!important;place-items:center!important}
.pbGiftConceptCard1371{width:min(500px,94vw);border:1px solid #39445b;border-radius:20px;background:linear-gradient(160deg,#141b2a,#0d131f);padding:24px;text-align:center;box-shadow:0 34px 100px rgba(0,0,0,.58)}
.pbGiftConceptIcon1371{width:64px;height:64px;margin:0 auto 10px;border-radius:18px;display:grid;place-items:center;background:rgba(246,207,53,.10);border:1px solid rgba(246,207,53,.28);font-size:32px}
.pbGiftConceptCard1371 h2{margin:5px 0 6px;font-size:24px}.pbGiftConceptCard1371>p{margin:0 0 16px;color:#929db2;line-height:1.45;font-size:12px}
.pbGiftConceptCard1371 label{display:grid;gap:7px;text-align:left;color:#a8b1c3;font-size:10px;font-weight:900}.pbGiftConceptCard1371 label small{font-weight:700;color:#77839b}.pbGiftConceptCard1371 .input{width:100%;min-height:44px}
.pbGiftConceptActions1371{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.pbGiftConceptActions1371 .btn{width:100%;min-height:43px}
.pb46GiftGradeBox1371{display:grid!important;gap:4px!important;min-width:145px;padding:5px 7px;border:1px solid #354057;border-radius:10px;background:#0b111c;color:#8490a8!important;font-size:7px!important;font-weight:1000!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.pb46GiftGradeBox1371 .select{min-height:32px;padding:4px 8px;border:0!important;background:#151c2b!important;color:#fff!important;font-size:11px!important}
.pb46GiftOptionsNoConcept1371{grid-template-columns:180px 220px!important;justify-content:start!important}
.pb46GiftOptionsNoConcept1371 label{min-width:0}
/* The reveal must be a static card, never a scrollable mini-page. */
#pbGiftReveal55.pb55GiftOverlay{overflow:hidden!important;padding:16px!important}
#pbGiftReveal55 .pb55RevealCard{width:min(820px,calc(100vw - 32px))!important;max-height:calc(100dvh - 32px)!important;overflow:hidden!important;overscroll-behavior:none!important;grid-template-columns:minmax(220px,1fr) minmax(190px,250px)!important;grid-template-areas:"eyebrow eyebrow" "media title" "media concept" "media meta" "media action"!important;grid-template-rows:auto auto auto auto auto!important;padding:22px!important;column-gap:26px!important;row-gap:6px!important;align-items:center!important}
#pbGiftReveal55 .pb55RevealEyebrow{grid-area:eyebrow!important}
#pbGiftReveal55 .pb55RevealMedia{grid-area:media!important;height:min(520px,68dvh)!important;max-height:min(520px,68dvh)!important;margin:4px 0!important;overflow:hidden!important;min-width:0!important}
#pbGiftReveal55 .pb55RevealMedia img{max-height:100%!important;max-width:100%!important;object-fit:contain!important}
#pbGiftReveal55 .pb55RevealCard>h2{grid-area:title!important;align-self:end!important}
#pbGiftReveal55 .pb55RevealConcept{grid-area:concept!important;margin:0 0 6px!important;max-width:100%!important}
#pbGiftReveal55 .pb55RevealMeta{grid-area:meta!important;justify-content:flex-start!important;margin:4px 0 14px!important}
#pbGiftReveal55 #pb55RevealOk{grid-area:action!important;justify-self:start!important;margin:0!important}
@media(max-width:680px){
  .pbGiftConceptActions1371{grid-template-columns:1fr}
  .pb46GiftOptionsNoConcept1371{grid-template-columns:1fr 1fr!important}
  #pbGiftReveal55 .pb55RevealCard{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"eyebrow" "media" "title" "concept" "meta" "action"!important;max-height:calc(100dvh - 20px)!important;padding:14px!important;row-gap:4px!important;text-align:center!important}
  #pbGiftReveal55 .pb55RevealMedia{height:min(360px,49dvh)!important;max-height:min(360px,49dvh)!important;margin:3px auto!important}
  #pbGiftReveal55 .pb55RevealMeta{justify-content:center!important;margin:2px 0 8px!important}
  #pbGiftReveal55 #pb55RevealOk{justify-self:stretch!important;width:100%!important;min-height:40px!important}
  #pbGiftReveal55 .pb55RevealCard>h2{font-size:21px!important;margin:4px 0!important}
}

/* ===== V13.73 — 2v2 equal split + mobile profile editor top actions ===== */
.pb44MobileHeadActions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
.pb44MobileSave,.pb44MobileUse{display:none!important}
@media(max-width:760px){
  /* Keep editor actions visible even on short/notched phones and above the app header. */
  #pbEditProfile44 .pb44Card,
  #pbSelect44 .pb44SelectorCard{padding-top:max(10px,env(safe-area-inset-top))!important}
  #pbEditProfile44 .pb44Head,
  #pbSelect44 .pb44Head{
    position:sticky!important;
    top:0!important;
    z-index:30!important;
    margin:-4px -4px 10px!important;
    padding:8px 4px 10px!important;
    background:linear-gradient(180deg,#101622 82%,rgba(16,22,34,.96))!important;
    border-bottom:1px solid rgba(91,108,143,.25)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  #pbEditProfile44 .pb44Head>div:first-child,
  #pbSelect44 .pb44Head>div:first-child{min-width:0;flex:1 1 auto}
  #pbEditProfile44 .pb44Head h2,
  #pbSelect44 .pb44Head h2{font-size:20px!important;line-height:1.1!important;padding-right:2px}
  #pbEditProfile44 .pb44Head small,
  #pbSelect44 .pb44Head small{font-size:9px!important;line-height:1.25!important;display:block;margin-top:3px}
  .pb44MobileHeadActions{gap:6px!important}
  .pb44MobileSave,.pb44MobileUse{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px!important;padding:8px 12px!important;border-radius:10px!important;font-size:11px!important;font-weight:1000!important;white-space:nowrap!important}
  #pbEditProfile44 .pb44Close,
  #pbSelect44 .pb44Close{display:grid!important;place-items:center!important;min-width:40px!important;width:40px!important;height:40px!important;padding:0!important;border-radius:10px!important;font-size:17px!important;background:#171f2e!important;border-color:#354159!important;color:#fff!important;flex:0 0 40px!important}
  /* Bottom actions remain as a fallback, but saving is always available at the top. */
  #pbEditProfile44 .pb44Actions{position:static!important;padding-top:10px!important}
  #pbSelect44 .pb44SelectorFoot{position:static!important;padding-top:8px!important}
}
