:root{--bg: #f4f6f8;--card: #ffffff;--text: #1c2430;--muted: #5d6b7a;--border: #d8dee5;--accent: #1f4e79;--accent-text: #ffffff;--ok: #1e7b45;--warn: #9a6400;--danger: #b3261e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}@media (prefers-color-scheme: dark){:root{--bg: #11161c;--card: #1a2129;--text: #e6ebf0;--muted: #9aa7b4;--border: #2d3742;--accent: #5b9bd5;--accent-text: #0b1218;--ok: #5cc98a;--warn: #e0a84a;--danger: #f2827a}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.app{max-width:640px;margin:0 auto;padding:24px 16px 48px}header h1{margin:0;color:var(--accent)}header p,.hint,footer{color:var(--muted)}footer{font-size:.85rem;text-align:center;margin-top:24px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-top:16px}.card h2{margin:0 0 8px;font-size:1.1rem;display:flex;align-items:center;gap:8px}.step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-text);font-size:.9rem}.preview{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:8px;background:var(--bg)}label{display:block;margin-top:12px;font-weight:600;font-size:.9rem}input{display:block;width:100%;margin-top:4px;padding:10px 12px;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-weight:400}input[type=file]{display:none}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}button,.button{display:inline-block;margin:0;font:inherit;font-weight:600;cursor:pointer;padding:10px 16px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text)}button.secondary{background:transparent;color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}.status{color:var(--accent);font-weight:600}.error{color:var(--danger);font-weight:600}.replacement{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:8px}.replacement.found{border-color:var(--warn)}.replacement p{margin:0 0 8px}.replacement a{color:var(--accent)}.warning{color:var(--warn);font-size:.9rem;margin:6px 0 0}.identified{margin-top:12px}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid currentColor}.badge.haute,.badge.exact,.badge.marque,.badge.destination{color:var(--ok)}.badge.moyenne,.badge.similaire{color:var(--warn)}.badge.faible{color:var(--danger)}.offers{list-style:none;padding:0;margin:0;display:grid;gap:8px}.offers a{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:8px;color:inherit;text-decoration:none}.offers a:hover{border-color:var(--accent)}.offers .price{font-weight:700;color:var(--accent)}.offers .title{grid-column:2 / -1;color:var(--muted);font-size:.9rem}.offers .badges{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:6px}.badge.kind{color:var(--muted)}.offers .thumb{grid-row:span 3;width:56px;height:56px;object-fit:contain;border-radius:6px;background:#fff}.offers span.thumb{background:var(--bg)}
