promptfoo 0.114.2 → 0.114.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/package.json +45 -45
  2. package/dist/src/app/assets/{index-BFUlbBKg.css → index-BguflfND.css} +1 -1
  3. package/dist/src/app/assets/{index-BSd-7AuH.js → index-JOpO2-0M.js} +289 -269
  4. package/dist/src/app/assets/{index.es-6bGkRbdp.js → index.es-CuGBE4f0.js} +1 -1
  5. package/dist/src/app/assets/purify.es-CQJ0hv7W.js +2 -0
  6. package/dist/src/app/assets/{source-map-support-WYRzlfHk.js → source-map-support-JpLAjBvx.js} +1 -1
  7. package/dist/src/app/assets/{sync-CyvfefUB.js → sync-YK0_6IS4.js} +1 -1
  8. package/dist/src/app/index.html +2 -2
  9. package/dist/src/commands/eval.d.ts.map +1 -1
  10. package/dist/src/commands/eval.js +26 -5
  11. package/dist/src/commands/eval.js.map +1 -1
  12. package/dist/src/constants.d.ts +1 -0
  13. package/dist/src/constants.d.ts.map +1 -1
  14. package/dist/src/constants.js +2 -1
  15. package/dist/src/constants.js.map +1 -1
  16. package/dist/src/database/tables.d.ts +22 -0
  17. package/dist/src/database/tables.d.ts.map +1 -1
  18. package/dist/src/envars.d.ts +2 -1
  19. package/dist/src/envars.d.ts.map +1 -1
  20. package/dist/src/envars.js.map +1 -1
  21. package/dist/src/evaluator.d.ts.map +1 -1
  22. package/dist/src/evaluator.js +6 -2
  23. package/dist/src/evaluator.js.map +1 -1
  24. package/dist/src/evaluatorHelpers.d.ts +11 -0
  25. package/dist/src/evaluatorHelpers.d.ts.map +1 -1
  26. package/dist/src/evaluatorHelpers.js +37 -0
  27. package/dist/src/evaluatorHelpers.js.map +1 -1
  28. package/dist/src/globalConfig/accounts.d.ts +1 -0
  29. package/dist/src/globalConfig/accounts.d.ts.map +1 -1
  30. package/dist/src/globalConfig/accounts.js +5 -0
  31. package/dist/src/globalConfig/accounts.js.map +1 -1
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +19 -32
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/matchers.d.ts.map +1 -1
  36. package/dist/src/matchers.js +10 -9
  37. package/dist/src/matchers.js.map +1 -1
  38. package/dist/src/models/eval.d.ts +5 -6
  39. package/dist/src/models/eval.d.ts.map +1 -1
  40. package/dist/src/models/eval.js +6 -13
  41. package/dist/src/models/eval.js.map +1 -1
  42. package/dist/src/providers/bedrock/nova-sonic.d.ts +1 -0
  43. package/dist/src/providers/bedrock/nova-sonic.d.ts.map +1 -1
  44. package/dist/src/providers/bedrock/nova-sonic.js +36 -11
  45. package/dist/src/providers/bedrock/nova-sonic.js.map +1 -1
  46. package/dist/src/providers/google/ai.studio.d.ts +2 -0
  47. package/dist/src/providers/google/ai.studio.d.ts.map +1 -1
  48. package/dist/src/providers/google/ai.studio.js +29 -6
  49. package/dist/src/providers/google/ai.studio.js.map +1 -1
  50. package/dist/src/providers/google/types.d.ts +4 -0
  51. package/dist/src/providers/google/types.d.ts.map +1 -1
  52. package/dist/src/providers/groq.d.ts +1 -1
  53. package/dist/src/providers/index.d.ts +7 -0
  54. package/dist/src/providers/index.d.ts.map +1 -1
  55. package/dist/src/providers/index.js +37 -0
  56. package/dist/src/providers/index.js.map +1 -1
  57. package/dist/src/providers/litellm.d.ts +1 -1
  58. package/dist/src/providers/openai/assistant.d.ts +16 -1
  59. package/dist/src/providers/openai/assistant.d.ts.map +1 -1
  60. package/dist/src/providers/openai/assistant.js +148 -5
  61. package/dist/src/providers/openai/assistant.js.map +1 -1
  62. package/dist/src/providers/openai/responses.d.ts.map +1 -1
  63. package/dist/src/providers/openai/responses.js +10 -8
  64. package/dist/src/providers/openai/responses.js.map +1 -1
  65. package/dist/src/providers/registry.d.ts.map +1 -1
  66. package/dist/src/providers/registry.js +0 -7
  67. package/dist/src/providers/registry.js.map +1 -1
  68. package/dist/src/providers/xai/chat.d.ts +1 -1
  69. package/dist/src/redteam/commands/discover.d.ts +5 -0
  70. package/dist/src/redteam/commands/discover.d.ts.map +1 -1
  71. package/dist/src/redteam/commands/discover.js +42 -4
  72. package/dist/src/redteam/commands/discover.js.map +1 -1
  73. package/dist/src/redteam/commands/generate.d.ts.map +1 -1
  74. package/dist/src/redteam/commands/generate.js +69 -5
  75. package/dist/src/redteam/commands/generate.js.map +1 -1
  76. package/dist/src/redteam/constants.d.ts +4 -4
  77. package/dist/src/redteam/constants.d.ts.map +1 -1
  78. package/dist/src/redteam/constants.js +8 -11
  79. package/dist/src/redteam/constants.js.map +1 -1
  80. package/dist/src/redteam/graders.d.ts.map +1 -1
  81. package/dist/src/redteam/graders.js +0 -2
  82. package/dist/src/redteam/graders.js.map +1 -1
  83. package/dist/src/redteam/index.js +2 -2
  84. package/dist/src/redteam/index.js.map +1 -1
  85. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  86. package/dist/src/redteam/plugins/base.js +1 -0
  87. package/dist/src/redteam/plugins/base.js.map +1 -1
  88. package/dist/src/redteam/plugins/harmful/graders.d.ts.map +1 -1
  89. package/dist/src/redteam/plugins/harmful/graders.js +8 -0
  90. package/dist/src/redteam/plugins/harmful/graders.js.map +1 -1
  91. package/dist/src/redteam/plugins/index.d.ts.map +1 -1
  92. package/dist/src/redteam/plugins/index.js +0 -2
  93. package/dist/src/redteam/plugins/index.js.map +1 -1
  94. package/dist/src/redteam/plugins/intent.js +2 -2
  95. package/dist/src/redteam/plugins/intent.js.map +1 -1
  96. package/dist/src/redteam/plugins/shellInjection.d.ts.map +1 -1
  97. package/dist/src/redteam/plugins/shellInjection.js +50 -13
  98. package/dist/src/redteam/plugins/shellInjection.js.map +1 -1
  99. package/dist/src/redteam/shared.js +1 -1
  100. package/dist/src/redteam/shared.js.map +1 -1
  101. package/dist/src/redteam/types.d.ts +11 -0
  102. package/dist/src/redteam/types.d.ts.map +1 -1
  103. package/dist/src/redteam/util.d.ts +2 -1
  104. package/dist/src/redteam/util.d.ts.map +1 -1
  105. package/dist/src/redteam/util.js +9 -1
  106. package/dist/src/redteam/util.js.map +1 -1
  107. package/dist/src/types/env.d.ts +3 -0
  108. package/dist/src/types/env.d.ts.map +1 -1
  109. package/dist/src/types/env.js +1 -0
  110. package/dist/src/types/env.js.map +1 -1
  111. package/dist/src/types/index.d.ts +281 -0
  112. package/dist/src/types/index.d.ts.map +1 -1
  113. package/dist/src/types/index.js +1 -1
  114. package/dist/src/types/index.js.map +1 -1
  115. package/dist/src/util/config/manage.d.ts +1 -1
  116. package/dist/src/util/config/manage.d.ts.map +1 -1
  117. package/dist/src/util/config/manage.js +6 -2
  118. package/dist/src/util/config/manage.js.map +1 -1
  119. package/dist/src/util/database.d.ts +2 -0
  120. package/dist/src/util/database.d.ts.map +1 -1
  121. package/dist/src/util/readline.d.ts.map +1 -1
  122. package/dist/src/util/readline.js +11 -3
  123. package/dist/src/util/readline.js.map +1 -1
  124. package/dist/src/validators/providers.d.ts +20 -0
  125. package/dist/src/validators/providers.d.ts.map +1 -1
  126. package/dist/src/validators/redteam.d.ts +8 -0
  127. package/dist/src/validators/redteam.d.ts.map +1 -1
  128. package/dist/tsconfig.tsbuildinfo +1 -1
  129. package/package.json +45 -45
  130. package/dist/src/app/assets/purify.es-Ci5xwkH_.js +0 -2
  131. package/dist/src/redteam/plugins/toolDiscoveryMultiTurn.d.ts +0 -23
  132. package/dist/src/redteam/plugins/toolDiscoveryMultiTurn.d.ts.map +0 -1
  133. package/dist/src/redteam/plugins/toolDiscoveryMultiTurn.js +0 -134
  134. package/dist/src/redteam/plugins/toolDiscoveryMultiTurn.js.map +0 -1
  135. package/dist/src/redteam/providers/toolDiscoveryMulti.d.ts +0 -14
  136. package/dist/src/redteam/providers/toolDiscoveryMulti.d.ts.map +0 -1
  137. package/dist/src/redteam/providers/toolDiscoveryMulti.js +0 -167
  138. package/dist/src/redteam/providers/toolDiscoveryMulti.js.map +0 -1
package/dist/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "promptfoo",
3
3
  "description": "LLM eval & testing toolkit",
4
4
  "author": "Ian Webster",
5
- "version": "0.114.2",
5
+ "version": "0.114.4",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "repository": {
@@ -79,33 +79,33 @@
79
79
  }
80
80
  },
81
81
  "peerDependencies": {
82
- "@adaline/anthropic": "1.2.0",
83
- "@adaline/azure": "1.1.1",
84
- "@adaline/gateway": "1.1.0",
85
- "@adaline/google": "1.1.0",
86
- "@adaline/groq": "1.1.1",
87
- "@adaline/open-router": "1.1.0",
88
- "@adaline/openai": "1.3.0",
89
- "@adaline/provider": "1.1.0",
90
- "@adaline/together-ai": "1.1.0",
91
- "@adaline/types": "1.1.0",
92
- "@adaline/vertex": "1.1.0",
93
- "@aws-sdk/client-bedrock-agent-runtime": "^3.812.0",
94
- "@aws-sdk/client-bedrock-runtime": "^3.812.0",
95
- "@aws-sdk/client-sagemaker-runtime": "^3.812.0",
96
- "@aws-sdk/credential-provider-sso": "^3.812.0",
82
+ "@adaline/anthropic": "1.3.0",
83
+ "@adaline/azure": "1.2.0",
84
+ "@adaline/gateway": "1.2.0",
85
+ "@adaline/google": "1.2.0",
86
+ "@adaline/groq": "1.2.0",
87
+ "@adaline/open-router": "1.2.0",
88
+ "@adaline/openai": "1.4.0",
89
+ "@adaline/provider": "1.2.0",
90
+ "@adaline/together-ai": "1.2.0",
91
+ "@adaline/types": "1.2.0",
92
+ "@adaline/vertex": "1.2.0",
93
+ "@aws-sdk/client-bedrock-agent-runtime": "^3.821.0",
94
+ "@aws-sdk/client-bedrock-runtime": "^3.821.0",
95
+ "@aws-sdk/client-sagemaker-runtime": "^3.821.0",
96
+ "@aws-sdk/credential-provider-sso": "^3.821.0",
97
97
  "@azure/identity": "^4.10.0",
98
98
  "@azure/openai-assistants": "^1.0.0-beta.5",
99
- "@fal-ai/client": "^1.4.0",
100
- "@ibm-cloud/watsonx-ai": "^1.6.6",
99
+ "@fal-ai/client": "^1.5.0",
100
+ "@ibm-cloud/watsonx-ai": "^1.6.7",
101
101
  "@ibm-generative-ai/node-sdk": "^3.2.4",
102
102
  "@playwright/browser-chromium": "^1.52.0",
103
- "@smithy/node-http-handler": "^4.0.5",
103
+ "@smithy/node-http-handler": "^4.0.6",
104
104
  "fluent-ffmpeg": "^2.1.3",
105
105
  "google-auth-library": "^9.7.0",
106
- "ibm-cloud-sdk-core": "^5.0.2",
107
- "langfuse": "^3.37.2",
108
- "natural": "^8.0.1",
106
+ "ibm-cloud-sdk-core": "^5.4.0",
107
+ "langfuse": "^3.37.3",
108
+ "natural": "^8.1.0",
109
109
  "node-sql-parser": "^5.3.9",
110
110
  "pdf-parse": "^1.1.1",
111
111
  "playwright": "^1.52.0",
@@ -114,24 +114,24 @@
114
114
  "sharp": "^0.34.2"
115
115
  },
116
116
  "devDependencies": {
117
- "@aws-sdk/client-bedrock-runtime": "^3.812.0",
118
- "@aws-sdk/credential-provider-sso": "^3.812.0",
117
+ "@aws-sdk/client-bedrock-runtime": "^3.821.0",
118
+ "@aws-sdk/credential-provider-sso": "^3.821.0",
119
119
  "@azure/identity": "^4.10.0",
120
- "@eslint/js": "^9.27.0",
121
- "@libsql/client": "^0.15.6",
120
+ "@eslint/js": "^9.28.0",
121
+ "@libsql/client": "^0.15.8",
122
122
  "@swc/cli": "^0.7.7",
123
- "@swc/core": "^1.11.24",
123
+ "@swc/core": "^1.11.29",
124
124
  "@swc/jest": "^0.2.38",
125
125
  "@trivago/prettier-plugin-sort-imports": "^5.2.2",
126
126
  "@types/async": "^3.2.24",
127
127
  "@types/better-sqlite3": "^7.6.13",
128
128
  "@types/cache-manager": "^4.0.6",
129
- "@types/cache-manager-fs-hash": "^0.0.4",
129
+ "@types/cache-manager-fs-hash": "^0.0.5",
130
130
  "@types/cli-progress": "^3.11.6",
131
- "@types/compression": "^1.7.5",
131
+ "@types/compression": "^1.8.0",
132
132
  "@types/cors": "^2.8.18",
133
133
  "@types/debounce": "^1.2.4",
134
- "@types/express": "^5.0.1",
134
+ "@types/express": "^5.0.2",
135
135
  "@types/glob": "^8.1.0",
136
136
  "@types/inquirer": "^9.0.8",
137
137
  "@types/jest": "^29.5.14",
@@ -144,21 +144,21 @@
144
144
  "@types/source-map-support": "^0.5.10",
145
145
  "@types/supertest": "^6.0.3",
146
146
  "@types/uuid": "^10.0.0",
147
- "@typescript-eslint/eslint-plugin": "^8.32.1",
148
- "@typescript-eslint/parser": "^8.32.1",
147
+ "@typescript-eslint/eslint-plugin": "^8.33.0",
148
+ "@typescript-eslint/parser": "^8.33.0",
149
149
  "check-dependency-version-consistency": "^5.0.0",
150
150
  "cloudflare": "3.4.0",
151
151
  "concurrently": "^9.1.2",
152
152
  "drizzle-kit": "^0.31.1",
153
- "eslint": "^9.27.0",
154
- "eslint-plugin-jest": "^28.11.0",
153
+ "eslint": "^9.28.0",
154
+ "eslint-plugin-jest": "^28.12.0",
155
155
  "eslint-plugin-react-hooks": "^5.2.0",
156
156
  "eslint-plugin-react-refresh": "^0.4.20",
157
157
  "eslint-plugin-unicorn": "^59.0.1",
158
158
  "eslint-plugin-unused-imports": "^4.1.4",
159
159
  "jest": "^29.7.0",
160
160
  "madge": "^8.0.0",
161
- "nock": "^14.0.4",
161
+ "nock": "^14.0.5",
162
162
  "nodemon": "^3.1.10",
163
163
  "prettier": "^3.5.3",
164
164
  "shx": "^0.4.0",
@@ -166,14 +166,14 @@
166
166
  "supertest": "^7.1.1",
167
167
  "ts-node": "^10.9.2",
168
168
  "typescript": "^5.8.3",
169
- "typescript-eslint": "^8.32.1",
169
+ "typescript-eslint": "^8.33.0",
170
170
  "zod-to-json-schema": "^3.24.5"
171
171
  },
172
172
  "dependencies": {
173
173
  "@anthropic-ai/sdk": "^0.52.0",
174
174
  "@apidevtools/json-schema-ref-parser": "^12.0.2",
175
- "@googleapis/sheets": "^9.7.0",
176
- "@modelcontextprotocol/sdk": "^1.11.4",
175
+ "@googleapis/sheets": "^9.8.0",
176
+ "@modelcontextprotocol/sdk": "^1.12.1",
177
177
  "@types/ws": "^8.18.1",
178
178
  "ajv": "^8.17.1",
179
179
  "ajv-formats": "^3.0.1",
@@ -193,20 +193,20 @@
193
193
  "debounce": "^2.2.0",
194
194
  "dedent": "^1.6.0",
195
195
  "dotenv": "^16.5.0",
196
- "drizzle-orm": "^0.39.2",
196
+ "drizzle-orm": "^0.39.3",
197
197
  "express": "^4.21.2",
198
198
  "fast-deep-equal": "^3.1.3",
199
- "fast-xml-parser": "^4.5.1",
199
+ "fast-xml-parser": "^4.5.3",
200
200
  "fastest-levenshtein": "^1.0.16",
201
- "glob": "^10.4.3",
201
+ "glob": "^10.4.5",
202
202
  "http-z": "^7.1.3",
203
203
  "inquirer": "^11.1.0",
204
204
  "js-rouge": "^3.0.0",
205
205
  "js-yaml": "^4.1.0",
206
- "mathjs": "^14.4.0",
206
+ "mathjs": "^14.5.2",
207
207
  "node-cache": "^5.1.2",
208
208
  "nunjucks": "^3.2.4",
209
- "openai": "^4.100.0",
209
+ "openai": "^5.0.1",
210
210
  "opener": "^1.5.2",
211
211
  "proxy-agent": "^6.5.0",
212
212
  "proxy-from-env": "^1.1.0",
@@ -217,11 +217,11 @@
217
217
  "semver": "^7.7.2",
218
218
  "socket.io": "^4.8.1",
219
219
  "tsx": "^4.19.4",
220
- "undici": "^7.9.0",
220
+ "undici": "^7.10.0",
221
221
  "uuid": "^11.1.0",
222
222
  "winston": "^3.17.0",
223
223
  "ws": "^8.18.2",
224
- "zod": "^3.24.4",
224
+ "zod": "^3.25.46",
225
225
  "zod-validation-error": "^3.4.1"
226
226
  },
227
227
  "madge": {
@@ -1 +1 @@
1
- .nav{padding:.25rem 0 .25rem 1rem;gap:1rem;background-color:#333;margin-bottom:1rem;box-shadow:0 4px 6px #0000001a}[data-theme=dark] .nav{background-color:#121212}.nav a{text-decoration:none;align-self:center}@media (max-width: 760px){.nav{font-size:.75rem}}.nav .active{font-weight:700}.nav a{color:#f0f0f0}.nav .right-aligned{display:flex;align-items:center;gap:1rem;margin-left:auto;margin-right:.5rem}.nav a:hover{text-decoration:underline}.nav a:hover{color:#ddd}.prompt-var-highlight{background-color:var(--prompt-highlight-color);padding:.25rem;border-radius:4px}.editor-container{position:relative;border:1px solid #ccc;border-radius:4px;overflow:hidden}.glowing-border{border-color:#1976d2;box-shadow:0 0 5px #1976d280;transition:border-color .2s ease,box-shadow .2s ease}.editor-readonly{background-color:#00000008;cursor:not-allowed}.editor-container pre{margin:0}.editing-indicator{position:absolute;top:10px;right:40px;font-size:12px;color:#1976d2;background-color:#ffffffd9;padding:2px 8px;border-radius:4px;z-index:1;box-shadow:0 1px 3px #0000001a}code[class*=language-],pre[class*=language-]{color:#000;background:none;text-shadow:0 1px white;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#9a6e3a;background:#ffffff80}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function,.token.class-name{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.yaml-config{font-size:10px}.custom-metric-container{display:inline-flex;flex-wrap:wrap;gap:.25rem;font-weight:400}.custom-metric-container>span{padding:.25rem .5rem;border-radius:4px;color:var(--text-color);border:1px solid var(--border-color);margin-right:.25rem;transition:all .15s ease-in-out}.custom-metric-container>span.clickable{cursor:pointer;background-color:var(--custom-darkOverlay, rgba(0, 0, 0, .05));color:var(--link-color)}.custom-metric-container>span.clickable:hover{background-color:var(--custom-lightOverlay, rgba(0, 0, 0, .08));transform:translateY(-1.5px);box-shadow:0 3px 6px -2px #00000026;border-color:var(--link-color)}[data-theme=dark] .custom-metric-container>span.clickable{background-color:var(--custom-darkOverlay, rgba(255, 255, 255, .08))}[data-theme=dark] .custom-metric-container>span.clickable:hover{background-color:var(--custom-lightOverlay, rgba(255, 255, 255, .15));box-shadow:0 3px 6px -2px #0000004d}.fail-reason-carousel-controls{float:right;color:var(--text-color);font-weight:400}pre{white-space:pre-wrap}.font-bold{font-weight:700}table.results-table,.divTable{border-collapse:collapse;width:100%;margin:1rem 0;background-color:#fff}[data-theme=dark] table.results-table,[data-theme=dark] .divTable{background-color:#1a1a1a}.results-table ins{background-color:var(--insert-highlight-color);text-decoration:none}.results-table del{background-color:var(--delete-highlight-color);text-decoration:strikethrough}.tr{display:flex}.results-table tr,.tr{width:fit-content}.results-table tr:hover,.tr:hover{background-color:#00000005}.results-table th,.th,.results-table td,.td{position:relative;border:1px solid var(--border-color);vertical-align:top}.compact.results-table th,.compact .th,.compact.results-table td,.compact .td{padding:.5rem}.results-table th.variable,.th.variable,.results-table td.variable,.td.variable{background-color:var(--variable-background-color)}.variable .cell{max-height:100%;overflow-y:auto}.results-table tr.header{background-color:var(--header-background-color)}.results-table th,.th{padding:1rem;position:relative;vertical-align:bottom;text-align:left;white-space:pre-wrap;font-weight:400}.results-table th .action{cursor:pointer;margin-left:.5rem}.results-table th .action svg{vertical-align:middle}.results-table td,.results-table th{height:1px}@-moz-document url-prefix(){.results-table td,.results-table th{height:100%}}.firefox-fix{display:table;height:100%}.results-table tr .cell{display:flex;flex-direction:column;white-space:pre-wrap;height:100%;padding:1rem}.results-table tr .cell img{max-width:var(--max-image-width, 256px);max-height:var(--max-image-height, 256px);cursor:zoom-in}.results-table tr .cell .prompt{background-color:var(--variable-background-color);border:1px solid var(--border-color);padding:1rem;border-radius:4px;margin-bottom:.5rem;font-family:Courier New,Courier,monospace;font-size:.8rem}.results-table tr .cell .prompt .pill{display:block;background-color:var(--neutral-background-color);border:1px solid var(--border-color);border-radius:4px;padding:.25rem;width:fit-content;margin-bottom:.5rem}.results-table tr .cell-actions{display:flex;gap:.5rem;visibility:hidden;position:absolute;top:1.25rem;right:.75rem;line-height:0;font-size:1.25rem}.results-table .first-prompt-col:hover .cell-actions,.results-table .second-prompt-column:hover .cell-actions{visibility:visible}.results-table tr .cell-actions .action.active{visibility:visible!important}.results-table tr .cell-detail{display:flex;flex-wrap:wrap;column-gap:.5rem;row-gap:.25rem;padding-top:1rem;margin-top:auto}.results-table tr .stat-item{font-weight:400;font-size:.75rem;color:#888}.results-table tr .cell-actions .action{cursor:pointer}.results-table tr .cell-actions .action.active span{filter:saturate(1.5)}.results-table tr .cell table{width:100%;border-collapse:collapse;margin:1rem 0}.results-table tr .cell table th,.results-table tr .cell table td{border:1px solid var(--border-color);padding:.5rem;text-align:left}.results-table tr .cell table th{background-color:var(--header-background-color);font-weight:700}.results-table tr .cell table tr:nth-child(2n){background-color:var(--row-background-color)}.results-table tr .cell table tr:hover{background-color:var(--hover-background-color)}.results-table th .output-header{display:flex;flex-direction:column;height:100%;align-items:flex-start}.results-table th .output-header .pills{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;margin-bottom:.5rem}.results-table th .prompt-container{font-weight:700;margin-bottom:.5rem}.results-table th .prompt-container>*{display:inline}.results-table th .provider,.results-table .status .provider{display:inline-block;padding:.25rem .5rem;background-color:var(--neutral-background-color);border:1px solid var(--border-color);border-radius:4px;margin-right:.25rem}.results-table th .summary{font-weight:400}.results-table th .prompt-detail{display:flex;flex-wrap:wrap;column-gap:.5rem;row-gap:.25rem;font-size:.75rem;color:#888;margin-top:auto}.results-table th .summary .highlight{padding:.25rem .5rem;border-radius:4px;background-color:var(--fail-background-color);border:1px solid var(--border-color);transition:background-color .2s ease}.results-table th .summary .highlight.success-0{background-color:var(--fail-background-color)}.results-table th .summary .highlight.success-20{background-color:color-mix(in srgb,var(--fail-background-color) 80%,var(--success-background-color) 20%)}.results-table th .summary .highlight.success-40{background-color:color-mix(in srgb,var(--fail-background-color) 60%,var(--success-background-color) 40%)}.results-table th .summary .highlight.success-60{background-color:color-mix(in srgb,var(--fail-background-color) 40%,var(--success-background-color) 60%)}.results-table th .summary .highlight.success-80{background-color:color-mix(in srgb,var(--fail-background-color) 20%,var(--success-background-color) 80%)}.results-table th .summary .highlight.success-100{background-color:var(--success-background-color);border:1px solid var(--pass-color)}.results-table .status{display:flex;flex-direction:column;gap:.25rem;font-weight:700;margin-bottom:.5rem}.results-table .status .status-row{display:flex;flex-direction:row;gap:.5rem;align-items:center;flex-wrap:wrap}.results-table .status .pill,.results-table .status .provider.pill{display:inline-flex;align-self:flex-start;align-items:center;padding:.5rem;border-radius:4px;font-size:.9em;height:24px}.results-table .status .provider.pill{background-color:var(--neutral-background-color);border:1px solid var(--border-color);color:inherit;font-weight:700}.results-table .pass .pill:not(.provider){background-color:var(--success-background-color);color:var(--pass-color);border:1px solid var(--pass-color)}.results-table .fail .pill:not(.provider){background-color:var(--fail-background-color);border:1px solid var(--fail-color)}.results-table .fail{color:var(--fail-color)}.fail-reason{color:var(--fail-color);font-weight:700}.compact .fail-reason{display:inline}.results-table .fail .pill{white-space:nowrap;background-color:var(--fail-background-color)}.results-table td .score{font-weight:400}.results-table .comment{margin-top:.5rem;padding:.25rem .5rem;border-radius:4px;background-color:var(--neutral-background-color);font-style:italic;cursor:pointer}.results-table td.first-prompt-col{border-left:2px solid #888}.results-table td.first-prompt-row{border-top:2px solid #888}.search-highlight{color:var(--search-text-color);background-color:var(--search-highlight-color)}.results-table tr .cell .lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.results-table tr .cell .lightbox img{max-width:90%;max-height:90%;cursor:zoom-out;background:#fff;border-radius:4px}[data-theme=dark] .results-table tr .cell .lightbox img{background:#333}.resizer{position:absolute;right:0;top:0;height:100%;width:5px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:var(--text-color);opacity:.5}.resizer.isResizing{background:var(--text-color);opacity:1}@media (hover: hover){.resizer{opacity:0}*:hover>.resizer{opacity:1}}.results-table thead.sticky{position:sticky;top:0;z-index:100;transition:transform .2s ease-out}[data-theme=dark] .results-table thead.sticky{background:#1a1a1a}.header-dismiss{position:absolute;top:8px;right:8px;cursor:pointer;z-index:101;padding:4px;border-radius:4px;background:#eee;display:none}[data-theme=dark] .header-dismiss{background:#333}.header-dismiss:hover{background:#ddd}[data-theme=dark] .header-dismiss:hover{background:#444}thead.collapsed .header-dismiss{display:block}.results-table thead.collapsed .prompt-detail,.results-table thead.collapsed .custom-metric-container{display:none}.results-table thead.collapsed .MuiFormControlLabel-root{margin-top:-8px}.results-table{border-collapse:separate;border-spacing:0}.results-table thead.collapsed th{padding-top:4px;padding-bottom:4px}.results-table thead th{transition:padding .2s ease-out}.results-table thead .output-header{transition:max-height .2s ease-out}.results-table thead.collapsed{border-bottom:2px solid var(--border-color);box-shadow:0 2px 4px #0000001a}.results-table th{background:#fff;box-shadow:0 1px 2px #0000001a}[data-theme=dark] .results-table th{background:#1a1a1a}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;cursor:pointer}.lightbox img{max-width:90%;max-height:90%;object-fit:contain;background:#fff;border-radius:4px}[data-theme=dark] .lightbox img{background:#333}.error-pill{cursor:pointer}.results-table .provider.pill{background-color:var(--neutral-background-color);border:1px solid var(--border-color);color:inherit;font-weight:700;display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.9em;height:24px;line-height:1}.audio-output{margin:1rem 0}.audio-output audio{margin-bottom:.5rem}.audio-output .transcript{font-size:.9rem;color:var(--ifm-color-emphasis-700);line-height:1.4;white-space:pre-wrap}.description{cursor:pointer;transition:background-color .3s ease}.description:hover{background-color:#f0f0f0}[data-theme=dark] .description:hover{background-color:#2a2a2a}.eval-header{display:flex;align-items:center;flex-grow:1}.eval-header strong{font-weight:500}body{background-color:var(--background-color);color:var(--text-color)}.notice{display:flex;flex-direction:column;gap:1.5rem;justify-content:center;align-items:center;height:9rem}.framework-compliance-card{transition:box-shadow .3s ease-in-out;border-radius:12px;overflow:hidden;background-color:#f5f5f5}.framework-compliance-card:hover{box-shadow:0 8px 16px #0000001a}.compliance-summary{text-align:center;margin-bottom:32px;padding:24px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.framework-grid{margin-top:24px}.framework-item{height:100%;transition:transform .2s ease,box-shadow .3s ease;border-radius:8px;overflow:hidden}.framework-item:hover{box-shadow:0 4px 12px #00000026}.framework-item.compliant{background-color:#f8fbf8}.framework-item.non-compliant{background-color:#fef8f8}.icon-compliant{color:#4caf50;font-size:24px}.icon-non-compliant{color:#f44336;font-size:24px}.severity-critical{background-color:#d32f2f1a;border-left:4px solid #d32f2f}.severity-high{background-color:#f57c001a;border-left:4px solid #f57c00}.severity-medium{background-color:#fbc02d1a;border-left:4px solid #fbc02d}.severity-low{background-color:#7cb3421a;border-left:4px solid #7cb342}.plugin-list-container{background-color:#00000005;border-radius:4px;margin-top:8px;overflow:hidden}.plugin-toggle-header{cursor:pointer;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;background-color:#0000000d;transition:background-color .2s ease}.plugin-toggle-header:hover{background-color:#00000014}.plugin-item{border-bottom:1px solid rgba(0,0,0,.03);transition:background-color .2s ease}.plugin-item:last-child{border-bottom:none}.plugin-item:hover{background-color:#0000000a}.plugin-pass-rate{font-weight:700;padding:2px 6px;border-radius:10px;font-size:11px;min-width:24px;text-align:center}[data-theme=dark] .framework-compliance-card{background-color:#1e1e1e}[data-theme=dark] .compliance-summary{background-color:#2a2a2a}[data-theme=dark] .framework-item.compliant{background-color:#4caf500d}[data-theme=dark] .framework-item.non-compliant{background-color:#f443360d}[data-theme=dark] .framework-compliance-card:hover,[data-theme=dark] .framework-item:hover{box-shadow:0 8px 16px #ffffff1a}[data-theme=dark] .plugin-toggle-header{background-color:#ffffff0d}[data-theme=dark] .plugin-toggle-header:hover{background-color:#ffffff14}[data-theme=dark] .plugin-item{border-bottom:1px solid rgba(255,255,255,.03)}[data-theme=dark] .plugin-item:hover{background-color:#ffffff0a}.framework-item .MuiList-root{padding-top:0;padding-bottom:0}.framework-item .MuiListItem-root{padding-top:4px;padding-bottom:4px}.framework-item .MuiListItemIcon-root{min-width:24px}.framework-item .MuiListItemText-root{margin-top:0;margin-bottom:0}.framework-item .MuiTooltip-tooltip{font-size:12px}.framework-item .MuiChip-root{font-size:11px;height:22px}.severity-card{transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.severity-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a;cursor:pointer}[data-theme=dark] .severity-card:hover{box-shadow:none}.card-critical{border-left:5px solid #ff1744!important}.card-high{border-left:5px solid #ff9100!important}.card-medium{border-left:5px solid #ffc400!important}.card-low{border-left:5px solid #00e676!important}.risk-category-drawer .MuiListItem-root.failure-item{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;padding:16px;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.risk-category-drawer .MuiListItem-root.failure-item:hover{border-color:#bdbdbd;box-shadow:0 4px 8px #0000001a}.risk-category-drawer .prompt{font-weight:500;margin-bottom:8px;word-break:break-word;max-width:100%;overflow-wrap:break-all}.risk-category-drawer .output{color:#555;white-space:pre-wrap;word-break:break-word;max-height:100px;overflow-y:auto;overflow-wrap:break-all;background-color:#f5f5f5;padding:8px;border-radius:4px}.risk-category-drawer .failed-tests-header{margin-top:8px;margin-bottom:8px;font-weight:500;border-top:2px solid #e0e0e0;padding-top:1.5rem}[data-theme=dark] .risk-category-drawer .MuiListItem-root.failure-item{border-color:#424242;background-color:#2c2c2c;box-shadow:0 2px 4px #0003}[data-theme=dark] .risk-category-drawer .MuiListItem-root.failure-item:hover{border-color:#616161;box-shadow:0 4px 8px #0000004d}[data-theme=dark] .risk-category-drawer .prompt{color:#e0e0e0}[data-theme=dark] .risk-category-drawer .output{color:#b0b0b0;background-color:#1e1e1e}[data-theme=dark] .risk-category-drawer .failed-tests-header{color:#e0e0e0;border-top-color:#424242}.risk-card-container{padding-top:3rem;padding-bottom:3rem}.risk-card-title{font-weight:700}.risk-card-progress{margin-bottom:1rem}.risk-card-issues{color:red}.risk-card-list-item{padding:4px 8px;transition:background-color .3s,box-shadow .3s,transform .15s;border-radius:4px;margin-bottom:4px;border:1px solid transparent}.risk-card-list-item:hover{background-color:#f0f8ff;box-shadow:0 2px 4px #0000001a;border-radius:4px;border:1px solid #add8e6;transform:translate(2px)}[data-theme=dark] .risk-card-list-item:hover{background-color:#2a2a2a;box-shadow:0 2px 4px #0000004d;border-radius:4px;border:1px solid #555555}.risk-card-icon-passed{color:green;font-size:16px}.risk-card-icon-failed{color:red;font-size:16px}.risk-card-icon-no-tests{color:#888;font-size:16px}.risk-card-expand-icon{color:#999;font-size:12px!important;margin-left:8px;opacity:.6;transition:opacity .3s,transform .3s}.risk-card-list-item:hover .risk-card-expand-icon{opacity:1;transform:translate(2px)}.risk-card-percentage{margin-left:8px;font-weight:700}.risk-card-percentage-high{color:#4caf50}.risk-card-percentage-medium{color:#ff9800}.risk-card-percentage-low{color:#f44336}[data-theme=dark] .risk-card-percentage-high{color:#81c784}[data-theme=dark] .risk-card-percentage-medium{color:#ffb74d}[data-theme=dark] .risk-card-percentage-low{color:#e57373}.asr-low{color:green!important}.asr-medium{color:#cb8503!important}.asr-high{color:red!important}.vuln-critical{color:red!important;font-weight:700!important}.vuln-high{color:red!important}.vuln-medium{color:#cb8503!important}.vuln-low{color:green!important}.report-header{padding:24px;border-radius:12px;box-shadow:0 4px 6px #0000001a}[data-theme=dark] .report-header{box-shadow:none}.report-details{display:flex;flex-wrap:wrap;gap:12px}.report-details .MuiChip-root{font-size:.875rem}.dark-syntax{color:#e0e0e0}.dark-syntax .token.comment,.dark-syntax .token.prolog,.dark-syntax .token.doctype,.dark-syntax .token.cdata{color:#666}.dark-syntax .token.property,.dark-syntax .token.tag,.dark-syntax .token.boolean,.dark-syntax .token.number,.dark-syntax .token.constant,.dark-syntax .token.symbol{color:#7ec699}.dark-syntax .token.selector,.dark-syntax .token.string,.dark-syntax .token.char,.dark-syntax .token.builtin{color:#98c379}.dark-syntax .token.operator,.dark-syntax .token.entity,.dark-syntax .token.url,.dark-syntax .token.variable{color:#61afef}.dark-syntax .token.atrule,.dark-syntax .token.attr-value,.dark-syntax .token.keyword{color:#c678dd}.dark-syntax .token.function{color:#e06c75}.dark-syntax .token.regex,.dark-syntax .token.important{color:#f2c88c}.dark-syntax .token.important,.dark-syntax .token.bold{font-weight:700}.dark-syntax .token.italic{font-style:italic}.token{background:none!important;text-shadow:none!important}.dark-syntax .token.method{color:#e06c75}.dark-syntax .token.header{color:#61afef}.dark-syntax .token.path{color:#98c379}.dark-syntax .token.host{color:#7ec699}.page-content{padding:0;margin-top:-15px}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-style:normal;font-weight-normal:400;font-weight-bold:700;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--background-color: #f5f5f5;--text-color: #404040;--link-color: #2e6585;--border-color: lightgray;--table-border-color: lightgray;--pass-color: green;--fail-color: #ad0000;--success-background-color: #d1ffd7;--fail-background-color: #ffd1d1;--neutral-background-color: #eee;--variable-background-color: #f7f7f7;--header-background-color: #fffdf7;--insert-highlight-color: #d4fcbc;--delete-highlight-color: #fbb6c2;--prompt-highlight-color: linen;--textarea-background-color: #ffffff;--textarea-color: #404040;--search-highlight-color: #ffff00;--search-text-color: inherit}[data-theme=dark]{--background-color: #1a1a1a;--text-color: #f0f0f0;--link-color: #6fcaff;--border-color: #444444;--table-border-color: #444444;--pass-color: #b1e9b3;--fail-color: #ee726a;--success-background-color: #216d2b;--fail-background-color: #6d2121;--neutral-background-color: #424242;--variable-background-color: #333;--header-background-color: #333;--insert-highlight-color: #4f8a34;--delete-highlight-color: #8a3434;--prompt-highlight-color: #67605a;--textarea-background-color: #2d2d2d;--textarea-color: #fff;--search-highlight-color: #ffff00;--search-text-color: #404040}html{font-size:16px;background-color:var(--background-color);color:var(--text-color)}body{margin:0}a{color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline}textarea{background-color:var(--textarea-background-color);color:var(--textarea-color);padding:.5em;border:1px solid var(--border-color);border-radius:.25em;resize:vertical}*{box-sizing:border-box}
1
+ .nav{padding:.25rem 0 .25rem 1rem;gap:1rem;background-color:#333;margin-bottom:1rem;box-shadow:0 4px 6px #0000001a}[data-theme=dark] .nav{background-color:#121212}.nav a{text-decoration:none;align-self:center}@media (max-width: 760px){.nav{font-size:.75rem}}.nav .active{font-weight:700}.nav a{color:#f0f0f0}.nav .right-aligned{display:flex;align-items:center;gap:1rem;margin-left:auto;margin-right:.5rem}.nav a:hover{text-decoration:underline}.nav a:hover{color:#ddd}.prompt-var-highlight{background-color:var(--prompt-highlight-color);padding:.25rem;border-radius:4px}.editor-container{position:relative;border:1px solid #ccc;border-radius:4px;overflow:hidden}.glowing-border{border-color:#1976d2;box-shadow:0 0 5px #1976d280;transition:border-color .2s ease,box-shadow .2s ease}.editor-readonly{background-color:#00000008;cursor:not-allowed}.editor-container pre{margin:0}.editing-indicator{position:absolute;top:10px;right:40px;font-size:12px;color:#1976d2;background-color:#ffffffd9;padding:2px 8px;border-radius:4px;z-index:1;box-shadow:0 1px 3px #0000001a}code[class*=language-],pre[class*=language-]{color:#000;background:none;text-shadow:0 1px white;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#9a6e3a;background:#ffffff80}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function,.token.class-name{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.yaml-config{font-size:10px}.custom-metric-container{display:inline-flex;flex-wrap:wrap;gap:.25rem;font-weight:400}.custom-metric-container>span{padding:.25rem .5rem;border-radius:4px;color:var(--text-color);border:1px solid var(--border-color);margin-right:.25rem;transition:all .15s ease-in-out}.custom-metric-container>span.clickable{cursor:pointer;background-color:var(--custom-darkOverlay, rgba(0, 0, 0, .05));color:var(--link-color)}.custom-metric-container>span.clickable:hover{background-color:var(--custom-lightOverlay, rgba(0, 0, 0, .08));transform:translateY(-1.5px);box-shadow:0 3px 6px -2px #00000026;border-color:var(--link-color)}[data-theme=dark] .custom-metric-container>span.clickable{background-color:var(--custom-darkOverlay, rgba(255, 255, 255, .08))}[data-theme=dark] .custom-metric-container>span.clickable:hover{background-color:var(--custom-lightOverlay, rgba(255, 255, 255, .15));box-shadow:0 3px 6px -2px #0000004d}.fail-reason-carousel-controls{float:right;color:var(--text-color);font-weight:400}pre{white-space:pre-wrap}.font-bold{font-weight:700}table.results-table,.divTable{border-collapse:collapse;width:100%;margin:1rem 0;background-color:#fff}[data-theme=dark] table.results-table,[data-theme=dark] .divTable{background-color:#1a1a1a}.results-table ins{background-color:var(--insert-highlight-color);text-decoration:none}.results-table del{background-color:var(--delete-highlight-color);text-decoration:strikethrough}.tr{display:flex}.results-table tr,.tr{width:fit-content}.results-table tr:hover,.tr:hover{background-color:#00000005}.results-table th,.th,.results-table td,.td{position:relative;border:1px solid var(--border-color);vertical-align:top}.compact.results-table th,.compact .th,.compact.results-table td,.compact .td{padding:.5rem}.results-table th.variable,.th.variable,.results-table td.variable,.td.variable{background-color:var(--variable-background-color)}.variable .cell{max-height:100%;overflow-y:auto}.results-table tr.header{background-color:var(--header-background-color)}.results-table th,.th{padding:1rem;position:relative;vertical-align:bottom;text-align:left;white-space:pre-wrap;font-weight:400}.results-table th .action{cursor:pointer;margin-left:.5rem}.results-table th .action svg{vertical-align:middle}.results-table td,.results-table th{height:1px}@-moz-document url-prefix(){.results-table td,.results-table th{height:100%}}.firefox-fix{display:table;height:100%}.results-table tr .cell{display:flex;flex-direction:column;white-space:pre-wrap;height:100%;padding:1rem}.results-table tr .cell img{max-width:var(--max-image-width, 256px);max-height:var(--max-image-height, 256px);cursor:zoom-in}.results-table tr .cell .prompt{background-color:var(--variable-background-color);border:1px solid var(--border-color);padding:1rem;border-radius:4px;margin-bottom:.5rem;font-family:Courier New,Courier,monospace;font-size:.8rem}.results-table tr .cell .prompt .pill{display:block;background-color:var(--neutral-background-color);border:1px solid var(--border-color);border-radius:4px;padding:.25rem;width:fit-content;margin-bottom:.5rem}.results-table tr .cell-actions{display:flex;gap:.5rem;visibility:hidden;position:absolute;top:1.25rem;right:.75rem;line-height:0;font-size:1.25rem}.results-table .first-prompt-col:hover .cell-actions,.results-table .second-prompt-column:hover .cell-actions{visibility:visible}.results-table tr .cell-actions .action.active{visibility:visible!important}.results-table tr .cell-detail{display:flex;flex-wrap:wrap;column-gap:.5rem;row-gap:.25rem;padding-top:1rem;margin-top:auto}.results-table tr .stat-item{font-weight:400;font-size:.75rem;color:#888}.results-table tr .cell-actions .action{cursor:pointer}.results-table tr .cell-actions .action.active span{filter:saturate(1.5)}.results-table tr .cell table{width:100%;border-collapse:collapse;margin:1rem 0}.results-table tr .cell table th,.results-table tr .cell table td{border:1px solid var(--border-color);padding:.5rem;text-align:left}.results-table tr .cell table th{background-color:var(--header-background-color);font-weight:700}.results-table tr .cell table tr:nth-child(2n){background-color:var(--row-background-color)}.results-table tr .cell table tr:hover{background-color:var(--hover-background-color)}.results-table th .output-header{display:flex;flex-direction:column;height:100%;align-items:flex-start}.results-table th .output-header .pills{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;margin-bottom:.5rem}.results-table th .prompt-container{font-weight:700;margin-bottom:.5rem}.results-table th .prompt-container>*{display:inline}.results-table th .provider,.results-table .status .provider{display:inline-block;padding:.25rem .5rem;background-color:var(--neutral-background-color);border:1px solid var(--border-color);border-radius:4px;margin-right:.25rem}.results-table th .summary{font-weight:400}.results-table th .prompt-detail{display:flex;flex-wrap:wrap;column-gap:.5rem;row-gap:.25rem;font-size:.75rem;color:#888;margin-top:auto}.results-table th .summary .highlight{padding:.25rem .5rem;border-radius:4px;background-color:var(--fail-background-color);border:1px solid var(--border-color);transition:background-color .2s ease}.results-table th .summary .highlight.success-0{background-color:var(--fail-background-color)}.results-table th .summary .highlight.success-20{background-color:color-mix(in srgb,var(--fail-background-color) 80%,var(--success-background-color) 20%)}.results-table th .summary .highlight.success-40{background-color:color-mix(in srgb,var(--fail-background-color) 60%,var(--success-background-color) 40%)}.results-table th .summary .highlight.success-60{background-color:color-mix(in srgb,var(--fail-background-color) 40%,var(--success-background-color) 60%)}.results-table th .summary .highlight.success-80{background-color:color-mix(in srgb,var(--fail-background-color) 20%,var(--success-background-color) 80%)}.results-table th .summary .highlight.success-100{background-color:var(--success-background-color);border:1px solid var(--pass-color)}.results-table .status{display:flex;flex-direction:column;gap:.25rem;font-weight:700;margin-bottom:.5rem}.results-table .status .status-row{display:flex;flex-direction:row;gap:.5rem;align-items:center;flex-wrap:wrap}.results-table .status .pill,.results-table .status .provider.pill{display:inline-flex;align-self:flex-start;align-items:center;padding:.5rem;border-radius:4px;font-size:.9em;height:24px}.results-table .status .provider.pill{background-color:var(--neutral-background-color);border:1px solid var(--border-color);color:inherit;font-weight:700}.results-table .pass .pill:not(.provider){background-color:var(--success-background-color);color:var(--pass-color);border:1px solid var(--pass-color)}.results-table .fail .pill:not(.provider){background-color:var(--fail-background-color);border:1px solid var(--fail-color)}.results-table .fail{color:var(--fail-color)}.fail-reason{color:var(--fail-color);font-weight:700}.compact .fail-reason{display:inline}.results-table .fail .pill{white-space:nowrap;background-color:var(--fail-background-color)}.results-table td .score{font-weight:400}.results-table .comment{margin-top:.5rem;padding:.25rem .5rem;border-radius:4px;background-color:var(--neutral-background-color);font-style:italic;cursor:pointer}.results-table td.first-prompt-col{border-left:2px solid #888}.results-table td.first-prompt-row{border-top:2px solid #888}.search-highlight{color:var(--search-text-color);background-color:var(--search-highlight-color)}.results-table tr .cell .lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.results-table tr .cell .lightbox img{max-width:90%;max-height:90%;cursor:zoom-out;background:#fff;border-radius:4px}[data-theme=dark] .results-table tr .cell .lightbox img{background:#333}.resizer{position:absolute;right:0;top:0;height:100%;width:5px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:var(--text-color);opacity:.5}.resizer.isResizing{background:var(--text-color);opacity:1}@media (hover: hover){.resizer{opacity:0}*:hover>.resizer{opacity:1}}.results-table thead.sticky{position:sticky;top:0;z-index:100;transition:transform .2s ease-out}[data-theme=dark] .results-table thead.sticky{background:#1a1a1a}.header-dismiss{position:absolute;top:8px;right:8px;cursor:pointer;z-index:101;padding:4px;border-radius:4px;background:#eee;display:none}[data-theme=dark] .header-dismiss{background:#333}.header-dismiss:hover{background:#ddd}[data-theme=dark] .header-dismiss:hover{background:#444}thead.collapsed .header-dismiss{display:block}.results-table thead.collapsed .prompt-detail,.results-table thead.collapsed .custom-metric-container{display:none}.results-table thead.collapsed .MuiFormControlLabel-root{margin-top:-8px}.results-table{border-collapse:separate;border-spacing:0}.results-table thead.collapsed th{padding-top:4px;padding-bottom:4px}.results-table thead th{transition:padding .2s ease-out}.results-table thead .output-header{transition:max-height .2s ease-out}.results-table thead.collapsed{border-bottom:2px solid var(--border-color);box-shadow:0 2px 4px #0000001a}.results-table th{background:#fff;box-shadow:0 1px 2px #0000001a}[data-theme=dark] .results-table th{background:#1a1a1a}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;cursor:pointer}.lightbox img{max-width:90%;max-height:90%;object-fit:contain;background:#fff;border-radius:4px}[data-theme=dark] .lightbox img{background:#333}.error-pill{cursor:pointer}.results-table .provider.pill{background-color:var(--neutral-background-color);border:1px solid var(--border-color);color:inherit;font-weight:700;display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.9em;height:24px;line-height:1}.audio-output{margin:1rem 0}.audio-output audio{margin-bottom:.5rem}.audio-output .transcript{font-size:.9rem;color:var(--ifm-color-emphasis-700);line-height:1.4;white-space:pre-wrap}.description{cursor:pointer;transition:background-color .3s ease}.description:hover{background-color:#f0f0f0}[data-theme=dark] .description:hover{background-color:#2a2a2a}.eval-header{display:flex;align-items:center;flex-grow:1}.eval-header strong{font-weight:500}body{background-color:var(--background-color);color:var(--text-color)}.notice{display:flex;flex-direction:column;gap:1.5rem;justify-content:center;align-items:center;height:9rem}.framework-compliance-card{transition:box-shadow .3s ease-in-out;border-radius:12px;overflow:hidden;background-color:#f5f5f5}.framework-compliance-card:hover{box-shadow:0 8px 16px #0000001a}.compliance-summary{text-align:center;margin-bottom:32px;padding:24px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.framework-grid{margin-top:24px}.framework-item{height:100%;transition:transform .2s ease,box-shadow .3s ease;border-radius:8px;overflow:hidden}.framework-item:hover{box-shadow:0 4px 12px #00000026}.framework-item.compliant{background-color:#f8fbf8}.framework-item.non-compliant{background-color:#fef8f8}.icon-compliant{color:#4caf50;font-size:24px}.icon-non-compliant{color:#f44336;font-size:24px}.severity-critical{background-color:#d32f2f1a;border-left:4px solid #d32f2f}.severity-high{background-color:#f57c001a;border-left:4px solid #f57c00}.severity-medium{background-color:#fbc02d1a;border-left:4px solid #fbc02d}.severity-low{background-color:#7cb3421a;border-left:4px solid #7cb342}.plugin-list-container{background-color:#00000005;border-radius:4px;margin-top:8px;overflow:hidden}.plugin-toggle-header{cursor:pointer;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;background-color:#0000000d;transition:background-color .2s ease}.plugin-toggle-header:hover{background-color:#00000014}.plugin-item{border-bottom:1px solid rgba(0,0,0,.03);transition:background-color .2s ease}.plugin-item:last-child{border-bottom:none}.plugin-item:hover{background-color:#0000000a}.plugin-pass-rate{font-weight:700;padding:2px 6px;border-radius:10px;font-size:11px;min-width:24px;text-align:center}[data-theme=dark] .framework-compliance-card{background-color:#1e1e1e}[data-theme=dark] .compliance-summary{background-color:#2a2a2a}[data-theme=dark] .framework-item.compliant{background-color:#4caf500d}[data-theme=dark] .framework-item.non-compliant{background-color:#f443360d}[data-theme=dark] .framework-compliance-card:hover,[data-theme=dark] .framework-item:hover{box-shadow:0 8px 16px #ffffff1a}[data-theme=dark] .plugin-toggle-header{background-color:#ffffff0d}[data-theme=dark] .plugin-toggle-header:hover{background-color:#ffffff14}[data-theme=dark] .plugin-item{border-bottom:1px solid rgba(255,255,255,.03)}[data-theme=dark] .plugin-item:hover{background-color:#ffffff0a}.framework-item .MuiList-root{padding-top:0;padding-bottom:0}.framework-item .MuiListItem-root{padding-top:4px;padding-bottom:4px}.framework-item .MuiListItemIcon-root{min-width:24px}.framework-item .MuiListItemText-root{margin-top:0;margin-bottom:0}.framework-item .MuiTooltip-tooltip{font-size:12px}.framework-item .MuiChip-root{font-size:11px;height:22px}.severity-card{transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.severity-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a;cursor:pointer}[data-theme=dark] .severity-card:hover{box-shadow:none}.card-critical{border-left:5px solid #ff1744!important}.card-high{border-left:5px solid #ff9100!important}.card-medium{border-left:5px solid #ffc400!important}.card-low{border-left:5px solid #00e676!important}.risk-category-drawer .MuiListItem-root.failure-item{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;padding:16px;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.risk-category-drawer .MuiListItem-root.failure-item:hover{border-color:#bdbdbd;box-shadow:0 4px 8px #0000001a}.risk-category-drawer .prompt{font-weight:500;margin-bottom:8px;word-break:break-word;max-width:100%;overflow-wrap:break-all}.risk-category-drawer .output{color:#555;white-space:pre-wrap;word-break:break-word;max-height:100px;overflow-y:auto;overflow-wrap:break-all;background-color:#f5f5f5;padding:8px;border-radius:4px}.risk-category-drawer .failed-tests-header{margin-top:8px;margin-bottom:8px;font-weight:500;border-top:2px solid #e0e0e0;padding-top:1.5rem}[data-theme=dark] .risk-category-drawer .MuiListItem-root.failure-item{border-color:#424242;background-color:#2c2c2c;box-shadow:0 2px 4px #0003}[data-theme=dark] .risk-category-drawer .MuiListItem-root.failure-item:hover{border-color:#616161;box-shadow:0 4px 8px #0000004d}[data-theme=dark] .risk-category-drawer .prompt{color:#e0e0e0}[data-theme=dark] .risk-category-drawer .output{color:#b0b0b0;background-color:#1e1e1e}[data-theme=dark] .risk-category-drawer .failed-tests-header{color:#e0e0e0;border-top-color:#424242}.risk-card-container{padding-top:3rem;padding-bottom:3rem}.risk-card-title{font-weight:700}.risk-card-progress{margin-bottom:1rem}.risk-card-issues{color:red}.risk-card-list-item{padding:4px 8px;transition:background-color .3s,box-shadow .3s,transform .15s;border-radius:4px;margin-bottom:4px;border:1px solid transparent}.risk-card-list-item:hover{background-color:#f0f8ff;box-shadow:0 2px 4px #0000001a;border-radius:4px;border:1px solid #add8e6;transform:translate(2px)}[data-theme=dark] .risk-card-list-item:hover{background-color:#2a2a2a;box-shadow:0 2px 4px #0000004d;border-radius:4px;border:1px solid #555555}.risk-card-icon-passed{color:green;font-size:16px}.risk-card-icon-failed{color:red;font-size:16px}.risk-card-icon-no-tests{color:#888;font-size:16px}.risk-card-expand-icon{color:#999;font-size:12px!important;margin-left:8px;opacity:.6;transition:opacity .3s,transform .3s}.risk-card-list-item:hover .risk-card-expand-icon{opacity:1;transform:translate(2px)}.risk-card-percentage{margin-left:8px;font-weight:700}.risk-card-percentage-high{color:#4caf50}.risk-card-percentage-medium{color:#ff9800}.risk-card-percentage-low{color:#f44336}[data-theme=dark] .risk-card-percentage-high{color:#81c784}[data-theme=dark] .risk-card-percentage-medium{color:#ffb74d}[data-theme=dark] .risk-card-percentage-low{color:#e57373}.asr-low{color:green!important}.asr-medium{color:#cb8503!important}.asr-high{color:red!important}.vuln-critical{color:red!important;font-weight:700!important}.vuln-high{color:red!important}.vuln-medium{color:#cb8503!important}.vuln-low{color:green!important}.report-header{padding:24px;border-radius:12px;box-shadow:0 4px 6px #0000001a}[data-theme=dark] .report-header{box-shadow:none}.report-details{display:flex;flex-wrap:wrap;gap:12px}.report-details .MuiChip-root{font-size:.875rem}.dark-syntax{color:#e0e0e0}.dark-syntax .token.comment,.dark-syntax .token.prolog,.dark-syntax .token.doctype,.dark-syntax .token.cdata{color:#666}.dark-syntax .token.property,.dark-syntax .token.tag,.dark-syntax .token.boolean,.dark-syntax .token.number,.dark-syntax .token.constant,.dark-syntax .token.symbol{color:#7ec699}.dark-syntax .token.selector,.dark-syntax .token.string,.dark-syntax .token.char,.dark-syntax .token.builtin{color:#98c379}.dark-syntax .token.operator,.dark-syntax .token.entity,.dark-syntax .token.url,.dark-syntax .token.variable{color:#61afef}.dark-syntax .token.atrule,.dark-syntax .token.attr-value,.dark-syntax .token.keyword{color:#c678dd}.dark-syntax .token.function{color:#e06c75}.dark-syntax .token.regex,.dark-syntax .token.important{color:#f2c88c}.dark-syntax .token.important,.dark-syntax .token.bold{font-weight:700}.dark-syntax .token.italic{font-style:italic}.token{background:none!important;text-shadow:none!important}.dark-syntax .token.method{color:#e06c75}.dark-syntax .token.header{color:#61afef}.dark-syntax .token.path{color:#98c379}.dark-syntax .token.host{color:#7ec699}.page-content{padding:0;margin-top:-15px}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-style:normal;font-weight-normal:400;font-weight-bold:700;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--background-color: #f5f5f5;--text-color: #404040;--link-color: #2e6585;--border-color: lightgray;--table-border-color: lightgray;--pass-color: green;--fail-color: #ad0000;--success-background-color: #d1ffd7;--fail-background-color: #ffd1d1;--neutral-background-color: #eee;--variable-background-color: #f7f7f7;--header-background-color: #fffdf7;--insert-highlight-color: #d4fcbc;--delete-highlight-color: #fbb6c2;--prompt-highlight-color: linen;--textarea-background-color: #ffffff;--textarea-color: #404040;--search-highlight-color: #ffff00;--search-text-color: inherit;--cell-highlight-color: #ffffeb;--cell-highlight-text-color: inherit}[data-theme=dark]{--background-color: #1a1a1a;--text-color: #f0f0f0;--link-color: #6fcaff;--border-color: #444444;--table-border-color: #444444;--pass-color: #b1e9b3;--fail-color: #ee726a;--success-background-color: #216d2b;--fail-background-color: #6d2121;--neutral-background-color: #424242;--variable-background-color: #333;--header-background-color: #333;--insert-highlight-color: #4f8a34;--delete-highlight-color: #8a3434;--prompt-highlight-color: #67605a;--textarea-background-color: #2d2d2d;--textarea-color: #fff;--search-highlight-color: #ffff00;--search-text-color: #404040;--cell-highlight-color: #2c4a6b;--cell-highlight-text-color: #e8f4fd}html{font-size:16px;background-color:var(--background-color);color:var(--text-color)}body{margin:0}a{color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline}textarea{background-color:var(--textarea-background-color);color:var(--textarea-color);padding:.5em;border:1px solid var(--border-color);border-radius:.25em;resize:vertical}*{box-sizing:border-box}