Claire McCarthy’s refreshing reimagining of Ophelia grants personal autonomy and vivacity to one of literature’s most recognisable and one-dimensional tragic figures. For the final 20 minutes. Unfortunately, Ophelia is an hour and 46 minutes long. What a tragedy!

Lisa Klein’s YA novel is the foundation for McCarthy’s Shakespearean story and Rey star Daisy Riley plays the eponymous hero. Fine ingredients for an inspiring teen drama. And this Ophelia certainly has heroic potential – even as a small child – cavorting through Elsinore Castle like she owns the place and speaking up before the royal court, defying the 14th-century diktat that girls should be ornamental rather than opinionated.

Something about the scruffy, cheeky little girl charms Queen Gertrude (Naomi Watts) and she takes the child under her wing, hosing her down and training her up so she may evolve into a lady of the court. By the time Hamlet (George MacKay) encounters her, she has been tamed into a courtly beauty, albeit one who occasionally rebels to bathe in the brook or twine flowers rather than jewels through her tumbling hair.

Following their meet-cute, Ophelia and Hamlet banter their way through a quick checklist of teen movie tropes. Their bond established the familiar beats of the Hamlet story begin to appear: his dodgy uncle, her fawning father, a ghostly figure on the ramparts and something rotten…

Daisy Ridley is not rotten. She’s a splendid, spirited, Ophelia who embraces every opportunity to make her character shine. Screenwriter Semi Chellas and production designer Dave Warren are to blame for the huge swathes of time she spends waiting for opportunities to arise. Ms Chellas, because she deprives us the chance to know anything more of Ophelia than a vague Katniss Everdeen-ish penchant for the wild and Mr Warren for ruining the vibe.

Elsinore castle and its grounds seem to have fallen under a peculiar shabby chic spell which entraps the population in an eerie, soft focus, Laura Ashley looking, massively distracting, imaginary world. Everyone is clean and velvety (or linen-y) and seemingly engaging in wholesome pursuits even when they’re not (yes, Claudius, we’re looking at you). Even Laertes’ (Tom Felton) broken man out for revenge stubble looks contrived.

It seems superficial to dwell on looks when so much of Hamlet, and Ophelia by association, is driven by deep emotion. But that’s the thing, its leading lady aside, Ophelia is strangely devoid of emotion. Claudius (Clive Owen) seemingly emotes by eyebrows and volume only, while Gertrude’s mysterious lookalike healer Mechtild (also Naomi Watts) is more Shakespears Sister glam than Shakespeare-Shakespeare’s hag with her extreme smoky eye and unlined brow.

Elements of the tale have been soaped up for young audiences but this is not to the story’s detriment. Indeed, if Ms McCarthy had the chutzpah of Ophelia she would have leaned in towards the YA traits instead of treating them with distaste. Startling shifts of perspective – looking down on the Queen’s bed from high above and a striking later callback to the shot – showcase the director’s skill. But until the final, action-packed 20 minutes the film feels tentative and safe, which is a very great pity because Ophelia deserves better.

Redeemed by its conclusion, Ophelia is a lopsided but well-intentioned movie which lost its way when it lost focus on its source material’s original audience. Daisy Ridley is dazzling whenever she is given the tools to be so and the John Donne lament she performs for the soundtrack (music by Michael Yezerski and Moira Smiley) adds a haunting dimension to the screentime it underscores. Sadly the production as a whole lacks that atmosphere.

Ophelia appears in select cinemas on 22 November and on-demand from 27 November