/* Cleanup for the Ritardando, Sordino and Concertmaster demos: keep the dark operator look,
   set labels and copy in Inter at readable sizes, keep monospace for IDs and numbers only,
   neutral greys, buttons that match the rest of the site. */
:root { --dc-ui: Inter, system-ui, sans-serif; --dc-mono: 'IBM Plex Mono', ui-monospace, monospace; --dc-text: #e8eaed; --dc-t2: #a3a8b0; --dc-t3: #7d838c; --dc-line: #2a2d32; --dc-bg: #0a0b0d; --dc-panel: #111316; }

/* ---------- Ritardando ---------- */
.ap-workspace { background: var(--dc-bg) !important; border: 1px solid var(--dc-line) !important; border-radius: 10px; overflow: hidden; }
.ap-workspace, .ap-workspace :is(span, p, h3, h4, label, legend, button, select, th, td, small, output, div, a, code) { font-family: var(--dc-ui) !important; letter-spacing: 0 !important; text-transform: none !important; }
.ap-workspace .ap-window-head { font-size: 14px !important; color: var(--dc-text); border-color: var(--dc-line) !important; }
.ap-workspace .ap-window-head > span:last-child { font-size: 13px !important; color: var(--dc-t3) !important; }
.ap-workspace :is(.ap-workspace-toolbar, .ap-demo-main, .ap-records, .ap-workspace-foot, .ap-import-panel, .ap-interval, .ap-counts > div, .ap-demo-finding) { border-color: var(--dc-line) !important; }
.ap-workspace .ap-import-panel { background: var(--dc-panel) !important; }
.ap-workspace .ap-segment legend, .ap-workspace .ap-measurement-head, .ap-workspace .ap-panel-heading > span, .ap-workspace .ap-records-heading p, .ap-workspace .ap-records-heading label, .ap-workspace .ap-pagination, .ap-workspace .ap-workspace-foot, .ap-workspace .ap-interval small, .ap-workspace .ap-counts span { font-size: 13px !important; color: var(--dc-t3) !important; }
.ap-workspace .ap-measurement-head output { font-size: 13px !important; }
.ap-workspace .ap-panel-heading h3, .ap-workspace .ap-records-heading h3, .ap-workspace .ap-import-panel h3 { font-size: 15px !important; font-weight: 500; color: var(--dc-text) !important; }
.ap-workspace .ap-demo-finding h4 { font-size: 14.5px !important; font-weight: 500; color: var(--dc-text) !important; }
.ap-workspace .ap-demo-finding > span { font-size: 13px !important; color: var(--dc-t3) !important; }
.ap-workspace :is(.ap-demo-finding p, .ap-demo-boundary p, .ap-local-note, .ap-import-panel p) { font-size: 14.5px !important; line-height: 1.6 !important; color: var(--dc-t2) !important; }
.ap-workspace .ap-bracket { display: none; }
.ap-workspace .ap-demo-boundary { padding: 12px 14px; border-radius: 8px; background: rgba(227,168,78,.08); }
.ap-workspace .ap-demo-boundary p { color: #e3c48e !important; margin: 0; }
.ap-workspace .ap-main-rate { font-family: var(--dc-ui) !important; font-weight: 500; letter-spacing: -.04em !important; color: var(--dc-text) !important; }
.ap-workspace .ap-equation, .ap-workspace .ap-interval, .ap-workspace .ap-interval output { font-family: var(--dc-mono) !important; font-size: 13px !important; color: var(--dc-t2) !important; }
.ap-workspace .ap-counts output { font-family: var(--dc-ui) !important; font-weight: 500; font-size: 26px !important; color: var(--dc-text); }
.ap-workspace .ap-raster > i { background: #d4d7dc; border-radius: 1px; }
.ap-workspace .ap-raster > .ap-cell-excluded { background: #34373c; }
.ap-workspace .ap-segment button { font-size: 14px !important; min-height: 38px; padding: 8px 14px; background: transparent !important; color: var(--dc-t2) !important; border-color: var(--dc-line) !important; }
.ap-workspace .ap-segment button:first-of-type { border-radius: 6px 0 0 6px; } .ap-workspace .ap-segment button:last-of-type { border-radius: 0 6px 6px 0; }
.ap-workspace .ap-segment button[aria-pressed=true] { background: var(--dc-text) !important; color: #0a0b0d !important; border-color: var(--dc-text) !important; }
.ap-workspace .ap-button { font-size: 14px !important; border-radius: 6px; border-color: #3a3e44 !important; background: transparent !important; color: var(--dc-text) !important; min-height: 40px; }
.ap-workspace .ap-button:hover:not(:disabled) { border-color: #8a9098 !important; }
.ap-workspace .ap-records-heading select { font-size: 14px !important; background: var(--dc-panel) !important; color: var(--dc-text) !important; border-color: var(--dc-line) !important; border-radius: 6px; padding: 7px 10px !important; }
.ap-workspace .ap-table-scroll { border-color: var(--dc-line) !important; border-radius: 8px; }
.ap-workspace .ap-table-scroll table { font-size: 13.5px !important; font-variant-numeric: tabular-nums; }
.ap-workspace .ap-table-scroll th { font-size: 13px !important; font-weight: 500 !important; color: var(--dc-t3) !important; background: var(--dc-panel) !important; border-color: var(--dc-line) !important; }
.ap-workspace .ap-table-scroll td { color: #cfd3d8 !important; border-color: #1c1e22 !important; }
.ap-workspace .ap-table-scroll td:first-child, .ap-workspace .ap-table-scroll td:last-child { font-family: var(--dc-mono) !important; font-size: 12.5px !important; color: var(--dc-t2) !important; }
.ap-workspace .ap-table-scroll tr:hover td { background: #141619 !important; }
.ap-workspace .ap-pagination button { background: transparent !important; border-color: var(--dc-line) !important; color: var(--dc-text) !important; border-radius: 6px; width: 32px; height: 30px; }
.ap-page .ap-status { font-family: var(--dc-ui) !important; }

/* ---------- Sordino ---------- */
body.guardrails-page main :is(.gr-product-status, .gr-lab-head span, .gr-scene-caption, .gr-panel-label, .gr-panel-label span, .gr-permit strong, .gr-adapter-result .mono, .gr-insight > span, .section-kicker .mono, .gr-outcome .mono, .gr-rule .mono, th, .gr-record-top span, dt, .gr-record-foot, span.mono, p.eyebrow, .gr-wordmark) {
  font-family: var(--dc-ui) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 13px !important; }
body.guardrails-page main :is(.gr-adapter, .gr-condition span, .gr-quantity small, .gr-quantity output, .gr-permit span, .gr-adapter-result span:not(.mono), .gr-demo-toolbar button, .gr-demo-help p, .gr-design-nav a, dd, .gr-availability p, .gr-method-links a, .gr-system-tabs button, .gr-intro-actions a, .gr-intro-actions span) { font-size: 13.5px !important; letter-spacing: 0 !important; }
body.guardrails-page main :is(p.gr-decision-summary, .gr-insight p, .gr-outcome p, td, p.gr-integration-note) { font-size: 14px !important; line-height: 1.55 !important; }
body.guardrails-page main .gr-condition i { font-size: 12px !important; }
body.guardrails-page main .gr-quantity output, body.guardrails-page main .gr-permit strong { font-family: var(--dc-mono) !important; }

/* ---------- Concertmaster ---------- */
body.cm-page { --accent: #8ea2ff !important; }
body.cm-page main :is(p.eyebrow, .cm-status, .cm-score-caption span, .cm-tiny, .cm-chair-control label, .cm-flow-top span, .cm-inspector-top span, .cm-inspector dt, .cm-inspector-controls label, .cm-bench-bottom span) {
  font-family: var(--dc-ui) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 13px !important; }
body.cm-page main :is(.cm-agent-no, .cm-chair-mark) { font-family: var(--dc-mono) !important; font-size: 11px !important; letter-spacing: 0 !important; }
body.cm-page main .cm-agent-state { font-size: 12px !important; letter-spacing: 0 !important; text-transform: none !important; }
body.cm-page main :is(.cm-chair-control button, .cm-actions button, .cm-inspector-controls button, .cm-chair-control select, .cm-inspector-controls select, option) { font-family: var(--dc-ui) !important; font-size: 13.5px !important; letter-spacing: 0 !important; text-transform: none !important; }
body.cm-page main :is(.cm-live-strip p, .cm-inspector p, .cm-inspector dd) { font-size: 14px !important; line-height: 1.55 !important; }
body.cm-page main .cm-primary { background: #f4f5f7 !important; color: #050607 !important; border-color: #f4f5f7 !important; }
body.cm-page main .cm-primary * { color: #050607 !important; }
.ap-workspace .ap-raster > .ap-cell-failure { background: #f0646a; }
