The movie opens with Joel Barish (a thin, pale and gaunt Jim Carrey) struggling to get out of bed; he's bemused, empty, more shell than sentient being. He narrates in depressed, deadpan voiceover about how Valentine's Day was "invented by greeting-card companies to make people feel like crap" and how "sand's overrated, just tiny little rocks." Joel sounds like Charlie Kaufman's version of Charlie Kaufman in Adaptation, the nebbish with the self-pitying inner monologue that won't shut up. Joel, who's a black-and-white sort in a Technicolor world, decides he's calling in sick and takes the train to the beach, where it's too frigid for anyone but the already numb. There he meets Clementine Kruczynski (Kate Winslet, beneath mood-ring hair always changing colors), the only other person wandering the shore. She flirts, he retreats, she harangues, he withdraws, she apologizes -- until, at last, they're at her place, sharing wine, flirting, falling in love. It's the tentative beginning of a beautiful relationship. Or is it?
Then it's a year later, and Joel and Clementine are splits; Joel's sitting in his car, wailing, mourning the loss. But no, wait. Maybe it's a year earlier. Or maybe it's yesterday. Maybe the meeting we just saw wasn't the first time Joel and Clementine laid eyes on each other; maybe it's the present, maybe it's the future, or maybe it's just an altered memory. In time, Kaufman and Gondry, collaborators on the hysterical and touching and inexplicably overlooked Human Nature in 2001, will fill in all the blanks; their story will make sense even as Joel's memories collapse and vanish around him. You will come to understand why this couple loved each other and how they came to hate each other; you will be charmed and heartbroken by their relationship, which only grows more complicated the smaller it gets in the rearview mirror.
For much of the film, Joel is comatose and in his bed, his head encased in a memory-zapping device designed by Dr. Howard Mierzwiak (Tom Wilkinson) and carelessly, callously operated by Stan (Mark Ruffalo) and Patrick (Elijah Wood). Stan would prefer to let the machine work on autopilot, so he can smoke pot and drink booze and screw around with his girlfriend Mary (Kirsten Dunst), who is Mierzwiak's receptionist and biggest fan, at least for a while. Joel, realizing midway through the procedure he doesn't want to lose his remaining memories of Clementine, struggles to wake up, to get these people out of his head and out his life. But they bounce around in their underwear, high and oblivious, and the scene plays like a mixture of cruelty and comedy; Joel's in pain, but we giggle at the sight nonetheless. It's perfect Kaufman -- tragedy and titters frolicking on the same soiled mattress.
Patrick would prefer to leave altogether and screw around with his new girlfriend -- who happens to be Clementine, who doesn't recall a single second of her relationship with Joel, after having had her own brain wiped clean. Patrick's a scheming bastard, wooing Clementine with Joel's discarded memories -- old pictures, entries from his journal, things plucked from Joel's head that Patrick uses to win Clementine's heart. We're meant to notice the obvious: Clementine has had Joel eradicated from her brain, but she falls for him all over again.
Eternal Sunshine feels like something entirely new; such are the gifts of Kaufman and Gondry, inventors and magicians. Scenes in which Joel and Clementine duck into his buried memories -- childhood traumas, for the most part -- to hide from Mierzwiak and Stan have the feel of fairy tale; he's a little boy again, getting a bath in the kitchen sink or stealing cookies off the table. Other moments, when Joel and Clementine realize they are losing their last remaining memories of each other, bear the weight of Greek tragedy. The magic of Eternal Sunshine is that the longer it plays, the shorter it feels: Just as we get to know Joel and Clementine, and as they get to know each other (or is that forget each other?) again, it's time to leave. But the movie, unlike most, is unforgettable.