:root{--ink: #101a2b;--ink-2: #3d4a5c;--ink-3: #6b7787;--paper: #e9eaec;--panel: #ffffff;--rule: #c9ccd2;--rule-soft: #dfe1e5;--route: #1f6feb;--route-soft: #e5eefc;--muted: #8a8f98;--signal: #f5b301;--warn: #9a3412;--f-display: Archivo, "Helvetica Neue", Arial, sans-serif;--f-body: "IBM Plex Sans", "IBM Plex Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--measure: 68ch;--gutter: clamp(1.25rem, 5vw, 3rem);--wrap: 74rem}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.65;font-feature-settings:"tnum" 0}:lang(zh) body,[lang=zh-Hans] body{line-height:1.85}img{max-width:100%;height:auto}a{color:var(--route);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--route);outline-offset:3px}h1,h2,h3{font-family:var(--f-display);font-weight:700;letter-spacing:-.022em;line-height:1.12;margin:0 0 .5em;text-wrap:balance}h1{font-size:clamp(2.1rem,5.2vw,3.4rem)}h2{font-size:clamp(1.5rem,3.2vw,2.1rem);margin-top:2.6rem}h3{font-size:1.2rem;margin-top:2rem;letter-spacing:-.01em}p,ul,ol{max-width:var(--measure)}p{margin:0 0 1.1em}li{margin-bottom:.4em}code{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#fff;border:1px solid var(--rule-soft);padding:.08em .34em;border-radius:3px}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}.skip:focus{left:0}.masthead{border-bottom:1px solid var(--rule);background:var(--panel)}.masthead__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;column-gap:2rem;row-gap:.5rem;padding-block:.95rem}.brand{font-family:var(--f-display);font-weight:800;font-size:1.12rem;letter-spacing:-.03em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.brand:before{content:"";width:3px;height:1.05em;background:linear-gradient(var(--route) 50%,var(--muted) 50%);flex:none}.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem 1.15rem;font-size:.94rem}.langs{display:flex;gap:.9rem;font-size:.88rem;padding-left:1.1rem;border-left:1px solid var(--rule)}.langs a{color:var(--ink-3);text-decoration:none;padding-block:2px;border-bottom:2px solid transparent;white-space:nowrap}.langs a:hover{color:var(--ink-2);border-bottom-color:var(--signal)}@media(max-width:56rem){.masthead__inner{grid-template-columns:1fr auto}.nav{grid-column:1 / -1;grid-row:2;justify-content:flex-start}.langs{border-left:0;padding-left:0}}.nav a{color:var(--ink-2);text-decoration:none;padding-block:2px;border-bottom:2px solid transparent}.nav a:hover{border-bottom-color:var(--signal)}.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--route)}main{display:block}.section{padding-block:clamp(2.5rem,6vw,4.25rem)}.section--panel{background:var(--panel);border-block:1px solid var(--rule)}.lede{font-size:clamp(1.08rem,2.1vw,1.28rem);line-height:1.55;color:var(--ink-2);max-width:58ch}.eyebrow{font-family:var(--f-display);font-size:.95rem;font-weight:600;color:var(--ink-3);margin:0 0 .9rem}.hero{padding-block:clamp(2.75rem,7vw,5rem)}.split{margin-top:clamp(2rem,4vw,3rem);border:1px solid var(--rule);background:var(--panel)}.split__url{padding:.85rem 1.1rem;border-bottom:1px solid var(--rule);font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:.95rem;color:var(--ink-2);overflow-wrap:anywhere}.split__url b{color:var(--ink);font-weight:600}.split__lanes{display:grid;grid-template-columns:1fr 1px 1fr}.split__seam{background:repeating-linear-gradient(var(--rule) 0 6px,transparent 6px 12px)}.lane{padding:1.35rem 1.2rem 1.5rem}.lane__who{font-family:var(--f-display);font-weight:700;font-size:1.02rem;margin:0 0 .15rem}.lane__how{font-size:.9rem;color:var(--ink-3);margin:0 0 1rem;max-width:none}.lane__page{border:1px solid var(--rule-soft);padding:.9rem .95rem;font-size:.9rem}.lane__page p{margin:0;max-width:none}.lane__bar{height:6px;margin-bottom:.6rem}.lane--bot .lane__who{color:var(--muted)}.lane--bot .lane__bar{background:var(--muted)}.lane--bot .lane__page{background:#f4f5f6;color:var(--ink-3)}.lane--real .lane__bar{background:var(--route)}.lane--real .lane__page{background:var(--route-soft);border-color:#bcd4f8}@media(max-width:640px){.split__lanes{grid-template-columns:1fr}.split__seam{height:1px;background:repeating-linear-gradient(to right,var(--rule) 0 6px,transparent 6px 12px)}}.tablewrap{overflow-x:auto;border:1px solid var(--rule);background:var(--panel);margin:1.6rem 0}table{border-collapse:collapse;width:100%;min-width:34rem;font-size:.94rem}caption{caption-side:bottom;text-align:left;padding:.7rem 1rem .9rem;font-size:.85rem;color:var(--ink-3);border-top:1px solid var(--rule-soft)}th,td{text-align:left;padding:.62rem 1rem;border-bottom:1px solid var(--rule-soft);vertical-align:top}thead th{font-family:var(--f-display);font-weight:600;font-size:.88rem;color:var(--ink-2);border-bottom:1px solid var(--rule);white-space:nowrap}tbody tr:last-child td{border-bottom:0}td.num,th.num{font-variant-numeric:tabular-nums;white-space:nowrap}.vendor{font-weight:600}.vendor span{display:block;font-weight:400;font-size:.84rem;color:var(--ink-3)}.flag{display:inline-block;font-size:.8rem;border:1px solid var(--signal);border-left-width:3px;padding:.05rem .4rem;color:var(--warn);white-space:nowrap}.bar{display:block;height:8px;background:var(--route);min-width:1px}.bar--zero{background:var(--muted);width:2px}.signup{background:var(--ink);color:#fff}.signup h2{color:#fff;margin-top:0}.signup p{color:#c3cbd7}.signup a{color:#9dc0f7}.form{display:flex;flex-wrap:wrap;gap:.7rem;max-width:40rem;margin-top:1.4rem}.form input[type=email],.form input[type=text]{flex:1 1 15rem;min-width:0;font:inherit;font-size:1rem;padding:.7rem .85rem;border:1px solid #46546a;background:#17233a;color:#fff;border-radius:0}.form input::placeholder{color:#7d8ba0}.form input:focus-visible{outline:2px solid var(--signal);outline-offset:1px}.form button{font:inherit;font-family:var(--f-display);font-weight:700;font-size:1rem;padding:.7rem 1.5rem;border:0;background:var(--signal);color:var(--ink);cursor:pointer;border-radius:0}.form button:hover{background:#ffc72c}.form button[disabled]{background:#7b6c3a;color:#d8d2c0;cursor:progress}.form__note{font-size:.86rem;color:#9aa6b6;flex:1 0 100%;margin:0;max-width:46ch}.form__status{margin:1rem 0 0;font-size:.95rem;max-width:46ch}.form__status[data-state=ok]{color:#8fe0a8}.form__status[data-state=err]{color:#ffb4a2}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.callout{border-left:3px solid var(--signal);padding:.15rem 0 .15rem 1.1rem;margin:1.7rem 0;max-width:var(--measure)}.callout p:last-child{margin-bottom:0}.faq dt{font-family:var(--f-display);font-weight:700;font-size:1.1rem;margin-top:1.7rem}.faq dd{margin:.5rem 0 0;max-width:var(--measure)}.cards{display:grid;gap:1.5rem 2.5rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin-top:1.8rem}.cards h3{margin-top:0}.cards p{max-width:none;margin-bottom:0;color:var(--ink-2);font-size:.97rem}.readnext{border-top:1px solid var(--rule);padding-top:1.4rem;margin-top:3rem}.readnext ul{list-style:none;padding:0;max-width:none;columns:2;column-gap:2.5rem}@media(max-width:40rem){.readnext ul{columns:1}}.foot{border-top:1px solid var(--rule);background:var(--panel);padding-block:2rem 2.5rem;font-size:.9rem;color:var(--ink-3)}.foot a{color:var(--ink-2)}.foot p{max-width:62ch}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.cite{border:1px solid var(--rule);border-left:3px solid var(--signal);background:var(--panel);padding:1.3rem 1.4rem 1.5rem;margin:2rem 0;max-width:52rem}.cite__label{margin:1.1rem 0 .35rem;font-size:.85rem;color:var(--ink-3)}.cite__box{margin:0;max-width:none;background:#f5f6f7;border:1px solid var(--rule-soft);padding:.6rem .75rem;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:.84rem;line-height:1.5;overflow-wrap:anywhere}.cite__box code{background:none;border:0;padding:0;font-size:inherit}.figure-row:target{background:#fff8e4;box-shadow:inset 3px 0 0 var(--signal)}.anchor{color:var(--ink-3);text-decoration:none;font-size:.8rem;white-space:nowrap}.anchor:hover{color:var(--route);text-decoration:underline}:root{--s1: #1f6feb;--s2: #b45309;--deemph: #9aa0a8;--grid: #dcdee2}.chart{margin:1.8rem 0 2.2rem;max-width:46rem}.chart--wide{max-width:58rem}.chart svg{width:100%;height:auto;overflow:visible;display:block}.chart figcaption{margin-top:.9rem;font-size:.86rem;line-height:1.55;color:var(--ink-3);max-width:62ch}.chart .axis{stroke:var(--rule);stroke-width:1}.chart .grid{stroke:var(--grid);stroke-width:1}.chart .bar{fill:var(--deemph)}.chart .bar--accent,.chart .bar--s1{fill:var(--s1)}.chart .bar--s2{fill:var(--s2)}.chart .bar--zero{fill:var(--ink-3)}.chart .bar--wash{fill:var(--route-soft)}.chart .span{stroke:var(--s1);stroke-width:2;stroke-linecap:round}.chart .dot{fill:var(--s1);stroke:var(--panel);stroke-width:2}.chart .dot--low{fill:#9dc0f7}.chart .dot--decide{fill:var(--s2);stroke:var(--panel);stroke-width:2}.chart .stopdot{fill:var(--ink-2)}.chart .lab,.chart .val,.chart .tick,.chart .lanelab{font-family:var(--f-body);fill:var(--ink-2)}.chart .lab{font-size:13px}.chart .lab--head{font-family:var(--f-display);font-weight:700;font-size:14px;fill:var(--ink)}.chart .lanelab{font-family:var(--f-display);font-weight:600;font-size:13px;fill:var(--ink)}.chart .val{font-family:var(--f-display);font-weight:700;font-size:14px;fill:var(--ink);font-variant-numeric:tabular-nums}.chart .val--sm{font-weight:400;font-family:var(--f-body);font-size:12.5px;fill:var(--ink-2)}.chart .tick{font-size:11.5px;fill:var(--ink-3)}.chart .mark:hover .bar,.chart .mark:hover .span{filter:saturate(1.25) brightness(.94)}.legend{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;margin-bottom:.9rem;font-size:.88rem;color:var(--ink-2)}.legend__item{display:inline-flex;align-items:center;gap:.45rem}.swatch{width:12px;height:12px;border-radius:3px;flex:none}.swatch--s1{background:var(--s1)}.swatch--s2{background:var(--s2)}body{background:linear-gradient(var(--paper),var(--paper)) padding-box}.hero:has(.split),.hero:has(.shot){background:linear-gradient(90deg,#9aa0a817 0 50%,#1f6feb12 50% 100%),var(--paper)}.hero{border-bottom:1px solid var(--rule)}.hero .wrap{position:relative}h1{font-weight:800;letter-spacing:-.032em;line-height:1.04}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.88rem;letter-spacing:.01em;margin-bottom:1.1rem}.eyebrow:before{content:"";width:3px;height:.95em;background:linear-gradient(var(--s1) 50%,var(--deemph) 50%);flex:none}.section>.wrap>h2,.section>.wrap>.readnext>h2{position:relative;padding-top:1.1rem;font-size:clamp(1.55rem,3.1vw,2.2rem);font-weight:800;letter-spacing:-.028em}.section>.wrap>h2:before{content:"";position:absolute;top:0;left:0;width:38px;height:3px;background:var(--ink)}.section>.wrap>h2:first-child{margin-top:0}h3{font-size:1.14rem;color:var(--ink)}.tablewrap{border-color:var(--rule)}thead th{background:#f7f8f9;font-size:.82rem;letter-spacing:.015em}td.num{font-weight:600}.vendor{font-family:var(--f-display);font-weight:700}.cards{gap:2rem 3rem}.cards>div{border-top:2px solid var(--rule);padding-top:.9rem}.cards h3{margin-top:0;font-size:1.06rem}.callout{border-left-width:4px;background:#fffdf5;padding:1rem 1.1rem 1rem 1.2rem}.chart{margin:2.2rem 0 2.6rem}.split{border-color:var(--ink);border-width:2px 1px 1px}.split__url{background:#fafbfc}.lane__bar{height:5px}.faq dt{padding-top:1.1rem;border-top:1px solid var(--rule-soft)}.faq dt:first-of-type{border-top:0;padding-top:0}.readnext ul a{color:var(--ink);text-decoration-color:var(--rule)}.readnext ul a:hover{color:var(--s1);text-decoration-color:currentColor}.foot{border-top:2px solid var(--ink)}@media(max-width:38rem){.chart{overflow-x:auto;padding-bottom:.4rem}.chart svg{min-width:540px}.chart--wide svg{min-width:640px}.chart figcaption{position:sticky;left:0}}.plans{display:grid;grid-template-columns:repeat(3,1fr);margin:1.8rem 0 2rem;border:1px solid var(--rule)}.plan{background:var(--panel);padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;border-right:1px solid var(--rule)}.plan:last-child{border-right:0}@media(max-width:58rem){.plans{grid-template-columns:1fr}.plan{border-right:0;border-bottom:1px solid var(--rule)}.plan:last-child{border-bottom:0}}.plan--featured{background:#fbfcfe;box-shadow:inset 0 3px 0 var(--s1)}.plan__name{font-family:var(--f-display);font-weight:700;font-size:.98rem;color:var(--ink-2);margin:0 0 .5rem;max-width:none}.plan__price{font-family:var(--f-display);font-weight:800;font-size:2.8rem;letter-spacing:-.04em;line-height:1;color:var(--ink);margin:0 0 1rem;max-width:none}.plan__price span{font-size:1.5rem;vertical-align:.35em;margin-right:.05em}.plan__price small{font-family:var(--f-body);font-weight:400;font-size:.92rem;letter-spacing:0;color:var(--ink-3)}.plan__specs{list-style:none;padding:0;margin:0 0 .9rem;max-width:none;border-top:1px solid var(--rule-soft);padding-top:.8rem}.plan__specs li{font-size:.94rem;margin-bottom:.3rem}.plan__best{margin:auto 0 0;max-width:none;font-size:.9rem;color:var(--ink-3);line-height:1.5}.ticks{list-style:none;padding:0;columns:2;column-gap:2.5rem;max-width:52rem}.ticks li{break-inside:avoid;padding-left:1.5rem;position:relative;margin-bottom:.55rem}.ticks li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:3px;background:var(--s1)}@media(max-width:40rem){.ticks{columns:1}}.layers{counter-reset:layer;margin:1.8rem 0 2rem;max-width:52rem}.layer{display:grid;grid-template-columns:3.1rem 1fr;gap:0 1.1rem;padding:1.3rem 0;border-top:2px solid var(--ink)}.layer:last-child{border-bottom:1px solid var(--rule)}.layer__n{counter-increment:layer;font-family:var(--f-display);font-weight:800;font-size:2rem;line-height:.9;letter-spacing:-.04em;color:var(--s1)}.layer__n:before{content:counter(layer)}.layer h3{margin:0 0 .4rem;font-size:1.1rem}.layer p{margin-bottom:.6rem}.layer p:last-child{margin-bottom:0}.layer__when{font-size:.85rem;color:var(--ink-3);grid-column:2;margin-bottom:.5rem!important}.chart .box{fill:var(--panel);stroke:var(--rule);stroke-width:1}.chart .box--out{fill:#e2ecfc;stroke:#a9c6f4}.shot{margin:2rem 0 2.4rem;max-width:46rem}.shot--wide{max-width:58rem}.shot img{display:block;width:100%;height:auto;border:1px solid var(--rule);background:var(--panel)}.shot--wide img{border:0}.shot figcaption{margin-top:.9rem;font-size:.86rem;line-height:1.55;color:var(--ink-3);max-width:62ch}
