.rail-drag-viewport{z-index:1000;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.rail-drag-layer{pointer-events:none;transition:transform var(--rail-drag-move-duration) cubic-bezier(.2, .8, .2, 1);will-change:transform;position:absolute;top:0;left:0}.rail-drag-layer__content{filter:drop-shadow(0 12px 10px #0000007a);transition:transform var(--rail-drag-settle-duration) ease-out, filter var(--rail-drag-settle-duration) ease-out;will-change:transform;animation:.1s ease-out both rail-drag-lift;transform:translateY(-10px)scale(1.08)}.rail-drag-layer[data-phase=settling] .rail-drag-layer__content{filter:drop-shadow(0 2px 2px #0000002e);animation:none;transform:translateY(0)scale(1)}.rail-drag-layer[data-phase=returning] .rail-drag-layer__content{animation:none}@keyframes rail-drag-lift{0%{filter:drop-shadow(0 2px 2px #0000002e);transform:translateY(0)scale(1)}to{filter:drop-shadow(0 12px 10px #0000007a);transform:translateY(-10px)scale(1.08)}}@media (prefers-reduced-motion:reduce){.rail-drag-layer,.rail-drag-layer__content{transition:none;animation:none}.rail-drag-layer__content,.rail-drag-layer[data-phase=settling] .rail-drag-layer__content{transform:none}}.pixel-contour{place-items:center;line-height:0;display:inline-grid;position:relative}.pixel-contour__definitions{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.pixel-contour__content{display:block}.pixel-contour--always .pixel-contour__content,.pixel-contour--hover:hover .pixel-contour__content,.pixel-contour--hover:focus-within .pixel-contour__content{filter:var(--pixel-contour-filter)}.battlefield{grid-template-rows:repeat(12,minmax(0,1fr));grid-template-columns:repeat(12,minmax(0,1fr));width:100%;height:100%;display:grid;position:relative;overflow:hidden}.battlefield__team{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-width:0;min-height:0;display:grid}.battlefield__palette-definitions{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.battlefield__team--enemy{grid-area:2/6/span 4/span 6}.battlefield__team--player{grid-area:8/2/span 4/span 6}.battlefield__slot{place-items:center;min-width:0;min-height:0;display:grid;position:relative}.battlefield__slot[data-formation-row=front]{z-index:1}.battlefield__drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;display:block}.battlefield-sprite{place-items:center;line-height:0;display:grid;position:relative}.battlefield-sprite__shadow,.battlefield-sprite__foreground{grid-area:1/1}.battlefield-sprite__shadow{z-index:0;opacity:.3;filter:brightness(0);pointer-events:none;transform:translate(10px,10px)}.battlefield-sprite__foreground{z-index:1;position:relative}.battlefield-sprite[data-sprite-palette] .battlefield-sprite__foreground .pokemon-icon-sprite{filter:var(--battlefield-sprite-palette-filter)}.battlefield__slot[data-drag-source=true] .battlefield__drag-handle,.battlefield__slot[data-drag-target=true] .battlefield__drag-handle{opacity:0}.battlefield__team--player .battlefield-sprite .pokemon-icon-sprite{transform:scaleX(-1)}.rail-drag-viewport.battlefield-drag-viewport{z-index:1001}.rail-drag-layer__content.battlefield-drag-layer{transform:translateY(var(--battlefield-drag-lift)) scale(var(--battlefield-drag-scale));filter:none;animation:.1s ease-out both battlefield-drag-lift}.rail-drag-layer[data-phase=settling] .rail-drag-layer__content.battlefield-drag-layer{transform:scale(var(--battlefield-drag-scale));filter:none;animation:none}.rail-drag-layer[data-phase=returning] .rail-drag-layer__content.battlefield-drag-layer{transform:translateY(var(--battlefield-drag-lift)) scale(var(--battlefield-drag-scale));filter:none;animation:none}.rail-drag-layer__content.battlefield-swap-layer{opacity:0;transform:scale(var(--battlefield-drag-scale));filter:none;transition:none;animation:none}.rail-drag-layer[data-phase=settling] .rail-drag-layer__content.battlefield-swap-layer{opacity:1;transform:scale(var(--battlefield-drag-scale));filter:none}.battlefield-drag-sprite .pokemon-icon-sprite__frame{animation-play-state:paused}.battlefield-drag-sprite--player .battlefield-sprite .pokemon-icon-sprite{transform:scaleX(-1)}@keyframes battlefield-drag-lift{0%{transform:scale(var(--battlefield-drag-scale))}to{transform:translateY(var(--battlefield-drag-lift)) scale(var(--battlefield-drag-scale))}}@media (prefers-reduced-motion:reduce){.rail-drag-layer__content.battlefield-drag-layer,.rail-drag-layer[data-phase=settling] .rail-drag-layer__content.battlefield-drag-layer{transform:translateY(var(--battlefield-drag-lift)) scale(var(--battlefield-drag-scale))}}@font-face{font-family:F77 Minecraft;src:url(/assets/F77MinecraftRegular-C8Ml8SPG.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--ui-font-family:"F77 Minecraft", ui-sans-serif, system-ui, sans-serif;--ui-font-size-min:30px;--ui-font-size-label:30px;--ui-font-size-body:40px;--ui-font-size-control:40px;--ui-font-size-heading:56px;--ui-font-size-display:76px;--ui-line-height-compact:1.1;--ui-line-height-body:1.4;--ui-font-strong-offset:2px;--ui-font-italic-angle:-10deg;--ui-touch-target-min:150px;--ui-button-height-primary:180px;--ui-control-gap:32px;--ui-control-padding-block:28px;--ui-control-padding-inline:32px;--ui-panel-padding:60px;--ui-pixel-frame-unit:6px}.game-view-panel,.game-ui-panel,.modal-surface{font-family:var(--ui-font-family);font-size:var(--ui-font-size-body);line-height:var(--ui-line-height-body)}.ui-panel-content{padding:var(--ui-panel-padding)}.ui-type{font-family:var(--ui-font-family);font-size:max(var(--ui-font-size-min), var(--ui-font-size,var(--ui-font-size-body)))}.ui-type--label{--ui-font-size:var(--ui-font-size-label);line-height:var(--ui-line-height-compact)}.ui-type--body{--ui-font-size:var(--ui-font-size-body);line-height:var(--ui-line-height-body)}.ui-type--heading{--ui-font-size:var(--ui-font-size-heading);line-height:var(--ui-line-height-compact)}.ui-type--display{--ui-font-size:var(--ui-font-size-display);line-height:var(--ui-line-height-compact)}.ui-type--strong,.game-view-panel strong,.game-ui-panel strong,.modal-surface strong{text-shadow:var(--ui-font-strong-offset) 0 0 currentColor;font-weight:400}.ui-type--italic,.game-view-panel em,.game-ui-panel em,.modal-surface em{transform:skewX(var(--ui-font-italic-angle));transform-origin:bottom;font-style:normal;display:inline-block}.ui-button,.game-view-panel button,.game-ui-panel button,.modal-surface button{min-inline-size:var(--ui-touch-target-min);min-block-size:var(--ui-touch-target-min);padding:var(--ui-control-padding-block) var(--ui-control-padding-inline);font-family:var(--ui-font-family);font-size:max(var(--ui-font-size-min), var(--ui-font-size-control));line-height:var(--ui-line-height-compact)}.ui-button--primary{min-block-size:var(--ui-button-height-primary)}.ui-button-group{align-items:center;gap:var(--ui-control-gap);flex-wrap:wrap;display:flex}.pixel-frame{--pixel-frame-size:var(--ui-pixel-frame-unit);--pixel-frame-corner:calc(var(--pixel-frame-size) + var(--pixel-frame-size));--pixel-frame-color:currentColor;clip-path:polygon(0 var(--pixel-frame-corner), var(--pixel-frame-size) var(--pixel-frame-corner), var(--pixel-frame-size) var(--pixel-frame-size), var(--pixel-frame-corner) var(--pixel-frame-size), var(--pixel-frame-corner) 0, calc(100% - var(--pixel-frame-corner)) 0, calc(100% - var(--pixel-frame-corner)) var(--pixel-frame-size), calc(100% - var(--pixel-frame-size)) var(--pixel-frame-size), calc(100% - var(--pixel-frame-size)) var(--pixel-frame-corner), 100% var(--pixel-frame-corner), 100% calc(100% - var(--pixel-frame-corner)), calc(100% - var(--pixel-frame-size)) calc(100% - var(--pixel-frame-corner)), calc(100% - var(--pixel-frame-size)) calc(100% - var(--pixel-frame-size)), calc(100% - var(--pixel-frame-corner)) calc(100% - var(--pixel-frame-size)), calc(100% - var(--pixel-frame-corner)) 100%, var(--pixel-frame-corner) 100%, var(--pixel-frame-corner) calc(100% - var(--pixel-frame-size)), var(--pixel-frame-size) calc(100% - var(--pixel-frame-size)), var(--pixel-frame-size) calc(100% - var(--pixel-frame-corner)), 0 calc(100% - var(--pixel-frame-corner)));border:0;border-radius:0;position:relative}.pixel-frame:after{background:linear-gradient(var(--pixel-frame-color) 0 0) top center / calc(100% - var(--pixel-frame-corner) - var(--pixel-frame-corner)) var(--pixel-frame-size) no-repeat, linear-gradient(var(--pixel-frame-color) 0 0) bottom center / calc(100% - var(--pixel-frame-corner) - var(--pixel-frame-corner)) var(--pixel-frame-size) no-repeat, linear-gradient(var(--pixel-frame-color) 0 0) left center / var(--pixel-frame-size) calc(100% - var(--pixel-frame-corner) - var(--pixel-frame-corner)) no-repeat, linear-gradient(var(--pixel-frame-color) 0 0) right center / var(--pixel-frame-size) calc(100% - var(--pixel-frame-corner) - var(--pixel-frame-corner)) no-repeat, linear-gradient(var(--pixel-frame-color) 0 0) left var(--pixel-frame-size) top var(--pixel-frame-size) / var(--pixel-frame-size) var(--pixel-frame-size) no-repeat, linear-gradient(var(--pixel-frame-color) 0 0) right var(--pixel-frame-size) top var(--pixel-frame-size) / var(--pixel-frame-size) var(--pixel-frame-size) no-repeat, linear-gradient(var(--pixel-frame-color) 0 0) right var(--pixel-frame-size) bottom var(--pixel-frame-size) / var(--pixel-frame-size) var(--pixel-frame-size) no-repeat, linear-gradient(var(--pixel-frame-color) 0 0) left var(--pixel-frame-size) bottom var(--pixel-frame-size) / var(--pixel-frame-size) var(--pixel-frame-size) no-repeat;content:"";pointer-events:none;position:absolute;inset:0}:root{font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}.app-viewport{isolation:isolate;position:fixed;overflow:hidden}.virtual-stage{transform-origin:0 0;display:flex;position:absolute}.virtual-stage[data-layout=landscape]{flex-direction:row}.virtual-stage[data-layout=portrait]{flex-direction:column}.virtual-panel{flex:0 0 var(--panel-size);width:var(--panel-size);height:var(--panel-size);position:relative;overflow:hidden}.pokemon-icon-sprite{width:var(--pokemon-icon-frame-width);height:var(--pokemon-icon-frame-height);display:block;position:relative;overflow:hidden}.pokemon-icon-sprite__frame{width:var(--pokemon-icon-sheet-width);max-width:none;height:var(--pokemon-icon-frame-height);image-rendering:pixelated;display:block;position:absolute;top:0;left:0}.pokemon-icon-sprite__frame--first{animation:pokemon-icon-first-frame var(--pokemon-icon-animation-duration) step-end infinite;animation-delay:var(--pokemon-icon-animation-delay)}.pokemon-icon-sprite__frame--second{left:var(--pokemon-icon-frame-offset);visibility:hidden;animation:pokemon-icon-second-frame var(--pokemon-icon-animation-duration) step-end infinite;animation-delay:var(--pokemon-icon-animation-delay)}@keyframes pokemon-icon-first-frame{0%,49.999%{visibility:visible}50%,to{visibility:hidden}}@keyframes pokemon-icon-second-frame{0%,49.999%{visibility:hidden}50%,to{visibility:visible}}@media (prefers-reduced-motion:reduce){.pokemon-icon-sprite__frame{animation:none}}.placeholder-content{text-align:center;place-content:center;width:100%;height:100%;display:grid}.placeholder-content h1,.placeholder-content h2,.placeholder-content p{margin:0}.eyebrow{font-size:var(--ui-font-size-label);letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px!important}.overlay-host{z-index:100;place-items:center;display:grid;position:absolute;inset:0}.overlay-host[data-effect=dim-blur]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal-viewport{z-index:2000;position:fixed;overflow:hidden}.modal-frame{padding:var(--ui-panel-padding);transform-origin:0 0;pointer-events:none;place-items:center;display:grid;position:absolute}.modal-surface{pointer-events:auto;min-width:0;max-width:100%;min-height:0;max-height:100%;overflow:auto}
