:root{--ink:#111;--ink-soft:#1119;--ink-muted:#11111173;--brand:#547afd;--brand-deep:#2f53d8;--brand-700:#3a5fe0;--line:#e7e5e1;--tint:#fafafb;--mono:"JetBrains Mono", ui-monospace, monospace;--pl:#15803d;--pl-deep:#14532d;--pl-bg:#e7f5ec;--pl-soft:#22a35a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;font-family:Switzer,Inter Tight,system-ui,sans-serif}a{color:inherit;text-decoration:none}.btn{background:var(--pl);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-family:Manrope,sans-serif;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover{filter:brightness(.92)}.subnav{z-index:45;-webkit-backdrop-filter:saturate(140%)blur(10px);scrollbar-width:none;background:#e7f5eceb;border-bottom:1px solid #cfe7d8;gap:4px;padding:0 16px;display:flex;position:sticky;top:61px;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.subnav a{font-family:var(--mono);color:var(--ink-soft);white-space:nowrap;border-bottom:2px solid #0000;padding:13px 12px;font-size:12px;transition:color .15s}.subnav a:hover{color:var(--pl)}section[id]{scroll-margin-top:121px}.iflow{z-index:0;background:radial-gradient(55% 60% at 18% 22%, #15803d1a, transparent 72%), radial-gradient(45% 55% at 82% 28%, #47556924, transparent 70%), var(--tint);padding:40px 24px 36px;position:sticky;top:106px;overflow:hidden}.iflow:before{content:"";background-image:conic-gradient(#ffffff42 25%, transparent 0 50%, #ffffff42 0 75%, transparent 0), conic-gradient(#143c260d 25%, transparent 0 50%, #143c260d 0 75%, transparent 0);pointer-events:none;background-position:0 0,32px 32px;background-size:64px 64px,128px 128px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 38%,#000 30%,#0000 80%);mask-image:radial-gradient(at 50% 38%,#000 30%,#0000 80%)}.iflow .inner{text-align:center;max-width:1100px;margin:0 auto;position:relative}.iflow .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--pl);font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.iflow h1{letter-spacing:-.02em;margin-top:10px;font-size:clamp(22px,2.6vw,30px);font-weight:500}.iflow .sub{color:var(--ink-soft);max-width:74ch;margin-top:10px;margin-left:auto;margin-right:auto;font-size:15px}.iflow .stats{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:18px;margin-top:12px;font-size:13px;display:flex}.iflow .stats b{font-family:var(--mono);color:var(--pl);font-size:14px;font-weight:700}.modpill{background:var(--pl-bg);color:var(--pl);letter-spacing:.02em;border-radius:99px;align-items:center;gap:10px;padding:8px 18px;font-size:12.5px;font-weight:600;display:inline-flex}.modpill b{font-family:var(--mono);letter-spacing:.12em;font-weight:700}.breadcrumb{font-family:var(--mono);color:var(--ink-muted);align-items:center;gap:6px;margin-bottom:14px;font-size:11px;display:inline-flex}.breadcrumb a{color:var(--pl)}.breadcrumb span:before{content:" / "}.sheet{z-index:1;border-top:1px solid var(--line);background:#fff;border-radius:20px 20px 0 0;position:relative;box-shadow:0 -18px 44px -26px #11111147}.tldr{border-bottom:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:10px 36px;padding:22px 24px;font-size:13.5px;display:flex}.tldr b{font-family:var(--mono);color:var(--pl-deep);margin-right:6px;font-size:14px;font-weight:700}.sec{padding:72px 24px}.sec .inner{max-width:1100px;margin:0 auto}.sec.tint{background:var(--tint);border-top:1px solid var(--line)}.sec .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--pl);font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.sec h2{letter-spacing:-.02em;margin-top:12px;font-size:clamp(24px,2.8vw,32px);font-weight:500}.sec .sub{color:var(--ink-soft);max-width:60ch;margin-top:10px;font-size:15px}.card-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:10px;padding:24px 22px;display:flex}.card .ci{background:var(--pl-bg);border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.card .ci svg{width:18px;height:18px;stroke:var(--pl);fill:none;stroke-width:1.8px}.card .cstep{font-family:var(--mono);color:var(--ink-muted);letter-spacing:.1em;font-size:10px}.card h3{letter-spacing:-.01em;font-size:16px;font-weight:600}.card p{color:var(--ink-soft);flex:1;font-size:13px;line-height:1.55}.card .cb{font-family:var(--mono);color:var(--pl);background:var(--pl-bg);border-radius:6px;align-self:flex-start;padding:4px 9px;font-size:10.5px}@media (max-width:1023px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:639px){.card-grid{grid-template-columns:1fr}}.graphsec{background:var(--tint);border-top:1px solid var(--line);padding:80px 24px;overflow:hidden}.graphsec .inner{grid-template-columns:.85fr 1.15fr;align-items:center;gap:56px;max-width:1100px;margin:0 auto;display:grid}.graphsec .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--pl);font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.graphsec h2{letter-spacing:-.02em;margin-top:12px;font-size:clamp(24px,2.8vw,32px);font-weight:500}.graphsec .sub{color:var(--ink-soft);margin-top:12px;font-size:15px;line-height:1.6}.shot-points{flex-direction:column;gap:11px;margin-top:24px;display:flex}.shot-points li{color:var(--ink-soft);align-items:baseline;gap:11px;font-size:14px;list-style:none;display:flex}.shot-points li:before{content:"✓";font-family:var(--mono);color:var(--pl);font-size:12px;font-weight:700}.demo-cta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px;display:flex}.demo-cta .hint{color:var(--ink-muted);font-size:12.5px}.chartcard{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 28px 60px -32px #11111159}.chartcard .bar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:11px 15px;display:flex}.chartcard .bar i{border-radius:50%;width:9px;height:9px}.chartcard .bar .t{font-family:var(--mono);color:var(--ink-muted);margin-left:4px;font-size:11px}.chartcard .bar .pill{font-family:var(--mono);color:var(--pl);background:var(--pl-bg);border-radius:99px;margin-left:auto;padding:3px 9px;font-size:10px;font-weight:700}.chartcard .plot{padding:16px 14px 6px}.chartcard svg{width:100%;height:auto;display:block}.chartlegend{font-family:var(--mono);color:var(--ink-soft);flex-wrap:wrap;gap:8px 20px;padding:4px 16px 16px;font-size:10.5px;display:flex}.chartlegend i{vertical-align:middle;border-top-style:solid;border-top-width:2px;width:14px;height:0;margin-right:7px;display:inline-block}.shotcap{font-family:var(--mono);color:var(--ink-muted);letter-spacing:.04em;margin-top:14px;font-size:11px}@media (max-width:900px){.graphsec .inner{grid-template-columns:1fr;gap:36px}}.mrows{flex-direction:column;gap:0;margin-top:36px;display:flex}.mrow{border-bottom:1px solid #e8e9ee;grid-template-columns:220px 1fr;align-items:baseline;gap:18px;padding:14px 0;display:grid}.mrow:last-child{border-bottom:0}.mplat{font-family:Manrope,sans-serif;font-size:15px;font-weight:700}.mcountries{flex-wrap:wrap;gap:6px;display:flex}.mc{font-family:var(--mono);color:var(--ink-soft);border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 9px;font-size:11px}@media (max-width:640px){.mrow{grid-template-columns:1fr}}.rgrid{grid-template-columns:.8fr 1.2fr;gap:14px;margin-top:36px;display:grid}.rtable-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px 20px;overflow-x:auto}.rtitle{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:12px;font-size:11px}.rtable{border-collapse:collapse;width:100%;font-size:13px}.rtable th{text-align:left;font-family:var(--mono);letter-spacing:.06em;color:var(--ink-muted);border-bottom:1px solid var(--line);padding:8px 6px;font-size:10.5px;font-weight:500}.rtable td{color:var(--ink);border-bottom:1px solid #f0efec;padding:9px 6px}.rtable tr:last-child td{border-bottom:0}.rtable .num{text-align:right;font-family:var(--mono);color:var(--pl-deep);font-size:12px}.mdesc{color:var(--ink-soft);font-size:13.5px;line-height:1.55}.algo-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;display:grid}.algo{background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:22px}.algo h3{letter-spacing:-.01em;margin-bottom:8px;font-size:15px;font-weight:600}.algo p{color:var(--ink-soft);font-size:13px;line-height:1.6}@media (max-width:900px){.rgrid,.algo-grid{grid-template-columns:1fr}}.finding-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:36px;display:grid}.finding{border-left:3px solid var(--pl);background:var(--tint);border-radius:0 14px 14px 0;padding:20px 22px}.finding h3{letter-spacing:-.01em;margin-bottom:8px;font-size:15px;font-weight:600}.finding p{color:var(--ink-soft);font-size:13.5px;line-height:1.6}@media (max-width:700px){.finding-grid{grid-template-columns:1fr}}.family{border-top:1px solid var(--line);background:#fff;padding:40px 24px}.family .inner{max-width:1100px;margin:0 auto}.family .ftitle{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:16px;font-size:11px}.family-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.family-card{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:16px;transition:border-color .14s;display:flex}.family-card:hover{border-color:var(--pl)}.family-card.current{border:2px solid var(--pl);background:var(--pl-bg)}.family-card .fn{letter-spacing:-.01em;font-size:14px;font-weight:600}.family-card .fd{color:var(--ink-soft);font-size:12px;line-height:1.45}.family-card .fg{font-family:var(--mono);color:var(--pl);margin-top:4px;font-size:11px}.family-card.current .fg{display:none}.family-card .here{font-family:var(--mono);color:var(--pl);letter-spacing:.1em;font-size:10px}@media (max-width:900px){.family-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.family-grid{grid-template-columns:1fr}}.ifaq{background:var(--tint);border-top:1px solid var(--line);padding:72px 24px}.ifaq .inner{max-width:760px;margin:0 auto}.ifaq h2{text-align:center;letter-spacing:-.02em;margin-bottom:32px;font-size:clamp(24px,2.8vw,32px);font-weight:500}.ifaq details{border-bottom:1px solid var(--line)}.ifaq details:first-of-type{border-top:1px solid var(--line)}.ifaq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;font-size:15.5px;font-weight:500;list-style:none;display:flex}.ifaq summary::-webkit-details-marker{display:none}.ifaq summary:after{content:"+";font-family:var(--mono);color:var(--pl);flex:none;font-size:18px;transition:transform .2s}.ifaq details[open] summary:after{transform:rotate(45deg)}.ifaq details p{color:var(--ink-soft);max-width:64ch;padding:0 4px 18px;font-size:14px;line-height:1.6}.icta{text-align:center;padding:88px 24px}.icta h2{letter-spacing:-.02em;font-size:clamp(26px,3.2vw,36px);font-weight:500}.icta p{color:var(--ink-soft);margin:12px 0 28px;font-size:16px}.icta .alt{color:var(--ink-soft);margin-top:16px;font-size:13px}.icta .alt a{color:var(--pl-deep)}.ftr{color:#ffffffb8;background:#111;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:36px 24px;font-size:13px;display:flex;position:relative;overflow:hidden}.ftr img:not(.ftr-orb){height:22px}.ftr>:not(.ftr-orb){z-index:1;position:relative}.ftr-orb{opacity:.85;width:280px;height:280px;image-rendering:pixelated;pointer-events:none;z-index:0;animation:42s linear infinite ftrSpin;position:absolute;bottom:-78px;right:-48px}@keyframes ftrSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ftr-orb{animation:none}}@view-transition{navigation:auto}@media (max-width:768px){.iflow{position:static!important}}
