/* ==========================================================================
   Praxys BI — "01 · Veri kaynakları" şeması: kaynak kartları → tek veri modeli → panolar (akan ışık çizgileri)
   Yalnız praxys-bi.html yükler. İşaretleme: praxys-bi.html içinde.
   Çizgiler JS ile kartların gerçek konumlarından çizilir; JS yoksa kartlar ve çekirdek yine okunur. En küçük yazı 12,5 px.
   ==========================================================================*/
.bisrc-wrapx { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 280px) minmax(0, 1fr); gap: 56px; align-items: center; }
.bisrc-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.bisrc-lines .bisrc-halo { fill: none; stroke: #4062F4; stroke-opacity: .12; stroke-width: 6; stroke-linecap: round; }
.bisrc-lines .bisrc-ln { fill: none; stroke: url(#bisrc-gL); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 0 6 0 6 18 7; }
.bisrc-lines .bisrc-pl { fill: #fff; stroke: #4062F4; stroke-width: 2; }
.bisrc-col { position: relative; z-index: 1; display: grid; gap: 10px; }
.bisrc-cap { font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.bisrc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bisrc-card { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 10px 22px -18px rgba(var(--navy-950-rgb), .5); }
.bisrc-card::after { content: ""; position: absolute; inset: -3px; border-radius: 16px; border: 2px solid var(--blue-500); opacity: var(--on, 0); pointer-events: none; }
.bisrc-card .ic { width: 20px; height: 20px; color: var(--tq); }
.bisrc-nm { font-size: 15px; font-weight: 500; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bisrc-tm { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bisrc-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blue-500); box-shadow: 0 0 0 3px rgba(var(--blue-500-rgb), calc(.15 * var(--on, 0) + .08)); }
.bisrc-vl { display: grid; justify-items: end; line-height: 1.2; white-space: nowrap; }
.bisrc-vl small { font-size: 12.5px; color: var(--muted); }
.bisrc-vl b { font-size: 15px; font-weight: 700; color: var(--navy-800); font-variant-numeric: tabular-nums; }
.bisrc-note { position: relative; z-index: 1; margin: -40px 2px 0; font-size: 12.5px; color: var(--muted); }   /* 1. sütunun altında; dar ekranda en sonda */
.bisrc-core { position: relative; z-index: 1; display: grid; justify-items: center; gap: 4px; padding: 18px 16px 16px; border-radius: 20px; background: linear-gradient(180deg, #fff, var(--blue-50)); border: 1px solid var(--blue-200); box-shadow: 0 24px 40px -28px rgba(var(--navy-950-rgb), .6); text-align: center; }
.bisrc-core::after { content: ""; position: absolute; inset: -4px; border-radius: 23px; border: 2px solid var(--blue-500); opacity: var(--on, 0); pointer-events: none; }
.bisrc-core-svg { width: 132px; height: auto; display: block; margin-bottom: 2px; }
.bisrc-core > b { font-size: 17px; letter-spacing: -.01em; color: var(--ink); }
.bisrc-core > span { font-size: 13px; color: var(--muted); }
.bisrc-def { display: grid; grid-template-columns: auto auto; justify-content: center; column-gap: 8px; margin: 10px 0 0; padding: 8px 12px; border-radius: 12px; background: #fff; border: 1px solid var(--blue-300); }
.bisrc-def small { grid-column: 1 / -1; font-size: 12.5px; font-weight: 600; color: var(--blue-600); }
.bisrc-def b { font-size: 20px; letter-spacing: -.02em; color: var(--navy-800); font-variant-numeric: tabular-nums; }
.bisrc-def em { align-self: end; padding-bottom: 3px; font-style: normal; font-size: 13px; font-weight: 600; color: var(--blue-600); }
.bisrc-def span { grid-column: 1 / -1; font-size: 12.5px; color: var(--ink-2); }

/* dar: üst üste (kaynaklar → çekirdek → panolar); çizgiler dikey. Kapsayıcı sorgusu kendine uygulanmadığı için görünüm genişliği */
@media (max-width: 860px) {
  .bisrc-wrapx { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .bisrc-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .bisrc-card { grid-template-columns: auto minmax(0, 1fr); gap: 4px 10px; padding: 10px 12px; }
  .bisrc-nm { font-size: 14px; white-space: normal; overflow: visible; }
  .bisrc-tm, .bisrc-vl { grid-column: 2; justify-items: start; }
  .bisrc-core { justify-self: center; width: min(100%, 320px); }
  .bisrc-note { margin: -20px 2px 0; }
}
