.board-root{--b-ink:var(--ivory);--b-paper:var(--surface);--b-stage:var(--stage);--b-line:var(--line);--b-muted:var(--muted);--b-soft:var(--ink-soft);--b-accent:var(--brass);--b-accent-tint:#f0e2dc;--b-cell:#ece4d2;--b-rail:#a99c89;font-family:var(--font-archivo), system-ui, sans-serif;color:var(--b-ink)}.board-viewport{background:var(--b-stage);touch-action:none;cursor:grab;position:relative;overflow:hidden}.board-viewport.dragging{cursor:grabbing}.board-viewport.dragging *{-webkit-user-select:none;user-select:none}.board-canvas{transform-origin:0 0;flex-direction:column;gap:30px;width:2340px;padding:30px;display:flex;position:absolute;top:0;left:0}.board-card{background:var(--b-paper);border:1px solid var(--b-line);border-radius:6px}.b-serif{font-family:var(--font-newsreader), Georgia, "Times New Roman", serif}.b-mono{font-family:var(--font-spline-mono), ui-monospace, monospace}.u{text-underline-offset:2px;text-decoration:underline}.rail-label{font-family:var(--font-spline-mono), ui-monospace, monospace;letter-spacing:.8px;color:var(--b-muted);text-transform:uppercase;font-size:10px;position:absolute}.conn{background:var(--b-ink);position:absolute}.conn-v{transform-origin:top;animation:.7s cubic-bezier(.22,1,.36,1) both drawV}.conn-h{transform-origin:0;animation:.7s cubic-bezier(.22,1,.36,1) both drawH}.arrow-s{border-left:4px solid #0000;border-right:4px solid #0000;border-top:6px solid var(--b-ink);width:0;height:0;position:absolute}.fade-up{opacity:0;animation:.7s cubic-bezier(.22,1,.36,1) forwards boardFadeUp}@keyframes boardFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes drawV{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes drawH{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.phase-tab{border:1.5px solid var(--b-ink);background:var(--b-paper);text-underline-offset:2px;cursor:pointer;color:var(--b-ink);border-radius:3px;padding:4px 13px;font-size:13.5px;text-decoration:underline;transition:background .18s,color .18s,border-color .18s,transform .18s}.phase-tab:hover{border-color:var(--b-accent);color:var(--b-accent);transform:translateY(-1px)}.phase-tab.active{background:var(--b-ink);color:var(--b-stage);border-color:var(--b-ink)}.phz{transition:opacity .35s,box-shadow .35s,border-color .35s}.phz.dim{opacity:.28}.phz.lit{box-shadow:0 0 0 2px var(--b-accent);border-radius:3px}.tool-tile{border:1px solid var(--b-line);background:var(--b-paper);border-radius:8px;justify-content:center;align-items:center;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 .5px 1.5px #1c18100f}.tool-tile:hover{border-color:var(--b-accent);z-index:5;transform:translateY(-2px)scale(1.12);box-shadow:0 3px 8px #8a2d1e2e}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);background:var(--b-ink);color:var(--b-stage);font-family:var(--font-spline-mono), ui-monospace, monospace;white-space:nowrap;z-index:60;pointer-events:none;border-radius:4px;padding:5px 8px;font-size:10px;line-height:1;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}[data-tip]:hover:before{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--b-ink);z-index:60;pointer-events:none;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.chief-node{position:relative}.chief-node:after{content:"";border:1.5px solid var(--b-accent);pointer-events:none;border-radius:8px;animation:2.6s ease-out infinite pulseRing;position:absolute;inset:-4px}@keyframes pulseRing{0%{opacity:.9;transform:scale(.92)}70%{opacity:0;transform:scale(1.25)}to{opacity:0;transform:scale(1.25)}}.dot-live{background:#1f8a5b;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.dept-card{cursor:pointer;transition:transform .2s,filter .2s}.dept-card:hover{transform:translateY(-3px)}.dept-card.selected .brm-panel{border-color:var(--b-accent);box-shadow:0 0 0 1.5px var(--b-accent)}.brm-item{transition:background .15s,border-color .15s,color .15s}.brm-item:hover{background:var(--b-accent-tint);border-color:var(--b-accent)}.chev-outer,.chev-inner,.chev-label{position:absolute}.chev-outer{background:var(--b-ink);inset:0}.chev-inner{background:var(--b-paper);inset:1.5px}.chev-label{justify-content:center;align-items:center;font-weight:700;display:flex;inset:0}.dept-card:hover .chev-inner,.dept-card.selected .chev-inner{background:var(--b-ink)}.dept-card:hover .chev-label,.dept-card.selected .chev-label{color:var(--b-stage)}.chev-inner,.chev-label{transition:background .2s,color .2s}.gantt-cell{background:var(--b-cell);text-align:center;text-underline-offset:2px;border-radius:3px;justify-content:center;align-items:center;padding:8px 3px;font-size:7.6px;line-height:1.35;text-decoration:underline;transition:background .2s,opacity .35s,box-shadow .35s,color .2s;display:flex}.gantt-row-hover .gantt-cell,.gantt-cell:hover{background:var(--b-accent-tint)}.gantt-cell:hover{color:var(--b-accent)}.gantt-milestone{border:1.3px solid var(--b-ink);background:var(--b-paper);text-align:center;text-underline-offset:2px;border-radius:3px;justify-content:center;align-items:center;padding:7px 4px;font-size:9px;text-decoration:underline;transition:opacity .35s,box-shadow .35s,background .2s;display:flex}.gantt-row-hover .gantt-milestone{background:var(--b-accent-tint)}.gantt-dashed{border:1.3px dashed var(--b-soft);background:var(--b-stage);text-align:center;text-underline-offset:2px;border-radius:3px;justify-content:center;align-items:center;padding:7px 4px;font-size:8px;text-decoration:underline;transition:opacity .35s;display:flex}.vc-tile{border:1.5px solid var(--b-soft);background:var(--b-paper);text-align:center;border-radius:5px;justify-content:center;align-items:center;padding:6px;font-size:11px;transition:border-color .15s,background .15s,transform .15s;display:flex}.vc-tile:hover{border-color:var(--b-accent);background:var(--b-accent-tint);transform:scale(1.03)}.vc-arrow{animation:1.8s ease-in-out infinite arrowNudge}@keyframes arrowNudge{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.vc-footer{transition:background .2s,color .2s}.vc-footer:hover{background:var(--b-ink);color:var(--b-stage)}.board-toolbar{z-index:20;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100% - 28px);display:flex;position:absolute;top:14px;left:14px}.tb-group{background:var(--b-paper);border:1px solid var(--b-line);border-radius:6px;align-items:center;gap:2px;padding:3px;display:flex;box-shadow:0 2px 10px #1c181014}.tb-btn{font-family:var(--font-spline-mono), ui-monospace, monospace;color:var(--b-ink);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:7px 10px;font-size:11px;line-height:1;transition:background .15s,color .15s}.tb-btn:hover{background:var(--b-accent-tint);color:var(--b-accent)}.tb-btn.active{background:var(--b-ink);color:var(--b-stage)}.tb-hint{font-family:var(--font-spline-mono), ui-monospace, monospace;color:var(--b-muted);background:color-mix(in srgb, var(--b-paper) 82%, transparent);border-radius:6px;padding:6px 10px;font-size:10px}@media (prefers-reduced-motion:reduce){.board-root *,.board-root :after,.board-root :before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.fade-up{opacity:1}}
