@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-cyrillic-ext-700-normal.BDQ-w_bc.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-700-normal.CtgKGIh5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-cyrillic-700-normal.Bp80XfeI.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-700-normal.O_YjL27c.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-vietnamese-700-normal.apsD3J7v.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-700-normal.Bs14ezHR.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-latin-ext-700-normal.Dhimjc7-.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-700-normal.Cwsjk1Jb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-latin-700-normal.7sUh57Bg.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-700-normal.CNHXzs6v.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ct-base:#eff1f5;--ct-mantle:#e6e9ef;--ct-crust:#dce0e8;--ct-surface0:#ccd0da;--ct-surface1:#bcc0cc;--ct-surface2:#acb0be;--ct-overlay0:#9ca0b0;--ct-overlay1:#8c8fa1;--ct-overlay2:#7c7f93;--ct-text:#4c4f69;--ct-subtext1:#5c5f77;--ct-subtext0:#6c6f85;--ct-green:#40a02b;--ct-blue:#1e66f5;--ct-sapphire:#209fb5;--ct-teal:#179299;--ct-peach:#fe640b;--ct-yellow:#df8e1d;--ct-red:#d20f39;--ct-maroon:#e64553;--ct-mauve:#8839ef;--ct-lavender:#7287fd;color-scheme:light;--on-accent:var(--ct-base);--paper:var(--ct-mantle);--card:var(--ct-base);--ink:var(--ct-text);--editor-ink:color-mix(in srgb, var(--ct-text) 72%, black);--muted:var(--ct-subtext0);--faint:var(--ct-overlay1);--hairline:var(--ct-surface0);--hairline-soft:color-mix(in srgb, var(--ct-surface0) 55%, var(--ct-base));--accent:var(--ct-blue);--accent-ink:var(--ct-blue);--accent-tint:color-mix(in srgb, var(--ct-blue) 16%, var(--ct-base));--syn-string:var(--ct-green);--syn-number:var(--ct-blue);--syn-bool:var(--ct-peach);--syn-null:var(--ct-red);--add:var(--ct-green);--add-bg:color-mix(in srgb, var(--ct-green) 16%, var(--ct-base));--remove:var(--ct-red);--remove-bg:color-mix(in srgb, var(--ct-red) 16%, var(--ct-base));--replace:var(--ct-peach);--replace-bg:color-mix(in srgb, var(--ct-peach) 16%, var(--ct-base));--chrome:var(--ct-mantle);--body-copy:var(--ct-subtext1);--placeholder:var(--ct-overlay0);--btn-hover-border:var(--ct-surface1);--mark-bg:color-mix(in srgb, var(--ct-yellow) 45%, var(--ct-base));--row-hover:color-mix(in srgb, var(--ct-blue) 8%, var(--ct-base));--badge-bg:color-mix(in srgb, var(--ct-green) 12%, var(--ct-base));--badge-border:color-mix(in srgb, var(--ct-green) 32%, var(--ct-base));--badge-pulse:color-mix(in srgb, var(--ct-green) 40%, transparent);--chip-border:color-mix(in srgb, var(--ct-blue) 28%, var(--ct-base));--stripe:color-mix(in srgb, var(--ct-overlay0) 22%, transparent);--dot-red:var(--ct-red);--dot-yellow:var(--ct-yellow);--dot-green:var(--ct-green);--accent-glow:color-mix(in srgb, var(--ct-blue) 30%, transparent);--bg:var(--card);--panel:var(--card);--panel-2:color-mix(in srgb, var(--ct-surface0) 40%, var(--ct-base));--border:var(--hairline);--text:var(--ink);--shadow-color:#00000024;--shadow-color-soft:#0000000f;--shadow-card:0 1px 2px var(--shadow-color-soft), 0 8px 24px var(--shadow-color-soft);--shadow-pop:0 2px 6px var(--shadow-color), 0 16px 40px var(--shadow-color);--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--radius:8px;--radius-lg:12px;--nav-h:54px}:root[data-theme=frappe]{--ct-base:#303446;--ct-mantle:#292c3c;--ct-crust:#232634;--ct-surface0:#414559;--ct-surface1:#51576d;--ct-surface2:#626880;--ct-overlay0:#737994;--ct-overlay1:#838ba7;--ct-overlay2:#949cbb;--ct-text:#c6d0f5;--ct-subtext1:#b5bfe2;--ct-subtext0:#a5adce;--ct-green:#a6d189;--ct-blue:#8caaee;--ct-sapphire:#85c1dc;--ct-teal:#81c8be;--ct-peach:#ef9f76;--ct-yellow:#e5c890;--ct-red:#e78284;--ct-maroon:#ea999c;--ct-mauve:#ca9ee6;--ct-lavender:#babbf1}:root[data-theme=macchiato]{--ct-base:#24273a;--ct-mantle:#1e2030;--ct-crust:#181926;--ct-surface0:#363a4f;--ct-surface1:#494d64;--ct-surface2:#5b6078;--ct-overlay0:#6e738d;--ct-overlay1:#8087a2;--ct-overlay2:#939ab7;--ct-text:#cad3f5;--ct-subtext1:#b8c0e0;--ct-subtext0:#a5adcb;--ct-green:#a6da95;--ct-blue:#8aadf4;--ct-sapphire:#7dc4e4;--ct-teal:#8bd5ca;--ct-peach:#f5a97f;--ct-yellow:#eed49f;--ct-red:#ed8796;--ct-maroon:#ee99a0;--ct-mauve:#c6a0f6;--ct-lavender:#b7bdf8}:root[data-theme=mocha]{--ct-base:#1e1e2e;--ct-mantle:#181825;--ct-crust:#11111b;--ct-surface0:#313244;--ct-surface1:#45475a;--ct-surface2:#585b70;--ct-overlay0:#6c7086;--ct-overlay1:#7f849c;--ct-overlay2:#9399b2;--ct-text:#cdd6f4;--ct-subtext1:#bac2de;--ct-subtext0:#a6adc8;--ct-green:#a6e3a1;--ct-blue:#89b4fa;--ct-sapphire:#74c7ec;--ct-teal:#94e2d5;--ct-peach:#fab387;--ct-yellow:#f9e2af;--ct-red:#f38ba8;--ct-maroon:#eba0ac;--ct-mauve:#cba6f7;--ct-lavender:#b4befe}:root[data-theme=frappe],:root[data-theme=macchiato],:root[data-theme=mocha]{color-scheme:dark;--on-accent:var(--ct-crust);--editor-ink:var(--ct-text);--shadow-color:#00000080;--shadow-color-soft:#00000052}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app{background:var(--paper);flex-direction:column;height:100%;display:flex}.workbench-vh{height:calc(100dvh - var(--nav-h));flex-direction:column;display:flex}header.topbar{border-bottom:1px solid var(--hairline);background:var(--card);z-index:10;align-items:center;gap:14px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{font-family:var(--mono);letter-spacing:-.3px;color:var(--ink);font-size:15px;font-weight:700;text-decoration:none}.brand .brace,.brand:first-letter{color:var(--accent)}.nav-controls{align-items:center;gap:8px;display:inline-flex}.nav-controls:empty{display:none}.theme-switcher{border:1px solid var(--hairline);background:var(--card);border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.theme-switcher button{font-family:var(--mono);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;transition:color .12s,background-color .12s}.theme-switcher button:hover{color:var(--ink);background:var(--panel-2)}:root[data-theme=latte] .theme-switcher [data-theme-set=latte],:root[data-theme=frappe] .theme-switcher [data-theme-set=frappe],:root[data-theme=macchiato] .theme-switcher [data-theme-set=macchiato],:root[data-theme=mocha] .theme-switcher [data-theme-set=mocha]{color:var(--on-accent);background:var(--accent);font-weight:600}.topbar-nav{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.topbar-nav a{color:var(--muted);border:1px solid #0000;border-radius:6px;padding:5px 9px;font-size:13px;text-decoration:none}.topbar-nav a:hover{color:var(--ink);background:var(--panel-2)}.topbar-nav a[aria-current=page]{color:var(--accent-ink);background:var(--accent-tint);border-color:#0000;font-weight:600}.nav-dd{display:inline-flex;position:relative}.nav-dd-trigger{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 9px;font-size:13px}.nav-dd-trigger:hover{color:var(--ink);background:var(--panel-2)}.nav-dd-trigger.active{color:var(--accent-ink);background:var(--accent-tint);font-weight:600}.nav-dd-menu{z-index:20;background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);min-width:190px;box-shadow:var(--shadow-pop);flex-direction:column;gap:2px;padding:6px;display:none;position:absolute;top:100%;left:0}.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{display:flex}.nav-dd-menu a{white-space:nowrap}.tabs{gap:4px;display:flex}.tabs button{color:var(--muted);border-radius:var(--radius);cursor:pointer;font:500 13px/1.4 var(--sans);background:0 0;border:1px solid #0000;padding:6px 14px}.tabs button.active{background:var(--accent-tint);color:var(--accent-ink)}.spacer{flex:1}.badge{font-family:var(--mono);color:var(--syn-string);border:1px solid var(--badge-border);background:var(--badge-bg);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge .dot{background:var(--syn-string);border-radius:50%;width:7px;height:7px}@media (prefers-reduced-motion:no-preference){.badge .dot{animation:2.4s ease-in-out 2 pulse}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--badge-pulse)}50%{box-shadow:0 0 0 5px #0000}}}main.workspace{flex-direction:column;flex:1;min-height:0;display:flex}.panes{background:var(--hairline);flex:1;gap:1px;min-height:0;display:grid}.panes.two{grid-template-columns:1fr 1fr}.panes.three{grid-template-columns:1fr 1fr 1fr}.pane{background:var(--card);flex-direction:column;min-width:0;min-height:0;display:flex}.pane-head{border-bottom:1px solid var(--hairline-soft);font-family:var(--mono);color:var(--muted);background:var(--chrome);align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.editor{flex:1;min-height:0;display:flex;position:relative}.editor textarea{resize:none;background:var(--card);color:var(--editor-ink);font-family:var(--mono);tab-size:2;white-space:pre;border:none;outline:none;flex:1;padding:10px 14px;font-size:13px;line-height:1.6}.editor textarea::placeholder{color:var(--placeholder)}pre.json-view{background:var(--card);min-width:0;color:var(--editor-ink);font-family:var(--mono);tab-size:2;white-space:pre;flex:1;margin:0;padding:10px 14px 10px 8px;font-size:13px;line-height:1.6;overflow:auto}.jv-key{color:var(--syn-null)}.jv-string{color:var(--syn-string)}.jv-num{color:var(--syn-number)}.jv-bool,.jv-null{color:var(--syn-bool)}.jv-cmt{color:var(--faint);font-style:italic}.editor.with-gutter textarea{padding-left:8px}.gutter{user-select:none;border-right:1px solid var(--hairline-soft);background:var(--chrome);color:var(--faint);font-family:var(--mono);text-align:right;white-space:pre;flex:0 0 44px;padding:10px 8px 10px 0;font-size:13px;line-height:1.6;overflow:hidden}.toolbar{border-bottom:1px solid var(--hairline);background:var(--card);flex-wrap:wrap;align-items:center;gap:8px;padding:9px 20px;display:flex}button.btn,label.btn{background:var(--card);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;font:500 13px/1.4 var(--sans);padding:6px 13px;transition:border-color .12s,box-shadow .12s}button.btn:hover,label.btn:hover{border-color:var(--btn-hover-border);box-shadow:0 1px 3px var(--shadow-color-soft)}button.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.btn.primary:hover{background:var(--accent-ink)}button.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.btn.compare{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 4px 14px var(--accent-glow);border-radius:10px;padding:10px 44px;font-size:15px;font-weight:700}button.btn.compare:hover{background:var(--accent-ink)}.error{color:var(--remove);background:var(--remove-bg);font-family:var(--mono);border-radius:6px;padding:4px 10px;font-size:12px}.ok{color:var(--syn-string);font-size:12px;font-weight:600}label.inline{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}input.text,select.text{background:var(--card);color:var(--ink);border:1px solid var(--hairline);font:13px var(--sans);border-radius:6px;padding:5px 9px}input.text:focus{border-color:var(--accent);outline:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--accent-tint);border:1px solid var(--chip-border);color:var(--accent-ink);border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:12px;font-weight:500;display:inline-flex}.chip button{color:var(--accent-ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.chip button:hover{color:var(--remove)}.diff-out{font-family:var(--mono);background:var(--card);color:var(--editor-ink);flex:1;padding:12px 16px;font-size:13px;overflow:auto}.diff-summary{border-bottom:1px solid var(--hairline);color:var(--muted);padding:8px 16px;font-size:12px}.paths-list{margin:0;padding:0;list-style:none}.paths-list li{border-radius:6px;align-items:baseline;gap:10px;padding:4px 8px;display:flex}.paths-list li:hover{background:var(--panel-2)}.kind{text-transform:uppercase;flex-shrink:0;width:62px;font-size:11px;font-weight:700}.kind.add{color:var(--add)}.kind.remove{color:var(--remove)}.kind.replace{color:var(--replace)}.kind.move{color:var(--accent)}.no-changes{color:var(--add);text-align:center;padding:24px;font-weight:600}.tree{font-family:var(--mono);background:var(--card);color:var(--editor-ink);flex:1;padding:10px 14px;font-size:13px;overflow:auto}.tree-row{cursor:default;border-radius:4px;align-items:baseline;gap:6px;padding:1px 4px;display:flex}.tree-row .twist{width:12px;color:var(--muted);cursor:pointer;user-select:none}.tree-key{color:var(--syn-null)}.tree-val{color:var(--ink)}.tree-val.string{color:var(--syn-string)}.tree-val.number{color:var(--syn-number)}.tree-val.boolean,.tree-val.null{color:var(--syn-bool)}.tree-copy{visibility:hidden;color:var(--muted);cursor:pointer;font-size:11px}.tree-row:hover .tree-copy{visibility:visible}.tree-row:hover{background:var(--panel-2)}mark{background:var(--mark-bg);color:var(--ink);border-radius:2px}pre.json-patch{white-space:pre-wrap;word-break:break-word;margin:0}.tool-page{min-height:calc(100vh - var(--nav-h));background:var(--paper);flex-direction:column;display:flex}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 24px}.tool-main{width:100%;padding:0}.tool-intro{max-width:780px;margin:0 auto;padding:24px 24px 8px}.tool-intro h1{font-family:var(--mono);letter-spacing:-.4px;margin:0 0 8px;font-size:20px;font-weight:700}.json-title .q{color:var(--faint);font-weight:400}.json-title .k{color:var(--syn-null)}.json-title .c{color:var(--faint);font-weight:400}.json-title .b{color:var(--accent)}.tool-intro p{color:var(--muted);max-width:68ch;margin:0;font-size:15px}.eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;margin-bottom:14px;font-size:11.5px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);border-radius:2px;width:8px;height:8px}.tool-widget{height:calc(100dvh - var(--nav-h));background:var(--card);border-bottom:1px solid var(--hairline);flex-direction:column;display:flex;overflow:hidden}.tool-widget>*,.tool-page .toolio{flex:1;min-height:0}.tool-content{max-width:780px;margin:0 auto;padding:40px 24px 72px;line-height:1.7}.tool-content h1{font-family:var(--mono);letter-spacing:-.5px;margin:0 0 4px;font-size:28px}.tool-content .legal-date{color:var(--muted);margin:0 0 8px;font-size:13px}.tool-content h2{font-family:var(--mono);letter-spacing:-.4px;border-top:1px solid var(--hairline-soft);margin:40px 0 12px;padding-top:28px;font-size:20px}.tool-content section:first-child h2{border-top:none;margin-top:0;padding-top:0}.tool-content h3{margin:18px 0 6px;font-size:15px}.tool-content p{color:var(--body-copy)}.tool-content a{color:var(--accent);text-decoration:none}.tool-content a:hover{text-decoration:underline}.tool-content ol{padding-left:20px}.tool-content ol li,.tool-content ul li{color:var(--body-copy);margin:7px 0}.tool-content ul{padding-left:20px}.tool-content code{background:var(--panel-2);border:1px solid var(--hairline-soft);font-family:var(--mono);color:var(--ink);border-radius:5px;padding:1px 6px;font-size:.88em}.tool-content table{border-collapse:collapse;width:100%;margin:10px 0;font-size:13.5px}.tool-content th,.tool-content td{border:1px solid var(--hairline);text-align:left;padding:7px 12px}.tool-content th{background:var(--panel-2);font-family:var(--mono);font-size:12px}.example{margin:18px 0}.example-io{grid-template-columns:1fr 1fr;gap:12px;display:grid}.example-label{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:10.5px}.example-io pre{background:var(--chrome);border:1px solid var(--hairline);font-family:var(--mono);white-space:pre;box-shadow:0 1px 2px var(--shadow-color-soft);border-radius:10px;margin:0;padding:30px 14px 12px;font-size:12.5px;line-height:1.55;position:relative;overflow-x:auto}.example-io pre:before{content:"";background:var(--dot-red);width:8px;height:8px;box-shadow:14px 0 0 var(--dot-yellow), 28px 0 0 var(--dot-green);border-radius:50%;position:absolute;top:10px;left:14px}.faq-item{border-bottom:1px solid var(--hairline-soft);padding:12px 0}.faq-item summary{cursor:pointer;color:var(--ink);font-weight:600}.faq-item summary:hover{color:var(--accent-ink)}.faq-item p{color:var(--muted);margin:8px 0 0}.related-links{flex-wrap:wrap;gap:10px;padding:0;list-style:none;display:flex}.related-links li a{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:0 1px 2px var(--shadow-color-soft);padding:8px 16px;font-size:13px;font-weight:500;transition:border-color .12s,box-shadow .12s;display:inline-block}.related-links li a:hover{border-color:var(--accent);box-shadow:var(--shadow-card);text-decoration:none}.notfound{text-align:center;max-width:780px;margin:0 auto;padding:72px 24px 96px}.notfound-code{font-family:var(--mono);letter-spacing:-.5px;color:var(--ink);margin:0 0 10px;font-size:34px;font-weight:700}.notfound-code .q{color:var(--faint)}.notfound-code .nf-key{color:var(--syn-null)}.notfound-code .nf-num{color:var(--syn-number)}.notfound h1{font-family:var(--mono);letter-spacing:-.3px;margin:0 0 8px;font-size:22px}.notfound-sub{color:var(--muted);max-width:520px;margin:0 auto 26px}.notfound-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:44px;display:flex}.notfound-actions a{border-radius:var(--radius);background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);padding:9px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.notfound-actions a:hover{filter:brightness(1.06)}.notfound-actions a.secondary{background:var(--card);color:var(--ink);border-color:var(--hairline)}.notfound-actions a.secondary:hover{border-color:var(--accent);filter:none}.notfound-grid-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-size:11px}.notfound-grid{justify-content:center}.toolio{background:var(--card);flex-direction:column;min-height:0;display:flex}.toolio-bar{border-bottom:1px solid var(--hairline);background:var(--chrome);flex-wrap:wrap;align-items:center;gap:8px;padding:9px 14px;display:flex}button.icon-btn,label.icon-btn{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}button.icon-btn:hover,label.icon-btn:hover{background:var(--panel-2);color:var(--ink)}button.icon-btn:disabled{opacity:.35;cursor:not-allowed;background:0 0}.toolio.fullscreen{z-index:100;background:var(--card);position:fixed;inset:0}.modal-overlay{z-index:200;background:color-mix(in srgb, var(--ct-crust) 62%, transparent);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-pop);padding:20px 22px 22px}.modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-head h3{font-family:var(--mono);letter-spacing:-.3px;margin:0;font-size:16px}.share-row{gap:8px;display:flex}.share-url{min-width:0;font-family:var(--mono);background:var(--chrome);border:1px solid var(--hairline);border-radius:var(--radius);color:var(--editor-ink);outline:none;flex:1;padding:8px 10px;font-size:12.5px}.share-url:focus{border-color:var(--accent)}.btn.share-copy{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.share-note{border-radius:var(--radius);background:color-mix(in srgb, var(--ct-yellow) 12%, var(--card));border:1px solid color-mix(in srgb, var(--ct-yellow) 32%, var(--card));color:var(--body-copy);margin-top:14px;padding:12px 14px;font-size:13px;line-height:1.55}.share-note code{background:var(--panel-2);border:1px solid var(--hairline-soft);font-family:var(--mono);color:var(--ink);border-radius:4px;padding:0 5px;font-size:.9em}.toolio-grid{background:var(--hairline);flex:1;grid-template-columns:1fr 1fr;gap:1px;min-height:0;display:grid}.toolio-grid .editor textarea[readonly]{color:var(--editor-ink);background:var(--chrome)}.data-table{border-collapse:collapse;font-family:var(--mono);width:100%;color:var(--editor-ink);font-size:12.5px}.data-table th,.data-table td{border:1px solid var(--hairline);text-align:left;white-space:nowrap;padding:5px 10px}.data-table th{background:var(--panel-2);cursor:pointer;user-select:none;position:sticky;top:0}.data-table tbody tr:hover{background:var(--row-hover)}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.stat-tile{background:var(--card);border:1px solid var(--hairline);text-align:center;box-shadow:0 1px 2px var(--shadow-color-soft);border-radius:10px;padding:14px}.stat-val{font-size:24px;font-weight:700;font-family:var(--mono);color:var(--syn-number)}.stat-label{color:var(--muted);margin-top:3px;font-size:12px}.sbs{background:var(--card);flex-direction:column;flex:1;min-height:0;display:flex}.sbs-summary{border-bottom:1px solid var(--hairline);background:var(--chrome);align-items:center;gap:14px;padding:9px 16px;font-size:12.5px;display:flex}.tag{font-family:var(--mono);font-size:12px;font-weight:600}.tag.add{color:var(--add)}.tag.remove{color:var(--remove)}.tag.changed{color:var(--replace)}.sbs-grid{background:var(--hairline);flex:1;grid-template-columns:1fr 1fr;gap:1px;min-height:0;display:grid;overflow:auto}.sbs-col{background:var(--card);font-family:var(--mono);color:var(--editor-ink);font-size:12.5px}.line{white-space:pre;align-items:flex-start;min-height:1.55em;display:flex}.line .lno{text-align:right;color:var(--faint);user-select:none;flex:0 0 44px;padding:0 8px}.line .ltext{white-space:pre;flex:1;padding:0 8px}.line.add{background:var(--add-bg)}.line.remove{background:var(--remove-bg)}.line.changed{background:var(--replace-bg)}.line.filler{background:repeating-linear-gradient(45deg, transparent, transparent 6px, var(--stripe) 6px, var(--stripe) 12px)}.line .twist{color:var(--muted);user-select:none;text-align:center;cursor:pointer;flex:0 0 12px}.line .dkey{color:var(--syn-null)}.line .dsep{color:var(--faint);margin-right:6px}.line .dval{white-space:pre}.line .dval.v-string{color:var(--syn-string)}.line .dval.v-number{color:var(--syn-number)}.line .dval.v-boolean,.line .dval.v-null{color:var(--syn-bool)}.line.changed .dval{color:var(--ink)}.diff-inputs{background:var(--hairline);grid-template-columns:1fr 1fr;gap:1px;display:grid}.diff-inputs .pane{min-height:0}.diff-inputs .pane-head{padding:10px 12px}.result-head{gap:10px;padding:8px 14px}.rules-center{align-items:center;gap:10px;display:inline-flex}.rules-center .btn{white-space:nowrap}.rules-center .btn.compare{border-radius:var(--radius);box-shadow:none;padding:6px 22px;font-size:13px}.site-footer{border-top:1px solid var(--hairline);background:var(--card);margin-top:auto;padding:44px 0 28px}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:32px;display:grid}.footer-col h4{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:11.5px}.footer-col ul{margin:0;padding:0;list-style:none}.footer-col li{margin:7px 0}.footer-col a{color:var(--body-copy);font-size:13.5px;text-decoration:none}.footer-col a:hover{color:var(--accent)}.footer-about p{color:var(--muted);max-width:34ch;margin:10px 0 0;font-size:13.5px}.footer-meta{border-top:1px solid var(--hairline-soft);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:36px;padding-top:18px;font-size:12.5px;display:flex}.footer-meta-spacer{flex:1}.footer-meta a{color:var(--muted);text-decoration:none}.footer-meta a:hover{color:var(--accent-ink)}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:18px 0;display:grid}.tool-card{color:inherit;background:var(--card);border:1px solid var(--hairline);box-shadow:0 1px 2px var(--shadow-color-soft);border-radius:10px;padding:16px 18px;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:block}.tool-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card);transform:translateY(-1px)}.tool-card .tc-name{font-family:var(--mono);font-size:14px;font-weight:600}.tool-card .tc-name .tick{margin-right:8px}.tool-card .tc-desc{color:var(--muted);margin-top:5px;font-size:13px}.tick{color:var(--syn-string)}.tick.n{color:var(--syn-number)}.tick.b{color:var(--syn-bool)}.tick.x{color:var(--syn-null)}@media (width<=860px){.panes.two,.panes.three,.toolio-grid,.diff-inputs,.sbs-grid,.example-io{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.tool-widget{height:auto;min-height:0}.tool-widget .toolio-grid .editor textarea{min-height:160px}.tool-intro h1{font-size:18px}.topbar-nav{display:none}}astro-island{display:contents}
