html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
.viewer { display: flex; flex-direction: column; height: calc(100vh - 140px); }
.viewer-bar { display: flex; gap: .75rem; align-items: center; padding: .25rem 0 .5rem; flex-wrap: wrap; }
.viewer-bar .stats { font-family: Consolas, monospace; font-size: .8rem; color: #555; }
.viewer video { flex: 1; min-height: 0; width: 100%; background: #111; object-fit: contain; }

.login-box {
    max-width: 420px;
}

/* Remote control: the video takes mouse, touch and keyboard; a red frame says so. */
.viewer video.controlling { outline: 3px solid #c82121; outline-offset: -3px; touch-action: none; cursor: default; }
