body{color:#1a1a1a;background:#fafafa;margin:0;font-family:system-ui,-apple-system,sans-serif}.app{max-width:900px;margin:0 auto;padding:32px 16px 64px;font-family:system-ui,-apple-system,sans-serif}h1{margin-bottom:0}.subtitle{color:#666;margin-top:4px}.panel{border:1px solid #ddd;border-radius:12px;margin-top:24px;padding:20px}.panel h2{margin-top:0}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.picker{cursor:pointer;background:#fff;border:1px solid #aaa;border-radius:8px;padding:8px 14px;font-size:14px;display:inline-block}.picker input{display:none}button{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:8px;padding:8px 18px;font-size:14px}button:disabled{cursor:not-allowed;background:#9db8e8}.segmented{border:1px solid #aaa;border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{color:#1a73e8;background:#fff;border-radius:0}.segmented button.active{color:#fff;background:#1a73e8}.badge{color:#1e8449;background:#d4efdf;border-radius:6px;margin-right:6px;padding:1px 6px;font-size:10px;display:inline-block}.filename{color:#444;word-break:break-all;font-size:13px}.error{color:#c0392b}.muted{color:#888}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.card{border:1px solid #eee;border-radius:10px;margin:0;overflow:hidden}.card img{object-fit:cover;background:#f0f0f0;width:100%;height:140px;display:block}.card figcaption{color:#444;justify-content:space-between;gap:8px;padding:8px;font-size:12px;display:flex}.exact{color:#1e8449;font-weight:600}.near{color:#b9770e}
