/* Copyright 2022 The Fuchsia Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file. */

:root {
  --log-list-buffer: calc(100vh - 50px);
  --log-control-height: 24px;
}

body {
  display: flex;
  flex-direction: column;
}

#logs-table-header>div {
  background-color: var(--vscode-editor-background);
  border-bottom: 2px solid var(--vscode-panel-border);
  padding-bottom: 5px;
  position: sticky;
  top: 0;
}

#logs-table-header,
log-view-row {
  display: table-row-group;
}

log-view-row[hidden] {
  display: none;
}

log-view-row>div {
  display: table-row;
}

.log-list-cell,
#logs-table-header>div {
  overflow: clip;
  text-align: left;
  text-overflow: ellipsis;
  vertical-align: top;
  white-space: nowrap;
  display: table-cell;
}

td#moniker {
  direction: rtl;
}

#log-list[wrap-log-text] .msg-cell,
#log-list:not([wrap-log-text]) .msg-cell:hover {
  text-overflow: clip;
  white-space: normal;
}

#log-list:not([wrap-log-text]) .msg-cell:hover {
  background: var(--vscode-list-hoverBackground);
}

#log-list-container {
  height: var(--log-list-buffer);
  overflow: scroll;
  width: 100%;
}

#log-list {
  display: table;
  table-layout: fixed;
  width: 100%;
  word-wrap: normal;
}

log-view-row {
  font-family: var(--vscode-editor-font-family);
  font-size: var(--vscode-editor-font-size);
  font-weight: var(--vscode-editor-font-weight);
}

log-view-row div[data-severity="warn"] {
  color: var(--vscode-list-warningForeground);
}

log-view-row div[data-severity="error"] {
  color: var(--vscode-list-errorForeground);
}

log-view-row div[data-moniker="<VSCode>"] {
  line-height: 75%;
  opacity: 70%;
}

#log-action-container {
  display: flex;
  height: var(--log-action-container-height);
  margin-block-start: 0;
  margin-block-end: 0;
  padding-bottom: var(--input-margin-vertical);
  width: 100%;
}

.column-resize {
  cursor: col-resize;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 5px;
}

.column-resize:hover,
.resizing {
  border-right: 2px solid var(--vscode-editor-foreground);
}
