/* App chrome fonts — self-hosted from static/fonts/ (see FONTS.md; no
   third-party font requests, GDPR). The injected generated stylesheet
   declares the same faces with the same urls, so nothing is fetched
   twice; these copies keep the editor hyperlegible before injection. */
@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("fonts/AtkinsonHyperlegible-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("fonts/AtkinsonHyperlegible-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("fonts/AtkinsonHyperlegible-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("fonts/AtkinsonHyperlegible-BoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

html {
  font-family: "Atkinson Hyperlegible", system-ui, sans-serif;
}

/* Nothing here may set z-index from an element selector. `button:focus`
   scores (0,1,1) and outranks every `.z-*` class in the sheet this app
   dogfoods, silently overriding the framework's own stacking on any
   positioned button. Raise things by where they sit in the tree. */

/* FOCUS START */
/* select https://www.filamentgroup.com/lab/select-css.html */
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyB2aWV3Qm94PScwIDAgMzAgMzAnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sOnNwYWNlPSdwcmVzZXJ2ZScgeG1sbnM6c2VyaWY9J2h0dHA6Ly93d3cuc2VyaWYuY29tLycgc3R5bGU9J2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyc+PGcgdHJhbnNmb3JtPSdtYXRyaXgoMi4wNzYwNiwwLDAsMi4wNzYwNiwtMTYuMTU0MSwtMTYuODkzNSknPjxwYXRoIGQ9J00xOS44NSwxMS42MTNMMTUsMTYuNDYzTDEwLjE1LDExLjYxM0M5LjY2MywxMS4xMjUgOC44NzUsMTEuMTI1IDguMzg4LDExLjYxM0M3LjksMTIuMSA3LjksMTIuODg3IDguMzg4LDEzLjM3NUwxNC4xMjUsMTkuMTEzQzE0LjYxMywxOS42IDE1LjQsMTkuNiAxNS44ODgsMTkuMTEzTDIxLjYyNSwxMy4zNzVDMjIuMTEzLDEyLjg4NyAyMi4xMTMsMTIuMSAyMS42MjUsMTEuNjEzQzIxLjEzOCwxMS4xMzcgMjAuMzM4LDExLjEyNSAxOS44NSwxMS42MTNaJyBzdHlsZT0nZmlsbDpyZ2IoMCw2OCwxNTgpO2ZpbGwtcnVsZTpub256ZXJvOycvPjwvZz48L3N2Zz4=");
  background-repeat: no-repeat, repeat;
  background-position: right 0.4em top 50%, 0 0;
  background-size: 0.8em auto, 100%;
}
select::-ms-expand {
  display: none;
}
select:hover {
  border-color: #888;
}
select:focus {
  border-color: currentColor;
  box-shadow: 0 0 0 0.25rem var(--yellow, #ffd700);
  outline: none;
}

