';
return '
'+(d.pre||'')+'0'+d.suf+'
'+d.lab+'
';
}).join('');
var nums=box.querySelectorAll('.num[data-i]');
reveal('bC3',function(){
nums.forEach(function(n){
var d=data[+n.getAttribute('data-i')],t0=null,dur=1300;
function step(ts){if(!t0)t0=ts;var pr=Math.min((ts-t0)/dur,1);n.textContent=(d.pre||'')+Math.round(pr*d.v)+d.suf;if(pr<1)requestAnimationFrame(step);}
requestAnimationFrame(step);
});
});
})();
/* CHART 4: DOMINO DECISION QUEUE */
(function(){
var svg=root.querySelector('#b4svg'),tip=root.querySelector('#b4tip');
var W=640,H=300;
var items=[
{n:'Pricing Q',note:'
Waits on you. A pricing question sits in your inbox. Nothing downstream can move until you answer.'},
{n:'Proposal',note:'
Waits on pricing. The customer proposal can\u2019t go out until the price is set. Now two things are stalled.'},
{n:'Customer',note:'
Waits on proposal. The prospect starts wondering why it\u2019s taking so long. Momentum leaks.'},
{n:'Offer',note:'
Waits on you. A great candidate can\u2019t get an offer until you approve comp. They keep interviewing elsewhere.'},
{n:'Feature',note:'
Waits on sign-off. The release needs your approval \u2014 which is stuck behind the previous three. The whole line moves at your speed.'}
];
var n=items.length,gap=(W-40)/n,dw=42,dh=110,y=70;
items.forEach(function(it,i){
var x=25+gap*i+(gap-dw)/2;
// arrow between
if(i>0){var ax=x-(gap-dw);svg.appendChild(el('path',{d:'M'+(x-14)+' '+(y+dh/2)+' l-14 0 m14 0 l-6 -5 m6 5 l-6 5',stroke:'#f7a008','stroke-width':2,fill:'none','stroke-linecap':'round'}));}
var rect=el('rect',{x:x,y:y,width:dw,height:dh,rx:6,fill:'#1a2c5a',stroke:'#f75008','stroke-width':2,opacity:0,style:'cursor:pointer;transform-origin:'+(x+dw/2)+'px '+(y+dh)+'px'});svg.appendChild(rect);
var t=el('text',{x:x+dw/2,y:y+dh+20,fill:'#eaf0ff','font-size':10.5,'font-weight':700,'text-anchor':'middle'});t.textContent=it.n;svg.appendChild(t);
var qn=el('text',{x:x+dw/2,y:y+dh/2+4,fill:'#f7a008','font-size':13,'font-weight':900,'text-anchor':'middle',opacity:0});qn.textContent=(i+1);svg.appendChild(qn);
function show(){tip.innerHTML=it.note;tip.style.left=((x+dw/2)/W*100)+'%';tip.style.top=((y-8)/H*100)+'%';tip.style.opacity=1;tip.style.whiteSpace='normal';tip.style.maxWidth='220px';}
rect.addEventListener('mouseenter',show);rect.addEventListener('mousemove',show);
rect.addEventListener('mouseleave',function(){tip.style.opacity=0;});
rect.addEventListener('touchstart',function(e){e.preventDefault();show();},{passive:false});
it._r=rect;it._qn=qn;
});
svg.appendChild(el('text',{x:W/2,y:30,fill:'#a9b6d6','font-size':11,'font-weight':700,'text-anchor':'middle'})).textContent='Every decision queues behind the one before it \u2014 at the speed of your calendar';
reveal('bC4',function(){
items.forEach(function(it,i){setTimeout(function(){
it._r.style.transition='opacity .5s';it._r.setAttribute('opacity',1);
it._qn.style.transition='opacity .4s .2s';it._qn.setAttribute('opacity',1);
},i*180);});
});
})();
/* CHART 5: DELEGATION MATRIX 2x2 */
(function(){
var svg=root.querySelector('#b5svg'),tip=root.querySelector('#b5tip');
var W=640,H=380,x0=90,y0=30,x1=560,y1=300;
var midX=(x0+x1)/2,midY=(y0+y1)/2;
// quadrant backgrounds
var quads=[
{x:x0,y:y0,w:midX-x0,h:midY-y0,c:'rgba(247,80,8,.16)',lab:'STEP IN',sub:'High stakes · Low expertise',note:'
Step in \u2014 temporarily. High stakes + unfamiliar domain: existential crises, onboarding, pivots. Get in the room \u2014 but with a clear expiration date.'},
{x:midX,y:y0,w:x1-midX,h:midY-y0,c:'rgba(247,160,8,.16)',lab:'COLLABORATE',sub:'High stakes · High expertise',note:'
Collaborate. High stakes but capable team: ask them to bring you a proposal instead of dictating. Builds their judgment, not dependency on yours.'},
{x:x0,y:midY,w:midX-x0,h:y1-midY,c:'rgba(91,141,239,.16)',lab:'COACH',sub:'Low stakes · Low expertise',note:'
Coach. Low stakes, still-learning team: a safe place to develop skill. Set goals, let them try, give feedback on outcomes.'},
{x:midX,y:midY,w:x1-midX,h:y1-midY,c:'rgba(63,208,138,.18)',lab:'DELEGATE FULLY',sub:'Low stakes · High expertise',note:'
Delegate fully. Capable team, low stakes: hand over the outcome AND the decision. Accept anything that meets the bar, even if the approach differs from yours.'}
];
quads.forEach(function(q){
var r=el('rect',{x:q.x,y:q.y,width:q.w,height:q.h,fill:q.c,stroke:'rgba(255,255,255,.12)','stroke-width':1,style:'cursor:pointer'});svg.appendChild(r);
var lab=el('text',{x:q.x+q.w/2,y:q.y+q.h/2-4,fill:'#fff','font-size':14,'font-weight':900,'text-anchor':'middle',opacity:0});lab.textContent=q.lab;svg.appendChild(lab);
var sub=el('text',{x:q.x+q.w/2,y:q.y+q.h/2+16,fill:'#a9b6d6','font-size':10.5,'text-anchor':'middle',opacity:0});sub.textContent=q.sub;svg.appendChild(sub);
function show(){tip.innerHTML=q.note;tip.style.left=((q.x+q.w/2)/W*100)+'%';tip.style.top=((q.y+8)/H*100)+'%';tip.style.opacity=1;tip.style.whiteSpace='normal';tip.style.maxWidth='230px';}
r.addEventListener('mouseenter',show);r.addEventListener('mousemove',show);
r.addEventListener('mouseleave',function(){tip.style.opacity=0;});
r.addEventListener('touchstart',function(e){e.preventDefault();show();},{passive:false});
q._lab=lab;q._sub=sub;
});
// axes labels
svg.appendChild(el('text',{x:(x0+x1)/2,y:y1+28,fill:'#f7a008','font-size':11.5,'font-weight':800,'text-anchor':'middle'})).textContent='TEAM EXPERTISE \u2192';
var yl=el('text',{x:0,y:0,fill:'#f7a008','font-size':11.5,'font-weight':800,'text-anchor':'middle',transform:'translate(30,'+((y0+y1)/2)+') rotate(-90)'});yl.textContent='STAKES \u2192';svg.appendChild(yl);
svg.appendChild(el('text',{x:x0-8,y:y0+8,fill:'#a9b6d6','font-size':9,'text-anchor':'end'})).textContent='high';
svg.appendChild(el('text',{x:x0-8,y:y1,fill:'#a9b6d6','font-size':9,'text-anchor':'end'})).textContent='low';
svg.appendChild(el('text',{x:x0+4,y:y1+16,fill:'#a9b6d6','font-size':9})).textContent='low';
svg.appendChild(el('text',{x:x1-4,y:y1+16,fill:'#a9b6d6','font-size':9,'text-anchor':'end'})).textContent='high';
reveal('bC5',function(){
quads.forEach(function(q,i){setTimeout(function(){
q._lab.style.transition='opacity .5s';q._lab.setAttribute('opacity',1);
q._sub.style.transition='opacity .5s .1s';q._sub.setAttribute('opacity',1);
},i*140);});
});
})();
/* CHART 6: TRANSITION TRACK — operator to leader */
(function(){
var svg=root.querySelector('#b6svg'),tip=root.querySelector('#b6tip'),note=root.querySelector('#b6note');
var W=640,H=300,y=130,xL=50,xR=590;
// track
svg.appendChild(el('line',{x1:xL,y1:y,x2:xR,y2:y,stroke:'rgba(255,255,255,.18)','stroke-width':4,'stroke-linecap':'round'}));
var fill=el('line',{x1:xL,y1:y,x2:xL,y2:y,stroke:'#f75008','stroke-width':4,'stroke-linecap':'round'});svg.appendChild(fill);
var stages=[
{n:'Do it all',note:'
Operator. You make every call and touch every output. Correct early \u2014 dangerous once the team crosses ~12.'},
{n:'Control inputs',note:'
The trap. You delegate tasks but keep the authority, revising outputs to match how you\u2019d have done them. Bottleneck locks in.'},
{n:'Define "good enough"',note:'
The turn. Before handing off, define the bar \u2014 then commit to accepting anything that clears it, even if the approach differs.'},
{n:'Own outcomes',note:'
The shift. Move from "how are you doing this?" to "where are we on the outcome?" Build systems (decision logs, updates) instead of hovering.'},
{n:'Head coach',note:'
Leader. Your value is raising the ceiling on others, not being the ceiling. You develop people who make good calls without you.'}
];
var n=stages.length;
function X(i){return xL+(xR-xL)*i/(n-1);}
stages.forEach(function(s,i){
var c=el('circle',{cx:X(i),cy:y,r:11,fill:i===n-1?'#3fd08a':'#1a2c5a',stroke:'#f75008','stroke-width':2.5,style:'cursor:pointer',opacity:0});svg.appendChild(c);
var num=el('text',{x:X(i),y:y+4,fill:'#fff','font-size':11,'font-weight':900,'text-anchor':'middle',opacity:0,style:'pointer-events:none'});num.textContent=(i+1);svg.appendChild(num);
var lab=el('text',{x:X(i),y:i%2?y+38:y-24,fill:'#eaf0ff','font-size':10.5,'font-weight':700,'text-anchor':'middle',opacity:0});lab.textContent=s.n;svg.appendChild(lab);
function pick(){note.innerHTML=s.note;fill.setAttribute('x2',X(i));tip.style.opacity=0;}
[c,num,lab].forEach(function(nn){nn.addEventListener('click',pick);nn.addEventListener('mouseenter',pick);
nn.addEventListener('touchstart',function(e){e.preventDefault();pick();},{passive:false});});
s._c=c;s._num=num;s._lab=lab;
});
svg.appendChild(el('text',{x:xL,y:y-60,fill:'#5b8def','font-size':11,'font-weight':800})).textContent='OPERATOR';
svg.appendChild(el('text',{x:xR,y:y-60,fill:'#3fd08a','font-size':11,'font-weight':800,'text-anchor':'end'})).textContent='LEADER';
reveal('bC6',function(){
stages.forEach(function(s,i){setTimeout(function(){
s._c.style.transition='opacity .5s';s._c.setAttribute('opacity',1);
s._num.style.transition='opacity .4s .1s';s._num.setAttribute('opacity',1);
s._lab.style.transition='opacity .4s .1s';s._lab.setAttribute('opacity',1);
fill.style.transition='x2 .5s ease';fill.setAttribute('x2',X(i));
},i*180);});
});
})();
/* RELATED + FAQ */
root.querySelector('#relatedGrid').innerHTML=[
{k:'Time',t:'The Founder Time Trap',d:'When your calendar owns you \u2014 the daily face of the bottleneck.',u:'https://lonelyentrepreneur.com/founder-time-trap-2026/'},
{k:'Psychology',t:'Founder Impostor Syndrome',d:'The self-doubt that makes letting go feel like being exposed.',u:'https://lonelyentrepreneur.com/founder-impostor-syndrome-2026/'},
{k:'Leadership',t:'The Loneliness Epidemic at the Top',d:'Why the founder who controls everything ends up carrying it all alone.',u:'https://lonelyentrepreneur.com/leadership-loneliness-epidemic-2026/'},
{k:'Psychology',t:'The Quiet Quitting Founder',d:'What happens when the bottleneck finally burns the founder out.',u:'https://lonelyentrepreneur.com/quiet-quitting-founder-2026/'}
].map(function(r){return '
'+r.k+''+r.t+'
'+r.d+'
';}).join('');
root.querySelector('#tFaq').innerHTML=[
['What is the founder bottleneck?','The founder bottleneck is when a company\u2019s growth gets capped by the founder\u2019s personal capacity because every important decision, approval, and output routes through them. The strengths that built the company \u2014 drive, attention to detail, deep involvement \u2014 harden into control, and the business can only move as fast as one person\u2019s calendar allows.'],
['When does a founder become the bottleneck?','Usually around the point the team crosses roughly a dozen people. Before that, doing everything yourself is genuinely faster. After it, the math inverts: with 60 things to do, you\u2019re better off raising the ceiling on 15 people than touching all 60 yourself. The clearest test is taking a few days off \u2014 if the company meaningfully slows, you\u2019re the constraint.'],
['What does the founder bottleneck cost?','It drains talent, speed, and culture. High performers are 400% (up to 800%) more productive than average, and they have the lowest tolerance for lost autonomy \u2014 so they leave first. High-engagement teams see 21\u201351% lower turnover; low-engagement teams run ~21% less profitable. And decisions queue behind one calendar, erasing your speed advantage.'],
['How do founders break the bottleneck?','Move from controlling inputs to owning outcomes: define "good enough" before delegating and accept anything that clears the bar, replace check-ins with systems like decision logs and outcome updates, and match your involvement to stakes and expertise rather than habit. Delegation is a learnable skill, not a personality trait.'],
['Do founders have to be replaced to scale?','Not necessarily. Data shows 80% of firms in the first two plateaus are founder-led, dropping to 70% past $25M and falling further \u2014 but many founders successfully make the shift from player-coach to head coach. The ones who stall are those who can\u2019t decentralize decision-making, not those who lack talent.']
].map(function(f){return '
'+f[0]+'
'+f[1]+'
';}).join('');
})();