/* Yazi govdesi — Bootstrap 5 uyumluluk katmani, `.prose` ALTINA KAPSAMLI.
 *
 * NEDEN BOOTSTRAP'IN KENDISINI YUKLEMIYORUZ:
 * 216 yazinin govdesi Blogger doneminde Bootstrap 5 ile uretildi ve olculdu ki
 * sanitize sonrasi govdelerde HALA 150 farkli Bootstrap sinifi kullaniliyor
 * (border-start 291, card 228, row/col 133, text-muted 208 ...). Yani govdeler
 * bu sinif adlarina GERCEKTEN bagimli; "5 bilesende" degil, her yerde.
 *
 * Ama tam Bootstrap'i yuklemek iki somut zarar verirdi:
 *   1) Onaylanan tasarim prototipi Bootstrap DEGIL -- kendi token'lari olan ozel
 *      bir dergi duzeni. Bootstrap'in kendi reset'i, tipografisi ve .container
 *      genisligi site kabuguyla catisir.
 *   2) Bootstrap'in renkleri SABIT. Koyu temada .bg-light beyaz, .text-dark siyah
 *      kalir -> koyu zeminde okunamayan bloklar. Site token'larini dinlemez.
 *
 * Cozum: yalnizca OLCULEN 150 sinif, `.prose` altina kapsanmis ve --s-* token'lariyla
 * yeniden tanimlanmis. Boyut ~6 KB (Bootstrap CSS ~30 KB gz) ve koyu tema bedava.
 *
 * BU DOSYA YENI ICERIK ICIN DEGIL. Yeni yazilar sade HTML uretmeli; burasi
 * yalnizca ITHAL EDILMIS arsivi dogru gostermek icin var.
 */

.prose { font-family: var(--serif); font-size: clamp(1rem, 1.35vw, 1.06rem);
  line-height: 1.72; color: var(--s-ink2); }
.prose > *:first-child { margin-top: 0; }
.prose p { margin: 0 0 14px; }
.prose h2 { font-family: var(--display); font-size: 1.36rem; margin: 26px 0 10px; color: var(--s-ink); scroll-margin-top: 20px; }
.prose h3 { font-family: var(--display); font-size: 1.14rem; margin: 20px 0 8px; color: var(--s-ink); scroll-margin-top: 20px; }
.prose h4, .prose h5, .prose h6 { font-family: var(--display); font-size: 1rem; margin: 16px 0 6px; color: var(--s-ink); }
.prose a { color: var(--brand); text-decoration: underline; text-underline-offset: 2px; }
.prose ul, .prose ol { margin: 0 0 14px; padding-left: 22px; }
.prose li { margin-bottom: 6px; }
.prose img { border-radius: 6px; }
.prose figure { margin: 18px 0; }
.prose figcaption { font-size: .74rem; color: var(--s-ink4); margin-top: 6px; }
.prose hr { border: 0; border-top: 1px solid var(--s-line); margin: 24px 0; }
.prose sup, .prose sub { font-size: .72em; }
.prose code, .prose .font-monospace { font-family: var(--mono); font-size: .88em; }

/* --- tipografi yardimcilari --- */
.prose .lead { font-size: 1.08em; font-weight: 400; color: var(--s-ink2); }
.prose .small, .prose .fs-6 { font-size: .875em; }
.prose .fs-5 { font-size: 1.06em; }
.prose .display-5, .prose .display-6 { font-family: var(--display); font-size: 1.5rem;
  font-weight: 800; color: var(--s-ink); margin: 22px 0 10px; }
.prose .h4 { font-size: 1.1rem; }
.prose .h5 { font-size: 1rem; }
.prose .h6 { font-size: .95rem; }
.prose .h4, .prose .h5, .prose .h6 { font-family: var(--display); font-weight: 700;
  color: var(--s-ink); display: block; margin-bottom: 6px; }
.prose .fw-light { font-weight: 300; }
.prose .fw-normal { font-weight: 400; }
.prose .fw-semibold { font-weight: 600; }
.prose .fw-bold { font-weight: 700; }
.prose .fst-italic, .prose .italic { font-style: italic; }
.prose .text-uppercase { text-transform: uppercase; letter-spacing: .06em; }
.prose .text-center { text-align: center; }
.prose .text-end { text-align: right; }
.prose .text-decoration-none { text-decoration: none; }
.prose .list-unstyled { list-style: none; padding-left: 0; }
.prose .align-middle { vertical-align: middle; }

/* --- renkler: SABIT DEGIL, token'a bagli (koyu tema calissin diye) --- */
.prose .text-muted, .prose .text-secondary, .prose .text-dark-50 { color: var(--s-ink4); }
.prose .text-dark { color: var(--s-ink); }
.prose .text-white { color: #fff; }
.prose .text-primary { color: var(--brand); }
.prose .text-success { color: #2E7D52; }
.prose .text-danger { color: #B3382F; }
.prose .text-warning, .prose .text-warning-emphasis { color: var(--ad); }
.prose .text-info { color: #2A7A88; }

.prose .bg-light { background: var(--s-bg2); }
.prose .bg-white { background: var(--s-bg); }
.prose .bg-dark { background: var(--s-strip); color: var(--s-strip-ink); }
.prose .bg-transparent { background: transparent; }
.prose .bg-primary { background: var(--brand); color: #fff; }
.prose .bg-secondary { background: var(--s-bg3); }
.prose .bg-success { background: #2E7D52; color: #fff; }
.prose .bg-danger { background: #B3382F; color: #fff; }
.prose .bg-warning { background: var(--ad); color: #fff; }
.prose .bg-info { background: #2A7A88; color: #fff; }

/* --- kenarlik --- */
.prose .border, .prose .border-top, .prose .border-bottom,
.prose .border-start, .prose .border-end { border-style: solid; border-color: var(--s-line); }
.prose .border { border-width: 1px; }
.prose .border-0 { border: 0 !important; }
.prose .border-top { border-width: 1px 0 0; }
.prose .border-bottom { border-width: 0 0 1px; }
.prose .border-start { border-width: 0 0 0 1px; }
.prose .border-end { border-width: 0 1px 0 0; }
.prose .border-4 { border-width: 4px; }
.prose .border-start.border-4 { border-width: 0 0 0 4px; }
.prose .border-primary { border-color: var(--brand); }
.prose .border-secondary { border-color: var(--s-ink4); }
.prose .border-success { border-color: #2E7D52; }
.prose .border-danger { border-color: #B3382F; }
.prose .border-warning { border-color: var(--ad); }
.prose .border-info { border-color: #2A7A88; }
.prose .border-dark { border-color: var(--s-ink); }
.prose .rounded { border-radius: 6px; }
.prose .rounded-end { border-radius: 0 6px 6px 0; }
.prose .rounded-pill { border-radius: 50rem; }
.prose .shadow-sm { box-shadow: 0 1px 2px rgba(20,30,25,.05), 0 2px 8px rgba(20,30,25,.05); }
:root[data-t="dark"] .prose .shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,.35), 0 2px 10px rgba(0,0,0,.3); }

/* --- bilesenler --- */
.prose .card { background: var(--s-bg); border: 1px solid var(--s-line);
  border-radius: 8px; margin: 18px 0; overflow: hidden; }
.prose .card-body { padding: 16px 18px; }
.prose .card-title { font-family: var(--display); font-weight: 800; font-size: 1.02rem;
  color: var(--s-ink); margin: 0 0 8px; display: block; }
.prose .card-text { margin: 0 0 10px; }
.prose .card-text:last-child { margin-bottom: 0; }

.prose .alert { border: 1px solid var(--s-line); border-radius: 8px; padding: 14px 17px; margin: 18px 0; }
.prose .alert-secondary { background: var(--s-bg2); }
.prose .alert-primary { background: var(--s-tldr-bg); border-color: var(--brand); }
.prose .alert-warning { background: color-mix(in srgb, var(--ad) 8%, transparent); border-color: var(--ad); }

.prose .list-group { margin: 16px 0; padding: 0; list-style: none;
  border: 1px solid var(--s-line); border-radius: 8px; overflow: hidden; }
.prose .list-group-flush { border: 0; border-radius: 0; }
.prose .list-group-item { padding: 11px 15px; border-bottom: 1px solid var(--s-line); margin: 0; }
.prose .list-group-item:last-child { border-bottom: 0; }
.prose .list-group-flush .list-group-item { padding-left: 0; padding-right: 0; }
.prose .list-group-numbered { counter-reset: lgn; }
.prose .list-group-numbered > .list-group-item::before {
  counter-increment: lgn; content: counter(lgn) ". "; font-weight: 700; color: var(--s-ink4); }
.prose .list-group-item-action:hover { background: var(--s-bg2); }
.prose .list-group-item.active { background: var(--s-bg3); font-weight: 600; }

.prose .badge { display: inline-block; font-size: .72em; font-weight: 700; padding: 3px 8px;
  border-radius: 4px; background: var(--s-bg3); color: var(--s-ink2); vertical-align: middle; }
.prose .badge.bg-primary { background: var(--brand); color: #fff; }

.prose blockquote, .prose .blockquote { border-left: 3px solid var(--s-line);
  margin: 18px 0; padding: 4px 0 4px 16px; color: var(--s-ink3); font-style: italic; }
.prose .blockquote-footer { display: block; font-size: .82em; font-style: normal;
  color: var(--s-ink4); margin-top: 6px; }
.prose .blockquote-footer::before { content: "— "; }

.prose table, .prose .table { width: 100%; border-collapse: collapse; font-family: var(--sans);
  font-size: .88rem; margin: 18px 0; }
.prose .table th, .prose .table td, .prose table th, .prose table td {
  padding: 9px 11px; border-bottom: 1px solid var(--s-line); text-align: left; vertical-align: top; }
.prose .table th, .prose table th { font-weight: 700; color: var(--s-ink); }
.prose .table-bordered th, .prose .table-bordered td { border: 1px solid var(--s-line); }
.prose .table-borderless th, .prose .table-borderless td { border: 0; }
.prose .table-sm th, .prose .table-sm td { padding: 6px 8px; }
.prose .table-striped tbody tr:nth-child(odd) { background: var(--s-bg2); }
.prose .table-light thead th, .prose .table-light { background: var(--s-bg2); }
.prose .table-dark { background: var(--s-strip); color: var(--s-strip-ink); }
.prose .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* accordion: JS YOK -> her zaman ACIK goster.
 * Katlanmis icerik hem erisilebilirlik hem GEO acisindan kotu; goruntulenmeyen
 * metin AI alintisina ve indekse girmez. */
.prose .accordion, .prose .accordion-item { border: 1px solid var(--s-line);
  border-radius: 8px; margin: 14px 0; }
.prose .accordion-item { border-radius: 0; border-width: 0 0 1px; margin: 0; }
.prose .accordion-header, .prose .accordion-button { font-family: var(--display);
  font-weight: 700; color: var(--s-ink); padding: 11px 15px; margin: 0; background: var(--s-bg2); }
.prose .accordion-collapse, .prose .collapse { display: block !important; height: auto !important; }
.prose .accordion-body { padding: 13px 15px; }

/* --- izgara: Bootstrap 12 kolon, ama flex yerine grid --- */
.prose .container, .prose .container-fluid { width: 100%; max-width: 100%; padding: 0; margin: 0; }
.prose .row { display: grid; grid-template-columns: repeat(12, minmax(0,1fr));
  gap: 16px; margin: 16px 0; }
.prose .row > * { grid-column: span 12; min-width: 0; }
.prose .g-3 { gap: 12px; } .prose .g-4 { gap: 16px; }
.prose .col, .prose .col-12, .prose .col-md-12, .prose .col-lg-12 { grid-column: span 12; }
@media (min-width: 768px) {
  .prose .col-md-4 { grid-column: span 4; }  .prose .col-md-6 { grid-column: span 6; }
  .prose .col-md-8 { grid-column: span 8; }  .prose .col-md-10 { grid-column: span 10; }
}
@media (min-width: 992px) {
  .prose .col-lg-4 { grid-column: span 4; }  .prose .col-lg-6 { grid-column: span 6; }
  .prose .col-lg-8 { grid-column: span 8; }  .prose .col-lg-9 { grid-column: span 9; }
  .prose .col-lg-10 { grid-column: span 10; }
}
.prose .h-100 { height: 100%; }
.prose .d-flex { display: flex; }
.prose .d-block { display: block; }
.prose .flex-column { flex-direction: column; }
.prose .align-items-center { align-items: center; }
.prose .justify-content-between { justify-content: space-between; }
.prose .justify-content-center { justify-content: center; }
.prose .mx-auto { margin-left: auto; margin-right: auto; }

/* --- bosluk yardimcilari: Bootstrap olcegi (0/.25/.5/1/1.5/3 rem) --- */
.prose .m-0{margin:0}.prose .p-0{padding:0}
.prose .mt-2{margin-top:.5rem}.prose .mt-3{margin-top:1rem}.prose .mt-4{margin-top:1.5rem}.prose .mt-5{margin-top:3rem}
.prose .mb-0{margin-bottom:0}.prose .mb-1{margin-bottom:.25rem}.prose .mb-2{margin-bottom:.5rem}
.prose .mb-3{margin-bottom:1rem}.prose .mb-4{margin-bottom:1.5rem}.prose .mb-5{margin-bottom:3rem}
.prose .my-2{margin-top:.5rem;margin-bottom:.5rem}.prose .my-3{margin-top:1rem;margin-bottom:1rem}
.prose .my-4{margin-top:1.5rem;margin-bottom:1.5rem}.prose .my-5{margin-top:3rem;margin-bottom:3rem}
.prose .me-2{margin-right:.5rem}
.prose .p-3{padding:1rem}.prose .p-4{padding:1.5rem}
.prose .pt-3{padding-top:1rem}.prose .pt-4{padding-top:1.5rem}
.prose .pb-2{padding-bottom:.5rem}.prose .pb-4{padding-bottom:1.5rem}
.prose .ps-0{padding-left:0}.prose .ps-3{padding-left:1rem}.prose .ps-4{padding-left:1.5rem}
.prose .pe-3{padding-right:1rem}.prose .px-0{padding-left:0;padding-right:0}
.prose .px-4{padding-left:1.5rem;padding-right:1.5rem}
.prose .py-1{padding-top:.25rem;padding-bottom:.25rem}.prose .py-2{padding-top:.5rem;padding-bottom:.5rem}
.prose .py-3{padding-top:1rem;padding-bottom:1rem}.prose .py-4{padding-top:1.5rem;padding-bottom:1.5rem}
@media (min-width:768px){.prose .mb-md-0{margin-bottom:0}}
