
.diagram-link { display:block; margin:28px 0; text-decoration:none; cursor:zoom-in; }
.original.speech-article .diagram-link img { margin:0; }
.diagram-open-label { display:block; margin-top:9px; font-size:12px; color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.speech-lightbox { width:calc(100vw - 32px); max-width:1600px; height:calc(100dvh - 32px); max-height:none; padding:0; border:1px solid #ddd; border-radius:10px; color:#202020; background:#fff; }
.speech-lightbox::backdrop { background:rgb(20 20 20 / .72); }
.speech-lightbox[open] { display:flex; flex-direction:column; }
.speech-lightbox-bar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; padding:12px 16px; border-bottom:1px solid #e9e9e7; }
.speech-lightbox-title { flex:1 1 240px; margin:0; font-size:14px; font-weight:500; line-height:1.5; }
.speech-lightbox button { font:inherit; font-size:14px; min-height:44px; padding:8px 14px; border:1px solid #ddd; border-radius:6px; background:#fff; color:#202020; cursor:pointer; }
.speech-lightbox button:focus-visible { outline:2px solid #3153aa; outline-offset:2px; }
.speech-lightbox-view { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px; }
.speech-lightbox-view img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; max-width:none; margin:0; }
.speech-lightbox-view.is-zoomed img { width:var(--image-width); height:auto; object-fit:initial; }
.speech-lightbox-help { margin:0; padding:10px 16px; font-size:12px; color:#707070; border-top:1px solid #e9e9e7; }
@media(max-width:600px) { .speech-lightbox {width:100vw;height:100dvh;max-width:none;margin:0;border:0;border-radius:0;} .speech-lightbox-view {padding:8px;} }

@media(max-width:600px) { .speech-lightbox-title {flex-basis:100%;} }
