/* Industry and harness doors use the home page's one agent, but their longer page-aware greeting needs a taller phone
   container. Reserve the final geometry before <alive-agent> upgrades: the face stays a square and the caption never
   changes the stage's size while the kit, font, or live session loads. */

html[data-ns-factory-pane] #ns-content-live-host .ns-fp-stage {
    contain: layout size;
}

html[data-ns-factory-pane] #ns-content-live-host #ns-house-pane-host[data-mode="container"] > .ak-face {
    aspect-ratio: 1 / 1;
}

@media (max-width: 899.98px) {
    :root[data-ns-factory-pane] {
        --nsfp-dock: 300px;
        --nsfp-face-dock: 112px;
    }

    html[data-ns-factory-pane] #ns-content-live-host .ns-fp-stage { flex: 0 0 164px; min-height: 164px; }

    :root[data-ns-factory-pane]:not([data-nsb-size="half"]):not([data-nsb-size="max"])
    #ns-content-live-host #ns-house-pane-host[data-mode="container"] > .ak-caption {
        -webkit-line-clamp: 8;
    }
}

/* Line 21098 (live check of OC-FIW): on the rail the size row wrapped by its labels' width, so the Roboto swap moved
   Minimize to a row of its own after first paint. A fixed grid keeps the same two rows in either font. */
@media (min-width: 900px) {
    html[data-ns-factory-pane]:not([data-nsb-free]):not([data-nsb-min]) #ns-content-live-host .nsb-sizes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
    html[data-ns-factory-pane] #ns-content-live-host .nsb-sizes > .nsb-s { grid-column: span 2; min-width: 0; }
    html[data-ns-factory-pane] #ns-content-live-host .nsb-sizes > :is(.nsb-free, .nsb-min) { grid-column: span 3; }
}
