@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-editor[data-v-d3694632]{position:relative;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--code-bg);overflow:hidden}.editor-gutter[data-v-d3694632]{position:absolute;left:0;top:0;bottom:0;width:42px;margin:0;padding:10px 8px 10px 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-d3694632],.editor-input[data-v-d3694632]{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-d3694632]{overflow:hidden;color:var(--code-text);pointer-events:none}.editor-input[data-v-d3694632]{z-index:1;background:transparent;color:transparent;caret-color:var(--code-text);border:none;outline:none;resize:none;overflow:auto}.json-tree[data-v-4149d143]{font-family:var(--mono);font-size:13px;line-height:1.9;color:var(--code-text)}.tree-actions[data-v-4149d143]{display:flex;align-items:center;gap:8px;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--code-border)}.tree-act[data-v-4149d143]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--code-border);border-radius:7px;background:var(--card);color:var(--text);font-family:var(--mono);font-size:12px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.tree-act svg[data-v-4149d143]{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.tree-act[data-v-4149d143]:hover{background:var(--brand-soft);border-color:var(--brand-500);color:var(--brand-600);box-shadow:0 0 0 3px #10b9811f}.tree-act[data-v-4149d143]:active{transform:translateY(1px)}.tree-size[data-v-4149d143]{margin-left:auto;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2)}.tree-row[data-v-4149d143]{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-4149d143]:not(.closed):after{content:"";position:absolute;top:50%;bottom:0;left:var(--rail-x, 8px);width:1px;background:#94a3b847;pointer-events:none}.tree-row.has-children[data-v-4149d143]{cursor:pointer}.tree-row[data-v-4149d143]:hover{background:var(--code-hover)}.tree-row.root.has-children[data-v-4149d143]:hover{background:transparent}.tree-row.root .tree-toggle[data-v-4149d143],.tree-row.root .tree-dot[data-v-4149d143]{margin-left:0}.gline[data-v-4149d143]{position:relative;width:18px;flex:none;align-self:stretch;margin-left:8px}.gline[data-v-4149d143]:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translate(-.5px);background:#94a3b847}.gline[data-v-4149d143]:first-child{margin-left:0}.tree-toggle[data-v-4149d143]{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-4149d143]:hover{color:var(--brand-600)}.tree-caret[data-v-4149d143]{width:14px;height:14px;fill:currentColor;transition:transform .15s ease}.tree-caret.closed[data-v-4149d143]{transform:rotate(-90deg)}.tree-dot[data-v-4149d143]{width:18px;flex:none;margin-left:8px;position:relative}.tree-dot[data-v-4149d143]: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-4149d143]{color:var(--code-key);margin-left:8px}.tree-key.arr[data-v-4149d143]{color:var(--muted-2)}.tree-colon[data-v-4149d143]{color:var(--code-text);margin-right:8px}.tree-type[data-v-4149d143]{color:var(--code-str);font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:999px;background:#34d3991a}.tree-type.closed[data-v-4149d143]{color:var(--muted);background:transparent;outline:1px dashed var(--border);outline-offset:-1px;cursor:pointer}.tree-row.closed:hover .tree-type.closed[data-v-4149d143]{color:var(--code-str);outline-color:var(--brand-500)}.tree-cue[data-v-4149d143]{font-size:10.5px;color:var(--muted-2);margin-left:6px;letter-spacing:.02em}.tree-val[data-v-4149d143]{overflow:hidden;text-overflow:ellipsis;min-width:0}.tree-val.string[data-v-4149d143]{color:var(--code-str)}.tree-val.number[data-v-4149d143]{color:var(--code-num)}.tree-val.boolean[data-v-4149d143]{color:var(--code-bool)}.tree-val.null[data-v-4149d143]{color:var(--code-bool);font-style:italic}.tree-val.object[data-v-4149d143]{color:var(--code-bool)}: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}body{font-family:var(--font);background:var(--bg-grad);background-attachment:fixed;color:var(--text);font-size:15px;line-height:1.55}.app{max-width:1380px;margin:0 auto;padding:0 28px 64px;min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;gap:14px;padding:22px 0 10px}.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}.site-footer{margin-top:56px;padding-top:22px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:6px;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:18px;animation:fade-up .3s ease}@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:4px 0 16px;transition:color .15s}.back:hover{color:var(--brand-600)}.tool-head{display:flex;gap:16px;align-items:center;margin-bottom:26px}.tool-icon-lg{font-size:0;border-radius:var(--radius);width:62px;height:62px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tool-head h1{font-size:25px;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:440px 1fr;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}@media(max-width:860px){.tool-body.wide{grid-template-columns:1fr}}.tool-body.wide .tool-form{padding:0}.tool-body.focus{grid-template-columns:1fr}.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:flex;flex-direction:column;gap:18px;padding:4px 4px 4px 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:120px;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}.check-row input{width:17px;height:17px;accent-color:var(--brand-600);cursor:pointer}.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:26px;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:5px;margin-bottom:18px}.main-label{font-family:var(--mono);color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.main-value{font-size:clamp(30px,3.5vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.1;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:19px;font-weight:600;color:var(--muted)}.result-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px}.mini-card{background:var(--bg);border-radius:8px;padding:13px 14px;display:flex;flex-direction:column;gap:3px}.mini-label{font-family:var(--mono);font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.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)}.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:620px;-moz-tab-size:2;tab-size:2}.code-line{display:flex;align-items:baseline;padding-right:18px;white-space:pre}.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}.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)}.info-section{margin-top:34px;max-width:860px}.info-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm)}.info-card+.info-card{margin-top:16px}.info-title{font-size:15px;font-weight:700;letter-spacing:-.01em;margin-bottom:12px}.faq-item{border-top:1px solid var(--border-soft)}.faq-item:first-of-type{border-top:none}.faq-item summary{padding:13px 2px;font-size:14px;font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;transition:color .15s}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"＋";font-size:12px;color:var(--brand-600);flex-shrink:0;transition:transform .18s ease}.faq-item[open] summary:before{transform:rotate(45deg)}.faq-item summary:hover{color:var(--brand-600)}.faq-item p{padding:0 2px 14px;font-size:13.5px;color:var(--muted);line-height:1.65}.related-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.related-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);text-decoration:none;color:var(--text);font-size:13.5px;font-weight:600;transition:border-color .15s,box-shadow .15s}.related-item:hover{border-color:var(--brand-400);box-shadow:var(--shadow-sm)}.related-icon{font-size:0;flex-shrink:0}.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}}@media(max-width:640px){.app{padding:0 16px 48px}.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}}
