/* Trace bundled Prism-compatible fallback contract 1.0. */
:root,
[data-prism-theme="trace-fallback-dark"] {
  --op-color-background: var(--background);
  --op-color-surface: var(--panel);
  --op-color-surface-raised: var(--panel-strong);
  --op-color-text-primary: var(--text);
  --op-color-text-secondary: var(--muted);
  --op-color-border: var(--line);
  --op-color-accent: var(--accent);
  --op-color-danger: var(--danger);
}
[data-prism-theme="trace-fallback-light"] { color-scheme: light; }
/* Consume published Prism tokens through the shared Trace-era application
   variables so every OmniGenesis consumer renders the selected scheme alike. */
body[data-prism-fallback="false"] {
  --bg: var(--op-color-background);
  --panel: var(--op-color-surface);
  --panel-2: var(--op-color-surface-raised);
  --line: var(--op-color-border);
  --text: var(--op-color-text-primary);
  --muted: var(--op-color-text-secondary);
  --accent: var(--op-color-accent);
  --accent-strong: var(--op-color-accent);
  --accent-ink: var(--op-color-accent-contrast);
  --danger: var(--op-color-danger);
  --warning: var(--op-color-warning, var(--op-color-accent));
  --success: var(--op-color-success, var(--op-color-accent));
  --glow: var(--op-color-glow, color-mix(in srgb, var(--op-color-accent) 18%, var(--op-color-background)));
  --card-surface-shift: var(--op-color-surface-raised);
  --button-hover-contrast: var(--op-color-surface);
}
body[data-prism-fallback="false"][data-prism-mode="light"] { color-scheme: light; }
body[data-prism-fallback="false"][data-prism-mode="dark"] { color-scheme: dark; }
.op-shell { min-height: 100vh; }
.op-page { min-width: 0; }
.op-card { color: var(--op-color-text-primary); background: var(--op-color-surface); }
.op-field { display: grid; gap: 0.75rem; }
.op-field__help { color: var(--op-color-text-secondary); }
.op-input, .op-select { width: 100%; }
