@font-face {
  font-family: 'Fusion Pixel Companion';
  src: url('./fonts/companion-pixel.woff2') format('woff2');
  font-display: swap;
  font-weight: 400;
}
.mgp-pixel-speech {
  --pixel-outline: var(--muted-foreground);
  --pixel-cut: polygon(12px 0,calc(100% - 12px) 0,calc(100% - 12px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 4px) calc(100% - 12px),calc(100% - 4px) calc(100% - 4px),calc(100% - 12px) calc(100% - 4px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 12px),0 calc(100% - 12px),0 12px,4px 12px,4px 4px,12px 4px);
  position: fixed;
  z-index: 40;
  width: max-content;
  max-width: min(288px, calc(100vw - 16px));
  color: var(--popover-foreground);
  font-family: 'Fusion Pixel Companion', monospace;
  font-size: 12px;
  font-weight: 400;
  font-synthesis: none;
  line-height: 2;
  white-space: normal;
  overflow-wrap: anywhere;
  pointer-events: auto;
  animation: mgp-pixel-speech-in 140ms steps(3,end) both;
  filter: drop-shadow(4px 4px 0 var(--background));
}
.mgp-pixel-speech[data-tone='success'] { --pixel-outline: var(--success); }
.mgp-pixel-speech[data-tone='error'] { --pixel-outline: var(--warning); }
.mgp-pixel-speech-frame { position: absolute; inset: 0; background: var(--pixel-outline); clip-path: var(--pixel-cut); pointer-events: none; }
.mgp-pixel-speech-frame::after { content: ''; position: absolute; inset: 2px; clip-path: var(--pixel-cut); background: var(--popover); }
.mgp-pixel-speech-content { position: relative; padding: 10px 16px; }
.mgp-pixel-speech-content > span,
.mgp-pixel-speech-link { font: inherit; }
.mgp-pixel-speech::before,
.mgp-pixel-speech::after { content: ''; position: absolute; left: var(--pixel-tail-x,24px); top: calc(100% - 2px); width: 16px; height: 14px; background: var(--pixel-outline); clip-path: polygon(0 0,100% 0,100% 4px,12px 4px,12px 8px,8px 8px,8px 12px,4px 12px,4px 14px,0 14px); pointer-events: none; }
.mgp-pixel-speech::after { width: 12px; height: 10px; margin-left: 2px; background: var(--popover); }
.mgp-pixel-speech[data-placement='below']::before,
.mgp-pixel-speech[data-placement='below']::after { top: auto; bottom: calc(100% - 2px); transform: scaleY(-1); }
.mgp-pixel-speech-link { display: block; margin-top: 2px; color: inherit; background: transparent; border: 0; padding: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.mgp-pixel-speech-link:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.mgp-pixel-speech[data-leaving] { opacity: 0; transition: opacity 220ms; }
@keyframes mgp-pixel-speech-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .mgp-pixel-speech { animation: none; transition: none; } }
