:root{--paper:#fafaf7;--ink:#1a1a17;--muted:#60645f;--line:#dfe2db;--navy:#1e3a5f;--green:#237050;--amber:#8d5519;--red:#ad3d32;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline-offset:5px;outline:3px solid #7294c0}button,a{transition:background .16s,color .16s}h1,h2,h3,p{margin:0}button svg,a svg{flex-shrink:0}.tools-header,.tools-main,.tools-footer{width:min(1120px,100% - 64px);margin:auto}.tools-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;display:flex}.tools-brand{align-items:center;gap:9px;font-size:14px;display:flex}.tools-brand>span{background:var(--navy);color:#fff;place-items:center;width:30px;height:33px;font-size:22px;font-weight:700;display:grid}.tools-brand strong{letter-spacing:-.8px;margin-left:3px;font-size:20px}.tools-header nav{gap:30px;font-size:14px;display:flex}.tools-header nav a:hover,.net-repo-link:hover{color:var(--navy);text-underline-offset:5px;text-decoration:underline}.tools-main{padding-top:44px}.tools-eyebrow{letter-spacing:.8px;color:var(--muted);align-items:center;gap:14px;margin-bottom:27px;font-size:14px;display:flex}.tools-eyebrow>a{letter-spacing:0;font-size:14px}.tools-title{letter-spacing:-1.9px;font-size:48px;font-weight:650;line-height:1.18}.tools-intro{color:#555b55;margin-top:21px;font-size:18px;line-height:1.8}.tools-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;margin-top:70px;padding:27px 0 38px;font-size:14px;display:flex}.tools-directory{border-top:1px solid var(--line);margin-top:48px}.tools-entry{border-bottom:1px solid var(--line);gap:28px;padding:35px 20px;display:flex}.tools-entry:hover{background:#f0f2ec}.tools-entry>svg{color:var(--navy);margin-top:7px}.tools-entry h2{margin:9px 0 12px;font-size:25px;font-weight:600}.tools-entry p{color:var(--muted);font-size:16px;line-height:1.8}.tools-entry strong{color:var(--navy);align-items:center;gap:14px;margin-top:20px;font-size:14px;display:flex}.tools-tag{color:var(--green);font-size:14px}.net-page{padding-top:8px}.net-console{background:#fff;border:1px solid #d9dedf;border-radius:18px;overflow:hidden}.net-hero{color:#fafaf7;background:#142c45;grid-template-columns:1fr 1fr;align-items:center;gap:20px;padding:46px 44px 38px;display:grid}.net-hero-copy h1{letter-spacing:-2.4px;font-size:64px;font-weight:680;line-height:1.12}.net-title-dot{color:#83dda9}.net-hero-copy>p{color:#cbd7e1;margin-top:19px;font-size:18px;line-height:1.8}.net-main-button{color:#142c45;background:#fafaf7;border:0;border-radius:8px;justify-content:center;align-items:center;gap:14px;width:290px;max-width:100%;min-height:64px;margin-top:29px;padding:16px 22px;font-size:19px;font-weight:700;transition:background .18s,transform .18s;display:flex}.net-main-button:hover:not(:disabled){background:#dfefea;transform:translateY(-2px)}.net-main-button:disabled{opacity:1;background:#d7e2e9}.net-main-button>svg:last-child:not(:first-child){margin-left:auto}.net-hero-meta{color:#b8c9d7;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;font-size:14px;display:flex}.net-stop{color:#fafaf7;text-underline-offset:4px;background:0 0;border:0;padding:3px 0;text-decoration:underline}.net-map{min-width:0}.net-map svg{width:100%;display:block;overflow:visible}.net-map-orbit{fill:none;stroke:#35526c;stroke-width:1px}.net-map-path path{fill:none;stroke:#597088;stroke-width:1.5px}.net-map-path circle{fill:#a8bacb}.net-map-title{fill:#e7eef4;font-size:15px}.net-map-status{fill:#b5c6d6;font-size:14px}.net-map-path.is-ok path{stroke:#77dba0}.net-map-path.is-ok circle{fill:#77dba0}.net-map-path.is-ok .net-map-status{fill:#8be5ae}.net-map-path.is-error path{stroke:#ff9690}.net-map-path.is-error circle{fill:#ff9690}.net-map-path.is-error .net-map-status{fill:#ffaaa4}.net-map-path.is-review path,.net-map-path.is-unknown path{stroke:#eac77f}.net-map-path.is-review circle,.net-map-path.is-unknown circle{fill:#eac77f}.net-map-path.is-review .net-map-status,.net-map-path.is-unknown .net-map-status{fill:#f2d495}.net-map-center{fill:#1d3c58;stroke:#8ba7bf;stroke-width:1.5px}.net-map-count{fill:#fff;font-family:var(--font);font-size:30px;font-weight:650}.net-map-caption{fill:#bdcddd;font-size:12px}.net-map-foot{color:#b8c9d7;justify-content:center;align-items:center;gap:9px;font-size:14px;display:flex}.net-live-dot{background:#a9c0d0;border-radius:50%;width:6px;height:6px}.net-live-dot.is-active{background:#8be5ae}.is-running .net-map-path:not(.is-ok):not(.is-error):not(.is-review):not(.is-unknown) path{stroke:#c2d5e7;stroke-dasharray:6 8;animation:1.4s linear infinite net-flow}.net-ready{color:var(--muted);justify-content:space-between;gap:20px;padding:21px 30px;font-size:14px;display:flex}.net-ready>span:first-child{color:var(--ink);align-items:center;gap:9px;display:flex}.net-report{padding:28px 30px 0}.net-overview{background:#f0f3f5;border-radius:10px;align-items:center;gap:17px;padding:22px 24px;display:flex}.net-overview-symbol{color:#3c546c;background:#e2e9ed;border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.net-overview h2{font-size:24px;font-weight:650;line-height:1.4}.net-overview p{color:#515b61;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:14px;display:flex}.net-overview-ok{background:#edf5f0}.net-overview-ok .net-overview-symbol{color:#237050;background:#dbeddf}.net-overview-review{background:#f8f3e9}.net-overview-review .net-overview-symbol{color:#7b5114;background:#efe3c9}.net-overview-error{background:#fbefed}.net-overview-error .net-overview-symbol{color:#ad3d32;background:#f5dad6}.net-overview-count{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:34px;font-weight:650}.net-overview-count small{color:var(--muted);font-size:18px;font-weight:400}.net-report-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:27px;padding-bottom:14px;display:flex}.net-report-toolbar h2{font-size:16px;font-weight:600}.net-report-toolbar label{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.net-report-toolbar input{width:16px;height:16px;accent-color:var(--navy)}.net-result,.net-pending-row{border-bottom:1px solid #e9ece9}.net-result>summary,.net-pending-row{cursor:pointer;align-items:center;gap:14px;min-height:88px;padding:19px 2px;list-style:none;display:flex}.net-result>summary::-webkit-details-marker{display:none}.net-advanced>summary::-webkit-details-marker{display:none}.net-command>summary::-webkit-details-marker{display:none}.net-method>summary::-webkit-details-marker{display:none}.net-result>summary:hover{background:#fafbf9}.net-result h3,.net-pending-row h3{font-size:16px;font-weight:600}.net-result summary p,.net-pending-row p{color:#5b625d;overflow-wrap:anywhere;margin-top:6px;font-size:14px;line-height:1.6}.net-result-icon{width:32px;height:32px;color:var(--muted);flex-shrink:0;place-items:center;display:grid}.net-result summary>div,.net-pending-row>div{flex:1;min-width:0}.net-status{border-radius:5px;flex-shrink:0;padding:6px 10px;font-size:14px;font-weight:600}.net-status.net-tone-ok{background:#eaf5ee}.net-status.net-tone-error{background:#fcece9}.net-status.net-tone-review,.net-status.net-tone-unknown{background:#f9f1e0}.net-status.net-tone-info{background:#edf1f4}.net-tone-ok{color:#237050}.net-tone-error{color:#a62d26}.net-tone-review,.net-tone-unknown{color:#805416}.net-tone-info{color:#48617a}.net-chevron{color:#6f7a74;flex-shrink:0;transition:transform .18s}.net-result[open] .net-chevron{transform:rotate(180deg)}.net-evidence{overflow-wrap:anywhere;color:#4d5650;background:#f6f7f4;border-radius:6px;margin:0 34px 20px 48px;padding:15px 18px;font-size:14px;line-height:1.8}.net-evidence ul{margin:0 0 12px;padding-left:18px}.net-evidence strong{color:var(--ink);margin-bottom:4px;font-weight:600;display:block}.net-pending-row{cursor:default;color:var(--muted)}.net-pending-row>span:last-child{margin-right:32px;font-size:14px}.net-environment{color:var(--muted);align-items:center;gap:8px;padding:17px 0;font-size:14px;line-height:1.6;display:flex}.net-environment svg{flex-shrink:0}.net-report-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:15px;padding:15px 0 18px;font-size:14px;display:flex}.net-text-button{color:var(--navy);background:0 0;border:0;align-items:center;gap:7px;padding:8px 0;font-size:14px;display:inline-flex}.net-text-button:hover{text-underline-offset:4px;text-decoration:underline}.net-message{border:1px solid var(--line);border-radius:8px;margin-top:18px;padding:15px 18px;font-size:14px;line-height:1.7}.net-advanced{border-bottom:1px solid var(--line)}.net-advanced>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:27px 4px;list-style:none;display:flex}.net-advanced>summary>div{align-items:center;gap:17px;display:flex}.net-advanced>summary>div>svg{color:var(--navy);flex-shrink:0}.net-advanced summary strong{font-size:17px;font-weight:600;line-height:1.5;display:block}.net-advanced summary strong+span{color:var(--muted);margin-top:5px;font-size:14px;line-height:1.5;display:block}.net-advanced-link{color:var(--navy);white-space:nowrap;align-items:center;gap:12px;font-size:14px;display:flex}.net-advanced>summary>svg{flex-shrink:0}.net-local{grid-template-columns:1fr 1fr;gap:44px;padding:15px 4px 30px;display:grid}.net-local h2{font-size:24px;font-weight:600}.net-local-copy>p{color:#555d56;margin-top:17px;font-size:16px;line-height:1.8}.net-local-copy ul{gap:13px;margin:22px 0;padding:0;font-size:14px;list-style:none;display:grid}.net-local-copy li{align-items:center;gap:9px;display:flex}.net-local-copy li svg{color:var(--green);flex-shrink:0}.net-repo-link{color:var(--navy);align-items:center;gap:8px;font-size:14px;display:inline-flex}.net-download-panel{background:#edf0eb;border-radius:10px;padding:23px}.net-platforms{border-bottom:1px solid #d5dbd3;gap:4px;padding-bottom:15px;display:flex}.net-platforms button{color:#566057;background:0 0;border:0;border-radius:5px;min-height:42px;padding:9px 14px;font-size:14px}.net-platforms button[aria-pressed=true]{color:#fff;background:var(--navy)}.net-download-panel h3{margin-top:22px;font-size:18px}.net-download-panel ol{color:#475347;margin:12px 0 21px;padding-left:21px;font-size:14px;line-height:2}.net-download-link{color:var(--navy);border:1px solid #9eaca1;border-radius:6px;align-items:center;gap:9px;padding:13px 15px;font-size:14px;font-weight:600;display:flex}.net-download-link:hover{background:#dce6dd}.net-download-link>span{margin-left:auto;font-family:monospace;font-weight:400}.net-muted{color:#5c665e;font-size:14px;line-height:1.7}.net-download-panel>.net-muted{margin-top:13px}.net-command{border-top:1px solid #d5dbd3;margin-top:20px;padding-top:14px}.net-command summary{color:var(--navy);cursor:pointer;justify-content:space-between;gap:12px;font-size:14px;list-style:none;display:flex}.net-command>div{padding-top:14px}.net-command p{font-size:14px;line-height:1.7}.net-command code{white-space:pre-wrap;overflow-wrap:anywhere;background:#fafaf7;border:1px solid #d5dbd3;border-radius:5px;margin:10px 0 3px;padding:14px;font-size:14px;line-height:1.7;display:block}.net-import{justify-content:space-between;align-items:center;gap:20px;padding:0 4px 25px;display:flex}.net-import p{color:var(--muted);font-size:14px;line-height:1.7}.net-secondary-button{color:var(--navy);white-space:nowrap;background:0 0;border:1px solid #8a9aa7;border-radius:6px;align-items:center;gap:9px;padding:12px 17px;font-size:14px;display:inline-flex}.net-secondary-button:hover{background:#e8edf0}.net-import-results{padding:0 4px 25px}.net-import-results .net-report-toolbar{margin-top:0}.net-bottom{justify-content:space-between;align-items:flex-start;gap:30px;padding-top:27px;display:flex}.net-method{max-width:600px;color:var(--muted);font-size:14px;line-height:1.8}.net-method summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.net-method>div{padding-top:16px}.net-method p+p{margin-top:10px}.net-method a{text-underline-offset:3px;margin-top:12px;text-decoration:underline;display:inline-block}.net-course-link{text-align:right;color:var(--muted);flex-shrink:0;font-size:14px;line-height:1.8}.net-course-link>span{color:var(--navy);justify-content:flex-end;align-items:center;gap:7px;margin-top:3px;display:flex}.net-spin{animation:1.1s linear infinite net-spin}@keyframes net-spin{to{transform:rotate(360deg)}}@keyframes net-flow{to{stroke-dashoffset:-28px}}@media (max-width:850px){.net-hero{gap:5px;padding:36px 28px 30px}.net-hero-copy h1{font-size:52px}.net-main-button{width:260px}.net-local{gap:28px}.net-advanced-link{gap:0;font-size:0}.net-advanced-link svg{width:19px}}@media (max-width:600px){.tools-header,.tools-main,.tools-footer{width:calc(100% - 36px)}.tools-header{height:72px}.tools-header nav{gap:16px}.tools-header nav a:last-child{display:none}.tools-brand{gap:5px;font-size:12px}.tools-brand strong{font-size:18px}.tools-brand>span{width:26px;height:28px;font-size:19px}.tools-main{padding-top:24px}.tools-title{font-size:34px}.tools-intro{font-size:16px}.tools-footer{flex-direction:column;gap:12px;margin-top:38px;font-size:14px}.tools-entry{gap:17px;padding:25px 0}.tools-entry>svg{flex-shrink:0;width:25px}.tools-entry h2{font-size:22px}.tools-directory{margin-top:30px}.net-page{padding-top:0}.net-console{border-radius:13px}.net-hero{grid-template-columns:1fr;gap:24px;padding:29px 23px 23px}.net-hero-copy h1{letter-spacing:-1.8px;font-size:46px}.net-hero-copy>p{margin-top:13px;font-size:16px}.net-main-button{width:100%;min-height:60px;margin-top:23px;font-size:18px}.net-hero-meta{gap:10px;margin-top:13px;font-size:14px}.net-map{margin:-4px -7px 0}.net-map svg{max-height:194px}.net-map-foot{font-size:14px}.net-ready{padding:19px 21px}.net-ready>span:last-child{display:none}.net-report{padding:18px 15px 0}.net-overview{align-items:flex-start;gap:11px;padding:16px 13px}.net-overview h2{font-size:19px}.net-overview-symbol{width:31px;height:31px}.net-overview-symbol svg{width:21px}.net-overview-count{display:none}.net-overview p{gap:4px 12px;margin-top:8px}.net-report-toolbar{margin-top:22px;padding-bottom:12px}.net-result>summary{flex-wrap:wrap;gap:8px;padding:16px 0}.net-result-icon{width:25px}.net-result h3,.net-pending-row h3{font-size:16px}.net-result summary p{font-size:14px}.net-status{padding:5px 7px;font-size:14px}.net-result summary>div{flex-basis:calc(100% - 35px)}.net-result summary>.net-status{margin-left:33px}.net-chevron{margin-left:auto}.net-evidence{margin:0 0 15px;padding:13px}.net-pending-row{gap:8px}.net-pending-row>span:last-child{flex-shrink:0;margin-right:0}.net-environment{align-items:flex-start}.net-environment svg{margin-top:3px}.net-report-bottom{flex-direction:column;align-items:flex-start;gap:3px}.net-advanced>summary{gap:13px;padding:23px 0}.net-advanced>summary>div{align-items:flex-start;gap:11px}.net-advanced>summary>div>svg{width:20px;margin-top:4px}.net-advanced summary strong{font-size:16px}.net-local{grid-template-columns:1fr;gap:22px;padding:4px 0 25px}.net-local-copy{padding-left:0}.net-download-panel{padding:20px 16px}.net-platforms button{padding:9px 12px}.net-import{flex-direction:column;align-items:flex-start;gap:15px;padding:0 0 24px}.net-import-results{padding:0 0 25px}.net-bottom{flex-direction:column;gap:22px;padding-top:23px}.net-course-link{text-align:left}.net-course-link>span{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.net-spin,.is-running .net-map-path path{animation:none}.net-main-button,.net-chevron{transition:none}}.net-map-mobile{display:none}@media (max-width:600px){.net-map>svg{display:none}.net-map-mobile{gap:13px;margin:5px 7px 20px;display:grid}.net-map-mobile>div{color:#d8e3eb;align-items:center;gap:9px;font-size:14px;display:flex}.net-map-mobile strong{color:#bdcddd;margin-left:auto;font-size:14px;font-weight:500}.net-mobile-node{background:#9fb4c7;border-radius:50%;flex-shrink:0;width:7px;height:7px}.net-map-mobile .is-ok strong{color:#8be5ae}.net-map-mobile .is-ok .net-mobile-node{background:#8be5ae}.net-map-mobile .is-error strong{color:#ffaaa4}.net-map-mobile .is-error .net-mobile-node{background:#ff9690}.net-map-mobile .is-unknown strong,.net-map-mobile .is-review strong{color:#f2d495}.net-map-mobile .is-unknown .net-mobile-node,.net-map-mobile .is-review .net-mobile-node{background:#f2d495}}.net-group-title{margin:0;padding:26px 0 10px;font-size:18px}.net-manual-body{padding:12px 24px 28px}.net-manual-body>p{color:var(--muted,#60645f);font-size:14px;line-height:1.7}.net-manual-body fieldset{border:0;border-bottom:1px solid #e5e4de;margin:0;padding:18px 0}.net-manual-body legend{padding-top:18px;font-size:16px;font-weight:650}.net-manual-body fieldset p{margin:0 0 12px;font-size:14px;line-height:1.7}.net-manual-body fieldset>div{flex-wrap:wrap;gap:20px;display:flex}.net-manual-body label{align-items:center;gap:6px;font-size:14px;display:flex}@media (max-width:600px){.net-manual-body{padding-inline:16px}.net-hero-copy h1{font-size:38px}}
