body.talk-detail-page { padding-top: 60px; max-width: var(--page-column); margin: 0 auto; font-family: var(--mono-font); }
.talk-detail { padding: 3rem var(--page-gutter) 5rem; }
.talk-detail .back-link { display: inline-block; margin-bottom: 1.8rem; font-size: .8rem; }
.talk-heading h1 { margin: 0; color: var(--text-title); font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 500; line-height: 1.25; }
.talk-heading p { margin: .7rem 0 0; color: var(--text-muted); font-size: .85rem; }
.talk-actions { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; margin: 1.5rem 0 2.2rem; }
.talk-actions a, .talk-actions button { appearance: none; padding: .4rem 0; border: 0; border-bottom: 1px dotted var(--link-static); background: none; color: var(--text-main); cursor: pointer; font: inherit; font-size: .8rem; }
.talk-actions a:hover, .talk-actions button:hover { color: var(--link-hover); border-bottom-style: solid; }
.talk-detail :is(a, button):focus-visible { outline: 2px solid var(--link-static); outline-offset: 3px; }
.talk-section { margin-top: 2.4rem; }
.talk-section h2 { padding-bottom: .7rem; margin: 0 0 1.4rem; border-bottom: 1px solid var(--border-subtle); color: var(--text-headings); font-size: 1rem; font-weight: 500; }
.slide-reader { border: 1px solid var(--border-subtle); }
.slide-stage { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; align-items: center; background: var(--code-block-bg); }
.slide-stage img { display: block; width: 100%; height: auto; max-height: min(70vh, 720px); object-fit: contain; }
.slide-stage img[aria-busy="true"] { opacity: .6; }
.slide-stage button { align-self: stretch; min-height: 44px; border: 0; background: none; color: var(--text-main); font: inherit; font-size: 1.7rem; cursor: pointer; }
.slide-stage button:hover:not(:disabled) { background: var(--bg-main); }
.slide-stage button:disabled { opacity: .3; cursor: default; }
.slide-controls { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 1rem; border-top: 1px solid var(--border-subtle); color: var(--text-muted); font-size: .72rem; }
.slide-controls [data-slide-counter] { white-space: nowrap; font-variant-numeric: tabular-nums; }
.talk-facts { margin: 0; }
.talk-facts div { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--border-subtle); font-size: .83rem; }
.talk-facts dt { color: var(--text-muted); }
.talk-facts dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
	.talk-detail { padding-top: 2rem; }
	.talk-detail .back-link { margin-bottom: 1.5rem; }
	.talk-actions { margin-bottom: 1.8rem; }
	.slide-stage { grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem; }
	.slide-controls { font-size: .65rem; }
	.talk-facts div { grid-template-columns: 6rem minmax(0, 1fr); }
}
