:root{color-scheme:light;--bg:#f4f6f8;--surface:#ffffff;--surface-soft:#f8fafc;--surface-blue-soft:#e8f4ff;--sidebar:#161a1d;--sidebar-soft:#20262a;--text:#111827;--muted:#667085;--muted-2:#98a2b3;--line:#e4e7ec;--line-strong:#d0d5dd;--primary:#0d9488;--primary-ink:#ffffff;--primary-soft:#e6fffb;--primary-border:#a4e4dd;--primary-hover:#0b7f75;--primary-focus:rgba(13,148,136,0.18);--accent:#f59e0b;--danger:#b42318;--danger-soft:#fff1f0;--danger-border:#f2b8b5;--field-bg:#eef2f6;--field-readonly-bg:#e9eef3;--field-disabled-bg:#e1e6ec;--field-disabled-border:#cfd6df;--field-disabled-text:#8b96a5;--placeholder:#9aa4b2;--shadow:0 16px 40px rgba(15,23,42,0.08);--shadow-soft:0 8px 22px rgba(15,23,42,0.06)}[data-theme="dark"]{color-scheme:dark;--bg:#101114;--surface:#181b20;--surface-soft:#20242b;--sidebar:#0d0f12;--sidebar-soft:#171b20;--text:#f2f4f7;--muted:#a7b0bd;--muted-2:#7d8794;--line:#2d333b;--line-strong:#3b444e;--primary:#2dd4bf;--primary-ink:#041311;--primary-soft:rgba(45,212,191,0.12);--primary-border:#22786f;--primary-hover:#20b9a7;--primary-focus:rgba(45,212,191,0.2);--accent:#fbbf24;--danger:#ff8a80;--danger-soft:#2d1718;--danger-border:#6c2b2e;--field-bg:#242a31;--field-readonly-bg:#20262d;--field-disabled-bg:#1b2026;--field-disabled-border:#303741;--field-disabled-text:#77818e;--placeholder:#858f9b;--shadow:0 18px 48px rgba(0,0,0,0.34);--shadow-soft:0 10px 26px rgba(0,0,0,0.26)}*{box-sizing:border-box}html{min-height:100%}body{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:"Quicksand",sans-serif;font-size:13px;overflow-x:hidden}a{color:inherit;text-decoration:none}svg{display:block}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{display:grid;width:100%;min-height:100vh;grid-template-columns:264px minmax(0,1fr);overflow-x:clip}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;align-self:start;min-height:100vh;padding:18px 14px;background:var(--sidebar);color:#e5e7eb}.sidebar-head{margin-bottom:18px;padding:0 4px}.nav-toggle{display:none}.sidebar-actions{display:none;min-width:0}.brand{display:flex;gap:11px;align-items:center;min-width:0;min-height:52px;padding:8px;border-radius:8px}.brand>span:last-child{min-width:0}.brand:hover{background:var(--sidebar-soft)}.brand-mark,.tool-icon,.nav-link span{display:inline-grid;place-items:center;flex:0 0 auto}.brand-mark{width:36px;height:36px;border-radius:8px;color:var(--primary-ink)}.brand-mark img{width:36px;height:36px}.brand strong{display:block;overflow:hidden;color:#ffffff;font-size:17px;font-weight:900;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.brand small{display:block;margin-top:1px;color:#9ca3af;font-size:12px;font-weight:700}.nav{display:grid;gap:4px}.nav-link{display:flex;gap:10px;align-items:center;min-height:42px;padding:7px 10px;border-radius:8px;color:#aeb7c2;font-weight:850}.nav-link span{width:28px;height:28px;border-radius:7px;background:rgba(255,255,255,0.06);color:#cbd5e1}.nav-link svg,.tool-icon svg{width:17px;height:17px;stroke-width:2.3}.nav-link:hover,.nav-link.active{background:var(--sidebar-soft);color:#ffffff}.nav-link.active span{background:var(--primary);color:var(--primary-ink)}.app-footer{color:#8d98a7;font-size:12px;font-weight:700;line-height:1.4;text-align:center}.sidebar-footer{margin-top:auto;padding:16px 10px 2px}.main-footer{display:none}.main{display:flex;flex-direction:column;min-width:0;padding:18px 24px 34px;transition:opacity 0.14s ease}.shell.is-loading .main{opacity:0.62;pointer-events:none}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:42px;width:100%;margin:0 0 10px}.topbar-title{color:var(--muted);font-size:13px;font-weight:850}.breadcrumb{display:flex;align-items:center;gap:8px;min-width:0}.breadcrumb a,.breadcrumb-current{display:inline-flex;align-items:center;gap:7px;min-width:0}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--text)}.breadcrumb-current{color:var(--text)}.breadcrumb svg{width:16px;height:16px;flex:0 0 auto;stroke-width:2.4}.breadcrumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-separator{color:var(--muted-2)}.topbar-controls{display:flex;gap:8px;align-items:center}.lang-switch{display:inline-grid;grid-template-columns:1fr 1fr;width:74px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-soft)}.lang-switch a{display:grid;place-items:center;min-height:25px;border-radius:999px;color:var(--muted);font-size:11px;font-weight:900}.lang-switch a.active{background:var(--primary);color:var(--primary-ink)}.theme-toggle{display:inline-grid;place-items:center;width:33px;height:33px;max-width:none;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft);cursor:pointer}.theme-toggle:hover{border-color:var(--line-strong);background:var(--surface-soft)}.theme-icon{grid-area:1 / 1;width:16px;height:16px}.theme-icon-dark,[data-theme="dark"] .theme-icon-light{opacity:0;transform:scale(0.82)}[data-theme="dark"] .theme-icon-dark{opacity:1;transform:scale(1)}.content{width:100%;min-width:0;max-width:1320px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.page-description{margin:7px 0 0;color:var(--muted);font-size:14px;font-weight:600;letter-spacing:0}h1,h2,h3,h4,h5,h6{margin:0;color:var(--text);line-height:1.08;letter-spacing:0}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.tool-card{display:grid;grid-template-columns:auto 1fr;gap:14px;min-height:150px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);transition:transform 0.14s ease,box-shadow 0.14s ease,border-color 0.14s ease}.tool-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:var(--shadow)}.tool-icon{width:42px;height:42px;border:1px solid var(--primary-border);border-radius:8px;background:var(--primary-soft);color:var(--primary)}.tool-card-body{display:grid;align-content:start;gap:8px}.tool-card small,.tool-card span,label,legend,.choice small,.result span{color:var(--muted)}.tool-card small{font-size:12px;font-weight:850}.tool-card strong{color:var(--text);font-size:20px;line-height:1.2}.tool-card span{line-height:1.55;font-weight:650}.tool-panel,.result,.alert{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.tool-panel{display:grid;gap:16px;min-width:0;padding:18px}.icon-actions button,.textdiff-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.icon-actions,.textdiff-actions{justify-self:center}.narrow{max-width:900px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}label{display:grid;gap:7px;font-size:13px;font-weight:850}input,select,textarea,button{width:100%;border:1px solid var(--line);border-radius:8px;font:inherit}input,select,textarea{min-width:0;padding:11px 12px;border-color:var(--line-strong);background:var(--field-bg);color:var(--text);outline:none;font-weight:700}input[readonly],textarea[readonly]{background:var(--field-readonly-bg)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus)}input::placeholder,textarea::placeholder{color:var(--placeholder);font-weight:650}input:disabled,select:disabled,textarea:disabled{border-color:var(--field-disabled-border);background:var(--field-disabled-bg);color:var(--field-disabled-text);opacity:1;cursor:not-allowed}input[type="file"]{padding:8px;color:var(--muted);font-weight:750}input[type="file"]::file-selector-button{margin-right:12px;padding:9px 13px;border:0;border-radius:7px;background:var(--primary);color:var(--primary-ink);cursor:pointer;font:inherit;font-weight:900}input[type="file"]::file-selector-button:hover{background:var(--primary-hover)}input[type="color"]{min-height:40px;padding:4px;cursor:pointer}input[type="color"]::-webkit-color-swatch-wrapper{padding:0}input[type="color"]::-webkit-color-swatch,input[type="color"]::-moz-color-swatch{border:0;border-radius:5px}.file-field{gap:9px}.upload-dropzone{position:relative;display:grid;min-height:142px;place-items:center;overflow:hidden;border:2px dashed var(--field-disabled-border);border-radius:14px;background:var(--field-bg);color:var(--text);text-align:center;cursor:pointer;transition:border-color 0.18s ease,background 0.18s ease,box-shadow 0.18s ease}.upload-dropzone:hover,.upload-dropzone.is-dragging,.upload-dropzone:focus-within{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-focus)}.upload-dropzone input[type="file"]{position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:0;opacity:0;cursor:pointer}.upload-content{display:grid;justify-items:center;gap:6px;padding:22px;pointer-events:none}.upload-content i{width:40px;height:40px;color:#6b5fd3;stroke-width:2.5}.upload-content strong{font-size:15px;font-weight:900}.upload-content small{color:var(--muted);font-size:13px;font-weight:750}textarea{height:300px;resize:none;line-height:1.55}.line-numbered-textarea{display:grid;grid-template-columns:38px minmax(0,1fr);height:300px;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--field-bg)}.line-numbered-textarea:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus)}.line-numbered-textarea .delimiter-textarea{height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}.textarea-password{height:355px}.line-number-gutter{height:100%;overflow:hidden;border-right:1px solid var(--line);background:var(--field-disabled-bg);color:var(--muted);font:inherit;font-family:Arial,sans-serif;font-size:12px;font-weight:700;line-height:1.68;padding-top:12px;text-align:right;user-select:none}.line-number-list{display:block;will-change:transform}.line-number-list span{display:block;padding:0 6px 0 4px}.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.controls.two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.checks{display:flex;flex-wrap:wrap;gap:10px 16px}.checks.columns{display:grid}.checks label,.choice{display:flex;gap:5px;align-items:flex-start}.checks label{align-items:center}.checks input,.choice input{position:relative;display:inline-grid;place-items:center;width:auto;min-width:18px;width:18px;height:18px;padding:0;border:1.5px solid var(--line-strong);background:var(--surface);appearance:none;cursor:pointer;transition:background 0.12s ease,border-color 0.12s ease,box-shadow 0.12s ease}.choice input{margin-top:2px}.checks input:hover,.choice input:hover{border-color:var(--primary)}.checks label:has(input:disabled),.choice:has(input:disabled){color:var(--muted-2);cursor:not-allowed;opacity:0.65}.checks input:disabled,.choice input:disabled{border-color:var(--line);background:var(--surface-soft);cursor:not-allowed}.checks input:focus-visible,.choice input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus);outline:none}.checks input[type="checkbox"],.choice input[type="checkbox"]{border-radius:5px}.checks input[type="checkbox"]::after,.choice input[type="checkbox"]::after{content:"";width:8px;height:4px;border:solid var(--primary-ink);border-width:0 0 2px 2px;opacity:0;transform:rotate(-45deg) translate(1px,-1px)}.checks input[type="checkbox"]:checked,.choice input[type="checkbox"]:checked,.checks input[type="radio"]:checked,.choice input[type="radio"]:checked{border-color:var(--primary);background:var(--primary)}.checks input[type="checkbox"]:checked::after,.choice input[type="checkbox"]:checked::after{opacity:1}.checks input[type="radio"],.choice input[type="radio"]{border-radius:999px}.checks input[type="radio"]::after,.choice input[type="radio"]::after{content:"";width:7px;height:7px;border-radius:999px;background:var(--primary-ink);opacity:0;transform:scale(0.6);transition:opacity 0.12s ease,transform 0.12s ease}.checks input[type="radio"]:checked::after,.choice input[type="radio"]:checked::after{opacity:1;transform:scale(1)}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.choice{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.choice:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.choice small{display:block;margin-top:4px;font-weight:650;line-height:1.45}fieldset{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:8px}legend{padding:0 6px;font-size:13px;font-weight:850}.option-panel{display:grid;gap:14px}.option-panel legend{display:inline-flex;gap:8px;align-items:center}.option-panel legend svg{width:18px;height:18px;color:var(--primary)}.switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.switch-row{display:flex;align-items:center;gap:9px;min-width:0;font-weight:850}.switch-row strong{min-width:0}.switch-row input{position:absolute;opacity:0;pointer-events:none}.switch-control{position:relative;width:36px;height:20px;flex:0 0 36px;border:1px solid var(--line-strong);border-radius:999px;background:var(--field-disabled-bg);transition:background 0.14s ease,border-color 0.14s ease,box-shadow 0.14s ease}.switch-control::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:999px;background:var(--muted);transition:transform 0.14s ease,background 0.14s ease}.switch-row input:checked+.switch-control{border-color:var(--primary);background:var(--primary)}.switch-row input:checked+.switch-control::after{background:var(--primary-ink);transform:translateX(16px)}.switch-row input:focus-visible+.switch-control{box-shadow:0 0 0 3px var(--primary-focus)}.encoding-label{width:100%;font-weight:850}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions svg{width:17px;height:17px}.password-length-row{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:12px;align-items:center}.password-length-row input[type="range"]{padding:0}.password-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:none}.qr-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.qr-type-grid .choice{min-height:36px;padding:8px 11px}.qr-type-grid .choice span{display:inline-flex;align-items:center;gap:8px;padding-top:2px}.qr-type-grid .choice svg{width:16px;height:16px}.qr-fields{display:none}.qr-fields.is-active{display:block}.qr-fields.controls.is-active{display:grid}.qr-fields.controls{align-items:start}.qr-two-column-fields.controls{grid-template-columns:repeat(2,minmax(0,1fr))}.qr-vcard-fields.controls{grid-template-columns:repeat(6,minmax(0,1fr))}.qr-vcard-fields>label{grid-column:span 2}.qr-field-wide{grid-column:1 / -1}.qr-vcard-fields>.qr-field-half{grid-column:span 3}.qr-fields textarea{height:150px}.qr-customize-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.qr-color-field span{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px}.qr-color-field input{height:42px;min-height:42px}.qr-range-field{gap:10px}.qr-range-field>span{color:var(--text);font-weight:750}.qr-range-field input[type="range"]{height:18px;min-height:18px;padding:0;border:0;background:transparent;accent-color:var(--primary)}.qr-frame-toggle{display:flex}.qr-reset-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.qr-fields[hidden],.qr-fields:not(.is-active){display:none!important}[data-qr-tool]:has(input[name="type"][value="url"]:checked) [data-qr-fields="url"],[data-qr-tool]:has(input[name="type"][value="text"]:checked) [data-qr-fields="text"],[data-qr-tool]:has(input[name="type"][value="phone"]:checked) [data-qr-fields="phone"]{display:block!important}[data-qr-tool]:has(input[name="type"][value="email"]:checked) [data-qr-fields="email"],[data-qr-tool]:has(input[name="type"][value="sms"]:checked) [data-qr-fields="sms"],[data-qr-tool]:has(input[name="type"][value="wifi"]:checked) [data-qr-fields="wifi"],[data-qr-tool]:has(input[name="type"][value="vcard"]:checked) [data-qr-fields="vcard"],[data-qr-tool]:has(input[name="type"][value="location"]:checked) [data-qr-fields="location"],[data-qr-tool]:has(input[name="type"][value="event"]:checked) [data-qr-fields="event"]{display:grid!important}[data-qr-tool]:has(input[name="type"][value="url"]:checked) [data-qr-fields]:not([data-qr-fields="url"]),[data-qr-tool]:has(input[name="type"][value="text"]:checked) [data-qr-fields]:not([data-qr-fields="text"]),[data-qr-tool]:has(input[name="type"][value="email"]:checked) [data-qr-fields]:not([data-qr-fields="email"]),[data-qr-tool]:has(input[name="type"][value="phone"]:checked) [data-qr-fields]:not([data-qr-fields="phone"]),[data-qr-tool]:has(input[name="type"][value="sms"]:checked) [data-qr-fields]:not([data-qr-fields="sms"]),[data-qr-tool]:has(input[name="type"][value="wifi"]:checked) [data-qr-fields]:not([data-qr-fields="wifi"]),[data-qr-tool]:has(input[name="type"][value="vcard"]:checked) [data-qr-fields]:not([data-qr-fields="vcard"]),[data-qr-tool]:has(input[name="type"][value="location"]:checked) [data-qr-fields]:not([data-qr-fields="location"]),[data-qr-tool]:has(input[name="type"][value="event"]:checked) [data-qr-fields]:not([data-qr-fields="event"]){display:none!important}.qr-preview{display:grid;align-content:start;justify-items:center;gap:12px;min-height:360px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.qr-preview>span{justify-self:stretch;color:var(--muted);font-weight:850}.qr-preview img{width:min(100%,var(--qr-preview-size,320px));height:auto;border:1px solid var(--line);border-radius:8px;background:#ffffff}.qr-download-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.qr-empty{display:grid;place-items:center;width:min(100%,320px);aspect-ratio:1;border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted-2)}.qr-empty svg{width:56px;height:56px}.diff-summary{display:flex;flex-wrap:wrap;gap:8px}.diff-summary span{display:inline-flex;gap:6px;align-items:center;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted);font-weight:850}.diff-summary strong{color:var(--text)}.diff-view{display:grid;gap:12px}.diff-hunk{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.diff-merge-controls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.diff-merge-controls label{display:inline-flex;align-items:center;width:auto}.diff-merge-controls input{width:18px;min-width:18px;height:18px;padding:0}.diff-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.diff-head{padding:8px 10px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:900}.diff-head:first-child,.diff-cell:nth-child(odd){border-right:1px solid var(--line)}.diff-cell{display:grid;grid-template-columns:48px minmax(0,1fr);min-height:30px;border-bottom:1px solid var(--line)}.diff-line-no{padding:6px 8px;border-right:1px solid var(--line);color:var(--muted-2);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;text-align:right;user-select:none}.diff-cell pre{min-width:0;margin:0;padding:6px 9px;overflow-x:auto;color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.diff-cell-added{background:rgba(16,185,129,0.12)}.diff-cell-deleted{background:rgba(244,63,94,0.12)}.diff-cell-modified{background:rgba(245,158,11,0.15)}.textdiff-tool{gap:20px}.textdiff-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.textdiff-input-pane{display:grid;gap:9px;min-width:0}.textdiff-pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);font-weight:900}.textdiff-open-file{display:inline-flex;align-items:center;width:auto;gap:7px;color:var(--muted);cursor:pointer}.textdiff-open-file input{display:none}.textdiff-open-file svg{width:16px;height:16px}.textdiff-result{position:relative;overflow:hidden;min-height:520px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.textdiff-summary-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto 28px minmax(160px,1fr) auto auto;align-items:center;gap:9px;padding:12px 28px 10px 14px;border-bottom:1px solid var(--line)}.diff-stat{position:relative;width:max-content}.diff-stat-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;width:auto;padding:6px 10px;border:0;background:transparent;font-size:12px;font-weight:900;white-space:nowrap}.diff-stat-button svg{flex:0 0 auto;width:15px;height:15px}.diff-stat-delete .diff-stat-button{color:#e03b2f}.diff-stat-add .diff-stat-button{color:#009688}.diff-stat:hover .diff-stat-button,.diff-stat:focus-within .diff-stat-button{background:var(--danger-soft)}.diff-stat-add:hover .diff-stat-button,.diff-stat-add:focus-within .diff-stat-button{background:var(--primary-soft)}.diff-stat-popover{position:absolute;z-index:4;top:calc(100% + 7px);left:0;display:none;min-width:225px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.diff-stat:hover .diff-stat-popover,.diff-stat:focus-within .diff-stat-popover{display:grid;gap:8px}.diff-stat-popover span{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-weight:750}.diff-stat-popover b{color:inherit}.diff-stat-delete .diff-stat-popover b{color:#d92d20}.diff-stat-add .diff-stat-popover b{color:#00897b}.diff-stat-popover hr{width:100%;margin:5px 0;border:0;border-top:1px solid var(--line)}.textdiff-total-lines{color:var(--muted);font-weight:750}.textdiff-copy-all,.textdiff-copy-chip{width:auto;min-height:28px;padding:5px 8px;border:0;background:transparent;color:var(--text);font-weight:900}.textdiff-copy-chip{position:absolute;top:5px;right:calc(50% + 42px);z-index:2;background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}.textdiff-swap-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border:0;background:transparent;color:var(--muted-2)}.textdiff-swap-mark button:hover{background:var(--danger-soft)}.textdiff-swap-mark svg{width:16px;height:16px}.textdiff-result .diff-view{display:block;padding:8px 8px 12px 8px}.textdiff-result .diff-hunk{position:relative;overflow:visible;border:0;border-radius:0;background:transparent}.diff-change-toolbar{display:none;align-items:center;gap:8px;padding:8px 0 10px}.diff-change-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-height:30px;padding:6px 10px;border:0;background:var(--surface-soft);color:var(--text);font-size:12px;font-weight:900}.diff-hunk.is-active .diff-change-toolbar,.diff-hunk.is-active .diff-change-panel{display:flex}.textdiff-result .diff-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);cursor:default}.textdiff-result .diff-cell{display:grid;min-height:22px;border:0;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:12px}.textdiff-result .diff-line-no{padding:2px 9px;border:0;color:var(--muted-2)}.textdiff-result .diff-cell pre{min-height:18px;padding:2px 7px;overflow:hidden;line-height:1.25}.diff-left.diff-line-added,.diff-right.diff-line-deleted{background:transparent}.diff-left.diff-line-deleted,.diff-left.diff-line-modified{background:#fde8e4}.diff-right.diff-line-added,.diff-right.diff-line-modified{background:#daf5ef}.diff-left.diff-line-deleted pre,.diff-left.diff-line-modified pre{color:#9f1f17}.diff-right.diff-line-added pre,.diff-right.diff-line-modified pre{color:#007f72}.diff-change-panel{display:none;align-items:center;justify-content:center;gap:14px;padding:10px 0}.diff-change-panel::after{content:"x";order:2;color:var(--muted);font-weight:900}.diff-change-panel button{width:auto;min-height:32px;padding:7px 11px;border:0;color:#fff;font-size:12px;font-weight:900}.diff-change-panel .textdiff-copy-chip{color:var(--text)}.diff-change-panel .merge-left{order:1;background:#e34b35}.diff-change-panel .merge-right{order:3;background:var(--primary)}.button-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;width:auto;max-width:none;padding:10px 14px;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:var(--primary-ink);font-weight:900}.button-link svg{width:16px;height:16px}button{max-width:170px;min-height:40px;padding:10px 30px;border-color:var(--primary);background:var(--primary);color:var(--primary-ink);cursor:pointer;font-weight:900}button:hover{border-color:var(--primary-hover);background:var(--primary-hover)}.theme-toggle,.theme-toggle:hover{width:33px;min-width:33px;max-width:33px;height:33px;min-height:33px;padding:0;border-radius:50%}.theme-toggle{border-color:var(--line);background:var(--surface);color:var(--text)}.theme-toggle:hover{border-color:var(--line-strong);background:var(--surface-soft)}button.secondary{background:transparent;color:var(--primary)}button.secondary:hover{background:var(--primary-soft);color:var(--primary)}.alert{margin-bottom:14px;padding:12px 14px;border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger);font-weight:850}.toast-stack{position:fixed;z-index:30;right:16px;bottom:16px;display:grid;width:min(360px,calc(100vw - 32px));gap:10px;pointer-events:none}.toast{position:relative;overflow:hidden;min-height:48px;padding:13px 16px 13px 18px;border:1px solid var(--line-strong);border-left-width:5px;border-radius:6px;background:var(--surface);box-shadow:0 12px 32px rgba(15,23,42,0.18);color:var(--text);font-weight:800;line-height:1.35;opacity:0;pointer-events:auto;transform:translateX(18px);transition:opacity 0.18s ease,transform 0.18s ease}.toast.is-visible{opacity:1;transform:translateX(0)}.toast-success{border-left-color:var(--primary)}.toast-error{border-left-color:var(--danger)}.result{margin-bottom:14px;padding:15px}.result span{display:block;margin-bottom:4px;font-size:12px;font-weight:900;text-transform:uppercase}.result strong{color:var(--accent);font-size:30px;line-height:1.15}.ip-search{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:0;max-width:980px}.ip-search input{border-radius:8px 0 0 8px;font-size:18px;height:48px}.ip-search button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;max-width:none;padding:0 16px;border-radius:0 8px 8px 0}.ip-help{margin:8px 0 24px;color:var(--muted);font-weight:700}.ip-card{overflow:hidden;max-width:980px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.ip-card-head{padding:13px 18px;border-bottom:1px solid var(--line);background:var(--field-readonly-bg);font-size:16px}.ip-card-body{display:grid;gap:14px;padding:18px}.ip-card h3{margin:0;color:var(--primary);font-size:16px}.ip-current{display:grid;gap:8px;margin:0;font-size:17px;font-weight:800}.ip-current>span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.ip-current-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ip-current strong{display:grid;gap:4px;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:10px 12px;color:#f43f5e;overflow-wrap:anywhere}.ip-current small{color:var(--muted);font-size:12px;font-weight:900}.ip-detail-grid{display:grid;gap:10px}.ip-detail-grid code{color:#f43f5e;overflow-wrap:anywhere}.ip-detail-grid p{margin:0;font-size:16px}.percentage-field-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.percentage-field-head legend{display:block;padding:0}.percentage-line{display:flex;align-items:center;gap:8px;font-weight:600}.percentage-line input,.percentage-line select{max-width:160px}.percentage-spacer{flex:1 1 auto;min-width:24px}.percentage-help{position:relative;display:inline-grid;place-items:center;width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px;padding:0;border:0;border-radius:999px;background:var(--surface-soft);color:var(--text);box-shadow:none}.percentage-tooltip{position:absolute;right:0;top:calc(100% + 8px);z-index:3;display:grid;gap:5px;width:max-content;max-width:470px;padding:10px 14px;border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transform:translateY(4px);text-align:left;transition:opacity 0.12s ease,transform 0.12s ease}.percentage-tooltip strong{color:#3b82f6;font-weight:900}.percentage-tooltip code{display:block;margin-top:3px;padding:8px 10px;border-radius:4px;background:var(--surface-blue-soft);color:var(--text)}.percentage-help:hover .percentage-tooltip,.percentage-help:focus-visible .percentage-tooltip{opacity:1;transform:translateY(0)}@media (max-width:860px){.shell,.split{grid-template-columns:1fr}.shell{display:block;min-height:0}.sidebar{position:static;display:block;min-height:auto;padding:12px;overflow:visible}.sidebar-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:0;padding:0}.brand{min-height:44px;padding:6px}.brand-mark img{width:32px;height:32px}.brand small{display:none}.sidebar-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:0}.sidebar-actions .theme-toggle,.sidebar-actions .nav-toggle{flex:0 0 38px;display:inline-grid!important}.sidebar-actions .lang-switch{flex:0 0 74px}.nav-toggle{display:inline-grid;place-items:center;align-items:center;width:38px;min-width:38px;max-width:38px;min-height:36px;padding:0;border:1px solid rgba(255,255,255,0.12);border-radius:8px;background:var(--sidebar-soft);color:#ffffff}.nav-toggle svg{grid-area:1 / 1;width:16px;height:16px}.nav-toggle span,.nav-toggle svg:last-child{display:none}.sidebar.nav-open .nav-toggle svg:last-child{transform:rotate(180deg)}.main{min-height:calc(100vh - 68px);padding:14px;min-width:0}.content{flex:1 0 auto}.sidebar-footer{display:none}.main-footer{display:block;width:100%;max-width:1320px;margin:18px auto 0;padding-top:14px;border-top:1px solid var(--border);color:var(--muted)}.topbar{display:none}.nav{position:absolute;top:58px;right:12px;left:12px;z-index:10;display:none;gap:6px;padding:8px;border:1px solid rgba(255,255,255,0.1);border-radius:10px;background:var(--sidebar);box-shadow:var(--shadow);max-height:calc(100vh - 78px);overflow-y:auto}.sidebar.nav-open .nav{display:grid}.nav-link{min-height:38px;padding:6px 9px}.nav-link span{width:26px;height:26px}.page-head{margin-bottom:14px}.tool-panel{gap:12px;padding:14px;overflow:hidden}fieldset{padding:12px}textarea{height:220px}.line-numbered-textarea{height:220px}.delimiter-textarea{min-height:0}.percentage-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.percentage-line input,.percentage-line select{flex:0 1 120px;width:120px;min-width:0;max-width:none}.percentage-line [data-percent-result]{flex-basis:160px;width:160px}.percentage-tooltip{right:-10px;width:300px;max-width:calc(100vw - 42px)}.percentage-spacer{display:none}}@media (max-width:520px){.sidebar{padding:12px}.sidebar-head{display:flex;justify-content:space-between}.sidebar-actions{width:192px;flex:0 0 192px;justify-content:flex-end}.brand{flex:0 1 auto}.sidebar-actions .lang-switch{flex:0 0 108px;width:108px;max-width:108px}.sidebar-actions .theme-toggle,.sidebar-actions .nav-toggle{flex:0 0 34px;width:34px;min-width:34px;max-width:34px}.brand strong{font-size:16px}.main{padding:12px}.topbar{justify-content:flex-start;max-width:100%}.topbar-controls{margin-left:0}.page-head{align-items:flex-start;min-width:0}.page-head h1,.page-head h2{overflow-wrap:anywhere}.tool-grid{grid-template-columns:1fr}.tool-card{grid-template-columns:1fr;min-height:auto;padding:14px}.tool-panel{padding:12px}input,select,textarea{padding:10px 11px}textarea{height:180px}.line-numbered-textarea{height:180px}.upload-dropzone{min-height:124px}.upload-content{padding:18px}.controls,.controls.two,.mode-grid,.checks.columns,.qr-customize-grid,.ip-current-values{grid-template-columns:1fr}.ip-search{grid-template-columns:1fr}.ip-search input,.ip-search button{border-radius:8px}.qr-vcard-fields.controls{grid-template-columns:1fr}.qr-vcard-fields>label,.qr-vcard-fields>.qr-field-half{grid-column:1 / -1}.qr-two-column-fields.controls{grid-template-columns:1fr}.qr-type-grid{grid-template-columns:1fr}.diff-grid{grid-template-columns:1fr}.diff-head:first-child,.diff-cell:nth-child(odd){border-right:0}.percentage-line input,.percentage-line select,.percentage-line [data-percent-result]{flex:1 1 100%;width:100%}.switch-grid{grid-template-columns:1fr}.actions{display:grid}.password-length-row{grid-template-columns:1fr}button{max-width:none}.password-actions button{width:100%;max-width:none}}.textdiff-tool{padding:0;border:0;background:transparent;box-shadow:none}.textdiff-tool .line-numbered-textarea{height:300px;border-color:var(--line-strong);background:var(--surface)}.textdiff-tool .line-numbered-textarea .delimiter-textarea{background:var(--surface);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:12px;font-weight:650;line-height:1.55}.textdiff-tool .line-number-gutter{background:var(--surface-soft);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:12px;font-weight:650;line-height:1.55;padding-top:11px}.textdiff-actions{margin:4px 0 8px}.textdiff-actions button{min-height:40px;width:auto;min-width:136px;padding:9px 16px;border:0;border-radius:6px;background:var(--primary)}.textdiff-result{min-height:0;border-color:var(--line-strong);box-shadow:none}.textdiff-summary-row{min-height:64px;padding:12px 36px 12px 24px;background:var(--surface)}.textdiff-result .diff-view{padding:8px 8px 16px 8px}.diff-left.diff-line-deleted,.diff-left.diff-line-modified{background:#fde6e2}.diff-right.diff-line-added,.diff-right.diff-line-modified{background:#d8f3ed}@media (max-width:860px){.textdiff-inputs,.textdiff-result .diff-grid{grid-template-columns:1fr}.textdiff-summary-row{grid-template-columns:1fr auto auto}.textdiff-swap-mark{display:none}}