:root{--fond: #131315;--surface: #1c1c1f;--bordure: #2a2a2e;--texte: #e8e8ea;--attenue: #9a9aa2;--accent: #5b8def;--erreur: #ef5b5b;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--fond);color:var(--texte);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.centre{display:grid;place-items:center;min-height:100vh;padding:1rem}.carte{background:var(--surface);border:1px solid var(--bordure);border-radius:12px;padding:2rem;width:min(360px,100%);display:grid;gap:1rem}.carte h1{margin:0;font-size:1.4rem}label{display:grid;gap:.35rem;font-size:.85rem;color:var(--attenue)}input,button{font:inherit;padding:.6rem .75rem;border-radius:8px;border:1px solid var(--bordure);background:#232327;color:var(--texte)}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{cursor:pointer;background:var(--accent);border-color:transparent;font-weight:600}button:disabled{opacity:.6;cursor:progress}button.discret{background:transparent;border-color:var(--bordure);font-weight:400}.aide{color:var(--attenue);font-size:.82rem;margin:0}.erreur{color:var(--erreur);font-size:.85rem;margin:0}header{position:sticky;top:0;display:flex;gap:.75rem;align-items:center;padding:.75rem 1rem;background:var(--fond);border-bottom:1px solid var(--bordure);flex-wrap:wrap}header #q{flex:1}header .recherche{flex:1 0 100%;min-width:0;display:flex;gap:.5rem;align-items:center}header .recherche input[type=search]{flex:1;min-width:0}header .discret{margin-left:auto}.bascule{display:flex;flex-direction:row;align-items:center;gap:.35rem;white-space:nowrap}@media(min-width:834px){header .recherche{flex:1 1 auto}}main{display:flex;gap:1rem;padding:1rem;align-items:flex-start}.resultats{flex:1;display:flex;flex-direction:column;gap:.75rem}.afficher-plus{align-self:center;background:transparent;border-color:var(--bordure);font-weight:400;padding:.5rem 1.25rem}.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.carte-resultat{background:var(--surface);border:1px solid var(--bordure);border-radius:10px;overflow:hidden;cursor:pointer;display:grid;grid-template-rows:130px auto}.carte-resultat:hover{border-color:var(--accent)}.carte-resultat img{width:100%;height:130px;object-fit:cover;display:block}.carte-resultat .sans-image{display:grid;place-items:center;font-size:2rem;background:#232327}.carte-resultat .legende{padding:.5rem;font-size:.8rem}.carte-resultat .nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.carte-resultat .score{color:var(--accent);font-size:.75rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;height:100vh;height:100dvh;padding-top:3rem;background:#131315b8;display:flex;justify-content:center;align-items:flex-end}aside{width:100%;max-height:100%;overflow-y:auto;background:var(--surface);border:1px solid var(--bordure);border-radius:12px 12px 0 0;padding:1rem;display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;align-content:start}aside .preview-visual{min-width:0;height:26vh;height:26dvh;background:var(--fond);border:1px solid var(--bordure);border-radius:8px;overflow:hidden}aside .preview-visual img{width:100%;height:100%;object-fit:contain;display:block}aside .preview-details{display:grid;gap:.6rem;align-content:start;min-width:0}aside .chemin{font-size:.78rem;color:var(--attenue);word-break:break-all}aside .ocr{font-size:.8rem;max-height:30vh;overflow:auto;white-space:pre-wrap;border-top:1px solid var(--bordure);padding-top:.6rem}.vide{color:var(--attenue);padding:2rem;text-align:center}.similar{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem}.similar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.4rem}.similar-grid .carte-resultat .legende{padding:.3rem;font-size:.7rem}@media(min-width:834px){.overlay{align-items:center;padding-top:0}aside{width:min(1000px,92vw);height:80dvh;overflow:hidden;grid-template-rows:minmax(0,1fr);align-content:stretch;border-radius:12px;padding:1.25rem}aside.with-image{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.25rem}aside.with-image .preview-visual{height:100%;min-height:0}aside .preview-details{min-height:0;overflow-y:auto}}
