/* ============================================================================
   LogosPilot — PLATFORM LAYER
   Amendment A-19 · component N-1

   SCOPE: the delivery routes that state platform facts. Loaded by those and by
   nothing else.

   It lives in its own file for a measured reason. Placed in components.css it
   was downloaded by all 28 routes including the homepage, which sits 0.3 KB
   below the 32 KB per-route ceiling — and it pushed the homepage to 32.1 KB.
   Gate 7 failed the build, correctly.

   The fix is scope, not a bigger budget. A component used by one route in five
   does not belong in the stylesheet every route pays for. The per-route ceiling
   is unchanged and the standards it protects are unchanged; only the delivery
   is narrower.
   ========================================================================= */

/* ── PLATFORM STATE · component N-1, Amendment A-19 ────────────────────────
   The only sanctioned way to render a platform fact. Without it, platform truth
   scatters across lp-meta, lp-status and prose, and no gate has one thing to
   assert against.

   EQUAL WEIGHT IS THE DESIGN. Both platforms occupy identical cells: same
   width, same type, same treatment. Nothing here can make one platform look
   more real than the other, because the product is LogosPilot and an operating
   system is a deployment target.

   There is no affordance slot. A component that cannot render a download button
   cannot render one for a platform that has no installer — WDES §13.3, an
   absent action is honest and a disabled one advertises. */
.lp-platform {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
  gap: var(--space-inline-group);
  margin-block-start: var(--space-stack-related);
}
.lp-platform__item {
  min-width: 0;
  padding: var(--space-inset-comfortable);
  background: var(--color-surface-default);
  border: var(--border-width-hairline) solid var(--border-subtle);
  border-radius: var(--radius-container);
  display: grid;
  gap: var(--space-stack-tight);
  align-content: start;
}
.lp-platform__name {
  font-size: var(--lp-size-20); line-height: var(--lp-lead-28);
  font-weight: var(--lp-weight-strong);
  color: var(--color-content-primary);
}
/* The state is a LABEL, not a badge that could read as a status light. Colour
   is never the carrier — the words say the state (ECS §E.8). */
.lp-platform__state {
  font-size: var(--lp-size-12); line-height: var(--lp-lead-16);
  font-weight: var(--lp-weight-strong);
  letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--color-content-tertiary);
}
.lp-platform__note {
  font-size: var(--lp-size-14); line-height: var(--lp-lead-20);
  color: var(--color-content-secondary);
}
