:root{
  --canvas:#fff;--ink:#000;--muted:#575757;--quiet:#f7f7f5;--rule:#e6e6e6;--boundary:#767676;
  --mint:#c8e6cd;--hover:#f1f9f3;--cream:#f4ecd6;--lime:#dceeb1;--pink:#efd4d4;
  --radius-panel:24px;--radius-row:16px;--radius-control:8px;--radius-pill:999px;
  color-scheme:light;font-family:Geist,Arial,sans-serif;font-synthesis:none;
}
.breadcrumbs{font-size:13px;color:var(--muted);padding-top:22px;overflow-wrap:anywhere}
.landing .hero{padding-top:36px}
.landing h1{max-width:22ch}
.landing-body{max-width:960px;margin:0 auto}
.landing-body .prose{max-width:none}
.landing-body .prose>p{max-width:75ch}
.seo-table-wrap{max-width:100%;overflow-x:auto;margin:24px 0 16px;border:1px solid var(--rule);border-radius:16px}
.seo-table{border-collapse:collapse;width:100%;min-width:540px;font-size:15px;font-variant-numeric:tabular-nums}
.seo-table caption{text-align:left;padding:16px;font-size:14px;color:var(--muted)}
.seo-table th,.seo-table td{text-align:left;padding:16px;border-top:1px solid var(--rule)}
.seo-table thead{background:var(--quiet)}
.fact-list dt{font-weight:600;margin-top:20px}
.fact-list dd{margin:6px 0 0;max-width:75ch}
.prose .platform-cards{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.platform-cards>li{padding:24px;border:1px solid var(--rule);border-radius:20px;margin:0!important}
.platform-cards p:last-child{margin-bottom:0;font-size:14px;color:var(--muted)}
@media(max-width:600px){.prose .platform-cards{grid-template-columns:1fr}.landing .site-links{gap:14px}.landing .hero{gap:20px}.seo-table th,.seo-table td{padding:12px}}
*{box-sizing:border-box}
html{scroll-padding-top:82px}
body{margin:0;background:var(--canvas);color:var(--ink);font-size:17px;line-height:1.6;font-weight:400}
button,input{font:inherit}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:4px}
button{cursor:pointer}
button:active,.action:active{transform:translateY(1px)}
button[aria-pressed=true]{background:var(--ink);color:var(--canvas)}
[hidden]{display:none!important}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;padding:12px 20px;background:#fff;z-index:100}
.prototype-bar{min-height:48px;padding:6px max(20px,calc((100vw - 1280px)/2));display:flex;gap:20px;align-items:center;justify-content:space-between;background:var(--quiet);border-bottom:1px solid var(--rule);font-size:13px}
.prototype-bar>span{font-weight:500;color:var(--muted)}
.prototype-bar nav{display:flex;gap:4px}
.prototype-bar nav a{min-height:36px;padding:7px 14px;border-radius:var(--radius-pill);text-decoration:none;display:flex;align-items:center;font-weight:500}
.prototype-bar nav a[aria-current]{color:#fff;background:#000}
.prototype-bar .workbook{font-weight:500}
.page{width:min(1280px,100%);margin:0 auto;padding:0 32px}
.site-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid var(--rule)}
.wordmark{position:relative;display:block;font-size:22px;font-weight:700;letter-spacing:-.035em;line-height:1.05;text-decoration:none}
.wordmark:hover{text-decoration:none}
.wordmark-dot{display:inline-block;width:10px;height:10px;background:var(--mint);border-radius:50%;margin-left:7px}
.site-links{display:flex;gap:28px;font-size:15px;font-weight:500}
.site-links a{padding:10px 0;text-decoration:none}
.site-links a:hover{text-decoration:underline}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:64px;align-items:start;padding:64px 0 62px;border-bottom:1px solid var(--rule);margin-bottom:56px}
.hero-copy{max-width:890px}
.hero-meta{font-size:14px;color:var(--muted);margin:0 0 24px}
h1,h2,h3{font-weight:500;text-wrap:balance}
h1{font-size:clamp(2.55rem,5.5vw,4.5rem);line-height:1.04;letter-spacing:-.035em;margin:0 0 28px;max-width:15ch}
.hero-deck{font-size:20px;line-height:1.55;max-width:55ch;margin:0 0 28px;color:#282828}
.hero-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:#000;color:#fff;border-radius:var(--radius-pill);text-decoration:none;font-size:15px;font-weight:500}
.action:hover{text-decoration:none;background:#222}
.text-action{font-size:15px;font-weight:500;padding:10px 0}
.byline{font-size:13px;color:var(--muted);margin:24px 0 0}
.publisher-note{background:var(--quiet);border-radius:var(--radius-panel);padding:24px;margin-top:52px;font-size:15px;line-height:1.55}
.publisher-note h2{font-size:15px;line-height:1.4;letter-spacing:0;margin:0 0 12px;font-weight:600}
.publisher-note p{margin:0 0 16px}
.publisher-note a{font-size:14px;font-weight:500;display:inline-block;padding:7px 0}
.reading-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:64px;align-items:start}
.reading-rail{position:sticky;top:28px;min-width:0}
.contents h2{font-size:14px;font-weight:600;margin:0 0 16px;line-height:1.4}
.contents a{display:block;padding:8px 0;font-size:13px;line-height:1.45;color:var(--muted);text-decoration:none}
.contents a:hover,.contents a.is-current{color:#000;text-decoration:underline}
.reading-body{min-width:0}
.prose{max-width:710px;margin:0 auto 60px}
.prose p{font-size:17px;line-height:1.75;margin:0 0 22px;text-wrap:pretty}
.prose.intro>p:first-child{font-size:21px;line-height:1.6}
.prose h2{font-size:31px;letter-spacing:-.025em;line-height:1.2;margin:0 0 24px}
.prose h3{font-size:21px;line-height:1.25;margin:0 0 12px}
.prose ul:not(.sources):not(.shortlist){padding-left:22px;margin:24px 0}
.prose li{margin-bottom:14px}
.shortlist{padding:0;margin:28px 0 32px;list-style:none;border-top:1px solid var(--rule)}
.shortlist>li{padding:24px 0;border-bottom:1px solid var(--rule);margin:0}
.shortlist h3{font-size:20px;font-weight:600}
.shortlist .shortlist-names{font-size:15px;font-weight:500;line-height:1.5;margin:0 0 12px}
.shortlist li>p:not(.shortlist-names):not(.shortlist-sources){font-size:16px;margin-bottom:10px}
.shortlist .shortlist-sources{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.comparison{margin:34px 0 60px;min-width:0}
.section-lead{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:20px}
.section-context{font-size:14px;color:var(--muted);margin:0 0 12px}
.section-lead h2{font-size:34px;line-height:1.12;letter-spacing:-.025em;margin:0;max-width:20ch}
.download-link{white-space:nowrap;font-size:13px;font-weight:500;padding:8px 0}
.table-note{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 22px;max-width:80ch}
.filter-bar{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0 10px}
.filter-bar button{padding:9px 14px;min-height:44px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--quiet);color:#000;font-size:13px;font-weight:500;line-height:1.25;transition:background .12s ease-out}
.filter-bar button:hover{background:var(--mint)}
.filter-bar button[aria-pressed=true]{background:#000;color:#fff}
.filter-bar button span{margin-left:5px;font-variant-numeric:tabular-nums;opacity:.8}
.filter-result{color:var(--muted);font-size:12px;margin:12px 0 20px}
.table-shell{border-radius:var(--radius-panel);background:var(--quiet);padding:10px;overflow-x:auto}
.platform-table{border-collapse:separate;border-spacing:6px;width:100%;table-layout:fixed;min-width:770px;font-size:14px;line-height:1.5}
.col-platform{width:20%}.col-price{width:25%}.col-fit{width:21%}.col-note{width:34%}
.platform-table th,.platform-table td{text-align:left;vertical-align:top;padding:18px 16px;overflow-wrap:anywhere}
.platform-table thead th{font-size:13px;font-weight:600;padding-top:15px;padding-bottom:20px}
.platform-table tbody th{background:#ededeb;border-radius:var(--radius-row);font-weight:500}
.platform-table tbody td{background:#fff;border-radius:var(--radius-row)}
.platform-table tbody tr:hover td,.platform-table tbody tr:hover th{background:var(--hover)}
.platform-table tbody tr[data-open=true] td,.platform-table tbody tr[data-open=true] th{background:var(--mint)}
.platform-table tbody tr:target td,.platform-table tbody tr:target th{box-shadow:inset 0 0 0 2px #000}
.platform-table p{font-size:14px;line-height:1.55;margin:0}
.platform-name{display:inline-block;font-size:16px;line-height:1.3;font-weight:600;text-decoration:none;padding:2px 0 8px}
.platform-name:hover{text-decoration:underline}
.row-kind{display:block;font-size:12px;line-height:1.4;color:#4b4b4b;margin-top:8px;font-weight:400}
.price{display:block;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.45}
.cell-sub{display:block;font-size:12px;line-height:1.55;margin-top:10px;color:#4b4b4b}
.owner-tag{display:block;font-size:11px;line-height:1.4;font-weight:500;margin:0 0 9px}
.source-toggle{border:0;background:transparent;color:#000;cursor:pointer;font-size:12px;font-weight:600;line-height:1.5;min-height:44px;padding:12px 0 6px;text-decoration:underline;text-underline-offset:4px;text-align:left}
.platform-table tbody .source-row td,.platform-table tbody .source-row:hover td{background:var(--mint);padding:24px}
.source-body{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:0}
.source-body h3{font-size:16px;line-height:1.3;font-weight:600;margin:0 0 16px}
.source-body dl{margin:0}
.source-body dt{font-weight:600;font-size:12px;margin-top:12px}
.source-body dd{font-size:12px;line-height:1.55;margin:4px 0 0}
.source-body .evidence{font-size:11px;line-height:1.5;margin-top:18px}
.sources{list-style:none;padding:0;margin:0}
.sources li{margin:0 0 14px;font-size:12px;line-height:1.45}
.sources a{overflow-wrap:anywhere}
.sources span{display:block;font-size:11.5px;color:#454545;line-height:1.45;margin-top:4px}
.table-footer{font-size:12px;color:var(--muted);margin:18px 0 0;max-width:80ch}
.workflow-wrap{margin:30px 0}
.workflow-table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.5}
.workflow-table caption{text-align:left;font-size:14px;font-weight:600;line-height:1.5;margin-bottom:18px}
.workflow-table th,.workflow-table td{border-bottom:1px solid var(--rule);padding:16px 12px;vertical-align:top;text-align:left;overflow-wrap:anywhere}
.workflow-table thead{background:var(--cream)}
.workflow-table th{font-weight:500}
.workflow-table tbody th{min-width:120px}
.workflow-table .table-note{font-size:12px;margin-top:14px}
.comparison-back{font-size:14px!important}
.site-footer{border-top:1px solid var(--rule);padding:36px 0 42px;margin-top:72px;display:flex;justify-content:space-between;gap:32px;font-size:12px;color:var(--muted)}
.site-footer p{margin:0 0 8px}
.footer-brand{font-size:17px;font-weight:600;color:#000}
.site-footer>a{white-space:nowrap}
.compare .hero{padding:32px 0;gap:64px;margin-bottom:28px;grid-template-columns:minmax(0,1fr) 250px}
.compare h1{font-size:clamp(2.5rem,4vw,3.45rem);max-width:23ch;margin-bottom:20px}
.compare .hero-meta{margin-bottom:18px}
.compare .hero-deck{font-size:17px;max-width:64ch;margin-bottom:0}
.compare .byline{margin-top:18px}
.compare .publisher-note{margin-top:12px}
.compare .comparison{margin-top:0}
.compare .section-lead h2{font-size:30px;max-width:none}
.compare .reading-grid{padding-top:40px;border-top:1px solid var(--rule)}
.compare .platform-table{min-width:850px}
@media(min-width:1500px){.page{width:min(1400px,100%);padding:0 48px}.hero{gap:100px}.reading-grid{grid-template-columns:220px minmax(0,1fr);gap:76px}.platform-table{font-size:15px}}
@media(max-width:1100px){.page{padding:0 24px}.hero{grid-template-columns:minmax(0,1fr) 220px;gap:36px}.hero h1{font-size:54px}.reading-grid{grid-template-columns:160px minmax(0,1fr);gap:32px}.publisher-note{padding:20px}.section-lead{align-items:start;flex-direction:column;gap:12px}.section-lead h2{max-width:none}.table-shell{padding:6px}.compare .hero{gap:36px;grid-template-columns:minmax(0,1fr) 220px}.platform-table th,.platform-table td{padding:16px 12px}}
@media(max-width:767px){
 .prototype-bar{padding:8px 16px;gap:10px;flex-wrap:wrap;font-size:11px}.prototype-bar>span{display:none}.prototype-bar nav a{min-height:36px;padding:8px 12px;font-size:12px}.prototype-bar .workbook{padding:8px 0}
 .page{padding:0 18px}.site-nav{padding:22px 0;gap:18px}.wordmark{font-size:19px}.site-links{gap:16px;font-size:12px}.site-links a:last-child{display:none}
 .hero,.compare .hero{display:block;padding:36px 0;margin-bottom:34px}.hero h1,.compare h1{font-size:clamp(34px,8.5vw,50px);line-height:1.08;max-width:none;margin-bottom:22px;letter-spacing:-.03em}.hero-meta{font-size:12px;margin-bottom:19px}.hero-deck,.compare .hero-deck{font-size:17px;line-height:1.6;margin-bottom:22px}.hero-actions{gap:20px}.action{min-height:46px;font-size:14px;padding:12px 20px}.text-action{font-size:14px}.byline{font-size:11px;margin-top:20px}
 .publisher-note,.compare .publisher-note{margin:28px 0 0;background:transparent;padding:18px 0 0;border-top:1px solid var(--rule);border-radius:0;font-size:14px}.publisher-note h2{font-size:14px;margin-bottom:8px}.publisher-note p{margin-bottom:5px}.publisher-note a{font-size:12px;min-height:36px;line-height:22px}
 .reading-grid{display:block}.reading-rail{position:static;margin-bottom:36px;border-bottom:1px solid var(--rule);padding-bottom:24px}.contents{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.contents h2{grid-column:1/-1;font-size:12px;margin-bottom:10px}.contents a{font-size:11px;padding:7px 0;line-height:1.45}.prose{margin-bottom:42px}.prose p{font-size:16px;line-height:1.75;margin-bottom:20px}.prose.intro>p:first-child{font-size:19px}.prose h2{font-size:28px;line-height:1.2;margin-bottom:22px}.prose h3{font-size:20px}.shortlist>li{padding:21px 0}.shortlist .shortlist-names{font-size:14px}.shortlist li>p:not(.shortlist-names):not(.shortlist-sources){font-size:15px}.shortlist .shortlist-sources{font-size:11px}
 .comparison{margin:26px 0 44px}.section-lead h2,.compare .section-lead h2{font-size:28px;line-height:1.14}.section-context{font-size:12px;margin-bottom:10px}.table-note{font-size:12px;line-height:1.55}.filter-bar{gap:6px}.filter-bar button{min-height:44px;font-size:12px;padding:9px 12px}.filter-result{font-size:11px}.download-link{font-size:12px;min-height:36px}
 .table-shell{padding:0;background:transparent;overflow:visible;border-radius:0}.platform-table,.compare .platform-table{display:block;min-width:0;width:100%;border-spacing:0;table-layout:auto}.platform-table colgroup{display:none}.platform-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.platform-table tbody{display:block}.platform-table tr{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--quiet);border-radius:var(--radius-panel);padding:18px;margin:0 0 14px;overflow:hidden}.platform-table th,.platform-table td,.platform-table tbody th,.platform-table tbody td{display:block;padding:0;background:transparent!important;border-radius:0;grid-column:1/-1;overflow-wrap:anywhere}.platform-table tr:hover{background:var(--hover)}.platform-table tr:has(details[open]){background:var(--mint)}.platform-table tbody tr:target th,.platform-table tbody tr:target td{box-shadow:none}.platform-table tbody tr:target{outline:2px solid #000;outline-offset:2px}.platform-name{font-size:19px;padding:0 0 5px}.row-kind{font-size:12px;margin:2px 0 15px}.owner-tag{margin-top:3px;margin-bottom:8px}.platform-table td:before{content:attr(data-label);display:block;font-size:10.5px;font-weight:600;margin:13px 0 6px;color:#494949}.platform-table td:first-of-type:before{margin-top:0}.price{font-size:16px;line-height:1.5}.cell-sub{margin-top:5px;font-size:12px}.platform-table p{font-size:13px;line-height:1.6}.source-detail summary{min-height:44px;font-size:12px;padding:12px 0}.source-body{border-top:1px solid #7d987f}.source-body dt,.source-body dd{font-size:12px}.sources span{font-size:11px}.table-footer{font-size:11px;line-height:1.6}
 .workflow-table{display:block}.workflow-table thead{display:none}.workflow-table tbody{display:block}.workflow-table tbody tr{display:block;margin-bottom:20px;border-bottom:1px solid var(--rule);padding-bottom:16px}.workflow-table th,.workflow-table td{display:block;border:0;padding:5px 0}.workflow-table th{font-size:15px;font-weight:600}.workflow-table td:before{content:attr(data-label) ': ';font-weight:500}.workflow-table caption{display:block;line-height:1.4;font-size:14px;margin-bottom:18px}
 .site-footer{flex-direction:column;margin-top:44px;padding:28px 0;gap:20px}.site-footer>a{min-height:44px}.compare .reading-grid{padding-top:32px}
}
@media(max-width:359px){.page{padding:0 12px}.site-nav{gap:12px}.site-links{gap:10px;font-size:11px}.wordmark{font-size:17px}.hero h1,.compare h1{font-size:33px}.prototype-bar{padding:6px 12px}.prototype-bar nav a{padding:8px 9px;font-size:11px}.hero-actions{gap:14px}.filter-bar button{font-size:11px}.platform-table tr{padding:16px}}
@media(max-width:767px){
 .platform-table tbody tr[data-open=true]{background:var(--mint);border-radius:24px 24px 0 0;margin-bottom:0}
 .platform-table tbody tr.source-row{display:block;background:var(--mint);border-radius:0 0 24px 24px;padding:0 18px 18px;margin-bottom:14px}
 .platform-table tbody .source-row td{padding:0!important;background:transparent!important}
 .source-row td:before{display:none}
 .source-body{display:block;border-top:1px solid #829884;padding-top:18px}
 .source-body>div+div{margin-top:26px}
 .source-body h3{font-size:16px}
 .source-toggle{min-height:44px;font-size:12px;padding:12px 0}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}button:active,.action:active{transform:none}}
@media print{.prototype-bar,.site-nav,.hero-actions,.reading-rail,.filter-bar{display:none}.page{width:100%;padding:0}.hero{padding:24px 0;margin-bottom:25px;gap:24px}.hero h1{font-size:36px}.reading-grid{display:block}.prose{max-width:none}.table-shell{overflow:visible}.platform-table{font-size:10px;min-width:0}.platform-table th,.platform-table td{padding:8px}.source-toggle,.source-row{display:none!important}.site-footer{margin-top:20px}}
