:root{--bg:#f5f6f8;--surface:#fff;--border:#d9dce1;--text:#1f2430;--text-muted:#5c6472;--accent:#1f5fb2;--accent-dark:#164a8c;--high:#b4231c;--high-bg:#fdecec;--medium:#9a6700;--medium-bg:#fbf3df;--low:#4b5563;--low-bg:#eef0f3;--radius:8px;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018281a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.app{max-width:820px;margin:0 auto;padding:2rem 1rem 4rem}.app-header h1{letter-spacing:-.01em;margin:0;font-size:1.75rem}.app-subtitle{color:var(--text-muted);margin:.25rem 0 1.25rem}.meta-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);box-shadow:var(--shadow);flex-wrap:wrap;gap:.25rem 1.25rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.meta-bar-muted{color:var(--text-muted);font-style:italic}.meta-item strong{color:var(--text);font-weight:600}.disclaimer{border-radius:var(--radius);color:#6b5400;background:#fff8e6;border:1px solid #f0d98c;margin:1rem 0;padding:.75rem 1rem;font-size:.875rem}.search-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:1rem 0 1.5rem;padding:1.25rem}.search-fields{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.field{flex-direction:column;gap:.35rem;display:flex}.field-label{color:var(--text-muted);font-size:.8rem;font-weight:600}.field input{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;padding:.55rem .7rem;font-size:.95rem}.field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1f5fb226}.search-actions{align-items:center;gap:.75rem;margin-top:1rem;display:flex}.search-actions button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.55rem 1.4rem;font-size:.95rem;font-weight:600;transition:background .15s}.search-actions button:hover:not(:disabled){background:var(--accent-dark)}.search-actions button:disabled{opacity:.55;cursor:not-allowed}.hint{color:var(--text-muted);font-size:.8rem}.alert{border-radius:var(--radius);margin:.75rem 0;padding:.75rem 1rem;font-size:.9rem}.alert-error{background:var(--high-bg);color:var(--high);border:1px solid #f2b8b5}.results{margin-top:1rem}.results-status{text-align:center;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:1.25rem}.results-count{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.results-items{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.result-card.is-expanded{border-color:var(--accent)}.result-head{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.result-head:hover{background:#fafbfc}.result-head-main{align-items:center;gap:.6rem;min-width:0;display:flex}.result-name{font-size:1.02rem;font-weight:600}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.badge-individual{color:var(--accent-dark);background:#e7f0fb}.badge-entity{color:#216e39;background:#eef7ee}.score{white-space:nowrap;border-radius:6px;padding:.2rem .6rem;font-size:.8rem;font-weight:700;display:inline-block}.score-high{background:var(--high-bg);color:var(--high)}.score-medium{background:var(--medium-bg);color:var(--medium)}.score-low{background:var(--low-bg);color:var(--low)}.result-meta{color:var(--text-muted);flex-wrap:wrap;gap:.25rem 1rem;padding:0 1.1rem .9rem;font-size:.82rem;display:flex}.result-detail{border-top:1px solid var(--border);background:#fafbfc;padding:1rem 1.1rem}.detail-grid{flex-direction:column;gap:.75rem;display:flex}.detail-row{flex-direction:column;gap:.2rem;display:flex}.detail-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.75rem;font-weight:700}.detail-list{margin:0;padding-left:1.1rem;font-size:.9rem}@media (width<=640px){.search-fields{grid-template-columns:1fr}.result-head{flex-direction:column;align-items:flex-start;gap:.5rem}}
