body.game .app {
  line-height: normal;
  background: url("../ui/denim075.png") repeat;
  border-radius: 5px;
  color: var(--color-text-light-highlight);
  font-size: var(--font-size-14);
  backdrop-filter: unset;
  -webkit-backdrop-filter: unset;

  &.window-app {
    border: unset;
    color-scheme: var(--color-scheme);

    > * { flex: 1; }

    .window-header {
      flex: 0 0 30px;
      padding: 0 8px;
      gap: 0;

      .window-title { margin: 0; }
      .document-id-link { opacity: unset; }

      a {
        flex: none;
        margin: 0 0 0 8px;
      }
    }

    .window-content {
      background: url("../ui/parchment.jpg") repeat;
      padding: 8px;
      color: var(--color-text-dark-primary);
      > * { flex: 1; }
    }

    .flexrow {
      align-items: initial;
      &.window-header {
        align-items: center;
      }
    }
  }

  .window-resizable-handle {
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -1px;
    right: 0;
    background: #444;
    padding: 2px;
    border: 1px solid var(--color-border-dark-1);
    border-radius: 4px 0 0 0;
    i.fa-rotate-by {
      --fa-rotate-angle: 45deg;
    }
  }

  .scrollable {
    margin-right: unset;
    padding-right: unset;
  }

  /* Elements */
  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-primary);
    font-weight: normal;
    line-height: unset;
    color: inherit;
  }

  h4 { font-size: revert; }

  :is(h1, h2, h3, h4).border {
    text-indent: unset;

    &::before {
      content: unset;
      position: unset;
      border-bottom: unset;
      mask-image: unset;
      -webkit-mask-image: unset;
    }
  }

  hr {
    margin: unset;
    margin-block-start: 0.5em;
    margin-block-end: 0.5em;
  }

  ul li, ol li { margin: unset; }

  figure {
    width: unset;

    img {
      margin: unset;
      box-shadow: none;
    }
  }

  .flexcol > * { flex: 1; }

  /* Forms */
  button {
    display: unset;
    height: unset;
    min-height: unset;
    padding: revert;

    &:hover { --button-hover-text-color: var(--button-text-color); }
    &.icon { font-family: var(--font-awesome); }
  }

  file-picker > button {
    margin: -2px 0;
    padding: 0;
  }

  label.checkbox { display: unset; }

  input[type=checkbox], input[type=radio] {
    appearance: revert;
    -webkit-appearance: revert;
    -moz-appearance: revert;

    &::before, &::after { content: unset; }
  }

  input[type=file] {
    width: revert;
    height: revert;
    line-height: revert;
    padding: revert;
    background: revert;
    border: revert;
    border-radius: revert;
    outline: revert;
    color: revert;
  }

  select { width: auto; }

  .directory .directory-header .header-search input { --input-background: rgb(255 255 245 / 80%); }

  /* Tabs */
  .tabs {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 0;
    line-height: unset;
    justify-content: space-around;

    &.sheet-tabs {
      margin: 4px 0;
      [data-tab] { padding: 8px 12px; }
    }

    &:not(.sheet-tabs) { border: none; }

    > [data-tab].active { text-shadow: 0 0 10px var(--color-shadow-primary); }
  }

  nav.list-filters {
    display: flex;
    justify-content: end;
    label { font-weight: bold; }
    a.filter {
      flex: none;
      margin-left: 10px;
      border-bottom: 2px solid var(--color-underline-inactive);
      &.active {
        font-weight: bold;
        border-bottom: 2px solid var(--color-underline-active);
      }
    }
  }

  &.tab:not(.active, .sidebar-popout) { display: none; }

  /* Dice */
  .dice-roll .dice-total {
    margin: 0;
    line-height: 24px;
    font-size: var(--font-size-20);
    font-weight: bold;
  }

  /* Dialogs */
  &.dialog .dialog-buttons {
    gap: 0;
    margin: 0;

    button {
      background: rgb(0 0 0 / 10%);
      border: 2px groove var(--color-border-light-highlight);
      margin: 0 5px 0 0;
      flex: 1;

      &:last-child {
        margin-right: 0;
      }

      &.default {
        background: rgb(0 0 0 / 5%);
        border-color: var(--color-border-light-secondary);
        text-transform: unset;
      }
    }
  }

  /* Sidebar */
  .notification-pip {
    background: none;
    display: inline-block;
    color: var(--color-text-hyperlink);
    text-shadow: 1px 1px 3px var(--color-shadow-dark);
    position: absolute;
    top: -1px;
    right: -2px;
  }
  .notification-pip.update {
    position: relative;
    padding-right: 2px;
  }

  .directory-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .directory .directory-item img { border: none; }

  /* Journal Sheet */
  &.journal-sheet .journal-sidebar input { background: rgb(255 255 245 / 80%); }


  /* Adventure Importer */
  &.adventure-importer {
    .window-content {
      padding: 0.5rem 1rem;
    }

    .adventure-header {
      flex-basis: 100%;
      h1 {
        margin: 0;
        line-height: 50px;
        text-align: center;
        font-size: 2.5rem;
        border: none;
      }
    }

    figure.adventure-banner {
      flex: 0 0 100%;
      margin: 0.5rem 0;
      img {
        width: 100%;
        height: 300px;
        object-fit: cover;
        border-radius: 5px;
      }
    }

    .adventure-overview {
      flex: 2;
      margin-left: 0;
      p {
        font-size: var(--font-size-14);
        line-height: var(--line-height-20);
      }
    }

    .adventure-contents {
      margin-left: 1rem;
      ul {
        padding: 0;
        list-style: none;
        li i {
          color: var(--color-text-dark-inactive);
          margin-right: 0.5rem;
        }
      }
    }

    .import-controls label.checkbox {
      font-size: var(--font-size-14);
      > i { color: var(--color-text-dark-inactive); }
      > input[type=checkbox] { top: 3px; }
    }

    .adventure-footer {
      flex: 0 0 100%;
      margin-top: 0.5rem;
    }
  }
}
