@layer component  {
    theme-popover  {
        --arrow-gap: 6px;
        position: relative;
        display: inline-flex;
        user-select: none;

  }
  theme-popover[data-clone]  {
        width: 0 !important;
        height: 0 !important;
        visibility: hidden !important;

  }
  theme-popover-content  {
        position: fixed;
        inset-block-start: var(--fixed-top, 0);
        inset-inline-start: var(--fixed-left, 0);
        z-index: var(--z-index-popover);
        width: max-content;
        max-width: min(90vw, 288px);
        padding: 4px 8px;
        margin: 0;
        font-size: 14px;
        line-height: 1.4;
        color: var(--text-color);
        word-break: break-word;
        white-space: normal;
        visibility: hidden;
        background-color: var(--background-color);
        border-radius: var(--card-border-radius);
        transform: translate(       calc(var(--transform-x, 0px) + var(--offset-x, 0px)),       calc(var(--transform-y, 0px) + var(--offset-y, 0px))     );

  }
  theme-popover-content::before,   theme-popover-content::after  {
        position: absolute;
        display: block;
        width: 0;
        height: 0;
        content: "";
        border: calc(var(--arrow-gap) / 2) solid var(--background-color);

  }
  theme-popover-content::before  {
        border-color: var(--border-color);

  }
  theme-popover:not([data-mode]) theme-popover-content,   theme-popover[data-mode="popover"] theme-popover-content  {
        --background-color: rgb(var(--color-background));
        --text-color: rgb(var(--color-text));
        --border-color: rgba(var(--color-text), var(--modal-border-opacity));
        --border-width: var(--modal-border-thickness);
        background-color: var(--background-color);
        border-color: var(--border-color);
        border-style: solid;
        border-width: var(--border-width);
        border-radius: var(--modal-border-radius);
        box-shadow: var(--modal-shadow-offset-x) var(--modal-shadow-offset-y)       var(--modal-shadow-blur)       rgba(var(--color-shadow), var(--modal-shadow-opacity));

  }
  theme-popover[data-mode="tooltip"] theme-popover-content  {
        --text-color: #fff;
        --background-color: rgb(0 0 0 / 80%);
        --border-color: transparent;
        --border-width: 0px;
        border-width: 0;

  }
  theme-popover:not([open]) theme-popover-content,   theme-popover:not(:hover) theme-popover-content  {
        display: none;
        visibility: hidden;
        opacity: 0;

  }
  theme-popover[open] theme-popover-content  {
        display: block;
        visibility: visible;
        opacity: 1;

  }
  theme-popover:not([data-position]),   theme-popover[data-adaptation-position="top"],   theme-popover:not([data-adaptation-position])[data-position="top"]  {
        --transform-y: calc(-1 * var(--arrow-gap));

  }
  theme-popover:not([data-position]) theme-popover-content::before,   theme-popover:not([data-position]) theme-popover-content::after,   theme-popover[data-adaptation-position="top"] theme-popover-content::before,   theme-popover[data-adaptation-position="top"] theme-popover-content::after,   theme-popover:not([data-adaptation-position])[data-position="top"]     theme-popover-content::before,   theme-popover:not([data-adaptation-position])[data-position="top"]     theme-popover-content::after  {
        inset-block-start: 100%;
        inset-inline-start: 50%;
        border-block-end: 0;
        border-inline-start-color: transparent;
        border-inline-end-color: transparent;
        transform: translateX(calc(-50% + var(--offset-x) * -1));

  }
  theme-popover:not([data-position]) theme-popover-content::after,   theme-popover[data-adaptation-position="top"] theme-popover-content::after,   theme-popover:not([data-adaptation-position])[data-position="top"]     theme-popover-content::after  {
        transform: translateX(calc(-50% + var(--offset-x) * -1))       translateY(calc(-1 * var(--border-width)));

  }
  theme-popover[data-adaptation-position="bottom"],   theme-popover:not([data-adaptation-position])[data-position="bottom"]  {
        --transform-y: calc(1 * var(--arrow-gap));

  }
  theme-popover[data-adaptation-position="bottom"]     theme-popover-content::before,   theme-popover[data-adaptation-position="bottom"] theme-popover-content::after,   theme-popover:not([data-adaptation-position])[data-position="bottom"]     theme-popover-content::before,   theme-popover:not([data-adaptation-position])[data-position="bottom"]     theme-popover-content::after  {
        inset-block-end: 100%;
        inset-inline-start: 50%;
        border-block-start: 0;
        border-inline-start-color: transparent;
        border-inline-end-color: transparent;
        transform: translateX(calc(-50% + var(--offset-x) * -1));

  }
  theme-popover[data-adaptation-position="bottom"] theme-popover-content::after,   theme-popover:not([data-adaptation-position])[data-position="bottom"]     theme-popover-content::after  {
        transform: translateX(calc(-50% + var(--offset-x) * -1))       translateY(calc(1 * var(--border-width)));

  }
  theme-popover[data-adaptation-position="left"],   theme-popover:not([data-adaptation-position])[data-position="left"]  {
        --transform-x: calc(-1 * var(--arrow-gap));

  }
  theme-popover[data-adaptation-position="left"] theme-popover-content::before,   theme-popover[data-adaptation-position="left"] theme-popover-content::after,   theme-popover:not([data-adaptation-position])[data-position="left"]     theme-popover-content::before,   theme-popover:not([data-adaptation-position])[data-position="left"]     theme-popover-content::after  {
        inset-block-start: 50%;
        inset-inline-end: 0;
        border-block-start-color: transparent;
        border-block-end-color: transparent;
        border-inline-end: 0;
        transform: translate(100%, calc(-50% + var(--offset-y) * -1));

  }
  theme-popover[data-adaptation-position="left"] theme-popover-content::after,   theme-popover:not([data-adaptation-position])[data-position="left"]     theme-popover-content::after  {
        transform: translate(       calc(100% - var(--border-width)),       calc(-50% + var(--offset-y) * -1)     );

  }
  theme-popover[data-adaptation-position="right"],   theme-popover:not([data-adaptation-position])[data-position="right"]  {
        --transform-x: calc(1 * var(--arrow-gap));

  }
  theme-popover[data-adaptation-position="right"] theme-popover-content::before,   theme-popover[data-adaptation-position="right"] theme-popover-content::after,   theme-popover:not([data-adaptation-position])[data-position="right"]     theme-popover-content::before,   theme-popover:not([data-adaptation-position])[data-position="right"]     theme-popover-content::after  {
        inset-block-start: 50%;
        inset-inline-start: 0;
        border-block-start-color: transparent;
        border-block-end-color: transparent;
        border-inline-start: 0;
        transform: translate(-100%, calc(-50% + var(--offset-y) * -1));

  }
  theme-popover[data-adaptation-position="right"] theme-popover-content::after,   theme-popover:not([data-adaptation-position])[data-position="right"]     theme-popover-content::after  {
        transform: translate(       calc(-100% + var(--border-width)),       calc(-50% + var(--offset-y) * -1)     );

  }
}
