.ds-head{position:relative;isolation:isolate;color:var(--p);padding-block:var(--bs);background:var(--br)}.ds-head .crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);list-style:none;padding:0;margin:0;font-size:var(--text-xs);color:var(--au)}.ds-head .crumbs li:not(:first-child):before{content:'' / '';margin-inline-end:var(--space-xs);color:var(--at)}.ds-head .crumbs a{color:var(--al);transition:color var(--dur-fast)}@media (hover:hover){.ds-head .crumbs a:hover{color:var(--as)}}.ds-head .crumbs .current{color:var(--p);font-weight:var(--weight-semibold);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aqv{margin:0;font-size:var(--text-label);font-weight:var(--label-weight);text-transform:var(--label-case);letter-spacing:var(--tracking-caps-sm);color:var(--al)}.xd{margin:var(--space-sm) 0 0;font-family:var(--font-display);font-size-adjust:var(--g);font-size:var(--text-h1);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);color:var(--p);text-wrap:balance}.xl{margin:var(--space-lg) 0 0;max-width:var(--measure-page);font-size:var(--text-lede);line-height:var(--leading-body);color:var(--a6);text-wrap:pretty}.xm{list-style:none;padding:0;margin:var(--space-2xl) 0 0;display:flex;flex-wrap:wrap;row-gap:var(--space-sm);font-size:var(--text-sm);color:var(--al)}.xp{color:var(--p);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.w1 a{color:var(--p);font-weight:var(--weight-bold);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--bj);transition:text-decoration-color var(--dur-fast) var(--ease-standard)}@media (hover:hover){.w1 a:hover{text-decoration-color:var(--p)}}.w1 a:focus-visible{outline:2px solid var(--p);outline-offset:2px;border-radius:var(--radius-2xs)}.w2{padding-block-start:var(--bt)}.xa{min-width:0}.wp{display:none}@media (width>=75em){.w2{display:grid;grid-template-columns:minmax(0,1fr) 17rem;column-gap:var(--space-3xl);align-items:start}.wp{display:block;position:sticky;top:calc(var(--sticky-top) + env(safe-area-inset-top,0px))}}@media (width>=980px) and (width<=74.99em){.wo.tas-fab:not([hidden]){display:inline-flex;transform:translateY(0)}body:has(.wo) .site-footer{--a9:4rem}}.dq{padding-block:var(--z);border-top:var(--border-w) solid var(--border)}.dp{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size-adjust:var(--g);font-size:var(--be);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-heading);color:var(--fg-strong);text-wrap:balance}.dp+:is(.qm,ul){margin-top:var(--space-lg)}.pr{margin:0 0 var(--space-xl);max-width:var(--measure-page);font-size:var(--text-md);line-height:var(--leading-body);color:var(--fg-muted);text-wrap:pretty}.ta{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-lg);align-items:start;max-width:var(--measure-page);padding:var(--space-xl) var(--space-2xl) var(--space-xl) var(--space-xl);background:var(--bg-elevated);border:var(--border-w) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.ta>*{grid-column:2}.ta>.w4{grid-column:1;grid-row:1/span 2;width:20px;height:20px;margin-top:1px;color:var(--accent)}.w5{margin:var(--space-3xs) 0 var(--space-2xs);font-family:var(--font-sans);font-size:var(--text-label);font-weight:var(--label-weight);text-transform:var(--label-case);letter-spacing:var(--tracking-caps-sm);line-height:var(--leading-snug);color:var(--fg-muted)}@media (width<=480px){.ta{column-gap:var(--space-md);padding:var(--space-lg)}.ta>.w4{grid-row:1}.ta>.w5{align-self:center;margin:0}.ta>:not(.w4):not(.w5){grid-column:1/-1;margin-top:var(--space-md)}}.qm{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(19rem,100%),1fr));gap:var(--space-lg)}.dx{display:flex;flex-direction:column;gap:var(--space-xs);height:100%;padding:var(--space-xl);border:var(--border-w) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-card);color:var(--fg);text-decoration:none;transition:transform var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-moderate) var(--ease-standard)}.dx:focus-visible{transform:translateY(var(--lift-sm));border-color:var(--accent);box-shadow:var(--shadow-card-hover)}@media (hover:hover){.dx:hover{transform:translateY(var(--lift-sm));border-color:var(--accent);box-shadow:var(--shadow-card-hover)}}.dx:active{transform:translateY(var(--v));transition-duration:var(--dur-micro)}.t1{margin:0;font-size:var(--text-2xs);font-weight:var(--label-weight);color:var(--fg-muted)}.ea{margin:0;font-family:var(--font-display);font-size-adjust:var(--g);font-size:var(--t);font-weight:var(--weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--fg-strong);text-wrap:balance}@media (hover:hover){.dx:hover .ea{color:var(--accent)}}.fi{margin:0;font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg-muted)}.sf{margin:auto 0 0;padding-top:var(--space-xs);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--fg)}.sf:after{content:none;color:var(--accent)}.qh{list-style:none;margin:var(--space-xl) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:max(var(--space-sm),var(--af,0px))}.qh a{display:inline-flex;align-items:center;min-block-size:var(--tap-min);padding:var(--space-2xs) var(--space-lg);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--fg);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;transition:color var(--dur-fast),border-color var(--dur-fast),background var(--dur-fast)}.qh a:after{content:none;margin-inline-start:.3em;color:var(--accent)}.qh a[target=_blank]:after{content:'↗' / ''}.qh a:focus-visible{color:var(--accent);border-color:var(--accent-a40);background:var(--accent-wash)}@media (hover:hover){.qh a:hover{color:var(--accent);border-color:var(--accent-a40);background:var(--accent-wash)}}@media print{.ds-head:before,.wp,.wo{display:none!important}.ds-head{padding-block:var(--space-lg)!important}.dx,.ta{break-inside:avoid;box-shadow:none}}.h9{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:'photo head' 'links links';column-gap:var(--space-xl);align-items:center;padding:var(--space-2xl);background:var(--bg-elevated);border:var(--border-w) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.iu{grid-area:photo;width:4.5rem;height:4.5rem;margin:4px;border-radius:var(--radius-pill);object-fit:cover;box-shadow:0 0 0 3px var(--bg-elevated),0 0 0 4px var(--border-strong)}.i9{grid-area:head;min-width:0}.ja{margin:0;font-size:var(--text-label);font-weight:var(--label-weight);line-height:var(--leading-snug);letter-spacing:var(--tracking-caps-sm);text-transform:var(--label-case);color:var(--fg-subtle)}.ia{margin:var(--space-2xs) 0 var(--space-3xs);font-family:var(--font-display);font-size-adjust:var(--g);font-size:var(--t);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-heading)}.ia a{color:var(--fg-strong);text-decoration:none;padding-block:4px;transition:color var(--dur-fast)}.ia a:hover{color:var(--accent)}.jb{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--fg-muted)}.fk{grid-area:links;display:flex;flex-wrap:wrap;align-items:center;gap:max(var(--space-sm),var(--af,0px));margin:var(--space-xl) 0 0;padding-top:var(--space-lg);border-top:var(--border-w) solid var(--border);font-size:var(--text-sm)}.fk a{display:inline-flex;align-items:center;min-block-size:max(2.25rem,var(--tap-min));padding:var(--space-2xs) var(--space-lg);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--fg);font-weight:var(--weight-semibold);line-height:var(--leading-snug);text-decoration:none;transition:color var(--dur-fast),border-color var(--dur-fast),background var(--dur-fast)}.fk a[target=_blank]:after{content:'↗' / '';margin-inline-start:.3em;color:var(--fg-subtle)}.fk a:hover,.fk a:focus-visible{color:var(--accent);border-color:var(--accent-a40);background:var(--accent-wash)}.fk .hf{color:var(--fg-strong);font-weight:var(--weight-bold)}.fk .hf:after{content:none;margin-inline-start:.35em;transition:transform var(--dur-fast) var(--ease-standard)}.fk .hf:hover{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 14%,var(--bg-elevated))}.fk .hf:hover:after{transform:translateX(2px)}.ib{display:inline-flex;flex-wrap:wrap;gap:max(var(--space-sm),var(--af,0px));margin-inline-start:auto}.fk .d5{padding-inline:var(--space-xs);border-color:transparent;background:transparent;color:var(--fg-muted);font-weight:var(--weight-medium);text-decoration:underline;text-decoration-color:color-mix(in oklch,var(--fg-muted) 40%,transparent);text-underline-offset:3px}.fk .d5:hover,.fk .d5:focus-visible{border-color:transparent;background:transparent;color:var(--accent);text-decoration-color:currentColor}@media (width<=560px){.h9{grid-template-areas:'photo head' 'links links';column-gap:var(--space-lg);padding:var(--space-xl)}.iu{width:3.5rem;height:3.5rem;align-self:center}.ib{margin-inline-start:0}.ib>.d5:first-child{margin-inline-start:calc(-1 * (var(--space-xs) + var(--border-w)))}}@media (prefers-reduced-motion:reduce){.fk .hf:after{transition:none}}@media print{.h9{break-inside:avoid;page-break-inside:avoid;box-shadow:none}}.x6{margin-block:0 var(--z)}.x7{margin-block-end:var(--space-3xl)}.xq{margin:0}.xq dt{margin:0 0 var(--space-2xs);font-family:var(--font-display);font-size-adjust:var(--g);font-size:var(--t);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--fg-strong)}.xq dfn{font-style:normal}.xq dd{margin:0;font-size:var(--text-md);line-height:var(--leading-body);color:var(--fg);text-wrap:pretty}.xu{max-width:var(--measure-page);padding-block-end:var(--z)}.xu>h2:first-child{margin-top:0}.xu>h2:first-child:after{content:none}.aue{overflow-x:auto;overscroll-behavior-x:contain;border:var(--border-w) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:linear-gradient(to right,var(--bg-elevated) 18px,transparent) 0 0,linear-gradient(to left,var(--bg-elevated) 18px,transparent) 100% 0,linear-gradient(to right,var(--scroll-shadow),transparent) 0 0,linear-gradient(to left,var(--scroll-shadow),transparent) 100% 0;background-repeat:no-repeat;background-color:var(--bg-elevated);background-size:36px 100%,36px 100%,18px 100%,18px 100%;background-attachment:local,local,scroll,scroll}.aue:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.adl{width:100%;min-width:36rem;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.adl th,.adl td{padding:var(--space-sm) var(--space-lg);text-align:start;vertical-align:middle;white-space:nowrap;border-bottom:var(--border-w) solid var(--border)}.adl tbody tr:last-child :is(th,td){border-bottom:none}.adl thead th{padding-block:var(--space-sm);background:var(--bg-subtle);font-size:var(--text-label);font-weight:var(--label-weight);text-transform:var(--label-case);letter-spacing:var(--tracking-caps-sm);color:var(--fg-subtle);border-bottom-color:var(--border-strong)}.adl thead th:first-child{width:100%}.adl tbody tr{transition:background var(--dur-fast) var(--ease-standard)}@media (hover:hover){.adl tbody tr:hover{background:var(--accent-a5)}}.adl tbody th{font-weight:var(--weight-semibold)}.adl thead th:first-child,.adl tbody th{position:sticky;inset-inline-start:0;z-index:1;background:var(--bg-elevated);box-shadow:inset calc(-1 * var(--border-w)) 0 0 var(--border)}.adl thead th:first-child{background:var(--bg-subtle);z-index:2}@media (width<=30em){.adl thead th:first-child{width:auto}.adl tbody th{white-space:normal;min-width:9.5rem;max-width:10.5rem}.adl th,.adl td{padding-inline:var(--space-md)}}@media (hover:hover){.adl tbody tr:hover th{background:var(--accent-wash)}}.xk{display:inline-block;min-block-size:24px;color:var(--fg-strong);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}.xk:focus-visible{color:var(--accent)}@media (hover:hover){.adl tbody tr:hover .xk{color:var(--accent)}}.xn{font-weight:var(--weight-bold);color:var(--fg-strong)}.ahe{display:block;font-size:var(--text-xs);color:var(--fg-muted)}.xo,.a9i{color:var(--fg-muted)}.ad1{margin-inline-start:.15em;color:var(--fg-muted);font-weight:var(--weight-normal)}.a1a{margin:var(--space-sm) 0 0;max-width:var(--measure-page);font-size:var(--text-sm);line-height:var(--leading-body);color:var(--fg-muted)}@media (width<=47.99em){.ab2{flex-direction:column}.ab2 a{display:flex;justify-content:space-between;gap:var(--space-sm);padding-block:var(--space-xs);border-radius:var(--radius-md)}}.yq{list-style:none;margin:0;padding:0;display:grid;max-width:var(--measure-page);border-top:var(--border-w) solid var(--border)}.e3{margin:0;padding:var(--space-md) 0;border-bottom:var(--border-w) solid var(--border);line-height:var(--leading-body)}.e3:last-child{border-bottom:0}.e6{font-weight:var(--weight-semibold);color:var(--fg-strong)}.e7{color:var(--fg-strong)}.e2{color:var(--fg-muted);font-size:var(--text-sm)}.e2 a{color:var(--fg);text-decoration:underline;text-decoration-color:color-mix(in oklch,currentColor 45%,transparent);text-underline-offset:2px}@media (hover:hover){.e2 a:hover{text-decoration-color:currentColor}}.abw{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:var(--space-md)}.f4{display:grid;grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:var(--space-md);height:100%;padding:var(--space-md) var(--space-lg) var(--space-md) var(--space-md);border:var(--border-w) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-card);color:var(--fg);text-decoration:none;transition:transform var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-moderate) var(--ease-standard)}.f4:focus-visible{transform:translateY(var(--lift-sm));border-color:var(--accent);box-shadow:var(--shadow-card-hover)}@media (hover:hover){.f4:hover{transform:translateY(var(--lift-sm));border-color:var(--accent);box-shadow:var(--shadow-card-hover)}}.f4:active{transform:translateY(var(--v));transition-duration:var(--dur-micro)}.gn{display:block;width:4rem;height:4rem;border-radius:var(--radius-md);object-fit:cover;background:var(--bg-subtle)}.gg{display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0}.gh{font-size:var(--text-label);font-weight:var(--label-weight);text-transform:var(--label-case);letter-spacing:var(--tracking-caps-sm);color:var(--fg-subtle)}.gc{font-family:var(--font-display);font-size-adjust:var(--g);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-snug);color:var(--fg-strong);transition:color var(--dur-fast)}@media (hover:hover){.f4:hover .gc{color:var(--accent)}}.gj{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3xs) var(--space-sm);font-size:var(--text-xs);color:var(--fg-muted)}.fr{--az:var(--fg-subtle);--cz:var(--fg);display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-label);font-weight:var(--label-weight);text-transform:var(--label-case);letter-spacing:var(--tracking-caps-sm);color:var(--cz)}.fr:before{content:'';width:8px;height:8px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--az)}.fr[data-v=reference]{--az:var(--accent)}.fr[data-v=highly-recommended]{--az:var(--i)}.fr[data-v=recommended]{--az:var(--h)}.fr[data-v=mixed]{--az:var(--j)}.fr[data-v=pass]{--az:var(--bu)}.gk{flex-basis:100%;font-variant-numeric:tabular-nums}.gd{font-family:var(--font-display);font-size-adjust:var(--g);font-size:var(--ay);font-weight:var(--weight-bold);line-height:var(--o);font-variant-numeric:tabular-nums;color:var(--fg-strong)}.gd:after{content:'/10';margin-inline-start:var(--space-3xs);font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--fg-muted)}.x8{grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr))}.i8{position:relative}.i3{color:inherit;text-decoration:none;display:inline-block;min-block-size:24px}.i3:before{content:'';position:absolute;inset:0;border-radius:inherit}.i8:focus-within{transform:translateY(var(--lift-sm));border-color:var(--accent);box-shadow:var(--shadow-card-hover)}.i3:focus-visible{color:var(--accent)}@media (hover:hover){.i8:hover .i3{color:var(--accent)}}