/* ── Astro Lab: Sternenhimmel, Karten, Titelbilder ── */

.astro-header {
    position: relative;
    isolation: isolate;
}

.astro-stars {
    position: absolute;
    top: -3rem;
    bottom: -2.5rem;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 30%, #000 65%, transparent);
            mask-image: linear-gradient(to bottom, transparent, #000 30%, #000 65%, transparent);
}

.astro-icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    color: var(--accent);
    vertical-align: -5px;
    margin-right: 0.55rem;
}

/* Experiment-Karten auf der Übersicht */

.astro-card {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 1.25rem;
    padding: 1.25rem 0;
    border-top: 1px solid var(--border);
    color: inherit;
}

.astro-card:last-child {
    border-bottom: 1px solid var(--border);
}

.astro-card:hover {
    text-decoration: none;
}

.astro-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    height: auto;
    object-fit: cover;
    display: block;
    border: 1px solid var(--border);
    filter: brightness(0.85) saturate(0.9);
    transition: filter 0.25s, border-color 0.25s;
}

.astro-card:hover img {
    filter: none;
    border-color: var(--accent);
}

.astro-card h3 {
    display: flex;
    align-items: center;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.95rem;
    font-weight: 600;
}

.astro-card .experiment-header {
    margin-bottom: 0.4rem;
}

.astro-card p {
    color: var(--muted);
    font-size: 0.9rem;
}

.astro-card-link {
    display: inline-block;
    margin-top: 0.5rem;
    font-size: 0.9rem;
    color: var(--accent);
}

.astro-card:hover .astro-card-link {
    text-decoration: underline;
}

@media (max-width: 540px) {
    .astro-card {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }
}

/* Titelbild auf den Unterseiten */

.astro-hero {
    margin: -1.5rem 0 3.5rem;
}

.astro-hero img {
    width: 100%;
    aspect-ratio: 3 / 1;
    height: auto;
    object-fit: cover;
    display: block;
    border: 1px solid var(--border);
}

.astro-hero figcaption {
    margin-top: 0.4rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.62rem;
    color: var(--muted);
    text-align: right;
}

@media (max-width: 540px) {
    .astro-hero img { aspect-ratio: 2 / 1; }
}

.site-header .astro-icon-lg {
    width: 26px;
    height: 26px;
    vertical-align: -5px;
}
