/* Scoped progressive disclosure for the PKV page. */
.pkv-info-trigger { display: inline; color: inherit; font: inherit; font-weight: 600; line-height: inherit; padding: .2em .1em; border: 0; border-bottom: 1px dotted currentColor; border-radius: 0; background: transparent; cursor: pointer; }
.pkv-info-trigger:hover { color: #23546b; }
.pkv-info-trigger:focus-visible, .pkv-info-close:focus-visible { outline: 3px solid #537f95; outline-offset: 4px; }
.pkv-info-trigger [aria-hidden] { display: inline-block; font-size: 1.2em; min-width: 1.7em; line-height: 1.7; text-align: center; }
.pkv-info-dialog { color: #19384b; background: #faf9f5; border: 1px solid #d3dde1; border-radius: 1rem; width: min(44rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); max-height: calc(100dvh - 2rem); padding: 0; box-sizing: border-box; overflow: auto; }
.pkv-info-dialog::backdrop { background: rgba(15,34,44,.65); }
.pkv-info-dialog__body { padding: clamp(1rem, 4vw, 2rem); }
.pkv-info-dialog h2 { clear: both; font-size: clamp(1.25rem, 3vw, 1.8rem); line-height: 1.25; margin: 1.2rem 0; overflow-wrap: anywhere; }
.pkv-info-dialog p { font-size: 1rem; line-height: 1.65; margin: 1rem 0; }
.pkv-info-close { display: block; margin: 0 0 0 auto; min-height: 44px; padding: .5rem .8rem; border: 1px solid #b2c3cd; border-radius: .4rem; font: inherit; color: #19384b; background: white; cursor: pointer; }
.pkv-info-close span { margin-left: .4rem; font-size: 1.2rem; }
.pkv-bbg-flow { display: flex; align-items: center; gap: .6rem; margin: 1.5rem 0 1rem; }
.pkv-bbg-flow > div { flex: 1; min-width: 0; padding: .8rem; border-top: 3px solid #477c69; background: #eaf0ec; }
.pkv-bbg-flow strong { display: block; font-size: .95rem; line-height: 1.35; }
.pkv-bbg-flow div span { display: block; margin-top: .5rem; font-size: .8rem; line-height: 1.45; }
.pkv-bbg-flow > span { font-size: 1.2rem; }
.pkv-diagram-credit { display: block; font-size: .7rem; line-height: 1.4; overflow-wrap: anywhere; }
body.pkv-dialog-open { overflow: hidden; }
.pkv-current-graphic > a { display: block; }
.pkv-current-graphic figcaption a { display: inline; }
@media (max-width: 600px) {
  .pkv-info-dialog { margin: auto auto .5rem; width: calc(100vw - 1rem); max-width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); border-radius: 1rem 1rem .5rem .5rem; }
  .pkv-bbg-flow { flex-direction: column; gap: .4rem; align-items: stretch; }
  .pkv-bbg-flow > span { align-self: center; transform: rotate(90deg); }
  .pkv-bbg-flow > div { padding: .65rem .8rem; }
}
