/* Outil · Fichier (File inspector) : seulement ce qui lui est propre (le reste vient de app/kit.css).
   Préfixe des classes : fi-
   À gauche : la zone fixe (vide : déposer, choisir ; sinon la carte : nom, vrai format, famille, alerte sur 3 lignes), puis
   s'ouvre avec, extension, taille ; un autre fichier. À droite : les empreintes (SHA-256, MD5, à copier), la comparaison
   avec l'empreinte d'un site et son verdict (2 lignes fixes), les premiers octets en hexadécimal (16 lignes). */
.fi .outil-fixe { align-items: stretch; }
.fi-zone { position: relative; height: 300px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--filet-doux); background: rgba(0, 0, 0, .18); }
.fi-zone.survol { box-shadow: inset 0 0 0 1.5px var(--orange); }
.fi-vide, .fi-carte { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 24px; text-align: center; }
.fi-vide[hidden], .fi-carte[hidden] { display: none; }
.fi-vide p { margin: 0; font: 600 16px/1.3 var(--corps); color: var(--papier); }
.fi-vide > span { font: 500 11px/1.4 var(--mono); letter-spacing: .04em; color: var(--texte2); }
.fi-vide .pastille, .fi-actions .pastille { cursor: pointer; }
.fi-vide .pastille:hover, .fi-actions .pastille:hover { translate: none; }
.fi-nom { max-width: 100%; font: 500 12px/1.3 var(--mono); letter-spacing: .03em; color: var(--texte2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fi-format { max-width: 100%; font: 700 26px/1.15 var(--display); letter-spacing: -.02em; color: var(--papier); text-wrap: balance; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.fi-famille { font: 500 11px/1.2 var(--mono); letter-spacing: .06em; color: var(--texte2); }
.fi-alerte { margin: 4px 0 0; height: 4.5em; font: 500 13.5px/1.5 var(--corps); color: var(--texte2); text-wrap: balance; overflow: hidden; }
.fi-alerte[data-etat="ok"] { color: var(--papier); }
.fi-alerte[data-etat="attention"] { color: var(--peche); }
.fi-alerte[data-etat="danger"] { color: var(--orange); }
.fi-ligne { height: 44px; cursor: default; }
.fi-ligne .val { color: var(--papier); text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fi-actions { display: flex; justify-content: center; }
.fi-empreinte { height: 56px; align-items: center; }
.fi-empreinte .nom { flex: none; width: 76px; }
.fi-empreinte .val { flex: 1; min-width: 0; margin-left: 0; color: var(--papier); font: 500 11.5px/1.35 var(--mono); overflow-wrap: anywhere; white-space: normal; text-align: left; }
.fi-empreinte .note { display: grid; justify-items: end; }
.fi-empreinte svg { width: 15px; height: 15px; fill: none; stroke: var(--texte2); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fi-empreinte:disabled { cursor: default; }
.fi-empreinte:disabled svg { opacity: .3; }
.fi-compare { display: flex; flex-direction: column; }
.fi-compare .saisie { font-family: var(--mono); font-size: 12.5px; }
.fi-verdict { margin: 0; height: 3em; font: 500 13.5px/1.5 var(--corps); color: var(--texte2); }
.fi-verdict[data-etat="ok"] { color: var(--papier); }
.fi-verdict[data-etat="non"] { color: var(--orange); }
.fi-hexa { margin: 0; height: calc(16 * 1.5em + 24px); overflow-x: auto; padding: 12px 14px; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--filet-doux); font: 500 10px/1.5 var(--mono); color: var(--texte2); white-space: pre; }
@media (max-width: 959px) {
  .fi-zone { height: 260px; }
  .fi-hexa { font-size: 8px; padding: 10px; }
}
