/* Generated by Morse CSS */
/* https://github.com/morse-css */

/* ===== CORE STYLING ===== */

/* Style for empty elements used in Morse patterns */
i:empty,
span:empty,
wbr:has(~ :is(i:empty, span:empty)) {
  display: none;
}

/* ===== TEXT FORMATTING ===== */

/* Make elements bold */
*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  font-weight: bold;
}

/* Make elements italic */
*:has(> :is(i:empty:first-child + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty, wbr + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty)) {
  font-style: italic;
}

/* Make elements underlined */
*:has(> :is(i:empty:first-child + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  text-decoration: underline;
}

/* Text decoration variants */
*:has(> :is(i:empty:first-child + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty, wbr + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty)) {
  text-decoration: line-through;
}

*:has(> :is(span:empty:first-child + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + span:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  text-decoration: overline;
}

/* Font sizes */
*:has(> :is(i:empty:first-child + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  font-size: 0.875em;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty, wbr + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty)) {
  font-size: 1em;
}

*:has(> :is(i:empty:first-child + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty, wbr + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty)) {
  font-size: 1.5em;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty, wbr + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty)) {
  font-size: 2em;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty, wbr + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty)) {
  font-size: 3em;
}

/* ===== TEXT ALIGNMENT ===== */

/* Make elements centered */
*:has(> :is(span:empty:first-child + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty)) {
  text-align: center;
}

*:has(> :is(i:empty:first-child + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty, wbr + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty)) {
  text-align: left;
}

*:has(> :is(i:empty:first-child + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty, wbr + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty)) {
  text-align: right;
}

/* ===== DISPLAY ===== */

/* Make elements hidden */
*:has(> :is(i:empty:first-child + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty, wbr + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty)) {
  display: none;
}

/* ===== COLORS ===== */

/* Text colors */
*:has(> :is(i:empty:first-child + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  color: red;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty)) {
  color: green;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty)) {
  color: blue;
}

*:has(> :is(span:empty:first-child + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + span:empty, wbr + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + span:empty)) {
  color: yellow;
}

*:has(> :is(i:empty:first-child + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty, wbr + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty)) {
  color: purple;
}

*:has(> :is(span:empty:first-child + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty, wbr + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty)) {
  color: orange;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty, wbr + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty)) {
  color: black;
}

*:has(> :is(i:empty:first-child + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty, wbr + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty)) {
  color: white;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty, wbr + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty)) {
  color: gray;
}

/* Background colors */
*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  background-color: red;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty)) {
  background-color: green;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty)) {
  background-color: blue;
  color: white;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + span:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + span:empty)) {
  background-color: yellow;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty)) {
  background-color: purple;
  color: white;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty)) {
  background-color: orange;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty)) {
  background-color: black;
  color: white;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty)) {
  background-color: white;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + span:empty)) {
  background-color: gray;
  color: white;
}

/* ===== SPACING ===== */

/* Padding utilities */
*:has(> :is(i:empty:first-child + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + span:empty, wbr + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + span:empty)) {
  padding: 4px;
}

*:has(> :is(i:empty:first-child + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty, wbr + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty)) {
  padding: 8px;
}

*:has(> :is(i:empty:first-child + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty, wbr + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty)) {
  padding: 16px;
}

*:has(> :is(i:empty:first-child + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty, wbr + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty)) {
  padding: 24px;
}

*:has(> :is(i:empty:first-child + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty, wbr + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty)) {
  padding: 32px;
}

/* Margin utilities */
*:has(> :is(span:empty:first-child + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + span:empty, wbr + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + span:empty)) {
  margin: 4px;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty, wbr + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty)) {
  margin: 8px;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty, wbr + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty)) {
  margin: 16px;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty, wbr + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty)) {
  margin: 24px;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty, wbr + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty)) {
  margin: 32px;
}

/* Gap utilities for flex/grid layouts */
*:has(> :is(span:empty:first-child + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + span:empty, wbr + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + span:empty + span:empty)) {
  gap: 4px;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty, wbr + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty)) {
  gap: 8px;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty, wbr + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty)) {
  gap: 16px;
}

/* ===== LAYOUT ===== */

/* Flex layouts */
*:has(> :is(i:empty:first-child + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty, wbr + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty)) {
  display: flex;
}

*:has(> :is(i:empty:first-child + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + span:empty, wbr + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + span:empty)) {
  display: flex;
  flex-direction: row;
}

*:has(> :is(i:empty:first-child + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty, wbr + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty)) {
  display: flex;
  flex-direction: column;
}

/* Grid layout */
*:has(> :is(span:empty:first-child + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  display: grid;
}

/* Alignment utilities */
*:has(> :is(i:empty:first-child + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty, wbr + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty)) {
  justify-content: flex-start;
}

*:has(> :is(i:empty:first-child + span:empty + i:empty + span:empty + i:empty + i:empty, wbr + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty)) {
  justify-content: flex-end;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + span:empty + i:empty + i:empty + span:empty + i:empty)) {
  justify-content: space-between;
}

*:has(> :is(i:empty:first-child + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty, wbr + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty)) {
  justify-content: space-around;
}

/* ===== SIZE ===== */

/* Width utilities */
*:has(> :is(i:empty:first-child + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  width: 100%;
}

*:has(> :is(i:empty:first-child + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty, wbr + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty)) {
  width: 50%;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty)) {
  width: 33.333%;
}

*:has(> :is(span:empty:first-child + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + span:empty + i:empty)) {
  width: 25%;
}

/* Height utilities */
*:has(> :is(span:empty:first-child + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  height: 100%;
}

*:has(> :is(i:empty:first-child + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty, wbr + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty)) {
  height: 50%;
}

/* ===== BORDERS ===== */

/* Border utilities */
*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty)) {
  border: 1px solid currentColor;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty)) {
  border: 0.5px solid currentColor;
}

*:has(> :is(span:empty:first-child + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty, wbr + span:empty + i:empty + i:empty + i:empty + span:empty + span:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty + i:empty + span:empty)) {
  border: 2px solid currentColor;
}

/* Border radius utilities */
*:has(> :is(i:empty:first-child + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty, wbr + i:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty)) {
  border-radius: 4px;
}

*:has(> :is(i:empty:first-child + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty, wbr + i:empty + span:empty + i:empty + span:empty + span:empty + span:empty + i:empty + i:empty + span:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + span:empty + i:empty + i:empty + i:empty + span:empty + i:empty + i:empty)) {
  border-radius: 9999px;
}
