/* zarr-vectors documentation — custom CSS overrides for Furo theme */

/* ── Home page hero ─────────────────────────────────────────────────────── */

.zv-hero {
    text-align: center;
    padding: 3rem 1rem 2rem;
}

.zv-hero-title {
    display: block;
    font-size: 3.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--zv-magenta);
    line-height: 1.1;
    margin-bottom: 0.75rem;
}

@media (prefers-color-scheme: dark) {
    .zv-hero-title { color: var(--zv-magenta-light); }
}

[data-theme="dark"] .zv-hero-title { color: var(--zv-magenta-light); }

.zv-hero-tagline {
    font-size: 1.1rem;
    color: var(--color-foreground-secondary);
    margin: 0 auto;
    max-width: 42rem;
    line-height: 1.6;
}

/* ── Explainer iframe ────────────────────────────────────────────────────── */

.zv-explainer-wrap {
    width: 100%;
    margin: 1.5rem 0;
}

.zv-explainer-frame {
    width: 100%;
    height: 520px;
    border: none;
    border-radius: 6px;
}

/* Brand accent — ZVF magenta */
:root {
    --color-brand-primary:   #e0195c;
    --color-brand-content:   #e0195c;
    --zv-magenta:            #e0195c;
    --zv-magenta-light:      #ff72c0;
}

/* Code block: slightly darker background for contrast */
.highlight {
    background: var(--color-code-background, #1a1a1a) !important;
}

/* Sidebar: tighter font size for long nav trees */
.sidebar-tree .reference {
    font-size: 0.875rem;
}

/* Spec/terms definition lists */
dl.field-list > dt {
    font-weight: 600;
    color: var(--color-brand-primary);
}

/* Admonition colour — note boxes */
.admonition.note {
    border-left-color: var(--zv-magenta);
}

/* Tables: add subtle row striping */
table.docutils tbody tr:nth-child(even) {
    background-color: var(--color-table-row-hover);
}

/* Code references in text */
code.literal {
    background: var(--color-inline-code-background);
    border-radius: 3px;
    padding: 1px 4px;
    font-size: 0.9em;
}

/* Reduce top padding on h1 (Furo adds too much on spec pages) */
article.bd-article h1:first-of-type {
    margin-top: 0.5rem;
}

/* Spec page term headings — make them stand out */
.rst-content dl:not(.field-list) > dt {
    font-family: var(--font-stack--monospace);
    font-size: 0.95rem;
    background: var(--color-admonition-background);
    border-left: 3px solid var(--zv-magenta);
    padding: 4px 10px;
    border-radius: 0 4px 4px 0;
    margin-bottom: 4px;
}

/* Neuroglancer shell prompt styling */
code.bash .token.prompt {
    color: var(--zv-magenta-light);
    user-select: none;
}

/* Wide tables — allow horizontal scroll */
.wy-table-responsive {
    overflow-x: auto;
}

/* Validation level badges in tables */
td code[class*="L"] {
    font-weight: 600;
}
