.tool-page{position:relative;isolation:isolate;padding-block:clamp(24px,2.4vw + 12px,48px) clamp(64px,6vw,104px)}.tool-wrap{max-width:calc(1040px + var(--gutter) * 2)}.tool-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;padding:0;font-size:13px;color:var(--text-3)}.tool-crumbs li{display:inline-flex;align-items:center;gap:6px;min-width:0}.tool-crumbs a{color:var(--text-2);border-radius:var(--r-xs);transition:color var(--dur-2)}.tool-crumbs a:hover{color:var(--text)}.tool-crumbs .i{color:var(--text-3)}.tool-head{display:flex;align-items:flex-start;gap:18px;margin-top:18px}.tool-ic{flex:none;display:grid;margin-top:12px;color:var(--accent-text)}.tool-ic .i{width:24px;height:24px}.tool-hgroup{min-width:0}.tool-title{font-size:clamp(2rem,1.3rem + 2.3vw,3.25rem);line-height:1.04;letter-spacing:var(--track-h2);font-weight:600}:root:lang(ar) .tool-title{line-height:1.25}:root:lang(zh) .tool-title,:root:lang(ja) .tool-title{line-height:var(--lh-tight)}.tool-desc{margin-top:10px;max-width:62ch;font-size:var(--fs-md);line-height:1.55;color:var(--text-2)}.tool-specs{display:flex;flex-wrap:wrap;gap:14px 36px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.tool-specs>div{display:grid;gap:4px;align-content:start;min-width:0;max-width:34ch}.tool-specs>div.is-wide{max-width:56ch;flex:1 1 320px}.tool-specs dd{font-size:13.5px;line-height:1.5;color:var(--text-2)}.tool-card{position:relative;margin-top:28px;border-radius:var(--r-2xl);background:var(--surface-1);border:1px solid var(--line);box-shadow:var(--highlight),var(--shadow-2)}.tool-form{padding:20px 22px}.tool-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 12px}.tool-f{flex:1 1 260px;min-width:0}.tool-f.is-m{flex:0 1 230px}.tool-f.is-s{flex:0 1 190px}.tool-f.is-xs{flex:0 0 148px}.tool-in,.tool-form .select{height:44px}.tool-in{font-family:var(--font-mono);font-stretch:var(--mono-stretch);font-size:14px;letter-spacing:-.01em}.tool-in::placeholder{font-family:var(--font-mono)}[dir=rtl] .tool-in[type=number]:placeholder-shown{direction:rtl}.tool-run{--h: 44px;flex:none;padding-inline:18px}.tool-run .i{opacity:.7}.tool-out>.res,.tool-out>.ml{border-top:1px solid var(--line)}.tool-card>.tool-out:first-child>.ml{border-top:0}.res-head{display:flex;align-items:flex-start;gap:14px;padding:20px 22px 4px}.res-glyph{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--st-soft);color:var(--st);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--st) 24%,transparent)}.res-glyph .i{width:20px;height:20px;--i-sw: 1.75}.res-head-t{display:grid;gap:6px;min-width:0;padding-top:2px}.res-state{font-size:clamp(1.0625rem,.98rem + .4vw,1.3125rem);font-weight:600;line-height:1.35;letter-spacing:-.012em;overflow-wrap:anywhere}.res-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font-size:12.5px;color:var(--text-3)}.res-meta>*{display:inline-flex;flex-wrap:wrap;align-items:center;min-width:0;overflow-wrap:anywhere}.res-meta>*+*:before,.res-dot{content:"";flex:none;width:3px;height:3px;margin-inline:10px;background:var(--line-3)}.res-meta .mono{color:var(--text-2)}.res-body{display:grid;gap:24px;padding:18px 22px 24px;min-width:0}.res-sec{display:grid;gap:10px;min-width:0}.res-h{margin:0}.res-na{color:var(--text-3)}.res-note{max-width:78ch;font-size:13px;line-height:1.55;color:var(--text-3)}.res-msg{padding:20px 22px}.res-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--r-lg);background:var(--st-soft);border:1px solid color-mix(in srgb,var(--st) 28%,transparent)}.res-alert .i{flex:none;width:18px;height:18px;margin-top:2px;color:var(--st);--i-sw: 1.75}.res-alert p{font-size:14px;font-weight:500;overflow-wrap:anywhere}.res-stats{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.res-stats>div{flex:1 1 150px;display:grid;gap:6px;align-content:start;min-width:0;padding:12px 14px 13px;background:var(--surface-1)}.res-stats dd{font-size:21px;font-weight:600;line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere}.res-stats dd .mono{font-size:.78em;letter-spacing:-.01em}.res-stats dd .faint{font-weight:500}.res-stats dd .st{font-size:12.5px;letter-spacing:0;vertical-align:3px}.res-stats dd small{display:block;margin-top:8px;font-size:12px;font-weight:450;letter-spacing:0;color:var(--text-3)}.res-stats .res-na{font-weight:500;font-size:.8em}.res-kv{display:grid;border-top:1px solid var(--line)}.res-kv>div{display:grid;grid-template-columns:minmax(130px,.32fr) minmax(0,1fr);gap:4px 20px;padding-block:9px;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.5}.res-kv dt{color:var(--text-3)}.res-kv dd{min-width:0;overflow-wrap:anywhere}.res-kv dd>.st{vertical-align:-1px}.res-kv .mono{font-size:.9em}.res-vals{list-style:none;padding:0;display:grid;gap:3px}.res-vals li{overflow-wrap:anywhere}.res-dns dt .mono{display:inline-block;min-width:3.4em;padding:1px 6px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--line);color:var(--text);font-weight:600;text-align:center}.res-findings{list-style:none;padding:0;display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;border-top:1px solid var(--line)}.res-findings>li{grid-column:1 / -1;display:grid;grid-template-columns:7.5em minmax(0,1fr);grid-template-columns:subgrid;align-items:start;padding-block:10px;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.5}.res-findings>li>.st{justify-self:start;margin-top:-1px}.res-f{display:grid;gap:2px;min-width:0}.res-f p{overflow-wrap:anywhere}.res-f-d{font-size:12.5px;color:var(--text-2)}.res-overview{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}.res-sum{display:flex;align-items:center;gap:16px;flex:1 1 260px;max-width:420px}.res-grade{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--st-soft);color:var(--st);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--st) 28%,transparent);font-size:34px;font-weight:700;letter-spacing:-.04em;line-height:1}.res-score{display:grid;gap:10px;flex:1;min-width:0}.res-score p{display:flex;align-items:baseline;gap:2px}.res-score b{font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1}.res-meter{position:relative;display:block;height:6px;border-radius:6px;background:var(--surface-3);overflow:hidden;direction:ltr}.res-meter i{position:absolute;inset-block:0;inset-inline-start:0;width:calc(var(--v, 0) * 100%);min-width:3px;border-radius:inherit;background:var(--st-bar, var(--trace))}.res-tally{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--text-2)}.res-tally>span{display:inline-flex;align-items:center;gap:6px}.res-tally .i{color:var(--st)}.res-tally b{color:var(--text);font-weight:600}.res-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5}.res-table th,.res-table td{padding-block:9px;padding-inline:0 14px;text-align:start;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.res-table th:last-child,.res-table td:last-child{padding-inline-end:0}.res-table thead th{overflow-wrap:normal;padding-block:0 8px;font-family:var(--font-mono);font-stretch:var(--mono-stretch);font-size:var(--fs-xs);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-3);border-bottom-color:var(--line-2)}:root:lang(ar) .res-table thead th,:root:lang(zh) .res-table thead th,:root:lang(ja) .res-table thead th{font-family:var(--font-sans);font-size:12px;text-transform:none}.res-table tbody th{font-weight:600}.res-table .r{text-align:end;white-space:nowrap}.res-table .st{white-space:nowrap}.res-table .mono{font-size:.92em}.res-proto tbody th{white-space:nowrap}.res-prop .res-who{display:block}.res-prop td .st{margin-top:4px}.res-prop tr.is-diff td:first-of-type .mono{color:var(--warn)}.res-flag{display:inline-flex;align-items:center;gap:5px;color:var(--st);font-weight:500}.res-more>summary{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding-inline:10px 12px;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--surface-1);box-shadow:var(--shadow-1);font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;list-style:none;transition:color var(--dur-2),border-color var(--dur-2)}.res-more>summary::-webkit-details-marker{display:none}.res-more>summary:hover{color:var(--text);border-color:var(--line-3)}.res-more>summary .i{transition:transform var(--dur-3) var(--ease-out)}.res-more[open]>summary{margin-bottom:12px}.res-more[open]>summary .i{transform:rotate(180deg)}.res-dns>div{grid-template-columns:76px minmax(0,1fr)}.res-wf{list-style:none;padding:0;display:grid;gap:10px}.res-wf li{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr) 76px;gap:14px;align-items:center;font-size:13px}.res-wf-l{color:var(--text-2);min-width:0;overflow-wrap:anywhere}.res-wf-t{position:relative;height:8px;border-radius:4px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);direction:ltr;overflow:hidden}.res-wf-t i{position:absolute;inset-block:0;inset-inline-start:var(--x, 0);width:var(--w, 0);min-width:3px;border-radius:4px;background:var(--trace);opacity:var(--o, 1)}.res-wf-v{text-align:end;white-space:nowrap}.res-term{--tm-bg: #0B0F0E;--tm-text: #D5DED9;--tm-dim: #85908B;--tm-line: rgba(214, 255, 236, .08);--tm-ok: #3DD68C;--tm-warn: #F2B544;--tm-bad: #FF6B5E;--tm-acc: #C8F23C;position:relative;margin:0;min-width:0;border-radius:var(--r-lg);background:var(--tm-bg);color:var(--tm-text);border:1px solid rgba(214,255,236,.1);box-shadow:inset 0 1px #ffffff0d,var(--shadow-1);overflow:hidden}.res-term:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(214,255,236,.025) 1px,transparent 1px);background-size:100% 4px}.res-term-h{position:relative;display:flex;align-items:baseline;gap:8px;padding:10px 16px;direction:ltr;text-align:start;border-bottom:1px solid var(--tm-line);font-family:var(--font-mono);font-stretch:var(--mono-stretch);font-size:12px;color:var(--tm-dim)}.res-term-p{color:var(--tm-acc)}.res-term-cmd{min-width:0;color:var(--tm-text);overflow-wrap:anywhere}.res-term-x{margin-inline-start:auto;white-space:nowrap}.res-term-body{position:relative;margin:0;padding:14px 16px 16px;font-family:var(--font-mono);font-stretch:var(--mono-stretch);font-size:12.5px;line-height:1.75;letter-spacing:-.005em;white-space:pre-wrap;overflow-wrap:anywhere;direction:ltr;text-align:start;font-variant-numeric:tabular-nums}.res-term ::selection{background:#c8f23c4d}.t-dim{color:var(--tm-dim)}.t-ok{color:var(--tm-ok)}.t-warn{color:var(--tm-warn)}.t-bad{color:var(--tm-bad)}.t-acc{color:var(--tm-acc)}.t-s{color:var(--tm-text)}.t-bar{display:inline-block;width:calc(var(--v, 0) * 14ch);min-width:2px;height:.62em;margin-inline-end:8px;vertical-align:.02em;border-radius:1px;background:currentColor;opacity:.45;color:var(--tm-ok)}.res-hops{width:100%;border-collapse:collapse;white-space:normal}.res-hops th{padding-block:0 6px;padding-inline:0 12px;text-align:start;font-weight:500;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-dim);white-space:nowrap;overflow-wrap:normal}:root:lang(ar) .res-hops th,:root:lang(zh) .res-hops th,:root:lang(ja) .res-hops th{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none}.res-hops td{padding-block:2px;padding-inline:0 12px;vertical-align:top;overflow-wrap:anywhere}.res-hops td:first-child{width:1%;white-space:nowrap}.res-hops td:nth-child(2){width:46%}.res-hops td:last-child{padding-inline-end:0;white-space:nowrap}.t-ms{display:inline-block;min-width:9ch;margin-inline-end:10px;text-align:end}.res-hops tr.is-dest td:nth-child(2){color:var(--tm-acc)}.res-game{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px}.res-fav{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);image-rendering:pixelated;object-fit:cover}.res-fav .i{width:24px;height:24px}.res-game-t{display:grid;gap:2px;flex:1 1 220px;min-width:0}.res-game-t b{font-size:17px;font-weight:600;overflow-wrap:anywhere}.res-game-t .faint{font-size:13px;overflow-wrap:anywhere}.res-names{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}.res-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 22px;border-top:1px solid var(--line);background:var(--bg-2);border-end-start-radius:calc(var(--r-2xl) - 1px);border-end-end-radius:calc(var(--r-2xl) - 1px)}.res-cta p{display:flex;align-items:flex-start;gap:10px;max-width:64ch;font-size:13.5px;line-height:1.5;color:var(--text-2)}.res-cta p .i{flex:none;margin-top:2px;color:var(--accent-text)}.res-wait{display:flex;align-items:center;gap:12px;padding:22px;border-top:1px solid var(--line);font-size:14px;color:var(--text-2)}.res-wait-cur{flex:none;width:9px;height:16px;background:var(--packet);animation:res-blink 1.05s steps(1) infinite}.res-wait-t{margin-inline-start:auto;font-size:12.5px;color:var(--text-3)}@keyframes res-blink{50%{opacity:0}}.tool-more{display:grid;gap:14px;margin-top:52px}.tool-more ul{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;padding:0;font-size:14px}.tool-more a{display:inline-block;padding-block:3px;color:var(--text-2);border-bottom:1px solid var(--line-2);transition:color var(--dur-2),border-color var(--dur-2)}.tool-more a:hover{color:var(--text);border-color:var(--accent-line)}.tool-legal{margin-top:24px;font-size:13px;color:var(--text-3)}.ml,.ml-live{display:grid;gap:18px}.ml{padding:22px}.ml-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.ml-now{display:grid;gap:6px;min-width:0}.ml-val{display:block;min-height:1em;font-size:clamp(44px,5vw + 16px,68px);font-weight:600;line-height:1;letter-spacing:-.045em}.ml-u{margin-inline-start:.22em;font-size:.62em;font-weight:500;letter-spacing:0;color:var(--text-3)}.ml-val .ml-u{margin-inline-start:6px;font-size:.3em}.ml-val:not(.on){display:none}.ml-step{min-height:1.4em;font-size:13.5px}.ml-val.on+.ml-step{font-size:13px}.ml-bars{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:4px;height:76px;list-style:none;padding:0;direction:ltr}.ml-bars li{position:relative;overflow:hidden;border-radius:3px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.ml-bars li:after{content:"";position:absolute;inset:0;border-radius:3px;background:var(--trace);transform-origin:50% 100%;transform:scaleY(var(--h, 0));transition:transform var(--dur-3) var(--ease-out)}.ml-bars li.is-lost{background:var(--bad-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bad) 40%,transparent)}.ml-bars li.is-lost:after{display:none}.ml-bars li.is-now{box-shadow:inset 0 0 0 1px var(--accent-line)}.ml.is-running .res-stats dd{opacity:.4;transition:opacity var(--dur-2)}.ml-verdict{display:flex;align-items:center;gap:10px;min-height:1.5em;font-size:15px;font-weight:500}.ml-verdict:empty{display:none}.ml-verdict:before{content:"";flex:none;width:9px;height:9px;background:var(--st-bar, var(--trace));border-radius:50%}.ml-verdict.is-warn:before{border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.ml-verdict.is-bad:before{border-radius:1.5px}@media(max-width:720px){.tool-head{gap:14px}.tool-ic{width:44px;height:44px;border-radius:12px;margin-top:2px}.tool-ic .i{width:20px;height:20px}.res-wf li{grid-template-columns:minmax(84px,112px) minmax(0,1fr) 64px;gap:10px;font-size:12.5px}}@media(max-width:560px){.tool-specs{gap:12px 24px}.tool-specs>div.is-wide{order:1}.tool-form{padding:16px}.tool-f,.tool-f.is-m,.tool-f.is-s{flex-basis:100%}.tool-f.is-xs{flex:1 1 100px}.tool-run{flex:1 1 100%}.res-head{padding:16px 16px 2px;gap:12px}.res-meta{display:grid;gap:2px}.res-meta>*+*:before{display:none}.res-glyph{width:34px;height:34px;border-radius:10px}.res-body{padding:16px 16px 20px;gap:20px}.res-msg{padding:16px}.res-cta{padding:14px 16px}.res-cta .btn{flex:1 1 100%}.res-stats>div{flex-basis:130px;padding:10px 12px 11px}.res-stats dd{font-size:19px}.res-kv>div{grid-template-columns:minmax(0,1fr);gap:2px}.res-findings{column-gap:10px}.res-term-h,.res-term-body{padding-inline:12px}.res-term-body{font-size:11.5px}.res-hops .t-ms{min-width:8ch;margin-inline-end:6px}.res-hops .t-bar{width:calc(var(--v, 0) * 5ch);margin-inline-end:0}.res-wf li{grid-template-columns:minmax(0,1fr) 64px;row-gap:4px}.res-wf-t{grid-column:1 / -1;grid-row:2}.ml{padding:16px}.ml-bars{gap:3px;height:64px}.ml-top .btn{flex:1 1 100%}}
