/*
  Seedling — ornaments and the few softenings tokens can't express.

  Load after components.css and before app.css:
    ../ember/css/fonts.css -> seedling-fonts.css -> ../ember/css/base-tokens.css
    -> tokens.css (Seedling) -> ../ember/palettes/<p>.css (optional)
    -> ../ember/css/reset.css -> ../ember/css/components.css -> seedling.css -> app.css

  Tokens only, like components.css, so every ornament follows the mode and the
  palette (the --orn-* ornament tokens, per mode in tokens.css, are the documented
  exception, as in Ember).
  Ornament lives in the CHROME only: the page label, section rules, the empty
  state. Never on data, tables or status — calm when
  healthy still holds.

  SIGNATURE DETAILS — what makes a page Seedling and not "green SaaS":
    1. The herbarium mount. Light mode is a sage board with paper sheets
       (panels, cards) mounted on it, inked in dark moss; dark mode is the
       same board at night. The page head is the sheet's label: its rule is a
       fine double line, like the ruled label in a herbarium sheet's corner.
    2. The pressed leaf. Every section rule is a hairline that ends in a small
       pressed leaf (--orn-leaf), the one repeating ornament.
    3. The seed packet. An empty state is a seed packet: a crimped, sealed
       flap across the top above a perforated tear line, and a seedling that
       grows in once. Empty is where something is about to be planted.
*/

/* ==================================================================== */
/* Softening                                                             */
/* ==================================================================== */

/* The busy indicator breathes as a dot, not a blinking pixel. */
.btn.is-busy::after { border-radius: var(--radius-full); }

/* The bell's warning badge: a round dot that breathes (Ember's hard flash is a
   pixel warning light; Seedling things grow, they don't blink). */
.bell__badge { border-radius: var(--radius-full); }
.bell.has-warning .bell__badge { animation: bell-breathe 0.9s var(--ease-blink) infinite alternate; }
@keyframes bell-breathe { from { opacity: 1; } to { opacity: 0.3; } }

/* ==================================================================== */
/* Herbarium mount: every sheet sits on the board with a short shadow    */
/* ==================================================================== */

.panel,
.card { box-shadow: var(--shadow-sm); }

/* ==================================================================== */
/* Herbarium label: the page head's rule is a fine double line           */
/* ==================================================================== */

.pagehead { border-bottom: 3px double var(--color-border-default); }

/* ==================================================================== */
/* Section rule ends in a leaf                                           */
/* ==================================================================== */

.sectionhead__rule { position: relative; }
.sectionhead__rule::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 22px;
  height: 10px;
  transform: translateY(-50%);
  background: var(--orn-leaf);
  /* a 4 px stem off the hairline, then an 18x10 leaf with a full 1 px midrib cut out, on the hairline's pixel row so it stays crisp at 1x */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath fill-rule='evenodd' d='M0 4.5h4v1H0zM4 5C5 1.4 11 .3 22 5 11 9.7 5 8.6 4 5zM5.5 5.5H19v-1H5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath fill-rule='evenodd' d='M0 4.5h4v1H0zM4 5C5 1.4 11 .3 22 5 11 9.7 5 8.6 4 5zM5.5 5.5H19v-1H5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ==================================================================== */
