/**
 * Copyright 2026 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* stylelint-disable */
.logger {
  color: var(--gray-300);
  width: 100%;
  max-width: 100%;
  display: block;

  .logger-list {
    padding: 0 0px 0 25px;
    overflow-x: hidden;
    width: calc(100% - 45px);
  }

  .user h4 {
    color: var(--Green-500);
  }

  .model h4 {
    color: var(--Blue-500);
  }

  .tool-call h4 {
    color: var(--Orange-500, #ff9800);
  }

  .rich-log {
    display: flex;
    justify-content: center;
    gap: 4px;

    pre {
      overflow-x: auto;
    }

    display: block;

    h4 {
      font-size: 14px;
      text-transform: uppercase;
      padding: 8px 0;
      margin: 0;
    }

    h5 {
      margin: 0;
      padding-bottom: 8px;
      border-bottom: 1px solid var(--Neutral-20);
    }

    .part {
      background: var(--Neutral-5);
      padding: 14px;
      margin-bottom: 4px;
      color: var(--Neutral-90);
      border-radius: 8px;
    }

    .part-functioncall {
      background: rgba(255, 152, 0, 0.1);
      border-left: 3px solid var(--Orange-500, #ff9800);

      .function-details {
        margin-top: 8px;
        font-size: 13px;

        strong {
          color: var(--Orange-500, #ff9800);
        }

        pre {
          background: var(--Neutral-10);
          padding: 8px;
          border-radius: 4px;
          margin: 4px 0;
          font-size: 12px;
        }
      }
    }
  }

  .plain-log {
    & > * {
      padding-right: 4px;
    }
  }

  .inline-code:not(:last-child) {
    font-style: italic;

    &::after {
      content: ", ";
    }
  }
}

.logger li {
  display: block;
  padding: 8px 0;
  color: var(--Neutral-50, #707577);
  font-family: "Space Mono";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.logger li .timestamp {
  width: 70px;
  flex-grow: 0;
  flex-shrink: 0;
  color: var(--Neutral-50);
}

.logger li .source {
  flex-shrink: 0;
  font-weight: bold;
}

.logger li.source-server,
.logger li.receive {
  color: var(--Blue-500);
}

.logger li.source-client,
.logger li.send:not(.source-server) {
  color: var(--Green-500);
}

.logger li .count {
  background-color: var(--Neutral-5);
  font-size: x-small;
  padding: 0em 0.6em;
  padding: 0.3em 0.5em;
  line-height: 1em;
  vertical-align: middle;
  border-radius: 8px;
  color: var(--Blue-500);
}

.logger li .message {
  flex-grow: 1;
  color: var(--Neutral-50);
}
