*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;font-size:14px}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a,select{touch-action:manipulation}button,select{cursor:pointer}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);white-space:nowrap}button:hover,select:hover{background:var(--hover)}button:focus-visible,a:focus-visible,select:focus-visible,.separator:focus-visible{outline:2px solid #4388ef;outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}.app{--bg: #f7f9fc;--surface: #fff;--text: #202a3b;--muted: #818b9d;--border: #e1e6ed;--hover: #f2f5fa;min-height:100dvh;height:100dvh;background:var(--bg);color:var(--text);display:flex;flex-direction:column;padding:0 24px}.app.dark{--bg: #151a23;--surface: #202631;--text: #e2e8f1;--muted: #9ca8bc;--border: #36404f;--hover: #2c3543}.header{height:84px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand,.header-actions,.group{display:flex;align-items:center}.brand{gap:15px}.brand>svg{color:#1476ef}h1{font-size:23px;letter-spacing:-.6px;margin:0;font-weight:700}.tagline{border-left:1px solid var(--border);padding-left:18px;margin-left:3px;color:var(--muted);font-size:13px}.header-actions{gap:17px}.privacy{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:12px;margin-right:5px}.icon{padding:0;width:35px;height:35px;border-color:transparent;background:transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;flex-shrink:0}.icon:hover{background:var(--hover)}.bordered{border:1px solid var(--border)}.workspace{display:grid;grid-template-columns:minmax(0,var(--ratio)) 12px minmax(0,1fr);flex:1;min-height:0;padding-right:12px}.panel{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 5px #18253c05}.panel-head{padding:22px 22px 15px;display:flex;align-items:center;justify-content:space-between;height:64px;flex-shrink:0}h2{margin:0;font-size:16px;font-weight:650;display:flex;align-items:center;gap:12px}.badge{font-size:11px;font-weight:500;line-height:24px;padding:0 10px;border-radius:20px;color:#1970d6;background:#eaf2ff}.badge.green{background:#edf7ee;color:#39864a}.dark .badge{background:#253e61;color:#8cbafa}.dark .badge.green{background:#263e32;color:#8ed7a0}.muted{color:var(--muted);font-size:11px}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 20px 18px;gap:12px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.group{gap:7px}.primary{background:#1677ee;color:#fff;border-color:#1677ee;box-shadow:0 2px 3px #1976ed20}.primary:hover{background:#0867dc}.outline{color:#1677ee;border-color:#73aaf5;background:transparent}.quiet{border-color:transparent;background:transparent;padding:0 7px;color:var(--muted)}.selected{color:#1677ee;border-color:#73aaf5}.select-wrap{position:relative}.select-wrap select{height:36px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);padding:0 31px 0 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:85px}.select-wrap>svg{position:absolute;right:10px;top:11px;pointer-events:none;color:var(--muted)}.editor-area{flex:1;min-height:0;position:relative;display:flex}.editor{flex:1;min-width:0;min-height:0;overflow:hidden}.cm-editor{height:100%;background:var(--surface)!important}.cm-scroller{overflow:auto!important;font:14px/1.85 Consolas,SFMono-Regular,monospace!important}.cm-content{padding:14px 0!important}.cm-line{padding:0 14px!important}.cm-gutters{background:var(--surface)!important;border-right:1px solid var(--border)!important;color:var(--muted)!important;padding-top:0}.cm-lineNumbers .cm-gutterElement{min-width:36px!important}.cm-activeLine,.cm-activeLineGutter{background:#7799cc08!important}.cm-focused{outline:none!important}.editor .cm-foldGutter .cm-gutterElement{padding:0 4px}.editor .cm-foldGutter span[title]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;vertical-align:middle;border-radius:4px;font-size:0;cursor:pointer}.editor .cm-foldGutter span[title]:before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}.editor .cm-foldGutter span[title=展开此行]:before{transform:translate(-2px) rotate(-45deg)}.editor .cm-foldGutter span[title]:hover{background:var(--hover);color:#1677ee}.editor .cm-foldPlaceholder{background:var(--hover);border:1px solid var(--border);border-radius:4px;color:var(--muted);padding:0 6px}.editor .cm-panels{background:var(--surface);color:var(--text)}.app .editor .cm-panels-top{border-bottom:1px solid var(--border)}.dark .cm-search{color-scheme:dark}.editor .cm-panel.cm-search{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:12px 14px;font:12px/1.5 Segoe UI,Microsoft YaHei,sans-serif}.app .editor .cm-panel.cm-search input,.app .editor .cm-panel.cm-search button,.app .editor .cm-panel.cm-search label{margin:0}.app .editor .cm-panel.cm-search .cm-textfield{width:180px;max-width:100%;min-width:0;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit}.app .editor .cm-panel.cm-search .cm-button{height:32px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;text-transform:none}.app .editor .cm-panel.cm-search button:hover{background:var(--hover)}.app .editor .cm-panel.cm-search label{display:inline-flex;align-items:center;gap:5px;min-height:28px;font-size:12px;cursor:pointer}.app .editor .cm-panel.cm-search input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:#1677ee}.app .editor .cm-panel.cm-search br{flex-basis:100%;height:0}.app .editor .cm-panel.cm-search button[name=close]{display:none}.regex-option{display:inline-flex;align-items:center;gap:5px}.regex-help summary{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid currentColor;border-radius:50%;color:var(--muted);font:600 11px/1 Segoe UI,sans-serif;cursor:pointer;list-style:none}.regex-help summary::-webkit-details-marker{display:none}.regex-help summary:hover,.regex-help[open] summary{color:#1677ee}.regex-help summary:focus-visible{outline:2px solid #4388ef;outline-offset:2px}.regex-examples{position:absolute;top:calc(100% + 6px);right:14px;z-index:10;width:360px;max-width:calc(100% - 28px);max-height:280px;overflow:auto;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 6px 20px #0002}.regex-examples p{margin:6px 0 10px;color:var(--muted)}.regex-examples>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:7px 0;border-top:1px solid var(--border)}.regex-examples code{color:#1677ee;-webkit-user-select:all;user-select:all}.dark .regex-examples code{color:#8cbafa}.app .editor .cm-panel.cm-search input:focus-visible{outline:2px solid #4388ef;outline-offset:1px}.empty{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;text-align:center;color:var(--muted)}.empty>svg{opacity:.35;margin-bottom:4px}.empty strong{font-size:16px;font-weight:500;color:var(--muted)}.empty>span{font-size:12px;max-width:100%;overflow-wrap:anywhere}.empty button{pointer-events:auto;border:0;color:#227ce5;margin-top:5px;background:transparent;font-size:12px}.empty.error>svg,.error-text{color:#d35a54}.panel-footer{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-top:1px solid var(--border);font-size:11px;color:var(--muted);gap:10px}.panel-footer>span{display:flex;align-items:center;gap:8px}.panel-footer i{height:12px;width:1px;background:var(--border);margin:0 4px}.success{color:#388b4b}.separator{display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;z-index:2}.separator svg{background:var(--surface);border:1px solid var(--border);border-radius:7px;min-width:22px;height:42px;padding:2px;color:var(--muted);box-shadow:0 2px 4px #17283d07}.bottom-hint{height:46px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:11px;flex-shrink:0}.bottom-hint>span{padding:0 10px}.site-footer{display:flex;align-items:center;justify-content:center;gap:10px;min-height:34px;color:var(--muted);font-size:11px;flex-shrink:0}.site-footer a{display:inline-flex;color:inherit;transition:color .15s}.site-footer a:hover{color:#1476ef}kbd{font:inherit}.toast{position:fixed;bottom:64px;left:50%;transform:translate(-50%);background:var(--text);color:var(--surface);padding:12px 22px;border-radius:8px;box-shadow:0 4px 20px #0002;z-index:10;font-size:13px}.dark .cm-editor{color:var(--text)}@media(min-width:1500px){.toolbar{padding-left:24px;padding-right:24px}.group{gap:10px}button{padding:0 17px}.icon{padding:0}}@media(max-width:1100px){.tagline{display:none}.app{padding:0 14px}.toolbar{padding:0 12px 12px;gap:8px}.panel-head{padding:16px 14px}.group{gap:4px}button{padding:0 9px}.quiet span,.auto{display:none}}@media(max-width:700px){.app{height:auto;min-height:100dvh;padding:0 10px}.header{height:66px}.brand{gap:8px}h1{font-size:19px}.brand>svg{width:26px}.privacy{display:none}.header-actions{gap:5px}.workspace{display:flex;flex-direction:column;gap:12px;padding:0}.panel{height:440px;flex-shrink:0}.separator{display:none}.panel-head{height:52px}.toolbar{padding-bottom:12px}.bottom-hint{font-size:10px}.site-footer{padding:0 8px 8px;font-size:10px;text-align:center}.panel-footer{padding:10px 12px}.toast{max-width:90%;width:max-content}}.search-count{color:var(--muted);white-space:nowrap}.search-count:empty{display:none}.editor .cm-line.json-error-line{background:#d35a5414!important}.json-error-character{text-decoration:underline wavy #d35a54;text-underline-offset:3px}.json-error-point{display:inline-block;color:#d35a54;font-weight:700;padding:0 3px;border-bottom:2px solid #d35a54}.toast .undo-clear{height:auto;padding:0 4px;border:0;background:transparent;color:inherit;text-decoration:underline}.escape-dropdown{position:relative}.escape-dropdown summary{display:flex;align-items:center;justify-content:space-between;gap:12px;height:36px;min-width:85px;padding:0 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);cursor:pointer;list-style:none}.escape-dropdown summary::-webkit-details-marker{display:none}.escape-dropdown summary svg{color:var(--muted)}.escape-dropdown summary:hover{background:var(--hover)}.escape-dropdown summary:focus-visible{outline:2px solid #4388ef;outline-offset:2px}.escape-dropdown[open] summary{border-color:#73aaf5}.escape-options{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:112px;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 6px 18px #18253c1a}.escape-options button{display:flex;justify-content:flex-start;width:100%;height:32px;padding:0 10px;border:0;border-radius:4px}.escape-options button.selected{background:var(--hover)}
