/* Global customization */

:root {
  --code-max-height: 60rem;
}

/* Light mode theming */
:root,
:root[color-mode="light"] {
  --header-background: #3f51b5;
  --header-font-color: #ffffff;

  --body-background: #ffffff;
  --body-font-color: #343a40;

  --button-background: #62cb97;
  --button-border-color: #3f51b5;

  --link-color: #518169;
  --link-color-visited: #c54e8a;

  --code-background: #f5f6f8;
  --code-accent-color: #e3e7eb;
  --code-accent-color-lite: #eff1f3;

  --accent-color: #e9ecef;
  --accent-color-lite: #f8f9fa;

  --control-icons: #b2bac1;

  --footer-background: #2f333e;
  --footer-font-color: #ffffff;
  --footer-link-color: #ffcc5c;
  --footer-link-color-visited: #ffcc5c;
}
@media (prefers-color-scheme: light) {
  :root {
    --header-background: #3f51b5;
    --header-font-color: #ffffff;

    --body-background: #ffffff;
    --body-font-color: #343a40;

    --button-background: #62cb97;
    --button-border-color: #3f51b5;

    --link-color: #518169;
    --link-color-visited: #c54e8a;

    --code-background: #f5f6f8;
    --code-accent-color: #e3e7eb;
    --code-accent-color-lite: #eff1f3;

    --accent-color: #e9ecef;
    --accent-color-lite: #f8f9fa;

    --control-icons: #b2bac1;

    --footer-background: #2f333e;
    --footer-font-color: #ffffff;
    --footer-link-color: #ffcc5c;
    --footer-link-color-visited: #ffcc5c;
  }
}

/* Dark mode theming */
:root[color-mode="dark"] {
  --header-background: #3f51b5;
  --header-font-color: #ffffff;

  --body-background: #343a40;
  --body-font-color: #ced3d8;

  --button-background: #62cb97;
  --button-border-color: #3f51b5;

  --link-color: #7ac29e;
  --link-color-visited: #c27a9e;

  --code-background: #2f353a;
  --code-accent-color: #262b2f;
  --code-accent-color-lite: #2b3035;

  --accent-color: #2b3035;
  --accent-color-lite: #2f353a;

  --control-icons: #b2bac1;

  --footer-background: #2f333e;
  --footer-font-color: #ffffff;
  --footer-link-color: #ffcc5c;
  --footer-link-color-visited: #ffcc5c;
}
@media (prefers-color-scheme: dark) {
  :root {
    --header-background: #3f51b5;
    --header-font-color: #ffffff;

    --body-background: #343a40;
    --body-font-color: #ced3d8;

    --button-background: #62cb97;
    --button-border-color: #3f51b5;

    --link-color: #7ac29e;
    --link-color-visited: #c27a9e;

    --code-background: #2f353a;
    --code-accent-color: #262b2f;
    --code-accent-color-lite: #2b3035;

    --accent-color: #2b3035;
    --accent-color-lite: #2f353a;

    --control-icons: #b2bac1;

    --footer-background: #2f333e;
    --footer-font-color: #ffffff;
    --footer-link-color: #ffcc5c;
    --footer-link-color-visited: #ffcc5c;
  }
}

/*  compare image styling  */
.compare {
  --compare-image-overlay-width: 50%;
  --compare-divider-width: 2.5px;
  --compare-slider-thumb-size: 44px;
  display: grid;
}

.compare > * {
  grid-area: 1 / -1;
}

.compare-image {
  width: 100%;
  height: 100%;
}

.compare-image-overlay {
  clip-path: inset(0 0 0 calc(var(--compare-image-overlay-width) + var(--compare-divider-width) / 2));
}

.compare-divider {
  background-image: linear-gradient(
    to right,
    transparent calc(var(--compare-image-overlay-width) - var(--compare-divider-width) / 2),
    #fff var(--compare-divider-width)
  );
}

.compare-slider {
  z-index: 1;
  -webkit-appearance: none;
  width: calc(100% + var(--compare-slider-thumb-size));
  margin: 0 0 0 calc(var(--compare-slider-thumb-size) / -2);
  background-color: transparent;
  cursor: col-resize;
}

.compare-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  box-sizing: border-box;
  width: var(--compare-slider-thumb-size);
  height: var(--compare-slider-thumb-size);
  border: var(--compare-divider-width) solid #fff;
  border-radius: 50%;
  box-shadow: 0 4px 4px #0009;
  background-color: #4F5573;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZmlsbD0iI0ZGRiIgZD0ibTEzIDIxLTUtNSA1LTV6TTE5IDExbDUgNS01IDV6Ii8+PC9zdmc+');
  background-size: cover;
}

.compare-slider::-moz-range-thumb {
  box-sizing: border-box;
  width: var(--compare-slider-thumb-size);
  height: var(--compare-slider-thumb-size);
  border: var(--compare-divider-width) solid #fff;
  border-radius: 50%;
  box-shadow: 0 4px 4px #0009;
  background-color: #4F5573;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZmlsbD0iI0ZGRiIgZD0ibTEzIDIxLTUtNSA1LTV6TTE5IDExbDUgNS01IDV6Ii8+PC9zdmc+');
  background-size: cover;
}

.badge {
  display: inline-block;
  width: 6rem;
  padding: 0.2rem 0;
  border-radius: 0.375rem;
  color: #fafafa;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.highlight-red { background-color: #ff536f; }
.highlight-blue { background-color: #4099ff; }
.highlight-green { background-color: #2ed8b5; }
.highlight-orange { background-color: #ffb54d; color: #333333;}
