.slide h2 { max-width: 24ch; }
.slide a { color: var(--slide-accent); }
.slide .source-note { font-size: clamp(1.15rem, 1.8vw, 1.7rem); }
@media (max-width: 650px) { .presentation-footer { flex-wrap: wrap; } .presentation-footer > span { font-size: .8rem; } }
@media print { .presentation-topbar, .presentation-footer { display: none; } .slide { display: grid; min-height: 95vh; break-after: page; } .fragment { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .fragment { transition: none; } }

.interactive-example h2 { font-size: clamp(2rem, 3.6vw, 3.5rem); max-width: 32ch; }
.slide .demo-intro { font-size: clamp(1.1rem, 1.7vw, 1.55rem); margin-top: 1rem; }
.slide .demo-source, .slide .demo-code-help { font-size: clamp(.9rem, 1.1vw, 1rem); margin-top: .7rem; }
.interactive-example .color-demo-panel { margin-top: 1rem; }
.interactive-example .color-demo-preview { min-height: 5rem; }
.interactive-example .tkinter-trace { font-family: inherit; min-height: 14rem; }
