/* 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;
}

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

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

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

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

.log-list-cell,
log-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);
}
