Di ruolo centrocampista, la sua visione di gioco gli consente di fungere da regista della sua squadra.[1] Dotato di buon controllo palla, il suo stile di gioco è improntato alla verticalità, al rovesciare velocemente il fronte di gioco attraverso passaggi diretti e progressioni palla al piede.[1][2] Abile in dribbling, se vede una linea di passaggio la sfrutta o altrimenti tiene la sfera finché non pensa che ce ne sia una più efficiente.[2] In fase difensiva si distingue per la bravura nell'intercettare i palloni avversari, oltre a essere bravo nei contrasti nonostante la bassa statura di 170 cm.[1][3][4] Si distingue anche per la personalità con cui scende in campo.[1][2][5]
Nel 2018 viene inserito nella lista dei migliori 60 talenti della sua generazione, stilata da The Guardian.[6]
Carriera
Club
Chelsea e prestito al Norwich City
Cresciuto nelle giovanili dei Rangers, nel 2017 viene acquistato dal Chelsea.[4][7] Ha esordito con la prima squadra il 31 agosto 2019 sostituendo Tammy Abraham nel pareggio casalingo per 2-2 contro lo SheffieldUnited.[7][8] Dodici giorni dopo prolunga il suo contratto sino al 2023.[9] L'allenatore dei bluesFrank Lampard ha fiducia in lui,[10][11] al punto tale che, nel febbraio 2020, diventa membro in pianta stabile della prima squadra,[4] esordendo anche come titolare nell'11 iniziale dei londinesi l'8 marzo 2020, nel successo per 4-0 contro l'Everton.[12] La stagione si ferma dopo quella partita, riprendendo a giugno per via del lockdown, ma il suo campionato termina il 10 luglio a causa d'un infortunio al ginocchio.[13]
Tornato ad allenarsi con la squadra nell'ottobre 2020,[14] il 2 dicembre fa la sua prima apparizione stagionale in occasione del successo per 4-0 in casa del Siviglia in Champions League, subentrando nel finale di gara a Jorginho;[15] al contempo, ha debuttato nella massima competizione europea per club.[16] A fine anno, si laurea campione d'Europa con i blues.[17]
Il 2 luglio 2021 viene ceduto in prestito al Norwich City.[18][19] Debutta con i Canaries il successivo 14 agosto, in una gara casalinga persa contro il Liverpool.[20][21] Termina la stagione con 28 presenze totali, ma non viene riscattato, complice la retrocessione del club in Championship (infatti il riscatto sarebbe diventato obbligatorio solamente in caso di salvezza della squadra al termine della stagione).[22]
Brighton
A fine prestito, fa ritorno al Chelsea, con cui rinnova il proprio contratto sino al 2024,[23] salvo poi venire ceduto a titolo definitivo al Brighton il 1º settembre 2022.[24][25] Fa il proprio esordio con i Seagulls tre giorni dopo la firma, in un match contro il Leicester City, vinto per 5-2.[26] Il 9 novembre è la volta del suo debutto in Coppa di Lega, avvenuto in occasione del terzo turno contro l'Arsenal.[27] Termina la sua prima annata al club totalizzando 17 presenze.
Inizia l'annata successiva debuttando nel successo contro il neopromosso Luton Town.[28] Il 21 settembre 2023, fa il proprio debutto ufficiale in Europa League, in occasione d'una gara persa in casa contro i greci dell'AEK Atene.[29] La sua crescita prosegue in seguito all'arrivo del tecnico Roberto De Zerbi in panchina, diventando così un fulcro di gioco nel centrocampo del Brighton[30] e venendo impiegato maggiormente come titolare. Termina la sua seconda annata ai Seagulls con 41 presenze.
Napoli
Il 30 agosto 2024 viene acquistato a titolo definitivo dal Napoli, in Serie A, per 14 milioni di euro più 5 milioni di bonus.[31][32] Fa il suo esordio con i partenopei il successivo 15 settembre, nella vittoriosa trasferta di Cagliari (0-4), subentrando al 74' a Stanislav Lobotka.
Nazionale
Il 30 maggio 2018 esordisce con la Scozia U-21 contro la Francia al Torneo di Tolone.[33] Nel corso del torneo offre ottime prestazioni, arrivando ad essere votato come giocatore rivelazione della manifestazione.[4][34]
Il 19 maggio 2021, viene convocato per la prima volta dalla nazionale maggiore, figurando tra i 26 convocati per Euro 2020.[35] Il 2 giugno seguente, fa il suo debutto con la selezione scozzese nell'amichevole pareggiata 2-2 contro i Paesi Bassi.[36] Dopo avere disputato la partita contro l'Inghilterra,[37] viene riscontrata la sua positività al COVID-19.[38]
Il 17 ottobre 2023, realizza la sua prima rete per la massima selezione scozzese il 17 ottobre 2023, nella sconfitta per 4-1 contro la Francia.[39] Il 5 settembre 2024, invece, fa il suo primo gol in una competizione principale, nell'incontro di Nations League, in cui la Scozia esce sconfitta per 2-3 nel match casalingo contro la Polonia.