Protokoll #12397
| ID | 12397 |
|---|---|
| Zeitstempel | 2025-12-24 01:16:15.092145 |
| Client | root |
| IP | Warning: Undefined array key "request_ip" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 13 Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 13 |
| Modell | claude-sonnet-4-20250514 |
| Status | completed |
| Tokens | 6,357 (Input: 0, Output: 0) |
| Dauer | 92 ms |
| Request-Zeit | Warning: Undefined array key "request_timestamp" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 18 |
| Response-Zeit | - |
Warning: Undefined array key "error_message" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 22
Request
{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/content\/partials\/critique.php",
"old_string": "<?php\n\/**\n * Content Critique Partial\n *\n * @var array $critiques Critique results\n * @var bool $allPassed Whether all critics passed\n * @var int|string $round Critique round number\n *\/\n?>\n<div class=\"critique-results\">\n <div class=\"critique-header\">\n <span>Kritik-Runde <?= htmlspecialchars((string) $round) ?><\/span>\n <?php if ($allPassed): ?>\n <span class=\"badge success\">Bestanden<\/span>\n <?php else: ?>\n <span class=\"badge warning\">Revision nötig<\/span>\n <?php endif; ?>\n <\/div>\n\n <?php foreach ($critiques as $critique): ?>\n <?php\n $passed = $critique['passed'] ?? false;\n $icon = $passed ? '✓' : '⚠';\n $class = $passed ? 'passed' : 'failed';\n ?>\n <div class=\"critique-item <?= $class ?>\">\n <div class=\"critique-title\"><?= $icon ?> <?= htmlspecialchars($critique['critic_name'] ?? '') ?><\/div>\n <div class=\"critique-rating\">Bewertung: <?= $critique['rating'] ?? 'N\/A' ?>\/10<\/div>\n\n <?php if (!empty($critique['issues'])): ?>\n <div class=\"critique-issues\">\n <strong>Probleme:<\/strong>\n <ul>\n <?php foreach ($critique['issues'] as $issue): ?>\n <li><?= htmlspecialchars($issue) ?><\/li>\n <?php endforeach; ?>\n <\/ul>\n <\/div>\n <?php endif; ?>\n\n <?php if (!empty($critique['summary'])): ?>\n <div class=\"critique-summary\"><?= htmlspecialchars($critique['summary']) ?><\/div>\n <?php endif; ?>\n <\/div>\n <?php endforeach; ?>\n<\/div>",
"new_string": "<?php\n\/**\n * Content Critique Partial\n *\n * @var array $critiques Critique results\n * @var bool $allPassed Whether all critics passed\n * @var int|string $round Critique round number\n *\/\n$passedCount = 0;\n$totalCount = count($critiques);\nforeach ($critiques as $c) {\n if ($c['passed'] ?? false) {\n $passedCount++;\n }\n}\n?>\n<div class=\"critique-results\">\n <div class=\"critique-summary-box <?= $allPassed ? 'critique-summary-box--success' : 'critique-summary-box--warning' ?>\">\n <div class=\"critique-summary-title\">\n <?php if ($allPassed): ?>\n Kritik-Runde <?= htmlspecialchars((string) $round) ?> bestanden\n <?php else: ?>\n Kritik-Runde <?= htmlspecialchars((string) $round) ?>: Revision empfohlen\n <?php endif; ?>\n <\/div>\n <div class=\"critique-summary-stats\">\n <?= $passedCount ?> von <?= $totalCount ?> Kritikern zufrieden\n <\/div>\n <div class=\"critique-summary-action\">\n <?php if ($allPassed): ?>\n Der Content hat alle Qualitaetspruefungen bestanden. Sie koennen ihn jetzt genehmigen.\n <?php else: ?>\n Mindestens ein Kritiker hat Verbesserungsvorschlaege. Nutzen Sie \"Revision erstellen\" um den Content zu ueberarbeiten.\n <?php endif; ?>\n <\/div>\n <\/div>\n\n <div class=\"critique-details\">\n <div class=\"critique-details-title\">Detaillierte Kritiken:<\/div>\n <?php foreach ($critiques as $critique): ?>\n <?php\n $passed = $critique['passed'] ?? false;\n $icon = $passed ? '✓' : '⚠';\n $class = $passed ? 'passed' : 'failed';\n $rating = $critique['rating'] ?? 0;\n ?>\n <div class=\"critique-item <?= $class ?>\">\n <div class=\"critique-item-header\">\n <span class=\"critique-icon\"><?= $icon ?><\/span>\n <span class=\"critique-name\"><?= htmlspecialchars($critique['critic_name'] ?? 'Kritiker') ?><\/span>\n <span class=\"critique-rating-badge\"><?= $rating ?>\/10<\/span>\n <\/div>\n\n <?php if (!empty($critique['summary'])): ?>\n <div class=\"critique-text\"><?= htmlspecialchars($critique['summary']) ?><\/div>\n <?php endif; ?>\n\n <?php if (!empty($critique['issues'])): ?>\n <div class=\"critique-issues\">\n <strong>Probleme:<\/strong>\n <ul>\n <?php foreach ($critique['issues'] as $issue): ?>\n <li><?= htmlspecialchars($issue) ?><\/li>\n <?php endforeach; ?>\n <\/ul>\n <\/div>\n <?php endif; ?>\n\n <?php if (!empty($critique['suggestions'])): ?>\n <div class=\"critique-suggestions\">\n <strong>Vorschlaege:<\/strong>\n <ul>\n <?php foreach ($critique['suggestions'] as $suggestion): ?>\n <li><?= htmlspecialchars($suggestion) ?><\/li>\n <?php endforeach; ?>\n <\/ul>\n <\/div>\n <?php endif; ?>\n <\/div>\n <?php endforeach; ?>\n <\/div>\n<\/div>\n\n<style>\n.critique-results {\n margin: var(--space-md) 0;\n}\n.critique-summary-box {\n padding: var(--space-md);\n border-radius: 8px;\n margin-bottom: var(--space-md);\n}\n.critique-summary-box--success {\n background: #d4edda;\n border: 1px solid #28a745;\n color: #155724;\n}\n.critique-summary-box--warning {\n background: #fff3cd;\n border: 1px solid #ffc107;\n color: #856404;\n}\n.critique-summary-title {\n font-size: 1.1rem;\n font-weight: 600;\n margin-bottom: var(--space-xs);\n}\n.critique-summary-stats {\n font-size: 0.9rem;\n margin-bottom: var(--space-sm);\n}\n.critique-summary-action {\n font-size: 0.85rem;\n opacity: 0.9;\n}\n.critique-details {\n background: var(--color-bg-muted);\n border: 1px solid var(--color-border);\n border-radius: 8px;\n padding: var(--space-md);\n}\n.critique-details-title {\n font-weight: 600;\n margin-bottom: var(--space-sm);\n color: var(--color-text-muted);\n font-size: 0.85rem;\n text-transform: uppercase;\n}\n.critique-item {\n background: var(--color-bg);\n border: 1px solid var(--color-border);\n border-radius: 6px;\n padding: var(--space-sm);\n margin-bottom: var(--space-sm);\n}\n.critique-item:last-child {\n margin-bottom: 0;\n}\n.critique-item.passed {\n border-left: 3px solid #28a745;\n}\n.critique-item.failed {\n border-left: 3px solid #dc3545;\n}\n.critique-item-header {\n display: flex;\n align-items: center;\n gap: var(--space-sm);\n margin-bottom: var(--space-xs);\n}\n.critique-icon {\n font-size: 1rem;\n}\n.critique-item.passed .critique-icon { color: #28a745; }\n.critique-item.failed .critique-icon { color: #dc3545; }\n.critique-name {\n font-weight: 600;\n flex: 1;\n}\n.critique-rating-badge {\n background: var(--color-bg-muted);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 0.8rem;\n font-weight: 500;\n}\n.critique-text {\n font-size: 0.9rem;\n color: var(--color-text);\n line-height: 1.5;\n margin-bottom: var(--space-xs);\n}\n.critique-issues, .critique-suggestions {\n font-size: 0.85rem;\n margin-top: var(--space-xs);\n}\n.critique-issues ul, .critique-suggestions ul {\n margin: var(--space-xs) 0 0 var(--space-md);\n padding: 0;\n}\n.critique-issues li, .critique-suggestions li {\n margin-bottom: 4px;\n}\n<\/style>\n\n<script>\n\/\/ Reload page after showing critique results to update buttons\nsetTimeout(function() { window.location.reload(); }, 2000);\n<\/script>"
}
}
Response
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/content\/partials\/critique.php",
"oldString": "<?php\n\/**\n * Content Critique Partial\n *\n * @var array $critiques Critique results\n * @var bool $allPassed Whether all critics passed\n * @var int|string $round Critique round number\n *\/\n?>\n<div class=\"critique-results\">\n <div class=\"critique-header\">\n <span>Kritik-Runde <?= htmlspecialchars((string) $round) ?><\/span>\n <?php if ($allPassed): ?>\n <span class=\"badge success\">Bestanden<\/span>\n <?php else: ?>\n <span class=\"badge warning\">Revision nötig<\/span>\n <?php endif; ?>\n <\/div>\n\n <?php foreach ($critiques as $critique): ?>\n <?php\n $passed = $critique['passed'] ?? false;\n $icon = $passed ? '✓' : '⚠';\n $class = $passed ? 'passed' : 'failed';\n ?>\n <div class=\"critique-item <?= $class ?>\">\n <div class=\"critique-title\"><?= $icon ?> <?= htmlspecialchars($critique['critic_name'] ?? '') ?><\/div>\n <div class=\"critique-rating\">Bewertung: <?= $critique['rating'] ?? 'N\/A' ?>\/10<\/div>\n\n <?php if (!empty($critique['issues'])): ?>\n <div class=\"critique-issues\">\n <strong>Probleme:<\/strong>\n <ul>\n <?php foreach ($critique['issues'] as $issue): ?>\n <li><?= htmlspecialchars($issue) ?><\/li>\n <?php endforeach; ?>\n <\/ul>\n <\/div>\n <?php endif; ?>\n\n <?php if (!empty($critique['summary'])): ?>\n <div class=\"critique-summary\"><?= htmlspecialchars($critique['summary']) ?><\/div>\n <?php endif; ?>\n <\/div>\n <?php endforeach; ?>\n<\/div>",
"newString": "<?php\n\/**\n * Content Critique Partial\n *\n * @var array $critiques Critique results\n * @var bool $allPassed Whether all critics passed\n * @var int|string $round Critique round number\n *\/\n$passedCount = 0;\n$totalCount = count($critiques);\nforeach ($critiques as $c) {\n if ($c['passed'] ?? false) {\n $passedCount++;\n }\n}\n?>\n<div class=\"critique-results\">\n <div class=\"critique-summary-box <?= $allPassed ? 'critique-summary-box--success' : 'critique-summary-box--warning' ?>\">\n <div class=\"critique-summary-title\">\n <?php if ($allPassed): ?>\n Kritik-Runde <?= htmlspecialchars((string) $round) ?> bestanden\n <?php else: ?>\n Kritik-Runde <?= htmlspecialchars((string) $round) ?>: Revision empfohlen\n <?php endif; ?>\n <\/div>\n <div class=\"critique-summary-stats\">\n <?= $passedCount ?> von <?= $totalCount ?> Kritikern zufrieden\n <\/div>\n <div class=\"critique-summary-action\">\n <?php if ($allPassed): ?>\n Der Content hat alle Qualitaetspruefungen bestanden. Sie koennen ihn jetzt genehmigen.\n <?php else: ?>\n Mindestens ein Kritiker hat Verbesserungsvorschlaege. Nutzen Sie \"Revision erstellen\" um den Content zu ueberarbeiten.\n <?php endif; ?>\n <\/div>\n <\/div>\n\n <div class=\"critique-details\">\n <div class=\"critique-details-title\">Detaillierte Kritiken:<\/div>\n <?php foreach ($critiques as $critique): ?>\n <?php\n $passed = $critique['passed'] ?? false;\n $icon = $passed ? '✓' : '⚠';\n $class = $passed ? 'passed' : 'failed';\n $rating = $critique['rating'] ?? 0;\n ?>\n <div class=\"critique-item <?= $class ?>\">\n <div class=\"critique-item-header\">\n <span class=\"critique-icon\"><?= $icon ?><\/span>\n <span class=\"critique-name\"><?= htmlspecialchars($critique['critic_name'] ?? 'Kritiker') ?><\/span>\n <span class=\"critique-rating-badge\"><?= $rating ?>\/10<\/span>\n <\/div>\n\n <?php if (!empty($critique['summary'])): ?>\n <div class=\"critique-text\"><?= htmlspecialchars($critique['summary']) ?><\/div>\n <?php endif; ?>\n\n <?php if (!empty($critique['issues'])): ?>\n <div class=\"critique-issues\">\n <strong>Probleme:<\/strong>\n <ul>\n <?php foreach ($critique['issues'] as $issue): ?>\n <li><?= htmlspecialchars($issue) ?><\/li>\n <?php endforeach; ?>\n <\/ul>\n <\/div>\n <?php endif; ?>\n\n <?php if (!empty($critique['suggestions'])): ?>\n <div class=\"critique-suggestions\">\n <strong>Vorschlaege:<\/strong>\n <ul>\n <?php foreach ($critique['suggestions'] as $suggestion): ?>\n <li><?= htmlspecialchars($suggestion) ?><\/li>\n <?php endforeach; ?>\n <\/ul>\n <\/div>\n <?php endif; ?>\n <\/div>\n <?php endforeach; ?>\n <\/div>\n<\/div>\n\n<style>\n.critique-results {\n margin: var(--space-md) 0;\n}\n.critique-summary-box {\n padding: var(--space-md);\n border-radius: 8px;\n margin-bottom: var(--space-md);\n}\n.critique-summary-box--success {\n background: #d4edda;\n border: 1px solid #28a745;\n color: #155724;\n}\n.critique-summary-box--warning {\n background: #fff3cd;\n border: 1px solid #ffc107;\n color: #856404;\n}\n.critique-summary-title {\n font-size: 1.1rem;\n font-weight: 600;\n margin-bottom: var(--space-xs);\n}\n.critique-summary-stats {\n font-size: 0.9rem;\n margin-bottom: var(--space-sm);\n}\n.critique-summary-action {\n font-size: 0.85rem;\n opacity: 0.9;\n}\n.critique-details {\n background: var(--color-bg-muted);\n border: 1px solid var(--color-border);\n border-radius: 8px;\n padding: var(--space-md);\n}\n.critique-details-title {\n font-weight: 600;\n margin-bottom: var(--space-sm);\n color: var(--color-text-muted);\n font-size: 0.85rem;\n text-transform: uppercase;\n}\n.critique-item {\n background: var(--color-bg);\n border: 1px solid var(--color-border);\n border-radius: 6px;\n padding: var(--space-sm);\n margin-bottom: var(--space-sm);\n}\n.critique-item:last-child {\n margin-bottom: 0;\n}\n.critique-item.passed {\n border-left: 3px solid #28a745;\n}\n.critique-item.failed {\n border-left: 3px solid #dc3545;\n}\n.critique-item-header {\n display: flex;\n align-items: center;\n gap: var(--space-sm);\n margin-bottom: var(--space-xs);\n}\n.critique-icon {\n font-size: 1rem;\n}\n.critique-item.passed .critique-icon { color: #28a745; }\n.critique-item.failed .critique-icon { color: #dc3545; }\n.critique-name {\n font-weight: 600;\n flex: 1;\n}\n.critique-rating-badge {\n background: var(--color-bg-muted);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 0.8rem;\n font-weight: 500;\n}\n.critique-text {\n font-size: 0.9rem;\n color: var(--color-text);\n line-height: 1.5;\n margin-bottom: var(--space-xs);\n}\n.critique-issues, .critique-suggestions {\n font-size: 0.85rem;\n margin-top: var(--space-xs);\n}\n.critique-issues ul, .critique-suggestions ul {\n margin: var(--space-xs) 0 0 var(--space-md);\n padding: 0;\n}\n.critique-issues li, .critique-suggestions li {\n margin-bottom: 4px;\n}\n<\/style>\n\n<script>\n\/\/ Reload page after showing critique results to update buttons\nsetTimeout(function() { window.location.reload(); }, 2000);\n<\/script>",
"originalFile": "<?php\n\/**\n * Content Critique Partial\n *\n * @var array $critiques Critique results\n * @var bool $allPassed Whether all critics passed\n * @var int|string $round Critique round number\n *\/\n?>\n<div class=\"critique-results\">\n <div class=\"critique-header\">\n <span>Kritik-Runde <?= htmlspecialchars((string) $round) ?><\/span>\n <?php if ($allPassed): ?>\n <span class=\"badge success\">Bestanden<\/span>\n <?php else: ?>\n <span class=\"badge warning\">Revision nötig<\/span>\n <?php endif; ?>\n <\/div>\n\n <?php foreach ($critiques as $critique): ?>\n <?php\n $passed = $critique['passed'] ?? false;\n $icon = $passed ? '✓' : '⚠';\n $class = $passed ? 'passed' : 'failed';\n ?>\n <div class=\"critique-item <?= $class ?>\">\n <div class=\"critique-title\"><?= $icon ?> <?= htmlspecialchars($critique['critic_name'] ?? '') ?><\/div>\n <div class=\"critique-rating\">Bewertung: <?= $critique['rating'] ?? 'N\/A' ?>\/10<\/div>\n\n <?php if (!empty($critique['issues'])): ?>\n <div class=\"critique-issues\">\n <strong>Probleme:<\/strong>\n <ul>\n <?php foreach ($critique['issues'] as $issue): ?>\n <li><?= htmlspecialchars($issue) ?><\/li>\n <?php endforeach; ?>\n <\/ul>\n <\/div>\n <?php endif; ?>\n\n <?php if (!empty($critique['summary'])): ?>\n <div class=\"critique-summary\"><?= htmlspecialchars($critique['summary']) ?><\/div>\n <?php endif; ?>\n <\/div>\n <?php endforeach; ?>\n<\/div>\n",
"structuredPatch": [
{
"oldStart": 6,
"oldLines": 41,
"newStart": 6,
"newLines": 184,
"lines": [
" * @var bool $allPassed Whether all critics passed",
" * @var int|string $round Critique round number",
" *\/",
"+$passedCount = 0;",
"+$totalCount = count($critiques);",
"+foreach ($critiques as $c) {",
"+ if ($c['passed'] ?? false) {",
"+ $passedCount++;",
"+ }",
"+}",
" ?>",
" <div class=\"critique-results\">",
"- <div class=\"critique-header\">",
"- <span>Kritik-Runde <?= htmlspecialchars((string) $round) ?><\/span>",
"- <?php if ($allPassed): ?>",
"- <span class=\"badge success\">Bestanden<\/span>",
"- <?php else: ?>",
"- <span class=\"badge warning\">Revision nötig<\/span>",
"- <?php endif; ?>",
"+ <div class=\"critique-summary-box <?= $allPassed ? 'critique-summary-box--success' : 'critique-summary-box--warning' ?>\">",
"+ <div class=\"critique-summary-title\">",
"+ <?php if ($allPassed): ?>",
"+ Kritik-Runde <?= htmlspecialchars((string) $round) ?> bestanden",
"+ <?php else: ?>",
"+ Kritik-Runde <?= htmlspecialchars((string) $round) ?>: Revision empfohlen",
"+ <?php endif; ?>",
"+ <\/div>",
"+ <div class=\"critique-summary-stats\">",
"+ <?= $passedCount ?> von <?= $totalCount ?> Kritikern zufrieden",
"+ <\/div>",
"+ <div class=\"critique-summary-action\">",
"+ <?php if ($allPassed): ?>",
"+ Der Content hat alle Qualitaetspruefungen bestanden. Sie koennen ihn jetzt genehmigen.",
"+ <?php else: ?>",
"+ Mindestens ein Kritiker hat Verbesserungsvorschlaege. Nutzen Sie \"Revision erstellen\" um den Content zu ueberarbeiten.",
"+ <?php endif; ?>",
"+ <\/div>",
" <\/div>",
" ",
"- <?php foreach ($critiques as $critique): ?>",
"- <?php",
"- $passed = $critique['passed'] ?? false;",
"- $icon = $passed ? '✓' : '⚠';",
"- $class = $passed ? 'passed' : 'failed';",
"- ?>",
"- <div class=\"critique-item <?= $class ?>\">",
"- <div class=\"critique-title\"><?= $icon ?> <?= htmlspecialchars($critique['critic_name'] ?? '') ?><\/div>",
"- <div class=\"critique-rating\">Bewertung: <?= $critique['rating'] ?? 'N\/A' ?>\/10<\/div>",
"+ <div class=\"critique-details\">",
"+ <div class=\"critique-details-title\">Detaillierte Kritiken:<\/div>",
"+ <?php foreach ($critiques as $critique): ?>",
"+ <?php",
"+ $passed = $critique['passed'] ?? false;",
"+ $icon = $passed ? '✓' : '⚠';",
"+ $class = $passed ? 'passed' : 'failed';",
"+ $rating = $critique['rating'] ?? 0;",
"+ ?>",
"+ <div class=\"critique-item <?= $class ?>\">",
"+ <div class=\"critique-item-header\">",
"+ <span class=\"critique-icon\"><?= $icon ?><\/span>",
"+ <span class=\"critique-name\"><?= htmlspecialchars($critique['critic_name'] ?? 'Kritiker') ?><\/span>",
"+ <span class=\"critique-rating-badge\"><?= $rating ?>\/10<\/span>",
"+ <\/div>",
" ",
"- <?php if (!empty($critique['issues'])): ?>",
"- <div class=\"critique-issues\">",
"- <strong>Probleme:<\/strong>",
"- <ul>",
"- <?php foreach ($critique['issues'] as $issue): ?>",
"- <li><?= htmlspecialchars($issue) ?><\/li>",
"- <?php endforeach; ?>",
"- <\/ul>",
"- <\/div>",
"- <?php endif; ?>",
"+ <?php if (!empty($critique['summary'])): ?>",
"+ <div class=\"critique-text\"><?= htmlspecialchars($critique['summary']) ?><\/div>",
"+ <?php endif; ?>",
" ",
"- <?php if (!empty($critique['summary'])): ?>",
"- <div class=\"critique-summary\"><?= htmlspecialchars($critique['summary']) ?><\/div>",
"- <?php endif; ?>",
"- <\/div>",
"- <?php endforeach; ?>",
"+ <?php if (!empty($critique['issues'])): ?>",
"+ <div class=\"critique-issues\">",
"+ <strong>Probleme:<\/strong>",
"+ <ul>",
"+ <?php foreach ($critique['issues'] as $issue): ?>",
"+ <li><?= htmlspecialchars($issue) ?><\/li>",
"+ <?php endforeach; ?>",
"+ <\/ul>",
"+ <\/div>",
"+ <?php endif; ?>",
"+",
"+ <?php if (!empty($critique['suggestions'])): ?>",
"+ <div class=\"critique-suggestions\">",
"+ <strong>Vorschlaege:<\/strong>",
"+ <ul>",
"+ <?php foreach ($critique['suggestions'] as $suggestion): ?>",
"+ <li><?= htmlspecialchars($suggestion) ?><\/li>",
"+ <?php endforeach; ?>",
"+ <\/ul>",
"+ <\/div>",
"+ <?php endif; ?>",
"+ <\/div>",
"+ <?php endforeach; ?>",
"+ <\/div>",
" <\/div>",
"+",
"+<style>",
"+.critique-results {",
"+ margin: var(--space-md) 0;",
"+}",
"+.critique-summary-box {",
"+ padding: var(--space-md);",
"+ border-radius: 8px;",
"+ margin-bottom: var(--space-md);",
"+}",
"+.critique-summary-box--success {",
"+ background: #d4edda;",
"+ border: 1px solid #28a745;",
"+ color: #155724;",
"+}",
"+.critique-summary-box--warning {",
"+ background: #fff3cd;",
"+ border: 1px solid #ffc107;",
"+ color: #856404;",
"+}",
"+.critique-summary-title {",
"+ font-size: 1.1rem;",
"+ font-weight: 600;",
"+ margin-bottom: var(--space-xs);",
"+}",
"+.critique-summary-stats {",
"+ font-size: 0.9rem;",
"+ margin-bottom: var(--space-sm);",
"+}",
"+.critique-summary-action {",
"+ font-size: 0.85rem;",
"+ opacity: 0.9;",
"+}",
"+.critique-details {",
"+ background: var(--color-bg-muted);",
"+ border: 1px solid var(--color-border);",
"+ border-radius: 8px;",
"+ padding: var(--space-md);",
"+}",
"+.critique-details-title {",
"+ font-weight: 600;",
"+ margin-bottom: var(--space-sm);",
"+ color: var(--color-text-muted);",
"+ font-size: 0.85rem;",
"+ text-transform: uppercase;",
"+}",
"+.critique-item {",
"+ background: var(--color-bg);",
"+ border: 1px solid var(--color-border);",
"+ border-radius: 6px;",
"+ padding: var(--space-sm);",
"+ margin-bottom: var(--space-sm);",
"+}",
"+.critique-item:last-child {",
"+ margin-bottom: 0;",
"+}",
"+.critique-item.passed {",
"+ border-left: 3px solid #28a745;",
"+}",
"+.critique-item.failed {",
"+ border-left: 3px solid #dc3545;",
"+}",
"+.critique-item-header {",
"+ display: flex;",
"+ align-items: center;",
"+ gap: var(--space-sm);",
"+ margin-bottom: var(--space-xs);",
"+}",
"+.critique-icon {",
"+ font-size: 1rem;",
"+}",
"+.critique-item.passed .critique-icon { color: #28a745; }",
"+.critique-item.failed .critique-icon { color: #dc3545; }",
"+.critique-name {",
"+ font-weight: 600;",
"+ flex: 1;",
"+}",
"+.critique-rating-badge {",
"+ background: var(--color-bg-muted);",
"+ padding: 2px 8px;",
"+ border-radius: 12px;",
"+ font-size: 0.8rem;",
"+ font-weight: 500;",
"+}",
"+.critique-text {",
"+ font-size: 0.9rem;",
"+ color: var(--color-text);",
"+ line-height: 1.5;",
"+ margin-bottom: var(--space-xs);",
"+}",
"+.critique-issues, .critique-suggestions {",
"+ font-size: 0.85rem;",
"+ margin-top: var(--space-xs);",
"+}",
"+.critique-issues ul, .critique-suggestions ul {",
"+ margin: var(--space-xs) 0 0 var(--space-md);",
"+ padding: 0;",
"+}",
"+.critique-issues li, .critique-suggestions li {",
"+ margin-bottom: 4px;",
"+}",
"+<\/style>",
"+",
"+<script>",
"+\/\/ Reload page after showing critique results to update buttons",
"+setTimeout(function() { window.location.reload(); }, 2000);",
"+<\/script>"
]
}
],
"userModified": false,
"replaceAll": false
}
}