% ── Shared macros ─────────────────────────────────────────────────────────────

% Algorithm shorthands
\newcommand{\mlkem}{ML-KEM}
\newcommand{\mlkemk}[1]{ML-KEM-#1}
\newcommand{\mldsa}{ML-DSA}
\newcommand{\slhdsa}{SLH-DSA}

% Variant names (monospace)
\newcommand{\varref}{\texttt{ref}}
\newcommand{\varrefnv}{\texttt{refnv}}
\newcommand{\varrefo}{\texttt{refo0}}
\newcommand{\varavx}{\texttt{avx2}}

% Operation shorthand
\newcommand{\op}[1]{\texttt{#1}}

% Speedup formatting: \speedup{45.6}
\newcommand{\speedup}[1]{$#1\times$}

% Phase 2 / future-work placeholder
\newcommand{\phasetwo}[1]{\todo[color=blue!15,caption={Phase 2: #1}]{Phase~2: #1}}
\newcommand{\phasethree}[1]{\todo[color=green!15,caption={Phase 3: #1}]{Phase~3: #1}}

% pgfplots colors (match matplotlib palette)
\definecolor{colRefnv}{HTML}{4C72B0}   % blue
\definecolor{colRef}{HTML}{55A868}     % green
\definecolor{colAvx}{HTML}{C44E52}     % red
\definecolor{colM512}{HTML}{4C72B0}
\definecolor{colM768}{HTML}{55A868}
\definecolor{colM1024}{HTML}{C44E52}

% Shared pgfplots style.
% NOTE: ybar, ymode=log, and bar width CANNOT be used inside \pgfplotsset styles
%       due to a pgfkeys namespace issue; apply them inline in each axis instead.
\pgfplotsset{
  pqc bar/.style={
    ymajorgrids=true,
    yminorgrids=true,
    grid style={dashed, gray!30},
    xtick=data,
    x tick label style={rotate=45, anchor=east, font=\small},
    legend style={font=\small, at={(0.99,0.99)}, anchor=north east},
    error bars/error bar style={line width=0.5pt},
    error bars/error mark options={rotate=90, mark size=1.5pt},
  },
}
