body.nfp{--nf-onacc:#120e33;--nf-mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace;--nf-shadow:0 18px 44px #0006}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) body.nfp{--nf-onacc:#fff;--nf-shadow:0 18px 44px #281e5a24}}:root[data-theme=light] body.nfp{--nf-onacc:#fff;--nf-shadow:0 18px 44px #281e5a24}body.nfp .nsf-tool-body{--text:var(--ink);--text-soft:var(--mute);--subtle:var(--dim);--muted:var(--dim);--page:var(--bg);--surface:var(--card);--panel:var(--card);--panel-muted:var(--card2);--hover:var(--pillon);--line-strong:var(--btnline);--input-line:var(--btnline);--accent:var(--pur2);--accent-contrast:var(--nf-onacc);--accent-soft:color-mix(in srgb,var(--pur2) 16%,var(--card));--accent-softer:color-mix(in srgb,var(--pur2) 8%,var(--card));--danger:var(--red);--success:var(--ok);--success-strong:var(--ok);--success-soft:color-mix(in srgb,var(--ok) 14%,var(--card));--net-warn:var(--redtx);--net-warn-soft:var(--redbg1);--net-mono:var(--nf-mono);--shadow-soft:none;--shadow-strong:var(--nf-shadow);--checker:var(--tileline)}body.nfp:not([data-page=home]) .nf-app{flex-direction:column;min-height:100vh;padding-bottom:0;display:flex}body.nfp:not([data-page=home]) .nf-pagebody{flex:1 0 auto}body.nfp:not([data-page=home]) .nf-foot{margin-top:56px;padding-bottom:20px}.nfp .nf-pagebody{min-width:0;color:var(--ink);padding:18px 0 8px;font-size:17px;line-height:1.5;display:block}.nfp .nsf-hub,.nfp .nsf-tool{min-width:0}.nfp .nsf-tool-head{min-width:0;max-width:900px;margin-top:20px}.nfp .nsf-tool-head h1{font-family:var(--head);font-weight:700;font-size:calc(clamp(34px,8.4vw,60px)*var(--nf-fit,1));letter-spacing:-1.2px;color:var(--ink);overflow-wrap:normal;word-break:normal;hyphens:manual;margin:0;line-height:1.05}.nfp .nsf-tool-head h1:after{content:"";background:linear-gradient(var(--gdir,90deg),var(--calls),var(--pur) 50%,var(--stream));border-radius:2px;width:84px;height:4px;margin-top:18px;display:block}.nfp .nsf-intro{max-width:62ch;color:var(--subtx);margin:20px 0 0;font-size:19px;line-height:1.5}.nfp .nsf-note{color:var(--dim);align-items:baseline;gap:10px;margin-top:12px;font-size:16px;display:flex}.nfp .nsf-note:before{content:"";background:var(--warn);border-radius:50%;flex:none;width:9px;height:9px;transform:translateY(-1px)}.nfp .nsf-crumbs{display:none}.nfp .nsf-tool-body.tool-panel{border:1px solid var(--panelline);border-inline-start:6px solid var(--pur);background:var(--card);min-width:0;max-width:none;box-shadow:none;color:var(--text);font-family:var(--ui);border-radius:8px;margin:28px 0 0;padding:20px 16px;font-size:16px;line-height:1.45;position:relative}.nfp .nsf-tool-body h2,.nfp .nsf-tool-body h3{font-family:var(--head);letter-spacing:-.2px;color:var(--ink);font-weight:600}.nfp .nsf-tool-body a{color:var(--pur2);text-underline-offset:3px}.nfp .nsf-tool-body button,.nfp .nsf-tool-body .download{min-height:48px;font-family:var(--ui);border-radius:8px;padding:0 22px;font-size:17px;font-weight:600}.nfp .nsf-tool-body button:not(.secondary):not(:disabled),.nfp .nsf-tool-body .download{background:linear-gradient(180deg,var(--fill1),var(--fill2));color:var(--onfill);box-shadow:inset 0 1px 0 var(--fillhi),0 6px 22px var(--barglow);border:0}.nfp .nsf-tool-body button:not(.secondary):not(:disabled):hover,.nfp .nsf-tool-body .download:hover{filter:brightness(1.06)}.nfp .nsf-tool-body button.secondary{border:1.5px solid var(--btnline);background:var(--btnlinebg);color:var(--btnlinetx);box-shadow:none}.nfp .nsf-tool-body button.secondary:hover{border-color:var(--pur2);color:var(--pur2)}.nfp .nsf-tool-body button:disabled{border:1px solid var(--trackline);background:var(--track);color:var(--dim);box-shadow:none;cursor:default}.nfp .nsf-tool-body input,.nfp .nsf-tool-body select,.nfp .nsf-tool-body textarea{font-family:var(--ui);color:var(--text);background:var(--pill);border-color:var(--input-line);border-radius:8px;font-size:16px}.nfp .nsf-tool-body button:focus-visible,.nfp .nsf-tool-body a:focus-visible,.nfp .nsf-tool-body input:focus-visible,.nfp .nsf-tool-body select:focus-visible,.nfp .nsf-tool-body textarea:focus-visible{outline:2px solid var(--pur2);outline-offset:2px}.nfp .nsf-tool-body .tool-actions{flex-wrap:wrap}.nfp .nsf-tool-body code,.nfp .nsf-tool-body pre{font-family:var(--nf-mono)}.nfp .nsf-tool-body svg{flex:none}.nfp .nsf-facts{min-width:0;max-width:70ch;margin-top:48px}.nfp .nsf-facts h2{font-family:var(--head);letter-spacing:-.4px;color:var(--ink);margin:28px 0 0;font-size:22px;font-weight:700}.nfp .nsf-facts h2:first-child{margin-top:0}.nfp .nsf-facts p{overflow-wrap:break-word;color:var(--subtx);margin:8px 0 0;font-size:17px;line-height:1.6}.nfp .nsf-related{margin-top:48px}.nfp .nsf-related h2{font-family:var(--head);font-weight:700;font-size:calc(24px*var(--nf-fit,1));letter-spacing:-.4px;color:var(--ink);overflow-wrap:normal;margin:0}.nfp .nsf-related ul{flex-wrap:wrap;gap:8px 10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.nfp .nsf-related a{border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--modtx);border-radius:8px;align-items:center;padding:0 18px;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex}.nfp .nsf-related a:hover{border-color:var(--pur);color:var(--pur2)}.nfp .nsf-hub-group{--c:var(--calls);--rgb:99,169,247;margin-top:40px}.nfp .nsf-hub-group:nth-of-type(4n+2){--c:var(--work);--rgb:183,246,114}.nfp .nsf-hub-group:nth-of-type(4n+3){--c:var(--stream);--rgb:178,82,248}.nfp .nsf-hub-group:nth-of-type(4n+4){--c:var(--game);--rgb:249,113,90}.nfp .nsf-hub-group h2{font-family:var(--head);letter-spacing:-.4px;color:var(--ink);overflow-wrap:normal;align-items:center;gap:12px;margin:0;font-size:clamp(24px,5vw,32px);font-weight:700;line-height:1.15;display:flex}.nfp .nsf-hub-group h2:before{content:"";background:var(--c);border-radius:3px;flex:none;width:6px;height:.9em}.nfp .nsf-hub-group ul{grid-template-columns:minmax(0,1fr);gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.nfp .nsf-hub-group a{border:1px solid var(--line);background:linear-gradient(var(--gdir,90deg),rgba(var(--rgb),.07),var(--card) 45%,var(--cardend));min-width:0;height:100%;min-height:44px;color:var(--cardtx);border-radius:6px;flex-direction:column;gap:6px;padding-block:16px;padding-inline:24px 18px;text-decoration:none;display:flex;position:relative}.nfp .nsf-hub-group a:before{content:"";background:var(--c);border-start-start-radius:6px;border-end-start-radius:6px;width:7px;position:absolute;inset-block:0;inset-inline-start:0}.nfp .nsf-hub-group a:hover{border-color:var(--c)}.nfp .nsf-hub-group a:hover b{color:var(--c)}.nfp .nsf-hub-group b{font-family:var(--head);letter-spacing:-.2px;color:var(--ink);font-size:20px;font-weight:600;line-height:1.2}.nfp .nsf-hub-group span{color:var(--mute);font-size:15px;line-height:1.45}.nfp .nsf-hub-group a:focus-visible{outline-offset:2px}.nfp .nsf-legal-section{max-width:860px;margin-top:32px}.nfp .nsf-legal-section h2{font-family:var(--head);letter-spacing:-.3px;color:var(--ink);margin:0;font-size:23px;font-weight:600}.nfp .nsf-legal-section p{color:var(--subtx);margin:8px 0 0}.nfp .nsf-legal a,.nfp .nsf-legal-link a{color:var(--pur2);text-underline-offset:3px;text-decoration:underline}.nfp .nsf-legal-link{margin-top:32px}.nfp .nsf-legal-link a{align-items:center;min-height:44px;display:inline-flex}.nfp .nf-back{min-height:44px;color:var(--pur2);align-items:center;gap:10px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.nfp .nf-back:hover,.nfp .nf-pagenav a:hover{text-decoration:underline}.nfp .nf-back-arrow{flex:none;width:16px;height:16px}.nfp .nf-pagenav{border-top:1px solid var(--line2);color:var(--dim);flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:48px;padding-top:12px;font-size:16px;display:flex}.nfp .nf-pagenav a{min-height:44px;color:var(--pur2);align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}@media (width>=481px){.nfp .nsf-hub-group ul{grid-template-columns:repeat(2,minmax(0,1fr))}.nfp .nsf-tool-body.tool-panel{padding:22px}}@media (width>=1024px){.nfp .nf-pagebody{padding-top:28px}.nfp .nsf-hub-group ul{grid-template-columns:repeat(3,minmax(0,1fr))}.nfp .nsf-tool-body.tool-panel{padding:26px 28px}.nfp .nsf-intro{font-size:21px}}@media (width<=480px){body.nfp:not([data-page=home]) .nf-app{padding-bottom:0}.nfp .nsf-tool-body.tool-panel{margin-inline:-6px;padding:16px 12px}.nfp .nsf-hub-group ul{grid-template-columns:minmax(0,1fr)}}
