/* Full screen styles */
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.reveal {
    width: 100vw !important;
    height: 100vh !important;
}

.reveal section {
    font-size: 1.4em;
    line-height: 1.5;
}

.reveal .slides>section>section {
    font-size: 1.0em;
}

.reveal .progress {
    position: fixed;
    height: 12px;
    bottom: 10px;
    width: 90%;
    left: 5%;
    border-radius: 6px;
}

.graphviz {
    width: 100%;
    height: 80vh;
    text-align: center;
}

.graphviz svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Hide raw DOT code blocks */
pre code.dot,
pre.language-dot,
pre.dot {
    display: none;
}

/* ECharts container styles */
.echarts-container {
    width: 100%;
    height: 80vh;
}

/* GSAP animation helpers */
.gsap-fade-in {
    opacity: 0;
}

.gsap-slide-in {
    transform: translateX(-50px);
    opacity: 0;
}

/* Scramble text effect - use monospace font to prevent shifting */
.reveal .title-scramble,
.reveal h2.title-scramble {
    font-family: 'Courier New', Courier, monospace !important;
    letter-spacing: 0.05em !important;
}
