*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--gt-header-h) + var(--gt-space-4))}body{background:var(--gt-bg);color:var(--gt-text);font-family:var(--gt-font);font-size:var(--gt-body);line-height:var(--gt-body-lh);font-weight:var(--gt-weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img,svg,video{max-width:100%;height:auto}p{margin:0 0 var(--gt-space-4)}ul,ol{margin:0 0 var(--gt-space-4);padding-left:var(--gt-space-5)}li+li{margin-top:var(--gt-space-2)}strong,b{font-weight:var(--gt-weight-bold)}hr{border:0;border-top:var(--gt-line) solid var(--gt-border);margin:var(--gt-space-7) 0}a{color:var(--gt-link);text-decoration:underline;text-decoration-thickness:var(--gt-line);text-underline-offset:var(--gt-space-1)}a:hover{color:var(--gt-link-hover);text-decoration-thickness:var(--gt-outline)}:focus-visible{box-shadow:var(--gt-focus-ring);border-radius:var(--gt-radius-sm);outline:none}.on-dark{color:var(--gt-text-on-dark)}.on-dark :where(a:not([class])){color:var(--gt-link-on-dark)}.on-dark :focus-visible{box-shadow:var(--gt-focus-ring-on-dark)}h1,h2,h3,h4{margin:0 0 var(--gt-space-4);text-wrap:balance}h1{font-size:var(--gt-h1);line-height:var(--gt-h1-lh);letter-spacing:var(--gt-h1-ls);font-weight:var(--gt-h1-weight)}h2{font-size:var(--gt-h2);line-height:var(--gt-h2-lh);letter-spacing:var(--gt-h2-ls);font-weight:var(--gt-h2-weight)}h3{font-size:var(--gt-h3);line-height:var(--gt-h3-lh);letter-spacing:var(--gt-h3-ls);font-weight:var(--gt-h3-weight)}h4{font-size:var(--gt-h4);line-height:var(--gt-h4-lh);letter-spacing:var(--gt-h4-ls);font-weight:var(--gt-h4-weight)}.small{font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh)}.t-caption{font-size:var(--gt-caption);line-height:var(--gt-caption-lh);font-weight:var(--gt-caption-weight)}.t-overline,.eyebrow,.block-label{font-size:var(--gt-overline);line-height:var(--gt-overline-lh);letter-spacing:var(--gt-overline-ls);font-weight:var(--gt-overline-weight);text-transform:uppercase;color:var(--gt-overline-text);margin:0 0 var(--gt-space-3);display:block}.on-dark .t-overline,.on-dark .eyebrow{color:var(--gt-accent-on-dark)}.muted{color:var(--gt-text-muted)}.lead{font-size:var(--gt-body-lg);line-height:var(--gt-body-lg-lh);color:var(--gt-text-muted)}.on-dark .lead,.on-dark .muted{color:var(--gt-text-muted-on-dark)}.hl{color:var(--gt-accent)}.on-dark .hl{color:var(--gt-accent-on-dark)}.container{width:100%;max-width:calc(var(--gt-container) + var(--gt-margin) * 2);padding-left:var(--gt-margin);padding-right:var(--gt-margin);margin-left:auto;margin-right:auto}.reading{max-width:var(--gt-content)}.visually-hidden{width:var(--gt-line);height:var(--gt-line);clip:rect(0 0 0 0);white-space:nowrap;position:absolute;overflow:hidden}.skip-link{left:var(--gt-space-4);top:calc(var(--gt-space-10) * -1);z-index:100;background:var(--gt-dark);color:var(--gt-text-on-dark);padding:var(--gt-space-3) var(--gt-space-5);border-radius:var(--gt-radius-pill);font-weight:var(--gt-weight-bold);position:absolute}.skip-link:focus{top:var(--gt-space-3)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}.preview-banner{padding:var(--gt-space-2) var(--gt-margin);background:var(--gt-warning-bg);color:var(--gt-warning-text);font-size:var(--gt-body-sm);font-weight:var(--gt-weight-medium);text-align:center;margin:0}.table-wrap{background:var(--gt-surface);border:var(--gt-line) solid var(--gt-border);border-radius:var(--gt-radius-card);overflow:hidden}table{border-collapse:collapse;width:100%;font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh)}th,td{text-align:left;vertical-align:top;padding:var(--gt-space-4) var(--gt-space-5);border-bottom:var(--gt-line) solid var(--gt-border)}@media (max-width:768px){th,td{padding:var(--gt-space-3)}}thead th{background:var(--gt-surface-sunk);font-weight:var(--gt-weight-bold);font-size:var(--gt-caption);letter-spacing:var(--gt-overline-ls);text-transform:uppercase;color:var(--gt-text-muted)}tbody th{font-weight:var(--gt-weight-bold)}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}td p:last-child,th p:last-child{margin-bottom:0}.table-note,.block-note{font-size:var(--gt-caption);line-height:var(--gt-caption-lh);color:var(--gt-text-muted);margin:var(--gt-space-3) 0 0}
.breadcrumbs ol{align-items:center;gap:var(--gt-space-2);margin:0 0 var(--gt-space-5);font-size:var(--gt-body-sm);color:var(--gt-text-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.breadcrumbs li{margin:0}.breadcrumbs li+li:before{content:"/";margin-right:var(--gt-space-2);color:var(--gt-neutral-400)}.breadcrumbs a{color:var(--gt-text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--gt-link);text-decoration:underline}.breadcrumbs [aria-current]{color:var(--gt-text);font-weight:var(--gt-weight-medium)}.prose{max-width:var(--gt-measure)}.prose>:last-child{margin-bottom:0}.prose h2{margin:var(--gt-space-8) 0 var(--gt-space-4)}.prose h3{margin:var(--gt-space-7) 0 var(--gt-space-3);font-size:var(--gt-h4);line-height:var(--gt-h4-lh);letter-spacing:var(--gt-h4-ls)}.prose h4{margin:var(--gt-space-6) 0 var(--gt-space-2);font-size:var(--gt-body);line-height:var(--gt-body-lh);letter-spacing:0}.prose>h2:first-child,.prose>h3:first-child{margin-top:0}.prose ul{padding-left:var(--gt-space-6);list-style:none}.prose ul>li{position:relative}.prose ul>li:before{content:"";left:calc(var(--gt-space-5) * -1);top:calc(var(--gt-body-lh) / 2 - var(--gt-space-1));width:var(--gt-space-2);height:var(--gt-space-2);border-radius:var(--gt-radius-pill);background:var(--gt-accent);position:absolute}.on-dark .prose ul>li:before{background:var(--gt-accent-on-dark)}.prose ol{padding-left:var(--gt-space-6)}.prose ol>li::marker{font-family:var(--gt-font-mono);color:var(--gt-accent)}.prose blockquote{margin:var(--gt-space-6) 0;padding-left:var(--gt-space-5);border-left:var(--gt-space-1) solid var(--gt-accent);font-family:var(--gt-font-quote);font-style:italic;font-size:var(--gt-body-lg);line-height:var(--gt-body-lg-lh)}.prose code{font-family:var(--gt-font-mono);font-size:var(--gt-body-sm);background:var(--gt-surface-sunk);padding:0 var(--gt-space-1);border-radius:var(--gt-radius-sm)}.prose img{border-radius:var(--gt-radius-card)}.article-body{font-size:var(--gt-body);line-height:var(--gt-body-lh)}.article-body>p:first-child{font-size:var(--gt-body-lg);line-height:var(--gt-body-lg-lh)}.article-body>h2{margin-top:var(--gt-space-7)}.article-body>h2:first-child{margin-top:0}.article .lead{max-width:var(--gt-measure)}.hero{border-radius:var(--gt-radius-panel);width:100%;height:auto;display:block}.ai-note{align-items:flex-start;gap:var(--gt-space-3);max-width:var(--gt-measure);margin:var(--gt-space-4) 0 0;color:var(--gt-text-muted);font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);display:flex}.ai-note strong{color:var(--gt-text);font-weight:var(--gt-weight-bold)}.ai-note a{white-space:nowrap}.ai-note-icon{width:calc(var(--gt-space-5) + var(--gt-space-1));height:calc(var(--gt-space-5) + var(--gt-space-1));border-radius:var(--gt-radius-pill);background:var(--gt-tint);color:var(--gt-text-on-tint);flex:none;place-items:center;display:grid}.ai-note svg{width:var(--gt-space-4);height:var(--gt-space-4)}.author-box{margin:var(--gt-space-7) 0 0;padding:var(--gt-space-6);border-radius:var(--gt-radius-card);background:var(--gt-surface);border:var(--gt-line) solid var(--gt-border)}.author-box p:last-child{margin-bottom:0}.author-name{font-size:var(--gt-h4);line-height:var(--gt-h4-lh);font-weight:var(--gt-weight-extrabold);margin:0}.author-name a{color:var(--gt-text);text-decoration:none}.tags{gap:var(--gt-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tags li{margin:0}.post-topics{gap:var(--gt-space-3);margin:var(--gt-space-7) 0 0;padding:var(--gt-space-5) 0 0;border-top:var(--gt-line) solid var(--gt-border);display:grid}.post-topics-row{grid-template-columns:calc(var(--gt-space-9) + var(--gt-space-4)) minmax(0, 1fr);align-items:baseline;gap:var(--gt-space-3);display:grid}.post-topics-label{font-size:var(--gt-overline);letter-spacing:var(--gt-overline-ls);text-transform:uppercase;font-weight:var(--gt-weight-bold);color:var(--gt-text-muted);margin:0}.post-topics-path{font-size:var(--gt-body-sm);font-weight:var(--gt-weight-bold);margin:0}.scroll-top{right:var(--gt-space-5);bottom:var(--gt-space-5);z-index:40;width:calc(var(--gt-space-6) + var(--gt-space-3));height:calc(var(--gt-space-6) + var(--gt-space-3));border-radius:var(--gt-radius-pill);background:var(--gt-dark);color:var(--gt-accent-on-dark);box-shadow:var(--gt-shadow-raised);cursor:pointer;opacity:0;transform:translateY(var(--gt-space-3));pointer-events:none;transition:opacity var(--gt-motion) ease, transform var(--gt-motion) ease;border:0;place-items:center;display:grid;position:fixed}.scroll-top[data-shown=true]{opacity:1;pointer-events:auto;transform:none}.scroll-top:focus-visible{box-shadow:var(--gt-focus-ring-on-dark)}.answer,.callout,.verdict,.disclosure,.tool-card,.cta,.statistic,.quote,.sources,.ranking,.faq,.card-links,.code,.media{margin:var(--gt-space-7) 0}.answer,.callout,.verdict,.tool-card,.cta,.statistic,.quote,.sources,.ranking{padding:var(--gt-space-6);border-radius:var(--gt-radius-card);background:var(--gt-surface);border:var(--gt-line) solid var(--gt-border)}.answer>:last-child,.callout>:last-child,.verdict>:last-child,.disclosure>:last-child,.tool-card>:last-child,.cta>:last-child,.sources>:last-child,.ranking>:last-child,.answer .prose p:last-child,.callout .prose p:last-child,.verdict .prose p:last-child,.disclosure .prose p:last-child,.tool-card .prose p:last-child,.quote .prose p:last-child,.statistic .prose p:last-child,.answer .prose ul,.callout .prose ul,.verdict .prose ul{margin-bottom:0}.answer-quick{background:var(--gt-tint);font-size:var(--gt-body-lg);line-height:var(--gt-body-lg-lh);border-color:#0000}.answer-quick .block-label{color:var(--gt-text-on-tint)}.answer-takeaways{border-left:var(--gt-space-1) solid var(--gt-accent)}.answer-takeaways .prose li+li{margin-top:var(--gt-space-3)}.callout{border-left:var(--gt-space-1) solid var(--gt-accent);padding-top:var(--gt-space-5);padding-bottom:var(--gt-space-5)}.callout-warning,.callout-limitation{border-color:#0000;border-left-color:var(--gt-warning);background:var(--gt-warning-bg)}.callout-warning .block-label,.callout-limitation .block-label{color:var(--gt-warning-text)}.callout-info{border-color:#0000;border-left-color:var(--gt-info);background:var(--gt-info-bg)}.callout-definition{border-left-color:var(--gt-info)}.callout-info .block-label,.callout-definition .block-label{color:var(--gt-info-text)}.callout dfn{color:var(--gt-text);font-style:normal}.verdict{background:var(--gt-dark);color:var(--gt-text-on-dark);border-radius:var(--gt-radius-panel);font-size:var(--gt-body-lg);line-height:var(--gt-body-lg-lh);border-color:#0000;position:relative;overflow:hidden}.verdict:before{content:"";width:var(--gt-space-7);height:var(--gt-space-1);margin-bottom:var(--gt-space-4);border-radius:var(--gt-radius-pill);background:var(--gt-accent-on-dark);display:block}.verdict .block-label{color:var(--gt-accent-on-dark)}.verdict a{color:var(--gt-link-on-dark)}.verdict .prose ul>li:before{background:var(--gt-accent-on-dark)}.disclosure{padding:var(--gt-space-4) var(--gt-space-5);border-radius:var(--gt-radius-card);background:var(--gt-surface-sunk);border:var(--gt-line) dashed var(--gt-border-strong);font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);color:var(--gt-text-muted)}.disclosure .block-label{margin-bottom:var(--gt-space-2);color:var(--gt-text-muted)}.disclosure .small{margin:var(--gt-space-2) 0 0}.cta{justify-content:space-between;align-items:center;gap:var(--gt-space-4) var(--gt-space-6);background:var(--gt-dark);color:var(--gt-text-on-dark);border-radius:var(--gt-radius-panel);border-color:#0000;flex-wrap:wrap;display:flex}.cta-message{flex:1 1 calc(var(--gt-content) / 2);font-size:var(--gt-h4);line-height:var(--gt-h4-lh);letter-spacing:var(--gt-h4-ls);font-weight:var(--gt-weight-bold);text-wrap:balance;margin:0}.cta a:not([class]){color:var(--gt-link-on-dark)}.cta-newsletter{background:var(--gt-tint);color:var(--gt-text)}.ranking ol{counter-reset:rank;margin:0;padding:0;list-style:none}.prose .ranking ol{padding-left:0}.ranking li{counter-increment:rank;column-gap:var(--gt-space-4);padding:var(--gt-space-4) 0;border-bottom:var(--gt-line) solid var(--gt-border);grid-template-columns:auto minmax(0,1fr);align-items:center;margin:0;display:grid}.ranking li:first-child{padding-top:0}.ranking li:last-child{border-bottom:0;padding-bottom:0}.ranking li:before{content:counter(rank);width:var(--gt-icon-tile-size);height:var(--gt-icon-tile-size);border-radius:var(--gt-radius-tile);background:var(--gt-tint);color:var(--gt-text-on-tint);font-family:var(--gt-font-mono);font-size:var(--gt-h4);font-weight:var(--gt-weight-medium);grid-row:span 2;place-items:center;display:grid}.ranking li:first-child:before{background:var(--gt-dark);color:var(--gt-accent-on-dark)}.ranking-name{font-weight:var(--gt-weight-extrabold);font-size:var(--gt-h4);line-height:var(--gt-h4-lh);letter-spacing:var(--gt-h4-ls)}.ranking-best,.block-note{color:var(--gt-text-muted);font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh)}.ranking .block-note{margin:var(--gt-space-4) 0 0;padding-top:var(--gt-space-4);border-top:var(--gt-line) solid var(--gt-border)}.tool-name{font-weight:var(--gt-weight-extrabold);font-size:var(--gt-h3);line-height:var(--gt-h3-lh);letter-spacing:var(--gt-h3-ls);margin:0 0 var(--gt-space-2)}.tool-overview>.muted{font-size:var(--gt-body);line-height:var(--gt-body-lh);color:var(--gt-text-muted);margin-bottom:var(--gt-space-4)}.tool-facts{gap:var(--gt-space-2) var(--gt-space-5);margin:var(--gt-space-5) 0 0;padding:var(--gt-space-4) var(--gt-space-5);border-radius:var(--gt-radius-md);background:var(--gt-neutral-50);font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);grid-template-columns:max-content minmax(0,1fr);display:grid}.tool-facts dt{font-size:var(--gt-overline);letter-spacing:var(--gt-overline-ls);text-transform:uppercase;font-weight:var(--gt-weight-bold);color:var(--gt-text-muted);padding-top:calc(var(--gt-space-1) / 2)}.tool-facts dd{margin:0}.tool-card.tool-proscons{gap:var(--gt-space-4);background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;display:grid}.tool-col{padding:var(--gt-space-5);border-radius:var(--gt-radius-md);background:var(--gt-surface);border:var(--gt-line) solid var(--gt-border);border-top:var(--gt-space-1) solid var(--gt-accent)}.tool-col-con{border-top-color:var(--gt-error-text)}.tool-proscons .block-label{font-size:var(--gt-body-sm);letter-spacing:0;text-transform:none;font-weight:var(--gt-weight-extrabold);color:var(--gt-text)}.tool-fit{margin:var(--gt-space-6) 0;border:var(--gt-line) solid var(--gt-border);border-radius:var(--gt-radius-md);background:var(--gt-neutral-50)}.tool-fit-row{grid-template-columns:calc(var(--gt-space-9) + var(--gt-space-2)) minmax(0, 1fr);gap:var(--gt-space-3);padding:var(--gt-space-3) var(--gt-space-5);display:grid}.tool-fit-row+.tool-fit-row{border-top:var(--gt-line) solid var(--gt-border)}.tool-fit-label{padding-top:calc(var(--gt-space-1) / 2);font-size:var(--gt-overline);letter-spacing:var(--gt-overline-ls);text-transform:uppercase;font-weight:var(--gt-weight-bold);color:var(--gt-text-muted);margin:0}.tool-fit-yes .tool-fit-label{color:var(--gt-text-on-tint)}.tool-fit-no .tool-fit-label{color:var(--gt-error-text)}.tool-fit .pros li,.tool-fit .cons li{margin-top:var(--gt-space-1);font-size:var(--gt-body-sm)}.tool-feature-label{align-items:center;gap:var(--gt-space-2) var(--gt-space-3);flex-wrap:wrap;display:flex}.badge{padding:var(--gt-space-1) var(--gt-space-3);border-radius:var(--gt-radius-pill);background:var(--gt-tag);color:var(--gt-tag-text);font-size:var(--gt-overline);line-height:var(--gt-overline-lh);letter-spacing:var(--gt-overline-ls);font-weight:var(--gt-weight-bold);display:inline-block}.badge-documented{background:var(--gt-tag-neutral);color:var(--gt-tag-neutral-text)}.badge-vendor-stated{background:var(--gt-warning-bg);color:var(--gt-warning-text)}.badge-unknown{color:var(--gt-text-muted);box-shadow:inset 0 0 0 var(--gt-line) var(--gt-border-strong);background:0 0}.pros,.cons,.checklist,.prose ul.pros,.prose ul.cons{margin:0;padding:0;list-style:none}.pros li,.cons li,.checklist li{padding-left:var(--gt-space-6);margin:var(--gt-space-3) 0 0;position:relative}.pros li:first-child,.cons li:first-child,.checklist li:first-child{margin-top:0}.pros li:before,.cons li:before,.checklist li:before,.prose ul.pros>li:before,.prose ul.cons>li:before,.prose ul.checklist>li:before{left:0;top:calc((var(--gt-body-lh) - var(--gt-space-5)) / 2);width:var(--gt-space-5);height:var(--gt-space-5);border-radius:var(--gt-radius-pill);font-size:var(--gt-caption);line-height:1;font-weight:var(--gt-weight-extrabold);place-items:center;display:grid;position:absolute}.pros li:before,.checklist li:before,.prose ul.pros>li:before,.prose ul.checklist>li:before{content:"✓";background:var(--gt-tint-strong);color:var(--gt-text-on-tint)}.cons li:before,.prose ul.cons>li:before{content:"–";background:var(--gt-error-bg);color:var(--gt-error-text)}.checklist,.prose ul.checklist{margin:var(--gt-space-7) 0;padding:var(--gt-space-6);border-radius:var(--gt-radius-card);background:var(--gt-surface);border:var(--gt-line) solid var(--gt-border)}.checklist li+li{padding-top:var(--gt-space-3);border-top:var(--gt-line) solid var(--gt-border)}.checklist li+li:before,.prose ul.checklist>li+li:before{top:calc(var(--gt-space-3) + (var(--gt-body-lh) - var(--gt-space-5)) / 2)}.statistic{grid-template-columns:minmax(calc(var(--gt-space-10) + var(--gt-space-6)), calc(var(--gt-space-10) + var(--gt-space-9) + var(--gt-space-4))) minmax(0, 1fr);align-items:start;gap:var(--gt-space-4) var(--gt-space-6);border-left:var(--gt-space-1) solid var(--gt-accent);display:grid}.stat-figure{padding-right:var(--gt-space-6);border-right:var(--gt-line) solid var(--gt-border)}.stat-value{font-family:var(--gt-font);font-weight:var(--gt-weight-extrabold);font-size:var(--gt-display);line-height:var(--gt-display-lh);letter-spacing:var(--gt-display-ls);color:var(--gt-text);white-space:normal;overflow-wrap:normal;margin:0}.stat-value[data-size=lg]{font-size:var(--gt-h1);line-height:var(--gt-h1-lh)}.stat-value[data-size=md]{font-size:var(--gt-h2);line-height:var(--gt-h2-lh)}.stat-part{white-space:nowrap}.stat-unit{margin-left:var(--gt-space-1);font-family:var(--gt-font);font-size:var(--gt-h2);font-weight:var(--gt-weight-bold);color:var(--gt-text-muted)}.stat-label{margin:var(--gt-space-2) 0 0;font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);font-weight:var(--gt-weight-bold);color:var(--gt-text)}.statistic figcaption>:last-child{margin:var(--gt-space-2) 0 0;font-size:var(--gt-caption);line-height:var(--gt-caption-lh)}.quote{border-left:var(--gt-space-1) solid var(--gt-accent)}.quote blockquote{border:0;margin:0;padding:0;position:relative}.quote blockquote:before{content:"“";height:var(--gt-space-6);font-family:var(--gt-font-quote);font-size:var(--gt-display);line-height:var(--gt-display-lh);color:var(--gt-accent);display:block}.quote blockquote,.quote blockquote p{font-family:var(--gt-font-quote);font-style:italic;font-size:var(--gt-h4);line-height:var(--gt-h4-lh)}.quote figcaption{margin-top:var(--gt-space-4);padding-top:var(--gt-space-4);border-top:var(--gt-line) solid var(--gt-border);font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);color:var(--gt-text-muted)}.quote-name{font-weight:var(--gt-weight-bold);color:var(--gt-text)}.sources{padding:var(--gt-space-5) var(--gt-space-6)}.sources ol,.sources ul,.prose .sources ul,.prose .sources ol{padding-left:var(--gt-space-6);font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);margin:0}.sources li{padding-left:var(--gt-space-1)}.sources li+li{margin-top:var(--gt-space-2)}.sources ol>li::marker{font-family:var(--gt-font-mono);font-size:var(--gt-caption);color:var(--gt-text-muted)}.prose .sources ol>li::marker{font-family:var(--gt-font-mono);font-size:var(--gt-caption);color:var(--gt-text-muted)}.sources a{-webkit-text-decoration-color:var(--gt-border-strong);text-decoration-color:var(--gt-border-strong);text-decoration-thickness:var(--gt-line)}.sources .muted{font-size:var(--gt-caption);color:var(--gt-text-subtle)}.faq{border-top:var(--gt-line) solid var(--gt-border)}.faq details{border-bottom:var(--gt-line) solid var(--gt-border)}.faq summary{padding:var(--gt-space-5) var(--gt-space-8) var(--gt-space-5) 0;font-weight:var(--gt-weight-bold);font-size:var(--gt-h4);line-height:var(--gt-h4-lh);letter-spacing:var(--gt-h4-ls);cursor:pointer;list-style:none;display:block;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";width:var(--gt-space-6);height:var(--gt-space-6);margin-top:calc(var(--gt-space-6) / -2);border-radius:var(--gt-radius-pill);background:var(--gt-tint);color:var(--gt-text-on-tint);font-size:var(--gt-h4);font-weight:var(--gt-weight-medium);transition:transform var(--gt-motion) ease, background-color var(--gt-motion) ease;place-items:center;line-height:1;display:grid;position:absolute;top:50%;right:0}.faq summary:hover{color:var(--gt-link)}.faq summary:hover:after{background:var(--gt-tint-strong)}.faq details[open]>summary:after{background:var(--gt-dark);color:var(--gt-accent-on-dark);transform:rotate(45deg)}.faq details>:not(summary){padding:0 var(--gt-space-8) var(--gt-space-5) 0}.faq details .prose>:last-child{margin-bottom:0}.media img,.media-video iframe,.video-frame{border-radius:var(--gt-radius-card);width:100%;display:block}.media-image{margin-left:auto;margin-right:auto}.video-frame{aspect-ratio:16/9;background:var(--gt-dark);overflow:hidden}.media-video iframe{border:0;border-radius:0;height:100%}.media figcaption{margin-top:var(--gt-space-3);font-size:var(--gt-caption);line-height:var(--gt-caption-lh);color:var(--gt-text-muted)}.code figcaption{padding:var(--gt-space-2) var(--gt-space-5);border-radius:var(--gt-radius-md) var(--gt-radius-md) 0 0;background:var(--gt-dark-raised);color:var(--gt-text-muted-on-dark);font-family:var(--gt-font-mono);font-size:var(--gt-caption);line-height:var(--gt-caption-lh)}.code pre{padding:var(--gt-space-5);border-radius:var(--gt-radius-md);background:var(--gt-dark);color:var(--gt-text-on-dark);font-family:var(--gt-font-mono);font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);margin:0;overflow-x:auto}.code figcaption+pre{border-radius:0 0 var(--gt-radius-md) var(--gt-radius-md)}.code pre code,.prose .code pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.cards{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(var(--gt-content) / 3)), 1fr));gap:var(--gt-space-4);margin:0;padding:0;list-style:none;display:grid}.prose ul.cards{padding-left:0}.prose ul.cards>li:before{content:none}.cards>li+li{margin-top:0}.card{padding:var(--gt-space-5);border:var(--gt-line) solid var(--gt-border);border-radius:var(--gt-radius-card);background:var(--gt-surface);transition:border-color var(--gt-motion-fast) ease, box-shadow var(--gt-motion-fast) ease, transform var(--gt-motion-fast) ease;flex-direction:column;margin:0;display:flex;position:relative}.card:has(a:hover){border-color:var(--gt-accent);box-shadow:var(--gt-shadow-card);transform:translateY(calc(var(--gt-space-1) / -2))}.card:has(a:focus-visible){box-shadow:var(--gt-focus-ring)}.card-title{margin:0 0 var(--gt-space-2);font-weight:var(--gt-weight-extrabold);font-size:var(--gt-h4);line-height:var(--gt-h4-lh);letter-spacing:var(--gt-h4-ls)}.card-title a{color:var(--gt-text);text-decoration:none}.card-title a:after{content:"";border-radius:inherit;position:absolute;inset:0}.card-title a:focus-visible{box-shadow:none}.card-reason{font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);color:var(--gt-text-muted);margin:0}.card-links-nextStep .card{background:var(--gt-tint);border-color:#0000}.card-links-nextStep .card-reason{color:var(--gt-text-on-tint)}.prose .table-wrap,.table-wrap.scorecard{margin:var(--gt-space-7) 0}.table-scroll{overflow-x:auto}.table-scroll:focus-visible{border-radius:var(--gt-radius-card);box-shadow:inset 0 0 0 var(--gt-outline) var(--gt-focus)}.table-title{padding:var(--gt-space-4) var(--gt-space-5);font-weight:var(--gt-weight-extrabold);font-size:var(--gt-body);line-height:var(--gt-body-lh);color:var(--gt-text);margin:0}.table-title a{font-weight:var(--gt-weight-regular);font-size:var(--gt-body-sm)}.table-sr{width:var(--gt-line);height:var(--gt-line);clip:rect(0 0 0 0);white-space:nowrap;position:absolute;overflow:hidden}.table-wrap caption{caption-side:top;padding:var(--gt-space-4) var(--gt-space-5);border-bottom:var(--gt-line) solid var(--gt-border);text-align:left;font-weight:var(--gt-weight-bold);font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);color:var(--gt-text)}.table-wrap caption a{font-weight:var(--gt-weight-regular)}.table-wrap thead th{background:var(--gt-dark);color:var(--gt-text-on-dark);font-size:var(--gt-overline);letter-spacing:var(--gt-overline-ls);font-weight:var(--gt-weight-bold);vertical-align:bottom;border-bottom:0}.table-wrap tbody tr{background:var(--gt-surface)}.table-wrap tbody tr:nth-child(2n){background:var(--gt-neutral-50)}.table-wrap tbody tr:hover{background:var(--gt-lime-50)}.table-wrap tbody th[scope=row]{background:inherit;color:var(--gt-text)}.table-wrap tbody tr:nth-child(2n) th[scope=row]{background:var(--gt-neutral-50)}.table-wrap .note{color:var(--gt-text-muted)}.table-wrap .table-note{padding:0 var(--gt-space-5) var(--gt-space-4)}.table-comparison thead th{min-width:calc(var(--gt-space-9) + var(--gt-space-4))}.table-comparison thead th:first-child,.table-comparison tbody th[scope=row],.table-pricing tbody th[scope=row]{z-index:1;position:sticky;left:0}.table-comparison tbody th[scope=row],.table-pricing tbody th[scope=row]{background:var(--gt-surface);box-shadow:inset calc(var(--gt-line) * -1) 0 0 var(--gt-border)}.table-pricing tbody th[scope=row]{font-size:var(--gt-body);font-weight:var(--gt-weight-extrabold)}.table-pricing .price{font-family:var(--gt-font);font-size:var(--gt-h4);line-height:var(--gt-h4-lh);font-weight:var(--gt-weight-extrabold);color:var(--gt-text);white-space:nowrap}.table-pricing .price-custom{font-size:var(--gt-body-sm);line-height:var(--gt-body-sm-lh);font-weight:var(--gt-weight-bold);color:var(--gt-text-muted);white-space:normal}.table-pricing .billing{white-space:nowrap;color:var(--gt-text-muted)}.table-pricing--none .pricing-note{padding:var(--gt-space-4);border:var(--gt-line) solid var(--gt-border);border-radius:var(--gt-radius-md);background:var(--gt-surface-sunk);font-size:var(--gt-body-sm);margin:0}.table-shortlist .rank{width:1%;font-family:var(--gt-font-mono);font-weight:var(--gt-weight-medium);color:var(--gt-accent)}.table-wrap.scorecard td:nth-child(2){white-space:nowrap}.score{font-family:var(--gt-font-mono);font-weight:var(--gt-weight-medium);font-size:var(--gt-body);color:var(--gt-text)}.score-meter{width:calc(var(--gt-space-9) - var(--gt-space-4));height:var(--gt-space-2);margin-top:var(--gt-space-2);border-radius:var(--gt-radius-pill);background:var(--gt-surface-sunk);display:block;overflow:hidden}.score-meter>span{width:calc(var(--score,0) * 100%);border-radius:inherit;background:var(--gt-accent);height:100%;display:block}.table-scan{timeline-scope:--gt-table-x;position:relative}.table-scan .table-scroll{scroll-timeline:--gt-table-x x;overscroll-behavior-x:contain}.table-scan thead th{text-transform:none;letter-spacing:0;font-size:var(--gt-body-sm);line-height:1.3;font-weight:var(--gt-weight-bold);padding:var(--gt-space-4) var(--gt-space-5)}.table-scan td{min-width:var(--gt-compare-col-min);max-width:var(--gt-compare-col-max);-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}.table-scan thead th:first-child,.table-scan tbody th[scope=row]{min-width:var(--gt-compare-tool-min);max-width:var(--gt-compare-tool-max)}.table-general.table-scan thead th:first-child,.table-general.table-scan tbody th[scope=row]{z-index:1;position:sticky;left:0}.table-general.table-scan tbody th[scope=row]{background:var(--gt-surface);box-shadow:inset calc(var(--gt-line) * -1) 0 0 var(--gt-border)}.table-general.table-scan tbody tr:nth-child(2n) th[scope=row]{background:var(--gt-neutral-50)}.table-scan tbody th[scope=row]{font-size:var(--gt-body);line-height:var(--gt-body-lh);font-weight:var(--gt-weight-extrabold)}.table-scan tbody tr:hover,.table-scan tbody tr:hover th[scope=row]{background:var(--gt-lime-50)}.prose ul.cell-lines,.cell-lines{gap:var(--gt-space-2);margin:0;padding:0;list-style:none;display:grid}.prose ul.cell-lines>li,.cell-lines li{color:var(--gt-text-muted);margin:0;padding:0}.prose ul.cell-lines>li:before{content:none}.cell-lines li:first-child{color:var(--gt-text)}.cell-verdict{align-items:baseline;gap:var(--gt-space-2);display:inline-flex}.cell-mark{width:calc(var(--gt-space-4) + var(--gt-space-1));height:calc(var(--gt-space-4) + var(--gt-space-1));border-radius:var(--gt-radius-pill);font-size:var(--gt-caption);font-weight:var(--gt-weight-bold);transform:translateY(calc(var(--gt-space-1) * .8));flex:none;place-items:center;line-height:1;display:inline-grid}.cell-verdict--yes .cell-mark{background:var(--gt-success-bg);color:var(--gt-success-text)}.cell-verdict--no .cell-mark{background:var(--gt-neutral-100);color:var(--gt-text-muted)}.cell-verdict--unknown .cell-mark{box-shadow:inset 0 0 0 var(--gt-line) var(--gt-border-strong);color:var(--gt-text-muted);background:0 0}.cell-verdict--unknown,.cell-verdict--no{color:var(--gt-text-muted)}.table-scan:after{content:"";width:var(--gt-space-8);pointer-events:none;background:linear-gradient(to right, transparent, var(--gt-surface));border-radius:0 var(--gt-radius-card) var(--gt-radius-card) 0;position:absolute;top:0;bottom:0;right:0}@supports (animation-timeline:scroll()){.table-scan:after{opacity:0;animation:linear both gt-table-fade;animation-timeline:--gt-table-x;animation-range:calc(100% - var(--gt-space-8)) 100%}.table-scan .table-hint{visibility:hidden;border-top-width:0;max-height:0;padding-top:0;padding-bottom:0;animation:linear both gt-table-hint;animation-timeline:--gt-table-x;overflow:hidden}}@keyframes gt-table-fade{0%{opacity:1}to{opacity:0}}@keyframes gt-table-hint{0%,to{max-height:none;padding-top:var(--gt-space-3);padding-bottom:var(--gt-space-3);border-top-width:var(--gt-line);visibility:visible}}.article-body .table-wide{width:max-content;min-width:100%;max-width:calc(100cqw - var(--gt-space-7) - min(var(--gt-toc), 100cqw - var(--gt-content) - var(--gt-space-7) * 2))}@media (max-width:1100px){.article-body .table-wide{width:auto;min-width:0;max-width:none}}.table-hint{padding:var(--gt-space-3) var(--gt-space-5);border-top:var(--gt-line) solid var(--gt-border);font-size:var(--gt-caption);line-height:var(--gt-caption-lh);color:var(--gt-text-muted);margin:0}.table-hint:after{content:" →"}.consent{left:var(--gt-margin);right:var(--gt-margin);bottom:var(--gt-space-4);z-index:50;max-width:var(--gt-content);padding:var(--gt-space-5);border-radius:var(--gt-radius-card);background:var(--gt-dark);color:var(--gt-text-on-dark);box-shadow:var(--gt-shadow-raised);margin:0 auto;position:fixed}@media (max-width:768px){.answer,.callout,.verdict,.tool-card,.cta,.sources,.statistic,.quote,.ranking,.checklist,.prose ul.checklist{padding:var(--gt-space-5)}.tool-card.tool-proscons{grid-template-columns:minmax(0,1fr);padding:0}.tool-fit-row{gap:var(--gt-space-1);grid-template-columns:minmax(0,1fr)}.tool-facts{grid-template-columns:1fr;gap:0}.tool-facts dd+dt{margin-top:var(--gt-space-3)}.statistic{grid-template-columns:minmax(0,1fr)}.stat-figure{padding:0 0 var(--gt-space-4);border-right:0;border-bottom:var(--gt-line) solid var(--gt-border)}.stat-value{font-size:var(--gt-h1);line-height:var(--gt-h1-lh)}.cta>a{width:100%;height:auto;min-height:var(--gt-btn-h-lg);white-space:normal;text-align:center}.ranking li:before{width:var(--gt-btn-h-sm);height:var(--gt-btn-h-sm)}.faq summary{padding-right:var(--gt-space-7);font-size:var(--gt-body);line-height:var(--gt-body-lh)}.faq details>:not(summary){padding-right:0}.table-wrap td:not(.rank){min-width:var(--gt-space-9)}.table-wrap td.note{min-width:calc(var(--gt-space-10) + var(--gt-space-6))}.post-topics-row{gap:var(--gt-space-1);grid-template-columns:minmax(0,1fr)}.table-scan{background:0 0;border:0;overflow:visible}.table-scan:after,.table-scan .table-hint{display:none}.table-scan .table-title{padding:0 0 var(--gt-space-4)}.table-scan .table-scroll{overflow:visible}.table-scan table,.table-scan tbody,.table-scan tr,.table-scan td,.table-scan tbody th[scope=row]{width:100%;display:block}.table-scan thead{width:var(--gt-line);height:var(--gt-line);clip:rect(0 0 0 0);position:absolute;overflow:hidden}.table-scan tbody{gap:var(--gt-space-4);display:grid}.table-scan tbody tr,.table-scan tbody tr:nth-child(2n){background:var(--gt-surface);border:var(--gt-line) solid var(--gt-border);border-radius:var(--gt-radius-card);overflow:hidden}.table-scan tbody tr:hover,.table-scan tbody tr:hover th[scope=row]{background:var(--gt-surface)}.table-scan tbody th[scope=row],.table-scan tbody tr:nth-child(2n) th[scope=row]{min-width:0;max-width:none;padding:var(--gt-space-4);background:var(--gt-surface-sunk);box-shadow:none;border-bottom:var(--gt-line) solid var(--gt-border);font-size:var(--gt-h4);line-height:var(--gt-h4-lh);position:static}.table-wrap.table-scan td:not(.rank){grid-template-columns:minmax(var(--gt-compare-label), 38%) minmax(0, 1fr);gap:var(--gt-space-3);min-width:0;max-width:none;padding:var(--gt-space-3) var(--gt-space-4);display:grid}.table-scan td:before{content:attr(data-label);font-size:var(--gt-caption);line-height:var(--gt-caption-lh);font-weight:var(--gt-weight-bold);color:var(--gt-text-muted)}.table-scan tbody tr td:last-child{border-bottom:0}html:has(details[data-menu-sheet][open]){overflow:hidden}}
