/* Module 7 keeps ownership, basis order and communication visible. */
.reveal .m7-slide h2 {font-size:43px; margin-bottom:19px;}
.reveal .m7-slide .eyebrow {margin-bottom:16px;}
.reveal .m7-slide p {font-size:27px; margin-bottom:17px;}
.reveal .m7-slide .caption {font-size:21px; color:var(--muted); margin-top:12px;}
.reveal .m7-slide .label {font-size:16px;}
.reveal .m7-slide .math {font-size:31px;}
.reveal .m7-slide .katex-display {margin:15px 0;}
.reveal .m7-slide .takeaway {font-size:27px; margin-top:21px; padding-top:15px;}
.reveal .m7-slide .columns {gap:26px; margin-top:18px; align-items:start;}
.reveal .m7-slide .panel {padding:20px 23px; min-width:0;}
.reveal .m7-slide table {table-layout:fixed; margin-top:19px;}
.reveal .m7-slide table th {font-size:21px; padding:12px 16px;}
.reveal .m7-slide table td {font-size:27px; padding:13px 16px;}
.reveal .m7-slide tbody th {font-size:27px; font-weight:500; background:transparent; color:var(--ink);}
.reveal .m7-slide .m7-highlight {background:var(--tint);}
.reveal .m7-slide .m7-highlight th {background:var(--tint);}
.reveal .m7-cover h1 {font-size:57px; line-height:1.13; margin:13px 0 22px; max-width:1130px;}
.reveal .m7-cover .m7-pair {margin:14px auto 23px;}
.reveal .m7-pair {width:100%; max-height:230px; margin:18px auto;}
.m7-lab {fill:#ffffff80; stroke:var(--line); stroke-width:1.6;}
.m7-owner {font:700 22px Arial,sans-serif; fill:var(--accent);}
.m7-qubit {fill:var(--tint); stroke:var(--accent); stroke-width:2.5;}
.m7-input {fill:#f7eee2; stroke:#94521d; stroke-width:2.5;}
.m7-qubit-label {font:600 31px Arial,sans-serif; fill:var(--ink); text-anchor:middle;}
.m7-small {font:23px Arial,sans-serif; fill:var(--muted);}
.m7-entanglement {stroke:var(--accent); stroke-width:2; fill:none; stroke-dasharray:5 6;}
.m7-send {stroke:var(--accent); stroke-width:3; fill:none;}
.m7-wire-label {font:600 28px Arial,sans-serif; fill:var(--ink);}
.m7-gate-label {font:600 29px Arial,sans-serif; fill:var(--accent); text-anchor:middle;}
.m7-record {font:25px Arial,sans-serif; fill:var(--muted);}
.m7-classical {stroke:var(--muted); stroke-width:1.4; fill:none;}
.reveal .m7-claims {display:grid; gap:20px; margin-top:30px;}
.reveal .m7-claims > div {display:grid; grid-template-columns:40px 1fr; gap:15px; border-top:1px solid var(--line); padding:19px 0 0;}
.reveal .m7-claims span {color:var(--accent); font-size:22px; font-weight:700;}
.reveal .m7-claims p {font-size:30px; margin:0; line-height:1.35;}
.reveal .m7-band {background:var(--tint); border-left:4px solid var(--accent); padding:14px 22px; margin-top:22px;}
.reveal .m7-band p {margin:0;}
.reveal .m7-comparison .panel .math {font-size:30px;}
.reveal .m7-comparison .panel p {font-size:25px;}
.reveal .m7-comparison .panel {min-height:212px;}
.reveal .m7-prob-table td:not(:first-child),.reveal .m7-prob-table th:not(:first-child) {text-align:center;}
.reveal .m7-prob-table tr > :first-child {width:36%;}
.reveal .m7-hadamards .math {font-size:30px;}
.reveal .m7-hadamards .m7-prob-table {margin-top:20px;}
.reveal .m7-local table tr > :nth-child(1) {width:25%;}
.reveal .m7-local table tr > :nth-child(2) {width:39%;}
.reveal .m7-local table tr > :nth-child(n+3) {width:18%; text-align:center;}
.reveal .m7-task .m7-pair {max-height:213px; margin:8px 0 12px;}
.reveal .m7-task .m7-band {margin-top:15px;}
.reveal .m7-unknown .columns {grid-template-columns:.75fr 1.25fr; align-items:stretch;}
.reveal .m7-unknown .panel .math {font-size:29px;}
.reveal .m7-unknown .panel p {font-size:25px;}
.reveal .m7-unknown .panel .caption {font-size:21px;}
.reveal .m7-teleport {width:100%; max-height:353px; margin:14px 0 16px;}
.reveal .m7-circuit-slide .caption {font-size:22px;}
.reveal .m7-terms table {width:100%; margin-top:15px;}
.reveal .m7-terms table th {width:50%;}
.reveal .m7-terms .math {font-size:28px;}
.reveal .m7-branch .m7-branch-rule {display:flex; gap:42px; margin-top:5px;}
.reveal .m7-branch .m7-branch-rule .math {font-size:27px;}
.reveal .m7-branch table th {width:50%;}
.reveal .m7-branch table td {font-size:28px;}
.reveal .m7-branch .m7-band .math {font-size:30px;}
.reveal .m7-corrections table tr > :nth-child(1) {width:15%; text-align:center;}
.reveal .m7-corrections table tr > :nth-child(2) {width:51%;}
.reveal .m7-corrections table tr > :nth-child(3) {width:34%;}
.reveal .m7-corrections table td {padding:13px 16px;}
.reveal .m7-random-bits .m7-four {display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:23px 0 28px;}
.reveal .m7-four > div {text-align:center; padding:22px 16px; background:var(--tint);}
.reveal .m7-four strong {display:block; font-size:35px; margin-bottom:14px; color:var(--accent);}
.reveal .m7-four span {font-size:27px;}
.reveal .m7-result .columns {margin:26px 0; align-items:stretch;}
.reveal .m7-result .panel {min-height:205px;}
.reveal .m7-result .panel p {font-size:28px;}
.reveal .m7-message-options {display:flex; justify-content:space-around; margin:26px 0; padding:23px; background:var(--tint);}
.reveal .m7-message-options span {font-size:38px; color:var(--accent); font-weight:600; letter-spacing:.07em;}
.reveal .m7-phase .math {font-size:34px;}
.reveal .m7-phase .m7-band {padding:20px 26px; margin-top:28px;}
.reveal .m7-encodings table tr > :nth-child(1) {width:18%;}
.reveal .m7-encodings table tr > :nth-child(2) {width:27%;}
.reveal .m7-encodings table tr > :nth-child(3) {width:55%;}
.reveal .m7-encodings table td {font-size:29px; padding:15px 16px;}
.reveal .m7-decoder {width:100%; max-height:210px; margin:14px 0 18px;}
.reveal .m7-decode-example .math {font-size:30px;}
.reveal .m7-decode-example .m7-band {margin-top:15px; padding:5px 20px;}
.reveal .m7-decoded table tr > :nth-child(1) {width:35%;}
.reveal .m7-decoded table tr > :nth-child(2) {width:31%;}
.reveal .m7-decoded table tr > :nth-child(3) {width:34%;}
.reveal .m7-decoded table td {font-size:29px; padding:13px 16px;}
.reveal .m7-account .columns {margin:28px 0 24px; align-items:stretch;}
.reveal .m7-account .panel {min-height:236px;}
.reveal .m7-account .m7-rate {font-size:58px; color:var(--accent); margin:19px 0 13px; font-weight:600;}
.reveal .m7-account .m7-rate span {font-size:27px; font-weight:400;}
.reveal .m7-summary table tr > :nth-child(1) {width:29%;}
.reveal .m7-summary table tr > :nth-child(n+2) {width:35.5%;}
.reveal .m7-summary table td {font-size:26px; padding:19px 16px;}
.reveal .m7-exercise .exercise-row {padding:18px 24px; min-height:96px;}
.reveal .m7-exercise .exercise-row p {font-size:27px; margin:0;}

/* The worked teleportation branch keeps both H rules beside each other. */
.reveal .m7-branch .m7-branch-rule .katex-display {margin:7px 0;}
.reveal .m7-branch table {margin-top:14px;}
.reveal .m7-branch table td {padding:8px 16px;}
.reveal .m7-branch .m7-band {padding:8px 20px; margin-top:16px;}
.reveal .m7-branch .m7-band .katex-display {margin:9px 0;}
.reveal .m7-decode-example .m7-decoder {max-height:196px; margin:8px 0 13px;}

/* HTML labels remain stable when Reveal unhides and rescales a diagram. */
.reveal .m7-pair-scene {position:relative; height:230px;}
.m7-lab-card {position:absolute; top:15.22%; height:79.57%; width:37.5%; border:1.6px solid var(--line); border-radius:8px; background:#ffffff80;}
.m7-alice {left:.35%;}
.m7-bob {right:.35%;}
.m7-owner-html {position:absolute; top:13px; left:22px; color:var(--accent); font-size:22px; font-weight:700;}
.m7-bob .m7-owner-html {left:auto; right:22px;}
.reveal .m7-pair-lines {position:absolute; inset:0; width:100%; height:100%; max-height:none; overflow:visible;}
.m7-node {position:absolute; top:60.87%; transform:translate(-50%,-50%); display:grid; place-items:center; width:68px; height:68px; border:2.5px solid var(--accent); border-radius:50%; background:var(--tint); font-size:31px; font-weight:600; color:var(--ink);}
.m7-input-node {background:#f7eee2; border-color:#94521d;}
.m7-shared-label {position:absolute; top:7%; left:50%; transform:translateX(-50%); background:var(--paper); padding:7px 14px; font-size:23px; color:var(--muted); white-space:nowrap;}
.m7-input-caption {position:absolute; top:80%; left:8.19%; transform:translateX(-50%); font-size:22px; color:var(--muted); white-space:nowrap;}
.m7-transmit-label {position:absolute; top:40%; left:45.35%; transform:translateX(-50%); font-size:23px; color:var(--muted); white-space:nowrap;}

/* The flow revision gives the cancellation and transfer task their own space. */
.reveal .m7-cancellation .math {font-size:30px;}
.reveal .m7-cancellation .m7-expanded-pair {font-size:29px; margin:13px 0;}
.reveal .m7-cancellation .m7-band {margin-top:16px; padding:6px 20px;}
.reveal .m7-cancellation .m7-band .katex-display {margin:9px 0;}
.reveal .m7-cancellation p {margin-bottom:13px;}
.reveal .m7-transfer-goal .m7-goal-owners {margin:29px 0; align-items:stretch;}
.reveal .m7-transfer-goal .panel {min-height:207px;}
.reveal .m7-transfer-goal .question {font-size:29px;}
.reveal .m7-phase-comparison .columns {align-items:stretch; margin-top:16px;}
.reveal .m7-phase-comparison .panel {padding:18px 22px;}
.reveal .m7-phase-comparison .panel .math {font-size:28px;}
.reveal .m7-phase-comparison .panel p:not(.label) {font-size:25px;}
.reveal .m7-phase-comparison .panel p:last-child {margin-bottom:0;}
.reveal .m7-phase-comparison .takeaway {margin-top:19px; font-size:26px;}
.reveal .m7-exercise .exercise-row {padding:15px 24px;}
