/* MIT 6.006 — Algoritmalara Giriş Türkçe — Slate + Amber teması */
/* Renk paleti (Deniz kararı 2026-06-02): primary slate-700 #374151, accent amber-500 #f59e0b */

:root {
  --bs-primary: #374151;       /* slate-700 — birincil */
  --bs-info: #f59e0b;          /* amber-500 — accent */
  --bs-success: #d97706;       /* amber-600 */
  --bs-warning: #b45309;       /* amber-700 (uyarı, koyu) */
  --bs-danger: #b91c1c;        /* red-700 (tehlike) */

  /* 6.006 / algoritma paleti */
  --slate-700: #374151;        /* birincil çizgi/çerçeve/başlık */
  --slate-800: #1f2937;        /* metin */
  --slate-500: #6b7280;        /* alt başlık / soluk */
  --slate-400: #9ca3af;        /* pasif kenar / izgara */
  --slate-100: #f3f4f6;        /* arka plan / callout */
  --amber-700: #b45309;        /* koyu amber — bağlantı/vurgu (okunur kontrast) */
  --amber-600: #d97706;        /* amber-600 — vurgu */
  --amber-500: #f59e0b;        /* accent — kenar/akıt */
  --amber-300: #fcd34d;        /* açık amber — ikincil vurgu */
  --amber-100: #fef3c7;        /* en açık amber — callout zemini */
}

/* Kitap gövdesi */
body {
  line-height: 1.7;
  color: var(--slate-800);
}

/* Başlık tipografisi */
h1, h2, h3, h4 {
  font-weight: 600;
  letter-spacing: -0.01em;
}

h1 { color: var(--slate-800); }
h2 {
  color: var(--slate-700);
  border-bottom: 2px solid var(--amber-300);
  padding-bottom: 0.3em;
}
h3 { color: var(--slate-500); }

/* Bağlantılar — amber-700 okunur kontrast için */
a {
  color: var(--amber-700);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
a:hover {
  color: var(--slate-800);
}

/* Callout renk vurguları */
.callout-tip {
  border-left-color: var(--amber-500);
}
.callout-tip > .callout-header {
  background-color: rgba(245, 158, 11, 0.12);
}

.callout-note {
  border-left-color: var(--slate-700);
}
.callout-note > .callout-header {
  background-color: rgba(55, 65, 81, 0.08);
}

.callout-warning {
  border-left-color: var(--amber-700);
}
.callout-warning > .callout-header {
  background-color: rgba(180, 83, 9, 0.10);
}

.callout-important {
  border-left-color: var(--amber-600);
}
.callout-important > .callout-header {
  background-color: rgba(217, 119, 6, 0.12);
}

/* Math blocks — sol kenar amber */
.math.display {
  background: linear-gradient(to right, #fafafa, #ffffff);
  padding: 1em 1.2em;
  border-radius: 6px;
  border-left: 3px solid var(--amber-500);
  overflow-x: auto;
}

/* Inline math hafif vurgu */
.math.inline {
  padding: 0 2px;
}

/* Kod blokları */
div.sourceCode {
  border-radius: 6px;
  border: 1px solid #e5e7eb;
}

/* Tablo modernize — thead slate-700 */
table {
  border-collapse: collapse;
  margin: 1em 0;
}
table thead tr {
  background: var(--slate-700);
  color: white;
}
table th, table td {
  padding: 0.6em 1em;
  border-bottom: 1px solid #e5e7eb;
}
table tbody tr:nth-child(even) {
  background: #fafafa;
}

/* Quote — sol kenar amber, açık amber zemin */
blockquote {
  border-left: 4px solid var(--amber-500);
  background: var(--amber-100);
  padding: 0.8em 1.2em;
  margin: 1.2em 0;
  font-style: italic;
  border-radius: 0 4px 4px 0;
}

/* Figür taşma koruması (ETAP C — Strang CC kuralı): geniş matplotlib figürlerini metin kolonuna sığdır */
.cell-output-display img,
.quarto-figure img,
figure img,
img.figure-img {
  max-width: 100%;
  height: auto;
}

/* Şekil başlıkları */
figcaption {
  font-size: 0.9em;
  color: var(--slate-500);
  font-style: italic;
  margin-top: 0.4em;
}

/* Sidebar */
.sidebar-title {
  font-weight: 600;
  color: var(--slate-800);
}

/* Kapak header */
.quarto-title-block .quarto-title h1.title {
  color: var(--slate-800);
  font-weight: 700;
}
.quarto-title-block .subtitle {
  color: var(--slate-500);
  font-weight: 400;
}

/* ETAP D5 mobile fix — dar viewport'ta math/tablo yatay taşması (desktop etkilenmez) */
@media (max-width: 767px) {
  main table, .cell-output-display table { display: block; overflow-x: auto; max-width: 100%; }
  mjx-container { overflow-x: auto; overflow-y: hidden; max-width: 100%; }
  mjx-container:not([display="true"]) { display: inline-block; max-width: 100%; overflow-x: auto; overflow-y: hidden; }
}
