|
150 | 150 | } |
151 | 151 |
|
152 | 152 | .caption { |
153 | | - font-size: clamp(0.8rem, 1.5vw, 0.95em); |
| 153 | + font-size: clamp(0.75rem, 1vw, 0.85em); |
154 | 154 | line-height: 1.4; |
155 | 155 | color: #e0e0e0; |
156 | 156 | margin-top: 0.5em; |
|
299 | 299 | align-items: center; |
300 | 300 | overflow: visible; |
301 | 301 | width: 100%; |
| 302 | + height: 100%; |
| 303 | + max-height: 100%; |
302 | 304 | transform-origin: center center; |
303 | 305 | } |
304 | 306 |
|
305 | 307 | .visualContainer > * { |
306 | 308 | object-fit: contain; |
| 309 | + max-width: 100%; |
| 310 | + max-height: 100%; |
307 | 311 | } |
308 | 312 |
|
309 | 313 | .takeawayList { |
|
478 | 482 | padding: 2em; |
479 | 483 | } |
480 | 484 |
|
481 | | -/* Override Reveal.js theme colors to match course design */ |
482 | | -:global(.reveal) { |
483 | | - font-family: var(--ifm-font-family-base); |
484 | | -} |
485 | | - |
486 | | -:global(.reveal h1), |
487 | | -:global(.reveal h2), |
488 | | -:global(.reveal h3), |
489 | | -:global(.reveal h4) { |
490 | | - font-family: var(--ifm-font-family-base); |
491 | | - font-weight: 700; |
492 | | -} |
493 | | - |
494 | | -:global(.reveal h1) { |
495 | | - font-size: clamp(2.5rem, 4.5vw, 3em); |
496 | | - color: var(--ifm-color-primary); |
497 | | - max-width: 90%; |
498 | | - margin-left: auto; |
499 | | - margin-right: auto; |
500 | | - word-wrap: break-word; |
501 | | -} |
502 | | - |
503 | | -:global(.reveal h2) { |
504 | | - font-size: clamp(1.2rem, 2.5vw, 1.5em); |
505 | | - color: var(--ifm-color-primary); |
506 | | - max-width: 90%; |
507 | | - margin-left: auto; |
508 | | - margin-right: auto; |
509 | | - word-wrap: break-word; |
510 | | -} |
511 | | - |
512 | | -:global(.reveal h3) { |
513 | | - font-size: clamp(1rem, 2vw, 1.3em); |
514 | | - max-width: 90%; |
515 | | - margin-left: auto; |
516 | | - margin-right: auto; |
517 | | - word-wrap: break-word; |
518 | | -} |
519 | | - |
520 | | -:global(.reveal .controls) { |
521 | | - color: var(--ifm-color-primary); |
522 | | -} |
523 | | - |
524 | | -:global(.reveal .progress) { |
525 | | - background: rgba(0, 0, 0, 0.2); |
526 | | -} |
527 | | - |
528 | | -:global(.reveal .progress span) { |
529 | | - background: var(--ifm-color-primary); |
530 | | -} |
531 | | - |
532 | | -/* Enable dark mode CSS variables for all components in presentation mode */ |
533 | | -:global(.reveal) { |
534 | | - --ifm-font-color-base: #c9d1d9; |
535 | | - --ifm-heading-color: #e6edf3; |
536 | | - --ifm-color-emphasis-700: #8b949e; |
537 | | - --ifm-color-emphasis-600: #6e7681; |
538 | | - --ifm-color-emphasis-300: #3d444d; |
539 | | - --ifm-color-emphasis-200: #30363d; |
540 | | - --ifm-background-color: #0d1117; |
541 | | - --ifm-background-surface-color: #161b22; |
542 | | - |
543 | | - /* Visual element colors - adjusted for dark mode */ |
544 | | - --visual-workflow: #a78bfa; |
545 | | - --visual-capability: #22d3ee; |
546 | | - --visual-limitation: #fb923c; |
547 | | - --visual-decision: #c4b5fd; |
548 | | - --visual-error: #fb7185; |
549 | | - --visual-neutral: #94a3b8; |
550 | | - |
551 | | - /* Visual element backgrounds */ |
552 | | - --visual-bg-workflow: rgba(167, 139, 250, 0.15); |
553 | | - --visual-bg-capability: rgba(34, 211, 238, 0.15); |
554 | | - --visual-bg-limitation: rgba(251, 146, 60, 0.15); |
555 | | - --visual-bg-decision: rgba(196, 181, 253, 0.15); |
556 | | -} |
557 | | - |
558 | | -/* Fixed layout structure for consistent positioning across slides */ |
559 | | -:global(.reveal .slides section) { |
560 | | - max-width: 95%; |
561 | | - margin-left: auto; |
562 | | - margin-right: auto; |
563 | | - height: 100%; |
564 | | - display: flex !important; |
565 | | - flex-direction: column; |
566 | | - justify-content: flex-start; |
567 | | - padding: 1em 0 2.5em 0; |
568 | | - box-sizing: border-box; |
569 | | -} |
570 | | - |
571 | | -/* Title area - fixed height and position */ |
572 | | -:global(.reveal .slides section > h2) { |
573 | | - margin-top: 0; |
574 | | - margin-bottom: 0.5em; |
575 | | - flex-shrink: 0; |
576 | | -} |
577 | | - |
578 | | -/* Title slides have h1 instead */ |
579 | | -:global(.reveal .slides section > h1) { |
580 | | - margin-top: 2em; |
581 | | - margin-bottom: 0; |
582 | | - flex-shrink: 0; |
583 | | -} |
584 | | - |
585 | | -/* Content area - fills remaining space with natural flow (safe by default) */ |
586 | | -:global(.reveal .slides section) |
587 | | - > *:not(h1):not(h2):not(.slideCaption):not(.subtitle) { |
588 | | - flex-grow: 1; |
589 | | - min-height: 0; |
590 | | -} |
591 | | - |
592 | | -/* Caption area - fixed at bottom when present */ |
593 | | -:global(.reveal) .slideCaption { |
594 | | - margin-top: auto; |
595 | | - margin-bottom: 2em; |
596 | | - flex-shrink: 0; |
597 | | - padding-top: 0.5em; |
598 | | - padding-bottom: 0; |
599 | | -} |
600 | | - |
601 | | -:global(.reveal p:not(.slideCaption)), |
602 | | -:global(.reveal ul), |
603 | | -:global(.reveal ol) { |
604 | | - max-width: 90%; |
605 | | - margin-left: auto; |
606 | | - margin-right: auto; |
607 | | -} |
| 485 | +/** |
| 486 | + * NOTE: Core Reveal.js overrides (typography, layout, dark mode CSS variables) |
| 487 | + * have been moved to /website/src/styles/presentation-system.css |
| 488 | + * |
| 489 | + * This file now contains only component-specific styles for RevealSlideshow. |
| 490 | + */ |
0 commit comments