/* Outil · Fonds (Backgrounds) : seulement ce qui lui est propre (le reste vient de app/kit.css).
   Préfixe des classes : fo-
   À gauche : l'aperçu (zone fixe ; le cadre aux proportions du format y est centré, le grain en canvas par-dessus), la
   ligne d'info, les exports. À droite : le mode, son panneau (les trois panneaux sont empilés dans la même case : la
   zone garde la hauteur du plus grand), Autre tirage, les couleurs (grisées si le mode ne s'en sert pas), les ambiances,
   le grain, le format et la taille. */
.fo .outil-fixe { align-items: stretch; }
.fo-zone { height: 460px; display: grid; place-items: center; }
.fo-cadre { position: relative; overflow: hidden; border-radius: 6px; isolation: isolate; box-shadow: 0 0 0 1px var(--filet-doux); }
.fo-svg, .fo-svg svg { display: block; width: 100%; height: 100%; }
.fo-grain { position: absolute; inset: 0; width: 100%; height: 100%; mix-blend-mode: overlay; pointer-events: none; }
.fo-info { flex: none; height: 1lh; margin: 0; }
.fo-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.fo-actions .pastille, .fo-ligne .pastille { cursor: pointer; }
.fo-actions .pastille:hover, .fo-ligne .pastille:hover { translate: none; }

.fo-panneaux { display: grid; }
.fo-panneau { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 14px; }
.fo-panneau[hidden] { display: flex; visibility: hidden; }
.fo-puces { flex-wrap: wrap; }
.fo-puces .puce { cursor: pointer; }
.fo-ligne { display: flex; }
.fo-ligne .pastille:disabled { opacity: .3; cursor: default; }

.fo-couleurs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.fo-couleur { display: flex; flex-direction: column; align-items: center; gap: 6px; cursor: pointer; transition: opacity .3s var(--courbe); }
.fo-couleur span { font: 500 10.5px/1.2 var(--mono); letter-spacing: .04em; color: var(--texte2); }
.fo-couleur i { font: 500 11px/1.2 var(--mono); font-style: normal; letter-spacing: .04em; color: var(--papier); font-variant-numeric: tabular-nums; }
.fo-couleur input[type="color"] { flex: none; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer;
  box-shadow: inset 0 0 0 1px var(--filet); -webkit-appearance: none; appearance: none; overflow: hidden; }
.fo-couleur input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
.fo-couleur input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--filet); }
.fo-couleur input[type="color"]::-moz-color-swatch { border: 0; border-radius: 50%; }
.fo-couleur input[type="color"]:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.fo-couleur.fo-eteint { opacity: .25; }
.fo-ambiance { display: inline-flex; align-items: center; gap: 8px; }
.fo-ambiance i { width: 14px; height: 14px; border-radius: 50%; flex: none; }
@media (max-width: 959px) {
  .fo-zone { height: 300px; }
}
