@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.json-tree[data-v-446753f2]{font-family:var(--mono);font-size:13px;line-height:1.9;color:var(--code-text)}.tree-actions[data-v-446753f2]{display:flex;align-items:center;gap:8px;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--code-border)}.tree-act[data-v-446753f2]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.tree-act svg[data-v-446753f2]{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.tree-act[data-v-446753f2]:hover{background:var(--brand-soft);border-color:var(--brand-500);color:var(--brand-600)}.tree-act[data-v-446753f2]:active{transform:translateY(1px)}.tree-size[data-v-446753f2]{margin-left:auto;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2)}.tree-row[data-v-446753f2]{display:flex;align-items:center;white-space:nowrap;border-radius:5px;min-height:24px;padding:1px 8px 1px 0;margin-left:-8px;position:relative}.tree-row.has-children[data-v-446753f2]:not(.closed):after{content:"";position:absolute;top:50%;bottom:0;left:var(--rail-x, 8px);width:1px;background:repeating-linear-gradient(to bottom,rgba(148,163,184,.42) 0 3px,transparent 3px 7px);pointer-events:none}.tree-row.has-children[data-v-446753f2]{cursor:pointer}.tree-row[data-v-446753f2]:hover{background:var(--code-hover)}.tree-row.root.has-children[data-v-446753f2]:hover{background:transparent}.tree-row.root .tree-toggle[data-v-446753f2],.tree-row.root .tree-dot[data-v-446753f2]{margin-left:0}.gline[data-v-446753f2]{position:relative;width:18px;flex:none;align-self:stretch;margin-left:8px}.gline[data-v-446753f2]:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translate(-.5px);background:repeating-linear-gradient(to bottom,rgba(148,163,184,.42) 0 3px,transparent 3px 7px)}.gline[data-v-446753f2]:first-child{margin-left:0}.tree-toggle[data-v-446753f2]{width:18px;flex:none;margin-left:8px;border:none;background:none;padding:0;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.tree-toggle[data-v-446753f2]:hover{color:var(--brand-600)}.tree-caret[data-v-446753f2]{width:14px;height:14px;fill:currentColor;transition:transform .15s ease}.tree-caret.closed[data-v-446753f2]{transform:rotate(-90deg)}.tree-dot[data-v-446753f2]{width:18px;flex:none;margin-left:8px;position:relative}.tree-dot[data-v-446753f2]:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;transform:translate(-50%,-50%);background:var(--code-line-no);opacity:.85}.tree-key[data-v-446753f2]{color:var(--code-key);margin-left:8px}.tree-key.arr[data-v-446753f2]{color:var(--muted-2)}.tree-colon[data-v-446753f2]{color:var(--code-text);margin-right:8px}.tree-brace[data-v-446753f2]{color:var(--muted);font-weight:600;margin-right:4px}.tree-brace-end[data-v-446753f2]{margin-left:4px}.tree-note[data-v-446753f2]{margin-left:8px;font-size:12px;color:var(--muted-2);font-style:italic}.tree-close-spacer[data-v-446753f2]{width:18px;flex:none;margin-left:8px}.tree-row.closing[data-v-446753f2]{cursor:default}.tree-row.closing[data-v-446753f2]:hover{background:transparent}.tree-val[data-v-446753f2]{overflow:hidden;text-overflow:ellipsis;min-width:0}.tree-more[data-v-446753f2]{margin-top:10px;padding:8px 12px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:12.5px}.tree-edit-hint[data-v-446753f2]{font-size:11px;color:var(--muted-2)}.tree-val.editable[data-v-446753f2]{cursor:text;border-bottom:1px dashed var(--border)}.tree-val.editable[data-v-446753f2]:hover{border-bottom-color:var(--brand-500)}.tree-edit-input[data-v-446753f2]{font-family:var(--mono);font-size:13px;padding:1px 6px;min-width:90px;max-width:420px;border:1px solid var(--brand-500);border-radius:5px;background:var(--input-bg);color:var(--text);outline:none}.tree-edit-input.invalid[data-v-446753f2]{border-color:var(--err);box-shadow:0 0 0 3px var(--err-soft)}.tree-val.string[data-v-446753f2]{color:var(--code-str)}.tree-val.number[data-v-446753f2]{color:var(--code-num)}.tree-val.boolean[data-v-446753f2]{color:var(--code-bool)}.tree-val.null[data-v-446753f2]{color:var(--code-bool);font-style:italic}.tree-val.object[data-v-446753f2]{color:var(--code-bool)}.json-editor[data-v-fac31f75]{position:relative;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--code-bg);overflow:hidden}.editor-gutter[data-v-fac31f75]{position:absolute;left:0;top:0;bottom:0;width:42px;margin:0;padding:10px 8px calc(10px + var(--qe-sbh, 0px)) 0;border-right:1px solid var(--border-soft);background:transparent;color:var(--code-line-no);font-family:var(--mono);font-size:13px;line-height:1.6;text-align:right;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.editor-overlay[data-v-fac31f75],.editor-input[data-v-fac31f75]{position:absolute;left:42px;right:0;top:0;bottom:0;margin:0;padding:10px 12px;font-family:var(--mono);font-size:13px;line-height:1.6;white-space:pre;-moz-tab-size:2;tab-size:2;overflow-wrap:normal;word-break:normal}.editor-overlay[data-v-fac31f75]{padding-right:calc(12px + var(--qe-sbw, 0px));padding-bottom:calc(10px + var(--qe-sbh, 0px));overflow:hidden;color:var(--code-text);pointer-events:none}.editor-input[data-v-fac31f75]{z-index:1;background:transparent;color:transparent;caret-color:var(--code-text);border:none;outline:none;resize:none;overflow:auto}:root{--brand: #059669;--brand-600: #059669;--brand-500: #10b981;--brand-400: #34d399;--brand-dark: #047857;--brand-soft: #ecfdf5;--brand-grad: linear-gradient(135deg, #10b981 0%, #059669 100%);--bg: #fafafa;--bg-grad: linear-gradient(180deg, #f0fdf4 0%, #fafafa 420px);--card: #ffffff;--input-bg: #ffffff;--border: #e4e4e7;--border-soft: #f0f0f2;--text: #18181b;--muted: #52525b;--muted-2: #a1a1aa;--ok: #059669;--err: #dc2626;--err-soft: #fef2f2;--err-border: #fecaca;--warn: #d97706;--cat-developer: #059669;--cat-developer-soft: #ecfdf5;--cat-network: #d97706;--cat-network-soft: #fffbeb;--radius: 10px;--radius-sm: 6px;--shadow-sm: 0 1px 2px rgba(24, 24, 27, .05);--shadow: 0 1px 3px rgba(24, 24, 27, .05), 0 6px 20px rgba(24, 24, 27, .04);--shadow-lg: 0 8px 16px rgba(24, 24, 27, .06), 0 20px 48px rgba(24, 24, 27, .08);--font: "Inter Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--code-bg: #f6f8fa;--code-text: #24292e;--code-line-no: #b6beca;--code-key: #0550ae;--code-str: #1a7f37;--code-num: #953800;--code-bool: #8250df;--code-null: #8250df;--code-border: #e4e4e7;--code-hover: rgba(9, 105, 218, .07);--code-err-bg: rgba(220, 38, 38, .08);--code-err: #dc2626;--code-tag-bg: rgba(36, 41, 46, .08)}html.dark{color-scheme:dark;--brand-soft: #0d3a2a;--bg: #1e1e1e;--bg-grad: linear-gradient(180deg, #212a25 0%, #1e1e1e 420px);--card: #252526;--input-bg: #1f1f1f;--border: #3c3c3c;--border-soft: #2d2d2d;--text: #e5e5e5;--muted: #9b9b9b;--muted-2: #6b6b6b;--ok: #34d399;--err: #f87171;--err-soft: #2b1518;--err-border: #7f1d1d;--warn: #fbbf24;--cat-developer-soft: #0d3a2a;--cat-network-soft: #3d2f10;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 10px 30px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .45), 0 24px 60px rgba(0, 0, 0, .5);--code-bg: #282c34;--code-text: #abb2bf;--code-line-no: #3b4048;--code-key: #61afef;--code-str: #98c379;--code-num: #d19a66;--code-bool: #c678dd;--code-null: #c678dd;--code-border: #3c3c3c;--code-hover: rgba(255, 255, 255, .06);--code-err-bg: rgba(224, 108, 117, .18);--code-err: #e06c75;--code-tag-bg: rgba(171, 178, 191, .12)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}body{font-family:var(--font);background:var(--bg-grad);background-attachment:fixed;color:var(--text);font-size:15px;line-height:1.55}.app{padding:0 60px 28px;min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;gap:14px;padding:12px 0 6px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.brand-logo{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--brand-grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #05966959}.brand-name{font-size:21px;font-weight:800;letter-spacing:-.02em}.brand-sub{color:var(--muted);font-size:13.5px;border-left:1px solid var(--border);padding-left:14px}.theme-toggle{margin-left:auto;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--muted);cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s,background .15s}.theme-toggle:hover{border-color:var(--brand-500);color:var(--brand-600);background:var(--brand-soft)}.site-main{flex:1;display:flex;flex-direction:column}.site-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.footer-brand{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--text)}.hero{position:relative;padding:56px 0 40px;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--muted);font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.01em;box-shadow:var(--shadow-sm)}.hero-title{margin-top:20px;font-size:clamp(34px,5vw,52px);font-weight:800;line-height:1.08;letter-spacing:-.03em}.hero-accent{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin:18px auto 0;max-width:560px;color:var(--muted);font-size:16px}.hero-search{margin:26px auto 0;max-width:440px}.search-box{position:relative;display:flex;align-items:center}.search-box .search-icon{position:absolute;left:14px;color:var(--muted-2);pointer-events:none}.search-box input{width:100%;padding:12px 40px 12px 42px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);font-size:14.5px;font-family:inherit;color:var(--text);box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-box input:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 4px #10b98126,var(--shadow)}.search-box input::placeholder{color:var(--muted-2)}.search-clear{position:absolute;right:8px;width:26px;height:26px;border:none;border-radius:50%;background:var(--border);color:var(--muted);font-size:15px;line-height:1;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.search-clear:hover{background:var(--brand-soft);color:var(--brand-600)}.no-results{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 0;color:var(--muted)}.no-results p{font-size:14.5px}.home-body{margin-top:8px}.home-head h2{font-size:20px;font-weight:700;letter-spacing:-.01em;margin-bottom:16px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.filters button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--card);padding:8px 15px;border-radius:var(--radius-sm);cursor:pointer;font-size:13.5px;font-weight:600;font-family:inherit;color:var(--muted);transition:all .15s ease}.filters button:hover{border-color:var(--brand-500);color:var(--brand-600)}.filters button.active{background:var(--brand-grad);border-color:transparent;color:#fff;box-shadow:0 2px 10px #0596694d}.filters button:active{transform:scale(.97)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tool-card{display:flex;align-items:flex-start;gap:14px;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;font-family:inherit;position:relative}.tool-card:hover{transform:translateY(-3px);border-color:var(--brand-400);box-shadow:var(--shadow)}.tool-icon{width:46px;height:46px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--brand-600);flex-shrink:0;transition:transform .16s ease}.tool-card:hover .tool-icon{transform:scale(1.06)}.cat-developer{background:var(--cat-developer-soft);color:var(--cat-developer)}.cat-network{background:var(--cat-network-soft);color:var(--cat-network)}.tool-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.tool-name-row{display:flex;align-items:center;gap:8px}.tool-name{font-size:15.5px;font-weight:700;letter-spacing:-.01em}.tool-tag{font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:var(--radius-sm)}.tool-tag.cat-developer{background:var(--cat-developer-soft);color:var(--cat-developer)}.tool-tag.cat-network{background:var(--cat-network-soft);color:var(--cat-network)}.tool-tagline{font-size:13px;color:var(--muted);line-height:1.5}.tool-arrow{color:var(--muted-2);opacity:0;transform:translate(-4px);transition:opacity .16s ease,transform .16s ease,color .16s ease;align-self:center}.tool-card:hover .tool-arrow{opacity:1;transform:translate(0);color:var(--brand-600)}.tool-page{padding-top:10px;animation:fade-up .3s ease;flex:1 0 auto;display:flex;flex-direction:column}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.back{display:inline-flex;align-items:center;gap:7px;border:none;background:none;color:var(--muted);cursor:pointer;font-size:13.5px;font-weight:600;font-family:inherit;padding:2px 0 10px;transition:color .15s}.back:hover{color:var(--brand-600)}.tool-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}.tool-icon-lg{font-size:0;border-radius:var(--radius);width:50px;height:50px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tool-head h1{font-size:22px;font-weight:800;letter-spacing:-.02em}.tool-head .lead{margin:3px 0 0;font-size:14px;color:var(--muted)}.lead-sep{margin:0 5px;color:var(--muted-2)}.lead-cat{font-weight:600}.tool-body{display:grid;grid-template-columns:minmax(420px,2fr) 3fr;gap:26px;align-items:start}.tool-body>*{min-width:0}@media(max-width:860px){.tool-body{grid-template-columns:1fr}}.tool-body.wide{grid-template-columns:1fr 1fr}.tool-body.wide.stacked{grid-template-columns:1fr}@media(max-width:860px){.tool-body.wide{grid-template-columns:1fr}}.tool-body.wide .tool-form{padding:20px}.tool-body.stack{display:flex;flex-direction:column;align-items:stretch;gap:16px}.tool-body.stack .stack-zone{display:flex;flex-direction:column;gap:12px}.tool-body.stack textarea{height:280px;min-height:280px}.tool-body.stack .code-lines{height:280px;min-height:280px;max-height:280px}.tool-body.stack .stack-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 18px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.tool-body.stack .stack-controls .field{flex:1 1 180px;min-width:0;max-width:none}.tool-body.stack .stack-controls .check-row{padding-bottom:9px}@media(max-width:860px){.tool-body.stack .stack-controls .field{flex:1 1 210px}.tool-body.stack textarea{height:220px;min-height:220px}.tool-body.stack .code-lines{height:220px;min-height:220px;max-height:220px}}.tool-body.focus{grid-template-columns:1fr}.tool-layout{display:grid;grid-template-columns:232px minmax(0,1fr);grid-template-rows:1fr;gap:30px;flex:1 0 auto}.tool-main{min-width:0;display:flex;flex-direction:column}.tool-nav{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding-right:4px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-label{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:0 10px 6px}.nav-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:13.5px;font-weight:500;min-width:0;transition:background .12s,color .12s}.nav-item svg{flex-shrink:0}.nav-item:hover{background:var(--brand-soft);color:var(--brand-600)}.nav-item.active{background:var(--brand-soft);color:var(--brand-600);font-weight:700}.nav-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-toggle{display:none;align-items:center;gap:8px;margin-bottom:14px;padding:9px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.nav-toggle:hover{border-color:var(--brand-500);color:var(--brand-600)}.nav-chev{transform:rotate(-90deg);color:var(--muted-2);transition:transform .18s ease}.nav-chev.up{transform:rotate(0)}@media(max-width:1199px){.tool-layout{grid-template-columns:minmax(0,1fr);gap:0}.nav-toggle{display:inline-flex}.tool-nav{display:none}.tool-nav.open{display:flex;position:static;max-height:none;margin-bottom:20px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm)}}.panel-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;padding:0 2px 9px;border-bottom:1px solid var(--border);margin-bottom:18px}.panel-label-title{display:inline-flex;align-items:center;gap:8px}.panel-dot{width:8px;height:8px;border-radius:2px;background:var(--brand-grad);flex-shrink:0}.panel-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--muted);font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:none;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.panel-btn:hover{border-color:var(--brand-500);color:var(--brand-600);background:var(--brand-soft)}.tool-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-content:start;padding:20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.tool-form>.field-wide,.tool-form>.now-bar,.tool-form>.preset-note,.tool-form>.hint-err,.tool-form>p,.tool-form>.panel-label{grid-column:1 / -1}.tool-form>.check-row{align-self:end;padding-bottom:11px}@media(max-width:900px){.tool-form{grid-template-columns:1fr;padding:16px}.tool-form>.check-row{padding-bottom:0}}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12.5px;font-weight:600;color:var(--muted)}.field-input{position:relative;display:flex;align-items:center}.field-input input,.field-input select,.field-input textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14.5px;font-weight:500;font-family:inherit;background:var(--input-bg);color:var(--text);transition:border-color .15s,box-shadow .15s}.field-input textarea{min-height:240px;resize:vertical;line-height:1.5;font-family:var(--mono);font-size:13px}.field-input input:focus,.field-input select:focus,.field-input textarea:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px #10b98126}.field-input .unit{position:absolute;right:12px;color:var(--muted-2);font-size:13px;font-weight:600;pointer-events:none}.field-input input[type=number]{padding-right:52px}.field-input input[type=file]{padding:9px 12px;font-size:13.5px;color:var(--muted);cursor:pointer}.field-input input[type=file]::file-selector-button{margin-right:12px;padding:6px 14px;border:none;border-radius:8px;background:var(--brand-soft);color:var(--brand-600);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}.field-hint{font-size:12px;color:var(--muted-2)}.select-field{position:relative;width:100%}.select-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14.5px;font-weight:500;font-family:inherit;background:var(--input-bg);color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.select-trigger:hover{border-color:var(--brand-400)}.select-field.open .select-trigger,.select-trigger:focus-visible{border-color:var(--brand-500);box-shadow:0 0 0 3px #10b98126;outline:none}.select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-chev{color:var(--muted-2);flex-shrink:0;transition:transform .18s ease}.select-chev.up{transform:rotate(180deg)}.select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);overflow:hidden;animation:fade-up .15s ease}.select-list{max-height:280px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.select-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:8px;background:none;font-size:13.5px;font-family:inherit;color:var(--text);text-align:left;cursor:pointer;transition:background .1s}.select-option:hover,.select-option.highlight{background:var(--brand-soft)}.select-option.active{background:var(--brand-soft);color:var(--brand-600);font-weight:600}.select-option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-check{color:var(--brand-600);flex-shrink:0}.check-row{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:500;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.actions-field{gap:7px}.actions-row{display:flex;flex-wrap:wrap;gap:6px}.action-btn{padding:5px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.action-btn:hover{border-color:var(--brand-500);color:var(--brand-600);background:var(--brand-soft)}.action-btn.active{background:var(--brand-grad);border-color:transparent;color:#fff}.seg-row{display:flex;gap:3px;padding:3px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.seg-btn{flex:1 1 0;min-width:0;padding:7px 10px;border:none;border-radius:6px;background:none;color:var(--muted);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .12s,color .12s}.seg-btn:hover{color:var(--brand-600);background:var(--brand-soft)}.seg-btn.active{background:var(--brand-grad);color:#fff}.check-row input{width:17px;height:17px;accent-color:var(--brand-600);cursor:pointer}.now-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-sm)}.now-main{display:flex;flex-direction:column;gap:1px;min-width:0}.now-label{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.now-dot{width:7px;height:7px;border-radius:50%;background:var(--brand-500);animation:now-pulse 1.6s ease-in-out infinite}@keyframes now-pulse{0%,to{opacity:1}50%{opacity:.3}}.now-value{font-family:var(--mono);font-size:21px;font-weight:700;letter-spacing:-.01em;line-height:1.3}.now-sub{font-family:var(--mono);font-size:12px;color:var(--muted)}.now-actions{display:flex;gap:8px;flex-shrink:0}.now-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--muted);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.now-btn:hover{border-color:var(--brand-500);color:var(--brand-600)}.now-btn:active{transform:scale(.97)}.now-btn.done{border-color:var(--ok);color:var(--ok)}.tool-result-col{display:flex;flex-direction:column;gap:12px}.result-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.result-card.error{border-color:var(--err-border);background:var(--err-soft);box-shadow:none}.result-card.error p{color:var(--err);font-size:14.5px;line-height:1.5;display:flex;align-items:flex-start;gap:8px}.main-result{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}.main-label{font-family:var(--mono);color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.main-value{font-size:clamp(20px,2.2vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.15;word-break:break-word;animation:value-pop .25s ease}@keyframes value-pop{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.main-unit{font-size:15px;font-weight:600;color:var(--muted)}.result-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px}.mini-card{position:relative;background:var(--bg);border-radius:8px;padding:13px 14px;display:flex;flex-direction:column;gap:3px}.mini-copy{position:absolute;top:6px;right:6px;width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted);opacity:.55;cursor:pointer;transition:opacity .15s,color .15s,background .15s}.mini-copy:hover{opacity:1;color:var(--brand-600);background:var(--brand-soft)}.mini-copy.done{opacity:1;color:var(--brand-600)}.mini-label{font-family:var(--mono);font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.mini-card .mini-label{padding-right:24px}.mini-value{font-size:14.5px;font-weight:700;word-break:break-word}.mini-unit{font-weight:500;color:var(--muted)}.note{margin-top:18px;font-size:13px;color:var(--muted);line-height:1.55;border-top:1px dashed var(--border);padding-top:14px}.code-block{margin-bottom:18px}.code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.code-lang{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--muted-2);text-transform:uppercase}.code-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.view-tabs{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--border);border-radius:8px;background:var(--card)}.view-tab{padding:4px 12px;border:none;border-radius:6px;background:none;color:var(--muted);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.view-tab:hover{color:var(--brand-600)}.view-tab.active{background:var(--brand-grad);color:#fff}.code-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--muted);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.code-btn:hover{border-color:var(--brand-500);color:var(--brand-600);background:var(--brand-soft)}.code-btn:active{transform:scale(.97)}.code-btn.done{border-color:var(--ok);color:var(--ok)}.code-lines{background:var(--code-bg);color:var(--code-text);border-radius:var(--radius-sm);padding:10px 0;font-family:var(--mono);font-size:13px;line-height:1.6;overflow:auto;max-height:72vh;-moz-tab-size:2;tab-size:2}.result-card:not(.error) .code-lines{min-height:200px}.json-tree-wrap{min-height:200px;max-height:72vh;overflow:auto}.code-line{display:flex;align-items:baseline;padding-right:18px;white-space:pre;width:max-content;min-width:100%}.code-line.err{background:var(--code-err-bg)}.line-no{width:44px;flex-shrink:0;text-align:right;padding-right:12px;color:var(--code-line-no);-webkit-user-select:none;user-select:none}.line-content{min-width:0}.err-caret{color:var(--code-err);font-weight:700;margin-left:12px}.code-line .str,.json-editor .str{color:var(--code-str)}.code-line .num,.json-editor .num{color:var(--code-num)}.code-line .key,.json-editor .key{color:var(--code-key)}.code-line .bool,.json-editor .bool{color:var(--code-bool)}.code-line .null,.json-editor .null{color:var(--code-null)}.result-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.copy-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);border:none;background:var(--brand-grad);color:#fff;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px #0596694d;transition:transform .15s,box-shadow .15s,background .15s}.copy-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #05966966}.copy-btn.done{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d}.copy-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.copy-btn:disabled{opacity:.45;cursor:default;box-shadow:none}.dl-btns .copy-btn{background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:none;padding:8px 14px;font-size:13px}.dl-btns .copy-btn:hover:not(:disabled){transform:none;background:var(--brand-soft);border-color:var(--brand-500);color:var(--brand-600);box-shadow:none}.ghost-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text);font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.ghost-btn:hover{border-color:var(--brand-500);color:var(--brand-600)}.ghost-btn:active{transform:scale(.98)}.ghost-btn.done{border-color:var(--ok);color:var(--ok)}.faq-section{margin-top:auto;padding-top:18px;border-top:1px solid var(--border-soft)}.tool-main>.tool-body,.tool-main>.diff-body{margin-bottom:64px}.faq-label{justify-content:center;margin-bottom:12px}.faq-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.faq-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;box-shadow:none;transition:border-color .15s,color .15s,background .15s}.faq-chip:hover{border-color:var(--brand-500);color:var(--brand-600)}.faq-chip.open{border-color:var(--brand-500);background:var(--brand-soft);color:var(--brand-600)}.faq-chip-chev{flex-shrink:0;width:12px;height:12px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;transition:transform .2s ease}.faq-chip.open .faq-chip-chev{transform:rotate(180deg)}.faq-answers{display:flex;justify-content:center;margin-top:12px}.faq-answer{margin:0;max-width:72ch;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);font-size:13.5px;color:var(--muted);line-height:1.7;animation:faq-open .18s ease}@keyframes faq-open{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.tool-about{max-width:72ch;margin:28px auto 0;color:var(--muted);font-size:13.5px;line-height:1.7}.tool-about-title{margin:0 0 8px;color:var(--text);font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.tool-howto-title{margin-top:18px}.tool-about-text{margin:0}.tool-howto{margin:0;padding-left:20px}.tool-howto li{margin-top:4px}.custom-panel{grid-column:1 / -1}.flag-group{display:flex;flex-wrap:wrap;gap:8px}.flag-chip{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;font-family:var(--mono);font-size:12.5px;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s}.flag-chip input{position:absolute;opacity:0;pointer-events:none}.flag-key{font-weight:700;color:var(--muted)}.flag-hint{font-family:var(--font);font-size:11.5px;color:var(--muted-2)}.flag-chip:hover{border-color:var(--brand-400)}.flag-chip.on{border-color:var(--brand-500);background:var(--brand-soft)}.flag-chip.on .flag-key{color:var(--brand-600)}.preset-list{display:flex;flex-wrap:wrap;gap:7px}.preset-chip{padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--muted);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.preset-chip:hover{border-color:var(--brand-500);color:var(--brand-600);background:var(--brand-soft)}.regex-panel{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}@media(max-width:860px){.regex-panel{grid-template-columns:1fr}}.regex-test{min-height:220px;font-family:var(--mono);font-size:13.5px;line-height:1.7;white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--card);overflow-wrap:anywhere}.regex-test mark{background:#fef08a;color:#111827;border-radius:3px;padding:0 1px}.regex-test mark.repl{background:#a7f3d0;color:#064e3b}.regex-match-list{display:flex;flex-direction:column;gap:8px}.regex-match{display:flex;gap:10px;align-items:baseline;background:var(--bg);border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--mono);font-size:13px}.regex-match-idx{color:var(--muted-2);font-size:11.5px;flex-shrink:0}.regex-match-val{word-break:break-all;font-weight:600}.regex-groups{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto;justify-content:flex-end}.regex-group{font-size:11px;font-weight:600;color:var(--brand-600);background:var(--brand-soft);border-radius:6px;padding:2px 7px;word-break:break-all}.color-preview{height:110px;border-radius:var(--radius);margin-bottom:18px;border:1px solid var(--border);transition:background .15s ease}.color-fields{display:flex;flex-direction:column;gap:12px}.color-row{display:flex;align-items:center;gap:10px}.color-row .field-label{width:46px;flex-shrink:0}.color-row input{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--mono);font-size:13.5px;background:var(--input-bg);color:var(--text)}.color-row input:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px #10b98126}.color-swatch{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);flex-shrink:0}.qr-preview{display:flex;flex-direction:column;align-items:center;gap:14px}.qr-preview canvas{max-width:100%;height:auto;border:1px solid var(--border);border-radius:8px;background:#fff}.ip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:16px}.ip-item{background:var(--bg);border-radius:8px;padding:12px 14px}.ip-item .mini-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:3px}.ip-item .ip-val{font-size:14px;font-weight:700;word-break:break-word}.loading-spinner{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:13.5px;padding:14px 0}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--brand-600);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notfound{text-align:center;padding:90px 0;animation:fade-up .3s ease}.notfound h1{font-size:54px;font-weight:800;letter-spacing:-.03em;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.notfound p{color:var(--muted);margin:10px 0 22px}.btn{display:inline-block;padding:10px 18px;background:var(--brand-grad);color:#fff;border-radius:var(--radius-sm);text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 2px 8px #0596694d}.btn:hover{box-shadow:0 4px 14px #05966966}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.nav-collapse-tab{display:none}@media(min-width:1200px){.nav-collapse-tab{position:fixed;top:50%;left:292px;transform:translateY(-50%);z-index:40;width:18px;height:54px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-left:none;border-radius:0 8px 8px 0;background:var(--card);color:var(--muted-2);font-size:14px;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm);transition:left .2s ease,color .15s,border-color .15s}.nav-collapse-tab:hover{color:var(--brand-600);border-color:var(--brand-500)}.nav-collapse-tab.collapsed{left:8px}.tool-layout.nav-collapsed{grid-template-columns:minmax(0,1fr);gap:0}.tool-layout.nav-collapsed .tool-nav-wrap{display:none}}@media(max-width:900px){.app{padding:0 28px 24px}}@media(max-width:640px){.app{padding:0 16px 20px}.brand-sub{display:none}.hero{padding:40px 0 28px}.grid{grid-template-columns:1fr}.field-input input,.field-input select,.field-input textarea,.color-row input,.search-box input{font-size:16px}.result-actions .copy-btn,.result-actions .ghost-btn{flex:1;justify-content:center}.code-toolbar{flex-wrap:wrap}.tool-head{margin-bottom:20px}.tool-icon-lg{width:52px;height:52px}.main-result{margin-bottom:14px}}
