/* İçtihat.app · canlı gösterim bileşenleri
   konsol (atıf kapısı) · denetim (dilekçe denetleyici) · surum (tarihli mevzuat)
   · tasi (künyeli alıntı ve döküm). Hepsi JS'siz de anlamlı: son kare CSS ile
   [data-son] altında durağan görünür. Yalnız transform/opacity animasyonu. */

/* ---------- ortak çerçeve ---------- */
.sahne {
  position: relative;
  background: var(--zemin-kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-3);
  box-shadow: var(--golge);
  overflow: hidden;
}
.sahne__bar {
  display: flex; align-items: center; gap: var(--b-3);
  padding: 0.7rem 1rem; border-bottom: 1px solid var(--cizgi);
  font-family: var(--yazi-mono); font-size: var(--t-mini); letter-spacing: 0.06em; text-transform: uppercase; color: var(--murekkep-3);
}
.sahne__isik { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--dogru); box-shadow: 0 0 0 3px var(--dogru-zemin); flex: none; }
.sahne__baslik { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sahne__durdur {
  min-height: 2rem; padding: 0 0.6rem; border-radius: var(--r-1);
  font-family: var(--yazi-mono); font-size: var(--t-mini); letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--murekkep-2); box-shadow: inset 0 0 0 1px var(--cizgi-2);
}
.sahne__durdur:hover { color: var(--murekkep); box-shadow: inset 0 0 0 1px var(--murekkep); }
.sahne__govde { padding: clamp(1rem, 0.6rem + 1.4vw, 1.5rem); }
.sahne__not { padding: 0.75rem 1rem; border-top: 1px solid var(--cizgi); font-size: var(--t-mini); color: var(--murekkep-3); font-family: var(--yazi-mono); letter-spacing: 0.02em; display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; }
.temsili { font-family: var(--yazi-mono); font-size: var(--t-mini); letter-spacing: 0.08em; text-transform: uppercase; color: var(--murekkep-3); }

/* ---------- 1 · atıf kapısı ---------- */
.konsol__soru {
  display: grid; grid-template-columns: auto 1fr; gap: var(--b-3); align-items: start;
  margin-bottom: var(--b-5); padding-bottom: var(--b-4); border-bottom: 1px dashed var(--cizgi-2);
  font-family: var(--yazi-serif); font-size: 1.25rem; line-height: 1.3; color: var(--murekkep);
}
.etiket { font-family: var(--yazi-mono); font-size: var(--t-mini); letter-spacing: 0.1em; text-transform: uppercase; color: var(--murekkep-3); padding-top: 0.35rem; }
.konsol__cumleler { display: grid; gap: 0.75rem; }
.cumle {
  position: relative; display: grid; grid-template-columns: 1fr auto; gap: 0.75rem; align-items: start;
  padding: 0.7rem 0.85rem; border-radius: var(--r-2); background: transparent;
  opacity: 0; transform: translateY(8px);
  transition: opacity var(--sure-2) var(--egri-cikis), transform var(--sure-2) var(--egri-cikis), background-color var(--sure-2) var(--egri);
}
.cumle--yazildi, [data-son] .cumle { opacity: 1; transform: none; }
.cumle__metin { font-size: 1rem; line-height: 1.55; color: var(--murekkep); }
.cumle__atif { font-family: var(--yazi-mono); font-size: max(0.8125rem, 0.78em); color: var(--vurgu); font-weight: 600; letter-spacing: 0.04em; vertical-align: 0.15em; margin-left: 0.2em; }
.cumle__rozet {
  display: inline-flex; align-items: center; gap: 0.45rem; min-width: 5.6rem; justify-content: flex-end;
  font-family: var(--yazi-mono); font-size: var(--t-mini); font-weight: 600; letter-spacing: 0.04em; padding: 0.3rem 0.5rem; border-radius: var(--r-1);
  color: var(--murekkep-3); box-shadow: inset 0 0 0 1px var(--cizgi); font-variant-numeric: tabular-nums; white-space: nowrap;
  transition: color var(--sure-2) var(--egri), box-shadow var(--sure-2) var(--egri), background-color var(--sure-2) var(--egri);
}
.cumle__puan { min-width: 2.4rem; text-align: right; }
.cumle__not { grid-column: 1 / -1; display: none; font-family: var(--yazi-mono); font-size: var(--t-mini); letter-spacing: 0.04em; color: var(--hata); }
.cumle--denetleniyor { background: color-mix(in srgb, var(--vurgu) 8%, transparent); }
.cumle--denetleniyor::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--vurgu) 22%, transparent) 50%, transparent 100%);
  transform: translateX(-100%); animation: tarama 760ms linear 1;
}
@keyframes tarama { to { transform: translateX(100%); } }
.cumle--denetleniyor .cumle__rozet { color: var(--vurgu); box-shadow: inset 0 0 0 1px var(--vurgu); }
.cumle--gecti .cumle__rozet { color: var(--dogru); background: var(--dogru-zemin); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--dogru) 45%, transparent); }
.cumle--silindi { background: var(--hata-zemin); }
.cumle--silindi .cumle__metin { text-decoration: line-through; text-decoration-color: var(--hata); text-decoration-thickness: 2px; color: var(--murekkep-3); }
.cumle--silindi .cumle__rozet { color: var(--hata); background: var(--hata-zemin); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hata) 45%, transparent); }
.cumle--silindi .cumle__not { display: block; }
/* JS yokken: son kare (data-sonuc HTML'de) */
.cumle__puan:empty::before { content: "…"; }
[data-son] .cumle__puan:empty::before { content: attr(data-puan); }
[data-son] .cumle[data-sonuc="gecti"] .cumle__rozet { color: var(--dogru); background: var(--dogru-zemin); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--dogru) 45%, transparent); }
[data-son] .cumle[data-sonuc="silindi"] { background: var(--hata-zemin); }
[data-son] .cumle[data-sonuc="silindi"] .cumle__metin { text-decoration: line-through; text-decoration-color: var(--hata); text-decoration-thickness: 2px; color: var(--murekkep-3); }
[data-son] .cumle[data-sonuc="silindi"] .cumle__rozet { color: var(--hata); background: var(--hata-zemin); }
[data-son] .cumle[data-sonuc="silindi"] .cumle__not { display: block; }
[data-son] .kaynak[data-sonuc="evet"] { border-left-color: var(--belge-dogru); }
[data-son] .kaynak[data-sonuc="hayir"] { border-left-color: var(--belge-hata); }
[data-son] .konsol__ozet:empty::before { content: attr(data-son-metin); }
.konsol__kaynaklar { display: grid; grid-template-columns: 1fr; gap: 0.6rem; margin-top: var(--b-5); }
.kaynak {
  position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 0.25rem 0.75rem; align-items: center;
  padding: 0.75rem 0.9rem; border-radius: var(--r-2);
  background: var(--belge); color: var(--belge-murekkep); border-left: 3px solid var(--belge-cizgi);
  box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 6px 18px -8px rgba(0,0,0,.35);
  transition: border-color var(--sure-2) var(--egri), box-shadow var(--sure-2) var(--egri), transform var(--sure-2) var(--egri);
}
.kaynak__kod { grid-column: 1; grid-row: 1 / 3; font-family: var(--yazi-mono); font-weight: 600; font-size: var(--t-kucuk); color: var(--belge-vurgu); padding: 0.2rem 0.45rem; border: 1px solid var(--belge-cizgi); border-radius: var(--r-1); }
.kaynak__ad { grid-column: 2; grid-row: 1; font-family: var(--yazi-serif); font-size: 1.0625rem; line-height: 1.25; }
.kaynak__tur { grid-column: 2; grid-row: 2; font-family: var(--yazi-mono); font-size: var(--t-mini); color: var(--belge-murekkep-2); letter-spacing: 0.02em; }
.kaynak__durum { grid-column: 3; grid-row: 1 / 3; align-self: center; min-width: 6.5rem; text-align: right; white-space: nowrap; font-family: var(--yazi-mono); font-size: var(--t-mini); font-weight: 600; letter-spacing: 0.04em; opacity: 0; transform: translateY(-4px); transition: opacity var(--sure-2), transform var(--sure-2); }
.kaynak--soruluyor { border-left-color: var(--vurgu); transform: translateY(-2px); box-shadow: 0 0 0 2px color-mix(in srgb, var(--vurgu) 55%, transparent), 0 12px 28px -10px rgba(0,0,0,.45); }
.kaynak--soruluyor .kaynak__durum { opacity: 1; transform: none; color: var(--belge-vurgu); }
.kaynak--soruluyor .kaynak__durum::before { content: "soruluyor…"; }
.kaynak--evet { border-left-color: var(--belge-dogru); }
.kaynak--evet .kaynak__durum { opacity: 1; transform: none; color: var(--belge-dogru); }
.kaynak--evet .kaynak__durum::before { content: "dayanak var"; }
.kaynak--hayir { border-left-color: var(--belge-hata); }
.kaynak--hayir .kaynak__durum { opacity: 1; transform: none; color: var(--belge-hata); }
.kaynak--hayir .kaynak__durum::before { content: "dayanak yok"; }
.konsol__ozet {
  margin-top: var(--b-4); min-height: 1.5rem; font-family: var(--yazi-mono); font-size: var(--t-kucuk); color: var(--murekkep);
  opacity: 0; transform: translateY(4px); transition: opacity var(--sure-2), transform var(--sure-2);
}
.konsol__ozet.gorunur, [data-son] .konsol__ozet { opacity: 1; transform: none; }
.konsol__ozet::before { content: "→ "; color: var(--vurgu); }

/* ---------- 2 · dilekçe atıf denetleyici ---------- */
.denetim { display: grid; grid-template-columns: 1fr; gap: 0; }
@media (min-width: 900px) { .denetim { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.denetim__belge {
  background: var(--belge); color: var(--belge-murekkep); padding: clamp(1.25rem, 1rem + 1.5vw, 2rem);
  font-family: var(--yazi-serif); font-size: 1.0625rem; line-height: 1.7; border-right: 1px solid var(--cizgi);
  background-image: repeating-linear-gradient(180deg, transparent 0 1.69em, var(--belge-cizgi) 1.69em calc(1.69em + 1px));
  background-size: 100% 1.7em; background-origin: content-box;
}
.denetim__belge p + p { margin-top: 1em; }
.denetim__belge-bas { font-family: var(--yazi-mono); font-size: var(--t-mini); letter-spacing: 0.1em; text-transform: uppercase; color: var(--belge-murekkep-3); margin-bottom: 1em; display: flex; justify-content: space-between; gap: 1rem; }
mark[data-atif] { background: transparent; color: inherit; border-radius: 3px; padding: 0 0.15em; box-decoration-break: clone; -webkit-box-decoration-break: clone; transition: background-color var(--sure-2), box-shadow var(--sure-2), color var(--sure-2); }
mark.taraniyor { background: color-mix(in srgb, var(--belge-vurgu) 14%, transparent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--belge-vurgu) 45%, transparent); }
mark.a-tamam, [data-son] mark[data-atif="tamam"] { background: color-mix(in srgb, var(--belge-dogru) 14%, transparent); box-shadow: inset 0 -2px 0 var(--belge-dogru); }
mark.a-uyari, [data-son] mark[data-atif="uyari"] { background: color-mix(in srgb, var(--belge-dikkat) 18%, transparent); box-shadow: inset 0 -2px 0 var(--belge-dikkat); }
mark.a-bulunamadi, [data-son] mark[data-atif="bulunamadi"] { background: color-mix(in srgb, var(--belge-hata) 12%, transparent); box-shadow: inset 0 -2px 0 var(--belge-hata); text-decoration: wavy underline var(--belge-hata); }
.denetim__sonuc { padding: clamp(1rem, 0.8rem + 1vw, 1.5rem); display: grid; align-content: start; gap: 0.75rem; }
.denetim__bas { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; font-family: var(--yazi-mono); font-size: var(--t-mini); letter-spacing: 0.08em; text-transform: uppercase; color: var(--murekkep-3); }
.denetim__ilerleme { height: 2px; background: var(--cizgi); border-radius: 2px; overflow: hidden; }
.denetim__ilerleme > span { display: block; height: 100%; background: var(--vurgu); transform-origin: left; transform: scaleX(0); transition: transform var(--sure-3) var(--egri); }
[data-son] .denetim__ilerleme > span { transform: scaleX(1); }
.denetim-satir {
  display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 0.85rem; align-items: start;
  padding: 0.75rem 0.85rem; border-radius: var(--r-2); border: 1px solid var(--cizgi); background: var(--zemin-2);
  opacity: 0; transform: translateY(10px); transition: opacity var(--sure-2) var(--egri-cikis), transform var(--sure-2) var(--egri-cikis);
}
.denetim-satir.gorunur, [data-son] .denetim-satir { opacity: 1; transform: none; }
.denetim-satir .rozet { grid-row: span 2; align-self: start; margin-top: 0.1rem; }
.denetim-satir__ad { font-weight: 500; color: var(--murekkep); font-size: var(--t-kucuk); }
.denetim-satir__ad .mono { color: var(--murekkep-2); font-size: var(--t-mini); }
.denetim-satir__not { font-size: var(--t-kucuk); color: var(--murekkep-2); line-height: 1.45; }
.denetim__sayim { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; font-family: var(--yazi-mono); font-size: var(--t-mini); color: var(--murekkep-3); padding-top: 0.5rem; border-top: 1px dashed var(--cizgi-2); }
.denetim__sayim b { color: var(--murekkep); font-weight: 600; }

/* ---------- 3 · tarihli mevzuat ---------- */
.surum { display: grid; gap: var(--b-4); }
.surum__zaman { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; padding-top: 1.25rem; }
.surum__zaman::before { content: ""; position: absolute; left: 0; right: 0; top: 0.5rem; height: 1px; background: var(--cizgi-2); }
.surum__ibre { position: absolute; top: 0; left: 0; width: 1.125rem; height: 1.125rem; border-radius: 50%; background: var(--vurgu); box-shadow: 0 0 0 4px color-mix(in srgb, var(--vurgu) 25%, transparent); transform: translateX(calc(var(--konum, 0) * (var(--genislik, 100%) - 1.125rem))); transition: transform var(--sure-3) var(--egri-cikis); }
.surum__tarih {
  min-height: var(--hedef); text-align: left; display: grid; gap: 0.15rem; padding: 0.4rem 0.5rem; border-radius: var(--r-2);
  font-family: var(--yazi-mono); font-size: var(--t-mini); letter-spacing: 0.04em; color: var(--murekkep-3);
  transition: color var(--sure-2), background-color var(--sure-2);
}
.surum__tarih b { font-family: var(--yazi-sans); font-weight: 500; font-size: var(--t-kucuk); letter-spacing: 0; color: var(--murekkep-2); }
.surum__tarih[aria-pressed="true"] { color: var(--vurgu); background: color-mix(in srgb, var(--vurgu) 8%, transparent); }
.surum__tarih[aria-pressed="true"] b { color: var(--murekkep); }
.surum__panel {
  background: var(--belge); color: var(--belge-murekkep); border-radius: var(--r-2); padding: clamp(1.1rem, 0.9rem + 1vw, 1.6rem);
  font-family: var(--yazi-serif); font-size: 1.0625rem; line-height: 1.65;
}
.surum__panel.yeni { animation: belirme var(--sure-3) var(--egri-cikis); }
@keyframes belirme { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.surum__panel-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; margin-bottom: 0.8rem; font-family: var(--yazi-mono); font-size: var(--t-mini); letter-spacing: 0.06em; text-transform: uppercase; color: var(--belge-murekkep-3); }
.surum__panel ins { text-decoration: none; background: color-mix(in srgb, var(--belge-dogru) 16%, transparent); box-shadow: inset 0 -2px 0 var(--belge-dogru); padding: 0 0.1em; border-radius: 2px; }
.surum__panel del { color: var(--belge-murekkep-3); text-decoration-color: var(--belge-hata); text-decoration-thickness: 1.5px; }
.surum__takip { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: center; padding: 0.85rem 1rem; border: 1px solid var(--cizgi); border-radius: var(--r-2); background: var(--zemin-2); }
.surum__takip svg { width: 1.5rem; height: 1.5rem; color: var(--vurgu); }
.surum__takip b { display: block; font-weight: 500; color: var(--murekkep); font-size: var(--t-kucuk); }
.surum__takip span { font-size: var(--t-mini); color: var(--murekkep-2); font-family: var(--yazi-mono); }

/* ---------- 4 · taşı ---------- */
.tasi { position: relative; display: grid; gap: 0.75rem; }
.tasi__adim {
  display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 0.85rem; align-items: start; padding: 0.85rem 1rem;
  border: 1px solid var(--cizgi); border-radius: var(--r-2); background: var(--zemin-2);
  opacity: 0.45; transform: translateX(-6px); transition: opacity var(--sure-2), transform var(--sure-2), border-color var(--sure-2), box-shadow var(--sure-2);
}
.tasi__adim.gorunur, [data-son] .tasi__adim { opacity: 1; transform: none; }
.tasi__adim.aktif { border-color: var(--vurgu); box-shadow: 0 0 0 1px var(--vurgu); }
.tasi__no { grid-row: span 2; font-family: var(--yazi-mono); font-size: var(--t-mini); font-weight: 600; color: var(--vurgu); padding-top: 0.15rem; }
.tasi__ad { font-weight: 500; color: var(--murekkep); font-size: var(--t-kucuk); }
.tasi__kunye { font-family: var(--yazi-mono); font-size: var(--t-mini); line-height: 1.5; color: var(--murekkep-2); padding: 0.55rem 0.7rem; border-radius: var(--r-1); background: var(--belge); color: var(--belge-murekkep-2); }
.tasi__toast {
  position: absolute; right: 1rem; top: -0.5rem; z-index: 2; padding: 0.5rem 0.8rem; border-radius: var(--r-2);
  background: var(--murekkep); color: var(--zemin); font-family: var(--yazi-mono); font-size: var(--t-mini); font-weight: 600; letter-spacing: 0.04em;
  opacity: 0; transform: translateY(-6px); transition: opacity var(--sure-2), transform var(--sure-2); pointer-events: none;
}
.tasi__toast.gorunur { opacity: 1; transform: none; }
.tasi__dokum { display: grid; gap: 0.35rem; }
.tasi__dokum li { display: grid; grid-template-columns: auto 1fr; gap: 0.6rem; font-size: var(--t-mini); color: var(--murekkep-2); }
.tasi__dokum li::before { content: "▪"; color: var(--vurgu); }

/* ---------- 5 · ürün ekranı: ara + oku (durağan mock) ---------- */
.ekran { display: grid; grid-template-columns: 1fr; }
@media (min-width: 900px) { .ekran { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.ekran__sonuclar { padding: 1rem; border-right: 1px solid var(--cizgi); display: grid; gap: 0.75rem; align-content: start; background: var(--zemin-2); }
.ekran__arama { display: flex; align-items: center; gap: 0.6rem; min-height: 2.75rem; padding: 0 0.85rem; border-radius: var(--r-2); background: var(--zemin); box-shadow: inset 0 0 0 1px var(--cizgi-2); font-size: var(--t-kucuk); color: var(--murekkep); }
.ekran__arama svg { width: 1.1rem; height: 1.1rem; color: var(--murekkep-3); flex: none; }
.ekran__arama kbd { margin-left: auto; font-family: var(--yazi-mono); font-size: var(--t-mini); color: var(--murekkep-3); border: 1px solid var(--cizgi-2); border-radius: 4px; padding: 0.1rem 0.4rem; }
.ekran__suzgec { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ekran__suzgec span { font-family: var(--yazi-mono); font-size: var(--t-mini); color: var(--murekkep-2); padding: 0.3rem 0.55rem; border-radius: var(--r-tam); box-shadow: inset 0 0 0 1px var(--cizgi-2); }
.ekran__suzgec span.secili { color: var(--vurgu); box-shadow: inset 0 0 0 1px var(--vurgu); }
.ekran__sayim { font-family: var(--yazi-mono); font-size: var(--t-mini); color: var(--murekkep-3); letter-spacing: 0.04em; }
.ekran__sonuc { display: grid; gap: 0.35rem; padding: 0.8rem 0.9rem; border-radius: var(--r-2); border: 1px solid var(--cizgi); background: var(--zemin-kart); }
.ekran__sonuc.aktif { border-color: var(--vurgu); box-shadow: 0 0 0 1px var(--vurgu); }
.ekran__sonuc-ust { display: flex; justify-content: space-between; gap: 0.5rem; align-items: center; font-family: var(--yazi-mono); font-size: var(--t-mini); color: var(--murekkep-3); }
.ekran__sonuc h4 { font-family: var(--yazi-serif); font-size: 1.0625rem; font-weight: 500; line-height: 1.3; color: var(--murekkep); }
.ekran__sonuc p { font-size: var(--t-mini); color: var(--murekkep-2); line-height: 1.5; }
.ekran__okuma { background: var(--belge); color: var(--belge-murekkep); padding: clamp(1.1rem, 0.9rem + 1vw, 1.6rem); display: grid; gap: 0.9rem; align-content: start; }
.ekran__okuma-bas { display: grid; gap: 0.25rem; }
.ekran__okuma-bas h4 { font-family: var(--yazi-serif); font-size: 1.375rem; font-weight: 500; }
.ekran__okuma .etiket, .denetim__belge .etiket, .surum__panel .etiket { color: var(--belge-murekkep-3); }
.ekran__kunye { font-family: var(--yazi-mono); font-size: var(--t-mini); color: var(--belge-murekkep-2); letter-spacing: 0.02em; }
.ekran__eylemler { display: flex; flex-wrap: wrap; gap: 0.4rem; padding-block: 0.6rem; border-block: 1px solid var(--belge-cizgi); }
.ekran__eylemler span { font-size: var(--t-mini); font-weight: 500; color: var(--belge-murekkep); padding: 0.4rem 0.65rem; border-radius: var(--r-1); border: 1px solid var(--belge-cizgi); background: var(--belge-2); }
.ekran__eylemler span.birincil { background: var(--belge-vurgu); color: #FFFDF8; border-color: var(--belge-vurgu); }
.ekran__metin { font-family: var(--yazi-serif); font-size: 1.0625rem; line-height: 1.7; display: grid; gap: 0.8rem; }
.ekran__metin mark { background: color-mix(in srgb, var(--belge-vurgu) 14%, transparent); color: inherit; box-shadow: inset 0 -2px 0 var(--belge-vurgu); padding: 0 0.1em; }
.ekran__yan { display: grid; gap: 0.4rem; padding-top: 0.8rem; border-top: 1px dashed var(--belge-cizgi); }
.ekran__yan .etiket { color: var(--belge-murekkep-3); padding: 0; }
.ekran__yan-liste { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ekran__yan-liste span { font-family: var(--yazi-mono); font-size: var(--t-mini); color: var(--belge-vurgu); border: 1px solid var(--belge-cizgi); border-radius: var(--r-1); padding: 0.25rem 0.5rem; background: var(--belge-2); }

/* ---------- 6 · kapı şeması: cümle → kaynak → olasılık → eşik ---------- */
.sema { display: grid; gap: 0.5rem; counter-reset: sema; }
@media (min-width: 700px) { .sema { grid-template-columns: repeat(4, 1fr); gap: 0; } }
.sema__dugum { position: relative; display: grid; gap: 0.4rem; padding: 1rem 1.1rem; border: 1px solid var(--cizgi); border-radius: var(--r-2); background: var(--zemin-kart); }
.sema__dugum b { font-family: var(--yazi-serif); font-size: 1.25rem; font-weight: 500; color: var(--murekkep); }
.sema__dugum span { font-size: var(--t-mini); color: var(--murekkep-2); line-height: 1.45; }
.sema__dugum i { font-style: normal; font-family: var(--yazi-mono); font-size: var(--t-mini); color: var(--vurgu); letter-spacing: 0.08em; }
@media (min-width: 700px) {
  .sema__dugum { border-radius: 0; border-right: 0; }
  .sema__dugum:first-child { border-radius: var(--r-2) 0 0 var(--r-2); }
  .sema__dugum:last-child { border-right: 1px solid var(--cizgi); border-radius: 0 var(--r-2) var(--r-2) 0; }
  .sema__dugum::after { content: "→"; position: absolute; right: -0.55rem; top: 0.9rem; z-index: 1; width: 1.1rem; height: 1.1rem; display: grid; place-items: center; border-radius: 50%; background: var(--vurgu); color: var(--vurgu-metin); font-size: 0.7rem; font-weight: 700; }
  .sema__dugum:last-child::after { display: none; }
}
.sema__dugum--kapi { border-color: var(--vurgu); box-shadow: inset 0 0 0 1px var(--vurgu); }
.sema__akis { position: relative; height: 3px; margin-top: 0.75rem; border-radius: 3px; background: var(--cizgi); overflow: hidden; }
.sema__akis::before { content: ""; position: absolute; inset: 0; width: 22%; border-radius: 3px; background: linear-gradient(90deg, transparent, var(--vurgu), transparent); transform: translateX(200%); }
.js-hareket [data-gir].gorunur .sema__akis::before { animation: akis 3s linear 1 both; }
@keyframes akis { from { transform: translateX(-100%); } to { transform: translateX(560%); } }
@media (prefers-reduced-motion: reduce) { .sema__akis::before { animation: none; transform: translateX(200%); } }

/* dar ekranda kaynak kartı: durum etiketi alta iner */
@media (max-width: 479px) {
  .kaynak { grid-template-columns: auto 1fr; }
  .kaynak__durum { grid-column: 2; grid-row: 3; text-align: left; min-width: 0; margin-top: 0.15rem; }
}
/* taşı: içerik sarmalayıcısı */
.tasi__adim { grid-template-columns: auto 1fr; }
.tasi__no { grid-row: auto; }
.tasi__icerik { display: grid; gap: 0.4rem; min-width: 0; }
