:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{width:1250px;max-width:1250px;margin:0 auto;padding:1rem;min-height:100vh;display:flex;flex-direction:column}.tab-bar{display:flex;border-bottom:2px solid #e1e5e9;margin-bottom:1rem;background-color:#f8f9fa;border-radius:8px 8px 0 0;padding:.5rem}.tab{display:flex;align-items:center;padding:.75rem 1rem;margin-right:.25rem;background-color:#fff;border:1px solid #e1e5e9;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.tab:hover{background-color:#f1f3f4}.tab.active{background-color:#fff;border-color:#646cff;box-shadow:0 -2px 4px #646cff1a}.tab-name{font-weight:500;color:#333}.tab.active .tab-name{color:#646cff;font-weight:600}.close-btn{background:none;border:none;font-size:1.2rem;color:#666;cursor:pointer;margin-left:.5rem;padding:.25rem;border-radius:4px;transition:all .2s ease}.close-btn:hover{background-color:#ff4757;color:#fff}.new-tab-btn{padding:.75rem 1rem;background-color:#646cff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .2s ease;margin-left:auto}.new-tab-btn:hover{background-color:#5a67d8}.tab-content{flex:1;background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.json-processor{display:flex;flex-direction:column;height:100%}.json-processor h2{margin-top:0;margin-bottom:1rem;color:#333;font-size:1.5rem}.json-input{flex:1;min-height:400px;padding:1rem;border:2px solid #e1e5e9;border-radius:8px;font-family:Courier New,monospace;font-size:.9rem;line-height:1.4;resize:vertical;outline:none;transition:border-color .2s ease}.json-input:focus{border-color:#646cff;box-shadow:0 0 0 3px #646cff1a}.json-input::placeholder{color:#999;font-style:italic}.process-btn{align-self:flex-start;margin-top:1rem;padding:.75rem 2rem;background-color:#28a745;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.process-btn:hover:not(:disabled){background-color:#218838;transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.process-btn:disabled{background-color:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.json-viewer{height:100%;display:flex;flex-direction:column}.viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e1e5e9}.viewer-header h2{margin:0;color:#333;font-size:1.5rem}.reset-btn{padding:.5rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.reset-btn:hover{background-color:#5a6268}.processed-content{flex:1;display:flex;flex-direction:column;gap:1.5rem;overflow:auto}.summary{background-color:#f8f9fa;padding:1rem;border-radius:8px;border-left:4px solid #646cff}.summary h3{margin-top:0;margin-bottom:.75rem;color:#333;font-size:1.2rem}.summary p{margin:.25rem 0;color:#666;font-size:.9rem}.json-display{flex:1;min-height:300px}.json-display h3{margin-top:0;margin-bottom:1rem;color:#333;font-size:1.2rem}.json-content{background-color:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;padding:1rem;font-family:Courier New,monospace;font-size:.85rem;line-height:1.4;overflow:auto;max-height:400px;color:#333;white-space:pre-wrap;word-break:break-all}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.summary-item{display:flex;justify-content:space-between;padding:.5rem;background:#f8f9fa;border-radius:4px;border-left:3px solid #007bff}.summary-item .label{font-weight:500;color:#495057}.summary-item .value{font-weight:600;color:#212529}.exception-count{color:#dc3545}.logs-container{max-height:80vh;overflow-y:auto;border:1px solid #dee2e6;border-radius:8px;background:#fff}.log-entry{border-bottom:1px solid #e9ecef;padding:1rem;transition:background-color .2s}.log-entry:hover{background-color:#f8f9fa}.log-entry.has-exception{border-left:4px solid #dc3545;background-color:#fff5f5}.log-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.log-kind{font-weight:600;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;text-transform:uppercase}.kind-headers{background:#e3f2fd;color:#1976d2}.kind-transition{background:#f3e5f5;color:#7b1fa2}.kind-predicate{background:#fff3e0;color:#f57c00}.kind-action{background:#e8f5e8;color:#388e3c}.kind-handler-result{background:#fce4ec;color:#c2185b}.kind-default{background:#f5f5f5;color:#757575}.result-status{font-weight:700;padding:.25rem .5rem;border-radius:50%;font-size:.75rem}.result-status.success{background:#d4edda;color:#155724}.result-status.failure{background:#f8d7da;color:#721c24}.transition-info{margin-bottom:.5rem;font-size:.9rem}.exception-info{background:#f8d7da;color:#721c24;padding:.5rem;border-radius:4px;margin-bottom:.5rem;border:1px solid #f5c6cb}.raw-content{margin-top:.5rem}.raw-content summary{cursor:pointer;font-weight:500;color:#6c757d;padding:.25rem 0}.raw-content pre{background:#f8f9fa;padding:1rem;border-radius:4px;font-size:.8rem;overflow-x:auto;margin-top:.5rem;border:1px solid #e9ecef}.raw-json-details{margin-top:1rem;border:1px solid #dee2e6;border-radius:4px}.raw-json-summary{cursor:pointer;padding:.5rem .75rem;background:#f8f9fa;border:none;font-weight:500;color:#6c757d;font-size:.875rem}.raw-json-summary:hover{background:#e9ecef}.raw-json-content{padding:0;background:#f8f9fa;border-top:1px solid #dee2e6}.raw-json-content pre{margin:0;padding:1rem;background:#fff;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;line-height:1.4;overflow-x:auto;color:#212529;border:none}.header-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}.header-item{display:flex;flex-direction:column;gap:.25rem}.header-label{font-weight:600;color:#495057;font-size:.875rem}.header-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#212529;font-size:.9rem;background:#fff;padding:.25rem .5rem;border-radius:4px;border:1px solid #dee2e6}.action-flow{display:flex;flex-direction:column;gap:.5rem}.action-group{border:1px solid #e9ecef;border-radius:6px;background:#fff;transition:all .2s ease}.action-group:hover{box-shadow:0 2px 4px #0000001a}.action-group.has-exception{border-left:4px solid #dc3545;background:#fff5f5}.action-group.simple-result{opacity:.7;background:#fafafa;border-color:#e9ecef}.action-group.simple-result .action-line{background:#f8f9fa;border-bottom:none}.action-group.simple-result .action-name{color:#6c757d;font-size:.85rem}.action-group.complex-result{border-color:#007bff;box-shadow:0 1px 3px #007bff1a}.action-group.complex-result .action-line{background:#fff;border-bottom:2px solid #f8f9fa}.action-group.complex-result .action-name{color:#212529;font-weight:500}.action-line{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #f8f9fa;background:#fdfdfd}.action-content{display:flex;gap:.5rem;align-items:center}.action-label{font-weight:600;color:#6c757d;font-size:.875rem}.action-name{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#212529;font-size:.9rem}.predicate-result{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#6c757d;font-size:.85rem;margin-left:.5rem;font-style:italic}.result-indicator{font-weight:700;padding:.25rem .5rem;border-radius:12px;font-size:.75rem}.result-indicator.success{background:#d4edda;color:#155724}.result-indicator.failure{background:#f8d7da;color:#721c24}.transition-line{display:flex;gap:.5rem;align-items:center;padding:.5rem 1rem;background:#f8f9fa;font-size:.875rem;color:#6c757d}.transition-label{font-weight:700;color:#7b1fa2}.transition-content{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.handler-details{border-top:1px solid #e9ecef}.handler-summary{cursor:pointer;padding:.75rem 1rem;background:#f8f9fa;border:none;font-weight:500;color:#495057;display:flex;justify-content:space-between;align-items:center;text-align:left}.handler-summary:hover{background:#e9ecef}.exception-indicator{color:#dc3545;font-size:.875rem;font-weight:600}.handler-content{padding:1rem}.exception-details{background:#f8d7da;color:#721c24;padding:.75rem;border-radius:4px;margin-bottom:1rem;border:1px solid #f5c6cb}.statebag{margin-top:1rem}.statebag-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin-top:.5rem}.statebag-item{gap:.5rem;padding:.5rem;background:#f8f9fa;border-radius:4px;border-left:3px solid #28a745}.statebag-item .key{font-weight:600;color:#495057;min-width:fit-content}.statebag-item .value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#212529;word-break:break-all}.inline-exception{display:flex;gap:.5rem;align-items:flex-start;padding:.75rem 1rem;background:#fff5f5;border-left:3px solid #dc3545;margin:0}.exception-icon{color:#dc3545;font-weight:700;font-size:1rem;flex-shrink:0}.exception-message{color:#721c24;font-size:.9rem;line-height:1.4;word-break:break-word}.complex-clms-section{margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #28a745}.complex-clms-section h3{margin:0 0 1rem;color:#333;font-size:1.1rem;font-weight:600}.clms-table{background:#fff;border-radius:6px;overflow:hidden;border:1px solid #dee2e6}.clms-table table{width:100%;border-collapse:collapse;font-size:.9rem}.clms-table th{background:#e9ecef;padding:.75rem 1rem;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.clms-table td{padding:.5rem 1rem;border-bottom:1px solid #e9ecef;vertical-align:top}.clms-table tr:last-child td{border-bottom:none}.clms-table tr:nth-child(2n){background-color:#f8f9fa}.claim-key{font-weight:600;color:#495057;min-width:120px;width:25%}.claim-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#212529;word-break:break-all}.header-actions{display:flex;gap:.5rem;align-items:center}.toggle-all-btn{padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease;font-size:.875rem}.toggle-all-btn:hover{background-color:#0056b3}.toggle-all-btn:active{transform:translateY(1px)}.policy-with-date{display:flex;flex-direction:column;gap:.25rem}.machstate-date{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#6c757d;font-size:.8rem;background:#f8f9fa;padding:.2rem .4rem;border-radius:3px;border:1px solid #e9ecef}@media (max-width: 768px){.app{padding:.5rem}.tab-bar{flex-wrap:wrap;gap:.25rem}.tab,.new-tab-btn{padding:.5rem .75rem;font-size:.9rem}.tab-content{padding:1rem}.json-input{min-height:300px;font-size:.8rem}.viewer-header{flex-direction:column;align-items:flex-start;gap:1rem}.json-content{font-size:.75rem;max-height:300px}}
