/* 
 * PCC Theme CSS for reveal.js presentations
 * Shared styling for Python Crash Course presentations
 * Based on Solarized Light color scheme
 */

/* Base reveal.js overrides */
.reveal .slides section {
    text-align: left;
}

.reveal h1, .reveal h2, .reveal h3 {
    text-align: center;
}

.reveal pre {
    width: 100%;
    margin: 0.5em 0;
}

.reveal pre code {
    font-size: 0.85em;
    line-height: 1.3;
    padding: 0.8em;
    max-height: none;
    background: #fdf6e3;
}

/* Syntax highlighting overrides for Solarized compatibility */
.hljs-keyword, .hljs-built_in {
    color: #859900;
}

.hljs-string {
    color: #2aa198;
}

.hljs-comment {
    color: #93a1a1;
}

.hljs-number {
    color: #d33682;
}

/* Exercise and content boxes */
.exercise-slide {
    background: #eee8d5 !important;
    border-left: 5px solid #268bd2;
}

.exercise-box {
    background: #fdf6e3;
    border: 2px solid #93a1a1;
    padding: 0.8em;
    border-radius: 8px;
    margin: 0.5em 0;
    font-size: 0.9em;
}

.jupyter-box {
    background: #dc322f;
    color: white;
    padding: 0.6em;
    border-radius: 8px;
    margin: 0.5em 0;
    font-family: monospace;
    font-size: 0.75em;
    text-align: center;
}

/* Special content boxes (only in pcc-basics.html) */
.fact-box {
    background: #b58900;
    color: white;
    padding: 0.8em;
    border-radius: 8px;
    margin: 1em 0;
    font-size: 0.9em;
}

.important-box {
    background: #cb4b16;
    color: white;
    padding: 0.8em;
    border-radius: 8px;
    margin: 1em 0;
    font-size: 0.9em;
}

.tip-box {
    background: #859900;
    color: white;
    padding: 0.8em;
    border-radius: 8px;
    margin: 1em 0;
    font-size: 0.9em;
}

/* Text styling */
.highlight {
    color: #dc322f;
}

.subtitle {
    font-size: 0.8em;
    color: #657b83;
}

/* Fragment animations */
.reveal .slides section .fragment {
    opacity: 0.3;
}

.reveal .slides section .fragment.current-fragment {
    opacity: 1;
}

/* Layout utilities */
.two-columns {
    display: flex;
    gap: 2em;
}

.column {
    flex: 1;
}

/* Typography adjustments */
h1 { 
    font-size: 90%; 
}