strix-agent 0.1.1__py3-none-any.whl

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 (99) hide show
  1. strix/__init__.py +0 -0
  2. strix/agents/StrixAgent/__init__.py +4 -0
  3. strix/agents/StrixAgent/strix_agent.py +60 -0
  4. strix/agents/StrixAgent/system_prompt.jinja +504 -0
  5. strix/agents/__init__.py +10 -0
  6. strix/agents/base_agent.py +394 -0
  7. strix/agents/state.py +139 -0
  8. strix/cli/__init__.py +4 -0
  9. strix/cli/app.py +1124 -0
  10. strix/cli/assets/cli.tcss +680 -0
  11. strix/cli/main.py +542 -0
  12. strix/cli/tool_components/__init__.py +39 -0
  13. strix/cli/tool_components/agents_graph_renderer.py +129 -0
  14. strix/cli/tool_components/base_renderer.py +61 -0
  15. strix/cli/tool_components/browser_renderer.py +107 -0
  16. strix/cli/tool_components/file_edit_renderer.py +95 -0
  17. strix/cli/tool_components/finish_renderer.py +32 -0
  18. strix/cli/tool_components/notes_renderer.py +108 -0
  19. strix/cli/tool_components/proxy_renderer.py +255 -0
  20. strix/cli/tool_components/python_renderer.py +34 -0
  21. strix/cli/tool_components/registry.py +72 -0
  22. strix/cli/tool_components/reporting_renderer.py +53 -0
  23. strix/cli/tool_components/scan_info_renderer.py +58 -0
  24. strix/cli/tool_components/terminal_renderer.py +99 -0
  25. strix/cli/tool_components/thinking_renderer.py +29 -0
  26. strix/cli/tool_components/user_message_renderer.py +43 -0
  27. strix/cli/tool_components/web_search_renderer.py +28 -0
  28. strix/cli/tracer.py +308 -0
  29. strix/llm/__init__.py +14 -0
  30. strix/llm/config.py +19 -0
  31. strix/llm/llm.py +310 -0
  32. strix/llm/memory_compressor.py +206 -0
  33. strix/llm/request_queue.py +63 -0
  34. strix/llm/utils.py +84 -0
  35. strix/prompts/__init__.py +113 -0
  36. strix/prompts/coordination/root_agent.jinja +41 -0
  37. strix/prompts/vulnerabilities/authentication_jwt.jinja +129 -0
  38. strix/prompts/vulnerabilities/business_logic.jinja +143 -0
  39. strix/prompts/vulnerabilities/csrf.jinja +168 -0
  40. strix/prompts/vulnerabilities/idor.jinja +164 -0
  41. strix/prompts/vulnerabilities/race_conditions.jinja +194 -0
  42. strix/prompts/vulnerabilities/rce.jinja +222 -0
  43. strix/prompts/vulnerabilities/sql_injection.jinja +216 -0
  44. strix/prompts/vulnerabilities/ssrf.jinja +168 -0
  45. strix/prompts/vulnerabilities/xss.jinja +221 -0
  46. strix/prompts/vulnerabilities/xxe.jinja +276 -0
  47. strix/runtime/__init__.py +19 -0
  48. strix/runtime/docker_runtime.py +298 -0
  49. strix/runtime/runtime.py +25 -0
  50. strix/runtime/tool_server.py +97 -0
  51. strix/tools/__init__.py +64 -0
  52. strix/tools/agents_graph/__init__.py +16 -0
  53. strix/tools/agents_graph/agents_graph_actions.py +610 -0
  54. strix/tools/agents_graph/agents_graph_actions_schema.xml +223 -0
  55. strix/tools/argument_parser.py +120 -0
  56. strix/tools/browser/__init__.py +4 -0
  57. strix/tools/browser/browser_actions.py +236 -0
  58. strix/tools/browser/browser_actions_schema.xml +183 -0
  59. strix/tools/browser/browser_instance.py +533 -0
  60. strix/tools/browser/tab_manager.py +342 -0
  61. strix/tools/executor.py +302 -0
  62. strix/tools/file_edit/__init__.py +4 -0
  63. strix/tools/file_edit/file_edit_actions.py +141 -0
  64. strix/tools/file_edit/file_edit_actions_schema.xml +128 -0
  65. strix/tools/finish/__init__.py +4 -0
  66. strix/tools/finish/finish_actions.py +167 -0
  67. strix/tools/finish/finish_actions_schema.xml +45 -0
  68. strix/tools/notes/__init__.py +14 -0
  69. strix/tools/notes/notes_actions.py +191 -0
  70. strix/tools/notes/notes_actions_schema.xml +150 -0
  71. strix/tools/proxy/__init__.py +20 -0
  72. strix/tools/proxy/proxy_actions.py +101 -0
  73. strix/tools/proxy/proxy_actions_schema.xml +267 -0
  74. strix/tools/proxy/proxy_manager.py +785 -0
  75. strix/tools/python/__init__.py +4 -0
  76. strix/tools/python/python_actions.py +47 -0
  77. strix/tools/python/python_actions_schema.xml +131 -0
  78. strix/tools/python/python_instance.py +172 -0
  79. strix/tools/python/python_manager.py +131 -0
  80. strix/tools/registry.py +196 -0
  81. strix/tools/reporting/__init__.py +6 -0
  82. strix/tools/reporting/reporting_actions.py +63 -0
  83. strix/tools/reporting/reporting_actions_schema.xml +30 -0
  84. strix/tools/terminal/__init__.py +4 -0
  85. strix/tools/terminal/terminal_actions.py +53 -0
  86. strix/tools/terminal/terminal_actions_schema.xml +114 -0
  87. strix/tools/terminal/terminal_instance.py +231 -0
  88. strix/tools/terminal/terminal_manager.py +191 -0
  89. strix/tools/thinking/__init__.py +4 -0
  90. strix/tools/thinking/thinking_actions.py +18 -0
  91. strix/tools/thinking/thinking_actions_schema.xml +52 -0
  92. strix/tools/web_search/__init__.py +4 -0
  93. strix/tools/web_search/web_search_actions.py +80 -0
  94. strix/tools/web_search/web_search_actions_schema.xml +83 -0
  95. strix_agent-0.1.1.dist-info/LICENSE +201 -0
  96. strix_agent-0.1.1.dist-info/METADATA +200 -0
  97. strix_agent-0.1.1.dist-info/RECORD +99 -0
  98. strix_agent-0.1.1.dist-info/WHEEL +4 -0
  99. strix_agent-0.1.1.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,680 @@
1
+ Screen {
2
+ background: #1a1a1a;
3
+ color: #d4d4d4;
4
+ }
5
+
6
+ #splash_screen {
7
+ height: 100%;
8
+ width: 100%;
9
+ background: #1a1a1a;
10
+ color: #22c55e;
11
+ content-align: center middle;
12
+ text-align: center;
13
+ }
14
+
15
+ #splash_content {
16
+ width: auto;
17
+ height: auto;
18
+ background: transparent;
19
+ text-align: center;
20
+ padding: 2;
21
+ }
22
+
23
+ #main_container {
24
+ height: 100%;
25
+ padding: 0;
26
+ margin: 0;
27
+ background: #1a1a1a;
28
+ }
29
+
30
+ #content_container {
31
+ height: 1fr;
32
+ padding: 0;
33
+ background: transparent;
34
+ }
35
+
36
+ #agents_tree {
37
+ width: 20%;
38
+ background: transparent;
39
+ border: round #262626;
40
+ border-title-color: #a8a29e;
41
+ border-title-style: bold;
42
+ margin-left: 1;
43
+ padding: 1;
44
+ }
45
+
46
+ #chat_area_container {
47
+ width: 80%;
48
+ background: transparent;
49
+ }
50
+
51
+ #chat_history {
52
+ height: 1fr;
53
+ background: transparent;
54
+ border: round #1a1a1a;
55
+ padding: 0;
56
+ margin-bottom: 0;
57
+ margin-right: 0;
58
+ scrollbar-background: #0f0f0f;
59
+ scrollbar-color: #262626;
60
+ scrollbar-corner-color: #0f0f0f;
61
+ scrollbar-size: 1 1;
62
+ }
63
+
64
+ #agent_status_display {
65
+ height: 1;
66
+ background: transparent;
67
+ margin: 0;
68
+ padding: 0 1;
69
+ }
70
+
71
+ #agent_status_display.hidden {
72
+ display: none;
73
+ }
74
+
75
+ #status_text {
76
+ width: 1fr;
77
+ height: 100%;
78
+ background: transparent;
79
+ color: #a3a3a3;
80
+ text-align: left;
81
+ content-align: left middle;
82
+ text-style: italic;
83
+ margin: 0;
84
+ padding: 0;
85
+ }
86
+
87
+ #keymap_indicator {
88
+ width: auto;
89
+ height: 100%;
90
+ background: transparent;
91
+ color: #737373;
92
+ text-align: right;
93
+ content-align: right middle;
94
+ text-style: none;
95
+ margin: 0;
96
+ padding: 0;
97
+ }
98
+
99
+ #chat_input_container {
100
+ height: 3;
101
+ background: transparent;
102
+ border: round #525252;
103
+ margin-right: 0;
104
+ padding: 0;
105
+ layout: horizontal;
106
+ align-vertical: middle;
107
+ }
108
+
109
+ #chat_input_container:focus-within {
110
+ border: round #22c55e;
111
+ }
112
+
113
+ #chat_input_container:focus-within #chat_prompt {
114
+ color: #22c55e;
115
+ text-style: bold;
116
+ }
117
+
118
+ #chat_prompt {
119
+ width: auto;
120
+ height: 100%;
121
+ padding: 0 0 0 1;
122
+ color: #737373;
123
+ content-align-vertical: middle;
124
+ }
125
+
126
+ #chat_history:focus {
127
+ border: round #22c55e;
128
+ }
129
+
130
+ #chat_input {
131
+ width: 1fr;
132
+ height: 100%;
133
+ background: #121212;
134
+ border: none;
135
+ color: #d4d4d4;
136
+ padding: 0;
137
+ margin: 0;
138
+ }
139
+
140
+ #chat_input:focus {
141
+ border: none;
142
+ }
143
+
144
+ #chat_input > .text-area--placeholder {
145
+ color: #525252;
146
+ text-style: italic;
147
+ }
148
+
149
+ #chat_input > .text-area--cursor {
150
+ color: #22c55e;
151
+ background: #22c55e;
152
+ }
153
+
154
+ .chat-placeholder {
155
+ width: 100%;
156
+ height: 100%;
157
+ content-align: center middle;
158
+ text-align: center;
159
+ color: #737373;
160
+ text-style: italic;
161
+ }
162
+
163
+ .chat-content {
164
+ margin: 0 !important;
165
+ margin-top: 0 !important;
166
+ margin-bottom: 0 !important;
167
+ padding: 0 1;
168
+ background: transparent;
169
+ width: 100%;
170
+ }
171
+
172
+ .chat-message {
173
+ margin-bottom: 0;
174
+ padding: 0;
175
+ background: transparent;
176
+ width: 100%;
177
+ }
178
+
179
+ .user-message {
180
+ color: #e5e5e5;
181
+ border-left: thick #3b82f6;
182
+ padding-left: 1;
183
+ margin-bottom: 1;
184
+ }
185
+
186
+ .tool-call {
187
+ margin: 0 !important;
188
+ margin-top: 0 !important;
189
+ margin-bottom: 0 !important;
190
+ padding: 0 1;
191
+ background: #0a0a0a;
192
+ border: round #1a1a1a;
193
+ border-left: thick #f59e0b;
194
+ width: 100%;
195
+ }
196
+
197
+ .tool-call.status-completed {
198
+ border-left: thick #22c55e;
199
+ background: #0d1f12;
200
+ margin: 0 !important;
201
+ margin-top: 0 !important;
202
+ margin-bottom: 0 !important;
203
+ }
204
+
205
+ .tool-call.status-running {
206
+ border-left: thick #f59e0b;
207
+ background: #1f1611;
208
+ margin: 0 !important;
209
+ margin-top: 0 !important;
210
+ margin-bottom: 0 !important;
211
+ }
212
+
213
+ .tool-call.status-failed,
214
+ .tool-call.status-error {
215
+ border-left: thick #ef4444;
216
+ background: #1f0d0d;
217
+ margin: 0 !important;
218
+ margin-top: 0 !important;
219
+ margin-bottom: 0 !important;
220
+ }
221
+
222
+ .browser-tool,
223
+ .terminal-tool,
224
+ .python-tool,
225
+ .agents-graph-tool,
226
+ .file-edit-tool,
227
+ .proxy-tool,
228
+ .notes-tool,
229
+ .thinking-tool,
230
+ .web-search-tool,
231
+ .finish-tool,
232
+ .reporting-tool,
233
+ .scan-info-tool,
234
+ .subagent-info-tool {
235
+ margin: 0 !important;
236
+ margin-top: 0 !important;
237
+ margin-bottom: 0 !important;
238
+ }
239
+
240
+ .browser-tool {
241
+ border-left: thick #06b6d4;
242
+ }
243
+
244
+ .browser-tool.status-completed {
245
+ border-left: thick #06b6d4;
246
+ background: transparent;
247
+ margin: 0 !important;
248
+ margin-top: 0 !important;
249
+ margin-bottom: 0 !important;
250
+ }
251
+
252
+ .browser-tool.status-running {
253
+ border-left: thick #0891b2;
254
+ background: transparent;
255
+ margin: 0 !important;
256
+ margin-top: 0 !important;
257
+ margin-bottom: 0 !important;
258
+ }
259
+
260
+ .terminal-tool {
261
+ border-left: thick #22c55e;
262
+ }
263
+
264
+ .terminal-tool.status-completed {
265
+ border-left: thick #22c55e;
266
+ background: transparent;
267
+ }
268
+
269
+ .terminal-tool.status-running {
270
+ border-left: thick #16a34a;
271
+ background: transparent;
272
+ }
273
+
274
+ .python-tool {
275
+ border-left: thick #3b82f6;
276
+ }
277
+
278
+ .python-tool.status-completed {
279
+ border-left: thick #3b82f6;
280
+ background: transparent;
281
+ }
282
+
283
+ .python-tool.status-running {
284
+ border-left: thick #2563eb;
285
+ background: transparent;
286
+ }
287
+
288
+ .agents-graph-tool {
289
+ border-left: thick #fbbf24;
290
+ }
291
+
292
+ .agents-graph-tool.status-completed {
293
+ border-left: thick #fbbf24;
294
+ background: transparent;
295
+ }
296
+
297
+ .agents-graph-tool.status-running {
298
+ border-left: thick #f59e0b;
299
+ background: transparent;
300
+ }
301
+
302
+ .file-edit-tool {
303
+ border-left: thick #10b981;
304
+ }
305
+
306
+ .file-edit-tool.status-completed {
307
+ border-left: thick #10b981;
308
+ background: transparent;
309
+ }
310
+
311
+ .file-edit-tool.status-running {
312
+ border-left: thick #059669;
313
+ background: transparent;
314
+ }
315
+
316
+ .proxy-tool {
317
+ border-left: thick #06b6d4;
318
+ }
319
+
320
+ .proxy-tool.status-completed {
321
+ border-left: thick #06b6d4;
322
+ background: transparent;
323
+ }
324
+
325
+ .proxy-tool.status-running {
326
+ border-left: thick #0891b2;
327
+ background: transparent;
328
+ }
329
+
330
+ .notes-tool {
331
+ border-left: thick #fbbf24;
332
+ }
333
+
334
+ .notes-tool.status-completed {
335
+ border-left: thick #fbbf24;
336
+ background: transparent;
337
+ }
338
+
339
+ .notes-tool.status-running {
340
+ border-left: thick #f59e0b;
341
+ background: transparent;
342
+ }
343
+
344
+ .thinking-tool {
345
+ border-left: thick #a855f7;
346
+ }
347
+
348
+ .thinking-tool.status-completed {
349
+ border-left: thick #a855f7;
350
+ background: transparent;
351
+ }
352
+
353
+ .thinking-tool.status-running {
354
+ border-left: thick #9333ea;
355
+ background: transparent;
356
+ }
357
+
358
+ .web-search-tool {
359
+ border-left: thick #22c55e;
360
+ }
361
+
362
+ .web-search-tool.status-completed {
363
+ border-left: thick #22c55e;
364
+ background: transparent;
365
+ }
366
+
367
+ .web-search-tool.status-running {
368
+ border-left: thick #16a34a;
369
+ background: transparent;
370
+ }
371
+
372
+ .finish-tool {
373
+ border-left: thick #dc2626;
374
+ }
375
+
376
+ .finish-tool.status-completed {
377
+ border-left: thick #dc2626;
378
+ background: transparent;
379
+ }
380
+
381
+ .finish-tool.status-running {
382
+ border-left: thick #b91c1c;
383
+ background: transparent;
384
+ }
385
+
386
+ .reporting-tool {
387
+ border-left: thick #ea580c;
388
+ }
389
+
390
+ .reporting-tool.status-completed {
391
+ border-left: thick #ea580c;
392
+ background: transparent;
393
+ }
394
+
395
+ .reporting-tool.status-running {
396
+ border-left: thick #c2410c;
397
+ background: transparent;
398
+ }
399
+
400
+ .scan-info-tool {
401
+ border-left: thick #22c55e;
402
+ background: transparent;
403
+ margin: 0 !important;
404
+ margin-top: 0 !important;
405
+ margin-bottom: 0 !important;
406
+ }
407
+
408
+ .scan-info-tool.status-completed {
409
+ border-left: thick #22c55e;
410
+ background: transparent;
411
+ }
412
+
413
+ .scan-info-tool.status-running {
414
+ border-left: thick #16a34a;
415
+ background: transparent;
416
+ }
417
+
418
+ .subagent-info-tool {
419
+ border-left: thick #22c55e;
420
+ background: transparent;
421
+ margin: 0 !important;
422
+ margin-top: 0 !important;
423
+ margin-bottom: 0 !important;
424
+ }
425
+
426
+ .subagent-info-tool.status-completed {
427
+ border-left: thick #22c55e;
428
+ background: transparent;
429
+ }
430
+
431
+ .subagent-info-tool.status-running {
432
+ border-left: thick #16a34a;
433
+ background: transparent;
434
+ }
435
+
436
+ Tree {
437
+ background: transparent;
438
+ color: #e7e5e4;
439
+ scrollbar-background: transparent;
440
+ scrollbar-color: #404040;
441
+ scrollbar-corner-color: transparent;
442
+ scrollbar-size: 1 1;
443
+ }
444
+
445
+ Tree > .tree--label {
446
+ text-style: bold;
447
+ color: #a8a29e;
448
+ background: transparent;
449
+ padding: 0 1;
450
+ margin-bottom: 1;
451
+ border-bottom: solid #262626;
452
+ text-align: center;
453
+ }
454
+
455
+ .tree--node {
456
+ height: 1;
457
+ padding: 0;
458
+ margin: 0;
459
+ }
460
+
461
+ .tree--node-label {
462
+ color: #d6d3d1;
463
+ background: transparent;
464
+ text-style: none;
465
+ padding: 0 1;
466
+ margin: 0 1;
467
+ }
468
+
469
+ .tree--node:hover .tree--node-label {
470
+ background: transparent;
471
+ color: #fafaf9;
472
+ text-style: bold;
473
+ border-left: solid #a8a29e;
474
+ }
475
+
476
+ .tree--node.-selected .tree--node-label {
477
+ background: transparent;
478
+ color: #fafaf9;
479
+ text-style: bold;
480
+ border-left: heavy #d6d3d1;
481
+ }
482
+
483
+ .tree--node.-expanded .tree--node-label {
484
+ text-style: bold;
485
+ color: #fafaf9;
486
+ background: transparent;
487
+ border-left: solid #78716c;
488
+ }
489
+
490
+ Tree:focus {
491
+ border: round #262626;
492
+ }
493
+
494
+ Tree:focus > .tree--label {
495
+ color: #fafaf9;
496
+ text-style: bold;
497
+ background: transparent;
498
+ }
499
+
500
+ .tree--node .tree--node .tree--node-label {
501
+ color: #a8a29e;
502
+ padding-left: 2;
503
+ border: none;
504
+ background: transparent;
505
+ margin-left: 1;
506
+ }
507
+
508
+ .tree--node .tree--node:hover .tree--node-label {
509
+ background: transparent;
510
+ color: #e7e5e4;
511
+ }
512
+
513
+ .tree--node .tree--node .tree--node .tree--node-label {
514
+ color: #78716c;
515
+ padding-left: 3;
516
+ text-style: none;
517
+ border: none;
518
+ background: transparent;
519
+ margin-left: 2;
520
+ }
521
+
522
+ StopAgentScreen {
523
+ align: center middle;
524
+ background: $background 0%;
525
+ }
526
+
527
+ #stop_agent_dialog {
528
+ grid-size: 1;
529
+ grid-gutter: 1;
530
+ grid-rows: auto auto;
531
+ padding: 1;
532
+ width: 30;
533
+ height: auto;
534
+ border: round #a3a3a3;
535
+ background: #1a1a1a 98%;
536
+ }
537
+
538
+ #stop_agent_title {
539
+ color: #a3a3a3;
540
+ text-style: bold;
541
+ text-align: center;
542
+ width: 100%;
543
+ margin-bottom: 0;
544
+ }
545
+
546
+ #stop_agent_buttons {
547
+ grid-size: 2;
548
+ grid-gutter: 1;
549
+ grid-columns: 1fr 1fr;
550
+ width: 100%;
551
+ height: 1;
552
+ }
553
+
554
+ #stop_agent_buttons Button {
555
+ height: 1;
556
+ min-height: 1;
557
+ border: none;
558
+ text-style: bold;
559
+ }
560
+
561
+ #stop_agent {
562
+ background: transparent;
563
+ color: #ef4444;
564
+ border: none;
565
+ }
566
+
567
+ #stop_agent:hover, #stop_agent:focus {
568
+ background: #ef4444;
569
+ color: #ffffff;
570
+ border: none;
571
+ }
572
+
573
+ #cancel_stop {
574
+ background: transparent;
575
+ color: #737373;
576
+ border: none;
577
+ }
578
+
579
+ #cancel_stop:hover, #cancel_stop:focus {
580
+ background:rgb(54, 54, 54);
581
+ color: #ffffff;
582
+ border: none;
583
+ }
584
+
585
+ QuitScreen {
586
+ align: center middle;
587
+ background: $background 0%;
588
+ }
589
+
590
+ #quit_dialog {
591
+ grid-size: 1;
592
+ grid-gutter: 1;
593
+ grid-rows: auto auto;
594
+ padding: 1;
595
+ width: 24;
596
+ height: auto;
597
+ border: round #525252;
598
+ background: #1a1a1a 98%;
599
+ }
600
+
601
+ #quit_title {
602
+ color: #d4d4d4;
603
+ text-style: bold;
604
+ text-align: center;
605
+ width: 100%;
606
+ margin-bottom: 0;
607
+ }
608
+
609
+ #quit_buttons {
610
+ grid-size: 2;
611
+ grid-gutter: 1;
612
+ grid-columns: 1fr 1fr;
613
+ width: 100%;
614
+ height: 1;
615
+ }
616
+
617
+ #quit_buttons Button {
618
+ height: 1;
619
+ min-height: 1;
620
+ border: none;
621
+ text-style: bold;
622
+ }
623
+
624
+ #quit {
625
+ background: transparent;
626
+ color: #ef4444;
627
+ border: none;
628
+ }
629
+
630
+ #quit:hover, #quit:focus {
631
+ background: #ef4444;
632
+ color: #ffffff;
633
+ border: none;
634
+ }
635
+
636
+ #cancel {
637
+ background: transparent;
638
+ color: #737373;
639
+ border: none;
640
+ }
641
+
642
+ #cancel:hover, #cancel:focus {
643
+ background:rgb(54, 54, 54);
644
+ color: #ffffff;
645
+ border: none;
646
+ }
647
+
648
+ HelpScreen {
649
+ align: center middle;
650
+ background: $background 0%;
651
+ }
652
+
653
+ #dialog {
654
+ grid-size: 1;
655
+ grid-gutter: 0 1;
656
+ grid-rows: auto auto;
657
+ padding: 1 2;
658
+ width: 40;
659
+ height: auto;
660
+ border: round #22c55e;
661
+ background: #1a1a1a 98%;
662
+ }
663
+
664
+ #help_title {
665
+ color: #22c55e;
666
+ text-style: bold;
667
+ text-align: center;
668
+ width: 100%;
669
+ margin-bottom: 1;
670
+ }
671
+
672
+ #help_content {
673
+ color: #d4d4d4;
674
+ text-align: left;
675
+ width: 100%;
676
+ margin-bottom: 1;
677
+ padding: 0;
678
+ background: transparent;
679
+ text-style: none;
680
+ }