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

explore-sk {
  display: block;

  h3 {
    margin: 0.5em 0 0 0;
  }

  #selections {
    margin: 0 1em;
  }

  #commits,
  #paramset {
    display: inline-block;
    margin: 0.5em;
    overflow-y: auto;
  }

  #paramset {
    height: 480px;
  }

  .formulas {
    display: flex;
    align-items: center;
  }

  help-icon-sk {
    fill: var(--primary);
  }

  .query-parts {
    display: flex;
  }

  .query-counts {
    height: 2.5em;
  }

  query-values-sk {
    display: flex;
    flex-direction: column;
  }

  #bottomButtons {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
  }

  checkbox-sk,
  domain-picker-sk {
    display: inline-block;
  }

  #commits {
    margin: 1em;
  }

  #simple_paramset {
    margin: 1em 0 1em 1em;
  }

  #percent {
    margin: 0.6em;
    font-family: 'Roboto Mono', monospace;
    font-size: 36px;
    color: var(--on-surface);
  }

  #tabs[hide_if_no_data],
  #calcButtons[hide_if_no_data],
  #shiftButtons[hide_if_no_data],
  #traceButtons[hide_if_no_data],
  #plot[hide_if_no_data] {
    display: none;
  }

  #plot {
    display: block;
    height: 400px;
    width: 100%;
  }

  #spin-overlay {
    position: relative;
    display: block;
  }

  #buttons {
    font-size: 11px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0;
    margin: 0;
  }

  #traceButtons {
    display: flex;
    align-items: center;
  }

  button {
    padding: 0.4em;
    text-transform: none;
  }

  #spinner[aria-hidden='true'] {
    display: none;
  }

  #spin-container spinner-sk {
    width: 128px;
    height: 128px;
    border-width: 4px;
  }

  #spin-container {
    display: none;
  }

  #spin-container[spinning] {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--surface-1dp);
  }

  #trace_id {
    display: inline-block;
  }

  json-source-sk {
    padding: 1em;
  }

  dialog {
    padding: 16px;
    border: solid var(--on-background) 1px;
    color: var(--on-background);
    background: var(--background);
  }

  #help table * {
    border: 0;
  }

  #help table {
    border-spacing: 0.6em;
  }

  #help table td.mono {
    font-family: 'Courier New', Courier, monospace;
  }

  #help h2 {
    margin-top: 0;
  }

  #help sup,
  #help .footnote {
    font-size: 80%;
  }

  #help .footnote {
    padding: 1em;
  }

  tabs-panel-sk {
    border-radius: 0;
  }

  #query-dialog {
    overflow: auto;
  }

  #query-dialog paramset-sk {
    display: inline-block;
  }

  #query-dialog paramset-sk div {
    display: block;
  }

  textarea {
    background: var(--surface);
    color: var(--on-surface);
    border: solid 1px var(--on-surface);
  }

  #commitsTab[disabled] {
    display: none;
  }
}
