#aircraft-next-canvas[data-insert-action] {
  cursor: crosshair;
}

#aircraft-next-insert-preview {
  position: fixed;
  z-index: 19;
  display: none;
  box-sizing: border-box;
  border: 1px solid rgb(0 153 255 / 72%);
  background: rgb(0 153 255 / 7%);
  pointer-events: none;
}

#aircraft-next-insert-preview[data-visible='true'] {
  display: block;
}

/*
 * Shape placement previews mirror the geometry Rust commits on pointer-up.
 * Rectangle and ellipse use the complete drag box. Regular polygonal shapes
 * keep the core's regular aspect and stay centered inside that box.
 */
body:has(#aircraft-next-canvas[data-insert-action^='shape-']) #aircraft-next-insert-preview {
  --aircraft-shape-preview-width: 100cqw;
  --aircraft-shape-preview-height: 100cqh;
  --aircraft-shape-preview-clip: inset(0);
  container-type: size;
  border: 0;
  background: transparent;
}

body:has(#aircraft-next-canvas[data-insert-action^='shape-']) #aircraft-next-insert-preview::before,
body:has(#aircraft-next-canvas[data-insert-action^='shape-']) #aircraft-next-insert-preview::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--aircraft-shape-preview-width);
  height: var(--aircraft-shape-preview-height);
  transform: translate(-50%, -50%);
  clip-path: var(--aircraft-shape-preview-clip);
  pointer-events: none;
}

body:has(#aircraft-next-canvas[data-insert-action^='shape-']) #aircraft-next-insert-preview::before {
  background: rgb(0 153 255 / 72%);
}

body:has(#aircraft-next-canvas[data-insert-action^='shape-']) #aircraft-next-insert-preview::after {
  width: max(1px, calc(var(--aircraft-shape-preview-width) - 2px));
  height: max(1px, calc(var(--aircraft-shape-preview-height) - 2px));
  background: rgb(0 153 255 / 7%);
}

body:has(#aircraft-next-canvas[data-insert-action='shape-ellipse']) #aircraft-next-insert-preview {
  --aircraft-shape-preview-clip: ellipse(50% 50% at 50% 50%);
}

body:has(#aircraft-next-canvas[data-insert-action='shape-triangle']) #aircraft-next-insert-preview {
  --aircraft-shape-preview-width: calc(min(100cqw, 100cqh) * .8660254);
  --aircraft-shape-preview-height: calc(min(100cqw, 100cqh) * .75);
  --aircraft-shape-preview-clip: polygon(50% 0%, 100% 100%, 0% 100%);
}

body:has(#aircraft-next-canvas[data-insert-action='shape-polygon']) #aircraft-next-insert-preview {
  --aircraft-shape-preview-width: calc(min(100cqw, 100cqh) * .8660254);
  --aircraft-shape-preview-height: min(100cqw, 100cqh);
  --aircraft-shape-preview-clip: polygon(
    50% 0%,
    100% 25%,
    100% 75%,
    50% 100%,
    0% 75%,
    0% 25%
  );
}

body:has(#aircraft-next-canvas[data-insert-action='shape-star']) #aircraft-next-insert-preview {
  --aircraft-shape-preview-width: calc(min(100cqw, 100cqh) * .9510565);
  --aircraft-shape-preview-height: calc(min(100cqw, 100cqh) * .9045085);
  --aircraft-shape-preview-clip: polygon(
    50% 0%,
    63.906% 35.154%,
    100% 38.197%,
    72.5% 62.966%,
    80.902% 100%,
    50% 80.154%,
    19.098% 100%,
    27.5% 62.966%,
    0% 38.197%,
    36.094% 35.154%
  );
}

@media (max-width: 480px) {
  body[data-aircraft-insert-open='true'] #aircraft-next-context-bar {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #aircraft-next-insert-menu {
    position: fixed;
    z-index: 42;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(var(--aircraft-ui-mobile-bottom-offset) + var(--aircraft-ui-action-control-size) + var(--aircraft-ui-popover-gap) + env(safe-area-inset-bottom)) !important;
    display: flex;
    width: max-content;
    max-width: calc(100vw - 24px);
    height: var(--aircraft-ui-context-shell-height);
    align-items: center;
    gap: var(--aircraft-ui-control-gap);
    padding: 0 var(--aircraft-ui-surface-pad);
    transform: translateX(-50%);
    overflow: hidden;
    border: var(--aircraft-ui-surface-border);
    border-radius: var(--aircraft-ui-surface-radius);
    background: var(--ui-surface-glass);
    box-shadow: none;
    backdrop-filter: blur(var(--aircraft-ui-surface-blur-soft));
    -webkit-backdrop-filter: blur(var(--aircraft-ui-surface-blur-soft));
  }

  #aircraft-next-insert-menu[data-open='false'] {
    display: none !important;
  }

  #aircraft-next-insert-menu[data-open='true'] {
    display: flex !important;
  }

  #aircraft-next-insert-menu .aircraft-next-insert-item {
    width: var(--aircraft-ui-control-height);
    min-width: var(--aircraft-ui-control-height);
    height: var(--aircraft-ui-control-height);
    min-height: var(--aircraft-ui-control-height);
    flex: 0 0 var(--aircraft-ui-control-height);
    padding: 0;
    color: var(--ui-text);
  }

  #aircraft-next-insert-menu .aircraft-next-insert-item[hidden] {
    display: none !important;
  }

  #aircraft-next-insert-menu .aircraft-next-insert-item:active:not(:disabled) {
    transform: scale(var(--aircraft-ui-press-scale));
  }

  #aircraft-next-insert-menu .aircraft-next-insert-item .aircraft-lucide-icon {
    width: var(--aircraft-ui-icon-size);
    height: var(--aircraft-ui-icon-size);
  }

  #aircraft-next-insert-menu .aircraft-next-insert-label {
    display: none;
  }
}
