/* ═════════════════════════════════════════════════════════════════════════
   picker-icons.css — the mark on every picker title. GENERATED.

   ⛔ DO NOT HAND-EDIT — rebuild with
   `php writable/ui-tools/build-icon-assets.php`. The choices live in
   app/Libraries/PickerIcons.php; the drawn shapes in
   app/Views/partials/app/family-icon.php.

   Backlog B1: "each picker's title should carry an icon that represents
   THAT picker."

   ⚠️ PER PICKER, NOT PER FAMILY. A family mark describes the mechanism,
   not the tool — the first version gave hogwarts-house-picker a BOTTLE,
   because its engine is grouped with the party games. Most marks are
   Bootstrap Icons the site already loads, seeded from the hand-picked
   set in the mega menu; three are drawn because bootstrap has no wheel,
   no vertical reel and no three-reel machine.

   ⚠️ WHY CSS AND NOT A VIEW SWEEP. The title markup is duplicated across
   108 files, 102 of them top-level views (picker-title-inventory.php).
   Keying on the existing body.page-{slug} class changes NO markup, and
   deleting this one file reverts everything exactly.

   ⛔ `:not(:empty)` IS LOAD-BEARING. 22 pickers render a bare
   `<div class="flex-grow-1"></div>` as a SPACER — their card has no title
   at all. Without it the mark floated in an empty header.
   ═════════════════════════════════════════════════════════════════════════ */

/* Shared box. Drawn marks paint `currentColor` through a mask; font marks
   override the paint below and draw a glyph instead. Both inherit the
   title's own ink, so neither needs anything per theme. */
.main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "";
    display: inline-block;
    width: 1.15em;
    height: 1.15em;
    margin-right: .45em;
    vertical-align: -.18em;
    background-color: currentColor;
    -webkit-mask-image: none; mask-image: none;
    -webkit-mask-position: center; mask-position: center;
    -webkit-mask-size: contain;   mask-size: contain;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}

/* The page's original glyph is HIDDEN, not removed — the markup is
   untouched, so reverting this file restores the previous look. */
.main-layout-left .card-title > .flex-grow-1 > i.bi:first-child,
.main-layout-left .card-title > .flex-grow-1 > svg.wsp-wheel-glyph:first-child {
    display: none;
}

/* Drawn marks inside the mega menu, matched to the bootstrap glyphs
   beside them (site.css:4465 / :4531). */
.wsp-mega-link .wsp-fam-icon {
    font-size: 1.05rem;
    width: 1.05rem;
    height: 1.05rem;
    flex-shrink: 0;
    opacity: .85;
}

body[data-theme="high-contrast"] .wsp-mega-link .wsp-fam-icon { opacity: 1; }

/* ── FONT MARKS ──────────────────────────────────────────────────────
   Bootstrap Icons, already loaded site-wide by commoncss.php. The box
   above is reset to auto and the paint dropped, or the glyph would sit
   inside a solid currentColor block. */
body.page-number-generator .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-magic-8-ball .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-random-sport-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-gym-exercise-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-tourist-destination-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-spin-the-bottle .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-cricket-team-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-ipl-team-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-fast-food-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-animal-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hp-book-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-story-starter-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-minecraft-item-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-sandbox-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-roblox-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hp-creature-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-minecraft-mob-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-insects-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-capital-city-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-fps-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-desserts-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-maths-practice-spinner .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-random-date-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-ai-video-generator-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-racing-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-conversation-starter-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-comment-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-debate-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-deep-questions-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-coin-toss .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-ai-coding-assistant-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-decision-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-video-game-genre-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-coffee-order-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-what-to-eat-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-cocktail-recipe-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-esports-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-strategy-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-mlb-team-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-dice-roll .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-rpg-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-nba-team-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-classroom-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-presentation-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-birds-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-dinosaur-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-dinner-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-villain-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-cartoon-villain-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-disney-villain-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-cartoon-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-wheel-of-emotions .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-party-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-draft-order-generator .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-truth-or-dare-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-habit-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-fifa-team-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-minecraft-challenge-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-psl-team-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-flag-quiz-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-self-care-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-disney-princess-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hp-location-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-lucky-box .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-prize-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-surprise-gift-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-country-map-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-premier-league-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-world-cuisine-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-goal-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-element-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-board-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-never-have-i-ever-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-kindness-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-random-number-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-date-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-healthy-food-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-history-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-pets-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-home-workout-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-ai-image-generator-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-instagram-comment-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-school-subject-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-retro-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-social-media-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-scientist-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-business-idea-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-activity-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-superhero-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-superpower-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hp-wand-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-us-state-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-horror-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-planet-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hogwarts-house-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-tiktok-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-color-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-yes-no-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-quiz-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-yoga-pose-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-writing-prompt-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-drawing-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-essay-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-wheel-of-names .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hp-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.tg-page .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hp-professor-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-mobile-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-youtube-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-indie-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-bingo-caller .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-retweet-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-ai-chatbot-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-space-mission-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-ai-startup-idea-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-nfl-team-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-marvel-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-dc-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-restaurant-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-street-food-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-random-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-would-you-rather-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-nhl-team-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-icebreaker-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-f1-track-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-galaxy-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hp-spell-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-disney-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-workout-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-card-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-breakfast-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-science-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-random-name-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-tiktok-comment-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hobby-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-secret-santa .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-minecraft-biome-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-mountain-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-giveaway-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-twitter-reply-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-letter-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-river-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-ocean-animals-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-youtube-comment-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    font-family: "bootstrap-icons" !important;
    font-weight: normal; font-style: normal; font-variant: normal;
    text-transform: none; line-height: 1;
    width: auto; height: auto;
    background-color: transparent;
    vertical-align: -.125em;
}

/* bi-123 — random-number-generator */
body.page-number-generator .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f67f";
}

/* bi-8-circle — magic-8-ball */
body.page-magic-8-ball .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f7c1";
}

/* bi-activity — random-sport-picker, gym-exercise-picker */
body.page-random-sport-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-gym-exercise-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f66b";
}

/* bi-airplane — tourist-destination-picker */
body.page-tourist-destination-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f7cd";
}

/* bi-arrow-repeat — spin-the-bottle */
body.page-spin-the-bottle .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f130";
}

/* bi-award — cricket-team-picker */
body.page-cricket-team-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f154";
}

/* bi-award-fill — ipl-team-picker */
body.page-ipl-team-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f153";
}

/* bi-basket — fast-food-picker */
body.page-fast-food-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f180";
}

/* bi-binoculars — animal-picker-wheel */
body.page-animal-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f18f";
}

/* bi-book — hp-book-picker */
body.page-hp-book-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f194";
}

/* bi-book-half — story-starter-picker */
body.page-story-starter-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f193";
}

/* bi-box — minecraft-item-picker */
body.page-minecraft-item-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f1c8";
}

/* bi-boxes — sandbox-game-picker */
body.page-sandbox-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f685";
}

/* bi-bricks — roblox-game-picker */
body.page-roblox-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f1ca";
}

/* bi-bug — hp-creature-picker, minecraft-mob-picker */
body.page-hp-creature-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-minecraft-mob-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f1dc";
}

/* bi-bug-fill — insects-picker */
body.page-insects-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f1db";
}

/* bi-building — capital-city-picker-wheel */
body.page-capital-city-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f1dd";
}

/* bi-bullseye — fps-game-picker */
body.page-fps-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f1de";
}

/* bi-cake2 — desserts-picker */
body.page-desserts-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f6ed";
}

/* bi-calculator — maths-practice-spinner */
body.page-maths-practice-spinner .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f1e0";
}

/* bi-calendar2-heart — random-date-picker */
body.page-random-date-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f712";
}

/* bi-camera-reels — ai-video-generator-picker */
body.page-ai-video-generator-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f21b";
}

/* bi-car-front — racing-game-picker */
body.page-racing-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f7e1";
}

/* bi-chat-dots — conversation-starter-picker */
body.page-conversation-starter-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f24a";
}

/* bi-chat-heart-fill — comment-picker */
body.page-comment-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f713";
}

/* bi-chat-left-quote — debate-topic-picker */
body.page-debate-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f250";
}

/* bi-chat-quote — deep-questions-picker */
body.page-deep-questions-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f255";
}

/* bi-circle-half — coin-toss */
body.page-coin-toss .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f288";
}

/* bi-code-square — ai-coding-assistant-picker */
body.page-ai-coding-assistant-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2c7";
}

/* bi-compass — decision-wheel */
body.page-decision-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2d1";
}

/* bi-controller — video-game-genre-picker */
body.page-video-game-genre-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2d4";
}

/* bi-cup — coffee-order-picker */
body.page-coffee-order-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2e0";
}

/* bi-cup-hot — what-to-eat-picker */
body.page-what-to-eat-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f7eb";
}

/* bi-cup-straw — cocktail-recipe-picker */
body.page-cocktail-recipe-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2df";
}

/* bi-diagram-2 — esports-game-picker */
body.page-esports-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2ec";
}

/* bi-diagram-3 — strategy-game-picker */
body.page-strategy-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2ee";
}

/* bi-diamond-half — mlb-team-picker-wheel */
body.page-mlb-team-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2f0";
}

/* bi-dice-5 — dice-roll */
body.page-dice-roll .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2fb";
}

/* bi-dice-6 — rpg-game-picker */
body.page-rpg-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f2fd";
}

/* bi-dribbble — nba-team-picker-wheel */
body.page-nba-team-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f65f";
}

/* bi-easel — classroom-wheel */
body.page-classroom-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f310";
}

/* bi-easel2 — presentation-topic-picker */
body.page-presentation-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f66d";
}

/* bi-egg — birds-picker */
body.page-birds-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f313";
}

/* bi-egg-fill — dinosaur-picker */
body.page-dinosaur-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f311";
}

/* bi-egg-fried — dinner-ideas-picker */
body.page-dinner-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f312";
}

/* bi-emoji-angry — villain-picker */
body.page-villain-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f317";
}

/* bi-emoji-dizzy — cartoon-villain-picker */
body.page-cartoon-villain-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f319";
}

/* bi-emoji-frown — disney-villain-picker */
body.page-disney-villain-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f31d";
}

/* bi-emoji-laughing — cartoon-character-picker */
body.page-cartoon-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f321";
}

/* bi-emoji-smile — wheel-of-emotions */
body.page-wheel-of-emotions .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f327";
}

/* bi-emoji-sunglasses — party-game-picker */
body.page-party-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f329";
}

/* bi-envelope-paper — draft-order-generator */
body.page-draft-order-generator .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f73d";
}

/* bi-fire — truth-or-dare-wheel, habit-picker */
body.page-truth-or-dare-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-habit-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f7f6";
}

/* bi-flag — fifa-team-picker, minecraft-challenge-picker */
body.page-fifa-team-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-minecraft-challenge-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3cc";
}

/* bi-flag-fill — psl-team-picker, flag-quiz-wheel */
body.page-psl-team-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-flag-quiz-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3cb";
}

/* bi-flower1 — self-care-picker */
body.page-self-care-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3cd";
}

/* bi-gem — disney-princess-picker */
body.page-disney-princess-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3e6";
}

/* bi-geo-alt — hp-location-picker */
body.page-hp-location-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3e8";
}

/* bi-gift — lucky-box */
body.page-lucky-box .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3ec";
}

/* bi-gift-fill — prize-wheel, surprise-gift-picker */
body.page-prize-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-surprise-gift-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3eb";
}

/* bi-globe-americas — country-map-picker */
body.page-country-map-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f882";
}

/* bi-globe2 — premier-league-picker-wheel, world-cuisine-picker */
body.page-premier-league-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-world-cuisine-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3ef";
}

/* bi-graph-up-arrow — goal-picker */
body.page-goal-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f673";
}

/* bi-grid-3x3 — element-picker */
body.page-element-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3fa";
}

/* bi-grid-3x3-gap-fill — board-game-picker */
body.page-board-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f3f8";
}

/* bi-hand-index — never-have-i-ever-picker */
body.page-never-have-i-ever-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f403";
}

/* bi-hand-thumbs-up — kindness-picker */
body.page-kindness-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f407";
}

/* bi-hash — random-number-picker */
body.page-random-number-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f40a";
}

/* bi-heart-fill — date-ideas-picker */
body.page-date-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f415";
}

/* bi-heart-pulse — healthy-food-picker */
body.page-healthy-food-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f76f";
}

/* bi-hourglass-split — history-topic-picker */
body.page-history-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f41f";
}

/* bi-house-heart — pets-picker */
body.page-pets-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f776";
}

/* bi-house-up — home-workout-picker */
body.page-home-workout-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f897";
}

/* bi-image — ai-image-generator-picker */
body.page-ai-image-generator-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f42a";
}

/* bi-instagram — instagram-comment-picker */
body.page-instagram-comment-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f437";
}

/* bi-journal-bookmark — school-subject-picker */
body.page-school-subject-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f43d";
}

/* bi-joystick — retro-game-picker */
body.page-retro-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f448";
}

/* bi-lightbulb — social-media-picker */
body.page-social-media-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f46b";
}

/* bi-lightbulb-fill — scientist-picker, business-idea-picker */
body.page-scientist-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-business-idea-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f468";
}

/* bi-lightning-charge — activity-picker-wheel */
body.page-activity-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f46d";
}

/* bi-lightning-charge-fill — superhero-picker */
body.page-superhero-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f46c";
}

/* bi-lightning-fill — superpower-picker */
body.page-superpower-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f46e";
}

/* bi-magic — hp-wand-picker */
body.page-hp-wand-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f675";
}

/* bi-map — us-state-picker-wheel */
body.page-us-state-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f47f";
}

/* bi-moon-fill — horror-game-picker */
body.page-horror-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f494";
}

/* bi-moon-stars — planet-picker */
body.page-planet-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f496";
}

/* bi-mortarboard — hogwarts-house-picker */
body.page-hogwarts-house-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f6fe";
}

/* bi-music-note-beamed — tiktok-ideas-picker */
body.page-tiktok-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f49e";
}

/* bi-palette — color-picker-wheel */
body.page-color-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4b1";
}

/* bi-patch-question — yes-no-wheel */
body.page-yes-no-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4be";
}

/* bi-patch-question-fill — quiz-topic-picker */
body.page-quiz-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4bd";
}

/* bi-peace — yoga-pose-picker */
body.page-yoga-pose-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4c6";
}

/* bi-pen — writing-prompt-picker */
body.page-writing-prompt-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4c8";
}

/* bi-pencil — drawing-ideas-picker */
body.page-drawing-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4cb";
}

/* bi-pencil-square — essay-topic-picker */
body.page-essay-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4ca";
}

/* bi-people — wheel-of-names, hp-character-picker */
body.page-wheel-of-names .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hp-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4d0";
}

/* bi-people-fill — team-generator */
body.tg-page .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4cf";
}

/* bi-person-vcard — hp-professor-picker */
body.page-hp-professor-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f8c9";
}

/* bi-phone — mobile-game-picker */
body.page-mobile-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4e7";
}

/* bi-play-btn — youtube-ideas-picker */
body.page-youtube-ideas-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f4f1";
}

/* bi-puzzle — indie-game-picker */
body.page-indie-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f503";
}

/* bi-record-circle-fill — bingo-caller */
body.page-bingo-caller .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f517";
}

/* bi-repeat — retweet-picker */
body.page-retweet-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f813";
}

/* bi-robot — ai-chatbot-picker */
body.page-ai-chatbot-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f6b1";
}

/* bi-rocket — space-mission-picker */
body.page-space-mission-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f846";
}

/* bi-rocket-takeoff — ai-startup-idea-picker */
body.page-ai-startup-idea-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f845";
}

/* bi-shield-fill — nfl-team-picker-wheel */
body.page-nfl-team-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f536";
}

/* bi-shield-shaded — marvel-character-picker, dc-character-picker */
body.page-marvel-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-dc-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f53b";
}

/* bi-shop — restaurant-picker-wheel */
body.page-restaurant-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f543";
}

/* bi-shop-window — street-food-picker */
body.page-street-food-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f542";
}

/* bi-shuffle — random-picker */
body.page-random-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f544";
}

/* bi-signpost-split — would-you-rather-picker */
body.page-would-you-rather-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f549";
}

/* bi-snow — nhl-team-picker-wheel */
body.page-nhl-team-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f56d";
}

/* bi-snow2 — icebreaker-picker */
body.page-icebreaker-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f56e";
}

/* bi-speedometer2 — f1-track-picker */
body.page-f1-track-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f580";
}

/* bi-stars — galaxy-picker, hp-spell-picker, disney-character-picker */
body.page-galaxy-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-hp-spell-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-disney-character-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f589";
}

/* bi-stopwatch — workout-picker */
body.page-workout-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f597";
}

/* bi-suit-spade-fill — card-game-picker */
body.page-card-game-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f59f";
}

/* bi-sunrise — breakfast-picker */
body.page-breakfast-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f5a5";
}

/* bi-thermometer — science-topic-picker */
body.page-science-topic-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f5d2";
}

/* bi-ticket-perforated — random-name-picker */
body.page-random-name-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f6ca";
}

/* bi-tiktok — tiktok-comment-picker */
body.page-tiktok-comment-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f6cc";
}

/* bi-tools — hobby-picker */
body.page-hobby-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f5db";
}

/* bi-tree — secret-santa, minecraft-biome-picker */
body.page-secret-santa .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-minecraft-biome-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f5e2";
}

/* bi-triangle-fill — mountain-picker */
body.page-mountain-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f5e3";
}

/* bi-trophy-fill — giveaway-wheel */
body.page-giveaway-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f5e6";
}

/* bi-twitter-x — twitter-reply-picker */
body.page-twitter-reply-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f8db";
}

/* bi-type — letter-picker-wheel */
body.page-letter-picker-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f5f7";
}

/* bi-water — river-picker, ocean-animals-picker */
body.page-river-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-ocean-animals-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f617";
}

/* bi-youtube — youtube-comment-picker */
body.page-youtube-comment-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    content: "\f62b";
}

/* ── DRAWN MARKS ─────────────────────────────────────────────────────
   Only where bootstrap has no honest equivalent. */
/* center-spin — center-spin */
body.page-center-spin .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    -webkit-mask-image: url("../../img/app/family/center-spin.svg");
            mask-image: url("../../img/app/family/center-spin.svg");
}

/* combo — combo-spin, meal-combo-picker, date-night-picker */
body.page-combo-spin .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-meal-combo-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-date-night-picker .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    -webkit-mask-image: url("../../img/app/family/combo.svg");
            mask-image: url("../../img/app/family/combo.svg");
}

/* draw — name-from-a-hat */
body.page-name-from-a-hat .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    -webkit-mask-image: url("../../img/app/family/draw.svg");
            mask-image: url("../../img/app/family/draw.svg");
}

/* wheel — classic-wheel, spin-the-wheel */
body.page-classic-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before,
body.page-spin-the-wheel .main-layout-left .card-title > .flex-grow-1:not(:empty)::before {
    -webkit-mask-image: url("../../img/app/family/wheel.svg");
            mask-image: url("../../img/app/family/wheel.svg");
}

