/* Module 2: circuit notation and signed contributions follow the spoken script. */
.reveal .m2-cover h1 { font-size: 72px; margin: 34px 0 30px; }
.reveal .m2-definitions { margin-top: 32px; align-items: stretch; }
.reveal .m2-definitions .panel { padding: 24px 28px; }
.reveal .m2-definitions .panel p { font-size: 27px; }
.reveal .m2-definitions .panel .label { font-size: 17px; margin-bottom: 14px; }
.reveal .m2-opening-states { margin-top: 24px; align-items: stretch; }
.reveal .m2-opening-states .math { font-size: 34px; }
.reveal .m2-opening-states .label { margin-bottom: 12px; }
.reveal .m2-opening-states .panel { padding: 20px 28px; }
.reveal .m2-opening-states .probabilities { height: 155px; margin-top: 12px; }
.reveal .m2-opening-states .bar-track { height: 82px; }
.reveal .m2-opening-states .probability { max-width: 76px; gap: 6px; }
.reveal .m2-opening-states .probability strong, .reveal .m2-opening-states .probability span { font-size: 22px; }
.reveal .m2-response { border-left: 4px solid var(--accent); padding: 16px 24px; background: var(--tint); margin-top: 25px; }
.reveal .m2-response p { font-size: 28px; margin-bottom: 10px; }
.reveal .m2-response p:last-child { margin-bottom: 0; }
.reveal .m2-claims { margin-top: 32px; }
.reveal .m2-claims p { border-top: 1px solid var(--line); font-size: 29px; line-height: 1.35; padding: 22px 0; }
.reveal .m2-claims span { flex: 0 0 44px; }
.reveal .m2-rule { padding: 14px 28px; background: var(--tint); border-radius: 5px; margin: 22px 0; }
.reveal .m2-rule .katex-display { margin: 10px 0; }
.reveal .m2-matrix-pair { align-items: stretch; margin-top: 25px; }
.reveal .m2-matrix-pair .panel { padding: 20px 28px; }
.reveal .m2-matrix-pair .math { font-size: 36px; }
.reveal .m2-matrix-pair .caption { font-size: 23px; }
.reveal .m2-unitary-properties { display: flex; gap: 50px; margin: 22px 0; }
.reveal .m2-unitary-properties p { font-size: 27px; margin: 0; }
.reveal .m2-unitary-properties .katex-display { margin: 8px 0; }
.reveal .m2-hadamard { grid-template-columns: .85fr 1.15fr; gap: 42px; }
.reveal .m2-hadamard .large-math { font-size: 44px; }
.reveal .m2-hadamard .m2-action { padding: 8px 20px; border-left: 3px solid var(--accent); margin: 18px 0; }
.reveal .m2-hadamard .m2-action .katex-display { margin: 10px 0; }
.reveal .m2-hadamard .math { font-size: 34px; }
.reveal .m2-circuit { width: 100%; margin: 12px auto; }
.m2-gate-label { font: 600 34px Arial, sans-serif; fill: var(--accent); text-anchor: middle; }
.m2-wire-label { font: 30px Arial, sans-serif; fill: var(--ink); }
.m2-state-annotations { font: 30px Arial, sans-serif; fill: var(--accent); }
.m2-classical-wire { stroke: var(--muted); stroke-width: 1.9; fill: none; }
.m2-record-label { font: 25px Arial, sans-serif; fill: var(--muted); }
.reveal .m2-circuit-wide { max-width: 1100px; margin: 28px auto; }
.reveal .m2-circuit-wide .m2-circuit { max-height: 225px; }
.reveal .m2-legend { display: flex; gap: 30px; justify-content: space-between; margin: 18px 0; padding: 20px 0; border-top: 1px solid var(--line); }
.reveal .m2-legend p { font-size: 26px; margin: 0; }
.reveal .m2-readout .m2-circuit { max-height: 215px; }
.reveal .m2-order { align-items: stretch; margin-top: 24px; }
.reveal .m2-order .panel { padding: 22px; }
.reveal .m2-order .math { font-size: 28px; }
.reveal .m2-order .caption { font-size: 23px; }
.reveal .m2-order .katex-display { margin: 16px 0; }
.reveal .m2-order .m2-circuit { margin: 8px 0 15px; }
.reveal .m2-question-math { font-size: 60px; margin: 35px 0; }
.reveal .m2-rule-inputs { margin-top: 30px; }
.reveal .m2-rule-inputs .math { font-size: 32px; }
.reveal .m2-expansion { margin: 12px 0 16px; font-size: 34px; }
.reveal .m2-expansion .katex-display { margin: 12px 0; }
.reveal .m2-contribution-cards { align-items: stretch; gap: 24px; margin-top: 18px; }
.reveal .m2-contribution-cards .panel { padding: 17px 22px; }
.reveal .m2-contribution-cards .label { margin-bottom: 12px; font-size: 15px; }
.reveal .m2-contribution-cards .math { font-size: 29px; }
.reveal .m2-contribution-cards .katex-display { margin: 10px 0; }
.reveal .m2-contributions { margin-top: 24px; }
.reveal .m2-contributions th { font-size: 18px; padding: 12px 18px; }
.reveal .m2-contributions td { font-size: 31px; padding: 20px 18px; }
.reveal .m2-contributions + .takeaway { font-size: 26px; margin-top: 24px; }
.reveal .m2-phase-change { margin: 28px 0 22px; }
.reveal .m2-readout-pair .math { font-size: 31px; }
.reveal .m2-readout-pair .m2-circuit { max-height: 150px; }
.reveal .m2-readout-pair .panel { padding: 23px; }
.reveal .m2-midway .m2-circuit { max-height: 235px; }
.reveal .m2-midway .panel { padding: 12px 22px; }
.reveal .m2-midway .math { font-size: 29px; }
.reveal .m2-branches { margin-top: 25px; align-items: stretch; }
.reveal .m2-branches .panel { padding: 22px; }
.reveal .m2-branches .math { font-size: 30px; }
.reveal .m2-branches .katex-display { margin: 14px 0; }
.reveal .m2-branches .caption { font-size: 22px; }
.reveal .m2-statistics { margin-top: 32px; }
.reveal .m2-statistics th { font-size: 23px; }
.reveal .m2-statistics td { font-size: 30px; padding: 24px 18px; }
.reveal .m2-statistics th:nth-child(n+2), .reveal .m2-statistics td:nth-child(n+2) { text-align: center; }
.reveal .m2-exercises { margin-top: 26px; gap: 17px; }
.reveal .m2-exercises .exercise-row { padding: 8px 24px; height: 132px; gap: 20px; }
.reveal .m2-exercises .m2-circuit { height: 120px; width: 820px; margin: 0 auto; }
.reveal .m2-worked-circuit { max-width: 960px; margin: 22px auto; }
.reveal .m2-worked-circuit .m2-circuit { max-height: 220px; }

.m2-compact-circuit .m2-gate-label { font-size: 40px; }
.m2-compact-circuit .m2-wire-label { font-size: 34px; }
.m2-compact-circuit .m2-record-label { font-size: 30px; }
