import { css } from "lit";
const compentStyle = css`
          * {
            -webkit-tap-highlight-color: transparent;
          }

* {
  box-sizing: border-box;
}

:host {
  width: fit-content;
  display: block;
}

.wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--maneuvering-components-poi-button-touch-target);
  height: var(--maneuvering-components-poi-button-touch-target);
  appearance: none;
  border: none;
  background: transparent;

  color: var(--on-flat-active-color);

  flex-shrink: 0;
  --label-y-offset: 16px;
  --label-x-offset: 12px;
}

.wrapper:has(.selection-frame) {
    --label-y-offset: 8px;
    --label-x-offset: 8px;
  }

.wrapper .visible-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-direction: column;
    border: 1px solid transparent;
  }

.wrapper.type-flat .visible-wrapper {
      width: 36px;
      height: 36px;
    }

.wrapper.type-flat.has-alert {
      --label-y-offset: 4px;
      --label-x-offset: 4px;
    }

.wrapper.type-flat.has-alert .selection-frame {
        width: 44px;
        height: 44px;
      }

.wrapper.type-flat-large,.wrapper.type-large,.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot {
    width: 64px;
    height: 64px;
  }

:is(.wrapper.type-flat-large,.wrapper.type-large,.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot) .icon-wrapper {
      width: 36px;
      height: 36px;
    }

:is(.wrapper.type-flat-large,.wrapper.type-large,.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot) .selection-frame {
      width: 43px;
      height: 43px;
    }

:is(.wrapper.type-flat-large,.wrapper.type-large,.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot) .visible-wrapper {
      width: 52px;
      height: 52px;
      border-radius: 100%;
    }

.has-alert:is(.wrapper.type-flat-large,.wrapper.type-large,.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot) {
      --label-y-offset: 4px;
      --label-x-offset: 4px;
    }

.has-alert:is(.wrapper.type-flat-large,.wrapper.type-large,.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot) .selection-frame {
        width: 60px;
        height: 60px;
      }

:is(.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot) .icon-wrapper {
      width: 24px;
      height: 24px;
    }

:is(.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot) .selection-frame {
      width: 55px;
      height: 55px;
    }

:is(.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot):has(.selection-frame) {
      --label-y-offset: 4px;
      --label-x-offset: 4px;
    }

.has-alert:is(.wrapper.type-flat-speed-rot,.wrapper.type-button-speed-rot) .selection-frame {
        width: 60px;
        height: 60px;
      }

.wrapper.type-large,.wrapper.type-button-speed-rot {
    --label-y-offset: 8px;
    --label-x-offset: 8px;
  }

:is(.wrapper.type-large,.wrapper.type-button-speed-rot) .selection-frame {
      width: 56px;
      height: 56px;
    }

:is(.wrapper.type-large,.wrapper.type-button-speed-rot):has(.selection-frame) {
      --label-y-offset: 4px;
      --label-x-offset: 4px;
    }

:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot) {
            cursor: pointer;
}

:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot):focus {
            outline: none;
}

:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot) .visible-wrapper {
            border-color: var(--normal-enabled-border-color);
            background-color: var(--normal-enabled-background-color);
            border-width: 1px;
            border-style: solid;
            cursor: pointer;
            --base-border-color: var(--normal-enabled-border-color);
            --base-background-color: var(--normal-enabled-background-color);
}

.activated:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot) .visible-wrapper {
            border-color: var(--normal-activated-border-color);
            background-color: var(--normal-activated-background-color);
            --base-border-color: var(--normal-activated-border-color);
            --base-background-color: var(--normal-activated-background-color);
}

@media (hover:hover) {

:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot):hover .visible-wrapper {
                        border-color: color-mix(in srgb, var(--normal-hover-border-color) calc(var(--obc-can-hover) * 100%), var(--base-border-color));
                        background-color: color-mix(in srgb, var(--normal-hover-background-color) calc(var(--obc-can-hover) * 100%), var(--base-background-color));
            }
}

:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot):active .visible-wrapper {
            border-color: var(--normal-pressed-border-color);
            background-color: var(--normal-pressed-background-color);
}

:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot):focus-visible .visible-wrapper {
            outline-color: var(--border-focus-color);
            outline-width: var(--global-size-spacing-border-weight-focusframe);
            outline-style: solid;
            border-color: var(--container-global-color);
            z-index: 1;
}

:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot):disabled .visible-wrapper {
            border-color: var(--normal-disabled-border-color);
            background-color: var(--normal-disabled-background-color);
            cursor: not-allowed;
            color: var(--on-normal-disabled-color) !important;
}

.disabled:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot) .visible-wrapper {
            border-color: var(--normal-disabled-border-color);
            background-color: var(--normal-disabled-background-color);
            cursor: not-allowed;
            color: var(--on-normal-disabled-color) !important;
}

:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot):disabled {
            cursor: not-allowed;
}

.disabled:is(.wrapper.type-button,.wrapper.type-large,.wrapper.type-button-speed-rot) {
            cursor: not-allowed;
}

.wrapper.type-button .visible-wrapper {
      width: var(--maneuvering-components-poi-button-visual-target-round);
      height: var(--maneuvering-components-poi-button-visual-target-round);
      border-radius: 100%;
    }

.wrapper.type-button {

    --label-y-offset: 8px;
    --label-x-offset: 8px;
  }

.wrapper.type-button:has(.selection-frame) {
      --label-y-offset: 4px;
      --label-x-offset: 4px;
    }

.wrapper.type-button:has(.selection-frame) .selection-frame {
        width: 40px;
        height: 40px;
      }

.wrapper.type-button.has-alert {
      --label-y-offset: 4px;
      --label-x-offset: 4px;
    }

.wrapper.type-button.has-alert .selection-frame {
        width: 44px;
        height: 44px;
      }

.icon-wrapper {
  width: 24px;
  height: 24px;
  position: relative;
}

.icon-wrapper .icon-silhouette,.icon-wrapper .icon-primary {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

.icon-wrapper .icon-silhouette {
    stroke: var(--border-silhouette-color);
    stroke-width: 2;
    z-index: -1;
  }

.icon-wrapper .icon-primary {
    --element-active-color: var(--on-flat-active-color);
  }

.state-alarm .icon-primary {
    --element-active-color: var(--alert-alarm-outline-color);
  }

.state-alarm {
  color: var(--alert-alarm-outline-color);
}

.alert-ring {
  position: absolute;
  top: -3.5px;
  left: -3.5px;
  right: -3.5px;
  bottom: -3.5px;
  border-radius: 100%;
  border: 5px solid var(--alert-alarm-outline-color);
  outline: 4px solid var(--alert-alarm-color);
  outline-offset: -4.5px;
}

.state-caution .alert-ring {
    outline-color: var(--alert-caution-color);
    border-color: var(--alert-caution-outline-color);
  }

.state-warning .alert-ring {
    outline-color: var(--alert-warning-color);
    border-color: var(--alert-warning-outline-color);
  }

.number-wrapper,
.name-wrapper {
  position: absolute;
  top: calc(100% - var(--label-y-offset));
  font-family: var(--global-typography-font-family);
  font-weight: var(
    --global-typography-instrument-value-small-font-weight-regular
  );
  font-size: var(--global-typography-instrument-value-small-font-size);
  line-height: var(--global-typography-instrument-value-small-line-height);
  font-feature-settings:
    "liga" off,
    "clig" off,
    "ss04" on;
  color: var(--element-active-color);
  text-wrap: nowrap;
  transition:
    top 100ms ease,
    left 100ms ease,
    right 100ms ease;
}

.number-wrapper {
  right: calc(100% - var(--label-x-offset));
}

.name-wrapper {
  left: calc(100% - var(--label-x-offset));
}

:is(.state-active,.wrapper:has(.selection-frame),.state-warning,.state-caution,.state-alarm) .number-wrapper,:is(.state-active,.wrapper:has(.selection-frame),.state-warning,.state-caution,.state-alarm) .name-wrapper {
    font-family: var(--global-typography-font-family);
    font-weight: var(
    --global-typography-instrument-value-small-font-weight-active
  );
    font-size: var(--global-typography-instrument-value-small-font-size);
    line-height: var(--global-typography-instrument-value-small-line-height);
    font-feature-settings:
    "liga" off,
    "clig" off,
    "ss04" on;
  }

.selection-frame {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  bottom: 0;
  right: 0;
  width: 31px;
  height: 31px;
  border-radius: 4px;
  transition:
    width 100ms ease,
    height 100ms ease;

  border: 1.5px solid var(--element-active-color);
  clip-path: polygon(
    /* top left */ 8px 0,
    0 0,
    0 8px,
    8px 8px,
    /* top right */ calc(100% - 8px) 8px,
    calc(100% - 8px) 0,
    100% 0,
    100% 8px,
    calc(100% - 8px) 8px,
    /* bottom right */ calc(100% - 8px) calc(100% - 8px),
    calc(100% - 8px) 100%,
    100% 100%,
    100% calc(100% - 8px),
    calc(100% - 8px) calc(100% - 8px),
    /* bottom left */ 8px calc(100% - 8px),
    0 calc(100% - 8px),
    0 100%,
    8px 100%,
    8px calc(100% - 8px)
  );
}

.course-arrow {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%) rotate(calc(var(--course)));
  transform-origin: center bottom;
}

.cross-line {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(calc(var(--heading)));
  transform-origin: center center;
}

.vessel-image-wrapper {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(calc(var(--heading)));
  transform-origin: center center;
}

.vessel-image-wrapper > slot {
    width: var(--image-size);
    height: var(--image-size);
  }

.vessel-image-wrapper > svg {
    width: calc(var(--image-size) * 160 / 136.87);
    height: calc(var(--image-size) * 160 / 136.87);
  }
`;
export {
  compentStyle as default
};
//# sourceMappingURL=chart-object-vessel-button.css.js.map
