@font-face {
  font-family: "Kosugi";
  font-style: normal;
  font-weight: 400;
  src: url("Kosugi-Regular.woff2") format("woff2");
}

@font-face {
  font-family: "Kosugi Maru";
  font-style: normal;
  font-weight: 400;
  src: url("KosugiMaru-Regular.woff2") format("woff2");
}

@font-face {
  font-family: "Kosugi Maru Bold";
  font-style: normal;
  font-weight: 700;
  src: url("KosugiMaru-Bold.woff2") format("woff2");
}

:root {
  --dark: ;
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --dark: initial;
    --light: ;
  }
}

body {
  background: var(--light, revert) var(--dark, #200);
  color: var(--light, revert) var(--dark, #ebb);
}

a {
  color: var(--light, revert) var(--dark, #c6f);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:visited {
  color: var(--light, revert) var(--dark, #f7e);
}

ul {
  list-style-type: none;
  padding: 0;
}

ul > li > ul {
  margin-left: 1em;
}

li {
  padding: 0.2em 0;
}

button, input {
  font-size: medium;
  margin: 0.5em 0.1em;
}

button {
  background: var(--light, #eee) var(--dark, #400);
  border: 0;
  color: var(--light, #07d) var(--dark, #c6f);
  font-weight: bold;
  padding: 0.2em 0.5em;
  transition: 0.3s;
}

button:hover {
  background: var(--light, #07d) var(--dark, #c6f);
  color: white;
}

input[type="checkbox"] {
  height: 1em;
  margin-left: 0.2em;
  width: 1em;
}

.thumb-popup {
  position: relative;
  white-space: nowrap;
}

#vid-seek canvas {
  border: 1px solid #07d;
  height: 9em;
  position: absolute;
  top: -10em;
  width: 16em;
}

#vid-seek input {
  margin-left: 0.5em;
  max-width: 60%;
  min-width: 12em;
  vertical-align: middle;
  width: 30%;
}

#vid-seek-status {
  white-space: nowrap;
}

.video-full-container #vid-seek {
  display: block;
  left: 10%;
  opacity: 0;
  position: absolute;
  text-align: right;
  top: 5%;
  width: 80%;
}

@media (hover: hover) {
  .video-full-container #vid-seek:hover {
    opacity: 1;
  }
}

.video-full-container #vid-seek.active {
  opacity: 1;
}

.video-full-container #vid-seek canvas {
  bottom: -9.7em;
  top: auto;
}

.video-full-container #vid-seek input {
  margin: 0;
  max-width: 100%;
  padding: 1.2em 0;
  width: 100% !important;
}

.video-full-container #vid-seek-status {
  background: black;
  color: white;
  opacity: 0.7;
}

#vid-volume {
  margin-left: 0.5em;
  vertical-align: middle;
  width: 5em;
}

select {
  font-size: medium;
  margin: 0.1em;
}

h1, h2 {
  font-size: medium;
}

dd {
  border-left: 0.2em solid var(--light, #ccc) var(--dark, #544);
  margin-left: 0.3em;
  padding-left: 0.5em;
}

table {
  border: 1px outset #888;
}

th, td {
  border: 1px inset #888;
}

#footer {
  margin-top: 2em;
  margin-bottom: 3em;
}

#result {
  background: var(--light, #fff) var(--dark, inherit);
  color: var(--light, #f00) var(--dark, #f55);
  font-size: small;
  font-weight: bold;
}

.log-marker {
  background: var(--light, #fff) var(--dark, inherit);
  color: var(--light, #00f) var(--dark, #88f);
}

.select-with-note > select {
  float: left;
  margin-right: 1em;
}

.select-with-note > br {
  clear: both;
}

.page-nav {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.warn, .scrambles, .partially {
  background: var(--light, #ff8) var(--dark, #882);
  color: var(--light, #000) var(--dark, inherit);
}

.err, .drops, .shortage {
  background: var(--light, #f88) var(--dark, #a44);
  color: var(--light, #000) var(--dark, inherit);
}

.disabled {
  background: var(--light, #ccc) var(--dark, #544);
  color: var(--light, #000) var(--dark, inherit);
}

.epg-table {
  border: 0;
  border-spacing: 0;
}

.epg-row-head > th {
  border: 1px solid #aaa;
  vertical-align: bottom;
}

.epg-row-tail > th {
  border: 1px solid #aaa;
  vertical-align: top;
}

.epg-row-head > td, .epg-row-tail > td {
  border: 0;
}

.epg-col-head {
  border: 0;
  padding: 1px 0 0 0;
  vertical-align: top;
}

.epg-col-head > div {
  border: 1px solid #aaa;
  box-sizing: border-box;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.t4, .t5 {
  background: #0277bd;
}

.t6, .t7 {
  background: #00695c;
}

.t8, .t9, .t10 {
  background: #558b2f;
}

.t11, .t12, .t13 {
  background: #f9a825;
}

.t14, .t15, .t16 {
  background: #ef6c00;
}

.t17, .t18, .t19 {
  background: #c62828;
}

.t20, .t21, .t22 {
  background: #6a1b9a;
}

.t23, .t0, .t1, .t2, .t3 {
  background: #283593;
}

.t17.tnow, .t18.tnow, .t19.tnow {
  color: #ef6c00 !important;
}

.tnow {
  color: #c62828 !important;
}

.epg-col {
  background: var(--light, #aaa) var(--dark, #300);
  border: 0;
  font-size: small;
  position: relative;
  vertical-align: top;
}

.epg-col > div {
  border-color: var(--light, #aaa) var(--dark, #300);
  border-style: solid;
  border-width: 1px 0;
  box-sizing: border-box;
  color: var(--light, #000) var(--dark, inherit);
  overflow: auto;
  position: absolute;
}

.lavel-disabled, .lavel-disabled > a {
  background: #444;
  color: #fff;
  font-weight: bold;
}

.lavel-reserved, .lavel-reserved > a {
  background: #f00;
  color: #fff;
  font-weight: bold;
}

.lavel-view, .lavel-view > a {
  background: #00f;
  color: #fff;
  font-weight: bold;
}

.epg-list {
  margin-bottom: 0.5em;
}

.epg-list > div {
  color: var(--light, #000) var(--dark, inherit);
}

.epg-list-list > li {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.epg-present {
  font-size: small;
  margin-left: 1em;
  opacity: 0.8;
}

@media (min-width: 480px) {
  .epg-present > span {
    display: none;
  }
}

.cont-0, .cont-8 {
  background: var(--light, #ffffe0) var(--dark, #404012);
}

.cont-1 {
  background: var(--light, #e6e6fa) var(--dark, #171747);
}

.cont-2 {
  background: var(--light, #fff0f5) var(--dark, #4d2b1a);
}

.cont-3 {
  background: var(--light, #ffe4e1) var(--dark, #4d1b15);
}

.cont-4 {
  background: var(--light, #f0fff0) var(--dark, #1a4d1a);
}

.cont-5 {
  background: var(--light, #e0ffff) var(--dark, #154d4d);
}

.cont-6, .cont-9 {
  background: var(--light, #ffefd5) var(--dark, #4d3612);
}

.cont-7 {
  background: var(--light, #ffc0cb) var(--dark, #661e0f);
}

.cont-10, .cont-11 {
  background: var(--light, #f0f8ff) var(--dark, #1a354d);
}

.cont-15 {
  background: var(--light, #f5f5f5) var(--dark, #421b1b);
}

.cont-12, .cont-13, .cont-14, .cont-16 {
  background: var(--light, #fff) var(--dark, #200);
}

.past {
  opacity: 0.8;
}

.escape-text {
  color: transparent;
  font-size: xx-small;
}

.epg-nav-sel {
  font-weight: bold;
}

#now, .epg-nav-now {
  border: 2px solid var(--light, #f00) var(--dark, #f55);
}

#ccinfo-desc {
  font-size: small;
}

#ccinfo-desc > small {
  font-size: x-small;
  margin-left: 0.2em;
  margin-right: 0.2em;
  opacity: 0.8;
}

#vid-thumbs {
  position: relative;
}

#vid-thumbs > div {
  background: black;
  color: white;
  opacity: 0.7;
  padding: 0 0.1em;
  position: absolute;
}

.thumb-1, .thumb-2 {
  aspect-ratio: 16 / 9;
  width: 50%;
}

.thumb-3 {
  aspect-ratio: 16 / 9;
  width: 33.3%;
}

.thumb-4 {
  aspect-ratio: 16 / 9;
  width: 25%;
}

.thumb-5 {
  aspect-ratio: 16 / 9;
  width: 20%;
}

@media (max-width: 479px) {
  .thumb-3, .thumb-4, .thumb-5 {
    width: 50%;
  }
}

.video-container {
  line-height: 0;
  max-width: var(--vcont-max-width, 100%);
  overflow: hidden;
  position: relative;
  width: max-content;
}

#video {
  width: 100%;
}

.video-full-container {
  display: flex;
  flex-direction: row;
}

.video-full-container:fullscreen {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.video-full-container:-webkit-full-screen {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.video-full-container:fullscreen > .video-container {
  max-width: 100%;
  width: 100%;
}

.video-full-container:-webkit-full-screen > .video-container {
  max-width: 100%;
  width: 100%;
}

.video-full-container:fullscreen #video {
  max-height: 100%;
}

.video-full-container:-webkit-full-screen #video {
  max-height: 100%;
}

.video-full-container-flex-row:fullscreen {
  flex-direction: row;
}

.video-full-container-flex-row:-webkit-full-screen {
  flex-direction: row;
}

.video-full-container-flex-row:fullscreen > .video-container {
  height: 100%;
  max-height: 100%;
  max-width: none;
  width: auto;
}

.video-full-container-flex-row:-webkit-full-screen > .video-container {
  height: 100%;
  max-height: 100%;
  max-width: none;
  width: auto;
}

.video-full-container-flex-row:fullscreen #video {
  height: 100%;
  max-height: none;
  max-width: 100%;
  width: auto;
}

.video-full-container-flex-row:-webkit-full-screen #video {
  height: 100%;
  max-height: none;
  max-width: 100%;
  width: auto;
}

.full-control {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
}

.exit-control {
  display: none;
  left: 0;
  position: absolute;
  top: 0;
}

.live-control {
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.minimize-jikkyo {
  height: 40%;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 30%;
}

.comment-control {
  bottom: 20%;
  display: flex;
  left: 50%;
  opacity: 0;
  position: absolute;
  transform: translateX(-50%);
  width: 40%;
  z-index: 1;
}

.move-comment-control {
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 10%;
  transform: translateX(-50%);
  width: 30%;
  z-index: 1;
}

.comment-control.opaque {
  opacity: 1;
}

.comment-control.moved {
  bottom: auto;
  top: 10%;
}

.move-comment-control.moved {
  bottom: 20%;
  top: auto;
}

.full-control > button, .exit-control > button, .live-control > button {
  font-size: x-large;
  margin: 0.5em;
  padding: 0.5em;
}

.minimize-jikkyo > button {
  border-radius: 0.6em;
  height: 100%;
  margin: 0.2em;
  padding: 0.6em;
}

.comment-control > input, .comment-control > button, .move-comment-control > button {
  font-size: large;
  margin: 1em 0.2em;
  opacity: 0.7;
  padding: 0.2em;
}

.move-comment-control > button {
  width: 100%;
}

.comment-control > input {
  flex: 1;
}

.comment-control > .nico {
  background-color: #bbf;
  color: #000;
}

.comment-control > .refuge {
  background-color: #fbb;
  color: #000;
}

.video-full-container .full-control:hover,
.video-full-container .minimize-jikkyo:hover {
  opacity: 1;
}

.video-full-container:fullscreen .full-control,
.video-full-container:fullscreen .minimize-jikkyo {
  display: none;
}

.video-full-container:-webkit-full-screen .full-control,
.video-full-container:-webkit-full-screen .minimize-jikkyo {
  display: none;
}

.video-full-container:fullscreen .exit-control {
  display: block;
  opacity: 0;
}

.video-full-container:-webkit-full-screen .exit-control {
  display: block;
  opacity: 0;
}

.video-full-container:fullscreen .exit-control:hover {
  opacity: 1;
}

.video-full-container:-webkit-full-screen .exit-control:hover {
  opacity: 1;
}

.video-full-container .live-control:hover,
.video-full-container .comment-control:hover,
.video-full-container .move-comment-control:hover {
  opacity: 1;
}

.data-broadcasting-browser-container {
  overflow: hidden;
}

.data-broadcasting-browser-content {
  display: none;
}

.remote-control > button {
  height: 2em;
  margin-top: 0.2em;
  min-width: 2em;
}

#key1, #key2, #key3, #key4, #key18, #key19, #key20, #key21, #key22, #key23, #key24 {
  min-width: 3em;
}

#key18 {
  border: 2px solid #aae;
}

#key20 {
  background-color: gray;
  color: white;
}

#key21 {
  background-color: rgb(0, 114, 214);
  color: white;
}

#key22 {
  background-color: rgb(201, 0, 0);
  color: white;
}

#key23 {
  background-color: rgb(27, 135, 0);
  color: white;
}

#key24 {
  background-color: rgb(227, 178, 0);
  color: white;
}

.remote-control-indicator {
  height: 3em;
  line-height: 1.5;
  overflow: hidden;
  white-space: pre-line;
}

#jikkyo-comm {
  /* The top/bottom border of #jikkyo-comm must be 1px */
  border: 1px solid var(--light, #ccc) var(--dark, #333);
  flex: 0 0 25%;
  margin-left: 1px;
}

#jikkyo-comm.minimized {
  flex: none;
  width: 0;
}

#jikkyo-comm button {
  margin: 0;
}

#jikkyo-comm > canvas {
  height: 1.5em;
  vertical-align: top;
  width: 100%;
}

#jikkyo-config > input {
  margin: 0.1em;
}

#jikkyo-config,
#jikkyo-comm.minimized > #jikkyo-config,
#jikkyo-comm.minimized > button {
  display: none;
}

#jikkyo-config.display {
  display: inline-block;
}

#jikkyo-chats {
  font-size: small;
  line-break: anywhere;
  overflow: auto;
  word-break: break-all;
}

#jikkyo-chats > .closed {
  border-top: 1px dotted #aaa;
}

#jikkyo-chats > div > .nico {
  background: var(--light, #fff) var(--dark, inherit);
  color: var(--light, #00a) var(--dark, #66c);
  margin-left: 0.2em;
  margin-right: 0.2em;
}

#jikkyo-chats > div > .refuge {
  background: var(--light, #fff) var(--dark, inherit);
  color: var(--light, #900) var(--dark, #c66);
  margin-left: 0.2em;
  margin-right: 0.2em;
}

#jikkyo-chats .dark {
  color: #fff;
}

#jikkyo-chats .light {
  color: #000;
}

.video-full-container:fullscreen #jikkyo-comm {
  display: none;
}

.video-full-container:-webkit-full-screen #jikkyo-comm {
  display: none;
}

.dplayer-danmaku-item {
  display: inline-block;
  font-family: "Meiryo", "Kosugi Maru Bold", sans-serif;
  font-weight: bold;
  line-height: 1;
  pointer-events: none;
  -webkit-text-stroke: 1px #000;
  text-stroke: 1px #000;
  user-select: none;
  white-space: nowrap;
}

.dplayer-danmaku-item--demo {
  position: absolute;
  visibility: hidden;
}

.dplayer-danmaku-dark {
  -webkit-text-stroke: 1px #fff;
  text-stroke: 1px #fff;
}

.dplayer-danmaku-right {
  position: absolute;
  right: 0;
  transform: translateX(100%);
}

.dplayer-danmaku-right.dplayer-danmaku-move {
  animation-name: danmaku;
  animation-timing-function: linear;
  will-change: transform;
}

.dplayer-danmaku-top, .dplayer-danmaku-bottom {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}

.dplayer-danmaku-top.dplayer-danmaku-move, .dplayer-danmaku-bottom.dplayer-danmaku-move {
  animation-name: danmaku-center;
  animation-timing-function: linear;
  will-change: visibility;
}

@keyframes danmaku {
  from {
    transform: translateX(100%);
  }
}

@keyframes danmaku-center {
  from {
    visibility: visible;
  }
  to {
    visibility: visible;
  }
}

.inact-setting {
  opacity: 0.3;
}

div.disabled-on-checked, div.enabled-on-checked, div.sub-setting {
  margin-left: 2em;
}

input[type=checkbox]:checked + .disabled-on-checked, input[type=checkbox] + .enabled-on-checked {
  opacity: 0.5;
}

input[type=checkbox]:checked + .enabled-on-checked {
  opacity: 1;
}

label:has(input[type=checkbox]:checked) + .disabled-on-checked,
label:has(input[type=checkbox]:checked) + .disabled-on-checked + .disabled-on-checked,
label:has(input[type=checkbox]) + .enabled-on-checked,
label:has(input[type=checkbox]) + .enabled-on-checked + .enabled-on-checked {
  opacity: 0.5;
}

label:has(input[type=checkbox]:checked) + .enabled-on-checked,
label:has(input[type=checkbox]:checked) + .enabled-on-checked + .enabled-on-checked {
  opacity: 1;
}

label.expand-on-checked {
  display: none;
}

label:has(input[type=checkbox]:checked).expand-on-checked, label:has(input[type=checkbox]) + .expand-on-checked {
  display: none;
}

label:has(input[type=checkbox]).expand-on-checked, label:has(input[type=checkbox]:checked) + .expand-on-checked {
  display: unset;
}
