/* Accessibility Panel Styles */
.accessibility_panel {
  position: fixed;
  bottom: 10px;
  left: 50%;
  background: rgba(0, 0, 0, 0.8);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(0, 0, 0, 0.8);
  width: auto;
  height: auto;
  visibility: hidden;
  transform: translateX(-50%) translateY(120%);
  padding: 15px 30px;
  border-radius: 12px;
  transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 99;
}

.accessibility_panel.open {
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* Updated grid to 4 columns to fit 7 items neatly (2 rows) */
.accessibility_panel .accessibility_panel_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 15px;
}

.accessibility_panel .accessibility_panel_box,
.accessibility_panel .accessibility_panel_close {
  background-color: white;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  transition: 200ms;
  cursor: pointer;
}

.accessibility_panel [tooltip] {
  position: relative;
}

.accessibility_panel [tooltip]::after {
  content: attr(tooltip);
  position: absolute;
  bottom: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  background-color: #0d6efd;
  color: white;
  padding: 5px 15px;
  border-radius: 5px;
  font-size: 14px;
  transition: 300ms;
  visibility: hidden;
  opacity: 0;
  transform: translate(-50%, -20px);
}

.accessibility_panel .accessibility_panel_close {
  background-color: rgb(100, 100, 100);
}

.accessibility_panel .accessibility_panel_close:hover {
  background-color: rgb(120, 120, 120);
}

.accessibility_panel .accessibility_panel_box:hover,
.accessibility_panel .accessibility_panel_box.activated {
  background-color: rgb(230, 230, 230);
  transform: scale(0.95);
}

.accessibility_panel .accessibility_panel_box:hover [tooltip]::after {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
}

.accessibility_panel .accessibility_panel_box.activated svg path {
  stroke: rgb(0, 98, 255);
}

/* Accessibility Panel Styles End */

/* Reading Mask Styles */
.reading_mask {
  display: none;
  position: relative;
  z-index: 999;
}

.reading_mask.activated {
  display: block;
}

.reading_mask > div {
  width: 100%;
  height: calc(50vh - 75px);
  background-color: rgb(0, 0, 0, 0.7);
  position: fixed;
  left: 0;
}

.reading_mask .reading_mask_top {
  top: 0;
}

.reading_mask .reading_mask_bottom {
  bottom: 0;
}

/* Reading Mask Styles End */

/* Propeties Styles */
.enalrgable.ap_zoom[data-zoom="1"] {
  zoom: 1.2;
}

.enalrgable.ap_zoom[data-zoom="2"] {
  zoom: 1.3;
}

.enalrgable.ap_zoom[data-zoom="3"] {
  zoom: 1.4;
}

.speaking-highlight {
  background-color: orange;
}

.highlight_links a {
  background-color: black;
  color: yellow !important;
  text-decoration: underline;
}

html.invert_colors,
html.invert_colors
  img:not(
    .accesibility-cont img,
    .down-center-cont img,
    .my-report-cont img,
    .nav_search img,
    .page_actions img
  ),
html.invert_colors canvas,
html.invert_colors video,
html.invert_colors .videoContainer,
html.invert_colors .accessibility_panel {
  filter: invert(1);
  -webkit-filter: invert(1);
}

/* Text to Speech Active State */
body.tts_active * {
  cursor: help !important;
}

/* Highlight the element currently being spoken */
.tts_speaking {
  outline: 2px solid #0d6efd !important;
  background-color: rgba(13, 110, 253, 0.1) !important;
  border-radius: 4px;
}

/* TTS cursor hint label */
#tts_cursor_hint {
  position: fixed;
  pointer-events: none;
  z-index: 1000;
  background: rgba(13, 110, 253, 0.9);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 20px;
  white-space: nowrap;
  display: none;
  transform: translate(14px, 14px);
}

#tts_cursor_hint.visible {
  display: block;
}

/* Accessibility Panel Styles End */
