/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

@import url("/platform-assets/fonts-d84b7119.css");
@import url("/platform-assets/components/thread-line-5746e36b.css");
@import url("/platform-assets/docs-0d8061e6.css");

/* Heading typography — Paperclip style */
h1,
h2,
h3,
h4,
h5,
h6,
.heading-serif {
  font-family: var(--font-serif);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

/* Scope tabs on the websites dashboard: both tabs are always in the DOM so
   Turbo broadcasts can prepend into their grids; hide a tab while its grid
   is empty and reveal it live when a card lands. :not(:has(*)) is
   whitespace-tolerant (unlike :empty). */
#websites-scope:has(#websites-grid:not(:has(*))) .tab-own {
  display: none;
}

#websites-scope:has(#shared-websites-grid:not(:has(*))) .tab-shared {
  display: none;
}

/* Both grids empty: hide the whole tab bar (tabs-box has background +
   padding, so it would render as a stray rounded bar above the empty
   state). A broadcast prepend into either grid reveals it again. */
#websites-scope:has(#websites-grid:not(:has(*))):has(#shared-websites-grid:not(:has(*))) > .tabs {
  display: none;
}
