/* ===========================================================================
   Every typeface BrainPetals uses, served from this origin.
   Linked by garden.html, index.html, privacy.html, terms.html and
   delete-account.html — one declaration each, in one place.

   WHY SELF-HOSTED, 21 Aug 2026
   These used to come from fonts.googleapis.com. That is convenient and it is
   also a third party learning the IP address of everyone who opens a private
   diary, on every single page load, for nothing in return. The whole set is
   104 KB and there is no build step to complicate. Removing it took two rows
   off the privacy page and two hosts out of the story.

   THE UNICODE RANGES ARE DERIVED, NOT COPIED.
   Each range below was generated from that file's own cmap rather than pasted
   from Google's stylesheet, so a glyph can never fall in the gap between what
   a range claims and what the file actually holds. Regenerate them if a font
   is ever re-subset.

   The `latin` and `latin-ext` split is kept for the same reason Google does
   it: most people never load latin-ext, and a diary written in Polish or
   Turkish still gets its accents when they do.
   =========================================================================== */

/* ---- Spicy Rice — headlines only, one weight (400; 700 would be faked) --- */
@font-face{
  font-family:'Spicy Rice';
  font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/spicy-rice-latin-400-normal.woff2') format('woff2');
  unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+2013-2014,
                U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+2044,
                U+20AC,U+2122,U+2212;
}
@font-face{
  font-family:'Spicy Rice';
  font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/spicy-rice-latin-ext-400-normal.woff2') format('woff2');
  unicode-range:U+20,U+A0,U+100-130,U+132-151,U+154-17E,U+192,U+1FC-1FF,U+237,
                U+2C7,U+2DD,U+1E80-1E85,U+1EF2-1EF3,U+2020;
}

/* ---- Atkinson Hyperlegible — everything anybody has to read -------------- */
@font-face{
  font-family:'Atkinson Hyperlegible';
  font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/atkinson-hyperlegible-latin-400-normal.woff2') format('woff2');
  unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,
                U+303-304,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,
                U+2026,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+2215;
}
@font-face{
  font-family:'Atkinson Hyperlegible';
  font-style:normal; font-weight:400; font-display:swap;
  src:url('fonts/atkinson-hyperlegible-latin-ext-400-normal.woff2') format('woff2');
  unicode-range:U+20,U+A0,U+100-107,U+10A-113,U+116-11B,U+11E-123,U+126-127,
                U+12A-12B,U+12E-12F,U+136-137,U+13B-13E,U+141-148,U+150-151,
                U+154-155,U+158-15B,U+15E-165,U+16A-16B,U+16E-173,U+178-17E,
                U+192,U+218-21B,U+2C7,U+2DD,U+300-301,U+303-304,U+308,U+2020,
                U+2113;
}
@font-face{
  font-family:'Atkinson Hyperlegible';
  font-style:normal; font-weight:700; font-display:swap;
  src:url('fonts/atkinson-hyperlegible-latin-700-normal.woff2') format('woff2');
  unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,
                U+303-304,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,
                U+2026,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+2215;
}
@font-face{
  font-family:'Atkinson Hyperlegible';
  font-style:normal; font-weight:700; font-display:swap;
  src:url('fonts/atkinson-hyperlegible-latin-ext-700-normal.woff2') format('woff2');
  unicode-range:U+20,U+A0,U+100-107,U+10A-113,U+116-11B,U+11E-123,U+126-127,
                U+12A-12B,U+12E-12F,U+136-137,U+13B-13E,U+141-148,U+150-151,
                U+154-155,U+158-15B,U+15E-165,U+16A-16B,U+16E-173,U+178-17E,
                U+192,U+218-21B,U+2C7,U+2DD,U+300-301,U+303-304,U+308,U+2020,
                U+2113;
}

/* ---- Bloom Emoji — the flowers and the faces -----------------------------
   THE GARDEN NEVER DRAWS AN OS EMOJI. Left to the platform a sunflower is
   Apple's glossy 3D one on a Mac and Microsoft's on Windows, and an older
   Windows box shows a blank rectangle for the newer codepoints. Bloom hit
   exactly that.

   28 glyphs: 12 species, seed and sprout, the two visitors, and 12 faces of
   which only 5 are in use. The spares are deliberate — moods live in the
   database precisely so they can be changed without touching code, and that
   promise is worthless if swapping a glyph needs the font rebuilt too.

   Living here rather than in three separate <style> blocks is the point: this
   range used to be duplicated across the pages, which is a guarantee that one
   day one copy is right and the others are quietly wrong.
   ------------------------------------------------------------------------- */
@font-face{
  font-family:'Bloom Emoji';
  font-display:swap;           /* never invisible — the flowers ARE the page */
  src:url('bloom-emoji.woff2') format('woff2');
  unicode-range:U+1F331,U+1F335,U+1F337-1F33C,U+1F33E,U+1F33F,U+1F340,U+1F41D,
                U+1F4AE,U+1F60A,U+1F60C,U+1F610,U+1F614,U+1F622,U+1F624,
                U+1F629,U+1F630,U+1F634,U+1F641,U+1F642,U+1F929,U+1F98B,
                U+1FAB7,U+1FABB;
}
