/* Timeline and activity feed · the kit rules for this component, quoted from phase-2/kit (kit v3) by phase-4/src/build_pack.py.
   Tokens come from ../../styles.css. Build it as: a composed component. */
/* families/data-display/family.css */
.dd-dots{display:flex;justify-content:center;gap:6px;margin-top:var(--s-1)}
/* families/data-display/family.css */
.dd-dots i{width:6px;height:6px;border-radius:50%;background:hsl(var(--secondary-border))}
/* families/data-display/family.css */
.dd-dots i.on{background:hsl(var(--primary));width:16px;border-radius:var(--r-pill)}
/* families/data-display/family.css */
.dd-tl{list-style:none;position:relative;padding:var(--s-1) 0}
/* families/data-display/family.css */
.dd-tl li{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--s-3);padding-bottom:var(--s-4)}
/* families/data-display/family.css */
.dd-tl li:last-child{padding-bottom:0}
/* families/data-display/family.css */
.dd-tl li::before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:1px;background:hsl(var(--border))}
/* families/data-display/family.css */
.dd-tl li:last-child::before{display:none}
/* families/data-display/family.css */
.dd-tl .ring{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:hsl(var(--background));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground))}
/* families/data-display/family.css */
.dd-tl .ring svg{width:12px;height:12px}
/* families/data-display/family.css */
.dd-tl .ring.ok{border-color:hsl(var(--success)/.45);color:hsl(var(--success));background:hsl(var(--success)/var(--status-soft-alpha))}
/* families/data-display/family.css */
.dd-tl .ring.info{border-color:hsl(var(--info)/.45);color:hsl(var(--info));background:hsl(var(--info)/var(--status-soft-alpha))}
/* families/data-display/family.css */
.dd-tl .ring.warn{border-color:hsl(var(--warning)/.45);color:hsl(var(--warning));background:hsl(var(--warning)/var(--status-soft-alpha))}
/* families/data-display/family.css */
.dd-tl .ring.now{border-color:hsl(var(--primary));color:hsl(var(--primary-foreground));background:hsl(var(--primary))}
/* families/data-display/family.css */
.dd-tl .ring.next{border-style:dashed}
/* families/data-display/family.css */
.dd-tl-t{display:flex;align-items:baseline;gap:var(--s-2);flex-wrap:wrap}
/* families/data-display/family.css */
.dd-tl-t b{font:var(--w-semibold) var(--text-body)/1.35 var(--font-ui)}
/* families/data-display/family.css */
.dd-tl-t time{margin-left:auto;font-size:var(--text-small);color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;white-space:nowrap}
/* families/data-display/family.css */
.dd-tl-b{font-size:var(--text-small);color:hsl(var(--muted-foreground));margin-top:2px}
/* families/data-display/family.css */
.dd-tl li.future b{color:hsl(var(--muted-foreground));font-weight:var(--w-medium)}
/* families/data-display/family.css */
.dd-feed-day{font:var(--w-semibold) var(--text-micro)/1 var(--font-voice);font-stretch:var(--font-stretch-title);color:hsl(var(--muted-foreground));padding:var(--s-3) 0 var(--s-2)}
/* families/data-display/family.css */
.dd-feed-day:first-child{padding-top:0}
/* families/data-display/family.css */
.dd-feed{list-style:none;display:flex;flex-direction:column}
/* families/data-display/family.css */
.dd-feed li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:var(--s-3);align-items:start;padding:var(--s-2) 0;border-bottom:1px solid hsl(var(--border))}
/* families/data-display/family.css */
.dd-feed li:last-child{border-bottom:0}
/* families/data-display/family.css */
.dd-feed p{font-size:var(--text-body);line-height:1.4}
/* families/data-display/family.css */
.dd-feed p b{font-weight:var(--w-semibold)}
/* families/data-display/family.css */
.dd-feed p a{color:hsl(var(--foreground));font-weight:var(--w-medium)}
/* families/data-display/family.css */
.dd-feed .q{font-size:var(--text-small)}
/* families/data-display/family.css */
.dd-feed time{font-size:var(--text-small);color:hsl(var(--muted-foreground));white-space:nowrap;font-variant-numeric:tabular-nums}
/* families/data-display/family.css */
.dd-feed .avatar.sys{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
/* families/data-display/family.css */
.dd-feed .avatar.ai{background:hsl(var(--info)/var(--status-soft-alpha));color:hsl(var(--info))}
