Faits :
A.
Par contrat du 12 août 1997 transférant un bail conclu en 1977, A._ est devenue locataire d'un appartement de trois pièces à Genève. Le loyer mensuel dû par la locataire a été fixé en dernier lieu à 586 fr., plus 200 fr. de frais accessoires mensuels. Par contrat du 25 août 2008, la locataire, sans en référer à la bailleresse X._, a sous-loué l'appartement à une tierce personne moyennant un loyer mensuel de 1'060 fr., plus 140 fr. de frais mensuels. Depuis le 1 er janvier 2011, la locataire est officiellement domiciliée à Nyon (VD).
Par courrier du 28 février 2012, la bailleresse a sommé la locataire de supprimer la domiciliation de la sous-locataire. La locataire a d'abord contesté la sous-location, prétendant faussement cohabiter avec un membre de sa famille. La bailleresse a finalement résilié le bail pour le 30 juin 2012. Les locaux ont été restitués le 1 er juillet 2013, après que les parties se furent entendues sur un départ au 30 juin 2013.
Le 24 juillet 2013, la bailleresse a invité la locataire à lui verser la somme de 27'492 fr. correspondant au bénéfice perçu de la sous-location (474 fr. par mois durant 58 mois). Le 30 octobre 2013, elle a initié une procédure judiciaire tendant au paiement de 28'448 fr. plus intérêts. Par jugement du 16 décembre 2014, le Tribunal des baux et loyers du canton de Genève a condamné la locataire à payer à la bailleresse 27'493 fr. [sic!] pour les gains illicitement perçus, ainsi que 434 fr. 85 à titre de solde de loyer. Sur appel de la locataire, la Chambre des baux et loyers de la Cour de justice a confirmé le jugement de première instance par arrêt du 22 février 2016.
B.
La locataire (ci-après: la recourante) a saisi le Tribunal fédéral d'un recours en matière civile, concluant au rejet de la demande de la bailleresse (ci-après: l'intimée). Il n'a pas été ordonné d'échange d'écritures.

Considérant en droit :
1.
La valeur litigieuse étant supérieure à 15'000 fr., la voie du recours en matière civile est ouverte (art. 74 al. 1 let. a LTF); c'est dès lors inutilement que la recourante se prévaut d'une prétendue importante question de principe non résolue par la jurisprudence. Dans la mesure toutefois où elle conteste sa condamnation à verser un solde de loyer de 434 fr., son recours est irrecevable faute de motivation (art. 42 al. 2 LTF; <ref-ruling> consid. 2 p. 116). La Cour de justice avait au demeurant déjà refusé d'entrer en matière pour la même raison.
2.
La recourante soutient d'abord que le loyer versé par la sous-locataire était parfaitement conforme au marché, que cette dernière ne s'en est jamais plainte et n'a pas demandé à être remboursée. Là n'est toutefois pas la question. La sous-location est illicite si ses conditions sont abusives en comparaison de celles du contrat de bail principal (art. 262 al. 2 let. b CO), à savoir si le loyer de sous-location est nettement supérieur au loyer principal sans que la différence ne soit justifiée par des investissements ou des prestations supplémentaires du locataire principal (<ref-ruling> consid. 6); en revanche, peu importe que le sous-loyer se situe dans les limites des loyers usuels du quartier, respectivement que la sous-locataire ne s'en soit pas plainte. Au demeurant, faute d'avoir contesté le loyer initial dans le délai légal (art. 270 al. 1 CO), la sous-locataire n'avait aucune possibilité d'actionner la recourante. En l'espèce, celle-ci n'a pas prouvé avoir fait des travaux dans l'appartement, si bien que le loyer de la sous-location, de 81% supérieur au loyer principal, était clairement abusif.
La recourante conteste ensuite que l'intimée puisse prétendre à la différence entre le loyer principal et le sous-loyer. Contrairement à ce que soutient la recourante, la jurisprudence a reconnu un tel droit au bailleur. Une sous-location non autorisée est une immixtion du locataire dans les affaires patrimoniales du bailleur. Pour autant que le locataire fût de mauvaise foi, c'est-à-dire qu'il ait su ou dû savoir qu'il sous-louait en violation de ses obligations contractuelles et qu'il retirait de la chose un profit illégitime, le bailleur a le droit d'exiger la restitution de ce profit sur la base de l'art. 423 al. 1 CO; à défaut, il peut le faire sur la base des règles sur l'enrichissement illégitime (<ref-ruling> consid. 4; arrêt 4A_456/2010 du 18 avril 2011 consid. 4, rés. in JT 2012 II 116; arrêt 4A_518/2014 du 19 novembre 2014 consid. 3). En l'espèce, l'autorité précédente a expressément rappelé cette jurisprudence; en admettant la demande sur la base de l'art. 423 al. 1 CO, elle a admis implicitement la mauvaise foi de la recourante, que celle-ci ne conteste d'ailleurs pas dans son recours et qui découle au demeurant de ses dénégations après la découverte de la sous-location par l'intimée; au surplus, la recourante ne saurait, d'une manière générale, se prévaloir d'une éventuelle méconnaissance des dispositions légales en matière de sous-location (cf. HOFER, in Commentaire bernois, 2012, n° 126 ad art. 3 CC; STEINAUER/BIERI, in Commentaire romand, 2010, n° 41 ad art. 3 CC; <ref-ruling> consid. 4.2 e contrario), ce d'autant moins que le contrat de bail de 1977 qu'elle a repris interdisait expressément toute sous-location.
3.
Le recours est infondé. La recourante supporte ainsi les frais de la présente procédure (art. 66 al. 1 LTF). L'intimée n'ayant pas été invitée à se déterminer, il ne lui est pas alloué de dépens.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué aux mandataires des parties et à la Chambre des baux et loyers de la Cour de justice du canton de Genève.
Lausanne, le 7 juillet 2016
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente: Kiss
La Greffière: Monti