:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{max-width:1400px;min-height:100vh;margin:0 auto;padding:20px}.app-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;margin-bottom:30px;padding:30px;box-shadow:0 4px 6px #0000001a}.app-header h1{margin-bottom:10px;font-size:2.5rem}.subtitle{opacity:.9;font-size:1.1rem}.endpoint-selector{background:#fff;border-radius:8px;align-items:center;gap:15px;margin-bottom:20px;padding:20px;display:flex;box-shadow:0 2px 4px #0000000d}.selectors-container{background:#fff;border-radius:8px;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;padding:20px;display:grid;box-shadow:0 2px 4px #0000000d}.selector-group{flex-direction:column;gap:10px;display:flex}.selector-group label{color:#333;font-weight:600}.selector-group select{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:6px;padding:10px 15px;font-size:1rem;transition:border-color .3s}.selector-group select:hover{border-color:#667eea}.selector-group select:focus{border-color:#667eea;outline:none}.endpoint-selector label{color:#333;font-weight:600}.endpoint-selector select{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:6px;padding:10px 15px;font-size:1rem;transition:border-color .3s}.endpoint-selector select:hover{border-color:#667eea}.endpoint-selector select:focus{border-color:#667eea;outline:none}.loading-container,.error-container{text-align:center;background:#fff;border-radius:8px;padding:60px;box-shadow:0 2px 4px #0000000d}.spinner{border:4px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-detail{color:#667eea;margin-top:10px;font-size:.9rem;font-weight:500}.error-container h3{color:#e53e3e;margin-bottom:10px}.error-container button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;margin-top:20px;padding:10px 20px;font-size:1rem}.comparator-container{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000000d}.controls{border-bottom:2px solid #f0f0f0;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.control-group{align-items:center;gap:15px;display:flex}.control-group label{color:#333;font-weight:600}.control-group input{border:2px solid #e0e0e0;border-radius:6px;width:100px;padding:8px 12px;font-size:1rem}.control-group button,.download-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:10px 20px;font-size:1rem;transition:background .3s}.control-group button:hover,.download-btn:hover{background:#5568d3}.summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;display:grid}.summary-card{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;padding:20px}.summary-card h3{opacity:.9;margin-bottom:10px;font-size:1rem}.summary-card .count{font-size:2rem;font-weight:700}.no-differences{text-align:center;background:#f0fdf4;border:2px solid #86efac;border-radius:8px;padding:60px}.no-differences h3{color:#16a34a;margin-bottom:10px;font-size:1.5rem}.differences-list{margin-top:30px}.differences-list>h2{color:#333;margin-bottom:20px}.diff-item{border:2px solid #e0e0e0;border-radius:8px;margin-bottom:15px;transition:all .3s;overflow:hidden}.diff-item:hover{box-shadow:0 4px 8px #0000001a}.diff-removed{background:#fef2f2;border-color:#fca5a5}.diff-added{background:#f0fdf4;border-color:#86efac}.diff-modified{background:#fefce8;border-color:#fcd34d}.diff-header{cursor:pointer;justify-content:space-between;align-items:center;padding:20px;transition:background .2s;display:flex}.diff-header:hover{background:#00000005}.diff-info{flex:1;align-items:center;gap:15px;display:flex}.diff-badge{text-transform:uppercase;border-radius:20px;align-items:center;gap:5px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.diff-badge .field-count{opacity:.9;font-size:.75rem;font-weight:400}.diff-badge.diff-removed{color:#fff;background:#dc2626}.diff-badge.diff-added{color:#fff;background:#16a34a}.diff-badge.diff-modified{color:#fff;background:#ca8a04}.diff-title{color:#333;flex:1;font-size:1.1rem}.diff-id{color:#666;font-size:.9rem}.expand-btn{cursor:pointer;color:#667eea;background:0 0;border:none;padding:5px 10px;font-size:1.2rem}.diff-body{background:#fff;border-top:2px solid #e0e0e0;padding:20px}.view-mode-toggle{gap:10px;margin-bottom:20px;display:flex}.view-mode-toggle button{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:6px;padding:8px 16px;transition:all .3s}.view-mode-toggle button.active{color:#fff;background:#667eea;border-color:#667eea}.view-mode-toggle button:hover{border-color:#667eea}.changes-summary{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;margin-bottom:20px;padding:20px}.changes-summary h4{color:#495057;margin-bottom:15px;font-size:1.1rem}.summary-list{flex-direction:column;gap:15px;display:flex}.summary-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px}.field-name{color:#495057;background:#e9ecef;border-radius:4px;margin-bottom:10px;padding:8px;font-family:Courier New,monospace;font-weight:700}.field-values{grid-template-columns:1fr 1fr;gap:15px;display:grid}.value-prod,.value-staging{color:#212529;border-radius:4px;padding:10px}.value-prod{background:#fff3cd;border:1px solid #ffc107}.value-staging{background:#d1ecf1;border:1px solid #0dcaf0}.value-prod strong,.value-staging strong{color:#212529;margin-bottom:8px;font-size:.9rem;display:block}.value-prod pre,.value-staging pre{white-space:pre-wrap;word-break:break-word;color:#212529;max-height:200px;margin:0;font-family:Courier New,monospace;font-size:.85rem;overflow-y:auto}.diff-split-view{grid-template-columns:1fr 1fr;gap:20px;display:grid}.diff-column h4{text-transform:uppercase;color:#666;background:#f5f5f5;border-radius:6px 6px 0 0;margin-bottom:0;padding:10px;font-size:.9rem}.diff-content{color:#d4d4d4;background:#1e1e1e;border-radius:0 0 6px 6px;max-height:500px;padding:15px;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;overflow:auto}.diff-line{min-height:20px;display:flex}.line-number{color:#858585;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;width:40px;padding-right:10px;display:inline-block}.line-marker{text-align:center;flex-shrink:0;width:20px;font-weight:700;display:inline-block}.line-content{white-space:pre-wrap;word-break:break-all;flex:1}.diff-line-changed{background:#ffc10766;border-left:4px solid #ffc107;padding-left:8px;animation:2s ease-in-out pulse-highlight}@keyframes pulse-highlight{0%,to{background:#ffc10766}50%{background:#ffc10799}}.diff-line-removed{color:#fca5a5;background:#dc26264d;border-left:4px solid #dc2626;padding-left:8px}.diff-line-removed .line-marker{color:#dc2626}.diff-line-added{color:#86efac;background:#16a34a4d;border-left:4px solid #16a34a;padding-left:8px}.diff-line-added .line-marker{color:#16a34a}.single-json-view h4{color:#333;margin-bottom:10px}.single-json-view .diff-content{border-radius:6px}@media (max-width:768px){.app-header h1{font-size:1.8rem}.selectors-container,.diff-split-view,.field-values{grid-template-columns:1fr}.controls{flex-direction:column;align-items:flex-start;gap:15px}.summary{grid-template-columns:1fr}.view-mode-toggle{flex-wrap:wrap}}
