/**
 * Kahveci.pw Dark Reveal.js Theme
 * High-Contrast Dark Mode Adaptation (FORCED DARK MODE) - Finalized Color Palette.
 * CRITICAL FIX: Headings color is now hardcoded to ensure Gold rendering.
 */
@import url(./fonts/source-sans-pro/source-sans-pro.css);

/* --- FORCED DARK MODE COLOR MAPPINGS --- */
:root {
  /* Primary Site Colors from [data-bs-theme="dark"] */
  --site-primary-color: #C5A335;           /* Professional Gold */
  --site-dark-bg: #333333;                 /* Core Body Background */
  --site-light-text: #DDDDDD;              /* Core Body Text Color */
  --site-card-bg: #444444;                 /* Card Background */
  --site-muted-light: #AAAAAA;             /* Custom muted color for dark theme (e.g., Year/Affiliation) */
  --site-subtitle-light: #CCCCCC;          /* Custom lighter muted color for subtitles */
  --site-bs-dark: #222222;                 /* Deepest dark color for contrast on yellow buttons */
  --site-link-hover-color: #A3842C;        /* Darker shade of new gold for hover */

  /* Reveal Global Overrides (FORCED DARK) */
  --r-background-color: var(--site-dark-bg);
  --r-main-color: var(--site-light-text);

  /* Heading color variable is defined but now mostly for consistency/link styling */
  --r-heading-color: var(--site-primary-color);

  /* Link & Interactive Element Colors */
  --r-link-color: var(--site-primary-color);
  --r-link-color-dark: var(--site-primary-color);
  --r-link-color-hover: var(--site-link-hover-color);
  --r-selection-background-color: var(--site-primary-color);
  --r-selection-color: var(--site-bs-dark);

  /* Typography Settings */
  --r-main-font: 'Open Sans', 'Lato', 'Helvetica Neue', Arial, sans-serif;
  --r-main-font-size: 21px;
  --r-block-margin: 15px;
  --r-heading-margin: 1.5rem 0 0.8rem 0;
  --r-heading-font: var(--r-main-font);
  --r-heading-line-height: 1.2;
  --r-heading-letter-spacing: normal;
  --r-heading-text-transform: none;
  --r-heading-text-shadow: none;
  --r-heading-font-weight: 700;
  --r-heading1-text-shadow: none;
  --r-heading1-size: 3.2rem;
  --r-heading2-size: 2.5rem;
  --r-heading3-size: 2rem;
  --r-heading4-size: 1.6rem;
  --r-code-font: monospace;
}

.reveal-viewport {
  /* Fallback color should be the edge color */
  background: #333333;

  /* CRITICAL FIX: Hardcode hex values to bypass variable resolution failure */
  background: -moz-radial-gradient(center, circle cover, #444444 0%, #333333 100%);
  background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #444444), color-stop(100%, #333333));
  background: -webkit-radial-gradient(center, circle cover, #444444 0%, #333333 100%);
  background: -o-radial-gradient(center, circle cover, #444444 0%, #333333 100%);
  background: -ms-radial-gradient(center, circle cover, #444444 0%, #333333 100%);
  background: radial-gradient(center, circle cover, #444444 0%, #333333 100%);

  /* This line is usually redundant due to the first line, but harmless */
  background-color: var(--r-background-color);
}

.reveal {
  font-family: var(--r-main-font);
  font-size: var(--r-main-font-size);
  font-weight: 300;
  color: var(--r-main-color);
}

/* Dark Background Slides: Ensure high contrast on sections marked as dark */
section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
  color: #fff;
}

/*********************************************
 * HEADERS (CRITICAL FIX APPLIED HERE)
 *********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
  margin: var(--r-heading-margin);
  /* FIX: Hardcoded Hex value to bypass possible variable resolution issues */
  color: #C5A335;

  font-family: var(--r-heading-font);
  font-weight: var(--r-heading-font-weight);
  line-height: var(--r-heading-line-height);
  letter-spacing: var(--r-heading-letter-spacing);
  text-transform: var(--r-heading-text-transform);
  text-shadow: var(--r-heading-text-shadow);
  word-wrap: break-word;
}
.reveal h1 { font-size: var(--r-heading1-size); }
.reveal h2 { font-size: var(--r-heading2-size); }
.reveal h3 { font-size: var(--r-heading3-size); }
.reveal h4 { font-size: var(--r-heading4-size); }
.reveal h1 { text-shadow: var(--r-heading1-text-shadow); }

.reveal p {
  text-align: left;
  line-height: 1.6;
  margin: var(--r-block-margin) 0;
  font-weight: 300;
  color: var(--r-main-color);
}

/* --- TITLE SLIDE TEXT FIXES --- */
.reveal .subtitle {
    color: var(--site-subtitle-light);
    font-weight: 300;
    font-size: 1.2em;
    margin-top: -0.5rem;
}
.reveal .author-name {
    color: var(--site-subtitle-light);
    font-size: 1.5em;
    margin-top: 1.5em;
}
.reveal .affiliation, .reveal .year {
    color: var(--site-muted-light);
    font-size: 0.9em;
}

/* --- OTHER ELEMENT STYLES --- */
.reveal blockquote {
  color: var(--r-main-color);
  border-left: 5px solid var(--site-primary-color);
  background: var(--site-card-bg);
  box-shadow: 0px 0px 5px rgba(255, 255, 255, 0.1);
  font-style: italic;
  font-weight: 400;
  display: block;
  position: relative;
  width: 70%;
  margin: var(--r-block-margin) auto;
  padding: 10px 15px;
}

.reveal table th, .reveal table td {
  border-bottom: 1px solid var(--site-muted-light);
  text-align: left;
  padding: 0.2em 0.5em 0.2em 0.5em;
}

.reveal pre {
  box-shadow: 0px 5px 15px rgba(255, 255, 255, 0.15);
  font-size: 0.55em;
}

/*********************************************
 * LINKS & PROGRESS
 *********************************************/
.reveal a {
  color: var(--r-link-color);
  text-decoration: none;
  transition: color 0.15s ease;
}
.reveal a:hover {
  color: var(--r-link-color-hover);
  text-shadow: none;
  border: none;
}
.reveal .controls { color: var(--r-link-color); }
.reveal .progress {
  background: var(--site-muted-light);
  color: var(--r-link-color);
}

/* --- Remaining Boilerplate Styles --- */
.reveal ::selection { color: var(--r-selection-color); background: var(--r-selection-background-color); text-shadow: none; }
.reveal ::-moz-selection { color: var(--r-selection-color); background: var(--r-selection-background-color); text-shadow: none; }
.reveal .slides section, .reveal .slides section > section { line-height: 1.3; font-weight: inherit; }
.reveal h1:last-child, .reveal h2:last-child, .reveal h3:last-child, .reveal h4:last-child, .reveal h5:last-child, .reveal h6:last-child { margin-bottom: 0; }
.reveal img, .reveal video, .reveal iframe { max-width: 95%; max-height: 95%; }
.reveal strong, .reveal b { font-weight: bold; }
.reveal em { font-style: italic; }
.reveal ol, .reveal dl, .reveal ul { display: inline-block; text-align: left; margin: 0 0 0 1em; }
.reveal ol { list-style-type: decimal; }
.reveal ul { list-style-type: disc; }
.reveal ul ul { list-style-type: square; }
.reveal ul ul ul { list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul { display: block; margin-left: 40px; }
.reveal dt { font-weight: bold; }
.reveal dd { margin-left: 40px; }
.reveal q { font-style: italic; }
.reveal pre code { display: block; padding: 5px; overflow: auto; max-height: 400px; word-wrap: normal; }
.reveal .code-wrapper { white-space: normal; }
.reveal .code-wrapper code { white-space: pre; }
.reveal table { margin: auto; border-collapse: collapse; border-spacing: 0; }
.reveal table tbody tr:last-child th, .reveal table tbody tr:last-child td { border-bottom: none; }
.reveal sup { vertical-align: super; font-size: smaller; }
.reveal sub { vertical-align: sub; font-size: smaller; }
.reveal small { display: inline-block; font-size: 0.6em; line-height: 1.2em; vertical-align: top; }
.reveal img { margin: var(--r-block-margin) 0; }
.reveal .roll span:after { color: #fff; background: var(--r-link-color-dark); }
.reveal .r-frame { border: 4px solid var(--r-main-color); box-shadow: 0 0 10px rgba(255, 255, 255, 0.15); }
.reveal a .r-frame { transition: all 0.15s linear; }
.reveal a:hover .r-frame { border-color: var(--r-link-color); box-shadow: 0 0 20px rgba(255, 255, 255, 0.55); }
@media print { .backgrounds { background-color: var(--r-background-color); } }
.image-slide { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; text-align: center; }
.reveal .standard-image { max-width: 90vw; max-height: 50vh; margin: 0 auto; }