- apps/captain-mobile: Mobile API service - apps/flow-ui: Flow UI application - apps/mindlink: Mindlink application - apps/storage: Storage API and workers - apps/tzzr-cli: TZZR CLI tool - deck-frontend/backups: Historical TypeScript versions - hst-frontend: Standalone HST frontend Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
77 lines
2.3 KiB
CSS
77 lines
2.3 KiB
CSS
/* === GRAPH VIEW === */
|
|
.graph-view {
|
|
width: 100%;
|
|
height: 100%;
|
|
position: relative;
|
|
display: none;
|
|
}
|
|
#graph-svg { width: 100%; height: 100%; display: block; }
|
|
.node { cursor: pointer; }
|
|
.node text { fill: var(--text-muted); pointer-events: none; font-size: 11px; }
|
|
.node.selected circle { stroke: var(--accent); stroke-width: 4; }
|
|
.link { stroke-opacity: 0.5; }
|
|
|
|
.graph-controls { position: absolute; top: 16px; right: 16px; display: flex; gap: 6px; }
|
|
.graph-sidebar {
|
|
position: absolute;
|
|
top: 16px;
|
|
left: 16px;
|
|
width: 210px;
|
|
background: var(--bg-secondary);
|
|
border: 1px solid var(--border);
|
|
border-radius: 10px;
|
|
padding: 14px;
|
|
font-size: 0.8em;
|
|
max-height: calc(100% - 32px);
|
|
overflow-y: auto;
|
|
}
|
|
.graph-sidebar h4 {
|
|
color: var(--text-muted);
|
|
margin: 12px 0 8px;
|
|
font-size: 0.85em;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.graph-sidebar h4:first-child { margin-top: 0; }
|
|
|
|
.graph-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
|
|
.graph-stat {
|
|
background: var(--bg-card);
|
|
padding: 10px;
|
|
border-radius: 8px;
|
|
text-align: center;
|
|
}
|
|
.graph-stat-val { font-size: 1.4em; font-weight: 700; color: var(--accent); }
|
|
.graph-stat-label { font-size: 0.7em; color: var(--text-muted); margin-top: 3px; }
|
|
|
|
.graph-filters { display: flex; flex-wrap: wrap; gap: 5px; }
|
|
.graph-filter {
|
|
padding: 5px 10px;
|
|
background: var(--bg-card);
|
|
border: 1px solid var(--border);
|
|
border-radius: 5px;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
transition: all 0.15s ease;
|
|
font-size: 0.85em;
|
|
}
|
|
.graph-filter:hover { border-color: var(--accent); }
|
|
.graph-filter.active { background: var(--accent); border-color: var(--accent); color: #fff; }
|
|
.graph-filter .dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
|
|
|
|
.graph-slider { width: 100%; margin: 6px 0; accent-color: var(--accent); }
|
|
.graph-legend {
|
|
position: absolute;
|
|
bottom: 16px;
|
|
left: 16px;
|
|
background: var(--bg-secondary);
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
padding: 10px 14px;
|
|
font-size: 0.75em;
|
|
}
|
|
.legend-item { display: flex; align-items: center; margin: 4px 0; color: var(--text-muted); }
|
|
.legend-color { width: 12px; height: 12px; border-radius: 50%; margin-right: 10px; flex-shrink: 0; }
|