.sd-json-split{display:flex;flex-direction:column;padding:0;overflow:hidden}@media (min-width:768px){.sd-json-split{display:grid;grid-template-columns:1fr 140px 1fr;min-height:520px}}@media (min-width:900px){.sd-json-split{display:grid;grid-template-columns:1fr 200px 1fr;min-height:520px}.sd-json-actions{width:200px;overflow-y:auto;max-height:100%;justify-content:center}.sd-json-panel,.sd-json-output-wrap{min-height:520px}.sd-json-btn{width:auto;white-space:nowrap}.sd-json-load-btn,.sd-json-copy-btn{white-space:nowrap}}@media (min-width:1200px){.sd-json-split{display:grid;grid-template-columns:1fr 240px 1fr;min-height:560px}.sd-json-actions{width:240px}.sd-json-panel,.sd-json-output-wrap{min-height:560px}}.sd-json-panel{display:flex;flex-direction:column}.sd-json-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-json-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-json-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box}.sd-json-output-wrap{flex:1;position:relative}.sd-json-output{margin:0;padding:18px;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;color:var(--text-main);white-space:pre-wrap;word-break:break-all;overflow-y:auto;position:absolute;inset:0}@media (max-width:767px){.sd-json-output{position:static;min-height:240px}.sd-json-output-wrap{min-height:240px}}.sd-json-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);opacity:.4;pointer-events:none;font-size:13px}.sd-json-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:18px 10px;border-left:1px solid var(--glass-border);position:relative}.sd-json-resize-handle{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:10}.sd-json-resize-handle--left{left:-3px}.sd-json-resize-handle:hover{background:rgba(59,130,246,.2)}.sd-json-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:rgba(128,128,128,.04);border:1px solid var(--glass-border);border-radius:8px;margin-bottom:16px;flex-wrap:wrap;gap:10px}.sd-json-toolbar__left,.sd-json-toolbar__center,.sd-json-toolbar__right{display:flex;align-items:center;gap:8px}.sd-json-view-toggle{display:flex;background:rgba(128,128,128,.08);border-radius:6px;padding:2px}.sd-json-view-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border:none;background:0 0;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-muted);transition:all .2s}.sd-json-view-btn:hover{color:var(--text-main)}.sd-json-view-btn.active{background:#333;color:#fff}.sd-json-tool-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--glass-border);background:rgba(128,128,128,.04);border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-muted);transition:all .2s}.sd-json-tool-btn:hover{background:rgba(128,128,128,.1);color:var(--text-main)}.sd-json-search-wrap{display:flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(128,128,128,.06);border-radius:6px;border:1px solid transparent}.sd-json-search-wrap:focus-within{border-color:var(--primary-color)}.sd-json-search-wrap svg{color:var(--text-muted);flex-shrink:0}.sd-json-search-input{border:none;background:0 0;outline:0;font-size:12px;width:180px;color:var(--text-main)}.sd-json-search-input::placeholder{color:var(--text-muted)}.sd-json-search-count{font-size:11px;color:var(--text-muted);padding:2px 6px;background:rgba(128,128,128,.1);border-radius:10px}.sd-json-sample-dropdown,.sd-json-export-dropdown{position:relative}.sd-json-sample-menu,.sd-json-export-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#2d2d2d;border:1px solid var(--glass-border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:150px;z-index:100;display:none;overflow:hidden}.sd-json-sample-dropdown.open .sd-json-sample-menu,.sd-json-export-dropdown.open .sd-json-export-menu{display:block}.sd-json-sample-menu button,.sd-json-export-menu button{display:block;width:100%;padding:10px 14px;border:none;background:0 0;text-align:left;font-size:12px;cursor:pointer;color:var(--text-main);transition:background .15s}.sd-json-sample-menu button:hover,.sd-json-export-menu button:hover{background:rgba(59,130,246,.08)}.sd-json-stats{display:flex;gap:16px;padding:12px 16px;background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.15);border-radius:8px;margin-bottom:16px;flex-wrap:wrap}.sd-json-stat{display:flex;flex-direction:column;gap:2px}.sd-json-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.sd-json-stat-value{font-size:14px;font-weight:600;color:var(--text-main)}.sd-json-schema-panel,.sd-json-diff-panel{background:rgba(30,30,35,.98);border:1px solid var(--glass-border);border-radius:8px;margin-bottom:16px;overflow:hidden}.sd-json-schema-header,.sd-json-diff-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(128,128,128,.04);border-bottom:1px solid var(--glass-border);font-size:12px;font-weight:600}.sd-json-schema-close{background:0 0;border:none;font-size:18px;cursor:pointer;color:var(--text-muted);line-height:1}.sd-json-schema-input,.sd-json-diff-input{width:100%;min-height:120px;padding:12px;font-family:'Courier New',Courier,monospace;font-size:12px;border:none;resize:vertical;box-sizing:border-box}.sd-json-schema-actions{padding:10px 14px;display:flex;gap:8px;border-top:1px solid var(--glass-border)}.sd-json-diff-panel{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;padding:16px;align-items:start}.sd-json-diff-input-wrap,.sd-json-diff-output-wrap{display:flex;flex-direction:column;gap:8px}.sd-json-diff-input{min-height:200px}.sd-json-diff-controls{display:flex;flex-direction:column;justify-content:center;gap:8px;padding-top:40px}.sd-json-diff-result{margin-top:16px;grid-column:1/-1;max-height:400px;overflow:auto}.sd-json-diff-added{background:rgba(16,185,129,.1);color:#059669}.sd-json-diff-removed{background:rgba(239,68,68,.1);color:#dc2626}.sd-json-diff-changed{background:rgba(245,158,11,.1);color:#d97706}.sd-json-drop-zone{position:fixed;inset:0;background:rgba(59,130,246,.95);display:none;align-items:center;justify-content:center;flex-direction:column;gap:16px;z-index:1000;color:#fff;font-size:18px}.sd-json-drop-zone.active{display:flex}.sd-json-tree-view{position:absolute;inset:0;padding:18px;overflow:auto;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;display:none}.sd-json-tree-view.active{display:block}.sd-json-tree-node{margin-left:20px}.sd-json-tree-key{color:#9b5de5}.sd-json-tree-string{color:#10b981}.sd-json-tree-number{color:#f59e0b}.sd-json-tree-boolean{color:#3b82f6}.sd-json-tree-null{color:#ef4444}.sd-json-tree-toggle{width:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-right:4px;color:var(--text-muted)}.sd-json-tree-toggle::before{content:'\25B6';font-size:10px;transition:transform .2s}.sd-json-tree-toggle.collapsed::before{transform:rotate(90deg)}.sd-json-tree-toggle.empty::before{content:'\25CF';font-size:8px}.sd-json-theme-icon-light{display:block}.sd-json-theme-icon-dark{display:none}.sd-json-split.sd-json-split.sd-json-split.sd-json-split.sd-json-split.sd-json-split.sd-json-split.sd-json-split.sd-json-split.sd-json-split.sd-json-actions{border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:var(--sd-surface-2);justify-content:center}@media (max-width:767px){.sd-json-actions{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;border-left:none;border-right:none;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);padding:12px;gap:6px;justify-content:flex-start}.sd-json-btn-sep{display:none}.sd-json-btn{width:auto;flex:0 0 auto}}.sd-json-btn-sep{height:1px;background:var(--glass-border);margin:2px 0;flex-shrink:0}.sd-json-btn{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:7px;font-size:11.5px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap;width:100%;text-align:left;letter-spacing:.02em}.sd-json-btn svg{flex-shrink:0}.sd-json-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-json-btn--beautify{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-json-btn--beautify:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue);color:var(--accent-blue)}.sd-json-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-json-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}.sd-json-btn--validate{color:var(--text-muted)}.sd-json-btn--validate:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-json-btn--validate.is-valid{color:#16a34a;border-color:rgba(22,163,74,.4);background:rgba(22,163,74,.07)}:root[data-theme=light] .sd-json-btn--validate.is-valid{color:#15803d}.sd-json-btn--ts{color:#3b82f6;border-color:rgba(59,130,246,.35)}.sd-json-btn--ts:hover{background:rgba(59,130,246,.08);border-color:var(--accent-blue);color:var(--accent-blue)}.sd-json-btn--share{color:#8b5cf6;border-color:rgba(139,92,246,.35)}.sd-json-btn--share:hover{background:rgba(139,92,246,.08);border-color:#8b5cf6;color:#8b5cf6}.sd-json-load-btns{display:flex;gap:6px}.sd-json-load-btn{display:flex;align-items:center;gap:4px;padding:4px 9px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.sd-json-load-btn.is-active,.sd-json-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-json-url-bar{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.03)}.sd-json-url-input{flex:1;min-width:0;padding:6px 10px;border-radius:6px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:12px;outline:0;transition:border-color .15s}.sd-json-url-input::placeholder{color:var(--text-muted);opacity:.6}.sd-json-url-input:focus{border-color:var(--accent-blue)}.sd-json-url-load-btn{padding:6px 14px;border-radius:6px;border:1px solid rgba(59,130,246,.4);background:rgba(59,130,246,.08);color:var(--accent-blue);font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;letter-spacing:.04em}.sd-json-url-load-btn:hover:not(:disabled){background:rgba(59,130,246,.16);border-color:var(--accent-blue)}.sd-json-url-load-btn:disabled{opacity:.5;cursor:not-allowed}.sd-json-indent-wrap{display:flex;align-items:center;justify-content:space-between;gap:6px}.sd-json-indent-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.sd-json-indent-select{flex:1;min-width:0;padding:5px 6px;border-radius:6px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:12px;font-weight:600;cursor:pointer;outline:0;appearance:none;text-align:center}.sd-json-indent-select:focus{border-color:var(--accent-blue)}.sd-json-copy-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s;text-transform:uppercase;letter-spacing:.07em}.sd-json-copy-btn:hover{background:rgba(128,128,128,.1);color:var(--text-main)}.sd-json-copy-btn--copied{border-color:rgba(59,130,246,.5);color:var(--accent-blue)!important}.sd-json-output-actions{display:flex;gap:6px}.sd-json-editor-wrap{display:flex;flex:1;overflow:hidden}.sd-line-numbers{flex-shrink:0;width:50px;padding:18px 8px;background:rgba(128,128,128,.04);border-right:1px solid var(--glass-border);font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;color:var(--text-muted);text-align:right;overflow:hidden;user-select:none}.sd-line-numbers .line-num{opacity:.5}.sd-json-editor{flex:1;padding-left:12px}.json-key{color:#d946ef}.json-string{color:#22c55e}.json-number{color:#f59e0b}.json-boolean{color:#3b82f6}.json-null{color:#ef4444}:root[data-theme=light] .json-key{color:#a21caf}:root[data-theme=light] .json-string{color:#15803d}:root[data-theme=light] .json-number{color:#b45309}:root[data-theme=light] .json-boolean{color:#1d4ed8}:root[data-theme=light] .json-null{color:#dc2626}.sd-json-error-details{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;margin-bottom:20px;font-family:'Courier New',Courier,monospace;font-size:12px}.error-position{color:#ef4444;font-weight:600;margin-bottom:8px}.error-preview{background:rgba(0,0,0,.2);padding:8px 12px;border-radius:4px;line-height:1.6}.error-line{color:#ef4444;background:rgba(239,68,68,.15);margin:0 -12px;padding:0 12px}.line-num-preview{color:var(--text-muted);margin-right:8px;user-select:none}.sd-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);padding:12px 24px;border-radius:8px;font-size:13px;font-weight:500;z-index:1000;opacity:0;transition:transform .3s,opacity .3s;pointer-events:none}.sd-toast--visible{transform:translateX(-50%) translateY(0);opacity:1}.sd-toast--success{background:rgba(22,163,74,.95);color:#fff}.sd-toast--error{background:rgba(239,68,68,.95);color:#fff}.sd-toast--info{background:rgba(59,130,246,.95);color:#fff}.sd-json-editor::-webkit-scrollbar,.sd-json-output::-webkit-scrollbar{width:5px}.sd-json-editor::-webkit-scrollbar-track,.sd-json-output::-webkit-scrollbar-track{background:0 0}.sd-json-editor::-webkit-scrollbar-thumb,.sd-json-output::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-csv-options{display:flex;flex-wrap:wrap;gap:16px;padding:12px 18px;border-bottom:1px solid var(--glass-border)}.sd-csv-option{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.sd-csv-option select{padding:4px 8px;border-radius:5px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:12px;outline:0;cursor:pointer}.sd-diff-container{display:flex;flex-direction:column;padding:0;overflow:hidden}@media (min-width:900px){.sd-diff-container{display:grid;grid-template-columns:1fr auto 1fr;min-height:400px}}.sd-diff-panel{display:flex;flex-direction:column}.sd-diff-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-diff-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-diff-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-diff-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-diff-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box;min-height:300px}.sd-diff-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:18px 12px;border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:var(--sd-surface-2);justify-content:center;width:100px}@media (max-width:899px){.sd-diff-actions{flex-direction:row;border-left:none;border-right:none;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);padding:12px;width:auto;justify-content:center}.sd-diff-btn{width:auto;flex:1;min-width:100px}}.sd-diff-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap;width:100%;letter-spacing:.02em}.sd-diff-btn svg{flex-shrink:0}.sd-diff-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-diff-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-diff-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-diff-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-diff-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}.sd-diff-result{padding:0;overflow:hidden}.sd-diff-result__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-diff-result__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-diff-legend{display:flex;gap:12px}.sd-diff-legend__item{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px}.sd-diff-legend__added{background:rgba(34,197,94,.2);color:#16a34a}.sd-diff-legend__removed{background:rgba(239,68,68,.2);color:#dc2626}.sd-diff-legend__changed{background:rgba(234,179,8,.2);color:#ca8a04}:root[data-theme=light] .sd-diff-legend__added{color:#15803d}:root[data-theme=light] .sd-diff-legend__removed{color:#b91c1c}:root[data-theme=light] .sd-diff-legend__changed{color:#a16207}.sd-diff-stats{display:flex;gap:24px;padding:12px 18px;justify-content:center;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.stat-count{font-family:monospace;font-weight:700;font-size:16px;padding:2px 8px;border-radius:4px;min-width:30px;text-align:center}.stat-added .stat-count{background:rgba(34,197,94,.2);color:#16a34a}.stat-removed .stat-count{background:rgba(239,68,68,.2);color:#dc2626}.stat-changed .stat-count{background:rgba(234,179,8,.2);color:#ca8a04}.stat-total .stat-count{background:rgba(128,128,128,.2);color:var(--text-muted)}:root[data-theme=light] .stat-added .stat-count{color:#15803d}:root[data-theme=light] .stat-removed .stat-count{color:#b91c1c}:root[data-theme=light] .stat-changed .stat-count{color:#a16207}.sd-diff-toolbar{display:flex;align-items:center;gap:12px}.sd-diff-tool-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:all .15s}.sd-diff-tool-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--text-main)}.sd-diff-tool-btn.active{background:rgba(59,130,246,.12);border-color:var(--accent-blue);color:var(--accent-blue)}.sd-diff-tool-btn:disabled{opacity:.5;cursor:not-allowed}.sd-diff-tool-btn svg{flex-shrink:0}.diff-sidebyside{display:flex;flex-direction:column;gap:2px}.diff-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;min-height:24px}.diff-left,.diff-right{padding:4px 8px;border-radius:4px;font-family:'Courier New',Courier,monospace;word-break:break-all}.diff-left.diff-removed{background:rgba(239,68,68,.1)}.diff-right.diff-added{background:rgba(34,197,94,.1)}.diff-sign{font-weight:700;margin-right:4px}.diff-left .diff-sign{color:#dc2626}.diff-right .diff-sign{color:#16a34a}.char-added{background:rgba(34,197,94,.4);border-radius:2px;padding:0 1px}.char-removed{background:rgba(239,68,68,.4);text-decoration:line-through;border-radius:2px;padding:0 1px}.sd-diff-output{padding:18px;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;color:var(--text-main);white-space:pre-wrap;word-break:break-all;max-height:500px;overflow-y:auto;min-height:100px}.sd-diff-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);opacity:.4;font-size:13px;min-height:100px}.diff-line{padding:2px 8px;margin:0 -8px;border-radius:4px}.diff-added{background:rgba(34,197,94,.15);color:#16a34a}.diff-removed{background:rgba(239,68,68,.15);color:#dc2626}.diff-changed{background:rgba(234,179,8,.15);color:#ca8a04}.diff-key{font-weight:700}.diff-arrow{color:var(--text-muted);margin:0 8px}:root[data-theme=light] .diff-added{color:#15803d}:root[data-theme=light] .diff-removed{color:#b91c1c}:root[data-theme=light] .diff-changed{color:#a16207}.sd-diff-editor::-webkit-scrollbar,.sd-diff-output::-webkit-scrollbar{width:5px}.sd-diff-editor::-webkit-scrollbar-track,.sd-diff-output::-webkit-scrollbar-track{background:0 0}.sd-diff-editor::-webkit-scrollbar-thumb,.sd-diff-output::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-flatten-split{display:flex;flex-direction:column;padding:0;overflow:hidden}@media (min-width:768px){.sd-flatten-split{display:grid;grid-template-columns:1fr auto 1fr;min-height:420px}}.sd-flatten-panel{display:flex;flex-direction:column}.sd-flatten-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-flatten-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-flatten-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-flatten-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-flatten-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box}.sd-flatten-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:18px 12px;border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:var(--sd-surface-2);justify-content:center;width:140px}.sd-flatten-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap;letter-spacing:.02em}.sd-flatten-btn svg{flex-shrink:0}.sd-flatten-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-flatten-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-flatten-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-flatten-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-flatten-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}.sd-flatten-btn--csv{color:#22c55e;border-color:rgba(34,197,94,.35)}.sd-flatten-btn--csv:hover{background:rgba(34,197,94,.08);border-color:#22c55e;color:#22c55e}.sd-flatten-options{margin-top:12px;padding-top:12px;border-top:1px solid var(--glass-border);display:flex;flex-direction:column;gap:10px}.sd-flatten-option{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-muted);cursor:pointer}.sd-flatten-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-blue);cursor:pointer}.sd-flatten-option input[type=number],.sd-flatten-option input[type=text]{width:40px;padding:4px 6px;border-radius:4px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-family:monospace;font-size:12px;text-align:center}.sd-flatten-output-actions{display:flex;gap:6px}@media (max-width:767px){.sd-flatten-actions{flex-direction:row;flex-wrap:wrap;border-left:none;border-right:none;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);padding:12px;width:auto;justify-content:center}.sd-flatten-options{flex-direction:row;width:100%;margin-top:0;padding-top:0;border-top:none;justify-content:center}.sd-flatten-btn{flex:1;min-width:100px}}.sd-flatten-editor::-webkit-scrollbar{width:5px}.sd-flatten-editor::-webkit-scrollbar-track{background:0 0}.sd-flatten-editor::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-linter-split{display:flex;flex-direction:column;padding:0;overflow:hidden}@media (min-width:768px){.sd-linter-split{display:grid;grid-template-columns:1fr auto 1fr;min-height:400px}}.sd-linter-panel{display:flex;flex-direction:column}.sd-linter-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-linter-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-linter-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-linter-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-linter-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box}.sd-linter-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:18px 12px;border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:var(--sd-surface-2);justify-content:center;width:120px}.sd-linter-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap;letter-spacing:.02em}.sd-linter-btn svg{flex-shrink:0}.sd-linter-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-linter-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-linter-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-linter-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-linter-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}.sd-linter-issues__header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px}.sd-linter-issues__list{display:flex;flex-wrap:wrap;gap:8px}.sd-linter-issue{font-size:11px;padding:4px 10px;border-radius:4px;background:rgba(128,128,128,.1);color:var(--text-muted)}@media (max-width:767px){.sd-linter-actions{flex-direction:row;border-left:none;border-right:none;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);padding:12px;width:auto;justify-content:center}.sd-linter-btn{flex:1}}.sd-linter-editor::-webkit-scrollbar{width:5px}.sd-linter-editor::-webkit-scrollbar-track{background:0 0}.sd-linter-editor::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-sorter-container{display:flex;flex-direction:column;padding:0;overflow:hidden}@media (min-width:900px){.sd-sorter-container{display:grid;grid-template-columns:1fr 280px 1fr;min-height:500px}}.sd-sorter-panel{display:flex;flex-direction:column}.sd-sorter-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-sorter-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-sorter-actions{display:flex;gap:6px}.sd-sorter-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-sorter-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-sorter-output-actions{display:flex;gap:6px}.sd-sorter-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box}.sd-sorter-options{display:flex;flex-direction:column;gap:16px;padding:18px;border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:var(--sd-surface-2);overflow-y:auto}.sd-sorter-options__title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 4px 0}.sd-sorter-option-group{display:flex;flex-direction:column;gap:8px}.sd-sorter-option-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:2px}.sd-sorter-checkbox{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-main);cursor:pointer}.sd-sorter-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-blue);cursor:pointer}.sd-sorter-select{padding:8px 10px;border-radius:6px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:12px;cursor:pointer;outline:0}.sd-sorter-select:focus{border-color:var(--accent-blue)}.sd-sorter-field-wrap{margin-left:22px;margin-top:4px}.sd-sorter-field-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px}.sd-sorter-input{width:100%;padding:6px 10px;border-radius:6px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:12px;outline:0;box-sizing:border-box}.sd-sorter-input:focus{border-color:var(--accent-blue)}.sd-sorter-btn-group{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--glass-border)}.sd-sorter-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap}.sd-sorter-btn svg{flex-shrink:0}.sd-sorter-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-sorter-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-sorter-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-sorter-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-sorter-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}@media (max-width:899px){.sd-sorter-options{border-left:none;border-right:none;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);max-height:300px}.sd-sorter-btn-group{flex-direction:row}.sd-sorter-btn{flex:1}}.sd-sorter-editor::-webkit-scrollbar,.sd-sorter-options::-webkit-scrollbar{width:5px}.sd-sorter-editor::-webkit-scrollbar-track,.sd-sorter-options::-webkit-scrollbar-track{background:0 0}.sd-sorter-editor::-webkit-scrollbar-thumb,.sd-sorter-options::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-path-container{display:flex;flex-direction:column;gap:16px}.sd-path-panel{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:250px}.sd-path-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-path-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-path-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-path-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-path-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:vertical;box-sizing:border-box;min-height:200px}.sd-path-query-panel{background:var(--sd-surface-2);border-radius:12px;padding:16px;border:1px solid var(--sd-border)}.sd-path-query-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sd-path-query-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);white-space:nowrap}.sd-path-query-input{flex:1;min-width:200px;padding:10px 14px;border-radius:8px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-family:'Courier New',Courier,monospace;font-size:14px;outline:0;transition:border-color .15s}.sd-path-query-input:focus{border-color:var(--accent-blue)}.sd-path-query-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid rgba(59,130,246,.4);background:rgba(59,130,246,.08);color:var(--accent-blue);white-space:nowrap}.sd-path-query-btn:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-path-help{margin-top:12px;font-size:12px;color:var(--text-muted)}.sd-path-help code{background:rgba(128,128,128,.15);padding:2px 6px;border-radius:4px;font-family:'Courier New',Courier,monospace;font-size:11px}.sd-path-output-panel{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:150px}.sd-path-output{flex:1;margin:0;padding:18px;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;color:var(--text-main);white-space:pre-wrap;word-break:break-all;overflow-y:auto;min-height:100px}.sd-path-output:empty::after{content:"Results will appear here";color:var(--text-muted);opacity:.5}@media (max-width:600px){.sd-path-query-row{flex-direction:column;align-items:stretch}.sd-path-query-btn{width:100%;justify-content:center}}.sd-path-editor::-webkit-scrollbar,.sd-path-output::-webkit-scrollbar{width:5px}.sd-path-editor::-webkit-scrollbar-track,.sd-path-output::-webkit-scrollbar-track{background:0 0}.sd-path-editor::-webkit-scrollbar-thumb,.sd-path-output::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-query-container{display:flex;flex-direction:column;gap:16px}@media (min-width:900px){.sd-query-container{display:grid;grid-template-columns:1fr 320px 1fr;gap:16px}}.sd-query-panel{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:450px}.sd-query-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-query-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-query-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-query-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-query-output-actions{display:flex;gap:6px}.sd-query-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box}.sd-query-controls{display:flex;flex-direction:column;gap:20px;padding:18px}.sd-query-input-wrap{display:flex;flex-direction:column;gap:8px}.sd-query-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-query-input{padding:12px 14px;border-radius:8px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-family:'Courier New',monospace;font-size:14px;outline:0;width:100%;box-sizing:border-box}.sd-query-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.sd-query-hint{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.sd-query-shortcut{background:rgba(128,128,128,.15);padding:2px 6px;border-radius:4px;font-family:monospace}.sd-query-presets{display:flex;flex-direction:column;gap:10px}.sd-query-preset-list{display:flex;flex-wrap:wrap;gap:6px}.sd-query-preset{padding:6px 10px;border-radius:5px;font-size:11px;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:all .15s}.sd-query-preset:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--text-main)}.sd-query-help{display:flex;flex-direction:column;gap:10px}.sd-query-help-list{list-style:none;margin:0;padding:0;font-size:12px}.sd-query-help-list li{margin:4px 0;color:var(--text-muted);display:flex;align-items:center;gap:8px}.sd-query-help-list code{background:rgba(128,128,128,.15);padding:2px 8px;border-radius:4px;font-family:monospace;font-size:11px;color:var(--accent-blue);min-width:60px}.sd-query-btn-group{display:flex;flex-direction:column;gap:8px;margin-top:auto}.sd-query-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap}.sd-query-btn svg{flex-shrink:0}.sd-query-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-query-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-query-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-query-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-query-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}@media (max-width:899px){.sd-query-controls{max-height:500px;overflow-y:auto}.sd-query-btn-group{flex-direction:row}.sd-query-btn{flex:1}}.sd-query-editor::-webkit-scrollbar{width:5px}.sd-query-editor::-webkit-scrollbar-track{background:0 0}.sd-query-editor::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-schema-split{display:flex;flex-direction:column;padding:0;overflow:hidden}@media (min-width:900px){.sd-schema-split{display:grid;grid-template-columns:1fr 1fr 280px;min-height:520px}}.sd-schema-panel{display:flex;flex-direction:column}.sd-schema-panel--schema{border-left:1px solid var(--glass-border)}@media (max-width:899px){.sd-schema-actions-panel,.sd-schema-panel--schema{border-left:none;border-top:1px solid var(--glass-border)}}.sd-schema-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0;gap:12px}.sd-schema-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);white-space:nowrap}.sd-schema-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.sd-schema-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-schema-preset{padding:4px 8px;border-radius:5px;font-size:11px;font-weight:600;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);cursor:pointer;outline:0;min-width:120px}.sd-schema-preset:focus{border-color:var(--accent-blue)}.sd-schema-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box}.sd-schema-actions-panel{display:flex;flex-direction:column;border-left:1px solid var(--glass-border);background:var(--sd-surface-2)}.sd-schema-actions{display:flex;flex-direction:column;gap:8px;padding:18px;border-bottom:1px solid var(--glass-border)}.sd-schema-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap;letter-spacing:.02em}.sd-schema-btn svg{flex-shrink:0}.sd-schema-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-schema-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-schema-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-schema-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-schema-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}.sd-schema-result{flex:1;padding:18px;overflow-y:auto}.sd-schema-result__header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px}.sd-schema-errors{display:flex;flex-direction:column;gap:8px}.sd-schema-error{padding:10px 12px;border-radius:6px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);font-size:12px}.sd-schema-error__path{font-weight:700;color:#dc2626;margin-bottom:4px}.sd-schema-error__message{color:var(--text-muted)}:root[data-theme=light] .sd-schema-error__path{color:#b91c1c}.sd-schema-editor::-webkit-scrollbar,.sd-schema-result::-webkit-scrollbar{width:5px}.sd-schema-editor::-webkit-scrollbar-track,.sd-schema-result::-webkit-scrollbar-track{background:0 0}.sd-schema-editor::-webkit-scrollbar-thumb,.sd-schema-result::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-sql-split{display:flex;flex-direction:column;padding:0;overflow:hidden}@media (min-width:768px){.sd-sql-split{display:grid;grid-template-columns:1fr 160px 1fr;min-height:520px}}.sd-sql-panel{display:flex;flex-direction:column}.sd-sql-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-sql-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-sql-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-sql-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-sql-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box}.sd-sql-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:18px 12px;border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:var(--sd-surface-2);width:160px}.sd-sql-options{display:flex;flex-direction:column;gap:10px}.sd-sql-option-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.sd-sql-select{padding:6px 8px;border-radius:6px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:12px;cursor:pointer;outline:0}.sd-sql-select:focus{border-color:var(--accent-blue)}.sd-sql-input{padding:6px 10px;border-radius:6px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:12px;outline:0}.sd-sql-input:focus{border-color:var(--accent-blue)}.sd-sql-option{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-muted);cursor:pointer}.sd-sql-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-blue);cursor:pointer}.sd-sql-btn-sep{height:1px;background:var(--glass-border);margin:4px 0}.sd-sql-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap;letter-spacing:.02em}.sd-sql-btn svg{flex-shrink:0}.sd-sql-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-sql-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-sql-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-sql-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-sql-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}.sd-sql-output-actions{display:flex;gap:6px}@media (max-width:767px){.sd-sql-actions{flex-direction:row;flex-wrap:wrap;border-left:none;border-right:none;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);padding:12px;width:auto;justify-content:center}.sd-sql-options{flex-direction:row;flex-wrap:wrap;width:100%;justify-content:center}.sd-sql-btn-sep{display:none}.sd-sql-btn{flex:1;min-width:100px}.sd-sql-option-label{display:none}.sd-sql-select{width:auto}}.sd-sql-editor::-webkit-scrollbar{width:5px}.sd-sql-editor::-webkit-scrollbar-track{background:0 0}.sd-sql-editor::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-b64-split{display:flex;flex-direction:column;padding:0;overflow:hidden}@media (min-width:768px){.sd-b64-split{display:grid;grid-template-columns:1fr auto 1fr;min-height:400px}}.sd-b64-panel{display:flex;flex-direction:column}.sd-b64-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0}.sd-b64-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-b64-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-b64-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-b64-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box;word-break:break-all}.sd-b64-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:18px 12px;border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:var(--sd-surface-2);justify-content:center;width:120px}.sd-b64-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap;letter-spacing:.02em}.sd-b64-btn svg{flex-shrink:0}.sd-b64-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-b64-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-b64-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-b64-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-b64-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}.sd-b64-option{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-muted);margin-top:8px;cursor:pointer}.sd-b64-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-blue);cursor:pointer}@media (max-width:767px){.sd-b64-actions{flex-direction:row;flex-wrap:wrap;border-left:none;border-right:none;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);padding:12px;width:auto;justify-content:center}.sd-b64-option{width:100%;justify-content:center;margin-top:0}.sd-b64-btn{flex:1;min-width:100px}}.sd-b64-editor::-webkit-scrollbar{width:5px}.sd-b64-editor::-webkit-scrollbar-track{background:0 0}.sd-b64-editor::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-tree-controls{display:flex;flex-direction:column;gap:12px;padding:18px;margin-bottom:20px}.sd-tree-input-wrap{flex:1}.sd-tree-input{width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.6;background:var(--bg-input);border:1px solid var(--sd-border);border-radius:8px;padding:12px 16px;color:var(--text-main);resize:vertical;min-height:80px;outline:0}.sd-tree-input:focus{border-color:var(--accent-blue)}.sd-tree-buttons{display:flex;gap:8px;flex-wrap:wrap}.sd-tree-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap}.sd-tree-btn svg{flex-shrink:0}.sd-tree-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-tree-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-tree-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-tree-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-tree-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}.sd-tree-output{padding:0;overflow:hidden}.sd-tree-toolbar{display:flex;flex-wrap:wrap;gap:12px;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);align-items:center}.sd-tree-search{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;background:var(--bg-input);border:1px solid var(--sd-border);border-radius:6px;padding:6px 12px}.sd-tree-search svg{color:var(--text-muted);flex-shrink:0}.sd-tree-search input{flex:1;background:0 0;border:none;outline:0;color:var(--text-main);font-size:13px;padding:0}.sd-tree-search input::placeholder{color:var(--text-muted)}.sd-tree-search-count{font-size:11px;color:var(--text-muted);white-space:nowrap}.sd-tree-actions{display:flex;gap:8px;flex-wrap:wrap}.sd-tree-tool-btn{padding:5px 12px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:all .15s}.sd-tree-tool-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--text-main)}.sd-tree-container{padding:18px;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.6;max-height:600px;overflow:auto}.json-tree{list-style:none;margin:0;padding:0}.json-tree ul{list-style:none;margin:0;padding-left:24px;border-left:1px solid var(--glass-border)}.json-tree li{margin:2px 0}.tree-node{display:flex;align-items:flex-start;gap:6px;padding:2px 4px;border-radius:4px;cursor:pointer}.tree-node:hover{background:rgba(128,128,128,.08)}.tree-node--highlight{background:rgba(234,179,8,.2)!important}.tree-toggle{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;border-radius:3px;transition:background .15s}.tree-toggle:hover{background:rgba(128,128,128,.2)}.tree-toggle svg{width:12px;height:12px;transition:transform .15s}.tree-toggle.collapsed svg{transform:rotate(-90deg)}.tree-key{color:#d946ef;font-weight:600}:root[data-theme=light] .tree-key{color:#a21caf}.tree-separator{color:var(--text-muted)}.tree-value{word-break:break-all}.tree-value--string{color:#22c55e}.tree-value--number{color:#f59e0b}.tree-value--boolean{color:#3b82f6}.tree-value--null{color:#ef4444}.tree-value--array,.tree-value--object{color:var(--text-muted);font-style:italic}:root[data-theme=light] .tree-value--string{color:#15803d}:root[data-theme=light] .tree-value--number{color:#b45309}:root[data-theme=light] .tree-value--boolean{color:#1d4ed8}:root[data-theme=light] .tree-value--null{color:#dc2626}.tree-brackets{color:var(--text-muted)}.tree-preview{color:var(--text-muted);font-size:12px;margin-left:4px}.tree-collapsed>ul{display:none}.sd-tree-stats{padding:12px 18px;border-top:1px solid var(--glass-border);background:rgba(128,128,128,.04);font-size:12px;color:var(--text-muted);display:flex;gap:20px}.sd-tree-stats span{display:flex;align-items:center;gap:6px}@media (max-width:700px){.sd-tree-toolbar{flex-direction:column;align-items:stretch}.sd-tree-actions{justify-content:center}.sd-tree-container{max-height:400px}}.sd-tree-container::-webkit-scrollbar,.sd-tree-input::-webkit-scrollbar{width:5px;height:5px}.sd-tree-container::-webkit-scrollbar-track,.sd-tree-input::-webkit-scrollbar-track{background:0 0}.sd-tree-container::-webkit-scrollbar-thumb,.sd-tree-input::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-gen-container{display:flex;flex-direction:column;gap:20px}.sd-gen-templates{padding:20px}.sd-gen-templates__header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:16px}.sd-gen-templates__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:20px}.sd-gen-template{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border-radius:10px;border:1px solid var(--sd-border);background:0 0;cursor:pointer;transition:all .15s}.sd-gen-template:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-gen-template.is-selected{background:rgba(59,130,246,.12);border-color:var(--accent-blue)}.sd-gen-template__icon{font-size:28px}.sd-gen-template__name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.sd-gen-template.is-selected .sd-gen-template__name{color:var(--accent-blue)}.sd-gen-options{display:flex;gap:24px;margin-bottom:20px;padding:16px;background:rgba(128,128,128,.04);border-radius:8px;border:1px solid var(--sd-border);flex-wrap:wrap}.sd-gen-option{display:flex;align-items:center;gap:12px}.sd-gen-option label{font-size:12px;font-weight:600;color:var(--text-muted)}.sd-gen-option input[type=number]{width:70px;padding:6px 10px;border-radius:6px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:13px;text-align:center}.sd-gen-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-blue);cursor:pointer}.sd-gen-generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid rgba(59,130,246,.4);background:rgba(59,130,246,.08);color:var(--accent-blue);width:100%}.sd-gen-generate-btn:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-gen-output{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:300px}.sd-gen-output__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04)}.sd-gen-output__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-gen-copy-btn{padding:4px 12px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-gen-copy-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-gen-output-actions{display:flex;gap:6px}.sd-gen-output__content{flex:1;margin:0;padding:18px;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;color:var(--text-main);white-space:pre-wrap;word-break:break-all;overflow-y:auto}.sd-gen-output__content::-webkit-scrollbar{width:5px}.sd-gen-output__content::-webkit-scrollbar-track{background:0 0}.sd-gen-output__content::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-gen-unified-container{display:grid;gap:20px}.sd-gen-mode-selector{padding:16px}.sd-gen-mode-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.sd-gen-mode-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);cursor:pointer;transition:all .15s;font-size:13px;font-weight:600;flex:1;min-width:100px}.sd-gen-mode-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-gen-mode-btn.is-active{background:rgba(59,130,246,.12);border-color:var(--accent-blue);color:var(--accent-blue)}.sd-gen-mode-icon{font-size:16px}.sd-gen-mode-content{display:contents}.sd-gen-mode-content:not(.is-active){display:none}#advancedMode,#hybridMode{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width:1000px){#advancedMode,#hybridMode{grid-template-columns:1fr 280px}}.sd-mock-panel{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:500px}.sd-mock-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0;flex-wrap:wrap;gap:8px}.sd-mock-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-mock-presets{display:flex;gap:8px}.sd-mock-select{padding:6px 10px;border-radius:5px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:12px;cursor:pointer;outline:0}.sd-mock-select:focus{border-color:var(--accent-blue)}.sd-mock-editor{flex:1;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.65;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:none;box-sizing:border-box;min-height:300px}.sd-mock-options{display:flex;flex-direction:column;gap:16px;padding:18px}.sd-mock-options__title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0}.sd-mock-option{display:flex;flex-direction:column;gap:6px}.sd-mock-option-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.sd-mock-input{padding:8px 12px;border-radius:6px;border:1px solid var(--sd-border);background:var(--bg-input);color:var(--text-main);font-size:13px;outline:0;width:100%;box-sizing:border-box}.sd-mock-input:focus{border-color:var(--accent-blue)}.sd-mock-quantity{display:flex;align-items:center;gap:10px}.sd-mock-quantity input{width:80px}.sd-mock-hint{font-size:11px;color:var(--text-muted)}.sd-mock-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-main);cursor:pointer}.sd-mock-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-blue);cursor:pointer}.sd-mock-seed{display:flex;flex-direction:column;gap:6px}.sd-mock-btn-group{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--glass-border)}.sd-mock-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);white-space:nowrap}.sd-mock-btn svg{flex-shrink:0}.sd-mock-btn:hover{color:var(--text-main);background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4)}.sd-mock-btn--primary{color:var(--accent-blue);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06)}.sd-mock-btn--primary:hover{background:rgba(59,130,246,.14);border-color:var(--accent-blue)}.sd-mock-btn--clear{color:var(--accent-red);border-color:rgba(239,68,68,.35)}.sd-mock-btn--clear:hover{background:rgba(239,68,68,.08);border-color:var(--accent-red);color:var(--accent-red)}.sd-mock-help{padding-top:16px;border-top:1px solid var(--glass-border)}.sd-mock-help__title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 10px 0}.sd-mock-help__list{list-style:none;margin:0;padding:0;font-size:12px}.sd-mock-help__list li{margin:4px 0;color:var(--text-muted)}.sd-mock-help__list code{background:rgba(128,128,128,.15);padding:2px 6px;border-radius:4px;font-family:monospace;font-size:11px;color:var(--text-main)}.sd-gen-hybrid-panel{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:400px}.sd-gen-hybrid__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04);flex-shrink:0;flex-wrap:wrap;gap:8px}.sd-gen-hybrid__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-gen-hybrid-actions{display:flex;gap:8px;align-items:center}.sd-mock-stats{padding:10px 18px;border-top:1px solid var(--glass-border);background:rgba(128,128,128,.04);font-size:12px;color:var(--text-muted);display:flex;gap:16px}@media (max-width:999px){.sd-mock-options{max-height:400px;overflow-y:auto}.sd-mock-btn-group{flex-direction:row}.sd-mock-btn{flex:1}}.sd-mock-editor::-webkit-scrollbar{width:5px}.sd-mock-editor::-webkit-scrollbar-track{background:0 0}.sd-mock-editor::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.sd-jwt-container{display:flex;flex-direction:column;gap:20px}.sd-jwt-input-panel{padding:0;overflow:hidden;display:flex;flex-direction:column}.sd-jwt-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04)}.sd-jwt-panel__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-jwt-load-btn{padding:4px 10px;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--sd-border);background:0 0;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.sd-jwt-load-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.4);color:var(--accent-blue)}.sd-jwt-editor{min-height:120px;width:100%;font-family:'Courier New',Courier,monospace;font-size:13px;line-height:1.6;background:0 0;border:none;outline:0;color:var(--text-main);padding:18px;resize:vertical;box-sizing:border-box;word-break:break-all}.sd-jwt-decode-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:0;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;border:none;border-top:1px solid var(--glass-border);background:rgba(59,130,246,.08);color:var(--accent-blue);letter-spacing:.02em}.sd-jwt-decode-btn:hover{background:rgba(59,130,246,.14)}.sd-jwt-output-container{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width:700px){.sd-jwt-output-container{grid-template-columns:1fr 1fr}}.sd-jwt-section{padding:0;overflow:hidden;display:flex;flex-direction:column}.sd-jwt-section:first-child{grid-column:1/-1}.sd-jwt-section__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--glass-border);background:rgba(128,128,128,.04)}.sd-jwt-section__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sd-jwt-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:4px}.sd-jwt-badge--header{background:rgba(59,130,246,.15);color:var(--accent-blue)}.sd-jwt-badge--payload{background:rgba(34,197,94,.15);color:#16a34a}.sd-jwt-badge--signature{background:rgba(234,179,8,.15);color:#ca8a04}:root[data-theme=light] .sd-jwt-badge--payload{color:#15803d}:root[data-theme=light] .sd-jwt-badge--signature{color:#a16207}.sd-jwt-section__content{margin:0;padding:16px;font-family:'Courier New',Courier,monospace;font-size:12px;line-height:1.65;color:var(--text-main);white-space:pre-wrap;word-break:break-all;flex:1}.sd-jwt-signature{font-size:11px;word-break:break-all;color:var(--text-muted)}.sd-jwt-expiry{padding:10px 16px;border-top:1px solid var(--glass-border);font-size:12px;display:flex;align-items:center;gap:8px}.sd-jwt-expiry--valid{color:#16a34a;background:rgba(34,197,94,.08)}.sd-jwt-expiry--expired{color:#dc2626;background:rgba(239,68,68,.08)}:root[data-theme=light] .sd-jwt-expiry--valid{color:#15803d}:root[data-theme=light] .sd-jwt-expiry--expired{color:#b91c1c}.sd-jwt-editor::-webkit-scrollbar,.sd-jwt-section__content::-webkit-scrollbar{width:5px}.sd-jwt-editor::-webkit-scrollbar-track,.sd-jwt-section__content::-webkit-scrollbar-track{background:0 0}.sd-jwt-editor::-webkit-scrollbar-thumb,.sd-jwt-section__content::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}


.sd-json-btn--minify{color:#f59e0b;border-color:rgba(245,158,11,.35)}.sd-json-btn--xml{color:#f97316;border-color:rgba(249,115,22,.35)}.sd-json-btn--csv{color:#10b981;border-color:rgba(16,185,129,.35)}.sd-json-btn--yaml{color:#06b6d4;border-color:rgba(6,182,212,.35)}.sd-json-btn--diff{color:#f59e0b;border-color:rgba(245,158,11,.35)}
:root[data-theme=light] .sd-json-split{background:#fff}:root[data-theme=light] .sd-json-panel__header{background:rgba(15,23,42,.03)}:root[data-theme=light] .sd-json-editor{background:#fff;color:#1e293b}:root[data-theme=light] .sd-json-output{background:#fff;color:#1e293b}:root[data-theme=light] .sd-json-tree-view{background:#fff;color:#1e293b}:root[data-theme=light] .sd-line-numbers{background:#f8fafc;color:#94a3b8;border-right-color:rgba(15,23,42,.1)}:root[data-theme=light] .sd-json-toolbar{background:rgba(15,23,42,.03);border-color:rgba(15,23,42,.1)}:root[data-theme=light] .sd-json-view-toggle{background:rgba(15,23,42,.08)}:root[data-theme=light] .sd-json-view-btn.active{background:#fff;color:#1e293b;box-shadow:0 1px 3px rgba(0,0,0,.12)}:root[data-theme=light] .sd-json-tool-btn{background:#fff;border-color:rgba(15,23,42,.15);color:#475569}:root[data-theme=light] .sd-json-tool-btn:hover{background:#f1f5f9;color:#1e293b}:root[data-theme=light] .sd-json-search-wrap{background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.12)}:root[data-theme=light] .sd-json-search-input{color:#1e293b}:root[data-theme=light] .sd-json-search-count{color:#64748b}:root[data-theme=light] .sd-json-url-bar{background:#f8fafc;border-bottom-color:rgba(15,23,42,.1)}:root[data-theme=light] .sd-json-url-input{background:#fff;color:#1e293b;border-color:rgba(15,23,42,.15)}:root[data-theme=light] .sd-json-stats{background:rgba(59,130,246,.06);border-color:rgba(59,130,246,.2)}:root[data-theme=light] .sd-json-stat-value{color:#1e293b}:root[data-theme=light] .sd-json-sample-menu,:root[data-theme=light] .sd-json-export-menu{background:#fff;border-color:rgba(15,23,42,.15)}:root[data-theme=light] .sd-json-sample-menu button,:root[data-theme=light] .sd-json-export-menu button{color:#1e293b}:root[data-theme=light] .sd-json-sample-menu button:hover,:root[data-theme=light] .sd-json-export-menu button:hover{background:#f1f5f9}:root[data-theme=light] .sd-json-schema-panel,:root[data-theme=light] .sd-json-diff-panel{background:#fff}:root[data-theme=light] .sd-json-schema-header,:root[data-theme=light] .sd-json-diff-header{background:rgba(15,23,42,.04);color:#1e293b}:root[data-theme=light] .sd-json-schema-input,:root[data-theme=light] .sd-json-diff-input{background:#fff;color:#1e293b}:root[data-theme=light] .sd-json-schema-result{background:#f8fafc;color:#1e293b}:root[data-theme=light] .sd-json-error-details{background:rgba(239,68,68,.05);border-color:rgba(239,68,68,.25);color:#991b1b}:root[data-theme=light] .sd-json-placeholder{color:#64748b}:root[data-theme=light] .sd-json-actions{background:#f8fafc;border-color:rgba(15,23,42,.1)}:root[data-theme=light] .sd-json-btn{background:#fff;border-color:rgba(15,23,42,.15);color:#475569}:root[data-theme=light] .sd-json-btn:hover{background:#f1f5f9;color:#1e293b}:root[data-theme=light] .sd-json-btn--beautify{color:#2563eb;border-color:rgba(37,99,235,.3)}:root[data-theme=light] .sd-json-btn--minify{color:#d97706;border-color:rgba(217,119,6,.3)}:root[data-theme=light] .sd-json-btn--validate{color:#059669;border-color:rgba(5,150,105,.3)}:root[data-theme=light] .sd-json-btn--validate.is-valid{color:#15803d}:root[data-theme=light] .sd-json-btn--clear{color:#dc2626;border-color:rgba(220,38,38,.25)}:root[data-theme=light] .sd-json-load-btn,:root[data-theme=light] .sd-json-copy-btn{background:#fff;border-color:rgba(15,23,42,.15);color:#475569}:root[data-theme=light] .sd-json-load-btn:hover,:root[data-theme=light] .sd-json-copy-btn:hover{background:#f1f5f9;color:#1e293b}:root[data-theme=light] .sd-json-indent-label{color:#475569}:root[data-theme=light] .sd-json-indent-select{background:#fff;color:#1e293b;border-color:rgba(15,23,42,.15)}
/* ============================================================
   JSON Beautifier — UI Enhancement Layer
   Layered on top of base styles for richer visual experience
   ============================================================ */

/* --- Syntax Highlight Colors --- */
.json-key { color: #c084fc; font-weight: 600; }
.json-string { color: #34d399; }
.json-number { color: #60a5fa; }
.json-boolean { color: #fb923c; }
.json-null { color: #f87171; font-style: italic; }
:root[data-theme=light] .json-key { color: #7c3aed; }
:root[data-theme=light] .json-string { color: #059669; }
:root[data-theme=light] .json-number { color: #2563eb; }
:root[data-theme=light] .json-boolean { color: #c2410c; }
:root[data-theme=light] .json-null { color: #dc2626; }

/* --- Toolbar refinement --- */
.sd-json-toolbar {
  background: rgba(168,85,247,0.03);
  border-color: rgba(168,85,247,0.15);
  border-radius: 10px;
  gap: 8px;
}
.sd-json-view-toggle {
  background: rgba(168,85,247,0.08);
  border-radius: 7px;
  padding: 3px;
  border: 1px solid rgba(168,85,247,0.15);
}
.sd-json-view-btn {
  padding: 5px 11px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: all 0.18s ease;
  color: var(--text-muted);
  gap: 5px;
}
.sd-json-view-btn:hover { color: #c084fc; }
.sd-json-view-btn.active {
  background: rgba(168,85,247,0.2);
  color: #c084fc;
  box-shadow: 0 1px 4px rgba(168,85,247,0.2);
}
:root[data-theme=light] .sd-json-view-btn.active {
  background: rgba(168,85,247,0.15);
  color: #7c3aed;
}
.sd-json-tool-btn {
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 7px;
  border-color: rgba(168,85,247,0.15);
  background: rgba(168,85,247,0.04);
  transition: all 0.18s ease;
  font-size: 12px;
}
.sd-json-tool-btn:hover {
  background: rgba(168,85,247,0.12);
  border-color: rgba(168,85,247,0.35);
  color: #c084fc;
}
:root[data-theme=light] .sd-json-tool-btn:hover { color: #7c3aed; }
.sd-json-search-wrap {
  border-radius: 7px;
  border: 1px solid rgba(168,85,247,0.15);
  background: rgba(168,85,247,0.04);
  transition: border-color 0.18s, box-shadow 0.18s;
}
.sd-json-search-wrap:focus-within {
  border-color: rgba(168,85,247,0.5);
  box-shadow: 0 0 0 3px rgba(168,85,247,0.1);
}
.sd-json-search-wrap svg { color: rgba(168,85,247,0.6); }

/* --- Action column buttons --- */
.sd-json-actions {
  border-left-color: rgba(168,85,247,0.12);
  padding: 16px 10px;
  gap: 5px;
}
.sd-json-btn {
  border-radius: 7px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid rgba(255,255,255,0.07);
  padding: 8px 10px;
  gap: 6px;
  transition: all 0.18s ease;
  background: rgba(255,255,255,0.03);
  color: var(--text-muted);
}
.sd-json-btn:hover { color: var(--text-main); background: rgba(255,255,255,0.07); }
:root[data-theme=light] .sd-json-btn { background: rgba(15,23,42,0.04); border-color: rgba(15,23,42,0.1); }
:root[data-theme=light] .sd-json-btn:hover { background: rgba(15,23,42,0.08); }

.sd-json-btn--beautify {
  background: rgba(168,85,247,0.12);
  border-color: rgba(168,85,247,0.3);
  color: #c084fc;
}
.sd-json-btn--beautify:hover {
  background: rgba(168,85,247,0.22);
  border-color: rgba(168,85,247,0.5);
  color: #d8b4fe;
  box-shadow: 0 2px 8px rgba(168,85,247,0.2);
}
.sd-json-btn--validate {
  background: rgba(34,197,94,0.08);
  border-color: rgba(34,197,94,0.25);
  color: #4ade80;
}
.sd-json-btn--validate:hover {
  background: rgba(34,197,94,0.16);
  border-color: rgba(34,197,94,0.45);
  color: #86efac;
}
.sd-json-btn--minify {
  background: rgba(96,165,250,0.08);
  border-color: rgba(96,165,250,0.22);
  color: #93c5fd;
}
.sd-json-btn--minify:hover {
  background: rgba(96,165,250,0.16);
  border-color: rgba(96,165,250,0.4);
  color: #bfdbfe;
}
.sd-json-btn--xml, .sd-json-btn--ts {
  background: rgba(251,146,60,0.08);
  border-color: rgba(251,146,60,0.22);
  color: #fdba74;
}
.sd-json-btn--xml:hover, .sd-json-btn--ts:hover {
  background: rgba(251,146,60,0.16);
  border-color: rgba(251,146,60,0.4);
  color: #fed7aa;
}
.sd-json-btn--csv {
  background: rgba(52,211,153,0.08);
  border-color: rgba(52,211,153,0.22);
  color: #6ee7b7;
}
.sd-json-btn--csv:hover {
  background: rgba(52,211,153,0.16);
  border-color: rgba(52,211,153,0.4);
  color: #a7f3d0;
}
.sd-json-btn--yaml {
  background: rgba(250,204,21,0.08);
  border-color: rgba(250,204,21,0.22);
  color: #fde68a;
}
.sd-json-btn--yaml:hover {
  background: rgba(250,204,21,0.14);
  border-color: rgba(250,204,21,0.4);
  color: #fef3c7;
}
.sd-json-btn--share {
  background: rgba(129,140,248,0.08);
  border-color: rgba(129,140,248,0.22);
  color: #a5b4fc;
}
.sd-json-btn--share:hover {
  background: rgba(129,140,248,0.16);
  border-color: rgba(129,140,248,0.4);
  color: #c7d2fe;
}
.sd-json-btn--clear {
  background: rgba(239,68,68,0.06);
  border-color: rgba(239,68,68,0.18);
  color: #fca5a5;
}
.sd-json-btn--clear:hover {
  background: rgba(239,68,68,0.14);
  border-color: rgba(239,68,68,0.38);
  color: #fecaca;
}
.sd-json-btn-sep {
  height: 1px;
  background: rgba(168,85,247,0.1);
  margin: 3px 0;
}
.sd-json-indent-wrap { gap: 5px; }
.sd-json-indent-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.sd-json-indent-select {
  border-radius: 6px;
  border-color: rgba(168,85,247,0.2);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.18s;
}
.sd-json-indent-select:focus { border-color: rgba(168,85,247,0.5); outline: none; box-shadow: 0 0 0 2px rgba(168,85,247,0.1); }

/* --- Panel headers --- */
.sd-json-panel__header {
  background: rgba(168,85,247,0.03);
  border-bottom-color: rgba(168,85,247,0.12);
  padding: 11px 18px;
}
.sd-json-panel__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(192,132,252,0.7);
}
:root[data-theme=light] .sd-json-panel__label { color: rgba(124,58,237,0.6); }

/* --- Load / copy buttons --- */
.sd-json-load-btn, .sd-json-copy-btn {
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  border: 1px solid rgba(168,85,247,0.18);
  background: rgba(168,85,247,0.06);
  color: rgba(192,132,252,0.8);
  padding: 5px 10px;
  transition: all 0.18s ease;
  gap: 4px;
}
.sd-json-load-btn:hover, .sd-json-copy-btn:hover {
  background: rgba(168,85,247,0.14);
  border-color: rgba(168,85,247,0.4);
  color: #c084fc;
}
.sd-json-copy-btn--copied {
  background: rgba(34,197,94,0.12) !important;
  border-color: rgba(34,197,94,0.35) !important;
  color: #4ade80 !important;
}
:root[data-theme=light] .sd-json-load-btn,
:root[data-theme=light] .sd-json-copy-btn {
  background: rgba(124,58,237,0.06);
  border-color: rgba(124,58,237,0.2);
  color: rgba(124,58,237,0.75);
}
:root[data-theme=light] .sd-json-load-btn:hover,
:root[data-theme=light] .sd-json-copy-btn:hover {
  background: rgba(124,58,237,0.12);
  border-color: rgba(124,58,237,0.4);
  color: #7c3aed;
}

/* --- Stats panel --- */
.sd-json-stats {
  background: rgba(168,85,247,0.04);
  border-color: rgba(168,85,247,0.15);
  border-radius: 10px;
  gap: 0;
  padding: 10px 18px;
  align-items: stretch;
}
.sd-json-stat {
  padding: 4px 16px;
  border-right: 1px solid rgba(168,85,247,0.1);
  flex-direction: column;
  gap: 1px;
}
.sd-json-stat:first-child { padding-left: 0; }
.sd-json-stat:last-child { border-right: none; }
.sd-json-stat-label {
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(192,132,252,0.6);
  font-weight: 700;
}
.sd-json-stat-value {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-main);
  font-variant-numeric: tabular-nums;
}

/* --- Editor and output refinement --- */
.sd-json-editor {
  font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Courier New', monospace;
  font-size: 13px;
  line-height: 1.7;
  caret-color: #c084fc;
}
.sd-json-editor::selection { background: rgba(168,85,247,0.25); }
.sd-json-output {
  font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Courier New', monospace;
  font-size: 13px;
  line-height: 1.7;
}
.sd-json-placeholder {
  opacity: 0.3;
}
.sd-json-placeholder svg { color: rgba(168,85,247,0.5); }

/* Line numbers */
.sd-line-numbers {
  font-family: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;
  font-size: 12px;
  color: rgba(148,163,184,0.3);
  line-height: 1.7;
  padding: 18px 10px 18px 14px;
  user-select: none;
  text-align: right;
  border-right: 1px solid rgba(168,85,247,0.08);
  min-width: 38px;
  flex-shrink: 0;
  background: rgba(168,85,247,0.015);
}
:root[data-theme=light] .sd-line-numbers {
  color: rgba(100,116,139,0.4);
  border-right-color: rgba(124,58,237,0.1);
  background: rgba(124,58,237,0.02);
}

/* --- Tree view --- */
.sd-json-tree-view {
  font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Courier New', monospace;
  font-size: 13px;
  line-height: 1.7;
}
.sd-json-tree-node { margin-left: 18px; }
.sd-json-tree-toggle {
  cursor: pointer;
  user-select: none;
  color: rgba(168,85,247,0.5);
  font-size: 11px;
  transition: color 0.15s;
  display: inline-flex;
  align-items: center;
  width: 16px;
}
.sd-json-tree-toggle:hover { color: #c084fc; }
.sd-json-tree-key { color: #c084fc; font-weight: 600; }
.sd-json-tree-string { color: #34d399; }
.sd-json-tree-number { color: #60a5fa; }
.sd-json-tree-boolean { color: #fb923c; }
.sd-json-tree-null { color: #f87171; font-style: italic; }
:root[data-theme=light] .sd-json-tree-key { color: #7c3aed; }
:root[data-theme=light] .sd-json-tree-string { color: #059669; }
:root[data-theme=light] .sd-json-tree-number { color: #2563eb; }
:root[data-theme=light] .sd-json-tree-boolean { color: #c2410c; }
:root[data-theme=light] .sd-json-tree-null { color: #dc2626; }

/* --- Dropdown menus --- */
.sd-json-sample-menu, .sd-json-export-menu {
  background: rgba(15,23,42,0.97);
  border-color: rgba(168,85,247,0.2);
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.35), 0 0 0 1px rgba(168,85,247,0.1);
  overflow: hidden;
}
:root[data-theme=light] .sd-json-sample-menu,
:root[data-theme=light] .sd-json-export-menu {
  background: rgba(255,255,255,0.98);
  box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 0 0 1px rgba(124,58,237,0.1);
}
.sd-json-sample-menu button, .sd-json-export-menu button {
  font-size: 12px;
  font-weight: 500;
  padding: 9px 14px;
  transition: background 0.15s, color 0.15s;
  color: var(--text-muted);
}
.sd-json-sample-menu button:hover, .sd-json-export-menu button:hover {
  background: rgba(168,85,247,0.1);
  color: #c084fc;
}
:root[data-theme=light] .sd-json-sample-menu button:hover,
:root[data-theme=light] .sd-json-export-menu button:hover {
  background: rgba(124,58,237,0.08);
  color: #7c3aed;
}

/* --- Diff panel --- */
.sd-json-diff-panel {
  background: rgba(168,85,247,0.02);
  border-color: rgba(168,85,247,0.15);
  border-radius: 10px;
}
.sd-json-diff-header {
  background: rgba(168,85,247,0.03);
  border-bottom-color: rgba(168,85,247,0.12);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(192,132,252,0.7);
}
.sd-json-diff-added {
  background: rgba(34,197,94,0.08);
  border-left: 3px solid #22c55e;
  color: #4ade80;
}
.sd-json-diff-removed {
  background: rgba(239,68,68,0.08);
  border-left: 3px solid #ef4444;
  color: #f87171;
}
.sd-json-diff-changed {
  background: rgba(251,146,60,0.08);
  border-left: 3px solid #f97316;
  color: #fb923c;
}

/* --- Schema panel --- */
.sd-json-schema-panel {
  background: rgba(168,85,247,0.02);
  border-color: rgba(168,85,247,0.15);
  border-radius: 10px;
}
.sd-json-schema-header {
  background: rgba(168,85,247,0.03);
  border-bottom-color: rgba(168,85,247,0.12);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(192,132,252,0.7);
}

/* --- Error details --- */
.sd-json-error-details {
  background: rgba(239,68,68,0.07);
  border: 1px solid rgba(239,68,68,0.2);
  border-radius: 8px;
  padding: 12px 16px;
  font-family: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;
  font-size: 12px;
  color: #fca5a5;
  margin-bottom: 16px;
}
:root[data-theme=light] .sd-json-error-details { color: #b91c1c; background: rgba(239,68,68,0.05); }

/* --- Drop zone --- */
.sd-json-drop-zone {
  background: rgba(168,85,247,0.92);
  backdrop-filter: blur(20px);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* --- Search highlight --- */
.sd-json-search-highlight {
  background: rgba(251,191,36,0.3);
  border-radius: 2px;
  outline: 1px solid rgba(251,191,36,0.5);
}
.sd-json-search-highlight-current {
  background: rgba(251,191,36,0.6);
  outline: 1px solid rgba(251,191,36,0.9);
}

/* --- URL bar --- */
.sd-json-url-bar {
  display: flex;
  gap: 8px;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(168,85,247,0.1);
  background: rgba(168,85,247,0.02);
}
.sd-json-url-input {
  border-radius: 7px;
  border: 1px solid rgba(168,85,247,0.2);
  background: rgba(168,85,247,0.04);
  color: var(--text-main);
  font-size: 12px;
  padding: 7px 12px;
  transition: border-color 0.18s, box-shadow 0.18s;
}
.sd-json-url-input:focus {
  outline: none;
  border-color: rgba(168,85,247,0.5);
  box-shadow: 0 0 0 3px rgba(168,85,247,0.1);
}
.sd-json-url-load-btn {
  border-radius: 7px;
  border: 1px solid rgba(168,85,247,0.3);
  background: rgba(168,85,247,0.12);
  color: #c084fc;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 14px;
  cursor: pointer;
  transition: all 0.18s ease;
}
.sd-json-url-load-btn:hover {
  background: rgba(168,85,247,0.22);
  border-color: rgba(168,85,247,0.5);
}

/* --- Resize handle --- */
.sd-json-resize-handle:hover { background: rgba(168,85,247,0.25); }

/* --- Glass panel border for the main widget --- */
.sd-json-split.glass-panel {
  border-color: rgba(168,85,247,0.15);
  box-shadow: 0 0 0 1px rgba(168,85,247,0.06), 0 4px 32px rgba(0,0,0,0.18);
}

/* Light mode stat border */
:root[data-theme=light] .sd-json-stat { border-right-color: rgba(124,58,237,0.12); }
:root[data-theme=light] .sd-json-stat-label { color: rgba(124,58,237,0.55); }
:root[data-theme=light] .sd-json-stats {
  background: rgba(124,58,237,0.04);
  border-color: rgba(124,58,237,0.14);
}
:root[data-theme=light] .sd-json-toolbar {
  background: rgba(124,58,237,0.025);
  border-color: rgba(124,58,237,0.12);
}
:root[data-theme=light] .sd-json-panel__header {
  background: rgba(124,58,237,0.025);
  border-bottom-color: rgba(124,58,237,0.1);
}
:root[data-theme=light] .sd-json-actions {
  border-left-color: rgba(124,58,237,0.1);
}
:root[data-theme=light] .sd-json-split.glass-panel {
  border-color: rgba(124,58,237,0.12);
  box-shadow: 0 0 0 1px rgba(124,58,237,0.05), 0 4px 24px rgba(0,0,0,0.07);
}
:root[data-theme=light] .sd-json-diff-added { color: #15803d; }
:root[data-theme=light] .sd-json-diff-removed { color: #b91c1c; }
:root[data-theme=light] .sd-json-diff-changed { color: #b45309; }


/* ============================================================
   HIGH PRIORITY FEATURES — NEW UI COMPONENTS
   ============================================================ */

/* --- Find & Replace Panel --- */
.sd-find-replace-panel {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(168, 85, 247, 0.2);
  border-radius: 8px;
  padding: 12px;
  margin: 0 10px 10px;
  backdrop-filter: blur(10px);
}
.sd-find-replace-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.sd-find-input,
.sd-replace-input {
  background: rgba(15, 23, 42, 0.5);
  border: 1px solid rgba(168, 85, 247, 0.2);
  border-radius: 6px;
  padding: 6px 10px;
  color: var(--text-main);
  font-size: 12px;
  font-family: inherit;
  flex: 1;
  min-width: 120px;
}
.sd-find-input:focus,
.sd-replace-input:focus {
  outline: none;
  border-color: rgba(168, 85, 247, 0.5);
  box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.1);
}
.sd-find-replace-options {
  display: flex;
  gap: 12px;
  font-size: 11px;
  color: var(--text-muted);
}
.sd-find-replace-options label {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}
.sd-find-replace-options input[type="checkbox"] {
  accent-color: #a855f7;
}
.sd-find-replace-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.sd-find-btn {
  background: rgba(168, 85, 247, 0.15);
  border: 1px solid rgba(168, 85, 247, 0.25);
  border-radius: 5px;
  padding: 5px 10px;
  color: #c084fc;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.18s ease;
}
.sd-find-btn:hover {
  background: rgba(168, 85, 247, 0.25);
  border-color: rgba(168, 85, 247, 0.4);
}
.sd-find-count {
  font-size: 11px;
  color: var(--text-muted);
  margin-left: 8px;
}
.sd-find-close {
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: 18px;
  cursor: pointer;
  padding: 0 4px;
  margin-left: auto;
}
.sd-find-close:hover { color: #f87171; }

/* --- Schema Validation Panel --- */
.sd-schema-panel {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(59, 130, 246, 0.25);
  border-radius: 8px;
  padding: 12px;
  margin: 0 10px 10px;
  backdrop-filter: blur(10px);
}
.sd-schema-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.sd-schema-label {
  font-size: 12px;
  font-weight: 700;
  color: #60a5fa;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.sd-schema-close {
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: 18px;
  cursor: pointer;
  padding: 0 4px;
}
.sd-schema-close:hover { color: #f87171; }
.sd-schema-input {
  width: 100%;
  min-height: 100px;
  background: rgba(15, 23, 42, 0.5);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 6px;
  padding: 10px;
  color: var(--text-main);
  font-family: 'Courier New', Courier, monospace;
  font-size: 12px;
  resize: vertical;
  box-sizing: border-box;
}
.sd-schema-input:focus {
  outline: none;
  border-color: rgba(59, 130, 246, 0.5);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}
.sd-schema-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.sd-schema-btn {
  background: rgba(59, 130, 246, 0.15);
  border: 1px solid rgba(59, 130, 246, 0.25);
  border-radius: 5px;
  padding: 6px 12px;
  color: #60a5fa;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.18s ease;
}
.sd-schema-btn:hover {
  background: rgba(59, 130, 246, 0.25);
  border-color: rgba(59, 130, 246, 0.4);
}
.sd-schema-results {
  margin-top: 10px;
  font-size: 12px;
}
.sd-schema-error {
  color: #f87171;
  padding: 8px;
  background: rgba(248, 113, 113, 0.1);
  border-radius: 5px;
  border-left: 3px solid #f87171;
}
.sd-schema-success {
  color: #34d399;
  padding: 8px;
  background: rgba(52, 211, 153, 0.1);
  border-radius: 5px;
  border-left: 3px solid #34d399;
}

/* --- PII Detection Panel --- */
.sd-pii-panel {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 8px;
  padding: 12px;
  margin: 0 10px 10px;
  backdrop-filter: blur(10px);
}
.sd-pii-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.sd-pii-label {
  font-size: 12px;
  font-weight: 700;
  color: #fbbf24;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.sd-pii-close {
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: 18px;
  cursor: pointer;
  padding: 0 4px;
}
.sd-pii-close:hover { color: #f87171; }
.sd-pii-results {
  max-height: 200px;
  overflow-y: auto;
}
.sd-pii-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  background: rgba(245, 158, 11, 0.08);
  border-radius: 5px;
  margin-bottom: 6px;
  font-size: 12px;
}
.sd-pii-type {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}
.sd-pii-path {
  color: var(--text-main);
  font-family: monospace;
  flex: 1;
}
.sd-pii-value {
  color: var(--text-muted);
  font-family: monospace;
  font-size: 11px;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sd-pii-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.sd-pii-btn {
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 5px;
  padding: 6px 12px;
  color: #fbbf24;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.18s ease;
}
.sd-pii-btn:hover {
  background: rgba(245, 158, 11, 0.25);
  border-color: rgba(245, 158, 11, 0.4);
}
.sd-pii-btn--secondary {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--text-muted);
}
.sd-pii-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

/* --- Table View --- */
.sd-json-table-view {
  display: none;
  position: absolute;
  inset: 0;
  overflow: auto;
  padding: 18px;
}
.sd-json-table-view.active {
  display: block;
}
.sd-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  background: rgba(15, 23, 42, 0.3);
  border-radius: 6px;
  overflow: hidden;
}
.sd-data-table th {
  background: rgba(168, 85, 247, 0.15);
  color: #c084fc;
  font-weight: 600;
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(168, 85, 247, 0.2);
}
.sd-data-table td {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: var(--text-main);
  font-family: 'Courier New', Courier, monospace;
}
.sd-data-table tr:hover td {
  background: rgba(168, 85, 247, 0.05);
}
.sd-data-table tr:last-child td {
  border-bottom: none;
}
.sd-table-cell-string { color: #34d399; }
.sd-table-cell-number { color: #60a5fa; }
.sd-table-cell-boolean { color: #fb923c; }
.sd-table-cell-null { color: #f87171; font-style: italic; }
.sd-table-cell-object,
.sd-table-cell-array {
  color: var(--text-muted);
  font-size: 11px;
}

/* --- Stats Panel Action Buttons --- */
.sd-json-stat--action {
  border-right: none;
  padding: 4px 8px;
}
.sd-stat-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 5px;
  padding: 4px 8px;
  color: var(--text-muted);
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.18s ease;
}
.sd-stat-btn:hover {
  background: rgba(168, 85, 247, 0.15);
  border-color: rgba(168, 85, 247, 0.3);
  color: #c084fc;
}

/* Light mode adjustments */
:root[data-theme=light] .sd-find-replace-panel,
:root[data-theme=light] .sd-schema-panel,
:root[data-theme=light] .sd-pii-panel {
  background: rgba(255, 255, 255, 0.7);
}
:root[data-theme=light] .sd-find-input,
:root[data-theme=light] .sd-replace-input,
:root[data-theme=light] .sd-schema-input {
  background: #fff;
  color: #1e293b;
}
:root[data-theme=light] .sd-data-table {
  background: #fff;
}
:root[data-theme=light] .sd-data-table th {
  background: rgba(124, 58, 237, 0.1);
  color: #7c3aed;
}
:root[data-theme=light] .sd-data-table td {
  border-bottom-color: rgba(15, 23, 42, 0.08);
  color: #1e293b;
}
:root[data-theme=light] .sd-stat-btn {
  background: rgba(15, 23, 42, 0.05);
  border-color: rgba(15, 23, 42, 0.15);
  color: #475569;
}
:root[data-theme=light] .sd-stat-btn:hover {
  background: rgba(124, 58, 237, 0.1);
  border-color: rgba(124, 58, 237, 0.25);
  color: #7c3aed;
}
