@import '../themes/themes.scss';

particles-sk {
  display: block;
  background: var(--surface);
  margin: 0;
  min-height: 100vh;

  header {
    background: var(--surface-1dp);
    color: var(--primary);
    margin: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 16px;
    align-items: center;
  }

  header h2 {
    margin: 8px 0 8px 0;
  }

  header #githash {
    background: var(--surface-1dp);
  }

  main {
    padding: 16px;
  }

  figure {
    margin: 8px 0;
    padding: 0;
  }

  figcaption {
    margin: 8px 0;
    text-align: center;
  }

  .jsoneditor-field {
    color: var(--primary);
  }

  div.jsoneditor-field[contenteditable='true']:focus,
  div.jsoneditor-field[contenteditable='true']:hover,
  div.jsoneditor-value[contenteditable='true']:focus,
  div.jsoneditor-value[contenteditable='true']:hover {
    background: var(--surface);
    color: var(--secondary);
  }

  .playerAndEditor {
    display: flex;
  }

  #json_editor {
    min-width: 400px;
    padding: 0;
  }

  #dimensions label {
    display: block;
    margin: 8px 0 8px 0;
  }

  details {
    margin-left: 16px;

    summary {
      display: inline-block;
      padding: 4px;
      background: var(--surface);
      color: var(--on-surface);
      border: solid 1px var(--on-surface);
      cursor: pointer;
      list-style: none;
      margin: 8px 0;
      box-shadow: inset 0 0 2px 0px var(--on-surface);
    }

    summary:focus {
      outline: dashed 1px var(--on-surface);
      outline-offset: 3px;
    }

    summary::-webkit-details-marker {
      display: none;
    }
  }

  details[open] {
    background: var(--surface);
  }
}
