/* Visual reference: the supplied 2026 ACE Annual Review template.
   Presentation content and interactions remain owned by the live deck. */
@font-face {
  font-family: 'Source Sans';
  src: url('assets/ace/SourceSans3-Semibold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
.projector {
  --paper: #fff;
  --ink: #172e43;
  --muted: #4b5b68;
  --blue: #225f98;
  --line: #b8cddd;
  --ace-heading: 'Source Sans', 'Source Sans Pro', Arial, sans-serif;
  background: var(--paper);
}
.projector header { height: 36px; }
.projector .brand b { font: 600 21px var(--ace-heading); letter-spacing: .2px; }
.projector #stage { padding-top: 12px; }
.projector h1 {
  font-family: var(--ace-heading);
  font-weight: 600;
  color: var(--blue);
  letter-spacing: -.4px;
  line-height: 1.1;
}
.projector #subtitle {
  font-family: Georgia, 'Times New Roman', serif;
  color: #252b30;
  line-height: 1.35;
}
.projector #stage .diagram-heading,
.projector .roster-heading h2,
.projector .burst-roster h2,
.projector .result-card-heading h3,
.projector .spec-comparison thead th,
.projector .capacity-panel h2 {
  font-family: var(--ace-heading);
  font-weight: 600;
}
.projector #stage .diagram-heading,
.projector #diagram-label,
.projector .roster-heading h2,
.projector .burst-roster h2 { color: var(--blue); }
.projector .spec-comparison tbody th { color: #252b30; font-weight: 400; }
.projector .spec-comparison thead { border-bottom-color: #8cabc6; }
.projector .spec-comparison tbody tr { border-bottom-color: #dae4ec; }
.projector .intro-dram-die { fill: #d3e4f3; stroke: #779aba; }
.projector .workload-memory-title { fill: #225f98; }
.projector .workload-xpu text, .projector .host-svg-title { fill: #174d7f; }
.projector .region-summary { font-family: Georgia, 'Times New Roman', serif; color: #252b30; }
.projector .region-buttons button,
.projector .trace-events button,
.projector .trace-actions button { border-radius: 2px; }
.projector .region-buttons button[aria-pressed='true'] { color: #174d7f; background: #eaf2f9; border-color: #225f98; }
.projector .icon { border-radius: 2px; }
.projector footer { position: relative; border-top: 1px solid #7096b8; height: 60px; min-height: 60px; gap: 20px; }
.projector .review-branding { display: flex; align-items: center; gap: 12px; flex-shrink: 0; padding-right: 8px; }
.projector .review-branding img { display: block; object-fit: contain; height: 36px; width: auto; }
.projector .review-branding img:last-child { height: 40px; }
.projector .page { font-family: Georgia, 'Times New Roman', serif; color: #526f88; }
.projector #page { color: #225f98; }
.projector #chapters button { color: #526f88; }
.projector #chapters button[aria-current] { color: #225f98; border-color: #225f98; }
.projector .iso-todo, .projector .conclusion-todo { font-family: var(--ace-heading); font-weight: 600; color: #225f98; letter-spacing: 0; }
.projector .deck:has(#results[data-view='conclusion']) {
  background: #fff url('assets/ace/src-background.png') center / cover no-repeat;
}
.projector .deck:has(#results[data-view='conclusion']) footer { background: #ffffffb8; }
@media (min-width:761px) and (max-height:800px) {
  .projector #stage { padding-top: 8px; }
}
@media (min-width:761px) and (max-width:1100px) {
  .projector footer { gap: 10px; }
  .projector .review-branding { gap: 8px; padding-right: 0; }
  .projector .review-branding img { height: 26px; }
  .projector .review-branding img:last-child { height: 30px; }
  .projector #chapters { gap: 3px; }
  .projector #chapters button { min-width: 26px; }
}
@media (max-width:760px) {
  .projector footer { height: auto; gap: 12px; }
  .projector .review-branding { grid-column: 1 / -1; justify-content: center; }
  .projector .review-branding img { height: 30px; }
  .projector .review-branding img:last-child { height: 34px; }
  .projector footer .page { grid-column: 1; grid-row: 2; }
  .projector footer .navigation { grid-column: 2; grid-row: 2; }
  .projector footer #chapters { grid-column: 1 / -1; grid-row: 3; }
}
