.vjs-airplay-button .vjs-icon-placeholder{background:url('data:image/svg+xml,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">%0A    <defs>%0A        <path d="M0 0h24v24H0V0z" id="a"/>%0A    </defs>%0A    <defs>%0A        <path d="M0 0h24v24H0V0z" id="c"/>%0A    </defs>%0A    <clipPath id="b">%0A        <use overflow="visible" xlink:href="%23a"/>%0A    </clipPath>%0A    <clipPath clip-path="url(%23b)" id="d">%0A        <use overflow="visible" xlink:href="%23c"/>%0A    </clipPath>%0A    <path clip-path="url(%23d)" d="M6 22h12l-6-6zM21 3H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h4v-2H3V5h18v12h-4v2h4c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/>%0A</svg>%0A') center center no-repeat;background-size:contain;display:inline-block;width:22px;height:22px}.vjs-airplay-button:hover{cursor:pointer}.vjs-airplay-button:hover .vjs-icon-placeholder{background-image:url('data:image/svg+xml,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">%0A    <defs>%0A        <path d="M0 0h24v24H0V0z" id="a"/>%0A    </defs>%0A    <defs>%0A        <path d="M0 0h24v24H0V0z" id="c"/>%0A    </defs>%0A    <clipPath id="b">%0A        <use overflow="visible" xlink:href="%23a"/>%0A    </clipPath>%0A    <clipPath clip-path="url(%23b)" id="d">%0A        <use overflow="visible" xlink:href="%23c"/>%0A    </clipPath>%0A    <path clip-path="url(%23d)" d="M6 22h12l-6-6zM21 3H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h4v-2H3V5h18v12h-4v2h4c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/>%0A</svg>%0A')}.vjs-airplay-button.vjs-airplay-button-lg:not(.vjs-hidden){display:flex;align-items:center;width:auto;padding:0 4px}.vjs-airplay-button.vjs-airplay-button-lg:not(.vjs-hidden) .vjs-airplay-button-label{flex-grow:1;margin-left:4px}.vjs-airplay-button.vjs-airplay-button-lg:not(.vjs-hidden) .vjs-icon-placeholder{flex-grow:1}.vjs-chromecast-button .vjs-icon-placeholder{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAvJJREFUaAXtmTtoFFEUhrMhpRZipQELBQsbwUoEQYPaWFhpYSloJ1bai502tqnVRojYWPlA1CKCjWUKLYRsGmOKdKKs3xnmzpz57+xjdMaZhTnw79zzuOdx79zH7i4s9NSPQD8C/Qh0ZgRGo9EyeAKGoGu0SUKW27IfsEFgUsVn+P1B1tHnNnkdHwwGm5bfokvyAe2uJ2/pWo73rWHkZ2AIfyCRdv9jixk4aGn6AkY+bwwynZe31bYF6WOH/Pwr5PVz0+4LaHuq+hloewaWQgJhVQd+Xp79K9T2TM39DGRrgINul9G060TAV9ovwEfWR+EURNY9sqN6DG0hXwXn2sxac4tyUYMx/DvkJ6PO/0Gg+UQh1WAKv4b+cOSkQYHmE0JlN04M9iK067RdUw+B8+Ai2AfKaAfhFdbHqzJl3TIrwPuc6dyizxJYAc9AGf1CeNM7bqqtwSvHwcEp8EEdpfzDyg4rdtC4Fbvn5ji6BWzklRqdCQ2WZ5S2MNgFG+ANuAtOREa57QX0O8CTFdXYVusDWTvKTQ1S3gq6HBkjQH4MaBE/kDWyO+G3QFFOBW3MrCOKEkNmM6Gv01rkvAaBphS5VIMS/juyM9oRma0JpdoPOw2gedgrsQccBVfBU/ATKJmsrAjdnd5HAf5RoIlMdUeHI6Bs/7eZKLxO8LbFKtW6oNX51AKCAR1vg9/iYD3owxO9FrsadHU8JX68C00KQmcrQqmwO6E8KwZ2i82uKpP8z6IT33EBGNg5YLvNDRAFRqYjvOEDo7drh22jnmpbzN6ptX3spC0Gr+ELv5PC25rQhV047NA/Ap7uRYH+UuCdWju4WQwNea7AP8Yumwluf1+QPRe7S8K/FL6w2E2niczKi1/71pjQuAJMaUVcT6zyDy3gdK5KWt+ET35BFlkd7NvgZFIBZnMtGKbPT8IX/i1Bl41MatdEAdv4viN5jJ1a+6KfEdNth52nSnpz5DtXbA+xj/5iypLrG/0I9CPQj0ArI/AHixCE2UoSwqgAAAAASUVORK5CYII=) center center no-repeat;background-size:contain;display:inline-block;width:22px;height:22px}.vjs-chromecast-button:hover{cursor:pointer}.vjs-chromecast-button:hover .vjs-icon-placeholder{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAvJJREFUaAXtmTtoFFEUhrMhpRZipQELBQsbwUoEQYPaWFhpYSloJ1bai502tqnVRojYWPlA1CKCjWUKLYRsGmOKdKKs3xnmzpz57+xjdMaZhTnw79zzuOdx79zH7i4s9NSPQD8C/Qh0ZgRGo9EyeAKGoGu0SUKW27IfsEFgUsVn+P1B1tHnNnkdHwwGm5bfokvyAe2uJ2/pWo73rWHkZ2AIfyCRdv9jixk4aGn6AkY+bwwynZe31bYF6WOH/Pwr5PVz0+4LaHuq+hloewaWQgJhVQd+Xp79K9T2TM39DGRrgINul9G060TAV9ovwEfWR+EURNY9sqN6DG0hXwXn2sxac4tyUYMx/DvkJ6PO/0Gg+UQh1WAKv4b+cOSkQYHmE0JlN04M9iK067RdUw+B8+Ai2AfKaAfhFdbHqzJl3TIrwPuc6dyizxJYAc9AGf1CeNM7bqqtwSvHwcEp8EEdpfzDyg4rdtC4Fbvn5ji6BWzklRqdCQ2WZ5S2MNgFG+ANuAtOREa57QX0O8CTFdXYVusDWTvKTQ1S3gq6HBkjQH4MaBE/kDWyO+G3QFFOBW3MrCOKEkNmM6Gv01rkvAaBphS5VIMS/juyM9oRma0JpdoPOw2gedgrsQccBVfBU/ATKJmsrAjdnd5HAf5RoIlMdUeHI6Bs/7eZKLxO8LbFKtW6oNX51AKCAR1vg9/iYD3owxO9FrsadHU8JX68C00KQmcrQqmwO6E8KwZ2i82uKpP8z6IT33EBGNg5YLvNDRAFRqYjvOEDo7drh22jnmpbzN6ptX3spC0Gr+ELv5PC25rQhV047NA/Ap7uRYH+UuCdWju4WQwNea7AP8Yumwluf1+QPRe7S8K/FL6w2E2niczKi1/71pjQuAJMaUVcT6zyDy3gdK5KWt+ET35BFlkd7NvgZFIBZnMtGKbPT8IX/i1Bl41MatdEAdv4viN5jJ1a+6KfEdNth52nSnpz5DtXbA+xj/5iypLrG/0I9CPQj0ArI/AHixCE2UoSwqgAAAAASUVORK5CYII=)}.vjs-chromecast-button.vjs-chromecast-casting-state .vjs-icon-placeholder{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA49JREFUaAXtmTtoFFEUhrMhVtFCBEEDFgoWNqIgaCAQg9pYWGlhKWgnNkaxDHba2KZWGyFiI0J8ohZRbOwMqIWQpDGmSCfK+p1x7+y5/8zuzmQ3yQbmwL9z3vfc59zdHRioqBqBagSqEeibEajX6yPgIVgE/UYLFGS1jfgBqwWhYfiMvCvo+vS5TF2Ha7XagtU36Iq8C9/vxVu5VuMdY4z8DCwi70m0/f+xxAzstTJ9B+q+bhxSm9dvFm8b0rcd6vNLyNu3DF91YLOnaqhoAboGi8at1S+s8U7xW34JpTNQtMedRmSj7WVmYJLi5je6wJ63x14YA89sT6wnaeHaltpLyyQ8CT5q4l7JWpDmDfb0bYvDKkq7TgR8h38KPrA/orcguoSIsSV4E0yBbYmyRx+6J60DPrXaB8yhBS2hnwanfALPYzsCvoKekc9vvCZWe8ZBAxryW57HM8H/G9iNrWdLStvQetRetAMhzwzMfk2CbhjMBqdunjm5o3TB7vfADpR2nbZr6j5wGpwFO0EeraC8wFp84Y20Moz8Ghzz+rK8rnGr3udQu7elPDFDYAI8Bnn0B+XVNKDBoLPl1NWeyMkZta/2jjLRo+B9lKUp3NMEmGxj/266lONy8kUJ1F5YJss1YCOvlDcTt9SpqKwFaZzabROvgnnwCkyBoxmnhgLbGbACPFmnoqMWeRCs6WTStn1Dxqu91SlkHTqfcUaB/hDQTvxCF51OyPbGLk3apiZQe6sOhLg5mKgwS4DOZkKX04wmx6f03SknB2mapPZOHbDIn2BcA9HZnlA64f0w2gWwFPl44zVY7eawHRwEF8EjkHeCmG5cg9Hp6fQux+cLfoUpJz6KVXtGxvsAyDv/bSai5YQ8CpR0Q19Xh3ayFqS+am8pEzgJ/kqCOQ3Arp2dVp9uZGk/ewq1S06wdUIpOp0w6mljt9j0qtIufxGbNp6JwcHeA3baXAGZhtHpCEdfL7HbtcOOUU+5N9dM4wUUPqnxmRBxeIlsF7uUkG1P6MaOXnbY7wNPt9MEXTI+qfEh3WBg5DmB/AC/dCa4/X1D90T8zon8XORos5tNCykqS1771phQqw6Y0TpxOfFqfmgHxpqmhPshcvILsuh6Ib4JSdp1wHwuBcfG85PI0b8l2NKRafitRweWyX1D6mg5tfZFPyWm2152nkrZLZEPLskv4p/5iyktrmKqEahGoBqBTRmBfwb8WzXqcsYyAAAAAElFTkSuQmCC)}.vjs-chromecast-button.vjs-chromecast-casting-state:hover .vjs-icon-placeholder{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA49JREFUaAXtmTtoFFEUhrMhVtFCBEEDFgoWNqIgaCAQg9pYWGlhKWgnNkaxDHba2KZWGyFiI0J8ohZRbOwMqIWQpDGmSCfK+p1x7+y5/8zuzmQ3yQbmwL9z3vfc59zdHRioqBqBagSqEeibEajX6yPgIVgE/UYLFGS1jfgBqwWhYfiMvCvo+vS5TF2Ha7XagtU36Iq8C9/vxVu5VuMdY4z8DCwi70m0/f+xxAzstTJ9B+q+bhxSm9dvFm8b0rcd6vNLyNu3DF91YLOnaqhoAboGi8at1S+s8U7xW34JpTNQtMedRmSj7WVmYJLi5je6wJ63x14YA89sT6wnaeHaltpLyyQ8CT5q4l7JWpDmDfb0bYvDKkq7TgR8h38KPrA/orcguoSIsSV4E0yBbYmyRx+6J60DPrXaB8yhBS2hnwanfALPYzsCvoKekc9vvCZWe8ZBAxryW57HM8H/G9iNrWdLStvQetRetAMhzwzMfk2CbhjMBqdunjm5o3TB7vfADpR2nbZr6j5wGpwFO0EeraC8wFp84Y20Moz8Ghzz+rK8rnGr3udQu7elPDFDYAI8Bnn0B+XVNKDBoLPl1NWeyMkZta/2jjLRo+B9lKUp3NMEmGxj/266lONy8kUJ1F5YJss1YCOvlDcTt9SpqKwFaZzabROvgnnwCkyBoxmnhgLbGbACPFmnoqMWeRCs6WTStn1Dxqu91SlkHTqfcUaB/hDQTvxCF51OyPbGLk3apiZQe6sOhLg5mKgwS4DOZkKX04wmx6f03SknB2mapPZOHbDIn2BcA9HZnlA64f0w2gWwFPl44zVY7eawHRwEF8EjkHeCmG5cg9Hp6fQux+cLfoUpJz6KVXtGxvsAyDv/bSai5YQ8CpR0Q19Xh3ayFqS+am8pEzgJ/kqCOQ3Arp2dVp9uZGk/ewq1S06wdUIpOp0w6mljt9j0qtIufxGbNp6JwcHeA3baXAGZhtHpCEdfL7HbtcOOUU+5N9dM4wUUPqnxmRBxeIlsF7uUkG1P6MaOXnbY7wNPt9MEXTI+qfEh3WBg5DmB/AC/dCa4/X1D90T8zon8XORos5tNCykqS1771phQqw6Y0TpxOfFqfmgHxpqmhPshcvILsuh6Ib4JSdp1wHwuBcfG85PI0b8l2NKRafitRweWyX1D6mg5tfZFPyWm2152nkrZLZEPLskv4p/5iyktrmKqEahGoBqBTRmBfwb8WzXqcsYyAAAAAElFTkSuQmCC)}.vjs-chromecast-button.vjs-chromecast-button-lg:not(.vjs-hidden){display:flex;align-items:center;width:auto;padding:0 4px}.vjs-chromecast-button.vjs-chromecast-button-lg:not(.vjs-hidden) .vjs-chromecast-button-label{flex-grow:1;margin-left:4px}.vjs-chromecast-button.vjs-chromecast-button-lg:not(.vjs-hidden) .vjs-icon-placeholder{flex-grow:1}.vjs-tech-chromecast{display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.vjs-tech-chromecast .vjs-tech-chromecast-poster:after{content:" ";display:block;height:2px;width:100px;background-color:#ccc;position:absolute;left:calc(50% - 50px)}.vjs-tech-chromecast .vjs-tech-chromecast-poster-img{max-height:180px;width:auto;border:2px solid #cccccc}.vjs-tech-chromecast .vjs-tech-chromecast-poster-img.vjs-tech-chromecast-poster-img-empty{width:160px;height:90px}.vjs-tech-chromecast .vjs-tech-chromecast-title-container{position:absolute;bottom:50%;margin-bottom:100px;color:#ccc;text-align:center}.vjs-tech-chromecast .vjs-tech-chromecast-title{font-size:22px}.vjs-tech-chromecast .vjs-tech-chromecast-title.vjs-tech-chromecast-title-empty{display:none}.vjs-tech-chromecast .vjs-tech-chromecast-subtitle{font-size:18px;padding-top:.5em}.vjs-tech-chromecast .vjs-tech-chromecast-subtitle.vjs-tech-chromecast-subtitle-empty{display:none}.video-js .vjs-control-bar .vjs-airplay-button,.video-js .vjs-control-bar .vjs-chromecast-button{width:47px}.video-js .vjs-control-bar .vjs-airplay-button .vjs-icon-placeholder,.video-js .vjs-control-bar .vjs-chromecast-button .vjs-icon-placeholder{display:inline-block}
.subtitle-cues {
  width: 100%;
}

.subtitle-cues input {
  width: 100%;
}

.subtitle-cue-highlight {
  font-weight: bold;
}

.subtitle-cues > tbody > tr > td:first-child {
  color: var(--fg);
  font-weight: bold;
}

.subtitle-cues > tbody > tr > td:nth-child(1) {
  width: 40px;
}

.subtitle-cues > tbody > tr > td:nth-child(2) {
  width: 110px;
}

.subtitle-cues > tbody > tr > td:nth-child(3) {
  width: 110px;
}

.subtitle-cues > tbody > tr > td:nth-child(4) {
  cursor: pointer;
}

.subtitle-cues > tbody > tr:nth-child(2n+1) {
  background-color: var(--bg-secondary-450);
}

.subtitle-cues > tbody > tr > td, .subtitle-cues > thead > tr > th {
  padding-left: 6px;
  padding-right: 6px;
}

.subtitle-editor {
  position: sticky;
  top: 50px;
  padding-top: 26px;
}

.subtitle-editor-overflow {
  overflow-y: scroll;
  height: 100vh;
  padding-bottom: 320px;
}

#subtitle-video-viewer {
  position: relative;
  height: 0;
  width: 100%;
  padding-top: 56.25%;
}

#subtitle-video-viewer iframe {
  position: absolute;
  inset: 0px;
}

#subtitle-preview {
  background-color: #000000;
  color: #ffffff;
  text-align: center;
  min-height: 50px;
  white-space: pre-line;
}

#subtitle-cue-input {
  padding-bottom: 1em;
}

.action-bubble {
  float: left;
  background: #cecece;
  padding: 4px;
  border-radius: 8px;
  margin-right: 8px;
}

.subtitle-head {
  padding-top: 1em;
}

.subtitle-main {
  padding-bottom: 220px;
}

#bottom-controls {
  position: sticky;
  bottom: 0px;
  min-height: 220px;
  background-color: var(--bg);
  width: 100%;
  box-shadow: 0 0px 16px #000;
  padding-top: 0.5em;
}

.subtitle-cue-italic {
  font-style: italic;
}

.subtitle-cue-bold {
  font-weight: bold;
}

.subtitle-cue-underline {
  text-decoration: underline;
}
/**
 * PeerTube Plugin SponsorBlock
 * Custom styles
 */

/* Segment markers on progress bar */
.sponsorblock-marker {
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: rgba(0, 255, 0, 0.6);
  pointer-events: none;
  z-index: 30;
  transition: background-color 0.2s ease;
}

.sponsorblock-marker:hover {
  background-color: rgba(0, 255, 0, 0.8);
}

/* Sponsor category colors */
.sponsorblock-marker[data-category="sponsor"] {
  background-color: rgba(0, 255, 0, 0.6);
}

.sponsorblock-marker[data-category="selfpromo"] {
  background-color: rgba(255, 255, 0, 0.6);
}

.sponsorblock-marker[data-category="interaction"] {
  background-color: rgba(0, 191, 255, 0.6);
}

.sponsorblock-marker[data-category="intro"] {
  background-color: rgba(0, 255, 255, 0.6);
}

.sponsorblock-marker[data-category="outro"] {
  background-color: rgba(0, 32, 255, 0.6);
}

.sponsorblock-marker[data-category="preview"] {
  background-color: rgba(255, 128, 0, 0.6);
}

.sponsorblock-marker[data-category="music_offtopic"] {
  background-color: rgba(255, 0, 255, 0.6);
}

.sponsorblock-marker[data-category="filler"] {
  background-color: rgba(127, 0, 255, 0.6);
}

/* Skip notification styling */
.sponsorblock-notification {
  position: fixed;
  bottom: 80px;
  right: 20px;
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 14px;
  z-index: 9999;
  animation: fadeInOut 3s ease-in-out;
}

@keyframes fadeInOut {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  10% {
    opacity: 1;
    transform: translateY(0);
  }
  90% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-10px);
  }
}

/* SponsorBlock mapping widget */
.sponsorblock-widget {
  margin-top: 10px;
  font-size: 13px;
}

.sponsorblock-widget-toggle {
  cursor: pointer;
  color: var(--fg-500);
  user-select: none;
  display: inline-block;
  font-weight: 600;
}

.sponsorblock-widget-toggle:hover {
  color: var(--fg);
}

.sponsorblock-widget-form {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}

.sponsorblock-widget-input {
  font-family: monospace;
  font-size: 13px;
  padding: 4px 8px;
  border: 1px solid var(--input-border-color);
  border-radius: 4px;
  background: var(--input-bg);
  color: var(--input-fg);
  width: 280px;
}

.sponsorblock-widget-input:focus {
  outline: none;
  border-color: var(--primary);
}

.sponsorblock-widget-status {
  margin-top: 4px;
  font-size: 12px;
}

.sponsorblock-widget-status.success {
  color: var(--green);
}

.sponsorblock-widget-status.error {
  color: var(--red);
}

.sponsorblock-widget-current {
  margin-top: 6px;
  color: var(--fg-500);
  font-size: 12px;
}

.sponsorblock-widget-current code {
  background: var(--bg-secondary-600);
  padding: 1px 5px;
  border-radius: 3px;
  font-family: monospace;
  color: var(--fg);
}

/* ==========================================
   Admin Dashboard
   ========================================== */

.sponsorblock-admin-root {
  padding: 20px 0;
  font-size: 14px;
  color: var(--fg);
}

/* Stats row */
.sponsorblock-admin-stats {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.sponsorblock-admin-stat {
  background: var(--bg-secondary-600);
  border: 1px solid var(--bg-secondary-400);
  border-radius: 8px;
  padding: 16px 20px;
  min-width: 160px;
  flex: 1;
}

.sponsorblock-admin-stat-value {
  font-size: 28px;
  font-weight: 700;
  color: var(--primary);
  line-height: 1.2;
}

.sponsorblock-admin-stat-label {
  font-size: 12px;
  color: var(--fg-500);
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Info note */
.sponsorblock-admin-note {
  margin-bottom: 16px;
  padding: 10px 14px;
  border-radius: 4px;
  font-size: 13px;
  background: color-mix(in srgb, var(--primary) 10%, transparent);
  color: color-mix(in srgb, var(--primary) 70%, var(--fg));
  border: 1px solid color-mix(in srgb, var(--primary) 25%, transparent);
}

/* Action buttons bar */
.sponsorblock-admin-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

/* Status message */
.sponsorblock-admin-message {
  margin-bottom: 16px;
  padding: 10px 14px;
  border-radius: 4px;
  font-size: 13px;
}

.sponsorblock-admin-message--success {
  background: color-mix(in srgb, var(--green) 15%, transparent);
  color: var(--green);
  border: 1px solid color-mix(in srgb, var(--green) 30%, transparent);
}

.sponsorblock-admin-message--error {
  background: color-mix(in srgb, var(--red) 15%, transparent);
  color: var(--red);
  border: 1px solid color-mix(in srgb, var(--red) 30%, transparent);
}

/* Mappings table */
.sponsorblock-admin-table-wrap {
  overflow-x: auto;
}

.sponsorblock-admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.sponsorblock-admin-table th {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 2px solid var(--bg-secondary-400);
  color: var(--fg-500);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.sponsorblock-admin-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--bg-secondary-400);
  vertical-align: middle;
}

.sponsorblock-admin-table tr:hover td {
  background: rgba(255, 255, 255, 0.03);
}

.sponsorblock-admin-table code {
  background: var(--bg-secondary-600);
  padding: 2px 6px;
  border-radius: 3px;
  font-family: monospace;
  font-size: 12px;
  color: var(--fg);
}

/* Row action buttons */
.sponsorblock-admin-row-actions {
  display: flex;
  gap: 6px;
}

/* Queue status badges */
.sponsorblock-admin-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
}

.sponsorblock-admin-badge--pending {
  background: rgba(255, 193, 7, 0.2);
  color: #ffc107;
}

.sponsorblock-admin-badge--processing {
  background: color-mix(in srgb, var(--primary) 20%, transparent);
  color: var(--primary);
}

.sponsorblock-admin-badge--done {
  background: color-mix(in srgb, var(--green) 20%, transparent);
  color: var(--green);
}

.sponsorblock-admin-badge--error {
  background: color-mix(in srgb, var(--red) 20%, transparent);
  color: var(--red);
}

/* Empty state */
.sponsorblock-admin-empty {
  text-align: center;
  color: var(--fg-500);
  padding: 40px 20px;
  font-size: 14px;
}
ngb-modal-window .playlist {
  display: flex;
  flex-direction: column;
}

ngb-modal-window .video-sharing-container {
  margin-bottom: 25px;
  text-align: center;
}

ngb-modal-window .video-sharing {
  margin-right: 10px;
  cursor: pointer;
  display: inline-block;
  text-decoration: none !important;
  outline: none !important;
  color: #000;
}

ngb-modal-window .video-sharing:last-child {
  margin-right: 0;
}

ngb-modal-window .video-sharing svg {
  width: 40px;
  height: 40px;
  fill: var(--greyForegroundColor);
  stroke: transparent;
  margin-bottom: 5px;
}

ngb-modal-window .video-sharing.facebook svg {
  fill: #1877F2;
}

ngb-modal-window .video-sharing.twitter svg {
  fill: #1DA1F2;
}

ngb-modal-window .video-sharing.linkedin svg {
  fill: #0077b5;
}

ngb-modal-window label.share-link {
  align-self: start;
}
@charset "UTF-8";
.peertube-plugin-easy-signup {
  justify-self: center;
}
.peertube-plugin-easy-signup input:not([type=submit]) {
  padding: var(--input-y-padding) var(--input-x-padding);
  width: 100%;
  max-width: 100%;
  color: var(--input-fg);
  background-color: var(--input-bg);
  border: var(--input-border-width) solid var(--input-border-color);
  border-radius: var(--input-border-radius);
}
.peertube-plugin-easy-signup .form-error::after {
  content: " ";
}
.peertube-plugin-easy-signup .form-error {
  margin-bottom: 1rem;
}
.peertube-plugin-easy-signup input:user-invalid {
  border-color: var(--red) !important;
}
.peertube-plugin-easy-signup h2,
.peertube-plugin-easy-signup .text-center {
  text-align: center;
}
.peertube-plugin-easy-signup .row-reverse {
  flex-direction: row-reverse;
}
/* ============================================================
   PeerTube Plugin: Random Video Carousel
   Palette: deep navy bg, electric teal accent, off-white type
   ============================================================ */

#random-video-carousel-wrapper {
  --rvc-bg: #0d1117;
  --rvc-surface: #161b22;
  --rvc-surface-hover: #1c2330;
  --rvc-border: #21262d;
  --rvc-accent: #00d4aa;
  --rvc-accent-dim: rgba(0, 212, 170, 0.15);
  --rvc-text-primary: #e6edf3;
  --rvc-text-secondary: #8b949e;
  --rvc-text-muted: #484f58;
  --rvc-radius: 8px;
  --rvc-card-width: 240px;
  --rvc-card-thumb-height: 135px;
  --rvc-transition: 0.2s ease;

  width: 100%;
  background: var(--rvc-bg);
  border-bottom: 1px solid var(--rvc-border);
  padding: 28px 0 32px;
  margin-bottom: 8px;
  font-family: inherit;
}

/* ---- Section header ---- */
.rvc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  margin-bottom: 20px;
}

.rvc-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--rvc-text-primary);
  text-transform: none;
}

.rvc-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--rvc-accent);
  color: #000;
  border-radius: 4px;
  font-size: 0.65rem;
  flex-shrink: 0;
}

/* ---- Shuffle button ---- */
.rvc-refresh-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: transparent;
  border: 1px solid var(--rvc-border);
  border-radius: 20px;
  color: var(--rvc-text-secondary);
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--rvc-transition);
  outline: none;
}

.rvc-refresh-btn svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  transition: transform 0.5s ease;
}

.rvc-refresh-btn:hover {
  border-color: var(--rvc-accent);
  color: var(--rvc-accent);
  background: var(--rvc-accent-dim);
}

.rvc-refresh-btn:focus-visible {
  outline: 2px solid var(--rvc-accent);
  outline-offset: 2px;
}

.rvc-refresh-btn--spinning svg {
  animation: rvc-spin 0.6s linear infinite;
}

@keyframes rvc-spin {
  to { transform: rotate(360deg); }
}

/* ---- Track container ---- */
.rvc-track-container {
  position: relative;
  display: flex;
  align-items: center;
}

/* ---- Nav buttons ---- */
.rvc-nav {
  position: absolute;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--rvc-surface);
  border: 1px solid var(--rvc-border);
  border-radius: 50%;
  color: var(--rvc-text-primary);
  cursor: pointer;
  transition: all var(--rvc-transition);
  flex-shrink: 0;
  outline: none;
}

.rvc-nav svg {
  width: 16px;
  height: 16px;
}

.rvc-nav--prev {
  left: 8px;
}

.rvc-nav--next {
  right: 8px;
}

.rvc-nav:hover:not(:disabled) {
  background: var(--rvc-accent);
  border-color: var(--rvc-accent);
  color: #000;
  transform: scale(1.08);
}

.rvc-nav:focus-visible {
  outline: 2px solid var(--rvc-accent);
  outline-offset: 2px;
}

.rvc-nav:disabled {
  opacity: 0.25;
  cursor: default;
}

/* ---- Scrollable track ---- */
.rvc-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  padding: 4px 48px 12px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.rvc-track::-webkit-scrollbar {
  display: none;
}

/* ---- Card ---- */
.rvc-card {
  flex: 0 0 var(--rvc-card-width);
  width: var(--rvc-card-width);
  scroll-snap-align: start;
  background: var(--rvc-surface);
  border: 1px solid var(--rvc-border);
  border-radius: var(--rvc-radius);
  overflow: hidden;
  transition: transform var(--rvc-transition), border-color var(--rvc-transition), box-shadow var(--rvc-transition);
  outline: none;
  cursor: pointer;
}

.rvc-card:hover,
.rvc-card:focus-within {
  transform: translateY(-3px);
  border-color: var(--rvc-accent);
  box-shadow: 0 8px 24px rgba(0, 212, 170, 0.12);
  background: var(--rvc-surface-hover);
}

.rvc-card:focus-visible {
  outline: 2px solid var(--rvc-accent);
  outline-offset: 2px;
}

/* ---- Thumbnail ---- */
.rvc-card-thumb-link {
  display: block;
  text-decoration: none;
}

.rvc-card-thumb {
  position: relative;
  width: 100%;
  height: var(--rvc-card-thumb-height);
  background: #0a0e13;
  overflow: hidden;
}

.rvc-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.rvc-card:hover .rvc-card-thumb img {
  transform: scale(1.04);
}

/* Duration badge */
.rvc-duration {
  position: absolute;
  bottom: 6px;
  right: 6px;
  background: rgba(0, 0, 0, 0.82);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 5px;
  border-radius: 3px;
  letter-spacing: 0.03em;
  pointer-events: none;
}

/* Play overlay */
.rvc-play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  transition: opacity var(--rvc-transition);
}

.rvc-play-overlay svg {
  width: 42px;
  height: 42px;
  color: #fff;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}

.rvc-card:hover .rvc-play-overlay {
  opacity: 1;
}

/* ---- Card info ---- */
.rvc-card-info {
  padding: 10px 12px 12px;
}

.rvc-card-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--rvc-text-primary);
  text-decoration: none;
  margin-bottom: 6px;
  transition: color var(--rvc-transition);
}

.rvc-card-title:hover {
  color: var(--rvc-accent);
}

.rvc-card-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.rvc-channel {
  font-size: 0.73rem;
  color: var(--rvc-text-secondary);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color var(--rvc-transition);
}

.rvc-channel:hover {
  color: var(--rvc-accent);
  text-decoration: underline;
}

.rvc-views {
  font-size: 0.7rem;
  color: var(--rvc-text-muted);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
  .rvc-header {
    padding: 0 20px;
  }

  .rvc-track {
    padding: 4px 20px 12px;
    gap: 12px;
  }

  .rvc-nav--prev {
    left: 2px;
  }

  .rvc-nav--next {
    right: 2px;
  }

  #random-video-carousel-wrapper {
    --rvc-card-width: 200px;
    --rvc-card-thumb-height: 112px;
  }
}

@media (max-width: 480px) {
  #random-video-carousel-wrapper {
    --rvc-card-width: 170px;
    --rvc-card-thumb-height: 96px;
  }

  .rvc-title {
    font-size: 1rem;
  }

  .rvc-refresh-btn span {
    display: none;
  }
}

/* ---- Respect reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  .rvc-card,
  .rvc-card-thumb img,
  .rvc-play-overlay,
  .rvc-nav,
  .rvc-refresh-btn svg {
    transition: none !important;
    animation: none !important;
  }

  .rvc-track {
    scroll-behavior: auto;
  }
}
#json-categories-as-text {
  border: 1px solid #c6c6c6;
  color: var(--textareaForegroundColor);
  padding: 5px 15px;
  background-color: var(--markdownTextareaBackgroundColor);
  font-family: monospace;
  font-size: 13px;
  border-bottom: 0;
  border-radius: 3px 3px unset unset;
  width: 100%;
}

#json-categories-as-text.error {
  border-color: red;
  color: red;
  border-bottom: 1px solid;
}

#categories-table th {
  border-color: currentcolor;
  border-bottom: none;
  border: var(--submenuBackgroundColor);
  border-bottom: 1px solid var(--submenuBackgroundColor);
  padding: 5px;
  font-weight: 600;
  color: var(--mainForegroundColor);
}

#categories-table tr {
  outline: 0;
  background-color: var(--mainBackgroundColor);
}

#categories-table tbody tr:nth-child(odd) {
  background-color: var(--submenuBackgroundColor);
}

#categories-table td {
  padding: 5px;
}

#categories-table .category__deleted {
  text-decoration: line-through;
  color: red;
}

#categories-table .category__added {
  color: green;
}
/* Override `.vjs-menu li { text-transform: lowercase; }`, from video-js.css */
#peertube-plugin-chapters-menu li {
	text-transform: none;
}

#peertube-plugin-chapters-menu {
	width: max-content;
	max-width: 18em;
	max-height: 20em;
}

#peertube-plugin-chapters-menu li:not(:first-child) {
	padding-left: 1em;
	padding-right: 1em;
	text-align: left;
}
