.ja4l{--mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--ja4-a:#2f6fd6;--ja4-b:#0b8f8f;--ja4-c:#7a4fe6;--ok-bg:#16a06a1a;--ok-fg:#15803d;--warn-bg:#c88a101a;--warn-fg:#b45309;--bad-bg:#e5484d1a;--bad-fg:#b91c1c;--muted-bg:#0f172a0d;--muted-fg:var(--text-meta);gap:16px;min-width:0;font-family:inherit;display:grid}@media (prefers-color-scheme:dark){.ja4l{--ja4-a:#7ab0ff;--ja4-b:#4fd4d4;--ja4-c:#b69bff;--ok-bg:#34d39926;--ok-fg:#34d27b;--warn-bg:#f0a83026;--warn-fg:#f0a830;--bad-bg:#fb718526;--bad-fg:#fb7185;--muted-bg:#ffffff0d}}.ja4l-input-card{background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:14px;padding:22px}.ja4l-input-label{color:var(--text-meta);align-items:center;gap:10px;margin-bottom:10px;font-size:13px;font-weight:500;display:flex}.ja4l-kind{font-family:var(--mono);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:500}.ja4l-input-row{align-items:stretch;gap:10px;display:flex}.ja4l-lookup{color:#fff;font:inherit;cursor:pointer;white-space:nowrap;text-shadow:0 1px 1px #2e70d8;background:linear-gradient(#4d91ff,#3e80ec);border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:600;transition:opacity .15s;display:inline-flex;box-shadow:0 2px 4px #3e80ec40,inset 0 -1px #2c67c88a}.ja4l-lookup:hover{opacity:.92}@media (prefers-color-scheme:dark){.ja4l-lookup{box-shadow:none}}.ja4l-input{resize:vertical;border:1px solid var(--card-border);background:var(--field-bg);min-width:0;color:var(--text-heading);font-family:var(--mono);word-break:break-all;border-radius:10px;outline:none;flex:1;padding:13px 14px;font-size:14px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.ja4l-input:focus{border-color:color-mix(in srgb, var(--accent) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.ja4l-input::placeholder{color:var(--text-secondary)}.ja4l-examples{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:12px;display:flex}.ja4l-examples button{border:1px solid var(--card-border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 11px 5px 9px;font-size:12px;transition:border-color .12s,color .12s;display:inline-flex}.ja4l-ex-icon{color:var(--text-secondary);align-items:center;display:inline-flex}.ja4l-examples button:hover .ja4l-ex-icon{color:inherit}.ja4l-examples button:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--card-border));color:var(--text-heading)}.ja4l-examples button em{color:var(--text-secondary);font-size:11px;font-style:normal}.ja4l-results{gap:14px;min-width:0;display:grid}.ja4l-results>*{min-width:0}.ja4l-card{background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:14px;padding:22px 22px 24px}.ja4l-card-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.ja4l-card-head h3{letter-spacing:-.3px;color:var(--text-heading);margin:0;font-size:16px;font-weight:500}.ja4l-source{color:var(--text-secondary);font-size:11px}.ja4l-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.ja4l-grid>*{min-width:0}.ja4l-string{font-family:var(--mono);letter-spacing:.01em;word-break:break-all;margin-bottom:16px;font-size:clamp(15px,2.2vw,19px)}.ja4l-grp{border-radius:6px;padding:3px 5px;font-weight:600}.ja4l-grp-a{color:var(--ja4-a);background:color-mix(in srgb, var(--ja4-a) 12%, transparent)}.ja4l-grp-b{color:var(--ja4-b);background:color-mix(in srgb, var(--ja4-b) 12%, transparent)}.ja4l-grp-c{color:var(--ja4-c);background:color-mix(in srgb, var(--ja4-c) 14%, transparent)}.ja4l-us{color:var(--text-secondary);padding:0 3px}.ja4l-tokens{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.ja4l-token{border-left:1px solid var(--rule);flex-direction:column;gap:3px;min-width:0;padding:2px 0 2px 16px;display:flex}.ja4l-token:first-child{border-left:none;padding-left:0}.ja4l-val{font-family:var(--mono);color:var(--ja4-a);font-size:15px;font-weight:600}.ja4l-name{color:var(--text-heading);align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.ja4l-mean{color:var(--text-secondary);font-size:11px;line-height:1.35}.ja4l-info{color:var(--text-secondary);opacity:.5;cursor:help;outline:none;align-items:center;transition:opacity .12s,color .12s;display:inline-flex;position:relative}.ja4l-info:hover,.ja4l-info:focus-visible{opacity:1;color:var(--accent)}.ja4l-info svg{display:block}.ja4l-tip{background:var(--tip-bg);width:max-content;max-width:min(220px,100vw - 40px);color:var(--tip-text);letter-spacing:.01px;opacity:0;visibility:hidden;z-index:20;pointer-events:none;border-radius:8px;padding:9px 11px;font-family:inherit;font-size:11.5px;font-weight:400;line-height:1.5;transition:opacity .14s,visibility .14s;position:absolute;bottom:calc(100% + 8px);box-shadow:0 8px 24px -8px #00000059}.ja4l-info.tip-start .ja4l-tip{left:0}.ja4l-info.tip-end .ja4l-tip{right:0}.ja4l-info.tip-center .ja4l-tip{left:50%;transform:translate(-50%)}.ja4l-info:hover .ja4l-tip,.ja4l-info:focus-visible .ja4l-tip{opacity:1;visibility:visible}.ja4l-hashnote{color:var(--text-secondary);margin:16px 0 0;font-size:12px;line-height:1.6}.ja4l-hashnote code{font-size:11px;font-family:var(--mono)}.ja4l-dot{vertical-align:middle;border-radius:999px;width:8px;height:8px;display:inline-block}.dot-b{background:var(--ja4-b)}.dot-c{background:var(--ja4-c)}.ja4l-identity-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ja4l-identity-name{align-items:center;gap:10px;min-width:0;display:flex}.ja4l-label{letter-spacing:-.3px;color:var(--text-heading);font-size:22px;font-weight:500}.ja4l-narrative{color:var(--text);margin:0 0 16px;font-size:13px;line-height:1.55}.ja4l-pill{letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.pill-ok{color:var(--ok-fg);background:var(--ok-bg)}.pill-warn{color:var(--warn-fg);background:var(--warn-bg)}.pill-bad{color:var(--bad-fg);background:var(--bad-bg)}.pill-muted{color:var(--muted-fg);background:var(--muted-bg)}.tone-bad{border-color:color-mix(in srgb, var(--bad-fg) 35%, var(--card-border))}.ja4l-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;margin:0;display:grid}.ja4l-meta div{flex-direction:column;gap:2px;display:flex}.ja4l-meta dt{color:var(--text-secondary);font-size:11px}.ja4l-meta dd{color:var(--text);margin:0;font-size:13px}.ja4l-hint{color:var(--text-secondary);margin:14px 0 0;font-size:12px;line-height:1.5}.ja4l-note-ctx{color:var(--text);margin:14px 0 0;font-size:12.5px;line-height:1.55}.ja4l-foil{flex-direction:column;min-width:0;display:flex}.ja4l-code{font-family:var(--mono);color:var(--pre-text);background:var(--pre-bg);border-radius:10px;min-width:0;margin:0 0 14px;padding:14px 16px;font-size:12px;line-height:1.65;overflow-x:auto}.ja4l-code .c-prop{color:#5b9cf5}.ja4l-code .c-str{color:#34d27b}.ja4l-code .c-cm{color:#6b7890}.ja4l-foil-copy{color:var(--text);margin:0 0 16px;font-size:13px;line-height:1.6}.ja4l-foil-copy em{color:var(--text-heading);font-style:italic}.ja4l-cta{text-align:center;color:#fff;text-shadow:0 1px 1px #2e70d8;background:linear-gradient(#4d91ff,#3e80ec);border-radius:8px;margin-top:auto;padding:11px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-block;box-shadow:0 2px 4px #3e80ec40,inset 0 -1px #2c67c88a}.ja4l-cta:hover{opacity:.92}@media (prefers-color-scheme:dark){.ja4l-cta{box-shadow:none}}.ja4l-action .ja4l-card-head{align-items:center}.ja4l-action p{color:var(--text);margin:0;font-size:13.5px;line-height:1.6}.ja4l-action p+p{margin-top:10px}.ja4l-note-card{grid-column:1/-1}.ja4l-note-card h3{color:var(--text-heading);text-transform:none;letter-spacing:-.2px;margin:0 0 10px;font-size:16px;font-weight:500}.ja4l-note-card p{color:var(--text);margin:0 0 8px;font-size:14px;line-height:1.6}.ja4l-rawgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 28px;display:grid}.ja4l-rawlist-head{color:var(--text-heading);border-bottom:1px solid var(--rule);align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;font-size:13px;font-weight:600;display:flex}.ja4l-count{font-family:var(--mono);color:var(--text-secondary);border:1px solid var(--card-border);border-radius:999px;padding:1px 7px;font-size:11px}.ja4l-rawlist ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ja4l-rawlist li{color:var(--text);align-items:baseline;gap:10px;font-size:12px;display:flex}.ja4l-rawlist li code{font-family:var(--mono);color:var(--ja4-b);min-width:56px;font-size:11px}.ja4l-rawlist li.is-grease,.ja4l-rawlist li.is-grease code{color:var(--text-secondary)}.ja4l-rawlist li.is-unknown code{color:var(--warn-fg)}.ja4l-notes{gap:6px;margin:0;padding-left:18px;display:grid}.ja4l-notes li{color:var(--text-secondary);font-size:12px;line-height:1.55}.ja4l-error{color:var(--bad-fg);margin:0;font-size:13px}@media (width<=720px){.ja4l-grid,.ja4l-meta,.ja4l-rawgrid{grid-template-columns:minmax(0,1fr)}.ja4l-tokens{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.ja4l-input-row{flex-direction:column}.ja4l-lookup{padding:12px 22px}}@media (width<=460px){.ja4l-tokens{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.ja4l-input-card,.ja4l-card{padding:18px}}:root{--bg:#fff;--text:#484d5e;--text-heading:#484d5e;--text-secondary:#9c9c9b;--text-meta:#676f80;--text-sidebar:#5b6475;--rule:#999ca947;--rule-strong:#999ca980;--accent:#3e80ec;--card-bg:#f6f7f9;--card-bg-hover:#eef0f3;--card-border:#0f172a14;--card-border-hover:#0f172a24;--card-shadow:0 1px 2px #0f172a0a;--card-shadow-hover:0 6px 18px -10px #0f172a1f;--field-bg:#fff;--code-bg:#242e400d;--code-text:#2a2f3d;--pre-bg:#14181f;--pre-text:#d1d8e4;--tip-bg:#1f2533;--tip-text:#eef1f6;--mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace}@media (prefers-color-scheme:dark){:root{--bg:#131b23;--text:#c2cad8;--text-heading:#e4eaf1;--text-secondary:#6b7890;--text-meta:#97a4b8;--text-sidebar:#aab5c7;--rule:#6b789047;--rule-strong:#6b78908c;--accent:#88b6ff;--card-bg:#ffffff0a;--card-bg-hover:#ffffff12;--card-border:#ffffff14;--card-border-hover:#ffffff29;--card-shadow:none;--card-shadow-hover:0 6px 18px -10px #0006;--field-bg:#ffffff05;--code-bg:#b4c8e614;--code-text:#e4eaf1;--pre-bg:#0f141c;--pre-text:#d6dde8;--tip-bg:#323c49;--tip-text:#eef1f6}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scrollbar-width:none;overscroll-behavior-x:none;scroll-behavior:smooth;overflow-x:clip}html::-webkit-scrollbar{display:none}body{letter-spacing:.035px;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;text-size-adjust:100%;font-feature-settings:"kern", "liga", "calt";font-family:Suisse Intl,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI Variable Display,Segoe UI,Helvetica,Arial,sans-serif;font-size:15px;line-height:24px;overflow-x:clip}.tool-wrap{flex-direction:column;gap:40px;max-width:1164px;margin:0 auto;padding:140px 32px 96px;display:flex}.hero{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.hero-icon{color:#e0ebfc;background:#3e80ec;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:18px;display:inline-flex;box-shadow:inset 0 0 0 1px #00000014}.hero-icon svg{stroke-width:2px;width:24px;height:24px;display:block}@media (prefers-color-scheme:dark){.hero-icon{box-shadow:inset 0 0 0 1px #ffffff1a}}.eyebrow{color:var(--accent);margin-bottom:12px;font-size:14px;font-weight:600;line-height:20px}.subhead-tech{color:var(--text-secondary);max-width:680px;margin:8px 0 0;font-size:15px;line-height:24px}.headline{letter-spacing:-1.2px;color:var(--text-heading);max-width:820px;margin:0 0 22px;font-size:46px;font-weight:400;line-height:1.1}.headline.headline--mono{letter-spacing:-.5px;word-break:break-all;font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:34px}.subhead{color:var(--text-sidebar);max-width:680px;margin:0;font-size:18px;line-height:28px}.subhead code,.prose code{color:var(--code-text);background:var(--code-bg);border-radius:5px;padding:1px 6px;font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:.86em}.prose{max-width:700px;margin:8px auto 0}.prose h2{letter-spacing:-.6px;color:var(--text-heading);margin:36px 0 14px;font-size:26px;font-weight:500;line-height:1.15}.prose p{color:var(--text);margin-bottom:14px;font-size:16px;line-height:27px}.prose a{color:var(--accent);text-decoration:none}.prose a:hover{text-decoration:underline}.prose em{color:var(--text-heading);font-style:italic}.pr-faq{flex-direction:column;width:100%;max-width:840px;margin:0 auto;display:flex}.pr-faq-heading{color:var(--text-heading);letter-spacing:-.4px;margin-bottom:18px;font-size:22px;font-weight:500}.pr-faq-item{border-bottom:1px solid var(--rule)}.pr-faq-item:first-of-type{border-top:1px solid var(--rule)}.pr-faq-summary{text-align:left;width:100%;font:inherit;color:var(--text-heading);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;font-size:16px;font-weight:500;transition:color .15s;display:flex}.pr-faq-summary:hover{color:var(--accent)}.pr-faq-chevron{width:22px;height:22px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;transition:transform .22s,color .15s;display:inline-flex}.pr-faq-summary[aria-expanded=true] .pr-faq-chevron{color:var(--accent);transform:rotate(180deg)}.pr-faq-wrap{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1);display:grid}.pr-faq-wrap.is-open{grid-template-rows:1fr}.pr-faq-body{min-height:0;overflow:hidden}.pr-faq-body-inner{color:#6b7280;padding:0 4px 20px;font-size:15px;line-height:24px}.pr-faq-body-inner a{color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--accent) 30%, transparent);text-decoration:none}.pr-faq-body-inner a:hover{border-bottom-color:var(--accent)}.pr-faq-body-inner code{font-family:var(--mono);color:var(--text-heading);background:color-mix(in srgb, var(--accent) 7%, transparent);white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:13px}.related{margin-top:8px}.related h2{letter-spacing:-.4px;color:var(--text-heading);margin:0 0 16px;font-size:20px;font-weight:500}.related-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.related-card{background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:14px;align-items:center;gap:10px;padding:14px 16px;text-decoration:none;transition:background .15s;display:flex}.related-card:hover{background:var(--card-bg-hover)}.related-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.related-card-name{color:var(--text-heading);font-size:14px;font-weight:500}.related-card-hash{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:11px;overflow:hidden}.comp-list{flex-direction:column;gap:6px;margin-top:16px;display:flex}.comp-row{background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:10px;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 14px;text-decoration:none;transition:background .15s;display:flex}.comp-row:hover{background:var(--card-bg-hover)}.comp-row-hash{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:12.5px;overflow:hidden}.comp-row-label{color:var(--text-secondary);white-space:nowrap;font-size:13px}@media (width<=720px){.tool-wrap{gap:32px;padding:116px 20px 64px}.comp-row{flex-direction:column;gap:2px}.headline{letter-spacing:-.9px;font-size:32px}.headline.headline--mono{font-size:22px}.subhead{font-size:16px;line-height:26px}.prose h2{font-size:22px}.pr-faq-heading{font-size:20px}.pr-faq-summary{padding:16px 2px;font-size:15px}}
