/* Slightly tighter layout and softer code blocks. */
.sidebar-brand-text {
    font-family: "JetBrains Mono", SFMono-Regular, Menlo, Consolas, monospace;
    font-weight: 600;
    letter-spacing: -0.02em;
}

article h1 {
    font-weight: 700;
    letter-spacing: -0.02em;
}

article h2 {
    margin-top: 2.4rem;
    font-weight: 600;
}

div.highlight {
    border-radius: 6px;
}

img.plot-directive,
.plot-directive img {
    max-width: 100%;
    height: auto;
    margin: 0.5rem auto;
    display: block;
}

/* Theme-aware figure swap: Furo provides .only-light / .only-dark when
 * data-theme is "light" or "dark" explicitly. We fill in the auto case so
 * users on system-default get the right one too. */
.only-dark { display: none; }
[data-theme="dark"] .only-light { display: none; }
[data-theme="dark"] .only-dark { display: block; }
@media (prefers-color-scheme: dark) {
    body:not([data-theme="light"]) .only-light { display: none; }
    body:not([data-theme="light"]) .only-dark { display: block; }
}

/* Collapsible "show setup" block */
details.setup-details {
    margin: 0.75rem 0 1rem;
    padding: 0.5rem 0.9rem;
    border: 1px solid var(--color-background-border, #e5e5e5);
    border-radius: 6px;
    background: var(--color-background-secondary, #fafafa);
}

details.setup-details > summary {
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--color-foreground-muted, #666);
    list-style: none;
    user-select: none;
}

details.setup-details > summary::-webkit-details-marker {
    display: none;
}

details.setup-details > summary::before {
    content: "▸ ";
    display: inline-block;
    transition: transform 0.15s ease;
}

details.setup-details[open] > summary::before {
    transform: rotate(90deg);
}

details.setup-details > summary:hover {
    color: var(--color-brand-primary);
}

details.setup-details[open] > summary {
    margin-bottom: 0.5rem;
}
