.catalog-banner[data-v-1aacd9a3]{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px;padding:16px 18px;border:1px solid #dce5df;border-radius:12px;background:linear-gradient(135deg,#f7fbf8,#eef7f2)}.catalog-banner h2[data-v-1aacd9a3]{margin:0 0 6px}.catalog-banner p[data-v-1aacd9a3]{margin:0;color:#5d6b63;font-size:14px}.catalog-badge[data-v-1aacd9a3]{align-self:center;padding:6px 10px;border-radius:999px;background:#d8f0e0;color:#2f6b4f;font-size:12px;font-weight:700}.kind-switch[data-v-1aacd9a3]{display:inline-flex;gap:8px;padding:4px;margin-bottom:16px;border-radius:999px;background:#edf2ef}.kind-tab[data-v-1aacd9a3]{border:none;border-radius:999px;padding:8px 14px;background:transparent;color:#55615a;cursor:pointer;font-size:13px}.kind-tab.active[data-v-1aacd9a3]{background:#1f4d3a;color:#fff}.list-section[data-v-1aacd9a3]{margin-bottom:30px}.tool-card[data-v-1aacd9a3]{display:block;padding:14px 16px;border:1px solid #d8ddd9;border-radius:12px;margin-bottom:10px;background:#fff}.tool-info[data-v-1aacd9a3]{display:flex;flex-direction:column;gap:4px}.tool-title-row[data-v-1aacd9a3]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tool-info span[data-v-1aacd9a3]{color:#666;font-size:13px}.tool-pill[data-v-1aacd9a3]{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.tool-pill-static[data-v-1aacd9a3]{background:#e4f1ec;color:#2f6b4f}.tool-pill-dynamic[data-v-1aacd9a3]{background:#ece5fb;color:#5c4b92}.tool-pill-active[data-v-1aacd9a3]{background:#d8f0e0;color:#2f6b4f}.tool-pill-planned[data-v-1aacd9a3]{background:#efe9d9;color:#8a6d1d}.empty[data-v-1aacd9a3]{color:#999;font-style:italic}.error[data-v-1aacd9a3]{color:#e53935;margin-bottom:12px}.upload-section[data-v-d75acab8]{margin-bottom:30px}.api-key-section[data-v-d75acab8]{margin-bottom:30px;padding:16px;border:1px solid #d9e3dd;border-radius:10px;background:#fbfdfc}.api-key-section h2[data-v-d75acab8]{margin-top:0}.api-key-row[data-v-d75acab8]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 8px}.api-key-input[data-v-d75acab8]{flex:1 1 320px;min-width:260px;padding:10px 12px;border:1px solid #cfd8d3;border-radius:6px;font-size:14px}.model-section[data-v-d75acab8]{margin-bottom:30px;padding:16px;border:1px solid #d5d9d5;border-radius:10px;background:#fafbfa}.model-section h2[data-v-d75acab8]{margin-top:0}.model-row[data-v-d75acab8]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 8px}.model-input[data-v-d75acab8]{flex:1 1 320px;min-width:260px;padding:10px 12px;border:1px solid #cfd8d3;border-radius:6px;font-size:14px;font-family:monospace}.analysis-kind-switch[data-v-d75acab8]{display:inline-flex;gap:8px;padding:4px;margin-bottom:14px;border-radius:999px;background:#edf2ef}.kind-tab[data-v-d75acab8]{border:none;border-radius:999px;padding:8px 14px;background:transparent;color:#55615a;cursor:pointer;font-size:13px}.kind-tab.active[data-v-d75acab8]{background:#1f4d3a;color:#fff}.tool-selection[data-v-d75acab8]{margin-bottom:14px}.tool-selection h3[data-v-d75acab8]{margin:0 0 8px;font-size:15px}.tool-grid[data-v-d75acab8]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool-option[data-v-d75acab8]{display:flex;align-items:center;gap:8px;border:1px solid #ddd;border-radius:6px;padding:8px 10px;font-size:14px}.tool-option.disabled[data-v-d75acab8]{opacity:.55}.hint[data-v-d75acab8]{color:#666;font-size:14px;margin-bottom:12px}.hint code[data-v-d75acab8]{background:#f0f0f0;padding:2px 6px;border-radius:3px}.file-input[data-v-d75acab8]{display:block;margin-bottom:12px;font-size:14px}.btn[data-v-d75acab8]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn[data-v-d75acab8]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-d75acab8]{background:#42b983;color:#fff}.btn-secondary[data-v-d75acab8]{background:#e0e0e0;color:#333}.btn-danger[data-v-d75acab8]{background:#e53935;color:#fff}.results-section[data-v-d75acab8]{margin-top:20px;margin-bottom:30px}.tool-result-section[data-v-d75acab8]{margin-bottom:18px;padding:12px;border:1px solid #e3e3e3;border-radius:8px;background:#fafafa}.tool-result-title[data-v-d75acab8]{margin:0 0 10px;text-transform:uppercase;font-size:13px;letter-spacing:.04em;color:#3d4a43}.tool-result-summary[data-v-d75acab8]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.summary-chip[data-v-d75acab8]{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700}.summary-error[data-v-d75acab8]{background:#ffebee;color:#c62828}.summary-warning[data-v-d75acab8]{background:#fff3e0;color:#e65100}.summary-note[data-v-d75acab8]{background:#e3f2fd;color:#1565c0}.summary-other[data-v-d75acab8]{background:#eceff1;color:#37474f}.meta[data-v-d75acab8]{font-size:13px;color:#888;margin-bottom:12px}.llm-actions[data-v-d75acab8]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.llm-report-box[data-v-d75acab8]{margin-bottom:18px;padding:12px;border:1px solid #d5e4dc;border-radius:8px;background:#f6fbf8}.llm-report-box h3[data-v-d75acab8]{margin:0 0 8px}.llm-report-box pre[data-v-d75acab8]{white-space:pre-wrap;font-size:13px;line-height:1.45;margin:0;background:#fff;border:1px solid #e4ece8;border-radius:6px;padding:12px}.success-box[data-v-d75acab8]{padding:12px 16px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;color:#2e7d32;font-weight:500}.findings-count[data-v-d75acab8]{font-weight:500;margin-bottom:12px}.finding-card[data-v-d75acab8]{padding:12px 16px;border:1px solid #ddd;border-radius:6px;margin-bottom:10px;border-left:4px solid #ccc}.finding-warning[data-v-d75acab8]{border-left-color:#ff9800}.finding-error[data-v-d75acab8]{border-left-color:#e53935}.finding-note[data-v-d75acab8]{border-left-color:#2196f3}.finding-header[data-v-d75acab8]{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:13px}.severity-badge[data-v-d75acab8]{padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase}.badge-warning[data-v-d75acab8]{background:#fff3e0;color:#e65100}.badge-error[data-v-d75acab8]{background:#ffebee;color:#c62828}.badge-note[data-v-d75acab8]{background:#e3f2fd;color:#1565c0}.finding-location[data-v-d75acab8]{font-family:monospace;color:#555}.finding-checker[data-v-d75acab8]{color:#888;font-family:monospace;font-size:12px}.finding-message[data-v-d75acab8]{margin:0;font-size:14px}.raw-output[data-v-d75acab8],.source-output[data-v-d75acab8]{margin-top:16px}.raw-output summary[data-v-d75acab8],.source-output summary[data-v-d75acab8]{cursor:pointer;color:#666;font-size:14px}.raw-output pre[data-v-d75acab8],.source-output pre[data-v-d75acab8]{background:#f5f5f5;padding:12px;border-radius:6px;font-size:12px;overflow-x:auto;max-height:400px;overflow-y:auto}.history-section[data-v-d75acab8]{margin-top:10px}.report-card[data-v-d75acab8]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid #ddd;border-radius:6px;margin-bottom:10px}.report-info[data-v-d75acab8]{display:flex;flex-direction:column;gap:4px}.report-info span[data-v-d75acab8]{color:#666;font-size:13px}.report-tools[data-v-d75acab8]{font-style:italic}.report-ai-flag[data-v-d75acab8]{display:inline-block;font-size:12px;font-weight:600;color:#1f4d3a}.report-actions[data-v-d75acab8]{display:flex;gap:8px}.empty[data-v-d75acab8]{color:#999;font-style:italic}.success-text[data-v-d75acab8]{color:#2e7d32;margin-top:8px}.error[data-v-d75acab8]{color:#e53935;margin-top:8px}.markdown-content[data-v-d75acab8]{line-height:1.6;color:#333}.markdown-content h1[data-v-d75acab8]{font-size:24px;font-weight:600;margin:18px 0 12px;color:#1f4d3a;border-bottom:2px solid #1f4d3a;padding-bottom:8px}.markdown-content h2[data-v-d75acab8]{font-size:20px;font-weight:600;margin:16px 0 10px;color:#2d6a4f}.markdown-content h3[data-v-d75acab8]{font-size:17px;font-weight:600;margin:14px 0 8px;color:#3d7d5c}.markdown-content h4[data-v-d75acab8],.markdown-content h5[data-v-d75acab8],.markdown-content h6[data-v-d75acab8]{font-size:15px;font-weight:600;margin:12px 0 6px;color:#4a8a64}.markdown-content p[data-v-d75acab8]{margin:10px 0}.markdown-content ol[data-v-d75acab8],.markdown-content ul[data-v-d75acab8]{margin:10px 0;padding-left:24px}.markdown-content li[data-v-d75acab8]{margin:4px 0}.markdown-content a[data-v-d75acab8]{color:#1f4d3a;text-decoration:underline;cursor:pointer}.markdown-content code[data-v-d75acab8]{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:13px;color:#c62828}.markdown-content pre[data-v-d75acab8]{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:12px;overflow-x:auto;margin:10px 0;line-height:1.4}.markdown-content pre code[data-v-d75acab8]{background:none;padding:0;color:#333;font-size:12px}.markdown-content blockquote[data-v-d75acab8]{border-left:4px solid #1f4d3a;padding-left:12px;margin:10px 0;color:#666;font-style:italic}.markdown-content table[data-v-d75acab8]{border-collapse:collapse;margin:10px 0;width:100%}.markdown-content td[data-v-d75acab8],.markdown-content th[data-v-d75acab8]{border:1px solid #ddd;padding:8px 12px;text-align:left}.markdown-content th[data-v-d75acab8]{background:#f5f5f5;font-weight:600}.markdown-content hr[data-v-d75acab8]{border:none;height:1px;background:#ddd;margin:16px 0}*{box-sizing:border-box}#app{font-family:Avenir,Helvetica,Arial,sans-serif;max-width:800px;margin:40px auto;padding:0 20px;color:#2c3e50}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid #42b983;padding-bottom:10px}h1{margin:0}.user-box{display:flex;align-items:center;gap:10px}.user-details{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.username{font-size:14px;color:#2c3e50;font-weight:600}.user-meta{font-size:12px;color:#6d6d6d}.logout{border:none;background:#e53935;color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer}.logout:hover{background:#c62828}.tabs{display:flex;gap:0;margin-top:16px;border-bottom:1px solid #ddd}.tab{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;color:#666;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.tab:hover{color:#2c3e50}.tab.active{color:#42b983;border-bottom-color:#42b983;font-weight:600}.content{margin-top:20px}