/**
 * Tooltip ([data-tooltip])
 */
[data-tooltip] {
  position: relative;
}
[data-tooltip]:not(a, button, input, [role=button]) {
  border-bottom: var(--toddyi-size-1px) dotted;
  text-decoration: none;
  cursor: help;
}
[data-tooltip][data-placement=top]::before, [data-tooltip][data-placement=top]::after, [data-tooltip]::before, [data-tooltip]::after {
  display: block;
  z-index: 99;
  position: absolute;
  bottom: var(--toddyi-size-100pct);
  inset-inline-start: var(--toddyi-size-50pct);
  padding: var(--toddyi-size-0-25rem) var(--toddyi-size-0-5rem);
  overflow: hidden;
  transform: translate(var(--toddyi-size-neg-50pct), -0.25rem);
  border-radius: var(--pico-border-radius);
  background: var(--pico-tooltip-background-color);
  content: attr(data-tooltip);
  color: var(--pico-tooltip-color);
  font-style: normal;
  font-weight: var(--pico-font-weight);
  font-size: var(--toddyi-size-0-875rem);
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}
[data-tooltip][data-placement=top]::after, [data-tooltip]::after {
  padding: 0;
  transform: translate(var(--toddyi-size-neg-50pct), 0rem);
  border-top: var(--toddyi-size-0-3rem) solid;
  border-inline-end: var(--toddyi-size-0-3rem) solid transparent;
  border-inline-start: var(--toddyi-size-0-3rem) solid transparent;
  border-radius: 0;
  background-color: transparent;
  content: "";
  color: var(--pico-tooltip-background-color);
}
[data-tooltip][data-placement=bottom]::before, [data-tooltip][data-placement=bottom]::after {
  top: var(--toddyi-size-100pct);
  bottom: auto;
  transform: translate(var(--toddyi-size-neg-50pct), 0.25rem);
}
[data-tooltip][data-placement=bottom]:after {
  transform: translate(var(--toddyi-size-neg-50pct), -0.3rem);
  border: 0.3rem solid transparent;
  border-bottom: var(--toddyi-size-0-3rem) solid;
}
[data-tooltip][data-placement=left]::before, [data-tooltip][data-placement=left]::after {
  top: var(--toddyi-size-50pct);
  inset-inline-end: var(--toddyi-size-100pct);
  bottom: auto;
  inset-inline-start: auto;
  transform: translate(-0.25rem, var(--toddyi-size-neg-50pct));
}
[data-tooltip][data-placement=left]:after {
  transform: translate(0.3rem, var(--toddyi-size-neg-50pct));
  border: 0.3rem solid transparent;
  border-inline-start: var(--toddyi-size-0-3rem) solid;
}
[data-tooltip][data-placement=right]::before, [data-tooltip][data-placement=right]::after {
  top: var(--toddyi-size-50pct);
  inset-inline-end: auto;
  bottom: auto;
  inset-inline-start: var(--toddyi-size-100pct);
  transform: translate(0.25rem, var(--toddyi-size-neg-50pct));
}
[data-tooltip][data-placement=right]:after {
  transform: translate(-0.3rem, var(--toddyi-size-neg-50pct));
  border: 0.3rem solid transparent;
  border-inline-end: var(--toddyi-size-0-3rem) solid;
}
[data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after {
  opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
  [data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after {
    --pico-tooltip-slide-to: translate(var(--toddyi-size-neg-50pct), -0.25rem);
    transform: translate(var(--toddyi-size-neg-50pct), 0.75rem);
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
    animation-name: tooltip-slide;
    opacity: 0;
  }
  [data-tooltip]:focus::after, [data-tooltip]:hover::after {
    --pico-tooltip-caret-slide-to: translate(var(--toddyi-size-neg-50pct), 0rem);
    transform: translate(var(--toddyi-size-neg-50pct), -0.25rem);
    animation-name: tooltip-caret-slide;
  }
  [data-tooltip][data-placement=bottom]:focus::before, [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::before, [data-tooltip][data-placement=bottom]:hover::after {
    --pico-tooltip-slide-to: translate(var(--toddyi-size-neg-50pct), 0.25rem);
    transform: translate(var(--toddyi-size-neg-50pct), -0.75rem);
    animation-name: tooltip-slide;
  }
  [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::after {
    --pico-tooltip-caret-slide-to: translate(var(--toddyi-size-neg-50pct), -0.3rem);
    transform: translate(var(--toddyi-size-neg-50pct), -0.5rem);
    animation-name: tooltip-caret-slide;
  }
  [data-tooltip][data-placement=left]:focus::before, [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::before, [data-tooltip][data-placement=left]:hover::after {
    --pico-tooltip-slide-to: translate(-0.25rem, var(--toddyi-size-neg-50pct));
    transform: translate(0.75rem, var(--toddyi-size-neg-50pct));
    animation-name: tooltip-slide;
  }
  [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::after {
    --pico-tooltip-caret-slide-to: translate(0.3rem, var(--toddyi-size-neg-50pct));
    transform: translate(0.05rem, var(--toddyi-size-neg-50pct));
    animation-name: tooltip-caret-slide;
  }
  [data-tooltip][data-placement=right]:focus::before, [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::before, [data-tooltip][data-placement=right]:hover::after {
    --pico-tooltip-slide-to: translate(0.25rem, var(--toddyi-size-neg-50pct));
    transform: translate(-0.75rem, var(--toddyi-size-neg-50pct));
    animation-name: tooltip-slide;
  }
  [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::after {
    --pico-tooltip-caret-slide-to: translate(-0.3rem, var(--toddyi-size-neg-50pct));
    transform: translate(-0.05rem, var(--toddyi-size-neg-50pct));
    animation-name: tooltip-caret-slide;
  }
}
@keyframes tooltip-slide {
  to {
    transform: var(--pico-tooltip-slide-to);
    opacity: 1;
  }
}
@keyframes tooltip-caret-slide {
  50% {
    opacity: 0;
  }
  to {
    transform: var(--pico-tooltip-caret-slide-to);
    opacity: 1;
  }
}

/**
 * Accessibility & User interaction
 */
[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

[dir=rtl] {
  direction: rtl;
}

/**
 * Reduce Motion Features
 */
@media (prefers-reduced-motion: reduce) {
  *:not([aria-busy=true]),
  :not([aria-busy=true])::before,
  :not([aria-busy=true])::after {
    background-attachment: initial !important;
    animation-duration: 1ms !important;
    animation-delay: -1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
}
