.pvp-arena-hud{top:118px;right:112px;left:auto;width:min(350px,calc(100vw - 132px));transform:none;padding:8px 10px;border-radius:11px;text-align:left;box-shadow:0 10px 30px #0009,0 0 18px #d4af3726}
.pvp-arena-hud.preparing{display:none!important}
.pvp-arena-hud header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pvp-arena-hud header small{font-size:8px;letter-spacing:1.3px}
.pvp-arena-hud header strong{font-size:14px;white-space:nowrap}
.pvp-arena-versus{grid-template-columns:1fr 25px 1fr;gap:5px;margin:6px 0 3px}
.pvp-arena-versus section{padding:5px 6px;border-radius:7px;text-align:center}
.pvp-arena-versus b{font-size:11px}
.pvp-arena-versus i{font-size:13px;text-align:center}
.pvp-arena-versus section div{gap:3px;margin-top:4px}
.pvp-arena-versus span{width:8px;height:8px;border-width:1px;box-shadow:inset 0 0 0 1px #17383b}
.pvp-arena-hud p{margin:4px 0 0;font-size:9px;line-height:1.3;text-align:center}
.pvp-arena-hud button{display:block;margin:5px auto 0;padding:5px 9px;border-radius:6px;font-size:8px}

.pvp-preparation-modal{position:fixed;z-index:995;top:62px;left:50%;display:flex;width:min(1060px,calc(100vw - 34px));height:min(735px,calc(100vh - 82px));transform:translateX(-50%);flex-direction:column;overflow:hidden;border:1px solid #d6b53d;border-radius:16px;background:linear-gradient(145deg,#0a2429 0%,#071b20 72%);box-shadow:0 24px 90px #000d,0 0 35px #d6b53d30;color:#e9f7f4;font-family:system-ui,sans-serif;pointer-events:auto}
.pvp-preparation-modal.hidden{display:none!important}
.pvp-preparation-modal>header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #31585c;background:linear-gradient(90deg,#0f353b,#102a31)}
.pvp-preparation-modal>header span{display:grid;gap:2px}
.pvp-preparation-modal>header small{color:#65e3c6;font-size:9px;font-weight:900;letter-spacing:2px}
.pvp-preparation-modal>header h2{margin:0;color:#ffe898;font:900 22px/1.1 Georgia,serif}
.pvp-preparation-modal>header>strong{min-width:86px;padding:8px 13px;border:1px solid #d5b53b;border-radius:10px;background:#1c3030;color:#ffe36a;font-size:23px;text-align:center;font-variant-numeric:tabular-nums}
.pvp-preparation-modal>header>strong.urgent{border-color:#ff656d;background:#55252a;color:#fff;animation:pvpPrepPulse .75s infinite alternate}
.pvp-preparation-modal>p{flex:0 0 auto;margin:0;padding:8px 20px;border-bottom:1px solid #294b4f;background:#19332bd4;color:#c5dbd6;font-size:11px}
.pvp-prep-layout{display:grid;min-height:0;flex:1 1 auto;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr)}
.pvp-prep-layout>section,.pvp-prep-layout>aside{min-height:0;padding:13px;overflow:auto}
.pvp-prep-layout>aside{border-left:1px solid #31585c;background:#081a1ed9}
.pvp-prep-layout h3{margin:0 0 9px;color:#77dec8;font-size:10px;letter-spacing:1.4px}
.pvp-prep-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:11px}
.pvp-prep-slot{display:grid;min-height:62px;grid-template-columns:25px 48px minmax(0,1fr) auto;align-items:center;gap:5px;padding:5px 7px;border:1px solid #315e62;border-radius:9px;background:#0c292e;cursor:pointer}
.pvp-prep-slot.selected{border-color:#e0bd3e;background:#173638;box-shadow:inset 3px 0 #e0bd3e}
.pvp-prep-slot.empty{grid-template-columns:25px 1fr;border-style:dashed;color:#698d8c;cursor:default}
.pvp-prep-slot>b{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#1b494d;color:#ffe172;font-size:11px}
.pvp-prep-slot canvas,.pvp-prep-move-title canvas{width:46px;height:46px;image-rendering:pixelated}
.pvp-prep-slot span,.pvp-prep-pokemon span,.pvp-prep-move-title span,.pvp-prep-move button span{min-width:0;display:grid;text-align:left}
.pvp-prep-slot span strong,.pvp-prep-pokemon b,.pvp-prep-move-title b,.pvp-prep-move b{overflow:hidden;color:#fff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.pvp-prep-slot span small,.pvp-prep-pokemon small,.pvp-prep-move-title small,.pvp-prep-move small{color:#8fb4b1;font-size:8px}
.pvp-prep-slot>div,.pvp-prep-move>div{display:flex;gap:2px}
.pvp-prep-slot button,.pvp-prep-move>div button{width:23px;height:23px;padding:0;border:1px solid #3b676a;border-radius:5px;background:#12373b;color:#cfe4df;cursor:pointer}
.pvp-prep-slot button:disabled,.pvp-prep-move button:disabled{opacity:.25;cursor:not-allowed}
.pvp-prep-search{display:block;margin-bottom:8px}
.pvp-prep-search input{box-sizing:border-box;width:100%;padding:9px 11px;border:1px solid #3b676a;border-radius:8px;outline:0;background:#07191d;color:#f5ffff;font-size:11px}
.pvp-prep-search input:focus{border-color:#dfbd3d;box-shadow:0 0 0 2px #dfbd3d22}
.pvp-prep-pool{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.pvp-prep-pokemon{display:grid;min-width:0;grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;gap:5px;padding:5px;border:1px solid #294f53;border-radius:8px;background:#0b2429;color:#fff;cursor:pointer}
.pvp-prep-pokemon:hover{border-color:#65d8bd;background:#123337}
.pvp-prep-pokemon.in-team{border-color:#c6a932;background:#2e3322}
.pvp-prep-pokemon canvas{width:40px;height:40px;image-rendering:pixelated}
.pvp-prep-pokemon i{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#1a4648;color:#6ce2c4;font-style:normal;font-weight:900}
.pvp-prep-move-title{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:8px;margin-bottom:10px;padding:8px;border:1px solid #31595d;border-radius:9px;background:#0d2a2f}
.pvp-prep-move{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;margin-bottom:6px;padding:4px;border:1px solid #294d51;border-radius:8px;background:#0a2024;opacity:.58}
.pvp-prep-move.enabled{border-color:#3d8275;background:#10312f;opacity:1}
.pvp-prep-move>button{display:grid;min-width:0;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px;padding:4px;border:0;background:transparent;color:#fff;cursor:pointer}
.pvp-prep-move>button i{display:grid;width:19px;height:19px;place-items:center;border:1px solid #456d6f;border-radius:5px;background:#07191c;color:#77eccb;font-style:normal}
.pvp-preparation-modal>footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;border-top:1px solid #31585c;background:#0d292e}
.pvp-preparation-modal>footer span{color:#a9c6c1;font-size:10px}
.pvp-preparation-modal>footer button{padding:9px 18px;border:1px solid #e1bd37;border-radius:8px;background:linear-gradient(#23826d,#166653);color:#fff;font-size:10px;font-weight:900;letter-spacing:.5px;cursor:pointer}
@keyframes pvpPrepPulse{to{transform:scale(1.05);box-shadow:0 0 18px #ff565c88}}
@media(max-width:900px){.pvp-arena-hud{top:72px;right:8px;width:min(330px,calc(100vw - 16px))}.pvp-preparation-modal{top:54px;height:calc(100vh - 62px)}.pvp-prep-layout{grid-template-columns:1fr}.pvp-prep-layout>aside{border-top:1px solid #31585c;border-left:0}.pvp-prep-slots{grid-template-columns:1fr}.pvp-prep-pool{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pvp-preparation-modal{width:calc(100vw - 12px)}.pvp-preparation-modal>header{padding:10px 12px}.pvp-preparation-modal>header h2{font-size:17px}.pvp-preparation-modal>header>strong{min-width:68px;font-size:18px}.pvp-prep-pool{grid-template-columns:1fr}.pvp-preparation-modal>footer{align-items:stretch;flex-direction:column}.pvp-preparation-modal>footer button{width:100%}}

/* v687 · Duel Command Center */
.pvp-preparation-modal{
  z-index:3005;
  top:72px;
  width:min(1180px,calc(100vw - 180px));
  height:min(740px,calc(100dvh - 92px));
  border:1px solid #63dfc6;
  border-radius:22px;
  background:
    radial-gradient(circle at 12% 0%,#1c5a5840 0,transparent 34%),
    radial-gradient(circle at 88% 0%,#e3ba3d1f 0,transparent 30%),
    linear-gradient(155deg,#0d282d 0%,#07191e 62%,#061318 100%);
  box-shadow:0 30px 100px #000e,0 0 0 1px #f0cf4b22,0 0 45px #43d7bd21;
  isolation:isolate;
}
.pvp-preparation-modal,.pvp-preparation-modal *{box-sizing:border-box}
.pvp-preparation-modal::before{
  position:absolute;
  z-index:-1;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(115deg,transparent 0 46%,#74f3d008 46% 47%,transparent 47% 100%);
  content:"";
  pointer-events:none;
}
.pvp-preparation-modal>header{
  min-height:76px;
  box-sizing:border-box;
  padding:13px 20px;
  border-bottom:1px solid #4d8c8759;
  background:linear-gradient(90deg,#123b40f2,#102b33f2 60%,#292a28f2);
}
.pvp-prep-brand{display:flex;min-width:0;align-items:center;gap:12px}
.pvp-prep-brand>span{min-width:0}
.pvp-prep-brand>i{
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  border:1px solid #e3c04d;
  border-radius:14px;
  background:linear-gradient(145deg,#3a3923,#132d30);
  box-shadow:inset 0 0 18px #e6c4431c,0 0 18px #62e8cf1c;
  color:#ffe36b;
  font:normal 22px/1 serif;
}
.pvp-preparation-modal>header .pvp-prep-brand small{color:#76ead3;font-size:9px;font-weight:950;letter-spacing:2.4px}
.pvp-preparation-modal>header h2{margin-top:3px;color:#fff4c3;font:900 24px/1 Georgia,serif;text-shadow:0 2px 15px #000}
.pvp-prep-clock{display:grid;flex:0 0 auto;justify-items:end;gap:3px}
.pvp-prep-clock>small{color:#8db3b0;font-size:7px;font-weight:900;letter-spacing:1.5px}
.pvp-preparation-modal>header .pvp-prep-clock>strong{
  min-width:82px;
  padding:7px 12px;
  border:1px solid #d8b835;
  border-radius:12px;
  background:#101d1fe8;
  box-shadow:inset 0 0 16px #f2d24f11;
  color:#ffe363;
  font:900 22px/1 system-ui,sans-serif;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.pvp-prep-clock>strong.urgent{border-color:#ff656d!important;background:#55252a!important;color:#fff!important;animation:pvpPrepPulse .75s infinite alternate}
.pvp-prep-brief{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:52px;
  box-sizing:border-box;
  padding:9px 20px;
  border-bottom:1px solid #31585c;
  background:#0b2227dd;
}
.pvp-prep-brief>p{max-width:720px;margin:0;color:#b9d0cd;font-size:10px;line-height:1.45}
.pvp-prep-steps{display:flex;align-items:center;gap:5px;white-space:nowrap}
.pvp-prep-steps span{display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #294c50;border-radius:20px;color:#799a98;font-size:7px;font-weight:900;letter-spacing:.8px}
.pvp-prep-steps span b{display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:#17383c;color:#8fb5b2;font-size:8px}
.pvp-prep-steps span.active{border-color:#52cdb5;background:#123631;color:#85f2dc}
.pvp-prep-steps span.active b{background:#5edec5;color:#09201e}
.pvp-prep-layout{grid-template-columns:minmax(0,1.35fr) minmax(330px,.8fr);background:linear-gradient(90deg,#092126aa,#07181c88)}
.pvp-prep-layout>section,.pvp-prep-layout>aside{box-sizing:border-box;padding:14px 16px}
.pvp-prep-layout>section{overflow:auto;scrollbar-color:#55cbb44a transparent;scrollbar-width:thin}
.pvp-prep-layout>aside{overflow:auto;border-left:1px solid #3b686b;background:#06171bd9}
.pvp-prep-layout h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;color:#80ead5;font-size:10px;letter-spacing:1.5px}
.pvp-prep-layout h3 small{color:#748f8e;font-size:7px;letter-spacing:1px}
.pvp-prep-slots{gap:7px;margin-bottom:10px}
.duel-brand .pvp-prep-slot{min-height:58px;background:linear-gradient(100deg,#0c2a2f,#0a2227)}
.duel-brand .pvp-prep-slot.selected{border-color:#edc940;background:linear-gradient(100deg,#303522,#163538);box-shadow:inset 4px 0 #edc940,0 0 18px #dfbd2d14}
.pvp-prep-search{margin-bottom:8px}
.pvp-prep-search input{height:38px;border-color:#396467;border-radius:10px;background:#06171b;padding:9px 13px}
.pvp-prep-pool{gap:7px}
.duel-brand .pvp-prep-pool{grid-template-columns:repeat(3,minmax(0,1fr))}
.pvp-prep-pokemon{min-height:58px;padding:6px 8px;border-color:#31575b;border-radius:10px;background:linear-gradient(145deg,#0d292e,#091f24)}
.pvp-prep-pokemon:hover{transform:translateY(-1px);border-color:#67e5cb;box-shadow:0 7px 18px #0005}
.pvp-prep-pokemon.in-team{border-color:#dfbf3d;background:linear-gradient(145deg,#3a3820,#172d2c);box-shadow:inset 3px 0 #e7c742}
.pvp-prep-move-title{margin-bottom:9px;border-color:#3c716f;background:linear-gradient(110deg,#103238,#0b252a)}
.pvp-prep-move{min-height:43px;margin-bottom:7px;border-radius:10px;transition:.15s ease}
.pvp-prep-move.enabled{border-color:#58bba7;background:linear-gradient(100deg,#123b36,#0c2929);box-shadow:inset 3px 0 #58dfc3}
.pvp-preparation-modal>footer{
  position:relative;
  z-index:3;
  min-height:68px;
  box-sizing:border-box;
  padding:10px 16px 10px 20px;
  border-top:1px solid #4a807b;
  background:linear-gradient(90deg,#102d32,#0b2429 58%,#182c2c);
  box-shadow:0 -12px 30px #0006;
}
.pvp-preparation-modal>footer span{color:#a9c9c4;font-size:9px}
.pvp-preparation-modal>footer button{
  display:flex;
  min-width:260px;
  min-height:46px;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:10px 22px;
  border:1px solid #ffe169;
  border-radius:12px;
  background:linear-gradient(110deg,#157b68,#249e84 54%,#8a7121);
  box-shadow:0 9px 25px #0007,inset 0 1px #ffffff3b,0 0 20px #55ddc331;
  color:#fff;
  font-size:11px;
  font-weight:950;
  letter-spacing:1px;
  cursor:pointer;
  transition:.16s ease;
}
.pvp-preparation-modal>footer button>i{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#fff2;color:#eafff8;font-style:normal}
.pvp-preparation-modal>footer button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 13px 30px #0008,0 0 24px #55ddc35c}
.pvp-preparation-modal>footer button.confirmed{border-color:#4f7773;background:#173b3b;color:#9fc0bc;box-shadow:none}
.pvp-preparation-modal>footer button:disabled{cursor:default;opacity:.78}

@media(max-width:1100px){
  .pvp-preparation-modal{width:calc(100vw - 40px)}
}
@media(max-width:820px){
  .pvp-preparation-modal{top:58px;right:8px;left:8px;width:auto;max-width:none;height:calc(100dvh - 68px);transform:none;border-radius:15px}
  .pvp-preparation-modal>header{min-height:66px;padding:9px 12px}
  .pvp-prep-brand>i{width:39px;height:39px;border-radius:11px;font-size:18px}
  .pvp-preparation-modal>header h2{font-size:18px}
  .pvp-prep-brief{align-items:flex-start;flex-direction:column;gap:7px;padding:7px 12px}
  .pvp-prep-steps{width:100%;justify-content:space-between}
  .pvp-prep-layout{display:block;overflow-x:hidden;overflow-y:auto}
  .pvp-prep-layout>section,.pvp-prep-layout>aside{width:100%;min-width:0;overflow:visible}
  .pvp-prep-layout>aside{border-top:1px solid #31585c;border-left:0}
  .duel-brand .pvp-prep-pool{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pvp-preparation-modal>footer{min-height:62px}
}
@media(max-width:560px){
  .pvp-prep-brand>i,.pvp-prep-clock>small,.pvp-prep-steps{display:none}
  .pvp-preparation-modal>header h2{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}
  .pvp-preparation-modal>header .pvp-prep-clock>strong{min-width:64px;font-size:17px}
  .pvp-prep-slots{grid-template-columns:1fr}
  .pvp-prep-slot{grid-template-columns:25px 48px minmax(0,1fr)}
  .pvp-prep-slot>div{display:none}
  .pvp-prep-layout h3 small{max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .duel-brand .pvp-prep-pool{grid-template-columns:1fr}
  .pvp-preparation-modal>footer{align-items:stretch;flex-direction:column;gap:7px}
  .pvp-preparation-modal>footer button{width:100%;min-width:0}
}
