html.tv-embed body::after {
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.42) 0, rgba(0, 0, 0, 0.42) 1px, transparent 1px, transparent 3px);
}
html:not(.tv-watching):not(.tv-ondemand):not(.tv-embed) body.tv-page::after,
.od:not(.is-playing)::after,
body.forums-page::after {
  inset: auto;
  left: 0;
  top: 0;
  width: 133.3334%;
  height: 133.3334%;
  transform: scale(0.75);
  transform-origin: 0 0;
}
html:not(.tv-watching):not(.tv-ondemand):not(.tv-embed) body.tv-page::after,
.od:not(.is-playing)::after {
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0, rgba(0, 0, 0, 0.6) 1px, transparent 1px, transparent 3px);
}
body.forums-page::after {
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.48) 0, rgba(0, 0, 0, 0.48) 1px, transparent 1px, transparent 3px);
}
html:not(.tv-watching):not(.tv-ondemand):not(.tv-embed):has(body.tv-page)::before,
html.tv-ondemand:has(.od:not(.is-playing):not([hidden]))::before,
html:not(.is-photo-viewer-open):has(body.forums-page)::before {
  content: "";
  position: fixed;
  z-index: 2147482998;
  left: 0;
  top: 0;
  width: 133.3334%;
  height: 133.3334%;
  transform: scale(0.75);
  transform-origin: 0 0;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 1px, rgba(255, 255, 255, var(--crt-glow, 0.55)) 1px, rgba(255, 255, 255, var(--crt-glow, 0.55)) 3px);
  mix-blend-mode: soft-light;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 42%, rgba(0, 0, 0, 0.65) 75%, transparent 100%);
  mask-image: radial-gradient(ellipse at center, #000 42%, rgba(0, 0, 0, 0.65) 75%, transparent 100%);
}
html:not(.tv-watching):not(.tv-ondemand):not(.tv-embed):has(body.tv-page)::before { --crt-glow: 0.15; }
html:has(body.forums-page)::before { --crt-glow: 0.41; }
html:has(.profile-page) body.forums-page::after {
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.32) 0, rgba(0, 0, 0, 0.32) 1px, transparent 1px, transparent 3px);
}
html.tv-embed::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147482998;
  pointer-events: none;
  --crt-glow: 0.15;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 1px, rgba(255, 255, 255, var(--crt-glow)) 1px, rgba(255, 255, 255, var(--crt-glow)) 3px);
  mix-blend-mode: soft-light;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 42%, rgba(0, 0, 0, 0.65) 75%, transparent 100%);
  mask-image: radial-gradient(ellipse at center, #000 42%, rgba(0, 0, 0, 0.65) 75%, transparent 100%);
}
html.tv-mode body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147482998;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 0.5px, rgba(255, 255, 255, var(--crt-glow, 0.55)) 0.5px, rgba(255, 255, 255, var(--crt-glow, 0.55)) 1.5px);
  mix-blend-mode: soft-light;
}
.vc-sheet > .vc-glow {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 0.5px, rgba(255, 255, 255, var(--crt-glow, 0.55)) 0.5px, rgba(255, 255, 255, var(--crt-glow, 0.55)) 1.5px);
  mix-blend-mode: soft-light;
}
.vc-sheet > .vc-glow { z-index: 49; }
html.tv-mode .player-box::after,
#tvCrt {
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.38) 0, rgba(0, 0, 0, 0.38) 0.5px, transparent 0.5px, transparent 1.5px);
}
html:not(.tv-watching):not(.tv-ondemand):not(.tv-embed) body.tv-page::before,
html.tv-embed body::before,
body.forums-page::before,
.od:not(.is-playing)::before,
html.tv-mode .player-box::before,
#tvCrt::before {
  content: "";
  position: fixed;
  z-index: 2147482999;
  left: 0;
  right: 0;
  top: -30%;
  height: 30%;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.09) 50%, rgba(255, 255, 255, 0));
  will-change: transform;
  animation: crt-roll 7s linear infinite;
}
.od:not(.is-playing)::before {
  position: absolute;
  z-index: 99;
}
html.tv-mode .player-box::before {
  position: absolute;
  z-index: 6;
}
#tvCrt { overflow: hidden; }
#tvCrt::before { position: absolute; z-index: 0; }
.tv-screen.is-guide .tv-safe,
.tv-screen.is-guide .tv-safe *,
.od:not(.is-playing) .od-top,
.od:not(.is-playing) .od-top *,
.od:not(.is-playing) .od-body,
.od:not(.is-playing) .od-body * {
  text-shadow:
    -0.06em 0 0 rgba(255, 40, 90, 0.62),
    0.06em 0 0 rgba(40, 220, 255, 0.62),
    0.09em 0.09em 0 #000;
  text-shadow:
    -0.06em 0 0 rgba(255, 40, 90, 0.62),
    0.06em 0 0 rgba(40, 220, 255, 0.62),
    0 0 0.5em rgb(from currentColor r g b / calc(0.88 * max(r, g, b) * max(r, g, b) / 65025)),
    0.09em 0.09em 0 #000;
}
.tv-screen.is-guide .tv-info .ti-title,
.tv-screen.is-guide .tv-info .ti-next,
.tv-screen.is-guide .tv-prog span,
.od:not(.is-playing) .od-name,
.od:not(.is-playing) .od-detail-title {
  padding: 0.5em 0.5em 0;
  margin: -0.5em -0.5em 0;
}
.od:not(.is-playing) .od-eps-name {
  padding: 0.5em;
  margin: -0.5em;
}
.tv-screen.is-guide .tv-prog { overflow: visible; }
#terminal,
#terminal * {
  text-shadow:
    -0.03em 0 0 rgba(255, 40, 90, 0.35),
    0.03em 0 0 rgba(40, 220, 255, 0.35),
    0 1px 0 rgba(0, 0, 0, 0.6);
  text-shadow:
    -0.03em 0 0 rgba(255, 40, 90, 0.35),
    0.03em 0 0 rgba(40, 220, 255, 0.35),
    0 0 0.3em rgb(from currentColor r g b / calc(0.45 * max(r, g, b) * max(r, g, b) / 65025)),
    0 1px 0 rgba(0, 0, 0, 0.6);
}
#tvOsd,
#tvVol {
  text-shadow:
    -0.06em 0 0 rgba(255, 40, 90, 0.62),
    0.06em 0 0 rgba(40, 220, 255, 0.62),
    2px 2px 0 #000;
  text-shadow:
    -0.06em 0 0 rgba(255, 40, 90, 0.62),
    0.06em 0 0 rgba(40, 220, 255, 0.62),
    0 0 0.5em rgb(from currentColor r g b / calc(0.88 * max(r, g, b) * max(r, g, b) / 65025)),
    2px 2px 0 #000;
}
#tvCredit {
  text-shadow:
    -0.06em 0 0 rgba(255, 40, 90, 0.62),
    0.06em 0 0 rgba(40, 220, 255, 0.62),
    0.06em 0.08em 0 rgba(0, 0, 0, 0.85);
  text-shadow:
    -0.06em 0 0 rgba(255, 40, 90, 0.62),
    0.06em 0 0 rgba(40, 220, 255, 0.62),
    0 0 0.5em rgb(from currentColor r g b / calc(0.88 * max(r, g, b) * max(r, g, b) / 65025)),
    0.06em 0.08em 0 rgba(0, 0, 0, 0.85);
}
.vc-sheet::after {
  content: "";
  position: absolute;
  z-index: 50;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0.3) 0.5px, transparent 0.5px, transparent 1.5px);
}
.vc-sheet::before {
  content: "";
  position: absolute;
  z-index: 49;
  left: 0;
  right: 0;
  top: -30%;
  height: 30%;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.09) 50%, rgba(255, 255, 255, 0));
  will-change: transform;
  animation: crt-roll 7s linear infinite;
}
.vc-sheet,
.vc-sheet * {
  text-shadow:
    -0.03em 0 0 rgba(255, 40, 90, 0.35),
    0.03em 0 0 rgba(40, 220, 255, 0.35),
    0 1px 0 rgba(0, 0, 0, 0.6);
  text-shadow:
    -0.03em 0 0 rgba(255, 40, 90, 0.35),
    0.03em 0 0 rgba(40, 220, 255, 0.35),
    0 0 0.3em rgb(from currentColor r g b / calc(0.45 * max(r, g, b) * max(r, g, b) / 65025)),
    0 1px 0 rgba(0, 0, 0, 0.6);
}
.tv-screen .tv-banner,
.tv-screen .tv-banner *,
.tv-screen .tv-swipe-osd,
.tv-screen .tv-swipe-osd *,
.od-player .ob,
.od-player .ob *,
.od-rail .od-rail-btn,
.od-rail .od-rail-btn .od-rail-label {
  text-shadow:
    -0.04em 0 0 rgba(255, 40, 90, 0.45),
    0.04em 0 0 rgba(40, 220, 255, 0.45),
    0.06em 0.08em 0 rgba(0, 0, 0, 0.85);
  text-shadow:
    -0.04em 0 0 rgba(255, 40, 90, 0.45),
    0.04em 0 0 rgba(40, 220, 255, 0.45),
    0 0 0.2em rgb(from currentColor r g b / calc(0.14 * max(r, g, b) * max(r, g, b) / 65025)),
    0.06em 0.08em 0 rgba(0, 0, 0, 0.85);
}
.tv-screen .tv-banner::after,
.od-player .ob::after,
.od-player > .od-rail::after,
.tv-screen > .od-rail.od-live-rail::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.36) 0, rgba(0, 0, 0, 0.36) 0.5px, transparent 0.5px, transparent 1.5px);
}
.od-rail .od-rail-icon .od-rail-symbol,
.od-rail .od-rail-burst,
.tv-screen .tv-banner svg,
.od-player .ob svg {
  filter:
    drop-shadow(-0.07em 0 0 rgba(255, 40, 90, 0.65))
    drop-shadow(0.07em 0 0 rgba(40, 220, 255, 0.65))
    drop-shadow(0 0 0.22em rgba(255, 255, 255, 0.32))
    drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));
}
.tv-screen .tv-banner .tb-btn,
.tv-screen .tb-ch-opt.is-current,
.od .od-player .ob-btn {
  box-shadow:
    -1px 0 0 rgba(255, 40, 90, 0.35),
    1px 0 0 rgba(40, 220, 255, 0.35),
    0 0 0.45em rgba(255, 255, 255, 0.16),
    inset 0 0 0.45em rgba(255, 255, 255, 0.12);
}
.od-player .ob-fill,
.od-player .ob-knob,
.tv-screen .tb-bar i {
  box-shadow: -1px 0 0 rgba(255, 40, 90, 0.6), 1px 0 0 rgba(40, 220, 255, 0.6), 0 0 0.15em rgba(255, 255, 255, 0.15);
}
html.tv-pip.od-pip .tv-screen .tv-picture::before {
  content: "";
  position: absolute;
  z-index: 6;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.42) 0, rgba(0, 0, 0, 0.42) 0.5px, transparent 0.5px, transparent 1.5px);
}
@keyframes crt-roll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, 433%, 0); }
}
html:not(.tv-watching):not(.tv-ondemand):not(.tv-embed) body.tv-page::after,
.od:not(.is-playing)::after,
body.forums-page::after,
html:not(.tv-watching):not(.tv-ondemand):not(.tv-embed):has(body.tv-page)::before,
html.tv-ondemand:has(.od:not(.is-playing):not([hidden]))::before,
html:not(.is-photo-viewer-open):has(body.forums-page)::before {
  animation: crt-drift 5s ease-in-out infinite;
}
.vc-sheet::after,
.vc-sheet > .vc-glow,
html.tv-pip.od-pip .tv-screen .tv-picture::before {
  bottom: -9px;
  animation: crt-drift 5s ease-in-out infinite;
}
.vc-sheet::after,
.vc-sheet > .vc-glow {
  inset: auto;
  left: 0;
  top: 0;
  width: 133.3334%;
  height: calc(133.3334% + 12px);
  transform: scale(0.75);
  transform-origin: 0 0;
}
.vc-sheet::after {
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0.3) 1px, transparent 1px, transparent 3px);
}
.vc-sheet > .vc-glow {
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 1px, rgba(255, 255, 255, var(--crt-glow, 0.55)) 1px, rgba(255, 255, 255, var(--crt-glow, 0.55)) 3px);
}
.tv-screen .tv-banner::after,
.od-player .ob::after,
.od-player > .od-rail::after,
.tv-screen > .od-rail.od-live-rail::after,
.tb-ch-menu::after,
.tv-swipe-osd::after,
html.tv-watching body.tv-page .videos-logo::after,
body.tv-page .od.is-playing .od-player-logo::after {
  background-size: 100% 150px;
  animation: crt-drift-bg 5s ease-in-out infinite;
}
@keyframes crt-drift-bg {
  0%, 100% { background-position: 0 0; }
  50% { background-position: 0 -9px; }
}
html.is-forum-scrolling::before,
html.is-forum-scrolling::after,
html.is-forum-scrolling body.forums-page::after {
  animation-play-state: paused !important;
}
@keyframes crt-drift {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -9px; }
}
@media (prefers-reduced-motion: reduce) {
  html:not(.tv-watching):not(.tv-ondemand):not(.tv-embed) body.tv-page::before,
  html.tv-embed body::before,
  body.forums-page::before,
  .od:not(.is-playing)::before,
  html.tv-mode .player-box::before,
  #tvCrt::before,
  .vc-sheet::before { display: none; }
  html::before,
  html::after,
  body::after,
  .od::after,
  .vc-sheet::after,
  .vc-sheet > .vc-glow,
  .tv-picture::before,
  .tv-banner::after,
  .ob::after,
  .od-rail::after,
  .tb-ch-menu::after,
  .tv-swipe-osd::after,
  .videos-logo::after,
  .od-player-logo::after { animation: none !important; }
}
html:not(.tv-embed) body.tv-page .videos-logo img,
body.tv-page .od-logo,
body.tv-page .od-player-logo img {
  filter:
    drop-shadow(-2px 0 0 rgba(255, 40, 90, 0.55))
    drop-shadow(2px 0 0 rgba(40, 220, 255, 0.55))
    drop-shadow(0 0 7px rgba(255, 233, 74, 0.45));
}
body.forums-page .forum-logo img {
  filter:
    drop-shadow(-2px 0 0 rgba(255, 40, 90, 0.55))
    drop-shadow(2px 0 0 rgba(40, 220, 255, 0.55))
    drop-shadow(0 0 7px rgba(255, 255, 255, 0.4));
}
html.tv-watching body.tv-page .videos-logo::after,
body.tv-page .od.is-playing .od-player-logo::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.42) 0, rgba(0, 0, 0, 0.42) 0.5px, transparent 0.5px, transparent 1.5px);
  -webkit-mask: url(/assets/videos/knobsock-videos-logo.webp) center / 100% 100% no-repeat;
  mask: url(/assets/videos/knobsock-videos-logo.webp) center / 100% 100% no-repeat;
}
.ksm-busy::after,
.ksm-busy > .tv-glow { visibility: hidden; }
body.forums-page::after,
html:not(.is-photo-viewer-open):has(body.forums-page)::before {
  inset: 0;
  width: auto;
  height: auto;
  bottom: -9px;
  transform: none;
}
body.forums-page::after {
  background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1 3%27 width=%271%27 height=%273%27 preserveAspectRatio=%27none%27%3E%3Crect y=%270%27 width=%271%27 height=%271%27 fill=%27%23000%27 fill-opacity=%27.48%27/%3E%3C/svg%3E") 0 0 / 100% 2.25px repeat;
}
html:has(.profile-page) body.forums-page::after {
  background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1 3%27 width=%271%27 height=%273%27 preserveAspectRatio=%27none%27%3E%3Crect y=%270%27 width=%271%27 height=%271%27 fill=%27%23000%27 fill-opacity=%27.32%27/%3E%3C/svg%3E") 0 0 / 100% 2.25px repeat;
}
html:not(.is-photo-viewer-open):has(body.forums-page)::before {
  background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1 3%27 width=%271%27 height=%273%27 preserveAspectRatio=%27none%27%3E%3Crect y=%271%27 width=%271%27 height=%272%27 fill=%27%23fff%27 fill-opacity=%27.41%27/%3E%3C/svg%3E") 0 0 / 100% 2.25px repeat;
}
