:root{--paper:oklch(97.2% .011 85);--paper-2:oklch(94.8% .016 82);--paper-3:oklch(91.5% .022 80);--ink:oklch(23.5% .018 55);--ink-2:oklch(41% .02 58);--ink-3:oklch(57% .018 65);--rule:oklch(86.5% .018 78);--rule-strong:oklch(32% .02 55);--signal:oklch(61% .19 35);--signal-ink:oklch(50% .17 33);--signal-wash:oklch(93.5% .04 45);--serif:"Newsreader", "Songti SC", "Noto Serif SC", "Source Han Serif SC", Georgia, serif;--sans:"IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--step--2:.75rem;--step--1:.875rem;--step-0:1rem;--step-1:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-2:clamp(1.25rem, 1.1rem + .6vw, 1.625rem);--step-3:clamp(1.6rem, 1.25rem + 1.5vw, 2.5rem);--step-4:clamp(2.4rem, 1.5rem + 3.6vw, 4.5rem);--step-5:clamp(2.9rem, 1.4rem + 5.4vw, 6.5rem);--gutter:clamp(1.25rem, .5rem + 3vw, 3rem);--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}::selection{background:var(--signal-wash);color:var(--ink)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums lining-nums}.r{text-align:right}.wrap{width:100%;max-width:82rem;padding-inline:var(--gutter);margin-inline:auto}.kicker{font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:500}.kicker a{text-decoration:none}.kicker a:hover{color:var(--ink);text-decoration:underline}.display{font-family:var(--serif);font-optical-sizing:auto;letter-spacing:-.025em;font-weight:450;line-height:.95}.lede{font-size:var(--step-1);color:var(--ink-2);text-wrap:pretty;max-width:34em}.section-title{font-family:var(--serif);font-weight:450;font-size:var(--step-3);letter-spacing:-.015em;line-height:1.05}.section-title.small{font-size:var(--step-2);margin-bottom:1rem}.section-lede{color:var(--ink-2);margin-top:.5rem}.masthead{border-bottom:1px solid var(--rule-strong)}.masthead-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;min-height:4rem;display:flex}.wordmark{letter-spacing:-.01em;align-items:center;gap:.55rem;font-size:1.05rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark em,.footer-mark em{font-family:var(--serif);margin-left:.08em;font-size:1.12em;font-style:italic;font-weight:450}.wm-dot{background:var(--signal);width:.7rem;height:.7rem;box-shadow:.95rem 0 0 -.12rem var(--paper), .95rem 0 0 0 var(--ink);border-radius:50%;margin-right:1rem}.nav{font-size:var(--step--1);flex-wrap:wrap;align-items:center;gap:clamp(.75rem,2vw,1.75rem);display:flex}.nav a{color:var(--ink-2);text-decoration:none}.nav a:hover{color:var(--ink)}.nav .lang{border:1px solid var(--ink);color:var(--ink);border-radius:2px;padding:.15rem .6rem}.nav .lang:hover{background:var(--ink);color:var(--paper)}.hero{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));padding-block:clamp(2.5rem,1.5rem + 3.5vw,4.75rem) clamp(2rem,1.5rem + 2vw,3.25rem);display:grid}.hero .kicker{grid-column:1/-1;margin-bottom:1.25rem}.hero-title{font-size:var(--step-5);grid-column:1/-1;max-width:13ch}.hero-title .line{display:block}.hero-num{color:var(--signal);white-space:nowrap;font-style:italic;font-weight:400}.hero-side{grid-column:7/-1;justify-items:start;gap:1.25rem;margin-top:clamp(1.25rem,.5rem + 2vw,2rem);display:grid}.cta{background:var(--ink);color:var(--paper);transition:background-color .18s var(--ease);border-radius:2px;align-items:center;gap:.6rem;padding:.8rem 1.3rem;font-weight:500;text-decoration:none;display:inline-flex}.cta span{transition:transform .24s var(--ease)}.cta:hover{background:var(--signal-ink)}.cta:hover span{transform:translate(4px)}.reveal{animation:rise .9s var(--ease) both;animation-delay:calc(var(--d,0) * .11s)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@media (width<=760px){.hero-side{grid-column:1/-1}}.sheet{background:var(--paper-2);border-block:1px solid var(--rule-strong);padding-block:clamp(2rem,1.5rem + 2.5vw,3.5rem)}.sheet-head{grid-template-columns:1fr auto;align-items:end;gap:.4rem 2rem;margin-bottom:1.5rem;display:grid}.sheet-head .kicker{grid-column:1/-1}.sheet-title{font-family:var(--serif);font-weight:450;font-size:var(--step-3);flex-wrap:wrap;align-items:baseline;gap:.25rem .9rem;line-height:1.1;display:flex}.sheet-title a{text-decoration:none}.sheet-title a:hover{text-decoration:underline}.sheet-job{font-family:var(--sans);font-size:var(--step-0);color:var(--ink-2)}.sheet-note{font-size:var(--step--1);color:var(--ink-3);text-align:right;max-width:24rem}@media (width<=760px){.sheet-head{grid-template-columns:1fr}.sheet-note{text-align:left}}.dotplot{margin:0;container-type:inline-size}.dotplot-caption{font-size:var(--step--1);color:var(--ink-2);margin-bottom:.75rem}.dp-row{border-top:1px solid var(--rule);grid-template-columns:minmax(11rem,16rem) minmax(0,1fr) 5.5rem;align-items:center;column-gap:1.25rem;min-height:2.5rem;display:grid}.dp-label{font-size:var(--step--1);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.5rem;display:inline-flex;overflow:hidden}.dp-track{height:2.5rem;position:relative}.dp-stem{height:1px;width:var(--x);background:var(--ink-3);transform-origin:0;animation:grow .9s var(--ease) both;animation-delay:calc(var(--i) * 70ms + .25s);position:absolute;top:50%;left:0}.dp-dot{left:var(--x);background:var(--ink);width:.75rem;height:.75rem;animation:pop .5s var(--ease) both;animation-delay:calc(var(--i) * 70ms + .65s);border-radius:50%;position:absolute;top:50%;translate:-50% -50%}.dp-row[data-approx] .dp-dot{background:var(--paper);border:1.5px solid var(--ink)}.dp-row[data-cheapest] .dp-dot{background:var(--signal);border-color:var(--signal);box-shadow:0 0 0 4px var(--signal-wash)}.dp-row[data-cheapest][data-approx] .dp-dot{background:var(--signal-wash);border:2px solid var(--signal)}.dp-row[data-cheapest] .dp-stem{background:var(--signal)}.dp-ref{border-left:1px dashed var(--ink-2);position:absolute;top:0;bottom:0}.dp-value{text-align:right;font-size:var(--step-0)}.dp-row[data-cheapest] .dp-value{color:var(--signal-ink);font-weight:600}.dp-axis{border-top:1px solid var(--rule-strong);min-height:3rem}.dp-axis .dp-track{height:3rem}.dp-tick,.dp-ref-label{font-size:var(--step--2);color:var(--ink-3);white-space:nowrap;position:absolute;top:.35rem;translate:-50%}.dp-ref-label{color:var(--ink-2);top:1.6rem}@keyframes grow{0%{transform:scaleX(0)}}@keyframes pop{0%{opacity:0;scale:.3}}@container (width<=560px){.dp-row{grid-template-columns:minmax(0,1fr) auto;row-gap:0;padding-top:.5rem}.dp-track{grid-area:2/1/auto/-1;height:1.5rem}.dp-axis{padding-top:0}.dp-axis>span:empty{display:none}.dp-axis .dp-track{grid-row:1}}.legend{font-size:var(--step--2);color:var(--ink-2);flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1rem;display:flex}.legend-item{align-items:center;gap:.45rem;display:inline-flex}.legend-item i{border-radius:50%;width:.65rem;height:.65rem;display:inline-block}.legend-item[data-k=cheap] i{background:var(--signal)}.legend-item[data-k=approx] i{border:1.5px solid var(--ink)}.legend-item[data-k=ref] i{border-left:1px dashed var(--ink-2);border-radius:0;width:0;height:.9rem}.legend-routes{letter-spacing:.02em;margin-left:auto}.route{font-size:var(--step--2);color:var(--ink-2);white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.route-glyph{width:.7rem;height:.7rem;fill:var(--ink);flex:none}.route-glyph .ring{fill:none;stroke:var(--ink);stroke-width:1.3px}.route-glyph .dashed{stroke-dasharray:2 1.6;stroke:var(--ink);stroke-width:1.5px}.spreads{padding-block:clamp(3.5rem,2.5rem + 4vw,6rem) 1rem}.section-head{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;margin-bottom:2.25rem;display:grid}.section-head .section-title{grid-column:1/span 6}.section-head .section-lede{grid-column:7/-1}@media (width<=760px){.section-head .section-title,.section-head .section-lede{grid-column:1/-1}}.board{margin-bottom:2.75rem;scroll-margin-top:1.5rem;container-type:inline-size}.board-title{font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--rule-strong);padding-bottom:.6rem;font-weight:600}.board-head,.board-row{grid-template-columns:minmax(12rem,1.5fr) minmax(7rem,1fr) minmax(5rem,1.1fr) minmax(7rem,1fr) 5.5rem;align-items:center;column-gap:1.25rem;display:grid}.board-head{font-size:var(--step--2);color:var(--ink-3);padding-block:.5rem}.board-row{border-top:1px solid var(--rule);transition:background-color .16s var(--ease);padding-block:.85rem;text-decoration:none}.board-row:hover{background:var(--paper-2)}.board-row:hover .br-model{text-decoration:underline;text-decoration-thickness:1px}.br-job{display:grid}.br-model{font-family:var(--serif);font-size:var(--step-2);line-height:1.15}.br-params{font-size:var(--step--1);color:var(--ink-2)}.br-low,.br-high{display:grid}.br-price{font-size:var(--step-1);font-weight:500}.br-price.low{color:var(--signal-ink);font-weight:600}.br-who{font-size:var(--step--2);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.br-bar{height:1rem;position:relative}.br-bar-fill{height:2px;width:calc(var(--w) * 100%);background:var(--ink-3);position:absolute;top:50%;left:0;translate:0 -50%}.br-bar-fill:before,.br-bar-fill:after{content:"";border-radius:50%;width:.6rem;height:.6rem;position:absolute;top:50%;translate:-50% -50%}.br-bar-fill:before{background:var(--signal);left:0}.br-bar-fill:after{background:var(--ink);left:100%}.br-spread{font-family:var(--serif);font-style:italic;font-size:var(--step-2)}@container (width<=680px){.board-head{display:none}.board-row{grid-template-columns:1fr auto;row-gap:.4rem}.br-job{grid-column:1}.br-spread{grid-area:1/2}.br-low{text-align:left;grid-column:1}.br-high{text-align:right;grid-column:2}.br-bar{grid-area:3/1/auto/-1}}.principles{column-gap:var(--gutter);border-top:1px solid var(--rule-strong);grid-template-columns:repeat(12,minmax(0,1fr));padding-block:clamp(2.5rem,2rem + 3vw,4.5rem);display:grid}.principles .section-title{grid-column:1/span 4}.principles-body{font-family:var(--serif);font-size:var(--step-2);color:var(--ink-2);grid-column:6/-1;gap:1.4rem;line-height:1.38;display:grid}.principles-body strong{color:var(--ink);font-weight:550}@media (width<=760px){.principles .section-title,.principles-body{grid-column:1/-1}.principles-body{margin-top:1.25rem}}.platforms{border-top:1px solid var(--rule-strong);padding-block:clamp(2.5rem,2rem + 3vw,4.5rem) clamp(3rem,2rem + 4vw,6rem);scroll-margin-top:1rem}.plat-list{margin:1.75rem 0 0;padding:0;list-style:none;container-type:inline-size}.plat-row{border-top:1px solid var(--rule);transition:background-color .16s var(--ease);grid-template-columns:11rem minmax(0,1.6fr) minmax(0,1fr) 6rem;align-items:baseline;gap:.25rem 1.5rem;padding-block:1rem;text-decoration:none;display:grid}.plat-row:hover{background:var(--paper-2)}.plat-name{font-family:var(--serif);font-size:var(--step-2)}.plat-tag{color:var(--ink-2)}.plat-fact{font-size:var(--step--1);color:var(--ink-3)}.plat-count{font-size:var(--step--1);text-align:right}@container (width<=680px){.plat-row{grid-template-columns:1fr auto}.plat-tag,.plat-fact{grid-column:1/-1}.plat-count{grid-area:1/2}}.footer{background:var(--ink);color:oklch(90% .015 80);margin-top:0}.footer-inner{font-size:var(--step--1);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem 3rem;padding-block:2.75rem 3.25rem;display:grid}.footer-mark{color:var(--paper);font-size:1.05rem;font-weight:600}.footer-copy{color:oklch(80% .015 75);gap:.4rem;max-width:44rem;display:grid}.footer-link{color:var(--paper)}@media (width<=760px){.footer-inner{grid-template-columns:1fr}}.compare-head{gap:1rem;padding-block:clamp(2.5rem,2rem + 3vw,4.5rem) 1.75rem;display:grid}.compare-title{font-size:var(--step-4)}.siblings{font-size:var(--step--1);flex-wrap:wrap;gap:.35rem 1.25rem;margin-top:.5rem;display:flex}.siblings a{color:var(--ink-2);border-bottom:1px solid #0000;padding-bottom:.1rem;text-decoration:none}.siblings a:hover{color:var(--ink);border-bottom-color:var(--ink-3)}.siblings a[data-current]{color:var(--ink);border-bottom:2px solid var(--signal)}.builder{z-index:5;background:color-mix(in oklch, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-block:1px solid var(--rule-strong);flex-wrap:wrap;align-items:center;gap:.75rem 2rem;padding-block:.85rem;display:flex;position:sticky;top:0}.builder-label{font-family:var(--serif);font-style:italic;font-size:var(--step-1)}.builder-groups{flex-wrap:wrap;gap:.75rem 1.75rem;display:flex}.seg{align-items:center;gap:.6rem;display:flex}.seg-label{font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.seg-options{border:1px solid var(--ink);border-radius:2px;display:inline-flex;overflow:hidden}.seg-options a{font-size:var(--step--1);color:var(--ink);white-space:nowrap;transition:background-color .14s var(--ease), color .14s var(--ease);padding:.32rem .75rem;text-decoration:none}.seg-options a+a{border-left:1px solid var(--ink)}.seg-options a:hover{background:var(--paper-3)}.seg-options a[data-active]{background:var(--ink);color:var(--paper)}.seg-discount{margin-left:auto}.answer{gap:1.5rem var(--gutter);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);padding-block:clamp(2rem,1.5rem + 2vw,3rem) 1.75rem;display:grid}.answer>div{align-content:start;gap:.3rem;display:grid}.answer-alt,.answer-ref{border-left:1px solid var(--rule);padding-left:1.25rem}.answer-label{font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.answer-price{font-family:var(--serif);font-size:var(--step-5);letter-spacing:-.03em;color:var(--signal-ink);margin-top:.4rem;line-height:.95}.answer-price.small{font-size:var(--step-3);color:var(--ink);letter-spacing:-.015em}.approx-sign{vertical-align:.15em;color:var(--ink-3);margin-right:.1em;font-size:.6em}.answer-who{font-size:var(--step-1);flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.answer-vs{font-size:var(--step--1);color:var(--ink-2)}.answer-diff,.answer-none{font-size:var(--step--1);color:var(--ink-2);max-width:28em}@media (width<=860px){.answer{grid-template-columns:1fr 1fr}.answer-main{grid-column:1/-1}.answer-alt{border-left:0;padding-left:0}}.tables{gap:2.5rem;padding-block:2.5rem 1rem;display:grid}.ptable{container-type:inline-size}.ptable-title{font-family:var(--serif);font-weight:450;font-size:var(--step-2);align-items:baseline;gap:.6rem;margin-bottom:.6rem;display:flex}.ptable-title .count{font-family:var(--sans);font-size:var(--step--2);color:var(--ink-3)}.pt-row{border-top:1px solid var(--rule);grid-template-columns:2rem minmax(13rem,1.3fr) 8rem 7.5rem 4.5rem minmax(14rem,2fr);align-items:baseline;column-gap:1.25rem;padding-block:.8rem;display:grid}.ptable[data-muted] .pt-row{grid-template-columns:2rem minmax(13rem,1.3fr) minmax(14rem,3fr)}.pt-head{border-top:0;border-bottom:1px solid var(--rule-strong);font-size:var(--step--2);color:var(--ink-3);letter-spacing:.04em;padding-block:.4rem}.pt-head+.pt-row{border-top:0}.pt-rank{color:var(--ink-3);font-size:var(--step--1)}.pt-row[data-cheapest] .pt-rank,.pt-row[data-cheapest] .pt-cost{color:var(--signal-ink)}.pt-who{flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;display:flex}.pt-name{font-weight:600;text-decoration:none}.pt-name:hover{text-decoration:underline}.pt-routename{font-size:var(--step--2);border:1px solid var(--rule-strong);white-space:nowrap;border-radius:2px;margin-left:.35rem;padding:0 .35rem}.pm-name .pt-routename{margin-left:.5rem}.pt-cost{font-size:var(--step-1);justify-items:end;font-weight:600;display:grid}.pt-was{font-size:var(--step--2);color:var(--ink-3);font-weight:400}.pt-was s{text-decoration-thickness:1px}.badge{letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:2px;padding:0 .3rem;font-size:.68rem;display:inline-block}.pt-unit,.pt-vs{font-size:var(--step--1);color:var(--ink-2)}.pt-vs[data-sign=neg]{color:var(--ink);font-weight:500}.pt-notes{font-size:var(--step--1);color:var(--ink-2)}.pt-original{color:var(--ink)}.pt-notes ul{margin:.15rem 0 0;padding:0;list-style:none}.pt-notes li{padding-left:.85rem;position:relative}.pt-notes li:before{content:"";background:var(--ink-3);width:.35rem;height:1px;position:absolute;top:.65em;left:0}.ptable[data-muted] .pt-name{font-weight:500}.ptable[data-muted]{color:var(--ink-2)}@container (width<=760px){.pt-head{display:none}.pt-row,.ptable[data-muted] .pt-row{grid-template-columns:1.5rem minmax(0,1fr) auto;row-gap:.25rem}.pt-who{grid-column:2}.pt-cost{grid-area:1/3}.pt-unit,.pt-vs{text-align:left;grid-column:2/-1;display:inline}.pt-unit:empty{display:none}.pt-notes{grid-column:2/-1}}.fineprint{font-size:var(--step--2);color:var(--ink-3);max-width:60rem}.variants{border-top:1px solid var(--rule-strong);margin-top:2rem;padding-block:3rem clamp(3rem,2rem + 4vw,6rem)}.variants .section-lede{margin-bottom:1.5rem}.variants-grid{columns:2 24rem;column-gap:3rem}.variant{break-inside:avoid;border-bottom:1px solid #0000;grid-template-columns:auto minmax(1rem,1fr) auto;align-items:baseline;column-gap:.5rem;padding-block:.45rem;text-decoration:none;display:grid}.variant:after{content:"";border-bottom:1px dotted var(--ink-3);grid-area:1/2;translate:0 -.3em}.variant-job{font-size:var(--step--1);grid-area:1/1}.variant-cost{grid-area:1/3;font-weight:600}.variant-who{font-size:var(--step--2);color:var(--ink-3);grid-column:1/-1}.variant:hover .variant-job{text-decoration:underline}.variant[data-current] .variant-job,.variant[data-current] .variant-cost{color:var(--signal-ink)}.variant[data-empty]{opacity:.55}.loading{color:var(--ink-3);font-style:italic;font-family:var(--serif)}.platform-page{padding-bottom:clamp(3rem,2rem + 4vw,6rem)}.ext{font-size:var(--step--1);color:var(--ink-2)}.platform-cols{gap:2rem var(--gutter);border-top:1px solid var(--rule-strong);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);padding-block:1.5rem 2.5rem;display:grid}@media (width<=860px){.platform-cols{grid-template-columns:1fr}}.facts{margin:0}.facts div{border-top:1px solid var(--rule);grid-template-columns:9rem 1fr;gap:1rem;padding-block:.7rem;display:grid}.facts dt{font-size:var(--step--1);color:var(--ink-3)}.facts dd{margin:0}.plat-models{margin:0;padding:0;list-style:none}.pm-row{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1.3fr) auto minmax(0,1fr) auto;align-items:baseline;gap:.25rem 1rem;padding-block:.7rem;text-decoration:none;display:grid}.pm-row:hover{background:var(--paper-2)}.pm-name{font-family:var(--serif);font-size:var(--step-1)}.pm-job{font-size:var(--step--1);color:var(--ink-2)}.pm-cost{text-align:right;font-weight:600;font-size:var(--step--1)}.method{padding-block:clamp(2.5rem,2rem + 3vw,4.5rem) clamp(3rem,2rem + 4vw,6rem)}.method-body{gap:0;max-width:54rem;margin-top:2.5rem;display:grid}.method-body section{border-top:1px solid var(--rule);grid-template-columns:14rem 1fr;gap:.5rem 2rem;padding-block:1.4rem;display:grid}.method-body h2{font-family:var(--serif);font-weight:500;font-size:var(--step-1)}.method-body p{color:var(--ink-2);text-wrap:pretty}@media (width<=760px){.method-body section{grid-template-columns:1fr}}.notfound{gap:1.25rem;padding-block:6rem;display:grid}.notfound .display{font-size:var(--step-4)}body[data-locale=zh]{line-height:1.7}body[data-locale=zh] .display,body[data-locale=zh] .section-title,body[data-locale=zh] .sheet-title{letter-spacing:0;font-weight:600;line-height:1.12}body[data-locale=zh] .hero-title{max-width:11em}body[data-locale=zh] .kicker,body[data-locale=zh] .seg-label,body[data-locale=zh] .answer-label,body[data-locale=zh] .board-title{letter-spacing:.04em}body[data-locale=zh] .principles-body{font-size:var(--step-1);line-height:1.75}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
