.pvp-invite-backdrop{z-index:2147483000;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));pointer-events:none;background:radial-gradient(#1a1c2c59,#1a1c2ca6);place-items:center;animation:.18s ease-out pvp-fade-in;display:grid;position:fixed;inset:0}.pvp-invite{pointer-events:auto;border:4px solid var(--ui-outline);background:linear-gradient(var(--ui-accent) 0 0) top / 100% 58px no-repeat, var(--ui-paper);width:min(440px,100%);max-height:calc(100dvh - 24px);box-shadow:0 0 0 4px var(--ui-gold), 0 18px 40px #00000073;color:var(--ui-ink);border-radius:18px;padding:18px 18px 14px;animation:.42s cubic-bezier(.2,1.4,.4,1) pvp-invite-in;position:relative;overflow:auto}.pvp-invite__timer{background:#00000059;border-radius:999px;height:6px;position:absolute;top:8px;left:14px;right:14px;overflow:hidden}.pvp-invite__timer-fill{height:100%;width:calc(var(--pvp-left,1) * 100%);background:var(--ui-gold);transition:width .2s linear}.pvp-invite__kicker{color:var(--ui-on-wood);font-family:var(--ui-font-pixel);letter-spacing:1px;text-transform:uppercase;margin:4px 0 6px;font-size:10px}.pvp-invite__head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.pvp-invite__portrait{border:3px solid var(--ui-outline);background:radial-gradient(circle at 50% 80%, var(--ui-arena-grass-hi), var(--ui-arena-grass) 60%, #4b8a2a);width:100px;height:100px;image-rendering:pixelated;border-radius:12px;place-items:center;display:grid;overflow:hidden}.pvp-invite__portrait canvas{image-rendering:pixelated}.pvp-invite__who h2{font-family:var(--ui-font-display);letter-spacing:.5px;overflow-wrap:anywhere;margin:0;font-size:26px;line-height:1.05}.pvp-invite__badges{color:var(--ui-ink);font-weight:800;font-size:var(--ui-text-md);align-items:center;gap:6px;margin:6px 0 0;display:flex}.pvp-badge-icon{border:2px solid var(--ui-outline);background:linear-gradient(135deg, var(--ui-gold-hi), var(--ui-gold) 55%, var(--ui-gold-lo));border-radius:4px 4px 8px 8px;width:16px;height:16px}.pvp-invite__clock{border:3px solid var(--ui-outline);background:var(--ui-outline);min-width:52px;color:var(--ui-gold);font-family:var(--ui-font-pixel);text-align:center;border-radius:10px;padding:6px 8px;font-size:14px}.pvp-invite__label{font-size:var(--ui-text-sm);text-transform:uppercase;letter-spacing:1px;color:var(--ui-ink-muted);margin:12px 0 6px}.pvp-team-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.pvp-team-strip li{border:3px solid var(--ui-outline);background:var(--ui-paper-raised);border-radius:10px;justify-items:center;gap:2px;padding:6px 4px 4px;display:grid;position:relative}.pvp-team-strip li[data-shiny="1"]{background:linear-gradient(160deg, var(--ui-gold-soft), var(--ui-paper-raised));border-color:var(--ui-gold-lo)}.pvp-team-strip__sprite{place-items:center;width:100%;height:72px;display:grid;overflow:hidden}.pvp-team-strip__sprite img{image-rendering:pixelated}.pvp-team-strip__lv{font-family:var(--ui-font-pixel);font-size:10px}.pvp-team-strip__name{max-width:100%;font-size:var(--ui-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.pvp-invite__rules{background:var(--ui-paper-sunken);font-size:var(--ui-text-sm);border-radius:10px;margin:10px 0 0;padding:8px 10px 8px 26px;line-height:1.35}.pvp-invite__error{color:var(--ui-danger);margin:8px 0 0;font-weight:800}.pvp-invite__actions{grid-template-columns:1fr 1.4fr;gap:10px;margin-top:12px;display:grid}.pvp-invite__minor{justify-content:space-between;gap:8px;margin-top:10px;display:flex}.pvp-invite__queue{text-align:center;font-size:var(--ui-text-sm);color:var(--ui-ink-muted);margin:8px 0 0}.pvp-btn{border:4px solid var(--ui-outline);min-height:56px;font-family:var(--ui-font-display);letter-spacing:1px;text-transform:uppercase;cursor:pointer;box-shadow:0 5px 0 var(--ui-outline);touch-action:manipulation;border-radius:14px;padding:10px 14px;font-size:24px;transition:transform 80ms,box-shadow 80ms}.pvp-btn:active:not(:disabled){box-shadow:0 1px 0 var(--ui-outline);transform:translateY(4px)}.pvp-btn:disabled{opacity:.6;cursor:progress}.pvp-btn--accept{background:linear-gradient(var(--ui-ok-hi), #4fb23a);color:var(--ui-outline);animation:1.1s ease-in-out infinite pvp-pulse}.pvp-btn--accept[data-sent="1"]{filter:saturate(.6);animation:none}.pvp-btn--decline{background:var(--ui-paper-raised);color:var(--ui-ink)}.pvp-btn--small{min-height:40px;box-shadow:0 3px 0 var(--ui-outline);padding:6px 12px;font-size:16px}.pvp-link,.pvp-link:hover,.pvp-link:active{appearance:none;min-height:0;box-shadow:none;color:var(--ui-ink-muted);font-size:var(--ui-text-sm);cursor:pointer;background:0 0;border:0;border-radius:0;padding:6px 2px;text-decoration:underline;transform:none}.pvp-waiting{z-index:2147482990;left:50%;top:max(10px, env(safe-area-inset-top));border:3px solid var(--ui-outline);background:var(--ui-paper);width:min(420px,100vw - 20px);box-shadow:0 0 0 3px var(--ui-gold), 0 10px 24px #00000059;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;animation:.32s cubic-bezier(.2,1.4,.4,1) pvp-drop-in;display:grid;position:fixed;transform:translate(-50%)}.pvp-waiting__portrait{border:2px solid var(--ui-outline);background:var(--ui-info-soft);border-radius:10px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.pvp-waiting__text{gap:2px;min-width:0;display:grid}.pvp-waiting__text strong{font-family:var(--ui-font-display);text-overflow:ellipsis;white-space:nowrap;font-size:20px;overflow:hidden}.pvp-waiting__text small{color:var(--ui-ink-muted)}.pvp-waiting__bar{background:var(--ui-paper-sunken);border-radius:99px;height:6px;overflow:hidden}.pvp-waiting__bar>div{height:100%;width:calc(var(--pvp-left,1) * 100%);background:var(--ui-primary);transition:width .2s linear}.pvp-root{z-index:2147482900;color:var(--ui-ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(at 50% 30%,#2a2f55 0%,#12142a 70%),#12142a;flex-direction:column;animation:.22s ease-out pvp-fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.pvp-loading{flex:1;place-items:center;display:grid}.pvp-pokeball{border:4px solid var(--ui-outline);background:radial-gradient(circle, #fff 0 5px, var(--ui-outline) 6px 9px, transparent 10px), linear-gradient(var(--ui-accent) 0 44%, var(--ui-outline) 44% 56%, #fff 56%);border-radius:50%;width:48px;height:48px}.pvp-pokeball--spin{animation:.9s linear infinite pvp-spin}.pvp-setup{width:min(980px,100%);padding:max(12px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));color:var(--ui-on-wood);flex:1;margin:0 auto;overflow:auto}.pvp-setup__vs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.pvp-setup__trainer{text-align:center;background:#ffffff0f;border:3px solid #ffffff26;border-radius:16px;justify-items:center;gap:4px;padding:10px 6px;display:grid}.pvp-setup__trainer[data-side=me]{animation:.42s cubic-bezier(.2,1.2,.4,1) pvp-slide-right}.pvp-setup__trainer[data-side=foe]{animation:.42s cubic-bezier(.2,1.2,.4,1) pvp-slide-left}.pvp-setup__trainer strong{font-family:var(--ui-font-display);overflow-wrap:anywhere;font-size:24px}.pvp-setup__trainer small{color:var(--ui-gold-hi)}.pvp-setup__vs-mark{font-family:var(--ui-font-display);color:var(--ui-gold);text-shadow:3px 3px 0 var(--ui-accent), -2px -2px 0 var(--ui-outline);font-size:56px;animation:.9s ease-in-out infinite alternate pvp-vs}.pvp-mini-team{gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.pvp-mini-team li{justify-items:center;display:grid}.pvp-mini-team__sprite{place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.pvp-setup__hint{margin:14px 0 6px;font-weight:800}.pvp-setup__hint--small{font-weight:600;font-size:var(--ui-text-sm);opacity:.85;margin-top:6px}.pvp-setup__team{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.pvp-setup__mon{border:3px solid var(--ui-outline);background:var(--ui-paper);width:100%;color:var(--ui-ink);cursor:pointer;border-radius:14px;justify-items:center;gap:2px;padding:10px 8px;transition:transform .12s;display:grid;position:relative}.pvp-setup__mon[data-lead="1"]{border-color:var(--ui-gold-lo);box-shadow:0 0 0 4px var(--ui-gold);transform:translateY(-3px)}.pvp-setup__lead{border:2px solid var(--ui-outline);background:var(--ui-gold);font-family:var(--ui-font-pixel);border-radius:99px;padding:2px 8px;font-size:9px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.pvp-setup__sprite{place-items:center;width:96px;height:80px;display:grid;overflow:hidden}.pvp-setup__moves{flex-wrap:wrap;justify-content:center;gap:3px;margin-top:4px;display:flex}.pvp-type-chip{border:2px solid var(--ui-outline);background:var(--type,#ccc);color:var(--ui-outline);border-radius:99px;padding:2px 6px;font-size:10px;font-weight:800}.pvp-setup__label{font-family:var(--ui-font-display);letter-spacing:.5px;margin:14px 0 6px;font-size:22px}.pvp-setup__plans{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}.pvp-plan{border:3px solid var(--ui-outline);background:var(--ui-paper);color:var(--ui-ink);cursor:pointer;border-radius:12px;gap:4px;padding:10px;display:grid}.pvp-plan input{opacity:0;pointer-events:none;position:absolute}.pvp-plan strong{font-family:var(--ui-font-display);font-size:20px}.pvp-plan span{font-size:var(--ui-text-sm);line-height:1.3}.pvp-plan[data-on="1"]{background:var(--ui-gold-soft);box-shadow:0 0 0 4px var(--ui-gold)}.pvp-setup__footer{background:linear-gradient(#0000,#12142a 30%);grid-template-columns:1fr minmax(160px,260px);align-items:center;gap:10px;margin-top:12px;padding:10px 0 0;display:grid;position:sticky;bottom:0}.pvp-setup__clock{font-family:var(--ui-font-pixel);color:var(--ui-gold-hi);font-size:12px}.pvp-fight{flex-direction:column;flex:1;width:min(1100px,100%);min-height:0;margin:0 auto;display:flex;position:relative}.pvp-scene{aspect-ratio:16/9;border-bottom:4px solid var(--ui-outline);--shake:4px;background:#79b53e;flex:none;width:100%;max-height:62dvh;margin:0 auto;position:relative;overflow:hidden}.pvp-scene.pvp-shaking{animation:70ms steps(2,end) 4 pvp-shake}.pvp-bg{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.pvp-vfx-canvas{z-index:6;pointer-events:none;image-rendering:pixelated;position:absolute;inset:0}.pvp-sparks{z-index:6;pointer-events:none;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;position:absolute;inset:0}.pvp-trainer{z-index:2;image-rendering:pixelated;transition:transform .6s cubic-bezier(.5,0,.75,0),opacity .6s ease-in;position:absolute}.pvp-trainer canvas{image-rendering:pixelated}.pvp-trainer[data-side=foe]{top:8%;right:4%;transform:translate(0)}.pvp-trainer[data-side=me]{bottom:-2%;left:3%}.pvp-trainer[data-side=foe][data-intro="0"]{opacity:0;transform:translate(160%)}.pvp-trainer[data-side=me][data-intro="0"]{opacity:0;transform:translate(-170%)}.pvp-mon{z-index:3;width:calc(19% * var(--presence-box,1));aspect-ratio:1;pointer-events:none;place-items:end center;display:grid;position:absolute;transform:translate(-50%,-96%)}.pvp-mon[data-side=me]{width:calc(25% * var(--presence-box,1))}.pvp-mon__sprite{z-index:2;transform-origin:50% 100%;place-items:end center;width:100%;height:100%;display:grid;position:relative;overflow:visible}.pvp-mon__sprite img,.pvp-mon__sprite span{image-rendering:pixelated}.pvp-mon__shadow{background:#00000040;border-radius:50%;width:60%;height:10%;position:absolute;bottom:-2%;left:20%}.pvp-mon[data-intro="1"] .pvp-mon__sprite{animation:.7s cubic-bezier(.2,1.4,.4,1) both pvp-sendout}.pvp-mon[data-casting="1"] .pvp-mon__sprite{filter:drop-shadow(0 0 6px var(--cast-color)) drop-shadow(0 0 2px #fff);animation:.26s ease-in-out infinite alternate pvp-charge}.pvp-mon[data-anim=lunge]{z-index:4}.pvp-mon[data-anim=lunge][data-side=me] .pvp-mon__sprite{animation:.42s cubic-bezier(.3,0,.2,1) pvp-lunge-me}.pvp-mon[data-anim=lunge][data-side=foe] .pvp-mon__sprite{animation:.42s cubic-bezier(.3,0,.2,1) pvp-lunge-foe}.pvp-mon[data-anim=hit] .pvp-mon__sprite,.pvp-mon[data-anim=hurt] .pvp-mon__sprite{animation:.46s step-end both pvp-hit}.pvp-mon[data-anim=hit-crit] .pvp-mon__sprite{animation:.46s step-end both pvp-hit-crit}.pvp-mon[data-anim=interrupted] .pvp-mon__sprite{animation:.48s step-end both pvp-interrupted}.pvp-scene[data-hitstop="1"] .pvp-mon__sprite,.pvp-scene[data-hitstop="1"] .pvp-mon__shield,.pvp-scene[data-hitstop="1"] .pvp-callout{animation-play-state:paused!important}.pvp-scene[data-slowmo="1"] .pvp-mon__sprite{animation-duration:1.7s}.pvp-mon[data-anim=recall] .pvp-mon__sprite{animation:.6s ease-in both pvp-recall}.pvp-mon[data-anim=sendout] .pvp-mon__sprite{animation:.7s cubic-bezier(.2,1.4,.4,1) both pvp-sendout}.pvp-mon[data-anim=sendout] .pvp-mon__ball,.pvp-mon[data-intro="1"] .pvp-mon__ball{animation:.7s ease-out both pvp-ball;display:block}.pvp-mon__ball{z-index:4;border:2px solid var(--ui-outline);background:linear-gradient(var(--ui-accent) 0 45%, var(--ui-outline) 45% 55%, #fff 55%);border-radius:50%;width:18px;height:18px;margin-left:-9px;display:none;position:absolute;bottom:30%;left:50%}.pvp-mon[data-fainted="1"] .pvp-mon__sprite,.pvp-mon[data-anim=faint] .pvp-mon__sprite{animation:.9s ease-in both pvp-faint}.pvp-mon[data-anim=ko] .pvp-mon__sprite,.pvp-mon[data-anim=ko][data-fainted="1"] .pvp-mon__sprite{animation:1.7s cubic-bezier(.55,0,.8,.4) both pvp-ko-fall}.pvp-mon[data-anim=ko] .pvp-mon__shadow{animation:1.7s ease-in both pvp-ko-shadow}.pvp-mon__shield{z-index:5;opacity:0;background:radial-gradient(circle,#a0e6ff0d 40%,#78d2ff66);border:3px solid #8cdcfff2;border-radius:50%;transition:opacity .12s,transform .16s cubic-bezier(.2,1.6,.4,1);position:absolute;inset:8% 4% -4%;transform:scale(.6);box-shadow:0 0 18px #78d2ffe6}.pvp-mon[data-protect="1"] .pvp-mon__shield{opacity:1;transform:scale(1)}.pvp-mon[data-anim=block] .pvp-mon__shield{opacity:1;animation:.52s steps(6,end) both pvp-shatter}.pvp-mon__status-fx{z-index:4;pointer-events:none;position:absolute;inset:0}.pvp-mon__status-fx[data-status=paralysis]{mix-blend-mode:screen;background:repeating-linear-gradient(115deg,#0000 0 12px,#ffe53b8c 12px 14px);animation:.22s steps(2,end) infinite pvp-zap}.pvp-mon__status-fx[data-status=burn]{background:radial-gradient(at 50% 100%,#ff7a1a8c,#0000 55%);animation:.3s steps(3,end) infinite pvp-flicker}.pvp-mon__status-fx[data-status=poison]{background:radial-gradient(at 50% 90%,#b25ae080,#0000 55%);animation:.6s steps(3,end) infinite pvp-flicker}.pvp-mon__status-fx[data-status=sleep]:after{content:"Z z";font-family:var(--ui-font-pixel);color:#fff;text-shadow:2px 2px 0 var(--ui-outline);font-size:14px;animation:1.2s ease-in-out infinite pvp-float;position:absolute;top:6%;right:6%}.pvp-mon__status-fx[data-status=confusion]{background:radial-gradient(circle at 50% 15%,#ff5fa899 0 6px,#0000 7px);animation:.7s linear infinite pvp-spin}.pvp-hud{z-index:7;border:3px solid var(--ui-outline);width:min(42%,340px);font-size:var(--ui-text-sm);background:linear-gradient(#fffdf5,#f6e8c6);border-radius:12px 4px;padding:6px 10px 8px;position:absolute;box-shadow:4px 4px #1a1c2c8c}.pvp-hud[data-side=foe]{animation:.42s cubic-bezier(.2,1.2,.4,1) both pvp-slide-right;top:4%;left:2%}.pvp-hud[data-side=me]{animation:.42s cubic-bezier(.2,1.2,.4,1) both pvp-slide-left;bottom:5%;right:2%}.pvp-hud__top{align-items:baseline;gap:6px;display:flex}.pvp-hud__name{min-width:0;font-family:var(--ui-font-display);letter-spacing:.3px;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:20px;overflow:hidden}.pvp-hud__shiny{background:var(--ui-gold);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:12px;height:12px}.pvp-hud__lv{font-family:var(--ui-font-pixel);font-size:10px}.pvp-hud__trainer{color:var(--ui-ink-muted);font-size:var(--ui-text-xs);align-items:center;gap:6px;font-weight:700;display:flex}.pvp-hud__trainer>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pvp-hud__balls{gap:2px;display:inline-flex}.pvp-hud__balls i{border:1px solid var(--ui-outline);background:linear-gradient(var(--ui-accent) 0 45%, var(--ui-outline) 45% 55%, #fff 55%);border-radius:50%;width:9px;height:9px}.pvp-hud__balls i[data-down="1"]{opacity:.6;background:#9a9a9a}.pvp-hud__auto{border:2px solid var(--ui-outline);background:var(--ui-info);color:#fff;font-family:var(--ui-font-pixel);border-radius:6px;margin-left:auto;padding:1px 6px;font-size:8px;animation:1s steps(2,end) infinite pvp-blink}.pvp-hpbar{align-items:center;gap:4px;margin-top:4px;display:flex}.pvp-hpbar__label{background:var(--ui-outline);color:var(--ui-gold);font-family:var(--ui-font-pixel);border-radius:4px;padding:0 4px;font-size:8px;line-height:14px}.pvp-hpbar__track{border:2px solid var(--ui-outline);background:var(--ui-hp-track);border-radius:6px;flex:1;height:12px;position:relative;overflow:hidden}.pvp-hpbar__fill,.pvp-hpbar__lag{height:100%;position:absolute;inset:0 auto 0 0}.pvp-hpbar__fill{z-index:1;background:var(--ui-hp-high);transition:width .11s steps(3,end),background-color .3s;box-shadow:inset 0 -3px #0000002e,inset 0 2px #ffffff59}.pvp-hpbar__lag{background:#fffdf5;transition:width .56s cubic-bezier(.4,0,.6,1) .42s}.pvp-hpbar[data-tone=mid] .pvp-hpbar__fill{background:var(--ui-hp-mid)}.pvp-hpbar[data-tone=low] .pvp-hpbar__fill{background:var(--ui-hp-low);animation:.52s steps(2,end) infinite pvp-hp-low}.pvp-hpbar[data-tone=low] .pvp-hpbar__track{animation:.52s steps(2,end) infinite pvp-hp-low-track}.pvp-hud__numbers{font-family:var(--ui-font-pixel);justify-content:space-between;align-items:center;gap:8px;margin-top:3px;font-size:10px;display:flex}.pvp-hud__statuses{flex-wrap:wrap;gap:3px;margin-top:3px;display:flex}.pvp-status-chip{border:2px solid var(--ui-outline);text-transform:uppercase;color:#fff;background:#6b6b6b;border-radius:6px;padding:1px 6px;font-size:10px;font-weight:900}.pvp-status-chip[data-status=paralysis]{color:var(--ui-outline);background:#c9a400}.pvp-status-chip[data-status=burn]{background:#e0541f}.pvp-status-chip[data-status=poison]{background:#8b3fb0}.pvp-status-chip[data-status=sleep]{background:#5a6b8a}.pvp-status-chip[data-status=confusion]{background:#d43f8a}.pvp-status-chip[data-status=flinch]{background:#6b4f43}.pvp-status-chip[data-status=exposed]{background:#a8321f}.pvp-callouts{z-index:8;pointer-events:none;position:absolute;inset:0}.pvp-pop{width:0;height:0;position:absolute}.pvp-callout{font-family:var(--ui-font-display);letter-spacing:.5px;color:#fff;text-transform:uppercase;text-shadow:2px 2px 0 var(--ui-outline), -2px -2px 0 var(--ui-outline), 2px -2px 0 var(--ui-outline), -2px 2px 0 var(--ui-outline), 0 4px 0 var(--ui-outline);white-space:nowrap;pointer-events:none;padding:0 6px;line-height:1;position:absolute;left:0;transform:translate(-50%)}.pvp-callout[data-kind=number]{font-size:clamp(34px,6vw,60px);animation:.95s cubic-bezier(.2,1.4,.4,1) both pvp-number;bottom:6px}.pvp-callout[data-kind=label]{top:calc(6px + var(--lane,0) * 1.5em);font-size:clamp(16px,2.6vw,26px);animation:.82s ease-out both pvp-label}.pvp-callout[data-tone=damage]{color:#fff}.pvp-callout[data-kind=number][data-tone=crit]{color:var(--ui-gold);font-size:clamp(40px,7.2vw,72px)}.pvp-callout[data-kind=label][data-tone=crit]{color:var(--ui-gold)}.pvp-callout[data-tone=super]{color:#ff6b6b}.pvp-callout[data-tone=weak]{color:#c9d1e3}.pvp-callout[data-tone=perfect]{color:var(--ui-gold-hi);animation-name:pvp-label-pop}.pvp-callout[data-tone=status]{color:#e8b6ff}.pvp-callout[data-tone=block]{color:#9be7ff;font-size:clamp(20px,3.4vw,34px);animation-name:pvp-label-pop}.pvp-callout[data-tone=interrupt]{color:#ff9a3c;font-size:clamp(20px,3.4vw,34px);animation-name:pvp-label-pop}.pvp-callout[data-tone=info]{color:#fff;text-transform:none;font-size:clamp(14px,2.2vw,20px)}.pvp-telegraph{z-index:8;pointer-events:none;justify-items:center;gap:2px;animation:.16s steps(3,end) both pvp-telegraph-in;display:grid;position:absolute;transform:translate(-50%,-50%)}.pvp-pixel-ring{width:78px;height:78px;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 0 6px var(--type))}.pvp-telegraph[data-side=me] .pvp-pixel-ring{width:60px;height:60px}.pvp-telegraph__name{border:3px solid var(--ui-outline);background:var(--type);max-width:160px;color:var(--ui-outline);font-family:var(--ui-font-display);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 3px 0 var(--ui-outline);border-radius:8px;padding:2px 8px;font-size:18px;line-height:1.1;overflow:hidden}.pvp-telegraph__name[data-dark="1"]{color:#fff}.pvp-telegraph[data-side=foe] .pvp-telegraph__name{animation:.26s steps(2,end) infinite pvp-warn}.pvp-telegraph[data-side=me] .pvp-telegraph__name{font-size:14px}.pvp-clock{z-index:8;border:3px solid var(--ui-outline);color:#fff;font-family:var(--ui-font-pixel);background:#1a1c2cd9;border-radius:10px;padding:4px 10px;font-size:12px;position:absolute;top:3%;left:50%;transform:translate(-50%)}.pvp-clock[data-low="1"]{color:var(--ui-accent-hi);animation:.7s steps(2,end) infinite pvp-blink}.pvp-go{z-index:9;font-family:var(--ui-font-display);color:var(--ui-gold);text-shadow:5px 5px 0 var(--ui-accent), -3px -3px 0 var(--ui-outline);pointer-events:none;place-items:center;font-size:clamp(56px,12vw,120px);animation:.4s ease-out infinite pvp-go;display:grid;position:absolute;inset:0}.pvp-banner{z-index:9;border:3px solid var(--ui-outline);background:var(--ui-paper);max-width:90%;font-weight:800;font-size:var(--ui-text-sm);text-align:center;border-radius:10px;padding:6px 12px;position:absolute;top:14%;left:50%;transform:translate(-50%)}.pvp-banner--auto{background:var(--ui-info-soft);top:auto;bottom:30%}.pvp-flash{z-index:10;pointer-events:none;background:var(--flash,#fff);opacity:0;position:absolute;inset:0}.pvp-flash.pvp-flashing{animation:pvp-flash var(--flash-ms,.12s) ease-out}.pvp-controls{min-height:0;padding:10px max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:linear-gradient(#20244a,#12142a);flex-direction:column;flex:auto;gap:8px;display:flex}.pvp-energy{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.pvp-energy__label,.pvp-energy__value{font-family:var(--ui-font-pixel);color:#7cd3ff;text-shadow:2px 2px 0 var(--ui-outline);font-size:12px}.pvp-energy__value{text-align:right;color:#fff;min-width:3ch}.pvp-energy__track{border:3px solid var(--ui-outline);height:20px;box-shadow:0 3px 0 var(--ui-outline);background:#1b2340;border-radius:7px;position:relative;overflow:hidden}.pvp-energy__fill{background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 2px),#0c0e228c calc(10% - 2px) 10%),linear-gradient(#9be7ff 0 30%,#3fa9f5 30% 75%,#2b6fc0 75%);position:absolute;inset:0 auto 0 0}.pvp-energy__cost{width:3px;box-shadow:0 0 0 1px var(--ui-outline);background:#ffcb05;margin-left:-1px;position:absolute;top:0;bottom:0}.pvp-energy__cost[data-ok="0"]{background:#ff6b6b}.pvp-moves{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pvp-move,.pvp-action{border:3px solid var(--ui-outline);background:linear-gradient(170deg, color-mix(in srgb, var(--type,#888) 70%, #fff), var(--type,#888));min-height:64px;color:var(--ui-outline);text-align:left;cursor:pointer;box-shadow:0 5px 0 var(--ui-outline);touch-action:none;-webkit-touch-callout:none;border-radius:14px;align-content:center;gap:2px;padding:6px 10px 6px 30px;transition:transform 70ms,box-shadow 70ms,filter .12s;display:grid;position:relative;overflow:hidden}.pvp-move[data-pressed="1"],.pvp-action[data-pressed="1"],.pvp-move[data-held="1"],.pvp-action[data-held="1"],.pvp-move:active,.pvp-action:active{box-shadow:0 1px 0 var(--ui-outline);transform:translateY(4px)}.pvp-move[data-block=casting],.pvp-move[data-block=busy]{filter:saturate(.5)brightness(.82)}.pvp-move[data-block=gcd]{filter:brightness(.92)}.pvp-move[data-block=energy] .pvp-move__cost{color:#fff;background:var(--ui-danger);border-radius:4px;padding:0 3px}.pvp-move[data-pulse="1"],.pvp-action[data-pulse="1"]{animation:.48s steps(6,end) both pvp-ready}.pvp-move>:not(.pvp-move__cd):not(.pvp-move__key):not(.pvp-move__left):not(.pvp-press-note),.pvp-action>:not(.pvp-move__cd):not(.pvp-move__key):not(.pvp-press-note){z-index:1;position:relative}.pvp-move__key{z-index:2}.pvp-move__left{border:2px solid var(--ui-outline);color:var(--ui-outline);font-family:var(--ui-font-pixel);background:#fff;border-radius:5px;padding:1px 5px;font-size:10px;bottom:6px;right:6px;position:absolute!important}.pvp-move[data-perfect="1"]{box-shadow:0 5px 0 var(--ui-outline), 0 0 0 3px var(--ui-gold), 0 0 18px var(--ui-gold);animation:.3s ease-out pvp-perfect}.pvp-move[data-dark="1"]{color:#fff}.pvp-move[data-dark="1"] .pvp-move__type{color:var(--ui-outline);background:#fff}.pvp-move__key{border:2px solid var(--ui-outline);min-width:18px;font-family:var(--ui-font-pixel);text-align:center;background:#ffffffd9;border-radius:5px;padding:2px 3px;font-size:8px;position:absolute;top:6px;left:6px}.pvp-move__name{font-family:var(--ui-font-display);letter-spacing:.3px;text-overflow:ellipsis;white-space:nowrap;font-size:22px;line-height:1;overflow:hidden}.pvp-move__meta{flex-wrap:wrap;gap:4px 8px;font-size:10px;font-weight:900;display:flex}.pvp-move__type{background:var(--ui-outline);color:#fff;border-radius:4px;padding:0 4px}.pvp-move__inflicts{font-size:10px;font-weight:800}.pvp-move__cd{z-index:0;height:calc((1 - var(--cd,1)) * 100%);pointer-events:none;background:repeating-linear-gradient(0deg,#0c0e22c7 0 3px,#0c0e22b3 3px 6px);position:absolute;inset:0 0 auto;box-shadow:0 3px #ffffffe6}.pvp-actions{grid-template-columns:1.2fr 1.2fr .8fr;gap:8px;display:grid}.pvp-action{min-height:52px;font-family:var(--ui-font-display);padding-left:34px;font-size:20px}.pvp-action--protect{--type:#7cd3ff}.pvp-action--switch{--type:#ffcb05}.pvp-action--forfeit{--type:#c9c2b0;text-align:center;padding-left:10px;font-size:16px}.pvp-action--forfeit[data-armed="1"]{--type:#f08a70;animation:.3s steps(2,end) infinite pvp-warn}.pvp-action[data-ready="0"] .pvp-action__label{opacity:.85}.pvp-keys{text-align:center;font-size:var(--ui-text-xs);color:#ffffff8c;margin:0}.pvp-picker{border:3px solid var(--ui-outline);background:var(--ui-paper);border-radius:14px;padding:8px;animation:.16s ease-out pvp-fade-in}.pvp-picker[data-must="1"]{box-shadow:0 0 0 3px var(--ui-accent)}.pvp-picker p{margin:0 0 6px;font-weight:900}.pvp-picker__row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.pvp-picker__mon{border:3px solid var(--ui-outline);background:var(--ui-paper-raised);text-align:left;cursor:pointer;border-radius:10px;gap:2px;min-height:56px;padding:6px 6px 6px 26px;display:grid;position:relative}.pvp-picker__mon:disabled{opacity:.45;cursor:not-allowed}.pvp-picker__mon strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pvp-picker__key{font-family:var(--ui-font-pixel);font-size:9px;position:absolute;top:6px;left:5px}.pvp-picker__hp{border:1px solid var(--ui-outline);background:var(--ui-hp-track);border-radius:4px;height:6px;overflow:hidden}.pvp-picker__hp>span{background:var(--ui-hp-high);height:100%;display:block}.pvp-picker__hp[data-tone=mid]>span{background:var(--ui-hp-mid)}.pvp-picker__hp[data-tone=low]>span{background:var(--ui-hp-low)}.pvp-result{z-index:20;background:#0a0c1eb8;place-items:center;padding:16px;animation:.3s ease-out pvp-fade-in;display:grid;position:absolute;inset:0}.pvp-result__card{border:4px solid var(--ui-outline);background:var(--ui-paper);width:min(460px,100%);max-height:calc(100dvh - 32px);box-shadow:0 0 0 4px var(--ui-gold), 0 20px 50px #00000080;text-align:center;border-radius:18px;justify-items:center;gap:6px;padding:18px;animation:.52s cubic-bezier(.2,1.4,.4,1) pvp-invite-in;display:grid;overflow:auto}.pvp-result[data-won="0"] .pvp-result__card{box-shadow:0 0 0 4px var(--ui-line-strong), 0 20px 50px #00000080}.pvp-result__emblem{image-rendering:pixelated;animation:1.4s ease-in-out infinite alternate pvp-trophy}.pvp-result h2{font-family:var(--ui-font-display);letter-spacing:1px;color:var(--ui-gold-lo);text-shadow:3px 3px 0 var(--ui-gold);margin:0;font-size:48px}.pvp-result[data-won="0"] h2{color:var(--ui-ink-muted);text-shadow:3px 3px 0 var(--ui-line)}.pvp-result__reason,.pvp-result__note{font-size:var(--ui-text-sm);color:var(--ui-ink-muted);margin:0}.pvp-result__rating{color:var(--ui-ink);font-family:var(--ui-font-pixel);align-items:center;gap:8px;margin:4px 0;font-size:11px;display:flex}.pvp-result__rating strong{background:var(--ui-ok);color:#fff;border-radius:6px;padding:2px 6px}.pvp-result__rating[data-delta=down] strong{background:var(--ui-danger)}.pvp-result__fair{text-align:left;width:100%;font-size:var(--ui-text-xs)}.pvp-result__fair summary{cursor:pointer;font-weight:800}.pvp-result__fair dd{font-family:var(--ui-font-mono);overflow-wrap:anywhere;margin:0 0 4px}.pvp-ok{color:var(--ui-ok)}.pvp-result__actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:6px;display:grid}.pvp-stamp{z-index:11;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.pvp-stamp span{font-family:var(--ui-font-display);color:var(--ui-gold);letter-spacing:4px;text-shadow:6px 6px 0 var(--ui-accent), -4px -4px 0 var(--ui-outline), 4px -4px 0 var(--ui-outline), -4px 4px 0 var(--ui-outline), 0 10px 0 var(--ui-outline);font-size:clamp(96px,22vw,220px);line-height:1;animation:1.7s cubic-bezier(.2,1.6,.4,1) both pvp-stamp}.pvp-stamp[data-kind=time] span{color:#fff;font-size:clamp(72px,16vw,160px)}.pvp-vs{z-index:30;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));cursor:pointer;background:#12142a;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;animation:2.6s step-end both pvp-vs-out;display:grid;position:absolute;inset:0;overflow:hidden}.pvp-vs__band{z-index:0;image-rendering:pixelated;position:absolute;inset:-20% -10%}.pvp-vs__band[data-side=me]{clip-path:polygon(0 0,58% 0,42% 100%,0 100%);background:repeating-linear-gradient(90deg,#ffffff0f 0 4px,#0000 4px 8px),linear-gradient(#3f86d8,#1f4f9a);animation:.36s steps(6,end) both pvp-vs-band-me}.pvp-vs__band[data-side=foe]{clip-path:polygon(58% 0,100% 0,100% 100%,42% 100%);background:repeating-linear-gradient(90deg,#ffffff0f 0 4px,#0000 4px 8px),linear-gradient(#e0543a,#8e0a0a);animation:.36s steps(6,end) both pvp-vs-band-foe}.pvp-vs__side{z-index:1;color:#fff;text-align:center;justify-items:center;gap:6px;display:grid;position:relative}.pvp-vs__side[data-side=me]{animation:.42s steps(6,end) .12s both pvp-vs-in-left}.pvp-vs__side[data-side=foe]{animation:.42s steps(6,end) .12s both pvp-vs-in-right}.pvp-vs__doll{image-rendering:pixelated;filter:drop-shadow(4px 4px #1a1c2ca6)}.pvp-vs__name{font-family:var(--ui-font-display);text-shadow:3px 3px 0 var(--ui-outline);overflow-wrap:anywhere;font-size:clamp(24px,4vw,44px)}.pvp-vs__team{gap:4px;margin:0;padding:0;list-style:none;display:flex}.pvp-vs__team li{font-family:var(--ui-font-pixel);justify-items:center;font-size:9px;display:grid}.pvp-vs__mon{border:3px solid var(--ui-outline);background:#ffffff2e;border-radius:10px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.pvp-vs__mark{z-index:2;font-family:var(--ui-font-display);color:var(--ui-gold);text-shadow:6px 6px 0 var(--ui-accent), -4px -4px 0 var(--ui-outline), 4px -4px 0 var(--ui-outline), -4px 4px 0 var(--ui-outline);font-size:clamp(72px,13vw,150px);animation:.52s cubic-bezier(.2,1.8,.4,1) .36s both pvp-vs-slam;position:relative}.pvp-rank-badge{image-rendering:pixelated;filter:drop-shadow(2px 2px #1a1c2c80);flex:none}.pvp-rank{text-align:left;align-items:center;gap:8px;display:flex}.pvp-rank__text{gap:3px;width:120px;min-width:0;max-width:100%;display:grid}.pvp-rank{max-width:100%}.pvp-rank__text strong{font-family:var(--ui-font-display);font-size:20px;line-height:1}.pvp-rank[data-compact="1"] .pvp-rank__text strong{font-size:16px}.pvp-rank__rating{font-family:var(--ui-font-pixel);opacity:.85;font-size:10px}.pvp-rank__text small{font-size:var(--ui-text-xs);opacity:.8;font-weight:800}.pvp-rank__bar{border:2px solid var(--ui-outline);background:#2a2d4a;border-radius:4px;height:8px;display:block;overflow:hidden}.pvp-rank__bar>span{background:repeating-linear-gradient(90deg, var(--rank-color,#ffcb05) 0 6px, var(--rank-shade,#e0a800) 6px 8px);height:100%;display:block}.pvp-rank[data-tier=bronze]{--rank-color:#c8763a;--rank-shade:#a35d28}.pvp-rank[data-tier=silver]{--rank-color:#c9d1e3;--rank-shade:#a3adc4}.pvp-rank[data-tier=gold]{--rank-color:#ffcb05;--rank-shade:#e0a800}.pvp-rank[data-tier=platinum]{--rank-color:#5fd6c8;--rank-shade:#3fb3a6}.pvp-rank[data-tier=master]{--rank-color:#b45cff;--rank-shade:#8f3fe0}.pvp-streak{border:2px solid var(--ui-outline);color:var(--ui-outline);font-family:var(--ui-font-display);background:#fff1d6;border-radius:8px;align-items:center;gap:4px;padding:2px 8px;font-size:16px;line-height:1.2;display:inline-flex}.pvp-streak svg{image-rendering:pixelated}.pvp-streak--big{margin:2px 0;font-size:22px}.pvp-result__rank{border:3px solid var(--ui-outline);background:var(--ui-paper-raised);border-radius:12px;justify-items:center;gap:4px;width:100%;padding:8px;display:grid}.pvp-result__promoted{border:2px solid var(--ui-outline);background:var(--ui-gold);font-family:var(--ui-font-display);border-radius:8px;margin:0;padding:2px 10px;font-size:20px;animation:.9s ease-out both pvp-label-pop}.pvp-highlights{width:100%}.pvp-highlights h3{font-family:var(--ui-font-display);margin:4px 0;font-size:18px}.pvp-highlights dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;display:grid}.pvp-highlights dl>div{border:3px solid var(--ui-outline);box-shadow:0 3px 0 var(--ui-outline);background:#fff;border-radius:10px;align-content:start;gap:2px;padding:6px 4px;display:grid}.pvp-highlights dt{text-transform:uppercase;color:var(--ui-ink-muted);font-size:10px;font-weight:900}.pvp-highlights dd{margin:0;display:grid}.pvp-highlights dd strong{font-family:var(--ui-font-display);font-size:28px;line-height:1}.pvp-highlights dd small{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.pvp-highlights div[data-k=hit] strong{color:var(--ui-accent)}.pvp-highlights div[data-k=perfect] strong{color:var(--ui-gold-lo)}.pvp-highlights div[data-k=block] strong{color:#2f86b8}.pvp-highlights div[data-k=interrupt] strong{color:#d0641a}.pvp-result__share{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.pvp-btn--x{color:#fff;background:#1a1c2c;place-items:center;min-width:160px;text-decoration:none;display:inline-grid}@media (max-width:640px){.pvp-invite__head{grid-template-columns:auto 1fr}.pvp-invite__clock{grid-column:1/-1;justify-self:center}.pvp-invite__portrait{width:92px;height:92px}.pvp-invite__who h2{font-size:22px}.pvp-scene{aspect-ratio:auto;flex:auto;height:auto;min-height:0;max-height:none}.pvp-controls{flex:none;justify-content:flex-end;gap:6px;padding-top:8px}.pvp-pixel-ring{width:64px;height:64px}.pvp-telegraph[data-side=me] .pvp-pixel-ring{width:48px;height:48px}.pvp-telegraph__name{font-size:14px}.pvp-vs{grid-template-rows:1fr auto 1fr;grid-template-columns:1fr;gap:2px}.pvp-vs__band[data-side=me]{clip-path:polygon(0 0,100% 0,100% 42%,0 58%)}.pvp-vs__band[data-side=foe]{clip-path:polygon(0 58%,100% 42%,100% 100%,0 100%)}.pvp-vs__mark{font-size:72px}.pvp-vs__mon{width:44px;height:44px}.pvp-highlights dl{grid-template-columns:repeat(2,minmax(0,1fr))}.pvp-clock{top:1.5%;left:auto;right:2%;transform:none}.pvp-hud[data-side=foe]{width:52%;top:2%;left:2%}.pvp-hud[data-side=me]{width:56%}.pvp-hud{width:50%;padding:4px 6px 6px}.pvp-hud__name{font-size:16px}.pvp-mon{width:calc(27% * var(--presence-box,1))}.pvp-mon[data-side=me]{width:calc(42% * var(--presence-box,1))}.pvp-trainer canvas{transform-origin:0 100%;transform:scale(.75)}.pvp-move{min-height:66px}.pvp-move__name{font-size:19px}.pvp-keys{display:none}.pvp-setup__vs-mark{font-size:36px}.pvp-setup__team{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pvp-setup__sprite{width:72px;height:64px}.pvp-setup__moves{display:none}}@media (max-height:520px) and (orientation:landscape){.pvp-fight{flex-direction:row;width:100%}.pvp-scene{aspect-ratio:auto;border-bottom:0;border-right:4px solid var(--ui-outline);flex:auto;height:100%;max-height:none}.pvp-controls{padding-top:max(8px, env(safe-area-inset-top));flex:0 0 min(46%,420px);justify-content:flex-end;gap:5px;overflow:hidden}.pvp-move{min-height:54px;padding-top:4px;padding-bottom:4px}.pvp-move__name{font-size:17px}.pvp-move__inflicts,.pvp-keys{display:none}.pvp-action{min-height:42px;font-size:16px}.pvp-vs{grid-template-rows:none;grid-template-columns:1fr auto 1fr}}@media (prefers-reduced-motion:reduce){.pvp-root *,.pvp-invite,.pvp-waiting{animation-duration:1ms!important;animation-iteration-count:1!important}.pvp-scene.pvp-shaking{animation:80ms step-end pvp-shake!important}.pvp-flash.pvp-flashing{animation:.16s ease-out pvp-flash-soft!important}.pvp-vs{animation:2.6s step-end both pvp-vs-out!important}}@keyframes pvp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pvp-invite-in{0%{opacity:0;transform:scale(.6)translateY(30px)}to{opacity:1;transform:none}}@keyframes pvp-drop-in{0%{opacity:0;transform:translate(-50%,-30px)}to{opacity:1;transform:translate(-50%)}}@keyframes pvp-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.15)}}@keyframes pvp-spin{to{transform:rotate(360deg)}}@keyframes pvp-slide-right{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:none}}@keyframes pvp-slide-left{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:none}}@keyframes pvp-vs{0%{transform:scale(1)rotate(-4deg)}to{transform:scale(1.12)rotate(4deg)}}@keyframes pvp-shake{0%{transform:translate(var(--shake), calc(var(--shake) * -.5))}to{transform:translate(calc(var(--shake) * -1), calc(var(--shake) * .5))}}@keyframes pvp-charge{0%{transform:translateY(0)scale(1)}to{transform:translateY(-2%)scale(1.03)}}@keyframes pvp-lunge-me{0%{transform:none}22%{transform:translate(-6%,4%)scale(.98)}48%{transform:translate(34%,-24%)scale(1.08)}64%{transform:translate(30%,-21%)scale(1.06)}to{transform:none}}@keyframes pvp-lunge-foe{0%{transform:none}22%{transform:translate(6%,-4%)scale(.98)}48%{transform:translate(-34%,24%)scale(1.08)}64%{transform:translate(-30%,21%)scale(1.06)}to{transform:none}}@keyframes pvp-hit{0%{filter:brightness(0)invert();transform:translate(0)}14%{filter:brightness(0)invert();transform:translate(-7%)}28%{filter:none;transform:translate(6%)}42%{filter:brightness(0)invert();transform:translate(-4%)}56%{filter:none;transform:translate(3%)}72%{filter:none;opacity:.7;transform:translate(-1%)}86%{opacity:1}to{filter:none;transform:none}}@keyframes pvp-hit-crit{0%{filter:brightness(0)invert();transform:translate(0)scale(1.06)}18%{filter:brightness(0)invert();transform:translate(-12%)scale(.96)}32%{filter:none;transform:translate(9%)}46%{filter:brightness(0)invert();transform:translate(-6%)}60%{filter:none;transform:translate(4%)}74%{filter:brightness(0)invert();transform:translate(-2%)}88%{filter:none;transform:none}to{filter:none;transform:none}}@keyframes pvp-interrupted{0%{filter:brightness(0)invert();transform:translateY(-4%)rotate(-4deg)}20%{filter:grayscale()brightness(1.4);transform:translateY(0)rotate(4deg)}45%{filter:grayscale();transform:rotate(-3deg)}70%{filter:none;transform:rotate(2deg)}to{filter:none;transform:none}}@keyframes pvp-ko-fall{0%{filter:brightness(0)invert();opacity:1;transform:none}10%{filter:none;transform:translateY(-6%)rotate(-6deg)}28%{transform:translateY(-10%)rotate(-14deg)}60%{opacity:1;filter:brightness(.75);transform:translateY(18%)rotate(-62deg)scaleY(.85)}80%{opacity:.85;transform:translateY(30%)rotate(-84deg)scaleY(.7)}to{opacity:0;filter:brightness(.5);transform:translateY(36%)rotate(-90deg)scaleY(.6)}}@keyframes pvp-ko-shadow{0%{opacity:1;transform:scaleX(1)}70%{opacity:1;transform:scaleX(1.25)}to{opacity:0;transform:scaleX(.6)}}@keyframes pvp-hp-low{0%{background:var(--ui-hp-low)}to{background:#ff8a8a}}@keyframes pvp-hp-low-track{0%{box-shadow:0 0 #ff3c3c00}to{box-shadow:0 0 0 3px #ff3c3cd9}}@keyframes pvp-number{0%{opacity:0;transform:translate(-50%,18px)scale(.4)}12%{opacity:1;transform:translate(-50%,-6px)scale(1.35)}24%{transform:translate(-50%)scale(1)}78%{opacity:1;transform:translate(-50%,-6px)scale(1)}to{opacity:0;transform:translate(-50%,-30px)scale(.92)}}@keyframes pvp-label{0%{opacity:0;transform:translate(-50%,8px)scale(.7)}14%{opacity:1;transform:translate(-50%)scale(1.1)}26%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)}}@keyframes pvp-label-pop{0%{opacity:0;transform:translate(-50%)scale(.3)rotate(-8deg)}16%{opacity:1;transform:translate(-50%)scale(1.35)rotate(4deg)}30%{transform:translate(-50%)scale(1)rotate(0)}82%{opacity:1}to{opacity:0;transform:translate(-50%,-12px)}}@keyframes pvp-telegraph-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes pvp-ready{0%{filter:brightness();transform:scale(1)}30%{filter:brightness(1.45);box-shadow:0 5px 0 var(--ui-outline), 0 0 0 4px var(--ui-gold), 0 0 22px var(--ui-gold);transform:scale(1.05)}to{filter:brightness();transform:scale(1)}}@keyframes pvp-stamp{0%{opacity:0;transform:scale(3.2)rotate(-12deg)}14%{opacity:1;transform:scale(.92)rotate(-4deg)}22%{transform:scale(1.06)rotate(-6deg)}30%{transform:scale(1)rotate(-5deg)}86%{opacity:1;transform:scale(1)rotate(-5deg)}to{opacity:0;transform:scale(1.1)rotate(-5deg)}}@keyframes pvp-vs-out{0%,92%{opacity:1}to{opacity:0}}@keyframes pvp-vs-band-me{0%{transform:translate(-100%)}to{transform:none}}@keyframes pvp-vs-band-foe{0%{transform:translate(100%)}to{transform:none}}@keyframes pvp-vs-in-left{0%{opacity:0;transform:translate(-120%)}to{opacity:1;transform:none}}@keyframes pvp-vs-in-right{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:none}}@keyframes pvp-vs-slam{0%{opacity:0;transform:scale(4)rotate(-10deg)}40%{opacity:1;transform:scale(.9)rotate(4deg)}60%{transform:scale(1.1)rotate(-2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes pvp-flash-soft{0%{opacity:.25}to{opacity:0}}@keyframes pvp-recall{0%{filter:none;transform:scale(1)}40%{filter:brightness(.6)sepia()saturate(6)hue-rotate(-30deg)}to{filter:brightness(.6)sepia()saturate(6)hue-rotate(-30deg);opacity:0;transform:scale(.05)translateY(40%)}}@keyframes pvp-sendout{0%{filter:brightness(10);opacity:0;transform:scale(.05)}45%{filter:brightness(4);opacity:1;transform:scale(1.15)}70%{filter:brightness(1.4);transform:scale(.95)}to{filter:none;transform:scale(1)}}@keyframes pvp-ball{0%{opacity:1;transform:translate(-260%,220%)rotate(0)}55%{opacity:1;transform:translateY(-140%)rotate(540deg)}70%{opacity:1;filter:brightness(3);transform:translate(0)scale(1.6)}to{opacity:0;transform:translate(0)scale(2.6)}}@keyframes pvp-faint{0%{opacity:1;filter:brightness(2.5);transform:none}25%{filter:none}to{opacity:0;transform:translateY(35%)scaleY(.5)}}@keyframes pvp-shatter{0%{opacity:1;filter:brightness(2);transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes pvp-zap{0%{opacity:.2}to{opacity:1}}@keyframes pvp-flicker{0%{opacity:.45}50%{opacity:1}to{opacity:.6}}@keyframes pvp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pvp-blink{0%{opacity:1}to{opacity:.35}}@keyframes pvp-warn{0%{filter:none}to{filter:brightness(1.35)}}@keyframes pvp-callout{0%{opacity:0;transform:translate(-50%,10px)scale(.6)}12%{opacity:1;transform:translate(-50%)scale(1.15)}25%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-34px)scale(1)}}@keyframes pvp-callout-pop{0%{opacity:0;transform:translate(-50%)scale(.3)rotate(-8deg)}15%{opacity:1;transform:translate(-50%)scale(1.4)rotate(4deg)}30%{transform:translate(-50%)scale(1)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-30px)}}@keyframes pvp-go{0%{opacity:.4;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes pvp-flash{0%{opacity:.85}to{opacity:0}}@keyframes pvp-perfect{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes pvp-trophy{0%{transform:translateY(0)rotate(-3deg)}to{transform:translateY(-6px)rotate(3deg)}}.pvp-toast{z-index:2147482995;left:50%;bottom:max(16px, env(safe-area-inset-bottom));border:3px solid var(--ui-outline);background:var(--ui-danger-soft);max-width:min(460px,100vw - 24px);color:var(--ui-ink);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-weight:800;animation:.16s ease-out pvp-fade-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 20px #00000059}
