/* r32 owner: cross-route-overflow. Exact r30 source lines 6245-6388; route scope is declared by data/css-ownership.json. */
/* Overflow hardening ------------------------------------------------------
   Large display type and horizontal laboratories may scroll inside their own
   frames, but they must never widen the document or make narrow viewports
   fight the interface. */
.rules-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.research-rule,
.source-check,
.source-check__title,
.source-check__questions,
.source-check__questions article,
.source-check__questions p,
.accordion,
.accordion__item,
.accordion__item h3,
.accordion__item button,
.accordion__panel,
.recursive-model-note,
.recursive-model-note > *,
.symbol-grid,
.symbol-grid article,
.symbol-grid article > *,
.cycle-lab-copy,
.cycle-lab-copy h2 {
    min-width: 0;
    max-width: 100%;
}

.source-check__questions,
.source-check__questions article,
.symbol-grid {
    grid-template-columns: minmax(0, 1fr);
}

.source-check__questions article {
    grid-template-columns: 4rem minmax(0, 1fr);
}

.recursive-model-note {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.symbol-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.analogy-matrix,
.architecture-engine__tabs,
.lens-engine__tabs,
.cycle-formula,
.hero-terminal__tabs,
.sequence-engine__rail,
.model-switcher__tabs {
    contain: inline-size;
    max-width: 100%;
    overscroll-behavior-inline: contain;
}

.cycle-lab-copy h2,
.manifesto-band h2,
.recursive-model-note h2,
.recursive-model-note h3,
.symbol-grid h3,
.text-link,
.source-check__questions p,
.accordion__item button {
    overflow-wrap: anywhere;
}

.text-link {
    width: fit-content;
    max-width: 100%;
}

@media (max-width: 980px) {
    .rules-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .source-check,
    .source-layers,
    .prose-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .rules-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .source-check__questions article {
        grid-template-columns: 2.45rem minmax(0, 1fr);
        gap: .65rem;
    }

    .source-check__questions p {
        font-size: clamp(1rem, 5.3vw, 1.35rem);
    }

    .accordion__item button {
        grid-template-columns: 2rem minmax(0, 1fr) 2.8rem;
        gap: .55rem;
        font-size: clamp(1.45rem, 8.8vw, 2.5rem);
    }

    .accordion__panel {
        padding: 0 0 1.6rem 2.55rem;
    }

    .cycle-lab-copy h2 {
        max-width: 100%;
    }

    .recursive-model-note {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .recursive-model-note > a {
        grid-column: 1 / -1;
    }

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

@media (max-width: 420px) {
    .recursive-model-note {
        grid-template-columns: minmax(0, 1fr);
    }

    .recursive-model-note > span {
        font-size: 2.3rem;
    }

    .manifesto-band h2 {
        max-width: 100%;
        font-size: clamp(2.65rem, 13vw, 4.35rem);
    }
}

