/* ==========================================================================
   db.css — Veritabanı sayfaları (âlimler, mekânlar, nisbeler, kaynaklar, ağ,
   veri paneli, arama). base.css değişkenleri ve components.css bileşenleri
   üzerine kurulur; statik sitenin görünümünü değiştirmez.
   ========================================================================== */

:root {
    /* Grafik paleti (dataviz doğrulayıcısından geçti: kâğıt zeminde bütün çiftler ayırt edilebilir, ≥3:1) */
    --viz-1: #b8432a;     /* sürh */
    --viz-2: #2f6fbf;     /* lâciverd */
    --viz-3: #1f9a6a;     /* yeşil */
    --viz-other: #8f877a; /* "diğer" ve yalnızca atıf */
    --viz-bar: #3d3830;   /* tek serili çubuklar: mürekkep */
    --db-row-gap: 1.25rem;
}

.db-dim { color: var(--ink-muted); }
.db-n { font-family: var(--font-mono); font-size: 0.68rem; color: var(--ink-muted); }
.chip[aria-pressed="true"] .db-n { color: var(--paper-sunk); }
.db-mt { margin-top: 3rem; }
.db-big { font-size: 1.15rem; color: var(--ink-soft); margin-bottom: 1rem; }
.db-big strong { font-family: var(--font-display); font-weight: 400; font-size: 2.4rem; color: var(--ink); }
.db-section { padding: clamp(3rem, 6vw, 5rem) 0; }
.db-section .section-label { margin-bottom: 0.6rem; padding-top: 0; }

/* ---------- Gezinme: arama düğmesi (çubuktaki öteki denetimlerle aynı yükseklik: layout.css › --nav-ctl) ---------- */
.nav-search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    height: var(--nav-ctl, 2.25rem);
    min-width: var(--nav-ctl, 2.25rem);
    padding: 0 0.7rem;
    border: 1px solid var(--rule-strong);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--ink-soft);
    font-size: 0.82rem;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
}
.nav-search:hover { border-color: var(--ink); color: var(--ink); }
.nav-search svg { flex: 0 0 16px; width: 16px; height: 16px; max-width: none; }
.nav-search kbd, .gh-palette kbd {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    padding: 0.05rem 0.35rem;
    border: 1px solid var(--rule);
    border-radius: 2px;
    color: var(--ink-muted);
    background: var(--paper-raised);
}

/* ---------- Arama paleti ---------- */
.gh-palette { position: fixed; inset: 0; z-index: var(--z-toast); display: grid; place-items: start center; padding: 12vh 1rem 2rem; }
.gh-palette[hidden] { display: none; }
.gh-palette-backdrop { position: absolute; inset: 0; background: rgba(23, 21, 15, 0.42); backdrop-filter: blur(3px); }
.gh-palette-panel { position: relative; width: min(680px, 100%); max-height: 72vh; display: flex; flex-direction: column; padding: 0; }
.gh-palette-form { display: flex; align-items: center; gap: 0.7rem; padding: 0.9rem 1.1rem; border-bottom: 1px solid var(--rule); color: var(--ink-muted); }
.gh-palette-form input { flex: 1; border: 0; background: transparent; font-family: var(--font-display); font-size: 1.35rem; color: var(--ink); outline: none; padding: 0; }
.gh-palette-results { overflow-y: auto; padding: 0.4rem 0; }
.gh-palette-results section { padding: 0.3rem 0; }
.gh-palette-results h3 { font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); padding: 0.4rem 1.1rem; }
.gh-hit { display: grid; grid-template-columns: 1fr auto; gap: 0.1rem 1rem; padding: 0.5rem 1.1rem; color: var(--ink); }
.gh-hit:hover, .gh-hit.is-active { background: var(--paper-sunk); }
.gh-hit-main { font-weight: 500; }
.gh-hit-main small { font-family: var(--font-mono); font-size: 0.62rem; color: var(--gold); margin-inline-start: 0.3rem; }
.gh-hit-ar { grid-column: 1; font-family: var(--font-arabic); color: var(--ink-muted); font-size: 1rem; text-align: start; }
.gh-hit-meta { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 0.7rem; color: var(--ink-muted); }
.gh-palette-all { display: block; padding: 0.8rem 1.1rem; border-top: 1px solid var(--rule); font-weight: 600; color: var(--accent); }
.gh-palette-empty { padding: 1.2rem 1.1rem; color: var(--ink-muted); }
.gh-palette-hint { padding: 0.6rem 1.1rem; border-top: 1px solid var(--rule); font-size: 0.64rem; color: var(--ink-muted); }
html.palette-open { overflow: hidden; }

/* ---------- Yazı rolleri ----------
   Bütün veritabanı sayfalarında aynı kural:
     serif (Fraunces)        adlar, başlıklar
     sans 600, cümle düzeni  küçük etiketler (büyük harf ve harf aralığı yok)
     mono, eşit genişlik     yıllar, kimlik numaraları, sayılar
     Amiri                   Arapça                                          */
.db-label, .db-rows-head, .db-table th, .db-facet > summary, .db-disc, .db-filters-toggle {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.005em;
    text-transform: none;
    color: var(--ink-muted);
}
.db-hint { font-size: 0.8rem; color: var(--ink-muted); }
.db-year, .db-opt-n, .db-row-net, .db-num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.db-none { color: var(--rule-strong); }
.db-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--ink-muted)); flex-shrink: 0; margin-inline-end: 0.45rem; vertical-align: 0.06em; }
.db-badge-n { display: inline-grid; place-items: center; min-width: 1.15rem; height: 1.15rem; padding: 0 0.3rem; border-radius: 0.6rem; background: var(--ink); color: var(--paper-raised); font-family: var(--font-mono); font-size: 0.62rem; font-weight: 500; margin-inline-start: 0.35rem; }
/* Veri seti kısaltması: M · R · T */
.db-src {
    display: inline-grid;
    place-items: center;
    width: 1.2rem;
    height: 1.2rem;
    border: 1px solid color-mix(in srgb, var(--c) 45%, var(--rule));
    border-radius: 2px;
    background: color-mix(in srgb, var(--c) 9%, var(--paper-raised));
    color: color-mix(in srgb, var(--c) 78%, var(--ink));
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    cursor: help;
    flex-shrink: 0;
}
.db-mark { display: inline-block; margin-inline-start: 0.45rem; padding: 0.05rem 0.4rem; border-radius: 2px; background: var(--paper-sunk); font-family: var(--font-body); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.01em; color: var(--ink-muted); vertical-align: 0.2em; white-space: nowrap; }

/* ---------- Sayfa başlığı (veritabanı sayfaları: kısa, bilgiye hızlı ulaşılır) ---------- */
.page-header.db-header { padding: calc(var(--navbar-height) + clamp(1.8rem, 4vw, 3rem)) 0 clamp(1.6rem, 3vw, 2.4rem); }
.db-header .header-content { display: block; }
.db-header .crumb { padding: 0 0 1rem; }
.db-header h1 { font-size: clamp(2.5rem, 5.2vw, 4rem); line-height: 1; letter-spacing: -0.03em; }
.db-header p, .db-header .db-lead { margin-top: 0.9rem; font-size: 1.06rem; line-height: 1.6; max-width: 62ch; color: var(--ink-soft); }
.db-search { display: flex; gap: 0.6rem; margin-top: 1.4rem; max-width: 44rem; }
.db-search input {
    flex: 1;
    min-width: 0;
    font-family: var(--font-display);
    font-size: 1.12rem;
    padding: 0.68rem 0.9rem;
    border: 1px solid var(--rule-strong);
    border-radius: var(--radius-sm);
    background: var(--paper-raised);
    color: var(--ink);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.db-search input:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.db-section-tight { padding: clamp(1.6rem, 3vw, 2.4rem) 0 clamp(4rem, 8vw, 6rem); }

/* ---------- Tabaka histogramı ---------- */
.db-hist-wrap { margin: 0 0 2rem; }
.db-hist-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.2rem 1.5rem; margin-bottom: 0.5rem; }
.db-hist { margin: 0; }
.db-hist-bars { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 1px; align-items: end; height: 76px; border-bottom: 1px solid var(--ink); }
.db-hist.is-compact .db-hist-bars { height: 60px; }
.db-hist-bar { position: relative; display: block; height: 100%; }
.db-hist-bar::after {
    content: '';
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: var(--h);
    min-height: 2px;
    background: color-mix(in srgb, var(--ink) 62%, var(--paper));
    transition: background 0.15s ease;
}
.db-hist-bar.is-empty::after { background: var(--rule); min-height: 1px; }
.db-hist-bar:hover::after, .db-hist-bar:focus-visible::after { background: var(--ink); }
.db-hist-bar.is-selected::after { background: var(--accent); }
.db-hist-axis { position: relative; display: grid; grid-auto-flow: column; height: 1.2rem; font-size: 0.62rem; color: var(--ink-muted); }
.db-hist-axis span { position: absolute; inset-inline-start: calc((var(--i) + 1) / 70 * 100%); transform: translateX(-100%); }
[dir="rtl"] .db-hist-axis span { transform: translateX(100%); }

/* ---------- Yüzlü arama: süzgeç sütunu ---------- */
.db-layout { display: grid; grid-template-columns: minmax(210px, 15rem) minmax(0, 1fr); gap: clamp(1.6rem, 3vw, 3rem); align-items: start; }
.db-filters { position: sticky; top: calc(var(--navbar-height) + 1rem); }
.db-facets { max-height: calc(100dvh - var(--navbar-height) - 2rem); overflow-y: auto; padding-inline-end: 0.5rem; scrollbar-width: thin; }
.db-facet { padding: 0.7rem 0 0.8rem; border-top: 1px solid var(--rule); }
.db-facet:first-child { border-top-color: var(--ink); }
.db-facet > summary, .db-filters-toggle { display: flex; align-items: center; gap: 0.5rem; padding: 0.15rem 0 0.45rem; cursor: pointer; list-style: none; }
.db-facet > summary::-webkit-details-marker, .db-filters-toggle::-webkit-details-marker,
.db-facet-more > summary::-webkit-details-marker, .db-more > summary::-webkit-details-marker { display: none; }
.db-facet > summary::after, .db-filters-toggle::after {
    content: '';
    width: 6px;
    height: 6px;
    margin-inline-start: auto;
    border-inline-end: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 0.2s var(--ease-out);
}
.db-facet:not([open]) > summary::after, .db-filters:not([open]) > .db-filters-toggle::after { transform: rotate(-45deg); }
.db-filters > .db-filters-toggle { display: none; }
[dir="rtl"] .db-facet:not([open]) > summary::after, [dir="rtl"] .db-filters:not([open]) > .db-filters-toggle::after { transform: rotate(135deg); }
.db-opts { display: grid; gap: 1px; }
.db-opt {
    display: grid;
    grid-template-columns: 0.9rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
    padding: 0.3rem 0.45rem;
    margin-inline: -0.45rem;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    line-height: 1.35;
    color: var(--ink-soft);
    transition: background 0.15s ease, color 0.15s ease;
}
.db-opt:hover { background: var(--paper-sunk); color: var(--ink); }
.db-opt-mark { width: 0.9rem; height: 0.9rem; border: 1px solid var(--rule-strong); border-radius: 2px; background: var(--paper-raised); display: grid; place-items: center; transition: background 0.15s ease, border-color 0.15s ease; }
.db-opt:hover .db-opt-mark { border-color: var(--ink-muted); }
.db-opt[aria-current="true"] { color: var(--ink); font-weight: 600; }
.db-opt[aria-current="true"] .db-opt-mark { background: var(--ink); border-color: var(--ink); }
.db-opt[aria-current="true"] .db-opt-mark::after { content: ''; width: 0.45rem; height: 0.25rem; border-inline-start: 1.6px solid var(--paper-raised); border-bottom: 1.6px solid var(--paper-raised); transform: translateY(-1px) rotate(-45deg); }
.db-opt-name { display: flex; align-items: center; gap: 0.45rem; min-width: 0; }
.db-opt-name .db-dot { margin: 0; }
.db-opt-n { font-size: 0.72rem; color: var(--ink-muted); }
.db-facet-more > summary { display: inline-block; margin-top: 0.3rem; padding: 0.2rem 0; font-size: 0.82rem; font-weight: 600; color: var(--accent-deep); cursor: pointer; list-style: none; }
.db-facet-more > summary:hover { color: var(--accent); }
.db-facet-more[open] > summary { display: none; }

/* ---------- Sonuç araç çubuğu ve etkin süzgeçler ---------- */
.db-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.8rem 1.5rem; padding-bottom: 0.9rem; }
.db-count { font-size: 0.98rem; color: var(--ink-soft); }
.db-count strong { font-family: var(--font-display); font-size: 1.7rem; font-weight: 400; color: var(--ink); margin-inline-end: 0.2rem; font-variant-numeric: tabular-nums; }
.db-count a { color: var(--accent); border-bottom: 1px solid currentColor; }
.db-toolbar-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.3rem; }
.db-sort { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; font-weight: 600; color: var(--ink-muted); }
.db-sort select { font-family: var(--font-body); font-size: 0.88rem; padding: 0.35rem 0.6rem; border: 1px solid var(--rule-strong); border-radius: var(--radius-sm); background: var(--paper-raised); color: var(--ink); cursor: pointer; }
.db-tool { font-size: 0.88rem; font-weight: 600; color: var(--ink); border-bottom: 1px solid var(--rule-strong); padding-bottom: 0.1rem; transition: color 0.2s ease, border-color 0.2s ease; }
.db-tool:hover { color: var(--accent); border-color: var(--accent); }
.db-active { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.5rem; margin: -0.2rem 0 1rem; }
.db-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding-block: 0.22rem;
    padding-inline: 0.6rem 0.35rem;
    border: 1px solid var(--ink);
    border-radius: var(--radius-sm);
    background: var(--paper-raised);
    font-size: 0.82rem;
    color: var(--ink);
    transition: border-color 0.15s ease, color 0.15s ease;
}
.db-chip:hover { border-color: var(--accent); color: var(--accent-deep); }
.db-chip-key { color: var(--ink-muted); font-weight: 600; }
.db-chip-key::after { content: ':'; }
.db-chip-x { display: inline-grid; place-items: center; width: 1.1rem; height: 1.1rem; border-radius: 2px; font-size: 0.95rem; line-height: 1; color: var(--ink-muted); }
.db-chip:hover .db-chip-x { background: var(--accent-tint); color: var(--accent-deep); }
.db-chip-clear { font-size: 0.8rem; font-weight: 600; color: var(--ink-muted); border-bottom: 1px solid var(--rule-strong); margin-inline-start: 0.3rem; }
.db-chip-clear:hover { color: var(--accent); border-color: var(--accent); }
.db-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.4rem; }

/* ---------- Âlim satırı ---------- */
.db-rows-head, .db-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 6.8rem minmax(6.5rem, 8.2rem) minmax(6.5rem, 8rem) 5.4rem 2.9rem;
    gap: 0 0.9rem;
    align-items: baseline;
}
.db-rows-head { padding: 0.45rem 0; border-bottom: 1px solid var(--ink); white-space: nowrap; }
.db-num-col { text-align: end; }
.db-row { position: relative; padding: 0.85rem 0.6rem; margin-inline: -0.6rem; border-bottom: 1px solid var(--rule); transition: background 0.15s ease; }
.db-row:hover { background: var(--paper-raised); }
.db-row-name { font-family: var(--font-display); font-size: 1.1rem; font-weight: 400; line-height: 1.3; color: var(--ink); }
.db-row-name a { color: inherit; }
.db-row-name a:hover { color: var(--accent); }
/* Bütün satır âlim sayfasına götürür; mekân bağlantısı üstte kalır */
.db-row-name a::after { content: ''; position: absolute; inset: 0; }
.db-row-place a, .db-row .db-src { position: relative; z-index: 1; }
.db-row-sub { margin-top: 0.12rem; max-width: none; font-family: var(--font-arabic); font-size: 1.02rem; line-height: 1.55; color: var(--ink-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[dir="ltr"] .db-row-sub[dir="rtl"] { text-align: left; }
html[dir="rtl"] .db-row-sub[dir="ltr"] { text-align: right; font-family: var(--font-body); font-size: 0.86rem; }
.db-row-death { display: grid; gap: 0.1rem; font-size: 0.8rem; color: var(--ink-soft); }
.db-row-tabaqa { font-size: 0.72rem; color: var(--ink-muted); }
.db-row-place a { display: inline-flex; align-items: center; font-size: 0.9rem; color: var(--ink-soft); }
.db-row-place a:hover { color: var(--accent); }
.db-row-profile { font-size: 0.86rem; color: var(--ink-soft); line-height: 1.4; }
.db-row-net { font-size: 0.78rem; color: var(--ink-soft); text-align: end; white-space: nowrap; }
.db-row-sets { display: inline-flex; gap: 3px; justify-content: flex-end; }
.db-legend-sets { display: flex; flex-wrap: wrap; gap: 0.4rem 1.4rem; margin-top: 1rem; max-width: none; font-size: 0.78rem; color: var(--ink-muted); }
.db-legend-sets span { display: inline-flex; align-items: center; gap: 0.45rem; }
.db-empty { padding: 2.4rem 0; border-bottom: 1px solid var(--rule); color: var(--ink-soft); }
.db-empty p { margin-bottom: 0.8rem; }
.db-pager { display: flex; justify-content: space-between; align-items: center; margin-top: 2rem; }
.db-pager-info { font-size: 0.78rem; color: var(--ink-muted); }

/* ---------- Âlim sayfası ---------- */
.person-header .crumb { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 0.35rem; max-width: none; }
.person-id { margin-inline-start: auto; font-family: var(--font-mono); font-size: 0.72rem; color: var(--ink-muted); }
.person-header h1.person-name { font-size: clamp(2.3rem, 5vw, 4rem); line-height: 1.04; letter-spacing: -0.025em; max-width: 24ch; }
/* Kaynak ve eser başlıklarındaki Arapça ad: sayfa yönüne hizalı (kısa başlık ortada asılı kalmasın) */
.db-header .person-name-ar { font-family: var(--font-arabic); font-size: clamp(1.25rem, 2.2vw, 1.7rem); line-height: 1.7; color: var(--ink-soft); margin-top: 0.6rem; max-width: 46rem; }
html[dir="ltr"] .db-header .person-name-ar[dir="rtl"] { text-align: left; }
.person-header .person-name-ar { font-family: var(--font-arabic); font-size: clamp(1.35rem, 2.4vw, 1.95rem); line-height: 1.75; color: var(--ink-soft); margin-top: 0.7rem; max-width: 46rem; }
html[dir="ltr"] .person-header .person-name-ar[dir="rtl"] { text-align: left; }
html[dir="rtl"] .person-header .person-name-ar[dir="ltr"] { text-align: right; }
.person-header .person-name-ar[lang="tr"] { font-family: var(--font-display); }
.person-header .person-name-en { font-size: 1rem; margin-top: 0.2rem; color: var(--ink-muted); }
/* Künye satırı: noktalı ayraçlı düz metin */
.person-facts { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.3rem 0; margin-top: 1.1rem; font-size: 0.95rem; color: var(--ink-soft); }
.person-facts li { display: inline-flex; align-items: baseline; gap: 0.35rem; }
.person-facts li + li::before { content: '·'; margin: 0 0.65rem; color: var(--rule-strong); }
.person-facts a { color: var(--ink); border-bottom: 1px solid var(--rule-strong); }
.person-facts a:hover { color: var(--accent); border-color: var(--accent); }
.person-facts .db-year { font-size: 0.9rem; color: var(--ink); }
.person-provenance { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem; margin-top: 1rem; max-width: none; }
.person-provenance .db-label { margin-inline-end: -0.2rem; }
.person-set { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.86rem; color: var(--ink-soft); }
a.person-set:hover { color: var(--accent); }
.db-mark-ok { background: color-mix(in srgb, #2f6b4a 12%, var(--paper-raised)); color: #2f6b4a; }
.db-mark-warn { background: var(--accent-tint); color: var(--accent-deep); vertical-align: 0.1em; }
a.db-mark-warn:hover { color: var(--accent); }

.person-grid { display: grid; grid-template-columns: 6fr 5fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.person-card { transform: none; }
.person-card:hover { transform: none; }
.person-card .record-fields dd { line-height: 1.65; }
.person-card .record-fields dd .mono { display: inline; font-size: 0.8rem; color: var(--ink-soft); }
.person-card .record-fields dd a { border-bottom: 1px solid var(--rule-strong); }
.person-card .record-fields dd a:hover { color: var(--accent); border-color: var(--accent); }
.record-live { margin-top: 1rem; }
.db-nisba { font-style: italic; }
.person-map-wrap { position: sticky; top: calc(var(--navbar-height) + 1rem); }
.db-map { height: 420px; border: 1px solid var(--rule-strong); border-radius: var(--radius-sm); background: var(--paper-sunk); direction: ltr; }
.db-map .leaflet-tile-pane { filter: sepia(0.35) saturate(0.75) contrast(0.95); }
.db-map.is-empty { display: none; }
.db-legend { display: flex; flex-wrap: wrap; gap: 0.3rem 1.1rem; margin-top: 0.6rem; font-size: 0.78rem; color: var(--ink-muted); }
.db-legend span { display: inline-flex; align-items: center; }
.db-role { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-inline-end: 0.4rem; background: var(--ink); vertical-align: 0.05em; flex-shrink: 0; }
.db-role-nisbe { background: #a07f45; } .db-role-dogum { background: #b7832f; } .db-role-ikamet { background: #ad3f27; }
.db-role-seyahat { background: #3d5a80; } .db-role-ders { background: #3f6b4f; } .db-role-yerlesim { background: #6b4c7a; }
.db-role-vefat { background: #1d1b16; } .db-role-kabir { background: #73695a; }

/* Hayat çizgisi */
.db-timeline { position: relative; margin-top: 1rem; }
.db-tl-bands { position: relative; height: 66px; }
.db-tl-band {
    position: absolute;
    top: calc(var(--row) * 22px);
    height: 18px;
    background: color-mix(in srgb, var(--c) 18%, var(--paper-raised));
    border-inline-start: 3px solid var(--c);
    border-radius: 2px;
    overflow: hidden;
    font-size: 0.68rem;
    line-height: 18px;
    padding-inline-start: 0.35rem;
    color: var(--ink-soft);
    white-space: nowrap;
}
.db-tl-band em { font-style: normal; }
.db-tl-track { position: relative; height: 46px; margin-top: 0.6rem; border-bottom: 1px solid var(--ink); }
.db-tl-tabaqa { position: absolute; bottom: 0; height: 100%; background: repeating-linear-gradient(135deg, var(--accent-tint) 0 4px, transparent 4px 8px); }
.db-tl-life { position: absolute; bottom: 14px; height: 6px; border-radius: 3px; background: var(--ink); }
.db-tl-life.is-estimated { background: repeating-linear-gradient(90deg, var(--ink) 0 6px, transparent 6px 10px); }
.db-tl-event { position: absolute; bottom: 0; width: 1px; height: 100%; background: var(--accent); }
.db-tl-event::before { content: ''; position: absolute; top: -4px; left: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--accent); border: 2px solid var(--paper-sunk); }
.db-tl-event.is-leave { background: var(--ink-muted); }
.db-tl-event.is-leave::before { background: var(--paper-sunk); border-color: var(--ink-muted); }
.db-tl-event span { position: absolute; top: -1.4rem; transform: translateX(-50%); font-size: 0.62rem; color: var(--ink-muted); }
.db-tl-death { position: absolute; bottom: 9px; width: 16px; height: 16px; margin-left: -8px; background: var(--accent); clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.db-tl-axis { position: relative; height: 2.2rem; font-size: 0.66rem; color: var(--ink-muted); }
.db-tl-axis span { position: absolute; top: 0.4rem; transform: translateX(-50%); text-align: center; }
.db-tl-axis small { display: block; font-size: 0.58rem; opacity: 0.75; }
.db-tl-list { margin-top: 1.4rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.3rem 1.6rem; font-size: 0.9rem; }
.db-tl-list .mono { color: var(--accent-deep); margin-inline-end: 0.4rem; }
/* Model tahmini: kaynaklı olaylardan ayrı dil — kesik çizgi, içi boş işaret, hata payı bandı */
.db-tl-est-band { position: absolute; bottom: 0; height: 100%; background: color-mix(in srgb, var(--ink) 6%, transparent); border-inline: 1px dashed color-mix(in srgb, var(--ink) 30%, transparent); }
.db-tl-event.is-estimate { width: 0; background: none; border-inline-start: 1px dashed var(--ink-soft); }
.db-tl-event.is-estimate::before { left: -5px; background: var(--paper-sunk); border: 1.5px dashed var(--ink-soft); }
.db-tl-event.is-estimate span { color: var(--ink-soft); }
.db-tl-list li.is-estimate .mono { color: var(--ink-soft); }
.db-tl-list li.is-estimate > .db-dim { display: block; margin-top: 0.1rem; font-size: 0.82rem; }
.db-tl-list li.is-estimate a { border-bottom: 1px dotted var(--rule-strong); }
.db-tl-list li.is-estimate a:hover { color: var(--accent); }

/* İlim halkası: grafik ve listeler */
.db-ego { margin: 0.4rem 0 2.2rem; border: 1px solid var(--rule); background: var(--paper-raised); border-radius: var(--radius-sm); padding: 0.8rem 0.6rem; direction: ltr; }
.db-ego svg { display: block; width: 100%; height: auto; }
.db-ego text { font-family: var(--font-body); font-size: 12px; fill: var(--ink-soft); }
.db-ego .ego-head { font-size: 12px; font-weight: 600; fill: var(--ink-muted); }
.db-ego .ego-year, .db-ego .ego-more { font-family: var(--font-mono); font-size: 10px; fill: var(--ink-muted); }
.db-ego .ego-edge { fill: none; stroke: var(--ink); stroke-opacity: 0.18; stroke-width: 1; }
.db-ego .ego-w2 { stroke-opacity: 0.3; stroke-width: 1.4; }
.db-ego .ego-w3, .db-ego .ego-w4 { stroke-width: 2.2; stroke-opacity: 0.45; }
.db-ego .ego-w0 { stroke-dasharray: 3 3; }
.db-ego .ego-node circle { fill: color-mix(in srgb, var(--ink) 55%, var(--paper)); stroke: var(--paper-raised); stroke-width: 2; transition: fill 0.15s ease; }
.db-ego .ego-node.is-strong circle { fill: var(--ink); }
.db-ego a:hover text, .db-ego a:focus text { fill: var(--accent); }
.db-ego a:hover circle, .db-ego a:focus circle { fill: var(--accent); }
.db-ego .ego-center rect { fill: var(--ink); }
.db-ego .ego-center text { fill: var(--paper-raised); font-family: var(--font-display); font-size: 13px; }
.db-ego .ego-center .ego-year { fill: var(--on-night-muted); }
.db-circle { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); }
.db-circle-head { font-size: 1.45rem; margin-bottom: 0.2rem; display: flex; align-items: baseline; gap: 0.5rem; }
.db-circle-head .db-num { font-size: 0.85rem; color: var(--ink-muted); }
.db-work-group { margin-top: 0; }
.db-rows + .db-work-group { margin-top: 2.6rem; }
.db-disc { display: flex; align-items: baseline; gap: 0.4rem; margin: 1.1rem 0 0.2rem; padding-bottom: 0.35rem; border-bottom: 1px solid var(--ink); color: var(--ink); }
.db-disc .db-num { font-size: 0.72rem; font-weight: 400; color: var(--ink-muted); }
.db-links li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 1rem; align-items: baseline; padding: 0.42rem 0; border-bottom: 1px solid var(--rule); line-height: 1.4; }
.db-link-name { color: var(--ink); }
.db-link-name:hover { color: var(--accent); }
.db-link-year { font-size: 0.74rem; color: var(--ink-muted); white-space: nowrap; }
.db-link-meta { grid-column: 1 / -1; font-size: 0.78rem; color: var(--ink-muted); }
.db-links [lang="ar"] { font-family: var(--font-arabic); color: var(--ink-muted); margin-inline-start: 0.35rem; }
.db-links-big li { padding: 0.6rem 0; font-size: 1.05rem; }
.db-more > summary { display: inline-flex; align-items: baseline; gap: 0.4rem; margin-top: 0.55rem; font-size: 0.86rem; font-weight: 600; color: var(--accent-deep); cursor: pointer; list-style: none; }
.db-more > summary:hover { color: var(--accent); }
.db-more > summary .db-num { font-size: 0.74rem; font-weight: 400; }
.db-more[open] > summary { display: none; }
.db-circle-all { display: inline-block; margin-top: 1.1rem; }
.db-path-cta { margin-top: 2.4rem; }
.db-h2 { font-size: clamp(1.8rem, 3.2vw, 2.5rem); margin: 0.6rem 0 1.4rem; max-width: 26ch; }

/* Tablolar */
.db-table-wrap { overflow-x: auto; }
.db-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.db-table th { text-align: start; padding: 0.5rem 0.8rem 0.5rem 0; border-bottom: 1px solid var(--ink); white-space: nowrap; }
.db-table td { padding: 0.6rem 0.8rem 0.6rem 0; border-bottom: 1px solid var(--rule); vertical-align: baseline; }
.db-table td.db-year { font-size: 0.8rem; }
.db-table a { border-bottom: 1px solid var(--rule-strong); }
.db-table a:hover { color: var(--accent); }
.db-table [lang="ar"] { font-family: var(--font-arabic); color: var(--ink-muted); }
.db-nowrap { white-space: nowrap; }

/* Hakkında */
.db-about-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 1.4rem 2.4rem; }
.db-note { padding: 1.1rem 0; border-top: 1px solid var(--ink); }
.db-note.frame { padding: 1.4rem 1.6rem; border-top: 1px solid var(--rule-strong); }
.db-note h3 { font-size: 1.2rem; margin-bottom: 0.6rem; display: flex; align-items: center; gap: 0.4rem; }
.db-note p + p { margin-top: 0.6rem; }
.db-note ul li { padding: 0.25rem 0; }
.db-note [lang="ar"] { font-family: var(--font-arabic); }
.db-jarh { font-weight: 600; }
.db-jarh-tadil { color: #2f6b4a; } .db-jarh-orta { color: var(--ink-soft); }
.db-jarh-cerh, .db-jarh-bidat { color: var(--accent-deep); }

/* Kaynak kaydı ve Arapça metin */
.db-record { padding: 1.3rem 1.5rem 1.2rem; margin-bottom: 1.2rem; background: var(--paper-raised); border: 1px solid var(--rule-strong); border-radius: var(--radius-sm); }
.db-record header { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.2rem; padding-bottom: 0.8rem; border-bottom: 1px solid var(--rule); font-size: 0.8rem; color: var(--ink-muted); }
.db-record header .db-year { font-size: 0.74rem; }
.db-record-source { margin-inline-start: auto; color: var(--ink); border-bottom: 1px solid var(--rule-strong); }
.db-record-source:hover { color: var(--accent); border-color: var(--accent); }
.db-source-text {
    font-family: var(--font-arabic);
    font-size: 1.3rem;
    line-height: 2.05;
    color: var(--ink);
    margin: 1.1rem 0 0.3rem;
    padding-inline-start: 1.2rem;
    border-inline-start: 3px solid var(--accent-tint);
    max-width: 52rem;
    text-align: justify;
}
.db-source-head { color: var(--accent-deep); font-weight: 700; margin-bottom: 0.3rem; max-width: none; }
/* Uzun kaynak metni önce kısaltılmış gelir (JS düğmeyi gösterir; JS yoksa metin tam görünür) */
.db-clamp.is-clamped .db-source-text { max-height: 13.5em; overflow: hidden; -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent); mask-image: linear-gradient(to bottom, #000 62%, transparent); }
.db-clamp-btn { margin-top: 0.4rem; padding: 0.3rem 0; font-size: 0.86rem; font-weight: 600; color: var(--accent-deep); border-bottom: 1px solid currentColor; }
.db-clamp-btn:hover { color: var(--accent); }
.db-raw { margin-top: 1rem; font-size: 0.86rem; }
.db-raw summary { cursor: pointer; font-size: 0.82rem; font-weight: 600; color: var(--ink-muted); }
.db-raw summary:hover { color: var(--accent); }
.db-raw dl { margin-top: 0.8rem; display: grid; gap: 0.2rem; }
.db-raw dl > div { display: grid; grid-template-columns: 11rem 1fr; gap: 1rem; padding: 0.25rem 0; border-bottom: 1px dotted var(--rule); }
.db-raw dt { font-family: var(--font-mono); font-size: 0.68rem; color: var(--ink-muted); }
.db-names ul { margin-top: 0.6rem; }
.db-names li { padding: 0.2rem 0; }
.db-names [lang="ar"] { font-family: var(--font-arabic); font-size: 1.05rem; }

/* Akranlar ve atıf */
.db-peers { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 0 2rem; border-top: 1px solid var(--ink); }
.db-peers a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.1rem 0.8rem; align-items: baseline; padding: 0.7rem 0; border-bottom: 1px solid var(--rule); color: var(--ink-soft); }
.db-peers strong { font-family: var(--font-display); font-weight: 400; font-size: 1.04rem; color: var(--ink); }
.db-peers a:hover strong { color: var(--accent); }
.db-peers .db-year { font-size: 0.72rem; color: var(--ink-muted); }
.db-peer-ar { grid-column: 1 / -1; font-family: var(--font-arabic); color: var(--ink-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[dir="ltr"] .db-peer-ar { text-align: left; }
.db-cite { padding: 1.5rem 0 0; border-top: 1px solid var(--ink); }
.db-cite-text { font-family: var(--font-display); font-size: 1.1rem; color: var(--ink); margin: 0.6rem 0 1.1rem; max-width: 70ch; overflow-wrap: anywhere; }
.db-cite-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem; }

.db-legend-link { margin-inline-start: auto; font-weight: 600; color: var(--ink); border-bottom: 1px solid currentColor; }
.db-legend-link:hover { color: var(--accent); }
/* Türetilmiş bilgi (tez çıktıları): kaynaklı bilgiden ayrı işaretlenir */
.db-mark-staff { background: var(--accent-tint); color: var(--accent-deep); }
.db-note-derived h3 .db-mark { vertical-align: 0.1em; }
.db-note-derived li a { color: var(--ink); border-bottom: 1px solid var(--rule-strong); }
.db-note-derived li a:hover { color: var(--accent); border-color: var(--accent); }
.db-note-foot { margin-top: 0.8rem; max-width: 62ch; font-size: 0.82rem; line-height: 1.55; color: var(--ink-muted); }
.db-note-foot a { color: var(--ink-soft); border-bottom: 1px solid var(--rule-strong); white-space: nowrap; }
.db-note-foot a:hover { color: var(--accent); }

/* ---------- Analiz yöntemi sayfası ---------- */
.db-staff-note { display: inline-block; padding: 0.35rem 0.7rem; border-radius: 2px; background: var(--accent-tint); color: var(--accent-deep); font-size: 0.86rem; font-weight: 600; }
/* Proje yayını (yöntem sayfası, Analizler): künye olduğu gibi, atfı kopyala, kayıt bağlantısı */
.pub { max-width: 62ch; padding: 0.75rem 0.95rem 0.8rem; border-inline-start: 2px solid var(--ink); background: var(--paper-raised); }
.db-header .pub { margin-top: 1rem; }
.pub .db-label { margin: 0; font-size: 0.8rem; color: var(--ink-soft); }
.pub .pub-cite { max-width: none; margin: 0.25rem 0 0.6rem; overflow-wrap: anywhere; font-size: 0.95rem; line-height: 1.55; color: var(--ink); }
.pub .pub-actions { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem 1.4rem; max-width: none; margin: 0; font-size: 0.88rem; }
.pub button.db-tool { padding: 0 0 0.1rem; border: 0; border-bottom: 1px solid var(--rule-strong); background: none; font: inherit; font-size: 0.88rem; font-weight: 600; color: var(--ink); cursor: pointer; }
.pub button.db-tool:hover { color: var(--accent); border-color: var(--accent); }

/* ---------- Analizler: yöntem satırları ve yayınlar ---------- */
.method-rows { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.method-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(7rem, 11rem); grid-template-areas: 'name figure' 'lead figure' 'meta figure'; gap: 0.2rem 2rem; margin-inline: -0.6rem; padding: 1.1rem 0.6rem 1.15rem; border-bottom: 1px solid var(--rule); transition: background 0.15s ease; }
.method-row:hover { background: var(--paper-raised); }
.method-row-name { grid-area: name; margin: 0; font-family: var(--font-display); font-size: 1.3rem; font-weight: 400; line-height: 1.3; }
.method-row-name a { color: var(--ink); }
.method-row-name a::after { content: ''; position: absolute; inset: 0; }
.method-row:hover .method-row-name a { color: var(--accent); }
.method-row-lead { grid-area: lead; max-width: 68ch; font-size: 0.98rem; line-height: 1.55; color: var(--ink-soft); }
.method-row-meta { grid-area: meta; display: flex; flex-wrap: wrap; align-items: baseline; margin-top: 0.25rem; font-size: 0.84rem; color: var(--ink-muted); }
.method-row-meta > span + span::before { content: '·'; margin: 0 0.6rem; color: var(--rule-strong); }
.method-row-meta a { position: relative; z-index: 1; color: var(--ink-soft); border-bottom: 1px solid var(--rule-strong); }
.method-row-meta a:hover { color: var(--accent); border-color: var(--accent); }
.method-row-figure { grid-area: figure; align-self: center; text-align: end; font-size: 0.84rem; line-height: 1.35; color: var(--ink-muted); }
.method-row-figure .db-num { display: block; font-family: var(--font-display); font-size: 1.7rem; line-height: 1.15; color: var(--ink); }
.pub-list { display: grid; gap: 1.8rem; max-width: 62rem; margin-top: 1.6rem; }
.pub-entry { display: grid; gap: 0.75rem; }
.pub-entry .pub { max-width: none; }
.pub-links { display: grid; gap: 0.35rem; margin: 0; padding-inline-start: 0.95rem; font-size: 0.88rem; }
.pub-links > div { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 0.1rem 1rem; }
.pub-links dt { color: var(--ink-muted); }
.pub-links dd { margin: 0; color: var(--ink-soft); }
.pub-links a { color: var(--ink); border-bottom: 1px solid var(--rule-strong); }
.pub-links a:hover { color: var(--accent); border-color: var(--accent); }
.pub-sep { color: var(--rule-strong); }
.stats-pubs { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem 0.5rem; max-width: none; margin-top: 1.1rem; font-size: 0.9rem; color: var(--ink-soft); }
.stats-pubs .db-label { margin-inline-end: 0.4rem; }
.stats-pubs > a:not(.link-arrow) { color: var(--ink); border-bottom: 1px solid var(--rule-strong); }
.stats-pubs > a:not(.link-arrow):hover { color: var(--accent); border-color: var(--accent); }
.stats-pubs .link-arrow { margin-inline-start: 0.8rem; }
/* Hakkımızda › Pilot proje: projeden çıkan yayınlar (temanın .pilot-output düzeninde) */
.pilot-pub-links { display: flex; flex-wrap: wrap; gap: 0.3rem 1.2rem; margin-top: 0.35rem; }

/* ---------- Ulema nüfus sayımı: yaş gruplarına göre yığılmış sütunlar, vefat çizgisi, dönem şeritleri ---------- */
.census { max-width: 64rem; margin: 1.6rem 0 0; }
.census-plot { position: relative; height: 300px; margin-inline-start: 2.4rem; border-bottom: 1px solid var(--ink); }
.census-bands, .census-grid { position: absolute; inset: 0; pointer-events: none; }
.census-band { position: absolute; top: 0; bottom: 0; left: var(--x1); width: calc(var(--x2) - var(--x1)); border-inline-start: 1px dashed var(--rule-strong); background: color-mix(in srgb, var(--paper-raised) 75%, transparent); pointer-events: auto; }
.census-band.is-alt { background: transparent; }
.census-band > span { position: absolute; top: 0.3rem; left: 0.45rem; right: 0.2rem; overflow: hidden; font-family: var(--font-display); font-size: 0.74rem; font-style: italic; white-space: nowrap; text-overflow: ellipsis; color: var(--ink-muted); }
.census-grid span { position: absolute; left: 0; right: 0; bottom: var(--y); border-top: 1px dotted var(--rule); }
.census-grid b { position: absolute; right: 100%; bottom: -0.42rem; padding-right: 0.45rem; font: 500 0.68rem/1 var(--font-mono); color: var(--ink-muted); }
.census-bars { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); grid-template-rows: minmax(0, 1fr); gap: 2px; align-items: end; margin: 0; padding: 0; list-style: none; }
.census-bars li { display: flex; flex-direction: column-reverse; height: var(--h); }
.census-bars li:hover { outline: 1px solid var(--accent); outline-offset: 1px; }
.census-seg { display: block; flex: none; height: var(--s); }
.census-seg.g0, .census-key.g0 { background: var(--rule-strong); }
.census-seg.g1, .census-key.g1 { background: color-mix(in srgb, var(--ink) 34%, var(--paper)); }
.census-seg.g2, .census-key.g2 { background: color-mix(in srgb, var(--ink) 60%, var(--paper)); }
.census-seg.g3, .census-key.g3 { background: var(--ink); }
.census-line { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.census-line polyline { fill: none; stroke: var(--ink); stroke-width: 1.5; stroke-dasharray: 5 4; }
.census-line .census-line-halo { stroke: var(--paper); stroke-width: 4; stroke-dasharray: none; }
.census-dot { position: absolute; left: var(--x); top: var(--y); width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); pointer-events: none; }
.census-x { position: relative; height: 1.5rem; margin-inline-start: 2.4rem; font-size: 0.72rem; color: var(--ink-muted); }
.census-x span { position: absolute; top: 0.35rem; left: var(--x); transform: translateX(-50%); }
.census-legend { display: flex; flex-wrap: wrap; gap: 0.4rem 1.3rem; margin: 0.5rem 0 0; margin-inline-start: 2.4rem; font-size: 0.84rem; color: var(--ink-soft); }
.census-legend span { display: inline-flex; align-items: center; gap: 0.45rem; }
.census-key { display: inline-block; width: 0.8rem; height: 0.8rem; border-radius: 1px; }
.census-key.is-line { width: 1.5rem; height: 0; border-top: 1.5px dashed var(--ink); border-radius: 0; }
.census-table tr.is-key td { background: var(--paper-raised); }
.census-table td strong { font-weight: 600; }
.method-metrics { max-width: 46rem; }
.method-metrics > div { grid-template-columns: minmax(10rem, 16rem) 1fr; }
.method-metrics dt { font-family: var(--font-body); font-size: 0.86rem; font-weight: 600; color: var(--ink-soft); padding-top: 0; }
.method-metrics dd { font-size: 0.95rem; }
.method-quality { max-width: 58rem; margin-top: 1.4rem; border-top: 1px solid var(--ink); }
.page-method .db-table-wrap { margin-top: 1.4rem; }
.method-foot { max-width: 62ch; margin-top: 1rem; font-size: 0.84rem; line-height: 1.55; color: var(--ink-muted); }
.method-quality li { display: grid; grid-template-columns: 4.5rem minmax(9rem, 13rem) 1fr; gap: 0.3rem 1.2rem; align-items: baseline; padding: 0.75rem 0; border-bottom: 1px solid var(--rule); }
.method-quality .db-num { font-size: 1.35rem; text-align: end; color: var(--ink); }
.method-quality li.is-ok .db-num, .method-quality li.is-kabul .db-num { color: var(--accent-deep); }
.method-quality .db-dim { font-size: 0.9rem; line-height: 1.5; }

/* ---------- Ortak küçük parçalar ---------- */
/* Tek seçimli süzgeç şeridi (mekân ve nisbe listeleri) */
.db-seg { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.32rem 0.7rem; border: 1px solid var(--rule-strong); border-radius: var(--radius-sm); background: transparent; font-size: 0.84rem; color: var(--ink-soft); transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease; }
.db-seg:hover { border-color: var(--ink); color: var(--ink); }
.db-seg .db-dot { margin: 0; }
.db-seg .db-num { font-size: 0.7rem; color: var(--ink-muted); }
.db-seg[aria-current="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper-raised); }
.db-seg[aria-current="true"] .db-num { color: var(--paper-sunk); }
.db-h3 { font-size: 1.3rem; margin-bottom: 0.8rem; }
.db-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.4rem; margin: 1.4rem 0 1rem; }
.db-inline-list { max-width: none; margin: 0.6rem 0 1.4rem; font-size: 0.9rem; line-height: 1.9; color: var(--ink-soft); }
.db-inline-list .db-label { margin-inline-end: 0.5rem; }
.db-inline-list a { color: var(--ink); border-bottom: 1px solid var(--rule-strong); }
.db-inline-list a:hover { color: var(--accent); border-color: var(--accent); }
.db-inline-list .db-num { font-size: 0.72rem; color: var(--ink-muted); }

/* ---------- Mekânlar ---------- */
.db-places { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 0 2rem; border-top: 1px solid var(--ink); }
.db-place a { display: grid; grid-template-columns: 1fr auto; grid-template-areas: 'name n' 'ar ar' 'region region' 'bar bar'; gap: 0.1rem 1rem; padding: 0.8rem 0; border-bottom: 1px solid var(--rule); }
.db-place a:hover .db-place-name { color: var(--accent); }
.db-place-name { grid-area: name; display: inline-flex; align-items: center; font-family: var(--font-display); font-size: 1.15rem; color: var(--ink); }
.db-place-ar { grid-area: ar; font-family: var(--font-arabic); color: var(--ink-muted); }
html[dir="ltr"] .db-place-ar[dir="rtl"] { text-align: left; }
html[dir="rtl"] .db-place-ar[dir="ltr"] { text-align: right; font-family: var(--font-body); font-size: 0.86rem; }
.db-place-region { grid-area: region; font-size: 0.8rem; }
.db-place-bar { grid-area: bar; display: block; height: 3px; margin-top: 0.4rem; background: linear-gradient(90deg, var(--viz-bar) var(--w), var(--rule) var(--w)); border-radius: 2px; }
[dir="rtl"] .db-place-bar { background: linear-gradient(270deg, var(--viz-bar) var(--w), var(--rule) var(--w)); }
.db-place-n { grid-area: n; font-size: 0.8rem; color: var(--ink-soft); }
.db-flows { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); }
.db-flow { border-top: 1px solid var(--ink); }
.db-flow li { display: grid; grid-template-columns: minmax(8rem, 1.4fr) 2fr 2.4rem; align-items: center; gap: 0.8rem; padding: 0.4rem 0; border-bottom: 1px solid var(--rule); }
.db-flow a { display: inline-flex; align-items: center; color: var(--ink); }
.db-flow a:hover { color: var(--accent); }
.db-flow .db-num { font-size: 0.78rem; text-align: end; color: var(--ink-soft); }
.db-flow-bar { height: 6px; border-radius: 0 2px 2px 0; background: linear-gradient(90deg, var(--viz-bar) var(--w), transparent var(--w)); }
[dir="rtl"] .db-flow-bar { border-radius: 2px 0 0 2px; background: linear-gradient(270deg, var(--viz-bar) var(--w), transparent var(--w)); }

/* ---------- Nisbeler: dizin (fihrist) düzeni ---------- */
.db-index { display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: 0 2rem; border-top: 1px solid var(--ink); }
.db-index a { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'ar n' 'tr tr' 'meta meta'; gap: 0 0.8rem; align-items: baseline; padding: 0.75rem 0 0.7rem; border-bottom: 1px solid var(--rule); color: var(--ink-soft); }
.db-index-ar { grid-area: ar; font-family: var(--font-arabic); font-size: 1.4rem; line-height: 1.5; color: var(--ink); }
html[dir="ltr"] .db-index-ar { text-align: left; }
.db-index a:hover .db-index-ar, .db-index a:hover .db-index-tr { color: var(--accent); }
.db-index-n { grid-area: n; font-size: 0.78rem; color: var(--ink-soft); }
.db-index-tr { grid-area: tr; font-family: var(--font-display); font-size: 1rem; font-style: italic; color: var(--ink); }
.db-index-meta { grid-area: meta; font-size: 0.78rem; color: var(--ink-muted); }

/* ---------- Kaynaklar ---------- */
.db-sources { border-top: 1px solid var(--ink); }
.db-sources li { border-bottom: 1px solid var(--rule); }
.db-source { display: grid; grid-template-columns: 5rem 1fr minmax(6rem, 14rem) 4rem; align-items: center; gap: 1rem; padding: 0.9rem 0; }
.db-source:hover strong { color: var(--accent); }
.db-source-year { font-size: 0.74rem; color: var(--ink-muted); }
.db-source-title strong { font-family: var(--font-display); font-weight: 400; font-size: 1.12rem; color: var(--ink); }
.db-source-title [lang="ar"] { font-family: var(--font-arabic); color: var(--ink-muted); margin-inline-start: 0.4rem; }
.db-source-title .db-dim { font-size: 0.8rem; }
.db-source .db-place-bar { margin: 0; }
.db-source .mono:last-child { text-align: end; color: var(--ink-soft); }

/* ---------- Arama sonuçları ---------- */
.db-search-results { display: grid; grid-template-columns: 7fr 4fr; gap: clamp(1.5rem, 4vw, 4rem); }
.db-search-results aside .section-label { margin-top: 1.4rem; }
.db-search-results .btn { margin-top: 1.4rem; }

/* ---------- Atlas eklemeleri ---------- */
.atlas-hits:empty { display: none; }
.atlas-hits { margin: -0.2rem 0 0.8rem; padding: 0.6rem 0.7rem; border: 1px solid var(--rule); background: var(--paper-raised); border-radius: var(--radius-sm); font-size: 0.84rem; }
.atlas-hits-label { font-family: var(--font-mono); font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent); margin-bottom: 0.3rem; }
.atlas-hits li { padding: 0.2rem 0; }
.atlas-hits a { color: var(--ink); }
.atlas-hits a:hover { color: var(--accent); }
.atlas-hits .popup-muted { display: block; font-size: 0.72rem; color: var(--ink-muted); }
.atlas-hits-all { display: inline-block; margin-top: 0.3rem; font-weight: 600; color: var(--accent); font-size: 0.78rem; }
.atlas-layers { margin: 0.9rem 0; padding: 0.6rem 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.atlas-layers summary { cursor: pointer; font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); }
.atlas-layers > * + * { margin-top: 0.6rem; }
.atlas-toggle { display: flex; align-items: center; gap: 0.5rem; font-size: 0.86rem; color: var(--ink-soft); cursor: pointer; }
.atlas-toggle input { accent-color: var(--accent); }
.atlas-select { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; font-size: 0.82rem; color: var(--ink-muted); }
.atlas-select select { flex: 1; max-width: 12rem; font-family: var(--font-body); font-size: 0.84rem; padding: 0.25rem 0.4rem; border: 1px solid var(--rule-strong); border-radius: 2px; background: var(--paper-raised); color: var(--ink); }
.atlas-popup .popup-name { color: var(--ink); border-bottom: 1px solid transparent; }
.atlas-popup .popup-name:hover { color: var(--accent); border-color: currentColor; }
.atlas-popup ul { max-height: 260px; overflow-y: auto; }
.atlas-popup a { color: var(--accent); }
.popup-more { font-weight: 600; }
.gh-arc {
    fill: none;
    stroke-linecap: round;
    stroke-dasharray: 6 9;
    animation: ghArcFlow 2.6s linear infinite;
    animation-delay: var(--d, 0s);
}
@keyframes ghArcFlow { to { stroke-dashoffset: -30; } }
.atlas-next a { display: block; color: inherit; transition: transform 0.3s var(--ease-out); }
.atlas-next a:hover { transform: translateY(-3px); }
.atlas-next a:hover h3 { color: var(--accent); }

/* ---------- Atlas 2.0: mercekler, seçim kartı, lejant, zaman aralığı (docs/ATLAS.md) ---------- */
.atl { --time-h: 176px; --card-w: 340px; }
/* Atlas panelleri (z-index 890–900) ve Leaflet katmanları (400–1000) kendi yığınlarında kalsın:
   sayfa kaydırılınca üst çubuğun, menü açılınca panelin üstüne binmesinler */
.atl, .leaflet-container { isolation: isolate; }
.atl .atlas-panel-body { gap: 0.7rem; }
.atl .atlas-panel-body > * { flex-shrink: 0; }   /* gövde kaysın, sekmeler büzülmesin */
/* beş mercek: sığmazsa ikinci satıra düzgün sarılır (1 piksellik aralıklar çizgi gibi görünür) */
.atl-lenses { display: flex; flex-wrap: wrap; gap: 1px; border: 1px solid var(--rule-strong); border-radius: 3px; overflow: hidden; background: var(--rule-strong); }
.atl-lenses button { flex: 1 1 auto; padding: 0.42rem 0.55rem; font-family: var(--font-body); font-size: 0.82rem; font-weight: 600; white-space: nowrap; color: var(--ink-soft); background: var(--paper-raised); transition: background 0.2s ease, color 0.2s ease; }
.atl-lenses button:hover { background: var(--paper); color: var(--ink); }
.atl-lenses button[aria-selected="true"] { background: var(--ink); color: var(--paper-raised); }
.atl-lenses button:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.atl-question { font-family: var(--font-display); font-style: italic; font-size: 1.02rem; line-height: 1.4; color: var(--ink-soft); }
.atl .atlas-count { line-height: 1.5; }
.atl .atlas-layers { margin: 0; }
.atl .atlas-layers summary { display: flex; align-items: center; gap: 0.4rem; text-transform: none; letter-spacing: 0; font-family: var(--font-body); font-size: 0.8rem; font-weight: 600; color: var(--ink-soft); }
.atl-layers-n:not(:empty) { display: inline-grid; place-items: center; min-width: 1.1rem; height: 1.1rem; padding: 0 0.3rem; border-radius: 0.55rem; background: var(--ink); color: var(--paper-raised); font-family: var(--font-mono); font-size: 0.62rem; font-weight: 500; }
.atl .atlas-filters .chip .db-src { width: 1.1rem; height: 1.1rem; font-size: 0.6rem; margin: 0; }
.atl-only-rihle { display: none; }
.atl[data-lens="rihle"] .atl-only-rihle, .atl[data-lens="misir"] .atl-only-rihle { display: flex; }
.atl-only-baglar { display: none; }
.atl[data-lens="baglar"] .atl-only-baglar { display: flex; }
.atl-chips { margin: 0; }
.atl-chips .db-chip { font-size: 0.78rem; }

/* Âlim kartı: hayat rotası */
.atl-stops { margin-top: 0.2rem; counter-reset: none; }
.atl-stops li { display: grid; grid-template-columns: 1.6rem 1fr; gap: 0.5rem; align-items: start; padding: 0.4rem 0; border-bottom: 1px solid var(--rule); }
.atl-stops li > span:last-child { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.15rem 0.4rem; }
.atl-stops .atl-muted { flex-basis: 100%; }
.atl-stops .atl-muted + .atl-link + .atl-muted { flex-basis: auto; }
.atl-stops .atl-year { font-family: var(--font-mono); font-size: 0.74rem; }
.atl-stops li.is-estimated .atl-year { font-style: italic; color: var(--ink-muted); }
.atl-stop-n, .atl-stop { display: inline-grid; place-items: center; min-width: 1.35rem; height: 1.35rem; padding: 0 0.25rem; border-radius: 0.7rem; background: var(--accent); color: var(--paper-raised); font-family: var(--font-mono); font-size: 0.66rem; font-weight: 500; }
.atl-stop-wrap { background: none; border: 0; }
.atl-stop { position: absolute; transform: translate(-50%, -50%); border: 2px solid var(--paper-raised); box-shadow: 0 6px 12px -6px rgba(29, 27, 22, 0.6); white-space: nowrap; }
.atl.has-person .gh-pin { opacity: 0.35; }
.atl.has-person .atl-arc:not(.atl-person-arc) { opacity: 0.12; }
.atl-card-figs.atl-card-figs-3 { grid-template-columns: repeat(3, 1fr); }

/* Mısır merceği: dönemler, gelenlerin bölgeleri, olaylar, çekim listesi, hazır görünümler */
.atl-eg + .atl-eg { margin-top: 0.4rem; }
.atl-eg .atl-card-h { margin-top: 0.6rem; }
.atl-periods { display: flex; flex-wrap: wrap; gap: 0.3rem; }
/* panel listesindeki satır düğmesi kuralları dönem düğmelerine uygulanmasın */
.atl .atlas-list .atl-periods button.chip { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 0 0.35rem; width: auto; padding: 0.3rem 0.6rem; border: 1px solid var(--rule-strong); border-radius: 2px; background: transparent; color: var(--ink-soft); text-align: start; }
.atl .atlas-list .atl-periods button.chip:hover { padding-inline-start: 0.6rem; border-color: var(--ink); background: transparent; color: var(--ink); }
.atl .atlas-list .atl-periods button.chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper-raised); }
.atl-periods .chip .db-num { font-size: 0.68rem; opacity: 0.75; }
.atl-periods .chip em { flex-basis: 100%; font-size: 0.66rem; font-style: normal; color: var(--accent-deep); }
.atl-periods .chip[aria-pressed="true"] em { color: var(--accent-tint); }
.atl-bars li { display: grid; grid-template-columns: minmax(6rem, 9.5rem) 1fr 2.6rem; align-items: center; gap: 0.5rem; padding: 0.18rem 0; font-size: 0.8rem; }
.atl-bar-label { display: inline-flex; align-items: center; gap: 0.35rem; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--ink-soft); }
.atl-bar { display: block; height: 6px; border-radius: 0 2px 2px 0; background: linear-gradient(90deg, var(--c, var(--ink-soft)) var(--w), var(--paper-sunk) var(--w)); }
[dir="rtl"] .atl-bar { border-radius: 2px 0 0 2px; background: linear-gradient(270deg, var(--c, var(--ink-soft)) var(--w), var(--paper-sunk) var(--w)); }
.atl-bar.is-muted { --c: var(--rule-strong); }
.atl-bars .db-num { font-size: 0.74rem; text-align: end; color: var(--ink-soft); }
.atl-events-list li { padding: 0.3rem 0; border-bottom: 1px solid var(--rule); font-size: 0.82rem; line-height: 1.45; color: var(--ink-soft); }
.atl-events-list .atl-year { font-family: var(--font-mono); font-size: 0.72rem; color: var(--ink); margin-inline-end: 0.3rem; }
.atl-attraction li { display: grid; gap: 0.15rem; }
.atl-attraction .atl-bar { margin: 0.15rem 0 0.05rem; }
.atl-readings li + li { margin-top: 0.35rem; }
.atl-readings a { display: grid; gap: 0.1rem; padding: 0.5rem 0.6rem; border: 1px solid var(--rule-strong); border-radius: 3px; background: var(--paper-raised); color: var(--ink); transition: border-color 0.2s ease, background 0.2s ease; }
.atl-readings a:hover, .atl-readings a:focus-visible { border-color: var(--ink); background: var(--paper); }
.atl-readings strong { font-family: var(--font-display); font-weight: 400; font-size: 1rem; }
.atl-readings span { font-size: 0.76rem; color: var(--ink-muted); }
.atl-events { position: absolute; inset-inline: 0; top: 0; height: 0; }
.atl .time-track.has-events { height: 112px; }
.atl .time-track.has-events .atl-events { top: 25px; height: 9px; }
.atl .time-track.has-events .time-hist { top: 40px; }
.atl-event { position: absolute; top: 0; width: 3px; height: 9px; margin-inline-start: -1px; background: var(--ink); border-radius: 1px; cursor: help; }
.atl-event.is-span { margin-inline-start: 0; background: color-mix(in srgb, var(--ink) 22%, transparent); border-inline-start: 2px solid var(--ink); border-radius: 0; }
.atl-event:hover { background: var(--accent); }
.atl-lg-event { display: inline-block; width: 3px; height: 9px; background: var(--ink); vertical-align: -1px; }

/* Karşılaştır merceği: dolu daire B, kesik halka A, ▲▼ değişim */
.atl .gh-pin.has-ring::before { content: ''; position: absolute; left: 50%; top: 50%; width: var(--ring); height: var(--ring); transform: translate(-50%, -50%); border: 1.5px dashed var(--c); border-radius: 50%; pointer-events: none; }
.atl .gh-pin.has-ring.is-empty { background: transparent; border-color: transparent; }
.atl-lg-dot.has-ring { background: transparent; border: 1.5px dashed var(--ink-muted); box-shadow: none; }
.atl-delta.is-up { color: var(--ink); }
.atl-delta.is-down { color: var(--accent-deep); }
.atl .time-window-a { position: absolute; top: -4px; bottom: 0; pointer-events: none; background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--ink) 14%, transparent) 0 3px, transparent 3px 7px); border-inline: 1px dashed var(--ink-soft); }
.atl .time-window-a[hidden] { display: none; }
.atl-mini span.is-a { background: var(--ink-soft); }
.atl-cmp-a { display: grid; gap: 0.4rem; }
.atl-cmp-prev { display: flex; align-items: center; gap: 0.45rem; font-size: 0.82rem; color: var(--ink-soft); cursor: pointer; }
.atl-cmp-prev input { accent-color: var(--accent); }
.atl-cmp-range { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; font-family: var(--font-mono); font-size: 0.8rem; }
.atl-cmp-range input { width: 4.6rem; padding: 0.25rem 0.35rem; border: 1px solid var(--rule-strong); border-radius: 2px; background: var(--paper-raised); font-family: var(--font-mono); font-size: 0.8rem; color: var(--ink); }
.atl-cmp-range .atl-btn { margin-top: 0; }
.atl .atlas-list .atl-cmp ~ .atl-eg button[data-id] .city-n { min-width: 3rem; }

/* Paylaş ve indir */
.atl-share-btn { align-self: flex-start; padding: 0.3rem 0.65rem; border: 1px solid var(--rule-strong); border-radius: 2px; font-size: 0.78rem; font-weight: 600; color: var(--ink-soft); background: var(--paper-raised); }
.atl-share-btn:hover, .atl-share-btn[aria-expanded="true"] { border-color: var(--ink); color: var(--ink); }
.atl-share { display: grid; gap: 0.7rem; padding: 0.8rem 0.9rem; border: 1px solid var(--ink); border-radius: 3px; background: var(--paper-raised); box-shadow: 0 18px 36px -24px rgba(74, 56, 28, 0.5); }
.atl-share[hidden] { display: none; }
.atl-share-head { display: flex; align-items: center; justify-content: space-between; }
.atl-share-head .atl-card-h { margin: 0; }
.atl-share-head .atl-card-close { position: static; }
.atl-share-field { display: grid; gap: 0.3rem; font-size: 0.74rem; font-weight: 600; color: var(--ink-muted); }
.atl-share-field input, .atl-share-field textarea { width: 100%; min-width: 0; padding: 0.35rem 0.45rem; border: 1px solid var(--rule-strong); border-radius: 2px; background: var(--paper); font-family: var(--font-mono); font-size: 0.72rem; font-weight: 400; line-height: 1.45; color: var(--ink); resize: vertical; }
.atl-share-row { display: flex; gap: 0.35rem; }
.atl-share-field .atl-btn { justify-self: start; margin-top: 0; }
.atl-btn-main { justify-self: start; background: var(--ink); border-color: var(--ink); color: var(--paper-raised); }
.atl-btn-main:hover { background: var(--accent); border-color: var(--accent); }
.atl-card-figs-3 dd { font-size: 1.15rem; }
.atl-list-head { margin-bottom: -0.45rem; font-size: 0.74rem; font-weight: 600; color: var(--ink-muted); }
.atl .atlas-list button.is-selected { background: var(--paper); box-shadow: inset 3px 0 0 var(--accent); padding-inline-start: 0.5rem; }
[dir="rtl"] .atl .atlas-list button.is-selected { box-shadow: inset -3px 0 0 var(--accent); }
.atl-route .city-name { display: block; font-size: 0.98rem; }
.atl-arrow { font-family: var(--font-mono); font-size: 0.8em; color: var(--ink-muted); }
.atl-est { display: block; font-family: var(--font-body); font-size: 0.72rem; color: var(--ink-muted); }
.atl .atlas-fineprint a { color: var(--ink-soft); border-bottom: 1px solid var(--rule-strong); }
.atl .atlas-fineprint a:hover { color: var(--accent); }

/* Seçim kartı (açılır pencerenin yerine) */
.atl-card { position: absolute; z-index: 900; top: calc(var(--navbar-height) + var(--pad)); inset-inline-end: var(--pad); width: var(--card-w); max-height: calc(100% - var(--navbar-height) - var(--time-h) - var(--pad) * 3 - 44px); overflow-y: auto; padding: 1rem 1.15rem 1.1rem; background: rgba(250, 246, 238, 0.97); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--rule-strong); box-shadow: 0 24px 50px -28px rgba(74, 56, 28, 0.55); }
.atl-card[hidden] { display: none; }
.atl.has-card .atlas-map .leaflet-top.leaflet-right { right: calc(var(--card-w) + var(--pad) * 2); }
.atl.has-card .atlas-map .leaflet-top.leaflet-left { left: calc(var(--card-w) + var(--pad) * 2); }
[dir="rtl"] .atl.has-card .atlas-map .leaflet-top.leaflet-right { right: 0; }
.atl-card-close { position: absolute; top: 0.55rem; inset-inline-end: 0.6rem; width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; font-size: 1.3rem; line-height: 1; color: var(--ink-muted); transition: background 0.2s ease, color 0.2s ease; }
.atl-card-close:hover { background: var(--paper-sunk); color: var(--ink); }
.atl-card-close:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.atl-card-kicker { display: flex; align-items: center; gap: 0.4rem; padding-inline-end: 2rem; font-size: 0.74rem; font-weight: 600; color: var(--ink-muted); }
.atl-card-title { margin-top: 0.3rem; font-size: 1.65rem; line-height: 1.1; letter-spacing: -0.015em; }
.atl-card-ar { margin-top: 0.15rem; font-family: var(--font-arabic); font-size: 1.2rem; color: var(--ink-muted); }
html[dir="ltr"] .atl-card-ar[dir="rtl"] { text-align: left; }
.atl-card-big { display: flex; align-items: baseline; gap: 0.5rem; margin-top: 0.9rem; padding-top: 0.75rem; border-top: 1px solid var(--ink); }
.atl-card-big strong { font-family: var(--font-mono); font-size: 1.7rem; font-weight: 500; color: var(--ink); }
.atl-card-big span { font-size: 0.86rem; color: var(--ink-soft); }
.atl-card-sub { margin-top: 0.35rem; font-size: 0.8rem; color: var(--ink-muted); }
.atl-card-sub a { color: var(--ink-soft); border-bottom: 1px solid var(--rule-strong); }
.atl-card-h { margin: 1rem 0 0.35rem; font-family: var(--font-body); font-size: 0.74rem; font-weight: 600; color: var(--ink-muted); }
.atl-mini { display: flex; align-items: flex-end; gap: 1px; height: 38px; border-bottom: 1px solid var(--rule-strong); }
.atl-mini span { flex: 1; height: var(--h); min-height: 0; background: var(--rule-strong); }
.atl-mini span.is-in { background: var(--accent); }
.atl-people li { padding: 0.32rem 0; border-bottom: 1px solid var(--rule); }
.atl-people a { display: block; font-family: var(--font-display); font-size: 0.98rem; line-height: 1.25; color: var(--ink); }
.atl-people a:hover { color: var(--accent); }
.atl-people .atl-muted { display: block; margin-top: 0.1rem; }
.atl-people .atl-muted a { display: inline; font-family: var(--font-body); font-size: 0.8rem; color: var(--ink-soft); border-bottom: 1px solid var(--rule-strong); }
.atl-people .atl-muted a:hover { color: var(--accent); border-color: var(--accent); }
.atl-people li.is-estimated .atl-year { font-style: italic; }
.atl-people li.is-undated .atl-year { color: var(--ink-muted); }
.atl-muted { font-family: var(--font-mono); font-size: 0.7rem; color: var(--ink-muted); }
.atl-year { color: var(--ink-soft); }
.atl-more { display: inline-block; margin-top: 0.55rem; font-size: 0.82rem; font-weight: 600; color: var(--ink); border-bottom: 1px solid currentColor; }
.atl-more:hover { color: var(--accent); }
.atl-card-figs { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin-top: 0.9rem; padding-top: 0.75rem; border-top: 1px solid var(--ink); }
.atl-card-figs dt { font-size: 0.74rem; color: var(--ink-muted); }
.atl-card-figs dd { margin: 0; font-family: var(--font-mono); font-size: 1.35rem; color: var(--ink); }
.atl-flows li { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; padding: 0.28rem 0; border-bottom: 1px solid var(--rule); }
.atl-flows .db-num { font-size: 0.78rem; color: var(--ink-soft); }
.atl-link { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0; font: inherit; font-size: 0.9rem; color: var(--ink); text-align: start; border-bottom: 1px solid var(--rule-strong); cursor: pointer; }
.atl-link:hover { color: var(--accent); border-color: var(--accent); }
.atl-btn { margin-top: 0.6rem; padding: 0.35rem 0.7rem; border: 1px solid var(--rule-strong); border-radius: 2px; font-size: 0.8rem; font-weight: 600; color: var(--ink-soft); background: var(--paper); }
.atl-btn:hover { background: var(--ink); color: var(--paper-raised); border-color: var(--ink); }
.atl-card-links { margin-top: 1rem; padding-top: 0.6rem; border-top: 1px solid var(--rule); font-size: 0.84rem; }
.atl-card-links a { font-weight: 600; color: var(--ink); border-bottom: 1px solid currentColor; }
.atl-card-links a:hover { color: var(--accent); }
.atl-card-classes { margin-top: 0.4rem; }

/* Lejant */
.atl-legend { position: absolute; z-index: 890; inset-inline-end: var(--pad); bottom: calc(var(--time-h) + var(--pad) * 2); max-width: 250px; background: rgba(250, 246, 238, 0.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--rule-strong); box-shadow: 0 18px 36px -24px rgba(74, 56, 28, 0.5); }
.atl-legend-toggle { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; width: 100%; padding: 0.4rem 0.7rem; font-size: 0.76rem; font-weight: 600; color: var(--ink-soft); }
.atl-legend-toggle::after { content: '−'; font-family: var(--font-mono); color: var(--ink-muted); }
.atl-legend.is-collapsed .atl-legend-toggle::after { content: '+'; }
.atl-legend-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.atl-legend-body { padding: 0 0.75rem 0.65rem; border-top: 1px solid var(--rule); }
.atl-legend.is-collapsed .atl-legend-body, .atl.has-card .atl-legend-body { display: none; }
.atl-lg-h { margin-top: 0.5rem; font-size: 0.72rem; font-weight: 600; color: var(--ink-muted); }
.atl-lg-sizes { display: flex; align-items: center; gap: 0.35rem; margin-top: 0.35rem; }
.atl-lg-sizes .db-num { margin-inline-end: 0.35rem; font-size: 0.66rem; color: var(--ink-muted); }
.atl-lg-circle { display: inline-block; width: var(--s); height: var(--s); border-radius: 50%; background: var(--ink-muted); border: 1.5px solid var(--paper-raised); box-shadow: 0 0 0 1px rgba(29, 27, 22, 0.25); }
.atl-legend-rows { margin-top: 0.45rem; }
.atl-legend-rows li { display: flex; align-items: center; gap: 0.5rem; padding: 0.12rem 0; font-size: 0.74rem; color: var(--ink-soft); }
.atl-legend-rows .db-num { margin-inline-start: auto; font-size: 0.74rem; color: var(--ink); }
.atl-lg-dot { flex-shrink: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--ink-muted); border: 1.5px solid var(--paper-raised); box-shadow: 0 0 0 1px rgba(29, 27, 22, 0.25); }
.atl-lg-dot.pr-a { background: color-mix(in srgb, var(--ink-muted) 62%, var(--paper-raised)); }
.atl-lg-dot.pr-c { background: color-mix(in srgb, var(--ink-muted) 25%, var(--paper-raised)); border: 1.5px dashed var(--ink-muted); box-shadow: none; }
.atl-lg-dot.is-group { box-shadow: 0 0 0 2px var(--paper-raised), 0 0 0 3.5px var(--ink-muted); }
.atl-line { flex-shrink: 0; width: 28px; height: 0; border-top: 2.5px solid var(--c, var(--ink-soft)); }
.atl-line.is-e { border-top-style: dashed; }
.atl-line.is-u { border-top: 2px dotted var(--ink-muted); opacity: 0.8; }
.atl-lg-note { margin-top: 0.4rem; font-size: 0.7rem; line-height: 1.45; color: var(--ink-muted); }
.atl-lg-note a { color: var(--ink-soft); border-bottom: 1px solid var(--rule-strong); }

/* Harita işaretleri: kesinlik, toplanmış daire, seçim */
.atl .gh-pin { font-size: 0.68rem; }
.atl .gh-pin.pr-a { background: color-mix(in srgb, var(--c) 64%, var(--paper-raised)); color: var(--ink); }
.atl .gh-pin.pr-c { background: color-mix(in srgb, var(--c) 24%, var(--paper-raised)); border: 2px dashed var(--c); box-shadow: none; color: var(--ink); }
.atl .gh-pin.is-group { box-shadow: 0 0 0 2px var(--paper-raised), 0 0 0 3.5px var(--c), 0 8px 16px -8px rgba(29, 27, 22, 0.6); }
.atl .gh-pin.is-selected { box-shadow: 0 0 0 3px var(--paper-raised), 0 0 0 5px var(--accent), 0 10px 18px -8px rgba(29, 27, 22, 0.6); }
.atl .gh-pin.is-empty { box-shadow: none; }

/* Rihle yayları: yılı kaynakta düz, tahmin kesik, yılsız noktalı */
.atl-arc { fill: none; transition: opacity 0.25s ease; }
.atl-arc:hover { stroke-opacity: 1; }
.atl.has-route .atl-arc:not(.is-sel) { opacity: 0.2; }
.atl-arc.is-sel { filter: drop-shadow(0 0 2px rgba(250, 246, 238, 0.95)); }

/* Zaman cetveli: kip, aralık tutamakları, devlet şeritleri */
.atl-modes { display: inline-flex; border: 1px solid var(--rule-strong); border-radius: 2px; overflow: hidden; }
.atl-modes button { padding: 0.25rem 0.6rem; font-size: 0.76rem; font-weight: 600; color: var(--ink-soft); background: transparent; }
.atl-modes button + button { border-inline-start: 1px solid var(--rule-strong); }
.atl-modes button[aria-checked="true"] { background: var(--ink); color: var(--paper-raised); }
.atl-modes button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.atl-mode-fixed { font-size: 0.76rem; font-weight: 600; color: var(--ink-soft); padding: 0.25rem 0.6rem; border: 1px solid var(--rule); border-radius: 2px; }
.atl[data-lens="rihle"] .atl-modes, .atl[data-lens="baglar"] .atl-modes, .atl[data-lens="misir"] .atl-modes,
.atl[data-lens="merkezler"] .atl-mode-fixed, .atl[data-lens="karsilastir"] .atl-mode-fixed { display: none; }
.atl-size-select { display: none; }
.atl-size-select select { font-family: var(--font-body); font-size: 0.8rem; padding: 0.3rem 0.4rem; border: 1px solid var(--rule-strong); border-radius: 2px; background: var(--paper-raised); color: var(--ink); }
.atl .time-track { height: 76px; }
.atl .time-track.has-polities { height: 98px; }
.atl .time-track.has-polities .time-hist { top: 28px; }
.atl-polities { position: absolute; inset-inline: 0; top: 0; height: 0; }
.has-polities .atl-polities { height: 22px; }
.atl-polity { position: absolute; top: calc(var(--row) * 11px); height: 10px; overflow: hidden; background: color-mix(in srgb, var(--c) 28%, var(--paper-raised)); border-inline-start: 2px solid var(--c); }
.atl-polity em { display: block; padding-inline-start: 3px; font-style: normal; font-size: 0.56rem; line-height: 10px; white-space: nowrap; color: var(--ink-soft); }
.atl .time-hist { bottom: 22px; }
.atl .time-window { pointer-events: auto; cursor: grab; top: -4px; }
.atl .time-window.is-dragging { cursor: grabbing; background: rgba(173, 63, 39, 0.14); }
.atl .time-window.is-all { opacity: 0; pointer-events: none; }
.atl[data-lens="rihle"] .time-bar, .atl[data-lens="misir"] .time-bar { background: linear-gradient(to bottom, var(--accent-tint) 0 var(--e), var(--rule-strong) var(--e) 100%); }
.atl[data-lens="rihle"] .time-bar.is-in, .atl[data-lens="misir"] .time-bar.is-in { background: linear-gradient(to bottom, color-mix(in srgb, var(--accent) 38%, var(--paper-raised)) 0 var(--e), var(--accent) var(--e) 100%); }
.atl-range { position: absolute; inset-inline: 0; bottom: 13px; height: 18px; }
.atl-range input { position: absolute; inset: 0; width: 100%; height: 18px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; pointer-events: none; }
.atl-range input:first-child { background: linear-gradient(var(--ink), var(--ink)) center / 100% 1px no-repeat; }
.atl-range input::-webkit-slider-runnable-track { height: 18px; background: transparent; }
.atl-range input::-moz-range-track { height: 18px; background: transparent; }
.atl-range input::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 12px; height: 18px; border-radius: 3px; background: var(--accent); border: 2px solid var(--paper-raised); box-shadow: 0 0 0 1px var(--accent); cursor: ew-resize; }
.atl-range input::-moz-range-thumb { pointer-events: auto; width: 8px; height: 14px; border-radius: 3px; background: var(--accent); border: 2px solid var(--paper-raised); box-shadow: 0 0 0 1px var(--accent); cursor: ew-resize; }
.atl-range input:focus-visible { outline: none; }
.atl-range input:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px var(--accent-tint), 0 0 0 4px var(--accent); }
.atl-range input:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 3px var(--accent-tint), 0 0 0 4px var(--accent); }
.atl-range input:disabled::-webkit-slider-thumb { opacity: 0; pointer-events: none; }
.atl-range input:disabled::-moz-range-thumb { opacity: 0; pointer-events: none; }
.atl .time-axis { height: 12px; }

/* ---------- İlim ağı ---------- */
.net-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.2rem; }
.net-controls .db-chips { margin: 0; }
.net-range { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; font-size: 0.82rem; color: var(--ink-muted); }
.net-range input[type="number"] { width: 5.2rem; font-family: var(--font-mono); font-size: 0.8rem; padding: 0.3rem 0.4rem; border: 1px solid var(--rule-strong); border-radius: 2px; background: var(--paper-raised); }
.net-find input { font-size: 0.9rem; padding: 0.45rem 0.7rem; border: 1px solid var(--rule-strong); border-radius: var(--radius-sm); background: var(--paper-raised); min-width: 15rem; }
.net-stage { position: relative; padding: 0; overflow: hidden; }
.net-stage canvas { display: block; width: 100%; cursor: grab; background: radial-gradient(circle at 50% 45%, var(--paper-raised), var(--paper) 75%); }
.net-tooltip { position: absolute; z-index: 5; pointer-events: none; max-width: 300px; padding: 0.6rem 0.8rem; background: var(--night); color: var(--on-night); border-radius: var(--radius-sm); font-size: 0.82rem; display: grid; gap: 0.15rem; box-shadow: 0 12px 30px -12px rgba(23, 21, 15, 0.6); }
.net-tooltip [lang="ar"] { font-family: var(--font-arabic); color: var(--on-night-muted); }
.net-tooltip .mono { font-size: 0.68rem; color: var(--on-night-muted); }
.net-status { position: absolute; top: 0.8rem; inset-inline-start: 1rem; font-size: 0.7rem; color: var(--ink-muted); background: rgba(250, 246, 238, 0.85); padding: 0.2rem 0.5rem; border-radius: 2px; }
.net-legend { position: absolute; bottom: 0.8rem; inset-inline-start: 1rem; display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; font-size: 0.66rem; color: var(--ink-soft); background: rgba(250, 246, 238, 0.88); padding: 0.4rem 0.6rem; border-radius: 2px; }
.net-legend li { display: inline-flex; align-items: center; gap: 0.35rem; }
.net-legend i { width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 0 2px var(--paper-raised); }
.net-legend-size { color: var(--ink-muted); }
.net-card { position: absolute; top: 1rem; inset-inline-end: 1rem; width: min(300px, calc(100% - 2rem)); padding: 1.1rem 1.2rem; font-size: 0.9rem; }
.net-card h3 { font-size: 1.25rem; margin: 0.2rem 0; }
.net-card h3 a:hover { color: var(--accent); }
.net-card .mono { font-size: 0.68rem; color: var(--ink-muted); }
.net-card p + p { margin-top: 0.35rem; }
.net-card-ar { font-family: var(--font-arabic); color: var(--ink-muted); }
.net-card-close { position: absolute; top: 0.5rem; inset-inline-end: 0.6rem; border: 0; background: none; font-size: 1.2rem; color: var(--ink-muted); cursor: pointer; }
.net-path { margin-top: 2rem; padding: 1.6rem 1.8rem; display: grid; grid-template-columns: 5fr 6fr; gap: 1rem 2.4rem; }
.net-path-form { position: relative; display: grid; gap: 0.7rem; align-content: start; }
.net-path-form label { display: grid; grid-template-columns: 1.6rem 1fr; align-items: center; gap: 0.6rem; }
.net-path-form label .mono { display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--ink); color: var(--paper-raised); font-size: 0.72rem; }
.net-path-form input { font-family: var(--font-display); font-size: 1.05rem; padding: 0.55rem 0.7rem; border: 1px solid var(--rule-strong); border-radius: var(--radius-sm); background: var(--paper); }
.net-path-form .btn { justify-self: start; }
.net-suggest { position: absolute; z-index: 6; top: 100%; inset-inline: 2.2rem 0; background: var(--paper-raised); border: 1px solid var(--rule-strong); border-radius: var(--radius-sm); box-shadow: 0 16px 34px -16px rgba(29, 27, 22, 0.5); }
.net-suggest button { display: block; width: 100%; text-align: start; padding: 0.55rem 0.8rem; border: 0; border-bottom: 1px solid var(--rule); background: none; cursor: pointer; font-size: 0.88rem; color: var(--ink); }
.net-suggest button:hover { background: var(--paper-sunk); }
.net-suggest .mono { font-size: 0.7rem; color: var(--ink-muted); }
.net-suggest .db-dim { display: block; font-size: 0.72rem; }
.net-chain { grid-column: 1 / -1; display: grid; gap: 0; counter-reset: chain; }
.net-chain:empty { display: none; }
.net-chain li { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 0.2rem 1rem; align-items: baseline; padding: 0.7rem 0 0.7rem 2.4rem; border-inline-start: 2px solid var(--ink); margin-inline-start: 0.8rem; }
[dir="rtl"] .net-chain li { padding: 0.7rem 2.4rem 0.7rem 0; }
.net-chain li::before { content: ''; position: absolute; inset-inline-start: -7px; top: 1rem; width: 12px; height: 12px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px var(--paper-raised); }
.net-chain li.net-chain-head { border: 0; padding-inline-start: 0; margin: 0 0 0.4rem; color: var(--ink-muted); font-size: 0.72rem; }
.net-chain li.net-chain-head::before { display: none; }
.net-chain [lang="ar"] { font-family: var(--font-arabic); color: var(--ink-muted); }
.net-chain .mono { font-size: 0.72rem; color: var(--ink-muted); }
.net-chain-rel { grid-column: 1 / -1; color: var(--accent) !important; }

/* ---------- Veri paneli ---------- */
.stats-ledger { margin-bottom: 2rem; }
.stats-ledger dd a:hover { color: var(--accent); }
.stats-sets { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 0 2rem; border-top: 1px solid var(--ink); }
.stats-sets li { border-bottom: 1px solid var(--rule); }
.stats-sets a, .stats-set-note { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.3rem 0.7rem; padding: 0.8rem 0; color: var(--ink-soft); }
.stats-set-note { grid-template-columns: 1fr; }
.stats-set-name { font-family: var(--font-display); font-size: 1.08rem; color: var(--ink); }
.stats-sets a:hover .stats-set-name { color: var(--accent); }
.stats-sets .db-num { font-size: 0.86rem; color: var(--ink); }
.stats-set-note .db-dim { font-size: 0.84rem; }
.viz-multiples { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.4rem 1.8rem; margin-top: 1.4rem; }
.viz-multiple figcaption { display: flex; align-items: center; gap: 0.45rem; font-size: 0.92rem; color: var(--ink); margin-bottom: 0.3rem; }
.viz-multiple figcaption a:hover { color: var(--accent); }
.viz-multiple figcaption .mono { margin-inline-start: auto; font-size: 0.74rem; color: var(--ink-muted); }
.viz-multiples > .viz-table { grid-column: 1 / -1; }
svg .viz-bar { fill: var(--viz-bar); transition: fill 0.15s ease; }
svg a:hover .viz-bar, svg a:focus .viz-bar, svg g:hover .viz-bar, svg g:focus .viz-bar { fill: var(--accent); }
svg .viz-hit { fill: transparent; }
svg .viz-base { stroke: var(--ink); stroke-width: 1; }
svg .viz-gridline { stroke: var(--rule); stroke-width: 1; }
svg .viz-axis { font-family: var(--font-mono); font-size: 10px; fill: var(--ink-muted); }
svg .viz-line { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
svg .viz-direct { font-family: var(--font-body); font-size: 12px; fill: var(--ink-soft); }
svg .viz-cross { stroke: var(--ink-muted); stroke-width: 1; stroke-dasharray: 2 3; }
.viz-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 2.2rem 2.6rem; }
.viz-card { margin: 0; padding: 0.9rem 0 0; border-top: 1px solid var(--ink); }
.viz-card figcaption { font-family: var(--font-display); font-size: 1.2rem; color: var(--ink); margin-bottom: 0.9rem; }
.viz-card svg { display: block; width: 100%; height: auto; }
.viz-wide { margin-top: 1rem; }
.viz-note { margin-top: 0.4rem; font-size: 0.7rem; color: var(--ink-muted); }
.viz-hbars li { display: grid; grid-template-columns: minmax(7rem, 2fr) 3fr 3.4rem; align-items: center; gap: 0.7rem; padding: 0.3rem 0; font-size: 0.86rem; border-bottom: 1px dotted var(--rule); }
.viz-hlabel { display: inline-flex; align-items: center; gap: 0.4rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); }
.viz-hlabel a:hover { color: var(--accent); }
.viz-hlabel [lang="ar"] { font-family: var(--font-arabic); color: var(--ink-muted); }
.viz-htrack { height: 10px; }
.viz-hbar { display: block; height: 100%; width: var(--w); min-width: 2px; background: var(--viz-bar); border-radius: 0 4px 4px 0; transition: background 0.15s ease; }
[dir="rtl"] .viz-hbar { border-radius: 4px 0 0 4px; }
.viz-hbars li:hover .viz-hbar, .viz-hbars li:focus .viz-hbar { background: var(--accent); }
.viz-hvalue { text-align: end; font-size: 0.76rem; color: var(--ink-soft); }
.viz-legend { display: flex; flex-wrap: wrap; gap: 0.3rem 1.2rem; margin-bottom: 0.6rem; font-size: 0.72rem; color: var(--ink-soft); }
.viz-legend li { display: inline-flex; align-items: center; gap: 0.4rem; }
.viz-key { display: inline-block; width: 14px; height: 3px; border-radius: 2px; background: var(--c); vertical-align: middle; margin-inline-end: 0.3rem; }
.viz-table { margin-top: 0.8rem; font-size: 0.8rem; }
.viz-table summary { cursor: pointer; font-size: 0.68rem; color: var(--ink-muted); }
.viz-table summary:hover { color: var(--accent); }
.viz-table table { margin-top: 0.6rem; border-collapse: collapse; width: 100%; display: block; overflow-x: auto; }
.viz-table th, .viz-table td { padding: 0.25rem 0.5rem; border-bottom: 1px solid var(--rule); text-align: end; font-family: var(--font-mono); font-size: 0.7rem; white-space: nowrap; }
.viz-table th:first-child, .viz-table td:first-child { text-align: start; font-family: var(--font-body); }
.viz-tip { position: fixed; z-index: var(--z-toast); pointer-events: none; max-width: 280px; padding: 0.55rem 0.75rem; background: var(--night); color: var(--on-night); border-radius: var(--radius-sm); font-size: 0.8rem; line-height: 1.5; box-shadow: 0 12px 30px -12px rgba(23, 21, 15, 0.6); }
.viz-tip .mono { color: var(--on-night-muted); }

/* ---------- Altbilgi: dört sütun ---------- */
.footer-content-db { grid-template-columns: 4fr 2fr 2fr 4fr; }

/* Izgara öğeleri içerikleri kadar genişlemesin (uzun adlar ve tablolar sayfayı taşırmasın) */
.db-layout > *, .person-grid > *, .db-search-results > *, .net-path > *, .db-flows > *, .db-circle > *,
.header-content > * { min-width: 0; }

/* ---------- Duyarlı düzen ---------- */
@media (max-width: 1180px) {
    .db-rows-head, .db-row { grid-template-columns: minmax(0, 1fr) 6.8rem minmax(6.5rem, 8.5rem) 5.4rem 2.9rem; }
    .db-row-profile, .db-rows-head span:nth-child(4) { display: none; }
}
@media (max-width: 992px) {
    .db-layout, .person-grid, .db-search-results, .net-path, .db-flows, .db-circle { grid-template-columns: 1fr; }
    /* Süzgeçler katlanır bir panele dönüşür */
    .db-filters { position: static; border: 1px solid var(--rule-strong); border-radius: var(--radius-sm); background: var(--paper-raised); }
    .db-filters > .db-filters-toggle { display: flex; padding: 0.75rem 0.9rem; font-size: 0.92rem; color: var(--ink); }
    .db-filters[open] > .db-filters-toggle { border-bottom: 1px solid var(--rule); }
    .db-facets { max-height: none; overflow: visible; padding: 0.2rem 0.9rem 0.8rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0 1.8rem; }
    .db-facet:first-child { border-top-color: var(--rule); }
    .person-map-wrap { position: static; }
    .footer-content-db { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .atl { --time-h: 196px; }
    .atl-card { top: auto; bottom: calc(var(--time-h) + var(--pad) * 2); inset-inline: var(--pad); width: auto; max-height: 46vh; }
    .atl.has-card .atlas-map .leaflet-top.leaflet-right { right: 0; }
    .atl.has-card .atlas-map .leaflet-top.leaflet-left { left: 0; }
    .atl-legend { max-width: 72vw; }
    .atl.has-card .atl-legend { display: none; }
    .atl .time-sizes { display: none; }
    .atl-size-select { display: inline-flex; }
    .atl .time-controls { flex-wrap: wrap; gap: 0.45rem; }
    .method-quality li { grid-template-columns: 3.6rem 1fr; }
    .method-quality li .db-dim { grid-column: 2; }
    .method-metrics > div { grid-template-columns: 1fr; gap: 0.15rem; }
    .db-search { flex-direction: column; }
    .db-toolbar { flex-direction: column; align-items: flex-start; }
    .db-rows-head { display: none; }
    .db-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'main main' 'death net' 'place sets'; gap: 0.25rem 1rem; padding: 0.8rem 0.4rem; margin-inline: -0.4rem; }
    .db-row-main { grid-area: main; }
    .db-row-death { grid-area: death; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 0.6rem; }
    .db-row-place { grid-area: place; }
    .db-row-net { grid-area: net; }
    .db-row-sets { grid-area: sets; }
    .db-row-profile { display: none; }
    .person-id { margin-inline-start: 0.4rem; }
    .person-facts li + li::before { margin: 0 0.45rem; }
    .db-map { height: 300px; }
    .db-raw dl > div { grid-template-columns: 1fr; gap: 0; }
    .db-record { padding: 1rem 1rem 0.9rem; }
    .db-source-text { font-size: 1.18rem; padding-inline-start: 0.8rem; }
    .db-source { grid-template-columns: 4rem 1fr 3rem; }
    .db-source .db-place-bar { display: none; }
    .db-tl-band em { display: none; }
    .net-card { position: static; width: auto; margin: 0.6rem; }
    .net-find input { min-width: 0; width: 100%; }
    .footer-content-db { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .gh-arc { animation: none; stroke-dasharray: none; }
}
@media print {
    .db-filters, .db-toolbar, .nav-search, .gh-palette, .db-map, .db-ego, .db-cite-actions, .pub-actions, .db-clamp-btn { display: none !important; }
    .db-layout { grid-template-columns: 1fr; }
    .db-clamp.is-clamped .db-source-text { max-height: none; -webkit-mask-image: none; mask-image: none; }
}

/* ---------- Analizler ve nüfus sayımı: dar ekran ---------- */
@media (max-width: 640px) {
    .method-row { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'name' 'lead' 'figure' 'meta'; gap: 0.25rem; }
    .method-row-figure { text-align: start; }
    .method-row-figure .db-num { display: inline; font-size: 1.15rem; margin-inline-end: 0.25rem; }
    .pub-links > div { grid-template-columns: minmax(0, 1fr); }
    .census-plot { height: 220px; margin-inline-start: 2rem; }
    .census-x, .census-legend { margin-inline-start: 2rem; }
    .census-band > span { display: none; }
    .census-bars { gap: 1px; }
}

/* ---------- Mobil uyum ---------- */
/* Dokunmatik ekranda form alanı yazısı 16 pikselin altına inmez: iOS odaklanınca sayfayı yakınlaştırmasın */
@media (pointer: coarse) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]),
    body select, body textarea { font-size: max(16px, 1em) !important; }
}
@media (max-width: 640px) {
    /* İlim halkası çizimi telefonda okunmaz (yazılar ≈4 piksel); aynı hoca ve talebeler hemen alttaki listelerde */
    .db-ego { display: none; }
    /* Eksen, dipnot ve etiket yazıları en az ≈11 piksel */
    .db-tl-axis { font-size: 0.72rem; }
    .db-tl-axis small { font-size: 0.66rem; }
    .db-tl-event span { font-size: 0.7rem; }
    .db-hist-axis { font-size: 0.7rem; }
    .db-raw dt { font-size: 0.72rem; }
    .record-foot { font-size: 0.74rem; }
    .atl .time-tick { font-size: 0.7rem; }
    .viz-table summary { padding: 0.45rem 0; font-size: 0.74rem; }
    /* Ana sayfa küresindeki merkezler: dokunma alanı görünen noktadan büyük */
    .globe-hit { r: 30px; }
}
/* Telefon başlığı (logo, dil, menü düğmesi) temadadır: responsive.css › 480px ve altı */
