/* سنوات الانتظار — Abram's age (75 to 100) on one scaled line, a detail card for the chosen stop, and the people.
   Uses the site's colour tokens from styles.css. */
.tl{gap:18px}
.tl-lead{color:var(--muted);max-width:62ch}
.tl-links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.92rem}
.tl-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tl-name{border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.tl-name b{font-family:var(--display);font-size:1.35rem;line-height:1.3}
.tl-name small{color:var(--muted);font-size:.82rem}
.tl-name span{font-size:.88rem}
.tl-n1{background:var(--maroon-soft)} .tl-n1 b{color:var(--maroon)}
.tl-n2{background:var(--teal-soft)} .tl-n2 b{color:var(--teal)}
.tl-n3{background:var(--gold-soft)} .tl-n3 b{color:var(--gold)}
.tl-tabs{display:flex;gap:6px;flex-wrap:wrap}
.tl-tab{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 16px;font-size:.95rem;color:var(--muted)}
.tl-tab[aria-selected="true"]{background:var(--maroon);border-color:var(--maroon);color:var(--on-accent)}
.tl-card{background:var(--surface);border:1px solid var(--line);border-radius:14px}
.tl-view{display:flex;flex-direction:column;gap:14px}
.tl-rulercard{padding:14px 14px 10px;display:flex;flex-direction:column;gap:8px}
.tl-scroll{overflow-x:auto;padding-bottom:4px}
.tl-ruler{position:relative;min-width:760px;height:200px;margin-inline:44px}
.tl-axis{position:absolute;left:-30px;right:-30px;top:128px;height:2px;background:var(--line)}
.tl-tick{position:absolute;top:120px;width:1px;height:18px;background:var(--line)}
.tl-tick span{position:absolute;top:22px;right:50%;transform:translateX(50%);font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.tl-silence{position:absolute;top:106px;height:46px;border-radius:8px;background:repeating-linear-gradient(135deg,var(--gold-soft) 0 8px,transparent 8px 14px);border:1px dashed var(--gold);display:flex;align-items:center;justify-content:center;padding:0}
.tl-silence span{font-size:.82rem;color:var(--gold);font-weight:700;background:var(--surface);padding:0 8px;border-radius:6px}
.tl-stop{position:absolute;top:0;transform:translateX(50%);display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:0;width:78px}
.tl-lab{font-size:.8rem;line-height:1.3;text-align:center;color:var(--ink);white-space:nowrap}
.tl-stem{width:2px;background:var(--line)}
.tl-dot{width:22px;height:22px;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line);background:var(--muted)}
.tl-stop.c15 .tl-dot{background:var(--maroon)} .tl-stop.c16 .tl-dot{background:var(--teal)} .tl-stop.c17 .tl-dot{background:var(--gold)}
.tl-stop.ctx .tl-lab{color:var(--muted)} .tl-stop.ctx .tl-dot{background:var(--line)}
.tl-stop[aria-pressed="true"] .tl-dot{transform:scale(1.35);box-shadow:0 0 0 2px var(--ink)}
.tl-stop[aria-pressed="true"] .tl-lab{font-weight:700}
.tl-dim{opacity:.28}
.tl-stop.tl-mine .tl-dot,.tl-silence.tl-mine{box-shadow:0 0 0 3px var(--gold)}
.tl-hint{font-size:.82rem;color:var(--muted)}
.tl-who{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tl-who small{color:var(--muted);font-size:.82rem;margin-inline-end:4px}
.tl-chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:1px 12px;font-size:.85rem}
.tl-chip[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:var(--on-accent)}
.tl-detail{padding:18px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px}
.tl-main,.tl-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.tl-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:.88rem}
.tl-age{font-family:var(--display);font-size:1.15rem;color:var(--gold);font-weight:700}
.tl-pill{border-radius:999px;padding:0 10px;font-size:.82rem;font-weight:600}
.tl-p15{background:var(--maroon-soft);color:var(--maroon)} .tl-p16{background:var(--teal-soft);color:var(--teal)} .tl-p17{background:var(--gold-soft);color:var(--gold)} .tl-pctx{background:var(--bg);color:var(--muted)}
.tl-verse{background:var(--gold-soft);border-radius:10px;padding:12px 14px;font-family:var(--display);font-size:1.22rem;line-height:1.85}
.tl-verse .ref{display:block;font-family:var(--body);font-size:.82rem;color:var(--gold);font-weight:700}
.tl-box{border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.tl-box h4{margin:0;font-size:.85rem;color:var(--muted);font-weight:600}
.tl-fathers{background:var(--teal-soft)} .tl-fathers p{font-size:.95rem}
.tl-fathers cite{font-style:normal;font-size:.8rem;color:var(--teal);font-weight:600}
.tl-q{background:var(--maroon-soft)} .tl-q p{font-family:var(--display);font-size:1.12rem;color:var(--maroon)}
.tl-tags{display:flex;flex-wrap:wrap;gap:6px}
.tl-tag{font-size:.82rem;border:1px solid var(--line);border-radius:999px;padding:0 10px;font-weight:600}
.tl-nav{display:flex;gap:8px;flex-wrap:wrap}
.tl-btn{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 14px;font-size:.88rem}
.tl-btn.primary{background:var(--maroon);border-color:var(--maroon);color:var(--on-accent)}
.tl-btn:disabled{opacity:.45;cursor:default}
.tl-minebox{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}
.tl-minebox button{border:1px dashed var(--gold);background:none;border-radius:999px;padding:1px 12px;color:var(--gold);font-size:.85rem}
.tl-minebox button[aria-pressed="true"]{background:var(--gold);color:var(--on-accent);border-style:solid}
.tl-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.tl-person{padding:16px;display:flex;flex-direction:column;gap:8px}
.tl-person .role{font-size:.82rem;color:var(--muted)}
.tl-person blockquote{margin:0;font-family:var(--display);font-size:1.12rem;color:var(--maroon);line-height:1.7}
.tl-person blockquote small{display:block;font-family:var(--body);font-size:.78rem;color:var(--gold);font-weight:700}
.tl-person ul{margin:0;padding-inline-start:18px;font-size:.92rem}
.tl-person .go{display:flex;flex-wrap:wrap;gap:6px}
.tl-reflect{padding:16px} .tl-reflect ul{margin:8px 0 0;padding-inline-start:20px;display:flex;flex-direction:column;gap:6px}
.tl-src{font-size:.85rem;color:var(--muted)} .tl-src h3{font-size:1rem} .tl-src ul{margin:4px 0;padding-inline-start:18px}
@media (max-width:720px){ .tl-names{grid-template-columns:1fr} .tl-detail{grid-template-columns:1fr} }
@media (prefers-reduced-motion:no-preference){ .tl-dot{transition:transform .15s} }
