/* Stable two-column actions, including the first chapter and enlarged text. */
.locus-intro .locus-intro__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}
.locus-intro .locus-intro__back{grid-column:1;grid-row:1;width:100%;max-width:100%;margin:0;min-width:0;overflow-wrap:anywhere;align-self:center}
.locus-intro__back[aria-hidden=true]{visibility:hidden;pointer-events:none}
.locus-intro .locus-intro__next{display:grid;grid-column:2;grid-row:1;width:100%;max-width:100%;margin:0;padding:8px;align-items:center;justify-items:center;white-space:normal}
.locus-intro__button-label,.locus-intro__button-size{grid-area:1/1;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%}
.locus-intro__button-size{visibility:hidden}
.locus-intro__button-label>span,.locus-intro__button-size>span{min-width:0;overflow-wrap:anywhere}
.locus-intro__next :is(.locus-intro__button-label,.locus-intro__button-size) svg{flex:none;margin:0}
.locus-intro__word{white-space:nowrap}
.locus-intro__char{opacity:1}
@media(prefers-reduced-motion:no-preference){
 .locus-intro__char{opacity:.2;animation:locus-intro-ink 400ms ease-out var(--intro-delay,0ms) forwards}
}
@keyframes locus-intro-ink{from{opacity:.2}to{opacity:1}}
/* Keep enlarged labels intact on the narrowest viewports. The reserved row
   remains present on chapter one, so the primary action never shifts. */
@media(max-width:350px){
 .locus-intro .locus-intro__actions{grid-template-columns:minmax(0,1fr);gap:4px}
 .locus-intro .locus-intro__back{grid-column:1;grid-row:1}
 .locus-intro .locus-intro__next{grid-column:1;grid-row:2}
}
