:root {
background: #050506;
}
html,
body,
#root {
width: 100%;
height: 100%;
min-width: 320px;
min-height: 100%;
overflow: hidden;
background: #050506;
}
body {
margin: 0;
}
button,
input,
textarea,
select {
font: inherit;
}
button {
color: inherit;
}
code {
font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
.control-station {
--station-panel: #151517;
--station-panel-soft: #0d0d0f;
--station-stage: #08090b;
--station-hairline: rgb(255 255 255 / 0.08);
--station-hairline-strong: rgb(255 255 255 / 0.13);
--station-accent-soft: rgb(var(--nodedc-accent-rgb) / 0.11);
--station-success-soft: rgb(var(--nodedc-success-rgb) / 0.1);
--station-warning-soft: rgb(var(--nodedc-warning-rgb) / 0.1);
--station-danger-soft: rgb(var(--nodedc-danger-rgb) / 0.1);
}
.control-station .nodedc-application-panel__body {
overscroll-behavior: contain;
scrollbar-color: var(--nodedc-scrollbar-thumb) transparent;
}
.section-eyebrow,
.metric-card__eyebrow {
display: block;
color: var(--nodedc-text-muted);
font-size: 0.62rem;
font-weight: 820;
letter-spacing: 0.12em;
line-height: 1.2;
text-transform: uppercase;
}
.panel-heading {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
}
.panel-heading h2,
.panel-heading h3 {
margin: 0.42rem 0 0;
color: var(--nodedc-text-primary);
font-size: 1.22rem;
font-weight: 730;
letter-spacing: -0.035em;
line-height: 1.1;
}
.panel-heading--compact {
align-items: center;
}
.workspace-lead {
display: flex;
min-width: 0;
align-items: flex-end;
justify-content: space-between;
gap: 2rem;
}
.workspace-lead > div:first-child {
min-width: 0;
max-width: 62rem;
}
.workspace-lead h2 {
margin: 0.5rem 0 0.6rem;
color: var(--nodedc-text-primary);
font-size: clamp(1.7rem, 3vw, 3rem);
font-weight: 690;
letter-spacing: -0.05em;
line-height: 1;
}
.workspace-lead p {
max-width: 50rem;
margin: 0;
color: var(--nodedc-text-secondary);
font-size: 0.78rem;
line-height: 1.55;
}
.workspace-lead__note {
max-width: 20rem;
flex: 0 0 auto;
border-radius: var(--nodedc-radius-circle);
background: rgb(255 255 255 / 0.045);
color: var(--nodedc-text-muted);
padding: 0.58rem 0.85rem;
font-size: 0.66rem;
line-height: 1.35;
text-align: right;
}
.workspace-lead__status {
display: grid;
max-width: 22rem;
justify-items: end;
gap: 0.55rem;
color: var(--nodedc-text-muted);
font-size: 0.68rem;
line-height: 1.45;
text-align: right;
}
.metrics-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0.75rem;
}
.metric-card {
min-height: 7rem;
background: var(--station-panel);
}
.metric-card[data-featured="true"] {
background:
radial-gradient(circle at 90% 0%, rgb(var(--nodedc-accent-rgb) / 0.16), transparent 44%),
var(--station-panel);
}
.metric-card__reading {
display: flex;
align-items: baseline;
gap: 0.36rem;
margin-top: 0.65rem;
}
.metric-card__reading strong {
color: var(--nodedc-text-primary);
font-size: clamp(1.4rem, 2vw, 2.2rem);
font-weight: 650;
letter-spacing: -0.05em;
line-height: 1;
}
.metric-card__reading span,
.metric-card p {
color: var(--nodedc-text-muted);
font-size: 0.64rem;
}
.metric-card p {
margin: 0.6rem 0 0;
line-height: 1.4;
}
.modal-stack,
.inspector-control-stack {
display: grid;
gap: 1rem;
}
.modal-contract-note {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
align-items: start;
gap: 0.8rem;
border-radius: 1rem;
background: rgb(255 255 255 / 0.045);
padding: 0.9rem;
}
.modal-contract-note[data-tone="accent"] {
background: var(--station-accent-soft);
}
.modal-contract-note[data-tone="warning"] {
background: var(--station-warning-soft);
}
.modal-contract-note[data-tone="success"] {
background: var(--station-success-soft);
}
.modal-contract-note > svg {
margin-top: 0.12rem;
color: var(--nodedc-text-secondary);
}
.modal-contract-note strong,
.modal-contract-note p {
margin: 0;
}
.modal-contract-note strong {
color: var(--nodedc-text-primary);
font-size: 0.76rem;
}
.modal-contract-note p {
margin-top: 0.25rem;
color: var(--nodedc-text-secondary);
font-size: 0.68rem;
line-height: 1.45;
}
.source-format-list {
display: grid;
gap: 0.5rem;
}
.source-format-list > div {
display: grid;
grid-template-columns: minmax(12rem, 0.9fr) minmax(0, 1.1fr);
gap: 1rem;
border-top: 1px solid var(--station-hairline);
padding: 0.7rem 0;
}
.source-format-list code {
overflow: hidden;
color: var(--nodedc-text-secondary);
font-size: 0.65rem;
text-overflow: ellipsis;
}
.source-format-list span {
color: var(--nodedc-text-muted);
font-size: 0.67rem;
}
.layer-inspector-intro {
display: grid;
justify-items: start;
gap: 0.65rem;
margin-bottom: 1rem;
}
.layer-inspector-intro p {
margin: 0;
color: var(--nodedc-text-muted);
font-size: 0.69rem;
line-height: 1.45;
}
.layer-placeholder-list {
display: grid;
gap: 0.5rem;
}
.layer-placeholder-list > span {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 0.55rem;
color: var(--nodedc-text-secondary);
font-size: 0.68rem;
}
.layer-placeholder-list i {
width: 0.46rem;
height: 0.46rem;
border-radius: 50%;
background: var(--nodedc-text-muted);
}
.layer-placeholder-list small {
color: var(--nodedc-text-muted);
font-size: 0.6rem;
}