/* AI Files — visual timeline graph (topics + collection hubs) */
.tl-graph{margin:0 0 1.25rem;padding:0.85rem 0.9rem 0.7rem;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);border-radius:.5rem;position:relative}
.tl-graph-hd{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.55rem}
.tl-graph-hd .tl-graph-kicker{font:700 .68rem/1.3 var(--f-sans,system-ui,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-on-dark,#c2f68b);margin:0}
.tl-graph-hd .tl-graph-meta{font: .72rem/1.4 var(--f-sans,system-ui,sans-serif);color:#a9a59b;margin:0}
.tl-graph-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.25rem;padding:0 .25rem}
.tl-graph svg{display:block;width:100%;min-width:520px;height:168px;touch-action:pan-x}
.tl-graph .tg-axis{stroke:rgba(255,255,255,.22);stroke-width:1.5}
.tl-graph .tg-era{opacity:.22}
.tl-graph .tg-grid{stroke:rgba(255,255,255,.06);stroke-width:1}
.tl-graph .tg-ylab,.tl-graph .tg-tick{fill:#a9a59b;font:600 10px/1 var(--f-sans,system-ui,sans-serif)}
.tl-graph .tg-era-lab{fill:rgba(255,255,255,.55);font:700 9px/1 var(--f-sans,system-ui,sans-serif);letter-spacing:.04em;text-transform:uppercase}
.tl-graph .tg-dot{cursor:pointer;stroke:#0f1114;stroke-width:1;transition:r .12s,opacity .12s}
.tl-graph .tg-dot:hover,.tl-graph .tg-dot:focus{r:6;outline:none}
.tl-graph .tg-dot.is-on{stroke:#fff;stroke-width:2}
.tl-graph .tg-bar{fill:rgba(194,246,139,.35);stroke:rgba(194,246,139,.55);stroke-width:1;cursor:pointer}
.tl-graph .tg-bar:hover{fill:rgba(194,246,139,.55)}
.tl-graph-tip{position:absolute;z-index:5;max-width:min(320px,80vw);padding:.45rem .65rem;background:#16181d;border:1px solid #3a3f49;border-radius:.35rem;color:#f1efe9;font:.78rem/1.35 var(--f-sans,system-ui,sans-serif);pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.45);opacity:0;transform:translateY(4px);transition:opacity .12s}
.tl-graph-tip.is-on{opacity:1;transform:none}
.tl-graph-tip b{display:block;color:var(--accent-on-dark,#c2f68b);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.15rem}
.tl-graph-tip .tg-src{display:block;margin-top:.25rem;color:#a9a59b;font-size:.7rem}
.tl-graph-legend{display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.45rem}
.tl-graph-legend span{display:inline-flex;align-items:center;gap:.35rem;font:.68rem/1 var(--f-sans,system-ui,sans-serif);color:#c8c4ba}
.tl-graph-legend i{width:.55rem;height:.55rem;border-radius:50%;display:inline-block}
/* paper sections (READING / light hubs) */
.section.paper .tl-graph,.reading .tl-graph{background:#f3f0e9;border-color:#dcd9d1}
.section.paper .tl-graph-hd .tl-graph-kicker,.reading .tl-graph-hd .tl-graph-kicker{color:var(--accent-text,#7a2a12)}
.section.paper .tl-graph-hd .tl-graph-meta,.reading .tl-graph-hd .tl-graph-meta{color:#6b6d72}
.section.paper .tl-graph .tg-axis,.reading .tl-graph .tg-axis{stroke:#c5c1b6}
.section.paper .tl-graph .tg-grid,.reading .tl-graph .tg-grid{stroke:#e4e0d6}
.section.paper .tl-graph .tg-ylab,.section.paper .tl-graph .tg-tick,.reading .tl-graph .tg-ylab,.reading .tl-graph .tg-tick{fill:#6b6d72}
.section.paper .tl-graph .tg-era-lab,.reading .tl-graph .tg-era-lab{fill:#7a7c82}
.section.paper .tl-graph .tg-dot,.reading .tl-graph .tg-dot{stroke:#fcfbf8}
.section.paper .tl-graph-tip,.reading .tl-graph-tip{background:#fcfbf8;border-color:#dcd9d1;color:#1c1f25;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.section.paper .tl-graph-tip b,.reading .tl-graph-tip b{color:var(--accent-text,#7a2a12)}
.hub-tl-band{padding-block:2.5rem 0}
.hub-tl-band .tl-graph{margin-top:.75rem}
@media (max-width:600px){
  .tl-graph svg{min-width:420px;height:150px}
  .tl-graph{padding:.7rem .65rem .55rem}
}
