.ts-line{display:inline;min-width:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere;color:var(--tx)}
.ts-line .ts-title{font-weight:700}
.ts-line .ts-rest{color:var(--dim)}
.ts-run .ts-title{color:var(--work)}
.ts-ok .ts-title{color:var(--ok)}
.ts-warn .ts-title,.ts-wait .ts-title{color:var(--warn)}
.ts-bad .ts-title{color:var(--bad)}
.ts-dim .ts-title{color:var(--dim)}
.ts-compact{font-size:12px}
.ts-card h3{margin:0}
.ts-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}
.ts-counts{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0 2px;color:var(--dim);font-size:12px}
.ts-counts b{color:var(--tx)}
.ts-files{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0}
.ts-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px 0;border-top:1px solid var(--line);min-width:0}
.ts-file .ts-name{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ts-file .ts-status{grid-column:1/-1;min-width:0}
.ts-file .ts-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:start}
.ts-file .ts-actions .btn{max-width:100%;white-space:normal}
.ts-file details{grid-column:1/-1;min-width:0}
.ts-more>summary,.ts-file details>summary,.ts-done>summary{cursor:pointer;color:var(--dim);font-size:12px;min-height:28px;line-height:28px}
.ts-more>summary:focus-visible,.ts-file details>summary:focus-visible,.ts-done>summary:focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:2px}
.ts-done{margin-top:6px}
.ts-timeline{list-style:none;margin:6px 0 8px;padding:0 0 0 14px;border-left:2px solid var(--line);display:grid;gap:5px}
.ts-timeline li{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;font-size:12.5px;line-height:1.45}
.ts-timeline li::before{content:"";position:absolute;left:-19px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--dim)}
.ts-timeline li.ts-ok::before{background:var(--ok)}
.ts-timeline li.ts-warn::before,.ts-timeline li.ts-wait::before{background:var(--warn)}
.ts-timeline li.ts-bad::before{background:var(--bad)}
.ts-timeline li.ts-run::before{background:var(--work)}
.ts-timeline li.ts-planned{color:var(--dim)}
.ts-timeline time{color:var(--dim);white-space:nowrap;font-variant-numeric:tabular-nums}
.ts-timeline span{overflow-wrap:anywhere;min-width:0}
.ts-empty{color:var(--dim);font-size:12px;margin:4px 0}
@media (max-width:640px){
  .ts-file{grid-template-columns:minmax(0,1fr)}
  .ts-file .ts-actions{justify-content:flex-start;order:3}
  .ts-file .ts-status{order:2}
  .ts-file details{order:4}
  .ts-timeline li{grid-template-columns:minmax(0,1fr)}
}
.wh-human{margin:2px 0}
