/**
 * Shared case-route page layer.
 *
 * This layer consumes frozen Foundation tokens, typography, grid and
 * components. It owns the complete NURA route composition.
 */

.case-route,
.nura-case__section,
.nura-case__opening-copy,
.nura-case__opening-meta,
.nura-case__status-heading,
.nura-case__status-body,
.nura-initial-state__header,
.nura-initial-state__frictions,
.nura-initial-state__friction,
.nura-initial-state__evidence,
.nura-initial-state__closing {
    min-inline-size: 0;
}

.nura-synthesis__header,
.nura-synthesis__concept,
.nura-synthesis__layers,
.nura-synthesis__layer,
.nura-synthesis__relationship,
.nura-synthesis__evidence,
.nura-synthesis__closing {
    min-inline-size: 0;
}

.nura-transition__header,
.nura-transition__thesis,
.nura-transition__tracks,
.nura-transition__track,
.nura-transition__track-states,
.nura-transition__track-state,
.nura-transition__relationship,
.nura-transition__evidence,
.nura-transition__bridge {
    min-inline-size: 0;
}

.nura-current-form__header,
.nura-current-form__thesis,
.nura-current-form__states,
.nura-current-form__state,
.nura-current-form__deliverables,
.nura-current-form__deliverable,
.nura-current-form__deliverable-heading,
.nura-current-form__truth,
.nura-current-form__closing {
    min-inline-size: 0;
}

.case-family-nav,
.case-family-nav__orientation,
.case-family-nav__intro,
.case-family-nav__route {
    min-inline-size: 0;
}

.case-family-nav {
    padding-block: var(--section-space-sm);
    border-block:
        var(--border-width-1) solid var(--border-subtle);
}

.case-family-nav--opening {
    background: var(--surface-panel);
}

.case-family-nav__register {
    justify-content: space-between;
}

.case-family-nav__register > p,
.case-family-nav__intro > p {
    margin: 0;
}

.case-family-nav__orientation {
    align-items: start;
}

.case-family-nav__sequence,
.case-family-nav__evidence-key,
.case-family-nav__routes {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0 var(--grid-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.case-family-nav__sequence li,
.case-family-nav__evidence-key li,
.case-family-nav__route {
    display: grid;
    gap: var(--space-stack-sm);
    min-inline-size: 0;
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.case-family-nav__evidence-key {
    margin-block-start: var(--space-stack-lg);
}

.case-family-nav__routes {
    margin-block-start: var(--space-stack-lg);
}

.case-family-nav__route.is-current {
    padding-inline: var(--space-component-md);
    border-inline-start:
        var(--border-width-1) solid var(--border-strong);
}

.case-family-nav__route:focus-within {
    outline:
        var(--phase-focus-ring-width)
        solid var(--phase-focus-ring-color);
    outline-offset: var(--phase-focus-ring-offset);
}

.nura-case__title,
.nura-case__sector,
.nura-case__thesis,
.nura-case__status .section-header__title,
.nura-current-form__header .type-section-display {
    overflow-wrap: anywhere;
}

.nura-initial-state__header > p,
.nura-initial-state__friction > *,
.nura-initial-state__evidence > p,
.nura-initial-state__closing {
    margin: 0;
}

.nura-synthesis__header > p,
.nura-synthesis__concept > p,
.nura-synthesis__thesis > p,
.nura-synthesis__layer > *,
.nura-synthesis__function > p,
.nura-synthesis__relationship,
.nura-synthesis__evidence > p,
.nura-synthesis__closing {
    margin: 0;
}

.nura-transition__header > p,
.nura-transition__thesis > p,
.nura-transition__track article > *,
.nura-transition__track-state > *,
.nura-transition__relationship,
.nura-transition__evidence > p,
.nura-transition__bridge {
    margin: 0;
}

.nura-current-form__header > p,
.nura-current-form__thesis > p,
.nura-current-form__state > *,
.nura-current-form__deliverables > *,
.nura-current-form__deliverable-heading > *,
.nura-current-form__deliverable > p,
.nura-current-form__truth > p,
.nura-current-form__closing > * {
    margin: 0;
}

.nura-case__marker {
    --cluster-gap: var(--space-stack-sm);

    align-items: baseline;
}

.nura-case__marker > p,
.nura-case__sector,
.nura-case__thesis > p {
    margin: 0;
}

.nura-case__opening-meta {
    align-self: start;
    padding-block-start: var(--space-stack-lg);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-case__opening-metadata,
.nura-case__status-matrix {
    inline-size: 100%;
}

.nura-case__status-matrix {
    grid-template-columns: minmax(0, 1fr);
}

.nura-case__status-matrix .metadata__item {
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-case__sequence-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nura-case__sequence-item {
    display: grid;
    grid-template-columns:
        var(--space-component-md) minmax(0, 1fr);
    gap: var(--grid-gap);
    align-items: baseline;
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-case__sequence-item:last-child {
    border-block-end:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-case__status + .nura-case__initial-state {
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-case__status {
    --section-space-after: var(--section-space-md);
}

.nura-initial-state__frictions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-stack-lg) var(--grid-gap);
    margin-block:
        var(--space-stack-xl) 0;
    padding: 0;
    list-style: none;
}

.nura-initial-state__friction {
    padding-block-start: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-initial-state__evidence {
    margin-block-start: var(--space-stack-xl);
    padding-block-start: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-initial-state__evidence-metadata {
    grid-template-columns: minmax(0, 1fr);
}

.nura-initial-state__evidence-metadata .metadata__item {
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-initial-state__closing {
    margin-block-start: var(--space-stack-xl);
    padding-inline-start: var(--space-component-md);
    border-inline-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-case__initial-state {
    --section-space-after: var(--section-space-md);
}

.nura-case__initial-state + .nura-case__synthesis {
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-synthesis__concept,
.nura-synthesis__evidence {
    padding-block-start: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-synthesis__thesis {
    padding-inline-start: var(--space-component-md);
    border-inline-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-synthesis__layers {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-stack-lg) var(--grid-gap);
    margin-block: var(--space-stack-xl) 0;
    padding: 0;
    list-style: none;
}

.nura-synthesis__layer {
    padding-block-start: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-synthesis__function {
    padding-block-start: var(--space-stack-md);
}

.nura-synthesis__relationship,
.nura-synthesis__evidence,
.nura-synthesis__closing {
    margin-block-start: var(--space-stack-xl);
}

.nura-synthesis__evidence-metadata {
    grid-template-columns: minmax(0, 1fr);
}

.nura-synthesis__evidence-metadata .metadata__item {
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-synthesis__closing {
    padding-inline-start: var(--space-component-md);
    border-inline-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-case__synthesis {
    --section-space-after: var(--section-space-md);
}

.nura-case__synthesis + .nura-case__transition {
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-transition__thesis,
.nura-transition__evidence {
    padding-block-start: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-transition__thesis {
    padding-inline-start: var(--space-component-md);
    border-inline-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-transition__tracks {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-stack-xl) var(--grid-gap);
    margin-block: var(--space-stack-xl) 0;
    padding: 0;
    list-style: none;
}

.nura-transition__track {
    padding-block-start: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-transition__track-states {
    display: grid;
    gap: var(--space-stack-md);
    margin: 0;
}

.nura-transition__track-state {
    padding-block-start: var(--space-stack-sm);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-transition__relationship,
.nura-transition__evidence,
.nura-transition__bridge {
    margin-block-start: var(--space-stack-xl);
}

.nura-transition__evidence-metadata {
    grid-template-columns: minmax(0, 1fr);
}

.nura-transition__evidence-metadata .metadata__item {
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-transition__bridge {
    padding-inline-start: var(--space-component-md);
    border-inline-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-case__transition {
    --section-space-after: var(--section-space-md);
}

.nura-case__transition + .nura-case__current-form {
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-current-form__thesis,
.nura-current-form__truth {
    padding-block-start: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-current-form__thesis {
    padding-inline-start: var(--space-component-md);
    border-inline-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-current-form__states {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-stack-lg) var(--grid-gap);
    margin-block: var(--space-stack-xl) 0;
    padding: 0;
    list-style: none;
}

.nura-current-form__state {
    padding-block-start: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-current-form__state-status {
    inline-size: fit-content;
    padding: var(--space-stack-xs) var(--space-stack-sm);
    border:
        var(--border-width-1) solid var(--border-strong);
}

.nura-current-form__deliverables,
.nura-current-form__truth,
.nura-current-form__closing {
    margin-block-start: var(--space-stack-xl);
}

.nura-current-form__deliverables {
    padding-block-start: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-current-form__deliverable-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0 var(--grid-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.nura-current-form__deliverable {
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-current-form__deliverable-heading {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-stack-sm) var(--space-component-md);
    align-items: baseline;
    justify-content: space-between;
}

.nura-current-form__deliverable-status {
    flex: 0 0 auto;
}

.nura-current-form__truth-metadata {
    grid-template-columns: minmax(0, 1fr);
}

.nura-current-form__truth-metadata .metadata__item {
    padding-block: var(--space-stack-md);
    border-block-start:
        var(--border-width-1) solid var(--border-subtle);
}

.nura-current-form__closing {
    padding-block-start: var(--space-stack-md);
    padding-inline-start: var(--space-component-md);
    border-block-start:
        var(--border-width-1) solid var(--border-strong);
    border-inline-start:
        var(--border-width-1) solid var(--border-strong);
}

.nura-current-form__closing-action {
    padding-block-start: var(--space-stack-sm);
}

@media (min-width: 48rem) {
    .case-family-nav__sequence,
    .case-family-nav__routes {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .case-family-nav__sequence li:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .case-family-nav__evidence-key {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nura-case__opening-meta {
        padding-block-start: 0;
        border-block-start: 0;
    }

    .nura-case__status-matrix {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nura-initial-state__frictions {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .nura-initial-state__friction:nth-child(1) {
        grid-column: 1 / span 6;
        grid-row: 1;
    }

    .nura-initial-state__friction:nth-child(2) {
        grid-column: 3 / span 6;
        grid-row: 2;
    }

    .nura-initial-state__friction:nth-child(3) {
        grid-column: 1 / span 7;
        grid-row: 3;
    }

    .nura-synthesis__layers {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .nura-synthesis__layer:nth-child(1) {
        grid-column: 1 / span 6;
        grid-row: 1;
    }

    .nura-synthesis__layer:nth-child(2) {
        grid-column: 3 / span 6;
        grid-row: 2;
    }

    .nura-synthesis__layer:nth-child(3) {
        grid-column: 1 / span 7;
        grid-row: 3;
    }

    .nura-transition__tracks {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .nura-transition__track:nth-child(1) {
        grid-column: 1 / span 7;
        grid-row: 1;
    }

    .nura-transition__track:nth-child(2) {
        grid-column: 3 / span 6;
        grid-row: 2;
    }

    .nura-transition__track:nth-child(3) {
        grid-column: 1 / span 7;
        grid-row: 3;
    }

    .nura-current-form__states {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .nura-current-form__state:nth-child(1) {
        grid-column: 1 / span 6;
        grid-row: 1;
    }

    .nura-current-form__state:nth-child(2) {
        grid-column: 3 / span 6;
        grid-row: 2;
    }

    .nura-current-form__state:nth-child(3) {
        grid-column: 1 / span 7;
        grid-row: 3;
    }

    .nura-current-form__deliverable-list,
    .nura-current-form__truth-metadata {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 75rem) {
    .case-family-nav__sequence {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .case-family-nav__sequence li:nth-child(4) {
        grid-column: auto;
    }

    .case-family-nav__evidence-key {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .nura-case__status-matrix {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .nura-initial-state__frictions {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .nura-initial-state__friction:nth-child(1) {
        grid-column: 1 / span 5;
    }

    .nura-initial-state__friction:nth-child(2) {
        grid-column: 4 / span 6;
    }

    .nura-initial-state__friction:nth-child(3) {
        grid-column: 8 / span 5;
    }

    .nura-synthesis__layers {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .nura-synthesis__layer:nth-child(1) {
        grid-column: 1 / span 5;
    }

    .nura-synthesis__layer:nth-child(2) {
        grid-column: 4 / span 6;
    }

    .nura-synthesis__layer:nth-child(3) {
        grid-column: 8 / span 5;
    }

    .nura-transition__tracks {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .nura-transition__track:nth-child(1) {
        grid-column: 1 / span 8;
    }

    .nura-transition__track:nth-child(2) {
        grid-column: 6 / span 6;
    }

    .nura-transition__track:nth-child(3) {
        grid-column: 3 / span 9;
    }

    .nura-current-form__states {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .nura-current-form__state:nth-child(1) {
        grid-column: 1 / span 5;
    }

    .nura-current-form__state:nth-child(2) {
        grid-column: 4 / span 6;
    }

    .nura-current-form__state:nth-child(3) {
        grid-column: 8 / span 5;
    }

    .nura-current-form__deliverable-list,
    .nura-current-form__truth-metadata {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (hover: hover) and (pointer: fine) {
    .case-family-nav__route:not(.is-current):hover {
        border-color: var(--border-strong);
    }
}

@media (forced-colors: active) {
    .case-family-nav--opening {
        background: Canvas;
    }

    .case-family-nav__route:focus-within {
        outline-color: Highlight;
    }
}

@media print {
    .case-family-nav,
    .case-family-nav__route,
    .nura-current-form__state,
    .nura-current-form__deliverable,
    .nura-current-form__truth,
    .nura-current-form__closing {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }
}
