@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Jost:wght@400;500;600&display=swap);
#Slowed * {
  box-sizing: inherit;
}

#Slowed *::before {
  box-sizing: inherit;
}

#Slowed *::after {
  box-sizing: inherit;
}

#Slowed button, #Slowed input, #Slowed optgroup, #Slowed select, #Slowed textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
#Slowed {
  --black:    #1b1f23;
  --white:    #ffffff;

  --gray-50:  #fafbfc;
  --gray-100: #f6f8fa;
  --gray-200: #e1e4e8;
  --gray-300: #d1d5da;
  --gray-400: #959da5;
  --gray-500: #6a737d;
  --gray-600: #586069;
  --gray-700: #444d56;
  --gray-800: #2f363d;
  --gray-900: #24292e;

  --color-black: var(--black);
  --color-white: var(--white);

  --color-gray-50: var(--gray-50);
  --color-gray-100: var(--gray-100);
  --color-gray-200: var(--gray-200);
  --color-gray-300: var(--gray-300);
  --color-gray-400: var(--gray-400);
  --color-gray-500: var(--gray-500);
  --color-gray-600: var(--gray-600);
  --color-gray-700: var(--gray-700);
  --color-gray-800: var(--gray-800);
  --color-gray-900: var(--gray-900);

  --pink-50: #fcf5fc;
  --pink-100: #f8ecf9;
  --pink-200: #f1d8f3;
  --pink-300: #ebc5ed;
  --pink-400: #e4b1e7;
  --pink-500: #dd9ee1;
  --pink-600: #b17eb4;
  --pink-700: #855f87;
  --pink-800: #583f5a;
  --pink-900: #2c202d;

  --color-pink-100: var(--pink-100);
  --color-pink-200: var(--pink-200);
  --color-pink-300: var(--pink-300);
  --color-pink-400: var(--pink-400);
  --color-pink-500: var(--pink-500);
  --color-pink-600: var(--pink-600);
  --color-pink-700: var(--pink-700);
  --color-pink-800: var(--pink-800);
  --color-pink-900: var(--pink-900);
}

#Slowed.dark-mode {
  --color-black: var(--white);
  --color-white: var(--black);

  --color-gray-50: var(--gray-900);
  --color-gray-100: var(--gray-800);
  --color-gray-200: var(--gray-700);
  --color-gray-300: var(--gray-600);
  --color-gray-400: var(--gray-500);
  --color-gray-500: var(--gray-400);
  --color-gray-600: var(--gray-300);
  --color-gray-700: var(--gray-200);
  --color-gray-800: var(--gray-100);
  --color-gray-900: var(--gray-50);

  --color-pink-100: #f1e6f2;
  --color-pink-200: #e3cee4;
  --color-pink-300: #d4b5d7;
  --color-pink-400: #c69dc9;
  --color-pink-500: #b884bc;
  --color-pink-600: #936a96;
  --color-pink-700: #6e4f71;
  --color-pink-800: #4a354b;
  --color-pink-900: #251a26;
}
#Slowed {
  --spacing-0: 0;
  --spacing-05: .125rem;
  --spacing-1: .25rem;
  --spacing-2: .5rem;
  --spacing-3: .75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-7: 2rem;
  --spacing-8: 2.5rem;
  --spacing-9: 3rem;
  --spacing-10: 4rem;
}
#Slowed {
  --font-size-base: 1rem;
  --font-size-small: .9rem;
  --font-size-xsmall: .8rem;
  --font-size-xxsmall: .7rem;
  --font-family-base: 'Inter', sans-serif;
  --font-family-variant: 'Jost', 'Inter', sans-serif;
}
#Slowed .mounting * {
  transition: none !important;
}

#Slowed .mounting *:before {
  transition: none !important;
}

#Slowed .mounting *:after {
  transition: none !important;
}
#Slowed {
  position: relative;
  isolation: isolate;
  background-color: var(--color-white);
  overflow: hidden;
}

#Slowed .ambient-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: var(--color-white);
  /* 0 = calm (no slow / no reverb), 1 = very vibey (max slow + full reverb).
     The divisor below speeds up animations as vibe rises. */
  --ambient-vibe: 0;
  --ambient-speed: calc(0.55 + var(--ambient-vibe) * 1.6);
}

#Slowed .ambient-bg__field {
  position: absolute;
  inset: -25%;
  animation: ambientFieldDrift calc(75s / var(--ambient-speed)) ease-in-out infinite alternate;
  animation-play-state: paused;
  will-change: transform;
}

#Slowed .ambient-bg__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  will-change: transform;
  opacity: 0;
  transition: opacity 1.2s ease;
  animation-play-state: paused;
}

#Slowed .ambient-bg--active .ambient-bg__field, #Slowed .ambient-bg--active .ambient-bg__glow {
  animation-play-state: running;
}

#Slowed .ambient-bg--active .ambient-bg__glow {
  opacity: 1;
}

#Slowed .ambient-bg__glow--1 {
  top: 6%;
  left: 8%;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgb(235 197 237 / 0.9) 0%, rgb(235 197 237 / 0) 68%);
  animation: ambientWave1 calc(55s / var(--ambient-speed)) ease-in-out infinite alternate;
}

#Slowed .ambient-bg__glow--2 {
  top: 38%;
  right: -10%;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgb(248 236 249 / 0.95) 0%, rgb(248 236 249 / 0) 70%);
  animation: ambientWave2 calc(65s / var(--ambient-speed)) ease-in-out infinite alternate-reverse;
}

#Slowed .ambient-bg__glow--3 {
  bottom: -8%;
  left: 24%;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgb(228 177 231 / 0.65) 0%, rgb(228 177 231 / 0) 72%);
  animation: ambientWave3 calc(50s / var(--ambient-speed)) ease-in-out infinite alternate;
}

@keyframes ambientFieldDrift {
  from { transform: translate3d(-2.5%, -1.5%, 0); }
  to   { transform: translate3d(2.5%, 1.5%, 0); }
}

@keyframes ambientWave1 {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(14%, 10%, 0) scale(1.1); }
}

@keyframes ambientWave2 {
  from { transform: translate3d(0, 0, 0) scale(1.05); }
  to   { transform: translate3d(-12%, 14%, 0) scale(0.94); }
}

@keyframes ambientWave3 {
  from { transform: translate3d(0, 0, 0) scale(0.96); }
  to   { transform: translate3d(10%, -12%, 0) scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  #Slowed .ambient-bg__field, #Slowed .ambient-bg__glow {
    animation: none;
  }
}

#Slowed .popup {
  position: relative;
  z-index: 1;
  width: 500px;
  padding: var(--spacing-5) var(--spacing-5) var(--spacing-4);
  font-size: 14px;
  font-family: var(--font-family-base);
  color: var(--color-gray-900);
  background-color: transparent;
  letter-spacing: -0.005em;
}

#Slowed .header {
  position: relative;
  margin-bottom: var(--spacing-5);
}

  #Slowed .header__content {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #Slowed .header__title {
    
  }

    #Slowed .header__title svg {
      width: auto;
      height: 30px;
    }


  #Slowed .header__left_button {
    position: absolute;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }

  #Slowed .header__right_button {
    position: absolute;
    right: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-1);
  }

    #Slowed .header__right_button span {
      margin-right: .5rem;
      font-weight: 500;
      font-size: var(--font-size-xsmall);
    }


  #Slowed .header__bar {
    width: 100%;
    margin: var(--spacing-3) auto var(--spacing-1) auto;
    height: 1px;
    border-radius: 1px;
    background-color: var(--color-gray-200);
  }
#Slowed .reverb {

}

  #Slowed .reverb__label {
    display: flex;
    align-items: center;
    font-family: var(--font-family-variant);
    font-weight: 500;
    margin-bottom: var(--spacing-4);
    letter-spacing: -.01em;
    color: var(--color-black);
    font-size: 0.85rem;
  }

  #Slowed .reverb__label svg {
    width: 1.4em;
    height: 1.4em;
    margin-right: var(--spacing-1);
  }

#Slowed .reverb-amount-slider {
  /* Compensate absolute marker labels, matching .slow */
  padding-bottom: 16px;
}

#Slowed .reverb--locked {
  cursor: pointer;
}

  #Slowed .reverb--locked .reverb__label {
    color: var(--color-gray-400);
  }

  #Slowed .reverb--locked .reverb-amount-slider {
    opacity: .5;
    pointer-events: none;
  }

#Slowed .video-fx-control {
  position: relative;
}

#Slowed .video-fx-picker {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-1);
  height: 26px;
  padding: 0 var(--spacing-3);
  border: 1px solid var(--color-gray-200);
  border-radius: 999px;
  background-color: var(--color-white);
  color: var(--color-black);
  cursor: pointer;
  font-family: var(--font-family-base);
  font-size: var(--font-size-xsmall);
  font-weight: 500;
  letter-spacing: -.005em;
  transition: border-color .15s ease, background-color .15s ease;
  max-width: 200px;
}

  #Slowed .video-fx-picker:hover {
    border-color: var(--color-gray-300);
    background-color: var(--color-gray-50);
  }

  #Slowed .video-fx-picker:disabled {
    cursor: not-allowed;
    opacity: .5;
    pointer-events: none;
  }

  #Slowed .video-fx-picker--open {
    border-color: var(--color-pink-300);
    background-color: var(--color-pink-100);
    color: var(--color-pink-800);
  }

  #Slowed .video-fx-picker__value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #Slowed .video-fx-picker__caret {
    font-size: 0.7em;
    color: var(--color-gray-400);
    transition: transform .15s ease, color .15s ease;
  }

  #Slowed .video-fx-picker--open .video-fx-picker__caret {
    color: var(--color-pink-700);
    transform: rotate(180deg);
  }

#Slowed .video-fx-menu__backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: transparent;
}

#Slowed .video-fx-menu {
  position: absolute;
  top: calc(100% + var(--spacing-1));
  right: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  padding: var(--spacing-2);
  min-width: 220px;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: 10px;
  box-shadow: 0 6px 24px -4px rgba(0,0,0,0.12);
  animation: videoFxMenuIn .15s ease-out;
}

@keyframes videoFxMenuIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

  #Slowed .video-fx-menu__item {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-1);
    height: 26px;
    padding: 0 var(--spacing-2);
    border: none;
    background: transparent;
    color: var(--color-gray-700);
    cursor: pointer;
    border-radius: 6px;
    font-family: var(--font-family-base);
    font-size: var(--font-size-xsmall);
    font-weight: 400;
    text-align: left;
    transition: background-color .12s ease, color .12s ease;
  }

  #Slowed .video-fx-menu__item svg {
    width: .85em;
    height: .85em;
    color: var(--color-gray-300);
  }

  #Slowed .video-fx-menu__item:hover:not(:disabled) {
    background-color: var(--color-gray-100);
    color: var(--color-black);
  }

  #Slowed .video-fx-menu__item--active {
    background-color: var(--color-pink-100);
    color: var(--color-pink-800);
    font-weight: 500;
  }

  #Slowed .video-fx-menu__item--active:hover:not(:disabled) {
    background-color: var(--color-pink-200);
  }

  #Slowed .video-fx-menu__item--locked {
    color: var(--color-gray-300);
    cursor: not-allowed;
  }

#Slowed .switcher {
  position: relative;
  width: 40px;
  height: 18px;
  background-color: var(--color-gray-200);
  appearance: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s;
}

  #Slowed .switcher:before {
    position: absolute; 
    left: 0;
    top: 0;
    width: calc(55% - 4px);
    height: calc(100% - 4px);
    border-radius: 6px;
    background-color: var(--white);
    content: "";
    margin: 2px;
    transition: left .15s ease-in-out;
  }

  #Slowed .switcher:active {
    background-color: var(--color-pink-300);
  }

  #Slowed .switcher:checked {
    background-color: var(--color-pink-500);
  }

  #Slowed .switcher:checked:active {
    background-color: var(--color-pink-600);
  }

  #Slowed .switcher:checked:before {
    left: 18px;
  }
#Slowed .slow {
  /* Compensate absolute label */
  padding-bottom: 16px; 
}

  #Slowed .slow > *:not(:last-child) {
    margin-right: var(--spacing-2);
  }

  #Slowed .slow__label {
    display: flex;
    align-items: center;
    font-family: var(--font-family-variant);
    font-weight: 500;
    margin-bottom: var(--spacing-4);
    color: var(--color-black);
    letter-spacing: -.01em;
    font-size: 0.85rem;
  }

    #Slowed .slow__label svg {
      width: 1.4em;
      height: 1.4em;
      margin-right: var(--spacing-1);
    } 

  #Slowed .slow__handler {
    flex: 1;
  }

  #Slowed .slow__switcher {
    display: flex;
  }
#Slowed .slider {
  --slider-height: 30px;
  --slider-thumb-size: 20px;
  --slider-point-size: 4px;
  --slider-track-size: 1px;

  position: relative;
  display: flex;
  align-items: center;
  padding: 0 var(--spacing-7);
}

    #Slowed .slider--on input[type=range]::-webkit-slider-thumb {
      border-color: var(--color-pink-500) !important;
    }


  #Slowed .slider input[type=range] {
    width: 100%;
    height: 100%;
    -webkit-appearance: none;
    background-color: transparent;
    cursor: pointer;
  }

  #Slowed .slider input[type=range]:focus {
    outline: none;
  }
 
  #Slowed .slider input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: var(--slider-track-size);
    border-radius: var(--slider-track-size);
    transition: .15s background;
    cursor: pointer;
  }

  #Slowed .slider input[type=range]::-webkit-slider-thumb {
    position: relative;
    width: var(--slider-thumb-size);
    height: var(--slider-thumb-size);
    margin-top: calc((var(--slider-thumb-size) / -2) + (var(--slider-track-size) / 2));
    border-radius: 50%;
    box-shadow: var(--color-gray-200) 0 0 0 1px, var(--color-gray-100) 0 10px 10px -5px;
    transition: box-shadow .15s ease;
    cursor: -webkit-grab;
    -webkit-appearance: none;
    transition: .15s all;
    z-index: 2;
    opacity: 0;
  }

    #Slowed .slider:hover input[type=range]::-webkit-slider-thumb {
      opacity: 1;
      background: var(--color-white);
    }

  #Slowed .slider input[type=range]:active::-webkit-slider-thumb {
    transform: scale(.95);
  }

    #Slowed .slider input[type=range]::-webkit-slider-thumb:hover {
      box-shadow: var(--color-gray-300) 0 0 0 1px, var(--color-gray-100) 0 10px 10px -5px;
    }


  #Slowed .slider__interactor {
    position: relative;
    flex: 1;
    /* cursor: pointer; */
    height: var(--slider-height);
    cursor: pointer;
  }

  #Slowed .slider__points {
    position: absolute;
    pointer-events: none;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
  }

  #Slowed .slider__point {
    --slider-margin-correction: calc((var(--slider-thumb-size) / 2) - (var(--slider-point-size) / 2));

    position: relative;
    width: var(--slider-point-size);
    height: var(--slider-point-size);
  }

    #Slowed .slider__point--hide {
      opacity: 0;
    }

    #Slowed .slider:hover .slider__point:after {
      transform: scale(1.6);
    }

    #Slowed .slider:hover .slider__point:not(.slider__point--active):after {
      background-color: var(--color-gray-300);
    }

    #Slowed .slider__point:after {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-color: var(--color-gray-200);
      content: "";
      border-radius: 50%; 
      transition: .3s transform;
    }

    #Slowed .slider__point--active .slider__label {
      opacity: 1;
    }

    #Slowed .slider__point:first-child {
      margin-left: var(--slider-margin-correction);
    }

    #Slowed .slider__point:last-child {
      margin-right: var(--slider-margin-correction);
    }

    #Slowed .slider__point--active:after {
      background-color: var(--color-pink-500);
      transform: scale(2.5);
    }

  #Slowed .slider__label {
    position: absolute;
    top: 18px;
    font-size: var(--font-size-xsmall);
    width: 60px;
    text-align: center;
    margin-left: -28px;
    opacity: 0;
    font-weight: 500;
    color: var(--color-black);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  #Slowed .slider__ghost {
    width: 2px;
    background-color: var(--color-pink-500);
    position: absolute;
    margin-left: -1px;
    opacity: 0;
    z-index: 1;
    cursor: pointer;
    pointer-events: none;
    transition: .15s opacity;
  }

  #Slowed .slider__ghost--active {
    opacity: 1;
  }
#Slowed .content {
  position: relative;
  display: grid;
  gap: var(--spacing-5);
  transform: scale(1);
  transition: transform .3s ease-out;
}

  #Slowed .content--disabled {
    transform: scale(0.98);
    opacity: .55;
    filter: saturate(.6);
    transition: transform .3s ease-out, opacity .3s ease, filter .3s ease;
  }

  #Slowed .content__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: not-allowed;
    background-color: transparent;
    z-index: 999;
  }

#Slowed .subcontent {
  display: grid;
  gap: var(--spacing-2);
}

#Slowed .share {
  display: flex;
  height: 25px;
  align-items: center;
  justify-content: space-between;
}

  #Slowed .share__label {
    display: flex;
    align-items: center;
    color: var(--color-black);
  }
    
    #Slowed .share__label svg {
      width: 1.2em;
      height: 1.2em;
      margin-right: .3em;
      color: var(--color-gray-300);
    }

  #Slowed .share__link {
    width: 50%;
    font-size: .8em;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    font-family: Menlo;
    background-color: var(--color-white);
    color: var(--color-gray-500);
    cursor: pointer;
  }
#Slowed .input {
  border: 0;
  padding: 0;
}

  #Slowed .input:active {
    outline: 0;
  }

  #Slowed .input:focus {
    outline: 0;
  }
#Slowed .button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-pink-200);
  text-align: center;
  cursor: pointer;
  background: transparent;
  padding: 0;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .06em;
  border-radius: 999px;
  padding: var(--spacing-1) var(--spacing-3);
  color: var(--color-pink-800);
  background-color: var(--color-pink-100);
  font-size: var(--font-size-xxsmall);
  font-weight: 600;
  font-family: var(--font-family-base);
  height: 22px;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

  #Slowed .button:hover:not(:disabled) {
    background-color: var(--color-pink-200);
    border-color: var(--color-pink-300);
  }

  #Slowed .button:active:not(:disabled) {
    background-color: var(--color-pink-300);
  }

  #Slowed .button:disabled {
    cursor: not-allowed;
    opacity: .5;
  }

#Slowed .button--pro {
  position: relative;
  overflow: hidden;
}

  #Slowed .button--pro__label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity .35s ease, transform .35s ease;
    white-space: nowrap;
    pointer-events: none;
  }

  #Slowed .button--pro__label--default {
    position: relative;
  }

  #Slowed .button--pro__label--trial-mode, #Slowed .button--pro__label--trial-days {
    position: absolute;
    inset: 0;
    /* Smaller font + tighter letter-spacing so longer copy fits the button's
       natural Unlock-PRO width */
    font-size: calc(var(--font-size-xxsmall) * 0.85);
    letter-spacing: .04em;
  }

  /* Step 0: Unlock PRO showing */
  #Slowed .button--pro-step-0 .button--pro__label--default { opacity: 1; transform: translateY(0); }
  #Slowed .button--pro-step-0 .button--pro__label--trial-mode { opacity: 0; transform: translateY(40%); }
  #Slowed .button--pro-step-0 .button--pro__label--trial-days { opacity: 0; transform: translateY(40%); }

  /* Step 1: Trial mode showing */
  #Slowed .button--pro-step-1 .button--pro__label--default { opacity: 0; transform: translateY(-40%); }
  #Slowed .button--pro-step-1 .button--pro__label--trial-mode { opacity: 1; transform: translateY(0); }
  #Slowed .button--pro-step-1 .button--pro__label--trial-days { opacity: 0; transform: translateY(40%); }

  /* Step 2: X days left showing */
  #Slowed .button--pro-step-2 .button--pro__label--default { opacity: 0; transform: translateY(-40%); }
  #Slowed .button--pro-step-2 .button--pro__label--trial-mode { opacity: 0; transform: translateY(-40%); }
  #Slowed .button--pro-step-2 .button--pro__label--trial-days { opacity: 1; transform: translateY(0); }


#Slowed .other-control {
  display: flex;
  flex-direction: column;
  min-height: 25px;
  justify-content: center;
  transition: padding .15s ease;
}

  #Slowed .other-control__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 25px;
  }

  #Slowed .other-control__label {
    display: flex;
    align-items: center;
    font-family: var(--font-family-variant);
    color: var(--color-black);
    letter-spacing: -.01em;
    font-weight: 500;
    font-size: 0.85rem;
  }

    #Slowed .other-control__label svg {
      width: 1.4em;
      height: 1.4em;
      margin-right: var(--spacing-1);
    }

  #Slowed .other-control--locked {
    cursor: pointer;
  }

  #Slowed .other-control--locked .other-control__label {
    color: var(--color-gray-300);
  }

  #Slowed .other-control__vendors {
    display: flex;
    align-items: center;
    gap: var(--spacing-2);
  }

  #Slowed .other-control__expander {
    margin-top: var(--spacing-3);
    padding: var(--spacing-2) var(--spacing-3);
    background-color: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: 10px;
    animation: otherControlExpand .15s ease-out;
  }

@keyframes otherControlExpand {
  from { opacity: 0; transform: translateY(-2px); }
  to   { opacity: 1; transform: translateY(0); }
}

#Slowed .gear-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color-gray-400);
  cursor: pointer;
  border-radius: 50%;
  transition: color .15s ease, background-color .15s ease, transform .2s ease;
}

  #Slowed .gear-button:hover {
    color: var(--color-gray-700);
    background-color: var(--color-gray-100);
  }

  #Slowed .gear-button--on {
    color: var(--color-pink-700);
    background-color: var(--color-pink-100);
    transform: rotate(45deg);
  }

  #Slowed .gear-button--on:hover {
    color: var(--color-pink-800);
    background-color: var(--color-pink-200);
  }

#Slowed .actions {
  display: flex;
  flex-direction: column;
  color: var(--color-gray-500);
  font-size: var(--font-size-xxsmall);
  gap: var(--spacing-2);
  margin-top: var(--spacing-3);
  padding-top: var(--spacing-3);
  border-top: 1px solid var(--color-gray-200);
}

  #Slowed .actions__list {
    display: flex;
    row-gap: var(--spacing-2);
    column-gap: var(--spacing-3);
    flex-wrap: wrap;
    justify-content: center;
  }

  #Slowed .actions__status {
    font-weight: 600;
    text-align: center;
    color: var(--color-pink-700);
  }

  #Slowed .actions a {
    text-decoration: none;
    color: var(--color-gray-500);
    transition: color .15s ease;
  }

  #Slowed .actions a:hover {
    color: var(--color-black);
  }

#Slowed .feature-highlight {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-end;
}

  #Slowed .feature-highlight__overlay {
    cursor: not-allowed;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }

  #Slowed .feature-highlight__content {
    position: relative;
    width: 60%;
    display: flex;
    margin-bottom: var(--spacing-4);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: var(--spacing-3);
    background-color: var(--color-white);
    border: 1px solid var(--color-gray-800);
    border-right-width: 3px;
    border-bottom-width: 3px;
    border-radius: 8px;
  }

  #Slowed .feature-highlight__close {
    margin-top: var(--spacing-4);
  }

    #Slowed .feature-highlight__close a {
      text-decoration: none;
      font-size: var(--font-size-xxsmall);
      color: var(--color-black);
    }

  #Slowed .feature-highlight__emoji {
    font-size: 1.5rem;
  }

  #Slowed .feature-highlight__title {
    margin-top: var(--spacing-1);
    margin-bottom: var(--spacing-4);
    color: var(--color-black);
    font-weight: 600;
    letter-spacing: -.03rem;
    text-align: center;
  }
  
  #Slowed .feature-highlight__text {
    color: var(--color-gray-700);
    font-size: var(--font-size-xsmall);
    line-height: 1.3;
  }
#Slowed .mini-slider {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
  width: 100%;
}

  #Slowed .mini-slider--disabled {
    opacity: .5;
    pointer-events: none;
  }

  #Slowed .mini-slider__label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    font-size: var(--font-size-xsmall);
    color: var(--color-gray-500);
    letter-spacing: -.005em;
  }

  #Slowed .mini-slider__value {
    font-weight: 600;
    color: var(--color-black);
    font-variant-numeric: tabular-nums;
  }

  #Slowed .mini-slider input[type=range] {
    --mini-slider-fill: 0%;
    width: 100%;
    height: 18px;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
  }

  #Slowed .mini-slider input[type=range]:focus {
    outline: none;
  }

  #Slowed .mini-slider input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 3px;
    border-radius: 2px;
    background:
      linear-gradient(
        to right,
        var(--color-pink-500) 0%,
        var(--color-pink-500) var(--mini-slider-fill),
        var(--color-gray-200) var(--mini-slider-fill),
        var(--color-gray-200) 100%
      );
  }

  #Slowed .mini-slider input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: var(--color-white);
    border: 1px solid var(--color-pink-500);
    margin-top: -6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    transition: transform .15s ease;
  }

  #Slowed .mini-slider input[type=range]:active::-webkit-slider-thumb {
    transform: scale(0.92);
  }


#Slowed .modes-grid-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
}

#Slowed .modes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-2);
}

#Slowed .mode-tile {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
  padding: var(--spacing-2);
  border: 1px solid var(--color-gray-200);
  background-color: var(--color-white);
  color: var(--color-gray-700);
  border-radius: 12px;
  cursor: pointer;
  font-family: var(--font-family-variant);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: -.01em;
  text-align: center;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
}

  #Slowed .mode-tile:hover {
    border-color: var(--color-gray-300);
    background-color: var(--color-gray-50);
  }

  #Slowed .mode-tile:active {
    transform: scale(0.97);
  }

  #Slowed .mode-tile--active {
    background-color: var(--color-pink-500);
    border-color: var(--color-pink-500);
    color: var(--color-black);
  }

  #Slowed .mode-tile--active:hover {
    background-color: var(--color-pink-400);
    border-color: var(--color-pink-400);
  }

  #Slowed .mode-tile--locked {
    color: var(--color-gray-400);
    background-color: var(--color-gray-50);
  }

  #Slowed .mode-tile--locked .mode-tile__label {
    opacity: .85;
  }

  #Slowed .mode-tile__label {
    display: block;
    line-height: 1.2;
  }

  #Slowed .mode-tile__lock {
    position: absolute;
    top: 6px;
    left: 6px;
    display: inline-flex;
    color: var(--color-gray-400);
  }

    #Slowed .mode-tile__lock svg {
      width: 12px;
      height: 12px;
    }

  #Slowed .mode-tile__gear {
    position: absolute;
    top: 4px;
    right: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: var(--color-gray-400);
    border-radius: 50%;
    transition: background-color .12s ease, color .12s ease, transform .2s ease;
  }

    #Slowed .mode-tile__gear svg {
      width: 12px;
      height: 12px;
    }

    #Slowed .mode-tile__gear:hover {
      background-color: var(--color-gray-100);
      color: var(--color-gray-700);
    }

  #Slowed .mode-tile--active .mode-tile__gear {
    color: var(--color-pink-800);
  }

  #Slowed .mode-tile--active .mode-tile__gear:hover {
    background-color: var(--color-pink-300);
  }

  #Slowed .mode-tile__gear--on {
    transform: rotate(45deg);
    background-color: var(--color-pink-100);
    color: var(--color-pink-700);
  }

  #Slowed .mode-tile--active .mode-tile__gear--on {
    background-color: var(--color-pink-200);
  }

#Slowed .modes-grid__expander {
  padding: var(--spacing-3);
  background-color: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: 10px;
  animation: modesExpand .15s ease-out;
}

@keyframes modesExpand {
  from { opacity: 0; transform: translateY(-2px); }
  to   { opacity: 1; transform: translateY(0); }
}

#Slowed .shuffle-fab {
  position: absolute;
  right: var(--spacing-5);
  bottom: var(--spacing-5);
  z-index: 100;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--color-pink-300);
  background-color: var(--color-pink-500);
  color: var(--color-pink-900);
  border-radius: 50%;
  cursor: pointer;
  box-shadow:
    0 6px 18px -4px rgba(221, 158, 225, 0.55),
    0 1px 2px rgba(0, 0, 0, 0.08);
  transition: background-color .15s ease, border-color .15s ease,
              transform .25s cubic-bezier(.34, 1.56, .64, 1),
              color .15s ease, box-shadow .2s ease;
  animation: shuffleFabFloat 6s ease-in-out infinite;
}

  #Slowed .shuffle-fab:hover:not(:disabled) {
    background-color: var(--color-pink-400);
    border-color: var(--color-pink-400);
    transform: translateY(-2px) rotate(-12deg) scale(1.05);
    box-shadow:
      0 10px 22px -4px rgba(221, 158, 225, 0.65),
      0 2px 4px rgba(0, 0, 0, 0.1);
  }

  #Slowed .shuffle-fab:active:not(:disabled) {
    transform: translateY(0) rotate(10deg) scale(0.95);
  }

  #Slowed .shuffle-fab:disabled {
    cursor: default;
  }

/* Icon swapping (wand <-> checkmark) */
#Slowed .shuffle-fab__icon {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  transition: opacity .25s ease, transform .35s cubic-bezier(.34, 1.56, .64, 1);
}

  #Slowed .shuffle-fab__icon svg {
    width: 20px;
    height: 20px;
  }

  #Slowed .shuffle-fab__icon--wand {
    opacity: 1;
    transform: scale(1) rotate(0);
  }

  #Slowed .shuffle-fab__icon--check {
    opacity: 0;
    transform: scale(0.5);
  }

/* Loading: spin the wand */
#Slowed .shuffle-fab--loading {
  background-color: var(--color-pink-400);
  border-color: var(--color-pink-300);
  animation: shuffleFabFloat 6s ease-in-out infinite, shuffleFabPulse 1.2s ease-in-out infinite;
}

  #Slowed .shuffle-fab--loading .shuffle-fab__icon--wand {
    animation: shuffleFabSpin 1.1s cubic-bezier(.45, .05, .55, .95) infinite;
  }

  #Slowed .shuffle-fab--loading::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px solid var(--color-pink-300);
    border-top-color: transparent;
    border-right-color: transparent;
    animation: shuffleFabSpin 1.1s linear infinite reverse;
    pointer-events: none;
  }

/* Applied: swap to checkmark, pop, fire sparkles */
#Slowed .shuffle-fab--applied {
  background-color: var(--color-pink-400);
  border-color: var(--color-pink-500);
  animation: shuffleFabPop .55s cubic-bezier(.34, 1.56, .64, 1);
}

  #Slowed .shuffle-fab--applied .shuffle-fab__icon--wand {
    opacity: 0;
    transform: scale(0.5) rotate(40deg);
  }

  #Slowed .shuffle-fab--applied .shuffle-fab__icon--check {
    opacity: 1;
    transform: scale(1) rotate(0);
  }

  #Slowed .shuffle-fab--applied .shuffle-fab__sparkle {
    animation: shuffleFabSparkle .85s ease-out forwards;
  }

/* Sparkles burst out of the FAB when applied */
#Slowed .shuffle-fab__sparkle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  margin-top: -2.5px;
  margin-left: -2.5px;
  background-color: var(--color-pink-700);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  transform: translate(0, 0) scale(0);
}

  #Slowed .shuffle-fab__sparkle--1 { --sparkle-dx: -22px; --sparkle-dy: -20px; }
  #Slowed .shuffle-fab__sparkle--2 { --sparkle-dx:  24px; --sparkle-dy: -16px; }
  #Slowed .shuffle-fab__sparkle--3 { --sparkle-dx:   2px; --sparkle-dy: -28px; }

/* Locked */
#Slowed .shuffle-fab--locked {
  background-color: var(--color-gray-100);
  border-color: var(--color-gray-200);
  color: var(--color-gray-500);
  box-shadow: 0 4px 14px -4px rgba(0, 0, 0, 0.1);
  animation: none;
}

  #Slowed .shuffle-fab__lock {
    position: absolute;
    top: -4px;
    right: -4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background-color: var(--color-white);
    color: var(--color-gray-700);
    border: 1px solid var(--color-gray-200);
    border-radius: 50%;
    box-shadow: 0 2px 6px -2px rgba(0,0,0,0.15);
  }

  #Slowed .shuffle-fab__lock svg {
    width: 10px;
    height: 10px;
  }

  #Slowed .shuffle-fab--locked:hover {
    background-color: var(--color-gray-200);
    border-color: var(--color-gray-300);
    color: var(--color-gray-700);
  }

@keyframes shuffleFabFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-3px); }
}

@keyframes shuffleFabPulse {
  0%, 100% { box-shadow: 0 6px 18px -4px rgba(221, 158, 225, 0.55), 0 0 0 0 rgba(221, 158, 225, 0.5); }
  50%      { box-shadow: 0 6px 18px -4px rgba(221, 158, 225, 0.65), 0 0 0 8px rgba(221, 158, 225, 0); }
}

@keyframes shuffleFabSpin {
  to { transform: rotate(360deg); }
}

@keyframes shuffleFabPop {
  0%   { transform: scale(1); }
  35%  { transform: scale(1.18); }
  60%  { transform: scale(0.95); }
  100% { transform: scale(1); }
}

@keyframes shuffleFabSparkle {
  0%   { opacity: 0; transform: translate(0, 0) scale(0); }
  20%  { opacity: 1; transform: translate(calc(var(--sparkle-dx) * 0.3), calc(var(--sparkle-dy) * 0.3)) scale(1); }
  100% { opacity: 0; transform: translate(var(--sparkle-dx), var(--sparkle-dy)) scale(0.4); }
}

@media (prefers-reduced-motion: reduce) {
  #Slowed .shuffle-fab, #Slowed .shuffle-fab--loading, #Slowed .shuffle-fab--loading .shuffle-fab__icon--wand, #Slowed .shuffle-fab--loading::before, #Slowed .shuffle-fab--applied {
    animation: none;
  }
}



/*# sourceMappingURL=popup.css.map*/