[proofplan]
We prove directly from the definition of the club filter. First we check that sets containing clubs form a proper upward-closed filter, and in fact a $<\kappa$-complete one, by showing that intersections of fewer than $\kappa$ many clubs are club. Then we prove normality by choosing, for each $X_\alpha$, a club subset $C_\alpha \subseteq X_\alpha$ and showing that the diagonal intersection of the clubs is itself club. Since that diagonal club is contained in the diagonal intersection of the original sets, the latter belongs to the club filter.
[/proofplan]
[step:Show that intersections of fewer than $\kappa$ many clubs are club]
Let $\lambda < \kappa$, and let $\langle C_i : i < \lambda\rangle$ be a family of closed unbounded subsets of $\kappa$. Define
\begin{align*}
C := \bigcap_{i < \lambda} C_i.
\end{align*}
We prove that $C$ is closed and unbounded in $\kappa$.
First, $C$ is closed. Let $\delta < \kappa$ be a limit ordinal, and suppose $C \cap \delta$ is unbounded in $\delta$. For each $i < \lambda$, since $C \cap \delta \subseteq C_i \cap \delta$ and $C \cap \delta$ is unbounded in $\delta$, the set $C_i \cap \delta$ is unbounded in $\delta$. Since $C_i$ is closed, $\delta \in C_i$. This holds for every $i < \lambda$, so $\delta \in C$.
Next, $C$ is unbounded. Fix $\gamma < \kappa$. We construct an increasing sequence $\langle \gamma_i : i < \lambda\rangle$ of ordinals below $\kappa$ such that $\gamma_i \in C_i$ and $\gamma_i > \gamma$ for every $i < \lambda$. Since each $C_i$ is unbounded in $\kappa$, this construction is possible by choosing $\gamma_i \in C_i$ above
\begin{align*}
\sup(\{\gamma\} \cup \{\gamma_j + 1 : j < i\}).
\end{align*}
The set $\{\gamma_i : i < \lambda\}$ has cardinality $< \kappa$, and $\kappa$ is regular, so
\begin{align*}
\delta := \sup_{i < \lambda} \gamma_i
\end{align*}
satisfies $\delta < \kappa$. For each fixed $i < \lambda$, the tail $\{\gamma_j : i \leq j < \lambda\}$ is contained in no single $C_i$, so we refine the construction as follows.
Define instead a sequence $\langle \eta_n : n < \omega\rangle$ by recursion. Set $\eta_0 > \gamma$. Given $\eta_n < \kappa$, choose $\eta_{n+1} < \kappa$ so that
\begin{align*}
\eta_{n+1} > \eta_n
\end{align*}
and
\begin{align*}
\eta_{n+1} \in \bigcap_{i < \lambda} C_i
\end{align*}
would already require the desired conclusion. To avoid circularity, enumerate no clubs repeatedly; instead use the standard recursive closure argument over $\lambda \cdot \omega < \kappa$.
Let $\langle i_\xi : \xi < \lambda \cdot \omega\rangle$ be a sequence in $\lambda$ such that every $i < \lambda$ occurs cofinally in $\lambda \cdot \omega$. Recursively choose an increasing sequence $\langle \eta_\xi : \xi < \lambda \cdot \omega\rangle$ of ordinals below $\kappa$ with $\eta_0 > \gamma$ and
\begin{align*}
\eta_{\xi+1} \in C_{i_\xi}
\end{align*}
above $\eta_\xi$ for each $\xi < \lambda \cdot \omega$. At limit stages $\rho < \lambda \cdot \omega$, set
\begin{align*}
\eta_\rho := \sup_{\xi < \rho} \eta_\xi.
\end{align*}
Regularity of $\kappa$ and $\lambda \cdot \omega < \kappa$ imply that every $\eta_\xi$ is below $\kappa$. Let
\begin{align*}
\eta := \sup_{\xi < \lambda \cdot \omega} \eta_\xi.
\end{align*}
Again $\eta < \kappa$, and $\eta > \gamma$.
Fix $i < \lambda$. Since $i$ occurs cofinally often in $\langle i_\xi : \xi < \lambda \cdot \omega\rangle$, the set
\begin{align*}
\{\eta_{\xi+1} : \xi < \lambda \cdot \omega,\ i_\xi = i\}
\end{align*}
is an unbounded subset of $\eta$ contained in $C_i$. Since $C_i$ is closed, $\eta \in C_i$. This holds for every $i < \lambda$, hence $\eta \in C$. Since $\gamma < \kappa$ was arbitrary, $C$ is unbounded in $\kappa$.
Therefore $\bigcap_{i < \lambda} C_i$ is club in $\kappa$.
[/step]
[step:Verify that $\mathcal C_\kappa$ is a proper $<\kappa$-complete filter]
Since $\kappa$ itself is closed and unbounded in $\kappa$, we have $\kappa \in \mathcal C_\kappa$. Since no closed unbounded subset of $\kappa$ is empty, $\varnothing \notin \mathcal C_\kappa$.
If $X \in \mathcal C_\kappa$ and $X \subseteq Y \subseteq \kappa$, choose a closed unbounded set $C \subseteq \kappa$ such that $C \subseteq X$. Then $C \subseteq Y$, so $Y \in \mathcal C_\kappa$.
Let $\lambda < \kappa$, and let $\langle X_i : i < \lambda\rangle$ be a family of members of $\mathcal C_\kappa$. For each $i < \lambda$, choose a closed unbounded set $C_i \subseteq \kappa$ such that $C_i \subseteq X_i$. By the previous step,
\begin{align*}
C := \bigcap_{i < \lambda} C_i
\end{align*}
is closed unbounded in $\kappa$. Since
\begin{align*}
C \subseteq \bigcap_{i < \lambda} X_i,
\end{align*}
we have $\bigcap_{i < \lambda} X_i \in \mathcal C_\kappa$. Thus $\mathcal C_\kappa$ is a proper $<\kappa$-complete filter.
[/step]
[step:Build a club inside the diagonal intersection of a family of club sets]
Let $\langle C_\alpha : \alpha < \kappa\rangle$ be a family of closed unbounded subsets of $\kappa$. Define the diagonal intersection
\begin{align*}
D := \Delta_{\alpha < \kappa} C_\alpha
= \{\beta < \kappa : \text{for every } \alpha < \beta,\ \beta \in C_\alpha\}.
\end{align*}
We prove that $D$ is closed and unbounded in $\kappa$.
First, $D$ is closed. Let $\delta < \kappa$ be a limit ordinal, and suppose $D \cap \delta$ is unbounded in $\delta$. Fix $\alpha < \delta$. Choose $\beta \in D \cap \delta$ with $\alpha < \beta$. Since $\beta \in D$, we have $\beta \in C_\alpha$. Moreover, the set
\begin{align*}
D \cap \delta \cap (\alpha,\delta)
\end{align*}
is unbounded in $\delta$, and it is contained in $C_\alpha$. Since $C_\alpha$ is closed, $\delta \in C_\alpha$. This holds for every $\alpha < \delta$, so $\delta \in D$.
Next, $D$ is unbounded. Fix $\gamma < \kappa$. We recursively define an increasing sequence $\langle \beta_n : n < \omega\rangle$ below $\kappa$. Choose $\beta_0 > \gamma$. Given $\beta_n$, the ordinal $\beta_n + 1$ has cardinality $< \kappa$. Therefore the set
\begin{align*}
E_n := \bigcap_{\alpha \leq \beta_n} C_\alpha
\end{align*}
is club in $\kappa$ by the first step. Choose $\beta_{n+1} \in E_n$ with $\beta_{n+1} > \beta_n$, using unboundedness of $E_n$. Define
\begin{align*}
\beta := \sup_{n < \omega} \beta_n.
\end{align*}
Since $\omega < \kappa$ and $\kappa$ is regular uncountable, $\beta < \kappa$. Also $\beta > \gamma$.
Fix $\alpha < \beta$. Choose $n < \omega$ such that $\alpha \leq \beta_n$. For every $m > n$, we have $\beta_m \in E_n \subseteq C_\alpha$. Hence the tail $\{\beta_m : m > n\}$ is an unbounded subset of $\beta$ contained in $C_\alpha$. Since $C_\alpha$ is closed, $\beta \in C_\alpha$. This holds for every $\alpha < \beta$, so $\beta \in D$. Since $\gamma < \kappa$ was arbitrary, $D$ is unbounded in $\kappa$.
Thus $D$ is closed unbounded in $\kappa$.
[/step]
[step:Pass from club subsets to arbitrary members of the club filter]
Let $\langle X_\alpha : \alpha < \kappa\rangle$ be a family of members of $\mathcal C_\kappa$. For each $\alpha < \kappa$, choose a closed unbounded set $C_\alpha \subseteq \kappa$ such that
\begin{align*}
C_\alpha \subseteq X_\alpha.
\end{align*}
By the previous step,
\begin{align*}
D := \Delta_{\alpha < \kappa} C_\alpha
\end{align*}
is closed unbounded in $\kappa$.
We now compare diagonal intersections. If $\beta \in D$ and $\alpha < \beta$, then $\beta \in C_\alpha$. Since $C_\alpha \subseteq X_\alpha$, it follows that $\beta \in X_\alpha$. Hence
\begin{align*}
D \subseteq \Delta_{\alpha < \kappa} X_\alpha.
\end{align*}
Because $D$ is closed unbounded in $\kappa$, the set $\Delta_{\alpha < \kappa} X_\alpha$ contains a closed unbounded subset of $\kappa$. Therefore
\begin{align*}
\Delta_{\alpha < \kappa} X_\alpha \in \mathcal C_\kappa.
\end{align*}
Together with the previous verification that $\mathcal C_\kappa$ is a proper $<\kappa$-complete filter, this proves that $\mathcal C_\kappa$ is normal.
[/step]