/* Charte PILLIN : vert #06402B. Clair et sombre suivent l'appareil. */

:root {
  --fond: #f4f6f3;
  --surface: #ffffff;
  --texte: #1f2a24;
  --doux: #5b6760;
  --ligne: #d9e0da;
  --vert: #06402B;
  --accent: #06402B;
}

@media (prefers-color-scheme: dark) {
  :root {
    --fond: #0f1a15;
    --surface: #16241d;
    --texte: #e3ebe5;
    --doux: #9fb0a6;
    --ligne: #2a3b32;
    --accent: #7fc4a2;
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--fond);
  color: var(--texte);
  font-family: 'Figtree', system-ui, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.55;
}

main { max-width: 52rem; margin: 0 auto; padding: 2.5rem 1rem 4rem; }

.entete { border-left: .4rem solid var(--vert); padding-left: 1rem; margin-bottom: 2rem; }
h1 {
  font-family: 'Bricolage Grotesque', 'Figtree', sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: .02em;
  margin: 0;
  color: var(--accent);
}
.chapeau { margin: .2rem 0 0; color: var(--doux); }

.applis {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
}

.appli {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  height: 100%;
  padding: 1.2rem 1.3rem;
  background: var(--surface);
  border: 1px solid var(--ligne);
  border-top: .3rem solid var(--vert);
  border-radius: .8rem;
  color: inherit;
  text-decoration: none;
}
.appli:hover { border-color: var(--accent); }
.appli:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }

.nom { font-family: 'Bricolage Grotesque', 'Figtree', sans-serif; font-weight: 700; font-size: 1.2rem; color: var(--accent); }
.desc { color: var(--doux); font-size: .95rem; flex: 1; }
.adresse { font-size: .85rem; font-weight: 500; }
