/* fonts-3.css (claude-home #496, 2026-11-08): fonts-2.css with one change, under a new name for the same reason fonts-2.css
   got one (below: the edge keeps a stylesheet a day whatever ?v= says). The Devanagari faces declared under the Latin
   names (Outfit, Fraunces) no longer claim U+200C-200D, the zero-width non-joiner and joiner. Persian writes the non-joiner
   inside words («می‌خواهم»), so every Persian page asked for the 118 KB Devanagari file to draw an invisible character, and
   on a slow phone it still did after Vazirmatn came (fonts-fa.css): while Vazirmatn loads, Chrome tries the next face that
   covers the character. Outfit and Fraunces have no glyph for either character, so in Hindi text, which the finder's own
   words never join this way, a joiner falls through to "Noto Sans Devanagari" (still declared with the full range) in
   the Hindi stack, as before. fonts-2.css stays for pages cached with it.
   Way back: point the four fonts-3.css references (pages.mjs, index.mjs, find.html, sw.js) back to fonts-2.css. */
/* fonts-2.css (wave rulang1, 2026-11-07): the same sheet as fonts.css, under a new name. After the Russian merge the edge
   (Cloudflare in front of Railway's own edge, max-age 86400) kept serving the pre-Cyrillic fonts.css, and a zone purge
   didn't reach Railway's copy, so Russian finder pages fell back to system fonts. The edge caches a static file whatever
   ?v= says (pages.mjs, mapshot-2/), so a new name is the fix. fonts.css stays for old cached HTML. */
/* Font URLs are RELATIVE to this stylesheet on purpose. This file is served
   at /meetings/static/fonts.css, so `fonts/x.woff2` resolves to
   /meetings/static/fonts/x.woff2. They were absolute `/static/fonts/...`
   from before find2 was promoted to /meetings/find/ (b3977f5) and had
   404'd ever since -- every meeting page and the map itself were falling
   back to a system font. The paths here must also match sw.js's CORE
   list, or the offline copy fetches a URL it never cached. */
@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fraunces-600.woff2) format("woff2")}
@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/outfit-400.woff2) format("woff2")}
@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/outfit-600.woff2) format("woff2")}
/* Devanagari (wave hi1, 2026-10-18): Noto Sans Devanagari (SIL OFL; Google Fonts' devanagari subset, variable weight),
   self-hosted like the Latin faces. It's declared under the Latin families' own names with Devanagari's unicode-range, so
   on every page and the map a Hindi glyph comes from Noto and a Latin one («AA», a town as its publisher prints it) stays
   Outfit or Fraunces: the Devanagari family sits after the Latin fonts, as the main site's prep notes ask. A page with no
   Devanagari on it never downloads the file. Not in sw.js's CORE list on purpose: an offline phone without it falls back
   to its own Devanagari font (Android ships Noto). Way back: delete these lines and the woff2. */
@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/noto-sans-devanagari.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}
@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/noto-sans-devanagari.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF4,U+1CF7-1CF9,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}
@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/noto-sans-devanagari.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF4,U+1CF7-1CF9,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}
@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/noto-sans-devanagari.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF4,U+1CF7-1CF9,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}
/* a Hindi page mirrors the main site's style.hi.css (recoverystarts-site, wave hi1 S1): the stack names the Devanagari
   family after the Latin ones too, for any element whose own stack has no Outfit; no letter-spacing (it breaks Devanagari's
   headline); Devanagari has no true italic, so nothing is slanted and an <i>/<em> is set in the bold weight instead; the
   matras above the line and the conjuncts below need room, so running text gets line-height 1.8 and headings 1.45 on
   meeting pages, while the map keeps its own (its chips are sized to the line) */
html:lang(hi) body{font-family:Outfit,"Noto Sans Devanagari",system-ui,sans-serif}
html:lang(hi) *{letter-spacing:0!important}
html:lang(hi) em,html:lang(hi) i,html:lang(hi) cite,html:lang(hi) blockquote{font-style:normal!important}
html:lang(hi) em,html:lang(hi) i{font-weight:600}
html:lang(hi) input,html:lang(hi) textarea,html:lang(hi) select,html:lang(hi) button{font-family:Outfit,"Noto Sans Devanagari",system-ui,sans-serif}
html:lang(hi) .wrap{line-height:1.8}
html:lang(hi) .wrap h1,html:lang(hi) .wrap h2,html:lang(hi) .wrap h3{line-height:1.45}
/* Cyrillic (wave rulang1, 2026-11-01): the main site's ru prep chose Literata for headings (a soft bookish serif with a
   true Cyrillic, beside Fraunces) and Jost for body and UI (geometric, the closest in shape to Outfit), both SIL OFL from
   Google Fonts, self-hosted like the Latin faces (recoverystarts-site i18n/ru/PREP-NOTES.md "Font"). Two layers:
   (1) on every page and the map, a Cyrillic glyph in Fraunces or Outfit text comes from Literata or Jost (declared under
       the Latin families' own names with Cyrillic's unicode-range, as Devanagari is above), so a Russian group name on an
       English page never falls back to the phone's serif;
   (2) on a Russian page the Cyrillic face goes first for the whole line, Latin letters included («Собрания АА — Moscow»
       in one face), as the prep asks: body and form fields in Jost, every heading the finder sets in Fraunces in Literata.
   A page with no Cyrillic on it never downloads the Cyrillic files; italics stay (both faces have true Cyrillic italics,
   synthesised here from the upright, as Fraunces's are). Not in sw.js's CORE list on purpose, as Devanagari isn't. Way
   back: delete these lines and the four woff2 files. */
@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/literata-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Jost;font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Jost;font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/jost-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Literata;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/literata-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Literata;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/literata-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html:lang(ru) body,html:lang(ru) input,html:lang(ru) textarea,html:lang(ru) select,html:lang(ru) button{font-family:Jost,Outfit,system-ui,sans-serif}
html:lang(ru) :is(h1,h2,h3,header.site a.brand,.dayhead,.swlab,.phead,.hline,#count,.sthead,.btile .tm,.m.st-live .mt,.cnowcount,.calhead .ttl,.cdayh h3,.myweek h4){font-family:Literata,Fraunces,Georgia,serif}
