/**
 * TW-THEME-STABILIZATION-001 — operational universe coherence (motion, depth, type).
 * Loaded after cluster layers via theme_ops_contract.html.
 */

html {
  --tw-ops-radius-tile: 16px;
  --tw-ops-radius-card: 12px;
  --tw-ops-radius-panel: 14px;
  --tw-ops-heading-weight: 700;
  --tw-ops-heading-size: clamp(1.05rem, 2.1vw, 1.75rem);
  --tw-ops-heading-color: var(--tw-action-primary);
  --tw-ops-body-font: var(--font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

/* ── Unified page chrome (dashboard + cluster) ── */
body.tw-admin-ops-surface,
body.tw-admin-ops-cluster.tw-admin-operator,
body.tw-admin-ops-cluster {
  font-family: var(--tw-ops-body-font);
  line-height: 1.55;
}

body.tw-admin-ops-surface h1,
body.tw-admin-ops-cluster h1 {
  font-size: var(--tw-ops-heading-size);
  font-weight: var(--tw-ops-heading-weight);
  line-height: 1.2;
  letter-spacing: 0.01em;
  margin-bottom: 20px;
  color: var(--tw-ops-heading-color);
}

body.tw-admin-ops-cluster.tw-admin-operator {
  background: var(--tw-ops-page-bg);
}

/* TW-RUNTIME-THEMECSS-DECOMMISSION-001: admin body atmosphere (ops presets, not theme.css body) */
html[data-theme] body[data-tw-domain="admin"].tw-admin-ops-surface,
html[data-theme] body[data-tw-domain="admin"].tw-admin-ops-cluster,
html[data-theme] body[data-tw-domain="admin"].tw-admin-operator {
  background: var(--tw-ops-page-bg);
}

/* ── Shared interactive transition (coherent logic, preset-timed) ── */
a[data-tw-object="ops-card"][data-tw-variant="service-tile"],
a[data-tw-object="diagnostic-card"][data-tw-variant="dashboard-tile"],
a[data-tw-object="ops-card"][data-tw-variant="operation-card"],
a[data-tw-object="ops-card"][data-tw-variant="operation-card"],
[data-tw-object="queue-indicator"][data-tw-variant="status-tabs"] a,
[data-tw-object="primary-action"][data-tw-variant="button"],
[data-tw-object="secondary-action"][data-tw-variant="button"],
button[data-tw-object="primary-action"][data-tw-variant="button"],
button[data-tw-object="secondary-action"][data-tw-variant="button"] {
  transition:
    border-color var(--tw-ops-transition),
    background var(--tw-ops-transition),
    color var(--tw-ops-transition),
    box-shadow var(--tw-ops-transition),
    transform var(--tw-ops-transition),
    filter var(--tw-ops-transition),
    opacity var(--tw-ops-transition);
}

/* ── Depth policy: tiles ── */
a[data-tw-object="ops-card"][data-tw-variant="service-tile"],
div[data-tw-object="ops-card"][data-tw-variant="service-tile"] {
  border-width: var(--tw-ops-border-width);
  border-radius: var(--tw-ops-radius-tile);
  box-shadow: var(--tw-ops-shadow);
}

a[data-tw-object="ops-card"][data-tw-variant="service-tile"]:hover {
  transform: var(--tw-ops-hover-lift);
  box-shadow: var(--tw-ops-shadow-hover);
}

a[data-tw-object="diagnostic-card"][data-tw-variant="dashboard-tile"] {
  border-width: var(--tw-ops-diagnostic-border-width, 1px);
  border-radius: var(--tw-ops-radius-tile);
}

/* ── Depth policy: cards (legal, queue, health panels) ── */
a[data-tw-object="ops-card"][data-tw-variant="operation-card"],
a[data-tw-object="ops-card"][data-tw-variant="operation-card"],
[data-tw-object="ops-card"][data-tw-variant="queue-card"],
[data-tw-object="ops-card"][data-tw-variant="health-panel"],
[data-tw-object="surface-zone"][data-tw-variant="ops-section"],
[data-tw-object="utility-selector"][data-tw-variant="theme-preset"] {
  border-radius: var(--tw-ops-radius-card);
  box-shadow: var(--tw-ops-shadow);
}

[data-tw-object="surface-zone"][data-tw-variant="ops-section"],
[data-tw-object="utility-selector"][data-tw-variant="theme-preset"] {
  border-width: var(--tw-ops-border-width);
  border-radius: var(--tw-ops-radius-panel);
}

[data-tw-object="ops-card"][data-tw-variant="operation-card"],
[data-tw-object="ops-card"][data-tw-variant="operation-card"],
[data-tw-object="ops-card"][data-tw-variant="operation-card"],
[data-tw-object="ops-card"][data-tw-variant="operation-card"] {
  border-radius: var(--tw-ops-radius-card);
}

/* ── Registry surfaces ── */
[data-tw-object="data-table"][data-tw-variant="registry"],
[data-tw-object="surface-zone"][data-tw-variant="registry-surface"] .admin-table-wrap {
  box-shadow: var(--tw-ops-shadow);
}

[data-tw-object="queue-row"][data-tw-variant="registry"]:hover td,
[data-tw-object="queue-row"][data-tw-variant="tenant"]:hover td {
  box-shadow: none;
}

/* ── Actions: one philosophy ── */
[data-tw-object="primary-action"][data-tw-variant="button"]:hover,
button[data-tw-object="primary-action"][data-tw-variant="button"]:hover,
a[data-tw-object="primary-action"][data-tw-variant="button"]:hover {
  filter: brightness(1.05);
  transform: none;
}

[data-tw-object="secondary-action"][data-tw-variant="button"]:hover,
button[data-tw-object="secondary-action"][data-tw-variant="button"]:hover {
  opacity: 0.92;
  transform: none;
}

[data-tw-object="action-cluster"][data-tw-variant="toolbar"][data-tw-variant="toolbar"] .btn-publish {
  border-radius: 8px;
  font-weight: 600;
  transition: filter var(--tw-ops-transition);
}

[data-tw-object="action-cluster"][data-tw-variant="toolbar"][data-tw-variant="toolbar"] .btn-archive {
  border-radius: 8px;
  font-weight: 600;
  border: 1px solid var(--tw-ops-border);
}
