/* The program uses the same stage, typography and controls as the other decks. */
body.weight-presentation {
  --accent: #80c9f4;
  --aqua: #80c9f4;
  --weight-panel-bottom: 92px;
  color-scheme: dark;
}
.weight-presentation .weight-caption { max-width: 44ch; }
.weight-presentation .weight-notice { color: #e2edf4; opacity: 1; max-width: 66ch; }
.weight-presentation .content.center .weight-caption { max-width: 48ch; }
.weight-presentation .weight-controls { opacity: .94; }
.weight-presentation .weight-controls button:disabled { opacity: .3; cursor: default; }
.weight-presentation .weight-controls .notes-button { width: 38px; padding: 0; font-size: 18px; }
.weight-presentation .speaker-note { display: none !important; }
.weight-presentation.weight-embedded .weight-return { display: none; }
.weight-presentation .weight-return { gap: 8px; }
.weight-presentation .act-nav button { min-height: 44px; padding: 8px 0; }
.weight-presentation .brand img { object-fit: contain; }
.weight-presentation .notes-panel { bottom: var(--weight-panel-bottom); max-height: min(65vh, calc(100dvh - var(--weight-panel-bottom) - 20px)); }
.weight-presentation .chapters-sheet { bottom: var(--weight-panel-bottom); max-height: min(74vh, calc(100dvh - var(--weight-panel-bottom) - 20px)); }
.weight-presentation .notes-panel h3,
.weight-presentation .help-panel h3 { padding-right: 35px; line-height: 1.4; }
.weight-presentation .notes-panel p + p { margin-top: 14px; }
.weight-presentation .weight-source { border-top: 1px solid #496276; padding-top: 14px; }
.weight-presentation .weight-source > span { display: block; color: #abc5d7; font-size: 12px; }
.weight-presentation .weight-source a { display: inline-block; min-height: 44px; padding: 8px 0; color: #fff; text-underline-offset: 4px; }
.weight-presentation .weight-panel-close { position: absolute; right: 8px; top: 8px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: #fff; font: inherit; font-size: 28px; cursor: pointer; }
.weight-presentation :is(a, button, [tabindex]):focus-visible { outline: 3px solid #f5d48a; outline-offset: 4px; }
.weight-presentation h1:focus, .weight-presentation h2:focus { outline: none; }
.weight-presentation .weight-skip { position: fixed; top: -100px; left: 12px; z-index: 120; padding: 12px 18px; background: #fff; color: #061a2c; }
.weight-presentation .weight-skip:focus { top: 12px; }
.weight-presentation .weight-noscript { padding: 24px; color: #061a2c; background: #fff; }

/* Keep all slides readable if scripting is unavailable. */
html:has(body.weight-presentation:not(.weight-ready)) { height: auto; overflow: auto; }
.weight-presentation:not(.weight-ready) { height: auto; overflow: auto; }
.weight-presentation:not(.weight-ready) .deck-shell { position: static; display: block; }
.weight-presentation:not(.weight-ready) .stage { width: 100%; height: auto; overflow: visible; }
.weight-presentation:not(.weight-ready) .slide { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; animation: none; }
.weight-presentation:not(.weight-ready) :is(.controls, .act-nav, .progress) { display: none; }

@media (max-width: 760px), (orientation: portrait) {
  .weight-presentation .stage { width: 100vw; height: 100svh; }
  .weight-presentation .brand { top: 23px; right: 20px; width: 112px; }
  .weight-presentation .site-return { max-width: calc(100vw - 155px); font-size: 11px; padding-inline: 11px; }
  .weight-presentation .content,
  .weight-presentation .slide .content.bottom { width: 100%; padding: 100px 24px max(172px, var(--weight-copy-bottom, 172px)) !important; justify-content: flex-end; }
  .weight-presentation .slide .content h1,
  .weight-presentation .slide .content h2 { max-width: 18ch !important; font-size: clamp(33px, 8.6vw, 48px) !important; line-height: 1.07 !important; }
  .weight-presentation .slide .weight-caption { margin-top: 18px; font-size: 18px; line-height: 1.4; max-width: 36ch; }
  .weight-presentation .slide .weight-notice { margin-top: 14px; font-size: 13px; line-height: 1.42; }
  .weight-presentation .scrim.left { background: linear-gradient(0deg, #03101d 6%, rgba(3,16,29,.9) 36%, rgba(3,16,29,.45) 67%, rgba(3,16,29,.1)); }
  .weight-presentation .scrim.all { background: linear-gradient(0deg, #03101d 6%, rgba(3,16,29,.78) 43%, rgba(3,16,29,.18)); }
  .weight-presentation .weight-completevisual { --weight-art-top: 74px; }
  .weight-presentation .weight-completevisual .bg {
    inset: var(--weight-art-top) 16px auto;
    width: calc(100% - 32px);
    height: var(--weight-art-height, 42%);
    object-fit: contain;
    object-position: center !important;
  }
  .weight-presentation .weight-completevisual .scrim { background: none; }
  .weight-presentation .slide-no { right: 22px; bottom: 147px; font-size: 11px; }
  .weight-presentation .weight-controls { bottom: calc(64px + env(safe-area-inset-bottom, 0px)); gap: 4px; padding: 6px; }
  .weight-presentation .weight-controls button { width: 44px; height: 44px; }
  .weight-presentation .weight-controls .notes-button { width: 44px; }
  .weight-presentation .weight-controls .counter { min-width: 52px; }
  .weight-presentation #fullBtn { display: none; }
  .weight-presentation .notes-panel { left: 8px; right: 8px; width: auto; }
  .weight-presentation .help-panel { top: auto; bottom: var(--weight-panel-bottom); left: 8px; right: 8px; width: auto; max-height: calc(100dvh - var(--weight-panel-bottom) - 20px); transform: none; }
  .weight-presentation:not(.weight-ready) .slide { min-height: 740px; aspect-ratio: auto; }
}

@media (max-height: 620px) and (max-width: 760px) {
  .weight-presentation .brand { top: 16px; width: 92px; }
  .weight-presentation .content,
  .weight-presentation .slide .content.bottom { padding: 76px 22px max(144px, var(--weight-copy-bottom, 144px)) !important; }
  .weight-presentation .slide .content h1,
  .weight-presentation .slide .content h2 { font-size: 30px !important; }
  .weight-presentation .slide .weight-caption { font-size: 16px; margin-top: 12px; }
  .weight-presentation .slide .weight-notice { font-size: 12px; margin-top: 10px; }
  .weight-presentation .slide-no { display: none; }
  .weight-presentation .weight-completevisual { --weight-art-top: 66px; }
}

@media print {
  .weight-presentation .stage { width: 16in; height: auto; }
  .weight-presentation .slide { width: 16in; height: 9in; }
  .weight-presentation .weight-skip { display: none; }
}
