/* TSD Timeline — front end. The timeline itself is a dark panel so it reads the same on any theme. */
:root{
  --tsd-bg:#121212; --tsd-surface:#1B1A19; --tsd-surface-2:#222120; --tsd-line:#34312D;
  --tsd-fg:#F2EFE8; --tsd-muted:#A9A398; --tsd-soft:#CFCAC0;
  --tsd-accent:#E8A33D; --tsd-accent-bg:#2A2113;
  --tsd-police:#86A9E3; --tsd-family:#BFA3EC; --tsd-texts:#7FB0FF; --tsd-medical:#5FC2B6; --tsd-story:#F2EFE8; --tsd-memory:#E8A33D;
  --tsd-medical-dim:#2B5550; --tsd-crit:#F08A6C; --tsd-bubble:#2F6FED;
  --tsd-display:'Oswald','Arial Narrow',sans-serif;
  --tsd-body:'IBM Plex Sans',system-ui,sans-serif;
  --tsd-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --tsd-sticky-top:0px;
}
.admin-bar{--tsd-sticky-top:32px}
@media (max-width:782px){.admin-bar{--tsd-sticky-top:0px}}

/* Page intro, stats and findings (written in the page editor) */
.tsd-intro{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.tsd-eyebrow{margin:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.tsd-lede{margin:0;max-width:62ch}
.tsd-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;background:var(--tsd-bg);color:var(--tsd-fg);border-radius:14px;padding:20px 12px;margin:0 0 20px;font-family:var(--tsd-body)}
.tsd-stat{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.tsd-stat b{font-family:var(--tsd-display);font-weight:600;font-size:38px;line-height:1;color:var(--tsd-accent);font-variant-numeric:tabular-nums}
.tsd-stat span{font-size:12px;color:var(--tsd-muted)}
.tsd-findings{display:flex;flex-direction:column;gap:16px;margin:0 0 24px;font-family:var(--tsd-body)}
.tsd-finding{border:2px solid var(--tsd-accent);border-radius:14px;background:var(--tsd-accent-bg);color:var(--tsd-fg);padding:20px;display:flex;flex-direction:column;gap:12px}
.tsd-finding h3{margin:0;color:var(--tsd-fg);font-family:var(--tsd-display);font-weight:600;font-size:clamp(24px,4.5vw,32px);line-height:1.1;text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}
.tsd-finding ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.tsd-finding li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:baseline;color:var(--tsd-soft);margin:0}
.tsd-finding a{color:var(--tsd-fg)}
.tsd-tag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border-radius:4px;padding:2px 6px;white-space:nowrap;color:var(--tsd-bg)}
.tsd-tag.rec{background:var(--tsd-medical)} .tsd-tag.fam{background:var(--tsd-family)} .tsd-tag.sam{background:var(--tsd-memory)}
.tsd-why{margin:0;font-size:14px;color:var(--tsd-soft);max-width:64ch}

/* The app */
.tsd-app{background:var(--tsd-bg);color:var(--tsd-fg);font-family:var(--tsd-body);font-size:15px;line-height:1.55;border-radius:16px;padding:24px 16px 32px;display:flex;flex-direction:column;gap:24px}
.tsd-app *{box-sizing:border-box}
.tsd-app a{color:var(--tsd-accent)} .tsd-app a:hover{color:#F5C77A}
.tsd-app button{font:inherit;color:inherit;text-transform:none;letter-spacing:normal;box-shadow:none}
.tsd-app :focus-visible{outline:2px solid var(--tsd-accent);outline-offset:2px}
.tsd-app h2{margin:0;color:var(--tsd-fg);font-family:var(--tsd-display);font-weight:500;font-size:22px;letter-spacing:.04em;text-transform:uppercase}
.tsd-fallback{margin:0;padding-left:20px}
.tsd-app.tsd-ready .tsd-fallback{display:none}

.tsd-dx{display:flex;flex-direction:column;gap:12px}
.tsd-dx p{margin:0;color:var(--tsd-soft);font-size:14px;max-width:62ch}
.tsd-gantt{display:flex;flex-direction:column;gap:4px}
.tsd-g-axis,.tsd-g-row{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:12px;align-items:center}
.tsd-g-axis .tsd-track{height:20px;background:none}
.tsd-tick{position:absolute;top:0;font-family:var(--tsd-mono);font-size:11px;color:var(--tsd-muted);transform:translateX(-50%);white-space:nowrap}
.tsd-tick:first-child{transform:none}
.tsd-g-row{min-height:44px;width:100%;background:none;border:0;border-radius:8px;padding:4px 6px;text-align:left;cursor:pointer}
.tsd-g-row:hover{background:var(--tsd-surface)}
.tsd-g-row[aria-pressed="true"]{background:var(--tsd-surface-2);box-shadow:inset 0 0 0 1px var(--tsd-medical)}
.tsd-g-label{display:flex;flex-direction:column;min-width:0}
.tsd-g-label b{font-weight:500;font-size:14px;line-height:1.3}
.tsd-g-label span{font-family:var(--tsd-mono);font-size:11px;color:var(--tsd-muted)}
.tsd-track{position:relative;height:14px;border-radius:3px;background:#1F1E1C}
.tsd-bar{position:absolute;top:2px;bottom:2px;border-radius:3px;background:var(--tsd-medical)}
.tsd-bar.on{background:var(--tsd-accent);border-radius:3px 0 0 3px}
.tsd-bar.on::after{content:"";position:absolute;right:-7px;top:-2px;border-left:7px solid var(--tsd-accent);border-top:7px solid transparent;border-bottom:7px solid transparent}
.tsd-bar.hl{background:var(--tsd-medical-dim);outline:1px dashed var(--tsd-fg);outline-offset:-1px}
.tsd-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--tsd-muted)}
.tsd-legend i{display:inline-block;width:18px;height:8px;border-radius:2px;vertical-align:middle;margin-right:6px}

.tsd-barwrap{position:sticky;top:var(--tsd-sticky-top);z-index:5;background:var(--tsd-bg);padding:12px 0;border-bottom:1px solid var(--tsd-line);display:flex;flex-direction:column;gap:10px}
.tsd-chips{display:flex;flex-wrap:wrap;gap:8px}
.tsd-chip{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;border-radius:999px;border:1px solid var(--tsd-line);background:var(--tsd-surface);cursor:pointer;font-size:14px}
.tsd-chip[aria-pressed="true"]{background:var(--tsd-fg);color:var(--tsd-bg);border-color:var(--tsd-fg)}
.tsd-chip .n{font-family:var(--tsd-mono);font-size:12px;opacity:.7}
.tsd-dot{width:9px;height:9px;border-radius:50%;flex:none}
.tsd-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.tsd-counter{font-family:var(--tsd-mono);font-size:13px;color:var(--tsd-muted)}
.tsd-counter b{color:var(--tsd-accent);font-weight:500}
.tsd-condnote{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;color:var(--tsd-soft)}
.tsd-condnote b{color:var(--tsd-medical);font-weight:600}
.tsd-clear{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--tsd-line);background:transparent;cursor:pointer;font-size:13px}
.tsd-add{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--tsd-muted)}
.tsd-add a{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:999px;border:1px dashed var(--tsd-line);color:var(--tsd-fg);text-decoration:none;font-size:13px}
.tsd-add a:hover{border-color:var(--tsd-accent);color:var(--tsd-accent)}

.tsd-list{list-style:none;margin:0 0 0 8px;padding:0 0 0 26px;border-left:2px solid var(--tsd-line);display:flex;flex-direction:column;gap:14px}
.tsd-list > li{margin:0}
.tsd-day{margin-left:-41px !important;padding-top:14px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.tsd-day:first-child{padding-top:0}
.tsd-pill{font-family:var(--tsd-display);font-weight:500;font-size:13px;letter-spacing:.12em;background:var(--tsd-fg);color:var(--tsd-bg);padding:4px 10px;border-radius:999px;text-transform:uppercase}
.tsd-day.hosp .tsd-pill{background:var(--tsd-medical)}
.tsd-day .sub{font-size:13px;color:var(--tsd-muted)}

.tsd-entry{position:relative}
.tsd-node{position:absolute;left:-34px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--tsd-bg);border:2px solid var(--src)}
.tsd-card{width:100%;text-align:left;background:var(--tsd-surface);border:1px solid var(--tsd-line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:5px;cursor:pointer}
.tsd-card:hover{border-color:#4A4640;background:var(--tsd-surface)}
.tsd-entry.recollection .tsd-card{border-style:dashed}
.tsd-entry.placeholder .tsd-card{border-style:dotted;background:transparent}
.tsd-entry.key .tsd-card{background:var(--tsd-accent-bg);border:2px solid var(--tsd-accent)}
.tsd-entry.key .tsd-node{width:16px;height:16px;left:-36px;top:18px;background:var(--tsd-accent);border-color:var(--tsd-accent)}
.tsd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--tsd-muted)}
.tsd-time{font-family:var(--tsd-mono);color:var(--tsd-soft)}
.tsd-src{display:inline-flex;align-items:center;gap:5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:11px}
.tsd-src svg{width:13px;height:13px}
.tsd-badge{font-size:11px;border:1px solid var(--tsd-line);border-radius:4px;padding:1px 6px;color:var(--tsd-muted)}
.tsd-badge.tsd-warn{border-color:var(--tsd-crit);color:var(--tsd-crit)}
.tsd-card .t{font-size:17px;font-weight:600;line-height:1.3;color:var(--tsd-fg)}
.tsd-card .s{font-size:14px;color:var(--tsd-soft)}
.tsd-chev{align-self:flex-end;margin-top:-22px;width:16px;height:16px;color:var(--tsd-muted);transition:transform .15s}
.tsd-card[aria-expanded="true"] .tsd-chev{transform:rotate(180deg)}
.tsd-labs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.tsd-lab{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--tsd-mono);font-size:12px;background:var(--tsd-bg);border:1px solid var(--tsd-line);border-radius:6px;padding:3px 8px;color:var(--tsd-fg)}
.tsd-lab b{font-weight:500}
.tsd-lab i{font-style:normal;color:var(--tsd-muted)}
.tsd-lab em{font-style:normal;color:var(--tsd-crit);font-weight:500}
.tsd-lab em.ok{color:var(--tsd-medical)}

.tsd-detail{margin-top:8px;padding:14px 16px;border-radius:12px;background:var(--tsd-surface-2);display:flex;flex-direction:column;gap:12px}
.tsd-detail p{margin:0;color:var(--tsd-soft);max-width:64ch}
.tsd-cad{margin:0;font-family:var(--tsd-mono);font-size:13px;line-height:1.5;color:var(--tsd-fg);background:var(--tsd-bg);border:1px solid var(--tsd-line);border-radius:8px;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere}
.tsd-cad small{display:block;color:var(--tsd-muted);font-size:11px;margin-bottom:4px;letter-spacing:.06em}
.tsd-story{margin:0;padding:0;border:0;font-size:16px;line-height:1.65;font-style:italic;color:var(--tsd-fg)}
.tsd-story footer{margin-top:6px;font-style:normal;font-size:12px;color:var(--tsd-muted)}
.tsd-bubbles{display:flex;flex-direction:column;gap:6px}
.tsd-b{margin:0;max-width:78%;padding:9px 13px;font-size:15px;line-height:1.4;display:flex;flex-direction:column;gap:2px}
.tsd-b span{font-size:11px;opacity:.75}
.tsd-b-out{align-self:flex-end;background:var(--tsd-bubble);color:#fff;border-radius:18px 18px 4px 18px}
.tsd-b-in{align-self:flex-start;background:#3A3A3C;color:#fff;border-radius:18px 18px 18px 4px}
.tsd-links{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px}
.tsd-links a{min-height:32px;display:inline-flex;align-items:center}
.tsd-perma{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12px;color:var(--tsd-muted)}
.tsd-perma a{color:var(--tsd-soft)}
.tsd-private{font-size:11px;color:var(--tsd-muted);border:1px solid var(--tsd-line);border-radius:4px;padding:1px 6px}

/* Glossary links and sheet (any page) */
.tsd-term{color:inherit;text-decoration:underline dotted var(--tsd-medical);text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer}
.tsd-app .tsd-term{color:var(--tsd-fg)}
.tsd-term:hover{color:var(--tsd-medical)}
.tsd-sheet{position:fixed;z-index:99999;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));font-family:var(--tsd-body)}
.tsd-sheet[hidden]{display:none}
.tsd-sheet-in{width:100%;max-width:560px;background:var(--tsd-surface-2);color:var(--tsd-fg);border:1px solid #4A4640;border-radius:14px;padding:18px;box-shadow:0 12px 40px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:10px}
.tsd-sheet-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tsd-sheet .k{margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tsd-medical)}
.tsd-sheet h3{margin:2px 0 0;color:var(--tsd-fg);font-family:var(--tsd-display);font-weight:500;font-size:22px;letter-spacing:.02em}
.tsd-sheet p{margin:0;color:var(--tsd-soft);font-size:15px;line-height:1.55}
.tsd-sheet a{color:var(--tsd-accent);font-size:14px}
.tsd-sheet .x{width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--tsd-line);background:transparent;color:var(--tsd-fg);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.tsd-sheet .x svg{width:16px;height:16px}

/* Single entry page */
.tsd-single{background:var(--tsd-bg);color:var(--tsd-fg);border-radius:14px;padding:18px;margin:0 0 24px;display:flex;flex-direction:column;gap:12px;font-family:var(--tsd-body)}
.tsd-single-meta{margin:0;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:13px;color:var(--tsd-muted)}
.tsd-single-src{font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.tsd-src-police .tsd-single-src{color:var(--tsd-police)} .tsd-src-medical .tsd-single-src{color:var(--tsd-medical)}
.tsd-src-texts .tsd-single-src{color:var(--tsd-texts)} .tsd-src-story .tsd-single-src{color:var(--tsd-story)}
.tsd-src-memory .tsd-single-src{color:var(--tsd-memory)} .tsd-src-family .tsd-single-src{color:var(--tsd-family)}
.tsd-single-sum{margin:0;font-size:17px;color:var(--tsd-fg)}
.tsd-mono{font-family:var(--tsd-mono)}
.tsd-single-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:24px}
.tsd-mentions{margin-top:32px}

@media (max-width:600px){
  .tsd-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}
  .tsd-g-axis,.tsd-g-row{grid-template-columns:minmax(0,1fr);gap:4px}
  .tsd-g-axis .lbl{display:none}
  .tsd-app{border-radius:0;margin-left:-16px;margin-right:-16px;padding-left:12px;padding-right:12px}
  .tsd-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -12px;padding:0 12px}
  .tsd-chips::-webkit-scrollbar{display:none}
  .tsd-chip{flex:none}
}
@media (prefers-reduced-motion:reduce){.tsd-app *,.tsd-chev{transition:none!important}}
