.project-article.project-boo{gap:0 var(--space-6);max-width:none;padding:var(--space-4) var(--page-padding-x) var(--space-12);grid-template-columns:200px minmax(0,912px);align-items:start;margin:0;display:grid}.boo-title{margin:0 0 var(--space-5);letter-spacing:-.025em;color:var(--text-primary);font-size:34px;font-weight:500;line-height:1.15}.boo-title span{color:var(--text-secondary)}.boo-label{font-size:var(--font-sm);color:var(--text-muted);margin:0;font-weight:500}.boo-figure,.boo-diagram{margin:0}.boo-figure a{border-radius:var(--radius);background:var(--bg-secondary);padding:clamp(10px,2.5%,28px);display:block}.boo-figure a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.boo-figure img{border-radius:var(--radius-sm);width:100%;height:auto;display:block}.boo-section .boo-figure,.boo-section .boo-diagram{margin-top:var(--space-4)}.boo-section h2+.boo-diagram{margin-top:var(--space-2)}.boo-section .boo-figure+p,.boo-section .boo-diagram+p{margin-top:var(--space-4)}.boo-section p,.boo-list{max-width:700px;font-size:var(--font-body);line-height:var(--leading-body);color:var(--text-primary);margin:0}.boo-section.boo-summary{margin-top:0}.boo-section{margin-top:60px}.boo-section h2{z-index:2;background:var(--bg-color);font-size:var(--font-h3);font-weight:500;line-height:var(--leading-tight);letter-spacing:var(--tracking-normal);color:var(--text-primary);margin:0;padding:12px 0;position:sticky;top:0}.boo-section h3{margin:var(--space-6) 0 var(--space-1);font-size:var(--font-md);font-weight:500;line-height:var(--leading-tight);letter-spacing:var(--tracking-normal);color:var(--text-primary)}.boo-section h2+h3,.boo-section p+p,.boo-section .boo-list+p{margin-top:var(--space-2)}.boo-section code{font-family:var(--font-family-mono);font-size:var(--font-sm)}.boo-list{padding-left:1.2em}.boo-section p+.boo-list{margin-top:var(--space-2)}.boo-list li+li{margin-top:6px}.boo-list strong{font-weight:500}.boo-list li::marker{color:var(--text-muted)}.boo-vary{gap:var(--space-3);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.boo-vary li{gap:var(--space-3);grid-template-columns:200px minmax(0,1fr);align-items:start;display:grid}.boo-vary strong{font-weight:500;display:block}.boo-vary span{font-size:var(--font-sm);line-height:var(--leading-normal);color:var(--text-secondary);display:block}.boo-pair{align-items:flex-start;gap:14px var(--space-2);border-radius:var(--radius-sm);background:var(--bg-secondary);flex-wrap:wrap;padding:12px;display:flex;overflow-x:auto}.boo-sheet{border-collapse:separate;border-spacing:2px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-primary);font-size:11px;line-height:1.3}.boo-sheet caption{font-family:var(--font-family-base);color:var(--text-secondary);text-align:left;padding:0 0 4px 22px}.boo-sheet th,.boo-sheet td{font-family:var(--font-family-mono)}.boo-sheet th{color:var(--text-muted);text-align:center;padding:2px 6px;font-size:10px;font-weight:400}.boo-sheet tbody th{text-align:right}.boo-sheet tbody td{border-radius:calc(var(--radius-sm) / 3);background:var(--bg-color);min-width:24px;height:14px;padding:4px 5px}.boo-sheet .head{font-weight:500}.boo-sheet .num{text-align:right}.boo-sheet .bad{background:color-mix(in srgb, var(--red-mark) 13%, var(--bg-color));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--red-mark) 55%, transparent)}.boo-sheet .gap{color:color-mix(in srgb, var(--red-mark) 70%, var(--text-primary))}.boo-sheet .good{background:color-mix(in srgb, var(--status-success) 16%, var(--bg-color));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-success) 60%, transparent)}.boo-sheet .warn{background:color-mix(in srgb, var(--status-warning) 18%, var(--bg-color));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-warning) 60%, transparent)}.boo-stages{grid-template-columns:repeat(6,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.boo-stages li{border-radius:var(--radius-sm);background:var(--bg-secondary);padding:var(--space-2);font-size:var(--font-sm);line-height:var(--leading-normal);color:var(--text-primary);flex-direction:column;gap:8px;display:flex}@media (width<=768px){.boo-section{margin-top:var(--space-8)}.boo-stages{grid-template-columns:1fr 1fr}.boo-vary li{gap:var(--space-1);grid-template-columns:1fr}.project-article.project-boo{padding-inline:16px}.boo-cost-cards{grid-template-columns:1fr}}.boo-cost{margin-top:var(--space-3)}.boo-cost-cards{gap:var(--space-1);margin:var(--space-2) 0 var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.boo-cost-cards li,.boo-months{border-radius:var(--radius-sm);background:var(--bg-secondary)}.boo-cost-cards li{padding:var(--space-3);flex-direction:column;gap:6px;display:flex}.boo-cost-cards span{font-size:var(--font-sm);color:var(--text-secondary)}.boo-cost-cards b{letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:40px;font-weight:500;line-height:1.15}.boo-cost-cards b+span{font-size:var(--font-caption)}.boo-months{padding:var(--space-3)}.boo-section .boo-months p{margin:0 0 var(--space-3);font-size:var(--font-sm);color:var(--text-secondary)}.boo-months ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:0;padding:0;list-style:none;display:grid}.boo-months li{grid-template-rows:180px auto;justify-items:center;display:grid}.boo-months b{margin-bottom:calc(var(--files) / 194 * 150px + 6px);font-family:var(--font-family-base);font-size:var(--font-caption);grid-area:1/1;align-self:end;font-weight:400}.boo-months i{width:min(62px,60%);height:calc(var(--files) / 194 * 150px);border-radius:calc(var(--radius-sm) / 2) calc(var(--radius-sm) / 2) 0 0;background:var(--text-primary);grid-area:1/1;align-self:end}.boo-months span{padding-top:var(--space-1);font-size:var(--font-caption);color:var(--text-secondary)}.boo-onward{margin-top:var(--space-10)}.boo-onward a,.boo-back{color:var(--text-secondary);transition:var(--transition-color);padding:4px 0;text-decoration:none;display:inline-block}.boo-onward a:hover,.boo-back:hover{color:var(--text-primary)}.boo-group{font-size:var(--font-sm);line-height:var(--leading-normal);color:var(--text-primary)}.boo-group-bar{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.boo-switch{border-radius:var(--radius);background:var(--bg-secondary);gap:2px;padding:3px;display:inline-flex}.boo-switch button{min-height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0}.boo-switch button[aria-pressed=true]{background:var(--bg-color);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:500}.boo-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.boo-section p.boo-group-count{font-size:var(--font-sm);color:var(--text-secondary);margin:0}.boo-group-count b{color:var(--text-primary);font-weight:500}.boo-group-scroll{overflow:auto hidden}.boo-group-grid{grid-template-columns:290px minmax(400px,1fr) 100px;min-width:800px;display:grid;position:relative}.boo-beam{pointer-events:none;position:absolute;top:0;left:0}.boo-group-col{grid-auto-rows:44px;align-content:start;display:grid}.boo-group-head,.boo-group-item{white-space:nowrap;grid-template-columns:minmax(0,1fr) 62px 30px 36px;align-items:center;gap:12px;display:grid}.boo-group-head,.boo-group-stage{font-size:var(--font-caption);color:var(--text-secondary)}.boo-group-item,.boo-tag,.boo-chip,.boo-product{z-index:1;position:relative}.boo-group-item{padding-right:10px}.boo-group-head span:nth-child(3),.boo-group-item span:nth-child(3){text-align:center}.boo-group-head span:nth-child(4),.boo-group-item span:nth-child(4){font-variant-numeric:tabular-nums;text-align:right}.boo-group-head{padding-right:10px}.boo-swatch{width:10px;height:10px;box-shadow:0 0 0 1px color-mix(in srgb, var(--text-primary) 60%, transparent);border-radius:50%;margin-right:8px;display:inline-block}.boo-port{width:1px;height:1px;position:absolute;top:50%}.boo-port-left{left:0}.boo-port-right{right:0}.boo-group-steps{align-items:stretch;gap:40px;padding-left:70px;display:flex}.boo-group-cell{grid-template-rows:44px 1fr;place-items:center;display:grid}.boo-group-cell:last-child{margin-left:12px}.boo-group-stage{white-space:nowrap;justify-content:center;width:0;display:flex}.boo-group-stage-solo{align-items:center;width:auto}.boo-group-mid.boo-group-col{justify-items:center}.boo-group-slot{align-items:center;display:flex}.boo-group-tags{justify-items:end}.boo-group-tags .boo-group-head{justify-content:flex-end;padding:0;display:flex}.boo-chip{border:1px solid var(--border-medium);border-radius:var(--radius-pill);background:var(--bg-color);height:28px;font-size:var(--font-caption);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.boo-chip svg{fill:currentColor;width:13px;height:13px}.boo-chip-value{border-color:var(--text-primary);background:var(--text-primary);color:var(--bg-color);font-weight:500}.boo-product{border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-color);font-size:var(--font-caption);white-space:nowrap;padding:14px 18px;line-height:1.5}.boo-product b{font-size:var(--font-sm);font-weight:500;display:block}.boo-product span{color:var(--text-secondary)}.boo-tag{border-radius:var(--radius-pill);background:var(--bg-secondary);align-items:center;height:24px;padding:0 12px;font-size:12px;display:inline-flex}.boo-toc{top:var(--space-3);font-size:var(--font-caption);line-height:var(--leading-normal);position:sticky}.boo-back{padding:4px 0;display:inline-block}.boo-toc ol{gap:2px;margin:28px 0 0;padding:0;list-style:none;display:grid}.boo-toc ol a{color:var(--text-secondary);transition:var(--transition-color);padding:4px 0;text-decoration:none;display:block}.boo-toc ol .boo-toc-sub a{padding-left:14px}.boo-toc ol a:hover{color:var(--text-primary)}.boo-toc ol a[aria-current=true]{color:var(--text-primary);font-weight:500}.boo-toc a:focus-visible,.boo-onward a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.boo-section h3{scroll-margin-top:80px}@media (width<=1180px){.project-article.project-boo{grid-template-columns:minmax(0,912px)}.boo-toc{margin-bottom:var(--space-3);position:static}.boo-toc ol{display:none}}
