/* ============================================================================
   taikun-tabler.css  —  THE single design-token source for Taikun Atlas.
   ----------------------------------------------------------------------------
   Sets ONLY Tabler's own --tblr-* custom properties + a small --tk-* radius
   scale. NO custom classes, NO component CSS — that lives in taikun-ui.css (the
   polish layer). Load AFTER tabler.min.css and BEFORE taikun-ui.css on every
   page. This is the ONLY place brand :root tokens are declared — the old
   duplicate :root in taikun-ui.css §1, the css/taikun-tabler.css copy, and the
   taikun-tokens.css copy were removed 2026-06-17 to kill the load-order bug
   (whichever sheet loaded last used to silently decide canvas/border/radius).
   Brand color can be swapped here or at runtime via the theme switcher.
   ============================================================================ */
:root{
  /* brand color (taikun.ai red) */
  --tblr-primary:#c0392b;
  --tblr-primary-rgb:192,57,43;

  /* surfaces — white canvas (decided 2026-06-17); white cards float on a 1px edge */
  --tblr-body-bg:#ffffff;
  --tblr-body-color:#101114;
  --tblr-secondary:#5b626e;

  /* visible card / region edge */
  --tblr-border-color:#e2e5ea;
  --tblr-border-color-translucent:#e2e5ea;

  /* radius scale — components reference these tokens, never hardcode a radius */
  --tk-radius-sm:.5rem;
  --tk-radius:.65rem;
  --tk-radius-lg:.9rem;
  --tblr-border-radius:.65rem;
  --tblr-border-radius-lg:.85rem;

  /* crisp type */
  --tblr-font-sans-serif:'Inter Var','Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---- One posture palette for every page (thin-client plan, Phase 3). ----
   The server sends posture_presentation {dot_class, text_class, badge_class}
   built from these class names; pages place them verbatim. Retune activity
   colours HERE only. Wording lives server-side in posture_word(). */
:root {
  --tk-posture-flowing: #d63939;   /* Active — house alarm red */
  --tk-posture-quiet: #f59f00;     /* Inactive, no rate — amber */
  --tk-posture-closed: #2fb344;    /* Nubo end reported — green */
  --tk-posture-unknown: #f59f00;
  --tk-posture-meter-missing: #6c7a91;
}
.posture-dot { width: .55rem; height: .55rem; border-radius: 50%; display: inline-block; }
.posture-flowing { background: var(--tk-posture-flowing); }
.posture-quiet { background: var(--tk-posture-quiet); }
.posture-closed { background: var(--tk-posture-closed); }
.posture-unknown { background: var(--tk-posture-unknown); }
.posture-meter_missing { background: var(--tk-posture-meter-missing); }
.posture-text-flowing { color: var(--tk-posture-flowing); }
.posture-text-quiet { color: var(--tk-posture-quiet); }
.posture-text-closed { color: var(--tk-posture-closed); }
.posture-text-unknown { color: var(--tk-posture-unknown); }
.posture-text-meter_missing { color: var(--tk-posture-meter-missing); }
.posture-badge-flowing { background: color-mix(in srgb, var(--tk-posture-flowing) 12%, transparent); color: var(--tk-posture-flowing); }
.posture-badge-quiet { background: color-mix(in srgb, var(--tk-posture-quiet) 12%, transparent); color: var(--tk-posture-quiet); }
.posture-badge-closed { background: color-mix(in srgb, var(--tk-posture-closed) 12%, transparent); color: var(--tk-posture-closed); }
.posture-badge-unknown { background: color-mix(in srgb, var(--tk-posture-unknown) 12%, transparent); color: var(--tk-posture-unknown); }
.posture-badge-meter_missing { background: color-mix(in srgb, var(--tk-posture-meter-missing) 12%, transparent); color: var(--tk-posture-meter-missing); }

