.onboarding-dialog {
  width: min(430px, calc(100vw - 40px));
  padding: var(--dialog-padding);
  border-radius: var(--ui-radius-dialog, 16px);
}

.onboarding-dialog h2 {
  margin: 0 0 var(--space-6);
  font-size: 21px;
  font-weight: var(--ui-font-weight-dialog-title);
}

.onboarding-dialog p {
  margin: 0;
  color: var(--ui-text-body-secondary);
  font-size: 14px;
  line-height: var(--ui-line-height-prose);
}

.onboarding-dialog__actions {
  display: flex;
  gap: var(--dialog-action-gap);
  margin-top: var(--space-15);
}

.onboarding-dialog__actions .ui-action-button {
  min-height: var(--ui-field-height-md);
  padding: 7px 12px;
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-field);
  background: var(--ui-surface-field);
  color: var(--ui-value-primary);
  font: inherit;
  font-size: var(--ui-font-size-control);
}

.onboarding-dialog__actions .ui-action-button--primary {
  border-color: var(--ui-accent);
  background: var(--ui-accent);
  color: var(--ui-text-on-accent);
}

.onboarding-dialog__actions .ui-action-button--quiet {
  border-color: transparent;
  background: transparent;
}

.onboarding-prompt {
  position: fixed;
  z-index: 1700;
  width: max-content;
  max-width: min(320px, calc(100vw - 16px));
  padding: var(--space-8) var(--space-10);
  border-radius: var(--ui-radius-item-selection);
  background: var(--ui-accent);
  box-shadow: var(--ui-shadow-compact-floating);
  color: var(--ui-text-on-accent);
  font-size: 14px;
  font-weight: 600;
  line-height: var(--ui-line-height-body);
  text-align: center;
  pointer-events: none;
}

.onboarding-prompt__exit {
  margin-inline-start: var(--space-6);
  padding: 2px 0;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, currentColor 62%, transparent);
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  opacity: .82;
  pointer-events: auto;
}

.onboarding-prompt__exit:hover,
.onboarding-prompt__exit:focus-visible { opacity: 1; }

.onboarding-prompt__key {
  display: inline-flex;
  align-items: center;
  min-height: 19px;
  margin-inline: 3px;
  padding: 1px 5px;
  border: 1px solid color-mix(in srgb, currentColor 68%, transparent);
  border-radius: 5px;
  background: color-mix(in srgb, white 14%, transparent);
  color: inherit;
  font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
  font-size: .86em;
  font-weight: 600;
  line-height: 1;
  vertical-align: .06em;
}

.onboarding-prompt::after {
  position: absolute;
  top: var(--onboarding-arrow-top, 50%);
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border: 6px solid transparent;
  content: "";
}

.onboarding-prompt[data-placement="right"]::after {
  right: 100%;
  border-right-color: var(--ui-accent);
}

.onboarding-prompt[data-placement="left"]::after {
  left: 100%;
  border-left-color: var(--ui-accent);
}

.onboarding-prompt[data-placement="celebration"] {
  animation: onboarding-celebration-in 420ms cubic-bezier(.2, .8, .2, 1) both;
}

.onboarding-prompt[data-placement="celebration"]::after { display: none; }

.onboarding-prompt[hidden] { display: none; }

body.is-dragging-item .onboarding-prompt,
body.is-dragging-item .ui-object-type-tooltip-runtime { visibility: hidden; }

.onboarding-prompt.is-onboarding-nudge {
  animation: onboarding-guidance-nudge 320ms ease-out;
}

.is-onboarding-target {
  position: relative;
  z-index: 2;
  border-radius: var(--ui-radius-item-selection);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 78%, transparent);
}

.item-drag-handle.is-onboarding-target {
  border-radius: 50%;
  box-shadow: 0 0 0 3px var(--ui-accent);
  opacity: 1;
}

.item-bullet-marker.is-onboarding-arrow-target {
  position: relative;
  z-index: 2;
  opacity: 1;
}

.item-bullet-marker.is-onboarding-arrow-target::after {
  position: absolute;
  left: 50%;
  top: calc(50% + 7px);
  width: 14px;
  height: 15px;
  transform: translateX(-50%);
  background: var(--ui-accent);
  clip-path: polygon(50% 0, 100% 42%, 68% 42%, 68% 100%, 32% 100%, 32% 42%, 0 42%);
  content: "";
  pointer-events: none;
}

@keyframes onboarding-celebration-in {
  from { opacity: 0; transform: translateY(5px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes onboarding-guidance-nudge {
  0%, 100% { transform: translateX(0); }
  35% { transform: translateX(-4px); }
  70% { transform: translateX(3px); }
}

@media (prefers-reduced-motion: reduce) {
  .onboarding-prompt[data-placement="celebration"],
  .onboarding-prompt.is-onboarding-nudge { animation: none; }
}

.info-dialog__onboarding-action {
  margin-top: var(--space-7);
  padding: 7px 10px;
}
