@charset "UTF-8";
/* THEME: REVEAL.JS CUSTOM – MINIMAL, MODULAR */
/* NOTE: LOAD "GLACIAL INDIFFERENCE" BEFORE THIS THEME */

/* PLEASE MY LOVE PUT <div class="slide-footer-banner"></div> IN YOUR HTML TO SEE THE BOTTOM IMG :) */

/* FONT LOADING */
@font-face {
    font-family: 'Glacial Indifference';
    src: url('fonts/GlacialIndifference-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Glacial Indifference';
    src: url('fonts/GlacialIndifference-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* VARIABLES */
:root {
    --clr-bg: #ffffff;
    --clr-bg-alt: #f6f7fb;
    --clr-headings: #0086ff;
    --clr-text: #333652;
    --clr-muted: #6b7280;
    --clr-accent: #0086ff;
    --clr-accent-2: #6cb6e2;
    --clr-accent-3: #9ad2ed;
    --clr-pop: #ff0000;
    --clr-brown: #b1744e;
    --clr-code: #1f2937;
    --clr-code-bg: #f3f4f6;
    --clr-code-border: #e5e7eb;
    --clr-mark: #9ad2ed;
    --clr-border: #e5e7eb;
    --shadow-elev: 0 6px 16px rgba(0,0,0,.08);
    --ff-sans: "Glacial Indifference", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
    --ff-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --ff-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --fs-base: 36px;
    --fs-small: 0.85em;
    --lh-tight: 1.1;
    --lh-normal: 1.35;
    --lh-loose: 1.6;
    --h1: 1.8em;
    --h2: 1.5em;
    --h3: 1.25em;
    --radius: 12px;
    --gap: 1.25rem;
    --banner-height: 28%;
}

/* BASE */
.reveal {
    font-family: var(--ff-sans);
    color: var(--clr-text);
    font-size: var(--fs-base);
}

.reveal .slides {
    text-align: left;
    padding-bottom: calc(var(--banner-height) + 1rem);
}

.reveal .slide-background {
    background: var(--clr-bg);
}

/* HEADINGS */
.reveal h1, .reveal h2, .reveal h3, .reveal h4 {
    color: var(--clr-headings);
    line-height: var(--lh-tight);
    letter-spacing: -0.01em;
}

.reveal h1 { font-size: var(--h1); }
.reveal h2 { font-size: var(--h2); }
.reveal h3 { font-size: var(--h3); }

/* TEXT & LINKS */
.reveal p { line-height: var(--lh-loose); }

.reveal a {
    color: var(--clr-accent);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}
.reveal a:hover { border-bottom-color: currentColor; }

.reveal strong { color: var(--clr-headings); }

.reveal mark {
    background: var(--clr-mark);
    padding: 0 0.2em;
    border-radius: 4px;
}

/* LISTS */
.reveal ul, .reveal ol {
    padding-left: 1.2em;
    line-height: var(--lh-loose);
}

.reveal li + li {
    margin-top: 0.25em;
}

.reveal ul.check > li {
    list-style: none;
    position: relative;
}

.reveal ul.check > li::before {
    content: "✓";
    position: absolute;
    left: -1.2em;
    top: 0;
    opacity: 0.6;
}

/* CALLOUTS */
.reveal .box, .reveal blockquote {
    background: var(--clr-bg-alt);
    border: 1px solid var(--clr-border);
    border-radius: var(--radius);
    padding: calc(var(--gap) * 0.9) var(--gap);
    box-shadow: var(--shadow-elev);
}

.reveal blockquote {
    font-style: italic;
    border-left: 4px solid var(--clr-accent);
}

.reveal blockquote p { margin: 0; }

/* TABLES */
.reveal table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    font-size: 0.9em;
}

.reveal th, .reveal td {
    padding: 0.45em 0.6em;
    border-bottom: 1px solid var(--clr-border);
}

.reveal thead th {
    color: var(--clr-headings);
    border-bottom: 2px solid var(--clr-headings);
}

.reveal tbody tr:hover {
    background: var(--clr-bg-alt);
}

/* CODE */
.reveal code, .reveal pre, .hljs {
    font-family: var(--ff-mono);
}

.reveal code {
    background: var(--clr-code-bg);
    color: var(--clr-code);
    padding: 0.15em 0.35em;
    border-radius: 6px;
    border: 1px solid var(--clr-code-border);
}

.reveal pre {
    background: var(--clr-code-bg);
    border: 1px solid var(--clr-code-border);
    border-radius: var(--radius);
    padding: var(--gap);
    line-height: 1.5;
    overflow: auto;
}

.reveal pre code {
    background: transparent;
    border: 0;
    padding: 0;
}

/* MEDIA */
.reveal section img,
.reveal section video,
.reveal section iframe {
    border-radius: var(--radius);
    box-shadow: var(--shadow-elev);
}

/* FRAGMENTS */
.reveal .fragment.fade-up {
    opacity: 0;
    transform: translateY(8px);
    transition: all 0.4s ease;
}
.reveal .fragment.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* FOOTER BANNER */
.reveal .slide-footer-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--banner-height);
    background-image: url('images/footer-banner.png');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    z-index: 30;
    pointer-events: none;
}

/* HEADER/FOOTER */
.reveal .footer, .reveal .header {
    position: absolute;
    left: 0;
    right: 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.6em;
    color: var(--clr-muted);
}

.reveal .header { top: 0; }

.reveal .footer {
    bottom: calc(var(--banner-height) + 0.5rem);
    border-top: 1px solid var(--clr-border);
}

/* UI */
.reveal .progress {
    background: var(--clr-border);
    height: 4px;
    z-index: 40;
}

.reveal .progress span {
    background: var(--clr-accent);
}

.reveal .controls .navigate-right,
.reveal .controls .navigate-left,
.reveal .controls .navigate-up,
.reveal .controls .navigate-down {
    color: var(--clr-accent);
}

.reveal .slide-number {
    background: var(--clr-bg-alt);
    color: var(--clr-muted);
    border: 1px solid var(--clr-border);
    bottom: calc(var(--banner-height) + 0.5rem);
}

/* VARIANTS */
body.is-compact .reveal { --fs-base: 32px; }
body.is-serif .reveal { font-family: var(--ff-serif); }
body.is-mono .reveal { font-family: var(--ff-mono); }

/* PRINT */
@media print {
    .reveal .slides {
        text-align: left;
        padding-bottom: 0;
    }
    .reveal .progress,
    .reveal .controls,
    .reveal .playback,
    .reveal .slide-number,
    .reveal .slide-footer-banner {
        display: none !important;
    }
    .reveal section { page-break-inside: avoid; }
}