511 lines
22 KiB
CSS
511 lines
22 KiB
CSS
.app-area-graph { overflow: hidden; }
|
|
|
|
.obsidian-graph {
|
|
box-sizing: border-box;
|
|
position: relative;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
padding: var(--panel-inset);
|
|
color: var(--text-primary);
|
|
background: transparent;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.obsidian-graph-surface {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 0;
|
|
touch-action: none;
|
|
cursor: grab;
|
|
user-select: none;
|
|
}
|
|
.obsidian-graph-surface:active { cursor: grabbing; }
|
|
.obsidian-graph-edges line { stroke: var(--graph-edge); stroke-width: 1; vector-effect: non-scaling-stroke; transition: stroke .12s ease, stroke-width .12s ease; }
|
|
.obsidian-node { color: var(--graph-technique); cursor: pointer; outline: none; }
|
|
.obsidian-node-selection-ring {
|
|
fill: none;
|
|
stroke: var(--graph-selected);
|
|
stroke-width: 3;
|
|
opacity: 1;
|
|
vector-effect: non-scaling-stroke;
|
|
pointer-events: none;
|
|
filter: none;
|
|
}
|
|
.obsidian-node-branch-ring {
|
|
fill: none;
|
|
stroke: var(--graph-selected);
|
|
stroke-width: 2;
|
|
opacity: .82;
|
|
vector-effect: non-scaling-stroke;
|
|
pointer-events: none;
|
|
}
|
|
.obsidian-node.is-branch-muted { opacity: .42; }
|
|
.obsidian-graph-edges line.is-branch-path { stroke: var(--graph-selected); stroke-width: 2; opacity: 1; }
|
|
.obsidian-graph-edges line.is-branch-muted { opacity: .2; }
|
|
.obsidian-node.is-selection-muted { opacity: .48; transition: opacity .14s ease; }
|
|
.obsidian-node.is-selection-muted:hover,
|
|
.obsidian-node.is-selection-muted:focus-visible { opacity: 1; }
|
|
.obsidian-graph-edges line.is-selection-muted { opacity: .24; }
|
|
.obsidian-node-role-ring { fill: none; stroke: currentColor; stroke-width: 1.5; opacity: .72; vector-effect: non-scaling-stroke; pointer-events: none; }
|
|
.obsidian-node-core { fill: currentColor; stroke: var(--surface-app); stroke-width: 1.5; vector-effect: non-scaling-stroke; transition: filter .12s ease, stroke .12s ease; }
|
|
.obsidian-node-finding { color: var(--graph-finding); }
|
|
.obsidian-node-finding.severity-critical { color: var(--critical); }
|
|
.obsidian-node-finding.severity-high { color: var(--high); }
|
|
.obsidian-node-finding.severity-medium { color: var(--medium); }
|
|
.obsidian-node-finding.severity-low { color: var(--low); }
|
|
.obsidian-node-finding.severity-info { color: var(--info); }
|
|
.obsidian-node-finding.severity-unknown { color: var(--graph-unknown); }
|
|
.obsidian-node-category,
|
|
.obsidian-node-defense,
|
|
.obsidian-node-target,
|
|
.obsidian-node-technique,
|
|
.obsidian-node-tactic { color: var(--graph-relation); }
|
|
.obsidian-node:hover .obsidian-node-core, .obsidian-node:focus-visible .obsidian-node-core { filter: brightness(1.25); stroke: var(--graph-selected); }
|
|
.obsidian-node:hover .obsidian-node-role-ring, .obsidian-node:focus-visible .obsidian-node-role-ring { opacity: 1; stroke-width: 2; }
|
|
.obsidian-node.is-selected .obsidian-node-core { stroke: var(--graph-selected); stroke-width: 2.5; }
|
|
.obsidian-node.is-selected .obsidian-node-role-ring { opacity: 1; stroke: var(--graph-selected); stroke-width: 2; }
|
|
.obsidian-graph-card-connectors { pointer-events: none; }
|
|
.obsidian-graph-card-connectors line { vector-effect: non-scaling-stroke; }
|
|
.obsidian-card-connector-backdrop { stroke: color-mix(in srgb, var(--surface-app) 88%, var(--pathfinder-micro-connector-backdrop-mix)); stroke-width: 5; opacity: .9; }
|
|
.obsidian-card-connector { stroke: var(--graph-selected); stroke-width: 2; }
|
|
.obsidian-card-connector-anchor { fill: var(--graph-selected); stroke: color-mix(in srgb, var(--surface-app) 88%, var(--pathfinder-micro-connector-backdrop-mix)); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
|
|
.obsidian-node-inline-label {
|
|
fill: var(--text-secondary);
|
|
stroke: var(--surface-app);
|
|
stroke-width: 3px;
|
|
paint-order: stroke fill;
|
|
font-size: var(--fs-lg);
|
|
font-weight: var(--fw-medium);
|
|
letter-spacing: .01em;
|
|
pointer-events: none;
|
|
}
|
|
.obsidian-node-category .obsidian-node-inline-label,
|
|
.obsidian-node-defense .obsidian-node-inline-label,
|
|
.obsidian-node-target .obsidian-node-inline-label,
|
|
.obsidian-node-tactic .obsidian-node-inline-label { fill: var(--text-primary); font-weight: var(--fw-semibold); }
|
|
.obsidian-node-card-wrap {
|
|
overflow: visible;
|
|
pointer-events: auto;
|
|
cursor: grab;
|
|
touch-action: none;
|
|
}
|
|
.obsidian-node-card-wrap:active { cursor: grabbing; }
|
|
.obsidian-node-matrix-card-wrap { overflow: visible; }
|
|
.obsidian-node-matrix-card {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
.obsidian-node-matrix-card .data-tile-content {
|
|
display: grid;
|
|
grid-template-rows: auto minmax(0, 1fr);
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
}
|
|
.obsidian-node-matrix-card .data-tile {
|
|
box-sizing: border-box;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 0;
|
|
grid-template-columns: 18px minmax(0, 1fr) 18px;
|
|
gap: var(--space-2);
|
|
padding: var(--space-3);
|
|
overflow: hidden;
|
|
}
|
|
.obsidian-node-matrix-card .data-tile-hex { width: 18px; height: 20px; }
|
|
.obsidian-node-matrix-card .data-tile-content h3 {
|
|
display: -webkit-box;
|
|
overflow: hidden;
|
|
font-size: var(--pathfinder-micro-title-size);
|
|
line-height: 1.2;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 5;
|
|
}
|
|
.obsidian-node-matrix-card .data-tile-badges {
|
|
flex-wrap: wrap;
|
|
gap: var(--space-1);
|
|
margin-top: var(--space-1);
|
|
min-height: 0;
|
|
max-height: none;
|
|
align-content: start;
|
|
overflow: hidden;
|
|
}
|
|
.obsidian-node-matrix-card .data-tile-badges > * {
|
|
flex: 0 1 auto;
|
|
min-width: 0;
|
|
max-width: 100%;
|
|
height: auto;
|
|
min-height: 20px;
|
|
padding: 0 3px;
|
|
overflow: visible;
|
|
font-size: var(--pathfinder-micro-badge-size);
|
|
line-height: 1.1;
|
|
overflow-wrap: anywhere;
|
|
white-space: normal;
|
|
}
|
|
.obsidian-node-matrix-card .tile-badge-overflow { justify-content: center; }
|
|
.obsidian-node-matrix-card .data-tile-actions { align-self: start; gap: 2px; }
|
|
.obsidian-node-matrix-card .tile-bookmark-btn,
|
|
.obsidian-node-matrix-card .tile-results-btn { width: 18px; height: 18px; }
|
|
.obsidian-node-card.data-tile {
|
|
box-sizing: border-box;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 0;
|
|
grid-template-columns: 26px minmax(0, 1fr);
|
|
gap: var(--legacy-space-3);
|
|
padding: var(--legacy-space-3);
|
|
overflow: hidden;
|
|
cursor: pointer;
|
|
}
|
|
.obsidian-node-card-technique .data-tile-hex,
|
|
.obsidian-node-card-category .data-tile-hex,
|
|
.obsidian-node-card-defense .data-tile-hex,
|
|
.obsidian-node-card-target .data-tile-hex,
|
|
.obsidian-node-card-tactic .data-tile-hex { background: var(--graph-relation); }
|
|
.obsidian-node-card .data-tile-content h3 {
|
|
display: -webkit-box;
|
|
overflow: hidden;
|
|
font-size: var(--pathfinder-micro-title-size);
|
|
line-height: 1.3;
|
|
overflow-wrap: normal;
|
|
word-break: normal;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 2;
|
|
}
|
|
.obsidian-node-card-technique .data-tile-content h3,
|
|
.obsidian-node-card-tactic .data-tile-content h3 { -webkit-line-clamp: 3; }
|
|
.obsidian-node-card .data-tile-badges {
|
|
gap: var(--legacy-space-1) var(--legacy-space-2);
|
|
margin-top: var(--legacy-space-2);
|
|
}
|
|
.obsidian-node-card .reader-severity {
|
|
min-height: 20px;
|
|
padding: 2px var(--legacy-space-1);
|
|
font-size: var(--pathfinder-micro-relation-badge-size);
|
|
}
|
|
.obsidian-node-card .outcome-mark { flex-basis: 100%; }
|
|
.obsidian-node.is-selected .obsidian-node-card {
|
|
border-color: var(--graph-selected);
|
|
outline: var(--bw-emphasis) solid var(--graph-selected);
|
|
outline-offset: -2px;
|
|
}
|
|
.obsidian-graph-card.is-selected .obsidian-node-card,
|
|
.obsidian-graph-card.is-selected .obsidian-node-matrix-card .data-tile {
|
|
border-color: var(--graph-selected);
|
|
outline: 3px solid var(--graph-selected);
|
|
outline-offset: -3px;
|
|
}
|
|
|
|
.obsidian-graph-toolbar,
|
|
.obsidian-graph-filters,
|
|
.obsidian-graph-inspector,
|
|
.obsidian-graph-zoom {
|
|
position: absolute;
|
|
z-index: 5;
|
|
border: var(--bw-hairline) solid var(--border-default);
|
|
border-radius: var(--radius-md);
|
|
color: var(--text-primary);
|
|
background: color-mix(in srgb, var(--surface-panel-raised) 94%, transparent);
|
|
backdrop-filter: blur(var(--space-2));
|
|
}
|
|
|
|
.obsidian-graph-toolbar {
|
|
top: var(--space-4);
|
|
left: 50%;
|
|
display: flex;
|
|
align-items: end;
|
|
gap: var(--space-2);
|
|
max-width: calc(100% - var(--space-8) * 2);
|
|
padding: var(--space-2);
|
|
transform: translateX(-50%);
|
|
}
|
|
.obsidian-graph-search { display: grid; gap: var(--space-1); min-width: calc(var(--space-8) * 8); color: var(--text-secondary); font-size: var(--fs-sm); }
|
|
.obsidian-graph-search input { min-height: var(--control-h); padding: 0 var(--space-2); border: var(--bw-hairline) solid var(--border-strong); border-radius: var(--radius-sm); color: var(--text-primary); background: var(--surface-input); font-size: var(--fs-base); }
|
|
.obsidian-graph-count { align-self: center; min-width: max-content; padding-inline: var(--space-2); color: var(--text-secondary); font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
|
|
.obsidian-graph-branch-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--space-2);
|
|
min-width: min(360px, 32vw);
|
|
padding-left: var(--space-3);
|
|
border-left: var(--bw-hairline) solid var(--border-default);
|
|
}
|
|
.obsidian-graph-branch-actions > span {
|
|
color: var(--text-secondary);
|
|
font-size: var(--fs-sm);
|
|
font-weight: var(--fw-semibold);
|
|
letter-spacing: var(--ls-caps);
|
|
text-transform: uppercase;
|
|
}
|
|
.obsidian-graph-branch-actions .btn { min-width: 84px; }
|
|
.obsidian-graph-reset-view {
|
|
position: relative;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
border-color: var(--border-strong);
|
|
border-radius: 999px;
|
|
color: var(--text-primary);
|
|
background: var(--surface-input);
|
|
overflow: hidden;
|
|
}
|
|
.obsidian-graph-reset-view:hover,
|
|
.obsidian-graph-reset-view:focus-visible {
|
|
border-color: var(--text-secondary);
|
|
color: var(--text-primary);
|
|
background: var(--surface-hover);
|
|
}
|
|
.obsidian-graph-reset-view span { font-size: 11px; line-height: 1; }
|
|
.obsidian-graph-filters {
|
|
top: calc(var(--space-8) * 2.7);
|
|
left: 50%;
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(calc(var(--space-8) * 5), 1fr));
|
|
gap: var(--space-3);
|
|
width: min(calc(var(--space-8) * 20), calc(100% - var(--space-8) * 2));
|
|
padding: var(--space-3);
|
|
transform: translateX(-50%);
|
|
}
|
|
.obsidian-graph-filters label { display: grid; gap: var(--space-1); color: var(--text-secondary); font-size: var(--fs-sm); }
|
|
.obsidian-graph-filters select { min-height: var(--control-h); padding-inline: var(--space-2); border: var(--bw-hairline) solid var(--border-strong); border-radius: var(--radius-sm); color: var(--text-primary); background: var(--surface-input); font-size: var(--fs-base); }
|
|
|
|
.obsidian-graph-zoom { top: var(--space-4); right: var(--space-4); display: grid; overflow: hidden; }
|
|
.obsidian-graph-zoom button { display: grid; place-items: center; width: var(--space-8); height: var(--space-8); padding: 0; border: 0; border-bottom: var(--bw-hairline) solid var(--border-default); color: var(--text-primary); background: transparent; font-size: var(--fs-lg); cursor: pointer; }
|
|
.obsidian-graph-zoom button:last-child { border-bottom: 0; }
|
|
.obsidian-graph-zoom button:hover { background: var(--surface-hover); }
|
|
|
|
.obsidian-graph-inspector {
|
|
right: var(--space-4);
|
|
bottom: var(--space-4);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
width: min(calc(var(--space-8) * 12), calc(100% - var(--space-8)));
|
|
padding: var(--space-4);
|
|
}
|
|
.obsidian-graph-inspector > small { color: var(--text-secondary); font-size: var(--fs-sm); font-weight: var(--fw-semibold); letter-spacing: var(--ls-caps); text-transform: uppercase; }
|
|
.obsidian-graph-inspector > strong { padding-right: var(--space-6); color: var(--text-primary); font-size: var(--fs-lg); line-height: var(--lh-prose); overflow-wrap: anywhere; }
|
|
.obsidian-graph-inspector > span { color: var(--text-secondary); font-size: var(--fs-lg); }
|
|
.obsidian-graph-inspector dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); margin: var(--space-2) 0 0; }
|
|
.obsidian-graph-inspector dl div { display: grid; gap: var(--space-1); padding: var(--space-2); border: var(--bw-hairline) solid var(--border-subtle); background: var(--surface-panel); }
|
|
.obsidian-graph-inspector dt { color: var(--text-secondary); font-size: var(--fs-sm); }
|
|
.obsidian-graph-inspector dd { margin: 0; color: var(--text-primary); font-size: var(--fs-lg); font-weight: var(--fw-semibold); }
|
|
.obsidian-graph-inspector-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); }
|
|
.obsidian-inspector-close { position: absolute; top: var(--space-2); right: var(--space-2); display: grid; place-items: center; width: var(--control-h); height: var(--control-h); padding: 0; border: 0; color: var(--text-secondary); background: transparent; font-size: var(--fs-lg); cursor: pointer; }
|
|
|
|
.obsidian-graph-empty { position: absolute; inset: 0; display: grid; place-content: center; gap: var(--space-2); color: var(--text-secondary); text-align: center; pointer-events: none; }
|
|
.obsidian-graph-empty strong, .obsidian-graph-empty span { font-size: var(--fs-lg); }
|
|
.obsidian-graph-card-zoom-hint {
|
|
position: absolute;
|
|
left: 50%;
|
|
bottom: var(--space-4);
|
|
z-index: 7;
|
|
min-height: var(--control-h);
|
|
padding: 0 var(--space-4);
|
|
border: var(--bw-hairline) solid var(--border-strong);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--text-primary);
|
|
background: color-mix(in srgb, var(--surface-panel-raised) 94%, transparent);
|
|
font-size: var(--fs-sm);
|
|
cursor: pointer;
|
|
transform: translateX(-50%);
|
|
}
|
|
.obsidian-graph-card-zoom-hint:hover,
|
|
.obsidian-graph-card-zoom-hint:focus-visible { background: var(--surface-hover); outline: none; }
|
|
@media (max-width: 900px) {
|
|
.obsidian-graph-toolbar { left: var(--space-3); right: calc(var(--space-8) + var(--space-5)); flex-wrap: wrap; max-width: none; transform: none; }
|
|
.obsidian-graph-branch-actions { flex: 1 1 100%; min-width: 0; padding-top: var(--space-2); padding-left: 0; border-top: var(--bw-hairline) solid var(--border-default); border-left: 0; }
|
|
.obsidian-graph-search { flex: 1 1 100%; min-width: 0; }
|
|
.obsidian-graph-filters { top: calc(var(--space-8) * 3.5); grid-template-columns: 1fr; }
|
|
.obsidian-graph-inspector { left: var(--space-3); right: var(--space-3); width: auto; }
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.obsidian-node circle { transition: none; }
|
|
}
|
|
|
|
/* Dreigeteilte Graph-Arbeitsansicht nach der verbindlichen Referenz:
|
|
gemeinsame Filter links, ruhiges Netzwerk in der Mitte, Details rechts. */
|
|
.obsidian-graph { background: var(--surface-app); }
|
|
.obsidian-graph-layout {
|
|
display: grid;
|
|
grid-template-columns: clamp(220px, 17vw, 280px) minmax(0, 1fr) clamp(270px, 21vw, 340px);
|
|
width: 100%;
|
|
height: 100%;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
}
|
|
.obsidian-graph-filter-panel,
|
|
.obsidian-graph-inspector {
|
|
position: static;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: auto;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
padding: 0;
|
|
border-radius: 0;
|
|
background: color-mix(in srgb, var(--surface-panel) 96%, var(--surface-app));
|
|
backdrop-filter: none;
|
|
}
|
|
.obsidian-graph-filter-panel { border: 0; border-right: var(--bw-hairline) solid var(--border-default); }
|
|
.obsidian-graph-inspector { border: 0; border-left: var(--bw-hairline) solid var(--border-default); }
|
|
.obsidian-graph-filter-panel > header,
|
|
.obsidian-graph-inspector > header {
|
|
display: flex;
|
|
flex: 0 0 auto;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--space-3);
|
|
min-height: calc(var(--row-h) + var(--space-3));
|
|
padding: 0 var(--space-4);
|
|
border-bottom: var(--bw-hairline) solid var(--border-default);
|
|
}
|
|
.obsidian-graph-filter-panel > header strong,
|
|
.obsidian-graph-inspector > header strong {
|
|
color: var(--text-primary);
|
|
font-size: var(--fs-md);
|
|
font-weight: var(--fw-semibold);
|
|
letter-spacing: var(--ls-caps);
|
|
text-transform: uppercase;
|
|
}
|
|
.obsidian-graph-filter-panel > header span { color: var(--text-secondary); font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
|
|
.obsidian-graph-filter-scroll {
|
|
display: grid;
|
|
align-content: start;
|
|
gap: var(--space-4);
|
|
min-height: 0;
|
|
padding: var(--space-4);
|
|
overflow-y: auto;
|
|
scrollbar-color: var(--border-strong) var(--surface-panel);
|
|
scrollbar-width: thin;
|
|
}
|
|
.obsidian-graph-filter-section { display: grid; gap: var(--space-2); }
|
|
.obsidian-panel-label { color: var(--text-secondary); font-size: var(--fs-sm); font-weight: var(--fw-semibold); letter-spacing: var(--ls-caps); text-transform: uppercase; }
|
|
.obsidian-graph-filter-panel .search-text-group,
|
|
.obsidian-graph-filter-panel .search-input-wrap,
|
|
.obsidian-graph-filter-panel .search-input,
|
|
.obsidian-graph-filter-panel .sheet-select { width: 100%; min-width: 0; }
|
|
.obsidian-graph-filter-panel .search-tools,
|
|
.obsidian-graph-filter-panel .primary-filter-group {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr);
|
|
gap: var(--space-2);
|
|
min-width: 0;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
.obsidian-graph-filter-panel .primary-filter-group { display: contents; }
|
|
.obsidian-graph-filter-panel .standard-filter-btn,
|
|
.obsidian-graph-filter-panel .dynamic-facet-select,
|
|
.obsidian-graph-filter-panel .dynamic-range-filter { width: 100%; min-width: 0; margin: 0; }
|
|
.obsidian-graph-filter-panel .standard-filter-btn { order: -1; }
|
|
.obsidian-graph-filter-panel .dynamic-range-filter { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) minmax(0, .8fr); }
|
|
.obsidian-graph-workspace-tools {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
min-width: 0;
|
|
padding-top: var(--space-4);
|
|
border-top: var(--bw-hairline) solid var(--border-default);
|
|
}
|
|
.obsidian-graph-workspace-check {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--space-2);
|
|
min-height: var(--control-h);
|
|
color: var(--text-primary);
|
|
font-size: var(--ui-label-size);
|
|
cursor: pointer;
|
|
}
|
|
.obsidian-graph-workspace-check input {
|
|
width: 14px;
|
|
height: 14px;
|
|
margin: 0;
|
|
accent-color: var(--accent);
|
|
}
|
|
.obsidian-graph-workspace-check:has(input:disabled) {
|
|
color: var(--text-muted);
|
|
cursor: not-allowed;
|
|
}
|
|
.obsidian-graph-workspace-tools .view-bookmark-bar,
|
|
.obsidian-graph-workspace-tools .view-bookmark-list {
|
|
align-items: stretch;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
}
|
|
.obsidian-graph-workspace-tools .view-bookmark-create,
|
|
.obsidian-graph-workspace-tools .view-bookmark-item,
|
|
.obsidian-graph-workspace-tools .view-bookmark-entry { width: 100%; }
|
|
.obsidian-graph-workspace-tools .view-bookmark-item { display: flex; }
|
|
.obsidian-graph-workspace-tools .view-bookmark-entry { flex: 1 1 auto; }
|
|
.obsidian-graph-stage {
|
|
position: relative;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
background: color-mix(in srgb, var(--surface-app) 95%, var(--surface-panel));
|
|
}
|
|
.obsidian-graph-stage .obsidian-graph-surface { width: 100%; height: 100%; }
|
|
.obsidian-graph-edges line { stroke: var(--graph-edge); stroke-width: 1; }
|
|
.obsidian-graph-edges .obsidian-edge-category { stroke: color-mix(in srgb, var(--graph-edge) 58%, var(--text-muted)); stroke-width: .8; }
|
|
.obsidian-graph-edges .obsidian-edge-defense { stroke: color-mix(in srgb, var(--graph-edge) 68%, var(--graph-defense)); stroke-width: .9; }
|
|
.obsidian-graph-edges .obsidian-edge-technique { stroke-width: 1.15; }
|
|
.obsidian-graph-edges line.is-direct-path { stroke: var(--graph-alert); stroke-width: 2; }
|
|
.obsidian-node-core { fill: color-mix(in srgb, currentColor 88%, var(--surface-app)); }
|
|
.obsidian-node-card.data-tile {
|
|
grid-template-columns: 18px minmax(0, 1fr);
|
|
gap: var(--space-1);
|
|
padding: var(--space-1);
|
|
}
|
|
.obsidian-node-card .data-tile-hex { width: 18px; height: 20px; }
|
|
.obsidian-node-card .data-tile-content h3 { font-size: 16px; line-height: 1.25; }
|
|
.obsidian-node-card .data-tile-badges { flex-wrap: nowrap; gap: var(--space-1); max-height: 18px; margin-top: var(--space-1); overflow: hidden; }
|
|
.obsidian-node-card .reader-severity,
|
|
.obsidian-node-card .outcome-mark { min-height: 18px; padding: 1px var(--space-1); font-size: var(--fs-sm); white-space: nowrap; }
|
|
.obsidian-node.is-selected .obsidian-node-card { outline-width: var(--bw-hairline); outline-offset: -1px; }
|
|
.obsidian-graph-stage .obsidian-graph-toolbar {
|
|
top: var(--space-3);
|
|
left: var(--space-3);
|
|
align-items: center;
|
|
max-width: none;
|
|
padding: var(--space-1);
|
|
transform: none;
|
|
}
|
|
.obsidian-graph-stage .obsidian-graph-zoom { top: var(--space-3); right: var(--space-3); }
|
|
.obsidian-graph-inspector-content,
|
|
.obsidian-graph-inspector-empty {
|
|
display: grid;
|
|
align-content: start;
|
|
gap: var(--space-3);
|
|
min-height: 0;
|
|
padding: var(--space-4);
|
|
overflow-y: auto;
|
|
}
|
|
.obsidian-graph-inspector-content > small { color: var(--text-secondary); font-size: var(--fs-sm); font-weight: var(--fw-semibold); letter-spacing: var(--ls-caps); text-transform: uppercase; }
|
|
.obsidian-graph-inspector-content > strong { padding-right: var(--space-6); color: var(--text-primary); font-size: var(--fs-lg); line-height: var(--lh-prose); overflow-wrap: anywhere; }
|
|
.obsidian-graph-inspector-content > span,
|
|
.obsidian-graph-inspector-empty span { color: var(--text-secondary); font-size: var(--fs-lg); line-height: var(--lh-prose); }
|
|
.obsidian-graph-inspector-empty strong { color: var(--text-primary); font-size: var(--fs-lg); }
|
|
.obsidian-graph-inspector dl { display: grid; grid-template-columns: 1fr; gap: 0; margin: var(--space-2) 0 0; }
|
|
.obsidian-graph-inspector dl div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); padding: var(--space-3) 0; border: 0; border-bottom: var(--bw-hairline) solid var(--border-subtle); background: transparent; }
|
|
.obsidian-graph-inspector dt { font-size: var(--fs-md); }
|
|
.obsidian-graph-inspector-actions { display: grid; gap: var(--space-2); margin-top: var(--space-3); }
|
|
.obsidian-graph-inspector-actions .btn { width: 100%; }
|
|
.obsidian-inspector-close { position: static; flex: 0 0 auto; }
|
|
|
|
@media (max-width: 1100px) {
|
|
.obsidian-graph-layout { grid-template-columns: 220px minmax(0, 1fr) 270px; }
|
|
}
|
|
@media (max-width: 850px) {
|
|
.obsidian-graph-layout { grid-template-columns: 210px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 210px; }
|
|
.obsidian-graph-inspector { grid-column: 1 / -1; border-top: var(--bw-hairline) solid var(--border-default); border-left: 0; }
|
|
.obsidian-graph-inspector-content { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
|
|
}
|
|
@media (max-width: 650px) {
|
|
.obsidian-graph-layout { grid-template-columns: 1fr; grid-template-rows: 220px minmax(360px, 1fr) 220px; overflow-y: auto; }
|
|
.obsidian-graph-filter-panel { border-right: 0; border-bottom: var(--bw-hairline) solid var(--border-default); }
|
|
.obsidian-graph-inspector { grid-column: 1; }
|
|
}
|