/*
 * 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.
 */

/* Palette: Google blue for the primary, a scientific teal for the accent. */
:root {
  --md-primary-fg-color: #1a73e8;
  --md-primary-fg-color--light: #4285f4;
  --md-primary-fg-color--dark: #174ea6;
  --md-accent-fg-color: #00897b;
  --md-accent-fg-color--transparent: rgba(0, 137, 123, 0.1);
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #8ab4f8;
  --md-primary-fg-color--light: #aecbfa;
  --md-primary-fg-color--dark: #1a73e8;
  --md-accent-fg-color: #4db6ac;
  --md-hue: 220;
}

/* --- Landing page hero ------------------------------------------------- */

.md-typeset .hero-tagline {
  font-size: 1.9rem;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin: 0.4em 0 0.3em;
  max-width: 22em;
}

.md-typeset .hero-sub {
  font-size: 0.9rem;
  line-height: 1.7;
  color: var(--md-default-fg-color--light);
  max-width: 38em;
  margin-bottom: 1.6em;
}

.hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 1.2rem;
}

.md-typeset .hero-buttons .md-button {
  margin: 0;
}

/* The home page hides the sidebars; give the content room to breathe. */
.md-typeset h1 {
  font-weight: 500;
  letter-spacing: -0.02em;
}

/* --- Feature cards ----------------------------------------------------- */

.md-typeset .grid.cards > ul > li {
  border-radius: 0.5rem;
  transition:
    border-color 200ms,
    box-shadow 200ms,
    transform 200ms;
}

.md-typeset .grid.cards > ul > li:hover {
  border-color: var(--md-accent-fg-color);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.md-typeset .grid.cards .lg.middle {
  color: var(--md-primary-fg-color);
}

/* --- Gate output blocks ------------------------------------------------ */

/* Deterministic gate transcripts read better in a fixed, quiet block. */
.md-typeset .gate-pass code,
.md-typeset code.gate-pass {
  color: #1e8e3e;
}

/* --- Tables ------------------------------------------------------------ */

.md-typeset table:not([class]) th {
  font-weight: 500;
  white-space: nowrap;
}

/* --- API reference ----------------------------------------------------- */

.md-typeset .doc-heading code {
  font-size: 0.85em;
}

.doc-symbol-parameter,
.doc-symbol-attribute {
  font-size: 0.75em;
}

/* --- Mermaid ----------------------------------------------------------- */

.md-typeset .mermaid {
  margin: 1.4em auto;
  text-align: center;
}

/* --- Footer ------------------------------------------------------------ */

.md-footer-meta {
  font-size: 0.7rem;
}
