/* Hafta 3: şema tasarımı ve aşamalı görseller. Genel görünüm clean.scss'den gelir. */
.reveal .slides section pre {
  width: 100%;
  margin: 0.7em 0;
  font-size: 0.64em;
  line-height: 1.32;
}

.reveal .slides section pre code { max-height: none; }
.reveal .slides section table { max-width: 100%; font-size: 0.72em; }
.reveal .slides section table th { color: #356b78; font-weight: 500; }
.reveal .slides section table td,
.reveal .slides section table th { padding: 0.28em 0.45em; vertical-align: top; }
.reveal .slides section p { line-height: 1.32; }

.reveal .slides section .tram-raw table { width: max-content; max-width: 100%; margin-left: 0; }
.reveal .slides section .tram-raw td:nth-child(2) { color: #246579; }
.reveal .slides section .tram-build th,
.reveal .slides section .tram-build td { white-space: nowrap; }
.reveal .slides section .tram-build[data-step="0"] tr > :nth-child(n+2),
.reveal .slides section .tram-build[data-step="1"] tr > :nth-child(n+3),
.reveal .slides section .tram-build[data-step="2"] tr > :nth-child(n+4),
.reveal .slides section .tram-build[data-step="3"] tr > :nth-child(n+5),
.reveal .slides section .tram-build[data-step="4"] tr > :nth-child(n+6),
.reveal .slides section .tram-build tr.fragment:not(.visible) { display: none; }
.reveal .slides section .tram-build-step { display: block; height: 0; margin: 0; padding: 0; }
.reveal .slides section .tram-build-caption { margin-top: 0.7em; color: #526b72; font-size: 0.7em; }
@keyframes tram-appear { from { opacity: 0; transform: translateY(0.18em); } }
.reveal .slides section .tram-build[data-step="1"] tr > :nth-child(2),
.reveal .slides section .tram-build[data-step="2"] tr > :nth-child(3),
.reveal .slides section .tram-build[data-step="3"] tr > :nth-child(4),
.reveal .slides section .tram-build[data-step="4"] tr > :nth-child(5),
.reveal .slides section .tram-build[data-step="5"] tr > :nth-child(6),
.reveal .slides section .tram-build tr.fragment.visible { animation: tram-appear 0.35s ease-out; }

.reveal .slides section .schema-split {
  margin: 0.45em auto 0;
  min-height: 8.2em;
}

.reveal .slides section .schema-split table {
  margin: 0;
  border-collapse: collapse;
  font-size: 0.58em;
}

.reveal .slides section .schema-split caption {
  padding-bottom: 0.25em;
  color: #356b78;
  font-size: 0.9em;
  font-variant: normal;
  font-weight: 500;
  text-align: left;
}

.reveal .slides section .schema-split th,
.reveal .slides section .schema-split td {
  border: 1px solid #d1e0e4;
  padding: 0.2em 0.35em;
  white-space: nowrap;
}

.reveal .slides section .schema-split th { background: #edf5f7; }
.reveal .slides section .split-source {
  width: 58%;
  margin: 0 auto;
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.reveal .slides section .split-targets {
  display: grid;
  grid-template-columns: 0.8fr 1.15fr 1.5fr;
  gap: 0.55em;
  margin-top: 0.85em;
}

.reveal .slides section .split-targets table {
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5em);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.reveal .slides section .schema-split:not([data-step="0"]) .split-riders,
.reveal .slides section .schema-split:is([data-step="2"], [data-step="3"]) .split-stations,
.reveal .slides section .schema-split[data-step="3"] .split-boardings {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.reveal .slides section .schema-split:not([data-step="0"]) .split-source { opacity: 0.55; transform: translateY(-0.3em); }
.reveal .slides section .schema-split[data-step="3"] .split-key {
  background: #fff0d9;
  color: #8c531d;
}

.reveal .slides section .schema-split-step {
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
}

.reveal .slides section .rider-station-er { width: 100%; margin: 0 auto; text-align: center; }
.reveal .slides section .rider-station-er svg { display: block; width: 62%; max-width: 650px; height: auto; margin: 0 auto; }
.reveal .slides section .rider-station-er .er-entity { fill: #edf3f5; stroke: #829ba2; stroke-width: 3; }
.reveal .slides section .rider-station-er .er-stroke { fill: none; stroke: #829ba2; stroke-width: 3; }
.reveal .slides section .rider-station-er .er-zero { fill: #fff; stroke: #829ba2; stroke-width: 3; }
.reveal .slides section .rider-station-er .er-label-bg { fill: #fff; }
.reveal .slides section .rider-station-er .er-entity-name,
.reveal .slides section .rider-station-er .er-relation-name { fill: #254e59; font-family: inherit; text-anchor: middle; }
.reveal .slides section .rider-station-er .er-entity-name { font-size: 42px; font-weight: 500; }
.reveal .slides section .rider-station-er .er-relation-name { font-size: 29px; font-weight: 500; }
.reveal .slides section .rider-station-er p { margin: 0.15em auto 0; max-width: 29em; font-size: 0.74em; }
/* Ortalanmış destede kaydırılabilir slayt: Quarto yüksekliği yalnız .slide:not(.center) için verir. */
.reveal .slides section.scrollable.center { height: 100% !important; top: 0 !important; box-sizing: border-box; padding-bottom: 1.5em; }
.reveal .slides section.scrollable.center pre { margin-bottom: 0.4em; }
.reveal .slides section .card-swipe-er { width: 100%; margin: 0.2em auto 0; text-align: center; }
.reveal .slides section .card-swipe-er svg { display: block; width: 84%; max-width: 880px; height: auto; margin: 0 auto; }
.reveal .slides section .card-swipe-er .er-entity { fill: #edf3f5; stroke: #829ba2; stroke-width: 3; }
.reveal .slides section .card-swipe-er .er-stroke { fill: none; stroke: #829ba2; stroke-width: 3; }
.reveal .slides section .card-swipe-er .er-divider { fill: none; stroke: #829ba2; stroke-width: 2; opacity: 0; transition: opacity 0.4s ease; }
.reveal .slides section .card-swipe-er .er-zero { fill: #fff; stroke: #829ba2; stroke-width: 3; }
.reveal .slides section .card-swipe-er .er-label-bg { fill: #fff; }
.reveal .slides section .card-swipe-er .er-entity-name,
.reveal .slides section .card-swipe-er .er-relation-name,
.reveal .slides section .card-swipe-er .er-attr { fill: #254e59; font-family: inherit; }
.reveal .slides section .card-swipe-er .er-entity-name { font-size: 38px; font-weight: 500; text-anchor: middle; }
.reveal .slides section .card-swipe-er .er-relation-name { font-size: 26px; font-weight: 500; text-anchor: middle; }
.reveal .slides section .card-swipe-er .er-attr { font-family: "SFMono-Regular", Menlo, Consolas, monospace; font-size: 24px; text-anchor: start; }
.reveal .slides section .card-swipe-er .er-attr-key { text-decoration: underline; }
.reveal .slides section .card-swipe-er .er-attrs { opacity: 0; transform: translateY(8px); transition: opacity 0.4s ease, transform 0.4s ease; }
.reveal .slides section .card-swipe-er[data-step="1"] .er-attrs { opacity: 1; transform: translateY(0); }
.reveal .slides section .card-swipe-er[data-step="1"] .er-divider { opacity: 1; }
.reveal .slides section .card-swipe-er .er-caption { margin: 0.2em auto 0; max-width: 34em; font-size: 0.7em; }
.reveal .slides section .card-swipe-er .er-caption-attrs { display: none; }
.reveal .slides section .card-swipe-er[data-step="1"] .er-caption-relations { display: none; }
.reveal .slides section .card-swipe-er[data-step="1"] .er-caption-attrs { display: block; }

.reveal .slides section .repeat-hit.fragment:not(.visible),
.reveal .slides section .duplicate-key.fragment:not(.visible) {
  visibility: visible !important;
  opacity: 1 !important;
}
.reveal .slides section .repeat-hit.fragment,
.reveal .slides section .duplicate-key.fragment {
  border-radius: 0.12em;
  transition: background-color 0.35s ease, color 0.35s ease;
}

.reveal .slides section .repeat-hit.fragment.visible {
  background: #e5f2f4;
  color: #235d6d;
}

.reveal .slides section .duplicate-key.fragment.visible {
  background: #fff0d9;
  color: #8c531d;
}

.reveal .slides section .affinity-trace {
  display: grid;
  grid-template-columns: 1fr auto 1.25fr auto 1fr;
  align-items: center;
  gap: 0.5em;
  margin: 0.65em auto 0;
  width: 95%;
  text-align: center;
  font-size: 0.77em;
}
.reveal .slides section .affinity-trace > p { display: contents; }

.reveal .slides section .affinity-trace strong,
.reveal .slides section .affinity-trace small { display: block; }
.reveal .slides section .affinity-trace strong { font-family: monospace; font-weight: 500; }
.reveal .slides section .affinity-trace small { font-size: 0.7em; color: #47717c; }
.reveal .slides section .affinity-stored.fragment { transform: translateX(-0.7em); transition: opacity 0.4s ease, transform 0.4s ease; }
.reveal .slides section .affinity-stored.fragment.visible { transform: translateX(0); }

.reveal .slides section span.animation-step {
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
}

.reveal .slides section .fk-demo { width: 95%; margin: 0.7em auto 0; }
.reveal .slides section .fk-tables { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 1em; }
.reveal .slides section .fk-tables table { width: 100%; margin: 0; font-size: 0.64em; }
.reveal .slides section .fk-tables caption { text-align: left; font-size: 0.9em; color: #356b78; }
.reveal .slides section .fk-missing { transition: background-color 0.35s ease, color 0.35s ease; }
.reveal .slides section .fk-demo p {
  margin: 0.35em 0 0;
  min-height: 1em;
  text-align: center;
  font-size: 0.78em;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.3em);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.reveal .slides section .fk-demo[data-step="1"] .fk-search,
.reveal .slides section .fk-demo[data-step="2"] .fk-search,
.reveal .slides section .fk-demo[data-step="2"] .fk-reject {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.reveal .slides section .fk-demo[data-step="1"] .fk-missing,
.reveal .slides section .fk-demo[data-step="2"] .fk-missing { background: #fff0d9; color: #8c531d; }
.reveal .slides section .fk-reject { color: #a13e3e; font-weight: 600; }

.reveal .slides section .model-demo { margin: 0.8em auto 0.3em; text-align: center; font-family: monospace; font-size: 0.88em; }
.reveal .slides section .model-old,
.reveal .slides section .model-new { display: flex; justify-content: center; gap: 0.75em; margin: 0.25em 0; }
.reveal .slides section .model-old { transition: opacity 0.4s ease; }
.reveal .slides section .model-new { color: #235d6d; opacity: 0; visibility: hidden; transform: translateY(-0.5em); transition: opacity 0.4s ease, transform 0.4s ease; }
.reveal .slides section .model-demo[data-step="1"] .model-old { opacity: 0.22; }
.reveal .slides section .model-demo[data-step="1"] .model-new { opacity: 1; visibility: visible; transform: translateY(0); }

.reveal .slides section .verdict-accept.fragment.visible { color: #24715d; font-weight: 600; }
.reveal .slides section .verdict-reject.fragment.visible { color: #a13e3e; font-weight: 600; }
.reveal .slides section .verdict-table table { width: 100%; table-layout: fixed; }
.reveal .slides section .verdict-table th:nth-child(1),
.reveal .slides section .verdict-table td:nth-child(1) { width: 46%; }
.reveal .slides section .verdict-table th:nth-child(2),
.reveal .slides section .verdict-table td:nth-child(2) { width: 13%; }
.reveal .slides section .verdict-table th:nth-child(3),
.reveal .slides section .verdict-table td:nth-child(3) { width: 41%; }

.reveal .slides section .relation-demo { width: 92%; margin: 0.4em auto 0; }
.reveal .slides section .relation-demo svg { display: block; width: 100%; height: auto; overflow: visible; }
.reveal .slides section .relation-demo text { fill: #315f6a; font-family: inherit; font-size: 29px; }
.reveal .slides section .relation-demo .relation-heading { fill: #557680; font-size: 21px; }
.reveal .slides section .relation-edge {
  fill: none;
  stroke: #74a8b4;
  stroke-width: 4;
  stroke-linecap: round;
  transition: opacity 0.4s ease, stroke-dashoffset 0.5s ease;
}
.reveal .slides section .relation-deniz,
.reveal .slides section .relation-ayse { opacity: 0; stroke-dasharray: 430; stroke-dashoffset: 430; }
.reveal .slides section .relation-demo:not([data-step="0"]) .relation-deniz,
.reveal .slides section .relation-demo[data-step="2"] .relation-ayse { opacity: 1; stroke-dashoffset: 0; }
.reveal .slides section .relation-caption { display: none; min-height: 1.4em; margin: 0.25em 0 0; font-size: 0.76em; text-align: center; }
.reveal .slides section .relation-demo[data-step="0"] .relation-caption-0,
.reveal .slides section .relation-demo[data-step="1"] .relation-caption-1,
.reveal .slides section .relation-demo[data-step="2"] .relation-caption-2 { display: block; }
.reveal .slides section .relation-takeaway { margin-top: 0.5em; text-align: center; font-size: 0.76em; }

@media (prefers-reduced-motion: reduce) {
  .reveal .slides section .tram-build tr.fragment.visible,
  .reveal .slides section .tram-build tr > * { animation: none; }
  .reveal .slides section .relation-edge { transition: none; }
  .reveal .slides section .split-source,
  .reveal .slides section .split-targets,
  .reveal .slides section .repeat-hit,
  .reveal .slides section .duplicate-key,
  .reveal .slides section .affinity-stored,
  .reveal .slides section .fk-missing,
  .reveal .slides section .fk-demo p,
  .reveal .slides section .model-old,
  .reveal .slides section .model-new { transition: none; }
  .reveal .slides section .card-swipe-er .er-attrs,
  .reveal .slides section .card-swipe-er .er-divider { transition: none; }
}
