/* Nexl OS: 15 core colours. Static translucent layers use 5/10/20/40/60/80%. */
:root {
  --nx-graphite: #0F0E0D;
  --nx-ink-80: #2A2927;
  --nx-white: #FFFFFF;
  --nx-clay: #FEEEDC;
  --nx-ink-05: #F2EFEA;
  --nx-paper-cream: #FAE2CE;
  --nx-ink-60: #55534F;
  --nx-ink-40: #8A8884;
  --nx-ink-20: #C6C4C0;
  --nx-ink-10: #E4E2DE;
  --nx-orange: #F47A45;
  --nx-coral: #F79A83;
  --nx-teal: #467E80;
  --nx-slate: #47788D;
  --nx-brick: #9B2D12;
  --nx-ink: var(--nx-graphite);
  --nx-paper: var(--nx-white);
  --nx-paper-warm: var(--nx-clay);
  --nx-success: var(--nx-teal);
  --nx-warning: var(--nx-orange);
  --nx-danger: var(--nx-brick);
  --nx-info: var(--nx-slate);
  --fg-1: var(--nx-graphite);
  --fg-2: var(--nx-ink-80);
  --fg-3: var(--nx-ink-60);
  --fg-4: var(--nx-ink-40);
  --fg-on-accent: var(--nx-graphite);
  --ink: var(--nx-graphite);
  --paper: var(--nx-white);
  --orange: var(--nx-orange);
  --muted: var(--nx-ink-60);
  --line: var(--nx-ink-10);
}
/* Section surfaces keep a consistent white / clay / graphite rhythm. */
body,.context-section,.use-cases,.capabilities{background:var(--nx-white);color:var(--nx-graphite)}
.why-nexl,.spaces-studio,.semantic-section,.partnership-story{background:var(--nx-clay);color:var(--nx-graphite)}
.entry,.hero-immersive,.os-experience,.reporting-lab,.team-roles,.proof,.byo-section,.trust,.final-cta{background-color:var(--nx-graphite);color:var(--nx-white)}
.nav.is-sticky,.nav.open nav{background:var(--nx-graphite);border-color:color-mix(in srgb,var(--nx-white) 20%,transparent)}
.nav nav a[aria-current="location"]{color:var(--nx-clay)}
.nav nav a:after{background:var(--nx-orange)}
/* Orange is the primary accent; brick keeps small warm text legible on light surfaces. */
.orange-text,.why-heading h2 em,.why-transition em,.semantic-copy h2 em,.partner-heading em,.use-cases h2 em{color:var(--nx-brick)}
.hero-positioning span,.byo-section h2 em,.byo-close span,.roles-heading em{color:var(--nx-orange)}
.entry-act h1 em,.os-wordmark em,.final-cta .closing-wordmark>em{background-image:linear-gradient(125deg,var(--nx-clay) 10%,var(--nx-coral) 48%,var(--nx-orange) 80%)}
.entry-panel{background:linear-gradient(135deg,var(--nx-ink-80),var(--nx-graphite));color:var(--nx-clay)}
.panel-two{background:linear-gradient(135deg,var(--nx-teal),var(--nx-graphite))}
.panel-three{background:linear-gradient(135deg,var(--nx-slate),var(--nx-graphite))}
.entry-panel>small,.entry-panel>p{color:var(--nx-clay)}
.plane-knowledge{background:linear-gradient(130deg,var(--nx-clay),var(--nx-coral));color:var(--nx-graphite)}
.plane-team{background:linear-gradient(130deg,var(--nx-teal),var(--nx-graphite));color:var(--nx-white)}
.plane-execution{background:linear-gradient(130deg,var(--nx-ink-80),var(--nx-graphite));color:var(--nx-white)}
.space-universe,.semantic-demo,.analyst-dashboard,.risk-dashboard,.fit-comparison{background:var(--nx-white);color:var(--nx-graphite)}
.space-resource-grid article,.schema-browser,.cap-card{background:var(--nx-ink-05)}
.space-resource-grid article:hover,.byo-provider,.fit-top>div:last-child,.fit-row p:last-child,.partner-conversation>div:last-child{background:var(--nx-paper-cream)}
.space-manifesto em{color:var(--nx-teal)}
.analyst-console,.byo-console{background:var(--nx-ink-80)}
.analyst-sidebar{background:var(--nx-graphite)}
.analyst-dashboard :is(p,small),.risk-dashboard :is(p,small),.byo-provider :is(p,small),.byo-provider>span{color:var(--nx-ink-60)}
.byo-provider>div{color:var(--nx-brick)}
.reporting-lab .report-journey p,.report-promise p,.report-connection-note,.byo-section .byo-value-line span,.roles-note,.role-outro>span,.trust p,.proof-bottom>p{color:var(--nx-ink-20)}
.role-switcher button[aria-pressed=true],.byo-options button[aria-pressed=true]{background:var(--nx-orange);color:var(--nx-graphite);border-color:var(--nx-orange)}
.semantic-result{background:var(--nx-coral);color:var(--nx-graphite)}
.semantic-message.human{background:var(--nx-graphite);color:var(--nx-clay)}
.semantic-message.human small{color:var(--nx-ink-20)}
.schema-focus{background:var(--nx-paper-cream)}
.schema-table i,.schema-table small,.schema-eyebrow,.semantic-message small,.semantic-demo-note{color:var(--nx-ink-60)}
.partner-conversation>div:last-child p{color:var(--nx-brick)}
/* Chart categories remain distinct without introducing extra shades. */
.departed{background:var(--nx-brick)}.contested{background:var(--nx-orange)}.remaining{background:var(--nx-teal)}.unknown{background:var(--nx-ink-20)}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
/* Contrast adjustments for labels nested inside light and dark panels. */
.hero-immersive .asterisk,.wordmark-period,.field-label>span,.report-demo-intro>span,.analyst-sidebar .space-mini-label{color:var(--nx-orange)}
.semantic-bridge b{color:var(--nx-brick)}
.analyst-chart b,.analyst-insight>span,.analyst-refresh-note{color:var(--nx-ink-60)}
.plane-knowledge{background-color:var(--nx-clay)}
.analyst-chart i,.report-bars i{background:var(--nx-slate)}
.analyst-chart>div:first-child i{background:var(--nx-orange)}
.analyst-console,.analyst-sidebar,.report-method,.byo-console,.byo-options,.byo-kicker,.byo-principles article,.role-switcher,.role-work li,.role-outro{border-color:color-mix(in srgb,var(--nx-white) 20%,transparent)}
.analyst-prompts button,.role-switcher button{border-color:color-mix(in srgb,var(--nx-white) 20%,transparent)}
.analyst-prompts button[aria-pressed=true]{border-color:var(--nx-paper-cream)}

/* Borders follow their surface; filled selections communicate state through contrast. */
.os-plane{
  --plane-border:color-mix(in srgb,var(--nx-white) 20%,transparent);
  --plane-border-active:color-mix(in srgb,var(--nx-white) 60%,transparent);
  border-color:var(--plane-border);
}
.plane-knowledge{
  --plane-border:color-mix(in srgb,var(--nx-graphite) 20%,transparent);
  --plane-border-active:color-mix(in srgb,var(--nx-graphite) 40%,transparent);
}
.os-foundation,.entry-panel{border-color:color-mix(in srgb,var(--nx-white) 20%,transparent)}
.analyst-prompts button:hover{border-color:color-mix(in srgb,var(--nx-white) 40%,transparent)}
.analyst-prompts button[aria-pressed=true],.analyst-prompts button[aria-pressed=true]:hover{border-color:var(--nx-paper-cream)}
.use-filters button:hover{border-color:var(--nx-graphite);background:var(--nx-ink-05)}
.use-filters button[aria-pressed=true],.use-filters button[aria-pressed=true]:hover{border-color:var(--nx-graphite);background:var(--nx-graphite);color:var(--nx-white)}
.byo-options button[aria-pressed=true]:hover,.role-switcher button[aria-pressed=true]{border-color:transparent}
