Where the opening name comes from, and what "book move" actually means.
As a game reaches move 12 or so, See The Mate checks the current position against Lichess's Opening Explorer — a database built from millions of real human games. If that exact position matches a named opening, the ECO code and name (for example, "C50 · Italian Game") come directly from Lichess's own classification, the same names you'd see on any major chess site. Real theory essentially never extends meaningfully past move 12, which is why detection stops checking there.
A move is only labeled Book when the position it leads to has been reached in enough real games — specifically, more than 100 games in the sampled dataset (rapid, classical, and blitz games between roughly 1600 and 2500 rated players). That's a genuine popularity threshold, not a guess: it means real players, at a solid club-to-strong level, have actually reached and played through that exact position often enough for it to count as established theory rather than just "a reasonable-looking move."
Book moves are graded differently from the rest of the game on purpose. A quiet, "book" opening move might technically lose a few centipawns compared to the engine's absolute top choice, but it's still a completely normal, well-tested move — and this often is objectively the strongest option among all moves that keep the game in known, well-tested territory. Grading it as an "Inaccuracy" just because it isn't the engine's single top pick would be misleading, so once a position is confirmed as book, that takes priority over the usual centipawn-loss scale. See the full breakdown of every label in the move classifications guide.
Not every position has a name — plenty of perfectly playable opening moves lead somewhere too rare or too new to have an established name in the database, especially past the first handful of moves, or in offbeat lines. When that happens, no opening name is shown, but move classification still runs normally using the standard centipawn-loss scale.
Opening detection runs the same way on both Analyze, when reviewing an imported game, and Explore, as you move through a position yourself — same database, same threshold, same logic either way.