:root{--bg:#f5f6fa;--panel:#fff;--panel-2:#f8f9fc;--text:#191b25;--muted:#6f7485;--border:#e3e5ed;--accent:#7057ff;--accent-soft:#eeeaff;--green:#18885d;--green-soft:#e9f8f1;--red:#d33b4d;--red-soft:#fff0f2;--amber:#b5760c;--amber-soft:#fbf1de;--shadow:0 10px 35px #191b250f;--fs:14px}:root[data-theme=dark]{--bg:#0b0d12;--panel:#11141b;--panel-2:#171a22;--text:#eef0f6;--muted:#8e94a7;--border:#252936;--accent:#8a73ff;--accent-soft:#26213e;--green:#57d8a2;--green-soft:#142a23;--red:#ff7586;--red-soft:#321a20;--amber:#f0b34e;--amber-soft:#2c2414;--shadow:0 16px 45px #00000038}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,a{color:inherit}button{cursor:pointer}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{background:var(--panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:58px;padding:0 18px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:750;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#7057ff,#a35cff);border-radius:10px;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 7px 18px #7057ff42}.privacy-pill{color:var(--green);background:var(--green-soft);border-radius:99px;padding:4px 8px;font-size:11px;font-weight:700}.top-actions{gap:6px;display:flex}.icon-button{border:1px solid var(--border);background:var(--panel);border-radius:9px;place-items:center;width:34px;height:34px;text-decoration:none;display:inline-grid}.icon-button:hover{background:var(--panel-2)}.icon-button.small{background:0 0;border:0;width:28px;height:28px}.toolbar{background:var(--panel);border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;min-height:54px;padding:9px 14px;display:flex}.tool-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tool{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-items:center;gap:7px;height:34px;padding:0 11px;font-size:13px;font-weight:600;display:inline-flex}.tool:hover{background:var(--panel-2)}.tool.primary{color:#fff;border-color:var(--accent);background:var(--accent)}.danger-text{color:var(--red)}.select-wrap{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 8px;display:flex}.select-wrap select{color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.segmented{background:var(--panel-2);border:1px solid var(--border);border-radius:9px;padding:3px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:6px 8px;font-size:12px;font-weight:650;display:flex}.segmented button.active{color:var(--text);background:var(--panel);box-shadow:0 2px 8px #00000014}.workspace{flex:1;gap:10px;min-height:0;padding:12px;display:flex;position:relative}.history-panel{border:1px solid var(--border);background:var(--panel);width:260px;min-height:0;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;flex:0 0 260px;transition:all .2s;display:flex;overflow:hidden}.history-panel.collapsed{opacity:0;border:0;flex-basis:0;width:0}.history-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px;display:flex}.history-heading>div{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.history-search{border:1px solid var(--border);background:var(--panel-2);height:34px;color:var(--muted);border-radius:8px;align-items:center;gap:7px;margin:10px;padding:0 9px;display:flex}.history-search input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:12px}.history-list{flex:1;padding:0 8px 8px;overflow:auto}.history-item{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:9px 7px;display:flex}.history-item:hover{background:var(--panel-2)}.history-icon{width:30px;height:30px;color:var(--accent);background:var(--accent-soft);border-radius:8px;flex:none;place-items:center;display:grid}.history-copy{flex:1;min-width:0}.history-copy strong,.history-copy small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.history-copy strong{font-size:12px}.history-copy small{color:var(--muted);margin-top:3px;font-size:10px}.history-delete{opacity:0;color:var(--muted)}.history-item:hover .history-delete{opacity:1}.clear-history{border:0;border-top:1px solid var(--border);height:32px;color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:6px;margin:8px;font-size:11px;display:flex}.empty-history{color:var(--muted);text-align:center;padding:24px 12px;font-size:12px;line-height:1.5}.history-reopen{z-index:4;border:1px solid var(--border);background:var(--panel);width:34px;height:34px;box-shadow:var(--shadow);border-radius:9px;place-items:center;display:grid;position:absolute;top:18px;left:18px}.editor-grid{flex:1;grid-template-columns:1fr 1fr;gap:10px;min-width:0;min-height:0;display:grid}.panel{background:var(--panel);border:1px solid var(--border);min-width:0;min-height:0;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.panel-heading{border-bottom:1px solid var(--border);flex:0 0 44px;justify-content:space-between;align-items:center;height:44px;padding:0 12px;display:flex}.panel-heading>div{align-items:center;gap:7px;font-size:12px;display:flex}.panel-heading strong{font-size:13px}.panel-heading span{color:var(--muted)}.status{border-radius:7px;padding:5px 8px;font-weight:700;font-size:11px!important}.status.valid{color:var(--green);background:var(--green-soft)}.status.invalid{color:var(--red);background:var(--red-soft)}.error-strip{color:var(--red);background:var(--red-soft);border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;padding:8px 12px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.editor-box,.output-content{flex:1;min-height:0;position:relative}.monaco-editor,.monaco-editor-background,.monaco-editor .margin{background-color:var(--panel)!important}.invalid-empty{height:100%;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:8px;display:grid}.invalid-empty strong{color:var(--text);font-size:14px}.invalid-empty span{font-size:12px}.tree-view{height:100%;font:var(--fs)/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;padding:12px 8px 30px;overflow:auto}.tree-row{white-space:nowrap;min-height:25px}.tree-toggle{width:100%;color:var(--text);text-align:left;font:inherit;background:0 0;border:0;align-items:center;display:flex}.tree-toggle:hover{background:var(--panel-2)}.tree-key{color:#c77dff}.token-string{color:#36b37e}.token-number{color:#4c9aff}.token-boolean{color:#ff9f43}.token-null{color:#ff6b81}.tree-muted{color:var(--muted);font-size:11px}.tree-bracket{color:var(--muted)}.table-wrap{height:100%;overflow:auto}table{border-collapse:collapse;min-width:100%;font-size:var(--fs)}th,td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:320px;padding:9px 11px;overflow:hidden}th{z-index:1;background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;position:sticky;top:0}.table-note{color:var(--muted);padding:10px;font-size:11px}.diff-workspace{flex-direction:column;flex:1;gap:10px;min-width:0;min-height:0;display:flex;overflow:auto}.diff-inputs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.diff-inputs .panel{min-height:300px}.diff-result-panel{min-height:340px}.diff-view{height:100%;padding-bottom:20px;overflow:auto}.diff-summary{z-index:1;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.diff-badge{border-radius:99px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.diff-badge.add{color:var(--green);background:var(--green-soft)}.diff-badge.del{color:var(--red);background:var(--red-soft)}.diff-badge.chg{color:var(--amber);background:var(--amber-soft)}.diff-identical{color:var(--green);background:var(--green-soft);border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.diff-lines{font:var(--fs)/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px 0}.diff-row{align-items:center;gap:6px;min-height:25px;padding-right:12px;display:flex}.diff-toggle{width:100%;color:inherit;text-align:left;font:inherit;background:0 0;border:0}.diff-toggle.same:hover{background:var(--panel-2)}.diff-caret{width:14px;color:var(--muted);flex:none;place-items:center;display:inline-grid}.diff-gutter{text-align:center;width:10px;color:var(--muted);-webkit-user-select:none;user-select:none;flex:none;font-weight:700}.diff-text{white-space:pre-wrap;word-break:break-word}.diff-muted{color:var(--muted);font-size:11px}.diff-row.add{background:var(--green-soft)}.diff-row.add .diff-text,.diff-row.add .diff-gutter,.diff-row.add .diff-caret{color:var(--green)}.diff-row.del{background:var(--red-soft)}.diff-row.del .diff-text,.diff-row.del .diff-gutter,.diff-row.del .diff-caret{color:var(--red)}.diff-row.chg{background:var(--amber-soft)}.diff-row.chg .diff-text,.diff-row.chg .diff-gutter,.diff-row.chg .diff-caret{color:var(--amber)}.diff-hint{gap:4px;margin-left:8px;display:inline-flex}.diff-hint-item{border-radius:99px;padding:1px 6px;font-size:10px;font-weight:700}.diff-hint-item.add{color:var(--green);background:var(--green-soft)}.diff-hint-item.del{color:var(--red);background:var(--red-soft)}.diff-hint-item.chg{color:var(--amber);background:var(--amber-soft)}.tool-grid{flex:1;grid-template-columns:1fr 1fr;gap:10px;min-width:0;min-height:0;display:grid}.tool-options{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 12px;display:flex}.check-option{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.tool-textarea{resize:none;background:var(--panel);width:100%;min-height:0;color:var(--text);font:var(--fs)/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;border:0;outline:0;flex:1;padding:12px 14px}.array-output{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px;display:flex;overflow:auto}.array-card{border:1px solid var(--border);background:var(--panel-2);border-radius:10px;overflow:hidden}.array-card-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 6px 6px 11px;font-size:11px;font-weight:700;display:flex}.array-code{font:var(--fs)/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;color:var(--text);margin:0;padding:10px 12px;overflow-x:auto}.ops-panel{flex-direction:column;flex:1;gap:16px;min-height:0;padding:14px;display:flex;overflow:auto}.ops-group h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px;font-size:11px}.ops-buttons{flex-wrap:wrap;gap:6px;display:flex}.ops-panel .tool{height:30px;padding:0 10px;font-size:12px}.ops-field{gap:6px;margin-bottom:6px;display:flex}.ops-field input{border:1px solid var(--border);background:var(--panel-2);min-width:0;height:30px;color:var(--text);border-radius:8px;outline:0;flex:1;padding:0 9px;font-size:12px}.empty-state{color:var(--muted);text-align:center;padding:26px 16px;font-size:13px}.command-trigger{border:1px solid var(--border);background:var(--panel);height:34px;color:var(--muted);border-radius:9px;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.command-trigger:hover{background:var(--panel-2);color:var(--text)}.command-trigger span{font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.query-view{flex-direction:column;height:100%;min-height:0;display:flex}.query-bar{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:8px;padding:9px 12px;display:flex}.query-bar input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.query-count{color:var(--accent);background:var(--accent-soft);border-radius:99px;flex:none;padding:2px 8px;font-size:11px;font-weight:700}.query-hint{border-bottom:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:flex}.query-hint code{background:var(--panel-2);color:var(--text);border-radius:5px;padding:1px 5px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.query-examples{gap:4px;margin-left:auto;display:inline-flex}.query-examples button{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);border-radius:6px;padding:2px 8px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.query-examples button:hover{color:var(--text)}.query-results{flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px;display:flex;overflow:auto}.query-match{border:1px solid var(--border);border-radius:10px;overflow:hidden}.query-path{color:var(--accent);background:var(--panel-2);border-bottom:1px solid var(--border);white-space:pre-wrap;word-break:break-all;padding:6px 11px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.query-value{font:var(--fs)/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;color:var(--text);margin:0;padding:10px 12px;overflow-x:auto}.query-error{color:var(--red);background:var(--red-soft);border-radius:9px;align-items:center;gap:8px;margin:12px;padding:10px 12px;font-size:12px;display:flex}.palette-overlay{z-index:100;background:#04060c73;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.palette{background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(560px,100%);max-height:62vh;display:flex;overflow:hidden;box-shadow:0 26px 70px #0006}.palette-input{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:13px 15px;display:flex}.palette-input input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:15px}.palette-input kbd,.palette-hint{border:1px solid var(--border);color:var(--muted);background:var(--panel-2);border-radius:6px;padding:2px 6px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.palette-list{padding:6px;overflow:auto}.palette-empty{text-align:center;color:var(--muted);padding:24px;font-size:13px}.palette-item{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;display:flex}.palette-item.active{background:var(--accent-soft)}.palette-icon{width:26px;height:26px;color:var(--accent);background:var(--panel-2);border-radius:7px;flex:none;place-items:center;display:grid}.palette-item.active .palette-icon{background:var(--panel)}.palette-label{flex:1;font-size:13px;font-weight:600}.palette-group{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}footer{border-top:1px solid var(--border);background:var(--panel);min-height:34px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 16px;font-size:10px;display:flex}.toast{z-index:99;background:var(--text);color:var(--panel);border-radius:9px;align-items:center;gap:7px;padding:10px 13px;font-size:12px;display:flex;position:fixed;bottom:50px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000040}.mobile-only{display:none}@media (max-width:1050px){.toolbar{align-items:flex-start}.right-tools{justify-content:flex-end}.history-panel{flex-basis:220px;width:220px}.segmented button{font-size:0}.segmented button svg{margin:0}}@media (max-width:780px){.mobile-only{display:inline-grid}.privacy-pill{display:none}.toolbar{z-index:20;box-shadow:var(--shadow);flex-direction:column;display:none;position:absolute;top:58px;left:0;right:0}.toolbar.mobile-open{display:flex}.tool-group{width:100%}.tool{flex:31%;justify-content:center}.right-tools{justify-content:stretch}.select-wrap,.segmented,.segmented button{flex:1}.workspace{padding:8px;overflow-y:auto}.history-panel,.history-reopen{display:none}.editor-grid{grid-template-columns:1fr}.panel,.output-panel{min-height:520px}.diff-inputs{grid-template-columns:1fr}.diff-inputs .panel{min-height:360px}.tool-grid{grid-template-columns:1fr}footer{display:none}.status{white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}}
