/*
 * Escape Machinery — self-hosted re-com structural CSS.
 * Proprietary. Internal use only.
 *
 * WHY THIS FILE EXISTS
 * re-com 2.29.4 renders its box model (h-box / v-box / box / gap) with INLINE
 * flex styles (flex-flow / justify-content / align-items / flex) PLUS a single
 * structural class, `.display-flex`, that carries the actual `display: flex`.
 * The library JAR ships NO stylesheet (verified: re-com-2.29.4.jar contains only
 * .cljs/.clj sources), so without this rule `.display-flex` is undefined, every
 * re-com box falls back to `display: block`, the inline flex-flow becomes inert,
 * and all regions stack in the top-left. This restores the box model.
 *
 * CSP-CLEAN (ADR-0046 / index.html CSP note): self-hosted, `style-src 'self'` —
 * no `unsafe-inline`, no external CDN. Linked BEFORE app.css so the design-token
 * layer (app.css) wins on any overlap.
 *
 * FOLLOW-UP (noted, not blocking): re-com's optional icon set (Material Design
 * Iconic Font) is NOT self-hosted here. The Stage-1 shell uses NO re-com icons,
 * so nothing renders a missing glyph. When a component first needs an icon, add
 * the font under resources/public/ and reference it with `font-src 'self'`.
 */

/* The one structural rule re-com's box model depends on. */
.display-flex {
  display: -webkit-flex;
  display: flex;
}

/* re-com marks each box with a semantic class alongside `.display-flex`; these
 * are structural anchors (they also receive `.display-flex`), kept here so the
 * box model is robust even if class ordering changes. */
.rc-h-box,
.rc-v-box {
  /* direction/justify/align are set inline by re-com; ensure flex context. */
  display: -webkit-flex;
  display: flex;
}

.rc-h-box { -webkit-flex-flow: row nowrap;    flex-flow: row nowrap; }
.rc-v-box { -webkit-flex-flow: column nowrap; flex-flow: column nowrap; }

/* A box with no explicit :size should not stretch unexpectedly; re-com sets the
 * flex value inline when :size is given, so this is only a benign default. */
.rc-box { -webkit-flex: 0 0 auto; flex: 0 0 auto; }
