.tvPlayerWrap .tvPlayerMask .tvPlayerIcon, .pipWrap::after {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}

.tvPlayerWrap .tvPlayerMask .tvPlayerBg video {
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}

html {
  overflow-y: scroll;
}

body {
  height: 100vh;
  overflow: hidden;
}

button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  color: inherit;
  text-align: left;
}

.toast {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: 10 !important;
  display: block;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .toast {
    bottom: 32px;
  }
}
.toast.show {
  opacity: 1;
  pointer-events: initial;
}

footer {
  z-index: 8;
}

main {
  height: calc(100dvh - 84px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  main {
    height: calc(100dvh - 62px);
    padding-top: 62px;
  }
}
main::before {
  content: "";
  width: 100%;
  max-width: 1440px;
  height: 100dvh;
  background-image: url(../../images/RWD/bg_tvChannel.jpg);
  background-position: top left;
  background-size: cover;
  position: fixed;
  top: 84px;
  z-index: 0;
}
@media screen and (min-width: 1024px) {
  main::before {
    top: 62px;
  }
}

.tvPlayerWrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100dvh - 84px) * 0.3);
          flex: 0 0 calc((100dvh - 84px) * 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .tvPlayerWrap {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100dvh - 84px) * 0.5);
            flex: 0 0 calc((100dvh - 84px) * 0.5);
  }
}
@media screen and (min-width: 1024px) {
  .tvPlayerWrap {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100dvh - 62px) * 0.5);
            flex: 0 0 calc((100dvh - 62px) * 0.5);
  }
}
.tvPlayerWrap.hide {
  height: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
  -webkit-transition: height 0.3s ease-in;
  transition: height 0.3s ease-in;
}
.tvPlayerWrap.hide .tvPlayer {
  display: none;
}
.tvPlayerWrap .tvPlayer {
  width: 100%;
  max-width: 1440px;
  height: calc((100dvh - 84px) * 0.3);
  background: var(--color-gray-1);
  top: 84px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  outline: none;
  overflow: hidden;
  position: fixed;
  z-index: 6;
}
@media screen and (min-width: 768px) {
  .tvPlayerWrap .tvPlayer {
    height: calc((100dvh - 84px) * 0.5);
    top: 84px;
  }
}
@media screen and (min-width: 1024px) {
  .tvPlayerWrap .tvPlayer {
    height: calc((100dvh - 62px) * 0.5);
    top: 62px;
  }
}
.tvPlayerWrap .tvPlayerMask {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 7;
}
.tvPlayerWrap .tvPlayerMask .tvPlayerBg {
  width: 100%;
  max-width: 1440px;
  height: 100%;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}
.tvPlayerWrap .tvPlayerMask .tvPlayerBg video {
  position: absolute;
  top: 0;
  left: 50%;
  width: 2160px;
  height: 630px;
  display: block;
  -webkit-filter: blur(8px);
          filter: blur(8px);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -o-object-fit: cover;
     object-fit: cover;
}
@-webkit-keyframes playIconAnimate {
  0% {
    background: rgba(var(--color-rgb-black), 0.5);
    border-width: 0px;
    border-color: rgba(var(--color-rgb-black), 0.5);
  }
  20% {
    background: rgba(var(--color-rgb-black), 0);
  }
  65% {
    border-color: rgba(var(--color-rgb-black), 0);
  }
  70%, 100% {
    border-width: 30px;
    border-color: rgba(var(--color-rgb-black), 0);
  }
}
@keyframes playIconAnimate {
  0% {
    background: rgba(var(--color-rgb-black), 0.5);
    border-width: 0px;
    border-color: rgba(var(--color-rgb-black), 0.5);
  }
  20% {
    background: rgba(var(--color-rgb-black), 0);
  }
  65% {
    border-color: rgba(var(--color-rgb-black), 0);
  }
  70%, 100% {
    border-width: 30px;
    border-color: rgba(var(--color-rgb-black), 0);
  }
}
.tvPlayerWrap .tvPlayerMask .tvPlayerIcon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .tvPlayerWrap .tvPlayerMask .tvPlayerIcon {
    width: 80px;
    height: 80px;
  }
}
.tvPlayerWrap .tvPlayerMask .tvPlayerIcon:hover {
  width: 55px;
  height: 55px;
}
@media screen and (min-width: 768px) {
  .tvPlayerWrap .tvPlayerMask .tvPlayerIcon:hover {
    width: 88px;
    height: 88px;
  }
}
.tvPlayerWrap .tvPlayerMask .tvPlayerIcon::before {
  content: "";
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  border-style: solid;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all;
  transition: all;
  -webkit-animation: playIconAnimate 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite forwards;
          animation: playIconAnimate 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite forwards;
}
@media screen and (min-width: 768px) {
  .tvPlayerWrap .tvPlayerMask .tvPlayerIcon::before {
    width: 80px;
    height: 80px;
  }
}
.tvPlayerWrap .tvPlayerMask .tvPlayerIcon img {
  width: 100%;
  height: 100%;
  z-index: 10;
}
.tvPlayerWrap .tvPlayerMask .tvPlayerInfo {
  font-weight: 400;
  font-size: 20px;
  line-height: 28px;
  color: rgba(var(--color-rgb-white), 0.6);
  padding: 0 46px 24px 46px;
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
}
@media screen and (min-width: 768px) {
  .tvPlayerWrap .tvPlayerMask .tvPlayerInfo {
    display: -webkit-box;
  }
}
.tvPlayerWrap .tvPlayerMask .tvPlayerInfo span {
  width: 100%;
  max-width: 600px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--color-white);
  padding-left: 4px;
}

.epgWrap {
  width: 100%;
  max-width: 1440px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  z-index: 5;
  position: sticky;
  top: 0;
  overflow: hidden;
}
.epgWrap::-webkit-scrollbar {
  display: none;
}
@media screen and (min-width: 768px) {
  .epgWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.guideViewport {
  overflow-y: scroll;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  scrollbar-width: none;
}
.guideViewport::-webkit-scrollbar {
  display: none;
}
.guideViewport .guideCanvas {
  width: 100%;
  padding-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
@media screen and (min-width: 768px) {
  .guideViewport .guideCanvas {
    padding-top: 20px;
  }
}

.liveBnWrap {
  width: 100%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-x: hidden;
}
.liveBnWrap::-webkit-scrollbar {
  display: none;
}
.liveBnWrap h2 {
  padding-left: 16px;
  font-weight: 400;
  font-size: 14px;
  line-height: 19.6px;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .liveBnWrap h2 {
    font-size: 16px;
    line-height: 22.4px;
    padding-left: 46px;
  }
}
@media screen and (min-width: 1200px) {
  .liveBnWrap h2 {
    padding-left: 60px;
  }
}
.liveBnWrap .liveBnViewport {
  width: 100%;
  padding-left: 16px;
  margin-bottom: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.liveBnWrap .liveBnViewport::-webkit-scrollbar {
  display: none;
}
@media screen and (min-width: 768px) {
  .liveBnWrap .liveBnViewport {
    padding-left: 46px;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 1200px) {
  .liveBnWrap .liveBnViewport {
    padding-left: 60px;
  }
}
.liveBnWrap .liveBnViewport .liveBnCanvas {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 8px 0;
  margin: 0;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard {
  width: 272px;
  height: 64px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard {
    width: 400px;
    height: 96px;
  }
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard.live::after {
  content: "";
  width: 278px;
  height: 70px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 11px;
  border: 1px solid var(--color-gray-9);
  display: block;
  position: absolute;
  top: -3px;
  left: -3px;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard.live::after {
    width: 407px;
    height: 103px;
    border-radius: 15.5px;
    top: -3.5px;
    left: -3.5px;
  }
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner {
  width: 272px;
  height: 64px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: var(--color-black);
  border-radius: 8px;
  overflow: hidden;
  -webkit-box-shadow: 0 6px 6px 0 rgba(var(--color-rgb-black), 0.1), 0 1px 4px 0 rgba(var(--color-rgb-black), 0.1);
          box-shadow: 0 6px 6px 0 rgba(var(--color-rgb-black), 0.1), 0 1px 4px 0 rgba(var(--color-rgb-black), 0.1);
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner {
    width: 400px;
    height: 96px;
    border-radius: 12px;
  }
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnImg {
  width: 114px;
  height: 64px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnImg {
    width: 170px;
    height: 96px;
  }
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.6s;
  transition: -webkit-transform 0.6s;
  transition: transform 0.6s;
  transition: transform 0.6s, -webkit-transform 0.6s;
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnImg:hover img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnInfo {
  width: calc(100% - 114px);
  padding: 0 16px;
  gap: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0 9px 9px 0;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-size: 150% auto;
  background-position: center;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnInfo {
    width: calc(100% - 170px);
    gap: 8px;
    border-radius: 0 13px 13px 0;
  }
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnInfo::before {
  content: "";
  width: 112%;
  height: 112%;
  background: rgba(var(--color-rgb-black), 0.4);
  backdrop-filter: blur(40px);
  display: block;
  pointer-events: none;
  position: absolute;
  top: -6%;
  left: -6%;
  z-index: -1;
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnInfo h3 {
  font-weight: 700;
  font-size: 13px;
  line-height: 18.2px;
  color: var(--color-white);
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnInfo h3 {
    font-size: 16px;
    line-height: 22.4px;
    -webkit-line-clamp: 2;
  }
}
.liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnInfo figcaption {
  font-weight: 400;
  font-size: 12px;
  line-height: 16.8px;
  color: rgba(var(--color-rgb-white), 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .liveBnWrap .liveBnViewport .liveBnCanvas .liveBnCard .liveBnInner .liveBnInfo figcaption {
    font-size: 13px;
    line-height: 18.2px;
  }
}

.cateViewport {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 0 24px;
  position: sticky;
  top: 0;
  -ms-flex-item-align: start;
      align-self: flex-start;
  z-index: 5;
  padding-left: 16px;
  cursor: -webkit-grab;
  cursor: grab;
}
@media screen and (min-width: 768px) {
  .cateViewport {
    width: 158px;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    padding-left: 0;
    margin: 36px 36px 0 46px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-item-align: start;
        align-self: flex-start;
    -ms-touch-action: none;
        touch-action: none;
    overflow: hidden;
  }
}
@media screen and (min-width: 1200px) {
  .cateViewport {
    width: 176px;
    margin: 36px 36px 0 60px;
  }
}
.cateViewport .cateCanvas {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding-left: 16px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media screen and (min-width: 768px) {
  .cateViewport .cateCanvas {
    height: -webkit-fit-content !important;
    height: -moz-fit-content !important;
    height: fit-content !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px 0;
    padding-left: 0;
  }
}
.cateViewport .cateItem {
  width: auto;
  height: 32px;
  padding: 6px 16px 6px 12px;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  opacity: 0.7;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .cateViewport .cateItem {
    width: 158px;
    height: 41px;
    padding: 8px 12px;
    gap: 12px;
  }
}
@media screen and (min-width: 1200px) {
  .cateViewport .cateItem {
    width: 176px;
  }
}
.cateViewport .cateItem:hover {
  opacity: 1;
}
.cateViewport .cateItem img {
  width: 18px;
  height: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .cateViewport .cateItem img {
    width: 24px;
    height: 24px;
  }
}
.cateViewport .cateItem span {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  font-size: 14px;
  line-height: 19.6px;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .cateViewport .cateItem span {
    font-size: 18px;
    line-height: 25.2px;
  }
}
.cateViewport .cateItem.active, .cateViewport .cateItem.active:hover {
  background: var(--color-white);
  opacity: 1;
}
.cateViewport .cateItem.active img, .cateViewport .cateItem.active:hover img {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}
.cateViewport .cateItem.active span, .cateViewport .cateItem.active:hover span {
  color: var(--color-black);
}
.cateViewport .cateItem:last-child {
  margin-bottom: 32px;
}

.epgSection {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: sticky;
  top: 0;
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media screen and (min-width: 768px) {
  .epgSection {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: calc(100% - 158px - 36px);
  }
}
@media screen and (min-width: 1200px) {
  .epgSection {
    width: calc(100% - 176px - 36px);
  }
}
.epgSection .epgSectionWrap {
  --epg-x: 0px;
  --epg-x-later: 0px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.epgSection .epgSectionWrap.is-epg-h-animating .programCol,
.epgSection .epgSectionWrap.is-epg-h-animating .timelineTitle.now,
.epgSection .epgSectionWrap.is-epg-h-animating .timelineTitle.later {
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.epgSection .epgSectionWrap.is-epg-h-dragging .programCol {
  will-change: transform;
}
.epgSection .epgSectionWrap .timelineWrap {
  width: calc(100% - 83px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  z-index: 5;
  pointer-events: none;
  position: relative;
  left: 99px;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .timelineWrap {
    left: 166px;
    padding-bottom: 12px;
  }
}
.epgSection .epgSectionWrap .timelineWrap .timelineTitle {
  font-weight: 700;
  font-size: 14px;
  line-height: 19.6px;
  color: var(--color-gray-6);
  padding: 0 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .timelineWrap .timelineTitle {
    padding: 0 16px;
    font-size: 18px;
    line-height: 25.2px;
  }
}
.epgSection .epgSectionWrap .timelineWrap .timelineTitle.now {
  width: 180px;
  margin-right: 8px;
  -webkit-transform: translateX(var(--epg-x));
          transform: translateX(var(--epg-x));
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .timelineWrap .timelineTitle.now {
    width: 280px;
    margin-right: 12px;
  }
}
.epgSection .epgSectionWrap .timelineWrap .timelineTitle.later {
  position: relative;
  -webkit-transform: translateX(var(--epg-x-later));
          transform: translateX(var(--epg-x-later));
}
.epgSection .epgSectionWrap .timelineWrap .timelineTitle.later time {
  font-weight: 400;
  margin-left: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.epgSection .epgSectionWrap .epgModule {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  position: relative;
  height: 100%;
}
.epgSection .epgSectionWrap .epgModule .epgCanvas {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.epgSection .epgSectionWrap .epgModule .epgCanvas::-webkit-scrollbar {
  display: none;
}
@media (max-width: 767px) {
  .epgSection .epgSectionWrap .epgModule .epgCanvas {
    padding-bottom: max(env(safe-area-inset-bottom, 0px), 80px);
  }
}
.epgSection .epgSectionWrap .epgModule .cateGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 24px;
  padding-left: 16px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateGroup {
    padding-left: 0;
  }
}
.epgSection .epgSectionWrap .epgModule .cateGroup .cateTitle {
  font-weight: 700;
  font-size: 14px;
  line-height: 19.6px;
  color: var(--color-gray-9);
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateGroup .cateTitle {
    font-size: 16px;
    line-height: 22.4px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateGroup:last-child {
  margin-bottom: 16px;
}
.epgSection .epgSectionWrap .epgModule .cateCol {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  overflow: visible;
}
.epgSection .epgSectionWrap .epgModule .cateCol .channelCol {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px 0;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: 4px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .channelCol {
    gap: 16px 0;
    padding-right: 8px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .channelCol .channelCard {
  width: 75px;
  height: 56px;
  border-radius: 8px;
  background: rgba(var(--color-rgb-white), 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  z-index: 3;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .channelCol .channelCard {
    width: 154px;
    height: 100px;
    border-radius: 12px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .channelCol .channelCard:hover {
  background: rgba(var(--color-rgb-white), 0.2);
}
.epgSection .epgSectionWrap .epgModule .cateCol .channelCol .channelCard img {
  width: 43px;
  height: 36px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .channelCol .channelCard img {
    width: 77px;
    height: 64px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .channelCol .channelCard h3 {
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  position: absolute;
}
.epgSection .epgSectionWrap .epgModule .cateCol .programGroup {
  width: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 4px;
  overflow: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programGroup {
    gap: 12px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px 0;
  overflow: visible;
  -webkit-transform: translateX(var(--epg-x));
          transform: translateX(var(--epg-x));
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol {
    gap: 16px 0;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px 8px;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow {
    gap: 16px 12px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost {
  background: var(--color-gray-5);
  opacity: 0.1;
  cursor: inherit;
  pointer-events: none;
}
@supports not selector(:has(*)) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost {
    border-radius: 8px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  @media screen and (min-width: 768px) {
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost {
      border-radius: 12px;
    }
  }
}
@supports selector(:has(*)) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost:not([data-day-start]) {
    -webkit-box-shadow: -8px 0 0 0 var(--color-gray-5);
            box-shadow: -8px 0 0 0 var(--color-gray-5);
  }
  @media screen and (min-width: 768px) {
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost:not([data-day-start]) {
      -webkit-box-shadow: -12px 0 0 0 var(--color-gray-5);
              box-shadow: -12px 0 0 0 var(--color-gray-5);
    }
  }
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost:not([data-day-start]):has(+ .programCard.ghost:not([data-day-start])) {
    border-radius: 0;
  }
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost:not(.programCard.ghost + .programCard.ghost):has(+ .programCard.ghost),
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .dayDivider + .programCard.ghost,
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost[data-day-start] {
    border-radius: 8px 0 0 8px;
  }
  @media screen and (min-width: 768px) {
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost:not(.programCard.ghost + .programCard.ghost):has(+ .programCard.ghost),
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .dayDivider + .programCard.ghost,
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost[data-day-start] {
      border-radius: 12px 0 0 12px;
    }
  }
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost:has(+ .programCard.ghost[data-day-start]),
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost:not([data-day-start]):not(:has(+ .programCard.ghost)),
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost:not([data-day-start]):has(+ [data-day-start]),
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost:not([data-day-start]):has(+ .dayDivider) {
    border-radius: 0 8px 8px 0;
  }
  @media screen and (min-width: 768px) {
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost:has(+ .programCard.ghost[data-day-start]),
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost:not([data-day-start]):not(:has(+ .programCard.ghost)),
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost:not([data-day-start]):has(+ [data-day-start]),
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost + .programCard.ghost:not([data-day-start]):has(+ .dayDivider) {
      border-radius: 0 12px 12px 0;
    }
  }
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost:not(.programCard.ghost + .programCard.ghost):not(:has(+ .programCard.ghost)) {
    border-radius: 8px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  @media screen and (min-width: 768px) {
    .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCardRow .programCard.ghost:not(.programCard.ghost + .programCard.ghost):not(:has(+ .programCard.ghost)) {
      border-radius: 12px;
    }
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard {
  width: 180px;
  height: 56px;
  border-radius: 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  cursor: pointer;
  position: relative;
  background: rgba(var(--color-rgb-white), 0.1);
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard {
    width: 280px;
    height: 100px;
    border-radius: 12px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .name {
  display: -webkit-box;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
  overflow: hidden;
  color: var(--color-gray-9);
  font-weight: 700;
  font-size: 14px;
  line-height: 19.6px;
  padding-left: 8px;
  padding-right: 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .name {
    height: 44px;
    font-size: 16px;
    line-height: 22.4px;
    -webkit-line-clamp: 2;
    padding-left: 16px;
    padding-right: 16px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .programCardInfo {
  width: 100%;
  height: 27.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 4px;
  padding-bottom: 6.5px;
  border-radius: 0 0 8px 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .programCardInfo {
    height: 42px;
    padding-top: 2px;
    padding-bottom: 12px;
    border-radius: 0 0 12px 12px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .length {
  color: var(--color-gray-8);
  font-weight: 400;
  font-size: 12px;
  line-height: 16.8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 8px;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .length {
    font-size: 13px;
    line-height: 18.2px;
    padding-left: 16px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 28px;
  border-radius: 50px;
  font-size: 13px;
  line-height: 18.2px;
  border: 1px solid var(--color-white);
  color: var(--color-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  padding: 0 16px;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  position: absolute;
  bottom: 12px;
  right: 16px;
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .btn:hover {
  background: var(--color-white);
  color: var(--color-black);
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .progressBar {
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  overflow: hidden;
  background: rgba(var(--color-rgb-white), 0.2);
  display: block;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .progressBar {
    height: 4px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .progressBar span {
  background: var(--color-white);
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
  border-radius: 2px;
  display: block;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard .progressBar span {
    height: 4px;
    border-radius: 4px;
  }
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard:hover .btn {
    opacity: 1;
    pointer-events: auto;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard:hover .name {
  color: var(--color-white);
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard:hover .length {
  color: var(--color-gray-9);
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now {
  background: linear-gradient(45deg, rgba(255, 198, 136, 0.2) 0%, rgba(255, 118, 119, 0.15) 60%);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: background 0.3s ease-in;
  transition: background 0.3s ease-in;
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now::before {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: linear-gradient(45deg, rgba(255, 162, 163, 0.3) 0%, rgba(255, 219, 180, 0.35) 60%), linear-gradient(96deg, rgba(255, 136, 0, 0) 0%, rgba(255, 136, 0, 0.2) 85%);
  border-radius: 8px;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now::before {
    border-radius: 12px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now:hover {
  background: transparent;
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now:hover::before {
  opacity: 1;
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now .name {
  width: 152px;
  margin-top: 8.5px;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now .name {
    width: 240px;
    margin-top: 14px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.later {
  background: rgba(var(--color-rgb-white), 0.1);
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.later:hover {
  background: rgba(var(--color-rgb-white), 0.2);
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.empty {
  background: rgba(var(--color-rgb-white), 0.1);
  cursor: default;
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.empty p {
  padding-left: 8px;
  font-weight: 700;
  font-size: 14px;
  line-height: 19.6px;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.empty p {
    font-size: 16px;
    line-height: 22.4px;
    padding-left: 16px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now.live::after, .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.empty.live::after {
  content: "";
  width: calc(100% + 6px);
  height: calc(100% + 6px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 11px;
  border: 1px solid var(--color-gray-9);
  display: block;
  position: absolute;
  top: -3px;
  left: -3px;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now.live::after, .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.empty.live::after {
    width: calc(100% + 7px);
    height: calc(100% + 7px);
    border-radius: 15.5px;
    top: -3.5px;
    left: -3.5px;
  }
}
.epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now.live .name::after, .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.empty.live .name::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(../../images/RWD/icon_live_animate.svg);
  background-size: 16px 16px;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  position: absolute;
  top: 7.5px;
  right: 4px;
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.now.live .name::after, .epgSection .epgSectionWrap .epgModule .cateCol .programCol .programCard.empty.live .name::after {
    width: 22px;
    height: 22px;
    top: 14px;
    right: 14px;
  }
}

.guideViewport {
  height: calc((100dvh - 84px) * 0.7);
}
@media screen and (min-width: 768px) {
  .guideViewport {
    height: calc((100dvh - 84px) * 0.5);
  }
}
@media screen and (min-width: 1024px) {
  .guideViewport {
    height: calc((100dvh - 62px) * 0.5);
  }
}
.guideViewport .guideCanvas {
  min-height: calc((100dvh - 84px) * 0.7);
}
@media screen and (min-width: 768px) {
  .guideViewport .guideCanvas {
    min-height: calc((100dvh - 84px) * 0.5);
  }
}
@media screen and (min-width: 1024px) {
  .guideViewport .guideCanvas {
    min-height: calc((100dvh - 62px) * 0.5);
  }
}
.guideViewport .epgWrap {
  height: calc((100dvh - 84px) * 0.7 - 20px);
}
@media screen and (min-width: 768px) {
  .guideViewport .epgWrap {
    height: calc((100dvh - 84px) * 0.5 - 32px);
  }
}
@media screen and (min-width: 1024px) {
  .guideViewport .epgWrap {
    height: calc((100dvh - 62px) * 0.5 - 32px);
  }
}
.guideViewport .epgWrap .cateViewport {
  height: 32px;
}
@media screen and (min-width: 768px) {
  .guideViewport .epgWrap .cateViewport {
    height: calc((100dvh - 84px) * 0.5 - 32px - 36px);
  }
}
@media screen and (min-width: 1024px) {
  .guideViewport .epgWrap .cateViewport {
    height: calc((100dvh - 62px) * 0.5 - 32px - 36px);
  }
}
.guideViewport .epgSection {
  overflow: hidden;
  height: calc((100dvh - 84px) * 0.7 - 20px);
}
@media screen and (min-width: 768px) {
  .guideViewport .epgSection {
    height: calc((100dvh - 84px) * 0.5 - 32px);
  }
}
@media screen and (min-width: 1024px) {
  .guideViewport .epgSection {
    height: calc((100dvh - 62px) * 0.5 - 32px);
  }
}
.guideViewport .epgSection .epgModule {
  height: 100%;
}
.guideViewport .epgSection .epgModule .epgCanvas {
  height: 100%;
}
.guideViewport .epgSectionWrap {
  height: calc((100dvh - 84px) * 0.7 - 20px);
}
@media screen and (min-width: 768px) {
  .guideViewport .epgSectionWrap {
    height: calc((100dvh - 84px) * 0.5 - 32px);
  }
}
@media screen and (min-width: 1024px) {
  .guideViewport .epgSectionWrap {
    height: calc((100dvh - 62px) * 0.5 - 32px);
  }
}
.guideViewport.expand {
  height: calc(100dvh - 84px);
}
@media screen and (min-width: 1024px) {
  .guideViewport.expand {
    height: calc(100dvh - 62px);
  }
}
.guideViewport.expand .guideCanvas {
  min-height: calc(100dvh - 84px);
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .guideViewport.expand .guideCanvas {
    min-height: calc(100dvh - 62px);
    padding-top: 32px;
  }
}
.guideViewport.expand .epgWrap {
  margin-top: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: calc(100dvh - 84px - 12px);
}
@media screen and (min-width: 1024px) {
  .guideViewport.expand .epgWrap {
    height: calc(100dvh - 62px - 24px);
  }
}
@media screen and (min-width: 768px) {
  .guideViewport.expand .epgWrap .cateViewport {
    height: calc(100dvh - 84px - 12px);
  }
}
@media screen and (min-width: 1024px) {
  .guideViewport.expand .epgWrap .cateViewport {
    height: calc(100dvh - 62px - 24px);
  }
}
.guideViewport.expand .epgSection {
  overflow: hidden;
  height: calc(100dvh - 84px - 12px);
}
@media screen and (min-width: 1024px) {
  .guideViewport.expand .epgSection {
    height: calc(100dvh - 62px - 24px);
  }
}
.guideViewport.expand .epgSection .epgModule {
  height: 100%;
}
.guideViewport.expand .epgSection .epgModule .epgCanvas {
  height: 100%;
}
.guideViewport.expand .epgSectionWrap {
  height: calc(100dvh - 84px - 12px);
}
@media screen and (min-width: 1024px) {
  .guideViewport.expand .epgSectionWrap {
    height: calc(100dvh - 62px - 24px);
  }
}
.guideViewport.expand .epgSection .epgSectionWrap .epgModule .cateGroup:last-child {
  margin-bottom: calc(24px - 6px + 12.5dvh);
}
@media screen and (min-width: 768px) {
  .guideViewport.expand .epgSection .epgSectionWrap .epgModule .cateGroup:last-child {
    margin-bottom: calc(48px - 6px + min(20dvh, 180px));
  }
}

.dayDivider {
  width: 1px;
  margin: 0 8px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  pointer-events: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .dayDivider {
    width: 2px;
    margin: 0 20px;
  }
}
.dayDivider::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(-1 * 5px);
  height: calc(100% + 10px);
  width: 1px;
  border-left: 1px solid rgba(var(--color-rgb-white), 0.1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .dayDivider::before {
    top: calc(-1 * 8px);
    height: calc(100% + 16px);
    width: 2px;
    border-left-width: 2px;
  }
}

.epgSection .epgSectionWrap .epgModule .cateCol .programGroup {
  clip-path: inset(-60px 0 -65px 0);
}
@media screen and (min-width: 768px) {
  .epgSection .epgSectionWrap .epgModule .cateCol .programGroup {
    clip-path: inset(-62px 0 -70px 0);
  }
}

.cateGroup:first-child .programCardRow:first-child:not(:last-child) .dayDivider::before {
  top: 0;
  height: calc(100% + 5px);
}
@media screen and (min-width: 768px) {
  .cateGroup:first-child .programCardRow:first-child:not(:last-child) .dayDivider::before {
    height: calc(100% + 8px);
  }
}

.cateGroup:not(:first-child) .programCardRow:first-child:not(:last-child) .dayDivider::before {
  top: calc(-1 * 60px);
  height: calc(100% + 5px + 60px);
}
@media screen and (min-width: 768px) {
  .cateGroup:not(:first-child) .programCardRow:first-child:not(:last-child) .dayDivider::before {
    top: calc(-1 * 62px);
    height: calc(100% + 8px + 62px);
  }
}

.cateGroup:not(:last-child) .programCardRow:last-child:not(:first-child) .dayDivider::before {
  height: calc(100% + 4px);
}
@media screen and (min-width: 768px) {
  .cateGroup:not(:last-child) .programCardRow:last-child:not(:first-child) .dayDivider::before {
    height: calc(100% + 8px);
  }
}

.cateGroup:last-child .programCardRow:last-child:not(:first-child) .dayDivider::before {
  height: calc(100% + 8px);
}

.cateGroup:first-child:not(:last-child) .programCardRow:first-child:last-child .dayDivider::before {
  top: 0;
  height: calc(100% + 65px);
}
@media screen and (min-width: 768px) {
  .cateGroup:first-child:not(:last-child) .programCardRow:first-child:last-child .dayDivider::before {
    height: calc(100% + 70px);
  }
}

.cateGroup:not(:first-child):not(:last-child) .programCardRow:first-child:last-child .dayDivider::before {
  top: calc(-1 * 60px);
  height: calc(100% + 65px);
}
@media screen and (min-width: 768px) {
  .cateGroup:not(:first-child):not(:last-child) .programCardRow:first-child:last-child .dayDivider::before {
    top: calc(-1 * 62px);
    height: calc(100% + 70px);
  }
}

.cateGroup:first-child:last-child .programCardRow:first-child:last-child .dayDivider::before {
  top: 0;
  height: calc(100% + 5px + 8px);
}
@media screen and (min-width: 768px) {
  .cateGroup:first-child:last-child .programCardRow:first-child:last-child .dayDivider::before {
    height: calc(100% + 8px + 8px);
  }
}

.cateGroup:not(:first-child):last-child .programCardRow:first-child:last-child .dayDivider::before {
  top: calc(-1 * 60px);
  height: calc(100% + 8px);
}
@media screen and (min-width: 768px) {
  .cateGroup:not(:first-child):last-child .programCardRow:first-child:last-child .dayDivider::before {
    top: calc(-1 * 62px);
    height: calc(100% + 8px);
  }
}

.pipWrap {
  height: 12.5dvh;
  background: var(--color-gray-1);
  -webkit-box-shadow: 0 0 10px rgba(var(--color-rgb-black), 0.1), 0 0 4px rgba(var(--color-rgb-black), 0.4);
          box-shadow: 0 0 10px rgba(var(--color-rgb-black), 0.1), 0 0 4px rgba(var(--color-rgb-black), 0.4);
  aspect-ratio: 16/9;
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 50;
  display: none;
}
@media screen and (min-width: 768px) {
  .pipWrap {
    height: 20dvh;
    max-height: 180px;
  }
}
@media screen and (min-width: 1440px) {
  .pipWrap {
    right: calc((100vw - 1440px) / 2 + 24px);
  }
}
.pipWrap::before, .pipWrap::after {
  content: "";
  display: block;
  position: absolute;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.pipWrap::before {
  width: 100%;
  height: 100%;
  background: rgba(var(--color-rgb-black), 0.4);
  top: 0;
  left: 0;
  z-index: 1;
}
.pipWrap::after {
  width: 28px;
  height: 28px;
  top: 50%;
  left: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath fill='white' d='M26.3208 15.9756C26.7846 15.9756 27.1614 16.3517 27.1616 16.8154V23.5361C27.1615 23.9999 26.7846 24.376 26.3208 24.376H15.9614C15.4976 24.376 15.1217 23.9999 15.1216 23.5361V16.8154C15.1218 16.3517 15.4976 15.9756 15.9614 15.9756H26.3208ZM25.8247 12.2656C25.8247 12.8771 25.3288 13.373 24.7173 13.373C24.1058 13.373 23.6099 12.8771 23.6099 12.2656V5.85547H19.6646V5.87012H3.05518V20.2656H11.6626C12.2738 20.2658 12.7698 20.7609 12.77 21.3721C12.77 21.9835 12.274 22.4793 11.6626 22.4795H0.840332V3.65625H11.2017V3.64062H25.8247V12.2656ZM6.2417 8.41797L11.7026 8.43555C12.2003 8.43723 12.6025 8.84223 12.6011 9.33984C12.5994 9.83768 12.1946 10.2409 11.6968 10.2393L8.68408 10.2285L8.67627 10.2373L8.81494 10.376L12.8706 14.4326C13.2221 14.7851 13.2219 15.3554 12.8696 15.707C12.5171 16.0586 11.9458 16.0585 11.5942 15.7061L11.3286 15.4395C11.324 15.435 11.3195 15.4303 11.3149 15.4258L7.41455 11.5156L7.42432 14.5117C7.42578 15.0094 7.02356 15.4143 6.52588 15.416C6.02815 15.4176 5.62336 15.0153 5.62158 14.5176L5.60498 9.35742C5.60405 9.33473 5.60322 9.31178 5.604 9.28906V9.05469L5.60205 8.97852L5.60303 8.86621L5.60205 8.41602L6.05225 8.41699L6.12646 8.41602L6.2417 8.41797Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}
.pipWrap:hover {
  cursor: pointer;
}
.pipWrap:hover::before, .pipWrap:hover::after {
  opacity: 1;
}