.reveal .slides > .foundation-slide { font-size: 1.1em; }
.reveal .foundation-slide > h2 { max-width: 1400px; }
.reveal .foundation-lead {
  width: 1400px; margin: -14px 0 0; color: var(--ink-2);
  font-size: 27px; line-height: 1.35;
}
.reveal .foundation-body {
  position: absolute; inset: 230px 76px 82px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 28px;
}
.reveal .foundation-body > * { flex-shrink: 0; width: 1400px; }
.reveal .foundation-slide figure { margin: 0; }
.reveal .foundation-columns { display: flex; align-items: stretch; gap: 36px; }
.reveal .foundation-columns > * { flex: 1; min-width: 0; }
.reveal .foundation-columns h3 {
  margin: 0 0 18px; color: var(--blue); font-size: 27px; font-weight: 700;
}
.reveal .foundation-columns img {
  display: block; width: 100%; height: 280px; object-fit: contain;
  margin: 0; background: white;
}
.reveal .foundation-columns figcaption,
.reveal .foundation-columns p {
  margin: 18px 0 0; color: var(--ink-2); font-size: 24px; line-height: 1.35;
}
.reveal .foundation-hero img { display: block; width: 1160px; height: 458px; object-fit: contain; margin: 0 auto; }
.reveal .foundation-physical .foundation-columns img { height: 340px; }
.reveal .foundation-takeaway {
  margin: 0; padding-top: 20px; border-top: 2px solid var(--blue);
  color: var(--blue); text-align: center; font-size: 27px; font-weight: 600; line-height: 1.35;
}
.reveal .foundation-definition {
  display: grid; grid-template-columns: 1fr 50px 1fr 50px 1fr; align-items: center;
  text-align: center; padding: 32px 0;
}
.reveal .foundation-label { color: var(--blue); font-size: 27px; font-weight: 700; }
.reveal .foundation-definition p { margin: 22px 0; font-size: 46px; }
.reveal .foundation-definition small { color: var(--ink-2); font-size: 24px; }
.reveal .foundation-operator { color: #008b8b; font-size: 48px; }
.reveal .foundation-rule-row { display: flex; gap: 48px; }
.reveal .foundation-rule-row > p {
  flex: 1; margin: 0; border-top: 1px solid var(--line); padding-top: 22px; font-size: 28px;
}
.reveal .foundation-rule-row strong { display: block; margin-bottom: 14px; font-size: 25px; }
.reveal .foundation-rule-row span { display: block; }
.reveal .foundation-body > svg { display: block; height: 330px; overflow: visible; }
.reveal .foundation-columns svg { display: block; width: 100%; height: 310px; }
.reveal .foundation-decision-flow {
  display: grid; grid-template-columns: 1fr 70px 1fr 70px 1.35fr;
  align-items: center; gap: 16px; text-align: center;
}
.reveal .foundation-decision-flow > div {
  padding: 28px 12px; border: 2px solid var(--blue); color: var(--blue);
  font-size: 29px; font-weight: 600;
}
.reveal .foundation-decision-flow > div:last-child { background: var(--blue); color: white; }
.reveal .foundation-decision-flow > span { color: #008b8b; font-size: 48px; }
.reveal .foundation-risk-examples { margin: 22px 0; }
.reveal .foundation-risk-examples > div { border-top: 1px solid var(--line); padding-top: 24px; }
.reveal .foundation-shift .foundation-columns { align-items: stretch; }
.reveal .foundation-shift .foundation-columns img { height: 230px; }
.reveal .foundation-shift .foundation-body { bottom: 130px; }
.reveal .foundation-shift .foundation-photo-pair {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; height: 230px;
}
.reveal .foundation-photo-pair > div { display: grid; grid-template-rows: 28px 190px; gap: 8px; }
.reveal .foundation-photo-pair span { color: var(--ink-2); font-size: 20px; text-align: center; }
.reveal .foundation-shift .foundation-photo-pair img { height: 190px; width: 100%; object-fit: contain; }
.reveal .foundation-low-light { filter: brightness(.45); }
.reveal .foundation-perturbations .foundation-body,
.reveal .foundation-modalities .foundation-body { bottom: 140px; }
.reveal .foundation-physical .foundation-body { bottom: 120px; }
.reveal .foundation-slide .fragment.highlight-current-red { opacity: 1; visibility: inherit; }
@media (prefers-reduced-motion: reduce) {
  .reveal .foundation-slide .fragment { transition: none; }
}

.reveal .compact h2 { margin-bottom: 0.5em; }
.reveal .compact p,
.reveal .compact li { line-height: 1.32; }
.reveal .stack { display: grid; gap: 18px; }

.reveal .slides > .lecture-title,
.reveal .slides > .outline-slide,
.reveal .slides > .taxonomy-slide {
  font-size: 1.1em;
}

.reveal .slides > .attack-time-slide {
  font-size: 1.07em;
}

.reveal .attack-time-slide .attack-figure-label,
.reveal .attack-time-slide .attack-control-label,
.reveal .attack-time-slide .attack-highlight-label {
  font-size: 16px;
}

.reveal .attack-time-slide .attack-figure-copy {
  font-size: 25px;
}

.reveal .lecture-title {
  position: relative;
  overflow: hidden;
}

.reveal .title-lockup {
  position: absolute;
  z-index: 2;
  top: 210px;
  left: 132px;
  display: grid;
  grid-template-columns: 265px 1fr;
  gap: 58px;
  align-items: center;
  width: 1320px;
}

.reveal .title-brand {
  display: grid;
  min-height: 252px;
  padding-right: 48px;
  border-right: 2px solid rgba(255, 255, 255, 0.82);
  place-items: center;
}

.reveal .title-brand img { width: 220px; height: 220px; }

.reveal .title-heading h1 {
  max-width: none;
  margin: 0;
  font-family: var(--r-heading-font);
  font-size: 2em;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.04;
}

.reveal .title-course {
  position: absolute;
  z-index: 2;
  top: 492px;
  left: 780px;
  display: grid;
  gap: 0.2em;
  color: var(--ink);
  font-size: 0.86em;
  line-height: 1.3;
}

.reveal .title-course strong {
  margin-bottom: 0.08em;
  color: var(--ink);
  font-size: 1.14em;
}

.reveal .title-course span:nth-of-type(2) { margin-top: 0.72em; }
.reveal .title-course span:nth-of-type(3) { margin-top: 0.72em; }

.reveal .title-wave {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 220px;
  opacity: 0.28;
  background:
    radial-gradient(70% 105% at 16% 112%, transparent 58%, rgba(71, 200, 240, 0.38) 58.5%, transparent 59.5%),
    radial-gradient(68% 100% at 43% 115%, transparent 61%, rgba(71, 200, 240, 0.3) 61.5%, transparent 62.5%),
    radial-gradient(60% 95% at 72% 115%, transparent 64%, rgba(71, 200, 240, 0.22) 64.5%, transparent 65.5%);
}

.reveal .outline-list {
  display: grid;
  width: 1400px;
  margin-top: 0.4em;
  border-top: 1px solid var(--blue);
}

.reveal .outline-item {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 18px;
  align-items: center;
  min-height: 176px;
  padding: 0 0.35em;
  border-bottom: 1px solid var(--line);
}

.reveal .outline-item > span {
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 0.74em;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.reveal .outline-item > strong {
  font-size: 0.98em;
  font-weight: 600;
}


.reveal .panda-example {
  width: 100%;
  max-width: 720px;
  margin: 0;
  padding: 0.35em;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #ffffff;
}

.reveal .panda-example img {
  display: block;
  width: 100%;
  height: auto;
}

.reveal .paper-citation,
.reveal .objective-reference {
  position: absolute;
  right: 150px;
  bottom: 10px;
  z-index: 4;
  display: block;
  max-width: 1000px;
  border-bottom: 1px solid rgba(0, 15, 70, 0.28);
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  text-align: right;
  text-decoration: none;
}

.reveal .paper-citation:hover,
.reveal .paper-citation:focus,
.reveal .objective-reference:hover,
.reveal .objective-reference:focus {
  border-bottom-color: var(--blue);
}


.reveal .split {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 42px;
  align-items: center;
}
.reveal .split.equal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.reveal .split.wide-left { grid-template-columns: minmax(0, 1.22fr) minmax(0, 0.78fr); }

.reveal .hero-number {
  color: var(--sky);
  font-family: var(--r-heading-font);
  font-size: 3.5em;
  font-variant-numeric: tabular-nums;
  font-weight: 520;
  line-height: 0.9;
}

.reveal .taxonomy-list {
  display: grid;
  width: 1400px;
  margin: 0.25em 0 0;
  border-top: 1px solid var(--blue);
}

.reveal .taxonomy-list > div {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  align-items: center;
  min-height: 82px;
  border-bottom: 1px solid var(--line);
}

.reveal .taxonomy-list dt {
  color: var(--blue);
  font-size: 0.66em;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.reveal .taxonomy-list dd {
  margin: 0;
  color: var(--ink-2);
  font-size: 0.76em;
  line-height: 1.3;
}

.reveal .taxonomy-list dd span {
  margin: 0 0.38em;
  color: var(--sky);
  font-weight: 600;
}


.reveal .attack-time-lead {
  max-width: 1400px;
  margin: 0.08em 0 0.65em;
  color: var(--ink-2);
  font-size: 0.7em;
  line-height: 1.35;
}

.reveal .attack-time-figure {
  width: 1400px;
  margin: 0 0 0.55em;
}

.reveal .attack-time-caption {
  width: 1400px;
  margin: -0.18em 0 0.58em;
  padding-left: 0.72em;
  border-left: 3px solid var(--blue);
  color: var(--ink-2);
  font-size: 0.66em;
  line-height: 1.35;
}

.reveal .training-time-slide .attack-time-caption {
  border-left-color: var(--yellow);
}

.reveal .test-time-slide .attack-time-caption {
  border-left-color: var(--red);
}

.reveal .attack-time-figure svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  font-family: var(--r-main-font);
}

.reveal .attack-figure-card > rect {
  fill: var(--surface-2);
  stroke: var(--line);
  stroke-width: 2;
}

.reveal .attack-figure-card path,
.reveal .attack-figure-card ellipse,
.reveal .attack-figure-card circle {
  fill: var(--surface);
  stroke: var(--blue);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.reveal .attack-figure-line,
.reveal .attack-figure-arrow {
  fill: none;
  stroke: var(--sky);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

.reveal .attack-figure-label {
  fill: var(--blue);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
}

.reveal .attack-figure-copy {
  fill: var(--ink);
  font-size: 22px;
  font-weight: 650;
}

.reveal .attack-figure-adversary {
  fill: var(--red);
  stroke: var(--surface);
  stroke-width: 4;
}

.reveal .attack-figure-adversary-head {
  fill: var(--surface);
  stroke: none;
}

.reveal .attack-figure-adversary-body {
  fill: none;
  stroke: var(--surface);
  stroke-linecap: round;
  stroke-width: 3;
}

.reveal .attack-control-line,
.reveal .attack-input-noise,
.reveal .attack-live-path,
.reveal .attack-output-cross {
  fill: none;
  stroke: var(--red);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

.reveal .attack-control-line {
  stroke-dasharray: 10 8;
}

.reveal .attack-control-label,
.reveal .attack-highlight-label {
  fill: var(--red);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 1.5px;
}

.reveal .attack-training-highlight {
  fill: rgba(247, 200, 37, 0.08);
  stroke: var(--yellow);
  stroke-width: 4;
}

.reveal .attack-model-highlight,
.reveal .attack-output-alert {
  fill: rgba(213, 35, 53, 0.04);
  stroke: var(--red);
  stroke-width: 4;
}

.reveal .attack-lock {
  fill: var(--surface);
  stroke: var(--blue);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.reveal .attack-live-path {
  stroke-dasharray: 16 10;
}

.reveal .attack-time-figure .fragment.visible .attack-control-line,
.reveal .attack-time-figure .fragment.visible .attack-live-path {
  animation: attack-path-flow 0.8s ease-out both;
}

.reveal .attack-time-figure .fragment.visible .attack-training-highlight,
.reveal .attack-time-figure .fragment.visible .attack-model-highlight,
.reveal .attack-time-figure .fragment.visible .attack-output-alert {
  transform-box: fill-box;
  transform-origin: center;
  animation: attack-figure-pulse 0.7s ease-out both;
}

.reveal .time-attack-details .label {
  display: block;
  margin-bottom: 0.34em;
  color: var(--blue);
  font-size: 0.46em;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@keyframes attack-path-flow {
  from { stroke-dashoffset: 90; }
  to { stroke-dashoffset: 0; }
}

@keyframes attack-figure-pulse {
  0% { opacity: 0; transform: scale(0.94); }
  65% { opacity: 1; transform: scale(1.025); }
  100% { opacity: 1; transform: scale(1); }
}

.reveal .time-attack-details {
  display: grid;
  width: 1400px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.reveal .training-time-slide .time-attack-details {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reveal .time-attack-details article {
  min-height: 142px;
  padding: 0.62em 0.72em;
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue);
  border-radius: 14px;
  background: var(--surface);
}

.reveal .training-time-slide .time-attack-details article {
  border-top-color: var(--yellow);
}

.reveal .test-time-slide .time-attack-details article {
  border-top-color: var(--red);
}

.reveal .time-attack-details h3 {
  margin: 0 0 0.25em;
  font-size: 0.72em;
}

.reveal .time-attack-details p {
  margin: 0;
  color: var(--ink-2);
  font-size: 0.56em;
  line-height: 1.38;
}

.reveal .time-attack-rule {
  display: grid;
  width: 1400px;
  margin-top: 0.62em;
  padding: 0.52em 0.7em;
  border-left: 4px solid var(--blue);
  background: rgba(0, 15, 70, 0.045);
  grid-template-columns: 190px 1fr;
  align-items: center;
  color: var(--ink-2);
  font-size: 0.56em;
  line-height: 1.35;
}

.reveal .training-time-slide .time-attack-rule {
  border-left-color: var(--yellow);
}

.reveal .test-time-slide .time-attack-rule {
  border-left-color: var(--red);
}

.reveal .time-attack-rule strong {
  color: var(--ink);
  font-size: 0.92em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.reveal .practical-implication {
  display: grid;
  width: 1400px;
  min-height: 112px;
  margin-top: 0.5em;
  padding: 0.5em 0.68em;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: 28px;
  align-items: center;
}

.reveal .practical-intro {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 16px;
  align-items: center;
}

.reveal .practical-logo,
.reveal .practical-guardrail-icon {
  display: block;
  width: 58px;
  height: 54px;
  object-fit: contain;
}

.reveal .practical-guardrail-icon {
  padding: 5px;
  border: 1px solid rgba(213, 35, 53, 0.35);
  border-radius: 14px;
}

.reveal .practical-guardrail-icon path {
  fill: none;
  stroke: var(--red);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

.reveal .practical-intro .label,
.reveal .practical-example .label {
  display: block;
  margin-bottom: 0.2em;
  color: var(--blue);
  font-size: 0.4em;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.reveal .training-time-slide .time-attack-details .label,
.reveal .training-time-slide .practical-intro .label,
.reveal .training-time-slide .practical-example .label {
  color: #8a6a00;
}

.reveal .test-time-slide .time-attack-details .label,
.reveal .test-time-slide .practical-intro .label,
.reveal .test-time-slide .practical-example .label {
  color: var(--red);
}

.reveal .training-time-slide .practical-implication {
  border-top: 3px solid var(--yellow);
}

.reveal .test-time-slide .practical-implication {
  border-top: 3px solid var(--red);
}

.reveal .practical-intro strong {
  display: block;
  color: var(--ink);
  font-size: 0.58em;
  line-height: 1.22;
}

.reveal .practical-example {
  padding-left: 24px;
  border-left: 1px solid var(--line);
}

.reveal .practical-example p {
  margin: 0;
  color: var(--ink-2);
  font-size: 0.47em;
  line-height: 1.32;
}

.reveal .practical-example .practical-action-line {
  margin-top: 0.35em;
  color: var(--blue);
  font-size: 0.43em;
  font-weight: 650;
}

.reveal .practical-action-line b {
  margin: 0 0.38em;
  color: var(--sky);
  font-weight: 700;
}

.reveal .objective-lead {
  max-width: none;
  margin: 0.06em 0 0.24em;
  color: var(--ink-2);
  font-size: 0.78em;
  line-height: 1.32;
}

.reveal .untargeted-slide h2,
.reveal .targeted-slide h2,
.reveal .prompt-injection-slide h2,
.reveal .pi-ipi-slide h2,
.reveal .jailbreak-slide h2,
.reveal .extraction-slide h2,
.reveal .model-theft-slide h2 {
  font-size: 2.15em;
}

.reveal .prompt-injection-slide .objective-lead {
  font-size: 0.84em;
}

.reveal .prompt-injection-slide .architecture-heading {
  font-size: 17.5px;
}

.reveal .prompt-injection-demo {
  width: 1400px;
  margin: 0.34em auto 0;
  padding: 0.08em 0.14em 0.14em;
  border: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(0, 15, 70, 0.018), rgba(61, 189, 214, 0.028));
}


.reveal .prompt-injection-demo figure {
  margin: 0;
}

.reveal .prompt-injection-demo svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  font-family: var(--r-main-font);
}

.reveal .prompt-context-panel > rect:first-child,
.reveal .prompt-agent-panel > rect:first-child,
.reveal .prompt-shell-panel > rect:first-child {
  fill: rgba(0, 15, 70, 0.035);
  stroke: var(--line);
  stroke-width: 2;
}

.reveal .prompt-context-card {
  fill: var(--surface);
  stroke: var(--line);
  stroke-width: 1.5;
}

.reveal .prompt-context-label {
  fill: var(--sky);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.55px;
}

.reveal .prompt-context-copy {
  fill: var(--ink);
  font-size: 17px;
  font-weight: 680;
}

.reveal .hostile-context-card {
  fill: #fff4f5;
  stroke: var(--red);
}

.reveal .hostile-context-label,
.reveal .hostile-context-copy {
  fill: var(--red);
}

.reveal .prompt-phase-badge {
  fill: rgba(0, 143, 213, 0.09);
  stroke: var(--sky);
  stroke-width: 1;
}

.reveal .prompt-phase-badge.attack-badge,
.reveal .prompt-terminal-badge.attack-badge {
  fill: #fff4f5;
  stroke: var(--red);
}

.reveal .prompt-phase-badge-text {
  fill: var(--sky);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.45px;
}

.reveal .attack-badge-text {
  fill: var(--red);
}

.reveal .prompt-clean-phase {
  animation: llm-clean-phase 18s linear infinite;
}

.reveal .prompt-attack-phase {
  opacity: 0;
  animation: llm-perturbation-phase 18s linear infinite;
}

.reveal .prompt-agent-stage {
  fill: var(--surface);
  stroke: var(--blue);
  stroke-width: 1.6;
}


.reveal .prompt-agent-panel text:not(.architecture-heading) {
  fill: var(--ink-2);
  font-size: 14px;
  font-weight: 800;
}


.reveal .prompt-agent-arrow {
  fill: none;
  stroke: var(--sky);
  stroke-dasharray: 5 4;
  stroke-width: 3;
  animation: matrix-flow 1.1s linear infinite;
}

.reveal .prompt-agent-panel .prompt-agent-stage-title {
  fill: var(--blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.55px;
}

.reveal .prompt-agent-panel .prompt-agent-stage-copy {
  fill: var(--ink);
  font-size: 12.5px;
  font-weight: 850;
}

.reveal .prompt-transformer-block {
  fill: rgba(128, 80, 220, 0.055);
  stroke: rgba(128, 80, 220, 0.58);
  stroke-width: 1.5;
}

.reveal .prompt-agent-panel .prompt-transformer-title {
  fill: var(--purple);
  font-size: 11.5px;
  font-weight: 900;
  letter-spacing: 0.6px;
}


.reveal .prompt-agent-panel .prompt-mini-qkv text {
  font-size: 11.2px;
}

.reveal .prompt-agent-panel .prompt-mini-qkv .matrix-shell {
  animation: none;
  stroke-width: 1;
}

.reveal .prompt-agent-panel .prompt-mini-qkv .matrix-grid {
  stroke-width: 0.55;
}


.reveal .prompt-transformer-formula-box rect {
  fill: rgba(128, 80, 220, 0.09);
  stroke: rgba(128, 80, 220, 0.5);
  stroke-width: 1;
}

.reveal .prompt-agent-panel .prompt-transformer-formula {
  fill: var(--purple);
  font-size: 9.5px;
  font-weight: 850;
}



.reveal .prompt-token-panel .next-token-step text {
  fill: var(--ink-2);
  font-size: 15.5px;
  font-weight: 650;
}

.reveal .prompt-next-choice .choice-token {
  font-size: 15.5px;
  font-weight: 850;
}


.reveal .prompt-injection-slide .prompt-next-choice > text:first-of-type {
  fill: var(--red);
  font-size: 17px;
  font-weight: 900;
}

.reveal .prompt-generated-sequence .sentence-token > text {
  font-size: 12px;
}

.reveal .prompt-output-state {
  fill: var(--sky);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.65px;
}

.reveal .prompt-output-state.attack-output-state,
.reveal .prompt-output-copy.attack-output-copy {
  fill: var(--red);
}

.reveal .prompt-output-copy {
  fill: var(--ink-2);
  font-size: 14.5px;
  font-weight: 680;
}

.reveal .ipi-flow-slide .ipi-attack-logits text {
  fill: var(--red);
}

.reveal .ipi-flow-slide .ipi-attack-logits > rect {
  fill: var(--red);
}

.reveal .ipi-flow-slide .ipi-attack-logits > rect.small-bar {
  fill: rgba(213, 35, 53, 0.45);
}

.reveal .ipi-flow-slide .ipi-attack-logits > rect.tiny-bar {
  fill: rgba(213, 35, 53, 0.24);
}

.reveal .ipi-read-file-card rect {
  fill: #fff4f5;
  stroke: var(--red);
  stroke-width: 1.2;
}

.reveal .ipi-read-file-label {
  fill: var(--red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.45px;
}

.reveal .ipi-read-file-copy {
  fill: #a6192e;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  font-weight: 750;
}

.reveal .prompt-parser-transfer {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.reveal .prompt-parser-transfer path {
  fill: none;
  stroke: var(--sky);
  stroke-dasharray: 5 4;
  stroke-width: 2.5;
  animation: matrix-flow 0.8s linear infinite;
}

.reveal .prompt-parser-transfer rect {
  fill: #eaf4ff;
  stroke: var(--sky);
  stroke-width: 1.4;
}

.reveal .prompt-parser-transfer text {
  fill: var(--blue);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  font-weight: 800;
}

.reveal .prompt-parser-transfer.prompt-parser-attack path,
.reveal .prompt-parser-transfer.prompt-parser-attack rect {
  stroke: var(--red);
}

.reveal .prompt-parser-transfer.prompt-parser-attack rect {
  fill: #fff4f5;
}

.reveal .prompt-parser-transfer.prompt-parser-attack text {
  fill: var(--red);
}

.reveal .prompt-parser-normal {
  animation: prompt-parser-normal-transfer 18s linear infinite;
}

.reveal .prompt-parser-attack {
  animation: prompt-parser-attack-transfer 18s linear infinite;
}


.reveal .prompt-shell-panel > rect:first-child {
  fill: var(--blue);
  stroke: var(--blue);
}

.reveal .prompt-shell-panel .architecture-heading {
  fill: rgba(255, 255, 255, 0.72);
}

.reveal .prompt-terminal-label {
  fill: var(--sky);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.5px;
}

.reveal .prompt-terminal-label.attack-terminal-label {
  fill: #ff9baa;
}

.reveal .prompt-terminal-line,
.reveal .prompt-terminal-result {
  fill: #ffffff;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 18px;
  font-weight: 700;
}

.reveal .prompt-terminal-result {
  fill: rgba(255, 255, 255, 0.7);
  font-size: 15.5px;
}

.reveal .attack-terminal-line {
  fill: #ffd5da;
}

.reveal .attack-terminal-result {
  fill: #ff9baa;
}

.reveal .prompt-terminal-badge {
  fill: rgba(61, 189, 214, 0.15);
  stroke: var(--sky);
  stroke-width: 1.2;
}

.reveal .prompt-terminal-badge-text {
  fill: #ffffff;
  font-size: 12.5px;
  font-weight: 850;
  letter-spacing: 0.55px;
}

.reveal .prompt-terminal-badge-text.attack-badge-text {
  fill: var(--red);
}

.reveal .prompt-shell-panel .prompt-clean-phase {
  animation: prompt-shell-normal-result 18s linear infinite;
}

.reveal .prompt-shell-panel .prompt-attack-phase {
  animation: prompt-shell-attack-result 18s linear infinite;
}

.reveal .prompt-injection-slide :is(
  .prompt-clean-phase,
  .prompt-attack-phase,
  .prompt-parser-transfer,
  .next-token-choice > rect,
  .next-token-step,
  .choice-token,
  .sentence-token
) {
  animation-duration: 24s;
}

.reveal .prompt-injection-slide .prompt-context-panel > .prompt-clean-phase,
.reveal .prompt-injection-slide .prompt-generated-sequence > .prompt-clean-phase {
  animation-name: prompt-clean-phase-hard;
}

.reveal .prompt-injection-slide .prompt-context-panel > .prompt-attack-phase,
.reveal .prompt-injection-slide .prompt-generated-sequence > .prompt-attack-phase {
  animation-name: prompt-attack-phase-hard;
}

.reveal .prompt-injection-slide .prompt-generated-sequence > .decode-clean-output-summary {
  animation-name: decode-clean-output-summary;
}

.reveal .prompt-injection-slide .prompt-generated-sequence > .decode-attack-output-summary {
  animation-name: decode-attack-output-summary;
}

.reveal .prompt-injection-slide .llm-step-1 { animation-name: prompt-fast-step-1; }
.reveal .prompt-injection-slide .llm-step-2 { animation-name: prompt-fast-step-2; }
.reveal .prompt-injection-slide .llm-step-3 { animation-name: prompt-fast-step-3; }
.reveal .prompt-injection-slide .llm-step-4 { animation-name: prompt-fast-step-4; }
.reveal .prompt-injection-slide .llm-step-5 { animation-name: prompt-fast-step-5; }
.reveal .prompt-injection-slide .llm-step-6 { animation-name: prompt-fast-step-6; }
.reveal .prompt-injection-slide .llm-step-7 { animation-name: prompt-fast-step-7; }
.reveal .prompt-injection-slide .llm-step-8 { animation-name: prompt-fast-step-8; }
.reveal .prompt-injection-slide .llm-step-10 { animation-name: prompt-fast-step-10; }
.reveal .prompt-injection-slide .llm-step-11 { animation-name: prompt-fast-step-11; }
.reveal .prompt-injection-slide .llm-step-12 { animation-name: prompt-fast-step-12; }
.reveal .prompt-injection-slide .llm-step-13 { animation-name: prompt-fast-step-13; }
.reveal .prompt-injection-slide .llm-step-14 { animation-name: prompt-fast-step-14; }
.reveal .prompt-injection-slide .llm-step-15 { animation-name: prompt-fast-step-15; }
.reveal .prompt-injection-slide .llm-step-16 { animation-name: prompt-fast-step-16; }
.reveal .prompt-injection-slide .llm-step-17 { animation-name: prompt-fast-step-17; }

.reveal .prompt-injection-slide .word-1 { animation-name: prompt-fast-word-1; }
.reveal .prompt-injection-slide .word-2 { animation-name: prompt-fast-word-2; }
.reveal .prompt-injection-slide .word-3 { animation-name: prompt-fast-word-3; }
.reveal .prompt-injection-slide .word-4 { animation-name: prompt-fast-word-4; }
.reveal .prompt-injection-slide .word-5 { animation-name: prompt-fast-word-5; }
.reveal .prompt-injection-slide .word-6 { animation-name: prompt-fast-word-6; }
.reveal .prompt-injection-slide .word-7 { animation-name: prompt-fast-word-7; }
.reveal .prompt-injection-slide .word-8 { animation-name: prompt-fast-word-8; }
.reveal .prompt-injection-slide .word-10 { animation-name: prompt-fast-word-10; }
.reveal .prompt-injection-slide .word-11 { animation-name: prompt-fast-word-11; }
.reveal .prompt-injection-slide .word-12 { animation-name: prompt-fast-word-12; }
.reveal .prompt-injection-slide .word-13 { animation-name: prompt-fast-word-13; }
.reveal .prompt-injection-slide .word-14 { animation-name: prompt-fast-word-14; }
.reveal .prompt-injection-slide .word-15 { animation-name: prompt-fast-word-15; }
.reveal .prompt-injection-slide .word-16 { animation-name: prompt-fast-word-16; }
.reveal .prompt-injection-slide .word-17 { animation-name: prompt-fast-word-17; }

.reveal .prompt-injection-slide .next-token-choice > rect {
  animation-name: prompt-choice-box-phase;
}



.reveal .pi-ipi-takeaway {
  display: grid;
  width: 1400px;
  box-sizing: border-box;
  margin: 0.5em auto 0;
  padding: 0.56em 0.72em;
  border-left: 4px solid var(--red);
  background: rgba(213, 35, 53, 0.05);
  grid-template-columns: 250px 1fr;
  gap: 18px;
  align-items: center;
}
.reveal .pi-ipi-takeaway.staged-animation-explanation {
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 260ms ease, transform 260ms ease, visibility 0s linear 260ms;
}

.reveal .pi-ipi-takeaway.staged-animation-explanation.is-visible {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s;
}


.reveal .pi-ipi-takeaway strong {
  color: var(--red);
  font-size: 0.5em;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.reveal .pi-ipi-takeaway span {
  color: var(--ink-2);
  font-size: 0.5em;
  line-height: 1.3;
}

.reveal .pi-ipi-takeaway b {
  color: var(--blue);
}

.reveal .jailbreak-slide .pi-ipi-takeaway {
  grid-template-columns: 320px 1fr;
}

.reveal .jailbreak-slide .pi-ipi-takeaway strong {
  white-space: nowrap;
}

.reveal .jailbreak-command-note {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.9em;
  line-height: 1.2;
}

.reveal .jailbreak-command-note sup {
  color: var(--blue);
  font-weight: 850;
}


@keyframes prompt-parser-normal-transfer {
  0%, 29.3%, 36%, 100% { opacity: 0; transform: translateY(-8px) scale(0.96); }
  30%, 35.5% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes prompt-parser-attack-transfer {
  0%, 79.3%, 86%, 100% { opacity: 0; transform: translateY(-8px) scale(0.96); }
  80%, 85.5% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes prompt-shell-normal-result {
  0%, 35.5%, 49.9%, 100% { opacity: 0; }
  36%, 49.7% { opacity: 1; }
}

@keyframes prompt-shell-attack-result {
  0%, 85.5%, 99.9%, 100% { opacity: 0; }
  86%, 99.7% { opacity: 1; }
}

@keyframes prompt-fast-step-1 { 0%, 3.66% { opacity: 1; } 3.67%, 100% { opacity: 0; } }
@keyframes prompt-fast-step-2 { 0%, 3.66%, 7.33%, 100% { opacity: 0; } 3.67%, 7.32% { opacity: 1; } }
@keyframes prompt-fast-step-3 { 0%, 7.33%, 11%, 100% { opacity: 0; } 7.34%, 10.99% { opacity: 1; } }
@keyframes prompt-fast-step-4 { 0%, 11%, 14.66%, 100% { opacity: 0; } 11.01%, 14.65% { opacity: 1; } }
@keyframes prompt-fast-step-5 { 0%, 14.66%, 18.33%, 100% { opacity: 0; } 14.67%, 18.32% { opacity: 1; } }
@keyframes prompt-fast-step-6 { 0%, 18.33%, 22%, 100% { opacity: 0; } 18.34%, 21.99% { opacity: 1; } }
@keyframes prompt-fast-step-7 { 0%, 22%, 25.66%, 100% { opacity: 0; } 22.01%, 25.65% { opacity: 1; } }
@keyframes prompt-fast-step-8 { 0%, 25.66%, 49.8%, 100% { opacity: 0; } 25.67%, 49.79% { opacity: 1; } }
@keyframes prompt-fast-step-10 { 0%, 49.99%, 53.66%, 100% { opacity: 0; } 50%, 53.65% { opacity: 1; } }
@keyframes prompt-fast-step-11 { 0%, 53.66%, 57.33%, 100% { opacity: 0; } 53.67%, 57.32% { opacity: 1; } }
@keyframes prompt-fast-step-12 { 0%, 57.33%, 61%, 100% { opacity: 0; } 57.34%, 60.99% { opacity: 1; } }
@keyframes prompt-fast-step-13 { 0%, 61%, 64.66%, 100% { opacity: 0; } 61.01%, 64.65% { opacity: 1; } }
@keyframes prompt-fast-step-14 { 0%, 64.66%, 68.33%, 100% { opacity: 0; } 64.67%, 68.32% { opacity: 1; } }
@keyframes prompt-fast-step-15 { 0%, 68.33%, 72%, 100% { opacity: 0; } 68.34%, 71.99% { opacity: 1; } }
@keyframes prompt-fast-step-16 { 0%, 72%, 75.66%, 100% { opacity: 0; } 72.01%, 75.65% { opacity: 1; } }
@keyframes prompt-fast-step-17 { 0%, 75.66%, 100% { opacity: 0; } 75.67%, 99.8% { opacity: 1; } }

@keyframes prompt-fast-word-1 { 0%, 3.66%, 50%, 100% { opacity: 0; transform: scale(0.9); } 4.05%, 49.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-2 { 0%, 7.33%, 50%, 100% { opacity: 0; transform: scale(0.9); } 7.71%, 49.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-3 { 0%, 11%, 50%, 100% { opacity: 0; transform: scale(0.9); } 11.38%, 49.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-4 { 0%, 14.66%, 50%, 100% { opacity: 0; transform: scale(0.9); } 15.05%, 49.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-5 { 0%, 18.33%, 50%, 100% { opacity: 0; transform: scale(0.9); } 18.71%, 49.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-6 { 0%, 22%, 50%, 100% { opacity: 0; transform: scale(0.9); } 22.38%, 49.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-7 { 0%, 25.66%, 50%, 100% { opacity: 0; transform: scale(0.9); } 26.05%, 49.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-8 { 0%, 29.33%, 50%, 100% { opacity: 0; transform: scale(0.9); } 29.71%, 49.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-10 { 0%, 53.66%, 100% { opacity: 0; transform: scale(0.9); } 54.05%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-11 { 0%, 57.33%, 100% { opacity: 0; transform: scale(0.9); } 57.71%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-12 { 0%, 61%, 100% { opacity: 0; transform: scale(0.9); } 61.38%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-13 { 0%, 64.66%, 100% { opacity: 0; transform: scale(0.9); } 65.05%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-14 { 0%, 68.33%, 100% { opacity: 0; transform: scale(0.9); } 68.71%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-15 { 0%, 72%, 100% { opacity: 0; transform: scale(0.9); } 72.38%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-16 { 0%, 75.66%, 100% { opacity: 0; transform: scale(0.9); } 76.05%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes prompt-fast-word-17 { 0%, 79.33%, 100% { opacity: 0; transform: scale(0.9); } 79.71%, 99.8% { opacity: 1; transform: scale(1); } }

.reveal .extraction-copy {
  display: grid;
  width: 1400px;
  margin-top: 0.72em;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: 24px;
}

.reveal .extraction-copy article {
  padding: 0.98em 1.02em;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 16px;
  background: var(--surface);
  box-sizing: border-box;
  min-height: 250px;
}

.reveal .extraction-copy .label {
  display: block;
  margin-bottom: 0.58em;
  color: var(--blue);
  font-size: 0.5em;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.reveal .extraction-definition p {
  margin: 0;
  color: var(--ink-2);
  font-size: 0.84em;
  line-height: 1.48;
}

.reveal .extraction-definition .balanced-line,
.reveal .extraction-success strong > span {
  display: block;
  white-space: nowrap;
}

.reveal .extraction-definition .comparison-example {
  display: grid;
  margin-top: 1em;
  padding: 0.72em;
  border-left: 3px solid var(--blue);
  background: var(--surface-2);
  gap: 0.38em;
}

.reveal .extraction-slide .extraction-copy article:last-child {
  border-top-color: var(--red);
}

.reveal .extraction-slide .extraction-copy article:last-child .label,
.reveal .extraction-slide .extraction-copy article:last-child .comparison-example strong {
  color: var(--red);
}

.reveal .extraction-slide .extraction-copy article:last-child .comparison-example {
  border-left-color: var(--red);
}

.reveal .comparison-example strong {
  color: var(--blue);
  font-size: 0.68em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.reveal .comparison-example code,
.reveal .comparison-example .comparison-math-value {
  color: var(--ink);
  font-family: var(--r-main-font);
  font-size: 0.72em;
  font-weight: 650;
}

.reveal .extraction-example {
  display: grid;
  gap: 0;
}

.reveal .extraction-row {
  display: grid;
  min-height: 82px;
  padding: 0.48em 0;
  border-top: 1px solid var(--line);
  grid-template-columns: 220px 1fr;
  gap: 18px;
  align-items: center;
}

.reveal .extraction-row strong {
  color: var(--ink-2);
  font-size: 0.62em;
}

.reveal .extraction-row code {
  padding: 0.32em 0.5em;
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--ink);
  font-family: var(--r-main-font);
  font-size: 0.64em;
  font-weight: 650;
}

.reveal .extraction-row.extraction-output {
  border-top-color: rgba(213, 35, 53, 0.38);
}

.reveal .extraction-row.extraction-output strong,
.reveal .extraction-row.extraction-output code {
  color: var(--red);
}

.reveal .extraction-success {
  display: grid;
  width: 1400px;
  margin-top: 0.62em;
  padding: 0.68em 0.82em;
  border-left: 4px solid var(--red);
  background: rgba(213, 35, 53, 0.055);
  grid-template-columns: 210px 1fr;
  gap: 18px;
  align-items: center;
  color: var(--ink-2);
  font-size: 0.72em;
  line-height: 1.38;
}

.reveal .extraction-slide .extraction-success {
  grid-template-columns: 260px 1fr;
}

.reveal .extraction-success strong {
  color: var(--red);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.reveal .theft-success {
  border-left-color: var(--blue);
  background: rgba(0, 15, 70, 0.045);
}

.reveal .theft-success strong {
  color: var(--blue);
}



.reveal .looping-architecture-stack {
  display: grid;
  width: 100%;
  border-top: 1px solid var(--line);
  gap: 0.18em;
}

.reveal .looping-architecture-panel {
  display: grid;
  min-height: 252px;
  padding: 0.08em 0.14em 0.16em;
  border: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(0, 15, 70, 0.018), rgba(61, 189, 214, 0.028));
  grid-template-rows: auto 1fr;
}

.reveal .looping-architecture-panel h3 {
  margin: 0.38em 0 0;
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 1.08em;
  font-weight: 800;
  letter-spacing: 0.09em;
}

.reveal .looping-architecture-panel figure {
  display: grid;
  margin: 0;
  align-items: center;
}

.reveal .looping-architecture-panel svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  font-family: var(--r-main-font);
}

.reveal .network-backbone {
  fill: none;
  stroke: var(--sky);
  stroke-linecap: butt;
  stroke-width: 4;
}
.reveal :is(.untargeted-slide, .targeted-slide) [data-staged-animation$="-image"] .network-backbone {
  stroke-dasharray: 10 8;
  animation: image-inference-line-flow 12s linear infinite, image-inference-line-color 12s linear infinite;
}

.reveal .untargeted-slide [data-staged-animation="untargeted-llm"] .network-backbone {
  stroke-dasharray: 10 8;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  shape-rendering: crispEdges;
  animation: untargeted-llm-inference-flow 18s linear infinite, llm-inference-line-color 18s linear infinite;
}

.reveal .targeted-slide [data-staged-animation="targeted-llm"] .network-backbone {
  stroke-dasharray: 10 8;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  shape-rendering: crispEdges;
  animation: targeted-llm-inference-flow 18s linear infinite, llm-inference-line-color 18s linear infinite;
}

.reveal [data-staged-animation="pi-demo"] .network-backbone,
.reveal [data-staged-animation="ipi-demo"] .network-backbone,
.reveal [data-staged-animation="jailbreak-demo"] .network-backbone {
  stroke-dasharray: 10 8;
  animation: architecture-inference-flow 0.88s linear infinite, prompt-inference-line-color 24s linear infinite;
}

@keyframes architecture-inference-flow {
  to { stroke-dashoffset: -36; }
}

@keyframes image-inference-line-flow {
  0% { stroke-dashoffset: 0; }
  16.66%, 57.99% { stroke-dashoffset: -160px; }
  74.66%, 100% { stroke-dashoffset: -320px; }
}

@keyframes image-inference-line-color {
  0%, 43.32% { stroke: var(--sky); }
  43.33%, 57.99% { stroke: var(--line); }
  58%, 100% { stroke: var(--red); }
}

@keyframes llm-inference-line-color {
  0%, 49.8% { stroke: var(--sky); }
  50%, 100% { stroke: var(--red); }
}
@keyframes untargeted-llm-inference-flow {
  0% { stroke-dashoffset: 0; }
  44%, 49.99% { stroke-dashoffset: -324px; }
  97.78%, 100% { stroke-dashoffset: -612px; }
}

@keyframes targeted-llm-inference-flow {
  0% { stroke-dashoffset: 0; }
  34.22%, 49.99% { stroke-dashoffset: -252px; }
  85.83%, 100% { stroke-dashoffset: -468px; }
}


@keyframes prompt-inference-line-color {
  0%, 49.8% { stroke: var(--sky); }
  50%, 100% { stroke: var(--red); }
}


.reveal .resnet-image-card > rect,
.reveal .resnet-unit > rect,
.reveal .resnet-prediction > rect,
.reveal .llm-prompt-panel > rect,
.reveal .transformer-architecture > rect,
.reveal .next-token-panel > rect,
.reveal .next-token-choice > rect,
.reveal .generated-sequence > rect {
  fill: var(--surface-2);
  stroke: var(--line);
  stroke-width: 2;
}

.reveal .objective-stop-sign {
  fill: var(--red);
  stroke: #ffffff;
  stroke-linejoin: round;
  stroke-width: 4;
}

.reveal .objective-stop-text {
  fill: #ffffff;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.8px;
}

.reveal .architecture-symbol {
  fill: var(--blue);
  font-size: 24px;
  font-weight: 650;
}

.reveal .clean-symbol,
.reveal .normal-input-label {
  animation: clean-input-phase 12s linear infinite;
}

.reveal .perturbed-symbol,
.reveal .resnet-loop-attack {
  opacity: 0;
  animation: perturbation-phase 12s linear infinite;
}

.reveal .normal-input-label,
.reveal .resnet-loop-attack text {
  fill: var(--blue);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 1px;
}

.reveal .resnet-loop-attack path {
  fill: none;
  stroke: var(--red);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

.reveal .resnet-loop-attack text {
  fill: var(--red);
}

.reveal .resnet-unit > rect {
  fill: rgba(0, 15, 70, 0.055);
  stroke: var(--blue);
}

.reveal .resnet-unit text {
  fill: var(--blue);
  font-size: 17px;
  font-weight: 800;
}

.reveal .resnet-unit .minor {
  fill: var(--ink-2);
  font-size: 14px;
  font-weight: 600;
}

.reveal .resnet-unit > .sliding-window {
  fill: rgba(61, 189, 214, 0.2);
  stroke: var(--sky);
  stroke-dasharray: 4 3;
  stroke-width: 2;
  transform-box: fill-box;
  transform-origin: center;
}

.reveal .conv1-window {
  animation: conv-window-slide 3.2s ease-in-out infinite;
}

.reveal .maxpool-window {
  animation: pool-window-slide 2.8s ease-in-out infinite;
}

.reveal .avgpool-window {
  animation: pool-window-slide 2.8s 0.65s ease-in-out infinite;
}
.reveal :is(.untargeted-slide, .targeted-slide) [data-staged-animation$="-image"] .conv1-window {
  animation: image-conv-window-inference 12s linear infinite;
}

.reveal :is(.untargeted-slide, .targeted-slide) [data-staged-animation$="-image"] :is(.maxpool-window, .avgpool-window) {
  animation: image-pool-window-inference 12s linear infinite;
}


.reveal .resnet-stage > rect:first-of-type {
  fill: transparent;
  stroke: var(--muted);
  stroke-dasharray: 6 5;
  stroke-width: 1.5;
}

.reveal .resnet-stage > rect:not(:first-of-type) {
  stroke: var(--blue);
  stroke-width: 1.5;
}

.reveal .resnet-stage.stage-2 > rect:not(:first-of-type) { fill: rgba(91, 143, 191, 0.2); }
.reveal .resnet-stage.stage-3 > rect:not(:first-of-type) { fill: rgba(247, 200, 37, 0.18); }
.reveal .resnet-stage.stage-4 > rect:not(:first-of-type) { fill: rgba(171, 193, 167, 0.25); }
.reveal .resnet-stage.stage-5 > rect:not(:first-of-type) { fill: rgba(213, 35, 53, 0.11); }

.reveal .resnet-stage > text {
  fill: var(--ink-2);
  font-size: 16px;
  font-weight: 700;
}

.reveal .resnet-skip,
.reveal .attention-lines {
  fill: none;
  stroke: var(--blue);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.reveal .resnet-prediction text {
  fill: var(--blue);
  font-size: 13px;
  font-weight: 800;
}

.reveal .resnet-prediction .correct {
  fill: var(--ink-2);
  animation: resnet-correct-loop 12s linear infinite;
}

.reveal .resnet-prediction .speed-limit-sign,
.reveal .resnet-prediction .wrong,
.reveal .resnet-prediction .wrong-detail {
  opacity: 0;
  animation: resnet-wrong-loop 12s linear infinite;
}

.reveal .resnet-prediction .speed-limit-sign {
  fill: #ffffff;
  stroke: var(--red);
  stroke-width: 6;
}

.reveal .resnet-prediction .wrong {
  fill: var(--ink);
  font-size: 17px;
}

.reveal .resnet-prediction .wrong-detail {
  fill: var(--red);
  font-size: 10px;
}

.reveal .resnet-prediction > rect {
  animation: resnet-output-loop 12s linear infinite;
}

.reveal .architecture-heading {
  fill: var(--blue);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 1px;
}

.reveal .llm-prompt-panel > rect,
.reveal .transformer-architecture > rect,
.reveal .next-token-panel > rect,
.reveal .generated-sequence > rect {
  fill: rgba(0, 15, 70, 0.035);
}

.reveal .llm-prompt-panel > rect:not(:first-of-type) {
  fill: var(--surface);
  stroke: var(--line);
  stroke-width: 1.5;
}

.reveal .llm-prompt-panel text,
.reveal .next-token-panel text,
.reveal .next-token-choice text,
.reveal .generated-sequence text {
  fill: var(--ink-2);
  font-size: 14px;
  font-weight: 650;
}

.reveal .llm-prompt-panel .adversarial,
.reveal .llm-prompt-panel .adversarial-text,
.reveal .perturbed-context-label {
  opacity: 0;
  animation: perturbation-phase 12s linear infinite;
}

.reveal .clean-context-label {
  animation: clean-input-phase 12s linear infinite;
}

.reveal .llm-prompt-panel .adversarial {
  fill: #fff4f5;
  stroke: var(--red);
}

.reveal .llm-prompt-panel .adversarial-text {
  fill: var(--red);
  font-weight: 750;
}

.reveal .transformer-architecture .layer {
  fill: var(--surface);
  stroke: var(--blue);
  stroke-width: 1.8;
}

.reveal .transformer-architecture > text:not(.architecture-heading) {
  fill: var(--blue);
  font-size: 16px;
  font-weight: 750;
}

.reveal .transformer-architecture .minor {
  fill: var(--ink-2);
  font-size: 13px;
  font-weight: 650;
}

.reveal .qkv-links {
  fill: none;
  stroke: var(--sky);
  stroke-dasharray: 5 4;
  stroke-width: 2;
  animation: qkv-flow 1.2s linear infinite;
}

.reveal .qkv-node {
  fill: #ffffff;
  stroke: var(--blue);
  stroke-width: 2;
  transform-box: fill-box;
  transform-origin: center;
  animation: qkv-pulse 1.45s ease-in-out infinite, qkv-color-phase 12s linear infinite;
}

.reveal .k-node { animation-delay: 0.18s, 0s; }
.reveal .v-node { animation-delay: 0.36s, 0s; }

.reveal .qkv-computation text {
  fill: var(--blue);
  font-size: 11px;
  font-weight: 850;
}

.reveal .feed-forward-layer {
  animation: feed-forward-pulse 1.45s 0.55s ease-in-out infinite, transformer-color-phase 12s linear infinite;
}

.reveal .layer-count {
  fill: var(--sky);
  font-size: 15px;
  font-weight: 800;
}

.reveal .next-token-panel > rect {
  stroke: var(--blue);
}

.reveal .next-token-step {
  opacity: 0;
}

.reveal .next-token-step > rect {
  fill: var(--blue);
}

.reveal .next-token-step > rect.small-bar {
  fill: rgba(0, 15, 70, 0.45);
}

.reveal .next-token-step > rect.tiny-bar {
  fill: rgba(0, 15, 70, 0.24);
}

.reveal .token-step-1 { animation: token-step-one 12s linear infinite; }
.reveal .token-step-2 { animation: token-step-two 12s linear infinite; }
.reveal .token-step-3 { animation: token-step-three 12s linear infinite; }

.reveal .next-token-choice > rect {
  fill: rgba(61, 189, 214, 0.08);
  stroke: var(--blue);
  animation: choice-box-phase 12s linear infinite;
}

.reveal .next-token-choice > text:first-of-type {
  fill: var(--red);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.6px;
}

.reveal .choice-token {
  fill: var(--ink);
  font-size: 12px;
  font-weight: 750;
  opacity: 0;
}

.reveal .choice-token-1 { animation: token-step-one 12s linear infinite; }
.reveal .choice-token-2 { animation: token-step-two 12s linear infinite; }
.reveal .choice-token-3 { animation: token-step-three 12s linear infinite; }

.reveal .generated-sequence > g > rect {
  fill: rgba(61, 189, 214, 0.08);
  stroke: var(--blue);
  stroke-width: 1.5;
}

.reveal .generated-sequence > .loop-token-2 > rect,
.reveal .generated-sequence > .loop-token-3 > rect {
  fill: #fff4f5;
  stroke: var(--red);
}

.reveal .generated-sequence > g > text {
  fill: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.reveal .loop-token {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.reveal .loop-token-1 { animation: append-token-one 12s linear infinite; }
.reveal .loop-token-2 { animation: append-token-two 12s linear infinite; }
.reveal .loop-token-3 { animation: append-token-three 12s linear infinite; }

.reveal .autoregressive-loop,
.reveal .autoregressive-arrow {
  fill: none;
  stroke: var(--red);
  stroke-dasharray: 8 6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.5;
}

.reveal .autoregressive-loop {
  animation: autoregressive-flow 1.8s linear infinite;
}

.reveal .autoregressive-label {
  fill: var(--red);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
}

.reveal .delta-noise {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: delta-injection 12s ease-in-out infinite;
}

.reveal .delta-symbol {
  fill: var(--red);
  font-size: 18px;
  font-weight: 850;
}

.reveal .noise-map {
  fill: #ffffff;
  stroke: var(--red);
  stroke-width: 1.5;
}

.reveal .noise-grid,
.reveal .delta-arrow {
  fill: none;
  stroke: var(--red);
  stroke-linecap: round;
  stroke-width: 1.3;
}

.reveal .noise-hot { fill: rgba(239, 110, 134, 0.78); }
.reveal .noise-cold { fill: rgba(71, 166, 232, 0.82); }

.reveal .noise-image {
  filter: contrast(1.18) saturate(0.72) drop-shadow(0 2px 3px rgba(0, 15, 70, 0.18));
}

.reveal .traffic-logits-panel > rect {
  fill: rgba(0, 15, 70, 0.035);
  stroke: var(--line);
  stroke-width: 2;
  animation: resnet-output-loop 12s linear infinite;
}

.reveal .traffic-logits-panel text {
  fill: var(--ink-2);
  font-size: 11.5px;
  font-weight: 750;
}

.reveal .traffic-logits-panel .traffic-logits-title {
  fill: var(--blue);
  font-size: 15px;
  font-weight: 850;
}

.reveal .traffic-logits-panel .logit-track { fill: rgba(0, 15, 70, 0.09); }
.reveal .traffic-logits-panel .logit-bar { fill: rgba(0, 15, 70, 0.35); }
.reveal .traffic-logits-panel .logit-bar.top { fill: var(--blue); }
.reveal .traffic-logits-panel .probability { font-size: 10px; font-variant-numeric: tabular-nums; }

.reveal .traffic-logits-panel .normal-logits-title {
  animation: resnet-normal-title 12s linear infinite;
}

.reveal .traffic-logits-panel .adversarial-logits-title {
  opacity: 0;
  animation: resnet-attack-title 12s linear infinite;
}

.reveal .traffic-logits-panel .zero-logits {
  animation: resnet-zero-state 12s linear infinite;
}

.reveal .traffic-logits-panel .normal-logits,
.reveal .traffic-logits-panel .correct {
  opacity: 0;
  animation: resnet-correct-result 12s linear infinite;
}

.reveal .traffic-logits-panel .adversarial-logits,
.reveal .traffic-logits-panel .wrong {
  opacity: 0;
  animation: resnet-wrong-result 12s linear infinite;
}

.reveal .traffic-logits-panel .adversarial-logits .logit-bar.top { fill: var(--red); }
.reveal .traffic-logits-panel .text-only-prediction { font-size: 12px; font-weight: 850; }


.reveal .prompt-text-box {
  fill: var(--surface);
  stroke: var(--line);
  stroke-width: 1.5;
}

.reveal .llm-prompt-panel .prompt-text {
  fill: var(--ink);
  font-size: 13px;
  font-weight: 720;
}

.reveal .gcg-suffix,
.reveal .perturbed-context-label {
  opacity: 0;
  animation: llm-perturbation-phase 18s linear infinite;
}

.reveal .clean-context-label {
  animation: llm-clean-phase 18s linear infinite;
}

.reveal .gcg-suffix .adversarial {
  fill: #fff4f5;
  stroke: var(--red);
  opacity: 1;
  animation: none;
}

.reveal .gcg-suffix text {
  fill: var(--red);
  font-size: 9.5px;
  font-weight: 750;
}

.reveal .gcg-suffix .suffix-label {
  font-size: 11.5px;
  font-weight: 850;
  letter-spacing: 0.4px;
}

.reveal .qkv-matrix {
  transform-box: fill-box;
  transform-origin: center;
  animation: matrix-pulse 1.8s ease-in-out infinite;
}

.reveal .k-matrix { animation-delay: 0.28s; }
.reveal .v-matrix { animation-delay: 0.56s; }
.reveal .attention-matrix { animation-delay: 0.84s; }

.reveal .qkv-matrix text { font-size: 14px; font-weight: 850; }

.reveal .matrix-shell {
  stroke-width: 1.6;
  animation: llm-matrix-color 18s linear infinite;
}

.reveal .q-matrix .matrix-shell { fill: rgba(239, 110, 134, 0.22); stroke: #ef6e86; }
.reveal .q-matrix text { fill: #d94e68; }
.reveal .k-matrix .matrix-shell { fill: rgba(71, 166, 232, 0.2); stroke: #47a6e8; }
.reveal .k-matrix text { fill: #277fbd; }
.reveal .v-matrix .matrix-shell { fill: rgba(74, 190, 141, 0.2); stroke: #4abe8d; }
.reveal .v-matrix text { fill: #278864; }
.reveal .attention-matrix .matrix-shell { fill: rgba(128, 80, 220, 0.2); stroke: #8050dc; }
.reveal .attention-matrix text { fill: #6840bc; }

.reveal .matrix-grid {
  fill: none;
  stroke: rgba(0, 15, 70, 0.35);
  stroke-width: 0.8;
}

.reveal .matrix-arrow {
  fill: none;
  stroke: rgba(128, 80, 220, 0.42);
  stroke-dasharray: 7 5;
  stroke-linecap: round;
  stroke-width: 4;
  animation: matrix-flow 1.1s linear infinite;
}

.reveal .attention-formula {
  fill: var(--ink-2);
  font-size: 12px;
  font-weight: 700;
}

.reveal .kv-cache-badge rect {
  fill: #eaf4ff;
  stroke: var(--blue);
  stroke-width: 1.2;
}

.reveal .kv-cache-badge text {
  fill: var(--blue);
  font-size: 9.8px;
  font-weight: 850;
  letter-spacing: 0.15px;
}

.reveal .feed-forward-layer {
  fill: rgba(128, 80, 220, 0.055);
  animation: feed-forward-pulse 1.45s 0.55s ease-in-out infinite, llm-transformer-color 18s linear infinite;
}


.reveal .next-token-choice > rect {
  animation: llm-choice-box-phase 18s linear infinite;
}
.reveal :is(.untargeted-slide, .targeted-slide) .clean-symbol,
.reveal :is(.untargeted-slide, .targeted-slide) .normal-input-label {
  animation-name: untargeted-image-clean-phase;
}

.reveal :is(.untargeted-slide, .targeted-slide) .perturbed-symbol,
.reveal :is(.untargeted-slide, .targeted-slide) .resnet-loop-attack {
  animation-name: untargeted-image-attack-phase;
}

.reveal :is(.untargeted-slide, .targeted-slide) .delta-noise {
  animation-name: untargeted-delta-injection;
}

.reveal :is(.untargeted-slide, .targeted-slide):has(.staged-animation-trigger[data-fragment-index="3"].visible) .delta-noise {
  opacity: 0 !important;
}

.reveal :is(.untargeted-slide, .targeted-slide) .gcg-suffix,
.reveal :is(.untargeted-slide, .targeted-slide) .perturbed-context-label {
  animation-name: untargeted-llm-attack-phase;
}

.reveal :is(.untargeted-slide, .targeted-slide) .matrix-shell {
  animation-name: untargeted-llm-matrix-color;
}

.reveal :is(.untargeted-slide, .targeted-slide) .next-token-choice > rect {
  animation-name: untargeted-llm-choice-box-phase;
}

.reveal .llm-step-1 { animation: llm-step-1 18s linear infinite; }
.reveal .llm-step-2 { animation: llm-step-2 18s linear infinite; }
.reveal .llm-step-3 { animation: llm-step-3 18s linear infinite; }
.reveal .llm-step-4 { animation: llm-step-4 18s linear infinite; }
.reveal .llm-step-5 { animation: llm-step-5 18s linear infinite; }
.reveal .llm-step-6 { animation: llm-step-6 18s linear infinite; }
.reveal .llm-step-7 { animation: llm-step-7 18s linear infinite; }
.reveal .llm-step-8 { animation: llm-step-8 18s linear infinite; }
.reveal .llm-step-9 { animation: llm-step-9 18s linear infinite; }
.reveal .llm-step-10 { animation: llm-step-10 18s linear infinite; }
.reveal .llm-step-11 { animation: llm-step-11 18s linear infinite; }
.reveal .llm-step-12 { animation: llm-step-12 18s linear infinite; }
.reveal .llm-step-13 { animation: llm-step-13 18s linear infinite; }
.reveal .llm-step-14 { animation: llm-step-14 18s linear infinite; }
.reveal .llm-step-15 { animation: llm-step-15 18s linear infinite; }
.reveal .llm-step-16 { animation: llm-step-16 18s linear infinite; }
.reveal .llm-step-17 { animation: llm-step-17 18s linear infinite; }
.reveal .llm-step-18 { animation: llm-step-18 18s linear infinite; }

.reveal .sentence-token {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.reveal .sentence-token > rect {
  fill: rgba(128, 80, 220, 0.08);
  stroke: #8050dc;
  stroke-width: 1.2;
}

.reveal .sentence-token.attack-word > rect {
  fill: #fff4f5;
  stroke: var(--red);
}

.reveal .sentence-token > text {
  fill: var(--ink);
  font-size: 11px;
  font-weight: 720;
}

.reveal .word-1 { animation: llm-word-1 18s linear infinite; }
.reveal .word-2 { animation: llm-word-2 18s linear infinite; }
.reveal .word-3 { animation: llm-word-3 18s linear infinite; }
.reveal .word-4 { animation: llm-word-4 18s linear infinite; }
.reveal .word-5 { animation: llm-word-5 18s linear infinite; }
.reveal .word-6 { animation: llm-word-6 18s linear infinite; }
.reveal .word-7 { animation: llm-word-7 18s linear infinite; }
.reveal .word-8 { animation: llm-word-8 18s linear infinite; }
.reveal .word-9 { animation: llm-word-9 18s linear infinite; }
.reveal .word-10 { animation: llm-word-10 18s linear infinite; }
.reveal .word-11 { animation: llm-word-11 18s linear infinite; }
.reveal .word-12 { animation: llm-word-12 18s linear infinite; }
.reveal .word-13 { animation: llm-word-13 18s linear infinite; }
.reveal .word-14 { animation: llm-word-14 18s linear infinite; }
.reveal .word-15 { animation: llm-word-15 18s linear infinite; }
.reveal .word-16 { animation: llm-word-16 18s linear infinite; }
.reveal .word-17 { animation: llm-word-17 18s linear infinite; }
.reveal .word-18 { animation: llm-word-18 18s linear infinite; }


.reveal .motto-reference > rect {
  fill: rgba(0, 15, 70, 0.035);
  stroke: var(--line);
  stroke-width: 1.5;
}

.reveal .motto-reference text {
  fill: var(--ink-2);
  font-size: 15px;
  font-weight: 650;
}

.reveal .motto-reference .source-label {
  fill: var(--blue);
  font-weight: 850;
}

.reveal .motto-reference .adversarial-motto {
  fill: var(--red);
}
.reveal .untargeted-slide .motto-reference .normal-motto {
  opacity: 0;
  animation: untargeted-normal-reference-reveal 18s linear infinite;
}

.reveal .untargeted-slide .motto-reference .adversarial-motto {
  opacity: 0;
  animation: untargeted-attack-reference-reveal 18s linear infinite;
}

.reveal .targeted-slide .motto-reference .normal-motto {
  opacity: 0;
  animation: targeted-normal-reference-reveal 18s linear infinite;
}

.reveal .targeted-slide .motto-reference .adversarial-motto {
  opacity: 0;
  animation: targeted-attack-reference-reveal 18s linear infinite;
}

@keyframes untargeted-normal-reference-reveal {
  0%, 44.5% { opacity: 0; }
  45.2%, 100% { opacity: 1; }
}

@keyframes untargeted-attack-reference-reveal {
  0%, 98.27% { opacity: 0; }
  98.8%, 100% { opacity: 1; }
}

@keyframes targeted-normal-reference-reveal {
  0%, 34.72% { opacity: 0; }
  35.4%, 100% { opacity: 1; }
}

@keyframes targeted-attack-reference-reveal {
  0%, 86.32% { opacity: 0; }
  87%, 100% { opacity: 1; }
}


.reveal .motto-reference .possible-output-label {
  font-weight: 850;
  letter-spacing: 0.15px;
}

.reveal .objective-loop-caption {
  display: grid;
  width: 100%;
  margin-top: 0.3em;
  padding: 0.5em 0.68em;
  border-left: 4px solid var(--red);
  background: rgba(213, 35, 53, 0.055);
  grid-template-columns: 230px 1fr;
  align-items: center;
  color: var(--ink-2);
  font-size: 0.56em;
}

.reveal .objective-loop-caption strong {
  color: var(--ink);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@keyframes clean-input-phase {
  0%, 32% { opacity: 1; }
  38%, 96% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes perturbation-phase {
  0%, 34%, 100% { opacity: 0; }
  40%, 96% { opacity: 1; }
}

@keyframes resnet-normal-title {
  0%, 43.32% { opacity: 1; }
  43.33%, 100% { opacity: 0; }
}

@keyframes resnet-attack-title {
  0%, 43.32% { opacity: 0; }
  43.33%, 100% { opacity: 1; }
}

@keyframes resnet-zero-state {
  0%, 16.66% { opacity: 1; }
  16.67%, 43.32% { opacity: 0; }
  43.33%, 74.66% { opacity: 1; }
  74.67%, 100% { opacity: 0; }
}

@keyframes resnet-correct-result {
  0%, 16.66% { opacity: 0; }
  16.67%, 43.32% { opacity: 1; }
  43.33%, 100% { opacity: 0; }
}

@keyframes resnet-wrong-result {
  0%, 74.66% { opacity: 0; }
  74.67%, 100% { opacity: 1; }
}

@keyframes resnet-output-loop {
  0%, 74.66% { fill: var(--surface-2); stroke: var(--line); }
  74.67%, 100% { fill: #fff4f5; stroke: var(--red); }
}

@keyframes token-step-one {
  0%, 30% { opacity: 1; }
  36%, 100% { opacity: 0; }
}

@keyframes token-step-two {
  0%, 44%, 69%, 100% { opacity: 0; }
  50%, 65% { opacity: 1; }
}

@keyframes token-step-three {
  0%, 68%, 97%, 100% { opacity: 0; }
  74%, 93% { opacity: 1; }
}

@keyframes append-token-one {
  0%, 16%, 36%, 100% { opacity: 0; transform: scale(0.9); }
  21%, 31% { opacity: 1; transform: scale(1); }
}

@keyframes append-token-two {
  0%, 57%, 97%, 100% { opacity: 0; transform: scale(0.9); }
  63%, 93% { opacity: 1; transform: scale(1); }
}

@keyframes append-token-three {
  0%, 79%, 97%, 100% { opacity: 0; transform: scale(0.9); }
  85%, 93% { opacity: 1; transform: scale(1); }
}

@keyframes choice-box-phase {
  0%, 36%, 100% { fill: rgba(61, 189, 214, 0.08); stroke: var(--blue); }
  44%, 96% { fill: #fff4f5; stroke: var(--red); }
}

@keyframes qkv-pulse {
  0%, 100% { transform: scale(0.88); filter: brightness(1); }
  45% { transform: scale(1.14); filter: brightness(1.08); }
}

@keyframes qkv-color-phase {
  0%, 36%, 100% { fill: rgba(61, 189, 214, 0.12); stroke: var(--blue); }
  44%, 96% { fill: #fff4f5; stroke: var(--red); }
}

@keyframes transformer-color-phase {
  0%, 36%, 100% { stroke: var(--blue); }
  44%, 96% { stroke: var(--red); }
}

@keyframes feed-forward-pulse {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(0.94); }
}

@keyframes qkv-flow {
  from { stroke-dashoffset: 36; }
  to { stroke-dashoffset: 0; }
}

@keyframes autoregressive-flow {
  from { stroke-dashoffset: 84; }
  to { stroke-dashoffset: 0; }
}

@keyframes delta-injection {
  0%, 31%, 55%, 100% { opacity: 0; transform: translate(24px, -12px) scale(0.82); }
  35% { opacity: 1; transform: translate(24px, -12px) scale(0.9); }
  46% { opacity: 1; transform: translate(-62px, 48px) scale(0.38); }
  50% { opacity: 0; transform: translate(-62px, 48px) scale(0.2); }
}
@keyframes untargeted-image-clean-phase {
  0%, 43.32% { opacity: 1; }
  44.33%, 100% { opacity: 0; }
}

@keyframes untargeted-image-attack-phase {
  0%, 43.32% { opacity: 0; }
  44.33%, 100% { opacity: 1; }
}

@keyframes untargeted-delta-injection {
  0%, 43.32% { opacity: 0; transform: translate(24px, -12px) scale(0.82); }
  45% { opacity: 1; transform: translate(24px, -12px) scale(0.9); }
  58% { opacity: 1; transform: translate(-62px, 48px) scale(0.38); }
  62%, 100% { opacity: 0; transform: translate(-62px, 48px) scale(0.2); }
}

@keyframes untargeted-llm-attack-phase {
  0%, 49.99% { opacity: 0; }
  50.7%, 100% { opacity: 1; }
}

@keyframes untargeted-llm-matrix-color {
  0%, 49.99% { filter: brightness(1) saturate(1); }
  50.7%, 100% { filter: brightness(0.96) saturate(1.28); }
}

@keyframes untargeted-llm-choice-box-phase {
  0%, 49.99% { fill: rgba(128, 80, 220, 0.08); stroke: #8050dc; }
  50.7%, 100% { fill: #fff4f5; stroke: var(--red); }
}

@keyframes llm-clean-phase {
  0%, 46% { opacity: 1; }
  50%, 98% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes llm-perturbation-phase {
  0%, 46%, 100% { opacity: 0; }
  50%, 98% { opacity: 1; }
}

@keyframes prompt-clean-phase-hard {
  0%, 49.8% { opacity: 1; }
  50%, 99.8% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes prompt-attack-phase-hard {
  0%, 49.8%, 100% { opacity: 0; }
  50%, 99.8% { opacity: 1; }
}
@keyframes decode-clean-output-summary {
  0%, 32%, 50%, 100% { opacity: 0; }
  32.4%, 49.8% { opacity: 1; }
}
@keyframes decode-attack-output-summary {
  0%, 82%, 100% { opacity: 0; }
  82.4%, 99.8% { opacity: 1; }
}
@keyframes prompt-choice-box-phase {
  0%, 49.8% { fill: rgba(128, 80, 220, 0.08); stroke: #8050dc; }
  50%, 100% { fill: #fff4f5; stroke: var(--red); }
}



@keyframes llm-matrix-color {
  0%, 46%, 100% { filter: brightness(1) saturate(1); }
  50%, 98% { filter: brightness(0.96) saturate(1.28); }
}

@keyframes llm-transformer-color {
  0%, 46%, 100% { stroke: #8050dc; }
  50%, 98% { stroke: var(--red); }
}

@keyframes llm-choice-box-phase {
  0%, 46%, 100% { fill: rgba(128, 80, 220, 0.08); stroke: #8050dc; }
  50%, 98% { fill: #fff4f5; stroke: var(--red); }
}

@keyframes matrix-pulse {
  0%, 100% { opacity: 0.62; transform: scale(0.92); }
  45% { opacity: 1; transform: scale(1.1); }
}

@keyframes matrix-flow {
  from { stroke-dashoffset: 28; }
  to { stroke-dashoffset: 0; }
}

@keyframes llm-step-1 { 0% { opacity: 0; } 0.2%, 4.88% { opacity: 1; } 4.89%, 100% { opacity: 0; } }
@keyframes llm-step-2 { 0%, 4.88%, 9.77%, 100% { opacity: 0; } 4.89%, 9.76% { opacity: 1; } }
@keyframes llm-step-3 { 0%, 9.77%, 14.66%, 100% { opacity: 0; } 9.78%, 14.65% { opacity: 1; } }
@keyframes llm-step-4 { 0%, 14.66%, 19.55%, 100% { opacity: 0; } 14.67%, 19.54% { opacity: 1; } }
@keyframes llm-step-5 { 0%, 19.55%, 24.43%, 100% { opacity: 0; } 19.56%, 24.42% { opacity: 1; } }
@keyframes llm-step-6 { 0%, 24.43%, 29.32%, 100% { opacity: 0; } 24.44%, 29.31% { opacity: 1; } }
@keyframes llm-step-7 { 0%, 29.32%, 34.21%, 100% { opacity: 0; } 29.33%, 34.2% { opacity: 1; } }
@keyframes llm-step-8 { 0%, 34.21%, 39.1%, 100% { opacity: 0; } 34.22%, 39.09% { opacity: 1; } }
@keyframes llm-step-9 { 0%, 39.1%, 49.8%, 100% { opacity: 0; } 39.11%, 49.79% { opacity: 1; } }
@keyframes llm-step-10 { 0%, 49.99%, 55.96%, 100% { opacity: 0; } 50%, 55.95% { opacity: 1; } }
@keyframes llm-step-11 { 0%, 55.96%, 61.93%, 100% { opacity: 0; } 55.97%, 61.92% { opacity: 1; } }
@keyframes llm-step-12 { 0%, 61.93%, 67.9%, 100% { opacity: 0; } 61.94%, 67.89% { opacity: 1; } }
@keyframes llm-step-13 { 0%, 67.9%, 73.87%, 100% { opacity: 0; } 67.91%, 73.86% { opacity: 1; } }
@keyframes llm-step-14 { 0%, 73.87%, 79.84%, 100% { opacity: 0; } 73.88%, 79.83% { opacity: 1; } }
@keyframes llm-step-15 { 0%, 79.84%, 85.81%, 100% { opacity: 0; } 79.85%, 85.8% { opacity: 1; } }
@keyframes llm-step-16 { 0%, 85.81%, 91.78%, 100% { opacity: 0; } 85.82%, 91.77% { opacity: 1; } }
@keyframes llm-step-17 { 0%, 91.78%, 100% { opacity: 0; } 91.79%, 99.8% { opacity: 1; } }
@keyframes llm-step-18 { 0%, 92.2%, 98.5%, 100% { opacity: 0; } 92.5%, 98% { opacity: 1; } }

@keyframes llm-word-1 { 0%, 4.88%, 49.8%, 100% { opacity: 0; transform: scale(0.9); } 5.39%, 49.79% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-2 { 0%, 9.77%, 49.8%, 100% { opacity: 0; transform: scale(0.9); } 10.28%, 49.79% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-3 { 0%, 14.66%, 49.8%, 100% { opacity: 0; transform: scale(0.9); } 15.17%, 49.79% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-4 { 0%, 19.55%, 49.8%, 100% { opacity: 0; transform: scale(0.9); } 20.06%, 49.79% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-5 { 0%, 24.43%, 49.8%, 100% { opacity: 0; transform: scale(0.9); } 24.94%, 49.79% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-6 { 0%, 29.32%, 49.8%, 100% { opacity: 0; transform: scale(0.9); } 29.83%, 49.79% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-7 { 0%, 34.21%, 49.8%, 100% { opacity: 0; transform: scale(0.9); } 34.72%, 49.79% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-8 { 0%, 39.1%, 49.8%, 100% { opacity: 0; transform: scale(0.9); } 39.61%, 49.79% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-9 { 0%, 43.99%, 49.8%, 100% { opacity: 0; transform: scale(0.9); } 44.5%, 49.79% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-10 { 0%, 55.96%, 100% { opacity: 0; transform: scale(0.9); } 56.47%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-11 { 0%, 61.93%, 100% { opacity: 0; transform: scale(0.9); } 62.44%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-12 { 0%, 67.9%, 100% { opacity: 0; transform: scale(0.9); } 68.41%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-13 { 0%, 73.87%, 100% { opacity: 0; transform: scale(0.9); } 74.38%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-14 { 0%, 79.84%, 100% { opacity: 0; transform: scale(0.9); } 80.35%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-15 { 0%, 85.81%, 100% { opacity: 0; transform: scale(0.9); } 86.32%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-16 { 0%, 91.78%, 100% { opacity: 0; transform: scale(0.9); } 92.29%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-17 { 0%, 97.76%, 100% { opacity: 0; transform: scale(0.9); } 98.27%, 99.8% { opacity: 1; transform: scale(1); } }
@keyframes llm-word-18 { 0%, 93.5%, 98.5%, 100% { opacity: 0; transform: scale(0.9); } 94%, 98% { opacity: 1; transform: scale(1); } }

@keyframes conv-window-slide {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(40px, 0); }
  50% { transform: translate(40px, 36px); }
  75% { transform: translate(0, 36px); }
}

@keyframes pool-window-slide {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(24px, 0); }
  50% { transform: translate(24px, 24px); }
  75% { transform: translate(0, 24px); }
}
@keyframes image-conv-window-inference {
  0%, 16.66%, 58%, 74.66%, 100% { transform: translate(0, 0); }
  4.165%, 62.165% { transform: translate(40px, 0); }
  8.33%, 66.33% { transform: translate(40px, 36px); }
  12.495%, 70.495% { transform: translate(0, 36px); }
}

@keyframes image-pool-window-inference {
  0%, 16.66%, 58%, 74.66%, 100% { transform: translate(0, 0); }
  4.165%, 62.165% { transform: translate(24px, 0); }
  8.33%, 66.33% { transform: translate(24px, 24px); }
  12.495%, 70.495% { transform: translate(0, 24px); }
}



.reveal .knowledge-access-slide h2 {
  margin-bottom: 0.34em;
  font-size: 2.15em;
}

.reveal .knowledge-lead {
  width: 1400px;
  margin: 0 0 0.4em;
  color: var(--ink-2);
  font-size: 0.78em;
}

.reveal .knowledge-figure {
  width: 1500px;
  margin: 0 0 0 -50px;
}

.reveal .knowledge-figure svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  font-family: var(--r-main-font);
}

.reveal .access-panel {
  color: #1d5fa7;
}

.reveal .access-panel.partial-access {
  color: #6b7280;
}

.reveal .access-panel.io-access {
  color: #111111;
}

.reveal .access-card {
  fill: #f1f5ff;
  stroke: currentColor;
  stroke-width: 2.2;
}

.reveal .partial-access .access-card {
  fill: #f3f4f6;
}

.reveal .partial-access-note {
  fill: var(--ink-2);
  font-size: 16px;
  font-weight: 650;
}

.reveal .partial-access .transfer-signal {
  fill: var(--red);
  stroke: #ffffff;
  stroke-width: 2.5;
}

.reveal .io-access .access-card {
  fill: #f5f5f5;
}

.reveal .access-box-label {
  fill: currentColor;
  font-size: 16px;
  font-weight: 850;
  letter-spacing: 1.7px;
}

.reveal .access-heading {
  fill: currentColor;
  font-size: 30px;
  font-weight: 850;
  letter-spacing: 0.5px;
}

.reveal .access-copy {
  fill: var(--ink-2);
  font-size: 18px;
  font-weight: 600;
}

.reveal .access-node,
.reveal .access-model,
.reveal .access-chip {
  fill: #ffffff;
  stroke: currentColor;
  stroke-width: 1.7;
}

.reveal .black-method-zone {
  fill: #ffffff;
  stroke: #d1d5db;
  stroke-width: 1.4;
}

.reveal .black-method-heading {
  fill: currentColor;
  font-size: 14.5px;
  font-weight: 850;
  letter-spacing: 0.7px;
}

.reveal .access-model {
  fill: color-mix(in srgb, currentColor 8%, #ffffff);
}

.reveal .io-access .access-card {
  fill: #eef0f3;
  stroke: #111111;
}

.reveal .io-access .black-method-zone {
  fill: #ffffff;
  stroke: #7b818a;
  stroke-width: 1.8;
}

.reveal .io-access .access-node,
.reveal .io-access .access-model {
  fill: #ffffff;
  stroke: #111111;
  stroke-width: 1.9;
}

.reveal .io-access .access-node-label,
.reveal .io-access .black-method-heading {
  fill: #111111;
}

.reveal .io-access .access-mini {
  fill: #333f6a;
}

.reveal .target-model,
.reveal .black-target {
  stroke-dasharray: 6 4;
}

.reveal .access-node-label {
  fill: var(--ink);
  font-size: 14.5px;
  font-weight: 800;
  letter-spacing: 0.4px;
}

.reveal .access-mini {
  fill: var(--ink-2);
  font-size: 13.5px;
  font-weight: 600;
}

.reveal .access-neuron {
  fill: #ffffff;
  stroke: currentColor;
  stroke-width: 2;
  animation: access-neuron-pulse 2.4s ease-in-out infinite;
}

.reveal .access-neuron:nth-of-type(2) { animation-delay: 0.25s; }
.reveal .access-neuron:nth-of-type(3) { animation-delay: 0.5s; }
.reveal .access-neuron:nth-of-type(4) { animation-delay: 0.75s; }

.reveal .access-network,
.reveal .access-flow,
.reveal .transfer-flow,
.reveal .gradient-flow,
.reveal .black-transfer-flow,
.reveal .query-loop-flow {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.reveal .gradient-flow {
  stroke: var(--sky);
  stroke-dasharray: 7 5;
}

.reveal .transfer-flow,
.reveal .black-transfer-flow,
.reveal .query-loop-flow {
  stroke-dasharray: 8 6;
  animation: access-dash-flow 1.2s linear infinite;
}

.reveal .access-method,
.reveal .transfer-label {
  fill: currentColor;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.45px;
}

.reveal .transfer-label {
  font-size: 12.5px;
}

.reveal .access-signal,
.reveal .transfer-signal,
.reveal .query-loop-signal {
  fill: currentColor;
  stroke: #ffffff;
  stroke-width: 2;
}

.reveal .io-access .query-loop-flow,
.reveal .io-access .black-transfer-flow {
  stroke: #111111;
  stroke-width: 3.2;
}

.reveal .io-access .query-loop-signal,
.reveal .io-access .transfer-signal {
  fill: var(--red);
  stroke: #ffffff;
  stroke-width: 2.5;
}

.reveal .gradient-signal {
  fill: var(--sky);
  stroke: #ffffff;
  stroke-width: 2;
}

.reveal .full-access .access-signal,
.reveal .full-access .gradient-signal {
  fill: var(--red);
  stroke: #ffffff;
  stroke-width: 2.5;
}




@keyframes access-neuron-pulse {
  0%, 100% { fill: #ffffff; transform: scale(1); }
  50% { fill: currentColor; transform: scale(1.18); }
}

@keyframes access-dash-flow {
  to { stroke-dashoffset: -28; }
}


.reveal .scope-diagram { display: flex; align-items: center; justify-content: center; gap: 90px; min-height: 340px; }
.reveal .scope-person { display: grid; width: 300px; place-items: center; text-align: center; }
.reveal .sample-dot {
  display: grid;
  width: 90px;
  height: 90px;
  border: 3px solid var(--blue);
  border-radius: 50%;
  place-items: center;
  color: var(--blue);
  font-weight: 700;
}
.reveal .universal-field { position: relative; width: 340px; height: 250px; }
.reveal .universal-field i {
  position: absolute;
  width: 58px;
  height: 58px;
  border: 2px solid var(--line);
  border-radius: 12px;
  background: var(--surface-2);
}
.reveal .universal-field i:nth-child(1) { top: 16px; left: 20px; }
.reveal .universal-field i:nth-child(2) { top: 30px; left: 140px; }
.reveal .universal-field i:nth-child(3) { top: 10px; right: 18px; }
.reveal .universal-field i:nth-child(4) { bottom: 32px; left: 72px; }
.reveal .universal-field i:nth-child(5) { right: 68px; bottom: 18px; }
.reveal .universal-arrow { position: absolute; top: 92px; left: 145px; color: var(--red); font-size: 2.2em; font-style: normal; font-weight: 700; }



/* Page 12: chain-of-thought introduction and token-level decode */
.reveal .slides section.cot-theft-slide {
  text-align: left;
}

.reveal .cot-prefill-stage,
.reveal .cot-lower-grid,
.reveal .cot-references {
  width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

.reveal .cot-theft-slide h2 {
  font-size: 2.15em;
}

.reveal .cot-prefill-stage {
  height: 198px;
  margin-top: 0;
  margin-bottom: 8px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 7px 20px rgba(0, 15, 70, 0.06);
  overflow: hidden;
}

.reveal .cot-prefill-stage svg {
  display: block;
  width: 100%;
  height: 100%;
}

.reveal .cot-prefill-stage .architecture-heading {
  font-size: 17.5px;
}

.reveal .cot-prefill-stage .llm-prompt-panel .prompt-text {
  font-size: 15.5px;
  font-weight: 650;
}

.reveal .cot-prefill-stage .kv-cache-badge text {
  font-size: 11px;
}

.reveal .cot-prefill-stage .transformer-architecture > rect {
  animation: cot-transformer-pulse 14s ease-in-out infinite;
  animation-play-state: paused;
}

.reveal .cot-prefill-stage .qkv-matrix {
  animation: cot-matrix-pulse 14s ease-in-out infinite;
  animation-play-state: paused;
}
.reveal .cot-prefill-stage .network-backbone,
.reveal .cot-prefill-stage .matrix-arrow,
.reveal .cot-prefill-stage .matrix-grid {
  stroke-dasharray: 8 6;
  animation: cot-inference-line-flow 0.275s linear infinite;
  animation-play-state: paused;
}


.reveal .cot-theft-slide.cot-generating .cot-prefill-stage .transformer-architecture > rect,
.reveal .cot-theft-slide.cot-generating .cot-prefill-stage .qkv-matrix,
.reveal .cot-theft-slide.cot-generating .cot-prefill-stage .network-backbone,
.reveal .cot-theft-slide.cot-generating .cot-prefill-stage .matrix-arrow,
.reveal .cot-theft-slide.cot-generating .cot-prefill-stage .matrix-grid {
  animation-play-state: running;
}

.reveal .cot-prefill-stage .cot-logit-dynamic text {
  fill: var(--ink-2);
  font-size: 17px;
  font-weight: 700;
}

.reveal .cot-prefill-stage .cot-logit-dynamic rect {
  x: 875px;
  width: 64px;
  fill: var(--blue);
}

.reveal .cot-prefill-stage .cot-logit-dynamic rect.small-bar {
  x: 875px;
  width: 28px;
  fill: rgba(0, 15, 70, 0.42);
}

.reveal .cot-prefill-stage .cot-logit-dynamic rect.tiny-bar {
  x: 875px;
  width: 15px;
  fill: rgba(0, 15, 70, 0.2);
}

.reveal .cot-prefill-stage .cot-choice-current {
  fill: var(--ink);
  font-size: 18.5px;
  font-weight: 800;
}

.reveal .cot-prefill-stage .next-token-choice > rect {
  fill: rgba(0, 15, 70, 0.045);
  stroke: var(--blue);
  stroke-width: 2;
  animation: none;
}

.reveal .cot-prefill-stage .next-token-choice .architecture-heading {
  fill: var(--blue);
  font-size: 18px;
}

.reveal .cot-prefill-stage .cot-next-flow-divider {
  stroke: var(--line);
  stroke-width: 1;
}


.reveal .cot-prefill-stage .cot-next-down-arrow {
  fill: none;
  stroke: var(--blue);
  stroke-width: 3.5;
  stroke-linecap: round;
  filter: drop-shadow(0 2px 2px rgba(0, 15, 70, 0.18));
}

.reveal .cot-prefill-stage .cot-next-arrowhead {
  fill: var(--blue);
}


.reveal .cot-lower-grid {
  position: relative;
  display: grid;
  grid-template-columns: 760fr 640fr;
  min-height: 270px;
  margin-top: 8px;
}

.reveal .cot-api-card,
.reveal .cot-terminal {
  box-sizing: border-box;
  min-height: 258px;
  margin: 0;
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: 0 7px 18px rgba(0, 15, 70, 0.06);
}

.reveal .cot-api-card {
  padding: 12px 16px;
  border-radius: 0 0 0 14px;
  border-right-color: var(--line);
  background: var(--surface);
}

.reveal .cot-terminal {
  position: relative;
  left: -1px;
  width: calc(100% + 1px);
  padding: 12px 16px;
  border-radius: 0 0 14px 0;
}

.reveal .cot-terminal::before {
  content: "";
  position: absolute;
  left: -1px;
  top: -13px;
  height: 12px;
  border-left: 2px solid var(--blue);
}

.reveal .cot-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 0.54em;
  font-weight: 850;
  letter-spacing: 0.055em;
}

.reveal .cot-card-heading b {
  padding: 3px 7px;
  border-radius: 4px;
  background: rgba(0, 15, 70, 0.07);
  color: var(--blue);
  font-size: 0.84em;
  letter-spacing: 0.035em;
}

.reveal .cot-api-request-fields {
  margin-bottom: 7px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.reveal .cot-api-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--line);
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 0.44em;
  font-weight: 850;
  letter-spacing: 0.045em;
}

.reveal .cot-api-section-heading b {
  padding: 2px 5px;
  border-radius: 4px;
  background: rgba(0, 15, 70, 0.07);
  color: var(--blue);
  font-size: 0.84em;
  font-weight: 750;
}

.reveal .cot-api-field-row {
  display: grid;
  grid-template-columns: 0.8fr 1.05fr 1.35fr;
  gap: 8px;
  margin-top: 5px;
}

.reveal .cot-api-field-row span,
.reveal .cot-api-input-field {
  display: flex;
  align-items: baseline;
  gap: 5px;
  color: var(--ink-2);
  font-size: 0.4em;
  line-height: 1.15;
}

.reveal .cot-api-field-row strong,
.reveal .cot-api-input-field strong {
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 0.9em;
  font-weight: 850;
}

.reveal .cot-api-field-row code,
.reveal .cot-api-input-field code {
  color: #003c55;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 1em;
}

.reveal .cot-api-field-row span:last-child code {
  color: #745b00;
  font-weight: 800;
}

.reveal .cot-api-input-field {
  margin-top: 5px;
  padding-top: 4px;
  border-top: 1px solid rgba(106, 126, 143, 0.18);
  font-size: 0.42em;
}

.reveal .cot-json-pane {
  box-sizing: border-box;
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue);
  border-radius: 8px;
  background: var(--surface);
}
.reveal .cot-json-response {
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 240ms ease, transform 240ms ease, visibility 0s linear 240ms;
}

.reveal .cot-json-response.is-visible {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s;
}

.reveal .cot-json-response .cot-api-section-heading b {
  background: rgba(0, 15, 70, 0.07);
  color: var(--blue);
}

.reveal .cot-json-pane pre {
  margin: 4px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  white-space: pre;
}

.reveal .cot-json-pane code {
  display: block;
  color: var(--ink-2);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.44em;
  line-height: 1.05;
  white-space: pre;
}

.reveal .cot-json-key {
  color: #73234b;
}

.reveal .cot-json-string {
  color: #003c55;
}

.reveal .cot-json-encrypted-line {
  display: inline-block;
  border-radius: 3px;
  background: rgba(0, 15, 70, 0.07);
  box-shadow: 0 0 0 2px rgba(0, 15, 70, 0.07);
}

.reveal .cot-terminal code {
  display: block;
  color: var(--ink-2);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.58em;
  line-height: 1.22;
  white-space: nowrap;
}

.reveal .cot-stream-line {
  display: block;
  min-height: 1.3em;
}

.reveal .cot-stream-indent {
  padding-left: 1.05em;
}

.reveal .cot-stream-tag {
  color: var(--blue);
  font-weight: 800;
}

.reveal .cot-stream-answer {
  box-sizing: border-box;
  width: 100%;
  margin-top: 5px;
  padding: 4px 7px;
  border-left: 3px solid transparent;
  color: transparent;
  font-family: var(--r-main-font);
  font-weight: 700;
  transition: color 50ms ease, background 50ms ease, border-color 50ms ease;
}

.reveal .cot-stream-answer.is-visible {
  border-left-color: var(--blue);
  background: rgba(0, 15, 70, 0.045);
  color: var(--ink);
}

.reveal .cot-stream-token {
  opacity: 0;
  transition: opacity 45ms linear, background 45ms linear;
}

.reveal .cot-stream-token.is-visible {
  opacity: 1;
}

.reveal .cot-stream-token.is-current {
  border-radius: 2px;
  background: rgba(71, 200, 240, 0.18);
  box-shadow: 0 0 0 2px rgba(71, 200, 240, 0.18);
  color: var(--blue);
  animation: cot-current-token-pulse 260ms ease-in-out;
}

.reveal .cot-stream-token.is-current::after {
  display: inline-block;
  width: 2px;
  height: 1em;
  margin-left: 2px;
  background: var(--blue);
  vertical-align: -0.14em;
  animation: cot-token-cursor 350ms steps(1, end) infinite;
  content: "";
}

.reveal .cot-encryption-arrow {
  position: absolute;
  z-index: 4;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  visibility: hidden;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
  pointer-events: none;
}

.reveal .cot-encryption-arrow.is-visible {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s;
}

.reveal .cot-encryption-path {
  fill: none;
  stroke: var(--blue);
  stroke-width: 2.5;
  stroke-dasharray: 8 6;
}

.reveal .cot-encryption-arrow.is-visible .cot-encryption-path {
  animation: cot-encryption-flow 1.8s linear 1;
}

.reveal .cot-encryption-arrow marker path {
  fill: var(--blue);
}

.reveal .cot-encryption-arrow text {
  fill: var(--blue);
  font-family: var(--r-main-font);
  font-size: 14.5px;
  font-weight: 850;
  letter-spacing: 0.06em;
}


.reveal .cot-references {
  position: absolute;
  right: 150px;
  bottom: 10px;
  z-index: 4;
  display: grid;
  width: 1400px;
  margin: 0;
  gap: 2px;
  box-sizing: border-box;
}

.reveal .cot-references a {
  display: block;
  border-bottom: 1px solid rgba(0, 15, 70, 0.28);
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  text-align: right;
  text-decoration: none;
}

.reveal .apa-reference {
  width: 1400px;
  max-width: none;
  box-sizing: border-box;
}

.reveal .apa-reference,
.reveal .cot-references a {
  padding-left: 1.25em;
  text-align: left;
  text-indent: -1.25em;
}
.reveal .apa-reference .apa-line {
  display: block;
}


.reveal .cot-references a:hover {
  color: var(--blue);
  border-bottom-color: var(--blue);
}


.reveal .slides section.cot-encryption-slide {
  text-align: left;
}

.reveal .cot-encryption-slide h2 {
  font-size: 2.15em;
}
.reveal .cot-encryption-slide .objective-lead {
  font-size: 0.82em;
}


.reveal .cot-encryption-bullets {
  width: 1400px;
  margin: 0.78em auto 0;
  padding: 0 0 0 1.15em;
  border-top: 1px solid var(--line);
  list-style: disc;
}

.reveal .cot-encryption-bullets li {
  margin: 0;
  padding: 0.62em 0.35em 0.62em 0.2em;
  border-bottom: 1px solid var(--line);
  color: var(--ink-2);
  font-size: 0.98em;
  line-height: 1.28;
}

.reveal .cot-encryption-bullets li::marker {
  color: var(--sky);
  font-size: 1.2em;
}

.reveal .cot-encryption-bullets strong {
  color: var(--blue);
  font-weight: 800;
}

.reveal .cot-encryption-bullets sup {
  color: var(--blue);
  font-size: 0.7em;
  vertical-align: super;
}

.reveal .cot-encryption-footnote {
  display: block;
  box-sizing: border-box;
  width: 1400px;
  margin: 0.72em auto 0;
  padding-top: 0.48em;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--blue);
  font-size: 0.48em;
  font-weight: 600;
  line-height: 1.32;
}

.reveal .cot-encryption-footnote sup,
.reveal .cot-encryption-footnote strong {
  color: var(--blue);
  font-weight: 750;
}

@keyframes cot-current-token-pulse {
  0% { transform: translateY(1px) scale(0.92); }
  55% { transform: translateY(0) scale(1.07); }
  100% { transform: translateY(0) scale(1); }
}

@keyframes cot-token-cursor {
  0%, 48% { opacity: 1; }
  49%, 100% { opacity: 0; }
}

@keyframes cot-encryption-flow {
  to { stroke-dashoffset: 28; }
}
@keyframes cot-inference-line-flow {
  to { stroke-dashoffset: -28; }
}


@keyframes cot-transformer-pulse {
  0%, 100% { stroke: var(--blue); }
  45% { stroke: var(--sky); }
  72% { stroke: var(--blue); }
}

@keyframes cot-matrix-pulse {
  0%, 100% { filter: brightness(1) saturate(1); }
  45% { filter: brightness(1.05) saturate(1.2); }
  72% { filter: brightness(0.98) saturate(1.35); }
}


/* Pages 17-31: paper explainer */
.reveal .slides section.paper-study-slide {
  text-align: left;
}

.reveal .paper-study-slide h2 {
  max-width: 1380px;
  margin-bottom: 0.22em;
  font-size: 2.05em;
  line-height: 1.04;
}

.reveal .paper-title-slide h2 {
  max-width: 1260px;
  font-size: 1.92em;
}
.reveal .case-study-intro-slide h2 {
  max-width: 1400px;
  font-size: 2.05em;
}
.reveal .case-study-intro-slide .case-title-line {
  display: block;
  white-space: nowrap;
}



.reveal .case-study-state-figure {
  width: 1400px;
  height: 430px;
  margin: 0 auto;
}

.reveal .case-study-state-figure svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  font-family: var(--r-main-font);
}

.reveal .case-figure-surface {
  fill: var(--surface-2);
  stroke: var(--line);
  stroke-width: 1.5;
}

.reveal .case-device-shell {
  fill: var(--surface);
  stroke: var(--line);
  stroke-width: 2;
}

.reveal .case-terminal-bar,
.reveal .case-terminal-bar-mask {
  fill: var(--navy);
}

.reveal .case-server-bar,
.reveal .case-inference-server .case-terminal-bar-mask {
  fill: var(--blue);
}

.reveal .case-panel-kicker {
  fill: #ffffff;
  font-size: 16px;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.reveal .case-tui-muted,
.reveal .case-tui-system,
.reveal .case-tui-user,
.reveal .case-tui-assistant,
.reveal .case-tui-tool,
.reveal .case-tui-code,
.reveal .case-tui-thinking,
.reveal .case-json-copy,
.reveal .case-json-secret,
.reveal .case-thinking-tag,
.reveal .case-thinking-copy,
.reveal .case-thinking-tool {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.reveal .case-tui-muted {
  fill: var(--ink-2);
  font-size: 16px;
  font-weight: 700;
}

.reveal .case-tui-system {
  fill: var(--muted);
  font-size: 14px;
  font-weight: 650;
}

.reveal .case-tui-user {
  fill: var(--blue);
  font-size: 16px;
  font-weight: 800;
}

.reveal .case-tui-assistant {
  fill: var(--ink);
  font-size: 15px;
  font-weight: 800;
}
.reveal .case-tui-tool {
  fill: var(--ink-2);
  font-size: 14px;
  font-weight: 650;
}
.reveal .case-tui-code,
.reveal .case-thinking-tool {
  fill: var(--ink-2);
  font-size: 13.5px;
  font-weight: 700;
}

.reveal .case-syntax-command {
  fill: #c33786;
}

.reveal .case-syntax-flag {
  fill: var(--muted);
}

.reveal .case-syntax-string {
  fill: #4b9b59;
}

.reveal .case-syntax-type {
  fill: #b14f87;
}

.reveal .case-syntax-path {
  fill: #398a9f;
}

.reveal .case-syntax-key {
  fill: var(--blue);
}

.reveal .case-question-word {
  opacity: 0;
  animation-duration: 28s;
  animation-timing-function: linear;
  animation-fill-mode: both;
}

.reveal .case-qw-0 { animation-name: case-qw-0; }
.reveal .case-qw-1 { animation-name: case-qw-1; }
.reveal .case-qw-2 { animation-name: case-qw-2; }
.reveal .case-qw-3 { animation-name: case-qw-3; }
.reveal .case-qw-4 { animation-name: case-qw-4; }
.reveal .case-qw-5 { animation-name: case-qw-5; }
.reveal .case-qw-6 { animation-name: case-qw-6; }
.reveal .case-qw-7 { animation-name: case-qw-7; }
.reveal .case-qw-8 { animation-name: case-qw-8; }
.reveal .case-qw-9 { animation-name: case-qw-9; }
.reveal .case-qw-10 { animation-name: case-qw-10; }

.reveal .case-tui-waiting {
  opacity: 0;
  animation: case-tui-waiting 28s linear both;
}

.reveal .case-tui-thinking,
.reveal .case-thinking-dot {
  fill: var(--blue);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 14px;
  font-weight: 800;
}

.reveal .case-thinking-dot {
  animation: case-thinking-dot 0.9s steps(1, end) infinite;
}

.reveal .case-thinking-dot-2 {
  animation-delay: 0.3s;
}

.reveal .case-thinking-dot-3 {
  animation-delay: 0.6s;
}

.reveal .case-tui-next-request {
  opacity: 0;
  animation: case-tui-request-reveal 28s linear both;
}

.reveal .case-request-json-icon,
.reveal .case-response-json-icon {
  transform-box: fill-box;
  transform-origin: center;
}

.reveal .case-request-json-icon {
  opacity: 0;
  animation: case-request-json-icon 28s linear both;
}

.reveal .case-response-json-icon {
  opacity: 0;
  animation: case-response-json-icon 28s linear both;
}

.reveal :is(.case-request-json-icon, .case-response-json-icon) rect {
  fill: #ffffff;
  stroke: var(--blue);
  stroke-width: 2;
}

.reveal :is(.case-request-json-icon, .case-response-json-icon) path {
  fill: none;
  stroke: var(--blue);
  stroke-width: 1.5;
}

.reveal :is(.case-request-json-icon, .case-response-json-icon) text {
  fill: var(--blue);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 850;
}

.reveal .case-json-title,
.reveal .case-context-label,
.reveal .case-stage-label {
  fill: var(--blue);
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.055em;
}

.reveal .case-json-copy {
  fill: var(--ink-2);
  font-size: 13.5px;
  font-weight: 650;
}

.reveal .case-json-secret {
  fill: #6a3aa8;
  font-size: 13.5px;
  font-weight: 800;
}

.reveal .case-tui-response {
  opacity: 0;
  animation: case-tui-response-reveal 28s linear both;
}

.reveal .case-tui-read-hit {
  fill: rgba(247, 200, 37, 0.42);
  stroke: none;
  opacity: 0;
  animation: case-tui-read-hit 28s linear both;
}

.reveal .case-tui-code-1,
.reveal .case-tui-code-2,
.reveal .case-tui-code-3,
.reveal .case-tui-code-4,
.reveal .case-tui-code-5 {
  opacity: 0;
}

.reveal .case-tui-code-1 { animation: case-tui-code-1 28s linear both; }
.reveal .case-tui-code-2 { animation: case-tui-code-2 28s linear both; }
.reveal .case-tui-code-3 { animation: case-tui-code-3 28s linear both; }
.reveal .case-tui-code-4 { animation: case-tui-code-4 28s linear both; }
.reveal .case-tui-code-5 { animation: case-tui-code-5 28s linear both; }

.reveal .case-route-base {
  fill: none;
  stroke: rgba(106, 126, 143, 0.32);
  stroke-width: 3;
}

.reveal #case-request-arrowhead path {
  fill: var(--sky);
}

.reveal #case-response-arrowhead path {
  fill: var(--blue);
}

.reveal .case-route-label {
  fill: var(--ink-2);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.06em;
}

.reveal .case-request-route,
.reveal .case-response-route {
  fill: none;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 12 9;
}

.reveal .case-request-route {
  opacity: 0;
  stroke: var(--sky);
  animation: case-request-route 28s linear both;
}

.reveal .case-response-route {
  opacity: 0;
  stroke: var(--blue);
  animation: case-response-route 28s linear both;
}

.reveal .case-decrypt-mosaic,
.reveal .case-encrypt-mosaic {
  pointer-events: none;
  opacity: 0;
}

.reveal .case-decrypt-mosaic {
  animation: case-decrypt-mosaic-window 28s linear both;
}

.reveal .case-encrypt-mosaic {
  animation: case-encrypt-mosaic-window 28s linear both;
}

.reveal :is(.case-decrypt-mosaic, .case-encrypt-mosaic) rect {
  stroke: rgba(255, 255, 255, 0.78);
  stroke-width: 1;
  animation: case-mosaic-tile 0.32s steps(1, end) infinite;
}

.reveal :is(.case-decrypt-mosaic, .case-encrypt-mosaic) rect:nth-child(3n + 1) {
  animation-delay: -0.08s;
}

.reveal :is(.case-decrypt-mosaic, .case-encrypt-mosaic) rect:nth-child(3n + 2) {
  animation-delay: -0.17s;
}

.reveal :is(.case-decrypt-mosaic, .case-encrypt-mosaic) rect:nth-child(3n) {
  animation-delay: -0.25s;
}

.reveal :is(
  .case-server-encrypted-json,
  .case-server-decrypted-json,
  .case-current-thinking,
  .case-server-return-json,
  .case-encrypted-result
) > rect {
  fill: var(--surface-2);
  stroke: var(--line);
  stroke-width: 1.5;
}

.reveal .case-server-encrypted-json,
.reveal .case-server-decrypted-json,
.reveal .case-current-thinking,
.reveal .case-server-return-json,
.reveal .case-encrypted-result {
  opacity: 0;
}

.reveal .case-server-encrypted-json {
  animation: case-server-encrypted-json 28s linear both;
}

.reveal .case-server-decrypted-json {
  animation: case-server-decrypted-json 28s linear both;
}

.reveal .case-current-thinking {
  animation: case-current-thinking-shell 28s linear both;
}

.reveal .case-current-thinking > rect {
  fill: rgba(128, 80, 220, 0.05);
  stroke: var(--purple);
}

.reveal .case-server-return-json {
  animation: case-server-return-json 28s linear both;
}

.reveal .case-encrypted-result {
  animation: case-encrypted-result-reveal 28s linear both;
}

.reveal .case-encrypted-result > rect {
  fill: rgba(128, 80, 220, 0.08);
  stroke: var(--purple);
}

.reveal .case-stage-copy,
.reveal .case-memory-note {
  fill: var(--muted);
  font-size: 12.5px;
  font-weight: 650;
}

.reveal .case-decode-scroll {
  animation: case-decode-scroll 28s linear both;
}

.reveal .case-thinking-tag {
  fill: var(--blue);
  font-size: 13px;
  font-weight: 850;
}

.reveal .case-thinking-copy {
  fill: var(--ink-2);
  font-size: 12.5px;
  font-weight: 650;
}

.reveal .case-thinking-line-1 {
  opacity: 0;
  animation: case-thinking-line-1 28s linear both;
}

.reveal .case-thinking-line-2 {
  opacity: 0;
  animation: case-thinking-line-2 28s linear both;
}

.reveal .case-thinking-line-3 {
  opacity: 0;
  animation: case-thinking-line-3 28s linear both;
}

.reveal .case-thinking-close {
  opacity: 0;
  animation: case-thinking-close 28s linear both;
}

.reveal .case-thinking-tool {
  opacity: 0;
  animation: case-thinking-tool 28s linear both;
}

.reveal .case-figure-caption {
  fill: var(--ink-2);
  font-size: 14.5px;
  font-weight: 750;
}

@keyframes case-tui-request-reveal {
  0% { opacity: 0; }
  0.4%, 100% { opacity: 1; }
}

@keyframes case-qw-0 {
  0% { opacity: 0; }
  0.2%, 100% { opacity: 1; }
}
@keyframes case-qw-1 {
  0%, 0.79% { opacity: 0; }
  0.85%, 100% { opacity: 1; }
}
@keyframes case-qw-2 {
  0%, 1.57% { opacity: 0; }
  1.63%, 100% { opacity: 1; }
}
@keyframes case-qw-3 {
  0%, 2.36% { opacity: 0; }
  2.42%, 100% { opacity: 1; }
}
@keyframes case-qw-4 {
  0%, 3.14% { opacity: 0; }
  3.2%, 100% { opacity: 1; }
}
@keyframes case-qw-5 {
  0%, 3.93% { opacity: 0; }
  3.99%, 100% { opacity: 1; }
}
@keyframes case-qw-6 {
  0%, 4.71% { opacity: 0; }
  4.77%, 100% { opacity: 1; }
}
@keyframes case-qw-7 {
  0%, 5.5% { opacity: 0; }
  5.56%, 100% { opacity: 1; }
}
@keyframes case-qw-8 {
  0%, 6.29% { opacity: 0; }
  6.35%, 100% { opacity: 1; }
}
@keyframes case-qw-9 {
  0%, 7.07% { opacity: 0; }
  7.13%, 100% { opacity: 1; }
}
@keyframes case-qw-10 {
  0%, 7.86% { opacity: 0; }
  7.92%, 100% { opacity: 1; }
}

@keyframes case-tui-waiting {
  0%, 14.4% { opacity: 0; }
  14.6%, 91.8% { opacity: 1; }
  92.6%, 100% { opacity: 0; }
}

@keyframes case-thinking-dot {
  0%, 32%, 100% { opacity: 0.2; }
  33%, 66% { opacity: 1; }
  67%, 99% { opacity: 0.5; }
}

@keyframes case-request-json-icon {
  0%, 14.8% { opacity: 0; transform: translateX(0) scale(0.92); }
  15.2% { opacity: 1; transform: translateX(0) scale(1); }
  18.4% { opacity: 1; transform: translateX(330px) scale(1); }
  18.9%, 100% { opacity: 0; transform: translateX(330px) scale(0.92); }
}

@keyframes case-response-json-icon {
  0%, 87.6% { opacity: 0; transform: translateX(0) scale(0.92); }
  88.2% { opacity: 1; transform: translateX(0) scale(1); }
  91.6% { opacity: 1; transform: translateX(-350px) scale(1); }
  92.4%, 100% { opacity: 0; transform: translateX(-350px) scale(0.92); }
}

@keyframes case-request-route {
  0%, 14.8% { opacity: 0; stroke-dashoffset: 0; }
  15.2% { opacity: 1; }
  18.4% { opacity: 1; stroke-dashoffset: -120px; }
  18.9%, 100% { opacity: 0; stroke-dashoffset: -120px; }
}

@keyframes case-response-route {
  0%, 87.6% { opacity: 0; stroke-dashoffset: 0; }
  88.2% { opacity: 1; }
  91.6% { opacity: 1; stroke-dashoffset: 100px; }
  92.4%, 100% { opacity: 0; stroke-dashoffset: 100px; }
}

@keyframes case-server-encrypted-json {
  0%, 18.6% { opacity: 0; }
  19.1%, 30.4% { opacity: 1; }
  31.5%, 100% { opacity: 0; }
}

@keyframes case-decrypt-mosaic-window {
  0%, 31.6% { opacity: 0; }
  32.3%, 36.8% { opacity: 0.96; }
  38%, 100% { opacity: 0; }
}

@keyframes case-mosaic-tile {
  0%, 100% { fill: #d4d4d7; }
  25% { fill: #303036; }
  50% { fill: #85858c; }
  75% { fill: #f0f0f2; }
}

@keyframes case-server-decrypted-json {
  0%, 38.2% { opacity: 0; }
  39.2%, 43.4% { opacity: 1; }
  44.4%, 100% { opacity: 0; }
}

@keyframes case-current-thinking-shell {
  0%, 44.6% { opacity: 0; }
  45.4%, 64.4% { opacity: 1; }
  65.3%, 100% { opacity: 0; }
}

@keyframes case-decode-scroll {
  0%, 52% { transform: translateY(0); }
  62%, 100% { transform: translateY(-64px); }
}

@keyframes case-thinking-line-1 {
  0%, 48% { opacity: 0; }
  48.8%, 100% { opacity: 1; }
}

@keyframes case-thinking-line-2 {
  0%, 52% { opacity: 0; }
  52.8%, 100% { opacity: 1; }
}

@keyframes case-thinking-line-3 {
  0%, 56% { opacity: 0; }
  56.8%, 100% { opacity: 1; }
}

@keyframes case-thinking-close {
  0%, 59% { opacity: 0; }
  59.8%, 100% { opacity: 1; }
}

@keyframes case-thinking-tool {
  0%, 61% { opacity: 0; }
  61.8%, 100% { opacity: 1; }
}

@keyframes case-server-return-json {
  0%, 65.5% { opacity: 0; }
  66.4%, 78.8% { opacity: 1; }
  80.2%, 100% { opacity: 0; }
}

@keyframes case-encrypt-mosaic-window {
  0%, 80.4% { opacity: 0; }
  81.2%, 85.5% { opacity: 0.96; }
  86.6%, 100% { opacity: 0; }
}

@keyframes case-encrypted-result-reveal {
  0%, 87% { opacity: 0; }
  88.2%, 100% { opacity: 1; }
}

@keyframes case-tui-response-reveal {
  0%, 92.8% { opacity: 0; }
  93.6%, 100% { opacity: 1; }
}

@keyframes case-tui-read-hit {
  0%, 93.8% { opacity: 0; }
  94.4%, 96.2% { opacity: 1; }
  97.2%, 100% { opacity: 0.28; }
}

@keyframes case-tui-code-1 {
  0%, 94.6% { opacity: 0; }
  95.2%, 100% { opacity: 1; }
}

@keyframes case-tui-code-2 {
  0%, 95.4% { opacity: 0; }
  96%, 100% { opacity: 1; }
}

@keyframes case-tui-code-3 {
  0%, 96.2% { opacity: 0; }
  96.8%, 100% { opacity: 1; }
}

@keyframes case-tui-code-4 {
  0%, 97% { opacity: 0; }
  97.6%, 100% { opacity: 1; }
}

@keyframes case-tui-code-5 {
  0%, 97.8% { opacity: 0; }
  98.4%, 100% { opacity: 1; }
}


.reveal .paper-study-lead {
  width: 1400px;
  margin: 0 0 0.62em;
  color: var(--ink-2);
  font-size: 0.68em;
  line-height: 1.35;
}

.reveal .paper-study-reference {
  position: absolute;
  right: 150px;
  bottom: 10px;
  z-index: 4;
  display: block;
  width: 1400px;
  max-width: none;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(0, 15, 70, 0.28);
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
}

.reveal .paper-study-reference:hover,
.reveal .paper-study-reference:focus {
  border-bottom-color: var(--blue);
}

.reveal .paper-hero {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 22px;
  width: 1400px;
  margin-top: 0.55em;
}

.reveal .paper-hero-copy,
.reveal .paper-hero-mark {
  min-height: 210px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 8px 22px rgba(0, 15, 70, 0.06);
}

.reveal .paper-hero-copy {
  padding: 30px 34px;
  border-top: 4px solid var(--blue);
}

.reveal .paper-eyebrow {
  color: var(--blue);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.reveal .paper-hero-copy p {
  margin: 18px 0 0;
  color: var(--ink-2);
  font-size: 27px;
  line-height: 1.34;
}

.reveal .paper-hero-copy strong {
  color: var(--blue);
}

.reveal .paper-hero-mark {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;
  padding: 28px;
  border-top: 4px solid var(--red);
  background:
    linear-gradient(115deg, rgba(71, 200, 240, 0.08), transparent 48%),
    var(--surface);
}

.reveal .paper-lock,
.reveal .paper-plaintext {
  display: grid;
  min-height: 116px;
  padding: 20px;
  border: 2px solid var(--blue);
  border-radius: 14px;
  color: var(--blue);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-align: center;
  place-items: center;
}

.reveal .paper-lock {
  border-style: dashed;
  background: repeating-linear-gradient(135deg, rgba(0, 15, 70, 0.035) 0 9px, transparent 9px 18px);
}

.reveal .paper-plaintext {
  border-color: var(--red);
  color: var(--red);
  background: rgba(255, 71, 86, 0.055);
}

.reveal .paper-hero-arrow,
.reveal .paper-flow-arrow {
  color: var(--sky);
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.reveal .paper-metric-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 1400px;
  margin-top: 20px;
  border-top: 1px solid var(--blue);
  border-bottom: 1px solid var(--line);
}

.reveal .paper-metric-strip > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: baseline;
  min-height: 84px;
  padding: 14px 24px;
  box-sizing: border-box;
  border-right: 1px solid var(--line);
}

.reveal .paper-metric-strip > div:last-child {
  border-right: 0;
}

.reveal .paper-metric-strip strong {
  color: var(--blue);
  font-size: 34px;
  font-weight: 850;
}

.reveal .paper-metric-strip span {
  color: var(--ink-2);
  font-size: 18px;
  font-weight: 650;
}

.reveal .reasoning-state-flow {
  display: grid;
  grid-template-columns: 1fr 38px 1fr 38px 1fr 38px 1fr;
  gap: 8px;
  align-items: stretch;
  width: 1400px;
}

.reveal .paper-flow-node {
  position: relative;
  min-height: 178px;
  padding: 24px 22px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 14px;
  background: var(--surface);
}

.reveal .paper-flow-node.paper-flow-emphasis,
.reveal .paper-danger-node {
  border-top-color: var(--red) !important;
  background: linear-gradient(180deg, rgba(255, 71, 86, 0.05), var(--surface));
}

.reveal .paper-step {
  display: inline-grid;
  width: 30px;
  height: 30px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: var(--blue);
  color: var(--surface);
  font-size: 15px;
  font-weight: 850;
  place-items: center;
}

.reveal .paper-danger-node .paper-step,
.reveal .paper-flow-emphasis .paper-step {
  background: var(--red);
}

.reveal .paper-flow-node strong {
  display: block;
  color: var(--blue);
  font-size: 24px;
  line-height: 1.15;
}

.reveal .paper-flow-node small,
.reveal .paper-flow-node code {
  display: block;
  margin-top: 12px;
  color: var(--ink-2);
  font-size: 17px;
  line-height: 1.35;
}

.reveal .paper-flow-node code {
  color: #003c55;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 15px;
}

.reveal .reasoning-state-flow > .paper-flow-arrow {
  display: grid;
  place-items: center;
}

.reveal .paper-triad {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 1400px;
  margin-top: 18px;
}

.reveal .paper-triad article {
  min-height: 108px;
  padding: 18px 22px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-left: 4px solid var(--sky);
  border-radius: 12px;
  background: var(--surface-2);
}

.reveal .paper-triad .label,
.reveal .binding-card .label {
  display: block;
  color: var(--blue);
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.reveal .paper-triad p {
  margin: 10px 0 0;
  color: var(--ink-2);
  font-size: 18px;
  line-height: 1.3;
}

/* Page 19: shared family encryption */
.reveal .family-crypto-slide h2 {
  max-width: 1400px;
}

.reveal .family-crypto-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  width: 1400px;
}

.reveal .family-crypto-grid article {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 430px;
  padding: 26px 28px 22px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 15px;
  background: var(--surface);
}

.reveal .family-crypto-grid header {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.reveal .family-crypto-icon {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.reveal .family-crypto-grid h3 {
  margin: 0;
  color: var(--blue);
  font-size: 30px;
  font-weight: 650;
  line-height: 1.1;
}

.reveal .family-crypto-grid ul {
  display: grid;
  align-content: start;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.reveal .family-crypto-grid li {
  position: relative;
  margin: 0;
  padding: 13px 0 13px 18px;
  border-bottom: 1px solid var(--line);
  color: var(--ink-2);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
}

.reveal .family-crypto-grid li::before {
  position: absolute;
  top: 1.22em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sky);
  content: "";
}

.reveal .family-crypto-grid li:last-child {
  border-bottom: 0;
}

.reveal .family-crypto-more {
  color: var(--muted);
  letter-spacing: 0.16em;
}


.reveal .paper-insight {
  width: 1400px;
  margin-top: 18px;
  padding: 16px 22px;
  box-sizing: border-box;
  border-left: 4px solid var(--sky);
  background: rgba(71, 200, 240, 0.07);
  color: var(--ink-2);
  font-size: 18px;
  line-height: 1.3;
}

.reveal .paper-insight.red {
  border-left-color: var(--red);
  background: rgba(255, 71, 86, 0.06);
}

.reveal .paper-insight.yellow {
  border-left-color: var(--yellow);
  background: rgba(247, 200, 37, 0.08);
}

.reveal .paper-insight strong {
  color: var(--blue);
}

.reveal .binding-comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: 1400px;
}

.reveal .binding-card {
  min-height: 275px;
  padding: 26px 30px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 15px;
  background: var(--surface);
}

.reveal .binding-card.binding-missing {
  border-top-color: var(--red);
}

.reveal .binding-token {
  display: inline-block;
  margin: 22px 8px 0 0;
  padding: 9px 13px;
  border: 1px solid rgba(0, 15, 70, 0.2);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--blue);
  font-size: 17px;
  font-weight: 700;
}

.reveal .binding-missing .binding-token {
  border-color: rgba(255, 71, 86, 0.32);
  color: var(--red);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}

.reveal .binding-card p {
  margin: 26px 0 0;
  color: var(--ink-2);
  font-size: 21px;
  line-height: 1.35;
}

.reveal .compatibility-ladder {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 1400px;
  margin-top: 18px;
  border-top: 1px solid var(--blue);
  border-bottom: 1px solid var(--line);
}

.reveal .compatibility-ladder > div {
  min-height: 92px;
  padding: 17px 22px;
  box-sizing: border-box;
  border-right: 1px solid var(--line);
}

.reveal .compatibility-ladder > div:last-child {
  border-right: 0;
}

.reveal .compatibility-ladder strong,
.reveal .compatibility-ladder span {
  display: block;
}

.reveal .compatibility-ladder strong {
  color: var(--blue);
  font-size: 20px;
}

.reveal .compatibility-ladder span {
  margin-top: 7px;
  color: var(--muted);
  font-size: 16px;
}

.reveal .paper-actor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: 1400px;
}

.reveal .paper-actor-grid article {
  min-height: 360px;
  padding: 28px 32px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 15px;
  background: var(--surface);
}

.reveal .paper-actor-grid article:last-child {
  border-top-color: var(--red);
}

.reveal .paper-actor-tag {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(71, 200, 240, 0.13);
  color: var(--blue);
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.reveal .paper-actor-tag.coral {
  background: rgba(255, 71, 86, 0.1);
  color: var(--red);
}

.reveal .paper-actor-grid h3 {
  margin: 18px 0 12px;
  color: var(--blue);
  font-size: 30px;
}

.reveal .paper-actor-grid ul {
  margin: 0;
  padding-left: 1.1em;
}

.reveal .paper-actor-grid li {
  margin: 13px 0;
  color: var(--ink-2);
  font-size: 21px;
  line-height: 1.32;
}


/* Page 23: prompt anatomy */
.reveal .prompt-anatomy-slide {
  padding-bottom: 48px;
}

.reveal .prompt-anatomy-slide .kicker {
  margin-bottom: 0.14em;
}

.reveal .prompt-anatomy-slide h2 {
  max-width: 1400px;
  margin-bottom: 0.16em;
  font-size: 1.52em;
  line-height: 1.08;
}

.reveal .prompt-anatomy-slide .paper-study-lead {
  margin-bottom: 0.28em;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-figure {
  width: 1400px;
  height: 500px;
  margin: 0 auto;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-figure svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  font-family: var(--r-main-font);
}

.reveal .prompt-anatomy-slide .prompt-anatomy-role {
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-role-user {
  fill: var(--red);
}

.reveal .prompt-anatomy-slide .prompt-anatomy-role-assistant {
  fill: var(--blue);
}

.reveal .prompt-anatomy-slide .prompt-anatomy-user-box {
  fill: rgba(255, 71, 86, 0.06);
  stroke: var(--red);
  stroke-width: 2;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-assistant-box {
  fill: var(--surface-2);
  stroke: var(--blue);
  stroke-width: 1.5;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-layer {
  fill: var(--surface-2);
  stroke: var(--line);
  stroke-width: 1.5;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-layer-user {
  fill: rgba(255, 71, 86, 0.06);
  stroke: var(--red);
  stroke-width: 2;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-layer-title {
  fill: var(--blue);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.05em;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-layer-title-user {
  fill: var(--red);
}

.reveal .prompt-anatomy-slide .prompt-anatomy-layer-copy {
  fill: var(--ink-2);
  font-size: 14px;
  font-weight: 650;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-sys-source {
  fill: var(--muted);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.04em;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-sys-prompt {
  fill: var(--ink);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  font-weight: 650;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-sys-name {
  fill: var(--blue);
  font-weight: 800;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-sys-role {
  fill: #003c55;
  font-weight: 750;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-sys-deny {
  fill: var(--red);
  font-weight: 750;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-sys-note {
  fill: var(--muted);
  font-size: 10px;
  font-weight: 600;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-brace {
  fill: none;
  stroke: var(--sky);
  stroke-width: 2.5;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-brace-label {
  fill: var(--sky);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.06em;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-llm-copy {
  fill: var(--ink-2);
  font-size: 16px;
  font-weight: 650;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-route {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3.5;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-route-user {
  stroke: var(--sky);
}

.reveal .prompt-anatomy-slide .prompt-anatomy-route-ctx {
  stroke: var(--sky);
  stroke-dasharray: 8 6;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-route-res {
  stroke: var(--blue);
}

.reveal .prompt-anatomy-slide .prompt-anatomy-route-label {
  fill: var(--ink-2);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.04em;
}

.reveal .prompt-anatomy-slide #prompt-anatomy-user-arrow path,
.reveal .prompt-anatomy-slide #prompt-anatomy-ctx-arrow path {
  fill: var(--sky);
}

.reveal .prompt-anatomy-slide #prompt-anatomy-res-arrow path {
  fill: var(--blue);
}

.reveal .prompt-anatomy-slide .prompt-anatomy-takeaway {
  width: 1400px;
  margin: 14px 0 0;
  color: var(--blue);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-insight {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  width: 1400px;
  margin: 10px 0 0;
  padding: 10px 16px;
  box-sizing: border-box;
  border-left: 4px solid var(--sky);
  background: rgba(71, 200, 240, 0.07);
  color: var(--ink-2);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}

.reveal .prompt-anatomy-slide .prompt-anatomy-insight span {
  color: var(--blue);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}


/* Page 24: JustAsk method */
.reveal .justask-method-slide {
  padding-bottom: 64px;
}

.reveal .justask-method-slide .kicker {
  margin-bottom: 0.14em;
}

.reveal .justask-method-slide h2 {
  max-width: 1400px;
  margin-bottom: 0.12em;
  font-size: 1.62em;
  line-height: 1.08;
}

.reveal .justask-method-slide .paper-study-lead {
  margin-bottom: 0.28em;
  font-size: 0.74em;
}

.reveal .justask-method-slide .justask-ask-figure {
  position: relative;
  display: grid;
  grid-template-columns: 44px 280px 76px 620px 1fr;
  grid-template-rows: 100px 70px 118px 26px 100px 26px 108px;
  grid-template-areas:
    "retry .     .    target ucb"
    "retry pool  .    chat   ucb"
    "retry pool  pick agent  ucb"
    "retry pool  pick d1     ucb"
    "retry pool  pick score  ucb"
    "retry pool  pick d2     ucb"
    "retry .     .    update ucb";
  width: 1400px;
  height: 548px;
}

.reveal .justask-method-slide .justask-arrows {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 1400px;
  height: 548px;
  overflow: visible;
  pointer-events: none;
}

.reveal .justask-method-slide .justask-arrow-solid {
  fill: none;
  stroke: var(--sky);
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-width: 3;
}

.reveal .justask-method-slide .justask-arrow-dash {
  fill: none;
  stroke: var(--sky);
  stroke-dasharray: 10 8;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-width: 3;
}

.reveal .justask-method-slide #justask-ask-ah path {
  fill: var(--sky);
}

.reveal .justask-method-slide .justask-arrow-label {
  fill: var(--sky);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.03em;
}

.reveal .justask-method-slide .justask-target { grid-area: target; }
.reveal .justask-method-slide .justask-chat { grid-area: chat; }
.reveal .justask-method-slide .justask-pool { grid-area: pool; }
.reveal .justask-method-slide .justask-pick { grid-area: pick; }
.reveal .justask-method-slide .justask-agent { grid-area: agent; }
.reveal .justask-method-slide .justask-d1 { grid-area: d1; }
.reveal .justask-method-slide .justask-score { grid-area: score; }
.reveal .justask-method-slide .justask-d2 { grid-area: d2; }
.reveal .justask-method-slide .justask-update { grid-area: update; }
.reveal .justask-method-slide .justask-retry { grid-area: retry; }
.reveal .justask-method-slide .justask-ucb { grid-area: ucb; }

.reveal .justask-method-slide .justask-node {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 0;
  padding: 14px 22px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 14px;
  background: var(--surface);
}

.reveal .justask-method-slide .justask-node strong {
  color: var(--blue);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
}

.reveal .justask-method-slide .justask-node p {
  margin: 6px 0 0;
  color: var(--ink-2);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.28;
}

.reveal .justask-method-slide .justask-target {
  border-top-color: var(--red);
  background: rgba(255, 71, 86, 0.05);
  text-align: center;
}

.reveal .justask-method-slide .justask-target strong {
  color: var(--red);
  font-size: 28px;
}

.reveal .justask-method-slide .justask-target p {
  color: var(--red);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 16px;
  letter-spacing: 0.04em;
}

.reveal .justask-method-slide .justask-agent {
  justify-items: center;
  border-top-color: var(--blue);
  background:
    linear-gradient(180deg, rgba(0, 15, 70, 0.06), var(--surface) 58%);
  text-align: center;
}

.reveal .justask-method-slide .justask-agent strong {
  font-size: 32px;
}

.reveal .justask-method-slide .justask-pool {
  align-content: start;
  padding: 12px 14px 10px;
  border-top-color: var(--sky);
}

.reveal .justask-method-slide .justask-pool strong {
  margin-bottom: 2px;
  font-size: 22px;
}

.reveal .justask-method-slide .justask-pool-meta {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.2;
}

.reveal .justask-method-slide .justask-pool-group + .justask-pool-group {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed var(--line);
}

.reveal .justask-method-slide .justask-pool-group span {
  display: block;
  color: var(--sky);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.reveal .justask-method-slide .justask-pool ul {
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}

.reveal .justask-method-slide .justask-pool li {
  margin: 0;
  padding: 3px 0;
  color: var(--blue);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.reveal .justask-method-slide .justask-score {
  border-top-color: var(--sky);
}

.reveal .justask-method-slide .justask-update {
  border-top-color: var(--red);
}

.reveal .justask-method-slide .justask-chat {
  position: relative;
  z-index: 2;
  display: grid;
  align-items: center;
  justify-items: end;
  padding: 0 20px 0 220px;
}

.reveal .justask-method-slide .justask-chat b {
  padding: 2px 8px;
  background: var(--surface);
  color: var(--sky);
  font-size: 18px;
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-align: right;
}

.reveal .justask-method-slide .justask-pick {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: start;
  justify-items: center;
  padding-top: 34px;
  pointer-events: none;
}

.reveal .justask-method-slide .justask-pick span {
  padding: 2px 7px;
  background: var(--surface);
  color: var(--sky);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.reveal .justask-method-slide .justask-retry {
  position: relative;
  z-index: 2;
}

.reveal .justask-method-slide .justask-retry span {
  position: absolute;
  left: 40px;
  bottom: 62px;
  z-index: 3;
  padding: 3px 8px;
  background: var(--surface);
  color: var(--sky);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.06em;
  line-height: 1.1;
  text-transform: uppercase;
  white-space: nowrap;
}

.reveal .justask-method-slide .justask-ucb {
  align-self: center;
  min-width: 0;
  margin-left: 12px;
  padding: 12px;
}

.reveal .justask-method-slide .justask-ucb-kicker {
  color: var(--blue);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.reveal .justask-method-slide .justask-ucb-equation {
  margin: 6px 0 8px;
  color: var(--blue);
  font-size: 0.84em;
  line-height: 1.15;
  text-align: center;
}

.reveal .justask-method-slide .justask-ucb-equation mjx-container {
  display: block;
  max-width: 100% !important;
  margin: 0.04em 0 0.06em !important;
}

.reveal .justask-method-slide .justask-ucb-equation mjx-container svg {
  max-width: 100%;
  height: auto;
}

.reveal .justask-method-slide .justask-ucb p {
  margin: 8px 0 0;
  padding: 6px 8px;
  border-left: 4px solid var(--blue);
  color: var(--ink-2);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.25;
}

.reveal .justask-method-slide .justask-ucb p strong {
  color: var(--blue);
  font-size: 17px;
  font-weight: 800;
}

.reveal .justask-method-slide .justask-ucb-bonus {
  border-left-color: var(--sky);
}

.reveal .justask-method-slide .justask-ucb-bonus strong {
  color: var(--sky);
}

.reveal .justask-method-slide .justask-ucb-notation {
  display: grid;
  gap: 2px;
  margin: 8px 0 0;
  padding: 8px 2px 0;
  border-top: 1px solid var(--line);
}

.reveal .justask-method-slide .justask-ucb-notation > div {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
}

.reveal .justask-method-slide .justask-ucb-notation dt {
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.reveal .justask-method-slide .justask-ucb-notation dd {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}

.reveal .justask-method-slide .justask-ucb-notation mjx-container {
  margin: 0 !important;
}



/* Page 25: consistency reward without ground truth */
.reveal .consistency-reward-slide {
  padding-bottom: 78px;
}

.reveal .consistency-reward-slide .kicker {
  margin-bottom: 0.14em;
}

.reveal .consistency-reward-slide h2 {
  max-width: 1400px;
  margin-bottom: 0.12em;
  font-size: 1.42em;
  line-height: 1.08;
}

.reveal .consistency-reward-slide .paper-study-lead {
  margin-bottom: 0.18em;
  font-size: 0.72em;
}

.reveal .consistency-reward-slide .cr-banner {
  width: 1400px;
  margin: 8px 0 12px;
  padding: 10px 16px;
  box-sizing: border-box;
  border: 1px solid var(--sky);
  border-radius: 10px;
  color: var(--blue);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-align: center;
}

.reveal .consistency-reward-slide .cr-flow {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) 72px minmax(0, 0.88fr) 72px minmax(0, 1.04fr);
  align-items: stretch;
  width: 1400px;
  height: 548px;
}

.reveal .consistency-reward-slide .cr-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
  min-height: 0;
  padding: 18px 20px 16px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 14px;
  background: var(--surface);
}

.reveal .consistency-reward-slide .cr-panel h3 {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 0;
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.reveal .consistency-reward-slide .cr-step {
  color: var(--blue);
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.reveal .consistency-reward-slide .cr-candidates {
  border-top-color: var(--blue);
}

.reveal .consistency-reward-slide .cr-compare {
  border-top-color: var(--sky);
}

.reveal .consistency-reward-slide .cr-compare .cr-step {
  color: var(--sky);
}

.reveal .consistency-reward-slide .cr-reward {
  border-top-color: var(--red);
  background: linear-gradient(180deg, rgba(255, 71, 86, 0.04), var(--surface) 42%);
}

.reveal .consistency-reward-slide .cr-reward .cr-step {
  color: var(--red);
}

.reveal .consistency-reward-slide .cr-stack {
  display: grid;
  gap: 12px;
  min-height: 0;
}

.reveal .consistency-reward-slide .cr-candidates .cr-stack {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.reveal .consistency-reward-slide .cr-compare .cr-stack {
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) auto;
}

.reveal .consistency-reward-slide .cr-reward .cr-stack {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.reveal .consistency-reward-slide .cr-run {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 10px;
  background: var(--surface-2);
}

.reveal .consistency-reward-slide .cr-run span {
  display: block;
  color: var(--blue);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.03em;
  line-height: 1.2;
}

.reveal .consistency-reward-slide .cr-run em {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.reveal .consistency-reward-slide .cr-run p {
  margin: 8px 0 0;
  color: var(--ink-2);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.3;
}

.reveal .consistency-reward-slide .cr-run-cross {
  border-left-color: var(--sky);
}

.reveal .consistency-reward-slide .cr-run-cross span,
.reveal .consistency-reward-slide .cr-run-cross em {
  color: var(--sky);
}

.reveal .consistency-reward-slide .cr-connector {
  display: grid;
  place-items: center;
}

.reveal .consistency-reward-slide .cr-arrow {
  position: relative;
  width: 52px;
  height: 5px;
}

.reveal .consistency-reward-slide .cr-arrow-solid {
  background: var(--sky);
}

.reveal .consistency-reward-slide .cr-arrow::after {
  position: absolute;
  top: 50%;
  right: -4px;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid var(--sky);
  transform: translateY(-50%);
  content: "";
}

.reveal .consistency-reward-slide .cr-metric {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-items: center;
  min-height: 0;
  padding: 16px 18px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 10px;
  background: var(--surface-2);
}

.reveal .consistency-reward-slide .cr-metric-name {
  color: var(--blue);
  font-size: 19px;
  font-weight: 800;
  line-height: 1.2;
}

.reveal .consistency-reward-slide .cr-metric-hint {
  grid-column: 1;
  color: var(--muted);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.25;
}

.reveal .consistency-reward-slide .cr-metric b {
  grid-row: 1 / span 2;
  grid-column: 2;
  color: var(--blue);
  font-size: 44px;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  line-height: 1;
}

.reveal .consistency-reward-slide .cr-metric.cr-cross {
  border-left-color: var(--sky);
}

.reveal .consistency-reward-slide .cr-metric.cr-cross .cr-metric-name,
.reveal .consistency-reward-slide .cr-metric.cr-cross b {
  color: var(--sky);
}

.reveal .consistency-reward-slide .cr-embed {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.reveal .consistency-reward-slide .cr-formula {
  margin: 0;
  color: var(--blue);
  font-size: 30px;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
}

.reveal .consistency-reward-slide .cr-threshold {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--blue);
  font-size: 28px;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.reveal .consistency-reward-slide .cr-badge {
  display: grid;
  place-items: center;
  margin: 0;
  padding: 12px 18px;
  border-radius: 12px;
  background: rgba(255, 71, 86, 0.12);
  color: var(--red);
  font-size: 32px;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  letter-spacing: 0.02em;
  line-height: 1.15;
}

.reveal .consistency-reward-slide .cr-fail {
  margin: 0;
  padding: 12px 0 0;
  border-top: 2px dashed var(--line);
  color: var(--muted);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.3;
}


/* Page 26: System Prompt Open extraction results */
.reveal .slides section.prompt-results-slide {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-bottom: 78px;
  background: var(--surface);
}

.reveal .prompt-results-slide .kicker {
  margin-bottom: 0.1em;
}

.reveal .prompt-results-slide h2 {
  max-width: 1400px;
  margin-bottom: 0.08em;
  font-size: 1.42em;
  line-height: 1.08;
}


.reveal .prompt-results-slide .prompt-results-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  gap: 20px;
  align-items: stretch;
  width: 1400px;
  height: 650px;
  margin-top: 14px;
}

.reveal .prompt-results-slide .prompt-results-gallery {
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  outline: none;
}

.reveal .prompt-results-slide .prompt-results-gallery:focus {
  box-shadow: 0 0 0 2px var(--sky);
}

.reveal .prompt-results-slide .prompt-results-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.reveal .prompt-results-slide .prompt-results-table th,
.reveal .prompt-results-slide .prompt-results-table td {
  padding: 6px 8px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
  text-align: left;
  vertical-align: middle;
}

.reveal .prompt-results-slide .prompt-results-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--blue);
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.reveal .prompt-results-slide .prompt-results-table td {
  border-bottom: 1px solid var(--line);
  color: var(--ink-2);
  background: var(--surface);
}

.reveal .prompt-results-slide .prompt-results-table th:nth-child(1),
.reveal .prompt-results-slide .prompt-results-table td:nth-child(1) {
  width: 8%;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.reveal .prompt-results-slide .prompt-results-table td:nth-child(1) {
  color: var(--blue);
}

.reveal .prompt-results-slide .prompt-results-table th:nth-child(2),
.reveal .prompt-results-slide .prompt-results-table td:nth-child(2) {
  width: 36%;
}

.reveal .prompt-results-slide .prompt-results-table td:nth-child(2) {
  color: var(--blue);
  font-weight: 750;
  overflow-wrap: break-word;
}

.reveal .prompt-results-slide .prompt-results-table th:nth-child(3),
.reveal .prompt-results-slide .prompt-results-table td:nth-child(3) {
  width: 18%;
}

.reveal .prompt-results-slide .prompt-results-table th:nth-child(4),
.reveal .prompt-results-slide .prompt-results-table td:nth-child(4) {
  width: 21%;
}

.reveal .prompt-results-slide .prompt-results-table th:nth-child(5),
.reveal .prompt-results-slide .prompt-results-table td:nth-child(5) {
  width: 17%;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.reveal .prompt-results-slide .prompt-results-table td:nth-child(5) {
  color: var(--blue);
  font-weight: 800;
}

.reveal .prompt-results-slide .pr-logo {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  object-fit: contain;
  vertical-align: middle;
}

.reveal .prompt-results-slide .pr-cat {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.2;
  white-space: nowrap;
}

.reveal .prompt-results-slide .pr-cat-verified {
  background: rgba(71, 200, 240, 0.18);
  color: var(--blue);
}

.reveal .prompt-results-slide .pr-cat-agent {
  background: rgba(0, 15, 70, 0.1);
  color: var(--blue);
}

.reveal .prompt-results-slide .pr-cat-closed {
  background: rgba(255, 71, 86, 0.12);
  color: var(--red);
}

.reveal .prompt-results-slide .pr-cat-open {
  background: rgba(71, 200, 240, 0.14);
  color: #003c55;
}

.reveal .prompt-results-slide .pr-cat-ft {
  background: rgba(247, 200, 37, 0.2);
  color: #745b00;
}

.reveal .prompt-results-slide .prompt-results-panel {
  display: grid;
  grid-template-rows: 28px 250px 28px 250px 40px;
  gap: 8px;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 8px 12px;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 14px;
  background: var(--surface);
}

.reveal .prompt-results-slide .prompt-results-head {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 0;
}

.reveal .prompt-results-slide .prompt-results-head img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.reveal .prompt-results-slide .prompt-results-head h3 {
  margin: 0;
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.1;
}


.reveal .prompt-results-slide .prompt-results-box {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 250px;
  min-width: 0;
  min-height: 0;
  padding: 8px 10px;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-2);
}

.reveal .prompt-results-slide .prompt-results-leaked {
  border-top: 4px solid var(--red);
  background: linear-gradient(180deg, rgba(255, 71, 86, 0.05), var(--surface-2) 36%);
}

.reveal .prompt-results-slide .prompt-results-justask {
  border-top: 4px solid var(--sky);
  background: linear-gradient(180deg, rgba(71, 200, 240, 0.08), var(--surface-2) 36%);
}

.reveal .prompt-results-slide .prompt-results-box-label {
  display: block;
  margin-bottom: 6px;
  color: var(--blue);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
}

.reveal .prompt-results-slide .prompt-results-leaked .prompt-results-box-label {
  color: var(--red);
}

.reveal .prompt-results-slide .prompt-results-justask .prompt-results-box-label {
  color: var(--sky);
}

.reveal .prompt-results-slide .prompt-results-pre {
  min-height: 0;
  margin: 0;
  padding: 6px 8px;
  overflow: auto;
  border-radius: 6px;
  background: var(--surface);
  color: var(--ink);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  outline: none;
}

.reveal .prompt-results-slide .prompt-results-pre:focus {
  box-shadow: 0 0 0 2px var(--sky);
}

.reveal .prompt-results-slide .prompt-results-bridge {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  height: 28px;
  min-height: 28px;
}

.reveal .prompt-results-slide .prompt-results-arrow {
  position: relative;
  flex: 0 0 5px;
  width: 5px;
  height: 14px;
  background: var(--sky);
}

.reveal .prompt-results-slide .prompt-results-arrow::after {
  position: absolute;
  bottom: -7px;
  left: 50%;
  border-top: 8px solid var(--sky);
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  transform: translateX(-50%);
  content: "";
}

.reveal .prompt-results-slide .prompt-results-bridge-label {
  margin: 0;
  color: var(--sky);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.reveal .prompt-results-slide .prompt-results-sim {
  display: grid;
  place-items: center;
  height: 40px;
  margin: 0;
  padding: 0 12px;
  border-radius: 10px;
  background: rgba(0, 15, 70, 0.06);
  color: var(--blue);
  font-size: 16px;
  font-weight: 750;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-align: center;
}

.reveal .prompt-results-slide .prompt-results-sim b {
  color: var(--blue);
  font-size: 22px;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
}


/* Page 26: lecture summary */
.reveal .slides > .composite-summary-slide {
  top: 0 !important;
  left: 0;
}

.reveal .composite-summary-slide .kicker {
  margin-bottom: 0.22em;
}

.reveal .composite-summary-slide h2 {
  max-width: 1400px;
  margin-bottom: 0.42em;
  font-size: 1.88em;
}

.reveal .composite-summary-slide .composite-points {
  width: 1220px;
  margin: 72px auto 0;
  padding-left: 44px;
  list-style: disc;
}

.reveal .composite-summary-slide .composite-points li {
  margin: 0 0 42px;
  padding: 0;
  color: var(--ink);
  font-size: 38px;
  font-weight: 650;
  line-height: 1.3;
}

.reveal .composite-summary-slide .composite-points li::marker {
  color: var(--blue);
  font-size: 1.02em;
}

.reveal .composite-summary-slide .summary-next {
  display: flex;
  gap: 24px;
  align-items: center;
  width: 1220px;
  margin: 48px auto 0;
  padding-top: 18px;
  border-top: 2px solid var(--blue);
}

.reveal .composite-summary-slide .summary-next span {
  color: var(--blue);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.reveal .composite-summary-slide .summary-next strong {
  color: var(--ink);
  font-size: 28px;
  font-weight: 750;
}


/* Page 8: local and universal applicability */
.reveal .applicability-slide {
  text-align: left;
}

.reveal .applicability-slide h2 {
  font-size: 2.15em;
}

.reveal .applicability-slide .objective-lead {
  font-size: 0.76em;
}

.reveal .applicability-definition {
  width: 1400px;
  margin-top: 0.28em;
  padding: 12px 18px 14px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(0, 15, 70, 0.018), rgba(71, 200, 240, 0.025));
}

.reveal .applicability-definition > h3 {
  margin: 0 0 10px;
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 16px;
  font-weight: 850;
  letter-spacing: 0.11em;
}

.reveal .applicability-formulas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.reveal .applicability-formula {
  min-height: 105px;
  padding: 12px 16px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 10px;
  background: var(--surface);
}

.reveal .universal-formula {
  border-left-color: var(--red);
}

.reveal .formula-heading {
  display: grid;
  grid-template-columns: 115px 1fr;
  gap: 12px;
  align-items: baseline;
}

.reveal .formula-heading span {
  color: var(--blue);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.09em;
}

.reveal .universal-formula .formula-heading span {
  color: var(--red);
}

.reveal .formula-heading strong {
  color: var(--ink-2);
  font-size: 17px;
}

.reveal .applicability-math {
  margin-top: 7px;
  color: var(--blue);
  font-size: 18px;
  line-height: 1.1;
}

.reveal .applicability-formula p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.2;
}

.reveal .applicability-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  height: 455px;
}

.reveal .applicability-column {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 11px;
  background: var(--surface);
}

.reveal .applicability-column.universal-column {
  border-left-color: var(--red);
}

.reveal .applicability-column .applicability-formula {
  min-height: 108px;
  padding: 12px 16px 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}

.reveal .applicability-published-example {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  margin: 0;
}

.reveal .applicability-published-example > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 30px;
  padding: 6px 12px;
  box-sizing: border-box;
  background: rgba(0, 15, 70, 0.025);
}

.reveal .applicability-published-example > header strong {
  color: var(--blue);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.reveal .universal-column .applicability-published-example > header strong {
  color: var(--red);
}

.reveal .applicability-published-example > header small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.reveal .panda-example img {
  display: block;
  width: calc(100% - 24px);
  min-height: 0;
  flex: 1;
  margin: 8px 12px 0;
  object-fit: contain;
  border-radius: 7px;
  background: #ffffff;
}

.reveal .panda-example figcaption {
  margin: 3px 12px 8px;
  color: var(--red);
  font-size: 11.5px;
  font-weight: 800;
  text-align: right;
}

.reveal .uap-example img {
  display: block;
  width: 100%;
  min-height: 0;
  flex: 1;
  padding: 4px 16px 8px;
  box-sizing: border-box;
  object-fit: contain;
}

/* Shared vocabulary-logit and decode typography across all animated model pages. */
.reveal .looping-architecture-panel :is(.next-token-panel, .generated-sequence) > .architecture-heading,
.reveal .prompt-injection-slide :is(.prompt-token-panel, .prompt-generated-sequence) > .architecture-heading,
.reveal .cot-prefill-stage .next-token-panel > .architecture-heading {
  font-size: 18.5px;
  letter-spacing: 0.8px;
}

.reveal .looping-architecture-panel .next-token-step text {
  font-size: 16px;
}

.reveal .looping-architecture-panel .next-token-step > rect {
  x: 838px;
}

.reveal .looping-architecture-panel .next-token-step > rect:not(.small-bar):not(.tiny-bar) {
  width: 68px;
}
.reveal .looping-architecture-panel .next-token-choice .choice-token {
  font-size: 13px;
}


.reveal .prompt-injection-slide .prompt-token-panel .next-token-step text {
  font-size: 17px;
}

.reveal .cot-prefill-stage .cot-logit-dynamic text {
  font-size: 20px;
}

.reveal .looping-architecture-panel .generated-sequence .sentence-token > text,
.reveal .prompt-injection-slide .prompt-generated-sequence .sentence-token > text {
  font-size: 15px;
}

.reveal .prompt-injection-slide .prompt-output-state {
  font-size: 14.5px;
}

.reveal .jailbreak-slide .prompt-output-state,
.reveal .jailbreak-slide .prompt-output-copy {
  font-size: 17px;
}

.reveal .cot-terminal .cot-card-heading {
  font-size: 0.6em;
}

.reveal .cot-terminal code {
  font-size: 0.66em;
}

.reveal .staged-animation-trigger,
.reveal .cot-animation-trigger,
.reveal .compat-step-trigger {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0 !important;
  pointer-events: none;
}

/* Page 20: shared-encryption attack flow */
.reveal .compat-attack-slide .kicker {
  margin-bottom: 0.18em;
}

.reveal .compat-attack-slide h2 {
  margin-bottom: 0.16em;
}

.reveal .compat-attack-figure {
  height: 500px;
}

.reveal .compat-attack-slide .compat-hacker-bar {
  fill: #000f46;
}
.reveal .compat-attack-slide .compat-opus-bar,
.reveal .compat-attack-slide .compat-opus-mask {
  fill: var(--blue);
}

.reveal .compat-hacker-hood {
  fill: #ffffff;
}

.reveal .compat-hacker-face {
  fill: #000f46;
}

.reveal .compat-turn-label {
  fill: var(--blue);
  font-family: var(--r-main-font);
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.reveal .compat-turn-attack,
.reveal .compat-adv-token,
.reveal .compat-attack-label,
.reveal .compat-leak-text,
.reveal .compat-leak-note {
  fill: var(--red);
}

.reveal .compat-adv-token {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 15px;
  font-weight: 800;
}
.reveal .compat-leak-text {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 14px;
  font-weight: 800;
}
.reveal .compat-enc-remains,
.reveal .compat-enc-note,
.reveal .compat-safe-note {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 14px;
  font-weight: 750;
}
.reveal .compat-enc-remains,
.reveal .compat-enc-note {
  fill: #6a3aa8;
}
.reveal .compat-safe-note {
  fill: var(--blue);
}
.reveal .compat-leak-hit {
  fill: rgba(255, 71, 86, 0.12);
  stroke: none;
}
.reveal .compat-s3-answer .compat-leak-hit {
  fill: #fff7f8;
  stroke: var(--red);
  stroke-width: 1.25;
}
.reveal .compat-s3-answer .compat-leak-text {
  font-size: 15px;
}
.reveal .compat-attack-slide h2 {
  font-size: 2.12em;
}
.reveal .compat-attack-slide .case-json-copy {
  font-size: 16px;
}
.reveal .compat-attack-slide .case-thinking-copy,
.reveal .compat-attack-slide .case-thinking-tag {
  font-size: 16px;
}
.reveal .compat-attack-slide .compat-appended-plus {
  fill: var(--muted);
  font-size: 14px;
  font-weight: 700;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
.reveal .compat-attack-slide .case-tui-muted,
.reveal .compat-attack-slide .case-tui-user,
.reveal .compat-attack-slide .case-tui-assistant,
.reveal .compat-attack-slide .case-tui-thinking {
  font-size: 17px;
}
.reveal .compat-attack-slide .case-panel-kicker {
  font-size: 17px;
}
.reveal .compat-attack-slide .case-stage-label {
  font-size: 15px;
}
.reveal .compat-attack-slide .compat-turn-label {
  font-size: 15px;
}
.reveal .compat-attack-slide .case-stage-copy {
  font-size: 13.5px;
}
.reveal .compat-attack-slide .case-figure-caption {
  font-size: 15.5px;
}
.reveal .compat-attack-slide .compat-adv-token {
  font-size: 16px;
}
.reveal .compat-attack-slide .compat-leak-text {
  font-size: 16px;
}
.reveal .compat-s1-encrypt-mosaic,
.reveal .compat-s2-encrypt-mosaic,
.reveal .compat-s2-decrypt-mosaic,
.reveal .compat-s3-encrypt-mosaic,
.reveal .compat-s3-decrypt-mosaic {
  pointer-events: none;
  opacity: 0;
}
.reveal :is(.compat-s1-encrypt-mosaic, .compat-s2-encrypt-mosaic, .compat-s2-decrypt-mosaic, .compat-s3-encrypt-mosaic, .compat-s3-decrypt-mosaic) rect {
  stroke: rgba(255, 255, 255, 0.78);
  stroke-width: 1;
  animation: case-mosaic-tile 0.32s steps(1, end) infinite;
}
.reveal :is(.compat-s1-encrypt-mosaic, .compat-s2-encrypt-mosaic, .compat-s2-decrypt-mosaic, .compat-s3-encrypt-mosaic, .compat-s3-decrypt-mosaic) rect:nth-child(3n + 1) {
  animation-delay: -0.08s;
}
.reveal :is(.compat-s1-encrypt-mosaic, .compat-s2-encrypt-mosaic, .compat-s2-decrypt-mosaic, .compat-s3-encrypt-mosaic, .compat-s3-decrypt-mosaic) rect:nth-child(3n + 2) {
  animation-delay: -0.17s;
}
.reveal :is(.compat-s1-encrypt-mosaic, .compat-s2-encrypt-mosaic, .compat-s2-decrypt-mosaic, .compat-s3-encrypt-mosaic, .compat-s3-decrypt-mosaic) rect:nth-child(3n) {
  animation-delay: -0.25s;
}

.reveal .compat-but-what-if rect {
  fill: rgba(255, 71, 86, 0.12);
  stroke: var(--red);
  stroke-width: 2;
}

.reveal .compat-but-what-if text {
  fill: var(--red);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.reveal .compat-haiku-bar,
.reveal .compat-haiku-mask {
  fill: var(--red);
}

.reveal .compat-req-icon-blue,
.reveal .compat-res-icon-blue,
.reveal .compat-req-icon-red,
.reveal .compat-res-icon-red {
  transform-box: fill-box;
  transform-origin: center;
}

.reveal .compat-req-icon-blue rect,
.reveal .compat-res-icon-blue rect {
  fill: #ffffff;
  stroke: var(--blue);
  stroke-width: 2;
}

.reveal .compat-req-icon-red rect,
.reveal .compat-res-icon-red rect {
  fill: #ffffff;
  stroke: var(--red);
  stroke-width: 2;
}

.reveal .compat-req-icon-blue path,
.reveal .compat-res-icon-blue path {
  fill: none;
  stroke: var(--blue);
  stroke-width: 1.5;
}

.reveal .compat-req-icon-red path,
.reveal .compat-res-icon-red path {
  fill: none;
  stroke: var(--red);
  stroke-width: 1.5;
}

.reveal .compat-req-icon-blue text,
.reveal .compat-res-icon-blue text {
  fill: var(--blue);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 800;
}

.reveal .compat-req-icon-red text,
.reveal .compat-res-icon-red text {
  fill: var(--red);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 800;
}

.reveal .compat-req-route-blue,
.reveal .compat-res-route-blue,
.reveal .compat-req-route-red,
.reveal .compat-res-route-red {
  fill: none;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 16 12;
}

.reveal .compat-req-route-blue,
.reveal .compat-res-route-blue {
  stroke: var(--sky);
}

.reveal .compat-req-route-red,
.reveal .compat-res-route-red {
  stroke: var(--red);
}

 .reveal .compat-s1-req > rect,
 .reveal .compat-s1-decode > rect,
 .reveal .compat-s1-build > rect,
 .reveal .compat-s1-res > rect,
 .reveal .compat-s2-req > rect,
 .reveal .compat-s2-decode > rect,
 .reveal .compat-s2-decrypted > rect,
 .reveal .compat-s2-build > rect,
 .reveal .compat-s2-res > rect,
 .reveal .compat-s3-req > rect,
 .reveal .compat-s3-decrypted > rect,
 .reveal .compat-s3-intent > rect,
 .reveal .compat-s3-decode > rect,
 .reveal .compat-s3-build > rect,
 .reveal .compat-s3-res > rect {
  fill: var(--surface-2);
  stroke: var(--line);
}

.reveal .compat-s1-decode > rect,
.reveal .compat-s2-decode > rect {
  fill: rgba(128, 80, 220, 0.05);
  stroke: #8050dc;
}

.reveal .compat-s3-intent > rect,
.reveal .compat-s3-decode > rect {
  fill: rgba(255, 71, 86, 0.05);
  stroke: var(--red);
}

.reveal .compat-attack-slide :is(
  .compat-s1-answer,
  .compat-s1-req,
  .compat-s1-decode,
  .compat-s1-build,
  .compat-s1-encrypt-mosaic,
  .compat-s1-res,
  .compat-s1-think-1,
  .compat-s1-think-1b,
  .compat-s1-think-2,
  .compat-s1-think-2b,
  .compat-s1-think-3,
  .compat-s1-think-4,
  .compat-s1-think-5,
  .compat-s1-think-6,
  .compat-s1-think-close,
  .compat-s1-ans,
  .compat-s2-history,
  .compat-s2-wait,
  .compat-s2-answer,
  .compat-s2-req,
  .compat-s2-decrypt-mosaic,
  .compat-s2-decrypted,
  .compat-s2-decode,
  .compat-s2-build,
  .compat-s2-encrypt-mosaic,
  .compat-s2-res,
  .compat-s2-think-1,
  .compat-s2-think-2,
  .compat-s2-think-3,
  .compat-s2-think-4,
  .compat-s2-think-close,
  .compat-s2-ans,
  .compat-s3-history,
  .compat-s3-wait,
  .compat-s3-answer,
  .compat-s3-req,
  .compat-s3-decrypt-mosaic,
  .compat-s3-decrypted,
  .compat-s3-intent,
  .compat-s3-decode,
  .compat-s3-build,
  .compat-s3-encrypt-mosaic,
  .compat-s3-res,
  .compat-s3-think-1,
  .compat-s3-think-1b,
  .compat-s3-think-2,
  .compat-s3-think-2b,
  .compat-s3-think-3,
  .compat-s3-think-4,
  .compat-s3-think-5,
  .compat-s3-think-6,
  .compat-s3-think-close,
  .compat-s3-intent-lead,
  .compat-s3-intent-lead2,
  .compat-s3-l1,
  .compat-s3-l2,
  .compat-s3-l3,
  .compat-s3-l4,
  .compat-s3-l5,
  .compat-s3-l6,
  .compat-s3-l7,
  .compat-req-icon-blue,
  .compat-req-icon-red,
  .compat-res-icon-blue,
  .compat-res-icon-red,
  .compat-req-route-blue,
  .compat-req-route-red,
  .compat-res-route-blue,
  .compat-res-route-red,
  .compat-but-what-if,
  .compat-haiku-bar,
  .compat-haiku-mask,
  .compat-haiku-title,
  .compat-cap-s1,
  .compat-cap-s1d,
  .compat-cap-s1b,
  .compat-cap-s1e,
  .compat-cap-s1r,
  .compat-cap-s2,
  .compat-cap-s2d,
  .compat-cap-s2k,
  .compat-cap-s2b,
  .compat-cap-s2e,
  .compat-cap-s2r,
  .compat-cap-s3req,
  .compat-cap-s3d,
  .compat-cap-s3k,
  .compat-cap-s3b,
  .compat-cap-s3e,
  .compat-cap-s3
) {
  opacity: 0;
}

.reveal .compat-attack-slide[data-compat-right]:not([data-compat-right="idle"]) .compat-server-idle {
  opacity: 0;
}
.reveal .compat-attack-slide[data-compat-right="idle"] .compat-server-idle,
.reveal .compat-attack-slide[data-compat-right="s1-req"] .compat-s1-req,
.reveal .compat-attack-slide[data-compat-right="s1-decode"] .compat-s1-decode,
.reveal .compat-attack-slide[data-compat-right="s1-build"] .compat-s1-build,
.reveal .compat-attack-slide[data-compat-right="s1-encrypt"] .compat-s1-encrypt-mosaic,
.reveal .compat-attack-slide[data-compat-right="s1-res"] .compat-s1-res,
.reveal .compat-attack-slide[data-compat-right="s2-req"] .compat-s2-req,
.reveal .compat-attack-slide[data-compat-right="s2-decrypt"] .compat-s2-decrypt-mosaic,
.reveal .compat-attack-slide[data-compat-right="s2-decrypted"] .compat-s2-decrypted,
.reveal .compat-attack-slide[data-compat-right="s2-decode"] .compat-s2-decode,
.reveal .compat-attack-slide[data-compat-right="s2-build"] .compat-s2-build,
.reveal .compat-attack-slide[data-compat-right="s2-encrypt"] .compat-s2-encrypt-mosaic,
.reveal .compat-attack-slide[data-compat-right="s2-res"] .compat-s2-res,
.reveal .compat-attack-slide[data-compat-right="s3-req"] .compat-s3-req,
.reveal .compat-attack-slide[data-compat-right="s3-decrypt"] .compat-s3-decrypt-mosaic,
.reveal .compat-attack-slide[data-compat-right="s3-decrypted"] .compat-s3-decrypted,
.reveal .compat-attack-slide[data-compat-right="s3-decode"] .compat-s3-decode,
.reveal .compat-attack-slide[data-compat-right="s3-build"] .compat-s3-build,
.reveal .compat-attack-slide[data-compat-right="s3-encrypt"] .compat-s3-encrypt-mosaic,
.reveal .compat-attack-slide[data-compat-right="s3-res"] .compat-s3-res {
  opacity: 1;
}

.reveal .compat-attack-slide[data-compat-s1="answer"] .compat-s1-wait { opacity: 0; }
.reveal .compat-attack-slide[data-compat-s1="answer"] .compat-s1-answer { opacity: 1; }

.reveal .compat-attack-slide[data-compat-s2="wait"] .compat-s2-history,
.reveal .compat-attack-slide[data-compat-s2="answer"] .compat-s2-history { opacity: 1; }
.reveal .compat-attack-slide[data-compat-s2="wait"] .compat-s2-wait { opacity: 1; }
.reveal .compat-attack-slide[data-compat-s2="answer"] .compat-s2-answer { opacity: 1; }

.reveal .compat-attack-slide[data-compat-s3="wait"] .compat-s3-history,
.reveal .compat-attack-slide[data-compat-s3="answer"] .compat-s3-history { opacity: 1; }
.reveal .compat-attack-slide[data-compat-s3="wait"] .compat-s3-wait { opacity: 1; }
.reveal .compat-attack-slide[data-compat-s3="answer"] .compat-s3-answer { opacity: 1; }
.reveal .compat-attack-slide[data-compat-s3="answer"] :is(
  .compat-s3-l1, .compat-s3-l2, .compat-s3-l3, .compat-s3-l4, .compat-s3-l5, .compat-s3-l6, .compat-s3-l7
) { opacity: 1; }

.reveal .compat-attack-slide[data-compat-model="haiku"] :is(
  .compat-haiku-bar, .compat-haiku-mask, .compat-haiku-title, .compat-but-what-if
) { opacity: 1; }
.reveal .compat-attack-slide[data-compat-model="haiku"] :is(
  .compat-opus-title, .compat-opus-bar, .compat-opus-mask
) { opacity: 0; }

.reveal .compat-attack-slide[data-compat-icon="req-blue"] .compat-req-icon-blue {
  animation: compat-icon-send 0.8s linear both;
}
.reveal .compat-attack-slide[data-compat-icon="req-red"] .compat-req-icon-red {
  animation: compat-icon-send 0.8s linear both;
}
.reveal .compat-attack-slide[data-compat-icon="res-blue"] .compat-res-icon-blue {
  animation: compat-icon-return 0.8s linear both;
}
.reveal .compat-attack-slide[data-compat-icon="res-red"] .compat-res-icon-red {
  animation: compat-icon-return 0.8s linear both;
}
.reveal .compat-attack-slide[data-compat-icon="req-blue"] .compat-req-route-blue,
.reveal .compat-attack-slide[data-compat-icon="req-red"] .compat-req-route-red,
.reveal .compat-attack-slide[data-compat-icon="res-blue"] .compat-res-route-blue,
.reveal .compat-attack-slide[data-compat-icon="res-red"] .compat-res-route-red {
  opacity: 1;
}

.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-think-1 { animation: compat-fade-in 0.12s linear 0.05s both; }
.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-think-1b { animation: compat-fade-in 0.12s linear 0.16s both; }
.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-think-2 { animation: compat-fade-in 0.12s linear 0.28s both; }
.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-think-2b { animation: compat-fade-in 0.12s linear 0.40s both; }
.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-think-3 { animation: compat-fade-in 0.12s linear 0.52s both; }
.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-think-4 { animation: compat-fade-in 0.12s linear 0.64s both; }
.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-think-5 { animation: compat-fade-in 0.12s linear 0.76s both; }
.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-think-6,
.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-think-close { animation: compat-fade-in 0.12s linear 0.88s both; }
.reveal .compat-attack-slide[data-compat-right="s1-decode"][data-compat-phase="done"] :is(
  .compat-s1-think-1, .compat-s1-think-1b, .compat-s1-think-2, .compat-s1-think-2b,
  .compat-s1-think-3, .compat-s1-think-4, .compat-s1-think-5, .compat-s1-think-6, .compat-s1-think-close, .compat-s1-ans
) { opacity: 1; animation: none; }
.reveal .compat-attack-slide[data-compat-stage="1"][data-compat-phase="play"] .compat-s1-ans { animation: compat-fade-in 0.12s linear 0.96s both; }

.reveal .compat-attack-slide[data-compat-stage="7"][data-compat-phase="play"] .compat-s2-think-1 { animation: compat-fade-in 0.14s linear 0.04s both; }
.reveal .compat-attack-slide[data-compat-stage="7"][data-compat-phase="play"] .compat-s2-think-2 { animation: compat-fade-in 0.14s linear 0.16s both; }
.reveal .compat-attack-slide[data-compat-stage="7"][data-compat-phase="play"] .compat-s2-think-3 { animation: compat-fade-in 0.14s linear 0.28s both; }
.reveal .compat-attack-slide[data-compat-stage="7"][data-compat-phase="play"] .compat-s2-think-4 { animation: compat-fade-in 0.14s linear 0.40s both; }
.reveal .compat-attack-slide[data-compat-stage="7"][data-compat-phase="play"] .compat-s2-think-close { animation: compat-fade-in 0.14s linear 0.52s both; }
.reveal .compat-attack-slide[data-compat-stage="7"][data-compat-phase="play"] .compat-s2-ans { animation: compat-fade-in 0.14s linear 0.66s both; }
.reveal .compat-attack-slide[data-compat-right="s2-decode"][data-compat-phase="done"] :is(
  .compat-s2-think-1, .compat-s2-think-2, .compat-s2-think-3, .compat-s2-think-4, .compat-s2-think-close, .compat-s2-ans
) { opacity: 1; animation: none; }

.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-intent-lead { animation: compat-fade-in 0.12s linear 0.04s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-intent-lead2 { animation: compat-fade-in 0.12s linear 0.14s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-think-close { animation: compat-fade-in 0.12s linear 0.26s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-think-1 { animation: compat-fade-in 0.12s linear 0.36s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-think-1b { animation: compat-fade-in 0.12s linear 0.46s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-think-2 { animation: compat-fade-in 0.12s linear 0.56s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-think-2b { animation: compat-fade-in 0.12s linear 0.66s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-think-3 { animation: compat-fade-in 0.12s linear 0.76s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-think-4 { animation: compat-fade-in 0.12s linear 0.86s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-think-5 { animation: compat-fade-in 0.12s linear 0.96s both; }
.reveal .compat-attack-slide[data-compat-stage="13"][data-compat-phase="play"] .compat-s3-think-6 { animation: compat-fade-in 0.12s linear 1.06s both; }
.reveal .compat-attack-slide[data-compat-right="s3-decode"][data-compat-phase="done"] :is(
  .compat-s3-intent-lead, .compat-s3-intent-lead2,
  .compat-s3-think-1, .compat-s3-think-1b, .compat-s3-think-2, .compat-s3-think-2b,
  .compat-s3-think-3, .compat-s3-think-4, .compat-s3-think-5, .compat-s3-think-6, .compat-s3-think-close
) { opacity: 1; animation: none; }

.reveal .compat-attack-slide[data-compat-cap]:not([data-compat-cap="idle"]) .compat-cap-idle { opacity: 0; }
.reveal .compat-attack-slide[data-compat-cap="s1"] .compat-cap-s1,
.reveal .compat-attack-slide[data-compat-cap="s1d"] .compat-cap-s1d,
.reveal .compat-attack-slide[data-compat-cap="s1b"] .compat-cap-s1b,
.reveal .compat-attack-slide[data-compat-cap="s1e"] .compat-cap-s1e,
.reveal .compat-attack-slide[data-compat-cap="s1r"] .compat-cap-s1r,
.reveal .compat-attack-slide[data-compat-cap="s2"] .compat-cap-s2,
.reveal .compat-attack-slide[data-compat-cap="s2d"] .compat-cap-s2d,
.reveal .compat-attack-slide[data-compat-cap="s2k"] .compat-cap-s2k,
.reveal .compat-attack-slide[data-compat-cap="s2b"] .compat-cap-s2b,
.reveal .compat-attack-slide[data-compat-cap="s2e"] .compat-cap-s2e,
.reveal .compat-attack-slide[data-compat-cap="s2r"] .compat-cap-s2r,
.reveal .compat-attack-slide[data-compat-cap="s3req"] .compat-cap-s3req,
.reveal .compat-attack-slide[data-compat-cap="s3d"] .compat-cap-s3d,
.reveal .compat-attack-slide[data-compat-cap="s3k"] .compat-cap-s3k,
.reveal .compat-attack-slide[data-compat-cap="s3b"] .compat-cap-s3b,
.reveal .compat-attack-slide[data-compat-cap="s3e"] .compat-cap-s3e,
.reveal .compat-attack-slide[data-compat-cap="s3"] .compat-cap-s3 { opacity: 1; }

.reveal .compat-attack-slide[data-compat-phase="done"] :is(
  .compat-s1-encrypt-mosaic, .compat-s2-encrypt-mosaic, .compat-s3-encrypt-mosaic
) rect {
  animation-play-state: paused;
}

.reveal .compat-attack-slide .compat-key-insight {
  margin-top: 8px;
  padding: 10px 18px;
  font-size: 16px;
  visibility: hidden;
  opacity: 0;
}
.reveal .compat-attack-slide[data-compat-stage="16"][data-compat-phase="done"] .compat-key-insight {
  visibility: visible;
  opacity: 1;
}
.reveal .compat-attack-slide .compat-key-insight strong {
  color: var(--red);
}

@keyframes compat-icon-send {
  0% { opacity: 1; transform: translateX(0) scale(1); }
  88% { opacity: 1; transform: translateX(330px) scale(1); }
  100% { opacity: 0; transform: translateX(330px) scale(0.92); }
}
@keyframes compat-icon-return {
  0% { opacity: 1; transform: translateX(0) scale(1); }
  88% { opacity: 1; transform: translateX(-350px) scale(1); }
  100% { opacity: 0; transform: translateX(-350px) scale(0.92); }
}
@keyframes compat-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* Page 21: decryption oracle */
.reveal .decryption-oracle-slide {
  padding-bottom: 72px;
}

.reveal .decryption-oracle-slide .kicker {
  margin-bottom: 0.18em;
}

.reveal .decryption-oracle-slide h2 {
  max-width: 1400px;
  margin-bottom: 0.1em;
  font-size: 1.62em;
}

.reveal .decryption-oracle-slide .paper-study-lead {
  margin-bottom: 0.2em;
}

.reveal .decryption-oracle-slide .oracle-legend {
  display: flex;
  gap: 28px;
  width: 1400px;
  margin: 0 0 6px;
  color: var(--ink-2);
  font-size: 18px;
  font-weight: 650;
}

.reveal .decryption-oracle-slide .oracle-legend b {
  display: inline-block;
  min-width: 1.15em;
  margin-right: 6px;
  font-size: 20px;
  font-weight: 850;
  text-align: center;
}

.reveal .decryption-oracle-slide .oracle-mark-yes,
.reveal .decryption-oracle-slide .oracle-y {
  color: var(--blue);
}

.reveal .decryption-oracle-slide .oracle-mark-no,
.reveal .decryption-oracle-slide .oracle-n {
  color: var(--red);
}

.reveal .decryption-oracle-slide .oracle-mark-self,
.reveal .decryption-oracle-slide .oracle-s {
  color: var(--muted);
}

.reveal .decryption-oracle-slide .oracle-matrices {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  width: 1400px;
}

.reveal .decryption-oracle-slide .oracle-card {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 6px 12px;
  box-sizing: border-box;
  overflow: visible;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 14px;
  background: var(--surface);
}

.reveal .decryption-oracle-slide .oracle-meta {
  display: grid;
  gap: 4px;
  align-content: center;
}

.reveal .decryption-oracle-slide .oracle-brand {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.reveal .decryption-oracle-slide .oracle-brand img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.reveal .decryption-oracle-slide .oracle-card h3 {
  margin: 0;
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 26px;
  font-weight: 650;
  line-height: 1.1;
}

.reveal .decryption-oracle-slide .oracle-score {
  margin: 0;
  color: var(--ink);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.2;
}

.reveal .decryption-oracle-slide .oracle-weak {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.3;
}

.reveal .decryption-oracle-slide .oracle-plot {
  min-width: 0;
}

.reveal .decryption-oracle-slide .oracle-axes {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  margin: 0 0 2px;
  color: var(--muted);
  font-size: 15px;
  font-weight: 750;
  letter-spacing: 0.02em;
}

.reveal .decryption-oracle-slide .oracle-axes span:first-child {
  text-align: left;
}

.reveal .decryption-oracle-slide .oracle-axes span:last-child {
  text-align: center;
}

.reveal .decryption-oracle-slide .oracle-matrix {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.reveal .decryption-oracle-slide .oracle-matrix .oracle-src-col {
  width: 210px;
}

.reveal .decryption-oracle-slide .oracle-matrix th,
.reveal .decryption-oracle-slide .oracle-matrix td {
  padding: 0;
  text-align: center;
  vertical-align: middle;
}

.reveal .decryption-oracle-slide .oracle-matrix thead th {
  height: auto;
  padding: 0 4px 2px;
  color: var(--ink-2);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.15;
  vertical-align: bottom;
}

.reveal .decryption-oracle-slide .oracle-matrix thead th:first-child {
  width: 210px;
  padding: 0;
}

.reveal .decryption-oracle-slide .oracle-matrix thead th span {
  display: block;
  white-space: normal;
}

.reveal .decryption-oracle-slide .oracle-matrix th[scope="row"] {
  width: 210px;
  box-sizing: border-box;
  padding-right: 10px;
  color: var(--ink-2);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.15;
  text-align: right;
  white-space: nowrap;
}

.reveal .decryption-oracle-slide .oracle-matrix td {
  height: 22px;
  border: 1px solid rgba(0, 15, 70, 0.1);
  font-size: 20px;
  font-weight: 850;
  line-height: 1;
}


.reveal .decryption-oracle-slide .oracle-y {
  background: rgba(71, 200, 240, 0.16);
}

.reveal .decryption-oracle-slide .oracle-n {
  background: rgba(255, 71, 86, 0.1);
}

.reveal .decryption-oracle-slide .oracle-s {
  background: var(--surface-2);
}

/* Page 21: impact overview */
.reveal .impact-overview-slide {
  padding-bottom: 72px;
}

.reveal .impact-overview-slide .kicker {
  margin-bottom: 0.18em;
}

.reveal .impact-overview-slide h2 {
  max-width: 1400px;
  margin-bottom: 0.22em;
}

.reveal .impact-overview-slide .impact-overview-body {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: 32px;
  align-items: stretch;
  width: 1400px;
  min-height: 628px;
}

.reveal .impact-overview-slide .impact-harm-list {
  display: grid;
  grid-template-rows: repeat(4, minmax(0, 1fr));
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--blue);
}

.reveal .impact-overview-slide .impact-harm-list li {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-content: center;
  margin: 0;
  padding: 0 6px 0 0;
  border-bottom: 1px solid var(--line);
}

.reveal .impact-overview-slide .impact-harm-index {
  color: var(--sky);
  font-size: 22px;
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1.1;
}

.reveal .impact-overview-slide .impact-harm-list strong {
  display: block;
  color: var(--blue);
  font-size: 23px;
  font-weight: 700;
  line-height: 1.15;
}

.reveal .impact-overview-slide .impact-harm-list p {
  margin: 7px 0 0;
  color: var(--ink-2);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.32;
}

.reveal .impact-overview-slide .impact-leak-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 0;
  margin: 0;
  padding: 20px 24px 16px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 15px;
  background: var(--surface);
}

.reveal .impact-overview-slide .impact-leak-panel figcaption {
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  color: var(--blue);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.3;
}

.reveal .impact-overview-slide .impact-leak-chart {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 0;
}

.reveal .impact-overview-slide .impact-leak-axis {
  margin: 0 76px 8px 0;
  color: var(--blue);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.reveal .impact-overview-slide .impact-leak-rows {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.reveal .impact-overview-slide .impact-leak-row {
  display: grid;
  align-content: center;
  gap: 8px;
}

.reveal .impact-overview-slide .impact-leak-head {
  display: flex;
  gap: 12px;
  align-items: baseline;
  justify-content: space-between;
}

.reveal .impact-overview-slide .impact-leak-head strong {
  color: var(--blue);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}

.reveal .impact-overview-slide .impact-leak-head span {
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.2;
  text-align: right;
}

.reveal .impact-overview-slide .impact-leak-plot,
.reveal .impact-overview-slide .impact-leak-scale {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px;
  gap: 12px;
  align-items: center;
}

.reveal .impact-overview-slide .impact-leak-track {
  height: 32px;
  overflow: hidden;
  border-radius: 5px;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent calc(25% - 1px),
      var(--line) calc(25% - 1px),
      var(--line) 25%
    ),
    var(--surface-2);
}

.reveal .impact-overview-slide .impact-leak-track i {
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: 5px 0 0 5px;
  background: var(--blue);
  box-shadow: inset 4px 0 0 var(--sky);
}

.reveal .impact-overview-slide .impact-leak-plot b {
  color: var(--sky);
  font-family: var(--r-heading-font);
  font-size: 28px;
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  line-height: 1;
  text-align: right;
}

.reveal .impact-overview-slide .impact-leak-ticks {
  display: flex;
  justify-content: space-between;
}

.reveal .impact-overview-slide .impact-leak-ticks span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
}

.reveal .impact-overview-slide .impact-leak-scale {
  margin-top: 6px;
}

.reveal .impact-overview-slide .impact-figure-meta {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
}

/* Page 27: Internal Safety Collapse case-study intro */
.reveal .slides > .isc-intro-slide {
  top: 0 !important;
  left: 0;
}

.reveal .isc-intro-slide .kicker {
  margin-bottom: 0.12em;
}

.reveal .isc-intro-slide h2 {
  max-width: 1340px;
  margin-bottom: 0.16em;
  font-size: 1.9em;
  line-height: 1.08;
  white-space: nowrap;
}

.reveal .isc-intro-slide .isc-intro-point {
  width: 1400px;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.reveal .isc-intro-slide .isc-intro-point li {
  position: relative;
  margin: 0;
  padding: 12px 8px 12px 42px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 32px;
  font-weight: 650;
  line-height: 1.32;
}

.reveal .isc-intro-slide .isc-intro-point li::before {
  position: absolute;
  top: 50%;
  left: 8px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--blue);
  transform: translateY(-50%);
  content: "";
}

.reveal .isc-intro-slide .isc-hl-task {
  color: #16834f;
  font-weight: 750;
}

.reveal .isc-intro-slide .isc-hl-safety {
  color: var(--red);
  font-weight: 750;
}

.reveal .isc-intro-slide .isc-validator {
  width: 1400px;
  margin: 10px 0 0;
  padding: 0;
}

.reveal .isc-intro-slide .isc-validator.fragment:not(.visible) {
  pointer-events: none;
}

.reveal .isc-intro-slide .isc-defs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.reveal .isc-intro-slide .isc-def {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 168px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}

.reveal .isc-intro-slide .isc-def header {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 9px 12px;
  background: var(--blue);
  color: #ffffff;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.reveal .isc-intro-slide .isc-def header span {
  display: grid;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ffffff;
  color: var(--blue);
  font-size: 14px;
  font-weight: 850;
  place-items: center;
}

.reveal .isc-intro-slide .isc-def-data header {
  background: var(--sky);
  color: var(--blue);
}

.reveal .isc-intro-slide .isc-def-data header span {
  background: var(--blue);
  color: #ffffff;
}

.reveal .isc-intro-slide .isc-def-validator header {
  background: var(--red);
}

.reveal .isc-intro-slide .isc-def-validator header span {
  color: var(--red);
}

.reveal .isc-intro-slide .isc-def p {
  margin: 0;
  padding: 14px 14px 6px;
  color: var(--ink);
  font-size: 20px;
  font-weight: 650;
  line-height: 1.32;
}

.reveal .isc-intro-slide .isc-def small {
  display: block;
  padding: 0 14px 8px;
  color: var(--ink-2);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.32;
}

.reveal .isc-intro-slide .isc-rules {
  display: grid;
  gap: 5px;
  align-content: center;
  margin: 0;
  padding: 10px 14px 12px;
  list-style: none;
}

.reveal .isc-intro-slide .isc-rules li {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.28;
}

.reveal .isc-intro-slide .isc-rules code {
  color: var(--blue);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 17px;
  font-weight: 750;
}

.reveal .isc-intro-slide .isc-slots {
  display: grid;
  gap: 8px;
  align-content: center;
  margin: 0;
  padding: 12px;
  list-style: none;
}

.reveal .isc-intro-slide .isc-slots li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin: 0;
  padding: 6px 8px;
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--ink);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.3;
}

.reveal .isc-intro-slide .isc-slots code {
  color: var(--ink-2);
  font: inherit;
}

.reveal .isc-intro-slide .isc-slot-unsafe {
  border: 2px solid var(--red);
  background: rgba(255, 71, 86, 0.07);
  animation: isc-unsafe-row 7600ms linear both;
}

.reveal .isc-intro-slide .isc-slot-value {
  display: grid;
  min-height: 2.5em;
}

.reveal .isc-intro-slide .isc-slot-value b {
  grid-area: 1 / 1;
  font-weight: 750;
}

.reveal .isc-intro-slide .isc-slot-empty {
  color: var(--red);
  font-size: 20px;
  animation: isc-slot-empty 7600ms linear both;
}

.reveal .isc-intro-slide .isc-slot-safe {
  color: #16834f;
  animation: isc-slot-safe 7600ms linear both;
}

.reveal .isc-intro-slide .isc-slot-filtered {
  color: var(--red);
  animation: isc-slot-filtered 7600ms linear both;
}

.reveal .isc-intro-slide .isc-term {
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}

.reveal .isc-intro-slide .isc-term header {
  padding: 8px 14px;
  background: var(--blue);
  color: #ffffff;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.reveal .isc-intro-slide .isc-term-caption {
  margin: 0;
  padding: 4px 14px 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.reveal .isc-intro-slide .isc-term-states {
  display: grid;
  min-height: 5.1em;
  padding: 6px 14px 8px;
}

.reveal .isc-intro-slide .isc-term-waiting,
.reveal .isc-intro-slide .isc-term-fail,
.reveal .isc-intro-slide .isc-term-pass {
  grid-area: 1 / 1;
}

.reveal .isc-intro-slide .isc-term-waiting {
  margin: 0;
  color: var(--muted);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.35;
  animation: isc-term-waiting 7600ms linear both;
}

.reveal .isc-intro-slide .isc-term-waiting code {
  display: block;
  color: var(--blue);
  font: inherit;
}

.reveal .isc-intro-slide .isc-term-fail,
.reveal .isc-intro-slide .isc-term-pass {
  display: grid;
  align-content: start;
  gap: 4px;
  color: var(--ink);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.3;
}

.reveal .isc-intro-slide .isc-term-fail {
  animation: isc-term-fail 7600ms linear both;
}

.reveal .isc-intro-slide .isc-term-pass {
  animation: isc-term-pass 7600ms linear both;
}

.reveal .isc-intro-slide .isc-term-fail > code,
.reveal .isc-intro-slide .isc-term-pass > code {
  color: var(--blue);
  font: inherit;
}

.reveal .isc-intro-slide .isc-term-row {
  display: grid;
  grid-template-columns: 7.4em minmax(0, 1.15fr) 22px minmax(0, 1.2fr) 22px 10em;
  align-items: center;
}

.reveal .isc-intro-slide .isc-term-attempt {
  color: var(--ink-2);
  font-weight: 750;
}

.reveal .isc-intro-slide .isc-term-cell {
  color: var(--ink-2);
}

.reveal .isc-intro-slide .isc-term-arrow {
  color: var(--muted);
  text-align: center;
}

.reveal .isc-intro-slide .isc-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.05em;
  line-height: 1.3;
  vertical-align: 1px;
}

.reveal .isc-intro-slide .isc-badge-unsafe {
  background: rgba(255, 71, 86, 0.12);
  color: var(--red);
}

.reveal .isc-intro-slide .isc-badge-safe {
  background: rgba(22, 131, 79, 0.12);
  color: #16834f;
}

.reveal .isc-intro-slide .isc-term-mismatch {
  color: var(--red);
  font-weight: 800;
}

.reveal .isc-intro-slide .isc-term-match {
  color: #16834f;
  font-weight: 800;
}

.reveal .isc-intro-slide .isc-term-fail .isc-term-note {
  margin: 0;
  color: var(--red);
  font-size: 16px;
  font-weight: 700;
}

.reveal .isc-intro-slide .isc-term-pass .isc-term-note {
  margin: 0;
  color: #16834f;
  font-size: 16px;
  font-weight: 700;
}


@keyframes isc-unsafe-row {
  0%, 8% { border-color: var(--red); background: rgba(255, 71, 86, 0.07); }
  10%, 47.4% { border-color: #16834f; background: rgba(22, 131, 79, 0.08); }
  52%, 100% { border-color: var(--red); background: rgba(255, 71, 86, 0.07); }
}

@keyframes isc-slot-empty {
  0%, 2.6% { opacity: 1; }
  8%, 100% { opacity: 0; }
}

@keyframes isc-slot-safe {
  0%, 2.6% { opacity: 0; clip-path: inset(0 100% 0 0); }
  23.7%, 47.4% { opacity: 1; clip-path: inset(0 0 0 0); }
  50%, 100% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes isc-slot-filtered {
  0%, 50% { opacity: 0; clip-path: inset(0 100% 0 0); }
  76%, 100% { opacity: 1; clip-path: inset(0 0 0 0); }
}

@keyframes isc-term-waiting {
  0%, 31% { opacity: 1; }
  33%, 100% { opacity: 0; }
}

@keyframes isc-term-fail {
  0%, 31% { opacity: 0; }
  33%, 49% { opacity: 1; }
  52%, 100% { opacity: 0; }
}

@keyframes isc-term-pass {
  0%, 75% { opacity: 0; }
  78%, 100% { opacity: 1; }
}

/* Page 28: Internal Safety Collapse results */
.reveal .slides > .isc-results-slide {
  top: 0 !important;
  left: 0;
}

.reveal .isc-results-slide .kicker {
  margin-bottom: 0.1em;
}

.reveal .isc-results-slide h2 {
  max-width: 1400px;
  margin-bottom: 0.2em;
  font-size: 1.62em;
  line-height: 1.08;
}

.reveal .isc-results-slide .isc-results-split {
  display: grid;
  grid-template-columns: minmax(0, 0.56fr) minmax(0, 0.44fr);
  gap: 22px;
  width: 1400px;
  height: 638px;
}

.reveal .isc-results-slide .isc-results-tasks,
.reveal .isc-results-slide .isc-results-models {
  display: grid;
  min-height: 0;
}

.reveal .isc-results-slide .isc-results-tasks {
  grid-template-rows: auto minmax(0, 1fr);
}

.reveal .isc-results-slide .isc-results-models {
  grid-template-rows: auto minmax(0, 1fr);
  padding: 14px 16px 12px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 14px;
  background: var(--surface);
}

.reveal .isc-results-slide h3 {
  margin: 0;
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.reveal .isc-results-slide .isc-results-tasks > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 9px;
}

.reveal .isc-results-slide .isc-results-tasks > header p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.reveal .isc-results-slide .isc-results-tasks > header strong {
  color: var(--red);
  font-weight: 850;
}

.reveal .isc-results-slide .isc-task-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.reveal .isc-results-slide .isc-task-grid li {
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
  min-height: 0;
  margin: 0;
  padding: 13px 14px 12px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--domain-color, #667085);
  border-radius: 10px;
  background: var(--surface);
}

.reveal .isc-results-slide .isc-task-grid li:nth-child(1) { --domain-color: #4f6f89; }
.reveal .isc-results-slide .isc-task-grid li:nth-child(2) { --domain-color: #75675b; }
.reveal .isc-results-slide .isc-task-grid li:nth-child(3) { --domain-color: #5f6478; }
.reveal .isc-results-slide .isc-task-grid li:nth-child(4) { --domain-color: #68745c; }
.reveal .isc-results-slide .isc-task-grid li:nth-child(5) { --domain-color: #7a6258; }
.reveal .isc-results-slide .isc-task-grid li:nth-child(6) { --domain-color: #566d73; }
.reveal .isc-results-slide .isc-task-grid li:nth-child(7) { --domain-color: #4f7169; }
.reveal .isc-results-slide .isc-task-grid li:nth-child(8) { --domain-color: #70676f; }

.reveal .isc-results-slide .isc-task-grid li > span {
  margin-bottom: 6px;
  color: var(--domain-color);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.12;
  text-transform: uppercase;
}

.reveal .isc-results-slide .isc-task-grid li > strong {
  color: var(--ink);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.18;
}

.reveal .isc-results-slide .isc-task-grid li > p {
  align-self: end;
  margin: 8px 0 0;
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}

.reveal .isc-results-slide .isc-task-grid li > p a {
  border-bottom: 1px solid rgba(0, 15, 70, 0.24);
  color: var(--blue);
  text-decoration: none;
  white-space: nowrap;
}

.reveal .isc-results-slide .isc-task-grid li > p a + a::before {
  margin: 0 5px;
  color: var(--muted);
  content: "·";
}

.reveal .isc-results-slide .isc-task-grid li > p a:hover,
.reveal .isc-results-slide .isc-task-grid li > p a:focus {
  border-bottom-color: var(--domain-color);
  color: var(--domain-color);
}

.reveal .isc-results-slide .isc-evidence-head {
  display: flex;
  gap: 16px;
  align-items: start;
  justify-content: space-between;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.reveal .isc-results-slide .isc-evidence-head > div > p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
}

.reveal .isc-results-slide .isc-evidence-head > p {
  display: grid;
  justify-items: end;
  margin: 0;
}

.reveal .isc-results-slide .isc-evidence-head > p b {
  color: var(--red);
  font-family: var(--r-heading-font);
  font-size: 36px;
  font-variant-numeric: tabular-nums;
  font-weight: 620;
  line-height: 0.9;
}

.reveal .isc-results-slide .isc-evidence-head > p span {
  margin-top: 5px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
}

.reveal .isc-results-slide .isc-model-table-wrap {
  min-height: 0;
  margin-top: 10px;
  overflow-y: auto;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface-2);
  scrollbar-color: var(--sky) var(--surface-2);
  scrollbar-width: thin;
}

.reveal .isc-results-slide .isc-model-table-wrap:focus {
  outline: 2px solid var(--sky);
  outline-offset: 2px;
}

.reveal .isc-results-slide .isc-model-table {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.reveal .isc-results-slide .isc-model-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 9px 12px;
  border-bottom: 2px solid var(--blue);
  background: var(--surface);
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-align: left;
  text-transform: uppercase;
}

.reveal .isc-results-slide .isc-model-table th:last-child {
  width: 130px;
}

.reveal .isc-results-slide .isc-model-table td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--blue);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.2;
  text-align: left;
}

.reveal .isc-results-slide .isc-model-cell {
  display: flex;
  gap: 8px;
  align-items: center;
}

.reveal .isc-results-slide .isc-model-cell img {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  object-fit: contain;
}

.reveal .isc-results-slide .isc-model-table tbody tr:nth-child(even) td {
  background: rgba(255, 255, 255, 0.72);
}

.reveal .isc-results-slide .isc-model-table td:last-child span {
  display: inline-block;
  padding: 4px 7px;
  border: 1px solid rgba(255, 71, 86, 0.25);
  border-radius: 999px;
  background: rgba(255, 71, 86, 0.08);
  color: var(--red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}


/* Page 29: why agent safety matters now */
.reveal .slides > .importance-slide {
  top: 0 !important;
  left: 0;
}

.reveal .importance-slide .kicker {
  margin-bottom: 0.12em;
}

.reveal .importance-slide h2 {
  max-width: 1400px;
  margin-bottom: 0.22em;
  font-size: 1.72em;
  line-height: 1.05;
}

.reveal .importance-slide .importance-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.44fr) minmax(0, 0.56fr);
  gap: 24px;
  width: 1400px;
  height: 638px;
}

.reveal .importance-slide .importance-story {
  min-height: 0;
  padding: 28px 24px 28px 8px;
}

.reveal .importance-slide .importance-bullets {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  margin: 0;
  padding-left: 36px;
  list-style: disc;
}

.reveal .importance-slide .importance-bullets li {
  margin: 0;
  padding: 0;
  color: var(--ink-2);
  font-size: 27px;
  font-weight: 640;
  line-height: 1.36;
}

.reveal .importance-slide .importance-bullets li::marker {
  color: var(--red);
  font-size: 1.12em;
}

.reveal .importance-slide .importance-bullets strong {
  color: var(--blue);
  font-weight: 850;
}

.reveal .importance-slide .importance-incident {
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-self: stretch;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--red);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 71, 86, 0.06), var(--surface) 60%);
}

.reveal .importance-slide .importance-incident header {
  margin-bottom: 6px;
  color: var(--red);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.reveal .importance-slide .importance-incident p {
  margin: 0;
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.28;
}

.reveal .importance-slide .importance-incident-flow {
  display: grid;
  grid-template-columns: 1fr auto 0.82fr auto 1fr auto 0.9fr;
  gap: 7px;
  align-items: center;
  margin-top: 10px;
  align-self: end;
}

.reveal .importance-slide .importance-incident-flow span {
  display: grid;
  min-height: 31px;
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  place-items: center;
}

.reveal .importance-slide .importance-incident-flow b {
  color: var(--red);
  font-size: 18px;
  line-height: 1;
}

.reveal .importance-slide .importance-cyber {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  min-height: 0;
  padding: 18px 18px 14px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 14px;
  background: var(--surface);
}

.reveal .importance-slide .importance-cyber-summary {
  display: block;
}

.reveal .importance-slide .importance-cyber-summary h3 {
  margin: 0;
  color: var(--blue);
  font-family: var(--r-main-font);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.reveal .importance-slide .importance-cyber-summary h3 > span {
  color: var(--muted);
}

.reveal .importance-slide .importance-cyber-summary h3 > a {
  border-bottom: 1px solid rgba(0, 15, 70, 0.28);
  color: var(--blue);
  text-decoration: none;
}

.reveal .importance-slide .importance-cyber-figure {
  display: grid;
  min-height: 0;
  margin: 0;
}

.reveal .importance-slide .importance-cyber-figure img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #ffffff;
}


.reveal .importance-slide .importance-horizon {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  width: auto;
  height: 138px;
  margin-top: 0;
}

.reveal .importance-slide .importance-horizon article {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 4px;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--sky);
  border-radius: 11px;
  background: var(--surface-2);
}

.reveal .importance-slide .importance-horizon article:last-child {
  border-left-color: var(--red);
}

.reveal .importance-slide .importance-horizon article > span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.15;
  text-transform: uppercase;
}

.reveal .importance-slide .importance-horizon article > strong {
  color: var(--ink);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.18;
}

.reveal .importance-slide .importance-horizon article > p {
  margin: 0;
  color: var(--ink-2);
  font-size: 14px;
  font-weight: 620;
  line-height: 1.22;
}

.reveal .importance-slide .importance-horizon-arrow {
  display: grid;
  color: var(--red);
  font-size: 26px;
  place-items: center;
}

.reveal .importance-slide .importance-sources {
  display: flex;
  gap: 18px;
  justify-content: flex-start;
  border-bottom: 0;
  font-size: 12px;
  line-height: 1.2;
}

.reveal .importance-slide .importance-sources a {
  border-bottom: 1px solid rgba(0, 15, 70, 0.28);
  color: var(--blue);
  font-weight: 650;
  text-decoration: none;
}

.reveal .importance-future-slide .kicker {
  margin-bottom: 0.1em;
}

.reveal .importance-future-slide h2 {
  margin-bottom: 0.18em;
  font-size: 1.64em;
}

.reveal .importance-future-slide .hf-case-layout {
  display: grid;
  grid-template-rows: 68px 254px 150px 76px;
  gap: 12px;
  width: 1400px;
  height: 584px;
}

.reveal .importance-future-slide .hf-intent-banner {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 280px;
  gap: 18px;
  align-items: center;
  padding: 12px 18px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--sky);
  border-radius: 11px;
  background: var(--surface-2);
}

.reveal .importance-future-slide .hf-intent-banner span,
.reveal .importance-future-slide .hf-intent-banner b {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.07em;
  line-height: 1.15;
  text-transform: uppercase;
}

.reveal .importance-future-slide .hf-intent-banner span {
  color: var(--blue);
}

.reveal .importance-future-slide .hf-intent-banner strong {
  color: var(--ink);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.2;
}

.reveal .importance-future-slide .hf-intent-banner b {
  justify-self: end;
  padding: 8px 10px;
  border: 1px solid rgba(22, 131, 79, 0.28);
  border-radius: 999px;
  background: rgba(22, 131, 79, 0.07);
  color: #16834f;
}

.reveal .importance-future-slide .hf-escape-story {
  position: relative;
  display: grid;
  grid-template-columns: 550px 112px 212px 54px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) 68px;
  column-gap: 12px;
  row-gap: 8px;
  align-items: center;
  min-height: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}

.reveal .importance-future-slide .hf-eval-zone,
.reveal .importance-future-slide .hf-breakout,
.reveal .importance-future-slide .hf-internet,
.reveal .importance-future-slide .hf-live-arrow,
.reveal .importance-future-slide .hf-production {
  grid-row: 1;
}

.reveal .importance-future-slide .hf-eval-zone {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 42px 1fr;
  gap: 8px;
  align-items: center;
  height: 100%;
  padding: 28px 14px 12px;
  border: 2px dashed rgba(0, 15, 70, 0.24);
  border-radius: 12px;
  background: var(--surface-2);
}

.reveal .importance-future-slide .hf-eval-zone .hf-flow-node,
.reveal .importance-future-slide .hf-eval-zone .hf-flow-arrow {
  position: relative;
  top: -19px;
}

.reveal .importance-future-slide .hf-zone-label {
  position: absolute;
  top: 8px;
  left: 14px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.reveal .importance-future-slide .hf-flow-node {
  display: grid;
  align-content: center;
  justify-items: center;
  min-width: 0;
  min-height: 128px;
  height: 128px;
  padding: 14px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 11px;
  background: var(--surface);
  text-align: center;
}

.reveal .importance-future-slide .hf-flow-node > img {
  width: 28px;
  height: 28px;
  margin-bottom: 7px;
  object-fit: contain;
}

.reveal .importance-future-slide .hf-flow-node > span {
  display: grid;
  width: 26px;
  height: 26px;
  margin-bottom: 7px;
  border-radius: 50%;
  background: var(--blue);
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  place-items: center;
}

.reveal .importance-future-slide .hf-flow-node > strong {
  color: var(--blue);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.15;
}

.reveal .importance-future-slide .hf-flow-node > small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.15;
}

.reveal .importance-future-slide .hf-flow-arrow {
  color: var(--sky);
  font-size: 28px;
  font-weight: 900;
  text-align: center;
}

.reveal .importance-future-slide .hf-breakout {
  position: relative;
  display: grid;
  align-content: center;
  height: 100%;
  color: var(--red);
}

.reveal .importance-future-slide .hf-breakout small {
  position: absolute;
  top: 35px;
  left: 0;
  width: 100%;
  color: var(--red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
}

.reveal .importance-future-slide .hf-breakout > b {
  font-size: 34px;
  line-height: 1;
  text-align: right;
}

.reveal .importance-future-slide .hf-agent-token {
  position: absolute;
  top: 91px;
  left: 2px;
  z-index: 2;
  display: grid;
  width: 34px;
  height: 34px;
  border: 2px solid var(--red);
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 4px 10px rgba(0, 15, 70, 0.14);
  place-items: center;
}

.reveal .importance-future-slide .hf-agent-token img {
  width: 20px;
  height: 20px;
}

.reveal .importance-future-slide .hf-breakout.visible .hf-agent-token {
  animation: hf-agent-breakout 1.25s cubic-bezier(0.22, 0.78, 0.2, 1) both;
}

.reveal .importance-future-slide .hf-internet {
  border-top-color: var(--red);
  background: linear-gradient(180deg, rgba(255, 71, 86, 0.05), var(--surface));
}

.reveal .importance-future-slide .hf-live-arrow {
  color: var(--red);
}

.reveal .importance-future-slide .hf-live-arrow.visible {
  animation: hf-arrow-pulse 0.9s ease-in-out 2;
}

.reveal .importance-future-slide .hf-production {
  border-top-color: #f0b90b;
  background: linear-gradient(180deg, rgba(255, 210, 30, 0.1), var(--surface));
}

.reveal .importance-future-slide .hf-production-status {
  width: auto !important;
  height: auto !important;
  margin: 4px 0 0 !important;
  padding: 3px 7px;
  border: 1px solid rgba(255, 71, 86, 0.3);
  border-radius: 999px !important;
  background: rgba(255, 71, 86, 0.08) !important;
  color: var(--red) !important;
  font-size: 10px !important;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.1;
  text-transform: uppercase;
}

.reveal .importance-future-slide .hf-production-status.visible {
  animation: hf-access-confirmed 0.62s ease-out both;
}

.reveal .importance-future-slide .hf-logo-cluster {
  display: flex;
  align-items: end;
  justify-content: center;
  height: 36px;
  margin-bottom: 3px;
}

.reveal .importance-future-slide .hf-logo-cluster img {
  width: 31px;
  height: 29px;
  margin: 0 -4px;
  object-fit: contain;
}

.reveal .importance-future-slide .hf-logo-cluster img:nth-child(2) {
  width: 39px;
  height: 36px;
}

.reveal .importance-future-slide .hf-production.visible .hf-logo-cluster img {
  animation: hf-logo-pop 0.48s ease-out both;
}

.reveal .importance-future-slide .hf-production.visible .hf-logo-cluster img:nth-child(2) {
  animation-delay: 0.12s;
}

.reveal .importance-future-slide .hf-production.visible .hf-logo-cluster img:nth-child(3) {
  animation-delay: 0.24s;
}


.reveal .importance-future-slide .hf-hack-route {
  display: grid;
  grid-column: 3 / 6;
  grid-row: 2;
  grid-template-columns: 210px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) 10px;
  column-gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 6px 10px;
  border: 1px solid rgba(255, 71, 86, 0.26);
  border-radius: 9px;
  background: rgba(255, 71, 86, 0.06);
}

.reveal .importance-future-slide .hf-hack-route > span {
  grid-row: 1 / 3;
  color: var(--red);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.055em;
  line-height: 1.14;
  text-transform: uppercase;
}

.reveal .importance-future-slide .hf-hack-sequence {
  display: grid;
  grid-template-columns: 1.1fr auto 0.84fr auto 1.2fr auto 1fr;
  gap: 5px;
  align-items: center;
  min-width: 0;
}

.reveal .importance-future-slide .hf-hack-sequence span {
  display: grid;
  min-height: 34px;
  padding: 5px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.08;
  text-align: center;
  place-items: center;
}

.reveal .importance-future-slide .hf-hack-sequence b {
  color: var(--red);
  font-size: 14px;
  line-height: 1;
}

.reveal .importance-future-slide .hf-hack-route > i {
  position: relative;
  display: block;
  grid-column: 2;
  grid-row: 2;
  height: 2px;
  border-radius: 999px;
  background: rgba(255, 71, 86, 0.35);
}

.reveal .importance-future-slide .hf-hack-route > i > b {
  position: absolute;
  top: 50%;
  left: 0;
  display: grid;
  width: 24px;
  height: 24px;
  border: 2px solid var(--red);
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 3px 8px rgba(0, 15, 70, 0.14);
  transform: translateY(-50%);
  place-items: center;
}

.reveal .importance-future-slide .hf-hack-route > i > b > img {
  width: 14px;
  height: 14px;
}

.reveal .importance-future-slide .hf-hack-route.visible .hf-hack-sequence span,
.reveal .importance-future-slide .hf-hack-route.visible .hf-hack-sequence b {
  animation: hf-hack-step 0.36s ease-out both;
}

.reveal .importance-future-slide .hf-hack-route.visible .hf-hack-sequence > :nth-child(3) { animation-delay: 0.28s; }
.reveal .importance-future-slide .hf-hack-route.visible .hf-hack-sequence > :nth-child(4) { animation-delay: 0.28s; }
.reveal .importance-future-slide .hf-hack-route.visible .hf-hack-sequence > :nth-child(5) { animation-delay: 0.56s; }
.reveal .importance-future-slide .hf-hack-route.visible .hf-hack-sequence > :nth-child(6) { animation-delay: 0.56s; }
.reveal .importance-future-slide .hf-hack-route.visible .hf-hack-sequence > :nth-child(7) { animation-delay: 0.84s; }

.reveal .importance-future-slide .hf-hack-route.visible > i > b {
  animation: hf-agent-hack 1.8s cubic-bezier(0.22, 0.78, 0.2, 1) both;
}

.reveal .importance-future-slide .hf-lesson-points {
  padding: 8px 8px 0;
}

.reveal .importance-future-slide .hf-lesson-points > span {
  color: var(--blue);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.reveal .importance-future-slide .hf-lesson-points > span a {
  border-bottom: 1px solid rgba(0, 15, 70, 0.28);
  color: var(--blue);
  text-decoration: none;
}

.reveal .importance-future-slide .hf-lesson-points ul {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
  padding-left: 28px;
  list-style: disc;
}

.reveal .importance-future-slide .hf-lesson-points li {
  margin: 0;
  padding: 0;
  color: var(--ink-2);
  font-size: 20px;
  font-weight: 650;
  line-height: 1.2;
}

.reveal .importance-future-slide .hf-lesson-points q {
  color: var(--ink);
  font-family: var(--r-heading-font);
  font-weight: 600;
}

.reveal .importance-future-slide .hf-lesson-points li::marker {
  color: var(--red);
}

.reveal .importance-future-slide .hf-lesson-points li strong {
  color: var(--blue);
  font-weight: 850;
}

.reveal .importance-future-slide .hf-next-question {
  display: grid;
  grid-template-columns: 430px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  margin: 0;
  padding: 12px 8px 0;
  border-top: 2px solid var(--blue);
}

.reveal .importance-future-slide .hf-next-question > span {
  color: var(--blue);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.07em;
  line-height: 1.15;
  text-transform: uppercase;
}

.reveal .importance-future-slide .hf-next-question > strong {
  color: var(--ink);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
}

@keyframes hf-agent-breakout {
  from { transform: translateX(0) scale(0.86); }
  35% { transform: translateX(32px) scale(1); }
  to { transform: translateX(70px) scale(1); }
}

@keyframes hf-arrow-pulse {
  0%, 100% { opacity: 0.65; transform: translateX(0); }
  50% { opacity: 1; transform: translateX(5px); }
}

@keyframes hf-logo-pop {
  from { opacity: 0; transform: translateY(8px) scale(0.72); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes hf-agent-hack {
  from { left: 0; }
  25% { left: 22%; }
  50% { left: 48%; }
  75% { left: 72%; }
  to { left: calc(100% - 24px); }
}

@keyframes hf-hack-step {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes hf-access-confirmed {
  from { opacity: 0; transform: translateY(5px) scale(0.92); }
  55% { transform: translateY(0) scale(1.05); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}






