#pvpRoot{display:none}#pvpRoot.open{display:block;position:fixed;inset:0;z-index:8600;overflow:auto;background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(14px);padding:10px;color:var(--text)}
.pvp-overlay{min-height:100%;display:flex;align-items:flex-start;justify-content:center}.pvp-shell{width:min(1160px,100%);margin:auto;padding:26px;border:2px solid var(--line);border-radius:30px;background:var(--panel);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.3)}
.pvp-head,.pvp-battle-head,.pvp-profile-top,.pvp-section-head,.pvp-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.pvp-head h1,.pvp-battle-head h1{margin:3px 0;font-size:clamp(30px,5vw,52px)}.pvp-head p,.pvp-battle-head p{margin:5px 0;color:var(--muted)}
.pvp-warning{display:grid;gap:4px;margin:14px 0;padding:13px;border:2px solid color-mix(in srgb,var(--gold) 60%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--gold) 10%,var(--panel))}.pvp-warning span{font-size:12px;color:var(--muted)}
.pvp-lobby-grid{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(420px,1.15fr);gap:18px}.pvp-profile-card,.pvp-users-card{padding:20px;border:2px solid var(--line);border-radius:25px;background:var(--panel);color:var(--text)}.pvp-profile-top h2,.pvp-section-head h2{margin:3px 0;font-size:29px}.pvp-record{padding:7px 10px;border:2px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}
.pvp-profile-avatar{position:relative;height:270px;display:block;overflow:visible}.egg-avatar.pvp-profile{position:absolute;left:50%;top:50%;width:150px;height:135px;margin:0;transform:translate(-50%,-50%) scale(1.5);transform-origin:center}
.pvp-stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pvp-stat-cards div{padding:10px;border:2px solid var(--line);border-radius:15px;text-align:center;background:var(--panel);color:var(--text)}.pvp-stat-cards span{display:block;font-size:10px;color:var(--muted);font-weight:900}.pvp-stat-cards strong{display:block;margin-top:4px;font-size:17px}
.pvp-loadout{margin-top:14px;padding:14px;border:2px solid var(--line);border-radius:18px}.pvp-loadout h3{margin:0 0 10px}.pvp-loadout label{display:grid;gap:4px;margin-top:8px}.pvp-loadout label span{font-size:11px;color:var(--muted);font-weight:900}.pvp-loadout select{min-height:44px;border:2px solid var(--line);border-radius:12px;padding:0 9px;background:var(--panel);color:var(--text);font:inherit;font-weight:800}.pvp-skill-box{display:grid;gap:3px;margin-top:10px;padding:10px;border-radius:13px;background:color-mix(in srgb,var(--blue) 8%,var(--panel));color:var(--text)}.pvp-skill-box span{font-size:11px;color:var(--muted)}
.pvp-side-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.pvp-user-list{display:grid;gap:8px;margin-top:12px;max-height:670px;overflow:auto}.pvp-user-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:2px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text)}.pvp-user-row.me{outline:3px solid color-mix(in srgb,var(--blue) 35%,transparent)}
/* mini avatar is centered by coordinates instead of layout size: fixes bottom-right overflow on PC/mobile */
.pvp-user-avatar{position:relative;width:65px;height:62px;overflow:hidden}.egg-avatar.pvp-mini{position:absolute;left:50%;top:50%;width:150px;height:135px;margin:0;transform:translate(-50%,-50%) scale(.42);transform-origin:center}.pvp-user-copy strong{display:block;font-size:17px}.pvp-user-copy small{font-size:10px;color:var(--muted)}.pvp-user-copy span{display:block;margin-top:4px;font-size:11px;color:var(--muted);font-weight:800}.pvp-challenge-btn{min-height:43px;padding:0 13px;border:2px solid var(--text);border-radius:13px;background:var(--danger);color:#fff;font-weight:1000;cursor:pointer}.pvp-challenge-btn:disabled{opacity:.45}.pvp-empty{min-height:160px;display:grid;place-items:center;text-align:center;border:2px dashed var(--line);border-radius:18px;padding:20px}.pvp-empty span,.pvp-note{font-size:11px;color:var(--muted)}
#pvpModalRoot{display:none}#pvpModalRoot.open{display:block;position:fixed;inset:0;z-index:9200}.pvp-modal-backdrop{position:absolute;inset:0;display:grid;place-items:center;padding:15px;background:rgba(0,0,0,.64);backdrop-filter:blur(8px)}.pvp-challenge-modal{width:min(500px,100%);padding:24px;border:2px solid var(--line);border-radius:28px;background:var(--panel);color:var(--text);text-align:center}.pvp-challenge-modal h2{font-size:29px}.pvp-challenge-avatar{height:200px;display:grid;place-items:center;overflow:visible}.egg-avatar.pvp-challenge{transform:scale(1.15);transform-origin:center;margin:0}.pvp-challenge-info{font-weight:900}.pvp-challenge-modal p{font-size:12px;color:var(--muted)}.pvp-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pvp-loading{min-height:320px;display:grid;place-items:center;text-align:center;color:var(--text);gap:10px}
.pvp-timer,.pvp-ready-badge,.pvp-auto-badge{min-width:90px;padding:10px 13px;border:3px solid var(--line);border-radius:16px;font-size:18px;font-weight:1000;text-align:center;background:var(--panel);color:var(--text)}.pvp-auto-badge{animation:pvpPulse 1s ease-in-out infinite alternate}.pvp-result{display:grid;place-items:center;gap:4px;margin-bottom:15px;padding:13px;border:2px solid var(--line);border-radius:18px}.pvp-result strong{font-size:42px}.pvp-result span{font-size:12px;color:var(--muted)}
.pvp-fighters{display:grid;grid-template-columns:1fr 75px 1fr;align-items:center;gap:10px}.pvp-vs{width:65px;height:65px;display:grid;place-items:center;border-radius:50%;background:var(--text);color:var(--bg);font-size:22px;font-weight:1000}.pvp-fighter{position:relative;padding:16px;border:2px solid var(--line);border-radius:24px;overflow:visible;background:var(--panel);color:var(--text)}.pvp-fighter.me{outline:4px solid color-mix(in srgb,var(--blue) 28%,transparent)}.pvp-fighter.took-hit{animation:pvpHitShake .38s ease}.pvp-fighter-name{display:flex;justify-content:space-between;gap:8px;align-items:center}.pvp-fighter-name strong{font-size:24px}.pvp-fighter-name small,.pvp-fighter-name span{font-size:10px;color:var(--muted)}
.pvp-battle-avatar{position:relative;height:270px;display:grid;place-items:center;overflow:visible}.egg-avatar.pvp-fighter{transform:scale(1.5);transform-origin:center;margin:0;transition:.55s cubic-bezier(.2,.8,.2,1)}.pvp-battle-avatar.defeated .egg-avatar.pvp-fighter{transform:translateY(38px) rotate(82deg) scale(1.35);filter:grayscale(.45)}.pvp-battle-avatar.defeated .default-eyes,.pvp-battle-avatar.defeated .avatar-svg.slot-eyes{opacity:0}
/* x-eyes now live inside the rotating avatar, so they stay on the face */
.egg-avatar .pvp-xeyes{position:absolute;z-index:25;left:50%;top:57px;transform:translateX(-50%);font-size:23px;line-height:1;font-weight:1000;color:#24384d;letter-spacing:5px;pointer-events:none}
.pvp-hp>div:first-child{display:flex;justify-content:space-between;font-weight:900}.pvp-hpbar{height:16px;margin-top:5px;border:2px solid var(--line);border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--panel) 70%,var(--bg))}.pvp-hpbar i{display:block;height:100%;background:var(--green);transition:width .6s cubic-bezier(.2,.8,.2,1)}.pvp-load{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.pvp-load span{font-size:10px;color:var(--muted)}
/* three-turn planning */
.pvp-plan-panel{margin-top:18px;padding:18px;border:2px solid var(--line);border-radius:22px;background:var(--panel);color:var(--text)}.pvp-plan-head h2{margin:0 0 4px;font-size:28px}.pvp-plan-head span{font-size:12px;color:var(--muted)}.pvp-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.pvp-plan-turn{padding:13px;border:2px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 94%,var(--blue) 6%)}.pvp-plan-turn.chosen{border-color:color-mix(in srgb,var(--text) 55%,var(--line))}.pvp-plan-title{display:grid;gap:4px;margin-bottom:10px}.pvp-plan-title b{font-size:12px;color:var(--muted);letter-spacing:.08em}.pvp-plan-title strong{font-size:18px;min-height:24px}.pvp-plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pvp-plan-actions button{min-height:66px;display:grid;place-items:center;gap:2px;border:2px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer}.pvp-plan-actions button span{font-size:25px}.pvp-plan-actions button b{font-size:12px}.pvp-plan-actions button.selected{background:var(--text);color:var(--bg);border-color:var(--text);transform:translateY(-1px)}.pvp-plan-actions button:disabled{opacity:.28;cursor:not-allowed}.pvp-plan-locked{min-height:70px;display:grid;place-items:center;border:2px solid var(--line);border-radius:14px;font-size:24px;font-weight:1000}.pvp-submit-plan{width:100%;margin-top:14px;min-height:58px;font-size:17px}.pvp-submit-plan:disabled{opacity:.35;cursor:not-allowed}.pvp-waiting-opponent{min-height:72px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;border:2px dashed var(--line);border-radius:16px;font-size:17px}.pvp-wait-pulse{font-size:22px;animation:pvpPulse .7s ease-in-out infinite alternate}
/* automatic battle reveal */
.pvp-turn-stage{margin-top:8px}.pvp-action-reveal{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:10px;margin-bottom:12px;padding:15px;border:2px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--panel) 92%,var(--blue) 8%)}.pvp-action-reveal>div:not(.pvp-clash-symbol){display:grid;place-items:center;gap:3px;text-align:center}.pvp-action-reveal span{font-size:58px;line-height:1}.pvp-action-reveal strong{font-size:23px}.pvp-action-reveal b{font-size:21px}.pvp-clash-symbol{font-size:40px;text-align:center;animation:pvpClash .55s ease-in-out infinite alternate}.pvp-fx-layer{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:30;overflow:visible}.pvp-fx{font-size:70px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.25));animation:pvpFxPop 1.1s ease both}.pvp-fx-guard{font-size:95px;animation:pvpGuard 1.2s ease both}.pvp-fx-parry{font-size:90px;animation:pvpParry 1.15s ease both}.pvp-fx-attack{font-size:88px;animation:pvpSlash .95s ease both}.pvp-fx-skill{font-size:88px;animation:pvpSkill 1.15s cubic-bezier(.2,.8,.2,1) both}.pvp-fx-skill.skill-burst_fire,.pvp-fx-skill.skill-suppress_fire{animation:pvpGun .75s steps(3,end) 2}.pvp-fx-skill.skill-light_slash{font-size:105px;animation:pvpLightSlash 1s ease both}.pvp-fx-skill.skill-desk_bunker,.pvp-fx-skill.skill-textbook_guard{font-size:100px;animation:pvpGuard 1.2s ease both}
.pvp-damage-pop{position:absolute;z-index:45;left:50%;top:34%;transform:translate(-50%,-50%) scale(.5);opacity:0;text-align:center;pointer-events:none}.pvp-damage-pop.show{animation:pvpDamagePop 1.1s cubic-bezier(.15,.85,.2,1) both}.pvp-damage-pop strong{display:block;font-size:clamp(44px,7vw,78px);line-height:1;color:#ff4d67;text-shadow:0 4px 0 #fff,0 8px 18px rgba(0,0,0,.35);white-space:nowrap}.pvp-damage-pop strong.zero{color:var(--text)}.pvp-damage-pop small{display:block;margin-top:6px;font-size:26px;font-weight:1000;color:#35c77a;text-shadow:0 2px 0 var(--panel)}
/* turn record: intentionally as large as player names */
.pvp-logs{margin-top:17px;padding:16px;border:2px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text)}.pvp-logs h3{margin:0 0 10px;font-size:26px}.pvp-log{display:grid;grid-template-columns:105px 1fr 54px 1fr;align-items:center;gap:10px;padding:13px 0;border-top:2px solid var(--line)}.pvp-log:first-of-type{border-top:0}.pvp-log-turn{font-size:22px;font-weight:1000;letter-spacing:.04em}.pvp-log-player{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.pvp-log-player strong{font-size:24px;line-height:1.15}.pvp-log-player span{font-size:21px;font-weight:950}.pvp-log-player b{font-size:20px}.pvp-log-clash{font-size:30px;text-align:center}.pvp-log-empty{font-size:18px;color:var(--muted);padding:12px 0}.pvp-footer{display:flex;justify-content:center;gap:8px;margin-top:14px}.pvp-footer button{min-width:170px}
@keyframes pvpPulse{from{opacity:.5;transform:scale(.97)}to{opacity:1;transform:scale(1.03)}}@keyframes pvpClash{from{transform:scale(.92) rotate(-7deg)}to{transform:scale(1.13) rotate(7deg)}}@keyframes pvpHitShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-4px)}}@keyframes pvpFxPop{0%{opacity:0;transform:scale(.3)}35%{opacity:1;transform:scale(1.25)}100%{opacity:0;transform:scale(.9)}}@keyframes pvpGuard{0%{opacity:0;transform:scale(.35)}30%{opacity:.95;transform:scale(1.22)}70%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(1.08)}}@keyframes pvpParry{0%{opacity:0;transform:rotate(-80deg) scale(.3)}45%{opacity:1;transform:rotate(18deg) scale(1.35)}100%{opacity:0;transform:rotate(130deg) scale(.8)}}@keyframes pvpSlash{0%{opacity:0;transform:translate(-45px,35px) rotate(-35deg) scale(.4)}35%{opacity:1;transform:translate(15px,-12px) rotate(15deg) scale(1.3)}100%{opacity:0;transform:translate(60px,-45px) rotate(25deg) scale(.85)}}@keyframes pvpSkill{0%{opacity:0;transform:scale(.25) rotate(-20deg)}35%{opacity:1;transform:scale(1.45) rotate(7deg)}75%{opacity:1;transform:scale(1.05)}100%{opacity:0;transform:scale(.8)}}@keyframes pvpGun{0%{opacity:.2;transform:translateX(-8px) scale(.8)}50%{opacity:1;transform:translateX(10px) scale(1.2)}100%{opacity:.15;transform:translateX(-4px) scale(.95)}}@keyframes pvpLightSlash{0%{opacity:0;transform:translate(-70px,60px) rotate(-35deg) scale(.5)}45%{opacity:1;transform:translate(20px,-15px) rotate(10deg) scale(1.45)}100%{opacity:0;transform:translate(80px,-70px) rotate(25deg) scale(.7)}}@keyframes pvpDamagePop{0%{opacity:0;transform:translate(-50%,-30%) scale(.45)}25%{opacity:1;transform:translate(-50%,-58%) scale(1.25)}75%{opacity:1;transform:translate(-50%,-66%) scale(1)}100%{opacity:0;transform:translate(-50%,-90%) scale(.82)}}
/* black mode hard contrast */
body[data-theme="mono-dark"] #pvpRoot :is(.pvp-shell,.pvp-profile-card,.pvp-users-card,.pvp-user-row,.pvp-fighter,.pvp-plan-panel,.pvp-plan-turn,.pvp-plan-actions button,.pvp-logs,.pvp-ready-badge,.pvp-auto-badge,.pvp-timer,.pvp-challenge-modal){background:#090909!important;color:#fff!important;border-color:#444!important}body[data-theme="mono-dark"] #pvpRoot :is(.pvp-head p,.pvp-battle-head p,.pvp-note,.pvp-empty span,.pvp-user-copy span,.pvp-user-copy small,.pvp-load span,.pvp-plan-head span,.pvp-plan-title b,.pvp-challenge-modal p){color:#c7c7c7!important}body[data-theme="mono-dark"] #pvpRoot .pvp-challenge-btn{background:#fff!important;color:#000!important;border-color:#fff!important}body[data-theme="mono-dark"] #pvpRoot .pvp-plan-actions button.selected{background:#fff!important;color:#000!important}body[data-theme="mono-dark"] #pvpRoot .pvp-damage-pop strong{color:#ff5a70;text-shadow:0 3px 0 #000,0 8px 18px rgba(0,0,0,.6)}body[data-theme="mono-dark"] #pvpRoot .pvp-damage-pop strong.zero{color:#fff}body[data-theme="mono-dark"] #pvpRoot .pvp-damage-pop small{text-shadow:0 2px 0 #000}
@media(max-width:850px){.pvp-lobby-grid{grid-template-columns:1fr}.pvp-fighters{grid-template-columns:1fr 54px 1fr}.pvp-battle-avatar{height:220px}.egg-avatar.pvp-fighter{transform:scale(1.2)}.pvp-plan-grid{grid-template-columns:1fr}.pvp-log{grid-template-columns:90px 1fr 42px 1fr}.pvp-log-player strong{font-size:21px}.pvp-log-player span,.pvp-log-player b{font-size:18px}}
@media(max-width:600px){#pvpRoot.open{padding:5px}.pvp-shell{padding:14px;border-radius:20px}.pvp-head,.pvp-battle-head,.pvp-plan-head{flex-direction:column}.pvp-head button{width:100%}.pvp-profile-avatar{height:210px}.egg-avatar.pvp-profile{transform:translate(-50%,-50%) scale(1.12)}.pvp-user-row{grid-template-columns:55px 1fr}.pvp-user-avatar{width:54px;height:54px}.egg-avatar.pvp-mini{transform:translate(-50%,-50%) scale(.36)}.pvp-challenge-btn{grid-column:1/-1}.pvp-fighters{grid-template-columns:1fr}.pvp-vs{margin:-4px auto;width:54px;height:54px}.pvp-battle-avatar{height:205px}.egg-avatar.pvp-fighter{transform:scale(1.08)}.pvp-action-reveal{grid-template-columns:1fr 46px 1fr;padding:11px 8px}.pvp-action-reveal span{font-size:44px}.pvp-action-reveal strong{font-size:18px}.pvp-action-reveal b{font-size:17px}.pvp-clash-symbol{font-size:28px}.pvp-plan-actions button{min-height:62px}.pvp-log{grid-template-columns:1fr;gap:7px;padding:14px 0}.pvp-log-turn{font-size:21px}.pvp-log-player strong{font-size:23px}.pvp-log-player span{font-size:20px}.pvp-log-player b{font-size:19px}.pvp-log-clash{font-size:28px}.pvp-footer{display:grid}.pvp-footer button{width:100%;min-width:0}.pvp-damage-pop strong{font-size:52px}.pvp-damage-pop small{font-size:22px}.egg-avatar .pvp-xeyes{top:57px;font-size:22px}}
/* individual weapon-skill motion signatures */
.pvp-fx-skill.skill-home_run{animation:pvpHomeRun 1.05s ease both}.pvp-fx-skill.skill-chair_counter{animation:pvpChairCounter 1.15s ease both}.pvp-fx-skill.skill-friend_rush{animation:pvpFriendRush 1.05s ease both}.pvp-fx-skill.skill-red_pen{animation:pvpRedPen .95s ease both}.pvp-fx-skill.skill-textbook_guard{animation:pvpBookShield 1.2s ease both}.pvp-fx-skill.skill-desk_bunker{animation:pvpDeskBunker 1.2s ease both}
@keyframes pvpHomeRun{0%{opacity:0;transform:translate(-55px,25px) rotate(-80deg) scale(.45)}40%{opacity:1;transform:translate(15px,-8px) rotate(40deg) scale(1.35)}100%{opacity:0;transform:translate(70px,-25px) rotate(100deg) scale(.8)}}
@keyframes pvpChairCounter{0%{opacity:0;transform:scale(.5) rotate(-18deg)}35%{opacity:1;transform:scale(1.35) rotate(20deg)}60%{transform:scale(1.05) rotate(-16deg)}100%{opacity:0;transform:scale(.9) rotate(10deg)}}
@keyframes pvpFriendRush{0%{opacity:0;transform:translateX(-70px) scale(.7)}35%{opacity:1;transform:translateX(15px) scale(1.35)}65%{transform:translateX(-8px) scale(1.15)}100%{opacity:0;transform:translateX(65px) scale(.85)}}
@keyframes pvpRedPen{0%{opacity:0;transform:translate(-35px,35px) rotate(-45deg) scale(.5)}30%{opacity:1;transform:translate(25px,-20px) rotate(25deg) scale(1.2)}55%{transform:translate(-18px,10px) rotate(-20deg) scale(1.25)}100%{opacity:0;transform:translate(45px,-35px) rotate(35deg) scale(.8)}}
@keyframes pvpBookShield{0%{opacity:0;transform:scale(.35) rotateY(70deg)}35%{opacity:1;transform:scale(1.4) rotateY(0)}80%{opacity:.9;transform:scale(1.05)}100%{opacity:0;transform:scale(.9)}}
@keyframes pvpDeskBunker{0%{opacity:0;transform:translateY(60px) scale(.55)}35%{opacity:1;transform:translateY(-5px) scale(1.35)}80%{opacity:.9;transform:translateY(0) scale(1.08)}100%{opacity:0;transform:translateY(15px) scale(.9)}}

/* v5.6 — keep PVP controls inside narrow mobile frames */
@media(max-width:600px){
  .pvp-shell,
  .pvp-shell :is(section,article,div,label,button,span,strong,small,p,h1,h2,h3,select){
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  .pvp-shell :is(h1,h2,h3,p,strong,small,span,button,label){overflow-wrap:anywhere}
  .pvp-head h1,.pvp-battle-head h1{font-size:clamp(24px,8vw,34px)!important}
  .pvp-profile-top h2,.pvp-section-head h2,.pvp-plan-head h2{font-size:clamp(19px,6vw,25px)!important}
  .pvp-stat-cards{grid-template-columns:1fr!important}
  .pvp-loadout select{width:100%;font-size:clamp(12px,3.8vw,15px)!important}
  .pvp-user-copy strong{font-size:clamp(13px,4.2vw,17px)!important}
  .pvp-user-copy span,.pvp-user-copy small{font-size:clamp(9px,2.8vw,11px)!important}
  .pvp-fighter-name{flex-wrap:wrap}
  .pvp-fighter-name strong{font-size:clamp(17px,5.5vw,22px)!important}
  .pvp-load span{font-size:clamp(8.5px,2.6vw,10px)!important}
  .pvp-plan-title strong{font-size:clamp(15px,4.8vw,18px)!important}
  .pvp-plan-actions button b{font-size:clamp(10px,3.1vw,12px)!important}
  .pvp-action-reveal strong{font-size:clamp(14px,4.5vw,18px)!important}
  .pvp-action-reveal b{font-size:clamp(13px,4.1vw,17px)!important}
  .pvp-logs h3{font-size:clamp(20px,6.2vw,25px)!important}
  .pvp-log-player strong{font-size:clamp(17px,5.3vw,22px)!important}
  .pvp-log-player span,.pvp-log-player b{font-size:clamp(14px,4.5vw,18px)!important}
}

/* v5.7 — smoother/larger PVP effects + 3-round planning */
.pvp-round-banner{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:14px;padding:13px 18px;border:3px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--blue) 12%,var(--panel));text-align:center}.pvp-round-banner strong{font-size:clamp(26px,4.5vw,44px);line-height:1}.pvp-round-banner span{font-size:clamp(15px,2.6vw,22px);font-weight:1000}
.pvp-skill-box{gap:7px}.pvp-skill-box>span{display:block;padding:7px 9px;border-radius:10px;background:color-mix(in srgb,var(--blue) 6%,var(--panel));font-size:11px}.pvp-skill-select{width:100%;min-height:42px;margin-top:8px;padding:6px 9px;border:2px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);font:inherit;font-weight:900}
.pvp-fx{font-size:104px!important;filter:drop-shadow(0 12px 20px rgba(0,0,0,.28));animation-duration:1.55s!important;animation-timing-function:cubic-bezier(.16,.84,.22,1)!important}.pvp-fx-guard{font-size:132px!important}.pvp-fx-parry{font-size:126px!important}.pvp-fx-attack{font-size:124px!important}.pvp-fx-skill{font-size:128px!important}.pvp-fx-skill.skill-light_slash{font-size:150px!important}.pvp-fx-skill.skill-desk_bunker,.pvp-fx-skill.skill-textbook_guard,.pvp-fx-skill.skill-magic_barrier,.pvp-fx-skill.skill-royal_guard,.pvp-fx-skill.skill-star_guard,.pvp-fx-skill.skill-sparkle_guard{font-size:142px!important}
.pvp-fighter.took-hit{animation:pvpHitShake .58s cubic-bezier(.18,.75,.25,1)}
.pvp-damage-pop{left:50%;top:92px;transform:translate(-50%,-50%) scale(.65);z-index:80;min-width:140px;overflow:visible}.pvp-damage-pop.show{animation:pvpDamageOverHead 1.55s cubic-bezier(.16,.86,.2,1) both}.pvp-damage-pop strong{font-size:clamp(58px,8.5vw,96px);text-shadow:0 4px 0 #fff,0 10px 24px rgba(0,0,0,.4)}.pvp-damage-pop small{font-size:clamp(25px,4vw,36px)}
@keyframes pvpDamageOverHead{0%{opacity:0;transform:translate(-50%,20px) scale(.55)}18%{opacity:1;transform:translate(-50%,-8px) scale(1.18)}55%{opacity:1;transform:translate(-50%,-28px) scale(1)}100%{opacity:0;transform:translate(-50%,-62px) scale(.9)}}
.pvp-action-reveal span{font-size:76px}.pvp-clash-symbol{animation-duration:.9s}.pvp-hpbar i{transition:width .85s cubic-bezier(.18,.8,.22,1)}
@media(max-width:600px){.pvp-round-banner{flex-direction:column;gap:4px;padding:10px}.pvp-fx{font-size:84px!important}.pvp-fx-guard,.pvp-fx-parry,.pvp-fx-attack,.pvp-fx-skill{font-size:94px!important}.pvp-damage-pop{top:86px}.pvp-damage-pop strong{font-size:58px}.pvp-action-reveal span{font-size:52px}.pvp-skill-select{font-size:12px}}

/* v5.21 — PVP ranking */
.pvp-leaderboard-modal{width:min(620px,calc(100vw - 28px));max-height:82vh;overflow:hidden;display:grid;grid-template-rows:auto auto 1fr;border-radius:22px;background:var(--panel,#171b28);color:inherit;padding:18px;border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 80px rgba(0,0,0,.45)}
.pvp-modal-title{display:flex;align-items:center;gap:12px}.pvp-modal-title>div{flex:1}.pvp-modal-title h2{margin:0;flex:1}.pvp-leaderboard-modal>p{opacity:.72;margin:6px 0 12px}.pvp-leaderboard-list{overflow:auto;display:grid;gap:7px}.pvp-leaderboard-row{display:grid;grid-template-columns:34px minmax(110px,1fr) 90px 100px;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07)}.pvp-leaderboard-row>b{font-size:18px}.pvp-leaderboard-row>span{text-align:right;font-weight:900}.pvp-leaderboard-row>small{text-align:right;opacity:.65}
@media(max-width:620px){.pvp-leaderboard-row{grid-template-columns:30px 1fr auto}.pvp-leaderboard-row>small{grid-column:2/4;text-align:left}.pvp-side-actions{grid-template-columns:1fr 1fr!important}.pvp-side-actions #pvpLeaderboard{grid-column:1/3;min-height:46px}}

/* VEM v6.0 PVP Arena — compact unified layout, existing avatar renderer preserved */
#pvpRoot .pvp-overlay{padding:82px max(12px,calc((100vw - 600px)/2 + 12px)) 28px!important;align-items:flex-start!important;background:rgba(2,7,14,.84)!important}
#pvpRoot .pvp-shell{width:min(100%,576px)!important;max-width:576px!important;min-width:0!important;background:#06101d!important;border:1px solid rgba(91,134,199,.35)!important;border-radius:22px!important;box-shadow:0 26px 70px rgba(0,0,0,.62)!important;color:#f6f8fc!important;padding:16px!important}
.pvp-head,.pvp-battle-head{align-items:flex-start!important;gap:10px!important}.pvp-head h1,.pvp-battle-head h1{font-size:clamp(28px,7vw,38px)!important;background:linear-gradient(105deg,#39d8ff,#4e8dff 52%,#815cff);-webkit-background-clip:text;background-clip:text;color:transparent!important}.pvp-head p{color:#9da9bb!important;font-size:13px!important}.pvp-lobby-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.pvp-profile-card,.pvp-users-card,.pvp-loadout,.pvp-logs{background:#091524!important;border:1px solid rgba(95,129,181,.22)!important;border-radius:17px!important}.pvp-profile-avatar{min-height:220px!important}.pvp-profile-avatar .avatar{transform:scale(.95)!important}.pvp-user-row{grid-template-columns:54px minmax(0,1fr) 84px!important;min-width:0!important}.pvp-user-copy{min-width:0!important}.pvp-user-copy strong,.pvp-user-copy span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.pvp-side-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:8px!important}.pvp-loadout label{grid-template-columns:100px minmax(0,1fr)!important}.pvp-loadout select{min-width:0!important;max-width:100%!important}.pvp-fighters{display:grid!important;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)!important;gap:4px!important;align-items:center!important}.pvp-fighter{min-width:0!important;overflow:visible!important}.pvp-fighter .avatar{max-width:100%!important}.pvp-action-reveal{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)!important}.pvp-planning-grid{grid-template-columns:1fr!important}.pvp-turn-plan{min-width:0!important}.pvp-damage-pop{z-index:50!important;font-size:clamp(30px,8vw,48px)!important}.pvp-log{grid-template-columns:1fr!important;text-align:left!important}.pvp-log-clash{display:none!important}
@media(max-width:420px){#pvpRoot .pvp-overlay{padding-left:7px!important;padding-right:7px!important}.pvp-side-actions{grid-template-columns:1fr!important}.pvp-profile-top{align-items:flex-start!important}.pvp-record{font-size:12px!important}.pvp-user-row{grid-template-columns:48px minmax(0,1fr) 78px!important}.pvp-challenge-btn{padding:9px 5px!important;font-size:12px!important}.pvp-fighters{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important}.pvp-vs{font-size:13px!important}}

/* v6 fixed top-left back button owns PVP navigation */
#pvpRoot .pvp-head #pvpClose{display:none!important}


/* VEM v6.3 — mobile-first PVP + device dark-mode hardening */
#pvpRoot,#pvpModalRoot{color-scheme:dark;}
#pvpRoot.open{background:#030914!important;color:#f6f8fc!important;}
#pvpRoot .pvp-overlay{padding:92px 10px 34px!important;background:#030914!important;}
#pvpRoot .pvp-shell{width:min(100%,452px)!important;max-width:452px!important;background:#07111f!important;color:#f6f8fc!important;border-color:rgba(82,132,204,.38)!important;}
#pvpRoot .pvp-profile-card,#pvpRoot .pvp-users-card,#pvpRoot .pvp-loadout,#pvpRoot .pvp-plan-panel,#pvpRoot .pvp-fighter,#pvpRoot .pvp-action-reveal,#pvpRoot .pvp-log,#pvpRoot .pvp-result,#pvpRoot .pvp-stat-cards div{background:#091524!important;color:#f6f8fc!important;}
#pvpRoot select,#pvpRoot option,#pvpRoot input,#pvpRoot textarea,#pvpModalRoot select,#pvpModalRoot option,#pvpModalRoot input{background:#07111f!important;color:#f6f8fc!important;color-scheme:dark;}
#pvpRoot button,#pvpModalRoot button{color-scheme:dark;}
#pvpRoot .pvp-lobby-grid{grid-template-columns:1fr!important;}
#pvpRoot .pvp-side-actions{grid-template-columns:1fr 1fr!important;}
#pvpRoot .pvp-plan-grid{grid-template-columns:1fr!important;}
#pvpRoot .pvp-profile-avatar{height:210px!important;}
#pvpRoot .egg-avatar.pvp-profile{transform:translate(-50%,-50%) scale(1.08)!important;}
#pvpRoot .pvp-user-list{max-height:none!important;}
#pvpRoot .pvp-user-row{grid-template-columns:48px minmax(0,1fr) 78px!important;}
#pvpRoot .pvp-fighters{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important;}
#pvpRoot .pvp-vs{width:24px;height:42px;font-size:12px;background:#f5f7fb!important;color:#06101d!important;}
#pvpRoot .pvp-battle-avatar{height:190px!important;}
#pvpRoot .egg-avatar.pvp-fighter{transform:scale(1.05)!important;}
#pvpRoot .pvp-action-reveal{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important;padding:10px!important;}
#pvpRoot .pvp-action-reveal span{font-size:42px!important;}
#pvpRoot .pvp-action-reveal strong{font-size:16px!important;}
#pvpRoot .pvp-action-reveal b{font-size:14px!important;}
#pvpRoot .pvp-footer{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
#pvpModalRoot .pvp-challenge-modal,#pvpModalRoot .pvp-leaderboard-modal{width:min(452px,calc(100vw - 20px))!important;background:#07111f!important;color:#f6f8fc!important;}
@media(max-width:360px){#pvpRoot .pvp-overlay{padding-left:6px!important;padding-right:6px!important}.pvp-head h1,.pvp-battle-head h1{font-size:26px!important}.pvp-user-row{grid-template-columns:42px minmax(0,1fr) 68px!important}.pvp-challenge-btn{font-size:11px!important;padding:8px 4px!important}}


/* v6.4: isolate live roster updates so Presence bursts do not reflow the whole PVP lobby. */
#pvpRoot .pvp-user-list{contain:layout style;}
#pvpRoot .pvp-challenge-btn{touch-action:manipulation;}


/* =========================================================
   VEM v6.5 — deterministic PVP avatar stages
   The avatar's own 150x135 coordinate system is kept intact and the OUTER
   renderer is scaled/positioned. This prevents equipped SVGs from pushing
   the fighter away from its intended center on mobile.
   ========================================================= */
#pvpRoot .pvp-avatar-render,
#pvpModalRoot .pvp-avatar-render{
  position:relative;
  width:150px;
  height:135px;
  flex:0 0 150px;
  transform-origin:center center;
  pointer-events:none;
}
#pvpRoot .pvp-avatar-render > .egg-avatar,
#pvpModalRoot .pvp-avatar-render > .egg-avatar{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:150px!important;
  height:135px!important;
  margin:0!important;
  transform:none!important;
  transform-origin:center center!important;
}

/* My fighter: always has a real, centered stage even when no gear is equipped. */
#pvpRoot .pvp-profile-avatar{
  position:relative!important;
  height:196px!important;
  min-height:196px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
#pvpRoot .pvp-profile-avatar > .pvp-avatar-render{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) scale(1.02)!important;
}

/* Online roster mini avatars. */
#pvpRoot .pvp-user-avatar{position:relative!important;overflow:hidden!important;}
#pvpRoot .pvp-user-avatar > .pvp-avatar-render{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) scale(.34)!important;
}

/* Challenge modal. */
#pvpModalRoot .pvp-challenge-avatar{display:grid!important;place-items:center!important;overflow:hidden!important;}
#pvpModalRoot .pvp-challenge-avatar > .pvp-avatar-render{transform:scale(.98)!important;}

/* Battle cards: center the same fixed coordinate system rather than scaling .egg-avatar itself. */
#pvpRoot .pvp-battle-avatar{
  position:relative!important;
  height:188px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
#pvpRoot .pvp-battle-avatar > .pvp-avatar-render{transform:scale(.92)!important;}
#pvpRoot .pvp-battle-avatar.defeated > .pvp-avatar-render{
  transform:translateY(18px) rotate(82deg) scale(.84)!important;
  filter:grayscale(.45);
}
#pvpRoot .pvp-battle-avatar.defeated .egg-avatar.pvp-fighter{transform:none!important;filter:none!important;}

/* A true phone layout: fighters use the full mobile card width. This removes the
   narrow two-column stage that previously let character art escape the card. */
@media(max-width:620px){
  #pvpRoot .pvp-fighters{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  #pvpRoot .pvp-vs{
    margin:-2px auto!important;
    width:46px!important;
    height:46px!important;
    font-size:13px!important;
  }
  #pvpRoot .pvp-fighter{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    padding:12px!important;
  }
  #pvpRoot .pvp-battle-avatar{height:174px!important;}
  #pvpRoot .pvp-battle-avatar > .pvp-avatar-render{transform:scale(.94)!important;}
  #pvpRoot .pvp-battle-avatar.defeated > .pvp-avatar-render{transform:translateY(14px) rotate(82deg) scale(.84)!important;}
  #pvpRoot .pvp-fighter-name{min-width:0!important;}
  #pvpRoot .pvp-fighter-name strong{min-width:0!important;overflow-wrap:anywhere!important;}
  #pvpRoot .pvp-action-reveal{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important;overflow:hidden!important;}
}
