/* Shared northeast arrow inspired by the approved reference for forward actions across the site. */
.action-arrow{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;overflow:visible;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform 200ms cubic-bezier(.2,.7,.3,1)}
@media(hover:hover) and (pointer:fine){a:hover .action-arrow,button:hover .action-arrow{transform:translate(3px,-3px)}}
a:focus-visible .action-arrow,button:focus-visible .action-arrow{transform:translate(3px,-3px)}
/* The portal retains its circular container; only the arrow moves. */
.portal-home .entry .arrow,.portal-home .entry:hover .arrow{transform:none}
@media(prefers-reduced-motion:reduce){.action-arrow,a:hover .action-arrow,button:hover .action-arrow,a:focus-visible .action-arrow,button:focus-visible .action-arrow{transition:none;transform:none}}

/* One text-to-arrow distance, regardless of inline or flex button layout.
   Override legacy component gaps so they cannot add a second interval. */
:root{--action-arrow-gap:8px}
a:has(.action-arrow),button:has(.action-arrow){column-gap:0!important}
.action-arrow{margin-inline-start:var(--action-arrow-gap)}
a>.button-icon:has(~ .action-arrow){margin-inline-end:var(--action-arrow-gap)}
.portal-home .entry{justify-content:flex-start}
.portal-home .entry .arrow{margin-inline-start:var(--action-arrow-gap)}
.portal-home .entry .arrow .action-arrow{margin-inline-start:0}
/* Portal: a contrast change only, with a stationary circular arrow. */
.portal-home .entry .arrow{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
.portal-home .entry .arrow .action-arrow{transform:none;transition:none}
@media(hover:hover) and (pointer:fine){
 .portal-home .entry:hover .arrow{background:#fff;color:#182a38;border-color:#fff}
 .portal-home .entry:hover .action-arrow{transform:none}
}
.portal-home .entry:focus-visible .arrow{background:#fff;color:#182a38;border-color:#fff}
.portal-home .entry:focus-visible .action-arrow{transform:none}
@media(prefers-reduced-motion:reduce){.portal-home .entry .arrow{transition:none}}
