Considérant en fait et en droit:
1. 1.1 Statuant le 21 septembre 2009 sur la requête de l'Etat de Vaud, le Tribunal de première instance de Genève a prononcé, à concurrence de 21'874 fr. 40 (sans intérêts), la mainlevée définitive de l'opposition formée par A._.
Par arrêt du 26 octobre 2009, la Cour de justice du canton de Genève a déclaré irrecevable l'appel interjeté par la poursuivie à l'encontre de ce jugement.
1.2 Agissant par la voie du recours constitutionnel subsidiaire, A._ demande au Tribunal fédéral d'«[a]nnuler la décision [...] de la Cour de justice de Genève et celle du Tribunal de Première Instance de Genève»; elle sollicite le bénéfice de l'assistance judiciaire.
Par ordonnance du 7 décembre 2009, la Juge présidant la IIe Cour de droit civil a rejeté la demande d'assistance judiciaire de l'intéressée et l'a invitée à fournir une avance de frais de 700 fr. dans un délai de dix jours.
Par courrier subséquent du 17 décembre 2009, la recourante a sollicité une suspension de la procédure et invité en substance à reconsidérer la décision de rejeter sa requête d'assistance judiciaire.
Par ordonnance du 29 décembre 2009, la Présidente de la Cour de céans a dispensé provisoirement la recourante du paiement de l'avance de frais et rejeté sa requête de suspension de la procédure, l'informant au surplus qu'il sera statué ultérieurement sur l'octroi de l'assistance judiciaire.
Des observations sur le fond n'ont pas été requises.
2. 2.1 Les décisions de mainlevée de l'opposition (art. 80 ss LP) sont, en principe, sujettes au recours en matière civile (art. 72 al. 2 let. a LTF; ATF 133 III 399 consid. 1.2). Toutefois, la valeur litigieuse minimale de 30'000 fr. n'est pas atteinte (art. 74 al. 1 let. b OJ) et la recourante ne prétend pas (art. 42 al. 2 LTF) que la cause soulèverait une question juridique de principe (art. 74 al. 2 let. a LTF; sur cette notion: ATF 135 III 1 consid. 1.3 et les arrêts cités); le recours doit donc être traité en tant que recours constitutionnel au sens des art. 113 ss LTF.
2.2 Sous réserve d'exceptions non réalisées en l'espèce (cf. ATF 134 III 141 consid. 2), le recours constitutionnel ne peut être interjeté qu'à l'encontre d'une décision prise par une autorité cantonale de dernière instance (art. 75 al. 1, en relation avec l'art. 114 LTF); il s'ensuit que le présent recours est irrecevable dans la mesure où il vise à l'annulation du jugement de première instance.
2.3 Le présent recours a été déposé en temps utile (art. 100 al. 1 LTF, applicable par renvoi de l'art. 117 LTF); en revanche, le mémoire complémentaire du 17 décembre 2009 - dans la mesure où il comporte des critiques à l'endroit de la décision attaquée - est tardif, partant irrecevable.
3. En l'espèce, la Cour de justice a retenu que la recourante avait reçu le jugement de première instance le 2 octobre 2009. Le délai pour faire appel étant de 10 jours en vertu de l'art. 354 LPC/GE, il expirait donc le 12 octobre suivant; expédié le 20 octobre 2009, l'appel était dès lors tardif, en conséquence irrecevable.
3.1 Saisi d'un recours constitutionnel, le Tribunal fédéral n'examine que les griefs soulevés et motivés (art. 106 al. 2 LTF, applicable par renvoi de l'art. 117 LTF; cf. sur cette exigence: ATF 133 III 439 consid. 3.2; 134 V 138 consid. 2.1).
Dans le cas présent, la recourante ne formule aucune critique motivée à l'encontre des motifs de la juridiction précédente; en particulier, elle ne soutient pas que le délai pour interjeter appel était en l'occurrence de 30 jours - comme elle l'avait affirmé dans son mémoire d'appel en se référant à l'art. 296 al. 1 LPC/GE -, ni que la cour cantonale devait lui donner la possibilité de se prononcer sur la tardiveté de son recours avant de le déclarer irrecevable (sur cette question: arrêt 1C_85/2007 du 6 septembre 2007 consid. 3.1 et les arrêts cités). Elle ne prétend pas davantage que le jugement de première instance devait, conformément au droit cantonal (cf. ATF 123 II 231consid. 8a et les citations), indiquer les voies de droit, spécialement le délai de recours.
3.2 Dans son recours constitutionnel, la recourante fait valoir que sa lettre du 22 septembre 2009 - c'est-à-dire le lendemain de l'audience de mainlevée -, adressée au premier juge, avait "valeur d'appel" et n'a pas été transmise "à qui de droit"; elle reprend cette critique dans son mémoire complémentaire (tardif).
A supposer qu'il soit suffisamment motivé (supra, consid. 3.1), ce grief est manifestement infondé. La lecture du courrier en question démontre certes que l'intéressée s'est plainte du refus du magistrat de première instance de prendre connaissance des pièces qu'elle avait apportées à l'audience pour justifier son opposition au commandement de payer; cette écriture - directement adressée au juge - n'exprime cependant pas sa volonté de recourir, à savoir de déférer la cause à la juridiction supérieure, ce d'autant plus que le jugement de mainlevée ne lui avait pas encore été communiqué (i.e. 2 octobre 2009). D'ailleurs, si la lettre du 22 septembre 2009 avait déjà "valeur d'appel", on ne comprend pas pourquoi la recourante a formellement exercé un recours auprès de la Cour de justice le 20 octobre 2009.
4. En conclusion, le recours doit être rejeté en tant qu'il est recevable. Il n'y a pas lieu de porter une nouvelle appréciation quant aux chances de succès du recours, de sorte que la requête visant (implicitement) à la reconsidération de l'ordonnance présidentielle du 7 décembre 2009 refusant l'assistance judiciaire doit être rejetée; cela étant, les frais de justice incombent à la recourante (art. 66 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté en tant qu'il est recevable.
2. La requête tendant au réexamen de l'ordonnance refusant l'assistance judiciaire est rejetée.
3. Les frais judiciaires, arrêtés à 700 fr., sont mis à la charge de la recourante.
4. Le présent arrêt est communiqué aux parties et à la Cour de justice du canton de Genève (1ère Section).
Lausanne, le 25 janvier 2010
Au nom de la IIe Cour de droit civil
du Tribunal fédéral suisse
La Présidente: Le Greffier:
Hohl Braconi