/*
 * 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.
 */

/*
 * AIDEV-NOTE: Engraving font previews (issue #1302) — self-hosted latin subsets of the two
 * physical engraving lettering styles so clients see their pet's name rendered in each:
 *   Block  -> Lato            Script -> Dancing Script
 * Browsers only fetch a webfont when an element actually uses it, so declaring these globally
 * costs nothing on pages that don't render the previews. Propshaft rewrites the url() refs to
 * digested asset paths. Latin subset only (engraving names are latin).
 */
@font-face {
  font-family: "Engraving Block";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/lato-400-latin-8ab8f9b2.woff2") format("woff2");
}
@font-face {
  font-family: "Engraving Block";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/lato-700-latin-41f81667.woff2") format("woff2");
}
@font-face {
  font-family: "Engraving Script";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/dancing-script-latin-c6494754.woff2") format("woff2");
}

.font-engraving-block { font-family: "Engraving Block", system-ui, sans-serif; }
.font-engraving-script { font-family: "Engraving Script", cursive; }

/* AIDEV-NOTE: TV Mode — fullscreen-like Kanban for wall-mounted displays */
html.tv-mode .tv-hide { display: none !important; }
html.tv-mode #tv-mode-bar { display: flex !important; }
html.tv-mode main { padding: 0.5rem; max-width: 100%; height: calc(100vh - 4rem); display: flex; flex-direction: column; }
html.tv-mode #boardWrap { flex: 1; max-height: none !important; overflow: hidden; }
html.tv-mode #board { height: 100%; min-height: 0; align-items: stretch; }
html.tv-mode #board > [data-kanban-board-target="column"] { display: flex; flex-direction: column; }
html.tv-mode #board > [data-kanban-board-target="column"] > .rounded-2xl { flex: 1; display: flex; flex-direction: column; min-height: 0; }
html.tv-mode #board .kanban-card-list { flex: 1; overflow-y: auto; min-height: 0; }
html.tv-mode .board-label { display: none !important; }
