/**
 * Project Index page-layer consumers.
 *
 * Foundation tokens, typography, components, grid and interaction remain
 * owned by the frozen global runtime.
 */

.project-index__title,
.project-index__entry-title {
    overflow-wrap: anywhere;
}

.project-index__lenses,
.project-index__evidence-scale {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0 var(--grid-gap);
    margin: var(--space-stack-xl) 0 0;
    padding: 0;
    list-style: none;
}

.project-index__lens,
.project-index__evidence-scale li {
    display: grid;
    gap: var(--space-stack-sm);
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.project-index__registry {
    row-gap: var(--section-space-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}

.project-index__item,
.project-index__entry,
.project-index__entry-layout,
.project-index__entry-copy,
.project-index__material {
    min-inline-size: 0;
}

.project-index__entry-layout {
    align-items: start;
}

.project-index__entry-copy {
    align-self: start;
}

.project-index__item--nura .project-index__entry-copy {
    align-self: center;
}

.project-index__item--flux .project-index__entry-copy {
    align-self: end;
}

.project-index__entry-status {
    align-items: flex-start;
}

.project-index__discovery {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0 var(--grid-gap);
    margin: 0;
}

.project-index__discovery-item {
    min-inline-size: 0;
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.project-index__discovery-item dt,
.project-index__discovery-item dd {
    margin: 0;
}

.project-index__discovery-item dd {
    margin-block-start: var(--space-stack-sm);
}

.project-index__entry-footer {
    margin-block-start: auto;
}

.project-index__material {
    align-content: space-between;
    inline-size: 100%;
}

.project-index__material--nura {
    align-self: center;
    aspect-ratio: 4 / 3;
}

.project-index__material--onyx {
    aspect-ratio: 16 / 9;
}

.project-index__material--flux {
    align-self: end;
    aspect-ratio: 2 / 1;
}

.project-index__material-register {
    align-items: baseline;
    justify-content: space-between;
}

.project-index__material-mark {
    margin: 0;
    overflow-wrap: anywhere;
}

.project-index__material--nura .project-index__material-mark {
    justify-self: end;
}

.project-index__material--onyx .project-index__material-mark {
    justify-self: start;
}

.project-index__material--flux .project-index__material-mark {
    justify-self: center;
}

.project-index__entry-media-state {
    margin-block-end: 0;
}

.project-index__boundary-content {
    min-inline-size: 0;
}

.project-index__entry:focus-within {
    outline:
        var(--phase-focus-ring-width)
        solid var(--phase-focus-ring-color);
    outline-offset: var(--phase-focus-ring-offset);
}

@media (hover: hover) and (pointer: fine) {
    .project-index__entry:hover {
        border-color: var(--border-strong);
    }
}

@media (min-width: 48rem) {
    .project-index__lenses,
    .project-index__evidence-scale {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-index__discovery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 75rem) {
    .project-index__entry-layout.layout-reverse-b4 > :first-child,
    .project-index__entry-layout.layout-reverse-b4 > :last-child {
        grid-row: 1;
    }

    .project-index__lenses {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .project-index__evidence-scale {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (forced-colors: active) {
    .project-index__entry:focus-within {
        outline-color: Highlight;
    }
}

@media print {
    .project-index__lens,
    .project-index__discovery-item,
    .project-index__evidence-scale li,
    .project-index__entry {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }
}
