/* Packet Peon + Threshold Room additive theme bridge.
   The shared cached Instrumentarium asset remains immutable. */
html[data-theme] {
  --instrument-ink: var(--color-heading);
  --instrument-paper: var(--color-bg);
  --instrument-paper-bright: var(--color-surface);
  --instrument-paper-deep: var(--color-neutral-300);
  --instrument-cyan: var(--color-accent);
  --instrument-magenta: var(--color-accent-2);
  --instrument-amber: var(--color-accent);
  --instrument-violet: var(--color-accent-2);
  --instrument-green: var(--color-accent);
  --instrument-danger: var(--color-accent-2);
  --instrument-line: var(--color-divider);
  --instrument-shadow: color-mix(in srgb, var(--color-heading) 16%, transparent);
}

html[data-theme] body.instrument-page {
  color: var(--color-text) !important;
  background-color: var(--color-bg) !important;
}

html[data-theme] .instrument-section,
html[data-theme] .instrument-rule::after,
html[data-theme] .packet-workbench,
html[data-theme] .model-ledger,
html[data-theme] .receipt-grid,
html[data-theme] .receipt-grid > div {
  border-color: var(--color-divider) !important;
}

html[data-theme] .instrument-plate,
html[data-theme] .packet-controls,
html[data-theme] .model-mode:first-child,
html[data-theme] .peon-result__body {
  color: var(--color-text) !important;
  background: var(--color-surface) !important;
  border-color: var(--color-divider) !important;
}

html[data-theme] .model-mode + .model-mode {
  color: var(--color-text) !important;
  background: var(--color-neutral-200) !important;
  border-color: var(--color-divider) !important;
}

html[data-theme] .instrument-warning {
  color: var(--color-text) !important;
  border-left-color: var(--color-accent) !important;
  background: color-mix(in srgb, var(--color-accent) 11%, var(--color-surface)) !important;
}

html[data-theme] .instrument-warning.instrument-danger {
  border-left-color: var(--color-accent-2) !important;
  background: color-mix(in srgb, var(--color-accent-2) 11%, var(--color-surface)) !important;
}

html[data-theme] .instrument-button,
html[data-theme] .instrument-select,
html[data-theme] .instrument-input,
html[data-theme] .instrument-textarea {
  color: var(--color-heading) !important;
  background: var(--color-neutral-300) !important;
  border-color: var(--color-neutral-500) !important;
}

html[data-theme] .instrument-button--ink,
html[data-theme] .instrument-button--danger,
html[data-theme] .peon-result__head {
  color: var(--color-bg) !important;
  background: var(--color-heading) !important;
  border-color: var(--color-heading) !important;
}

html[data-theme] .packet-inspector {
  color: var(--color-heading) !important;
  background: var(--color-neutral-200) !important;
}

html[data-theme] .packet-verdict,
html[data-theme] .receipt-grid dt,
html[data-theme] .reliquary-note,
html[data-theme] .microcopy {
  color: var(--color-neutral-700) !important;
}

.cait-utility-dock {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  z-index: 720;
  display: flex;
  justify-content: flex-end;
}

.cait-utility-dock > .theme-toggle {
  position: static;
  right: auto;
  bottom: auto;
  min-height: 44px;
}

@media (max-width: 760px) {
  .cait-utility-dock {
    position: static;
    width: min(100% - 28px, 1160px);
    margin: 12px auto 0;
  }
}
html body .instrument-field[hidden] { display: none !important; }
