*{box-sizing:border-box}:root{--bg:#f0fdfa;--surface:#fff;--text:#134e4a;--muted:#64748b;--primary:#0d9488;--primary-dark:#0f766e;--border:#99f6e4}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.container{max-width:1160px;margin:0 auto;padding:24px}.card{background:var(--surface);border-radius:14px;padding:18px;margin-bottom:16px;border:1px solid var(--border);box-shadow:0 6px 18px rgba(13,148,136,.08)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.badge{padding:6px 10px;border-radius:16px;font-weight:600;font-size:12px}.engine-badge{border:1px solid transparent}.engine-nlp{background:#d9f99d;color:#1f2937;border-color:#86efac}.engine-clamp{background:#fde68a;color:#1f2937;border-color:#fcd34d}.engine-ctakes{background:#fbcfe8;color:#1f2937;border-color:#f9a8d4}.engine-fuzzy{background:#bfdbfe;color:#1f2937;border-color:#93c5fd}.engine-llm{background:#ddd6fe;color:#1f2937;border-color:#c4b5fd}.engine-conflict{background:#ef4444;color:#fff;border-color:#dc2626}.badge-code{background:#ecfeff;color:#0f766e;border:1px solid #99f6e4;margin-right:6px;display:inline-block}.agree{color:#166534;font-weight:700}.disagree{color:#991b1b;font-weight:700}.ok{background:#e3f9e5;color:#1f7a38}.mid{background:#fff5d9;color:#8d5f00}.low{background:#ffe3e3}.low,.manual{color:#a61b1b}.manual{font-weight:700}.table{width:100%;border-collapse:collapse;font-size:14px}.table td,.table th{border:1px solid #ccfbf1;padding:8px;text-align:left;vertical-align:top}.table th{background:#ecfeff}.overlay{line-height:1.8;background:#f8fffe;padding:12px;border-radius:8px;white-space:pre-wrap;border:1px dashed var(--border)}.hl{border-radius:4px;padding:0 2px;cursor:help}.hl-nlp{background:#d9f99d}.hl-fuzzy{background:#bfdbfe}.hl-clamp{background:#fde68a}.hl-ctakes{background:#fbcfe8}.hl-conflict{background:#ef4444;color:#fff}.llm-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}button{border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:#fff;padding:8px 12px;cursor:pointer}button:hover{background:var(--primary-dark)}.action-btn{background:#fff;color:var(--text);border:1px solid var(--border)}.action-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}input[type=text],select,textarea{border:1px solid #99f6e4;border-radius:8px;padding:8px;width:100%;color:var(--text)}.muted{color:var(--muted)}