:root {
  background: #050506;
}

html,
body,
#root {
  width: 100%;
  height: 100%;
  min-width: 320px;
  min-height: 100%;
  overflow: hidden;
  background: #050506;
}

body {
  margin: 0;
  font-family: var(--nodedc-font-family);
}

#root[data-nodedc-theme="dark"],
body {
  --nodedc-accent-rgb: 247 248 244;
  --nodedc-on-accent-rgb: 8 8 10;
  --nodedc-focus-surface: rgb(255 255 255 / 0.09);
  --nodedc-primary-action-bg: rgb(247 248 244 / 0.96);
  --nodedc-primary-action-hover: rgb(255 255 255);
  --nodedc-primary-action-color: rgb(8 8 10 / 0.96);
  --nodedc-primary-action-shadow: none;
  --nodedc-modal-surface: rgb(15 15 17 / 0.97);
  --nodedc-floating-surface: rgb(15 15 17 / 0.98);
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  color: inherit;
}

code {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.control-station,
body {
  --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(255 255 255 / 0.045);
  --station-success-soft: rgb(255 255 255 / 0.045);
  --station-warning-soft: rgb(255 255 255 / 0.045);
  --station-danger-soft: rgb(255 255 255 / 0.045);
}

.nodedc-button[data-variant="accent"] {
  --nodedc-button-bg: var(--nodedc-primary-action-bg);
  --nodedc-button-color: var(--nodedc-primary-action-color);
}

.nodedc-button[data-variant="accent"]:hover:not(:disabled) {
  background: var(--nodedc-primary-action-hover);
}

.nodedc-button[data-variant="danger"] {
  color: var(--nodedc-text-primary);
}

.nodedc-button[data-variant="danger"]:hover:not(:disabled) {
  background: var(--nodedc-glass-control-hover);
}

.nodedc-status {
  min-height: auto;
  justify-content: flex-start;
  gap: 0.42rem;
  border-radius: 0;
  background: transparent;
  color: var(--nodedc-text-primary);
  padding: 0;
  font-size: var(--nodedc-font-size-sm);
  font-weight: var(--nodedc-font-weight-medium);
}

.nodedc-status::before {
  width: 0.42rem;
  height: 0.42rem;
  flex: 0 0 0.42rem;
  border-radius: 50%;
  background: var(--nodedc-text-muted);
  content: "";
}

.nodedc-status[data-tone="success"],
.nodedc-status[data-tone="warning"],
.nodedc-status[data-tone="danger"],
.nodedc-status[data-tone="accent"] {
  background: transparent;
  color: var(--nodedc-text-primary);
}

.nodedc-status[data-tone="success"]::before {
  background: rgb(var(--nodedc-success-rgb));
}

.nodedc-status[data-tone="warning"]::before {
  background: rgb(var(--nodedc-warning-rgb));
}

.nodedc-status[data-tone="danger"]::before {
  background: rgb(var(--nodedc-danger-rgb));
}

.nodedc-status[data-tone="accent"]::before {
  background: var(--nodedc-text-primary);
}

.nodedc-inspector__section-trigger[data-open="true"],
.nodedc-inspector__section-trigger[data-active="true"],
.nodedc-inspector__section-trigger[data-tone="accent"] {
  background: var(--nodedc-glass-control-hover);
  color: var(--nodedc-text-primary);
}

.nodedc-inspector__section-trigger[data-open="true"] .nodedc-inspector__section-description,
.nodedc-inspector__section-trigger[data-active="true"] .nodedc-inspector__section-description,
.nodedc-inspector__section-trigger[data-tone="accent"] .nodedc-inspector__section-description {
  color: var(--nodedc-text-muted);
}

.nodedc-glass-material::before {
  display: none;
}

.nodedc-header__avatar {
  background: rgb(226 226 226);
}

.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: 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: rgb(255 255 255 / 0.045);
}

.modal-contract-note[data-tone="warning"] {
  background: rgb(255 255 255 / 0.045);
}

.modal-contract-note[data-tone="success"] {
  background: rgb(255 255 255 / 0.045);
}

.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;
  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;
}
