/* DomainAnalizi.com arayüz stilleri: tasarım tokenları assets/ds.css'te (Bootstrap 5.3 + ds.css üzerine) */
:root {
  --da-accent: var(--ds-brand);
  --da-good: var(--ds-good);
  --da-warn: var(--ds-warn);
  --da-bad: var(--ds-bad);
  --da-card-radius: 1rem;
  --da-heat-0: #e8ebf0;
  --da-heat-1: #a4bcfd;
  --da-heat-2: #2563eb;
}
[data-bs-theme="dark"] {
  --da-heat-0: #1f2430;
  --da-heat-1: #2b4aa8;
  --da-heat-2: #5b8cff;
}

/* Rapor kartları */
.da-card { border: 1px solid var(--ds-border); border-radius: var(--da-card-radius); background: var(--ds-surface); box-shadow: var(--ds-shadow-sm); overflow: hidden; }
.da-card > .card-header {
  background: transparent; border-bottom: 1px solid var(--ds-border); font-weight: 650; font-size: .95rem; letter-spacing: -.01em;
  display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; padding: .8rem 1.1rem;
}
.da-card > .card-header > .bi:first-child {
  width: 28px; height: 28px; border-radius: 8px; display: inline-grid; place-items: center; font-size: .9rem;
  color: var(--ds-brand-on-soft); background: var(--ds-brand-soft); flex: 0 0 auto;
}
.da-card > .card-header .da-meta { margin-left: auto; font-weight: 450; font-size: .75rem; color: var(--ds-text-3); }
.da-card > .card-body { padding: 1.05rem 1.1rem; }
.da-locked .card-body { background: repeating-linear-gradient(135deg, transparent 0 12px, var(--ds-surface-2) 12px 24px); }
/* Araştırma linkleri: logo / simge / baş harf (görev #86) */
.da-links li a { display: inline-flex; align-items: center; gap: .45rem; }
.da-link-logo, .da-link-harf, .da-link-ikon { flex: none; width: 18px; height: 18px; border-radius: 4px; }
.da-link-logo { box-sizing: border-box; background: #fff; padding: 1px; box-shadow: 0 0 0 1px var(--ds-border); object-fit: contain; }
.da-link-harf { display: inline-grid; place-items: center; font-size: .66rem; font-weight: 700; color: var(--ds-text-2); background: var(--ds-surface-3, var(--ds-surface-2)); box-shadow: 0 0 0 1px var(--ds-border); }
.da-link-ikon { display: inline-grid; place-items: center; font-size: .85rem; color: var(--ds-text-3); }
/* Tek üyelik bloğu (görev #70) */
.da-locked-list { display: grid; gap: .65rem; }
.da-locked-list li { display: flex; gap: .65rem; align-items: flex-start; }
.da-locked-list li > i { color: var(--ds-text-3); font-size: 1.05rem; line-height: 1.4; }
.da-locked-list strong { display: block; font-size: .92rem; }
.da-locked-list span { display: block; font-size: .84rem; color: var(--ds-text-2); }

/* Rapor başlığı */
.da-report-head h1 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); font-weight: 760; letter-spacing: -.035em; }
.da-report-head .da-eyebrow { font-size: .78rem; font-weight: 600; color: var(--ds-text-3); text-transform: uppercase; letter-spacing: .06em; }
/* Bölüm şeridi ve mobil özet (görev #68) */
.da-bolumler { position: sticky; top: var(--da-nav-h, 57px); z-index: 1020; margin-bottom: 1.25rem; background: var(--ds-nav-bg); -webkit-backdrop-filter: saturate(1.6) blur(14px); backdrop-filter: saturate(1.6) blur(14px); border-bottom: 1px solid var(--ds-border); }
/* Başlıktaki açılır menüler (Paylaş, Diğer; görev #166) yapışkan şeridin altında kalmasın; üst menünün (1030) altında */
.da-report-head .dropdown-menu { z-index: 1025; }
.da-bolumler [data-bolumler] { display: flex; gap: .3rem; overflow-x: auto; scrollbar-width: none; padding-block: .4rem; scroll-snap-type: x proximity; }
.da-bolumler [data-bolumler]::-webkit-scrollbar { display: none; }
.da-bolumler a { flex: none; display: inline-flex; align-items: center; min-height: 32px; padding: .25rem .75rem; border-radius: 999px; font-size: .82rem; font-weight: 550; color: var(--ds-text-2); text-decoration: none; scroll-snap-align: start; }
.da-bolumler a:hover { color: var(--ds-text); background: var(--ds-surface-2); }
.da-bolumler a[aria-current="true"] { color: var(--ds-brand-on-soft); background: var(--ds-brand-soft); }
.da-card { scroll-margin-top: calc(var(--da-nav-h, 57px) + 56px); }
.da-mobil-ozet { --c: var(--ds-text-3); display: grid; grid-template-columns: 1fr auto; gap: .05rem .75rem; align-items: center; margin-bottom: 1rem; padding: .7rem .9rem; border: 1px solid var(--ds-border); border-left: 4px solid var(--c); border-radius: .7rem; background: var(--ds-surface-2); color: var(--ds-text); text-decoration: none; }
.da-mobil-ozet-ust { grid-column: 1 / -1; font-size: .75rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--ds-text-3); }
.da-mobil-ozet strong { font-size: 1.15rem; font-weight: 760; color: var(--c); }
.da-mobil-ozet-puan { grid-column: 1; font-size: .85rem; color: var(--ds-text-2); }
.da-mobil-ozet-git { grid-column: 2; grid-row: 2 / span 2; font-size: .82rem; color: var(--ds-text-2); }
#da-badges .badge { font-size: .78rem; }
.da-kv { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: .45rem .9rem; margin: 0; }
.da-kv dt { font-weight: 500; color: var(--ds-text-3); font-size: .88rem; }
.da-kv dd { margin: 0; word-break: break-word; }
.da-skeleton { height: .9rem; border-radius: .4rem; background: linear-gradient(90deg, var(--ds-surface-2) 25%, var(--ds-surface-3) 50%, var(--ds-surface-2) 75%); background-size: 400% 100%; animation: da-shimmer 1.4s infinite; margin: .45rem 0; }
@keyframes da-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .da-skeleton { animation: none; } }

.da-score-ring {
  --p: 0; --c: var(--da-accent);
  width: 120px; height: 120px; border-radius: 50%;
  background: conic-gradient(var(--c) calc(var(--p) * 1%), var(--bs-secondary-bg) 0);
  display: grid; place-items: center; flex: 0 0 auto;
}
.da-score-ring > span {
  width: 92px; height: 92px; border-radius: 50%; background: var(--bs-body-bg);
  display: grid; place-items: center; font-size: 1.8rem; font-weight: 700;
}
.da-proscons li { margin-bottom: .2rem; }
.da-checklist li { margin-bottom: .15rem; }
.da-score-ring.da-ring-sm { width: 72px; height: 72px; }
.da-score-ring.da-ring-sm > span { width: 54px; height: 54px; font-size: 1.15rem; }
.da-spark { vertical-align: middle; color: var(--da-accent); margin-left: .25rem; }
.da-badge-status { font-weight: 500; }

.da-heat { overflow-x: auto; }
.da-heat table { border-collapse: separate; border-spacing: 3px; font-size: .75rem; }
.da-heat td, .da-heat th { padding: 0; text-align: center; }
.da-heat th { font-weight: 500; color: var(--bs-secondary-color); padding: 0 .3rem; }
.da-heat a, .da-heat span.cell {
  display: block; width: 18px; height: 18px; border-radius: 3px; background: var(--da-heat-0);
}
.da-heat a { background: var(--da-heat-2); }
.da-heat a:hover, .da-heat a:focus { outline: 2px solid var(--bs-emphasis-color); }
.da-heat .da-heat-yil { padding: 0 0 0 .5rem; text-align: start; color: var(--bs-secondary-color); white-space: nowrap; } /* görev #158 */

.da-shot { background: var(--bs-tertiary-bg); aspect-ratio: 2 / 3; }
.da-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.da-shot-empty { display: grid; place-items: center; height: 100%; padding: 1rem; text-align: center; }
.da-shot-today img { max-height: 520px; width: auto; }
.da-raw { max-height: 420px; overflow: auto; font-size: .75rem; background: var(--bs-tertiary-bg); padding: .75rem; border-radius: .5rem; white-space: pre-wrap; word-break: break-word; }
.da-links a { text-decoration: none; }
.da-links a:hover { text-decoration: underline; }
.da-links img { width: 16px; height: 16px; margin-right: .35rem; vertical-align: -3px; }
.da-variant-table td, .da-variant-table th { white-space: nowrap; }
.da-pill { display: inline-block; padding: .12rem .55rem; margin: 0 .25rem .25rem 0; border-radius: 999px; background: var(--ds-surface-2); border: 1px solid var(--ds-border); color: var(--ds-text-2); font-size: .79rem; }
.da-bar { height: .5rem; border-radius: 999px; background: var(--bs-secondary-bg); overflow: hidden; }
.da-bar > span { display: block; height: 100%; background: var(--da-accent); }
/* Sinyal kartı: karar özeti ve 6 alt puan */
.da-karar { --c: var(--ds-text-3); border: 1px solid var(--ds-border); border-left: 4px solid var(--c); border-radius: .7rem; background: var(--ds-surface-2); padding: .75rem .9rem; margin-bottom: 1rem; }
.da-karar-good { --c: var(--ds-good); }
.da-karar-info { --c: var(--ds-info); }
.da-karar-bad { --c: var(--ds-bad); }
.da-karar-ust { font-size: .75rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--ds-text-3); }
.da-karar-etiket { font-size: 1.6rem; font-weight: 760; letter-spacing: -.02em; line-height: 1.2; color: var(--c); margin-bottom: .2rem; }
.da-alt-grid { display: grid; gap: .8rem; }
.da-alt-bas { display: flex; align-items: baseline; flex-wrap: wrap; gap: .4rem; font-size: .9rem; margin-bottom: .2rem; }
.da-alt-puan { font-weight: 700; font-variant-numeric: tabular-nums; }
.da-alt-guven { margin-left: auto; font-size: .75rem; color: var(--ds-text-3); }
.da-alt-good .da-bar > span { background: var(--da-good); }
.da-alt-warn .da-bar > span { background: var(--da-warn); }
.da-alt-bad .da-bar > span { background: var(--da-bad); }
.da-alt-not { font-size: .75rem; color: var(--ds-text-3); margin-top: .15rem; }
/* Domain geçmişi: olay çizelgesi */
.da-gecmis { list-style: none; margin: 0 0 .6rem .3rem; padding: 0 0 0 1rem; border-left: 2px solid var(--ds-border); }
.da-gecmis li { --c: var(--ds-text-3); position: relative; padding-bottom: .5rem; overflow-wrap: anywhere; }
.da-gecmis li:last-child { padding-bottom: 0; }
.da-gecmis li::before { content: ''; position: absolute; left: calc(-1rem - 6px); top: .35rem; width: 10px; height: 10px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 2px var(--ds-surface); }
.da-g-ok { --c: var(--ds-good) !important; }
.da-g-info { --c: var(--ds-info) !important; }
.da-g-warn { --c: var(--ds-warn) !important; }
.da-g-danger { --c: var(--ds-bad) !important; }
.da-sticky { position: sticky; top: 5rem; }
@media (max-width: 991.98px) { .da-sticky { position: static; } }
@media (max-width: 575.98px) {
  .da-kv { grid-template-columns: 1fr; }
  .da-kv dt { margin-top: .4rem; }

}
/* Satılık kartı (DomainListesi vitrini): yalnızca ilan varsa görünür */
.da-vitrin { border-color: rgba(var(--ds-brand-rgb), .45); background-image: linear-gradient(var(--ds-brand-soft), var(--ds-brand-soft)); }
.da-vitrin > .card-body { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding: .75rem 1rem; }
.da-vitrin-metin { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .75rem; min-width: 0; }
.da-vitrin-baslik { font-weight: 600; color: var(--bs-emphasis-color); }
.da-vitrin-baslik .bi { color: var(--ds-brand); margin-right: .35rem; }
.da-vitrin-fiyat { font-size: 1.15rem; font-weight: 700; color: var(--bs-emphasis-color); }
.da-vitrin-eski { color: var(--ds-text-2); }
/* ===================== PDF / YAZDIRMA =====================
 * PDF, rapor sayfasının yazdırma görünümüdür. Sayfaya eklenen her yeni bölüm (section.da-card)
 * otomatik olarak PDF'e girer. Ekranda kalması gereken etkileşimli öğelere .da-noprint verin.
 * @page (A4, kenar boşlukları, alt bilgi) assets/app.js → preparePrint() içinde temaya göre üretilir. */
.da-print-only { display: none; }
@media print {
  :root { --da-print-accent: #2563eb; }
  /* ds.css'teki 12 px rozet tabanı ekran içindir; PDF'te rozet metne oranlı kalır (sayfa sayısı artmasın) */
  .badge { font-size: .74em !important; }
  html, body {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    background: var(--bs-body-bg) !important;
  }
  body { font-size: 9.5pt; line-height: 1.4; display: block !important; min-height: 0 !important; }
  .ds-skip, .ds-footer { display: none !important; }
  .da-card { overflow: visible; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* Ekrana özel öğeler */
  .da-pending, .da-nav, footer, .da-noprint, .btn, .modal, .modal-backdrop, .spinner-border, details,
  .da-screen-only, .da-gallery > .small, #da-pagespeed > .small.text-danger { display: none !important; }
  .da-print-only { display: block !important; }
  /* Yüklenmemiş isteğe bağlı bölümler PDF'e girmez */
  section[data-lazy]:not([data-loaded]) { display: none !important; }

  /* Marka başlığı */
  .da-print-head { margin: 0 0 3mm; padding: 0 0 2mm; border-bottom: 2px solid var(--da-print-accent); }
  .da-print-bar { display: flex; align-items: flex-start; }
  .da-print-brand { font-size: 17pt; font-weight: 800; letter-spacing: -.02em; color: var(--bs-emphasis-color); }
  .da-print-brand i, .da-print-brand span { color: var(--da-print-accent); }
  .da-print-meta { margin-left: auto; text-align: right; font-size: 8pt; color: var(--bs-secondary-color); }
  .da-print-domain { font-size: 20pt; font-weight: 700; margin-top: 1mm; word-break: break-all; color: var(--bs-emphasis-color); }
  .da-print-sub { font-size: 8pt; color: var(--bs-secondary-color); word-break: break-all; }
  .da-report-head { padding: 0 !important; margin-bottom: 3mm; }

  /* Kapanış ve imza */
  .da-print-foot { margin-top: 2mm; padding-top: 1.5mm; border-top: 1px solid var(--bs-border-color); font-size: 8pt; color: var(--bs-secondary-color); break-inside: avoid; }
  .da-print-foot p { margin: 0 0 .5mm; }

  /* Yerleşim: tek sütun, özet (yatırım sinyali) en üstte */
  .container { max-width: none !important; width: 100% !important; padding: 0 !important; }
  /* Blok düzen: Chrome, flex içinde order ile yeniden sıralanan öğelerin içini sayfalara bölemiyordu (DNS kartı
     bütünüyle sonraki sayfaya atlıyordu). Sinyal sütunu HTML'de önce geldiği için sıralama gerekmez. */
  main > .row { display: block !important; margin: 0 !important; --bs-gutter-x: 0; --bs-gutter-y: 0; }
  main > .row > [class*="col-"] { width: 100% !important; max-width: 100% !important; padding: 0 !important; }
  .da-sticky { position: static !important; }

  /* Kartlar */
  .da-card { box-shadow: none !important; border: 1px solid var(--bs-border-color) !important; border-radius: 2.5mm; margin: 0 0 3mm !important; break-inside: avoid; }
  .da-card > .card-header { padding: 2mm 3.5mm; font-size: 10.5pt; break-after: avoid; background: var(--bs-tertiary-bg) !important; }
  .da-card > .card-header .da-meta { font-size: 6.5pt; color: var(--bs-secondary-color); }
  .da-card > .card-header > .bi:first-child { width: 5mm; height: 5mm; font-size: 7.5pt; border-radius: 1.4mm; }
  .da-card > .card-header { gap: 2mm; }
  .badge { padding: .2em .5em; }
  .da-print-foot { break-before: avoid; }
  .da-card > .card-body { padding: 2.5mm 3.5mm; }
  /* Uzun bölümler sayfa arasında bölünebilir (aksi halde büyük boşluk kalır) */
  #sec-kayit, #sec-uzantilar, #sec-dns, #sec-linkler, #sec-altdomain, #sec-wayback,
  #sec-alicilar, #sec-kelime, #sec-seo, #sec-skor, #sec-piyasa, #sec-dns, #sec-gecmis { break-inside: auto; }
  /* Değişiklik görmediğimiz domain: PDF'te başlıksız tek satır */
  .da-gecmis-tek > .card-header { display: none; }
  .da-gecmis-tek > .card-body { padding: 1mm 3.5mm; }
  .da-gecmis-tek > .card-body p { font-size: 8pt !important; }
  .da-gecmis-tek > .card-body p::before { content: 'Domain geçmişi: '; font-weight: 600; }
  .da-gecmis { margin-bottom: 1.5mm; padding-left: 3mm; }
  .da-gecmis li { padding-bottom: 1mm; }
  .da-gecmis li::before { left: calc(-3mm - 5px); top: 1mm; width: 8px; height: 8px; }
  .da-score-ring.da-ring-sm { width: 16mm; height: 16mm; }
  .da-score-ring.da-ring-sm > span { width: 12mm; height: 12mm; font-size: 10pt; }
  tr, .da-kv dt, .da-kv dd, li, .da-shot, figure { break-inside: avoid; }
  /* DNS: uzun satırlar (TXT kayıtları) bölünmeyi reddedip bütün kartı sonraki sayfaya itiyordu (PDF 5 sayfa) */
  #sec-dns > .card-header { break-after: auto; }
  #sec-dns .da-kv dt, #sec-dns .da-kv dd { break-inside: auto; }
  .da-kv { grid-template-columns: 34% 1fr !important; gap: 1mm 3mm; }
  .da-kv dt { margin-top: 0 !important; }
  .alert { padding: 2mm 3mm !important; margin-bottom: 2.5mm !important; }
  .table { font-size: 8.5pt; }
  .table > :not(caption) > * > * { padding: .6mm 1.5mm; }

  /* Satılık kartı: PDF'te tek satır bilgi (düğme .da-noprint) */
  .da-vitrin > .card-body { display: block; padding: 1.5mm 3.5mm; }
  .da-vitrin-metin { gap: 0 2.5mm; }
  .da-vitrin-fiyat { font-size: 10pt; }
  .da-vitrin .da-vitrin-baski { display: inline !important; font-size: 8pt; color: var(--bs-secondary-color); word-break: break-all; }

  /* Özet kartı belirgin */
  #sec-skor { border: 1.5px solid var(--da-print-accent) !important; }
  .da-score-ring { width: 26mm; height: 26mm; }
  .da-score-ring > span { width: 20mm; height: 20mm; font-size: 15pt; }

  /* Karar özeti ve alt puanlar: üç sütun, kompakt */
  .da-karar { padding: 2mm 3mm; margin-bottom: 2mm; break-inside: avoid; border-radius: 1.5mm; }
  .da-karar-etiket { font-size: 15pt; margin: 0; }
  .da-karar-ust { font-size: 6.5pt; }
  .da-karar .small { font-size: 8pt; }
  .da-sig-ust { display: grid; grid-template-columns: 1fr 50mm; gap: 3mm; align-items: center; margin-bottom: 2mm; break-inside: avoid; }
  .da-sig-ust .da-karar, .da-sig-puan { margin-bottom: 0 !important; }
  .da-sig-puan .da-score-ring { width: 20mm; height: 20mm; }
  .da-sig-puan .da-score-ring > span { width: 15mm; height: 15mm; font-size: 12pt; }
  .da-sig-puan .fs-5 { font-size: 11pt !important; }
  .da-sig-puan .small { font-size: 7.5pt; }
  .da-alt-grid { grid-template-columns: repeat(3, 1fr); gap: 2mm 3mm; }
  .da-alt { break-inside: avoid; }
  .da-alt-bas { font-size: 8.5pt; margin-bottom: .5mm; }
  .da-alt-guven { font-size: 6.5pt; }
  .da-alt .da-bar { height: 1.2mm; }
  .da-alt .da-checklist { font-size: 7.5pt; line-height: 1.25; margin-top: .6mm !important; }
  .da-alt .da-checklist li { margin-bottom: 0; }
  .da-alt-not { font-size: 6.5pt; line-height: 1.25; margin-top: .5mm; }

  /* Arşiv takvimi ve galeri */
  .da-heat a, .da-heat span.cell { width: 3.6mm; height: 3.6mm; }
  .da-heat table { font-size: 6.5pt; }
  .da-gallery .col-6 { width: 33.333% !important; flex: 0 0 33.333%; }
  .da-shot { aspect-ratio: 2 / 3; }
  .da-shot-today img { max-height: 110mm; }

  /* Linkler: kompakt, üç sütun */
  #sec-linkler .row { display: flex; flex-wrap: wrap; --bs-gutter-y: 2mm; }
  #sec-linkler .row > div { width: 33.333% !important; flex: 0 0 33.333%; }
  #sec-linkler h3 { font-size: 9pt; margin-bottom: 1mm; }
  #sec-linkler li { margin-bottom: .3mm !important; }
  a { color: var(--da-print-accent); text-decoration: none; }
  .badge { border: 1px solid rgba(0,0,0,.08); }
  .da-pill { border: 1px solid var(--bs-border-color); }

  /* Misafir (üye değil): PDF kilitli; Ctrl+P yalnızca üyelik notunu basar */
  body.da-guest > *:not(.da-print-locked) { display: none !important; }
  body.da-guest .da-print-locked { display: block !important; padding: 20mm 0; font-size: 12pt; text-align: center; }
}
/* Misafire kilitli kartlar */
#da-mylists:empty { display: none; }

/* Toplu sorgu (2026-11-05): sıralama düğmeleri ve bitiş renkleri (iki temada okunur) */
.tb-sort { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: inherit; cursor: pointer; white-space: nowrap; }
.tb-sort::after { content: " ↕"; opacity: .35; font-size: .8em; }
th[aria-sort="ascending"] .tb-sort::after { content: " ↑"; opacity: 1; }
th[aria-sort="descending"] .tb-sort::after { content: " ↓"; opacity: 1; }
#bulk-table tr.tb-exp-past > td { background: rgba(var(--bs-danger-rgb), .12); }
#bulk-table tr.tb-exp-30 > td { background: rgba(var(--bs-warning-rgb), .16); }
#bulk-table tr.tb-exp-60 > td { background: rgba(var(--bs-info-rgb), .12); }
#bulk-table tr.tb-exp-past > td:first-child { box-shadow: inset 3px 0 0 var(--bs-danger); }
#bulk-table tr.tb-exp-30 > td:first-child { box-shadow: inset 3px 0 0 var(--bs-warning); }
#bulk-table tr.tb-exp-60 > td:first-child { box-shadow: inset 3px 0 0 var(--bs-info); }
.tb-days { font-size: .75rem; color: var(--ds-text-3); }
.tb-exp-past .tb-days { color: var(--bs-danger-text-emphasis); font-weight: 600; }
.tb-exp-30 .tb-days { color: var(--bs-warning-text-emphasis); font-weight: 600; }
.tb-legend { display: inline-block; width: .8rem; height: .8rem; border-radius: 3px; vertical-align: -1px; }
.tb-legend.tb-exp-past { background: rgba(var(--bs-danger-rgb), .45); }
.tb-legend.tb-exp-30 { background: rgba(var(--bs-warning-rgb), .55); }
.tb-legend.tb-exp-60 { background: rgba(var(--bs-info-rgb), .45); }
.da-wb-frame { width: 100%; height: 560px; border: 1px solid var(--ds-border); border-radius: .6rem; background: #fff; }

/* Ana sayfa 3D hero (görev #149, 2026-11-08; index.php .t3-*) */
.t3-hero { overflow-x: clip; }
.t3-stage { perspective: 1400px; perspective-origin: 50% 40%; padding: 3rem 2.5rem 3rem 2rem; }
.t3-float { transform-style: preserve-3d; animation: t3-float 9s ease-in-out infinite; }
.t3-scene { position: relative; transform-style: preserve-3d; transition: transform .5s cubic-bezier(.2,.7,.2,1);
  transform: rotateX(calc(10deg + var(--t3-rx, 0deg))) rotateY(calc(-18deg + var(--t3-ry, 0deg))); }
.t3-l1 { position: relative; overflow: hidden; padding: 0; transform: translateZ(0); box-shadow: var(--ds-shadow-lg); }
.t3-rows > div { display: flex; gap: .75rem; padding: .55rem 1rem; border-bottom: 1px solid var(--ds-border); font-size: .86rem; }
.t3-rows > div:last-child { border-bottom: 0; }
.t3-rows dt { width: 5.5rem; flex: none; font-weight: 500; color: var(--ds-text-2); }
.t3-rows dd { margin: 0; display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.t3-tld { font-size: .75rem; padding: .05rem .45rem; border-radius: 999px; border: 1px solid var(--ds-border-strong); color: var(--ds-text-2); text-decoration: line-through; }
.t3-tld.ok { text-decoration: none; color: var(--ds-text); border-color: color-mix(in srgb, var(--ds-good) 60%, transparent); background: color-mix(in srgb, var(--ds-good) 12%, var(--ds-surface)); }
.t3-scan { position: absolute; left: 0; right: 0; top: 0; height: 38%; pointer-events: none; animation: t3-scan 5.5s ease-in-out infinite;
  background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--ds-brand) 14%, transparent) 85%, color-mix(in srgb, var(--ds-brand) 55%, transparent) 100%); }
.t3-l2, .t3-l3, .t3-l4 { position: absolute; padding: .75rem .9rem; box-shadow: var(--ds-shadow-lg); }
.t3-l2 { right: -2rem; top: -2.4rem; transform: translateZ(140px); }
.t3-l3 { left: -2.2rem; bottom: -2.2rem; transform: translateZ(100px); }
.t3-l4 { right: -1.5rem; bottom: -2.8rem; width: 180px; transform: translateZ(60px); }
.t3-puan { display: flex; align-items: center; gap: .75rem; }
.t3-halka { --p: 78; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: conic-gradient(var(--ds-brand) calc(var(--p) * 1%), var(--ds-surface-3) 0); }
.t3-halka span { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--ds-surface); font-weight: 700; color: var(--ds-text); }
.t3-bars { display: flex; align-items: flex-end; gap: 4px; height: 38px; }
.t3-bars i { flex: 1; height: var(--h); border-radius: 3px 3px 0 0; background: color-mix(in srgb, var(--ds-brand) 70%, var(--ds-surface)); transform-origin: bottom; animation: t3-bar 4s ease-in-out infinite; }
.t3-bars i:nth-child(2n) { animation-delay: -1.3s; } .t3-bars i:nth-child(3n) { animation-delay: -2.6s; }
.t3-glow { position: absolute; inset: 6% 2% -12% 2%; transform: translateZ(-140px); border-radius: 50%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--ds-brand) 40%, transparent), transparent); filter: blur(30px); }
.t3-ring { position: absolute; left: 50%; top: 50%; width: 125%; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%;
  border: 1px dashed color-mix(in srgb, var(--ds-brand) 45%, transparent); transform: translateZ(-60px) rotateX(72deg); animation: t3-orbit 30s linear infinite; }
@keyframes t3-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes t3-scan { 0% { transform: translateY(-100%); } 60%, 100% { transform: translateY(270%); } }
@keyframes t3-bar { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.75); } }
@keyframes t3-orbit { from { transform: translateZ(-60px) rotateX(72deg) rotateZ(0); } to { transform: translateZ(-60px) rotateX(72deg) rotateZ(360deg); } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .t3-ozellik { overflow-x: clip; }
    .t3-rise { animation: t3-rise linear both; animation-timeline: view(); animation-range: entry 0% cover 28%; }
    @keyframes t3-rise { from { opacity: .15; transform: perspective(900px) rotateX(22deg) translateY(48px); } to { opacity: 1; transform: none; } }
  }
}
@media (max-width: 991.98px) {
  .t3-stage { perspective: 1000px; padding: 2.5rem 1rem 1.5rem; max-width: 520px; margin: 0 auto; }
  .t3-scene { transform: rotateX(6deg) rotateY(-8deg); }
  .t3-l2 { right: -.5rem; top: -1.8rem; transform: translateZ(80px); }
  .t3-l3, .t3-l4, .t3-ring { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .t3-float, .t3-scan, .t3-bars i, .t3-ring { animation: none; }
  .t3-scan { display: none; }
  .t3-scene { transition: none; }
}
